[debian-edu-commits] debian-edu/pkg-team/ 06/32: Imported Upstream version 2.7.1

Mike Gabriel sunweaver at debian.org
Tue Apr 1 16:52:00 UTC 2014


This is an automated email from the git hooks/post-receive script.

sunweaver pushed a commit to branch master
in repository gosa.

commit de79414d1cd8e307c23111657bb9c63803089bce
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Tue Apr 1 15:14:08 2014 +0200

    Imported Upstream version 2.7.1
---
 gosa-core/AUTHORS                                  |    11 +-
 gosa-core/Changelog                                |    48 +-
 gosa-core/FAQ                                      |   776 +-
 gosa-core/README                                   |     2 +-
 gosa-core/README.ldap                              |    36 +
 gosa-core/bin/gosa-encrypt-passwords               |     2 -
 gosa-core/contrib/artwork/GOsa-logo.eps            |  7833 +++++++++++-
 gosa-core/contrib/build-gosa                       |   230 +
 gosa-core/contrib/gosa.conf                        |   359 +-
 gosa-core/contrib/gosa.conf.5                      |   110 +-
 gosa-core/contrib/make-gosa-package                |   422 -
 gosa-core/contrib/openldap/gofax.ldif              |   220 +-
 gosa-core/contrib/openldap/gofon.ldif              |   831 +-
 gosa-core/contrib/openldap/gofon.schema            |    12 +-
 gosa-core/contrib/openldap/gosa-samba3.ldif        |  1088 +-
 gosa-core/contrib/openldap/gosa-samba3.schema      |    67 +-
 gosa-core/contrib/openldap/goserver.ldif           |  1389 ++-
 gosa-core/contrib/openldap/goserver.schema         |    40 +-
 gosa-core/contrib/openldap/gosystem.ldif           |   792 +-
 gosa-core/contrib/openldap/gosystem.schema         |     2 +-
 gosa-core/contrib/openldap/goto-mime.ldif          |   119 +-
 gosa-core/contrib/openldap/goto-mime.schema        |     2 +-
 gosa-core/contrib/openldap/goto.ldif               |   335 +-
 gosa-core/contrib/openldap/goto.schema             |    14 +-
 gosa-core/contrib/openldap/rfc2307bis.ldif         |   543 +
 gosa-core/contrib/openldap/samba3.ldif             |   647 +
 gosa-core/contrib/openldap/slapd.conf              |     6 +
 gosa-core/contrib/openldap/trust.ldif              |    60 +-
 gosa-core/contrib/plugins/dyngroup/README          |   100 +
 gosa-core/debian/NEWS.Debian                       |    20 -
 gosa-core/debian/README.Debian                     |    73 -
 gosa-core/debian/changelog                         |    85 -
 gosa-core/debian/compat                            |     1 -
 gosa-core/debian/control                           |   578 -
 gosa-core/debian/copyright                         |   210 -
 gosa-core/debian/gosa-16.xpm                       |   137 -
 gosa-core/debian/gosa-apache.conf                  |    28 -
 gosa-core/debian/gosa-desktop.config               |    11 -
 gosa-core/debian/gosa-desktop.desktop              |    11 -
 gosa-core/debian/gosa-desktop.dirs                 |     4 -
 gosa-core/debian/gosa-desktop.install              |     5 -
 gosa-core/debian/gosa-desktop.manpages             |     1 -
 gosa-core/debian/gosa-desktop.menu                 |     8 -
 gosa-core/debian/gosa-desktop.postinst             |    13 -
 gosa-core/debian/gosa-desktop.postrm               |     9 -
 gosa-core/debian/gosa-desktop.templates            |     9 -
 gosa-core/debian/gosa-dev.dirs                     |     1 -
 gosa-core/debian/gosa-dev.install                  |     3 -
 gosa-core/debian/gosa-dev.manpages                 |     5 -
 gosa-core/debian/gosa-help-de.dirs                 |     1 -
 gosa-core/debian/gosa-help-de.install              |     1 -
 gosa-core/debian/gosa-help-en.dirs                 |     1 -
 gosa-core/debian/gosa-help-en.install              |     1 -
 gosa-core/debian/gosa-help-es.dirs                 |     1 -
 gosa-core/debian/gosa-help-es.install              |     1 -
 gosa-core/debian/gosa-help-fr.dirs                 |     1 -
 gosa-core/debian/gosa-help-fr.install              |     1 -
 gosa-core/debian/gosa-help-nl.dirs                 |     1 -
 gosa-core/debian/gosa-help-nl.install              |     1 -
 gosa-core/debian/gosa-lighttpd.conf                |    29 -
 gosa-core/debian/gosa-plugin-addressbook.dirs      |     1 -
 gosa-core/debian/gosa-plugin-addressbook.install   |     6 -
 gosa-core/debian/gosa-plugin-connectivity.dirs     |     1 -
 gosa-core/debian/gosa-plugin-connectivity.install  |     4 -
 gosa-core/debian/gosa-plugin-dhcp-schema.dirs      |     1 -
 gosa-core/debian/gosa-plugin-dhcp-schema.install   |     1 -
 gosa-core/debian/gosa-plugin-dhcp.dirs             |     1 -
 gosa-core/debian/gosa-plugin-dhcp.install          |     4 -
 gosa-core/debian/gosa-plugin-dns-schema.dirs       |     1 -
 gosa-core/debian/gosa-plugin-dns-schema.install    |     1 -
 gosa-core/debian/gosa-plugin-dns.dirs              |     1 -
 gosa-core/debian/gosa-plugin-dns.install           |     4 -
 gosa-core/debian/gosa-plugin-fai-schema.dirs       |     1 -
 gosa-core/debian/gosa-plugin-fai-schema.install    |     1 -
 gosa-core/debian/gosa-plugin-fai.dirs              |     1 -
 gosa-core/debian/gosa-plugin-fai.install           |     6 -
 gosa-core/debian/gosa-plugin-gofax.dirs            |     1 -
 gosa-core/debian/gosa-plugin-gofax.install         |     7 -
 gosa-core/debian/gosa-plugin-gofon.dirs            |     1 -
 gosa-core/debian/gosa-plugin-gofon.install         |     7 -
 gosa-core/debian/gosa-plugin-goto.dirs             |     1 -
 gosa-core/debian/gosa-plugin-goto.install          |     7 -
 gosa-core/debian/gosa-plugin-kolab-schema.dirs     |     1 -
 gosa-core/debian/gosa-plugin-kolab-schema.install  |     2 -
 gosa-core/debian/gosa-plugin-kolab.dirs            |     1 -
 gosa-core/debian/gosa-plugin-kolab.install         |     5 -
 gosa-core/debian/gosa-plugin-ldapmanager.dirs      |     1 -
 gosa-core/debian/gosa-plugin-ldapmanager.install   |     5 -
 gosa-core/debian/gosa-plugin-log-schema.dirs       |     1 -
 gosa-core/debian/gosa-plugin-log-schema.install    |     1 -
 gosa-core/debian/gosa-plugin-log.dirs              |     1 -
 gosa-core/debian/gosa-plugin-log.install           |     5 -
 gosa-core/debian/gosa-plugin-mail.dirs             |     1 -
 gosa-core/debian/gosa-plugin-mail.install          |     8 -
 gosa-core/debian/gosa-plugin-mit-krb5-schema.dirs  |     1 -
 .../debian/gosa-plugin-mit-krb5-schema.install     |     1 -
 gosa-core/debian/gosa-plugin-mit-krb5.dirs         |     1 -
 gosa-core/debian/gosa-plugin-mit-krb5.install      |     4 -
 gosa-core/debian/gosa-plugin-nagios-schema.dirs    |     1 -
 gosa-core/debian/gosa-plugin-nagios-schema.install |     1 -
 gosa-core/debian/gosa-plugin-nagios.dirs           |     1 -
 gosa-core/debian/gosa-plugin-nagios.install        |     5 -
 gosa-core/debian/gosa-plugin-netatalk.dirs         |     1 -
 gosa-core/debian/gosa-plugin-netatalk.install      |     5 -
 gosa-core/debian/gosa-plugin-opengroupware.dirs    |     1 -
 gosa-core/debian/gosa-plugin-opengroupware.install |     3 -
 .../debian/gosa-plugin-openxchange-schema.dirs     |     1 -
 .../debian/gosa-plugin-openxchange-schema.install  |     1 -
 gosa-core/debian/gosa-plugin-openxchange.dirs      |     1 -
 gosa-core/debian/gosa-plugin-openxchange.install   |     4 -
 gosa-core/debian/gosa-plugin-opsi.dirs             |     1 -
 gosa-core/debian/gosa-plugin-opsi.install          |     4 -
 .../debian/gosa-plugin-opsi.lintian-overrides      |     1 -
 gosa-core/debian/gosa-plugin-phpgw-schema.dirs     |     1 -
 gosa-core/debian/gosa-plugin-phpgw-schema.install  |     1 -
 gosa-core/debian/gosa-plugin-phpgw.dirs            |     1 -
 gosa-core/debian/gosa-plugin-phpgw.install         |     4 -
 .../debian/gosa-plugin-phpscheduleit-schema.dirs   |     1 -
 .../gosa-plugin-phpscheduleit-schema.install       |     1 -
 gosa-core/debian/gosa-plugin-phpscheduleit.dirs    |     1 -
 gosa-core/debian/gosa-plugin-phpscheduleit.install |     4 -
 gosa-core/debian/gosa-plugin-pptp-schema.dirs      |     1 -
 gosa-core/debian/gosa-plugin-pptp-schema.install   |     1 -
 gosa-core/debian/gosa-plugin-pptp.dirs             |     1 -
 gosa-core/debian/gosa-plugin-pptp.install          |     4 -
 gosa-core/debian/gosa-plugin-pureftpd-schema.dirs  |     1 -
 .../debian/gosa-plugin-pureftpd-schema.install     |     1 -
 gosa-core/debian/gosa-plugin-pureftpd.dirs         |     1 -
 gosa-core/debian/gosa-plugin-pureftpd.install      |     4 -
 gosa-core/debian/gosa-plugin-rolemanagement.dirs   |     1 -
 .../debian/gosa-plugin-rolemanagement.install      |     3 -
 gosa-core/debian/gosa-plugin-rsyslog.dirs          |     1 -
 gosa-core/debian/gosa-plugin-rsyslog.install       |     5 -
 gosa-core/debian/gosa-plugin-samba.dirs            |     1 -
 gosa-core/debian/gosa-plugin-samba.install         |     6 -
 gosa-core/debian/gosa-plugin-scalix.dirs           |     1 -
 gosa-core/debian/gosa-plugin-scalix.install        |     5 -
 gosa-core/debian/gosa-plugin-squid.dirs            |     1 -
 gosa-core/debian/gosa-plugin-squid.install         |     4 -
 gosa-core/debian/gosa-plugin-ssh-schema.dirs       |     1 -
 gosa-core/debian/gosa-plugin-ssh-schema.install    |     1 -
 gosa-core/debian/gosa-plugin-ssh.dirs              |     1 -
 gosa-core/debian/gosa-plugin-ssh.install           |     4 -
 gosa-core/debian/gosa-plugin-sudo-schema.dirs      |     1 -
 gosa-core/debian/gosa-plugin-sudo-schema.install   |     1 -
 gosa-core/debian/gosa-plugin-sudo.dirs             |     1 -
 gosa-core/debian/gosa-plugin-sudo.install          |     5 -
 gosa-core/debian/gosa-plugin-systems.dirs          |     1 -
 gosa-core/debian/gosa-plugin-systems.install       |     5 -
 gosa-core/debian/gosa-plugin-uw-imap.dirs          |     1 -
 gosa-core/debian/gosa-plugin-uw-imap.install       |     3 -
 gosa-core/debian/gosa-plugin-webdav.dirs           |     1 -
 gosa-core/debian/gosa-plugin-webdav.install        |     3 -
 gosa-core/debian/gosa-schema.dirs                  |     1 -
 gosa-core/debian/gosa-schema.install               |    10 -
 gosa-core/debian/gosa.dirs                         |     6 -
 gosa-core/debian/gosa.docs                         |     4 -
 gosa-core/debian/gosa.install                      |    14 -
 gosa-core/debian/gosa.lintian-overrides            |     7 -
 gosa-core/debian/gosa.manpages                     |     4 -
 gosa-core/debian/gosa.postinst                     |   107 -
 gosa-core/debian/gosa.postrm                       |    55 -
 gosa-core/debian/gosa.xpm                          |   490 -
 .../debian/patches/01_fix_smarty_location.patch    |    17 -
 .../debian/patches/02_fix_template_location.patch  |    13 -
 .../debian/patches/03_fix_class_mapping.patch      |    52 -
 .../debian/patches/04_fix_locale_location.patch    |    41 -
 .../patches/05_fix_online_help_location.patch      |    24 -
 gosa-core/debian/patches/series                    |     5 -
 gosa-core/debian/po/POTFILES.in                    |     1 -
 gosa-core/debian/po/cs.po                          |    39 -
 gosa-core/debian/po/cz.po                          |    39 -
 gosa-core/debian/po/de.po                          |    39 -
 gosa-core/debian/po/es.po                          |    63 -
 gosa-core/debian/po/eu.po                          |    42 -
 gosa-core/debian/po/fi.po                          |    32 -
 gosa-core/debian/po/fr.po                          |    41 -
 gosa-core/debian/po/it.po                          |    42 -
 gosa-core/debian/po/ja.po                          |    38 -
 gosa-core/debian/po/nl.po                          |    36 -
 gosa-core/debian/po/pl.po                          |    40 -
 gosa-core/debian/po/pt.po                          |    41 -
 gosa-core/debian/po/ru.po                          |    43 -
 gosa-core/debian/po/sv.po                          |    43 -
 gosa-core/debian/po/templates.pot                  |    37 -
 gosa-core/debian/rules                             |     9 -
 gosa-core/debian/smarty-acl-render.dirs            |     1 -
 gosa-core/debian/smarty-acl-render.install         |     2 -
 gosa-core/debian/source/format                     |     1 -
 gosa-core/debian/watch                             |     3 -
 gosa-core/dh-make-gosa.1                           |     6 +-
 gosa-core/doc/admin/es/manual_gosa_es_apache.tex   |   822 --
 gosa-core/gosa-encrypt-passwords.pod               |     2 +-
 gosa-core/html/autocomplete.php                    |    83 +-
 gosa-core/html/helpviewer.php                      |    11 +-
 gosa-core/html/images/branch.gif                   |   Bin 79 -> 0 bytes
 gosa-core/html/images/branchbottom.gif             |   Bin 73 -> 0 bytes
 gosa-core/html/images/branchtop.gif                |   Bin 67 -> 0 bytes
 gosa-core/html/images/caps.png                     |   Bin 0 -> 380 bytes
 gosa-core/html/images/checked.png                  |   Bin 0 -> 258 bytes
 gosa-core/html/images/configure.png                |   Bin 0 -> 3664 bytes
 gosa-core/html/images/error.png                    |   Bin 1591 -> 2339 bytes
 gosa-core/html/images/filter.png                   |   Bin 0 -> 429 bytes
 gosa-core/html/images/find.png                     |   Bin 0 -> 627 bytes
 gosa-core/html/images/folder-expanded.gif          |   Bin 923 -> 0 bytes
 gosa-core/html/images/folder.gif                   |   Bin 922 -> 0 bytes
 gosa-core/html/images/info.png                     |   Bin 1195 -> 2742 bytes
 gosa-core/html/images/label-busy.png               |   Bin 0 -> 378 bytes
 gosa-core/html/images/label-error.png              |   Bin 0 -> 394 bytes
 gosa-core/html/images/label-info.png               |   Bin 0 -> 440 bytes
 gosa-core/html/images/label-locked.png             |   Bin 0 -> 422 bytes
 gosa-core/html/images/label-new.png                |   Bin 0 -> 324 bytes
 gosa-core/html/images/label-warning.png            |   Bin 0 -> 422 bytes
 gosa-core/html/images/layer_menu/down-arrow.png    |   Bin 164 -> 0 bytes
 gosa-core/html/images/layer_menu/forward-arrow.png |   Bin 162 -> 0 bytes
 gosa-core/html/images/layer_menu/transparent.png   |   Bin 148 -> 0 bytes
 gosa-core/html/images/ldapserver.png               |   Bin 3276 -> 0 bytes
 gosa-core/html/images/lists/back_grey.png          |   Bin 509 -> 0 bytes
 gosa-core/html/images/lists/copy.png               |   Bin 777 -> 485 bytes
 gosa-core/html/images/lists/cut.png                |   Bin 804 -> 368 bytes
 gosa-core/html/images/lists/edit-grey.png          |   Bin 447 -> 0 bytes
 gosa-core/html/images/lists/edit.png               |   Bin 946 -> 726 bytes
 gosa-core/html/images/lists/element.png            |   Bin 0 -> 512 bytes
 gosa-core/html/images/lists/folder.png             |   Bin 594 -> 386 bytes
 gosa-core/html/images/lists/folder_grey.png        |   Bin 313 -> 0 bytes
 gosa-core/html/images/lists/home_grey.png          |   Bin 502 -> 0 bytes
 gosa-core/html/images/lists/locked.png             |   Bin 750 -> 561 bytes
 gosa-core/html/images/lists/new.png                |   Bin 642 -> 0 bytes
 gosa-core/html/images/lists/paste-grey.png         |   Bin 465 -> 0 bytes
 gosa-core/html/images/lists/restore.png            |   Bin 1080 -> 409 bytes
 gosa-core/html/images/lists/restore_grey.png       |   Bin 842 -> 0 bytes
 gosa-core/html/images/lists/root_grey.png          |   Bin 499 -> 0 bytes
 gosa-core/html/images/lists/trash-grey.png         |   Bin 459 -> 0 bytes
 gosa-core/html/images/lists/trash.png              |   Bin 691 -> 742 bytes
 gosa-core/html/images/lists/unlocked.png           |   Bin 923 -> 541 bytes
 gosa-core/html/images/login-head.png               |   Bin 4119 -> 0 bytes
 gosa-core/html/images/login.png                    |   Bin 9533 -> 0 bytes
 gosa-core/html/images/minus.gif                    |   Bin 98 -> 0 bytes
 gosa-core/html/images/minustop.gif                 |   Bin 92 -> 0 bytes
 gosa-core/html/images/null.gif                     |   Bin 49 -> 0 bytes
 gosa-core/html/images/password.png                 |   Bin 3316 -> 0 bytes
 gosa-core/html/images/plus.gif                     |   Bin 104 -> 0 bytes
 gosa-core/html/images/plusbottom.gif               |   Bin 100 -> 0 bytes
 gosa-core/html/images/plustop.gif                  |   Bin 96 -> 0 bytes
 gosa-core/html/images/save.png                     |   Bin 595 -> 563 bytes
 gosa-core/html/images/select_department.png        |   Bin 731 -> 457 bytes
 gosa-core/html/images/toolbar-warning.png          |   Bin 0 -> 1354 bytes
 gosa-core/html/images/warning.png                  |   Bin 1692 -> 2312 bytes
 gosa-core/html/images/welcome.png                  |   Bin 2925 -> 0 bytes
 gosa-core/html/include/gosa.js                     |   369 +-
 gosa-core/html/include/png.js                      |    85 -
 gosa-core/html/include/tooltip.js                  |   208 +
 gosa-core/html/index.php                           |   552 +-
 gosa-core/html/logout.php                          |    28 +-
 gosa-core/html/main.php                            |   113 +-
 gosa-core/html/password.php                        |   388 +-
 gosa-core/html/plugins/acl/images/new-role.png     |   Bin 911 -> 0 bytes
 gosa-core/html/plugins/acl/images/plugin.png       |   Bin 3734 -> 1835 bytes
 .../html/plugins/dashBoard/images/dashBoard.png    |   Bin 0 -> 278 bytes
 gosa-core/html/plugins/departments/images/dc.png   |   Bin 770 -> 491 bytes
 .../html/plugins/departments/images/department.png |   Bin 594 -> 386 bytes
 .../html/plugins/departments/images/locality.png   |   Bin 731 -> 457 bytes
 .../html/plugins/departments/images/plugin.png     |   Bin 3728 -> 1132 bytes
 gosa-core/html/plugins/groups/images/plugin.png    |   Bin 4224 -> 3208 bytes
 .../groups/images/{groups.png => select_group.png} |   Bin
 gosa-core/html/plugins/ogroups/images/new.png      |   Bin 754 -> 0 bytes
 .../html/plugins/propertyEditor/images/file.png    |   Bin 0 -> 1111 bytes
 .../html/plugins/propertyEditor/images/ldap.png    |   Bin 0 -> 827 bytes
 .../html/plugins/propertyEditor/images/plugin.png  |   Bin 0 -> 4199 bytes
 gosa-core/html/plugins/statistics/getGraph.php     |    27 +
 .../html/plugins/statistics/images/statistics.png  |   Bin 0 -> 278 bytes
 .../html/plugins/users/images/list_new_user.png    |   Bin 788 -> 0 bytes
 .../html/plugins/users/images/select_user.png      |   Bin 753 -> 636 bytes
 gosa-core/html/plugins/users/images/user.png       |   Bin 3204 -> 2408 bytes
 gosa-core/html/plugins/welcome/images/home.png     |   Bin 0 -> 309 bytes
 gosa-core/html/progress.php                        |   102 -
 gosa-core/html/setup.php                           |    28 +-
 .../themes/default/fonts/LiberationSans-Bold.ttf   |   Bin 0 -> 136536 bytes
 .../default/fonts/LiberationSans-BoldItalic.ttf    |   Bin 0 -> 134444 bytes
 .../themes/default/fonts/LiberationSans-Italic.ttf |   Bin 0 -> 161356 bytes
 .../default/fonts/LiberationSans-Regular.ttf       |   Bin 0 -> 138908 bytes
 .../html/themes/default/images/accountexpired.png  |   Bin 1685 -> 0 bytes
 gosa-core/html/themes/default/images/border.png    |   Bin 135 -> 0 bytes
 .../html/themes/default/images/btn-logout.png      |   Bin 0 -> 593 bytes
 gosa-core/html/themes/default/images/go_logo.png   |   Bin 3839 -> 0 bytes
 gosa-core/html/themes/default/images/gohome.png    |   Bin 1340 -> 0 bytes
 gosa-core/html/themes/default/images/help.png      |   Bin 1186 -> 0 bytes
 gosa-core/html/themes/default/images/logo.png      |   Bin 0 -> 4172 bytes
 gosa-core/html/themes/default/images/stop.png      |   Bin 1330 -> 0 bytes
 gosa-core/html/themes/default/images/title-bar.png |   Bin 0 -> 2865 bytes
 gosa-core/html/themes/default/password-style.css   |    56 -
 gosa-core/html/themes/default/style.css            |  2717 ++--
 .../themes/default/GOsa_MultiSelectHeader.ihtml    |    35 -
 gosa-core/ihtml/themes/default/accountexpired.tpl  |    74 -
 gosa-core/ihtml/themes/default/acl.tpl             |   140 +-
 gosa-core/ihtml/themes/default/blacklist           |     1 +
 gosa-core/ihtml/themes/default/colors.txt          |    13 -
 gosa-core/ihtml/themes/default/conflict.tpl        |    16 -
 gosa-core/ihtml/themes/default/copyPasteDialog.tpl |    24 +-
 gosa-core/ihtml/themes/default/filter.xsd          |   129 -
 gosa-core/ihtml/themes/default/framework.tpl       |   144 +-
 gosa-core/ihtml/themes/default/headers.tpl         |    82 +-
 gosa-core/ihtml/themes/default/help.tpl            |     3 +-
 gosa-core/ihtml/themes/default/infoPage.tpl        |    74 +
 gosa-core/ihtml/themes/default/islocked.tpl        |    47 +-
 gosa-core/ihtml/themes/default/ldifViewer.tpl      |    14 +
 gosa-core/ihtml/themes/default/list.xsd            |   141 -
 gosa-core/ihtml/themes/default/login.tpl           |   173 +-
 gosa-core/ihtml/themes/default/logout-close.tpl    |     2 +-
 gosa-core/ihtml/themes/default/logout.tpl          |    28 +-
 gosa-core/ihtml/themes/default/msg_dialog.tpl      |    58 +-
 gosa-core/ihtml/themes/default/password.tpl        |   288 +-
 gosa-core/ihtml/themes/default/remove.tpl          |    17 -
 gosa-core/ihtml/themes/default/removeEntries.tpl   |    23 +
 gosa-core/ihtml/themes/default/setup_headers.tpl   |     3 +-
 gosa-core/ihtml/themes/default/sizelimit.tpl       |    18 +-
 gosa-core/ihtml/themes/default/snapshotdialog.tpl  |    38 +-
 gosa-core/ihtml/themes/default/userFilter.tpl      |    11 +
 .../ihtml/themes/default/userFilterEditor.tpl      |    86 +
 gosa-core/include/class_CopyPasteHandler.inc       |    25 +-
 gosa-core/include/class_GOsaRegistration.inc       |   138 +
 gosa-core/include/class_ItemSelector.inc           |   344 +
 gosa-core/include/class_SnapShotDialog.inc         |   317 +-
 gosa-core/include/class_SnapshotHandler.inc        |    88 +-
 gosa-core/include/class_acl.inc                    |  2297 ++--
 gosa-core/include/class_baseSelector.inc           |   389 +-
 gosa-core/include/class_certificate.inc            |     4 +-
 gosa-core/include/class_config.inc                 |  2107 ++--
 gosa-core/include/class_configRegistry.inc         |  1048 ++
 gosa-core/include/class_core.inc                   |  1067 ++
 gosa-core/include/class_divSelectBox.inc           |   143 -
 gosa-core/include/class_divlist.inc                |   381 -
 gosa-core/include/class_filter.inc                 |   781 +-
 gosa-core/include/class_filterLDAP.inc             |    25 +-
 gosa-core/include/class_gosaSupportDaemon.inc      |    16 +-
 gosa-core/include/class_jsonRPC.inc                |   333 +
 gosa-core/include/class_ldap.inc                   |  2563 ++--
 gosa-core/include/class_listing.inc                |  2228 ++--
 gosa-core/include/class_log.inc                    |    27 +-
 gosa-core/include/class_management.inc             |   264 +-
 gosa-core/include/class_msg_dialog.inc             |   336 +-
 gosa-core/include/class_multi_plug.inc             |    11 +-
 gosa-core/include/class_pChartInclude.inc          |     8 +
 gosa-core/include/class_pathNavigator.inc          |   101 +
 gosa-core/include/class_plugin.inc                 |  1096 +-
 gosa-core/include/class_pluglist.inc               |   928 +-
 gosa-core/include/class_releaseSelector.inc        |   307 +
 gosa-core/include/class_remoteObject.inc           |   305 +
 gosa-core/include/class_session.inc                |   404 +-
 gosa-core/include/class_socketClient.inc           |     8 +-
 gosa-core/include/class_sortableListing.inc        |   952 +-
 gosa-core/include/class_stats.inc                  |   428 +
 gosa-core/include/class_tabs.inc                   |   176 +-
 gosa-core/include/class_userFilter.inc             |   286 +
 gosa-core/include/class_userFilterEditor.inc       |   286 +
 gosa-core/include/class_userinfo.inc               |    92 +-
 gosa-core/include/functions.inc                    |  1444 ++-
 gosa-core/include/functions_helpviewer.inc         |    18 +-
 gosa-core/include/pChart/CO2.csv                   |    37 +
 gosa-core/include/pChart/Example1.php              |    45 +
 gosa-core/include/pChart/Example10.php             |    34 +
 gosa-core/include/pChart/Example11.php             |    50 +
 gosa-core/include/pChart/Example12.php             |    45 +
 gosa-core/include/pChart/Example13.php             |    32 +
 gosa-core/include/pChart/Example14.php             |    33 +
 gosa-core/include/pChart/Example15.php             |    68 +
 gosa-core/include/pChart/Example16.php             |    42 +
 gosa-core/include/pChart/Example17.php             |    48 +
 gosa-core/include/pChart/Example18.php             |    55 +
 gosa-core/include/pChart/Example19.php             |    44 +
 gosa-core/include/pChart/Example2.php              |    43 +
 gosa-core/include/pChart/Example20.php             |    44 +
 gosa-core/include/pChart/Example21.php             |    53 +
 gosa-core/include/pChart/Example22.php             |    50 +
 gosa-core/include/pChart/Example23.php             |    49 +
 gosa-core/include/pChart/Example24.php             |    53 +
 gosa-core/include/pChart/Example25.php             |    55 +
 gosa-core/include/pChart/Example26.php             |    69 +
 gosa-core/include/pChart/Example3.php              |    42 +
 gosa-core/include/pChart/Example4.php              |    45 +
 gosa-core/include/pChart/Example5.php              |    42 +
 gosa-core/include/pChart/Example6.php              |    39 +
 gosa-core/include/pChart/Example7.php              |    42 +
 gosa-core/include/pChart/Example8.php              |    41 +
 gosa-core/include/pChart/Example9.php              |    49 +
 gosa-core/include/pChart/GeosansLight.ttf          |   Bin 0 -> 60072 bytes
 gosa-core/include/pChart/HomePage3.php             |    70 +
 gosa-core/include/pChart/MankSans.ttf              |   Bin 0 -> 58492 bytes
 gosa-core/include/pChart/Naked.php                 |    34 +
 gosa-core/include/pChart/Point_Asterisk.gif        |   Bin 0 -> 1012 bytes
 gosa-core/include/pChart/Point_Cd.gif              |   Bin 0 -> 1020 bytes
 gosa-core/include/pChart/Sav143.tmp                |     0
 gosa-core/include/pChart/Silkscreen.ttf            |   Bin 0 -> 16172 bytes
 gosa-core/include/pChart/SmallGraph.php            |    30 +
 gosa-core/include/pChart/SmallStacked.php          |    48 +
 gosa-core/include/pChart/buildAll.cmd              |    63 +
 gosa-core/include/pChart/bulkdata.csv              |    20 +
 gosa-core/include/pChart/datawithtitle.csv         |    21 +
 gosa-core/include/pChart/logo.png                  |   Bin 0 -> 3406 bytes
 gosa-core/include/pChart/pCache.class              |   119 +
 gosa-core/include/pChart/pChart.1.27d.rar          |   Bin 0 -> 299684 bytes
 gosa-core/include/pChart/pChart.class              |  3489 ++++++
 gosa-core/include/pChart/pData.class               |   260 +
 gosa-core/include/pChart/pf_arma_five.ttf          |   Bin 0 -> 21936 bytes
 gosa-core/include/pChart/softtones.txt             |     5 +
 gosa-core/include/pChart/tahoma.ttf                |   Bin 0 -> 383804 bytes
 gosa-core/include/pChart/tones.txt                 |     5 +
 .../password-methods/class_password-methods.inc    |   615 +-
 gosa-core/include/php_setup.inc                    |    54 +-
 gosa-core/include/smarty/Smarty.class.php          |   545 -
 gosa-core/include/smarty/debug.tpl                 |   136 -
 gosa-core/include/smarty/plugins/block.php.php     |    27 -
 gosa-core/include/smarty/plugins/block.render.php  |     4 +-
 .../include/smarty/plugins/block.textformat.php    |   103 -
 .../include/smarty/plugins/function.counter.php    |    78 -
 .../include/smarty/plugins/function.cycle.php      |   101 -
 .../include/smarty/plugins/function.factory.php    |    37 +
 .../include/smarty/plugins/function.fetch.php      |   217 -
 .../smarty/plugins/function.html_checkboxes.php    |   145 -
 .../include/smarty/plugins/function.html_image.php |   139 -
 .../smarty/plugins/function.html_options.php       |   122 -
 .../smarty/plugins/function.html_radios.php        |   156 -
 .../smarty/plugins/function.html_select_date.php   |   333 -
 .../smarty/plugins/function.html_select_time.php   |   197 -
 .../include/smarty/plugins/function.html_table.php |   176 -
 .../include/smarty/plugins/function.image.php      |    25 +
 .../include/smarty/plugins/function.mailto.php     |   157 -
 gosa-core/include/smarty/plugins/function.math.php |    84 -
 .../include/smarty/plugins/function.popup.php      |   118 -
 .../include/smarty/plugins/function.popup_init.php |    41 -
 .../include/smarty/plugins/modifier.capitalize.php |    41 -
 gosa-core/include/smarty/plugins/modifier.cat.php  |    31 -
 .../smarty/plugins/modifier.count_characters.php   |    29 -
 .../smarty/plugins/modifier.count_paragraphs.php   |    26 -
 .../smarty/plugins/modifier.count_sentences.php    |    27 -
 .../smarty/plugins/modifier.count_words.php        |    25 -
 .../smarty/plugins/modifier.date_format.php        |    61 -
 .../smarty/plugins/modifier.debug_print_var.php    |    87 -
 .../include/smarty/plugins/modifier.default.php    |    29 -
 .../include/smarty/plugins/modifier.escape.php     |   111 -
 .../include/smarty/plugins/modifier.indent.php     |    28 -
 .../include/smarty/plugins/modifier.lower.php      |    30 -
 .../include/smarty/plugins/modifier.noprint.php    |    24 -
 .../smarty/plugins/modifier.regex_replace.php      |    48 -
 .../include/smarty/plugins/modifier.replace.php    |    48 -
 .../include/smarty/plugins/modifier.spacify.php    |    27 -
 .../smarty/plugins/modifier.string_format.php      |    27 -
 .../include/smarty/plugins/modifier.strip.php      |    31 -
 .../include/smarty/plugins/modifier.strip_tags.php |    31 -
 .../include/smarty/plugins/modifier.truncate.php   |    64 -
 .../include/smarty/plugins/modifier.upper.php      |    30 -
 .../include/smarty/plugins/modifier.wordwrap.php   |    29 -
 .../smarty/plugins/outputfilter.trimwhitespace.php |    76 -
 .../smarty/plugins/shared.escape_special_chars.php |    31 -
 .../smarty/plugins/shared.make_timestamp.php       |    43 -
 .../plugins/variablefilter.htmlspecialchars.php    |    21 -
 .../smarty_internal_cacheresource_file.php         |   184 -
 .../sysplugins/smarty_internal_compile_append.php  |    61 -
 .../sysplugins/smarty_internal_compile_assign.php  |    65 -
 .../sysplugins/smarty_internal_compile_block.php   |   108 -
 .../sysplugins/smarty_internal_compile_call.php    |    63 -
 .../sysplugins/smarty_internal_compile_capture.php |    72 -
 .../smarty_internal_compile_config_load.php        |    53 -
 .../sysplugins/smarty_internal_compile_debug.php   |    34 -
 .../sysplugins/smarty_internal_compile_eval.php    |    46 -
 .../sysplugins/smarty_internal_compile_extends.php |    86 -
 .../sysplugins/smarty_internal_compile_for.php     |   133 -
 .../sysplugins/smarty_internal_compile_foreach.php |   192 -
 .../smarty_internal_compile_function.php           |    99 -
 .../sysplugins/smarty_internal_compile_if.php      |   114 -
 .../sysplugins/smarty_internal_compile_include.php |   145 -
 .../smarty_internal_compile_include_php.php        |    68 -
 .../sysplugins/smarty_internal_compile_insert.php  |    83 -
 .../sysplugins/smarty_internal_compile_ldelim.php  |    32 -
 .../sysplugins/smarty_internal_compile_nocache.php |    59 -
 ...marty_internal_compile_private_block_plugin.php |    73 -
 ...ty_internal_compile_private_function_plugin.php |    53 -
 .../smarty_internal_compile_private_modifier.php   |    59 -
 ...ernal_compile_private_object_block_function.php |    59 -
 ...ty_internal_compile_private_object_function.php |    54 -
 ...y_internal_compile_private_print_expression.php |    61 -
 ...y_internal_compile_private_registered_block.php |    79 -
 ...nternal_compile_private_registered_function.php |    51 -
 ...y_internal_compile_private_special_variable.php |   100 -
 .../sysplugins/smarty_internal_compile_rdelim.php  |    32 -
 .../sysplugins/smarty_internal_compile_section.php |   170 -
 .../sysplugins/smarty_internal_compile_while.php   |    66 -
 .../sysplugins/smarty_internal_compilebase.php     |   103 -
 .../smarty/sysplugins/smarty_internal_config.php   |   260 -
 .../smarty_internal_config_file_compiler.php       |   116 -
 .../sysplugins/smarty_internal_configfilelexer.php |   526 -
 .../smarty_internal_configfileparser.php           |   864 --
 .../smarty/sysplugins/smarty_internal_data.php     |   413 -
 .../smarty/sysplugins/smarty_internal_debug.php    |   129 -
 .../sysplugins/smarty_internal_filter_handler.php  |    64 -
 .../smarty_internal_function_call_handler.php      |    47 -
 .../smarty_internal_resource_extends.php           |   186 -
 .../sysplugins/smarty_internal_resource_file.php   |   127 -
 .../sysplugins/smarty_internal_resource_php.php    |   127 -
 .../smarty_internal_resource_registered.php        |   137 -
 .../sysplugins/smarty_internal_resource_stream.php |    99 -
 .../sysplugins/smarty_internal_resource_string.php |    90 -
 .../smarty_internal_security_handler.php           |   130 -
 .../smarty_internal_smartytemplatecompiler.php     |    73 -
 .../smarty/sysplugins/smarty_internal_template.php |   810 --
 .../smarty_internal_templatecompilerbase.php       |   404 -
 .../sysplugins/smarty_internal_templatelexer.php   |  1831 ---
 .../sysplugins/smarty_internal_templateparser.php  |  2684 ----
 .../sysplugins/smarty_internal_write_file.php      |    49 -
 .../sysplugins/smarty_method__get_filter_name.php  |    31 -
 .../sysplugins/smarty_method_addpluginsdir.php     |    27 -
 .../sysplugins/smarty_method_clear_all_assign.php  |    29 -
 .../sysplugins/smarty_method_clear_all_cache.php   |    29 -
 .../sysplugins/smarty_method_clear_assign.php      |    37 -
 .../sysplugins/smarty_method_clear_cache.php       |    32 -
 .../smarty_method_clear_compiled_tpl.php           |    65 -
 .../sysplugins/smarty_method_clear_config.php      |    30 -
 .../sysplugins/smarty_method_compile_directory.php |    72 -
 .../smarty_method_disablecachemodifycheck.php      |    23 -
 .../sysplugins/smarty_method_disablecaching.php    |    22 -
 .../smarty_method_disablecompilecheck.php          |    24 -
 .../smarty_method_disableconfigbooleanize.php      |    22 -
 .../smarty_method_disableconfigoverwrite.php       |    21 -
 .../smarty_method_disableconfigreadhidden.php      |    21 -
 .../sysplugins/smarty_method_disabledebugging.php  |    21 -
 .../smarty_method_disabledebuggingurlctrl.php      |    22 -
 .../smarty_method_disabledefaulttimezone.php       |    22 -
 .../smarty_method_disableforcecompile.php          |    22 -
 .../smarty_method_disablevariablefilter.php        |    22 -
 .../smarty_method_enablecachemodifycheck.php       |    22 -
 .../smarty_method_enablecompilecheck.php           |    22 -
 .../smarty_method_enableconfigbooleanize.php       |    22 -
 .../smarty_method_enableconfigoverwrite.php        |    22 -
 .../smarty_method_enableconfigreadhidden.php       |    22 -
 .../sysplugins/smarty_method_enabledebugging.php   |    22 -
 .../smarty_method_enabledebuggingurlctrl.php       |    22 -
 .../smarty_method_enabledefaulttimezone.php        |    22 -
 .../smarty_method_enableforcecompile.php           |    22 -
 .../smarty_method_enablevariablefilter.php         |    22 -
 .../sysplugins/smarty_method_get_config_vars.php   |    36 -
 .../smarty/sysplugins/smarty_method_get_global.php |    37 -
 .../smarty_method_get_registered_object.php        |    34 -
 .../sysplugins/smarty_method_get_template_vars.php |    56 -
 .../sysplugins/smarty_method_getcachedir.php       |    27 -
 .../sysplugins/smarty_method_getcachelifetime.php  |    28 -
 .../sysplugins/smarty_method_getcompiledir.php     |    27 -
 .../sysplugins/smarty_method_getconfigdir.php      |    27 -
 .../sysplugins/smarty_method_getdebugtemplate.php  |    27 -
 .../sysplugins/smarty_method_getpluginsdir.php     |    27 -
 .../sysplugins/smarty_method_gettemplatedir.php    |    27 -
 .../sysplugins/smarty_method_getvariablefilter.php |    23 -
 .../smarty_method_iscachemodifycheck.php           |    21 -
 .../smarty/sysplugins/smarty_method_iscaching.php  |    21 -
 .../sysplugins/smarty_method_iscompilecheck.php    |    21 -
 .../smarty_method_isconfigbooleanize.php           |    21 -
 .../sysplugins/smarty_method_isconfigoverwrite.php |    21 -
 .../smarty_method_isconfigreadhidden.php           |    21 -
 .../sysplugins/smarty_method_isdebugging.php       |    21 -
 .../smarty_method_isdebuggingurlctrl.php           |    21 -
 .../sysplugins/smarty_method_isdefaulttimezone.php |    21 -
 .../sysplugins/smarty_method_isforcecompile.php    |    23 -
 .../sysplugins/smarty_method_load_filter.php       |    35 -
 .../sysplugins/smarty_method_register_block.php    |    36 -
 .../smarty_method_register_compiler_function.php   |    35 -
 .../sysplugins/smarty_method_register_function.php |    33 -
 .../sysplugins/smarty_method_register_modifier.php |    31 -
 .../sysplugins/smarty_method_register_object.php   |    46 -
 .../smarty_method_register_outputfilter.php        |    25 -
 .../smarty_method_register_postfilter.php          |    25 -
 .../smarty_method_register_prefilter.php           |    25 -
 .../sysplugins/smarty_method_register_resource.php |    33 -
 .../smarty_method_register_variablefilter.php      |    25 -
 .../smarty_method_registerdefaultpluginhandler.php |    28 -
 ...marty_method_registerdefaulttemplatehandler.php |    28 -
 .../sysplugins/smarty_method_setconfigdir.php      |    26 -
 .../sysplugins/smarty_method_setdebugtemplate.php  |    28 -
 .../sysplugins/smarty_method_setpluginsdir.php     |    29 -
 .../sysplugins/smarty_method_template_exists.php   |    31 -
 .../smarty/sysplugins/smarty_method_test.php       |    77 -
 .../sysplugins/smarty_method_unregister_block.php  |    29 -
 .../smarty_method_unregister_compiler_function.php |    29 -
 .../smarty_method_unregister_function.php          |    29 -
 .../smarty_method_unregister_modifier.php          |    29 -
 .../sysplugins/smarty_method_unregister_object.php |    28 -
 .../smarty_method_unregister_outputfilter.php      |    28 -
 .../smarty_method_unregister_postfilter.php        |    27 -
 .../smarty_method_unregister_prefilter.php         |    27 -
 .../smarty_method_unregister_resource.php          |    27 -
 .../smarty_method_unregister_variablefilter.php    |    27 -
 .../include/smarty/sysplugins/smarty_security.php  |    88 -
 gosa-core/include/utils/class_msgPool.inc          |   177 +-
 gosa-core/include/utils/class_tests.inc            |    38 +-
 gosa-core/include/utils/class_timezone.inc         |     6 +-
 gosa-core/include/utils/class_xml.inc              |    14 +-
 gosa-core/locale/core/de/LC_MESSAGES/messages.po   | 10659 ++++++++--------
 gosa-core/locale/core/es/LC_MESSAGES/messages.po   | 12365 +++++++++++--------
 gosa-core/locale/core/fr/LC_MESSAGES/messages.po   | 10725 ++++++++--------
 gosa-core/locale/core/it/LC_MESSAGES/messages.po   | 11306 +++++++++--------
 gosa-core/locale/core/messages.po                  |  7598 ++++++------
 gosa-core/locale/core/nl/LC_MESSAGES/messages.po   | 11811 ++++++++++--------
 gosa-core/locale/core/pl/LC_MESSAGES/messages.po   | 11752 ++++++++++--------
 gosa-core/locale/core/pt/LC_MESSAGES/messages.po   |  9900 ++++++++-------
 .../locale/core/pt_BR/LC_MESSAGES/messages.po      |  8369 +++++++++++++
 gosa-core/locale/core/ru/LC_MESSAGES/messages.po   | 11593 +++++++++--------
 gosa-core/locale/core/vi/LC_MESSAGES/messages.po   | 12236 ++++++++++--------
 gosa-core/locale/core/zh/LC_MESSAGES/messages.po   | 11541 +++++++++--------
 .../addons/bugsubmitter/class_bugsubmitter.inc     |    29 -
 gosa-core/plugins/addons/bugsubmitter/main.inc     |    26 -
 .../addons/dyngroup/class_DynamicLdapGroup.inc     |   333 +
 gosa-core/plugins/addons/dyngroup/dyngroup.tpl     |    30 +
 .../propertyEditor/class_commandVerifier.inc       |    77 +
 .../propertyEditor/class_filterProperties.inc      |    73 +
 .../addons/propertyEditor/class_propertyEditor.inc |   281 +
 .../addons/propertyEditor/commandVerifier.tpl      |    30 +
 gosa-core/plugins/addons/propertyEditor/main.inc   |    52 +
 .../plugins/addons/propertyEditor/migrate.tpl      |    18 +
 .../propertyEditor/migration/class_migrateRDN.inc  |   224 +
 .../addons/propertyEditor/property-filter.xml      |    83 +
 .../addons/propertyEditor/property-list.tpl        |    79 +
 .../addons/propertyEditor/property-list.xml        |   129 +
 gosa-core/plugins/admin/acl/acl-filter.tpl         |    37 -
 gosa-core/plugins/admin/acl/acl-filter.xml         |    72 +-
 gosa-core/plugins/admin/acl/acl-list.tpl           |    48 +-
 gosa-core/plugins/admin/acl/acl-list.xml           |    10 +-
 gosa-core/plugins/admin/acl/acl_role.tpl           |    42 +-
 .../plugins/admin/acl/class_aclManagement.inc      |    20 +-
 gosa-core/plugins/admin/acl/class_aclRole.inc      |   258 +-
 gosa-core/plugins/admin/acl/class_filterACL.inc    |    10 +-
 gosa-core/plugins/admin/acl/main.inc               |    42 +-
 .../acl/migration/class_migrate_aclRoleRDN.inc     |     6 +
 gosa-core/plugins/admin/acl/paste_role.tpl         |     2 +-
 gosa-core/plugins/admin/acl/remove.tpl             |    18 -
 gosa-core/plugins/admin/acl/tabs_acl.inc           |    13 +-
 gosa-core/plugins/admin/acl/tabs_acl_role.inc      |    18 +-
 .../admin/departments/class_countryGeneric.inc     |   126 +-
 .../plugins/admin/departments/class_dcObject.inc   |   122 +-
 .../plugins/admin/departments/class_department.inc |  1223 +-
 .../departments/class_departmentManagement.inc     |    24 +-
 .../plugins/admin/departments/class_domain.inc     |   122 +-
 .../admin/departments/class_filterDEPARTMENT.inc   |    22 +
 .../admin/departments/class_localityGeneric.inc    |   126 +-
 .../departments/class_organizationGeneric.inc      |   220 +-
 gosa-core/plugins/admin/departments/country.tpl    |    31 +-
 gosa-core/plugins/admin/departments/dcObject.tpl   |    30 +-
 gosa-core/plugins/admin/departments/dep-filter.tpl |    29 -
 gosa-core/plugins/admin/departments/dep-filter.xml |   118 +-
 gosa-core/plugins/admin/departments/dep-list.tpl   |    47 +-
 gosa-core/plugins/admin/departments/dep-list.xml   |    16 +-
 gosa-core/plugins/admin/departments/dep_iframe.tpl |     6 +-
 .../plugins/admin/departments/dep_move_confirm.tpl |    16 +-
 gosa-core/plugins/admin/departments/domain.tpl     |    30 +-
 gosa-core/plugins/admin/departments/generic.tpl    |    42 +-
 gosa-core/plugins/admin/departments/locality.tpl   |    30 +-
 gosa-core/plugins/admin/departments/main.inc       |    42 +-
 .../plugins/admin/departments/organization.tpl     |    37 +-
 gosa-core/plugins/admin/departments/remove.tpl     |    18 -
 .../plugins/admin/departments/tabs_department.inc  |     9 +-
 .../plugins/admin/groups/class_filterGroupLDAP.inc |    80 +-
 gosa-core/plugins/admin/groups/class_group.inc     |  2413 ++--
 .../plugins/admin/groups/class_groupManagement.inc |   361 +-
 gosa-core/plugins/admin/groups/generic.tpl         |   138 +-
 gosa-core/plugins/admin/groups/group-filter.tpl    |    37 -
 gosa-core/plugins/admin/groups/group-filter.xml    |    65 +-
 gosa-core/plugins/admin/groups/group-list.tpl      |    48 +-
 gosa-core/plugins/admin/groups/group-list.xml      |    23 +-
 gosa-core/plugins/admin/groups/main.inc            |    42 +-
 .../groups/migration/class_migrate_groupRDN.inc    |     6 +
 gosa-core/plugins/admin/groups/paste_generic.tpl   |     8 +-
 gosa-core/plugins/admin/groups/remove.tpl          |    17 -
 .../singleUserSelect/class_singleUserSelect.inc    |    58 +-
 .../groups/singleUserSelect/singleUser-filter.tpl  |    33 -
 .../groups/singleUserSelect/singleUser-filter.xml  |    39 +-
 .../groups/singleUserSelect/singleUser-list.tpl    |    57 +-
 .../groups/singleUserSelect/singleUser-list.xml    |    22 +-
 gosa-core/plugins/admin/groups/tabs_group.inc      |     6 +-
 gosa-core/plugins/admin/groups/trust_machines.tpl  |    41 -
 .../userGroupSelect/class_userGroupSelect.inc      |    64 +-
 .../userGroupSelect/selectUserGroup-filter.tpl     |    37 -
 .../userGroupSelect/selectUserGroup-filter.xml     |    55 +-
 .../userGroupSelect/selectUserGroup-list.tpl       |    57 +-
 .../userGroupSelect/selectUserGroup-list.xml       |     2 +-
 .../admin/groups/userSelect/class_userSelect.inc   |    45 +-
 .../admin/groups/userSelect/user-filter.tpl        |    33 -
 .../admin/groups/userSelect/user-filter.xml        |    39 +-
 .../plugins/admin/groups/userSelect/user-list.tpl  |    56 +-
 gosa-core/plugins/admin/ogroups/class_ogroup.inc   |  1606 ++-
 .../admin/ogroups/class_ogroupManagement.inc       |   327 +-
 gosa-core/plugins/admin/ogroups/generic.tpl        |    50 +-
 gosa-core/plugins/admin/ogroups/main.inc           |    42 +-
 .../ogroups/migration/class_migrate_ogroupRDN.inc  |     6 +
 .../class_filterLDAPDepartmentBlacklist.inc        |    18 +-
 .../ogroups/objectSelect/class_objectSelect.inc    |   118 +-
 .../ogroups/objectSelect/selectObject-filter.tpl   |    45 -
 .../ogroups/objectSelect/selectObject-filter.xml   |   136 +-
 .../ogroups/objectSelect/selectObject-list.tpl     |    55 +-
 .../ogroups/objectSelect/selectObject-list.xml     |     2 +-
 gosa-core/plugins/admin/ogroups/ogroup-filter.tpl  |    45 -
 gosa-core/plugins/admin/ogroups/ogroup-filter.xml  |   113 +-
 gosa-core/plugins/admin/ogroups/ogroup-list.tpl    |    48 +-
 gosa-core/plugins/admin/ogroups/ogroup-list.xml    |     4 +-
 gosa-core/plugins/admin/ogroups/ogroup_objects.tpl |    53 -
 gosa-core/plugins/admin/ogroups/paste_generic.tpl  |     8 +-
 gosa-core/plugins/admin/ogroups/remove.tpl         |    17 -
 gosa-core/plugins/admin/ogroups/tabs_ogroups.inc   |   644 +-
 gosa-core/plugins/admin/ogroups/trust_machines.tpl |    42 -
 .../plugins/admin/users/class_userManagement.inc   |  1683 +--
 gosa-core/plugins/admin/users/main.inc             |    42 +-
 .../users/migration/class_migrate_userRDN.inc      |     6 +
 gosa-core/plugins/admin/users/password.tpl         |    86 +-
 gosa-core/plugins/admin/users/remove.tpl           |    18 -
 gosa-core/plugins/admin/users/template.tpl         |    16 +-
 gosa-core/plugins/admin/users/templatize.tpl       |    25 +-
 gosa-core/plugins/admin/users/user-filter.tpl      |    40 -
 gosa-core/plugins/admin/users/user-filter.xml      |   122 +-
 gosa-core/plugins/admin/users/user-list.tpl        |    47 +-
 gosa-core/plugins/admin/users/user-list.xml        |    12 +-
 .../Register/class_RegistrationDialog.inc          |   108 +
 .../generic/dashBoard/Register/register.tpl        |    89 +
 .../plugins/generic/dashBoard/class_dashBoard.inc  |   129 +
 .../plugins/generic/dashBoard/class_rssReader.inc  |   100 +
 gosa-core/plugins/generic/dashBoard/dashBoard.tpl  |    56 +
 .../dbChannelStatus/class_dbChannelStatus.inc      |    78 +
 .../generic/dashBoard/dbChannelStatus/contents.tpl |     3 +
 .../dbInformation/class_dbInformation.inc          |    59 +
 .../generic/dashBoard/dbInformation/contents.tpl   |     3 +
 .../dbNotifications/class_dbNotifications.inc      |    50 +
 .../generic/dashBoard/dbNotifications/contents.tpl |     3 +
 .../dbPluginStatus/class_dbPluginStatus.inc        |   112 +
 .../generic/dashBoard/dbPluginStatus/contents.tpl  |     3 +
 gosa-core/plugins/generic/dashBoard/main.inc       |    51 +
 .../plugins/generic/infoPage/class_infoPage.inc    |   174 +
 gosa-core/plugins/generic/infoPage/main.inc        |    51 +
 .../generic/references/class_aclResolver.inc       |   336 +
 .../generic/references/class_ldifViewer.inc        |    39 +
 .../plugins/generic/references/class_reference.inc |   318 +-
 gosa-core/plugins/generic/references/contents.tpl  |    65 +-
 .../chartClasses/class_actionSelectChart.inc       |   122 +
 .../chartClasses/class_categoryActionOverTime.inc  |   127 +
 .../statistics/chartClasses/class_cpuLoadChart.inc |    21 +
 .../chartClasses/class_durationTimeChart.inc       |    21 +
 .../chartClasses/class_memoryUsageChart.inc        |    87 +
 .../chartClasses/class_objectCountChart.inc        |    91 +
 .../chartClasses/class_passwordChangeChart.inc     |    93 +
 .../statistics/chartClasses/class_pieChart1.inc    |    95 +
 .../statistics/chartClasses/class_pieChart2.inc    |    14 +
 .../chartClasses/class_renderTimeChart.inc         |    21 +
 .../statistics/chartClasses/class_statChart.inc    |   131 +
 .../generic/statistics/class_statistics.inc        |   474 +
 gosa-core/plugins/generic/statistics/main.inc      |    51 +
 .../plugins/generic/statistics/statistics.tpl      |   106 +
 .../plugins/generic/welcome/class_welcome.inc      |    12 +
 gosa-core/plugins/generic/welcome/main.inc         |     3 +-
 gosa-core/plugins/generic/welcome/welcome.tpl      |    24 +-
 gosa-core/plugins/personal/generic/changed.tpl     |    12 -
 gosa-core/plugins/personal/generic/class_user.inc  |   357 +-
 gosa-core/plugins/personal/generic/generic.tpl     |   675 +-
 .../plugins/personal/generic/generic_certs.tpl     |   163 +-
 .../plugins/personal/generic/generic_picture.tpl   |    47 +-
 gosa-core/plugins/personal/generic/main.inc        |   173 -
 gosa-core/plugins/personal/generic/password.tpl    |   110 -
 .../plugins/personal/generic/paste_generic.tpl     |   103 +-
 .../plugins/personal/myaccount/MyAccountTabs.inc   |    61 +
 gosa-core/plugins/personal/myaccount/changed.tpl   |    13 +
 .../plugins/personal/myaccount/class_MyAccount.inc |    10 +
 gosa-core/plugins/personal/myaccount/main.inc      |   158 +
 .../personal/{generic => myaccount}/nochange.tpl   |     6 +
 gosa-core/plugins/personal/myaccount/password.tpl  |   111 +
 gosa-core/plugins/personal/password/changed.tpl    |     9 +-
 .../plugins/personal/password/class_password.inc   |   405 +-
 gosa-core/plugins/personal/password/main.inc       |     6 +-
 gosa-core/plugins/personal/password/nochange.tpl   |     6 +
 gosa-core/plugins/personal/password/password.tpl   |   116 +-
 .../plugins/personal/posix/class_posixAccount.inc  |   478 +-
 gosa-core/plugins/personal/posix/generic.tpl       |   231 +-
 .../groupSelect/class_filterLDAPBlacklist.inc      |     4 +-
 .../posix/groupSelect/class_groupSelect.inc        |     4 +-
 .../personal/posix/groupSelect/group-filter.tpl    |    37 -
 .../personal/posix/groupSelect/group-filter.xml    |    56 +-
 .../personal/posix/groupSelect/group-list.tpl      |    55 +-
 .../personal/posix/groupSelect/group-list.xml      |    23 +-
 gosa-core/plugins/personal/posix/main.inc          |   147 -
 gosa-core/plugins/personal/posix/paste_generic.tpl |   158 +-
 gosa-core/plugins/personal/posix/posix_groups.tpl  |    83 -
 gosa-core/plugins/personal/posix/posix_shadow.tpl  |   170 +-
 .../trustModeDialog/class_trustModeDialog.inc      |   328 +
 .../personal/posix/trustModeDialog/generic.tpl     |    39 +
 .../posix/trustSelect/class_trustSelect.inc        |   124 +-
 .../personal/posix/trustSelect/trust-filter.tpl    |    39 -
 .../personal/posix/trustSelect/trust-filter.xml    |    57 +-
 .../personal/posix/trustSelect/trust-list.tpl      |    55 +-
 .../personal/posix/trustSelect/trust-list.xml      |    27 +-
 .../plugins/personal/posix/trust_machines.tpl      |    42 -
 gosa-core/redhat/02_fix_class_mapping.patch        |    49 +-
 gosa-core/redhat/03_fix_locale_location.patch      |    14 +-
 gosa-core/redhat/04_fix_online_help_location.patch |    18 +-
 gosa-core/redhat/gosa.spec                         |    16 +-
 gosa-core/redhat/gosa_fedora.spec                  |   360 -
 gosa-core/redhat/make-gosa-package                 |     7 +-
 gosa-core/redhat/rpm-make-gosa                     |    17 +-
 gosa-core/setup/class_setup.inc                    |   479 +-
 gosa-core/setup/class_setupStep.inc                |    14 +-
 gosa-core/setup/class_setupStep_Checks.inc         |    32 +-
 gosa-core/setup/class_setupStep_Config1.inc        |   245 -
 gosa-core/setup/class_setupStep_Config2.inc        |   283 -
 gosa-core/setup/class_setupStep_Config3.inc        |   236 -
 gosa-core/setup/class_setupStep_Feedback.inc       |   458 +-
 gosa-core/setup/class_setupStep_Finish.inc         |     6 +-
 gosa-core/setup/class_setupStep_Ldap.inc           |     1 +
 gosa-core/setup/class_setupStep_Migrate.inc        |  3756 +-----
 gosa-core/setup/class_setupStep_Schema.inc         |   174 +-
 gosa-core/setup/class_setupStep_Welcome.inc        |     8 +-
 gosa-core/setup/setup.tpl                          |     4 -
 gosa-core/setup/setup_checks.tpl                   |   212 +-
 gosa-core/setup/setup_config1.tpl                  |   225 -
 gosa-core/setup/setup_config2.tpl                  |   294 -
 gosa-core/setup/setup_config3.tpl                  |   340 -
 gosa-core/setup/setup_feedback.tpl                 |   148 +-
 gosa-core/setup/setup_finish.tpl                   |     8 +-
 gosa-core/setup/setup_frame.tpl                    |    67 +-
 gosa-core/setup/setup_language.tpl                 |     2 +-
 gosa-core/setup/setup_ldap.tpl                     |   201 +-
 gosa-core/setup/setup_license.tpl                  |     5 +-
 gosa-core/setup/setup_migrate.tpl                  |   612 +-
 gosa-core/setup/setup_schema.tpl                   |    66 +-
 gosa-core/setup/setup_welcome.tpl                  |    38 +-
 gosa-core/update-gosa                              |   325 +-
 gosa-core/update-gosa.1                            |     6 +-
 gosa-core/update-gosa.pod                          |     2 +-
 gosa-core/update-locale                            |     4 +-
 gosa-core/update-locale.1                          |     6 +-
 gosa-core/update-locale.pod                        |     2 +-
 gosa-core/update-online-help                       |   134 -
 gosa-core/update-online-help.1                     |     6 +-
 gosa-core/update-online-help.pod                   |     2 +-
 gosa-core/update-pdf-help.1                        |     6 +-
 gosa-core/update-pdf-help.pod                      |     2 +-
 836 files changed, 124765 insertions(+), 108497 deletions(-)

diff --git a/gosa-core/AUTHORS b/gosa-core/AUTHORS
index e63cc85..547c772 100644
--- a/gosa-core/AUTHORS
+++ b/gosa-core/AUTHORS
@@ -77,11 +77,6 @@ documentation and additional help.
 * Wouter Verhelst <wouter at debian.org>
   accept-to-gettext code that helps for language conversation
 
-* Antoine Gallavardin <antoine.gallavardin at free.fr>
-  Dhcp plugin patch to manage key and update zone in dhcp for dyndns
-
-* Leonid Bogdanov <leonid_bogdanov at mail.ru>
-  patch for the manager fonctionnality in the Genral user tab
-
-* Olivier BONHOMME <obonhomme at nerim.net>
-  Corrected RPM building
+* pChart has been created by Jean-Damien POGOLOTTI
+  Graph rendering classes pChart.
+  http://www.sunyday.net
diff --git a/gosa-core/Changelog b/gosa-core/Changelog
index b536db7..616ade6 100644
--- a/gosa-core/Changelog
+++ b/gosa-core/Changelog
@@ -1,25 +1,33 @@
 GOsa2 changelog
 ===============
-
-* gosa 2.6.11
-  - Updated post-event handling and added pre-event hooks
-  - Updated sudoers plugin, to allow special chars
-  - Updated samba flags and account expiration to be 3.4.x compliant
-  - Optionally disable samba password maintainance by removing the
-    'sambaHashHook' from gosa.conf
-  - Implemented password proposals - see 'passwordProposalHook'
-  - Temporarily use included 'templateCompileDirectory' if the
-    external definition is wrong
-
-* gosa 2.6.10
-  - Fixed timestamps in samba domain info dialog
-  - Fixed Problem with Copy & Paste of servers
-  - Fixed several list filter descriptions
-  - Updated filter for windows workstations in systems plugin
-  - Allow to use phoneAccount attributes as replacement in macros
-  - Updated mailAccount "Do not deliver to own mailbox" flag was inverse
-  - Updated gofon macro saving handling, avoids database duplicates
-  - Improved PPD parser
+* gosa 2.7.1
+  - Updated passwordHook behaviour
+  - Readded sambaKickoffTime to samba tab.
+  - Updated account expiration checks.
+  - Fixed acl resolution to be case insensitive.
+  - Fixed mail address check for user templates.
+  - Updated integrated smarty to 3.0.7
+
+* gosa 2.7
+  - Updated design. CSS3, mostly w3c conform.
+  - Updated and fixed english wording.
+  - Rewrote filtering methods, allows to define self-made filters.
+  - Rewrote reference tabs, it now resolve the users acls.
+  - Replaced all lists by either listing or sortable_listing-
+  - Added dynamic groups to core functionality. Thanks to <Thomas Chemineau>
+  - Added property editor plugin, including property validation and migration.
+  - Rewrote schema check, more flexible and only checks for required classes.
+  - Stripped setup to minimum requirements. (Use property editor form fine-tuning).
+  - Introduced dynamic path-menu, replaces the old 'MyAccount' section.
+  - Added premodify, precreate and preremove events to be able to act before things get saved.
+  - Hardened handling of sepcial chars in user inputs.
+  - Added a wildcard ACL to allow to given ACLs to 'everyone'
+  - Disallow UTF-8 characters in passwords.
+  - Switch to the new version of the smarty template engine, version 3.
+  - Updated the ldap export plugins to use the cli, which is much faster.
+  - Intruduced a new image rendering based on sprites, increases performance.
+  - Added automatic logout, for security reasons.
+  - Allow to use replacements like {%var[n-m]} in pre and post events and user templates.
 
 * gosa 2.6.9
   - Fixed problem with initial phone accounts, sip type was NULL
diff --git a/gosa-core/FAQ b/gosa-core/FAQ
index cd9dff8..2b316b5 100644
--- a/gosa-core/FAQ
+++ b/gosa-core/FAQ
@@ -1,340 +1,374 @@
 This is the textual form of the GOsa FAQ. Online information with
 comments is set up at Wiki: https://oss.gonicus.de/labs/gosa/wiki/documentation
 
-Q: When creating many users for one department, I need to fill some
-   fields again and again. Is there a shortcut for that?
 
-A: Just create a user template and pre-fill all values you need. You
-   can use dynamic content, too: uid, sn and givenName will be replaced.
-   i.E. an entry '/home/%uid' in homeDirectory will be replaced by the
-   real uid of the user you're creating, %sn.%givenName at yourdomain.com
-   creates proper email addresses, etc. Templates include group membership.
+Q:  When creating many users for one department, I need to fill 
+    somefields again and again. Is there a shortcut for that?
 
+A:  Just create a user template and pre-fill all values you need. You
+    can use dynamic content, too: uid, sn and givenName will be replaced.
+    i.E. an entry '/home/{%uid}' in homeDirectory will be replaced by the
+    real uid of the user you're creating, {%sn[0-4]}.{%givenName}@yourdomain.com
+    creates proper email addresses, etc. Templates include group membership.
 
-Q: Can GOsa execute commands after creating/editing/removing users,
-   departments, etc.
+    For more details visit:
+    https://oss.gonicus.de/labs/gosa/wiki/PluginInstallationUserTemplates
 
-A: Yes. Edit /etc/gosa/gosa.conf's menu section. Each plugin may has
-   an entry "postremove", "postmodify" and "postcreate".  You can use
-   ldap attributes as command line options.
-   i.E. postcreate="/usr/bin/sudo /usr/local/sbin/ftp.setperms %uid '%givenName'"
 
+Q:  I can see passwords in my logs and in my process list while executing 
+    commands, such as postcreate/passwordHook/aso.
 
-Q: I'd like to  modify the look of GOsa to fit our CI. How can I create an
-   own theme?
+A:  The best way to execute scripts with sensitive data is to use envrionmental 
+    variables in your scripts, like shown here:
 
-A: Themes are splitted into two parts. ihtml/ contains templates which
-   generate the ui, html/ contains all parts that must be readable from
-   clients. GOsa first looks for predefined files in the directory indirectly
-   defined via the "theme" parameter in /etc/gosa/gosa.conf. If it can't
-   find them here, it'll use the default one.
+    An example snippet from the gosa.conf
+    
+    ---
+    <plugin name='User password' class='password'
+        postmodify="NEWPASSWORD=%new_password /usr/bin/sudo /scripts/myScript.sh"
+    ---
+    
+    Another example for the password check hook (The passwordHook is deprecated in GOsa 2.7):
+    ---
+    <location
+        passwordHook="CURRENTPWD=%current_password NEWPWD=%new_password /usr/bin/sudo /scripts/myScript.sh"
+    ---
+
+    You can then use the variables like this:
+    ---
+    #!/bin/sh
+    echo $CURRENTPWD
+    echo $NEWPWD
+    ---
+
+
+Q:  Can GOsa execute commands 'BEFORE' creating/editing/removing users,departments, etc. 
+
+A:  Yes. Edit /etc/gosa/gosa.conf's menu section. 
+    Each plugin may has an entry "preremove", "premodify" and "precreate".  
+    You can use ldap attributes as command line options.
+
+    i.E. 
+    ---
+    precreate="/usr/bin/sudo /usr/local/sbin/ftp.setperms %uid %givenName"
+    ---
 
-   So start over by copying html/themes/default to html/themes/yourtheme
-   and ihtml/themes/default to ihtml/themes/yourtheme. Change gosa.conf to
-   contain theme="yourtheme" in section main. Here are some files to edit:
 
-   * login.tpl          -> login screen
-   * framework.tpl	-> page contents
-   * style.css          -> stylesheets used by GOsa
- 
+Q:  Can GOsa execute commands 'AFTER' creating/editing/removing users,departments, etc. 
 
-Q: How can I let a person do administrative tasks under a specific department?
+A:  Yes. Edit /etc/gosa/gosa.conf's menu section. 
+    Each plugin may has an entry "postremove", "postmodify" and "postcreate".  
+    You can use ldap attributes as command line options.
 
-A: Gosa 2.5.x
-   * Create a group inside this department. 
-   * Put all administrative people inside
-   * go to the "ACL" tab and check all fields these users should be able to adminstrate.
-   
-   GOsa 2.6 implements a more flexible but complex ACL management, please have a look at 
-   the following wiki page: https://oss.gonicus.de/labs/gosa/wiki/DocumentationWritingACLs2.6
-   If you have still questions, please use the mailing list or the forum.
-   
+    i.E. 
+    ---
+    postcreate="/usr/bin/sudo /usr/local/sbin/ftp.setperms %uid %givenName"
+    ---
 
-Q: How can I permit users to change some of their own attributes?
 
-A: Same like described above, but additionally you have to check the option 
-   'Apply this acl only for users own entries'.
-   (For versions 2.6.x, see the wiki pages)
+Q:  I'd like to  modify the look of GOsa to fit our CI. How can I create anown theme? 
 
+A:  Themes are splitted into two parts. ihtml/ contains templates which
+    generate the ui, html/ contains all parts that must be readable from
+    clients. GOsa first looks for predefined files in the directory indirectly
+    defined via the "theme" parameter in /etc/gosa/gosa.conf. If it can't
+    find them here, it'll use the default one.
 
-Q: What about applications?
+    So start over by copying html/themes/default to html/themes/yourtheme
+    and ihtml/themes/default to ihtml/themes/yourtheme. Change gosa.conf to
+    contain theme="yourtheme" in section main. Here are some files to edit:
 
-A: GOsa can manage desktop applications in ldap. Create a group and put all users
-   in there, which have common desktop settings. Go to the "Application" tab and
-   add all applications common to this group. Applications can be created from the
-   application plugin.
-   The idea behind this feature is a script running on the terminal-servers/
-   workstation which check for applications on login (or on a regular basis using
-   timestamps). This one will create the corresponding icons on your KDE or GNOME
-   desktop.
+    * login.tpl          -> login screen
+    * framework.tpl    -> page contents
+    * style.css          -> stylesheets used by GOsa
 
 
-Q: What's this terminal stuff?
+Q:  How can I let a person do administrative tasks under a specific department? 
 
-A: GOto is - similar to LTSP - a ldap based diskless client system. It is available
-   from our projects page.
+A:  GOsa 2.6 implements a flexible but complex ACL management, please have a look at 
+    the following wiki page: https://oss.gonicus.de/labs/gosa/wiki/DocumentationWritingACLs2.6
+    If you have still questions, please use the mailing list or the forum.
 
 
-Q: I can't select any mailservers. What's wrong?
+Q:  What about applications? 
 
-A: It seems that a mail server is missing in your configuration.
-   Create a new server, go to the services tab and add the imap service.
-   For more details, please have a look at the FAQ and wiki pages. 
-   (This may differ in older GOsa versions)
+A:  GOsa can manage desktop applications in ldap. Create a group and put all users
+    in there, which have common desktop settings. Go to the "Application" tab and
+    add all applications common to this group. Applications can be created from the
+    application plugin.
+    The idea behind this feature is a script running on the terminal-servers/
+    workstation which check for applications on login (or on a regular basis using
+    timestamps). This one will create the corresponding icons on your KDE or GNOME
+    desktop.
 
 
-Q: GOsa is not in my native language, can I translate it to my language?
+Q:  What's this terminal stuff? 
 
-A: Yes. Just go to the locale directory and copy the messages.po file somewhere
-   else. Edit the copy and put your translations into the msgstr lines. To be
-   included in next GOsa releases, you may want to send it to the GOsa maintainer.
-   Finally you need to create a directory with your language code. (i.e. de for
-   german) containing the LC_MESSAGES directory. Move your messages.po file there
-   and run 'msgfmt messages.po' in that directory. That's it.
+A:  GOto is - similar to LTSP - a ldap based diskless client system. It is available
+    from our projects page.
 
-   You may need to restart apache, depending on your setup. On Debian, be sure
-   to have your locale generated (dpkg-reconfigure locales) before.
 
+Q:  I can't select any mailservers. What's wrong? 
 
-Q: The online help doesn't exist in my language, can i translate it to my language?
+A:  It seems that a mail server is missing in your configuration.
+    Create a new server, go to the services tab and add a mailserver 
+    service and/or the imap service.
+    For more details, please have a look at the FAQ and 
+    https://oss.gonicus.de/labs/gosa/wiki/PluginInstallationMailMethods. 
 
-A: Yes. Just go to the doc/guide/user/en directory and copy the lyx-source directory
-   to a new directory in doc/guide/user/<your language>. You have to use the lyx
-   program create the online help in your language. When you have finish just run
-   ./gen_online_help from the gosa root directory to generate the online docs.
 
-   
-Q: Can I specify some kind of password policies?
 
-A: You can place the keywords "passwordMinLength" and "passwordMinDiffer" in the main
-   section of your gosa.conf. "passwordMinLength" specifies how many characters a
-   password must have to be accepted. "passwordMinDiffer" contains the number of
-   characters that must be different from the previous password.
+Q:  Can I specify some kind of password policies? 
 
-   Note that these only affect passwords that are set by the user, not by the admins.
+A:  You can place the keywords "passwordMinLength" and "passwordMinDiffer" in the main
+    section of your gosa.conf. "passwordMinLength" specifies how many characters a
+    password must have to be accepted. "passwordMinDiffer" contains the number of
+    characters that must be different from the previous password.
 
+    Note that these only affect passwords that are set by the user, not by the admins.
 
-Q: I've to update passwords on external windows PDCs. Can I add a command to let
-   synchronize these for me?
 
-A: There's the possibility to add a password hook in gosa.conf's main section using
-   the keyword "passwordHook". The specified command will be executed with 
-   three parameters: /path/to/your/script username oldpassword newpassword
 
-   So you can call i.e. smbpasswd to handle your password change on the PDC.
+Q:  I've to update passwords on external windows PDCs. Can I 
+    add a command to letsynchronize these for me? 
 
+A:  There's the possibility to add a hooks in gosa.conf's plugin tags 
+    using the "premodify/postmodify" keywords. The specified command 
+    will be executed with these additional parameters: 
+    * current_password 
+    * new_password 
+    * userPassword
 
-Q: What about templates for vacation messages?
+    ---
+    <plugin acl="users/password:self" class="password"
+     premodify="/scripts/prepareForPasswordChange %current_password %new_password %uid"
+     check="/scripts/checkPasswordHash %userPassword %dn"
+     postmodify="/scripts/changePassword %dn %uid %userPassword %current_password %new_password %userPassword"
+    >
+    ---
 
-A: Create a directory to keep a set of vacation messages which are readable by the
-   user that runs your apache. In this example I'll use /etc/gosa/vacation for that.
+    For further information about pre- and post hooks search for the premodify and postmodify statements.
 
-   Put your vacation files in there containing a "DESC:some descriptive text" as the
-   first line followed by the normal vacation text. You can use all attributes from
-   the generic tab. I.e.:
+    So you can call i.e. smbpasswd to handle your password change on the PDC.
+
+
+
+Q:  What about templates for vacation messages? 
+
+A:  Create a directory to keep a set of vacation messages which are readable by the
+    user that runs your apache. In this example I'll use /etc/gosa/vacation for that.
+
+    Put your vacation files in there containing a "DESC:some descriptive text" as the
+    first line followed by the normal vacation text. You can use all attributes from
+    the generic tab. I.e.:
 
     /etc/gosa/vacation/business.txt 
+    --- 
+     DESC:Away from desk
+     Hi, I'm currently away from my desk. You can contact me on
+     my cell phone via %mobile.
 
-   |--> 
-    DESC:Away from desk
-    Hi, I'm currently away from my desk. You can contact me on
-    my cell phone via %mobile.
-    
-    Greetings,
-    %givenName %sn
-   |<--
- 
-   Place the config option vacationTemplateDirectory="/etc/gosa/vacation" in the location found in
-   gosa.conf and a template box is show in the vacation mail tab.
+     
+     Greetings,
+     %givenName %sn
+    ---
+     
+    Place the config option vacationTemplateDirectory="/etc/gosa/vacation" in the location found in
+    gosa.conf and a template box is show in the vacation mail tab.
 
 
-Q: How can I generate automatic ID's for user templates?
 
-A: Add an entry describing your id policy in gosa.conf, location section:
+Q:  How can I generate automatic ID's for user templates? 
 
-   a) using attributes
-      You can specify LDAP attributes (currently only sn and givenName) in braces {}
-      and add a percent sign befor it. Optionally you can strip it down to a number
-      of characters, specified in []. I.e.
+A:  Add an entry describing your id policy in gosa.conf, location section:
 
-   |--> 
-      idGenerator="{%sn}-{%givenName[2-4]}"
-   |<--
 
-      will generate an ID using the full surename, adding a dash, and adding at least
-      the first two characters of givenName. If this ID is used, it'll use up to four
-      characters. If no automatic generation is possible, a input box is shown.
+    1) Using attributes
+    You can specify LDAP attributes (currently only sn and givenName) in braces {}
+    and add a percent sign befor it. Optionally you can strip it down to a number
+    of characters, specified in []. I.e.
 
-   b) using automatic id's
-      I.e. specifying
+    --- 
+    idGenerator="{%sn}-{%givenName[2-4]}"
+    ---
 
-   |--> 
-      idGenerator="acct{id:3}"
-   |<--
+    will generate an ID using the full surename, adding a dash, and adding at least
+    the first two characters of givenName. If this ID is used, it'll use up to four
+    characters. If no automatic generation is possible, a input box is shown.
 
-      will generate a three digits id with the next free entry appended to "acct".
+    2) using automatic id's
+    I.e. specifying
 
-   |--> 
-      idGenerator="ext{id#3}"
-   |<--
+    --- 
+    idGenerator="acct{id:3}"
+    ---
 
-      will generate a three digits random number appended to "ext".
+    will generate a three digits id with the next free entry appended to "acct".
 
+    --- 
+    idGenerator="ext{id#3}"
+    ---
 
-Q: I'm migrating from the current LDAP, now GOsa does not allow uid's and group
-   with upper/lower case and spaces. What can I do?
+    will generate a three digits random number appended to "ext".
 
-A: Include the strictNamingRules="no" keyword in your gosa.conf's location section.
-   WARNING: using strictNamingRules="no" will cause problems with cyrus/postfix!!
 
 
-Q: I'd like to place my users under ou=staff, not under ou=people. Can I change
-   this?
 
-A: Yes. You can change the people and group locations by adding the following
-   statements to your location sections:
+Q:  I'm migrating from the current LDAP, now GOsa does not allow uid's 
+    and groupwith upper/lower case and spaces. What can I do? 
 
-   |--> 
-   userRDN="ou=staff"
-   groupRDN="ou=crowds"
-   |<--
+A:  Include the strictNamingRules="no" keyword in your gosa.conf's location section.
+    
+    WARNING: using strictNamingRules="no" will cause problems with cyrus/postfix!!
 
-   After logging in again, people and groups are created in the configured places.
-   As a side note, you can leave these strings blank for flat structures, too.
 
 
-Q: I've problems with many objectClass violations/undefined attributes. Can GOsa
-   check what's missing?
+Q:  I'd like to place my users under ou=staff, not under ou=people. Can I changethis? 
 
-A: Yes. Move away your gosa.conf and go to the GOsa setup. Follow the steps till
-   you can download the config. If you get up to this point, your schema is ok...
+    Yes. You can change the people and group locations by adding the following
+    statements to your location sections:
 
+    --- 
+    userRDN="ou=staff"
+    groupRDN="ou=crowds"
+    ---
 
-Q: I really don't want dn's containing the CN for user accounts because I don't
-   want to support anonymous binds for uid resolution. Is it possible to have dn's
-   containing the uid instead?
+    After logging in again, people and groups are created in the configured places.
+    As a side note, you can leave these strings blank for flat structures, too.
 
-A: Yes. Placing the accountPrimaryAttribute="uid" keyword in your gosa.conf's location
-   section will solve your problem.
 
 
-Q: Hey, I've installed GOsa, but it claims something about "SID and / or RIDBASE
-   are missing in your configuration". What's wrong?
 
-A: You've configured GOsa to use samba3, but your LDAP has no samba domain object
-   inside. Either log into samba for the first time to let it create that object,
-   or supply the sid and ridbase for your domain in your gosa.conf's location, i.e.:
+Q:  I really don't want dn's containing the CN for user accounts because I don't
+    want to support anonymous binds for uid resolution. 
+    Is it possible to have dn'scontaining the uid instead? 
 
-   |--> 
-   <location name=...>
-             ...
-             sambaRidBase="1000"
-             sambaSID="0-815-4711" \>
-   |<--
+A:  Yes. Placing the accountPrimaryAttribute="uid" keyword in your gosa.conf's location
+    section will solve your problem.
 
-   Remember to fill in your real domain sid which is retrievable by the command
-   "net getlocalsid".
 
 
-Q: We have massive performance problems with using samba as a member server.
 
-A: This is a known issue. We're working around this by putting
+Q:  Hey, I've installed GOsa, but it claims something about "SID and / or RIDBASE
+    are missing in your configuration". What's wrong? 
 
-   |--> 
-   <location name=...>
-    ...
-    sambaIdMapping="true"
-    ... \>
-   |<--
+A:  You've configured GOsa to use samba3, but your LDAP has no samba domain object
+    inside. Either log into samba for the first time to let it create that object,
+    or supply the sid and ridbase for your domain in your gosa.conf's location, i.e.:
+
+    --- 
+    <location name=...>
+        ...
+        sambaRidBase="1000"
+        sambaSID="0-815-4711" \>
+    ---
+
+    Remember to fill in your real domain sid which is retrievable by the command
+    "net getlocalsid".
+
+
+
+Q:  We have massive performance problems with using samba as a member server. 
+
+A:  This is a known issue. We're working around this by putting
+
+    --- 
+    <location name=...>
+        ...
+        sambaIdMapping="true"
+        ... \>
+    ---
 
     into the configuration. GOsa will write the additional objectClass sambaIdmapEntry
     to the group and user objects.
 
 
-Q: I get 'The value specified as GID/UID number is too small' when forcing IDs. Why?
 
-A: This is an additional security feature, so that no one can fall back to uid 0. The
-   default minimum ID is 100. You can set it to every value you like by specifying
+Q:  I get 'The value specified as GID/UID number is too small' when forcing IDs. Why? 
 
-   |--> 
-   <location name=...>
-    ...
-    minId="40"
-    ... \>
-   |<--
+A:  This is an additional security feature, so that no one can fall back to uid 0. The
+    default minimum ID is 100. You can set it to every value you like by specifying
 
-   in your configuration. In this example 40 will be the smallest ID you can enter.
+    --- 
+    <location name=...>
+        ...
+        minId="40"
+        ... \>
+    ---
 
+    in your configuration. In this example 40 will be the smallest ID you can enter.
 
-Q: Aahhrg. I've updated to a new version and my gosa.conf seems to be broken.
 
-A: Some parameters may have changed. Please move your gosa.conf away and re-run the setup.
 
+Q:  Aahhrg. I've updated to a new version and my gosa.conf seems to be broken. 
 
-Q: I've saved my windows workstations in other locations like GOsa is doing it
-   for decades. Is there a way to change this?
+A:  Some parameters may have changed. Please move your gosa.conf away and re-run the setup.
 
-A: Yes. Use the winstation parameter in your location section: 
 
-   |--> 
-   <location name=...>
-   ...
-   sambaMachineAccountRDN="ou=machineaccounts"
-   ... \>
-   |<--
 
 
-Q: GOsa doesn't seem to follow my referrals. What can I do?
+Q:  I've saved my windows workstations in other locations like GOsa is doing it
+    for decades. Is there a way to change this? 
 
-A: Place the option 'ldapFollowReferrals = "true"' inside your locations definition
-   and you should be fine.
+A:  Yes. Use the sambaMachineAccountRDN parameter in your location section: 
 
+    --- 
+    <location name=...>
+        ...
+        sambaMachineAccountRDN="ou=machineaccounts"
+        ... \>
+    ---
 
-Q: I'd like to have TLS based LDAP connections from within GOsa. Is this possible?
 
-A: Yes, add
 
-   |--> 
-   <location ...>
-   ...
-         ldapTLS="true"
-   ... \>
-   |<--
+Q:  I'd like to have TLS based LDAP connections from within GOsa. Is this possible? 
 
-   to the location section of GOsa. This switch affects LDAP connections for a single location only.
+A:  Yes, add
 
+    --- 
+    <location ...>
+        ...
+              ldapTLS="true"
+        ... \>
+    ---
 
-Q: Cyrus folder get created in the style user.username. I prefer the unix hirachy
-   style user/username. Is it possible to change this?
+    to the location section of GOsa. This switch affects LDAP connections for a single location only.
+
+
+
+Q:  Cyrus folder get created in the style user.username. I prefer the unix 
+    hirachystyle user/username. Is it possible to change this? 
+
+A:  Yes, add
+
+
+    --- 
+    <location
+        cyrusUseSlashes="true"
+    ---
 
-A: Yes, add
+    to the location or main section of GOsa and the folders are created in unix style.
 
-   |--> 
-   <location
-	...
-    cyrusUseSlashes="true"
-   |<--
 
-   to the location or main section of GOsa and the folders are created in unix style.
 
+Q:  I've a cyrus installation with customized user and folder prefixes. 
+    How can I tell GOsa to use the prefixes I prefer? 
 
-Q: I've a cyrus installation with customized user and folder prefixes. 
-   How can I tell GOsa to use the prefixes I prefer?
+A:  Simply set the following attributes in the location tag of your gosa.conf:  
 
-A: Simply set the following attributes in the location tag of your gosa.conf:  
+    --- 
+    <location 
+        mailUserCreation="myprefix/%mail%"
+        mailFolderCreation="myfolder\\.%cn%@%domain%"
+    ---
 
-   |--> 
-   <location 
-	...
-    mailUserCreation="myprefix/%mail%"
-    mailFolderCreation="myfolder\\.%cn%@%domain%"
-   |<--
 
-   The dot in the above example is escaped to prevent it from replacing with '/' if 
+    The dot in the above example is escaped to prevent it from replacing with '/' if 
     cyrusUseSlashes is set to true.
 
-   You can use the following replacements:
-   |--> 
+
+    You can use the following replacements:
+    --- 
     %cn%       - The groups cn.
     %uid%      - The users uid.
     %prefix%   - The default prefix used by the mailmethod.
@@ -342,249 +376,273 @@ A: Simply set the following attributes in the location tag of your gosa.conf:
     %domain%   - The domain part of the given mail address. (user at domain.com = domain.com)
     %mailpart% - The user part of the mail address. (user at domain.com = user)
     %mail%     - The complete mail address. 
-   |<--
+    ---
+
 
 
-Q: I want to use cyrus for multiple mail domains, but GOsa uses the 'uid' attribute for account namens, how do I change this to 'mail'?
+Q:  I want to use cyrus for multiple mail domains, but GOsa uses the 'uid' attribute 
+    for account namens, how do I change this to 'mail'? 
 
-A: Just add/modify the following line to/in your gosa.conf:
+A:  Just add/modify the following line to/in your gosa.conf:
 
-   |--> 
-   <location 
-    ...
-    mailAttribute="mail"
-   |<--
+    --- 
+    <location 
+        ...
+        mailAttribute="mail"
+    ---
 
 
-Q: I'd like to do special checks for several plugin parameters. How can I modify
-   GOsa to take care of these checks?
 
-A: No need to modify anything. Just add a hook the the plugin you'd like to
-   check:
+Q:  I'd like to do special checks for several plugin parameters. How can I modify
+    GOsa to take care of these checks? 
 
-   |--> 
+A:  No need to modify anything. Just add a hook the the plugin you'd like to
+    check:
+
+    --- 
     check="/your/command/binary"
-   |<--
+    ---
+
+    This binary will get an ldif to STDIN for analysis and may write an error message
+    to STDOUT. Note, that the supplied ldif may NOT be the original target ldif due
+    to technical reasons.
+
+
+
+Q:  Is there a way to use ACL independet filtering when using administrative units? 
+
+A:  Yes. Set "honourUnitTags" to "true" in your gosa.conf's location section.
 
-   This binary will get an ldif to STDIN for analysis and may write an error message
-   to STDOUT. Note, that the supplied ldif may NOT be the original target ldif due
-   to technical reasons.
 
 
-Q: Is there a way to use ACL independet filtering when using administrative units?
+Q:  How can i active the account expiration code for the gosa interface? 
 
-A: Yes. Set "honourUnitTags" to "true" in your gosa.conf's location section.
+A:  Yes. Just set "handleExpiredAccounts" to "true" in your gosa.conf's main section.
 
 
-Q: How can i active the account expiration code for the gosa interface?
 
-A: Yes. Just set "handleExpiredAccounts" to "true" in your gosa.conf's main section.
+Q:  What is the correct connection string for a Kolab server in GOsa? 
 
+A:  Try {localhost:143/novalidate-cert}.
 
-Q: What is the correct connection string for a Kolab server in GOsa?
 
-A: Try {localhost:143/novalidate-cert}.
 
+Q:  Sieve is not working from GOsa - there are authentication problems
+    with this service, IMAP/POP is working. What's wrong? 
 
-Q: Sieve is not working from GOsa - there are authentication problems
-   with this service, IMAP/POP is working. What's wrong?
+A:  Verify that the paramater sasl_auto_transition: no is not present in your imap.conf
 
-A: Verify that the paramater sasl_auto_transition: no is not
-   present in your imap.conf
 
 
-Q: I have a SIEVE problem - "Can't log into SIEVE server. Server  says //. -
+Q:  I have a SIEVE problem - "Can't log into SIEVE server. Server  says //. - 
 
-A: Probably something is wrong with the authentification which is used by timesieved.
-   - Check if you can login with "sieveshell" on this host.
-   - Also check "telnet localhost 2000" - Is there any output about "Plain Login"?
+A:  Probably something is wrong with the authentification which is used by timesieved.
+    * Check if you can login with "sieveshell" on this host.
+    * Also check "telnet localhost 2000" - Is there any output about "Plain Login"?
 
-   Please verify the ldap imap attributes, like goImapSieveServer and goImapSievePort. 
-   These value can be modified using the server->services tab in GOsa 2.6 and in
-    GOsa 2.5 you can find these options under server->databases.
+    Please verify the ldap imap attributes, like goImapSieveServer and goImapSievePort. 
+    These value can be modified using the server->services tab in GOsa 2.6.
 
-   Here is an older, but maybe helpful solution for Cyrus-Imapd 2.1.5 on SuSE 9.0:
-   - Install the "cyrus-sasl-plain" rpm from the distro-cd (This packet contains "sasl2/libplain" library).
-   - Modify your /etc/imap.conf:
+    Here is an older, but maybe helpful solution for Cyrus-Imapd 2.1.5 on SuSE 9.0:
+    * Install the "cyrus-sasl-plain" rpm from the distro-cd (This packet contains "sasl2/libplain" library).
+    * Modify your /etc/imap.conf:
 
-   |--> 
+    --- 
     sasl_pwcheck_method: saslauthd
     sasl_mech_list: plain login
-   |<--
+    ---
 
-   - Modify your /etc/sysconfig/saslauthd:
+    * Modify your /etc/sysconfig/saslauthd:
 
-   |--> 
-    SASLAUTHD_AUTHMECH=pam
-   |<--
+    --- 
+     SASLAUTHD_AUTHMECH=pam
+    ---
 
 
-Q: Slapd does not start with kolab2.schema included. It claims that the
-   definition of calFBURL is missing. What can I do?
+Q:  Slapd does not start after adding or changing schema files to the slapd config. What can I do? 
 
-A: For Kolab to work correctly you have to include the rfc2739.schema
-   in your slapd.conf. Insert it before the kolab2.schema
+A:  Check the order of how slapd loads the schema files. 
+    Order of schema loading matters, because some schemas depend on other
+    schemas being already loaded. For a working order of the schema files 
+    look here: https://oss.gonicus.de/labs/gosa/wiki/InstallingLdap
 
 
-Q: New implementations of OpenLDAP seem to require {sasl} instead of {kerberos}
-   in password hashes. GOsa writes the wrong string. What can I do?
 
-A: You can set "useSaslForKerberos" to "true" in your gosa.conf's main section.
+Q:  Slapd does not start with kolab2.schema included. It claims that thedefinition of 
+    calFBURL is missing. What can I do? 
 
+A:  For Kolab to work correctly you have to include the rfc2739.schema
+    in your slapd.conf. Insert it before the kolab2.schema
 
-Q: Is there a way to add the personalTitle attribute the the users dn?
 
-A: Just add this line into the location section of your gosa.conf.
 
-   |--> 
-   <location
-    ... 
-    personalTitleInDN="true"
-   |<--
+Q:  New implementations of OpenLDAP seem to require {sasl} instead of {kerberos}
+    in password hashes. GOsa writes the wrong string. What can I do? 
+
+A:  You can set "useSaslForKerberos" to "true" in your gosa.conf's main section.
+
 
 
-Q: I'd like to assign different uid bases for certain user/group objects.
-   How can this be achieved?
+Q:  Is there a way to add the personalTitle attribute the the users dn? 
 
-A: Use the 'baseIdHook' in your gosa.conf's location section to specify a script
-   which handles the ID generation externaly. It get's called with the "dn"
-   and the attribute to be ID'd. It should return an integer value.
+A:  Just add this line into the location section of your gosa.conf.
 
 
-Q: I'd like to use rfc2307bis compliant groups. Is this possible?
+    --- 
+    <location
+    ... 
+    personalTitleInDN="true"
+    ---
 
-A: Yes - place the rfc2307bis="true" inside of the location section of
-   your gosa.conf. Remember, that you can't create empty groups in this mode.
 
 
-Q: Can GOsa show some vendor information for given MAC addresses?
+Q:  I'd like to assign different uid bases for certain user/group objects.How can this be achieved? 
 
-A: Yes. Download http://standards.ieee.org/regauth/oui/oui.txt and place
-   it in /etc/gosa/oui.txt.
+A:  Use the 'baseIdHook' in your gosa.conf's location section to specify a script
+    which handles the ID generation externaly. It get's called with the "dn"
+    and the attribute to be ID'd. It should return an integer value.
 
 
-Q: GOsa sessions expire too quick. Is there a way to change this?
 
-A: Yes. Set "sessionLifetime" to the number of seconds of inactivity. 7200
-   (60x60x2) would be for two hours. Place this option inside the main
-   section of your gosa.conf.
+Q:  I'd like to use rfc2307bis compliant groups. Is this possible? 
 
+A:  Yes - place the rfc2307bis="true" inside of the location section of
+    your gosa.conf. Remember, that you can't create empty groups in this mode.
 
-Q: Microsoft Internet Explorer <=6 seems paints strange blocks around
-   images.
 
-A: Use Firefox, Konqueror, Safari, Opera, IE >= 7, etc. IE is broken and
-   I don't want to waste my time with working around this old crap. There's
-   a quick hack, if you just put "iePngWorkaround='true'" inside the main
-   section of your gosa.conf. This is a JavaScript based workaround and I've
-   to place a WARNING here, that it is damn slow if you've large lists to
-   display.
 
-   If you have much time, you can provide a seamless integration with MS
-   filter css extension.
+Q:  GOsa sessions expire too quick. Is there a way to change this? 
 
+A:  Yes. Set "sessionLifetime" to the number of seconds of inactivity. 7200
+    (60x60x2) would be for two hours. Place this option inside the main
+    section of your gosa.conf.
 
-Q: Is there a way to let users change passwords without logging into GOsa?
 
-A: Yes. Browse to "password.php". You can preset a couple of things i.e.:
 
-   |--> 
+Q:  Is there a way to let users change passwords without logging into GOsa? 
+
+A:  Yes. Browse to "password.php". You can preset a couple of things i.e.:
+
+    --- 
     http://your.admin.server/password.php?uid=cajus&method=md5&directory=GONICUS+GmbH
-   |<--
+    ---
+
+
 
+Q:  GOsa only shows 300 entries at a time. Is this normal? 
 
-Q: GOsa only shows 300 entries at a time. Is this normal?
+A:  There's a default sizelimit. You can set the "ldapSizelimit" option in your
+    gosa.conf's  location section to a higher value to get rid of it.
 
-A: There's a default sizelimit. You can set the "ldapSizelimit" option in your
-   gosa.conf's  location section to a higher value to get rid of it.
 
 
-Q: I have problems with my ldap server when I open groups with 
-   a huge amount of members, what can I do?
+Q:  I have problems with my ldap server when I open groups with a 
+    huge amount of members, what can I do? 
 
-A: You can set a nesting limit which ensures that the user names will not be 
-   resolved if the amount of members reaches this limit.
+A:  You can set a nesting limit which ensures that the user names will not be 
+    resolved if the amount of members reaches this limit.
 
-   |--> 
+    --- 
     <location
-     ...
-     ldapFilterNestingLimit="100"
-   |<--
+        ...
+        ldapFilterNestingLimit="100"
+    ---
 
 
-Q: I want to disable the "Is the configuration file up to date?" check when logging in.
-   How can I disable this check?
+Q:  I want to disable the "Is the configuration file up to date?" check when logging in.
+    How can I disable this check? 
 
-A: Just set the configVersion attribute to an empty value:
+A:  Just set the configVersion attribute to an empty value:
 
-   |--> 
+    --- 
     <conf configVersion="" >
-   |<--
+    ---
 
 
-Q: I've shredded my access control and am not able to do anything from now on. Is there
-   a way to override the ACL?
 
-A: Yes. Insert the following statement in the location section of your gosa.conf:
+Q:  I've shredded my access control and am not able to do anything from now on. 
+    Is there a way to override the ACL? 
 
-   |--> 
+A:  Yes. Insert the following statement in the location section of your gosa.conf:
+
+    --- 
     ignoreAcl="your user's dn"
-   |<--
+    ---
 
 
-Q: I can't logon as Administration, what is wrong?
+Q:  I can't logon as Administration, what is wrong? 
 
-A: It looks like you are missing an administrativ account. 
-   In newer versions of GOsa you can simply re-run the setup and create 
+A:  It looks like you are missing an administrativ account. 
+    In newer versions of GOsa you can simply re-run the setup and create 
     an admin account on the migration page. 
 
-   Additionally you can set ignoreACL in GOsa 2.6, just search the FAQ.
- 
+    Additionally you can set ignoreACL in GOsa 2.6, just search the FAQ.
+
+
 
-Q: The Unix's user's shell list is empty (unconfigured)
+Q:  The Unix's user's shell list is empty (unconfigured) 
 
-A: Just copy or link your /etc/shell in /etc/gosa.
+A:  Just copy or link your /etc/shell in /etc/gosa.
 
 
-Q: After upgrading GOsa, the setup.php doesn't work or looks broken. 
 
-A: You should delete all files in /var/spool/gosa
+Q:  After upgrading GOsa, the setup.php doesn't work or looks broken.  
 
-   |--> 
+A:  You should delete all files in /var/spool/gosa
+
+    --- 
     # cd /var/spool/gosa
     # rm -rf *
-   |<--
+    ---
+
 
 
-Q: After installing GOsa using an existing LDAP tree, my user accounts are not listed.
+Q:  After installing GOsa using an existing LDAP tree, my user accounts are not listed. 
 
-A: You need to add the following objectClasses to your accounts:
-  
-   |--> 
+A:  You need to add the following objectClasses to your accounts:
+
+    --- 
     objectClass: person
     objectClass: organizationalPerson
-   |<--
+    ---
+
+    The setup will automatically migrate those accounts, see migration step in GOsa setup!
+
+
+Q:  Is it possible to login with the users mail address too?  
+
+A:  Yes, just add the following line to your gosa.conf:
 
-   The setup will automatically migrate those accounts, see migration step in GOsa setup!
+    --- 
+    <location 
+        ...
+        loginAttribute="mail"
+    ---
 
+    or for both, uid and mail:
 
-Q: Is it possible to login with the users mail address too? 
+    --- 
+    <location 
+        ...
+        loginAttribute="uid,mail"
+    ---
 
-A: Yes, just add the following line to your gosa.conf:
 
-   |--> 
-   <location 
-    ...
-    loginAttribute="mail"
-   |<--
+Q:  GOsa doesn't seem to follow my referrals. What can I do? 
 
-   or for both, uid and mail:
+A:  Place the option 'ldapFollowReferrals = "true"' inside your locations definition
+    and you should be fine.
 
-   |--> 
-   <location 
-    ...
-    loginAttribute="uid,mail"
-   |<--
 
+Q:  GOsa is not in my native language, can I translate it to my language? 
 
+    Yes. Just go to the locale directory and copy the messages.po file somewhere
+    else. (Translation is splitted into core and plugin translation files). 
+    Edit the copy and put your translations into the msgstr lines. To be
+    included in next GOsa releases, you may want to send it to the GOsa maintainer.
+    Finally you need to create a directory with your language code. (i.e. de for
+    german) containing the LC_MESSAGES directory. Move your messages.po file there
+    and run 'msgfmt messages.po' in that directory. That's it.
 
+    You may need to restart apache, depending on your setup. On Debian, be sure
+    to have your locale generated (dpkg-reconfigure locales) before.
diff --git a/gosa-core/README b/gosa-core/README
index 3d1b0cf..4368e2e 100644
--- a/gosa-core/README
+++ b/gosa-core/README
@@ -1,4 +1,4 @@
-GOsa 2.6 README
+GOsa 2.7 README
 ===============
 
 * Information
diff --git a/gosa-core/README.ldap b/gosa-core/README.ldap
new file mode 100644
index 0000000..65e295b
--- /dev/null
+++ b/gosa-core/README.ldap
@@ -0,0 +1,36 @@
+OpenLDAP setup using cn=config
+==============================
+
+In order to include additional schema files into your cn=config driven
+LDAP setup, add the required schema files this way:
+
+# ldapadd -Y EXTERNAL -H ldapi:/// -f your_schema_file.ldif
+
+The GOsa schema packages include .schema and .ldif versions of the
+schema files.
+
+This for loop might help when adding schema files to a (nearly) fully
+stuffed installation:
+
+8<----------------------------------------------------------------------------
+for schema in \
+	gosa/samba3.ldif \
+	gosa/gosystem.ldif \
+	gosa/gofon.ldif \
+	gosa/gofax.ldif \
+	gosa/goto.ldif \
+	gosa/goserver.ldif \
+	gosa/gosa-samba3.ldif \
+	gosa/goto-mime.ldif \
+	gosa/trust.ldif \
+	gosa/pureftpd.ldif \
+	gosa/fai.ldif \
+	gosa/sudo.ldif \
+	gosa/openssh-lpk.ldif \
+	gosa/nagios.ldif \
+	gosa/kolab2.ldif \
+	dyngroup.ldif; do
+
+	ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/$schema || exit 1
+done
+8<----------------------------------------------------------------------------
diff --git a/gosa-core/bin/gosa-encrypt-passwords b/gosa-core/bin/gosa-encrypt-passwords
index 7d5c69d..06d9023 100755
--- a/gosa-core/bin/gosa-encrypt-passwords
+++ b/gosa-core/bin/gosa-encrypt-passwords
@@ -113,8 +113,6 @@ Alias /gosa /usr/share/gosa/html
   php_admin_flag allow_call_time_pass_reference off
   php_admin_flag expose_php off
   php_admin_flag zend.ze1_compatibility_mode off
-  php_admin_flag register_long_arrays off
-  php_admin_flag magic_quotes_gpc on
   include /etc/gosa/gosa.secrets
 </Location>
 
diff --git a/gosa-core/contrib/artwork/GOsa-logo.eps b/gosa-core/contrib/artwork/GOsa-logo.eps
index adfab24..558df37 100644
--- a/gosa-core/contrib/artwork/GOsa-logo.eps
+++ b/gosa-core/contrib/artwork/GOsa-logo.eps
@@ -1,4 +1,7325 @@
-%!PS-Adobe-3.1 EPSF-3.0
%ADO_DSC_Encoding: MacOS Roman
%%Title: GOsa-logo.eps
%%Creator: Adobe Illustrator(R) 12
%%AI8_CreatorVersion: 12.0.1
%AI9_PrintingDataBegin
%%For: stephan heller
%%CreationDate: 09.02.2009
%%BoundingBox: 0 0 1191 347
%%HiResBoundingBox: 0 0 1190.5879 346.9991
%%CropBox: 0 0 1190.5879 346.9991
%%LanguageLevel: 2
%%DocumentData: Clean7Bit
%%Pages: 1
%%DocumentNeededResources: 
%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0
%%+ procset Adobe_CoolType_Utility_T42 1.0 0
%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.19 0
%%+ procset Adobe_CoolType_Core 2.23 0
%%+ procset Adobe_AGM_Core 2.0 0
%%+ procset Adobe_AGM_Utils 1.0 0
%%DocumentFonts: 
%%DocumentNeededFonts: 
%%DocumentNeededFeatures: 
%%DocumentSuppliedFeatures: 
%%DocumentProcessColors:  Cyan Magenta Yellow Black
%%DocumentCustomColors: 
%%CMYKCustomColor: 
%%RGBCustomColor: 
%ADO_BuildNumber: Adobe Illustrator(R) 12.0.1 x5205 R agm 4.3861 ct 5.530
%ADO_ContainsXMP: MainFirst
%AI7_Thumbnail: 128 40 8
%%BeginData: 6528 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FDFCFFFDFCFFFD96FFA8A9A8A8A8FD1DFFA8A87EA87EA9A8AFA8FD
%0FFFA87E5354535353A8A8FD3AFFAFA8535328FD04295A7EFD17FF7E5329
%2F2929282929292853FD0DFF7E2F29282928292829285353AFFD37FF7E53
%01292829282928290129297EAFFD11FFA853282928292829282928292829
%2FFD0BFF7E53062928292829282928292829287EFD35FF53292853292928
%292929285329292854A9FD0FFF7E2F2853292F2953292F2953292F287EFD
%0AFF7E29292F2953292F2953292F29532929287EFD33FF29292829282929
%53537E5353062928290653A8FD0DFF532928292829282928292829282928
%2953FD09FF532928292829282928292829282928292829017EFD32FF5328
%2F28537EFD06FFA853FD0429FD0DFF7E292853292928532929282F292928
%2F287EFD08FF592929292853292928292829282F29292853292928AFFD32
%FF53017EA8FD09FF592928A9FD0CFF7E2928292829282928290629282928
%2906297EFD07FF7E292829282928292853537E7D53282928292829282953
%FD22FFA87EA9FD0DFFA8A8FFFFFFA953532F547EFFFFFF7EA9FD0CFFA853
%2953295329532829537E7EA97EA87EA97EFD08FF532853292F29292FA9FD
%05FFA929292953292F2953FD20FFA85328292954A9FD09FFA92FFFFFFFA8
%53062928292829287EFFFFFF7E7EFD0AFF5306292829282928537EFD10FF
%A828292829282928FD08FFA828292829282906A8FD1EFFA8290629532901
%53FD08FFA92829FFFFA95328292853292928292884FFFF53297EFD09FF29
%292853292F2853A9FD11FF532929292853287EFD09FF5329292853292953
%FD1EFFA828297EFF532953FD07FFA9282929FFFF53012928292829282928
%2928A9FF7E01297EFD07FF53292829282928297EFFFFFFA8FFA8FFA8FFA8
%FFA8FFA8FFA8FFA82928292829282FA8FD09FF5329282928292853FD1EFF
%A8A97EFFA82F0153FD07FF29292854FFA9287E29292953295328537E2953
%FF7E292853A8FD06FF53292F2953292953FD04FF7E2F532F5353532F5353
%53297EFF842853292F292953FD0AFFA8282F2953292953FD07FFA9FD19FF
%A953282984FD06FF2929282928A82F287EFF2829282928297EFF28297E54
%28292829A8FD04FFA928292829282928A8FD04FF28292829282928292829
%282953FF53292829282906A8FD0AFF7E29282928292853FD04FF7E7E5353
%295353A9FD06FFA87E5353295353A9FD06FF7E2906297DFD06FFFD042953
%A97EA9A8FFFFAF292928537EFFFFA9A8A8A87E29292853A8FFFFFF7E2928
%5329292853FD04FFA92F28532929285329292853287EFF53292928532929
%A8FD0AFFA828532929282953FFFFFF532928292829282929A8FD04FF7E53
%282928292929287EFD04FF7E292853A8FD06FF29292829017EFD07FF7E28
%2953FD07FF7E2928290153FFFFFF7E06292829282953FD04FFA928292829
%282928292829282953FF28292829282928FD0BFF7E29282928290654FFFF
%5329282929532929282928A9FFFF7E290629282F2829282928AFFFFF7E29
%28297EFFA8FD05FFA9FD04297EFFA8FD05FF53292953A8FD06FFA8292F28
%2FA8FFFFFF7E292953292F287EFD04FFA8292953292F2953292F2953287E
%FF53292F29532953FD0BFF7E2853292F29297EFFA82F29297EFFFFFF5929
%29297EFFFF53282929A9FFFF532929297EFFA953292929532953A9FD05FF
%A9282928292FA85329A8FF29292829282FA8FF292F7E53282928297EFD04
%FF7E06292829282953FD04FF840129012928292829282928297EFF282928
%29282929FD0BFF53292829282906A8FF7E0629287EFD04FF7EA8A8FFFFFF
%7EA87DA8FFFFFFA928290684FFA8282F2829282953FD07FFA929292853FF
%A8017E53292853292F28537E2929FF7E2928297EFD05FF7E292929285329
%53A9FFFFFF7E54537E537E2F292853292928A9FF53285329292853A9FD09
%FFA853292928532929A8FF8429282F297E7EFD0FFF532929297EFFFFFFA8
%FFA9FFA8FD09FFA8282929FFFF530129282928292829282906A8FF7E0629
%53FD06FFA8062928292829287EFD09FF7E282928292829A8FF2929282928
%2901A8FD09FF7E01292829282953FFFFFF2929282906292853A8FD05FFA8
%7E535329532829282928A8FD12FFA82853FFFFA82929532953292F295328
%7EFFFF7E297EFD07FFA853292F2953292929FD09FF2929295329292FFFFF
%7E2853292F292953FD09FF2953292F295328A8FFFFFFA92929292F292F28
%297EFFFFFFA85328290629282F29532953FD14FF7E28FFFFFF7E29282928
%2928290154FFFFFF7E53FD09FF292928292829282929FD07FF5329282928
%29287EFFFF7E292829282928297EFD07FF2929282928292853FD06FF7D53
%2829282928297EFFA92F062928537EA9A82F282953FD15FFA9A87EFFFFA8
%7E29292853537EFFFF7EA8A8FD0AFF7E2853292928532929297EA8FFA8A8
%5329285329292829A8FFFFFF29292853292928297EFFA9FFA9A8FD042928
%5329297EFD08FFA959532853287EFFA9282928A9FD04FF29292884FD16FF
%530153A8FFFFFFA8A8A8FFFFFF7E2928A9FD0AFFA8292829282928292829
%01292829062928292829282929FD04FF7E0629282928292829282F282F28
%2928292829282953FFFFFF7E7E53A8FD04FF7E29282953FF7D292853FD04
%FF7D2928297EFD15FF53285329537EFD06FFA953FD0429FD0BFF7E292953
%2953292F2953292F2953292F2953292928A9FD04FFAF532853292F295329
%2F282F292F2953292F292953FFFFFFA829282929FD04FF842853287EFFA8
%282929FFFFFFA853292929FD16FF2929282928292853537E535328292829
%2829A8FD0BFF532928292829282928292829282928292829067EFD06FF7E
%292829282928292829282928292829282929FD05FF53292829297E595428
%292829A8FF7E292829297E59290629282FA9FD16FF532928532929282928
%29282F29292853A8FD0DFF7E292829285329292853292928532929287EFD
%08FF7E29282F29292853292928532929282953FD07FF5329282928292829
%282F84FFFFFFFD042901292953282929FD18FF7D29012928292829282928
%29287EA8FD0FFF8453282906292829282928290629287EFD0AFFA8530129
%2829282928292829062F7DFD09FF7D5328292829287EA8FD04FFA9292928
%2953A97E292853A8FD18FFA87E532F28292929285359A9FD13FFA9595429
%29282F292929547EFD0EFFA95353292F29292953537EA9FD0DFFA8A9A8FD
%09FFA8A9A8FFFFFFAFFD1EFFA8A87EA87EA9A8FD19FFA8A87EA9A8FD13FF
%A9A97EA9A8A9A8FDFCFFFDFCFFFDFCFFFD3EFFFF
%%EndData
%%EndComments
%%BeginDefaults
%%ViewingOrientation: 1 0 0 1
%%EndDefaults
%%BeginProlog
%%BeginResource: procset Adobe_AGM_Utils 1.0 0
%%Version: 1.0 0
%%Copyright: Copyright (C) 2000-2003 Adobe Systems, Inc.  All Rights Reserved.
systemdict /setpacking known
{
	currentpacking
	true setpacking
} if
userdict /Adobe_AGM_Utils 70 dict dup begin put
/bdf
{
	bind def
} bind def
/nd{
	null def
}bdf
/xdf
{
	exch def
}bdf
/ldf 
{
	load def
}bdf
/ddf
{
	put
}bdf	
/xddf
{
	3 -1 roll put
}bdf	
/xpt
{
	exch put
}bdf
/ndf
{ 
	exch dup where{
		pop pop pop
	}{
		xdf
	}ifelse
}def
/cdndf
{
	exch dup currentdict exch known{
		pop pop
	}{
		exch def
	}ifelse
}def
/ps_level
	/languagelevel where{
		pop systemdict /languagelevel get exec
	}{
		1
	}ifelse
def
/level2 
	ps_level 2 ge
def
/level3 
	ps_level 3 ge
def
/ps_version
	{version cvr} stopped {
		-1
	}if
def
/set_gvm
{
	currentglobal exch setglobal
}bdf
/reset_gvm
{
	setglobal
}bdf
/makereadonlyarray
{
	/packedarray where{
		pop packedarray
	}{
		array astore readonly
	}ifelse
}bdf
/map_reserved_ink_name
{
	dup type /stringtype eq{
		dup /Red eq{
			pop (_Red_)
		}{
			dup /Green eq{
				pop (_Green_)
			}{
				dup /Blue eq{
					pop (_Blue_)
				}{
					dup () cvn eq{
						pop (Process)
					}if
				}ifelse
			}ifelse
		}ifelse
	}if
}bdf
/AGMUTIL_GSTATE 22 dict def
/get_gstate
{
	AGMUTIL_GSTATE begin
	/AGMUTIL_GSTATE_clr_spc currentcolorspace def
	/AGMUTIL_GSTATE_clr_indx 0 def
	/AGMUTIL_GSTATE_clr_comps 12 array def
	mark currentcolor counttomark
		{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put
		/AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def} repeat pop
	/AGMUTIL_GSTATE_fnt rootfont def
	/AGMUTIL_GSTATE_lw currentlinewidth def
	/AGMUTIL_GSTATE_lc currentlinecap def
	/AGMUTIL_GSTATE_lj currentlinejoin def
	/AGMUTIL_GSTATE_ml currentmiterlimit def
	currentdash /AGMUTIL_GSTATE_do xdf /AGMUTIL_GSTATE_da xdf
	/AGMUTIL_GSTATE_sa currentstrokeadjust def
	/AGMUTIL_GSTATE_clr_rnd currentcolorrendering def
	/AGMUTIL_GSTATE_op currentoverprint def
	/AGMUTIL_GSTATE_bg currentblackgeneration cvlit def
	/AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def
	currentcolortransfer cvlit /AGMUTIL_GSTATE_gy_xfer xdf cvlit /AGMUTIL_GSTATE_b_xfer xdf
		cvlit /AGMUTIL_GSTATE_g_xfer xdf cvlit /AGMUTIL_GSTATE_r_xfer xdf
	/AGMUTIL_GSTATE_ht currenthalftone def
	/AGMUTIL_GSTATE_flt currentflat def
	end
}def
/set_gstate
{
	AGMUTIL_GSTATE begin
	AGMUTIL_GSTATE_clr_spc setcolorspace
	AGMUTIL_GSTATE_clr_indx {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get
	/AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def} repeat setcolor
	AGMUTIL_GSTATE_fnt setfont
	AGMUTIL_GSTATE_lw setlinewidth
	AGMUTIL_GSTATE_lc setlinecap
	AGMUTIL_GSTATE_lj setlinejoin
	AGMUTIL_GSTATE_ml setmiterlimit
	AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash
	AGMUTIL_GSTATE_sa setstrokeadjust
	AGMUTIL_GSTATE_clr_rnd setcolorrendering
	AGMUTIL_GSTATE_op setoverprint
	AGMUTIL_GSTATE_bg cvx setblackgeneration
	AGMUTIL_GSTATE_ucr cvx setundercolorremoval
	AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx
		AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer
	AGMUTIL_GSTATE_ht /HalftoneType get dup 9 eq exch 100 eq or
		{
		currenthalftone /HalftoneType get AGMUTIL_GSTATE_ht /HalftoneType get ne
			{
			  mark AGMUTIL_GSTATE_ht {sethalftone} stopped cleartomark
			} if
		}{
		AGMUTIL_GSTATE_ht sethalftone
		} ifelse
	AGMUTIL_GSTATE_flt setflat
	end
}def
/get_gstate_and_matrix
{
	AGMUTIL_GSTATE begin
	/AGMUTIL_GSTATE_ctm matrix currentmatrix def
	end
	get_gstate
}def
/set_gstate_and_matrix
{
	set_gstate
	AGMUTIL_GSTATE begin
	AGMUTIL_GSTATE_ctm setmatrix
	end
}def
/AGMUTIL_str256 256 string def
/AGMUTIL_src256 256 string def
/AGMUTIL_dst64 64 string def
/AGMUTIL_srcLen nd
/AGMUTIL_ndx nd
/thold_halftone
{ 
	level3
		{sethalftone currenthalftone}
		{
			dup /HalftoneType get 3 eq
			{
				sethalftone currenthalftone
			}
			{
				begin
				Width Height mul {
					Thresholds read {pop} if
				} repeat
				end
				currenthalftone
			} ifelse
		}ifelse
} def 
/rdcmntline
{
	currentfile AGMUTIL_str256 readline pop
	(%) anchorsearch {pop} if
} bdf
/filter_cmyk
{	
	dup type /filetype ne{
		exch () /SubFileDecode filter
	}
	{
		exch pop
	}
	ifelse
	[
	exch
	{
		AGMUTIL_src256 readstring pop
		dup length /AGMUTIL_srcLen exch def
		/AGMUTIL_ndx 0 def
		AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{
			1 index exch get
			AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put
			/AGMUTIL_ndx AGMUTIL_ndx 1 add def
		}for
		pop
		AGMUTIL_dst64 0 AGMUTIL_ndx getinterval
	}
	bind
	/exec cvx
	] cvx
} bdf
/filter_indexed_devn
{
	cvi Names length mul names_index add Lookup exch get
} bdf
/filter_devn
{	
	4 dict begin
	/srcStr xdf
	/dstStr xdf
	dup type /filetype ne{
		0 () /SubFileDecode filter
	}if
	[
	exch
		[
			/devicen_colorspace_dict /AGMCORE_gget cvx /begin cvx
			currentdict /srcStr get /readstring cvx /pop cvx
			/dup cvx /length cvx 0 /gt cvx [
				Adobe_AGM_Utils /AGMUTIL_ndx 0 /ddf cvx
				names_index Names length currentdict /srcStr get length 1 sub {
					1 /index cvx /exch cvx /get cvx
					currentdict /dstStr get /AGMUTIL_ndx /load cvx 3 -1 /roll cvx /put cvx
					Adobe_AGM_Utils /AGMUTIL_ndx /AGMUTIL_ndx /load cvx 1 /add cvx /ddf cvx
				} for
				currentdict /dstStr get 0 /AGMUTIL_ndx /load cvx /getinterval cvx
			] cvx /if cvx
			/end cvx
		] cvx
		bind
		/exec cvx
	] cvx
	end
} bdf
/AGMUTIL_imagefile nd
/read_image_file
{
	AGMUTIL_imagefile 0 setfileposition
	10 dict begin
	/imageDict xdf
	/imbufLen Width BitsPerComponent mul 7 add 8 idiv def
	/imbufIdx 0 def
	/origDataSource imageDict /DataSource get def
	/origMultipleDataSources imageDict /MultipleDataSources get def
	/origDecode imageDict /Decode get def
	/dstDataStr imageDict /Width get colorSpaceElemCnt mul string def
	imageDict /MultipleDataSources known {MultipleDataSources}{false} ifelse
	{
		/imbufCnt imageDict /DataSource get length def
		/imbufs imbufCnt array def
		0 1 imbufCnt 1 sub {
			/imbufIdx xdf
			imbufs imbufIdx imbufLen string put
			imageDict /DataSource get imbufIdx [ AGMUTIL_imagefile imbufs imbufIdx get /readstring cvx /pop cvx ] cvx put
		} for
		DeviceN_PS2 {
			imageDict begin
		 	/DataSource [ DataSource /devn_sep_datasource cvx ] cvx def
			/MultipleDataSources false def
			/Decode [0 1] def
			end
		} if
	}{
		/imbuf imbufLen string def
		Indexed_DeviceN level3 not and DeviceN_NoneName or {
			/srcDataStrs [ imageDict begin
				currentdict /MultipleDataSources known {MultipleDataSources {DataSource length}{1}ifelse}{1} ifelse
				{
					Width Decode length 2 div mul cvi string
				} repeat
				end ] def		
			imageDict begin
		 	/DataSource [AGMUTIL_imagefile Decode BitsPerComponent false 1 /filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource /exec cvx] cvx def
			/Decode [0 1] def
			end
		}{
			imageDict /DataSource [1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx /pop cvx names_index /get cvx /put cvx] cvx put
			imageDict /Decode [0 1] put
		} ifelse
	} ifelse
	imageDict exch
	load exec
	imageDict /DataSource origDataSource put
	imageDict /MultipleDataSources origMultipleDataSources put
	imageDict /Decode origDecode put	
	end
} bdf
/write_image_file
{
	begin
	{ (AGMUTIL_imagefile) (w+) file } stopped{
		false
	}{
		Adobe_AGM_Utils/AGMUTIL_imagefile xddf 
		2 dict begin
		/imbufLen Width BitsPerComponent mul 7 add 8 idiv def
		MultipleDataSources {DataSource 0 get}{DataSource}ifelse type /filetype eq {
			/imbuf imbufLen string def
		}if
		1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ 
			pop
			MultipleDataSources {
			 	0 1 DataSource length 1 sub {
					DataSource type dup
					/arraytype eq {
						pop DataSource exch get exec
					}{
						/filetype eq {
							DataSource exch get imbuf readstring pop
						}{
							DataSource exch get
						} ifelse
					} ifelse
					AGMUTIL_imagefile exch writestring
				} for
			}{
				DataSource type dup
				/arraytype eq {
					pop DataSource exec
				}{
					/filetype eq {
						DataSource imbuf readstring pop
					}{
						DataSource
					} ifelse
				} ifelse
				AGMUTIL_imagefile exch writestring
			} ifelse
		}for
		end
		true
	}ifelse
	end
} bdf
/close_image_file
{
	AGMUTIL_imagefile closefile (AGMUTIL_imagefile) deletefile
}def
statusdict /product known userdict /AGMP_current_show known not and{
	/pstr statusdict /product get def
	pstr (HP LaserJet 2200) eq 	
	pstr (HP LaserJet 4000 Series) eq or
	pstr (HP LaserJet 4050 Series ) eq or
	pstr (HP LaserJet 8000 Series) eq or
	pstr (HP LaserJet 8100 Series) eq or
	pstr (HP LaserJet 8150 Series) eq or
	pstr (HP LaserJet 5000 Series) eq or
	pstr (HP LaserJet 5100 Series) eq or
	pstr (HP Color LaserJet 4500) eq or
	pstr (HP Color LaserJet 4600) eq or
	pstr (HP LaserJet 5Si) eq or
	pstr (HP LaserJet 1200 Series) eq or
	pstr (HP LaserJet 1300 Series) eq or
	pstr (HP LaserJet 4100 Series) eq or 
	{
 		userdict /AGMP_current_show /show load put
		userdict /show {
		  currentcolorspace 0 get
		  /Pattern eq
		  {false charpath f}
		  {AGMP_current_show} ifelse
		} put
	}if
	currentdict /pstr undef
} if
/consumeimagedata
{
	begin
	currentdict /MultipleDataSources known not
		{/MultipleDataSources false def} if
	MultipleDataSources
		{
		DataSource 0 get type
		dup /filetype eq
			{
			1 dict begin
			/flushbuffer Width cvi string def
			1 1 Height cvi
				{
				pop
				0 1 DataSource length 1 sub
					{
					DataSource exch get
					flushbuffer readstring pop pop
					}for
				}for
			end
			}if
		dup /arraytype eq exch /packedarraytype eq or DataSource 0 get xcheck and
			{
			Width Height mul cvi
				{
				0 1 DataSource length 1 sub
					{dup DataSource exch get exec length exch 0 ne {pop}if}for
				dup 0 eq
					{pop exit}if
				sub dup 0 le
					{exit}if
				}loop
			pop
			}if		
		}
		{
		/DataSource load type 
		dup /filetype eq
			{
			1 dict begin
			/flushbuffer Width Decode length 2 idiv mul cvi string def
			1 1 Height { pop DataSource flushbuffer readstring pop pop} for
			end
			}if
		dup /arraytype eq exch /packedarraytype eq or /DataSource load xcheck and
			{
				Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul
					{
					DataSource length dup 0 eq
						{pop exit}if
					sub dup 0 le
						{exit}if
					}loop
				pop
			}if
		}ifelse
	end
}bdf
/addprocs
{
	  2{/exec load}repeat
	  3 1 roll
	  [ 5 1 roll ] bind cvx
}def
/modify_halftone_xfer
{
	currenthalftone dup length dict copy begin
	 currentdict 2 index known{
	 	1 index load dup length dict copy begin
		currentdict/TransferFunction known{
			/TransferFunction load
		}{
			currenttransfer
		}ifelse
		 addprocs /TransferFunction xdf 
		 currentdict end def
		currentdict end sethalftone
	}{ 
		currentdict/TransferFunction known{
			/TransferFunction load 
		}{
			currenttransfer
		}ifelse
		addprocs /TransferFunction xdf
		currentdict end sethalftone		
		pop
	}ifelse
}def
/clonearray
{
	dup xcheck exch
	dup length array exch
	Adobe_AGM_Core/AGMCORE_tmp -1 ddf 
	{
	Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf 
	dup type /dicttype eq
		{
			Adobe_AGM_Core/AGMCORE_tmp get
			exch
			clonedict
			Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf 
		} if
	dup type /arraytype eq
		{
			Adobe_AGM_Core/AGMCORE_tmp get exch
			clonearray
			Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf 
		} if
	exch dup
	Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put
	}forall
	exch {cvx} if
}bdf
/clonedict
{
	dup length dict
	begin
		{
		dup type /dicttype eq
			{
				clonedict
			} if
		dup type /arraytype eq
			{
				clonearray
			} if
		def
		}forall
	currentdict
	end
}bdf
/DeviceN_PS2
{
	/currentcolorspace AGMCORE_gget 0 get /DeviceN eq level3 not and
} bdf
/Indexed_DeviceN
{ 
	/indexed_colorspace_dict AGMCORE_gget dup null ne {
		dup /CSDBase known {
			/CSDBase get /CSD get_res /Names known 
		}{
			pop false
		}ifelse
	}{
		pop false
	} ifelse
} bdf
/DeviceN_NoneName
{	
	/Names where {
		pop
		false Names
		{
			(None) eq or
		} forall
	}{
		false
	}ifelse
} bdf
/DeviceN_PS2_inRip_seps
{
	/AGMCORE_in_rip_sep where
	{
		pop dup type dup /arraytype eq exch /packedarraytype eq or
		{
			dup 0 get /DeviceN eq level3 not and AGMCORE_in_rip_sep and
			{
				/currentcolorspace exch AGMCORE_gput
				false
			}
			{
				true
			}ifelse
		}
		{
			true
		} ifelse
	}
	{
		true
	} ifelse
} bdf
/base_colorspace_type
{
	dup type /arraytype eq {0 get} if
} bdf
/currentdistillerparams where { pop currentdistillerparams /CoreDistVersion get 5000 lt}{true}ifelse
{
	/pdfmark_5 {cleartomark} bind def
}{
	/pdfmark_5 {pdfmark} bind def
}ifelse
/ReadBypdfmark_5
{
	2 dict begin
	/makerString exch def string /tmpString exch def
	{
		currentfile tmpString readline pop
		makerString anchorsearch
		{
		pop pop cleartomark exit
		}{
			3 copy /PUT pdfmark_5 pop 2 copy (\n) /PUT pdfmark_5
		} ifelse
	}loop
	end
} bdf
/doc_setup{
	Adobe_AGM_Utils begin
}bdf
/doc_trailer{
	currentdict Adobe_AGM_Utils eq{
		end
	}if
}bdf
systemdict /setpacking known
{
	setpacking
} if
%%EndResource
%%BeginResource: procset Adobe_AGM_Core 2.0 0
%%Version: 2.0 0
%%Copyright: Copyright (C) 1997-2005 Adobe Systems, Inc.  All Rights Reserved.
%% Note: This procset assumes Adobe_AGM_Utils is opened on the stack below it, for
%% definitions of some fundamental procedures.
systemdict /setpacking known
{
	currentpacking
	true setpacking
} if
userdict /Adobe_AGM_Core 201 dict dup begin put
/Adobe_AGM_Core_Id /Adobe_AGM_Core_2.0_0 def
/AGMCORE_str256 256 string def
/AGMCORE_save nd
/AGMCORE_graphicsave nd
/AGMCORE_c 0 def
/AGMCORE_m 0 def
/AGMCORE_y 0 def
/AGMCORE_k 0 def
/AGMCORE_cmykbuf 4 array def
/AGMCORE_screen [currentscreen] cvx def
/AGMCORE_tmp 0 def
/AGMCORE_&setgray nd
/AGMCORE_&setcolor nd
/AGMCORE_&setcolorspace nd
/AGMCORE_&setcmykcolor nd
/AGMCORE_cyan_plate nd
/AGMCORE_magenta_plate nd
/AGMCORE_yellow_plate nd
/AGMCORE_black_plate nd
/AGMCORE_plate_ndx nd
/AGMCORE_get_ink_data nd
/AGMCORE_is_cmyk_sep nd
/AGMCORE_host_sep nd
/AGMCORE_avoid_L2_sep_space nd
/AGMCORE_distilling nd
/AGMCORE_composite_job nd
/AGMCORE_producing_seps nd
/AGMCORE_ps_level -1 def
/AGMCORE_ps_version -1 def
/AGMCORE_environ_ok nd
/AGMCORE_CSD_cache 0 dict def
/AGMCORE_currentoverprint false def
/AGMCORE_deltaX nd
/AGMCORE_deltaY nd
/AGMCORE_name nd
/AGMCORE_sep_special nd
/AGMCORE_err_strings 4 dict def
/AGMCORE_cur_err nd
/AGMCORE_current_spot_alias false def
/AGMCORE_inverting false def
/AGMCORE_feature_dictCount nd
/AGMCORE_feature_opCount nd
/AGMCORE_feature_ctm nd
/AGMCORE_ConvertToProcess false def
/AGMCORE_Default_CTM matrix def
/AGMCORE_Default_PageSize nd
/AGMCORE_currentbg nd
/AGMCORE_currentucr nd
/AGMCORE_in_pattern false def
/AGMCORE_currentpagedevice nd
/knockout_unitsq nd
currentglobal true setglobal
[/CSA /Gradient /Procedure]
{
	/Generic /Category findresource dup length dict copy /Category defineresource pop
} forall
setglobal
/AGMCORE_key_known
{
	where{
		/Adobe_AGM_Core_Id known
	}{
		false
	}ifelse
}ndf
/flushinput
{
	save
	2 dict begin
	/CompareBuffer 3 -1 roll def
	/readbuffer 256 string def
	mark
	{
	currentfile readbuffer {readline} stopped
		{cleartomark mark}
		{
		not
			{pop exit}
		if
		CompareBuffer eq
			{exit}
		if
		}ifelse
	}loop
	cleartomark
	end
	restore
}bdf
/getspotfunction
{
	AGMCORE_screen exch pop exch pop
	dup type /dicttype eq{
		dup /HalftoneType get 1 eq{
			/SpotFunction get
		}{
			dup /HalftoneType get 2 eq{
				/GraySpotFunction get
			}{ 
				pop
				{
					abs exch abs 2 copy add 1 gt{
						1 sub dup mul exch 1 sub dup mul add 1 sub
					}{
						dup mul exch dup mul add 1 exch sub
					}ifelse
				}bind
			}ifelse
		}ifelse
	}if
} def
/clp_npth
{
	clip newpath
} def
/eoclp_npth
{
	eoclip newpath
} def
/npth_clp
{
	newpath clip
} def
/graphic_setup
{
	/AGMCORE_graphicsave save def
	concat
	0 setgray
	0 setlinecap
	0 setlinejoin
	1 setlinewidth
	[] 0 setdash
	10 setmiterlimit
	newpath
	false setoverprint
	false setstrokeadjust
	//Adobe_AGM_Core/spot_alias get exec
	/Adobe_AGM_Image where {
		pop
		Adobe_AGM_Image/spot_alias 2 copy known{
			get exec
		}{
			pop pop
		}ifelse
	} if
	100 dict begin
	/dictstackcount countdictstack def
	/showpage {} def
	mark
} def
/graphic_cleanup
{
	cleartomark
	dictstackcount 1 countdictstack 1 sub {end}for
	end
	AGMCORE_graphicsave restore
} def
/compose_error_msg
{
	grestoreall initgraphics	
	/Helvetica findfont 10 scalefont setfont
	/AGMCORE_deltaY 100 def
	/AGMCORE_deltaX 310 def
	clippath pathbbox newpath pop pop 36 add exch 36 add exch moveto
	0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto
	0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath
	0 AGMCORE_&setgray
	gsave 1 AGMCORE_&setgray fill grestore 
	1 setlinewidth gsave stroke grestore
	currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto
	/AGMCORE_deltaY 12 def
	/AGMCORE_tmp 0 def
	AGMCORE_err_strings exch get
		{
		dup 32 eq
			{
			pop
			AGMCORE_str256 0 AGMCORE_tmp getinterval
			stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt
				{
				currentpoint AGMCORE_deltaY sub exch pop
				clippath pathbbox pop pop pop 44 add exch moveto
				} if
			AGMCORE_str256 0 AGMCORE_tmp getinterval show ( ) show
			0 1 AGMCORE_str256 length 1 sub
				{
				AGMCORE_str256 exch 0 put
				}for
			/AGMCORE_tmp 0 def
			}
			{
				AGMCORE_str256 exch AGMCORE_tmp xpt
				/AGMCORE_tmp AGMCORE_tmp 1 add def
			} ifelse
		} forall
} bdf
/doc_setup{
	Adobe_AGM_Core begin
	/AGMCORE_ps_version xdf
	/AGMCORE_ps_level xdf
	errordict /AGM_handleerror known not{
		errordict /AGM_handleerror errordict /handleerror get put
		errordict /handleerror {
			Adobe_AGM_Core begin
			$error /newerror get AGMCORE_cur_err null ne and{
				$error /newerror false put
				AGMCORE_cur_err compose_error_msg
			}if
			$error /newerror true put
			end
			errordict /AGM_handleerror get exec
			} bind put
		}if
	/AGMCORE_environ_ok 
		ps_level AGMCORE_ps_level ge
		ps_version AGMCORE_ps_version ge and 
		AGMCORE_ps_level -1 eq or
	def
	AGMCORE_environ_ok not
		{/AGMCORE_cur_err /AGMCORE_bad_environ def} if
	/AGMCORE_&setgray systemdict/setgray get def
	level2{
		/AGMCORE_&setcolor systemdict/setcolor get def
		/AGMCORE_&setcolorspace systemdict/setcolorspace get def
	}if
	/AGMCORE_currentbg currentblackgeneration def
	/AGMCORE_currentucr currentundercolorremoval def
	/AGMCORE_distilling
		/product where{
			pop systemdict/setdistillerparams known product (Adobe PostScript Parser) ne and
		}{
			false
		}ifelse
	def
	/AGMCORE_GSTATE AGMCORE_key_known not{
		/AGMCORE_GSTATE 21 dict def
		/AGMCORE_tmpmatrix matrix def
		/AGMCORE_gstack 32 array def
		/AGMCORE_gstackptr 0 def
		/AGMCORE_gstacksaveptr 0 def
		/AGMCORE_gstackframekeys 10 def
		/AGMCORE_&gsave /gsave ldf
		/AGMCORE_&grestore /grestore ldf
		/AGMCORE_&grestoreall /grestoreall ldf
		/AGMCORE_&save /save ldf
		/AGMCORE_&setoverprint /setoverprint ldf
		/AGMCORE_gdictcopy {
			begin
			{ def } forall
			end
		}def
		/AGMCORE_gput {
			AGMCORE_gstack AGMCORE_gstackptr get
			3 1 roll
			put
		}def
		/AGMCORE_gget {
			AGMCORE_gstack AGMCORE_gstackptr get
			exch
			get
		}def
		/gsave {
			AGMCORE_&gsave
			AGMCORE_gstack AGMCORE_gstackptr get
			AGMCORE_gstackptr 1 add
			dup 32 ge {limitcheck} if
			/AGMCORE_gstackptr exch store
			AGMCORE_gstack AGMCORE_gstackptr get
			AGMCORE_gdictcopy
		}def
		/grestore {
			AGMCORE_&grestore
			AGMCORE_gstackptr 1 sub
			dup AGMCORE_gstacksaveptr lt {1 add} if
			dup AGMCORE_gstack exch get dup /AGMCORE_currentoverprint known
				{/AGMCORE_currentoverprint get setoverprint}{pop}ifelse
			/AGMCORE_gstackptr exch store
		}def
		/grestoreall {
			AGMCORE_&grestoreall
			/AGMCORE_gstackptr AGMCORE_gstacksaveptr store 
		}def
		/save {
			AGMCORE_&save
			AGMCORE_gstack AGMCORE_gstackptr get
			AGMCORE_gstackptr 1 add
			dup 32 ge {limitcheck} if
			/AGMCORE_gstackptr exch store
			/AGMCORE_gstacksaveptr AGMCORE_gstackptr store
			AGMCORE_gstack AGMCORE_gstackptr get
			AGMCORE_gdictcopy
		}def
		/setoverprint{
			dup /AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint
		}def	
		0 1 AGMCORE_gstack length 1 sub {
				AGMCORE_gstack exch AGMCORE_gstackframekeys dict put
		} for
	}if
	level3 /AGMCORE_&sysshfill AGMCORE_key_known not and
	{
		/AGMCORE_&sysshfill systemdict/shfill get def
		/AGMCORE_&sysmakepattern systemdict/makepattern get def
		/AGMCORE_&usrmakepattern /makepattern load def
	}if
	/currentcmykcolor [0 0 0 0] AGMCORE_gput
	/currentstrokeadjust false AGMCORE_gput
	/currentcolorspace [/DeviceGray] AGMCORE_gput
	/sep_tint 0 AGMCORE_gput
	/devicen_tints [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] AGMCORE_gput
	/sep_colorspace_dict null AGMCORE_gput
	/devicen_colorspace_dict null AGMCORE_gput
	/indexed_colorspace_dict null AGMCORE_gput
	/currentcolor_intent () AGMCORE_gput
	/customcolor_tint 1 AGMCORE_gput
	<<
	/MaxPatternItem currentsystemparams /MaxPatternCache get
	>>
	setuserparams
	end
}def
/page_setup
{
	/setcmykcolor where{
		pop
		Adobe_AGM_Core/AGMCORE_&setcmykcolor /setcmykcolor load put
	}if
	Adobe_AGM_Core begin
	/setcmykcolor
	{
		4 copy AGMCORE_cmykbuf astore /currentcmykcolor exch AGMCORE_gput
		1 sub 4 1 roll
		3 {
			3 index add neg dup 0 lt {
				pop 0
			} if
			3 1 roll
		} repeat
		setrgbcolor pop
	}ndf
	/currentcmykcolor
	{
		/currentcmykcolor AGMCORE_gget aload pop
	}ndf
	/setoverprint
	{
		pop
	}ndf
	/currentoverprint
	{
		false
	}ndf
	/AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def
	/AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def
	/AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def
	/AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def
	/AGMCORE_plate_ndx 
		AGMCORE_cyan_plate{ 
			0
		}{
			AGMCORE_magenta_plate{
				1
			}{
				AGMCORE_yellow_plate{
					2
				}{
					AGMCORE_black_plate{
						3
					}{
						4
					}ifelse
				}ifelse
			}ifelse
		}ifelse
		def
	/AGMCORE_have_reported_unsupported_color_space false def
	/AGMCORE_report_unsupported_color_space
	{
		AGMCORE_have_reported_unsupported_color_space false eq
		{
			(Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.) ==
			Adobe_AGM_Core /AGMCORE_have_reported_unsupported_color_space true ddf
		} if
	}def
	/AGMCORE_composite_job
		AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def
	/AGMCORE_in_rip_sep
		/AGMCORE_in_rip_sep where{
			pop AGMCORE_in_rip_sep
		}{
			AGMCORE_distilling 
			{
				false
			}{
				userdict/Adobe_AGM_OnHost_Seps known{
					false
				}{
					level2{
						currentpagedevice/Separations 2 copy known{
							get
						}{
							pop pop false
						}ifelse
					}{
						false
					}ifelse
				}ifelse
			}ifelse
		}ifelse
	def
	/AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def
	/AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def
	/AGM_preserve_spots 
		/AGM_preserve_spots where{
			pop AGM_preserve_spots
		}{
			AGMCORE_distilling AGMCORE_producing_seps or
		}ifelse
	def
	/AGM_is_distiller_preserving_spotimages
	{
		currentdistillerparams/PreserveOverprintSettings known
		{
			currentdistillerparams/PreserveOverprintSettings get
				{
					currentdistillerparams/ColorConversionStrategy known
					{
						currentdistillerparams/ColorConversionStrategy get
						/sRGB ne
					}{
						true
					}ifelse
				}{
					false
				}ifelse
		}{
			false
		}ifelse
	}def
	/convert_spot_to_process where {pop}{
		/convert_spot_to_process
		{
			//Adobe_AGM_Core begin
			dup map_alias {
				/Name get exch pop
			} if
			dup dup (None) eq exch (All) eq or
				{
				pop false
				}{
				AGMCORE_host_sep
				{ 
					gsave
					1 0 0 0 setcmykcolor currentgray 1 exch sub
					0 1 0 0 setcmykcolor currentgray 1 exch sub
					0 0 1 0 setcmykcolor currentgray 1 exch sub
					0 0 0 1 setcmykcolor currentgray 1 exch sub
					add add add 0 eq
					{
						pop false
					}{
						false setoverprint
						current_spot_alias false set_spot_alias
						1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor
						set_spot_alias
						currentgray 1 ne
					}ifelse
					grestore
				}{
					AGMCORE_distilling
					{
						pop AGM_is_distiller_preserving_spotimages not
					}{
						//Adobe_AGM_Core/AGMCORE_name xddf
						false
						//Adobe_AGM_Core/AGMCORE_in_pattern known {//Adobe_AGM_Core/AGMCORE_in_pattern get}{false} ifelse
						not AGMCORE_currentpagedevice/OverrideSeparations known and
						{
							AGMCORE_currentpagedevice/OverrideSeparations get
							{
								/HqnSpots /ProcSet resourcestatus
								{
									pop pop pop true
								}if
							}if
						}if					
						{
							AGMCORE_name /HqnSpots /ProcSet findresource /TestSpot get exec not
						}{
							gsave
							[/Separation AGMCORE_name /DeviceGray {}]AGMCORE_&setcolorspace
							false
							AGMCORE_currentpagedevice/SeparationColorNames 2 copy known
							{
								get
								{ AGMCORE_name eq or}forall
								not
							}{
								pop pop pop true
							}ifelse
							grestore
						}ifelse
					}ifelse
				}ifelse
			}ifelse
			end
		}def
	}ifelse
	/convert_to_process where {pop}{
		/convert_to_process
		{
			dup length 0 eq
				{
				pop false
				}{
				AGMCORE_host_sep
				{ 
				dup true exch
					{
					dup (Cyan) eq exch
					dup (Magenta) eq 3 -1 roll or exch
					dup (Yellow) eq 3 -1 roll or exch
					dup (Black) eq 3 -1 roll or
						{pop}
						{convert_spot_to_process and}ifelse
					}
				forall
					{
					true exch
						{
						dup (Cyan) eq exch
						dup (Magenta) eq 3 -1 roll or exch
						dup (Yellow) eq 3 -1 roll or exch
						(Black) eq or and
						}forall
						not
					}{pop false}ifelse
				}{
				false exch
					{
					dup (Cyan) eq exch
					dup (Magenta) eq 3 -1 roll or exch
					dup (Yellow) eq 3 -1 roll or exch
					dup (Black) eq 3 -1 roll or
					{pop}
					{convert_spot_to_process or}ifelse
					}
				forall
				}ifelse
			}ifelse
		}def
	}ifelse	
	/AGMCORE_avoid_L2_sep_space  
		version cvr 2012 lt 
		level2 and 
		AGMCORE_producing_seps not and
	def
	/AGMCORE_is_cmyk_sep
		AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or
	def
	/AGM_avoid_0_cmyk where{
		pop AGM_avoid_0_cmyk
	}{
		AGM_preserve_spots 
		userdict/Adobe_AGM_OnHost_Seps known 
		userdict/Adobe_AGM_InRip_Seps known or
		not and
	}ifelse
	{
		/setcmykcolor[
			{
				4 copy add add add 0 eq currentoverprint and{
					pop 0.0005
				}if
			}/exec cvx
			/AGMCORE_&setcmykcolor load dup type/operatortype ne{
				/exec cvx
			}if
		]cvx def
	}if
	/AGMCORE_IsSeparationAProcessColor
		{
		dup (Cyan) eq exch dup (Magenta) eq exch dup (Yellow) eq exch (Black) eq or or or
		}def
	AGMCORE_host_sep{
		/setcolortransfer
		{ 
			AGMCORE_cyan_plate{
				pop pop pop
			}{
			  	AGMCORE_magenta_plate{
			  		4 3 roll pop pop pop
			  	}{
			  		AGMCORE_yellow_plate{
			  			4 2 roll pop pop pop
			  		}{
			  			4 1 roll pop pop pop
			  		}ifelse
			  	}ifelse
			}ifelse
			settransfer  
		}	
		def
		/AGMCORE_get_ink_data
			AGMCORE_cyan_plate{
				{pop pop pop}
			}{
			  	AGMCORE_magenta_plate{
			  		{4 3 roll pop pop pop}
			  	}{
			  		AGMCORE_yellow_plate{
			  			{4 2 roll pop pop pop}
			  		}{
			  			{4 1 roll pop pop pop}
			  		}ifelse
			  	}ifelse
			}ifelse
		def
		/AGMCORE_RemoveProcessColorNames
			{
			1 dict begin
			/filtername
				{
				dup /Cyan eq 1 index (Cyan) eq or
					{pop (_cyan_)}if
				dup /Magenta eq 1 index (Magenta) eq or
					{pop (_magenta_)}if
				dup /Yellow eq 1 index (Yellow) eq or
					{pop (_yellow_)}if
				dup /Black eq 1 index (Black) eq or
					{pop (_black_)}if
				}def
			dup type /arraytype eq
				{[exch {filtername}forall]}
				{filtername}ifelse
			end
			}def
		level3 {
			/AGMCORE_IsCurrentColor
				{
				dup AGMCORE_IsSeparationAProcessColor
					{
					AGMCORE_plate_ndx 0 eq
						{dup (Cyan) eq exch /Cyan eq or}if
					AGMCORE_plate_ndx 1 eq
						{dup (Magenta) eq exch /Magenta eq or}if
					AGMCORE_plate_ndx 2 eq
						{dup (Yellow) eq exch /Yellow eq or}if
					AGMCORE_plate_ndx 3 eq
						{dup (Black) eq exch /Black eq or}if
					AGMCORE_plate_ndx 4 eq
						{pop false}if
					}{
					gsave
					false setoverprint
					current_spot_alias false set_spot_alias
					1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor
					set_spot_alias
					currentgray 1 ne
					grestore
					}ifelse
				}def
			/AGMCORE_filter_functiondatasource
				{	
				5 dict begin
				/data_in xdf
				data_in type /stringtype eq
					{
					/ncomp xdf
					/comp xdf
					/string_out data_in length ncomp idiv string def
					0 ncomp data_in length 1 sub
						{
						string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put
						}for
					string_out
					}{
					string /string_in xdf
					/string_out 1 string def
					/component xdf
					[
					data_in string_in /readstring cvx
						[component /get cvx 255 /exch cvx /sub cvx string_out /exch cvx 0 /exch cvx /put cvx string_out]cvx
						[/pop cvx ()]cvx /ifelse cvx
					]cvx /ReusableStreamDecode filter
				}ifelse
				end
				}def
			/AGMCORE_separateShadingFunction
				{
				2 dict begin
				/paint? xdf
				/channel xdf
				dup type /dicttype eq
					{
					begin
					FunctionType 0 eq
						{
						/DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def
						currentdict /Decode known
							{/Decode Decode channel 2 mul 2 getinterval def}if
						paint? not
							{/Decode [1 1]def}if
						}if
					FunctionType 2 eq
						{
						paint?
							{
							/C0 [C0 channel get 1 exch sub] def
							/C1 [C1 channel get 1 exch sub] def
							}{
							/C0 [1] def
							/C1 [1] def
							}ifelse			
						}if
					FunctionType 3 eq
						{
						/Functions [Functions {channel paint? AGMCORE_separateShadingFunction} forall] def			
						}if
					currentdict /Range known
						{/Range [0 1] def}if
					currentdict
					end}{
					channel get 0 paint? AGMCORE_separateShadingFunction
					}ifelse
				end
				}def
			/AGMCORE_separateShading
				{
				3 -1 roll begin
				currentdict /Function known
					{
					currentdict /Background known
						{[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if
					Function 3 1 roll AGMCORE_separateShadingFunction /Function xdf
					/ColorSpace [/DeviceGray] def
					}{
					ColorSpace dup type /arraytype eq {0 get}if /DeviceCMYK eq
						{
						/ColorSpace [/DeviceN [/_cyan_ /_magenta_ /_yellow_ /_black_] /DeviceCMYK {}] def
						}{
						ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put
						}ifelse
					ColorSpace 0 get /Separation eq
						{
							{
								[1 /exch cvx /sub cvx]cvx
							}{
								[/pop cvx 1]cvx
							}ifelse
							ColorSpace 3 3 -1 roll put
							pop
						}{
							{
								[exch ColorSpace 1 get length 1 sub exch sub /index cvx 1 /exch cvx /sub cvx ColorSpace 1 get length 1 add 1 /roll cvx ColorSpace 1 get length{/pop cvx} repeat]cvx
							}{
								pop [ColorSpace 1 get length {/pop cvx} repeat cvx 1]cvx
							}ifelse
							ColorSpace 3 3 -1 roll bind put
						}ifelse
					ColorSpace 2 /DeviceGray put																		
					}ifelse
				end
				}def
			/AGMCORE_separateShadingDict
				{
				dup /ColorSpace get
				dup type /arraytype ne
					{[exch]}if
				dup 0 get /DeviceCMYK eq
					{
					exch begin 
					currentdict
					AGMCORE_cyan_plate
						{0 true}if
					AGMCORE_magenta_plate
						{1 true}if
					AGMCORE_yellow_plate
						{2 true}if
					AGMCORE_black_plate
						{3 true}if
					AGMCORE_plate_ndx 4 eq
						{0 false}if		
					dup not currentoverprint and
						{/AGMCORE_ignoreshade true def}if
					AGMCORE_separateShading
					currentdict
					end exch
					}if
				dup 0 get /Separation eq
					{
					exch begin
					ColorSpace 1 get dup /None ne exch /All ne and
						{
						ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and
							{
							ColorSpace 2 get dup type /arraytype eq {0 get}if /DeviceCMYK eq 
								{
								/ColorSpace
									[
									/Separation
									ColorSpace 1 get
									/DeviceGray
										[
										ColorSpace 3 get /exec cvx
										4 AGMCORE_plate_ndx sub -1 /roll cvx
										4 1 /roll cvx
										3 [/pop cvx]cvx /repeat cvx
										1 /exch cvx /sub cvx
										]cvx									
									]def
								}{
								AGMCORE_report_unsupported_color_space
								AGMCORE_black_plate not
									{
									currentdict 0 false AGMCORE_separateShading
									}if
								}ifelse
							}{
							currentdict ColorSpace 1 get AGMCORE_IsCurrentColor
							0 exch 
							dup not currentoverprint and
								{/AGMCORE_ignoreshade true def}if
							AGMCORE_separateShading
							}ifelse	
						}if			
					currentdict
					end exch
					}if
				dup 0 get /DeviceN eq
					{
					exch begin
					ColorSpace 1 get convert_to_process
						{
						ColorSpace 2 get dup type /arraytype eq {0 get}if /DeviceCMYK eq 
							{
							/ColorSpace
								[
								/DeviceN
								ColorSpace 1 get
								/DeviceGray
									[
									ColorSpace 3 get /exec cvx
									4 AGMCORE_plate_ndx sub -1 /roll cvx
									4 1 /roll cvx
									3 [/pop cvx]cvx /repeat cvx
									1 /exch cvx /sub cvx
									]cvx									
								]def
							}{
							AGMCORE_report_unsupported_color_space
							AGMCORE_black_plate not
								{
								currentdict 0 false AGMCORE_separateShading
								/ColorSpace [/DeviceGray] def
								}if
							}ifelse
						}{
						currentdict
						false -1 ColorSpace 1 get
							{
							AGMCORE_IsCurrentColor
								{
								1 add
								exch pop true exch exit
								}if
							1 add
							}forall
						exch 
						dup not currentoverprint and
							{/AGMCORE_ignoreshade true def}if
						AGMCORE_separateShading
						}ifelse
					currentdict
					end exch
					}if
				dup 0 get dup /DeviceCMYK eq exch dup /Separation eq exch /DeviceN eq or or not
					{
					exch begin
					ColorSpace dup type /arraytype eq
						{0 get}if
					/DeviceGray ne
						{
						AGMCORE_report_unsupported_color_space
						AGMCORE_black_plate not
							{
							ColorSpace 0 get /CIEBasedA eq
								{
								/ColorSpace [/Separation /_ciebaseda_ /DeviceGray {}] def
								}if
							ColorSpace 0 get dup /CIEBasedABC eq exch dup /CIEBasedDEF eq exch /DeviceRGB eq or or
								{
								/ColorSpace [/DeviceN [/_red_ /_green_ /_blue_] /DeviceRGB {}] def
								}if
							ColorSpace 0 get /CIEBasedDEFG eq
								{
								/ColorSpace [/DeviceN [/_cyan_ /_magenta_ /_yellow_ /_black_] /DeviceCMYK {}] def
								}if
							currentdict 0 false AGMCORE_separateShading
							}if
						}if
					currentdict
					end exch
					}if
				pop
				dup /AGMCORE_ignoreshade known
					{
					begin
					/ColorSpace [/Separation (None) /DeviceGray {}] def
					currentdict end
					}if
				}def
			/shfill
				{
				AGMCORE_separateShadingDict 
				dup /AGMCORE_ignoreshade known
					{pop}
					{AGMCORE_&sysshfill}ifelse
				}def
			/makepattern
				{
				exch
				dup /PatternType get 2 eq
					{
					clonedict
					begin
					/Shading Shading AGMCORE_separateShadingDict def
					Shading /AGMCORE_ignoreshade known
					currentdict end exch
					{pop <</PatternType 1/PaintProc{pop}/BBox[0 0 1 1]/XStep 1/YStep 1/PaintType 1/TilingType 3>>}if
					exch AGMCORE_&sysmakepattern
					}{
					exch AGMCORE_&usrmakepattern
					}ifelse
				}def
		}if
	}if
	AGMCORE_in_rip_sep{
		/setcustomcolor
		{
			exch aload pop
			dup 7 1 roll inRip_spot_has_ink not	{ 
				4 {4 index mul 4 1 roll}
				repeat
				/DeviceCMYK setcolorspace
				6 -2 roll pop pop
			}{ 
				//Adobe_AGM_Core begin
					/AGMCORE_k xdf /AGMCORE_y xdf /AGMCORE_m xdf /AGMCORE_c xdf
				end
				[/Separation 4 -1 roll /DeviceCMYK
				{dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul}
				]
				setcolorspace
			}ifelse
			setcolor
		}ndf
		/setseparationgray
		{
			[/Separation (All) /DeviceGray {}] setcolorspace_opt
			1 exch sub setcolor
		}ndf
	}{
		/setseparationgray
		{
			AGMCORE_&setgray
		}ndf
	}ifelse
	/findcmykcustomcolor
	{
		5 makereadonlyarray
	}ndf
	/setcustomcolor
	{
		exch aload pop pop
		4 {4 index mul 4 1 roll} repeat
		setcmykcolor pop
	}ndf
	/has_color
		/colorimage where{
			AGMCORE_producing_seps{
				pop true
			}{
				systemdict eq
			}ifelse
		}{
			false
		}ifelse
	def
	/map_index
	{
		1 index mul exch getinterval {255 div} forall
	} bdf
	/map_indexed_devn
	{
		Lookup Names length 3 -1 roll cvi map_index
	} bdf
	/n_color_components
	{
		base_colorspace_type
		dup /DeviceGray eq{
			pop 1
		}{
			/DeviceCMYK eq{
				4
			}{
				3
			}ifelse
		}ifelse
	}bdf
	level2{
		/mo /moveto ldf
		/li /lineto ldf
		/cv /curveto ldf
		/knockout_unitsq
		{
			1 setgray
			0 0 1 1 rectfill
		}def
		level2 /setcolorspace AGMCORE_key_known not and{
			/AGMCORE_&&&setcolorspace /setcolorspace ldf
			/AGMCORE_ReplaceMappedColor
			{
				dup type dup /arraytype eq exch /packedarraytype eq or
				{
					/AGMCORE_SpotAliasAry2 where {
						begin
						dup 0 get dup /Separation eq
						{
							pop
							dup length array copy
							dup dup 1 get
							current_spot_alias
							{
								dup map_alias
								{
									false set_spot_alias
									dup 1 exch setsepcolorspace
									true set_spot_alias
									begin
									/sep_colorspace_dict currentdict AGMCORE_gput
									pop pop	pop
									[ 
										/Separation Name 
										CSA map_csa
										MappedCSA 
										/sep_colorspace_proc load
									]
									dup Name
									end
								}if
							}if
							map_reserved_ink_name 1 xpt
						}{
							/DeviceN eq 
							{
								dup length array copy
								dup dup 1 get [ 
									exch {
										current_spot_alias{
											dup map_alias{
												/Name get exch pop
											}if
										}if
										map_reserved_ink_name
									} forall 
								] 1 xpt
							}if
						}ifelse
						end
					} if
				}if
			}def
			/setcolorspace
			{
				dup type dup /arraytype eq exch /packedarraytype eq or
				{
					dup 0 get /Indexed eq
					{
						AGMCORE_distilling
						{
							/PhotoshopDuotoneList where
							{
								pop false
							}{
								true
							}ifelse
						}{
							true
						}ifelse
						{
							aload pop 3 -1 roll
							AGMCORE_ReplaceMappedColor
							3 1 roll 4 array astore
						}if
					}{
						AGMCORE_ReplaceMappedColor
					}ifelse
				}if
				DeviceN_PS2_inRip_seps {AGMCORE_&&&setcolorspace} if
			}def
		}if	
	}{
		/adj
		{
			currentstrokeadjust{
				transform
				0.25 sub round 0.25 add exch
				0.25 sub round 0.25 add exch
				itransform
			}if
		}def
		/mo{
			adj moveto
		}def
		/li{
			adj lineto
		}def
		/cv{
			6 2 roll adj
			6 2 roll adj
			6 2 roll adj curveto
		}def
		/knockout_unitsq
		{
			1 setgray
			8 8 1 [8 0 0 8 0 0] {<ffffffffffffffff>} image
		}def
		/currentstrokeadjust{
			/currentstrokeadjust AGMCORE_gget
		}def
		/setstrokeadjust{
			/currentstrokeadjust exch AGMCORE_gput
		}def
		/setcolorspace
		{
			/currentcolorspace exch AGMCORE_gput
		} def
		/currentcolorspace
		{
			/currentcolorspace AGMCORE_gget
		} def
		/setcolor_devicecolor
		{
			base_colorspace_type
			dup /DeviceGray eq{
				pop setgray
			}{
				/DeviceCMYK eq{
					setcmykcolor
				}{
					setrgbcolor
				}ifelse
			}ifelse
		}def
		/setcolor
		{
			currentcolorspace 0 get
			dup /DeviceGray ne{
				dup /DeviceCMYK ne{
					dup /DeviceRGB ne{
						dup /Separation eq{
							pop
							currentcolorspace 3 get exec
							currentcolorspace 2 get
						}{
							dup /Indexed eq{
								pop
								currentcolorspace 3 get dup type /stringtype eq{
									currentcolorspace 1 get n_color_components
									3 -1 roll map_index
								}{
									exec
								}ifelse
								currentcolorspace 1 get
							}{
								/AGMCORE_cur_err /AGMCORE_invalid_color_space def
								AGMCORE_invalid_color_space
							}ifelse
						}ifelse
					}if
				}if
			}if
			setcolor_devicecolor
		} def
	}ifelse
	/sop /setoverprint ldf
	/lw /setlinewidth ldf
	/lc /setlinecap ldf
	/lj /setlinejoin ldf
	/ml /setmiterlimit ldf
	/dsh /setdash ldf
	/sadj /setstrokeadjust ldf
	/gry /setgray ldf
	/rgb /setrgbcolor ldf
	/cmyk /setcmykcolor ldf
	/sep /setsepcolor ldf
	/devn /setdevicencolor ldf
	/idx /setindexedcolor ldf
	/colr /setcolor ldf
	/csacrd /set_csa_crd ldf
	/sepcs /setsepcolorspace ldf
	/devncs /setdevicencolorspace ldf
	/idxcs /setindexedcolorspace ldf
	/cp /closepath ldf
	/clp /clp_npth ldf
	/eclp /eoclp_npth ldf
	/f /fill ldf
	/ef /eofill ldf
	/@ /stroke ldf
	/nclp /npth_clp ldf
	/gset /graphic_setup ldf
	/gcln /graphic_cleanup ldf
	/AGMCORE_def_ht currenthalftone def
	/clonedict Adobe_AGM_Utils begin /clonedict load end def
	/clonearray Adobe_AGM_Utils begin /clonearray load end def
	currentdict{
		dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and {
			bind
		}if
		def
	}forall
	/getrampcolor
	{ 
		/indx exch def
		0 1 NumComp 1 sub
		{
			dup
			Samples exch get
			dup type /stringtype eq {indx get} if
			exch
			Scaling exch get aload pop
			3 1 roll
			mul add
		} for
		ColorSpaceFamily /Separation eq 
		{sep}
		{
			ColorSpaceFamily /DeviceN eq
			{devn} {setcolor}ifelse
		}ifelse
	} bdf
	/sssetbackground {aload pop setcolor} bdf
	/RadialShade
	{
		40 dict begin
		/ColorSpaceFamily xdf
		/background xdf
		/ext1 xdf
		/ext0 xdf
		/BBox xdf
		/r2 xdf
		/c2y xdf
		/c2x xdf
		/r1 xdf
		/c1y xdf
		/c1x xdf
		/rampdict xdf
		/setinkoverprint where {pop /setinkoverprint{pop}def}if
		gsave
		BBox length 0 gt
		{
			newpath
			BBox 0 get BBox 1 get moveto
			BBox 2 get BBox 0 get sub 0 rlineto
			0 BBox 3 get BBox 1 get sub rlineto
			BBox 2 get BBox 0 get sub neg 0 rlineto
			closepath
			clip
			newpath
		} if
		c1x c2x eq
		{
			c1y c2y lt {/theta 90 def}{/theta 270 def} ifelse
		}
		{
			/slope c2y c1y sub c2x c1x sub div def
			/theta slope 1 atan def
			c2x c1x lt c2y c1y ge and { /theta theta 180 sub def} if
			c2x c1x lt c2y c1y lt and { /theta theta 180 add def} if
		} ifelse
		gsave
		clippath
		c1x c1y translate
		theta rotate
		-90 rotate
		{ pathbbox } stopped
		{ 0 0 0 0 } if
		/yMax xdf
		/xMax xdf
		/yMin xdf
		/xMin xdf
		grestore
		xMax xMin eq yMax yMin eq or
		{
			grestore
			end
		}
		{
			/max { 2 copy gt { pop } {exch pop} ifelse } bdf
			/min { 2 copy lt { pop } {exch pop} ifelse } bdf
			rampdict begin
			40 dict begin
			background length 0 gt { background sssetbackground gsave clippath fill grestore } if
			gsave
			c1x c1y translate
			theta rotate
			-90 rotate
			/c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def
			/c1y 0 def
			/c1x 0 def
			/c2x 0 def
			ext0
			{
				0 getrampcolor
				c2y r2 add r1 sub 0.0001 lt
				{
					c1x c1y r1 360 0 arcn
					pathbbox
					/aymax exch def
					/axmax exch def
					/aymin exch def
					/axmin exch def
					/bxMin xMin axmin min def
					/byMin yMin aymin min def
					/bxMax xMax axmax max def
					/byMax yMax aymax max def
					bxMin byMin moveto
					bxMax byMin lineto
					bxMax byMax lineto
					bxMin byMax lineto
					bxMin byMin lineto
					eofill
				}
				{
					c2y r1 add r2 le
					{
						c1x c1y r1 0 360 arc
						fill
					}
					{
						c2x c2y r2 0 360 arc fill
						r1 r2 eq
						{
							/p1x r1 neg def
							/p1y c1y def
							/p2x r1 def
							/p2y c1y def
							p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto
							fill
						}
						{
							/AA r2 r1 sub c2y div def
							AA -1 eq
							{ /theta 89.99 def}
							{ /theta AA 1 AA dup mul sub sqrt div 1 atan def}
							ifelse
							/SS1 90 theta add dup sin exch cos div def
							/p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
							/p1y p1x SS1 div neg def
							/SS2 90 theta sub dup sin exch cos div def
							/p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
							/p2y p2x SS2 div neg def
							r1 r2 gt
							{
								/L1maxX p1x yMin p1y sub SS1 div add def
								/L2maxX p2x yMin p2y sub SS2 div add def
							}
							{
								/L1maxX 0 def
								/L2maxX 0 def
							} ifelse
							p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
							L1maxX L1maxX p1x sub SS1 mul p1y add lineto
							fill
						} ifelse
					} ifelse
				} ifelse
			} if
		c1x c2x sub dup mul
		c1y c2y sub dup mul
		add 0.5 exp
		0 dtransform
		dup mul exch dup mul add 0.5 exp 72 div
		0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
		72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
		1 index 1 index lt { exch } if pop
		/hires xdf
		hires mul
		/numpix xdf
		/numsteps NumSamples def
		/rampIndxInc 1 def
		/subsampling false def
		numpix 0 ne
		{
			NumSamples numpix div 0.5 gt
			{
				/numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def
				/rampIndxInc NumSamples 1 sub numsteps div def
				/subsampling true def
			} if
		} if
		/xInc c2x c1x sub numsteps div def
		/yInc c2y c1y sub numsteps div def
		/rInc r2 r1 sub numsteps div def
		/cx c1x def
		/cy c1y def
		/radius r1 def
		newpath
		xInc 0 eq yInc 0 eq rInc 0 eq and and
		{
			0 getrampcolor
			cx cy radius 0 360 arc
			stroke
			NumSamples 1 sub getrampcolor
			cx cy radius 72 hires div add 0 360 arc
			0 setlinewidth
			stroke
		}
		{
			0
			numsteps
			{
				dup
				subsampling { round cvi } if
				getrampcolor
				cx cy radius 0 360 arc
				/cx cx xInc add def
				/cy cy yInc add def
				/radius radius rInc add def
				cx cy radius 360 0 arcn
				eofill
				rampIndxInc add
			} repeat
			pop
		} ifelse
		ext1
		{
			c2y r2 add r1 lt
			{
				c2x c2y r2 0 360 arc
				fill
			}
			{
				c2y r1 add r2 sub 0.0001 le
				{
					c2x c2y r2 360 0 arcn
					pathbbox
					/aymax exch def
					/axmax exch def
					/aymin exch def
					/axmin exch def
					/bxMin xMin axmin min def
					/byMin yMin aymin min def
					/bxMax xMax axmax max def
					/byMax yMax aymax max def
					bxMin byMin moveto
					bxMax byMin lineto
					bxMax byMax lineto
					bxMin byMax lineto
					bxMin byMin lineto
					eofill
				}
				{
					c2x c2y r2 0 360 arc fill
					r1 r2 eq
					{
						/p1x r2 neg def
						/p1y c2y def
						/p2x r2 def
						/p2y c2y def
						p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto
						fill
					}
					{
						/AA r2 r1 sub c2y div def
						AA -1 eq
						{ /theta 89.99 def}
						{ /theta AA 1 AA dup mul sub sqrt div 1 atan def}
						ifelse
						/SS1 90 theta add dup sin exch cos div def
						/p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
						/p1y c2y p1x SS1 div sub def
						/SS2 90 theta sub dup sin exch cos div def
						/p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
						/p2y c2y p2x SS2 div sub def
						r1 r2 lt
						{
							/L1maxX p1x yMax p1y sub SS1 div add def
							/L2maxX p2x yMax p2y sub SS2 div add def
						}
						{
							/L1maxX 0 def
							/L2maxX 0 def
						}ifelse
						p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
						L1maxX L1maxX p1x sub SS1 mul p1y add lineto
						fill
					} ifelse
				} ifelse
			} ifelse
		} if
		grestore
		grestore
		end
		end
		end
		} ifelse
	} bdf
	/GenStrips
	{
		40 dict begin
		/ColorSpaceFamily xdf
		/background xdf
		/ext1 xdf
		/ext0 xdf
		/BBox xdf
		/y2 xdf
		/x2 xdf
		/y1 xdf
		/x1 xdf
		/rampdict xdf
		/setinkoverprint where {pop /setinkoverprint{pop}def}if
		gsave
		BBox length 0 gt
		{
			newpath
			BBox 0 get BBox 1 get moveto
			BBox 2 get BBox 0 get sub 0 rlineto
			0 BBox 3 get BBox 1 get sub rlineto
			BBox 2 get BBox 0 get sub neg 0 rlineto
			closepath
			clip
			newpath
		} if
		x1 x2 eq
		{
			y1 y2 lt {/theta 90 def}{/theta 270 def} ifelse
		}
		{
			/slope y2 y1 sub x2 x1 sub div def
			/theta slope 1 atan def
			x2 x1 lt y2 y1 ge and { /theta theta 180 sub def} if
			x2 x1 lt y2 y1 lt and { /theta theta 180 add def} if
		}
		ifelse
		gsave
		clippath
		x1 y1 translate
		theta rotate
		{ pathbbox } stopped
		{ 0 0 0 0 } if
		/yMax exch def
		/xMax exch def
		/yMin exch def
		/xMin exch def
		grestore
		xMax xMin eq yMax yMin eq or
		{
			grestore
			end
		}
		{
			rampdict begin
			20 dict begin
			background length 0 gt { background sssetbackground gsave clippath fill grestore } if
			gsave
			x1 y1 translate
			theta rotate
			/xStart 0 def
			/xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def
			/ySpan yMax yMin sub def
			/numsteps NumSamples def
			/rampIndxInc 1 def
			/subsampling false def
			xStart 0 transform
			xEnd 0 transform
			3 -1 roll
			sub dup mul
			3 1 roll
			sub dup mul
			add 0.5 exp 72 div
			0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
			72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
			1 index 1 index lt { exch } if pop
			mul
			/numpix xdf
			numpix 0 ne
			{
				NumSamples numpix div 0.5 gt
				{
					/numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def
					/rampIndxInc NumSamples 1 sub numsteps div def
					/subsampling true def
				} if
			} if
			ext0
			{
				0 getrampcolor
				xMin xStart lt
				{
					xMin yMin xMin neg ySpan rectfill
				} if
			} if
			/xInc xEnd xStart sub numsteps div def
			/x xStart def
			0
			numsteps
			{
				dup
				subsampling { round cvi } if
				getrampcolor
				x yMin xInc ySpan rectfill
				/x x xInc add def
				rampIndxInc add
			} repeat
			pop
			ext1 {
				xMax xEnd gt
				{
					xEnd yMin xMax xEnd sub ySpan rectfill
				} if
			} if
			grestore
			grestore
			end
			end
			end
		} ifelse
	} bdf
}def
/page_trailer
{
	end
}def
/doc_trailer{
}def
/capture_currentpagedevice {
	//Adobe_AGM_Core/AGMCORE_currentpagedevice currentpagedevice ddf
} def
systemdict /findcolorrendering known{
	/findcolorrendering systemdict /findcolorrendering get def
}if
systemdict /setcolorrendering known{
	/setcolorrendering systemdict /setcolorrendering get def
}if
/test_cmyk_color_plate
{
	gsave
	setcmykcolor currentgray 1 ne
	grestore
}def
/inRip_spot_has_ink
{
	dup //Adobe_AGM_Core/AGMCORE_name xddf
	convert_spot_to_process not
}def
/map255_to_range
{
	1 index sub
	3 -1 roll 255 div mul add
}def
/set_csa_crd
{
	/sep_colorspace_dict null AGMCORE_gput
	begin
		CSA get_csa_by_name setcolorspace_opt
		set_crd
	end
}
def
/map_csa
{
	currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse
	{pop}{get_csa_by_name /MappedCSA xdf}ifelse
} def
/setsepcolor
{ 
	/sep_colorspace_dict AGMCORE_gget begin
		dup /sep_tint exch AGMCORE_gput
		TintProc
	end
} def
/setdevicencolor
{ 
	/devicen_colorspace_dict AGMCORE_gget begin
		Names length copy
		Names length 1 sub -1 0
		{
			/devicen_tints AGMCORE_gget 3 1 roll xpt
		} for
		TintProc
	end
} def
/sep_colorspace_proc
{
	/AGMCORE_tmp exch store
	/sep_colorspace_dict AGMCORE_gget begin
	currentdict/Components known{
		Components aload pop 
		TintMethod/Lab eq{
			2 {AGMCORE_tmp mul NComponents 1 roll} repeat
			LMax sub AGMCORE_tmp mul LMax add  NComponents 1 roll
		}{
			TintMethod/Subtractive eq{
				NComponents{
					AGMCORE_tmp mul NComponents 1 roll
				}repeat
			}{
				NComponents{
					1 sub AGMCORE_tmp mul 1 add  NComponents 1 roll
				} repeat
			}ifelse
		}ifelse
	}{
		ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get
		aload pop
	}ifelse
	end
} def
/sep_colorspace_gray_proc
{
	/AGMCORE_tmp exch store
	/sep_colorspace_dict AGMCORE_gget begin
	GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get
	end
} def
/sep_proc_name
{
	dup 0 get 
	dup /DeviceRGB eq exch /DeviceCMYK eq or level2 not and has_color not and{
		pop [/DeviceGray]
		/sep_colorspace_gray_proc
	}{
		/sep_colorspace_proc
	}ifelse
} def
/setsepcolorspace
{ 
	current_spot_alias{
		dup begin
			Name map_alias{
				exch pop
			}if
		end
	}if
	dup /sep_colorspace_dict exch AGMCORE_gput
	begin
	CSA map_csa
	/AGMCORE_sep_special Name dup () eq exch (All) eq or store
	AGMCORE_avoid_L2_sep_space{
		[/Indexed MappedCSA sep_proc_name 255 exch 
			{ 255 div } /exec cvx 3 -1 roll [ 4 1 roll load /exec cvx ] cvx 
		] setcolorspace_opt
		/TintProc {
			255 mul round cvi setcolor
		}bdf
	}{
		MappedCSA 0 get /DeviceCMYK eq 
		currentdict/Components known and 
		AGMCORE_sep_special not and{
			/TintProc [
				Components aload pop Name findcmykcustomcolor 
				/exch cvx /setcustomcolor cvx
			] cvx bdf
		}{
 			AGMCORE_host_sep Name (All) eq and{
 				/TintProc { 
					1 exch sub setseparationgray 
				}bdf
 			}{
				AGMCORE_in_rip_sep MappedCSA 0 get /DeviceCMYK eq and 
				AGMCORE_host_sep or
				Name () eq and{
					/TintProc [
						MappedCSA sep_proc_name exch 0 get /DeviceCMYK eq{
							cvx /setcmykcolor cvx
						}{
							cvx /setgray cvx
						}ifelse
					] cvx bdf
				}{
					AGMCORE_producing_seps MappedCSA 0 get dup /DeviceCMYK eq exch /DeviceGray eq or and AGMCORE_sep_special not and{
	 					/TintProc [
							/dup cvx
							MappedCSA sep_proc_name cvx exch
							0 get /DeviceGray eq{
								1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx
							}if
							/Name cvx /findcmykcustomcolor cvx /exch cvx
							AGMCORE_host_sep{
								AGMCORE_is_cmyk_sep
								/Name cvx 
								/AGMCORE_IsSeparationAProcessColor load /exec cvx
								/not cvx /and cvx 
							}{
								Name inRip_spot_has_ink not
							}ifelse
							[
		 						/pop cvx 1
							] cvx /if cvx
							/setcustomcolor cvx
						] cvx bdf
 					}{ 
						/TintProc {setcolor} bdf
						[/Separation Name MappedCSA sep_proc_name load ] setcolorspace_opt
					}ifelse
				}ifelse
			}ifelse
		}ifelse
	}ifelse
	set_crd
	setsepcolor
	end
} def
/additive_blend
{
  	3 dict begin
  	/numarrays xdf
  	/numcolors xdf
  	0 1 numcolors 1 sub
  		{
  		/c1 xdf
  		1
  		0 1 numarrays 1 sub
  			{
			1 exch add /index cvx
  			c1 /get cvx /mul cvx
  			}for
 		numarrays 1 add 1 /roll cvx 
  		}for
 	numarrays [/pop cvx] cvx /repeat cvx
  	end
}def
/subtractive_blend
{
	3 dict begin
	/numarrays xdf
	/numcolors xdf
	0 1 numcolors 1 sub
		{
		/c1 xdf
		1 1
		0 1 numarrays 1 sub
			{
			1 3 3 -1 roll add /index cvx  
			c1 /get cvx /sub cvx /mul cvx
			}for
		/sub cvx
		numarrays 1 add 1 /roll cvx
		}for
	numarrays [/pop cvx] cvx /repeat cvx
	end
}def
/exec_tint_transform
{
	/TintProc [
		/TintTransform cvx /setcolor cvx
	] cvx bdf
	MappedCSA setcolorspace_opt
} bdf
/devn_makecustomcolor
{
	2 dict begin
	/names_index xdf
	/Names xdf
	1 1 1 1 Names names_index get findcmykcustomcolor
	/devicen_tints AGMCORE_gget names_index get setcustomcolor
	Names length {pop} repeat
	end
} bdf
/setdevicencolorspace
{ 
	dup /AliasedColorants known {false}{true}ifelse 
	current_spot_alias and {
		7 dict begin
		/names_index 0 def
		dup /names_len exch /Names get length def
		/new_names names_len array def
		/new_LookupTables names_len array def
		/alias_cnt 0 def
		dup /Names get
		{
			dup map_alias {
				exch pop
				dup /ColorLookup known {
					dup begin
					new_LookupTables names_index ColorLookup put
					end
				}{
					dup /Components known {
						dup begin
						new_LookupTables names_index Components put
						end
					}{
						dup begin
						new_LookupTables names_index [null null null null] put
						end
					} ifelse
				} ifelse
				new_names names_index 3 -1 roll /Name get put
				/alias_cnt alias_cnt 1 add def 
			}{
				/name xdf				
				new_names names_index name put
				dup /LookupTables known {
					dup begin
					new_LookupTables names_index LookupTables names_index get put
					end
				}{
					dup begin
					new_LookupTables names_index [null null null null] put
					end
				} ifelse
			} ifelse
			/names_index names_index 1 add def 
		} forall
		alias_cnt 0 gt {
			/AliasedColorants true def
			/lut_entry_len new_LookupTables 0 get dup length 256 ge {0 get length}{length}ifelse def
			0 1 names_len 1 sub {
				/names_index xdf
				new_LookupTables names_index get dup length 256 ge {0 get length}{length}ifelse lut_entry_len ne {
					/AliasedColorants false def
					exit
				}
				{
					new_LookupTables names_index get 0 get null eq {
						dup /Names get names_index get /name xdf
						name (Cyan) eq name (Magenta) eq name (Yellow) eq name (Black) eq
						or or or not {
							/AliasedColorants false def
							exit
						} if
					} if
				} ifelse
			} for
			lut_entry_len 1 eq {
				/AliasedColorants false def
			} if
			AliasedColorants {
				dup begin
				/Names new_names def
				/LookupTables new_LookupTables def
				/AliasedColorants true def
				/NComponents lut_entry_len def
				/TintMethod NComponents 4 eq {/Subtractive}{/Additive}ifelse def
				/MappedCSA TintMethod /Additive eq {/DeviceRGB}{/DeviceCMYK}ifelse def
				currentdict /TTTablesIdx known not {
					/TTTablesIdx -1 def
				} if
				end
			} if
		}if
		end
	} if
	dup /devicen_colorspace_dict exch AGMCORE_gput
	begin
	currentdict /AliasedColorants known {
		AliasedColorants
	}{
		false
	} ifelse
	dup not {
		CSA map_csa
	} if
	/TintTransform load type /nulltype eq or {
		/TintTransform [
			0 1 Names length 1 sub
				{
				/TTTablesIdx TTTablesIdx 1 add def
				dup LookupTables exch get dup 0 get null eq
					{
					1 index
					Names exch get
					dup (Cyan) eq
						{
						pop exch
						LookupTables length exch sub
						/index cvx
						0 0 0
						}
						{
						dup (Magenta) eq
							{
							pop exch
							LookupTables length exch sub
							/index cvx
							0 /exch cvx 0 0
							}
							{
							(Yellow) eq
								{
								exch
								LookupTables length exch sub
								/index cvx
								0 0 3 -1 /roll cvx 0
								}
								{
								exch
								LookupTables length exch sub
								/index cvx
								0 0 0 4 -1 /roll cvx
								} ifelse
							} ifelse
						} ifelse
					5 -1 /roll cvx /astore cvx
					}
					{
					dup length 1 sub
					LookupTables length 4 -1 roll sub 1 add
					/index cvx /mul cvx /round cvx /cvi cvx /get cvx
					} ifelse
					Names length TTTablesIdx add 1 add 1 /roll cvx
				} for
			Names length [/pop cvx] cvx /repeat cvx
			NComponents Names length
  			TintMethod /Subtractive eq
  				{
  				subtractive_blend
  				}
  				{
  				additive_blend
  				} ifelse
		] cvx bdf
	} if
	AGMCORE_host_sep {
		Names convert_to_process {
			exec_tint_transform
		}
		{	
			currentdict /AliasedColorants known {
				AliasedColorants not
			}{
				false
			} ifelse
			5 dict begin
			/AvoidAliasedColorants xdf
			/painted? false def
			/names_index 0 def
			/names_len Names length def
			AvoidAliasedColorants {
				/currentspotalias current_spot_alias def
				false set_spot_alias
			} if
			Names {
				AGMCORE_is_cmyk_sep {
					dup (Cyan) eq AGMCORE_cyan_plate and exch
					dup (Magenta) eq AGMCORE_magenta_plate and exch
					dup (Yellow) eq AGMCORE_yellow_plate and exch
					(Black) eq AGMCORE_black_plate and or or or {
						/devicen_colorspace_dict AGMCORE_gget /TintProc [
							Names names_index /devn_makecustomcolor cvx
						] cvx ddf
						/painted? true def
					} if
					painted? {exit} if
				}{
					0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq {
					/devicen_colorspace_dict AGMCORE_gget /TintProc [
						Names names_index /devn_makecustomcolor cvx
					] cvx ddf
					/painted? true def
					exit
					} if
				} ifelse
				/names_index names_index 1 add def
			} forall
			AvoidAliasedColorants {
				currentspotalias set_spot_alias
			} if
			painted? {
				/devicen_colorspace_dict AGMCORE_gget /names_index names_index put
			}{
				/devicen_colorspace_dict AGMCORE_gget /TintProc [
					names_len [/pop cvx] cvx /repeat cvx 1 /setseparationgray cvx
 					0 0 0 0 /setcmykcolor cvx
				] cvx ddf
			} ifelse
			end
		} ifelse
	}
	{
		AGMCORE_in_rip_sep {
			Names convert_to_process not
		}{
			level3
		} ifelse
		{
			[/DeviceN Names MappedCSA /TintTransform load] setcolorspace_opt
			/TintProc level3 not AGMCORE_in_rip_sep and {
				[
					Names /length cvx [/pop cvx] cvx /repeat cvx
				] cvx bdf
			}{
				{setcolor} bdf
			} ifelse
		}{
			exec_tint_transform
		} ifelse
	} ifelse
	set_crd
	/AliasedColorants false def
	end
} def
/setindexedcolorspace
{
	dup /indexed_colorspace_dict exch AGMCORE_gput
	begin
		currentdict /CSDBase known {
			CSDBase /CSD get_res begin
			currentdict /Names known {
				currentdict devncs
			}{
				1 currentdict sepcs
			} ifelse
			AGMCORE_host_sep{
				4 dict begin
				/compCnt /Names where {pop Names length}{1}ifelse def
				/NewLookup HiVal 1 add string def
				0 1 HiVal {
					/tableIndex xdf
					Lookup dup type /stringtype eq {
						compCnt tableIndex map_index
					}{
						exec
					} ifelse
					/Names where {
						pop setdevicencolor
					}{
						setsepcolor
					} ifelse
					currentgray
					tableIndex exch
					HiVal mul cvi 
					NewLookup 3 1 roll put
				} for
				[/Indexed currentcolorspace HiVal NewLookup] setcolorspace_opt
				end
			}{
				level3
				{
					currentdict /Names known {
						[/Indexed [/DeviceN Names MappedCSA /TintTransform load] HiVal Lookup] setcolorspace_opt
					}{
						[/Indexed [/Separation Name MappedCSA sep_proc_name load] HiVal Lookup] setcolorspace_opt
					} ifelse
				}{
				[/Indexed MappedCSA HiVal
					[
					currentdict /Names known {
						Lookup dup type /stringtype eq
							{/exch cvx CSDBase /CSD get_res /Names get length dup /mul cvx exch /getinterval cvx {255 div} /forall cvx}
							{/exec cvx}ifelse
							/TintTransform load /exec cvx
					}{
						Lookup dup type /stringtype eq
							{/exch cvx /get cvx 255 /div cvx}
							{/exec cvx}ifelse
							CSDBase /CSD get_res /MappedCSA get sep_proc_name exch pop /load cvx /exec cvx
					} ifelse
					]cvx
				]setcolorspace_opt
				}ifelse
			} ifelse
			end
			set_crd
		}
		{
			CSA map_csa
			AGMCORE_host_sep level2 not and{
				0 0 0 0 setcmykcolor
			}{
				[/Indexed MappedCSA 
				level2 not has_color not and{
					dup 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or{
						pop [/DeviceGray]
					}if
					HiVal GrayLookup
				}{
					HiVal 
					currentdict/RangeArray known{
						{ 
							/indexed_colorspace_dict AGMCORE_gget begin
							Lookup exch 
							dup HiVal gt{
								pop HiVal
							}if
							NComponents mul NComponents getinterval {} forall
							NComponents 1 sub -1 0{
								RangeArray exch 2 mul 2 getinterval aload pop map255_to_range
								NComponents 1 roll
							}for
							end
						} bind
					}{
						Lookup
					}ifelse
				}ifelse
				] setcolorspace_opt
				set_crd
			}ifelse
		}ifelse
	end
}def
/setindexedcolor
{
	AGMCORE_host_sep {
		/indexed_colorspace_dict AGMCORE_gget dup /CSDBase known { 
			begin
			CSDBase /CSD get_res begin
			currentdict /Names known{
				map_indexed_devn
				devn
			}
			{
				Lookup 1 3 -1 roll map_index
				sep
			}ifelse
			end
			end
		}{
			/Lookup get 4 3 -1 roll map_index setcmykcolor
		} ifelse
	}{
		level3 not AGMCORE_in_rip_sep and /indexed_colorspace_dict AGMCORE_gget /CSDBase known and {
			/indexed_colorspace_dict AGMCORE_gget /CSDBase get /CSD get_res begin
			map_indexed_devn
			devn
			end
		}
		{
			setcolor
		} ifelse
	}ifelse
} def
/ignoreimagedata
{
	currentoverprint not{
		gsave
		dup clonedict begin
		1 setgray
		/Decode [0 1] def
		/DataSource <FF> def
		/MultipleDataSources false def
		/BitsPerComponent 8 def
		currentdict end
		systemdict /image get exec
		grestore
		}if
	consumeimagedata
}def
/add_res
{
	dup /CSD eq {
		pop 
		//Adobe_AGM_Core begin
		/AGMCORE_CSD_cache load 3 1 roll put
		end
	}{
		defineresource pop
	} ifelse
}def
/del_res
{
	{
		aload pop exch
		dup /CSD eq {
			pop 
			{
				//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef
			}forall
		}{
			exch
			{
				1 index undefineresource
			}forall
			pop
		} ifelse
	} forall
}def
/get_res
{
	dup /CSD eq {
		pop
		dup type dup /nametype eq exch /stringtype eq or {
			AGMCORE_CSD_cache exch get
		} if
	}{
		findresource
	} ifelse
}def
/get_csa_by_name
{
	dup type dup /nametype eq exch /stringtype eq or{
		/CSA get_res
	} if
}def
/pattern_buf_init
{
	/count get 0 0 put
} def
/pattern_buf_next
{
	dup /count get dup 0 get
	dup 3 1 roll
	1 add 0 xpt
	get				
} def
/cachepattern_compress
{
	5 dict begin
	currentfile exch 0 exch /SubFileDecode filter /ReadFilter exch def
	/patarray 20 dict def
	/string_size 16000 def
	/readbuffer string_size string def
	currentglobal true setglobal 
	patarray 1 array dup 0 1 put /count xpt
	setglobal
	/LZWFilter 
	{
		exch
		dup length 0 eq {
			pop
		}{
			patarray dup length 1 sub 3 -1 roll put
		} ifelse
		{string_size}{0}ifelse string
	} /LZWEncode filter def
	{ 		
		ReadFilter readbuffer readstring
		exch LZWFilter exch writestring
		not {exit} if
	} loop
	LZWFilter closefile
	patarray				
	end
}def
/cachepattern
{
	2 dict begin
	currentfile exch 0 exch /SubFileDecode filter /ReadFilter exch def
	/patarray 20 dict def
	currentglobal true setglobal 
	patarray 1 array dup 0 1 put /count xpt
	setglobal
	{
		ReadFilter 16000 string readstring exch
		patarray dup length 1 sub 3 -1 roll put
		not {exit} if
	} loop
	patarray dup dup length 1 sub () put					
	end	
}def
/wrap_paintproc
{ 
  statusdict /currentfilenameextend known{
	clonedict
	begin
	/OldPaintProc /PaintProc load def
	/PaintProc
	{
		mark exch
		dup /OldPaintProc get stopped
		{closefile restore end} if
		cleartomark
	}  def
	end
  } {pop} ifelse
} def
/make_pattern
{
	exch clonedict exch
	dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform
	exch 3 index /XStep get 1 index exch 2 copy div cvi mul sub sub
	exch 3 index /YStep get 1 index exch 2 copy div cvi mul sub sub
	matrix translate exch matrix concatmatrix
			  1 index begin
		BBox 0 get XStep div cvi XStep mul /xshift exch neg def
		BBox 1 get YStep div cvi YStep mul /yshift exch neg def
		BBox 0 get xshift add
		BBox 1 get yshift add
		BBox 2 get xshift add
		BBox 3 get yshift add
		4 array astore
		/BBox exch def
		[ xshift yshift /translate load null /exec load ] dup
		3 /PaintProc load put cvx /PaintProc exch def
		end
	1 index dup /ID get exch /Pattern add_res
	gsave 0 setgray
	makepattern
	grestore
}def
/set_pattern
{
	dup /PatternType get 1 eq{
		dup /PaintType get 1 eq{
			currentoverprint sop [/DeviceGray] setcolorspace 0 setgray
		}if
	}if
	setpattern
}def
/setcolorspace_opt
{
	dup currentcolorspace eq{
		pop
	}{
		setcolorspace
	}ifelse
}def
/updatecolorrendering
{
	currentcolorrendering/RenderingIntent known{
		currentcolorrendering/RenderingIntent get
	}{null}ifelse
	Intent ne {
		Intent /ColorRendering {findresource} stopped
		{
			pop pop systemdict /findcolorrendering known
			{
				Intent findcolorrendering pop
				/ColorRendering findresource 
				true
			}
			{false} ifelse
		}
		{true} ifelse
		{
			dup begin
			currentdict /TransformPQR known {
				currentdict /TransformPQR get aload pop
				3 {{} eq 3 1 roll} repeat or or
			}
			{true} ifelse
			currentdict /MatrixPQR known {
				currentdict /MatrixPQR get aload pop
				1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll
				0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll
				0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq
				and and and and and and and and
			}
			{true} ifelse
			end
			or
			{
				clonedict begin
				/TransformPQR [
					{4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div
					3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add} bind
					{4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div
					3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add} bind
					{4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div
					3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add} bind
				] def
				/MatrixPQR [ 0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296 ] def
				/RangePQR [-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392] def
				currentdict end
			} if
			setcolorrendering_opt
		} if		
	}if
} def
/set_crd
{
	AGMCORE_host_sep not level2 and{
		currentdict /ColorRendering known{
			ColorRendering /ColorRendering {findresource} stopped not {setcolorrendering_opt} if
		}{
			currentdict/Intent known{
				updatecolorrendering
			}if
		}ifelse
		currentcolorspace dup type /arraytype eq
			{0 get}if
		/DeviceRGB eq
			{
			currentdict/UCR known
				{/UCR}{/AGMCORE_currentucr}ifelse
			load setundercolorremoval
			currentdict/BG known 
				{/BG}{/AGMCORE_currentbg}ifelse
			load setblackgeneration
			}if
	}if
}def
/setcolorrendering_opt
{
	dup currentcolorrendering eq{
		pop
	}{
		clonedict
		begin
			/Intent Intent def
			currentdict
		end
		setcolorrendering
	}ifelse
}def
/cpaint_gcomp
{
	convert_to_process //Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf
	//Adobe_AGM_Core/AGMCORE_ConvertToProcess get not
	{
		(%end_cpaint_gcomp) flushinput
	}if
}def
/cpaint_gsep
{
	//Adobe_AGM_Core/AGMCORE_ConvertToProcess get
	{	
		(%end_cpaint_gsep) flushinput
	}if
}def
/cpaint_gend
{
	newpath
}def
/set_spot_alias_ary
{
	dup inherit_aliases
	//Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf
}def
/set_spot_normalization_ary
{
	dup inherit_aliases
	dup length
	/AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add} if
	array
	//Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf
	/AGMCORE_SpotAliasAry where{
		pop
		AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval
		AGMCORE_SpotAliasAry length
	}{0} ifelse
	AGMCORE_SpotAliasAry2 3 1 roll exch putinterval
	true set_spot_alias
}def
/inherit_aliases
{
	{dup /Name get map_alias {/CSD put}{pop} ifelse} forall
}def
/set_spot_alias
{
	/AGMCORE_SpotAliasAry2 where{
		/AGMCORE_current_spot_alias 3 -1 roll put
	}{
		pop
	}ifelse
}def
/current_spot_alias
{
	/AGMCORE_SpotAliasAry2 where{
		/AGMCORE_current_spot_alias get
	}{
		false
	}ifelse
}def
/map_alias
{
	/AGMCORE_SpotAliasAry2 where{
		begin
			/AGMCORE_name xdf
			false	
			AGMCORE_SpotAliasAry2{
				dup/Name get AGMCORE_name eq{
					/CSD get /CSD get_res
					exch pop true
					exit
				}{
					pop
				}ifelse
			}forall
		end
	}{
		pop false
	}ifelse
}bdf
/spot_alias
{
	true set_spot_alias
	/AGMCORE_&setcustomcolor AGMCORE_key_known not {
		//Adobe_AGM_Core/AGMCORE_&setcustomcolor /setcustomcolor load put
	} if
	/customcolor_tint 1 AGMCORE_gput
	//Adobe_AGM_Core begin
	/setcustomcolor
	{
		currentdict/TintProc known currentdict/CSA known and 3 1 roll
		//Adobe_AGM_Core begin
		dup /customcolor_tint exch AGMCORE_gput
		1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not
		current_spot_alias and{1 index 4 get map_alias}{false}ifelse
		{
			false set_spot_alias
			4 -1 roll{
				exch pop /sep_tint AGMCORE_gget exch
			}if
			mark 3 1 roll
			setsepcolorspace
			counttomark 0 ne{
				setsepcolor
			}if
			pop
			pop
			true set_spot_alias
		}{
			AGMCORE_&setcustomcolor
			pop
		}ifelse
		end
	}bdf
	end
}def
/begin_feature
{
	Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put
	count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put
	{Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if
}def
/end_feature
{
	2 dict begin
	/spd /setpagedevice load def
	/setpagedevice { get_gstate spd set_gstate } def
	stopped{$error/newerror false put}if
	end
	count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse
	countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse
	{Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if
}def
/set_negative
{
	//Adobe_AGM_Core begin
	/AGMCORE_inverting exch def
	level2{
		currentpagedevice/NegativePrint known{
			currentpagedevice/NegativePrint get //Adobe_AGM_Core/AGMCORE_inverting get ne{
				true begin_feature true{
						<< /NegativePrint //Adobe_AGM_Core/AGMCORE_inverting get >> setpagedevice
				}end_feature
			}if
			/AGMCORE_inverting false def
		}if
	}if
	AGMCORE_inverting{
		[{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer
		gsave newpath clippath 1 /setseparationgray where{pop setseparationgray}{setgray}ifelse 
		/AGMIRS_&fill where {pop AGMIRS_&fill}{fill} ifelse grestore
	}if
	end
}def
/lw_save_restore_override {
	/md where {
		pop
		md begin
		initializepage
		/initializepage{}def
		/pmSVsetup{} def
		/endp{}def
		/pse{}def
		/psb{}def
		/orig_showpage where
			{pop}
			{/orig_showpage /showpage load def}
		ifelse
		/showpage {orig_showpage gR} def
		end
	}if
}def
/pscript_showpage_override {
	/NTPSOct95 where
	{
		begin
		showpage
		save
		/showpage /restore load def
		/restore {exch pop}def
		end
	}if
}def
/driver_media_override
{
	/md where {
		pop
		md /initializepage known {
			md /initializepage {} put
		} if
		md /rC known {
			md /rC {4{pop}repeat} put
		} if
	}if
	/mysetup where {
		/mysetup [1 0 0 1 0 0] put
	}if
	Adobe_AGM_Core /AGMCORE_Default_CTM matrix currentmatrix put
	level2
		{Adobe_AGM_Core /AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if
}def
/driver_check_media_override
{
	/PrepsDict where
		{pop}
		{
		Adobe_AGM_Core /AGMCORE_Default_CTM get matrix currentmatrix ne
		Adobe_AGM_Core /AGMCORE_Default_PageSize get type /arraytype eq
			{
			Adobe_AGM_Core /AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and
			Adobe_AGM_Core /AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and
			}if
			{
			Adobe_AGM_Core /AGMCORE_Default_CTM get setmatrix
			}if
		}ifelse
}def
AGMCORE_err_strings begin
	/AGMCORE_bad_environ (Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. ) def
	/AGMCORE_color_space_onhost_seps (This job contains colors that will not separate with on-host methods. ) def
	/AGMCORE_invalid_color_space (This job contains an invalid color space. ) def
end
/set_def_ht
{
	AGMCORE_def_ht sethalftone
} def
end
systemdict /setpacking known
{
	setpacking
} if
%%EndResource
%%BeginResource: procset Adobe_CoolType_Core 2.25 0
%%Copyright: Copyright 1997-2005 Adobe Systems Incorporated.  All Rights Reserved.
%%Version: 2.25 0
10 dict begin
/Adobe_CoolType_Passthru currentdict def
/Adobe_CoolType_Core_Defined userdict /Adobe_CoolType_Core known def
Adobe_CoolType_Core_Defined
	{ /Adobe_CoolType_Core userdict /Adobe_CoolType_Core get def }
if
userdict /Adobe_CoolType_Core 60 dict dup begin put
/Adobe_CoolType_Version 2.25 def
/Level2?
	systemdict /languagelevel known dup
		{ pop systemdict /languagelevel get 2 ge }
	if def
Level2? not
	{
	/currentglobal false def
	/setglobal /pop load def
	/gcheck { pop false } bind def
	/currentpacking false def
	/setpacking /pop load def
	/SharedFontDirectory 0 dict def
	}
if
currentpacking
true setpacking
currentglobal false setglobal
userdict /Adobe_CoolType_Data 2 copy known not
	 { 2 copy 10 dict put }
if
get
	 begin
	 /@opStackCountByLevel 32 dict def
	 /@opStackLevel 0 def
	 /@dictStackCountByLevel 32 dict def
	 /@dictStackLevel 0 def
	 end
setglobal
/@_SaveStackLevels
	{
	Adobe_CoolType_Data
		begin
		/@vmState currentglobal def false setglobal
		@opStackCountByLevel
		@opStackLevel
		2 copy known not
			{
			2 copy
			3 dict dup /args
			7 index
			5 add array put
			put get
			}
			{
			get dup /args get dup length 3 index lt
				{
				dup length 5 add array exch
				1 index exch 0 exch putinterval
				1 index exch /args exch put
				}
				{ pop }
			ifelse
			}
		ifelse
			begin
			count 1 sub
			1 index lt
				{ pop count }
			if
			dup /argCount exch def
			dup 0 gt
				{
				args exch 0 exch getinterval 
			astore pop
				}
				{ pop }
			ifelse
			count
			/restCount exch def
			end
		/@opStackLevel @opStackLevel 1 add def
		countdictstack 1 sub
		@dictStackCountByLevel exch @dictStackLevel exch put
		/@dictStackLevel @dictStackLevel 1 add def
		@vmState setglobal
		end
	} bind def
/@_RestoreStackLevels
	{
	Adobe_CoolType_Data
		begin
		/@opStackLevel @opStackLevel 1 sub def
		@opStackCountByLevel @opStackLevel get
			begin
			count restCount sub dup 0 gt
				{ { pop } repeat }
				{ pop }
			ifelse
			args 0 argCount getinterval {} forall
			end
		/@dictStackLevel @dictStackLevel 1 sub def
		@dictStackCountByLevel @dictStackLevel get
		end
	countdictstack exch sub dup 0 gt
		{ { end } repeat }
		{ pop }
	ifelse
	} bind def
/@_PopStackLevels
	{
	Adobe_CoolType_Data
		begin
		/@opStackLevel @opStackLevel 1 sub def
		/@dictStackLevel @dictStackLevel 1 sub def
		end
	} bind def
/@Raise
	{
	exch cvx exch errordict exch get exec
	stop
	} bind def
/@ReRaise
	{
	cvx $error /errorname get errordict exch get exec
	stop
	} bind def
/@Stopped
	{
	0 @#Stopped
	} bind def
/@#Stopped
	{
	@_SaveStackLevels
	stopped
		{ @_RestoreStackLevels true }
		{ @_PopStackLevels false }
	ifelse
	} bind def
/@Arg
	{
	Adobe_CoolType_Data
		begin
		@opStackCountByLevel @opStackLevel 1 sub get
		begin
		args exch
		argCount 1 sub exch sub get
		end
		end
	} bind def
currentglobal true setglobal
/CTHasResourceForAllBug
	Level2?
		{
		1 dict dup
				/@shouldNotDisappearDictValue true def
				Adobe_CoolType_Data exch /@shouldNotDisappearDict exch put
				begin
				count @_SaveStackLevels
					 { (*) { pop stop } 128 string /Category resourceforall }
				stopped pop
				@_RestoreStackLevels
				currentdict Adobe_CoolType_Data /@shouldNotDisappearDict get ne dup
					 {
						  /@shouldNotDisappearDictValue known
								{
										  {
												end
												currentdict 1 index eq
													 { pop exit }
												if
										  }
									 loop
								}
						  if
					 }
				if
				end
		}
		{ false }
	ifelse
	def
true setglobal
/CTHasResourceStatusBug
	Level2?
		{
		mark
			{ /steveamerige /Category resourcestatus }
		stopped
			{ cleartomark true }
			{ cleartomark currentglobal not }
		ifelse
		}
		{ false }
	ifelse
	def
setglobal
/CTResourceStatus
		{
		mark 3 1 roll
		/Category findresource
			begin
			({ResourceStatus} stopped) 0 () /SubFileDecode filter cvx exec
				{ cleartomark false }
				{ { 3 2 roll pop true } { cleartomark false } ifelse }
			ifelse
			end
		} bind def
/CTWorkAroundBugs
	{
	Level2?
		{
		/cid_PreLoad /ProcSet resourcestatus
			{
			pop pop
			currentglobal
			mark
				{
				(*)
					{
					dup /CMap CTHasResourceStatusBug
						{ CTResourceStatus }
						{ resourcestatus }
					ifelse
						{
						pop dup 0 eq exch 1 eq or
							{
							dup /CMap findresource gcheck setglobal
							/CMap undefineresource
							}
							{
							pop CTHasResourceForAllBug
								{ exit }
								{ stop }
							ifelse
							}
						ifelse
						}
						{ pop }
					ifelse
					}
				128 string /CMap resourceforall
				}
			stopped
				{ cleartomark }
			stopped pop
			setglobal
			}
		if
		}
	if
	} bind def
/doc_setup
	{
	Adobe_CoolType_Core
		begin
		CTWorkAroundBugs
		/mov /moveto load def
		/nfnt /newencodedfont load def
		/mfnt /makefont load def
		/sfnt /setfont load def
		/ufnt /undefinefont load def
		/chp /charpath load def
		/awsh /awidthshow load def
		/wsh /widthshow load def
		/ash /ashow load def
		/sh /show load def
		end
		currentglobal false setglobal
	  userdict /Adobe_CoolType_Data 2 copy known not
		  { 2 copy 10 dict put }
		if
		get
		begin
		/AddWidths? false def
		/CC 0 def
		/charcode 2 string def
		/@opStackCountByLevel 32 dict def
		/@opStackLevel 0 def
		/@dictStackCountByLevel 32 dict def
		/@dictStackLevel 0 def
		/InVMFontsByCMap 10 dict def
		/InVMDeepCopiedFonts 10 dict def
		end
		setglobal
	} bind def
/doc_trailer
	{
	currentdict Adobe_CoolType_Core eq
		{ end }
	if
	} bind def
/page_setup
	{
	Adobe_CoolType_Core begin
	} bind def
/page_trailer
	{
	end
	} bind def
/unload
	{
	systemdict /languagelevel known
		{
		systemdict/languagelevel get 2 ge
			{
			userdict/Adobe_CoolType_Core 2 copy known
				{ undef }
				{ pop pop }
			ifelse
			}
		if
		}
	if
	} bind def
/ndf
	{
	1 index where
		{ pop pop pop }
		{ dup xcheck { bind } if def }
	ifelse
	} def
/findfont systemdict
	begin
	userdict
		begin
		/globaldict where { /globaldict get begin } if
			dup where pop exch get
		/globaldict where { pop end } if
		end
	end
Adobe_CoolType_Core_Defined
	{ /systemfindfont exch def }
	{
	/findfont 1 index def
	/systemfindfont exch def
	}
ifelse
/undefinefont
	{ pop } ndf
/copyfont
	{
	currentglobal 3 1 roll
	1 index gcheck setglobal
	dup null eq { 0 } { dup length } ifelse
	2 index length add 1 add dict
		begin
		exch
			{
			1 index /FID eq
				{ pop pop }
				{ def }
			ifelse
			}
		forall
		dup null eq
			{ pop }
			{ { def } forall }
		ifelse
		currentdict
		end
	exch setglobal
	} bind def
/copyarray
	{
	currentglobal exch
	dup gcheck setglobal
	dup length array copy
	exch setglobal
	} bind def
/newencodedfont
	{
	currentglobal
		{
		SharedFontDirectory 3 index  known
			{ SharedFontDirectory 3 index get /FontReferenced known }
			{ false }
		ifelse
		}
		{
		FontDirectory 3 index known
			{ FontDirectory 3 index get /FontReferenced known }
			{
			SharedFontDirectory 3 index known
				{ SharedFontDirectory 3 index get /FontReferenced known }
				{ false }
			ifelse
			}
		ifelse
		}
	ifelse
	dup
		{
		3 index findfont /FontReferenced get
		2 index dup type /nametype eq
			{findfont}
		if ne
			{ pop false }
		if
		}
	if
		{
		pop
		1 index findfont
		/Encoding get exch
		0 1 255
			{ 2 copy get 3 index 3 1 roll put }
		for
		pop pop pop
		}
		{
		dup type /nametype eq
		  { findfont }
	  if
		dup dup maxlength 2 add dict
			begin
			exch
				{
				1 index /FID ne
					{def}
					{pop pop}
				ifelse
				}
			forall
			/FontReferenced exch def
			/Encoding exch dup length array copy def
			/FontName 1 index dup type /stringtype eq { cvn } if def dup
			currentdict
			end
		definefont def
		}
	ifelse
	} bind def
/SetSubstituteStrategy
	{
	$SubstituteFont
		begin
		dup type /dicttype ne
			{ 0 dict }
		if
		currentdict /$Strategies known
			{
			exch $Strategies exch 
			2 copy known
				{
				get
				2 copy maxlength exch maxlength add dict
					begin
					{ def } forall
					{ def } forall
					currentdict
					dup /$Init known
						{ dup /$Init get exec }
					if
					end
				/$Strategy exch def
				}
				{ pop pop pop }
			ifelse
			}
			{ pop pop }
		ifelse
		end
	} bind def
/scff
	{
	$SubstituteFont
		begin
		dup type /stringtype eq
			{ dup length exch }
			{ null }
		ifelse
		/$sname exch def
		/$slen exch def
		/$inVMIndex
			$sname null eq
				{
				1 index $str cvs
				dup length $slen sub $slen getinterval cvn
				}
				{ $sname }
			ifelse def
		end
		{ findfont }
	@Stopped
		{
		dup length 8 add string exch
		1 index 0 (BadFont:) putinterval
		1 index exch 8 exch dup length string cvs putinterval cvn
			{ findfont }
		@Stopped
			{ pop /Courier findfont }
		if
		}
	if
	$SubstituteFont
		begin
		/$sname null def
		/$slen 0 def
		/$inVMIndex null def
		end
	} bind def
/isWidthsOnlyFont
	{
	dup /WidthsOnly known
		{ pop pop true }
		{
		dup /FDepVector known
			{ /FDepVector get { isWidthsOnlyFont dup { exit } if } forall }
			{
			dup /FDArray known
				{ /FDArray get { isWidthsOnlyFont dup { exit } if } forall }
				{ pop }
			ifelse
			}
		ifelse
		}
	ifelse
	} bind def
/?str1 256 string def
/?set
	{
	$SubstituteFont
		begin
		/$substituteFound false def
		/$fontname 4 index def
		/$doSmartSub false def
		end
	3 index
	currentglobal false setglobal exch
	/CompatibleFonts /ProcSet resourcestatus
		{
		pop pop
		/CompatibleFonts /ProcSet findresource
			begin
			dup /CompatibleFont currentexception
			1 index /CompatibleFont true setexception
			1 index /Font resourcestatus
				{
				pop pop
				3 2 roll setglobal
				end
				exch
				dup findfont
				/CompatibleFonts /ProcSet findresource
					begin
					3 1 roll exch /CompatibleFont exch setexception
					end
				}
				{
				3 2 roll setglobal
				1 index exch /CompatibleFont exch setexception
				end
				findfont
				$SubstituteFont /$substituteFound true put
				}
			ifelse
		}
		{ exch setglobal findfont }
	ifelse
	$SubstituteFont
		begin
		$substituteFound
			{
		 false
		 (%%[Using embedded font ) print
		 5 index ?str1 cvs print
		 ( to avoid the font substitution problem noted earlier.]%%\n) print
		 }
			{
			dup /FontName known
				{
				dup /FontName get $fontname eq
				1 index /DistillerFauxFont known not and
				/currentdistillerparams where
					{ pop false 2 index isWidthsOnlyFont not and }
				if
				}
				{ false }
			ifelse
			}
		ifelse
		exch pop
		/$doSmartSub true def
		end
		{
		exch pop exch pop exch
		2 dict dup /Found 3 index put
		exch findfont exch
		}
		{
		exch exec
		exch dup findfont
		dup /FontType get 3 eq
	  {
		  exch ?str1 cvs
		  dup length 1 sub
		  -1 0
		{
			  exch dup 2 index get 42 eq
			{
				 exch 0 exch getinterval cvn 4 1 roll 3 2 roll pop
				 exit
			  }
			  {exch pop} ifelse
		  }for
		}
		{
		 exch pop
	  } ifelse
		2 dict dup /Downloaded 6 5 roll put
		}
	ifelse
	dup /FontName 4 index put copyfont definefont pop
	} bind def
/?str2 256 string def
/?add
	{
	1 index type /integertype eq
		{ exch true 4 2 }
		{ false 3 1 }
	ifelse
	roll
	1 index findfont
	dup /Widths known
		{
		Adobe_CoolType_Data /AddWidths? true put
		gsave dup 1000 scalefont setfont
		}
	if
	/Downloaded known
		{
		exec
		exch
			{
			exch ?str2 cvs exch
			findfont /Downloaded get 1 dict begin /Downloaded 1 index def ?str1 cvs length
			?str1 1 index 1 add 3 index putinterval
			exch length 1 add 1 index add
			?str1 2 index (*) putinterval
			?str1 0 2 index getinterval cvn findfont 
			?str1 3 index (+) putinterval
			2 dict dup /FontName ?str1 0 6 index getinterval cvn put
			dup /Downloaded Downloaded put end copyfont
			dup /FontName get exch definefont pop pop pop
			}
			{
			pop
			}
		ifelse
		}
		{
		pop
		exch
			{
			findfont
			dup /Found get
			dup length exch ?str1 cvs pop
			?str1 1 index (+) putinterval
			?str1 1 index 1 add 4 index ?str2 cvs putinterval
			?str1 exch 0 exch 5 4 roll ?str2 cvs length 1 add add getinterval cvn
			1 dict exch 1 index exch /FontName exch put copyfont
			dup /FontName get exch definefont pop
			}
			{
			pop
			}
		ifelse
		}
	ifelse
	Adobe_CoolType_Data /AddWidths? get
		{ grestore Adobe_CoolType_Data /AddWidths? false put }
	if
	} bind def
/?sh
	{
	currentfont /Downloaded known { exch } if pop
	} bind def
/?chp
	{
	currentfont /Downloaded known { pop } { false chp } ifelse
	} bind def
/?mv 
	{
	currentfont /Downloaded known { moveto pop pop } { pop pop moveto } ifelse
	} bind def
setpacking
userdict /$SubstituteFont 25 dict put
1 dict
	begin
	/SubstituteFont
		dup $error exch 2 copy known
			{ get }
			{ pop pop { pop /Courier } bind }
		ifelse def
	/currentdistillerparams where dup
		{
		pop pop
		currentdistillerparams /CannotEmbedFontPolicy 2 copy known
			{ get /Error eq }
			{ pop pop false }
		ifelse
		}
	if not
		{
		countdictstack array dictstack 0 get
			begin
			userdict
				begin
				$SubstituteFont
					begin
					/$str 128 string def
					/$fontpat 128 string def
					/$slen 0 def
					/$sname null def
					/$match false def
					/$fontname null def
					/$substituteFound false def
					/$inVMIndex null def
					/$doSmartSub true def
					/$depth 0 def
					/$fontname null def
					/$italicangle 26.5 def
					/$dstack null def
					/$Strategies 10 dict dup
						begin
						/$Type3Underprint
							{
							currentglobal exch false setglobal
							11 dict
								begin
								/UseFont exch
									$WMode 0 ne
										{
										dup length dict copy
										dup /WMode $WMode put
										/UseFont exch definefont
										}
									if def
								/FontName $fontname dup type /stringtype eq { cvn } if def
								/FontType 3 def
								/FontMatrix [ .001 0 0 .001 0 0 ] def
								/Encoding 256 array dup 0 1 255 { /.notdef put dup } for pop def
								/FontBBox [ 0 0 0 0 ] def
								/CCInfo 7 dict dup
									begin
									/cc null def
									/x 0 def
									/y 0 def
									end def
								/BuildChar
									{
									exch
										begin
										CCInfo
											begin
											1 string dup 0 3 index put exch pop
											/cc exch def
											UseFont 1000 scalefont setfont
											cc stringwidth /y exch def /x exch def
											x y setcharwidth
											$SubstituteFont /$Strategy get /$Underprint get exec
											0 0 moveto cc show
											x y moveto
											end
										end
									} bind def
								currentdict
								end
							exch setglobal
							} bind def
						/$GetaTint
							2 dict dup
								begin
								/$BuildFont
									{
									dup /WMode known
										{ dup /WMode get }
										{ 0 }
									ifelse
									/$WMode exch def
									$fontname exch
									dup /FontName known
										{
										dup /FontName get
										dup type /stringtype eq { cvn } if
										}
										{ /unnamedfont }
									ifelse
									exch
									Adobe_CoolType_Data /InVMDeepCopiedFonts get
									1 index /FontName get known
										{
										pop
										Adobe_CoolType_Data /InVMDeepCopiedFonts get
										1 index get
										null copyfont
										}
										{ $deepcopyfont }
									ifelse
									exch 1 index exch /FontBasedOn exch put
									dup /FontName $fontname dup type /stringtype eq { cvn } if put
									definefont
									Adobe_CoolType_Data /InVMDeepCopiedFonts get
										begin
										dup /FontBasedOn get 1 index def
										end
									} bind def
								/$Underprint
									{
									gsave
									x abs y abs gt
										{ /y 1000 def }
										{ /x -1000 def 500 120 translate }
									ifelse
									Level2?
										{
										[ /Separation (All) /DeviceCMYK { 0 0 0 1 pop } ]
										setcolorspace
										}
										{ 0 setgray }
									ifelse
									10 setlinewidth
									x .8 mul
									[ 7 3 ]
										{
										y mul 8 div 120 sub x 10 div exch moveto
										0 y 4 div neg rlineto
										dup 0 rlineto
										0 y 4 div rlineto
										closepath
										gsave
										Level2?
											{ .2 setcolor }
											{ .8 setgray }
										ifelse
										fill grestore
										stroke
										}
									forall
									pop
									grestore
									} bind def
								end def
						/$Oblique
							1 dict dup
								begin
								/$BuildFont
									{
									currentglobal exch dup gcheck setglobal
									null copyfont
										begin
										/FontBasedOn
										currentdict /FontName known
											{
											FontName
											dup type /stringtype eq { cvn } if
											}
											{ /unnamedfont }
										ifelse
										def
										/FontName $fontname dup type /stringtype eq { cvn } if def
										/currentdistillerparams where
											{ pop }
											{
											/FontInfo currentdict /FontInfo known
												{ FontInfo null copyfont }
												{ 2 dict }
											ifelse
											dup
												begin
												/ItalicAngle $italicangle def
												/FontMatrix FontMatrix
												[ 1 0 ItalicAngle dup sin exch cos div 1 0 0 ]
												matrix concatmatrix readonly
												end
											4 2 roll def
											def
											}
										ifelse
										FontName currentdict
										end
									definefont
									exch setglobal
									} bind def
								end def
						/$None
							1 dict dup
								begin
								/$BuildFont {} bind def
								end def
						end def
					/$Oblique SetSubstituteStrategy
					/$findfontByEnum
						{
						dup type /stringtype eq { cvn } if
						dup /$fontname exch def
						$sname null eq
							{ $str cvs dup length $slen sub $slen getinterval }
							{ pop $sname }
						ifelse
						$fontpat dup 0 (fonts/*) putinterval exch 7 exch putinterval
						/$match false def
						$SubstituteFont /$dstack countdictstack array dictstack put
						mark
							{
							$fontpat 0 $slen 7 add getinterval
								{ /$match exch def exit }
							$str filenameforall
							}
						stopped
							{
							cleardictstack
							currentdict
							true
							$SubstituteFont /$dstack get
								{
								exch
									{
									1 index eq
										{ pop false }
										{ true }
									ifelse
									}
									{ begin false }
								ifelse
								}
							forall
							pop
							}
						if
						cleartomark
						/$slen 0 def
						$match false ne
							{ $match (fonts/) anchorsearch pop pop cvn }
							{ /Courier }
						ifelse
						} bind def
					/$ROS 1 dict dup
						begin
						/Adobe 4 dict dup
							begin
							/Japan1  [ /Ryumin-Light /HeiseiMin-W3
										  /GothicBBB-Medium /HeiseiKakuGo-W5
										  /HeiseiMaruGo-W4 /Jun101-Light ] def
							/Korea1  [ /HYSMyeongJo-Medium /HYGoThic-Medium ] def
							/GB1	  [ /STSong-Light /STHeiti-Regular ] def
							/CNS1	 [ /MKai-Medium /MHei-Medium ] def
							end def
						end def
					/$cmapname null def
					/$deepcopyfont
						{
						dup /FontType get 0 eq
							{
							1 dict dup /FontName /copied put copyfont
								begin
								/FDepVector FDepVector copyarray
								0 1 2 index length 1 sub
									{
									2 copy get $deepcopyfont
									dup /FontName /copied put
									/copied exch definefont
									3 copy put pop pop
									}
								for
								def
								currentdict
								end
							}
							{ $Strategies /$Type3Underprint get exec }
						ifelse
						} bind def
					/$buildfontname
						{
						dup /CIDFont findresource /CIDSystemInfo get
							begin
							Registry length Ordering length Supplement 8 string cvs
							3 copy length 2 add add add string
							dup 5 1 roll dup 0 Registry putinterval
							dup 4 index (-) putinterval
							dup 4 index 1 add Ordering putinterval
							4 2 roll add 1 add 2 copy (-) putinterval
							end
						1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch
						anchorsearch
							{ pop pop 3 2 roll putinterval cvn /$cmapname exch def }
							{ pop pop pop pop pop }
						ifelse
						length
						$str 1 index (-) putinterval 1 add
						$str 1 index $cmapname $fontpat cvs putinterval
						$cmapname length add
						$str exch 0 exch getinterval cvn
						} bind def
					/$findfontByROS
						{
						/$fontname exch def
						$ROS Registry 2 copy known
							{
							get Ordering 2 copy known
								{ get }
								{ pop pop [] }
							ifelse
							}
							{ pop pop [] }
						ifelse
						false exch
							{
							dup /CIDFont resourcestatus
								{
								pop pop
								save
								1 index /CIDFont findresource
								dup /WidthsOnly known
									{ dup /WidthsOnly get }
									{ false }
								ifelse
								exch pop
								exch restore
									{ pop }
									{ exch pop true exit }
								ifelse
								}
								{ pop }
							ifelse
							}
						forall
							{ $str cvs $buildfontname }
							{
							false (*)
								{
								save exch
								dup /CIDFont findresource
								dup /WidthsOnly known
									{ dup /WidthsOnly get not }
									{ true }
								ifelse
								exch /CIDSystemInfo get
								dup /Registry get Registry eq
								exch /Ordering get Ordering eq and and
									{ exch restore exch pop true exit }
									{ pop restore }
								ifelse
								}
							$str /CIDFont resourceforall
								{ $buildfontname }
								{ $fontname $findfontByEnum }
							ifelse
							}
						ifelse
						} bind def
					end
				end
				currentdict /$error known currentdict /languagelevel known and dup
					{ pop $error /SubstituteFont known }
				if
				dup
					{ $error }
					{ Adobe_CoolType_Core }
				ifelse
				begin
					{
					/SubstituteFont
					/CMap /Category resourcestatus
						{
						pop pop
						{
						$SubstituteFont
							begin
							/$substituteFound true def
							dup length $slen gt
							$sname null ne or
							$slen 0 gt and
								{
								$sname null eq
									{ dup $str cvs dup length $slen sub $slen getinterval cvn }
									{ $sname }
								ifelse
								Adobe_CoolType_Data /InVMFontsByCMap get
								1 index 2 copy known
									{
									get
									false exch
										{
										pop
										currentglobal
											{
											GlobalFontDirectory 1 index known
												{ exch pop true exit }
												{ pop }
											ifelse
											}
											{
											FontDirectory 1 index known
												{ exch pop true exit }
												{
												GlobalFontDirectory 1 index known
													{ exch pop true exit }
													{ pop }
												ifelse
												}
											ifelse
											}
										ifelse
										}
									forall
									}
									{ pop pop false }
								ifelse
									{
									exch pop exch pop
									}
									{
									dup /CMap resourcestatus
										{
										pop pop
										dup /$cmapname exch def
										/CMap findresource /CIDSystemInfo get { def } forall
										$findfontByROS
										}
										{
										128 string cvs
										dup (-) search
											{
											3 1 roll search
												{
												3 1 roll pop
													{ dup cvi }
												stopped
													{ pop pop pop pop pop $findfontByEnum }
													{
													4 2 roll pop pop
													exch length
													exch
													2 index length
													2 index
													sub
													exch 1 sub -1 0
														{
														$str cvs dup length
														4 index
														0
														4 index
														4 3 roll add
														getinterval
														exch 1 index exch 3 index exch
														putinterval
														dup /CMap resourcestatus
															{
															pop pop
															4 1 roll pop pop pop
															dup /$cmapname exch def
															/CMap findresource /CIDSystemInfo get { def } forall
															$findfontByROS
															true exit
															}
															{ pop }
														ifelse
														}
													for
													dup type /booleantype eq
														{ pop }
														{ pop pop pop $findfontByEnum }
													ifelse
													}
												ifelse
												}
												{ pop pop pop $findfontByEnum }
											ifelse
											}
											{ pop pop $findfontByEnum }
										ifelse
										}
									ifelse
									}
								ifelse
								}
								{ //SubstituteFont exec }
							ifelse
							/$slen 0 def
							end
						}
						}
						{
						{
						$SubstituteFont
							begin
							/$substituteFound true def
							dup length $slen gt
							$sname null ne or
							$slen 0 gt and
								{ $findfontByEnum }
								{ //SubstituteFont exec }
							ifelse
							end
						}
						}
					ifelse
					bind readonly def
					Adobe_CoolType_Core /scfindfont /systemfindfont load put
					}
					{
					/scfindfont
						{
						$SubstituteFont
							begin
							dup systemfindfont
							dup /FontName known
								{ dup /FontName get dup 3 index ne }
								{ /noname true }
							ifelse
							dup
								{
								/$origfontnamefound 2 index def
								/$origfontname 4 index def /$substituteFound true def
								}
							if
							exch pop
								{
								$slen 0 gt
								$sname null ne
								3 index length $slen gt or and
									{
									pop dup $findfontByEnum findfont
									dup maxlength 1 add dict
										begin
											{ 1 index /FID eq { pop pop } { def } ifelse }
										forall
										currentdict
										end
									definefont
									dup /FontName known { dup /FontName get } { null } ifelse
									$origfontnamefound ne
										{
										$origfontname $str cvs print
										( substitution revised, using ) print
										dup /FontName known
											{ dup /FontName get } { (unspecified font) }
										ifelse
										$str cvs print (.\n) print
										}
									if
									}
									{ exch pop }
								ifelse
								}
								{ exch pop }
							ifelse
							end
						} bind def
					}
				ifelse
				end
			end
		Adobe_CoolType_Core_Defined not
			{
			Adobe_CoolType_Core /findfont
				{
				$SubstituteFont
					begin
					$depth 0 eq
						{
						/$fontname 1 index dup type /stringtype ne { $str cvs } if def
						/$substituteFound false def
						}
					if
					/$depth $depth 1 add def
					end
				scfindfont
				$SubstituteFont
					begin
					/$depth $depth 1 sub def
					$substituteFound $depth 0 eq and
						{
						$inVMIndex null ne
							{ dup $inVMIndex $AddInVMFont }
						if
						$doSmartSub
							{
							currentdict /$Strategy known
								{ $Strategy /$BuildFont get exec }
							if
							}
						if
						}
					if
					end
				} bind put
			}
		if
		}
	if
	end
/$AddInVMFont
	{
	exch /FontName 2 copy known
		{
		get
		1 dict dup begin exch 1 index gcheck def end exch
		Adobe_CoolType_Data /InVMFontsByCMap get exch
		$DictAdd
		}
		{ pop pop pop }
	ifelse
	} bind def
/$DictAdd
	{
	2 copy known not
		{ 2 copy 4 index length dict put }
	if
	Level2? not
		{
		2 copy get dup maxlength exch length 4 index length add lt
		2 copy get dup length 4 index length add exch maxlength 1 index lt
			{
			2 mul dict
				begin
				2 copy get { forall } def
				2 copy currentdict put
				end
			}
			{ pop }
		ifelse
		}
	if
	get
		begin
			{ def }
		forall
		end
	} bind def
end
end
%%EndResource
%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.21 0
%%Copyright: Copyright 1987-2005 Adobe Systems Incorporated.
%%Version: 1.21 0
systemdict /languagelevel known dup
	{ currentglobal false setglobal }
	{ false }
ifelse
exch
userdict /Adobe_CoolType_Utility 2 copy known
	{ 2 copy get dup maxlength 27 add dict copy }
	{ 27 dict }
ifelse put
Adobe_CoolType_Utility
	begin
	/@eexecStartData
		  <BAB431EA07F209EB8C4348311481D9D3F76E3D15246555577D87BC510ED54E
		 118C39697FA9F6DB58128E60EB8A12FA24D7CDD2FA94D221FA9EC8DA3E5E6A1C
		 4ACECC8C2D39C54E7C946031DD156C3A6B4A09AD29E1867A> def
	/@recognizeCIDFont null def
	/ct_Level2? exch def
	/ct_Clone? 1183615869 internaldict dup
			/CCRun known not
			exch /eCCRun known not
			ct_Level2? and or def
ct_Level2?
	{ globaldict begin currentglobal true setglobal }
if
	/ct_AddStdCIDMap
		ct_Level2?
			{ {
				mark
				Adobe_CoolType_Utility /@recognizeCIDFont currentdict put
					 {
					 ((Hex) 57 StartData
					 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0
					 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60
					 d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8
					 cc36 74f4 1144 b13b 77) 0 () /SubFileDecode filter cvx exec
					 }
				stopped
					 {
					 cleartomark
					 Adobe_CoolType_Utility /@recognizeCIDFont get
					 countdictstack dup array dictstack
					 exch 1 sub -1 0
						  {
						  2 copy get 3 index eq
								{ 1 index length exch sub 1 sub { end } repeat exit }
								{ pop }
						  ifelse
						  }
					 for
					 pop pop
					 Adobe_CoolType_Utility /@eexecStartData get eexec
					 }
					 { cleartomark }
				ifelse
			} }
			{ {
				Adobe_CoolType_Utility /@eexecStartData get eexec
			} }
		ifelse bind def
userdict /cid_extensions known
dup { cid_extensions /cid_UpdateDB known and } if
	 {
	 cid_extensions
	 begin
	 /cid_GetCIDSystemInfo
		 {
		 1 index type /stringtype eq
			 { exch cvn exch }
		 if
		 cid_extensions
			 begin
			 dup load 2 index known
				 {
				 2 copy
				 cid_GetStatusInfo
				 dup null ne
					 {
					 1 index load
					 3 index get
					 dup null eq
						  { pop pop cid_UpdateDB }
						  {
						  exch
						  1 index /Created get eq
							  { exch pop exch pop }
							  { pop cid_UpdateDB }
						  ifelse
						  }
					 ifelse
					 }
					 { pop cid_UpdateDB }
				 ifelse
				 }
				 { cid_UpdateDB }
			 ifelse
			 end
		 } bind def
	 end
	 }
if
ct_Level2?
	{ end setglobal }
if
	/ct_UseNativeCapability?  systemdict /composefont known def
	/ct_MakeOCF 35 dict def
	/ct_Vars 25 dict def
	/ct_GlyphDirProcs 6 dict def
	/ct_BuildCharDict 15 dict dup
		begin
		/charcode 2 string def
		/dst_string 1500 string def
		/nullstring () def
		/usewidths? true def
		end def
	ct_Level2? { setglobal } { pop } ifelse
	ct_GlyphDirProcs
		begin
		/GetGlyphDirectory
			{
			systemdict /languagelevel known
				{ pop /CIDFont findresource /GlyphDirectory get }
				{
				1 index /CIDFont findresource /GlyphDirectory
				get dup type /dicttype eq
					{
					dup dup maxlength exch length sub 2 index lt
						{
						dup length 2 index add dict copy 2 index
						/CIDFont findresource/GlyphDirectory 2 index put
						}
					if
					}
				if
				exch pop exch pop
				}
			ifelse
			+
			} def
		/+
			{
			systemdict /languagelevel known
				{
				currentglobal false setglobal
				3 dict begin
					/vm exch def
				}
				{ 1 dict begin }
			ifelse
			/$ exch def
			systemdict /languagelevel known
				{
				vm setglobal
				/gvm currentglobal def
				$ gcheck setglobal
				}
			if
			? { $ begin } if
			} def
		/? { $ type /dicttype eq } def
		/| {
			userdict /Adobe_CoolType_Data known
				{
			Adobe_CoolType_Data /AddWidths? known
				{
				 currentdict Adobe_CoolType_Data
					begin
					  begin
						AddWidths?
								{
								Adobe_CoolType_Data /CC 3 index put
								? { def } { $ 3 1 roll put } ifelse
								CC charcode exch 1 index 0 2 index 256 idiv put
								1 index exch 1 exch 256 mod put
								stringwidth 2 array astore
								currentfont /Widths get exch CC exch put
								}
								{ ? { def } { $ 3 1 roll put } ifelse }
							ifelse
					end
				end
				}
				{ ? { def } { $ 3 1 roll put } ifelse }	ifelse
				}
				{ ? { def } { $ 3 1 roll put } ifelse }
			ifelse
			} def
		/!
			{
			? { end } if
			systemdict /languagelevel known
				{ gvm setglobal }
			if
			end
			} def
		/: { string currentfile exch readstring pop } executeonly def
		end
	ct_MakeOCF
		begin
		/ct_cHexEncoding
		[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12
		 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25
		 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38
		 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B
		 /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E
		 /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71
		 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84
		 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97
		 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA
		 /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD
		 /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0
		 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3
		 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6
		 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF] def
		/ct_CID_STR_SIZE 8000 def
		/ct_mkocfStr100 100 string def
		/ct_defaultFontMtx [.001 0 0 .001 0 0] def
		/ct_1000Mtx [1000 0 0 1000 0 0] def
		/ct_raise {exch cvx exch errordict exch get exec stop} bind def
		/ct_reraise
			{ cvx $error /errorname get (Error: ) print dup (						  ) cvs print
					errordict exch get exec stop
			} bind def
		/ct_cvnsi
			{
			1 index add 1 sub 1 exch 0 4 1 roll
				{
				2 index exch get
				exch 8 bitshift
				add
				}
			for
			exch pop
			} bind def
		/ct_GetInterval
			{
			Adobe_CoolType_Utility /ct_BuildCharDict get
				begin
				/dst_index 0 def
				dup dst_string length gt
					{ dup string /dst_string exch def }
				if
				1 index ct_CID_STR_SIZE idiv
				/arrayIndex exch def
				2 index arrayIndex  get
				2 index
				arrayIndex ct_CID_STR_SIZE mul
				sub
					{
					dup 3 index add 2 index length le
						{
						2 index getinterval
						dst_string  dst_index 2 index putinterval
						length dst_index add /dst_index exch def
						exit
						}
						{
						1 index length 1 index sub
						dup 4 1 roll
						getinterval
						dst_string  dst_index 2 index putinterval
						pop dup dst_index add /dst_index exch def
						sub
						/arrayIndex arrayIndex 1 add def
						2 index dup length arrayIndex gt
							  { arrayIndex get }
							  {
							  pop
							  exit
							  }
						ifelse
						0
						}
					ifelse
					}
				loop
				pop pop pop
				dst_string 0 dst_index getinterval
				end
			} bind def
		ct_Level2?
			{
			/ct_resourcestatus
			currentglobal mark true setglobal
				{ /unknowninstancename /Category resourcestatus }
			stopped
				{ cleartomark setglobal true }
				{ cleartomark currentglobal not exch setglobal }
			ifelse
				{
					{
					mark 3 1 roll /Category findresource
						begin
						ct_Vars /vm currentglobal put
						({ResourceStatus} stopped) 0 () /SubFileDecode filter cvx exec
							{ cleartomark false }
							{ { 3 2 roll pop true } { cleartomark false } ifelse }
						ifelse
						ct_Vars /vm get setglobal
						end
					}
				}
				{ { resourcestatus } }
			ifelse bind def
			/CIDFont /Category ct_resourcestatus
				{ pop pop }
				{
				currentglobal  true setglobal
				/Generic /Category findresource
				dup length dict copy
				dup /InstanceType /dicttype put
				/CIDFont exch /Category defineresource pop
				setglobal
				}
			ifelse
			ct_UseNativeCapability?
				{
				/CIDInit /ProcSet findresource begin
				12 dict begin
				begincmap
				/CIDSystemInfo 3 dict dup begin
				  /Registry (Adobe) def
				  /Ordering (Identity) def
				  /Supplement 0 def
				end def
				/CMapName /Identity-H def
				/CMapVersion 1.000 def
				/CMapType 1 def
				1 begincodespacerange
				<0000> <FFFF>
				endcodespacerange
				1 begincidrange
				<0000> <FFFF> 0
				endcidrange
				endcmap
				CMapName currentdict /CMap defineresource pop
				end
				end
				}
			if
			}
			{
			/ct_Category 2 dict begin
			/CIDFont  10 dict def
			/ProcSet	2 dict def
			currentdict
			end
			def
			/defineresource
				{
				ct_Category 1 index 2 copy known
					{
					get
					dup dup maxlength exch length eq
						{
						dup length 10 add dict copy
						ct_Category 2 index 2 index put
						}
					if
					3 index 3 index put
					pop exch pop
					}
					{ pop pop /defineresource /undefined ct_raise }
				ifelse
				} bind def
			/findresource
				{
				ct_Category 1 index 2 copy known
					{
					get
					2 index 2 copy known
						{ get 3 1 roll pop pop}
						{ pop pop /findresource /undefinedresource ct_raise }
					ifelse
					}
					{ pop pop /findresource /undefined ct_raise }
				ifelse
				} bind def
			/resourcestatus
				{
				ct_Category 1 index 2 copy known
					{
					get
					2 index known
					exch pop exch pop
						{
						0 -1 true
						}
						{
						false
						}
					ifelse
					}
					{ pop pop /findresource /undefined ct_raise }
				ifelse
				} bind def
			/ct_resourcestatus /resourcestatus load def
			}
		ifelse
		/ct_CIDInit 2 dict
			begin
			/ct_cidfont_stream_init
				{
					{
					dup (Binary) eq
						{
						pop
						null
						currentfile
						ct_Level2?
							{
								{ cid_BYTE_COUNT () /SubFileDecode filter }
							stopped
								{ pop pop pop }
							if
							}
						if
						/readstring load
						exit
						}
					if
					dup (Hex) eq
						{
						pop
						currentfile
						ct_Level2?
							{
								{ null exch /ASCIIHexDecode filter /readstring }
							stopped
								{ pop exch pop (>) exch /readhexstring }
							if
							}
							{ (>) exch /readhexstring }
						ifelse
						load
						exit
						}
					if
					/StartData /typecheck ct_raise
					}
				loop
				cid_BYTE_COUNT ct_CID_STR_SIZE le
					{
					2 copy cid_BYTE_COUNT string exch exec
					pop
					1 array dup
					3 -1 roll
					0 exch put
					}
					{
					cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi
					dup array exch 2 sub 0 exch 1 exch
						{
						2 copy
						5 index
						ct_CID_STR_SIZE
						string
						6 index exec
						pop
						put
						pop
						}
					for
					2 index
					cid_BYTE_COUNT ct_CID_STR_SIZE mod string
					3 index exec
					pop
					1 index exch
					1 index length 1 sub
					exch put
					}
				ifelse
				cid_CIDFONT exch /GlyphData exch put
				2 index null eq
					{
					pop pop pop
					}
					{
					pop /readstring load
					1 string exch
						{
						3 copy exec
						pop
						dup length 0 eq
							{
							pop pop pop pop pop
							true exit
							}
						if
						4 index
						eq
							{
							pop pop pop pop
							false exit
							}
						if
						}
					loop
					pop
					}
				ifelse
				} bind def
			/StartData
				{
				mark
					{
					currentdict
					dup /FDArray get 0 get /FontMatrix get
					0 get 0.001 eq
						{
						dup /CDevProc known not
							{
							/CDevProc 1183615869 internaldict /stdCDevProc 2 copy known
								{ get }
								{
								pop pop
								{ pop pop pop pop pop 0 -1000 7 index 2 div 880 }
								}
							ifelse
							def
							}
						if
						}
						{
						 /CDevProc
							 {
							 pop pop pop pop pop
							 0
							 1 cid_temp /cid_CIDFONT get
							 /FDArray get 0 get
							 /FontMatrix get 0 get div
							 7 index 2 div
							 1 index 0.88 mul
							 } def
						}
					ifelse
					/cid_temp 15 dict def
					cid_temp
						begin
						/cid_CIDFONT exch def
						3 copy pop
						dup /cid_BYTE_COUNT exch def 0 gt
							{
							ct_cidfont_stream_init
							FDArray
								{
								/Private get
								dup /SubrMapOffset known
									{
									begin
									/Subrs SubrCount array def
									Subrs
									SubrMapOffset
									SubrCount
									SDBytes
									ct_Level2?
										{
										currentdict dup /SubrMapOffset undef
										dup /SubrCount undef
										/SDBytes undef
										}
									if
									end
									/cid_SD_BYTES exch def
									/cid_SUBR_COUNT exch def
									/cid_SUBR_MAP_OFFSET exch def
									/cid_SUBRS exch def
									cid_SUBR_COUNT 0 gt
										{
										GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval
										0 cid_SD_BYTES ct_cvnsi
										0 1 cid_SUBR_COUNT 1 sub
											{
											exch 1 index
											1 add
											cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add
											GlyphData exch cid_SD_BYTES ct_GetInterval
											0 cid_SD_BYTES ct_cvnsi
											cid_SUBRS 4 2 roll
											GlyphData exch
											4 index
											1 index
											sub
											ct_GetInterval
											dup length string copy put
											}
										for
										pop
										}
									if
									}
									{ pop }
								ifelse
								}
							forall
							}
						if
						cleartomark pop pop
						end
					CIDFontName currentdict /CIDFont defineresource pop
					end end
					}
				stopped
					{ cleartomark /StartData ct_reraise }
				if
				} bind def
			currentdict
			end def
		/ct_saveCIDInit
			{
			/CIDInit /ProcSet ct_resourcestatus
				{ true }
				{ /CIDInitC /ProcSet ct_resourcestatus }
			ifelse
				{
				pop pop
				/CIDInit /ProcSet findresource
				ct_UseNativeCapability?
					{ pop null }
					{ /CIDInit ct_CIDInit /ProcSet defineresource pop }
				ifelse
				}
				{ /CIDInit ct_CIDInit /ProcSet defineresource pop null }
			ifelse
			ct_Vars exch /ct_oldCIDInit exch put
			} bind def
		/ct_restoreCIDInit
			{
			ct_Vars /ct_oldCIDInit get dup null ne
				{ /CIDInit exch /ProcSet defineresource pop }
				{ pop }
			ifelse
			} bind def
		/ct_BuildCharSetUp
			{
			1 index
				begin
				CIDFont
					begin
					Adobe_CoolType_Utility /ct_BuildCharDict get
						begin
						/ct_dfCharCode exch def
						/ct_dfDict exch def
						CIDFirstByte ct_dfCharCode add
						dup CIDCount ge
							{ pop 0 }
						if
						/cid exch def
							{
							GlyphDirectory cid 2 copy known
								{ get }
								{ pop pop nullstring }
							ifelse
							dup length FDBytes sub 0 gt
								{
								dup
								FDBytes 0 ne
									{ 0 FDBytes ct_cvnsi }
									{ pop 0 }
								ifelse
								/fdIndex exch def
								dup length FDBytes sub FDBytes exch getinterval
								/charstring exch def
								exit
								}
								{
								pop
								cid 0 eq
									{ /charstring nullstring def exit }
								if
								/cid 0 def
								}
							ifelse
							}
						loop
			} def
		/ct_SetCacheDevice
			{
			0 0 moveto
			dup stringwidth
			3 -1 roll
			true charpath
			pathbbox
			0 -1000
			7 index 2 div 880
			setcachedevice2
			0 0 moveto
			} def
		/ct_CloneSetCacheProc
			{
			1 eq
				{
				stringwidth
				pop -2 div -880
				0 -1000 setcharwidth
				moveto
				}
				{
				usewidths?
					{
					currentfont /Widths get cid
					2 copy known
						{ get exch pop aload pop }
						{ pop pop stringwidth }
					ifelse
					}
					{ stringwidth }
				ifelse
				setcharwidth
				0 0 moveto
				}
			ifelse
			} def
		/ct_Type3ShowCharString
			{
			ct_FDDict fdIndex 2 copy known
				{ get }
				{
				currentglobal 3 1 roll
				1 index gcheck setglobal
				ct_Type1FontTemplate dup maxlength dict copy
					begin
					FDArray fdIndex get
					dup /FontMatrix 2 copy known
						{ get }
						{ pop pop ct_defaultFontMtx }
					ifelse
					/FontMatrix exch dup length array copy def
					/Private get
					/Private exch def
					/Widths rootfont /Widths get def
					/CharStrings 1 dict dup /.notdef
						<d841272cf18f54fc13> dup length string copy put def
					currentdict
					end
				/ct_Type1Font exch definefont
				dup 5 1 roll put
				setglobal
				}
			ifelse
			dup /CharStrings get 1 index /Encoding get
			ct_dfCharCode get charstring put
			rootfont /WMode 2 copy known
				{ get }
				{ pop pop 0 }
			ifelse
			exch
			1000 scalefont setfont
			ct_str1 0 ct_dfCharCode put
			ct_str1 exch ct_dfSetCacheProc
			ct_SyntheticBold
				{
				currentpoint
				ct_str1 show
				newpath
				moveto
				ct_str1 true charpath
				ct_StrokeWidth setlinewidth
				stroke
				}
				{ ct_str1 show }
			ifelse
			} def
		/ct_Type4ShowCharString
			{
			ct_dfDict ct_dfCharCode charstring
			FDArray fdIndex get
			dup /FontMatrix get dup ct_defaultFontMtx ct_matrixeq not
				{ ct_1000Mtx matrix concatmatrix concat }
				{ pop }
			ifelse
			/Private get
			Adobe_CoolType_Utility /ct_Level2? get not
				{
				ct_dfDict /Private
				3 -1 roll
					{ put }
				1183615869 internaldict /superexec get exec
				}
			if
			1183615869 internaldict
			Adobe_CoolType_Utility /ct_Level2? get
				{ 1 index }
				{ 3 index /Private get mark 6 1 roll }
			ifelse
			dup /RunInt known
				{ /RunInt get }
				{ pop /CCRun }
			ifelse
			get exec
			Adobe_CoolType_Utility /ct_Level2? get not
				{ cleartomark }
			if
			} bind def
		/ct_BuildCharIncremental
			{
				{
				Adobe_CoolType_Utility /ct_MakeOCF get begin
				ct_BuildCharSetUp
				ct_ShowCharString
				}
			stopped
				{ stop }
			if
			end
			end
			end
			end
			} bind def
		/BaseFontNameStr (BF00) def
		/ct_Type1FontTemplate 14 dict
			begin
			/FontType 1 def
			/FontMatrix  [0.001 0 0 0.001 0 0] def
			/FontBBox  [-250 -250 1250 1250] def
			/Encoding ct_cHexEncoding def
			/PaintType 0 def
			currentdict
			end def
		/BaseFontTemplate 11 dict
			begin
			/FontMatrix  [0.001 0 0 0.001 0 0] def
			/FontBBox  [-250 -250 1250 1250] def
			/Encoding ct_cHexEncoding def
			/BuildChar /ct_BuildCharIncremental load def
			ct_Clone?
				{
				/FontType 3 def
				/ct_ShowCharString /ct_Type3ShowCharString load def
				/ct_dfSetCacheProc /ct_CloneSetCacheProc load def
				/ct_SyntheticBold false def
				/ct_StrokeWidth 1 def
				}
				{
				/FontType 4 def
				/Private 1 dict dup /lenIV 4 put def
				/CharStrings 1 dict dup /.notdef <d841272cf18f54fc13> put def
				/PaintType 0 def
				/ct_ShowCharString /ct_Type4ShowCharString load def
				}
			ifelse
			/ct_str1 1 string def
			currentdict
			end def
		/BaseFontDictSize BaseFontTemplate length 5 add def
		/ct_matrixeq
			{
			true 0 1 5
				{
				dup 4 index exch get exch 3 index exch get eq and
				dup not
					{ exit }
				if
				}
			for
			exch pop exch pop
			} bind def
		/ct_makeocf
			{
			15 dict
				begin
				exch /WMode exch def
				exch /FontName exch def
				/FontType 0 def
				/FMapType 2 def
			dup /FontMatrix known
				{ dup /FontMatrix get /FontMatrix exch def }
				{ /FontMatrix matrix def }
			ifelse
				/bfCount 1 index /CIDCount get 256 idiv 1 add
					dup 256 gt { pop 256} if def
				/Encoding
					256 array 0 1 bfCount 1 sub { 2 copy dup put pop } for
					bfCount 1 255 { 2 copy bfCount put pop } for
					def
				/FDepVector bfCount dup 256 lt { 1 add } if array def
				BaseFontTemplate BaseFontDictSize dict copy
					begin
					/CIDFont exch def
					CIDFont /FontBBox known
						{ CIDFont /FontBBox get /FontBBox exch def }
					if
					CIDFont /CDevProc known
						{ CIDFont /CDevProc get /CDevProc exch def }
					if
					currentdict
					end
				BaseFontNameStr 3 (0) putinterval
				0 1 bfCount dup 256 eq { 1 sub } if
					{
					FDepVector exch
					2 index BaseFontDictSize dict copy
						begin
						dup /CIDFirstByte exch 256 mul def
						FontType 3 eq
							{ /ct_FDDict 2 dict def }
						if
						currentdict
						end
					1 index  16
					BaseFontNameStr  2 2 getinterval cvrs pop
					BaseFontNameStr exch definefont
					put
					}
				for
				ct_Clone?
					{ /Widths 1 index /CIDFont get /GlyphDirectory get length dict def }
				if
				FontName
				currentdict
				end
			definefont
			ct_Clone?
				{
				gsave
				dup 1000 scalefont setfont
				ct_BuildCharDict
					begin
					/usewidths? false def
					currentfont /Widths get
						begin
						exch /CIDFont get /GlyphDirectory get
							{
							pop
							dup charcode exch 1 index 0 2 index 256 idiv put
							1 index exch 1 exch 256 mod put
							stringwidth 2 array astore def
							}
						forall
						end
					/usewidths? true def
					end
				grestore
				}
				{ exch pop }
			ifelse
			} bind def
		/ct_ComposeFont
			{
			ct_UseNativeCapability?
				{
				2 index /CMap ct_resourcestatus
					{ pop pop exch pop }
					{
					/CIDInit /ProcSet findresource
						begin
						12 dict
							begin
							begincmap
							/CMapName 3 index def
							/CMapVersion 1.000 def
							/CMapType 1 def
							exch /WMode exch def
							/CIDSystemInfo 3 dict dup
								begin
								/Registry (Adobe) def
								/Ordering
								CMapName ct_mkocfStr100 cvs
								(Adobe-) search
									{
									pop pop
									(-) search
										{
										dup length string copy
										exch pop exch pop
										}
										{ pop (Identity)}
									ifelse
									}
									{ pop  (Identity)  }
								ifelse
								def
								/Supplement 0 def
								end def
							1 begincodespacerange
							<0000> <FFFF>
							endcodespacerange
							1 begincidrange
							<0000> <FFFF> 0
							endcidrange
							endcmap
							CMapName currentdict /CMap defineresource pop
							end
						end
					}
				ifelse
				composefont
				}
				{
				3 2 roll pop
				0 get /CIDFont findresource
				ct_makeocf
				}
			ifelse
			} bind def
		/ct_MakeIdentity
			{
			ct_UseNativeCapability?
				{
				1 index /CMap ct_resourcestatus
					{ pop pop }
					{
					/CIDInit /ProcSet findresource begin
					12 dict begin
					begincmap
					/CMapName 2 index def
					/CMapVersion 1.000 def
					/CMapType 1 def
					/CIDSystemInfo 3 dict dup
						begin
						/Registry (Adobe) def
						/Ordering
						CMapName ct_mkocfStr100 cvs
						(Adobe-) search
							{
							pop pop
							(-) search
								{ dup length string copy exch pop exch pop }
								{ pop (Identity) }
							ifelse
							}
							{ pop (Identity) }
						ifelse
						def
						/Supplement 0 def
						end def
					1 begincodespacerange
					<0000> <FFFF>
					endcodespacerange
					1 begincidrange
					<0000> <FFFF> 0
					endcidrange
					endcmap
					CMapName currentdict /CMap defineresource pop
					end
					end
					}
				ifelse
				composefont
				}
				{
				exch pop
				0 get /CIDFont findresource
				ct_makeocf
				}
			ifelse
			} bind def
		currentdict readonly pop
		end
	end
%%EndResource
%%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0
%%Copyright: Copyright 1987-2004 Adobe Systems Incorporated.
%%Version: 1.0 0
userdict /ct_T42Dict 15 dict put
ct_T42Dict begin
/Is2015?
{
  version
  cvi
  2015
  ge
} bind def
/AllocGlyphStorage
{
  Is2015?
  {	
		pop
  } 
  { 
		{string} forall
  } ifelse
} bind def
/Type42DictBegin
{
	25 dict begin
  /FontName exch def
  /CharStrings 256 dict 
	begin
		  /.notdef 0 def
		  currentdict 
	end def
  /Encoding exch def
  /PaintType 0 def
  /FontType 42 def
  /FontMatrix [1 0 0 1 0 0] def
  4 array  astore cvx /FontBBox exch def
  /sfnts
} bind def
/Type42DictEnd  
{
	 currentdict dup /FontName get exch definefont end
	ct_T42Dict exch
	dup /FontName get exch put
} bind def
/RD {string currentfile exch readstring pop} executeonly def
/PrepFor2015
{
	Is2015?
	{		  
		 /GlyphDirectory 
		 16
		 dict def
		 sfnts 0 get
		 dup
		 2 index
		 (glyx)
		 putinterval
		 2 index  
		 (locx)
		 putinterval
		 pop
		 pop
	}
	{
		 pop
		 pop
	} ifelse			
} bind def
/AddT42Char
{
	Is2015?
	{
		/GlyphDirectory get 
		begin
		def
		end
		pop
		pop
	}
	{
		/sfnts get
		4 index
		get
		3 index
	  2 index
		putinterval
		pop
		pop
		pop
		pop
	} ifelse
} bind def
/T0AddT42Mtx2
{
	/CIDFont findresource /Metrics2 get begin def end
}bind def
end
%%EndResource
Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end
%%BeginResource: procset Adobe_AGM_Image 1.0 0
%%Version: 1.0 0
%%Copyright: Copyright (C) 2000-2003 Adobe Systems, Inc.  All Rights Reserved.
systemdict /setpacking known
{
	currentpacking
	true setpacking
} if
userdict /Adobe_AGM_Image 75 dict dup begin put
/Adobe_AGM_Image_Id /Adobe_AGM_Image_1.0_0 def
/nd{
	null def
}bind def
/AGMIMG_&image nd
/AGMIMG_&colorimage nd
/AGMIMG_&imagemask nd
/AGMIMG_mbuf () def
/AGMIMG_ybuf () def
/AGMIMG_kbuf () def
/AGMIMG_c 0 def
/AGMIMG_m 0 def
/AGMIMG_y 0 def
/AGMIMG_k 0 def
/AGMIMG_tmp nd
/AGMIMG_imagestring0 nd
/AGMIMG_imagestring1 nd
/AGMIMG_imagestring2 nd
/AGMIMG_imagestring3 nd
/AGMIMG_imagestring4 nd
/AGMIMG_imagestring5 nd
/AGMIMG_cnt nd
/AGMIMG_fsave nd
/AGMIMG_colorAry nd
/AGMIMG_override nd
/AGMIMG_name nd
/AGMIMG_maskSource nd
/AGMIMG_flushfilters nd
/invert_image_samples nd
/knockout_image_samples	nd
/img nd
/sepimg nd
/devnimg nd
/idximg nd
/doc_setup
{ 
	Adobe_AGM_Core begin
	Adobe_AGM_Image begin
	/AGMIMG_&image systemdict/image get def
	/AGMIMG_&imagemask systemdict/imagemask get def
	/colorimage where{
		pop
		/AGMIMG_&colorimage /colorimage ldf
	}if
	end
	end
}def
/page_setup
{
	Adobe_AGM_Image begin
	/AGMIMG_ccimage_exists {/customcolorimage where 
		{
			pop
			/Adobe_AGM_OnHost_Seps where
			{
			pop false
			}{
			/Adobe_AGM_InRip_Seps where
				{
				pop false
				}{
					true
				 }ifelse
			 }ifelse
			}{
			false
		}ifelse 
	}bdf
	level2{
		/invert_image_samples
		{
			Adobe_AGM_Image/AGMIMG_tmp Decode length ddf
			/Decode [ Decode 1 get Decode 0 get] def
		}def
		/knockout_image_samples
		{
			Operator/imagemask ne{
				/Decode [1 1] def
			}if
		}def
	}{	
		/invert_image_samples
		{
			{1 exch sub} currenttransfer addprocs settransfer
		}def
		/knockout_image_samples
		{
			{ pop 1 } currenttransfer addprocs settransfer
		}def
	}ifelse
	/img /imageormask ldf
	/sepimg /sep_imageormask ldf
	/devnimg /devn_imageormask ldf
	/idximg /indexed_imageormask ldf
	/_ctype 7 def
	currentdict{
		dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and{
			bind
		}if
		def
	}forall
}def
/page_trailer
{
	end
}def
/doc_trailer
{
}def
/AGMIMG_flushfilters
{
	dup type /arraytype ne
		{1 array astore}if
	aload length
		{
		dup type /filetype eq
			{
			dup status 1 index currentfile ne and
				{dup flushfile closefile}
				{pop}
			ifelse
			}{pop}ifelse
		} repeat
}def
/imageormask_sys
{
	begin
		save mark
		level2{
			currentdict
			Operator /imagemask eq{
				AGMIMG_&imagemask
			}{
				use_mask {
					level3 {process_mask_L3 AGMIMG_&image}{masked_image_simulation}ifelse
				}{
					AGMIMG_&image
				}ifelse
			}ifelse
		}{
			Width Height
			Operator /imagemask eq{
				Decode 0 get 1 eq Decode 1 get 0 eq	and
				ImageMatrix /DataSource load
				AGMIMG_&imagemask
			}{
				BitsPerComponent ImageMatrix /DataSource load
				AGMIMG_&image
			}ifelse
		}ifelse
		currentdict /_Filters known {_Filters AGMIMG_flushfilters} if
		cleartomark restore
	end
}def
/overprint_plate
{
	currentoverprint {
		0 get dup type /nametype eq {
			dup /DeviceGray eq{
				pop AGMCORE_black_plate not
			}{
				/DeviceCMYK eq{
					AGMCORE_is_cmyk_sep not
				}if
			}ifelse
		}{
			false exch
			{
				 AGMOHS_sepink eq or
			} forall
			not
		} ifelse
	}{
		pop false
	}ifelse
}def
/process_mask_L3
{
	dup begin
	/ImageType 1 def
	end
	4 dict begin
		/DataDict exch def
		/ImageType 3 def
		/InterleaveType 3 def
		/MaskDict 9 dict begin
			/ImageType 1 def
			/Width DataDict dup /MaskWidth known {/MaskWidth}{/Width} ifelse get def
			/Height DataDict dup /MaskHeight known {/MaskHeight}{/Height} ifelse get def
			/ImageMatrix [Width 0 0 Height neg 0 Height] def
			/NComponents 1 def
			/BitsPerComponent 1 def
			/Decode [0 1] def
			/DataSource AGMIMG_maskSource def
		currentdict end def
	currentdict end
}def
/use_mask
{
	dup type /dicttype eq
	{
		dup /Mask known	{
			dup /Mask get {
				level3
				{true}
				{
					dup /MaskWidth known {dup /MaskWidth get 1 index /Width get eq}{true}ifelse exch
					dup /MaskHeight known {dup /MaskHeight get 1 index /Height get eq}{true}ifelse
					3 -1 roll and
				} ifelse
			}
			{false} ifelse
		}
		{false} ifelse
	}
	{false} ifelse
}def
/make_line_source
{
	begin
	MultipleDataSources {
		[
		Decode length 2 div cvi {Width string} repeat
		]
	}{
		Width Decode length 2 div mul cvi string
	}ifelse
	end
}def
/datasource_to_str
{
	exch dup type
	dup /filetype eq {
		pop exch readstring
	}{
		/arraytype eq {
			exec exch copy
		}{
			pop
		}ifelse
	}ifelse
	pop
}def
/masked_image_simulation
{
	3 dict begin
	dup make_line_source /line_source xdf
	/mask_source AGMIMG_maskSource /LZWDecode filter def
	dup /Width get 8 div ceiling cvi string /mask_str xdf
	begin
	gsave
	0 1 translate 1 -1 Height div scale
	1 1 Height {
		pop
		gsave
		MultipleDataSources {
			0 1 DataSource length 1 sub {
				dup DataSource exch get
				exch line_source exch get
				datasource_to_str
			} for
		}{
			DataSource line_source datasource_to_str
		} ifelse
		<<
			/PatternType 1
			/PaintProc [
				/pop cvx
				<<
					/ImageType 1
					/Width Width
					/Height 1
					/ImageMatrix Width 1.0 sub 1 matrix scale 0.5 0 matrix translate matrix concatmatrix
					/MultipleDataSources MultipleDataSources
					/DataSource line_source
					/BitsPerComponent BitsPerComponent
					/Decode Decode
				>>
				/image cvx
			] cvx
			/BBox [0 0 Width 1]
			/XStep Width
			/YStep 1
			/PaintType 1
			/TilingType 2
		>>
		matrix makepattern set_pattern
		<<
			/ImageType 1
			/Width Width
			/Height 1
			/ImageMatrix Width 1 matrix scale
			/MultipleDataSources false
			/DataSource mask_source mask_str readstring pop
			/BitsPerComponent 1
			/Decode [0 1]
		>>
		imagemask
		grestore
		0 1 translate
	} for
	grestore
	end
	end
}def
/imageormask
{
	begin
		SkipImageProc {
			currentdict consumeimagedata
		}
		{
			save mark
			level2 AGMCORE_host_sep not and{
				currentdict
				Operator /imagemask eq DeviceN_PS2 not and {
					imagemask
				}{
					AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get /DeviceGray eq and{
						[/Separation /Black /DeviceGray {}] setcolorspace
						/Decode [ Decode 1 get Decode 0 get ] def
					}if
					use_mask {
						level3 {process_mask_L3 image}{masked_image_simulation}ifelse
					}{
						DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and 
						{
							Names convert_to_process not {
								2 dict begin
								/imageDict xdf
								/names_index 0 def
								gsave
								imageDict write_image_file {
									Names {
										dup (None) ne {
											[/Separation 3 -1 roll /DeviceGray {1 exch sub}] setcolorspace
											Operator imageDict read_image_file
											names_index 0 eq {true setoverprint} if
											/names_index names_index 1 add def
										}{
											pop
										} ifelse
									} forall
									close_image_file
								} if
								grestore
								end
							}{
								Operator /imagemask eq {
									imagemask
								}{
									image
								} ifelse
							} ifelse
						}{
							Operator /imagemask eq {
								imagemask
							}{
								image
							} ifelse
						} ifelse
					}ifelse
				}ifelse
			}{
				Width Height
				Operator /imagemask eq{
					Decode 0 get 1 eq Decode 1 get 0 eq	and
					ImageMatrix /DataSource load
					/Adobe_AGM_OnHost_Seps where {
						pop imagemask
					}{
						currentgray 1 ne{
							currentdict imageormask_sys
						}{
							currentoverprint not{
								1 AGMCORE_&setgray
								currentdict imageormask_sys
							}{
								currentdict ignoreimagedata
							}ifelse				 		
						}ifelse
					}ifelse
				}{
					BitsPerComponent ImageMatrix 
					MultipleDataSources{
						0 1 NComponents 1 sub{
							DataSource exch get
						}for
					}{
						/DataSource load
					}ifelse
					Operator /colorimage eq{
						AGMCORE_host_sep{
							MultipleDataSources level2 or NComponents 4 eq and{
								AGMCORE_is_cmyk_sep{
									MultipleDataSources{
										/DataSource [
											DataSource 0 get /exec cvx
											DataSource 1 get /exec cvx
											DataSource 2 get /exec cvx
											DataSource 3 get /exec cvx
											/AGMCORE_get_ink_data cvx
										] cvx def
									}{
										/DataSource 
										Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul 
										/DataSource load
										filter_cmyk 0 () /SubFileDecode filter def
									}ifelse
									/Decode [ Decode 0 get Decode 1 get ] def
									/MultipleDataSources false def
									/NComponents 1 def
									/Operator /image def
									invert_image_samples
						 			1 AGMCORE_&setgray
									currentdict imageormask_sys
								}{
									currentoverprint not Operator/imagemask eq and{
  			 							1 AGMCORE_&setgray
  			 							currentdict imageormask_sys
  			 						}{
  			 							currentdict ignoreimagedata
  			 						}ifelse
								}ifelse
							}{	
								MultipleDataSources NComponents AGMIMG_&colorimage						
							}ifelse
						}{
							true NComponents colorimage
						}ifelse
					}{
						Operator /image eq{
							AGMCORE_host_sep{
								/DoImage true def
								HostSepColorImage{
									invert_image_samples
								}{
									AGMCORE_black_plate not Operator/imagemask ne and{
										/DoImage false def
										currentdict ignoreimagedata
					 				}if
								}ifelse
						 		1 AGMCORE_&setgray
								DoImage
									{currentdict imageormask_sys} if
							}{
								use_mask {
									level3 {process_mask_L3 image}{masked_image_simulation}ifelse
								}{
									image
								}ifelse
							}ifelse
						}{
							Operator/knockout eq{
								pop pop pop pop pop
								currentcolorspace overprint_plate not{
									knockout_unitsq
								}if
							}if
						}ifelse
					}ifelse
				}ifelse
			}ifelse
			cleartomark restore
		}ifelse
		currentdict /_Filters known {_Filters AGMIMG_flushfilters} if
	end
}def
/sep_imageormask
{
 	/sep_colorspace_dict AGMCORE_gget begin
	CSA map_csa
	begin
	SkipImageProc {
		currentdict consumeimagedata
	}
	{
		save mark 
		AGMCORE_avoid_L2_sep_space{
			/Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def
		}if
 		AGMIMG_ccimage_exists 
		MappedCSA 0 get /DeviceCMYK eq and
		currentdict/Components known and 
		Name () ne and 
		Name (All) ne and 
		Operator /image eq and
		AGMCORE_producing_seps not and
		level2 not and
		{
			Width Height BitsPerComponent ImageMatrix 
			[
			/DataSource load /exec cvx
			{
				0 1 2 index length 1 sub{
					1 index exch
					2 copy get 255 xor put
				}for
			} /exec cvx
			] cvx bind
			MappedCSA 0 get /DeviceCMYK eq{
				Components aload pop
			}{
				0 0 0 Components aload pop 1 exch sub
			}ifelse
			Name findcmykcustomcolor
			customcolorimage
		}{
			AGMCORE_producing_seps not{
				level2{
					AGMCORE_avoid_L2_sep_space not currentcolorspace 0 get /Separation ne and{
						[/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt
						/sep_tint AGMCORE_gget setcolor
					}if
					currentdict imageormask
				}{ 
					currentdict
					Operator /imagemask eq{
						imageormask
					}{
						sep_imageormask_lev1
					}ifelse
				}ifelse
 			}{
				AGMCORE_host_sep{
					Operator/knockout eq{
						currentdict/ImageMatrix get concat
						knockout_unitsq
					}{
						currentgray 1 ne{
 							AGMCORE_is_cmyk_sep Name (All) ne and{
 								level2{
 									Name AGMCORE_IsSeparationAProcessColor 
 									{
 										Operator /imagemask eq{
 											/sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor
 										}{
											invert_image_samples
 										}ifelse
	 								}{
	 									[ /Separation Name [/DeviceGray]
	 									{ 
	 										sep_colorspace_proc AGMCORE_get_ink_data
											1 exch sub
	 									} bind
										] AGMCORE_&setcolorspace
										/sep_tint AGMCORE_gget AGMCORE_&setcolor
 									}ifelse
 									currentdict imageormask_sys
	 							}{
	 								currentdict
									Operator /imagemask eq{
										imageormask_sys
									}{
										sep_image_lev1_sep
									}ifelse
	 							}ifelse
 							}{
 								Operator/imagemask ne{
									invert_image_samples
 								}if
		 						currentdict imageormask_sys
 							}ifelse
 						}{
 							currentoverprint not Name (All) eq or Operator/imagemask eq and{
								currentdict imageormask_sys 
								}{
								currentoverprint not
									{
 									gsave 
 									knockout_unitsq
 									grestore
									}if
								currentdict consumeimagedata 
		 					}ifelse
 						}ifelse
		 			}ifelse
 				}{
					currentcolorspace 0 get /Separation ne{
						[/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt
						/sep_tint AGMCORE_gget setcolor
					}if
					currentoverprint 
					MappedCSA 0 get /DeviceCMYK eq and 
					Name AGMCORE_IsSeparationAProcessColor not and
					Name inRip_spot_has_ink not and 
					Name (All) ne and {
						imageormask_l2_overprint
					}{
						currentdict imageormask
 					}ifelse
				}ifelse
			}ifelse
		}ifelse
		cleartomark restore
	}ifelse
	currentdict /_Filters known {_Filters AGMIMG_flushfilters} if
	end
	end
}def
/decode_image_sample
{
	4 1 roll exch dup 5 1 roll
	sub 2 4 -1 roll exp 1 sub div mul add
} bdf
/colorSpaceElemCnt
{
	mark currentcolor counttomark dup 2 add 1 roll cleartomark
} bdf
/devn_sep_datasource
{
	1 dict begin
	/dataSource xdf
	[
		0 1 dataSource length 1 sub {
			dup currentdict /dataSource get /exch cvx /get cvx /exec cvx
			/exch cvx names_index /ne cvx [ /pop cvx ] cvx /if cvx
		} for
	] cvx bind
	end
} bdf		
/devn_alt_datasource
{
	11 dict begin
	/convProc xdf
	/origcolorSpaceElemCnt xdf
	/origMultipleDataSources xdf
	/origBitsPerComponent xdf
	/origDecode xdf
	/origDataSource xdf
	/dsCnt origMultipleDataSources {origDataSource length}{1}ifelse def
	/DataSource origMultipleDataSources
		{
			[
			BitsPerComponent 8 idiv origDecode length 2 idiv mul string
			0 1 origDecode length 2 idiv 1 sub
				{
				dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch
				origDataSource exch get 0 () /SubFileDecode filter
				BitsPerComponent 8 idiv string /readstring cvx /pop cvx /putinterval cvx
				}for 
			]bind cvx
		}{origDataSource}ifelse 0 () /SubFileDecode filter def		
	[
		origcolorSpaceElemCnt string
		0 2 origDecode length 2 sub
			{
			dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div
			1 BitsPerComponent 8 idiv {DataSource /read cvx /not cvx{0}/if cvx /mul cvx}repeat /mul cvx /add cvx
			}for
		/convProc load /exec cvx
		origcolorSpaceElemCnt 1 sub -1 0
			{
			/dup cvx 2 /add cvx /index cvx
			3 1 /roll cvx /exch cvx 255 /mul cvx /cvi cvx /put cvx
			}for
	]bind cvx 0 () /SubFileDecode filter
	end
} bdf
/devn_imageormask
{
 	/devicen_colorspace_dict AGMCORE_gget begin
	CSA map_csa
	2 dict begin
	dup
	/srcDataStrs [ 3 -1 roll begin
		currentdict /MultipleDataSources known {MultipleDataSources {DataSource length}{1}ifelse}{1} ifelse
		{
			Width Decode length 2 div mul cvi
			{
				dup 65535 gt {1 add 2 div cvi}{exit}ifelse
			} loop
			string
		} repeat
		end ] def
	/dstDataStr srcDataStrs 0 get length string def
	begin
	SkipImageProc {
		currentdict consumeimagedata
	}
	{
		save mark 
		AGMCORE_producing_seps not {
			level3 not {
				Operator /imagemask ne {
					/DataSource [ [
						DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse
						colorSpaceElemCnt /devicen_colorspace_dict AGMCORE_gget /TintTransform get 
						devn_alt_datasource 1 /string cvx /readstring cvx /pop cvx] cvx colorSpaceElemCnt 1 sub{dup}repeat] def				
					/MultipleDataSources true def
					/Decode colorSpaceElemCnt [ exch {0 1} repeat ] def
				} if
			}if
			currentdict imageormask
 		}{
			AGMCORE_host_sep{
				Names convert_to_process {
					CSA get_csa_by_name 0 get /DeviceCMYK eq {
						/DataSource
							Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul 
							DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse
							4 /devicen_colorspace_dict AGMCORE_gget /TintTransform get 
							devn_alt_datasource
						filter_cmyk 0 () /SubFileDecode filter def
						/MultipleDataSources false def
						/Decode [1 0] def
						/DeviceGray setcolorspace
			 			currentdict imageormask_sys
 					}{
						AGMCORE_report_unsupported_color_space
						AGMCORE_black_plate {
							/DataSource
								DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse
								CSA get_csa_by_name 0 get /DeviceRGB eq{3}{1}ifelse /devicen_colorspace_dict AGMCORE_gget /TintTransform get
								devn_alt_datasource
							/MultipleDataSources false def
							/Decode colorSpaceElemCnt [ exch {0 1} repeat ] def
				 			currentdict imageormask_sys
				 		}
						{
	 						gsave 
	 						knockout_unitsq
	 						grestore
							currentdict consumeimagedata 
						} ifelse
 					} ifelse
				}
				{	
					/devicen_colorspace_dict AGMCORE_gget /names_index known {
	 					Operator/imagemask ne{
	 						MultipleDataSources {
		 						/DataSource [ DataSource devn_sep_datasource /exec cvx ] cvx def
								/MultipleDataSources false def
	 						}{
								/DataSource /DataSource load dstDataStr srcDataStrs 0 get filter_devn def
	 						} ifelse
							invert_image_samples
	 					} if
			 			currentdict imageormask_sys
	 				}{
	 					currentoverprint not Operator/imagemask eq and{
							currentdict imageormask_sys 
							}{
							currentoverprint not
								{
	 							gsave 
	 							knockout_unitsq
	 							grestore
								}if
							currentdict consumeimagedata 
			 			}ifelse
	 				}ifelse
	 			}ifelse
 			}{
				currentdict imageormask
			}ifelse
		}ifelse
		cleartomark restore
	}ifelse
	currentdict /_Filters known {_Filters AGMIMG_flushfilters} if
	end
	end
	end
}def
/imageormask_l2_overprint
{
	currentdict
	currentcmykcolor add add add 0 eq{
		currentdict consumeimagedata
	}{
		level3{ 			
			currentcmykcolor 
			/AGMIMG_k xdf 
			/AGMIMG_y xdf 
			/AGMIMG_m xdf 
			/AGMIMG_c xdf
			Operator/imagemask eq{
				[/DeviceN [
				AGMIMG_c 0 ne {/Cyan} if
				AGMIMG_m 0 ne {/Magenta} if
				AGMIMG_y 0 ne {/Yellow} if
				AGMIMG_k 0 ne {/Black} if
				] /DeviceCMYK {}] setcolorspace
				AGMIMG_c 0 ne {AGMIMG_c} if
				AGMIMG_m 0 ne {AGMIMG_m} if
				AGMIMG_y 0 ne {AGMIMG_y} if
				AGMIMG_k 0 ne {AGMIMG_k} if
				setcolor			
			}{	
				/Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def
				[/Indexed 				
					[
						/DeviceN [
							AGMIMG_c 0 ne {/Cyan} if
							AGMIMG_m 0 ne {/Magenta} if
							AGMIMG_y 0 ne {/Yellow} if
							AGMIMG_k 0 ne {/Black} if
						] 
						/DeviceCMYK {
							AGMIMG_k 0 eq {0} if
							AGMIMG_y 0 eq {0 exch} if
							AGMIMG_m 0 eq {0 3 1 roll} if
							AGMIMG_c 0 eq {0 4 1 roll} if						
						}
					]
					255
					{
						255 div 
						mark exch
						dup	dup dup
						AGMIMG_k 0 ne{
							/sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop		
							counttomark 1 roll
						}{
							pop
						}ifelse
						AGMIMG_y 0 ne{
							/sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop		
							counttomark 1 roll
						}{
							pop
						}ifelse
						AGMIMG_m 0 ne{
							/sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop		
							counttomark 1 roll
						}{
							pop
						}ifelse
						AGMIMG_c 0 ne{
							/sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop		
							counttomark 1 roll
						}{
							pop
						}ifelse
						counttomark 1 add -1 roll pop
					}
				] setcolorspace
			}ifelse
			imageormask_sys
		}{
	write_image_file{
		currentcmykcolor
		0 ne{
			[/Separation /Black /DeviceGray {}] setcolorspace
			gsave
			/Black
			[{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 1 roll pop pop pop 1 exch sub} /exec cvx]
			cvx modify_halftone_xfer
			Operator currentdict read_image_file
			grestore
		}if
		0 ne{
			[/Separation /Yellow /DeviceGray {}] setcolorspace
			gsave
			/Yellow
			[{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 2 roll pop pop pop 1 exch sub} /exec cvx]
			cvx modify_halftone_xfer
			Operator currentdict read_image_file
			grestore
		}if
		0 ne{
			[/Separation /Magenta /DeviceGray {}] setcolorspace
			gsave
			/Magenta
			[{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 3 roll pop pop pop 1 exch sub} /exec cvx]
			cvx modify_halftone_xfer
			Operator currentdict read_image_file
			grestore
		}if
		0 ne{
			[/Separation /Cyan /DeviceGray {}] setcolorspace
			gsave
			/Cyan 
			[{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {pop pop pop 1 exch sub} /exec cvx]
			cvx modify_halftone_xfer
			Operator currentdict read_image_file
			grestore
		} if
				close_image_file
			}{
				imageormask
			}ifelse
		}ifelse
	}ifelse
} def
/indexed_imageormask
{
	begin
		save mark 
 		currentdict
 		AGMCORE_host_sep{
			Operator/knockout eq{
				/indexed_colorspace_dict AGMCORE_gget dup /CSA known {
					/CSA get get_csa_by_name
				}{
					/Names get
				} ifelse
				overprint_plate not{
					knockout_unitsq
				}if
			}{
				Indexed_DeviceN {
					/devicen_colorspace_dict AGMCORE_gget /names_index known {
			 			indexed_image_lev2_sep
					}{
						currentoverprint not{
							knockout_unitsq
			 			}if
			 			currentdict consumeimagedata
					} ifelse
				}{
		 			AGMCORE_is_cmyk_sep{
						Operator /imagemask eq{
							imageormask_sys
						}{
							level2{
								indexed_image_lev2_sep
							}{
								indexed_image_lev1_sep
							}ifelse
						}ifelse
					}{
						currentoverprint not{
							knockout_unitsq
			 			}if
			 			currentdict consumeimagedata
					}ifelse
				}ifelse
			}ifelse
 		}{
			level2{
				Indexed_DeviceN {
					/indexed_colorspace_dict AGMCORE_gget begin
				}{
					/indexed_colorspace_dict AGMCORE_gget begin
					CSA get_csa_by_name 0 get /DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and {
						[/Indexed [/DeviceN [/Cyan /Magenta /Yellow /Black] /DeviceCMYK {}] HiVal Lookup]
						setcolorspace
					} if
					end
				} ifelse
				imageormask
				Indexed_DeviceN {
					end
				} if
			}{ 
				Operator /imagemask eq{
					imageormask
				}{
					indexed_imageormask_lev1
				}ifelse
			}ifelse
 		}ifelse
		cleartomark restore
	currentdict /_Filters known {_Filters AGMIMG_flushfilters} if
	end
}def
/indexed_image_lev2_sep
{
	/indexed_colorspace_dict AGMCORE_gget begin
	begin
		Indexed_DeviceN not {
			currentcolorspace 
			dup 1 /DeviceGray put
			dup 3
			currentcolorspace 2 get 1 add string
			0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub
			{
			dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put
			}for 
			put	setcolorspace
		} if
		currentdict 
		Operator /imagemask eq{
			AGMIMG_&imagemask
		}{
			use_mask {
				level3 {process_mask_L3 AGMIMG_&image}{masked_image_simulation}ifelse
			}{
				AGMIMG_&image
			}ifelse
		}ifelse
	end end
}def
  /OPIimage
  {
  	dup type /dicttype ne{
  		10 dict begin
  			/DataSource xdf
  			/ImageMatrix xdf
  			/BitsPerComponent xdf
  			/Height xdf
  			/Width xdf
  			/ImageType 1 def
  			/Decode [0 1 def]
  			currentdict
  		end
  	}if
  	dup begin
  		/NComponents 1 cdndf
  		/MultipleDataSources false cdndf
  		/SkipImageProc {false} cdndf
  		/HostSepColorImage false cdndf
  		/Decode [
  				0 
  				currentcolorspace 0 get /Indexed eq{
  					2 BitsPerComponent exp 1 sub
  				}{
  					1
  				}ifelse
  		] cdndf
  		/Operator /image cdndf
  	end
  	/sep_colorspace_dict AGMCORE_gget null eq{
  		imageormask
  	}{
  		gsave
  		dup begin invert_image_samples end
  		sep_imageormask
  		grestore
  	}ifelse
  }def
/cachemask_level2
{
	3 dict begin
	/LZWEncode filter /WriteFilter xdf
	/readBuffer 256 string def
	/ReadFilter
		currentfile
		0 (%EndMask) /SubFileDecode filter
		/ASCII85Decode filter
		/RunLengthDecode filter
	def
	{
		ReadFilter readBuffer readstring exch
		WriteFilter exch writestring
		not {exit} if
	}loop
	WriteFilter closefile
	end
}def
/cachemask_level3
{
	currentfile
	<<
		/Filter [ /SubFileDecode /ASCII85Decode /RunLengthDecode ]
		/DecodeParms [ << /EODCount 0 /EODString (%EndMask) >> null null ]
		/Intent 1
	>>
	/ReusableStreamDecode filter
}def
/spot_alias
{
	/mapto_sep_imageormask 
	{
		dup type /dicttype ne{
			12 dict begin
				/ImageType 1 def
				/DataSource xdf
				/ImageMatrix xdf
				/BitsPerComponent xdf
				/Height xdf
				/Width xdf
				/MultipleDataSources false def
		}{
			begin
		}ifelse
				/Decode [/customcolor_tint AGMCORE_gget 0] def
				/Operator /image def
				/HostSepColorImage false def
				/SkipImageProc {false} def
				currentdict 
			end
		sep_imageormask
	}bdf
	/customcolorimage
	{
		Adobe_AGM_Image/AGMIMG_colorAry xddf
		/customcolor_tint AGMCORE_gget
		<<
			/Name AGMIMG_colorAry 4 get
			/CSA [ /DeviceCMYK ] 
			/TintMethod /Subtractive
			/TintProc null
			/MappedCSA null
			/NComponents 4 
			/Components [ AGMIMG_colorAry aload pop pop ] 
		>>
		setsepcolorspace
		mapto_sep_imageormask
	}ndf
	Adobe_AGM_Image/AGMIMG_&customcolorimage /customcolorimage load put
	/customcolorimage
	{
		Adobe_AGM_Image/AGMIMG_override false put
		current_spot_alias{dup 4 get map_alias}{false}ifelse
		{
			false set_spot_alias
			/customcolor_tint AGMCORE_gget exch setsepcolorspace
			pop
			mapto_sep_imageormask
			true set_spot_alias
		}{
			AGMIMG_&customcolorimage
		}ifelse			
	}bdf
}def
/snap_to_device
{
	6 dict begin
	matrix currentmatrix
	dup 0 get 0 eq 1 index 3 get 0 eq and
	1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop
	{
		1 1 dtransform 0 gt exch 0 gt /AGMIMG_xSign? exch def /AGMIMG_ySign? exch def
		0 0 transform
		AGMIMG_ySign? {floor 0.1 sub}{ceiling 0.1 add} ifelse exch
		AGMIMG_xSign? {floor 0.1 sub}{ceiling 0.1 add} ifelse exch
		itransform /AGMIMG_llY exch def /AGMIMG_llX exch def
		1 1 transform
		AGMIMG_ySign? {ceiling 0.1 add}{floor 0.1 sub} ifelse exch
		AGMIMG_xSign? {ceiling 0.1 add}{floor 0.1 sub} ifelse exch
		itransform /AGMIMG_urY exch def /AGMIMG_urX exch def			
		[AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub  AGMIMG_llX AGMIMG_llY] concat
	}{
	}ifelse
	end
} def
level2 not{
	/colorbuf
	{
		0 1 2 index length 1 sub{
			dup 2 index exch get 
			255 exch sub 
			2 index 
			3 1 roll 
			put
		}for
	}def
	/tint_image_to_color
	{
		begin
			Width Height BitsPerComponent ImageMatrix 
			/DataSource load
		end
		Adobe_AGM_Image begin
			/AGMIMG_mbuf 0 string def
			/AGMIMG_ybuf 0 string def
			/AGMIMG_kbuf 0 string def
			{
				colorbuf dup length AGMIMG_mbuf length ne
					{
					dup length dup dup
					/AGMIMG_mbuf exch string def
					/AGMIMG_ybuf exch string def
					/AGMIMG_kbuf exch string def
					} if
				dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop
			}
			addprocs
			{AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf} true 4 colorimage	
		end
	} def			
	/sep_imageormask_lev1
	{
		begin
			MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{
				{
					255 mul round cvi GrayLookup exch get
				} currenttransfer addprocs settransfer
				currentdict imageormask
			}{
				/sep_colorspace_dict AGMCORE_gget/Components known{
					MappedCSA 0 get /DeviceCMYK eq{
						Components aload pop
					}{
						0 0 0 Components aload pop 1 exch sub
					}ifelse
					Adobe_AGM_Image/AGMIMG_k xddf 
					Adobe_AGM_Image/AGMIMG_y xddf 
					Adobe_AGM_Image/AGMIMG_m xddf 
					Adobe_AGM_Image/AGMIMG_c xddf 
					AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{
						{AGMIMG_k mul 1 exch sub} currenttransfer addprocs settransfer
						currentdict imageormask
					}{ 
						currentcolortransfer
						{AGMIMG_k mul 1 exch sub} exch addprocs 4 1 roll
						{AGMIMG_y mul 1 exch sub} exch addprocs 4 1 roll
						{AGMIMG_m mul 1 exch sub} exch addprocs 4 1 roll
						{AGMIMG_c mul 1 exch sub} exch addprocs 4 1 roll
						setcolortransfer
						currentdict tint_image_to_color
					}ifelse
				}{
					MappedCSA 0 get /DeviceGray eq {
						{255 mul round cvi ColorLookup exch get 0 get} currenttransfer addprocs settransfer
						currentdict imageormask
					}{
						MappedCSA 0 get /DeviceCMYK eq {
							currentcolortransfer
							{255 mul round cvi ColorLookup exch get 3 get 1 exch sub} exch addprocs 4 1 roll
							{255 mul round cvi ColorLookup exch get 2 get 1 exch sub} exch addprocs 4 1 roll
							{255 mul round cvi ColorLookup exch get 1 get 1 exch sub} exch addprocs 4 1 roll
							{255 mul round cvi ColorLookup exch get 0 get 1 exch sub} exch addprocs 4 1 roll
							setcolortransfer 
							currentdict tint_image_to_color
						}{ 
							currentcolortransfer
							{pop 1} exch addprocs 4 1 roll
							{255 mul round cvi ColorLookup exch get 2 get} exch addprocs 4 1 roll
							{255 mul round cvi ColorLookup exch get 1 get} exch addprocs 4 1 roll
							{255 mul round cvi ColorLookup exch get 0 get} exch addprocs 4 1 roll
							setcolortransfer 
							currentdict tint_image_to_color
						}ifelse
					}ifelse
				}ifelse
			}ifelse
		end
	}def
	/sep_image_lev1_sep
	{
		begin
			/sep_colorspace_dict AGMCORE_gget/Components known{
				Components aload pop
				Adobe_AGM_Image/AGMIMG_k xddf 
				Adobe_AGM_Image/AGMIMG_y xddf 
				Adobe_AGM_Image/AGMIMG_m xddf 
				Adobe_AGM_Image/AGMIMG_c xddf 
				{AGMIMG_c mul 1 exch sub}
				{AGMIMG_m mul 1 exch sub}
				{AGMIMG_y mul 1 exch sub}
				{AGMIMG_k mul 1 exch sub}
			}{ 
				{255 mul round cvi ColorLookup exch get 0 get 1 exch sub}
				{255 mul round cvi ColorLookup exch get 1 get 1 exch sub}
				{255 mul round cvi ColorLookup exch get 2 get 1 exch sub}
				{255 mul round cvi ColorLookup exch get 3 get 1 exch sub}
			}ifelse
			AGMCORE_get_ink_data currenttransfer addprocs settransfer
			currentdict imageormask_sys
		end
	}def
	/indexed_imageormask_lev1
	{
		/indexed_colorspace_dict AGMCORE_gget begin
		begin
			currentdict
			MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{
				{HiVal mul round cvi GrayLookup exch get HiVal div} currenttransfer addprocs settransfer
				imageormask
			}{
				MappedCSA 0 get /DeviceGray eq {
					{HiVal mul round cvi Lookup exch get HiVal div} currenttransfer addprocs settransfer
					imageormask
				}{
					MappedCSA 0 get /DeviceCMYK eq {
						currentcolortransfer
						{4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll
						{4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll
						{4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll
						{4 mul HiVal mul round cvi		 Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll
						setcolortransfer 
						tint_image_to_color
					}{ 
						currentcolortransfer
						{pop 1} exch addprocs 4 1 roll
						{3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div} exch addprocs 4 1 roll
						{3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div} exch addprocs 4 1 roll
						{3 mul HiVal mul round cvi 		Lookup exch get HiVal div} exch addprocs 4 1 roll
						setcolortransfer 
						tint_image_to_color
					}ifelse
				}ifelse
			}ifelse
		end end
	}def
	/indexed_image_lev1_sep
	{
		/indexed_colorspace_dict AGMCORE_gget begin
		begin
			{4 mul HiVal mul round cvi		 Lookup exch get HiVal div 1 exch sub}
			{4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}
			{4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}
			{4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}
			AGMCORE_get_ink_data currenttransfer addprocs settransfer
			currentdict imageormask_sys
		end end
	}def
}if
end
systemdict /setpacking known
{
	setpacking
} if
%%EndResource
currentdict Adobe_AGM_Utils eq {end} if
%%EndProlog
%%BeginSetup
Adobe_AGM_Utils begin
2 2010 Adobe_AGM_Core/doc_setup get exec
Adobe_CoolType_Core/doc_setup get exec
Adobe_AGM_Image/doc_setup get exec
currentdict Adobe_AGM_Utils eq {end} if
%%EndSetup
%%Page: (Page 1) 1
%%EndPageComments
%%BeginPageSetup
/currentdistillerparams where
{pop currentdistillerparams /CoreDistVersion get 5000 lt} {true} ifelse
{ userdict /AI11_PDFMark5 /cleartomark load put
userdict /AI11_ReadMetadata_PDFMark5 {flushfile cleartomark } bind put}
{ userdict /AI11_PDFMark5 /pdfmark load put
userdict /AI11_ReadMetadata_PDFMark5 {/PUT pdfmark} bind put } ifelse
[/NamespacePush AI11_PDFMark5
[/_objdef {ai_metadata_stream_123} /type /stream /OBJ AI11_PDFMark5
[{ai_metadata_stream_123}
currentfile 0 (%  &&end XMP packet marker&&)
/SubFileDecode filter AI11_ReadMetadata_PDFMark5
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+%!PS-Adobe-3.1 EPSF-3.0
+%ADO_DSC_Encoding: MacOS Roman
+%%Title: GOsa-logo.eps
+%%Creator: Adobe Illustrator(R) 12
+%%AI8_CreatorVersion: 12.0.1
+%AI9_PrintingDataBegin
+%%For: stephan heller
+%%CreationDate: 09.02.2009
+%%BoundingBox: 0 0 1191 347
+%%HiResBoundingBox: 0 0 1190.5879 346.9991
+%%CropBox: 0 0 1190.5879 346.9991
+%%LanguageLevel: 2
+%%DocumentData: Clean7Bit
+%%Pages: 1
+%%DocumentNeededResources: 
+%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0
+%%+ procset Adobe_CoolType_Utility_T42 1.0 0
+%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.19 0
+%%+ procset Adobe_CoolType_Core 2.23 0
+%%+ procset Adobe_AGM_Core 2.0 0
+%%+ procset Adobe_AGM_Utils 1.0 0
+%%DocumentFonts: 
+%%DocumentNeededFonts: 
+%%DocumentNeededFeatures: 
+%%DocumentSuppliedFeatures: 
+%%DocumentProcessColors:  Cyan Magenta Yellow Black
+%%DocumentCustomColors: 
+%%CMYKCustomColor: 
+%%RGBCustomColor: 
+%ADO_BuildNumber: Adobe Illustrator(R) 12.0.1 x5205 R agm 4.3861 ct 5.530
+%ADO_ContainsXMP: MainFirst
+%AI7_Thumbnail: 128 40 8
+%%BeginData: 6528 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45FDFCFFFDFCFFFD96FFA8A9A8A8A8FD1DFFA8A87EA87EA9A8AFA8FD
+%0FFFA87E5354535353A8A8FD3AFFAFA8535328FD04295A7EFD17FF7E5329
+%2F2929282929292853FD0DFF7E2F29282928292829285353AFFD37FF7E53
+%01292829282928290129297EAFFD11FFA853282928292829282928292829
+%2FFD0BFF7E53062928292829282928292829287EFD35FF53292853292928
+%292929285329292854A9FD0FFF7E2F2853292F2953292F2953292F287EFD
+%0AFF7E29292F2953292F2953292F29532929287EFD33FF29292829282929
+%53537E5353062928290653A8FD0DFF532928292829282928292829282928
+%2953FD09FF532928292829282928292829282928292829017EFD32FF5328
+%2F28537EFD06FFA853FD0429FD0DFF7E292853292928532929282F292928
+%2F287EFD08FF592929292853292928292829282F29292853292928AFFD32
+%FF53017EA8FD09FF592928A9FD0CFF7E2928292829282928290629282928
+%2906297EFD07FF7E292829282928292853537E7D53282928292829282953
+%FD22FFA87EA9FD0DFFA8A8FFFFFFA953532F547EFFFFFF7EA9FD0CFFA853
+%2953295329532829537E7EA97EA87EA97EFD08FF532853292F29292FA9FD
+%05FFA929292953292F2953FD20FFA85328292954A9FD09FFA92FFFFFFFA8
+%53062928292829287EFFFFFF7E7EFD0AFF5306292829282928537EFD10FF
+%A828292829282928FD08FFA828292829282906A8FD1EFFA8290629532901
+%53FD08FFA92829FFFFA95328292853292928292884FFFF53297EFD09FF29
+%292853292F2853A9FD11FF532929292853287EFD09FF5329292853292953
+%FD1EFFA828297EFF532953FD07FFA9282929FFFF53012928292829282928
+%2928A9FF7E01297EFD07FF53292829282928297EFFFFFFA8FFA8FFA8FFA8
+%FFA8FFA8FFA8FFA82928292829282FA8FD09FF5329282928292853FD1EFF
+%A8A97EFFA82F0153FD07FF29292854FFA9287E29292953295328537E2953
+%FF7E292853A8FD06FF53292F2953292953FD04FF7E2F532F5353532F5353
+%53297EFF842853292F292953FD0AFFA8282F2953292953FD07FFA9FD19FF
+%A953282984FD06FF2929282928A82F287EFF2829282928297EFF28297E54
+%28292829A8FD04FFA928292829282928A8FD04FF28292829282928292829
+%282953FF53292829282906A8FD0AFF7E29282928292853FD04FF7E7E5353
+%295353A9FD06FFA87E5353295353A9FD06FF7E2906297DFD06FFFD042953
+%A97EA9A8FFFFAF292928537EFFFFA9A8A8A87E29292853A8FFFFFF7E2928
+%5329292853FD04FFA92F28532929285329292853287EFF53292928532929
+%A8FD0AFFA828532929282953FFFFFF532928292829282929A8FD04FF7E53
+%282928292929287EFD04FF7E292853A8FD06FF29292829017EFD07FF7E28
+%2953FD07FF7E2928290153FFFFFF7E06292829282953FD04FFA928292829
+%282928292829282953FF28292829282928FD0BFF7E29282928290654FFFF
+%5329282929532929282928A9FFFF7E290629282F2829282928AFFFFF7E29
+%28297EFFA8FD05FFA9FD04297EFFA8FD05FF53292953A8FD06FFA8292F28
+%2FA8FFFFFF7E292953292F287EFD04FFA8292953292F2953292F2953287E
+%FF53292F29532953FD0BFF7E2853292F29297EFFA82F29297EFFFFFF5929
+%29297EFFFF53282929A9FFFF532929297EFFA953292929532953A9FD05FF
+%A9282928292FA85329A8FF29292829282FA8FF292F7E53282928297EFD04
+%FF7E06292829282953FD04FF840129012928292829282928297EFF282928
+%29282929FD0BFF53292829282906A8FF7E0629287EFD04FF7EA8A8FFFFFF
+%7EA87DA8FFFFFFA928290684FFA8282F2829282953FD07FFA929292853FF
+%A8017E53292853292F28537E2929FF7E2928297EFD05FF7E292929285329
+%53A9FFFFFF7E54537E537E2F292853292928A9FF53285329292853A9FD09
+%FFA853292928532929A8FF8429282F297E7EFD0FFF532929297EFFFFFFA8
+%FFA9FFA8FD09FFA8282929FFFF530129282928292829282906A8FF7E0629
+%53FD06FFA8062928292829287EFD09FF7E282928292829A8FF2929282928
+%2901A8FD09FF7E01292829282953FFFFFF2929282906292853A8FD05FFA8
+%7E535329532829282928A8FD12FFA82853FFFFA82929532953292F295328
+%7EFFFF7E297EFD07FFA853292F2953292929FD09FF2929295329292FFFFF
+%7E2853292F292953FD09FF2953292F295328A8FFFFFFA92929292F292F28
+%297EFFFFFFA85328290629282F29532953FD14FF7E28FFFFFF7E29282928
+%2928290154FFFFFF7E53FD09FF292928292829282929FD07FF5329282928
+%29287EFFFF7E292829282928297EFD07FF2929282928292853FD06FF7D53
+%2829282928297EFFA92F062928537EA9A82F282953FD15FFA9A87EFFFFA8
+%7E29292853537EFFFF7EA8A8FD0AFF7E2853292928532929297EA8FFA8A8
+%5329285329292829A8FFFFFF29292853292928297EFFA9FFA9A8FD042928
+%5329297EFD08FFA959532853287EFFA9282928A9FD04FF29292884FD16FF
+%530153A8FFFFFFA8A8A8FFFFFF7E2928A9FD0AFFA8292829282928292829
+%01292829062928292829282929FD04FF7E0629282928292829282F282F28
+%2928292829282953FFFFFF7E7E53A8FD04FF7E29282953FF7D292853FD04
+%FF7D2928297EFD15FF53285329537EFD06FFA953FD0429FD0BFF7E292953
+%2953292F2953292F2953292F2953292928A9FD04FFAF532853292F295329
+%2F282F292F2953292F292953FFFFFFA829282929FD04FF842853287EFFA8
+%282929FFFFFFA853292929FD16FF2929282928292853537E535328292829
+%2829A8FD0BFF532928292829282928292829282928292829067EFD06FF7E
+%292829282928292829282928292829282929FD05FF53292829297E595428
+%292829A8FF7E292829297E59290629282FA9FD16FF532928532929282928
+%29282F29292853A8FD0DFF7E292829285329292853292928532929287EFD
+%08FF7E29282F29292853292928532929282953FD07FF5329282928292829
+%282F84FFFFFFFD042901292953282929FD18FF7D29012928292829282928
+%29287EA8FD0FFF8453282906292829282928290629287EFD0AFFA8530129
+%2829282928292829062F7DFD09FF7D5328292829287EA8FD04FFA9292928
+%2953A97E292853A8FD18FFA87E532F28292929285359A9FD13FFA9595429
+%29282F292929547EFD0EFFA95353292F29292953537EA9FD0DFFA8A9A8FD
+%09FFA8A9A8FFFFFFAFFD1EFFA8A87EA87EA9A8FD19FFA8A87EA9A8FD13FF
+%A9A97EA9A8A9A8FDFCFFFDFCFFFDFCFFFD3EFFFF
+%%EndData
+%%EndComments
+%%BeginDefaults
+%%ViewingOrientation: 1 0 0 1
+%%EndDefaults
+%%BeginProlog
+%%BeginResource: procset Adobe_AGM_Utils 1.0 0
+%%Version: 1.0 0
+%%Copyright: Copyright (C) 2000-2003 Adobe Systems, Inc.  All Rights Reserved.
+systemdict /setpacking known
+{
+	currentpacking
+	true setpacking
+} if
+userdict /Adobe_AGM_Utils 70 dict dup begin put
+/bdf
+{
+	bind def
+} bind def
+/nd{
+	null def
+}bdf
+/xdf
+{
+	exch def
+}bdf
+/ldf 
+{
+	load def
+}bdf
+/ddf
+{
+	put
+}bdf	
+/xddf
+{
+	3 -1 roll put
+}bdf	
+/xpt
+{
+	exch put
+}bdf
+/ndf
+{ 
+	exch dup where{
+		pop pop pop
+	}{
+		xdf
+	}ifelse
+}def
+/cdndf
+{
+	exch dup currentdict exch known{
+		pop pop
+	}{
+		exch def
+	}ifelse
+}def
+/ps_level
+	/languagelevel where{
+		pop systemdict /languagelevel get exec
+	}{
+		1
+	}ifelse
+def
+/level2 
+	ps_level 2 ge
+def
+/level3 
+	ps_level 3 ge
+def
+/ps_version
+	{version cvr} stopped {
+		-1
+	}if
+def
+/set_gvm
+{
+	currentglobal exch setglobal
+}bdf
+/reset_gvm
+{
+	setglobal
+}bdf
+/makereadonlyarray
+{
+	/packedarray where{
+		pop packedarray
+	}{
+		array astore readonly
+	}ifelse
+}bdf
+/map_reserved_ink_name
+{
+	dup type /stringtype eq{
+		dup /Red eq{
+			pop (_Red_)
+		}{
+			dup /Green eq{
+				pop (_Green_)
+			}{
+				dup /Blue eq{
+					pop (_Blue_)
+				}{
+					dup () cvn eq{
+						pop (Process)
+					}if
+				}ifelse
+			}ifelse
+		}ifelse
+	}if
+}bdf
+/AGMUTIL_GSTATE 22 dict def
+/get_gstate
+{
+	AGMUTIL_GSTATE begin
+	/AGMUTIL_GSTATE_clr_spc currentcolorspace def
+	/AGMUTIL_GSTATE_clr_indx 0 def
+	/AGMUTIL_GSTATE_clr_comps 12 array def
+	mark currentcolor counttomark
+		{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put
+		/AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def} repeat pop
+	/AGMUTIL_GSTATE_fnt rootfont def
+	/AGMUTIL_GSTATE_lw currentlinewidth def
+	/AGMUTIL_GSTATE_lc currentlinecap def
+	/AGMUTIL_GSTATE_lj currentlinejoin def
+	/AGMUTIL_GSTATE_ml currentmiterlimit def
+	currentdash /AGMUTIL_GSTATE_do xdf /AGMUTIL_GSTATE_da xdf
+	/AGMUTIL_GSTATE_sa currentstrokeadjust def
+	/AGMUTIL_GSTATE_clr_rnd currentcolorrendering def
+	/AGMUTIL_GSTATE_op currentoverprint def
+	/AGMUTIL_GSTATE_bg currentblackgeneration cvlit def
+	/AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def
+	currentcolortransfer cvlit /AGMUTIL_GSTATE_gy_xfer xdf cvlit /AGMUTIL_GSTATE_b_xfer xdf
+		cvlit /AGMUTIL_GSTATE_g_xfer xdf cvlit /AGMUTIL_GSTATE_r_xfer xdf
+	/AGMUTIL_GSTATE_ht currenthalftone def
+	/AGMUTIL_GSTATE_flt currentflat def
+	end
+}def
+/set_gstate
+{
+	AGMUTIL_GSTATE begin
+	AGMUTIL_GSTATE_clr_spc setcolorspace
+	AGMUTIL_GSTATE_clr_indx {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get
+	/AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def} repeat setcolor
+	AGMUTIL_GSTATE_fnt setfont
+	AGMUTIL_GSTATE_lw setlinewidth
+	AGMUTIL_GSTATE_lc setlinecap
+	AGMUTIL_GSTATE_lj setlinejoin
+	AGMUTIL_GSTATE_ml setmiterlimit
+	AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash
+	AGMUTIL_GSTATE_sa setstrokeadjust
+	AGMUTIL_GSTATE_clr_rnd setcolorrendering
+	AGMUTIL_GSTATE_op setoverprint
+	AGMUTIL_GSTATE_bg cvx setblackgeneration
+	AGMUTIL_GSTATE_ucr cvx setundercolorremoval
+	AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx
+		AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer
+	AGMUTIL_GSTATE_ht /HalftoneType get dup 9 eq exch 100 eq or
+		{
+		currenthalftone /HalftoneType get AGMUTIL_GSTATE_ht /HalftoneType get ne
+			{
+			  mark AGMUTIL_GSTATE_ht {sethalftone} stopped cleartomark
+			} if
+		}{
+		AGMUTIL_GSTATE_ht sethalftone
+		} ifelse
+	AGMUTIL_GSTATE_flt setflat
+	end
+}def
+/get_gstate_and_matrix
+{
+	AGMUTIL_GSTATE begin
+	/AGMUTIL_GSTATE_ctm matrix currentmatrix def
+	end
+	get_gstate
+}def
+/set_gstate_and_matrix
+{
+	set_gstate
+	AGMUTIL_GSTATE begin
+	AGMUTIL_GSTATE_ctm setmatrix
+	end
+}def
+/AGMUTIL_str256 256 string def
+/AGMUTIL_src256 256 string def
+/AGMUTIL_dst64 64 string def
+/AGMUTIL_srcLen nd
+/AGMUTIL_ndx nd
+/thold_halftone
+{ 
+	level3
+		{sethalftone currenthalftone}
+		{
+			dup /HalftoneType get 3 eq
+			{
+				sethalftone currenthalftone
+			}
+			{
+				begin
+				Width Height mul {
+					Thresholds read {pop} if
+				} repeat
+				end
+				currenthalftone
+			} ifelse
+		}ifelse
+} def 
+/rdcmntline
+{
+	currentfile AGMUTIL_str256 readline pop
+	(%) anchorsearch {pop} if
+} bdf
+/filter_cmyk
+{	
+	dup type /filetype ne{
+		exch () /SubFileDecode filter
+	}
+	{
+		exch pop
+	}
+	ifelse
+	[
+	exch
+	{
+		AGMUTIL_src256 readstring pop
+		dup length /AGMUTIL_srcLen exch def
+		/AGMUTIL_ndx 0 def
+		AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{
+			1 index exch get
+			AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put
+			/AGMUTIL_ndx AGMUTIL_ndx 1 add def
+		}for
+		pop
+		AGMUTIL_dst64 0 AGMUTIL_ndx getinterval
+	}
+	bind
+	/exec cvx
+	] cvx
+} bdf
+/filter_indexed_devn
+{
+	cvi Names length mul names_index add Lookup exch get
+} bdf
+/filter_devn
+{	
+	4 dict begin
+	/srcStr xdf
+	/dstStr xdf
+	dup type /filetype ne{
+		0 () /SubFileDecode filter
+	}if
+	[
+	exch
+		[
+			/devicen_colorspace_dict /AGMCORE_gget cvx /begin cvx
+			currentdict /srcStr get /readstring cvx /pop cvx
+			/dup cvx /length cvx 0 /gt cvx [
+				Adobe_AGM_Utils /AGMUTIL_ndx 0 /ddf cvx
+				names_index Names length currentdict /srcStr get length 1 sub {
+					1 /index cvx /exch cvx /get cvx
+					currentdict /dstStr get /AGMUTIL_ndx /load cvx 3 -1 /roll cvx /put cvx
+					Adobe_AGM_Utils /AGMUTIL_ndx /AGMUTIL_ndx /load cvx 1 /add cvx /ddf cvx
+				} for
+				currentdict /dstStr get 0 /AGMUTIL_ndx /load cvx /getinterval cvx
+			] cvx /if cvx
+			/end cvx
+		] cvx
+		bind
+		/exec cvx
+	] cvx
+	end
+} bdf
+/AGMUTIL_imagefile nd
+/read_image_file
+{
+	AGMUTIL_imagefile 0 setfileposition
+	10 dict begin
+	/imageDict xdf
+	/imbufLen Width BitsPerComponent mul 7 add 8 idiv def
+	/imbufIdx 0 def
+	/origDataSource imageDict /DataSource get def
+	/origMultipleDataSources imageDict /MultipleDataSources get def
+	/origDecode imageDict /Decode get def
+	/dstDataStr imageDict /Width get colorSpaceElemCnt mul string def
+	imageDict /MultipleDataSources known {MultipleDataSources}{false} ifelse
+	{
+		/imbufCnt imageDict /DataSource get length def
+		/imbufs imbufCnt array def
+		0 1 imbufCnt 1 sub {
+			/imbufIdx xdf
+			imbufs imbufIdx imbufLen string put
+			imageDict /DataSource get imbufIdx [ AGMUTIL_imagefile imbufs imbufIdx get /readstring cvx /pop cvx ] cvx put
+		} for
+		DeviceN_PS2 {
+			imageDict begin
+		 	/DataSource [ DataSource /devn_sep_datasource cvx ] cvx def
+			/MultipleDataSources false def
+			/Decode [0 1] def
+			end
+		} if
+	}{
+		/imbuf imbufLen string def
+		Indexed_DeviceN level3 not and DeviceN_NoneName or {
+			/srcDataStrs [ imageDict begin
+				currentdict /MultipleDataSources known {MultipleDataSources {DataSource length}{1}ifelse}{1} ifelse
+				{
+					Width Decode length 2 div mul cvi string
+				} repeat
+				end ] def		
+			imageDict begin
+		 	/DataSource [AGMUTIL_imagefile Decode BitsPerComponent false 1 /filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource /exec cvx] cvx def
+			/Decode [0 1] def
+			end
+		}{
+			imageDict /DataSource [1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx /pop cvx names_index /get cvx /put cvx] cvx put
+			imageDict /Decode [0 1] put
+		} ifelse
+	} ifelse
+	imageDict exch
+	load exec
+	imageDict /DataSource origDataSource put
+	imageDict /MultipleDataSources origMultipleDataSources put
+	imageDict /Decode origDecode put	
+	end
+} bdf
+/write_image_file
+{
+	begin
+	{ (AGMUTIL_imagefile) (w+) file } stopped{
+		false
+	}{
+		Adobe_AGM_Utils/AGMUTIL_imagefile xddf 
+		2 dict begin
+		/imbufLen Width BitsPerComponent mul 7 add 8 idiv def
+		MultipleDataSources {DataSource 0 get}{DataSource}ifelse type /filetype eq {
+			/imbuf imbufLen string def
+		}if
+		1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ 
+			pop
+			MultipleDataSources {
+			 	0 1 DataSource length 1 sub {
+					DataSource type dup
+					/arraytype eq {
+						pop DataSource exch get exec
+					}{
+						/filetype eq {
+							DataSource exch get imbuf readstring pop
+						}{
+							DataSource exch get
+						} ifelse
+					} ifelse
+					AGMUTIL_imagefile exch writestring
+				} for
+			}{
+				DataSource type dup
+				/arraytype eq {
+					pop DataSource exec
+				}{
+					/filetype eq {
+						DataSource imbuf readstring pop
+					}{
+						DataSource
+					} ifelse
+				} ifelse
+				AGMUTIL_imagefile exch writestring
+			} ifelse
+		}for
+		end
+		true
+	}ifelse
+	end
+} bdf
+/close_image_file
+{
+	AGMUTIL_imagefile closefile (AGMUTIL_imagefile) deletefile
+}def
+statusdict /product known userdict /AGMP_current_show known not and{
+	/pstr statusdict /product get def
+	pstr (HP LaserJet 2200) eq 	
+	pstr (HP LaserJet 4000 Series) eq or
+	pstr (HP LaserJet 4050 Series ) eq or
+	pstr (HP LaserJet 8000 Series) eq or
+	pstr (HP LaserJet 8100 Series) eq or
+	pstr (HP LaserJet 8150 Series) eq or
+	pstr (HP LaserJet 5000 Series) eq or
+	pstr (HP LaserJet 5100 Series) eq or
+	pstr (HP Color LaserJet 4500) eq or
+	pstr (HP Color LaserJet 4600) eq or
+	pstr (HP LaserJet 5Si) eq or
+	pstr (HP LaserJet 1200 Series) eq or
+	pstr (HP LaserJet 1300 Series) eq or
+	pstr (HP LaserJet 4100 Series) eq or 
+	{
+ 		userdict /AGMP_current_show /show load put
+		userdict /show {
+		  currentcolorspace 0 get
+		  /Pattern eq
+		  {false charpath f}
+		  {AGMP_current_show} ifelse
+		} put
+	}if
+	currentdict /pstr undef
+} if
+/consumeimagedata
+{
+	begin
+	currentdict /MultipleDataSources known not
+		{/MultipleDataSources false def} if
+	MultipleDataSources
+		{
+		DataSource 0 get type
+		dup /filetype eq
+			{
+			1 dict begin
+			/flushbuffer Width cvi string def
+			1 1 Height cvi
+				{
+				pop
+				0 1 DataSource length 1 sub
+					{
+					DataSource exch get
+					flushbuffer readstring pop pop
+					}for
+				}for
+			end
+			}if
+		dup /arraytype eq exch /packedarraytype eq or DataSource 0 get xcheck and
+			{
+			Width Height mul cvi
+				{
+				0 1 DataSource length 1 sub
+					{dup DataSource exch get exec length exch 0 ne {pop}if}for
+				dup 0 eq
+					{pop exit}if
+				sub dup 0 le
+					{exit}if
+				}loop
+			pop
+			}if		
+		}
+		{
+		/DataSource load type 
+		dup /filetype eq
+			{
+			1 dict begin
+			/flushbuffer Width Decode length 2 idiv mul cvi string def
+			1 1 Height { pop DataSource flushbuffer readstring pop pop} for
+			end
+			}if
+		dup /arraytype eq exch /packedarraytype eq or /DataSource load xcheck and
+			{
+				Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul
+					{
+					DataSource length dup 0 eq
+						{pop exit}if
+					sub dup 0 le
+						{exit}if
+					}loop
+				pop
+			}if
+		}ifelse
+	end
+}bdf
+/addprocs
+{
+	  2{/exec load}repeat
+	  3 1 roll
+	  [ 5 1 roll ] bind cvx
+}def
+/modify_halftone_xfer
+{
+	currenthalftone dup length dict copy begin
+	 currentdict 2 index known{
+	 	1 index load dup length dict copy begin
+		currentdict/TransferFunction known{
+			/TransferFunction load
+		}{
+			currenttransfer
+		}ifelse
+		 addprocs /TransferFunction xdf 
+		 currentdict end def
+		currentdict end sethalftone
+	}{ 
+		currentdict/TransferFunction known{
+			/TransferFunction load 
+		}{
+			currenttransfer
+		}ifelse
+		addprocs /TransferFunction xdf
+		currentdict end sethalftone		
+		pop
+	}ifelse
+}def
+/clonearray
+{
+	dup xcheck exch
+	dup length array exch
+	Adobe_AGM_Core/AGMCORE_tmp -1 ddf 
+	{
+	Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf 
+	dup type /dicttype eq
+		{
+			Adobe_AGM_Core/AGMCORE_tmp get
+			exch
+			clonedict
+			Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf 
+		} if
+	dup type /arraytype eq
+		{
+			Adobe_AGM_Core/AGMCORE_tmp get exch
+			clonearray
+			Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf 
+		} if
+	exch dup
+	Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put
+	}forall
+	exch {cvx} if
+}bdf
+/clonedict
+{
+	dup length dict
+	begin
+		{
+		dup type /dicttype eq
+			{
+				clonedict
+			} if
+		dup type /arraytype eq
+			{
+				clonearray
+			} if
+		def
+		}forall
+	currentdict
+	end
+}bdf
+/DeviceN_PS2
+{
+	/currentcolorspace AGMCORE_gget 0 get /DeviceN eq level3 not and
+} bdf
+/Indexed_DeviceN
+{ 
+	/indexed_colorspace_dict AGMCORE_gget dup null ne {
+		dup /CSDBase known {
+			/CSDBase get /CSD get_res /Names known 
+		}{
+			pop false
+		}ifelse
+	}{
+		pop false
+	} ifelse
+} bdf
+/DeviceN_NoneName
+{	
+	/Names where {
+		pop
+		false Names
+		{
+			(None) eq or
+		} forall
+	}{
+		false
+	}ifelse
+} bdf
+/DeviceN_PS2_inRip_seps
+{
+	/AGMCORE_in_rip_sep where
+	{
+		pop dup type dup /arraytype eq exch /packedarraytype eq or
+		{
+			dup 0 get /DeviceN eq level3 not and AGMCORE_in_rip_sep and
+			{
+				/currentcolorspace exch AGMCORE_gput
+				false
+			}
+			{
+				true
+			}ifelse
+		}
+		{
+			true
+		} ifelse
+	}
+	{
+		true
+	} ifelse
+} bdf
+/base_colorspace_type
+{
+	dup type /arraytype eq {0 get} if
+} bdf
+/currentdistillerparams where { pop currentdistillerparams /CoreDistVersion get 5000 lt}{true}ifelse
+{
+	/pdfmark_5 {cleartomark} bind def
+}{
+	/pdfmark_5 {pdfmark} bind def
+}ifelse
+/ReadBypdfmark_5
+{
+	2 dict begin
+	/makerString exch def string /tmpString exch def
+	{
+		currentfile tmpString readline pop
+		makerString anchorsearch
+		{
+		pop pop cleartomark exit
+		}{
+			3 copy /PUT pdfmark_5 pop 2 copy (\n) /PUT pdfmark_5
+		} ifelse
+	}loop
+	end
+} bdf
+/doc_setup{
+	Adobe_AGM_Utils begin
+}bdf
+/doc_trailer{
+	currentdict Adobe_AGM_Utils eq{
+		end
+	}if
+}bdf
+systemdict /setpacking known
+{
+	setpacking
+} if
+%%EndResource
+%%BeginResource: procset Adobe_AGM_Core 2.0 0
+%%Version: 2.0 0
+%%Copyright: Copyright (C) 1997-2005 Adobe Systems, Inc.  All Rights Reserved.
+%% Note: This procset assumes Adobe_AGM_Utils is opened on the stack below it, for
+%% definitions of some fundamental procedures.
+systemdict /setpacking known
+{
+	currentpacking
+	true setpacking
+} if
+userdict /Adobe_AGM_Core 201 dict dup begin put
+/Adobe_AGM_Core_Id /Adobe_AGM_Core_2.0_0 def
+/AGMCORE_str256 256 string def
+/AGMCORE_save nd
+/AGMCORE_graphicsave nd
+/AGMCORE_c 0 def
+/AGMCORE_m 0 def
+/AGMCORE_y 0 def
+/AGMCORE_k 0 def
+/AGMCORE_cmykbuf 4 array def
+/AGMCORE_screen [currentscreen] cvx def
+/AGMCORE_tmp 0 def
+/AGMCORE_&setgray nd
+/AGMCORE_&setcolor nd
+/AGMCORE_&setcolorspace nd
+/AGMCORE_&setcmykcolor nd
+/AGMCORE_cyan_plate nd
+/AGMCORE_magenta_plate nd
+/AGMCORE_yellow_plate nd
+/AGMCORE_black_plate nd
+/AGMCORE_plate_ndx nd
+/AGMCORE_get_ink_data nd
+/AGMCORE_is_cmyk_sep nd
+/AGMCORE_host_sep nd
+/AGMCORE_avoid_L2_sep_space nd
+/AGMCORE_distilling nd
+/AGMCORE_composite_job nd
+/AGMCORE_producing_seps nd
+/AGMCORE_ps_level -1 def
+/AGMCORE_ps_version -1 def
+/AGMCORE_environ_ok nd
+/AGMCORE_CSD_cache 0 dict def
+/AGMCORE_currentoverprint false def
+/AGMCORE_deltaX nd
+/AGMCORE_deltaY nd
+/AGMCORE_name nd
+/AGMCORE_sep_special nd
+/AGMCORE_err_strings 4 dict def
+/AGMCORE_cur_err nd
+/AGMCORE_current_spot_alias false def
+/AGMCORE_inverting false def
+/AGMCORE_feature_dictCount nd
+/AGMCORE_feature_opCount nd
+/AGMCORE_feature_ctm nd
+/AGMCORE_ConvertToProcess false def
+/AGMCORE_Default_CTM matrix def
+/AGMCORE_Default_PageSize nd
+/AGMCORE_currentbg nd
+/AGMCORE_currentucr nd
+/AGMCORE_in_pattern false def
+/AGMCORE_currentpagedevice nd
+/knockout_unitsq nd
+currentglobal true setglobal
+[/CSA /Gradient /Procedure]
+{
+	/Generic /Category findresource dup length dict copy /Category defineresource pop
+} forall
+setglobal
+/AGMCORE_key_known
+{
+	where{
+		/Adobe_AGM_Core_Id known
+	}{
+		false
+	}ifelse
+}ndf
+/flushinput
+{
+	save
+	2 dict begin
+	/CompareBuffer 3 -1 roll def
+	/readbuffer 256 string def
+	mark
+	{
+	currentfile readbuffer {readline} stopped
+		{cleartomark mark}
+		{
+		not
+			{pop exit}
+		if
+		CompareBuffer eq
+			{exit}
+		if
+		}ifelse
+	}loop
+	cleartomark
+	end
+	restore
+}bdf
+/getspotfunction
+{
+	AGMCORE_screen exch pop exch pop
+	dup type /dicttype eq{
+		dup /HalftoneType get 1 eq{
+			/SpotFunction get
+		}{
+			dup /HalftoneType get 2 eq{
+				/GraySpotFunction get
+			}{ 
+				pop
+				{
+					abs exch abs 2 copy add 1 gt{
+						1 sub dup mul exch 1 sub dup mul add 1 sub
+					}{
+						dup mul exch dup mul add 1 exch sub
+					}ifelse
+				}bind
+			}ifelse
+		}ifelse
+	}if
+} def
+/clp_npth
+{
+	clip newpath
+} def
+/eoclp_npth
+{
+	eoclip newpath
+} def
+/npth_clp
+{
+	newpath clip
+} def
+/graphic_setup
+{
+	/AGMCORE_graphicsave save def
+	concat
+	0 setgray
+	0 setlinecap
+	0 setlinejoin
+	1 setlinewidth
+	[] 0 setdash
+	10 setmiterlimit
+	newpath
+	false setoverprint
+	false setstrokeadjust
+	//Adobe_AGM_Core/spot_alias get exec
+	/Adobe_AGM_Image where {
+		pop
+		Adobe_AGM_Image/spot_alias 2 copy known{
+			get exec
+		}{
+			pop pop
+		}ifelse
+	} if
+	100 dict begin
+	/dictstackcount countdictstack def
+	/showpage {} def
+	mark
+} def
+/graphic_cleanup
+{
+	cleartomark
+	dictstackcount 1 countdictstack 1 sub {end}for
+	end
+	AGMCORE_graphicsave restore
+} def
+/compose_error_msg
+{
+	grestoreall initgraphics	
+	/Helvetica findfont 10 scalefont setfont
+	/AGMCORE_deltaY 100 def
+	/AGMCORE_deltaX 310 def
+	clippath pathbbox newpath pop pop 36 add exch 36 add exch moveto
+	0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto
+	0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath
+	0 AGMCORE_&setgray
+	gsave 1 AGMCORE_&setgray fill grestore 
+	1 setlinewidth gsave stroke grestore
+	currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto
+	/AGMCORE_deltaY 12 def
+	/AGMCORE_tmp 0 def
+	AGMCORE_err_strings exch get
+		{
+		dup 32 eq
+			{
+			pop
+			AGMCORE_str256 0 AGMCORE_tmp getinterval
+			stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt
+				{
+				currentpoint AGMCORE_deltaY sub exch pop
+				clippath pathbbox pop pop pop 44 add exch moveto
+				} if
+			AGMCORE_str256 0 AGMCORE_tmp getinterval show ( ) show
+			0 1 AGMCORE_str256 length 1 sub
+				{
+				AGMCORE_str256 exch 0 put
+				}for
+			/AGMCORE_tmp 0 def
+			}
+			{
+				AGMCORE_str256 exch AGMCORE_tmp xpt
+				/AGMCORE_tmp AGMCORE_tmp 1 add def
+			} ifelse
+		} forall
+} bdf
+/doc_setup{
+	Adobe_AGM_Core begin
+	/AGMCORE_ps_version xdf
+	/AGMCORE_ps_level xdf
+	errordict /AGM_handleerror known not{
+		errordict /AGM_handleerror errordict /handleerror get put
+		errordict /handleerror {
+			Adobe_AGM_Core begin
+			$error /newerror get AGMCORE_cur_err null ne and{
+				$error /newerror false put
+				AGMCORE_cur_err compose_error_msg
+			}if
+			$error /newerror true put
+			end
+			errordict /AGM_handleerror get exec
+			} bind put
+		}if
+	/AGMCORE_environ_ok 
+		ps_level AGMCORE_ps_level ge
+		ps_version AGMCORE_ps_version ge and 
+		AGMCORE_ps_level -1 eq or
+	def
+	AGMCORE_environ_ok not
+		{/AGMCORE_cur_err /AGMCORE_bad_environ def} if
+	/AGMCORE_&setgray systemdict/setgray get def
+	level2{
+		/AGMCORE_&setcolor systemdict/setcolor get def
+		/AGMCORE_&setcolorspace systemdict/setcolorspace get def
+	}if
+	/AGMCORE_currentbg currentblackgeneration def
+	/AGMCORE_currentucr currentundercolorremoval def
+	/AGMCORE_distilling
+		/product where{
+			pop systemdict/setdistillerparams known product (Adobe PostScript Parser) ne and
+		}{
+			false
+		}ifelse
+	def
+	/AGMCORE_GSTATE AGMCORE_key_known not{
+		/AGMCORE_GSTATE 21 dict def
+		/AGMCORE_tmpmatrix matrix def
+		/AGMCORE_gstack 32 array def
+		/AGMCORE_gstackptr 0 def
+		/AGMCORE_gstacksaveptr 0 def
+		/AGMCORE_gstackframekeys 10 def
+		/AGMCORE_&gsave /gsave ldf
+		/AGMCORE_&grestore /grestore ldf
+		/AGMCORE_&grestoreall /grestoreall ldf
+		/AGMCORE_&save /save ldf
+		/AGMCORE_&setoverprint /setoverprint ldf
+		/AGMCORE_gdictcopy {
+			begin
+			{ def } forall
+			end
+		}def
+		/AGMCORE_gput {
+			AGMCORE_gstack AGMCORE_gstackptr get
+			3 1 roll
+			put
+		}def
+		/AGMCORE_gget {
+			AGMCORE_gstack AGMCORE_gstackptr get
+			exch
+			get
+		}def
+		/gsave {
+			AGMCORE_&gsave
+			AGMCORE_gstack AGMCORE_gstackptr get
+			AGMCORE_gstackptr 1 add
+			dup 32 ge {limitcheck} if
+			/AGMCORE_gstackptr exch store
+			AGMCORE_gstack AGMCORE_gstackptr get
+			AGMCORE_gdictcopy
+		}def
+		/grestore {
+			AGMCORE_&grestore
+			AGMCORE_gstackptr 1 sub
+			dup AGMCORE_gstacksaveptr lt {1 add} if
+			dup AGMCORE_gstack exch get dup /AGMCORE_currentoverprint known
+				{/AGMCORE_currentoverprint get setoverprint}{pop}ifelse
+			/AGMCORE_gstackptr exch store
+		}def
+		/grestoreall {
+			AGMCORE_&grestoreall
+			/AGMCORE_gstackptr AGMCORE_gstacksaveptr store 
+		}def
+		/save {
+			AGMCORE_&save
+			AGMCORE_gstack AGMCORE_gstackptr get
+			AGMCORE_gstackptr 1 add
+			dup 32 ge {limitcheck} if
+			/AGMCORE_gstackptr exch store
+			/AGMCORE_gstacksaveptr AGMCORE_gstackptr store
+			AGMCORE_gstack AGMCORE_gstackptr get
+			AGMCORE_gdictcopy
+		}def
+		/setoverprint{
+			dup /AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint
+		}def	
+		0 1 AGMCORE_gstack length 1 sub {
+				AGMCORE_gstack exch AGMCORE_gstackframekeys dict put
+		} for
+	}if
+	level3 /AGMCORE_&sysshfill AGMCORE_key_known not and
+	{
+		/AGMCORE_&sysshfill systemdict/shfill get def
+		/AGMCORE_&sysmakepattern systemdict/makepattern get def
+		/AGMCORE_&usrmakepattern /makepattern load def
+	}if
+	/currentcmykcolor [0 0 0 0] AGMCORE_gput
+	/currentstrokeadjust false AGMCORE_gput
+	/currentcolorspace [/DeviceGray] AGMCORE_gput
+	/sep_tint 0 AGMCORE_gput
+	/devicen_tints [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] AGMCORE_gput
+	/sep_colorspace_dict null AGMCORE_gput
+	/devicen_colorspace_dict null AGMCORE_gput
+	/indexed_colorspace_dict null AGMCORE_gput
+	/currentcolor_intent () AGMCORE_gput
+	/customcolor_tint 1 AGMCORE_gput
+	<<
+	/MaxPatternItem currentsystemparams /MaxPatternCache get
+	>>
+	setuserparams
+	end
+}def
+/page_setup
+{
+	/setcmykcolor where{
+		pop
+		Adobe_AGM_Core/AGMCORE_&setcmykcolor /setcmykcolor load put
+	}if
+	Adobe_AGM_Core begin
+	/setcmykcolor
+	{
+		4 copy AGMCORE_cmykbuf astore /currentcmykcolor exch AGMCORE_gput
+		1 sub 4 1 roll
+		3 {
+			3 index add neg dup 0 lt {
+				pop 0
+			} if
+			3 1 roll
+		} repeat
+		setrgbcolor pop
+	}ndf
+	/currentcmykcolor
+	{
+		/currentcmykcolor AGMCORE_gget aload pop
+	}ndf
+	/setoverprint
+	{
+		pop
+	}ndf
+	/currentoverprint
+	{
+		false
+	}ndf
+	/AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def
+	/AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def
+	/AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def
+	/AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def
+	/AGMCORE_plate_ndx 
+		AGMCORE_cyan_plate{ 
+			0
+		}{
+			AGMCORE_magenta_plate{
+				1
+			}{
+				AGMCORE_yellow_plate{
+					2
+				}{
+					AGMCORE_black_plate{
+						3
+					}{
+						4
+					}ifelse
+				}ifelse
+			}ifelse
+		}ifelse
+		def
+	/AGMCORE_have_reported_unsupported_color_space false def
+	/AGMCORE_report_unsupported_color_space
+	{
+		AGMCORE_have_reported_unsupported_color_space false eq
+		{
+			(Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.) ==
+			Adobe_AGM_Core /AGMCORE_have_reported_unsupported_color_space true ddf
+		} if
+	}def
+	/AGMCORE_composite_job
+		AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def
+	/AGMCORE_in_rip_sep
+		/AGMCORE_in_rip_sep where{
+			pop AGMCORE_in_rip_sep
+		}{
+			AGMCORE_distilling 
+			{
+				false
+			}{
+				userdict/Adobe_AGM_OnHost_Seps known{
+					false
+				}{
+					level2{
+						currentpagedevice/Separations 2 copy known{
+							get
+						}{
+							pop pop false
+						}ifelse
+					}{
+						false
+					}ifelse
+				}ifelse
+			}ifelse
+		}ifelse
+	def
+	/AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def
+	/AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def
+	/AGM_preserve_spots 
+		/AGM_preserve_spots where{
+			pop AGM_preserve_spots
+		}{
+			AGMCORE_distilling AGMCORE_producing_seps or
+		}ifelse
+	def
+	/AGM_is_distiller_preserving_spotimages
+	{
+		currentdistillerparams/PreserveOverprintSettings known
+		{
+			currentdistillerparams/PreserveOverprintSettings get
+				{
+					currentdistillerparams/ColorConversionStrategy known
+					{
+						currentdistillerparams/ColorConversionStrategy get
+						/sRGB ne
+					}{
+						true
+					}ifelse
+				}{
+					false
+				}ifelse
+		}{
+			false
+		}ifelse
+	}def
+	/convert_spot_to_process where {pop}{
+		/convert_spot_to_process
+		{
+			//Adobe_AGM_Core begin
+			dup map_alias {
+				/Name get exch pop
+			} if
+			dup dup (None) eq exch (All) eq or
+				{
+				pop false
+				}{
+				AGMCORE_host_sep
+				{ 
+					gsave
+					1 0 0 0 setcmykcolor currentgray 1 exch sub
+					0 1 0 0 setcmykcolor currentgray 1 exch sub
+					0 0 1 0 setcmykcolor currentgray 1 exch sub
+					0 0 0 1 setcmykcolor currentgray 1 exch sub
+					add add add 0 eq
+					{
+						pop false
+					}{
+						false setoverprint
+						current_spot_alias false set_spot_alias
+						1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor
+						set_spot_alias
+						currentgray 1 ne
+					}ifelse
+					grestore
+				}{
+					AGMCORE_distilling
+					{
+						pop AGM_is_distiller_preserving_spotimages not
+					}{
+						//Adobe_AGM_Core/AGMCORE_name xddf
+						false
+						//Adobe_AGM_Core/AGMCORE_in_pattern known {//Adobe_AGM_Core/AGMCORE_in_pattern get}{false} ifelse
+						not AGMCORE_currentpagedevice/OverrideSeparations known and
+						{
+							AGMCORE_currentpagedevice/OverrideSeparations get
+							{
+								/HqnSpots /ProcSet resourcestatus
+								{
+									pop pop pop true
+								}if
+							}if
+						}if					
+						{
+							AGMCORE_name /HqnSpots /ProcSet findresource /TestSpot get exec not
+						}{
+							gsave
+							[/Separation AGMCORE_name /DeviceGray {}]AGMCORE_&setcolorspace
+							false
+							AGMCORE_currentpagedevice/SeparationColorNames 2 copy known
+							{
+								get
+								{ AGMCORE_name eq or}forall
+								not
+							}{
+								pop pop pop true
+							}ifelse
+							grestore
+						}ifelse
+					}ifelse
+				}ifelse
+			}ifelse
+			end
+		}def
+	}ifelse
+	/convert_to_process where {pop}{
+		/convert_to_process
+		{
+			dup length 0 eq
+				{
+				pop false
+				}{
+				AGMCORE_host_sep
+				{ 
+				dup true exch
+					{
+					dup (Cyan) eq exch
+					dup (Magenta) eq 3 -1 roll or exch
+					dup (Yellow) eq 3 -1 roll or exch
+					dup (Black) eq 3 -1 roll or
+						{pop}
+						{convert_spot_to_process and}ifelse
+					}
+				forall
+					{
+					true exch
+						{
+						dup (Cyan) eq exch
+						dup (Magenta) eq 3 -1 roll or exch
+						dup (Yellow) eq 3 -1 roll or exch
+						(Black) eq or and
+						}forall
+						not
+					}{pop false}ifelse
+				}{
+				false exch
+					{
+					dup (Cyan) eq exch
+					dup (Magenta) eq 3 -1 roll or exch
+					dup (Yellow) eq 3 -1 roll or exch
+					dup (Black) eq 3 -1 roll or
+					{pop}
+					{convert_spot_to_process or}ifelse
+					}
+				forall
+				}ifelse
+			}ifelse
+		}def
+	}ifelse	
+	/AGMCORE_avoid_L2_sep_space  
+		version cvr 2012 lt 
+		level2 and 
+		AGMCORE_producing_seps not and
+	def
+	/AGMCORE_is_cmyk_sep
+		AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or
+	def
+	/AGM_avoid_0_cmyk where{
+		pop AGM_avoid_0_cmyk
+	}{
+		AGM_preserve_spots 
+		userdict/Adobe_AGM_OnHost_Seps known 
+		userdict/Adobe_AGM_InRip_Seps known or
+		not and
+	}ifelse
+	{
+		/setcmykcolor[
+			{
+				4 copy add add add 0 eq currentoverprint and{
+					pop 0.0005
+				}if
+			}/exec cvx
+			/AGMCORE_&setcmykcolor load dup type/operatortype ne{
+				/exec cvx
+			}if
+		]cvx def
+	}if
+	/AGMCORE_IsSeparationAProcessColor
+		{
+		dup (Cyan) eq exch dup (Magenta) eq exch dup (Yellow) eq exch (Black) eq or or or
+		}def
+	AGMCORE_host_sep{
+		/setcolortransfer
+		{ 
+			AGMCORE_cyan_plate{
+				pop pop pop
+			}{
+			  	AGMCORE_magenta_plate{
+			  		4 3 roll pop pop pop
+			  	}{
+			  		AGMCORE_yellow_plate{
+			  			4 2 roll pop pop pop
+			  		}{
+			  			4 1 roll pop pop pop
+			  		}ifelse
+			  	}ifelse
+			}ifelse
+			settransfer  
+		}	
+		def
+		/AGMCORE_get_ink_data
+			AGMCORE_cyan_plate{
+				{pop pop pop}
+			}{
+			  	AGMCORE_magenta_plate{
+			  		{4 3 roll pop pop pop}
+			  	}{
+			  		AGMCORE_yellow_plate{
+			  			{4 2 roll pop pop pop}
+			  		}{
+			  			{4 1 roll pop pop pop}
+			  		}ifelse
+			  	}ifelse
+			}ifelse
+		def
+		/AGMCORE_RemoveProcessColorNames
+			{
+			1 dict begin
+			/filtername
+				{
+				dup /Cyan eq 1 index (Cyan) eq or
+					{pop (_cyan_)}if
+				dup /Magenta eq 1 index (Magenta) eq or
+					{pop (_magenta_)}if
+				dup /Yellow eq 1 index (Yellow) eq or
+					{pop (_yellow_)}if
+				dup /Black eq 1 index (Black) eq or
+					{pop (_black_)}if
+				}def
+			dup type /arraytype eq
+				{[exch {filtername}forall]}
+				{filtername}ifelse
+			end
+			}def
+		level3 {
+			/AGMCORE_IsCurrentColor
+				{
+				dup AGMCORE_IsSeparationAProcessColor
+					{
+					AGMCORE_plate_ndx 0 eq
+						{dup (Cyan) eq exch /Cyan eq or}if
+					AGMCORE_plate_ndx 1 eq
+						{dup (Magenta) eq exch /Magenta eq or}if
+					AGMCORE_plate_ndx 2 eq
+						{dup (Yellow) eq exch /Yellow eq or}if
+					AGMCORE_plate_ndx 3 eq
+						{dup (Black) eq exch /Black eq or}if
+					AGMCORE_plate_ndx 4 eq
+						{pop false}if
+					}{
+					gsave
+					false setoverprint
+					current_spot_alias false set_spot_alias
+					1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor
+					set_spot_alias
+					currentgray 1 ne
+					grestore
+					}ifelse
+				}def
+			/AGMCORE_filter_functiondatasource
+				{	
+				5 dict begin
+				/data_in xdf
+				data_in type /stringtype eq
+					{
+					/ncomp xdf
+					/comp xdf
+					/string_out data_in length ncomp idiv string def
+					0 ncomp data_in length 1 sub
+						{
+						string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put
+						}for
+					string_out
+					}{
+					string /string_in xdf
+					/string_out 1 string def
+					/component xdf
+					[
+					data_in string_in /readstring cvx
+						[component /get cvx 255 /exch cvx /sub cvx string_out /exch cvx 0 /exch cvx /put cvx string_out]cvx
+						[/pop cvx ()]cvx /ifelse cvx
+					]cvx /ReusableStreamDecode filter
+				}ifelse
+				end
+				}def
+			/AGMCORE_separateShadingFunction
+				{
+				2 dict begin
+				/paint? xdf
+				/channel xdf
+				dup type /dicttype eq
+					{
+					begin
+					FunctionType 0 eq
+						{
+						/DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def
+						currentdict /Decode known
+							{/Decode Decode channel 2 mul 2 getinterval def}if
+						paint? not
+							{/Decode [1 1]def}if
+						}if
+					FunctionType 2 eq
+						{
+						paint?
+							{
+							/C0 [C0 channel get 1 exch sub] def
+							/C1 [C1 channel get 1 exch sub] def
+							}{
+							/C0 [1] def
+							/C1 [1] def
+							}ifelse			
+						}if
+					FunctionType 3 eq
+						{
+						/Functions [Functions {channel paint? AGMCORE_separateShadingFunction} forall] def			
+						}if
+					currentdict /Range known
+						{/Range [0 1] def}if
+					currentdict
+					end}{
+					channel get 0 paint? AGMCORE_separateShadingFunction
+					}ifelse
+				end
+				}def
+			/AGMCORE_separateShading
+				{
+				3 -1 roll begin
+				currentdict /Function known
+					{
+					currentdict /Background known
+						{[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if
+					Function 3 1 roll AGMCORE_separateShadingFunction /Function xdf
+					/ColorSpace [/DeviceGray] def
+					}{
+					ColorSpace dup type /arraytype eq {0 get}if /DeviceCMYK eq
+						{
+						/ColorSpace [/DeviceN [/_cyan_ /_magenta_ /_yellow_ /_black_] /DeviceCMYK {}] def
+						}{
+						ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put
+						}ifelse
+					ColorSpace 0 get /Separation eq
+						{
+							{
+								[1 /exch cvx /sub cvx]cvx
+							}{
+								[/pop cvx 1]cvx
+							}ifelse
+							ColorSpace 3 3 -1 roll put
+							pop
+						}{
+							{
+								[exch ColorSpace 1 get length 1 sub exch sub /index cvx 1 /exch cvx /sub cvx ColorSpace 1 get length 1 add 1 /roll cvx ColorSpace 1 get length{/pop cvx} repeat]cvx
+							}{
+								pop [ColorSpace 1 get length {/pop cvx} repeat cvx 1]cvx
+							}ifelse
+							ColorSpace 3 3 -1 roll bind put
+						}ifelse
+					ColorSpace 2 /DeviceGray put																		
+					}ifelse
+				end
+				}def
+			/AGMCORE_separateShadingDict
+				{
+				dup /ColorSpace get
+				dup type /arraytype ne
+					{[exch]}if
+				dup 0 get /DeviceCMYK eq
+					{
+					exch begin 
+					currentdict
+					AGMCORE_cyan_plate
+						{0 true}if
+					AGMCORE_magenta_plate
+						{1 true}if
+					AGMCORE_yellow_plate
+						{2 true}if
+					AGMCORE_black_plate
+						{3 true}if
+					AGMCORE_plate_ndx 4 eq
+						{0 false}if		
+					dup not currentoverprint and
+						{/AGMCORE_ignoreshade true def}if
+					AGMCORE_separateShading
+					currentdict
+					end exch
+					}if
+				dup 0 get /Separation eq
+					{
+					exch begin
+					ColorSpace 1 get dup /None ne exch /All ne and
+						{
+						ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and
+							{
+							ColorSpace 2 get dup type /arraytype eq {0 get}if /DeviceCMYK eq 
+								{
+								/ColorSpace
+									[
+									/Separation
+									ColorSpace 1 get
+									/DeviceGray
+										[
+										ColorSpace 3 get /exec cvx
+										4 AGMCORE_plate_ndx sub -1 /roll cvx
+										4 1 /roll cvx
+										3 [/pop cvx]cvx /repeat cvx
+										1 /exch cvx /sub cvx
+										]cvx									
+									]def
+								}{
+								AGMCORE_report_unsupported_color_space
+								AGMCORE_black_plate not
+									{
+									currentdict 0 false AGMCORE_separateShading
+									}if
+								}ifelse
+							}{
+							currentdict ColorSpace 1 get AGMCORE_IsCurrentColor
+							0 exch 
+							dup not currentoverprint and
+								{/AGMCORE_ignoreshade true def}if
+							AGMCORE_separateShading
+							}ifelse	
+						}if			
+					currentdict
+					end exch
+					}if
+				dup 0 get /DeviceN eq
+					{
+					exch begin
+					ColorSpace 1 get convert_to_process
+						{
+						ColorSpace 2 get dup type /arraytype eq {0 get}if /DeviceCMYK eq 
+							{
+							/ColorSpace
+								[
+								/DeviceN
+								ColorSpace 1 get
+								/DeviceGray
+									[
+									ColorSpace 3 get /exec cvx
+									4 AGMCORE_plate_ndx sub -1 /roll cvx
+									4 1 /roll cvx
+									3 [/pop cvx]cvx /repeat cvx
+									1 /exch cvx /sub cvx
+									]cvx									
+								]def
+							}{
+							AGMCORE_report_unsupported_color_space
+							AGMCORE_black_plate not
+								{
+								currentdict 0 false AGMCORE_separateShading
+								/ColorSpace [/DeviceGray] def
+								}if
+							}ifelse
+						}{
+						currentdict
+						false -1 ColorSpace 1 get
+							{
+							AGMCORE_IsCurrentColor
+								{
+								1 add
+								exch pop true exch exit
+								}if
+							1 add
+							}forall
+						exch 
+						dup not currentoverprint and
+							{/AGMCORE_ignoreshade true def}if
+						AGMCORE_separateShading
+						}ifelse
+					currentdict
+					end exch
+					}if
+				dup 0 get dup /DeviceCMYK eq exch dup /Separation eq exch /DeviceN eq or or not
+					{
+					exch begin
+					ColorSpace dup type /arraytype eq
+						{0 get}if
+					/DeviceGray ne
+						{
+						AGMCORE_report_unsupported_color_space
+						AGMCORE_black_plate not
+							{
+							ColorSpace 0 get /CIEBasedA eq
+								{
+								/ColorSpace [/Separation /_ciebaseda_ /DeviceGray {}] def
+								}if
+							ColorSpace 0 get dup /CIEBasedABC eq exch dup /CIEBasedDEF eq exch /DeviceRGB eq or or
+								{
+								/ColorSpace [/DeviceN [/_red_ /_green_ /_blue_] /DeviceRGB {}] def
+								}if
+							ColorSpace 0 get /CIEBasedDEFG eq
+								{
+								/ColorSpace [/DeviceN [/_cyan_ /_magenta_ /_yellow_ /_black_] /DeviceCMYK {}] def
+								}if
+							currentdict 0 false AGMCORE_separateShading
+							}if
+						}if
+					currentdict
+					end exch
+					}if
+				pop
+				dup /AGMCORE_ignoreshade known
+					{
+					begin
+					/ColorSpace [/Separation (None) /DeviceGray {}] def
+					currentdict end
+					}if
+				}def
+			/shfill
+				{
+				AGMCORE_separateShadingDict 
+				dup /AGMCORE_ignoreshade known
+					{pop}
+					{AGMCORE_&sysshfill}ifelse
+				}def
+			/makepattern
+				{
+				exch
+				dup /PatternType get 2 eq
+					{
+					clonedict
+					begin
+					/Shading Shading AGMCORE_separateShadingDict def
+					Shading /AGMCORE_ignoreshade known
+					currentdict end exch
+					{pop <</PatternType 1/PaintProc{pop}/BBox[0 0 1 1]/XStep 1/YStep 1/PaintType 1/TilingType 3>>}if
+					exch AGMCORE_&sysmakepattern
+					}{
+					exch AGMCORE_&usrmakepattern
+					}ifelse
+				}def
+		}if
+	}if
+	AGMCORE_in_rip_sep{
+		/setcustomcolor
+		{
+			exch aload pop
+			dup 7 1 roll inRip_spot_has_ink not	{ 
+				4 {4 index mul 4 1 roll}
+				repeat
+				/DeviceCMYK setcolorspace
+				6 -2 roll pop pop
+			}{ 
+				//Adobe_AGM_Core begin
+					/AGMCORE_k xdf /AGMCORE_y xdf /AGMCORE_m xdf /AGMCORE_c xdf
+				end
+				[/Separation 4 -1 roll /DeviceCMYK
+				{dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul}
+				]
+				setcolorspace
+			}ifelse
+			setcolor
+		}ndf
+		/setseparationgray
+		{
+			[/Separation (All) /DeviceGray {}] setcolorspace_opt
+			1 exch sub setcolor
+		}ndf
+	}{
+		/setseparationgray
+		{
+			AGMCORE_&setgray
+		}ndf
+	}ifelse
+	/findcmykcustomcolor
+	{
+		5 makereadonlyarray
+	}ndf
+	/setcustomcolor
+	{
+		exch aload pop pop
+		4 {4 index mul 4 1 roll} repeat
+		setcmykcolor pop
+	}ndf
+	/has_color
+		/colorimage where{
+			AGMCORE_producing_seps{
+				pop true
+			}{
+				systemdict eq
+			}ifelse
+		}{
+			false
+		}ifelse
+	def
+	/map_index
+	{
+		1 index mul exch getinterval {255 div} forall
+	} bdf
+	/map_indexed_devn
+	{
+		Lookup Names length 3 -1 roll cvi map_index
+	} bdf
+	/n_color_components
+	{
+		base_colorspace_type
+		dup /DeviceGray eq{
+			pop 1
+		}{
+			/DeviceCMYK eq{
+				4
+			}{
+				3
+			}ifelse
+		}ifelse
+	}bdf
+	level2{
+		/mo /moveto ldf
+		/li /lineto ldf
+		/cv /curveto ldf
+		/knockout_unitsq
+		{
+			1 setgray
+			0 0 1 1 rectfill
+		}def
+		level2 /setcolorspace AGMCORE_key_known not and{
+			/AGMCORE_&&&setcolorspace /setcolorspace ldf
+			/AGMCORE_ReplaceMappedColor
+			{
+				dup type dup /arraytype eq exch /packedarraytype eq or
+				{
+					/AGMCORE_SpotAliasAry2 where {
+						begin
+						dup 0 get dup /Separation eq
+						{
+							pop
+							dup length array copy
+							dup dup 1 get
+							current_spot_alias
+							{
+								dup map_alias
+								{
+									false set_spot_alias
+									dup 1 exch setsepcolorspace
+									true set_spot_alias
+									begin
+									/sep_colorspace_dict currentdict AGMCORE_gput
+									pop pop	pop
+									[ 
+										/Separation Name 
+										CSA map_csa
+										MappedCSA 
+										/sep_colorspace_proc load
+									]
+									dup Name
+									end
+								}if
+							}if
+							map_reserved_ink_name 1 xpt
+						}{
+							/DeviceN eq 
+							{
+								dup length array copy
+								dup dup 1 get [ 
+									exch {
+										current_spot_alias{
+											dup map_alias{
+												/Name get exch pop
+											}if
+										}if
+										map_reserved_ink_name
+									} forall 
+								] 1 xpt
+							}if
+						}ifelse
+						end
+					} if
+				}if
+			}def
+			/setcolorspace
+			{
+				dup type dup /arraytype eq exch /packedarraytype eq or
+				{
+					dup 0 get /Indexed eq
+					{
+						AGMCORE_distilling
+						{
+							/PhotoshopDuotoneList where
+							{
+								pop false
+							}{
+								true
+							}ifelse
+						}{
+							true
+						}ifelse
+						{
+							aload pop 3 -1 roll
+							AGMCORE_ReplaceMappedColor
+							3 1 roll 4 array astore
+						}if
+					}{
+						AGMCORE_ReplaceMappedColor
+					}ifelse
+				}if
+				DeviceN_PS2_inRip_seps {AGMCORE_&&&setcolorspace} if
+			}def
+		}if	
+	}{
+		/adj
+		{
+			currentstrokeadjust{
+				transform
+				0.25 sub round 0.25 add exch
+				0.25 sub round 0.25 add exch
+				itransform
+			}if
+		}def
+		/mo{
+			adj moveto
+		}def
+		/li{
+			adj lineto
+		}def
+		/cv{
+			6 2 roll adj
+			6 2 roll adj
+			6 2 roll adj curveto
+		}def
+		/knockout_unitsq
+		{
+			1 setgray
+			8 8 1 [8 0 0 8 0 0] {<ffffffffffffffff>} image
+		}def
+		/currentstrokeadjust{
+			/currentstrokeadjust AGMCORE_gget
+		}def
+		/setstrokeadjust{
+			/currentstrokeadjust exch AGMCORE_gput
+		}def
+		/setcolorspace
+		{
+			/currentcolorspace exch AGMCORE_gput
+		} def
+		/currentcolorspace
+		{
+			/currentcolorspace AGMCORE_gget
+		} def
+		/setcolor_devicecolor
+		{
+			base_colorspace_type
+			dup /DeviceGray eq{
+				pop setgray
+			}{
+				/DeviceCMYK eq{
+					setcmykcolor
+				}{
+					setrgbcolor
+				}ifelse
+			}ifelse
+		}def
+		/setcolor
+		{
+			currentcolorspace 0 get
+			dup /DeviceGray ne{
+				dup /DeviceCMYK ne{
+					dup /DeviceRGB ne{
+						dup /Separation eq{
+							pop
+							currentcolorspace 3 get exec
+							currentcolorspace 2 get
+						}{
+							dup /Indexed eq{
+								pop
+								currentcolorspace 3 get dup type /stringtype eq{
+									currentcolorspace 1 get n_color_components
+									3 -1 roll map_index
+								}{
+									exec
+								}ifelse
+								currentcolorspace 1 get
+							}{
+								/AGMCORE_cur_err /AGMCORE_invalid_color_space def
+								AGMCORE_invalid_color_space
+							}ifelse
+						}ifelse
+					}if
+				}if
+			}if
+			setcolor_devicecolor
+		} def
+	}ifelse
+	/sop /setoverprint ldf
+	/lw /setlinewidth ldf
+	/lc /setlinecap ldf
+	/lj /setlinejoin ldf
+	/ml /setmiterlimit ldf
+	/dsh /setdash ldf
+	/sadj /setstrokeadjust ldf
+	/gry /setgray ldf
+	/rgb /setrgbcolor ldf
+	/cmyk /setcmykcolor ldf
+	/sep /setsepcolor ldf
+	/devn /setdevicencolor ldf
+	/idx /setindexedcolor ldf
+	/colr /setcolor ldf
+	/csacrd /set_csa_crd ldf
+	/sepcs /setsepcolorspace ldf
+	/devncs /setdevicencolorspace ldf
+	/idxcs /setindexedcolorspace ldf
+	/cp /closepath ldf
+	/clp /clp_npth ldf
+	/eclp /eoclp_npth ldf
+	/f /fill ldf
+	/ef /eofill ldf
+	/@ /stroke ldf
+	/nclp /npth_clp ldf
+	/gset /graphic_setup ldf
+	/gcln /graphic_cleanup ldf
+	/AGMCORE_def_ht currenthalftone def
+	/clonedict Adobe_AGM_Utils begin /clonedict load end def
+	/clonearray Adobe_AGM_Utils begin /clonearray load end def
+	currentdict{
+		dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and {
+			bind
+		}if
+		def
+	}forall
+	/getrampcolor
+	{ 
+		/indx exch def
+		0 1 NumComp 1 sub
+		{
+			dup
+			Samples exch get
+			dup type /stringtype eq {indx get} if
+			exch
+			Scaling exch get aload pop
+			3 1 roll
+			mul add
+		} for
+		ColorSpaceFamily /Separation eq 
+		{sep}
+		{
+			ColorSpaceFamily /DeviceN eq
+			{devn} {setcolor}ifelse
+		}ifelse
+	} bdf
+	/sssetbackground {aload pop setcolor} bdf
+	/RadialShade
+	{
+		40 dict begin
+		/ColorSpaceFamily xdf
+		/background xdf
+		/ext1 xdf
+		/ext0 xdf
+		/BBox xdf
+		/r2 xdf
+		/c2y xdf
+		/c2x xdf
+		/r1 xdf
+		/c1y xdf
+		/c1x xdf
+		/rampdict xdf
+		/setinkoverprint where {pop /setinkoverprint{pop}def}if
+		gsave
+		BBox length 0 gt
+		{
+			newpath
+			BBox 0 get BBox 1 get moveto
+			BBox 2 get BBox 0 get sub 0 rlineto
+			0 BBox 3 get BBox 1 get sub rlineto
+			BBox 2 get BBox 0 get sub neg 0 rlineto
+			closepath
+			clip
+			newpath
+		} if
+		c1x c2x eq
+		{
+			c1y c2y lt {/theta 90 def}{/theta 270 def} ifelse
+		}
+		{
+			/slope c2y c1y sub c2x c1x sub div def
+			/theta slope 1 atan def
+			c2x c1x lt c2y c1y ge and { /theta theta 180 sub def} if
+			c2x c1x lt c2y c1y lt and { /theta theta 180 add def} if
+		} ifelse
+		gsave
+		clippath
+		c1x c1y translate
+		theta rotate
+		-90 rotate
+		{ pathbbox } stopped
+		{ 0 0 0 0 } if
+		/yMax xdf
+		/xMax xdf
+		/yMin xdf
+		/xMin xdf
+		grestore
+		xMax xMin eq yMax yMin eq or
+		{
+			grestore
+			end
+		}
+		{
+			/max { 2 copy gt { pop } {exch pop} ifelse } bdf
+			/min { 2 copy lt { pop } {exch pop} ifelse } bdf
+			rampdict begin
+			40 dict begin
+			background length 0 gt { background sssetbackground gsave clippath fill grestore } if
+			gsave
+			c1x c1y translate
+			theta rotate
+			-90 rotate
+			/c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def
+			/c1y 0 def
+			/c1x 0 def
+			/c2x 0 def
+			ext0
+			{
+				0 getrampcolor
+				c2y r2 add r1 sub 0.0001 lt
+				{
+					c1x c1y r1 360 0 arcn
+					pathbbox
+					/aymax exch def
+					/axmax exch def
+					/aymin exch def
+					/axmin exch def
+					/bxMin xMin axmin min def
+					/byMin yMin aymin min def
+					/bxMax xMax axmax max def
+					/byMax yMax aymax max def
+					bxMin byMin moveto
+					bxMax byMin lineto
+					bxMax byMax lineto
+					bxMin byMax lineto
+					bxMin byMin lineto
+					eofill
+				}
+				{
+					c2y r1 add r2 le
+					{
+						c1x c1y r1 0 360 arc
+						fill
+					}
+					{
+						c2x c2y r2 0 360 arc fill
+						r1 r2 eq
+						{
+							/p1x r1 neg def
+							/p1y c1y def
+							/p2x r1 def
+							/p2y c1y def
+							p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto
+							fill
+						}
+						{
+							/AA r2 r1 sub c2y div def
+							AA -1 eq
+							{ /theta 89.99 def}
+							{ /theta AA 1 AA dup mul sub sqrt div 1 atan def}
+							ifelse
+							/SS1 90 theta add dup sin exch cos div def
+							/p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
+							/p1y p1x SS1 div neg def
+							/SS2 90 theta sub dup sin exch cos div def
+							/p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
+							/p2y p2x SS2 div neg def
+							r1 r2 gt
+							{
+								/L1maxX p1x yMin p1y sub SS1 div add def
+								/L2maxX p2x yMin p2y sub SS2 div add def
+							}
+							{
+								/L1maxX 0 def
+								/L2maxX 0 def
+							} ifelse
+							p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
+							L1maxX L1maxX p1x sub SS1 mul p1y add lineto
+							fill
+						} ifelse
+					} ifelse
+				} ifelse
+			} if
+		c1x c2x sub dup mul
+		c1y c2y sub dup mul
+		add 0.5 exp
+		0 dtransform
+		dup mul exch dup mul add 0.5 exp 72 div
+		0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+		72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+		1 index 1 index lt { exch } if pop
+		/hires xdf
+		hires mul
+		/numpix xdf
+		/numsteps NumSamples def
+		/rampIndxInc 1 def
+		/subsampling false def
+		numpix 0 ne
+		{
+			NumSamples numpix div 0.5 gt
+			{
+				/numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def
+				/rampIndxInc NumSamples 1 sub numsteps div def
+				/subsampling true def
+			} if
+		} if
+		/xInc c2x c1x sub numsteps div def
+		/yInc c2y c1y sub numsteps div def
+		/rInc r2 r1 sub numsteps div def
+		/cx c1x def
+		/cy c1y def
+		/radius r1 def
+		newpath
+		xInc 0 eq yInc 0 eq rInc 0 eq and and
+		{
+			0 getrampcolor
+			cx cy radius 0 360 arc
+			stroke
+			NumSamples 1 sub getrampcolor
+			cx cy radius 72 hires div add 0 360 arc
+			0 setlinewidth
+			stroke
+		}
+		{
+			0
+			numsteps
+			{
+				dup
+				subsampling { round cvi } if
+				getrampcolor
+				cx cy radius 0 360 arc
+				/cx cx xInc add def
+				/cy cy yInc add def
+				/radius radius rInc add def
+				cx cy radius 360 0 arcn
+				eofill
+				rampIndxInc add
+			} repeat
+			pop
+		} ifelse
+		ext1
+		{
+			c2y r2 add r1 lt
+			{
+				c2x c2y r2 0 360 arc
+				fill
+			}
+			{
+				c2y r1 add r2 sub 0.0001 le
+				{
+					c2x c2y r2 360 0 arcn
+					pathbbox
+					/aymax exch def
+					/axmax exch def
+					/aymin exch def
+					/axmin exch def
+					/bxMin xMin axmin min def
+					/byMin yMin aymin min def
+					/bxMax xMax axmax max def
+					/byMax yMax aymax max def
+					bxMin byMin moveto
+					bxMax byMin lineto
+					bxMax byMax lineto
+					bxMin byMax lineto
+					bxMin byMin lineto
+					eofill
+				}
+				{
+					c2x c2y r2 0 360 arc fill
+					r1 r2 eq
+					{
+						/p1x r2 neg def
+						/p1y c2y def
+						/p2x r2 def
+						/p2y c2y def
+						p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto
+						fill
+					}
+					{
+						/AA r2 r1 sub c2y div def
+						AA -1 eq
+						{ /theta 89.99 def}
+						{ /theta AA 1 AA dup mul sub sqrt div 1 atan def}
+						ifelse
+						/SS1 90 theta add dup sin exch cos div def
+						/p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
+						/p1y c2y p1x SS1 div sub def
+						/SS2 90 theta sub dup sin exch cos div def
+						/p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
+						/p2y c2y p2x SS2 div sub def
+						r1 r2 lt
+						{
+							/L1maxX p1x yMax p1y sub SS1 div add def
+							/L2maxX p2x yMax p2y sub SS2 div add def
+						}
+						{
+							/L1maxX 0 def
+							/L2maxX 0 def
+						}ifelse
+						p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
+						L1maxX L1maxX p1x sub SS1 mul p1y add lineto
+						fill
+					} ifelse
+				} ifelse
+			} ifelse
+		} if
+		grestore
+		grestore
+		end
+		end
+		end
+		} ifelse
+	} bdf
+	/GenStrips
+	{
+		40 dict begin
+		/ColorSpaceFamily xdf
+		/background xdf
+		/ext1 xdf
+		/ext0 xdf
+		/BBox xdf
+		/y2 xdf
+		/x2 xdf
+		/y1 xdf
+		/x1 xdf
+		/rampdict xdf
+		/setinkoverprint where {pop /setinkoverprint{pop}def}if
+		gsave
+		BBox length 0 gt
+		{
+			newpath
+			BBox 0 get BBox 1 get moveto
+			BBox 2 get BBox 0 get sub 0 rlineto
+			0 BBox 3 get BBox 1 get sub rlineto
+			BBox 2 get BBox 0 get sub neg 0 rlineto
+			closepath
+			clip
+			newpath
+		} if
+		x1 x2 eq
+		{
+			y1 y2 lt {/theta 90 def}{/theta 270 def} ifelse
+		}
+		{
+			/slope y2 y1 sub x2 x1 sub div def
+			/theta slope 1 atan def
+			x2 x1 lt y2 y1 ge and { /theta theta 180 sub def} if
+			x2 x1 lt y2 y1 lt and { /theta theta 180 add def} if
+		}
+		ifelse
+		gsave
+		clippath
+		x1 y1 translate
+		theta rotate
+		{ pathbbox } stopped
+		{ 0 0 0 0 } if
+		/yMax exch def
+		/xMax exch def
+		/yMin exch def
+		/xMin exch def
+		grestore
+		xMax xMin eq yMax yMin eq or
+		{
+			grestore
+			end
+		}
+		{
+			rampdict begin
+			20 dict begin
+			background length 0 gt { background sssetbackground gsave clippath fill grestore } if
+			gsave
+			x1 y1 translate
+			theta rotate
+			/xStart 0 def
+			/xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def
+			/ySpan yMax yMin sub def
+			/numsteps NumSamples def
+			/rampIndxInc 1 def
+			/subsampling false def
+			xStart 0 transform
+			xEnd 0 transform
+			3 -1 roll
+			sub dup mul
+			3 1 roll
+			sub dup mul
+			add 0.5 exp 72 div
+			0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+			72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+			1 index 1 index lt { exch } if pop
+			mul
+			/numpix xdf
+			numpix 0 ne
+			{
+				NumSamples numpix div 0.5 gt
+				{
+					/numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def
+					/rampIndxInc NumSamples 1 sub numsteps div def
+					/subsampling true def
+				} if
+			} if
+			ext0
+			{
+				0 getrampcolor
+				xMin xStart lt
+				{
+					xMin yMin xMin neg ySpan rectfill
+				} if
+			} if
+			/xInc xEnd xStart sub numsteps div def
+			/x xStart def
+			0
+			numsteps
+			{
+				dup
+				subsampling { round cvi } if
+				getrampcolor
+				x yMin xInc ySpan rectfill
+				/x x xInc add def
+				rampIndxInc add
+			} repeat
+			pop
+			ext1 {
+				xMax xEnd gt
+				{
+					xEnd yMin xMax xEnd sub ySpan rectfill
+				} if
+			} if
+			grestore
+			grestore
+			end
+			end
+			end
+		} ifelse
+	} bdf
+}def
+/page_trailer
+{
+	end
+}def
+/doc_trailer{
+}def
+/capture_currentpagedevice {
+	//Adobe_AGM_Core/AGMCORE_currentpagedevice currentpagedevice ddf
+} def
+systemdict /findcolorrendering known{
+	/findcolorrendering systemdict /findcolorrendering get def
+}if
+systemdict /setcolorrendering known{
+	/setcolorrendering systemdict /setcolorrendering get def
+}if
+/test_cmyk_color_plate
+{
+	gsave
+	setcmykcolor currentgray 1 ne
+	grestore
+}def
+/inRip_spot_has_ink
+{
+	dup //Adobe_AGM_Core/AGMCORE_name xddf
+	convert_spot_to_process not
+}def
+/map255_to_range
+{
+	1 index sub
+	3 -1 roll 255 div mul add
+}def
+/set_csa_crd
+{
+	/sep_colorspace_dict null AGMCORE_gput
+	begin
+		CSA get_csa_by_name setcolorspace_opt
+		set_crd
+	end
+}
+def
+/map_csa
+{
+	currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse
+	{pop}{get_csa_by_name /MappedCSA xdf}ifelse
+} def
+/setsepcolor
+{ 
+	/sep_colorspace_dict AGMCORE_gget begin
+		dup /sep_tint exch AGMCORE_gput
+		TintProc
+	end
+} def
+/setdevicencolor
+{ 
+	/devicen_colorspace_dict AGMCORE_gget begin
+		Names length copy
+		Names length 1 sub -1 0
+		{
+			/devicen_tints AGMCORE_gget 3 1 roll xpt
+		} for
+		TintProc
+	end
+} def
+/sep_colorspace_proc
+{
+	/AGMCORE_tmp exch store
+	/sep_colorspace_dict AGMCORE_gget begin
+	currentdict/Components known{
+		Components aload pop 
+		TintMethod/Lab eq{
+			2 {AGMCORE_tmp mul NComponents 1 roll} repeat
+			LMax sub AGMCORE_tmp mul LMax add  NComponents 1 roll
+		}{
+			TintMethod/Subtractive eq{
+				NComponents{
+					AGMCORE_tmp mul NComponents 1 roll
+				}repeat
+			}{
+				NComponents{
+					1 sub AGMCORE_tmp mul 1 add  NComponents 1 roll
+				} repeat
+			}ifelse
+		}ifelse
+	}{
+		ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get
+		aload pop
+	}ifelse
+	end
+} def
+/sep_colorspace_gray_proc
+{
+	/AGMCORE_tmp exch store
+	/sep_colorspace_dict AGMCORE_gget begin
+	GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get
+	end
+} def
+/sep_proc_name
+{
+	dup 0 get 
+	dup /DeviceRGB eq exch /DeviceCMYK eq or level2 not and has_color not and{
+		pop [/DeviceGray]
+		/sep_colorspace_gray_proc
+	}{
+		/sep_colorspace_proc
+	}ifelse
+} def
+/setsepcolorspace
+{ 
+	current_spot_alias{
+		dup begin
+			Name map_alias{
+				exch pop
+			}if
+		end
+	}if
+	dup /sep_colorspace_dict exch AGMCORE_gput
+	begin
+	CSA map_csa
+	/AGMCORE_sep_special Name dup () eq exch (All) eq or store
+	AGMCORE_avoid_L2_sep_space{
+		[/Indexed MappedCSA sep_proc_name 255 exch 
+			{ 255 div } /exec cvx 3 -1 roll [ 4 1 roll load /exec cvx ] cvx 
+		] setcolorspace_opt
+		/TintProc {
+			255 mul round cvi setcolor
+		}bdf
+	}{
+		MappedCSA 0 get /DeviceCMYK eq 
+		currentdict/Components known and 
+		AGMCORE_sep_special not and{
+			/TintProc [
+				Components aload pop Name findcmykcustomcolor 
+				/exch cvx /setcustomcolor cvx
+			] cvx bdf
+		}{
+ 			AGMCORE_host_sep Name (All) eq and{
+ 				/TintProc { 
+					1 exch sub setseparationgray 
+				}bdf
+ 			}{
+				AGMCORE_in_rip_sep MappedCSA 0 get /DeviceCMYK eq and 
+				AGMCORE_host_sep or
+				Name () eq and{
+					/TintProc [
+						MappedCSA sep_proc_name exch 0 get /DeviceCMYK eq{
+							cvx /setcmykcolor cvx
+						}{
+							cvx /setgray cvx
+						}ifelse
+					] cvx bdf
+				}{
+					AGMCORE_producing_seps MappedCSA 0 get dup /DeviceCMYK eq exch /DeviceGray eq or and AGMCORE_sep_special not and{
+	 					/TintProc [
+							/dup cvx
+							MappedCSA sep_proc_name cvx exch
+							0 get /DeviceGray eq{
+								1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx
+							}if
+							/Name cvx /findcmykcustomcolor cvx /exch cvx
+							AGMCORE_host_sep{
+								AGMCORE_is_cmyk_sep
+								/Name cvx 
+								/AGMCORE_IsSeparationAProcessColor load /exec cvx
+								/not cvx /and cvx 
+							}{
+								Name inRip_spot_has_ink not
+							}ifelse
+							[
+		 						/pop cvx 1
+							] cvx /if cvx
+							/setcustomcolor cvx
+						] cvx bdf
+ 					}{ 
+						/TintProc {setcolor} bdf
+						[/Separation Name MappedCSA sep_proc_name load ] setcolorspace_opt
+					}ifelse
+				}ifelse
+			}ifelse
+		}ifelse
+	}ifelse
+	set_crd
+	setsepcolor
+	end
+} def
+/additive_blend
+{
+  	3 dict begin
+  	/numarrays xdf
+  	/numcolors xdf
+  	0 1 numcolors 1 sub
+  		{
+  		/c1 xdf
+  		1
+  		0 1 numarrays 1 sub
+  			{
+			1 exch add /index cvx
+  			c1 /get cvx /mul cvx
+  			}for
+ 		numarrays 1 add 1 /roll cvx 
+  		}for
+ 	numarrays [/pop cvx] cvx /repeat cvx
+  	end
+}def
+/subtractive_blend
+{
+	3 dict begin
+	/numarrays xdf
+	/numcolors xdf
+	0 1 numcolors 1 sub
+		{
+		/c1 xdf
+		1 1
+		0 1 numarrays 1 sub
+			{
+			1 3 3 -1 roll add /index cvx  
+			c1 /get cvx /sub cvx /mul cvx
+			}for
+		/sub cvx
+		numarrays 1 add 1 /roll cvx
+		}for
+	numarrays [/pop cvx] cvx /repeat cvx
+	end
+}def
+/exec_tint_transform
+{
+	/TintProc [
+		/TintTransform cvx /setcolor cvx
+	] cvx bdf
+	MappedCSA setcolorspace_opt
+} bdf
+/devn_makecustomcolor
+{
+	2 dict begin
+	/names_index xdf
+	/Names xdf
+	1 1 1 1 Names names_index get findcmykcustomcolor
+	/devicen_tints AGMCORE_gget names_index get setcustomcolor
+	Names length {pop} repeat
+	end
+} bdf
+/setdevicencolorspace
+{ 
+	dup /AliasedColorants known {false}{true}ifelse 
+	current_spot_alias and {
+		7 dict begin
+		/names_index 0 def
+		dup /names_len exch /Names get length def
+		/new_names names_len array def
+		/new_LookupTables names_len array def
+		/alias_cnt 0 def
+		dup /Names get
+		{
+			dup map_alias {
+				exch pop
+				dup /ColorLookup known {
+					dup begin
+					new_LookupTables names_index ColorLookup put
+					end
+				}{
+					dup /Components known {
+						dup begin
+						new_LookupTables names_index Components put
+						end
+					}{
+						dup begin
+						new_LookupTables names_index [null null null null] put
+						end
+					} ifelse
+				} ifelse
+				new_names names_index 3 -1 roll /Name get put
+				/alias_cnt alias_cnt 1 add def 
+			}{
+				/name xdf				
+				new_names names_index name put
+				dup /LookupTables known {
+					dup begin
+					new_LookupTables names_index LookupTables names_index get put
+					end
+				}{
+					dup begin
+					new_LookupTables names_index [null null null null] put
+					end
+				} ifelse
+			} ifelse
+			/names_index names_index 1 add def 
+		} forall
+		alias_cnt 0 gt {
+			/AliasedColorants true def
+			/lut_entry_len new_LookupTables 0 get dup length 256 ge {0 get length}{length}ifelse def
+			0 1 names_len 1 sub {
+				/names_index xdf
+				new_LookupTables names_index get dup length 256 ge {0 get length}{length}ifelse lut_entry_len ne {
+					/AliasedColorants false def
+					exit
+				}
+				{
+					new_LookupTables names_index get 0 get null eq {
+						dup /Names get names_index get /name xdf
+						name (Cyan) eq name (Magenta) eq name (Yellow) eq name (Black) eq
+						or or or not {
+							/AliasedColorants false def
+							exit
+						} if
+					} if
+				} ifelse
+			} for
+			lut_entry_len 1 eq {
+				/AliasedColorants false def
+			} if
+			AliasedColorants {
+				dup begin
+				/Names new_names def
+				/LookupTables new_LookupTables def
+				/AliasedColorants true def
+				/NComponents lut_entry_len def
+				/TintMethod NComponents 4 eq {/Subtractive}{/Additive}ifelse def
+				/MappedCSA TintMethod /Additive eq {/DeviceRGB}{/DeviceCMYK}ifelse def
+				currentdict /TTTablesIdx known not {
+					/TTTablesIdx -1 def
+				} if
+				end
+			} if
+		}if
+		end
+	} if
+	dup /devicen_colorspace_dict exch AGMCORE_gput
+	begin
+	currentdict /AliasedColorants known {
+		AliasedColorants
+	}{
+		false
+	} ifelse
+	dup not {
+		CSA map_csa
+	} if
+	/TintTransform load type /nulltype eq or {
+		/TintTransform [
+			0 1 Names length 1 sub
+				{
+				/TTTablesIdx TTTablesIdx 1 add def
+				dup LookupTables exch get dup 0 get null eq
+					{
+					1 index
+					Names exch get
+					dup (Cyan) eq
+						{
+						pop exch
+						LookupTables length exch sub
+						/index cvx
+						0 0 0
+						}
+						{
+						dup (Magenta) eq
+							{
+							pop exch
+							LookupTables length exch sub
+							/index cvx
+							0 /exch cvx 0 0
+							}
+							{
+							(Yellow) eq
+								{
+								exch
+								LookupTables length exch sub
+								/index cvx
+								0 0 3 -1 /roll cvx 0
+								}
+								{
+								exch
+								LookupTables length exch sub
+								/index cvx
+								0 0 0 4 -1 /roll cvx
+								} ifelse
+							} ifelse
+						} ifelse
+					5 -1 /roll cvx /astore cvx
+					}
+					{
+					dup length 1 sub
+					LookupTables length 4 -1 roll sub 1 add
+					/index cvx /mul cvx /round cvx /cvi cvx /get cvx
+					} ifelse
+					Names length TTTablesIdx add 1 add 1 /roll cvx
+				} for
+			Names length [/pop cvx] cvx /repeat cvx
+			NComponents Names length
+  			TintMethod /Subtractive eq
+  				{
+  				subtractive_blend
+  				}
+  				{
+  				additive_blend
+  				} ifelse
+		] cvx bdf
+	} if
+	AGMCORE_host_sep {
+		Names convert_to_process {
+			exec_tint_transform
+		}
+		{	
+			currentdict /AliasedColorants known {
+				AliasedColorants not
+			}{
+				false
+			} ifelse
+			5 dict begin
+			/AvoidAliasedColorants xdf
+			/painted? false def
+			/names_index 0 def
+			/names_len Names length def
+			AvoidAliasedColorants {
+				/currentspotalias current_spot_alias def
+				false set_spot_alias
+			} if
+			Names {
+				AGMCORE_is_cmyk_sep {
+					dup (Cyan) eq AGMCORE_cyan_plate and exch
+					dup (Magenta) eq AGMCORE_magenta_plate and exch
+					dup (Yellow) eq AGMCORE_yellow_plate and exch
+					(Black) eq AGMCORE_black_plate and or or or {
+						/devicen_colorspace_dict AGMCORE_gget /TintProc [
+							Names names_index /devn_makecustomcolor cvx
+						] cvx ddf
+						/painted? true def
+					} if
+					painted? {exit} if
+				}{
+					0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq {
+					/devicen_colorspace_dict AGMCORE_gget /TintProc [
+						Names names_index /devn_makecustomcolor cvx
+					] cvx ddf
+					/painted? true def
+					exit
+					} if
+				} ifelse
+				/names_index names_index 1 add def
+			} forall
+			AvoidAliasedColorants {
+				currentspotalias set_spot_alias
+			} if
+			painted? {
+				/devicen_colorspace_dict AGMCORE_gget /names_index names_index put
+			}{
+				/devicen_colorspace_dict AGMCORE_gget /TintProc [
+					names_len [/pop cvx] cvx /repeat cvx 1 /setseparationgray cvx
+ 					0 0 0 0 /setcmykcolor cvx
+				] cvx ddf
+			} ifelse
+			end
+		} ifelse
+	}
+	{
+		AGMCORE_in_rip_sep {
+			Names convert_to_process not
+		}{
+			level3
+		} ifelse
+		{
+			[/DeviceN Names MappedCSA /TintTransform load] setcolorspace_opt
+			/TintProc level3 not AGMCORE_in_rip_sep and {
+				[
+					Names /length cvx [/pop cvx] cvx /repeat cvx
+				] cvx bdf
+			}{
+				{setcolor} bdf
+			} ifelse
+		}{
+			exec_tint_transform
+		} ifelse
+	} ifelse
+	set_crd
+	/AliasedColorants false def
+	end
+} def
+/setindexedcolorspace
+{
+	dup /indexed_colorspace_dict exch AGMCORE_gput
+	begin
+		currentdict /CSDBase known {
+			CSDBase /CSD get_res begin
+			currentdict /Names known {
+				currentdict devncs
+			}{
+				1 currentdict sepcs
+			} ifelse
+			AGMCORE_host_sep{
+				4 dict begin
+				/compCnt /Names where {pop Names length}{1}ifelse def
+				/NewLookup HiVal 1 add string def
+				0 1 HiVal {
+					/tableIndex xdf
+					Lookup dup type /stringtype eq {
+						compCnt tableIndex map_index
+					}{
+						exec
+					} ifelse
+					/Names where {
+						pop setdevicencolor
+					}{
+						setsepcolor
+					} ifelse
+					currentgray
+					tableIndex exch
+					HiVal mul cvi 
+					NewLookup 3 1 roll put
+				} for
+				[/Indexed currentcolorspace HiVal NewLookup] setcolorspace_opt
+				end
+			}{
+				level3
+				{
+					currentdict /Names known {
+						[/Indexed [/DeviceN Names MappedCSA /TintTransform load] HiVal Lookup] setcolorspace_opt
+					}{
+						[/Indexed [/Separation Name MappedCSA sep_proc_name load] HiVal Lookup] setcolorspace_opt
+					} ifelse
+				}{
+				[/Indexed MappedCSA HiVal
+					[
+					currentdict /Names known {
+						Lookup dup type /stringtype eq
+							{/exch cvx CSDBase /CSD get_res /Names get length dup /mul cvx exch /getinterval cvx {255 div} /forall cvx}
+							{/exec cvx}ifelse
+							/TintTransform load /exec cvx
+					}{
+						Lookup dup type /stringtype eq
+							{/exch cvx /get cvx 255 /div cvx}
+							{/exec cvx}ifelse
+							CSDBase /CSD get_res /MappedCSA get sep_proc_name exch pop /load cvx /exec cvx
+					} ifelse
+					]cvx
+				]setcolorspace_opt
+				}ifelse
+			} ifelse
+			end
+			set_crd
+		}
+		{
+			CSA map_csa
+			AGMCORE_host_sep level2 not and{
+				0 0 0 0 setcmykcolor
+			}{
+				[/Indexed MappedCSA 
+				level2 not has_color not and{
+					dup 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or{
+						pop [/DeviceGray]
+					}if
+					HiVal GrayLookup
+				}{
+					HiVal 
+					currentdict/RangeArray known{
+						{ 
+							/indexed_colorspace_dict AGMCORE_gget begin
+							Lookup exch 
+							dup HiVal gt{
+								pop HiVal
+							}if
+							NComponents mul NComponents getinterval {} forall
+							NComponents 1 sub -1 0{
+								RangeArray exch 2 mul 2 getinterval aload pop map255_to_range
+								NComponents 1 roll
+							}for
+							end
+						} bind
+					}{
+						Lookup
+					}ifelse
+				}ifelse
+				] setcolorspace_opt
+				set_crd
+			}ifelse
+		}ifelse
+	end
+}def
+/setindexedcolor
+{
+	AGMCORE_host_sep {
+		/indexed_colorspace_dict AGMCORE_gget dup /CSDBase known { 
+			begin
+			CSDBase /CSD get_res begin
+			currentdict /Names known{
+				map_indexed_devn
+				devn
+			}
+			{
+				Lookup 1 3 -1 roll map_index
+				sep
+			}ifelse
+			end
+			end
+		}{
+			/Lookup get 4 3 -1 roll map_index setcmykcolor
+		} ifelse
+	}{
+		level3 not AGMCORE_in_rip_sep and /indexed_colorspace_dict AGMCORE_gget /CSDBase known and {
+			/indexed_colorspace_dict AGMCORE_gget /CSDBase get /CSD get_res begin
+			map_indexed_devn
+			devn
+			end
+		}
+		{
+			setcolor
+		} ifelse
+	}ifelse
+} def
+/ignoreimagedata
+{
+	currentoverprint not{
+		gsave
+		dup clonedict begin
+		1 setgray
+		/Decode [0 1] def
+		/DataSource <FF> def
+		/MultipleDataSources false def
+		/BitsPerComponent 8 def
+		currentdict end
+		systemdict /image get exec
+		grestore
+		}if
+	consumeimagedata
+}def
+/add_res
+{
+	dup /CSD eq {
+		pop 
+		//Adobe_AGM_Core begin
+		/AGMCORE_CSD_cache load 3 1 roll put
+		end
+	}{
+		defineresource pop
+	} ifelse
+}def
+/del_res
+{
+	{
+		aload pop exch
+		dup /CSD eq {
+			pop 
+			{
+				//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef
+			}forall
+		}{
+			exch
+			{
+				1 index undefineresource
+			}forall
+			pop
+		} ifelse
+	} forall
+}def
+/get_res
+{
+	dup /CSD eq {
+		pop
+		dup type dup /nametype eq exch /stringtype eq or {
+			AGMCORE_CSD_cache exch get
+		} if
+	}{
+		findresource
+	} ifelse
+}def
+/get_csa_by_name
+{
+	dup type dup /nametype eq exch /stringtype eq or{
+		/CSA get_res
+	} if
+}def
+/pattern_buf_init
+{
+	/count get 0 0 put
+} def
+/pattern_buf_next
+{
+	dup /count get dup 0 get
+	dup 3 1 roll
+	1 add 0 xpt
+	get				
+} def
+/cachepattern_compress
+{
+	5 dict begin
+	currentfile exch 0 exch /SubFileDecode filter /ReadFilter exch def
+	/patarray 20 dict def
+	/string_size 16000 def
+	/readbuffer string_size string def
+	currentglobal true setglobal 
+	patarray 1 array dup 0 1 put /count xpt
+	setglobal
+	/LZWFilter 
+	{
+		exch
+		dup length 0 eq {
+			pop
+		}{
+			patarray dup length 1 sub 3 -1 roll put
+		} ifelse
+		{string_size}{0}ifelse string
+	} /LZWEncode filter def
+	{ 		
+		ReadFilter readbuffer readstring
+		exch LZWFilter exch writestring
+		not {exit} if
+	} loop
+	LZWFilter closefile
+	patarray				
+	end
+}def
+/cachepattern
+{
+	2 dict begin
+	currentfile exch 0 exch /SubFileDecode filter /ReadFilter exch def
+	/patarray 20 dict def
+	currentglobal true setglobal 
+	patarray 1 array dup 0 1 put /count xpt
+	setglobal
+	{
+		ReadFilter 16000 string readstring exch
+		patarray dup length 1 sub 3 -1 roll put
+		not {exit} if
+	} loop
+	patarray dup dup length 1 sub () put					
+	end	
+}def
+/wrap_paintproc
+{ 
+  statusdict /currentfilenameextend known{
+	clonedict
+	begin
+	/OldPaintProc /PaintProc load def
+	/PaintProc
+	{
+		mark exch
+		dup /OldPaintProc get stopped
+		{closefile restore end} if
+		cleartomark
+	}  def
+	end
+  } {pop} ifelse
+} def
+/make_pattern
+{
+	exch clonedict exch
+	dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform
+	exch 3 index /XStep get 1 index exch 2 copy div cvi mul sub sub
+	exch 3 index /YStep get 1 index exch 2 copy div cvi mul sub sub
+	matrix translate exch matrix concatmatrix
+			  1 index begin
+		BBox 0 get XStep div cvi XStep mul /xshift exch neg def
+		BBox 1 get YStep div cvi YStep mul /yshift exch neg def
+		BBox 0 get xshift add
+		BBox 1 get yshift add
+		BBox 2 get xshift add
+		BBox 3 get yshift add
+		4 array astore
+		/BBox exch def
+		[ xshift yshift /translate load null /exec load ] dup
+		3 /PaintProc load put cvx /PaintProc exch def
+		end
+	1 index dup /ID get exch /Pattern add_res
+	gsave 0 setgray
+	makepattern
+	grestore
+}def
+/set_pattern
+{
+	dup /PatternType get 1 eq{
+		dup /PaintType get 1 eq{
+			currentoverprint sop [/DeviceGray] setcolorspace 0 setgray
+		}if
+	}if
+	setpattern
+}def
+/setcolorspace_opt
+{
+	dup currentcolorspace eq{
+		pop
+	}{
+		setcolorspace
+	}ifelse
+}def
+/updatecolorrendering
+{
+	currentcolorrendering/RenderingIntent known{
+		currentcolorrendering/RenderingIntent get
+	}{null}ifelse
+	Intent ne {
+		Intent /ColorRendering {findresource} stopped
+		{
+			pop pop systemdict /findcolorrendering known
+			{
+				Intent findcolorrendering pop
+				/ColorRendering findresource 
+				true
+			}
+			{false} ifelse
+		}
+		{true} ifelse
+		{
+			dup begin
+			currentdict /TransformPQR known {
+				currentdict /TransformPQR get aload pop
+				3 {{} eq 3 1 roll} repeat or or
+			}
+			{true} ifelse
+			currentdict /MatrixPQR known {
+				currentdict /MatrixPQR get aload pop
+				1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll
+				0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll
+				0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq
+				and and and and and and and and
+			}
+			{true} ifelse
+			end
+			or
+			{
+				clonedict begin
+				/TransformPQR [
+					{4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div
+					3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add} bind
+					{4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div
+					3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add} bind
+					{4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div
+					3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add} bind
+				] def
+				/MatrixPQR [ 0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296 ] def
+				/RangePQR [-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392] def
+				currentdict end
+			} if
+			setcolorrendering_opt
+		} if		
+	}if
+} def
+/set_crd
+{
+	AGMCORE_host_sep not level2 and{
+		currentdict /ColorRendering known{
+			ColorRendering /ColorRendering {findresource} stopped not {setcolorrendering_opt} if
+		}{
+			currentdict/Intent known{
+				updatecolorrendering
+			}if
+		}ifelse
+		currentcolorspace dup type /arraytype eq
+			{0 get}if
+		/DeviceRGB eq
+			{
+			currentdict/UCR known
+				{/UCR}{/AGMCORE_currentucr}ifelse
+			load setundercolorremoval
+			currentdict/BG known 
+				{/BG}{/AGMCORE_currentbg}ifelse
+			load setblackgeneration
+			}if
+	}if
+}def
+/setcolorrendering_opt
+{
+	dup currentcolorrendering eq{
+		pop
+	}{
+		clonedict
+		begin
+			/Intent Intent def
+			currentdict
+		end
+		setcolorrendering
+	}ifelse
+}def
+/cpaint_gcomp
+{
+	convert_to_process //Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf
+	//Adobe_AGM_Core/AGMCORE_ConvertToProcess get not
+	{
+		(%end_cpaint_gcomp) flushinput
+	}if
+}def
+/cpaint_gsep
+{
+	//Adobe_AGM_Core/AGMCORE_ConvertToProcess get
+	{	
+		(%end_cpaint_gsep) flushinput
+	}if
+}def
+/cpaint_gend
+{
+	newpath
+}def
+/set_spot_alias_ary
+{
+	dup inherit_aliases
+	//Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf
+}def
+/set_spot_normalization_ary
+{
+	dup inherit_aliases
+	dup length
+	/AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add} if
+	array
+	//Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf
+	/AGMCORE_SpotAliasAry where{
+		pop
+		AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval
+		AGMCORE_SpotAliasAry length
+	}{0} ifelse
+	AGMCORE_SpotAliasAry2 3 1 roll exch putinterval
+	true set_spot_alias
+}def
+/inherit_aliases
+{
+	{dup /Name get map_alias {/CSD put}{pop} ifelse} forall
+}def
+/set_spot_alias
+{
+	/AGMCORE_SpotAliasAry2 where{
+		/AGMCORE_current_spot_alias 3 -1 roll put
+	}{
+		pop
+	}ifelse
+}def
+/current_spot_alias
+{
+	/AGMCORE_SpotAliasAry2 where{
+		/AGMCORE_current_spot_alias get
+	}{
+		false
+	}ifelse
+}def
+/map_alias
+{
+	/AGMCORE_SpotAliasAry2 where{
+		begin
+			/AGMCORE_name xdf
+			false	
+			AGMCORE_SpotAliasAry2{
+				dup/Name get AGMCORE_name eq{
+					/CSD get /CSD get_res
+					exch pop true
+					exit
+				}{
+					pop
+				}ifelse
+			}forall
+		end
+	}{
+		pop false
+	}ifelse
+}bdf
+/spot_alias
+{
+	true set_spot_alias
+	/AGMCORE_&setcustomcolor AGMCORE_key_known not {
+		//Adobe_AGM_Core/AGMCORE_&setcustomcolor /setcustomcolor load put
+	} if
+	/customcolor_tint 1 AGMCORE_gput
+	//Adobe_AGM_Core begin
+	/setcustomcolor
+	{
+		currentdict/TintProc known currentdict/CSA known and 3 1 roll
+		//Adobe_AGM_Core begin
+		dup /customcolor_tint exch AGMCORE_gput
+		1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not
+		current_spot_alias and{1 index 4 get map_alias}{false}ifelse
+		{
+			false set_spot_alias
+			4 -1 roll{
+				exch pop /sep_tint AGMCORE_gget exch
+			}if
+			mark 3 1 roll
+			setsepcolorspace
+			counttomark 0 ne{
+				setsepcolor
+			}if
+			pop
+			pop
+			true set_spot_alias
+		}{
+			AGMCORE_&setcustomcolor
+			pop
+		}ifelse
+		end
+	}bdf
+	end
+}def
+/begin_feature
+{
+	Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put
+	count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put
+	{Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if
+}def
+/end_feature
+{
+	2 dict begin
+	/spd /setpagedevice load def
+	/setpagedevice { get_gstate spd set_gstate } def
+	stopped{$error/newerror false put}if
+	end
+	count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse
+	countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse
+	{Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if
+}def
+/set_negative
+{
+	//Adobe_AGM_Core begin
+	/AGMCORE_inverting exch def
+	level2{
+		currentpagedevice/NegativePrint known{
+			currentpagedevice/NegativePrint get //Adobe_AGM_Core/AGMCORE_inverting get ne{
+				true begin_feature true{
+						<< /NegativePrint //Adobe_AGM_Core/AGMCORE_inverting get >> setpagedevice
+				}end_feature
+			}if
+			/AGMCORE_inverting false def
+		}if
+	}if
+	AGMCORE_inverting{
+		[{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer
+		gsave newpath clippath 1 /setseparationgray where{pop setseparationgray}{setgray}ifelse 
+		/AGMIRS_&fill where {pop AGMIRS_&fill}{fill} ifelse grestore
+	}if
+	end
+}def
+/lw_save_restore_override {
+	/md where {
+		pop
+		md begin
+		initializepage
+		/initializepage{}def
+		/pmSVsetup{} def
+		/endp{}def
+		/pse{}def
+		/psb{}def
+		/orig_showpage where
+			{pop}
+			{/orig_showpage /showpage load def}
+		ifelse
+		/showpage {orig_showpage gR} def
+		end
+	}if
+}def
+/pscript_showpage_override {
+	/NTPSOct95 where
+	{
+		begin
+		showpage
+		save
+		/showpage /restore load def
+		/restore {exch pop}def
+		end
+	}if
+}def
+/driver_media_override
+{
+	/md where {
+		pop
+		md /initializepage known {
+			md /initializepage {} put
+		} if
+		md /rC known {
+			md /rC {4{pop}repeat} put
+		} if
+	}if
+	/mysetup where {
+		/mysetup [1 0 0 1 0 0] put
+	}if
+	Adobe_AGM_Core /AGMCORE_Default_CTM matrix currentmatrix put
+	level2
+		{Adobe_AGM_Core /AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if
+}def
+/driver_check_media_override
+{
+	/PrepsDict where
+		{pop}
+		{
+		Adobe_AGM_Core /AGMCORE_Default_CTM get matrix currentmatrix ne
+		Adobe_AGM_Core /AGMCORE_Default_PageSize get type /arraytype eq
+			{
+			Adobe_AGM_Core /AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and
+			Adobe_AGM_Core /AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and
+			}if
+			{
+			Adobe_AGM_Core /AGMCORE_Default_CTM get setmatrix
+			}if
+		}ifelse
+}def
+AGMCORE_err_strings begin
+	/AGMCORE_bad_environ (Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. ) def
+	/AGMCORE_color_space_onhost_seps (This job contains colors that will not separate with on-host methods. ) def
+	/AGMCORE_invalid_color_space (This job contains an invalid color space. ) def
+end
+/set_def_ht
+{
+	AGMCORE_def_ht sethalftone
+} def
+end
+systemdict /setpacking known
+{
+	setpacking
+} if
+%%EndResource
+%%BeginResource: procset Adobe_CoolType_Core 2.25 0
+%%Copyright: Copyright 1997-2005 Adobe Systems Incorporated.  All Rights Reserved.
+%%Version: 2.25 0
+10 dict begin
+/Adobe_CoolType_Passthru currentdict def
+/Adobe_CoolType_Core_Defined userdict /Adobe_CoolType_Core known def
+Adobe_CoolType_Core_Defined
+	{ /Adobe_CoolType_Core userdict /Adobe_CoolType_Core get def }
+if
+userdict /Adobe_CoolType_Core 60 dict dup begin put
+/Adobe_CoolType_Version 2.25 def
+/Level2?
+	systemdict /languagelevel known dup
+		{ pop systemdict /languagelevel get 2 ge }
+	if def
+Level2? not
+	{
+	/currentglobal false def
+	/setglobal /pop load def
+	/gcheck { pop false } bind def
+	/currentpacking false def
+	/setpacking /pop load def
+	/SharedFontDirectory 0 dict def
+	}
+if
+currentpacking
+true setpacking
+currentglobal false setglobal
+userdict /Adobe_CoolType_Data 2 copy known not
+	 { 2 copy 10 dict put }
+if
+get
+	 begin
+	 /@opStackCountByLevel 32 dict def
+	 /@opStackLevel 0 def
+	 /@dictStackCountByLevel 32 dict def
+	 /@dictStackLevel 0 def
+	 end
+setglobal
+/@_SaveStackLevels
+	{
+	Adobe_CoolType_Data
+		begin
+		/@vmState currentglobal def false setglobal
+		@opStackCountByLevel
+		@opStackLevel
+		2 copy known not
+			{
+			2 copy
+			3 dict dup /args
+			7 index
+			5 add array put
+			put get
+			}
+			{
+			get dup /args get dup length 3 index lt
+				{
+				dup length 5 add array exch
+				1 index exch 0 exch putinterval
+				1 index exch /args exch put
+				}
+				{ pop }
+			ifelse
+			}
+		ifelse
+			begin
+			count 1 sub
+			1 index lt
+				{ pop count }
+			if
+			dup /argCount exch def
+			dup 0 gt
+				{
+				args exch 0 exch getinterval 
+			astore pop
+				}
+				{ pop }
+			ifelse
+			count
+			/restCount exch def
+			end
+		/@opStackLevel @opStackLevel 1 add def
+		countdictstack 1 sub
+		@dictStackCountByLevel exch @dictStackLevel exch put
+		/@dictStackLevel @dictStackLevel 1 add def
+		@vmState setglobal
+		end
+	} bind def
+/@_RestoreStackLevels
+	{
+	Adobe_CoolType_Data
+		begin
+		/@opStackLevel @opStackLevel 1 sub def
+		@opStackCountByLevel @opStackLevel get
+			begin
+			count restCount sub dup 0 gt
+				{ { pop } repeat }
+				{ pop }
+			ifelse
+			args 0 argCount getinterval {} forall
+			end
+		/@dictStackLevel @dictStackLevel 1 sub def
+		@dictStackCountByLevel @dictStackLevel get
+		end
+	countdictstack exch sub dup 0 gt
+		{ { end } repeat }
+		{ pop }
+	ifelse
+	} bind def
+/@_PopStackLevels
+	{
+	Adobe_CoolType_Data
+		begin
+		/@opStackLevel @opStackLevel 1 sub def
+		/@dictStackLevel @dictStackLevel 1 sub def
+		end
+	} bind def
+/@Raise
+	{
+	exch cvx exch errordict exch get exec
+	stop
+	} bind def
+/@ReRaise
+	{
+	cvx $error /errorname get errordict exch get exec
+	stop
+	} bind def
+/@Stopped
+	{
+	0 @#Stopped
+	} bind def
+/@#Stopped
+	{
+	@_SaveStackLevels
+	stopped
+		{ @_RestoreStackLevels true }
+		{ @_PopStackLevels false }
+	ifelse
+	} bind def
+/@Arg
+	{
+	Adobe_CoolType_Data
+		begin
+		@opStackCountByLevel @opStackLevel 1 sub get
+		begin
+		args exch
+		argCount 1 sub exch sub get
+		end
+		end
+	} bind def
+currentglobal true setglobal
+/CTHasResourceForAllBug
+	Level2?
+		{
+		1 dict dup
+				/@shouldNotDisappearDictValue true def
+				Adobe_CoolType_Data exch /@shouldNotDisappearDict exch put
+				begin
+				count @_SaveStackLevels
+					 { (*) { pop stop } 128 string /Category resourceforall }
+				stopped pop
+				@_RestoreStackLevels
+				currentdict Adobe_CoolType_Data /@shouldNotDisappearDict get ne dup
+					 {
+						  /@shouldNotDisappearDictValue known
+								{
+										  {
+												end
+												currentdict 1 index eq
+													 { pop exit }
+												if
+										  }
+									 loop
+								}
+						  if
+					 }
+				if
+				end
+		}
+		{ false }
+	ifelse
+	def
+true setglobal
+/CTHasResourceStatusBug
+	Level2?
+		{
+		mark
+			{ /steveamerige /Category resourcestatus }
+		stopped
+			{ cleartomark true }
+			{ cleartomark currentglobal not }
+		ifelse
+		}
+		{ false }
+	ifelse
+	def
+setglobal
+/CTResourceStatus
+		{
+		mark 3 1 roll
+		/Category findresource
+			begin
+			({ResourceStatus} stopped) 0 () /SubFileDecode filter cvx exec
+				{ cleartomark false }
+				{ { 3 2 roll pop true } { cleartomark false } ifelse }
+			ifelse
+			end
+		} bind def
+/CTWorkAroundBugs
+	{
+	Level2?
+		{
+		/cid_PreLoad /ProcSet resourcestatus
+			{
+			pop pop
+			currentglobal
+			mark
+				{
+				(*)
+					{
+					dup /CMap CTHasResourceStatusBug
+						{ CTResourceStatus }
+						{ resourcestatus }
+					ifelse
+						{
+						pop dup 0 eq exch 1 eq or
+							{
+							dup /CMap findresource gcheck setglobal
+							/CMap undefineresource
+							}
+							{
+							pop CTHasResourceForAllBug
+								{ exit }
+								{ stop }
+							ifelse
+							}
+						ifelse
+						}
+						{ pop }
+					ifelse
+					}
+				128 string /CMap resourceforall
+				}
+			stopped
+				{ cleartomark }
+			stopped pop
+			setglobal
+			}
+		if
+		}
+	if
+	} bind def
+/doc_setup
+	{
+	Adobe_CoolType_Core
+		begin
+		CTWorkAroundBugs
+		/mov /moveto load def
+		/nfnt /newencodedfont load def
+		/mfnt /makefont load def
+		/sfnt /setfont load def
+		/ufnt /undefinefont load def
+		/chp /charpath load def
+		/awsh /awidthshow load def
+		/wsh /widthshow load def
+		/ash /ashow load def
+		/sh /show load def
+		end
+		currentglobal false setglobal
+	  userdict /Adobe_CoolType_Data 2 copy known not
+		  { 2 copy 10 dict put }
+		if
+		get
+		begin
+		/AddWidths? false def
+		/CC 0 def
+		/charcode 2 string def
+		/@opStackCountByLevel 32 dict def
+		/@opStackLevel 0 def
+		/@dictStackCountByLevel 32 dict def
+		/@dictStackLevel 0 def
+		/InVMFontsByCMap 10 dict def
+		/InVMDeepCopiedFonts 10 dict def
+		end
+		setglobal
+	} bind def
+/doc_trailer
+	{
+	currentdict Adobe_CoolType_Core eq
+		{ end }
+	if
+	} bind def
+/page_setup
+	{
+	Adobe_CoolType_Core begin
+	} bind def
+/page_trailer
+	{
+	end
+	} bind def
+/unload
+	{
+	systemdict /languagelevel known
+		{
+		systemdict/languagelevel get 2 ge
+			{
+			userdict/Adobe_CoolType_Core 2 copy known
+				{ undef }
+				{ pop pop }
+			ifelse
+			}
+		if
+		}
+	if
+	} bind def
+/ndf
+	{
+	1 index where
+		{ pop pop pop }
+		{ dup xcheck { bind } if def }
+	ifelse
+	} def
+/findfont systemdict
+	begin
+	userdict
+		begin
+		/globaldict where { /globaldict get begin } if
+			dup where pop exch get
+		/globaldict where { pop end } if
+		end
+	end
+Adobe_CoolType_Core_Defined
+	{ /systemfindfont exch def }
+	{
+	/findfont 1 index def
+	/systemfindfont exch def
+	}
+ifelse
+/undefinefont
+	{ pop } ndf
+/copyfont
+	{
+	currentglobal 3 1 roll
+	1 index gcheck setglobal
+	dup null eq { 0 } { dup length } ifelse
+	2 index length add 1 add dict
+		begin
+		exch
+			{
+			1 index /FID eq
+				{ pop pop }
+				{ def }
+			ifelse
+			}
+		forall
+		dup null eq
+			{ pop }
+			{ { def } forall }
+		ifelse
+		currentdict
+		end
+	exch setglobal
+	} bind def
+/copyarray
+	{
+	currentglobal exch
+	dup gcheck setglobal
+	dup length array copy
+	exch setglobal
+	} bind def
+/newencodedfont
+	{
+	currentglobal
+		{
+		SharedFontDirectory 3 index  known
+			{ SharedFontDirectory 3 index get /FontReferenced known }
+			{ false }
+		ifelse
+		}
+		{
+		FontDirectory 3 index known
+			{ FontDirectory 3 index get /FontReferenced known }
+			{
+			SharedFontDirectory 3 index known
+				{ SharedFontDirectory 3 index get /FontReferenced known }
+				{ false }
+			ifelse
+			}
+		ifelse
+		}
+	ifelse
+	dup
+		{
+		3 index findfont /FontReferenced get
+		2 index dup type /nametype eq
+			{findfont}
+		if ne
+			{ pop false }
+		if
+		}
+	if
+		{
+		pop
+		1 index findfont
+		/Encoding get exch
+		0 1 255
+			{ 2 copy get 3 index 3 1 roll put }
+		for
+		pop pop pop
+		}
+		{
+		dup type /nametype eq
+		  { findfont }
+	  if
+		dup dup maxlength 2 add dict
+			begin
+			exch
+				{
+				1 index /FID ne
+					{def}
+					{pop pop}
+				ifelse
+				}
+			forall
+			/FontReferenced exch def
+			/Encoding exch dup length array copy def
+			/FontName 1 index dup type /stringtype eq { cvn } if def dup
+			currentdict
+			end
+		definefont def
+		}
+	ifelse
+	} bind def
+/SetSubstituteStrategy
+	{
+	$SubstituteFont
+		begin
+		dup type /dicttype ne
+			{ 0 dict }
+		if
+		currentdict /$Strategies known
+			{
+			exch $Strategies exch 
+			2 copy known
+				{
+				get
+				2 copy maxlength exch maxlength add dict
+					begin
+					{ def } forall
+					{ def } forall
+					currentdict
+					dup /$Init known
+						{ dup /$Init get exec }
+					if
+					end
+				/$Strategy exch def
+				}
+				{ pop pop pop }
+			ifelse
+			}
+			{ pop pop }
+		ifelse
+		end
+	} bind def
+/scff
+	{
+	$SubstituteFont
+		begin
+		dup type /stringtype eq
+			{ dup length exch }
+			{ null }
+		ifelse
+		/$sname exch def
+		/$slen exch def
+		/$inVMIndex
+			$sname null eq
+				{
+				1 index $str cvs
+				dup length $slen sub $slen getinterval cvn
+				}
+				{ $sname }
+			ifelse def
+		end
+		{ findfont }
+	@Stopped
+		{
+		dup length 8 add string exch
+		1 index 0 (BadFont:) putinterval
+		1 index exch 8 exch dup length string cvs putinterval cvn
+			{ findfont }
+		@Stopped
+			{ pop /Courier findfont }
+		if
+		}
+	if
+	$SubstituteFont
+		begin
+		/$sname null def
+		/$slen 0 def
+		/$inVMIndex null def
+		end
+	} bind def
+/isWidthsOnlyFont
+	{
+	dup /WidthsOnly known
+		{ pop pop true }
+		{
+		dup /FDepVector known
+			{ /FDepVector get { isWidthsOnlyFont dup { exit } if } forall }
+			{
+			dup /FDArray known
+				{ /FDArray get { isWidthsOnlyFont dup { exit } if } forall }
+				{ pop }
+			ifelse
+			}
+		ifelse
+		}
+	ifelse
+	} bind def
+/?str1 256 string def
+/?set
+	{
+	$SubstituteFont
+		begin
+		/$substituteFound false def
+		/$fontname 4 index def
+		/$doSmartSub false def
+		end
+	3 index
+	currentglobal false setglobal exch
+	/CompatibleFonts /ProcSet resourcestatus
+		{
+		pop pop
+		/CompatibleFonts /ProcSet findresource
+			begin
+			dup /CompatibleFont currentexception
+			1 index /CompatibleFont true setexception
+			1 index /Font resourcestatus
+				{
+				pop pop
+				3 2 roll setglobal
+				end
+				exch
+				dup findfont
+				/CompatibleFonts /ProcSet findresource
+					begin
+					3 1 roll exch /CompatibleFont exch setexception
+					end
+				}
+				{
+				3 2 roll setglobal
+				1 index exch /CompatibleFont exch setexception
+				end
+				findfont
+				$SubstituteFont /$substituteFound true put
+				}
+			ifelse
+		}
+		{ exch setglobal findfont }
+	ifelse
+	$SubstituteFont
+		begin
+		$substituteFound
+			{
+		 false
+		 (%%[Using embedded font ) print
+		 5 index ?str1 cvs print
+		 ( to avoid the font substitution problem noted earlier.]%%\n) print
+		 }
+			{
+			dup /FontName known
+				{
+				dup /FontName get $fontname eq
+				1 index /DistillerFauxFont known not and
+				/currentdistillerparams where
+					{ pop false 2 index isWidthsOnlyFont not and }
+				if
+				}
+				{ false }
+			ifelse
+			}
+		ifelse
+		exch pop
+		/$doSmartSub true def
+		end
+		{
+		exch pop exch pop exch
+		2 dict dup /Found 3 index put
+		exch findfont exch
+		}
+		{
+		exch exec
+		exch dup findfont
+		dup /FontType get 3 eq
+	  {
+		  exch ?str1 cvs
+		  dup length 1 sub
+		  -1 0
+		{
+			  exch dup 2 index get 42 eq
+			{
+				 exch 0 exch getinterval cvn 4 1 roll 3 2 roll pop
+				 exit
+			  }
+			  {exch pop} ifelse
+		  }for
+		}
+		{
+		 exch pop
+	  } ifelse
+		2 dict dup /Downloaded 6 5 roll put
+		}
+	ifelse
+	dup /FontName 4 index put copyfont definefont pop
+	} bind def
+/?str2 256 string def
+/?add
+	{
+	1 index type /integertype eq
+		{ exch true 4 2 }
+		{ false 3 1 }
+	ifelse
+	roll
+	1 index findfont
+	dup /Widths known
+		{
+		Adobe_CoolType_Data /AddWidths? true put
+		gsave dup 1000 scalefont setfont
+		}
+	if
+	/Downloaded known
+		{
+		exec
+		exch
+			{
+			exch ?str2 cvs exch
+			findfont /Downloaded get 1 dict begin /Downloaded 1 index def ?str1 cvs length
+			?str1 1 index 1 add 3 index putinterval
+			exch length 1 add 1 index add
+			?str1 2 index (*) putinterval
+			?str1 0 2 index getinterval cvn findfont 
+			?str1 3 index (+) putinterval
+			2 dict dup /FontName ?str1 0 6 index getinterval cvn put
+			dup /Downloaded Downloaded put end copyfont
+			dup /FontName get exch definefont pop pop pop
+			}
+			{
+			pop
+			}
+		ifelse
+		}
+		{
+		pop
+		exch
+			{
+			findfont
+			dup /Found get
+			dup length exch ?str1 cvs pop
+			?str1 1 index (+) putinterval
+			?str1 1 index 1 add 4 index ?str2 cvs putinterval
+			?str1 exch 0 exch 5 4 roll ?str2 cvs length 1 add add getinterval cvn
+			1 dict exch 1 index exch /FontName exch put copyfont
+			dup /FontName get exch definefont pop
+			}
+			{
+			pop
+			}
+		ifelse
+		}
+	ifelse
+	Adobe_CoolType_Data /AddWidths? get
+		{ grestore Adobe_CoolType_Data /AddWidths? false put }
+	if
+	} bind def
+/?sh
+	{
+	currentfont /Downloaded known { exch } if pop
+	} bind def
+/?chp
+	{
+	currentfont /Downloaded known { pop } { false chp } ifelse
+	} bind def
+/?mv 
+	{
+	currentfont /Downloaded known { moveto pop pop } { pop pop moveto } ifelse
+	} bind def
+setpacking
+userdict /$SubstituteFont 25 dict put
+1 dict
+	begin
+	/SubstituteFont
+		dup $error exch 2 copy known
+			{ get }
+			{ pop pop { pop /Courier } bind }
+		ifelse def
+	/currentdistillerparams where dup
+		{
+		pop pop
+		currentdistillerparams /CannotEmbedFontPolicy 2 copy known
+			{ get /Error eq }
+			{ pop pop false }
+		ifelse
+		}
+	if not
+		{
+		countdictstack array dictstack 0 get
+			begin
+			userdict
+				begin
+				$SubstituteFont
+					begin
+					/$str 128 string def
+					/$fontpat 128 string def
+					/$slen 0 def
+					/$sname null def
+					/$match false def
+					/$fontname null def
+					/$substituteFound false def
+					/$inVMIndex null def
+					/$doSmartSub true def
+					/$depth 0 def
+					/$fontname null def
+					/$italicangle 26.5 def
+					/$dstack null def
+					/$Strategies 10 dict dup
+						begin
+						/$Type3Underprint
+							{
+							currentglobal exch false setglobal
+							11 dict
+								begin
+								/UseFont exch
+									$WMode 0 ne
+										{
+										dup length dict copy
+										dup /WMode $WMode put
+										/UseFont exch definefont
+										}
+									if def
+								/FontName $fontname dup type /stringtype eq { cvn } if def
+								/FontType 3 def
+								/FontMatrix [ .001 0 0 .001 0 0 ] def
+								/Encoding 256 array dup 0 1 255 { /.notdef put dup } for pop def
+								/FontBBox [ 0 0 0 0 ] def
+								/CCInfo 7 dict dup
+									begin
+									/cc null def
+									/x 0 def
+									/y 0 def
+									end def
+								/BuildChar
+									{
+									exch
+										begin
+										CCInfo
+											begin
+											1 string dup 0 3 index put exch pop
+											/cc exch def
+											UseFont 1000 scalefont setfont
+											cc stringwidth /y exch def /x exch def
+											x y setcharwidth
+											$SubstituteFont /$Strategy get /$Underprint get exec
+											0 0 moveto cc show
+											x y moveto
+											end
+										end
+									} bind def
+								currentdict
+								end
+							exch setglobal
+							} bind def
+						/$GetaTint
+							2 dict dup
+								begin
+								/$BuildFont
+									{
+									dup /WMode known
+										{ dup /WMode get }
+										{ 0 }
+									ifelse
+									/$WMode exch def
+									$fontname exch
+									dup /FontName known
+										{
+										dup /FontName get
+										dup type /stringtype eq { cvn } if
+										}
+										{ /unnamedfont }
+									ifelse
+									exch
+									Adobe_CoolType_Data /InVMDeepCopiedFonts get
+									1 index /FontName get known
+										{
+										pop
+										Adobe_CoolType_Data /InVMDeepCopiedFonts get
+										1 index get
+										null copyfont
+										}
+										{ $deepcopyfont }
+									ifelse
+									exch 1 index exch /FontBasedOn exch put
+									dup /FontName $fontname dup type /stringtype eq { cvn } if put
+									definefont
+									Adobe_CoolType_Data /InVMDeepCopiedFonts get
+										begin
+										dup /FontBasedOn get 1 index def
+										end
+									} bind def
+								/$Underprint
+									{
+									gsave
+									x abs y abs gt
+										{ /y 1000 def }
+										{ /x -1000 def 500 120 translate }
+									ifelse
+									Level2?
+										{
+										[ /Separation (All) /DeviceCMYK { 0 0 0 1 pop } ]
+										setcolorspace
+										}
+										{ 0 setgray }
+									ifelse
+									10 setlinewidth
+									x .8 mul
+									[ 7 3 ]
+										{
+										y mul 8 div 120 sub x 10 div exch moveto
+										0 y 4 div neg rlineto
+										dup 0 rlineto
+										0 y 4 div rlineto
+										closepath
+										gsave
+										Level2?
+											{ .2 setcolor }
+											{ .8 setgray }
+										ifelse
+										fill grestore
+										stroke
+										}
+									forall
+									pop
+									grestore
+									} bind def
+								end def
+						/$Oblique
+							1 dict dup
+								begin
+								/$BuildFont
+									{
+									currentglobal exch dup gcheck setglobal
+									null copyfont
+										begin
+										/FontBasedOn
+										currentdict /FontName known
+											{
+											FontName
+											dup type /stringtype eq { cvn } if
+											}
+											{ /unnamedfont }
+										ifelse
+										def
+										/FontName $fontname dup type /stringtype eq { cvn } if def
+										/currentdistillerparams where
+											{ pop }
+											{
+											/FontInfo currentdict /FontInfo known
+												{ FontInfo null copyfont }
+												{ 2 dict }
+											ifelse
+											dup
+												begin
+												/ItalicAngle $italicangle def
+												/FontMatrix FontMatrix
+												[ 1 0 ItalicAngle dup sin exch cos div 1 0 0 ]
+												matrix concatmatrix readonly
+												end
+											4 2 roll def
+											def
+											}
+										ifelse
+										FontName currentdict
+										end
+									definefont
+									exch setglobal
+									} bind def
+								end def
+						/$None
+							1 dict dup
+								begin
+								/$BuildFont {} bind def
+								end def
+						end def
+					/$Oblique SetSubstituteStrategy
+					/$findfontByEnum
+						{
+						dup type /stringtype eq { cvn } if
+						dup /$fontname exch def
+						$sname null eq
+							{ $str cvs dup length $slen sub $slen getinterval }
+							{ pop $sname }
+						ifelse
+						$fontpat dup 0 (fonts/*) putinterval exch 7 exch putinterval
+						/$match false def
+						$SubstituteFont /$dstack countdictstack array dictstack put
+						mark
+							{
+							$fontpat 0 $slen 7 add getinterval
+								{ /$match exch def exit }
+							$str filenameforall
+							}
+						stopped
+							{
+							cleardictstack
+							currentdict
+							true
+							$SubstituteFont /$dstack get
+								{
+								exch
+									{
+									1 index eq
+										{ pop false }
+										{ true }
+									ifelse
+									}
+									{ begin false }
+								ifelse
+								}
+							forall
+							pop
+							}
+						if
+						cleartomark
+						/$slen 0 def
+						$match false ne
+							{ $match (fonts/) anchorsearch pop pop cvn }
+							{ /Courier }
+						ifelse
+						} bind def
+					/$ROS 1 dict dup
+						begin
+						/Adobe 4 dict dup
+							begin
+							/Japan1  [ /Ryumin-Light /HeiseiMin-W3
+										  /GothicBBB-Medium /HeiseiKakuGo-W5
+										  /HeiseiMaruGo-W4 /Jun101-Light ] def
+							/Korea1  [ /HYSMyeongJo-Medium /HYGoThic-Medium ] def
+							/GB1	  [ /STSong-Light /STHeiti-Regular ] def
+							/CNS1	 [ /MKai-Medium /MHei-Medium ] def
+							end def
+						end def
+					/$cmapname null def
+					/$deepcopyfont
+						{
+						dup /FontType get 0 eq
+							{
+							1 dict dup /FontName /copied put copyfont
+								begin
+								/FDepVector FDepVector copyarray
+								0 1 2 index length 1 sub
+									{
+									2 copy get $deepcopyfont
+									dup /FontName /copied put
+									/copied exch definefont
+									3 copy put pop pop
+									}
+								for
+								def
+								currentdict
+								end
+							}
+							{ $Strategies /$Type3Underprint get exec }
+						ifelse
+						} bind def
+					/$buildfontname
+						{
+						dup /CIDFont findresource /CIDSystemInfo get
+							begin
+							Registry length Ordering length Supplement 8 string cvs
+							3 copy length 2 add add add string
+							dup 5 1 roll dup 0 Registry putinterval
+							dup 4 index (-) putinterval
+							dup 4 index 1 add Ordering putinterval
+							4 2 roll add 1 add 2 copy (-) putinterval
+							end
+						1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch
+						anchorsearch
+							{ pop pop 3 2 roll putinterval cvn /$cmapname exch def }
+							{ pop pop pop pop pop }
+						ifelse
+						length
+						$str 1 index (-) putinterval 1 add
+						$str 1 index $cmapname $fontpat cvs putinterval
+						$cmapname length add
+						$str exch 0 exch getinterval cvn
+						} bind def
+					/$findfontByROS
+						{
+						/$fontname exch def
+						$ROS Registry 2 copy known
+							{
+							get Ordering 2 copy known
+								{ get }
+								{ pop pop [] }
+							ifelse
+							}
+							{ pop pop [] }
+						ifelse
+						false exch
+							{
+							dup /CIDFont resourcestatus
+								{
+								pop pop
+								save
+								1 index /CIDFont findresource
+								dup /WidthsOnly known
+									{ dup /WidthsOnly get }
+									{ false }
+								ifelse
+								exch pop
+								exch restore
+									{ pop }
+									{ exch pop true exit }
+								ifelse
+								}
+								{ pop }
+							ifelse
+							}
+						forall
+							{ $str cvs $buildfontname }
+							{
+							false (*)
+								{
+								save exch
+								dup /CIDFont findresource
+								dup /WidthsOnly known
+									{ dup /WidthsOnly get not }
+									{ true }
+								ifelse
+								exch /CIDSystemInfo get
+								dup /Registry get Registry eq
+								exch /Ordering get Ordering eq and and
+									{ exch restore exch pop true exit }
+									{ pop restore }
+								ifelse
+								}
+							$str /CIDFont resourceforall
+								{ $buildfontname }
+								{ $fontname $findfontByEnum }
+							ifelse
+							}
+						ifelse
+						} bind def
+					end
+				end
+				currentdict /$error known currentdict /languagelevel known and dup
+					{ pop $error /SubstituteFont known }
+				if
+				dup
+					{ $error }
+					{ Adobe_CoolType_Core }
+				ifelse
+				begin
+					{
+					/SubstituteFont
+					/CMap /Category resourcestatus
+						{
+						pop pop
+						{
+						$SubstituteFont
+							begin
+							/$substituteFound true def
+							dup length $slen gt
+							$sname null ne or
+							$slen 0 gt and
+								{
+								$sname null eq
+									{ dup $str cvs dup length $slen sub $slen getinterval cvn }
+									{ $sname }
+								ifelse
+								Adobe_CoolType_Data /InVMFontsByCMap get
+								1 index 2 copy known
+									{
+									get
+									false exch
+										{
+										pop
+										currentglobal
+											{
+											GlobalFontDirectory 1 index known
+												{ exch pop true exit }
+												{ pop }
+											ifelse
+											}
+											{
+											FontDirectory 1 index known
+												{ exch pop true exit }
+												{
+												GlobalFontDirectory 1 index known
+													{ exch pop true exit }
+													{ pop }
+												ifelse
+												}
+											ifelse
+											}
+										ifelse
+										}
+									forall
+									}
+									{ pop pop false }
+								ifelse
+									{
+									exch pop exch pop
+									}
+									{
+									dup /CMap resourcestatus
+										{
+										pop pop
+										dup /$cmapname exch def
+										/CMap findresource /CIDSystemInfo get { def } forall
+										$findfontByROS
+										}
+										{
+										128 string cvs
+										dup (-) search
+											{
+											3 1 roll search
+												{
+												3 1 roll pop
+													{ dup cvi }
+												stopped
+													{ pop pop pop pop pop $findfontByEnum }
+													{
+													4 2 roll pop pop
+													exch length
+													exch
+													2 index length
+													2 index
+													sub
+													exch 1 sub -1 0
+														{
+														$str cvs dup length
+														4 index
+														0
+														4 index
+														4 3 roll add
+														getinterval
+														exch 1 index exch 3 index exch
+														putinterval
+														dup /CMap resourcestatus
+															{
+															pop pop
+															4 1 roll pop pop pop
+															dup /$cmapname exch def
+															/CMap findresource /CIDSystemInfo get { def } forall
+															$findfontByROS
+															true exit
+															}
+															{ pop }
+														ifelse
+														}
+													for
+													dup type /booleantype eq
+														{ pop }
+														{ pop pop pop $findfontByEnum }
+													ifelse
+													}
+												ifelse
+												}
+												{ pop pop pop $findfontByEnum }
+											ifelse
+											}
+											{ pop pop $findfontByEnum }
+										ifelse
+										}
+									ifelse
+									}
+								ifelse
+								}
+								{ //SubstituteFont exec }
+							ifelse
+							/$slen 0 def
+							end
+						}
+						}
+						{
+						{
+						$SubstituteFont
+							begin
+							/$substituteFound true def
+							dup length $slen gt
+							$sname null ne or
+							$slen 0 gt and
+								{ $findfontByEnum }
+								{ //SubstituteFont exec }
+							ifelse
+							end
+						}
+						}
+					ifelse
+					bind readonly def
+					Adobe_CoolType_Core /scfindfont /systemfindfont load put
+					}
+					{
+					/scfindfont
+						{
+						$SubstituteFont
+							begin
+							dup systemfindfont
+							dup /FontName known
+								{ dup /FontName get dup 3 index ne }
+								{ /noname true }
+							ifelse
+							dup
+								{
+								/$origfontnamefound 2 index def
+								/$origfontname 4 index def /$substituteFound true def
+								}
+							if
+							exch pop
+								{
+								$slen 0 gt
+								$sname null ne
+								3 index length $slen gt or and
+									{
+									pop dup $findfontByEnum findfont
+									dup maxlength 1 add dict
+										begin
+											{ 1 index /FID eq { pop pop } { def } ifelse }
+										forall
+										currentdict
+										end
+									definefont
+									dup /FontName known { dup /FontName get } { null } ifelse
+									$origfontnamefound ne
+										{
+										$origfontname $str cvs print
+										( substitution revised, using ) print
+										dup /FontName known
+											{ dup /FontName get } { (unspecified font) }
+										ifelse
+										$str cvs print (.\n) print
+										}
+									if
+									}
+									{ exch pop }
+								ifelse
+								}
+								{ exch pop }
+							ifelse
+							end
+						} bind def
+					}
+				ifelse
+				end
+			end
+		Adobe_CoolType_Core_Defined not
+			{
+			Adobe_CoolType_Core /findfont
+				{
+				$SubstituteFont
+					begin
+					$depth 0 eq
+						{
+						/$fontname 1 index dup type /stringtype ne { $str cvs } if def
+						/$substituteFound false def
+						}
+					if
+					/$depth $depth 1 add def
+					end
+				scfindfont
+				$SubstituteFont
+					begin
+					/$depth $depth 1 sub def
+					$substituteFound $depth 0 eq and
+						{
+						$inVMIndex null ne
+							{ dup $inVMIndex $AddInVMFont }
+						if
+						$doSmartSub
+							{
+							currentdict /$Strategy known
+								{ $Strategy /$BuildFont get exec }
+							if
+							}
+						if
+						}
+					if
+					end
+				} bind put
+			}
+		if
+		}
+	if
+	end
+/$AddInVMFont
+	{
+	exch /FontName 2 copy known
+		{
+		get
+		1 dict dup begin exch 1 index gcheck def end exch
+		Adobe_CoolType_Data /InVMFontsByCMap get exch
+		$DictAdd
+		}
+		{ pop pop pop }
+	ifelse
+	} bind def
+/$DictAdd
+	{
+	2 copy known not
+		{ 2 copy 4 index length dict put }
+	if
+	Level2? not
+		{
+		2 copy get dup maxlength exch length 4 index length add lt
+		2 copy get dup length 4 index length add exch maxlength 1 index lt
+			{
+			2 mul dict
+				begin
+				2 copy get { forall } def
+				2 copy currentdict put
+				end
+			}
+			{ pop }
+		ifelse
+		}
+	if
+	get
+		begin
+			{ def }
+		forall
+		end
+	} bind def
+end
+end
+%%EndResource
+%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.21 0
+%%Copyright: Copyright 1987-2005 Adobe Systems Incorporated.
+%%Version: 1.21 0
+systemdict /languagelevel known dup
+	{ currentglobal false setglobal }
+	{ false }
+ifelse
+exch
+userdict /Adobe_CoolType_Utility 2 copy known
+	{ 2 copy get dup maxlength 27 add dict copy }
+	{ 27 dict }
+ifelse put
+Adobe_CoolType_Utility
+	begin
+	/@eexecStartData
+		  <BAB431EA07F209EB8C4348311481D9D3F76E3D15246555577D87BC510ED54E
+		 118C39697FA9F6DB58128E60EB8A12FA24D7CDD2FA94D221FA9EC8DA3E5E6A1C
+		 4ACECC8C2D39C54E7C946031DD156C3A6B4A09AD29E1867A> def
+	/@recognizeCIDFont null def
+	/ct_Level2? exch def
+	/ct_Clone? 1183615869 internaldict dup
+			/CCRun known not
+			exch /eCCRun known not
+			ct_Level2? and or def
+ct_Level2?
+	{ globaldict begin currentglobal true setglobal }
+if
+	/ct_AddStdCIDMap
+		ct_Level2?
+			{ {
+				mark
+				Adobe_CoolType_Utility /@recognizeCIDFont currentdict put
+					 {
+					 ((Hex) 57 StartData
+					 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0
+					 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60
+					 d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8
+					 cc36 74f4 1144 b13b 77) 0 () /SubFileDecode filter cvx exec
+					 }
+				stopped
+					 {
+					 cleartomark
+					 Adobe_CoolType_Utility /@recognizeCIDFont get
+					 countdictstack dup array dictstack
+					 exch 1 sub -1 0
+						  {
+						  2 copy get 3 index eq
+								{ 1 index length exch sub 1 sub { end } repeat exit }
+								{ pop }
+						  ifelse
+						  }
+					 for
+					 pop pop
+					 Adobe_CoolType_Utility /@eexecStartData get eexec
+					 }
+					 { cleartomark }
+				ifelse
+			} }
+			{ {
+				Adobe_CoolType_Utility /@eexecStartData get eexec
+			} }
+		ifelse bind def
+userdict /cid_extensions known
+dup { cid_extensions /cid_UpdateDB known and } if
+	 {
+	 cid_extensions
+	 begin
+	 /cid_GetCIDSystemInfo
+		 {
+		 1 index type /stringtype eq
+			 { exch cvn exch }
+		 if
+		 cid_extensions
+			 begin
+			 dup load 2 index known
+				 {
+				 2 copy
+				 cid_GetStatusInfo
+				 dup null ne
+					 {
+					 1 index load
+					 3 index get
+					 dup null eq
+						  { pop pop cid_UpdateDB }
+						  {
+						  exch
+						  1 index /Created get eq
+							  { exch pop exch pop }
+							  { pop cid_UpdateDB }
+						  ifelse
+						  }
+					 ifelse
+					 }
+					 { pop cid_UpdateDB }
+				 ifelse
+				 }
+				 { cid_UpdateDB }
+			 ifelse
+			 end
+		 } bind def
+	 end
+	 }
+if
+ct_Level2?
+	{ end setglobal }
+if
+	/ct_UseNativeCapability?  systemdict /composefont known def
+	/ct_MakeOCF 35 dict def
+	/ct_Vars 25 dict def
+	/ct_GlyphDirProcs 6 dict def
+	/ct_BuildCharDict 15 dict dup
+		begin
+		/charcode 2 string def
+		/dst_string 1500 string def
+		/nullstring () def
+		/usewidths? true def
+		end def
+	ct_Level2? { setglobal } { pop } ifelse
+	ct_GlyphDirProcs
+		begin
+		/GetGlyphDirectory
+			{
+			systemdict /languagelevel known
+				{ pop /CIDFont findresource /GlyphDirectory get }
+				{
+				1 index /CIDFont findresource /GlyphDirectory
+				get dup type /dicttype eq
+					{
+					dup dup maxlength exch length sub 2 index lt
+						{
+						dup length 2 index add dict copy 2 index
+						/CIDFont findresource/GlyphDirectory 2 index put
+						}
+					if
+					}
+				if
+				exch pop exch pop
+				}
+			ifelse
+			+
+			} def
+		/+
+			{
+			systemdict /languagelevel known
+				{
+				currentglobal false setglobal
+				3 dict begin
+					/vm exch def
+				}
+				{ 1 dict begin }
+			ifelse
+			/$ exch def
+			systemdict /languagelevel known
+				{
+				vm setglobal
+				/gvm currentglobal def
+				$ gcheck setglobal
+				}
+			if
+			? { $ begin } if
+			} def
+		/? { $ type /dicttype eq } def
+		/| {
+			userdict /Adobe_CoolType_Data known
+				{
+			Adobe_CoolType_Data /AddWidths? known
+				{
+				 currentdict Adobe_CoolType_Data
+					begin
+					  begin
+						AddWidths?
+								{
+								Adobe_CoolType_Data /CC 3 index put
+								? { def } { $ 3 1 roll put } ifelse
+								CC charcode exch 1 index 0 2 index 256 idiv put
+								1 index exch 1 exch 256 mod put
+								stringwidth 2 array astore
+								currentfont /Widths get exch CC exch put
+								}
+								{ ? { def } { $ 3 1 roll put } ifelse }
+							ifelse
+					end
+				end
+				}
+				{ ? { def } { $ 3 1 roll put } ifelse }	ifelse
+				}
+				{ ? { def } { $ 3 1 roll put } ifelse }
+			ifelse
+			} def
+		/!
+			{
+			? { end } if
+			systemdict /languagelevel known
+				{ gvm setglobal }
+			if
+			end
+			} def
+		/: { string currentfile exch readstring pop } executeonly def
+		end
+	ct_MakeOCF
+		begin
+		/ct_cHexEncoding
+		[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12
+		 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25
+		 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38
+		 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B
+		 /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E
+		 /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71
+		 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84
+		 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97
+		 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA
+		 /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD
+		 /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0
+		 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3
+		 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6
+		 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF] def
+		/ct_CID_STR_SIZE 8000 def
+		/ct_mkocfStr100 100 string def
+		/ct_defaultFontMtx [.001 0 0 .001 0 0] def
+		/ct_1000Mtx [1000 0 0 1000 0 0] def
+		/ct_raise {exch cvx exch errordict exch get exec stop} bind def
+		/ct_reraise
+			{ cvx $error /errorname get (Error: ) print dup (						  ) cvs print
+					errordict exch get exec stop
+			} bind def
+		/ct_cvnsi
+			{
+			1 index add 1 sub 1 exch 0 4 1 roll
+				{
+				2 index exch get
+				exch 8 bitshift
+				add
+				}
+			for
+			exch pop
+			} bind def
+		/ct_GetInterval
+			{
+			Adobe_CoolType_Utility /ct_BuildCharDict get
+				begin
+				/dst_index 0 def
+				dup dst_string length gt
+					{ dup string /dst_string exch def }
+				if
+				1 index ct_CID_STR_SIZE idiv
+				/arrayIndex exch def
+				2 index arrayIndex  get
+				2 index
+				arrayIndex ct_CID_STR_SIZE mul
+				sub
+					{
+					dup 3 index add 2 index length le
+						{
+						2 index getinterval
+						dst_string  dst_index 2 index putinterval
+						length dst_index add /dst_index exch def
+						exit
+						}
+						{
+						1 index length 1 index sub
+						dup 4 1 roll
+						getinterval
+						dst_string  dst_index 2 index putinterval
+						pop dup dst_index add /dst_index exch def
+						sub
+						/arrayIndex arrayIndex 1 add def
+						2 index dup length arrayIndex gt
+							  { arrayIndex get }
+							  {
+							  pop
+							  exit
+							  }
+						ifelse
+						0
+						}
+					ifelse
+					}
+				loop
+				pop pop pop
+				dst_string 0 dst_index getinterval
+				end
+			} bind def
+		ct_Level2?
+			{
+			/ct_resourcestatus
+			currentglobal mark true setglobal
+				{ /unknowninstancename /Category resourcestatus }
+			stopped
+				{ cleartomark setglobal true }
+				{ cleartomark currentglobal not exch setglobal }
+			ifelse
+				{
+					{
+					mark 3 1 roll /Category findresource
+						begin
+						ct_Vars /vm currentglobal put
+						({ResourceStatus} stopped) 0 () /SubFileDecode filter cvx exec
+							{ cleartomark false }
+							{ { 3 2 roll pop true } { cleartomark false } ifelse }
+						ifelse
+						ct_Vars /vm get setglobal
+						end
+					}
+				}
+				{ { resourcestatus } }
+			ifelse bind def
+			/CIDFont /Category ct_resourcestatus
+				{ pop pop }
+				{
+				currentglobal  true setglobal
+				/Generic /Category findresource
+				dup length dict copy
+				dup /InstanceType /dicttype put
+				/CIDFont exch /Category defineresource pop
+				setglobal
+				}
+			ifelse
+			ct_UseNativeCapability?
+				{
+				/CIDInit /ProcSet findresource begin
+				12 dict begin
+				begincmap
+				/CIDSystemInfo 3 dict dup begin
+				  /Registry (Adobe) def
+				  /Ordering (Identity) def
+				  /Supplement 0 def
+				end def
+				/CMapName /Identity-H def
+				/CMapVersion 1.000 def
+				/CMapType 1 def
+				1 begincodespacerange
+				<0000> <FFFF>
+				endcodespacerange
+				1 begincidrange
+				<0000> <FFFF> 0
+				endcidrange
+				endcmap
+				CMapName currentdict /CMap defineresource pop
+				end
+				end
+				}
+			if
+			}
+			{
+			/ct_Category 2 dict begin
+			/CIDFont  10 dict def
+			/ProcSet	2 dict def
+			currentdict
+			end
+			def
+			/defineresource
+				{
+				ct_Category 1 index 2 copy known
+					{
+					get
+					dup dup maxlength exch length eq
+						{
+						dup length 10 add dict copy
+						ct_Category 2 index 2 index put
+						}
+					if
+					3 index 3 index put
+					pop exch pop
+					}
+					{ pop pop /defineresource /undefined ct_raise }
+				ifelse
+				} bind def
+			/findresource
+				{
+				ct_Category 1 index 2 copy known
+					{
+					get
+					2 index 2 copy known
+						{ get 3 1 roll pop pop}
+						{ pop pop /findresource /undefinedresource ct_raise }
+					ifelse
+					}
+					{ pop pop /findresource /undefined ct_raise }
+				ifelse
+				} bind def
+			/resourcestatus
+				{
+				ct_Category 1 index 2 copy known
+					{
+					get
+					2 index known
+					exch pop exch pop
+						{
+						0 -1 true
+						}
+						{
+						false
+						}
+					ifelse
+					}
+					{ pop pop /findresource /undefined ct_raise }
+				ifelse
+				} bind def
+			/ct_resourcestatus /resourcestatus load def
+			}
+		ifelse
+		/ct_CIDInit 2 dict
+			begin
+			/ct_cidfont_stream_init
+				{
+					{
+					dup (Binary) eq
+						{
+						pop
+						null
+						currentfile
+						ct_Level2?
+							{
+								{ cid_BYTE_COUNT () /SubFileDecode filter }
+							stopped
+								{ pop pop pop }
+							if
+							}
+						if
+						/readstring load
+						exit
+						}
+					if
+					dup (Hex) eq
+						{
+						pop
+						currentfile
+						ct_Level2?
+							{
+								{ null exch /ASCIIHexDecode filter /readstring }
+							stopped
+								{ pop exch pop (>) exch /readhexstring }
+							if
+							}
+							{ (>) exch /readhexstring }
+						ifelse
+						load
+						exit
+						}
+					if
+					/StartData /typecheck ct_raise
+					}
+				loop
+				cid_BYTE_COUNT ct_CID_STR_SIZE le
+					{
+					2 copy cid_BYTE_COUNT string exch exec
+					pop
+					1 array dup
+					3 -1 roll
+					0 exch put
+					}
+					{
+					cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi
+					dup array exch 2 sub 0 exch 1 exch
+						{
+						2 copy
+						5 index
+						ct_CID_STR_SIZE
+						string
+						6 index exec
+						pop
+						put
+						pop
+						}
+					for
+					2 index
+					cid_BYTE_COUNT ct_CID_STR_SIZE mod string
+					3 index exec
+					pop
+					1 index exch
+					1 index length 1 sub
+					exch put
+					}
+				ifelse
+				cid_CIDFONT exch /GlyphData exch put
+				2 index null eq
+					{
+					pop pop pop
+					}
+					{
+					pop /readstring load
+					1 string exch
+						{
+						3 copy exec
+						pop
+						dup length 0 eq
+							{
+							pop pop pop pop pop
+							true exit
+							}
+						if
+						4 index
+						eq
+							{
+							pop pop pop pop
+							false exit
+							}
+						if
+						}
+					loop
+					pop
+					}
+				ifelse
+				} bind def
+			/StartData
+				{
+				mark
+					{
+					currentdict
+					dup /FDArray get 0 get /FontMatrix get
+					0 get 0.001 eq
+						{
+						dup /CDevProc known not
+							{
+							/CDevProc 1183615869 internaldict /stdCDevProc 2 copy known
+								{ get }
+								{
+								pop pop
+								{ pop pop pop pop pop 0 -1000 7 index 2 div 880 }
+								}
+							ifelse
+							def
+							}
+						if
+						}
+						{
+						 /CDevProc
+							 {
+							 pop pop pop pop pop
+							 0
+							 1 cid_temp /cid_CIDFONT get
+							 /FDArray get 0 get
+							 /FontMatrix get 0 get div
+							 7 index 2 div
+							 1 index 0.88 mul
+							 } def
+						}
+					ifelse
+					/cid_temp 15 dict def
+					cid_temp
+						begin
+						/cid_CIDFONT exch def
+						3 copy pop
+						dup /cid_BYTE_COUNT exch def 0 gt
+							{
+							ct_cidfont_stream_init
+							FDArray
+								{
+								/Private get
+								dup /SubrMapOffset known
+									{
+									begin
+									/Subrs SubrCount array def
+									Subrs
+									SubrMapOffset
+									SubrCount
+									SDBytes
+									ct_Level2?
+										{
+										currentdict dup /SubrMapOffset undef
+										dup /SubrCount undef
+										/SDBytes undef
+										}
+									if
+									end
+									/cid_SD_BYTES exch def
+									/cid_SUBR_COUNT exch def
+									/cid_SUBR_MAP_OFFSET exch def
+									/cid_SUBRS exch def
+									cid_SUBR_COUNT 0 gt
+										{
+										GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval
+										0 cid_SD_BYTES ct_cvnsi
+										0 1 cid_SUBR_COUNT 1 sub
+											{
+											exch 1 index
+											1 add
+											cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add
+											GlyphData exch cid_SD_BYTES ct_GetInterval
+											0 cid_SD_BYTES ct_cvnsi
+											cid_SUBRS 4 2 roll
+											GlyphData exch
+											4 index
+											1 index
+											sub
+											ct_GetInterval
+											dup length string copy put
+											}
+										for
+										pop
+										}
+									if
+									}
+									{ pop }
+								ifelse
+								}
+							forall
+							}
+						if
+						cleartomark pop pop
+						end
+					CIDFontName currentdict /CIDFont defineresource pop
+					end end
+					}
+				stopped
+					{ cleartomark /StartData ct_reraise }
+				if
+				} bind def
+			currentdict
+			end def
+		/ct_saveCIDInit
+			{
+			/CIDInit /ProcSet ct_resourcestatus
+				{ true }
+				{ /CIDInitC /ProcSet ct_resourcestatus }
+			ifelse
+				{
+				pop pop
+				/CIDInit /ProcSet findresource
+				ct_UseNativeCapability?
+					{ pop null }
+					{ /CIDInit ct_CIDInit /ProcSet defineresource pop }
+				ifelse
+				}
+				{ /CIDInit ct_CIDInit /ProcSet defineresource pop null }
+			ifelse
+			ct_Vars exch /ct_oldCIDInit exch put
+			} bind def
+		/ct_restoreCIDInit
+			{
+			ct_Vars /ct_oldCIDInit get dup null ne
+				{ /CIDInit exch /ProcSet defineresource pop }
+				{ pop }
+			ifelse
+			} bind def
+		/ct_BuildCharSetUp
+			{
+			1 index
+				begin
+				CIDFont
+					begin
+					Adobe_CoolType_Utility /ct_BuildCharDict get
+						begin
+						/ct_dfCharCode exch def
+						/ct_dfDict exch def
+						CIDFirstByte ct_dfCharCode add
+						dup CIDCount ge
+							{ pop 0 }
+						if
+						/cid exch def
+							{
+							GlyphDirectory cid 2 copy known
+								{ get }
+								{ pop pop nullstring }
+							ifelse
+							dup length FDBytes sub 0 gt
+								{
+								dup
+								FDBytes 0 ne
+									{ 0 FDBytes ct_cvnsi }
+									{ pop 0 }
+								ifelse
+								/fdIndex exch def
+								dup length FDBytes sub FDBytes exch getinterval
+								/charstring exch def
+								exit
+								}
+								{
+								pop
+								cid 0 eq
+									{ /charstring nullstring def exit }
+								if
+								/cid 0 def
+								}
+							ifelse
+							}
+						loop
+			} def
+		/ct_SetCacheDevice
+			{
+			0 0 moveto
+			dup stringwidth
+			3 -1 roll
+			true charpath
+			pathbbox
+			0 -1000
+			7 index 2 div 880
+			setcachedevice2
+			0 0 moveto
+			} def
+		/ct_CloneSetCacheProc
+			{
+			1 eq
+				{
+				stringwidth
+				pop -2 div -880
+				0 -1000 setcharwidth
+				moveto
+				}
+				{
+				usewidths?
+					{
+					currentfont /Widths get cid
+					2 copy known
+						{ get exch pop aload pop }
+						{ pop pop stringwidth }
+					ifelse
+					}
+					{ stringwidth }
+				ifelse
+				setcharwidth
+				0 0 moveto
+				}
+			ifelse
+			} def
+		/ct_Type3ShowCharString
+			{
+			ct_FDDict fdIndex 2 copy known
+				{ get }
+				{
+				currentglobal 3 1 roll
+				1 index gcheck setglobal
+				ct_Type1FontTemplate dup maxlength dict copy
+					begin
+					FDArray fdIndex get
+					dup /FontMatrix 2 copy known
+						{ get }
+						{ pop pop ct_defaultFontMtx }
+					ifelse
+					/FontMatrix exch dup length array copy def
+					/Private get
+					/Private exch def
+					/Widths rootfont /Widths get def
+					/CharStrings 1 dict dup /.notdef
+						<d841272cf18f54fc13> dup length string copy put def
+					currentdict
+					end
+				/ct_Type1Font exch definefont
+				dup 5 1 roll put
+				setglobal
+				}
+			ifelse
+			dup /CharStrings get 1 index /Encoding get
+			ct_dfCharCode get charstring put
+			rootfont /WMode 2 copy known
+				{ get }
+				{ pop pop 0 }
+			ifelse
+			exch
+			1000 scalefont setfont
+			ct_str1 0 ct_dfCharCode put
+			ct_str1 exch ct_dfSetCacheProc
+			ct_SyntheticBold
+				{
+				currentpoint
+				ct_str1 show
+				newpath
+				moveto
+				ct_str1 true charpath
+				ct_StrokeWidth setlinewidth
+				stroke
+				}
+				{ ct_str1 show }
+			ifelse
+			} def
+		/ct_Type4ShowCharString
+			{
+			ct_dfDict ct_dfCharCode charstring
+			FDArray fdIndex get
+			dup /FontMatrix get dup ct_defaultFontMtx ct_matrixeq not
+				{ ct_1000Mtx matrix concatmatrix concat }
+				{ pop }
+			ifelse
+			/Private get
+			Adobe_CoolType_Utility /ct_Level2? get not
+				{
+				ct_dfDict /Private
+				3 -1 roll
+					{ put }
+				1183615869 internaldict /superexec get exec
+				}
+			if
+			1183615869 internaldict
+			Adobe_CoolType_Utility /ct_Level2? get
+				{ 1 index }
+				{ 3 index /Private get mark 6 1 roll }
+			ifelse
+			dup /RunInt known
+				{ /RunInt get }
+				{ pop /CCRun }
+			ifelse
+			get exec
+			Adobe_CoolType_Utility /ct_Level2? get not
+				{ cleartomark }
+			if
+			} bind def
+		/ct_BuildCharIncremental
+			{
+				{
+				Adobe_CoolType_Utility /ct_MakeOCF get begin
+				ct_BuildCharSetUp
+				ct_ShowCharString
+				}
+			stopped
+				{ stop }
+			if
+			end
+			end
+			end
+			end
+			} bind def
+		/BaseFontNameStr (BF00) def
+		/ct_Type1FontTemplate 14 dict
+			begin
+			/FontType 1 def
+			/FontMatrix  [0.001 0 0 0.001 0 0] def
+			/FontBBox  [-250 -250 1250 1250] def
+			/Encoding ct_cHexEncoding def
+			/PaintType 0 def
+			currentdict
+			end def
+		/BaseFontTemplate 11 dict
+			begin
+			/FontMatrix  [0.001 0 0 0.001 0 0] def
+			/FontBBox  [-250 -250 1250 1250] def
+			/Encoding ct_cHexEncoding def
+			/BuildChar /ct_BuildCharIncremental load def
+			ct_Clone?
+				{
+				/FontType 3 def
+				/ct_ShowCharString /ct_Type3ShowCharString load def
+				/ct_dfSetCacheProc /ct_CloneSetCacheProc load def
+				/ct_SyntheticBold false def
+				/ct_StrokeWidth 1 def
+				}
+				{
+				/FontType 4 def
+				/Private 1 dict dup /lenIV 4 put def
+				/CharStrings 1 dict dup /.notdef <d841272cf18f54fc13> put def
+				/PaintType 0 def
+				/ct_ShowCharString /ct_Type4ShowCharString load def
+				}
+			ifelse
+			/ct_str1 1 string def
+			currentdict
+			end def
+		/BaseFontDictSize BaseFontTemplate length 5 add def
+		/ct_matrixeq
+			{
+			true 0 1 5
+				{
+				dup 4 index exch get exch 3 index exch get eq and
+				dup not
+					{ exit }
+				if
+				}
+			for
+			exch pop exch pop
+			} bind def
+		/ct_makeocf
+			{
+			15 dict
+				begin
+				exch /WMode exch def
+				exch /FontName exch def
+				/FontType 0 def
+				/FMapType 2 def
+			dup /FontMatrix known
+				{ dup /FontMatrix get /FontMatrix exch def }
+				{ /FontMatrix matrix def }
+			ifelse
+				/bfCount 1 index /CIDCount get 256 idiv 1 add
+					dup 256 gt { pop 256} if def
+				/Encoding
+					256 array 0 1 bfCount 1 sub { 2 copy dup put pop } for
+					bfCount 1 255 { 2 copy bfCount put pop } for
+					def
+				/FDepVector bfCount dup 256 lt { 1 add } if array def
+				BaseFontTemplate BaseFontDictSize dict copy
+					begin
+					/CIDFont exch def
+					CIDFont /FontBBox known
+						{ CIDFont /FontBBox get /FontBBox exch def }
+					if
+					CIDFont /CDevProc known
+						{ CIDFont /CDevProc get /CDevProc exch def }
+					if
+					currentdict
+					end
+				BaseFontNameStr 3 (0) putinterval
+				0 1 bfCount dup 256 eq { 1 sub } if
+					{
+					FDepVector exch
+					2 index BaseFontDictSize dict copy
+						begin
+						dup /CIDFirstByte exch 256 mul def
+						FontType 3 eq
+							{ /ct_FDDict 2 dict def }
+						if
+						currentdict
+						end
+					1 index  16
+					BaseFontNameStr  2 2 getinterval cvrs pop
+					BaseFontNameStr exch definefont
+					put
+					}
+				for
+				ct_Clone?
+					{ /Widths 1 index /CIDFont get /GlyphDirectory get length dict def }
+				if
+				FontName
+				currentdict
+				end
+			definefont
+			ct_Clone?
+				{
+				gsave
+				dup 1000 scalefont setfont
+				ct_BuildCharDict
+					begin
+					/usewidths? false def
+					currentfont /Widths get
+						begin
+						exch /CIDFont get /GlyphDirectory get
+							{
+							pop
+							dup charcode exch 1 index 0 2 index 256 idiv put
+							1 index exch 1 exch 256 mod put
+							stringwidth 2 array astore def
+							}
+						forall
+						end
+					/usewidths? true def
+					end
+				grestore
+				}
+				{ exch pop }
+			ifelse
+			} bind def
+		/ct_ComposeFont
+			{
+			ct_UseNativeCapability?
+				{
+				2 index /CMap ct_resourcestatus
+					{ pop pop exch pop }
+					{
+					/CIDInit /ProcSet findresource
+						begin
+						12 dict
+							begin
+							begincmap
+							/CMapName 3 index def
+							/CMapVersion 1.000 def
+							/CMapType 1 def
+							exch /WMode exch def
+							/CIDSystemInfo 3 dict dup
+								begin
+								/Registry (Adobe) def
+								/Ordering
+								CMapName ct_mkocfStr100 cvs
+								(Adobe-) search
+									{
+									pop pop
+									(-) search
+										{
+										dup length string copy
+										exch pop exch pop
+										}
+										{ pop (Identity)}
+									ifelse
+									}
+									{ pop  (Identity)  }
+								ifelse
+								def
+								/Supplement 0 def
+								end def
+							1 begincodespacerange
+							<0000> <FFFF>
+							endcodespacerange
+							1 begincidrange
+							<0000> <FFFF> 0
+							endcidrange
+							endcmap
+							CMapName currentdict /CMap defineresource pop
+							end
+						end
+					}
+				ifelse
+				composefont
+				}
+				{
+				3 2 roll pop
+				0 get /CIDFont findresource
+				ct_makeocf
+				}
+			ifelse
+			} bind def
+		/ct_MakeIdentity
+			{
+			ct_UseNativeCapability?
+				{
+				1 index /CMap ct_resourcestatus
+					{ pop pop }
+					{
+					/CIDInit /ProcSet findresource begin
+					12 dict begin
+					begincmap
+					/CMapName 2 index def
+					/CMapVersion 1.000 def
+					/CMapType 1 def
+					/CIDSystemInfo 3 dict dup
+						begin
+						/Registry (Adobe) def
+						/Ordering
+						CMapName ct_mkocfStr100 cvs
+						(Adobe-) search
+							{
+							pop pop
+							(-) search
+								{ dup length string copy exch pop exch pop }
+								{ pop (Identity) }
+							ifelse
+							}
+							{ pop (Identity) }
+						ifelse
+						def
+						/Supplement 0 def
+						end def
+					1 begincodespacerange
+					<0000> <FFFF>
+					endcodespacerange
+					1 begincidrange
+					<0000> <FFFF> 0
+					endcidrange
+					endcmap
+					CMapName currentdict /CMap defineresource pop
+					end
+					end
+					}
+				ifelse
+				composefont
+				}
+				{
+				exch pop
+				0 get /CIDFont findresource
+				ct_makeocf
+				}
+			ifelse
+			} bind def
+		currentdict readonly pop
+		end
+	end
+%%EndResource
+%%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0
+%%Copyright: Copyright 1987-2004 Adobe Systems Incorporated.
+%%Version: 1.0 0
+userdict /ct_T42Dict 15 dict put
+ct_T42Dict begin
+/Is2015?
+{
+  version
+  cvi
+  2015
+  ge
+} bind def
+/AllocGlyphStorage
+{
+  Is2015?
+  {	
+		pop
+  } 
+  { 
+		{string} forall
+  } ifelse
+} bind def
+/Type42DictBegin
+{
+	25 dict begin
+  /FontName exch def
+  /CharStrings 256 dict 
+	begin
+		  /.notdef 0 def
+		  currentdict 
+	end def
+  /Encoding exch def
+  /PaintType 0 def
+  /FontType 42 def
+  /FontMatrix [1 0 0 1 0 0] def
+  4 array  astore cvx /FontBBox exch def
+  /sfnts
+} bind def
+/Type42DictEnd  
+{
+	 currentdict dup /FontName get exch definefont end
+	ct_T42Dict exch
+	dup /FontName get exch put
+} bind def
+/RD {string currentfile exch readstring pop} executeonly def
+/PrepFor2015
+{
+	Is2015?
+	{		  
+		 /GlyphDirectory 
+		 16
+		 dict def
+		 sfnts 0 get
+		 dup
+		 2 index
+		 (glyx)
+		 putinterval
+		 2 index  
+		 (locx)
+		 putinterval
+		 pop
+		 pop
+	}
+	{
+		 pop
+		 pop
+	} ifelse			
+} bind def
+/AddT42Char
+{
+	Is2015?
+	{
+		/GlyphDirectory get 
+		begin
+		def
+		end
+		pop
+		pop
+	}
+	{
+		/sfnts get
+		4 index
+		get
+		3 index
+	  2 index
+		putinterval
+		pop
+		pop
+		pop
+		pop
+	} ifelse
+} bind def
+/T0AddT42Mtx2
+{
+	/CIDFont findresource /Metrics2 get begin def end
+}bind def
+end
+%%EndResource
+Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end
+%%BeginResource: procset Adobe_AGM_Image 1.0 0
+%%Version: 1.0 0
+%%Copyright: Copyright (C) 2000-2003 Adobe Systems, Inc.  All Rights Reserved.
+systemdict /setpacking known
+{
+	currentpacking
+	true setpacking
+} if
+userdict /Adobe_AGM_Image 75 dict dup begin put
+/Adobe_AGM_Image_Id /Adobe_AGM_Image_1.0_0 def
+/nd{
+	null def
+}bind def
+/AGMIMG_&image nd
+/AGMIMG_&colorimage nd
+/AGMIMG_&imagemask nd
+/AGMIMG_mbuf () def
+/AGMIMG_ybuf () def
+/AGMIMG_kbuf () def
+/AGMIMG_c 0 def
+/AGMIMG_m 0 def
+/AGMIMG_y 0 def
+/AGMIMG_k 0 def
+/AGMIMG_tmp nd
+/AGMIMG_imagestring0 nd
+/AGMIMG_imagestring1 nd
+/AGMIMG_imagestring2 nd
+/AGMIMG_imagestring3 nd
+/AGMIMG_imagestring4 nd
+/AGMIMG_imagestring5 nd
+/AGMIMG_cnt nd
+/AGMIMG_fsave nd
+/AGMIMG_colorAry nd
+/AGMIMG_override nd
+/AGMIMG_name nd
+/AGMIMG_maskSource nd
+/AGMIMG_flushfilters nd
+/invert_image_samples nd
+/knockout_image_samples	nd
+/img nd
+/sepimg nd
+/devnimg nd
+/idximg nd
+/doc_setup
+{ 
+	Adobe_AGM_Core begin
+	Adobe_AGM_Image begin
+	/AGMIMG_&image systemdict/image get def
+	/AGMIMG_&imagemask systemdict/imagemask get def
+	/colorimage where{
+		pop
+		/AGMIMG_&colorimage /colorimage ldf
+	}if
+	end
+	end
+}def
+/page_setup
+{
+	Adobe_AGM_Image begin
+	/AGMIMG_ccimage_exists {/customcolorimage where 
+		{
+			pop
+			/Adobe_AGM_OnHost_Seps where
+			{
+			pop false
+			}{
+			/Adobe_AGM_InRip_Seps where
+				{
+				pop false
+				}{
+					true
+				 }ifelse
+			 }ifelse
+			}{
+			false
+		}ifelse 
+	}bdf
+	level2{
+		/invert_image_samples
+		{
+			Adobe_AGM_Image/AGMIMG_tmp Decode length ddf
+			/Decode [ Decode 1 get Decode 0 get] def
+		}def
+		/knockout_image_samples
+		{
+			Operator/imagemask ne{
+				/Decode [1 1] def
+			}if
+		}def
+	}{	
+		/invert_image_samples
+		{
+			{1 exch sub} currenttransfer addprocs settransfer
+		}def
+		/knockout_image_samples
+		{
+			{ pop 1 } currenttransfer addprocs settransfer
+		}def
+	}ifelse
+	/img /imageormask ldf
+	/sepimg /sep_imageormask ldf
+	/devnimg /devn_imageormask ldf
+	/idximg /indexed_imageormask ldf
+	/_ctype 7 def
+	currentdict{
+		dup xcheck 1 index type dup /arraytype eq exch /packedarraytype eq or and{
+			bind
+		}if
+		def
+	}forall
+}def
+/page_trailer
+{
+	end
+}def
+/doc_trailer
+{
+}def
+/AGMIMG_flushfilters
+{
+	dup type /arraytype ne
+		{1 array astore}if
+	aload length
+		{
+		dup type /filetype eq
+			{
+			dup status 1 index currentfile ne and
+				{dup flushfile closefile}
+				{pop}
+			ifelse
+			}{pop}ifelse
+		} repeat
+}def
+/imageormask_sys
+{
+	begin
+		save mark
+		level2{
+			currentdict
+			Operator /imagemask eq{
+				AGMIMG_&imagemask
+			}{
+				use_mask {
+					level3 {process_mask_L3 AGMIMG_&image}{masked_image_simulation}ifelse
+				}{
+					AGMIMG_&image
+				}ifelse
+			}ifelse
+		}{
+			Width Height
+			Operator /imagemask eq{
+				Decode 0 get 1 eq Decode 1 get 0 eq	and
+				ImageMatrix /DataSource load
+				AGMIMG_&imagemask
+			}{
+				BitsPerComponent ImageMatrix /DataSource load
+				AGMIMG_&image
+			}ifelse
+		}ifelse
+		currentdict /_Filters known {_Filters AGMIMG_flushfilters} if
+		cleartomark restore
+	end
+}def
+/overprint_plate
+{
+	currentoverprint {
+		0 get dup type /nametype eq {
+			dup /DeviceGray eq{
+				pop AGMCORE_black_plate not
+			}{
+				/DeviceCMYK eq{
+					AGMCORE_is_cmyk_sep not
+				}if
+			}ifelse
+		}{
+			false exch
+			{
+				 AGMOHS_sepink eq or
+			} forall
+			not
+		} ifelse
+	}{
+		pop false
+	}ifelse
+}def
+/process_mask_L3
+{
+	dup begin
+	/ImageType 1 def
+	end
+	4 dict begin
+		/DataDict exch def
+		/ImageType 3 def
+		/InterleaveType 3 def
+		/MaskDict 9 dict begin
+			/ImageType 1 def
+			/Width DataDict dup /MaskWidth known {/MaskWidth}{/Width} ifelse get def
+			/Height DataDict dup /MaskHeight known {/MaskHeight}{/Height} ifelse get def
+			/ImageMatrix [Width 0 0 Height neg 0 Height] def
+			/NComponents 1 def
+			/BitsPerComponent 1 def
+			/Decode [0 1] def
+			/DataSource AGMIMG_maskSource def
+		currentdict end def
+	currentdict end
+}def
+/use_mask
+{
+	dup type /dicttype eq
+	{
+		dup /Mask known	{
+			dup /Mask get {
+				level3
+				{true}
+				{
+					dup /MaskWidth known {dup /MaskWidth get 1 index /Width get eq}{true}ifelse exch
+					dup /MaskHeight known {dup /MaskHeight get 1 index /Height get eq}{true}ifelse
+					3 -1 roll and
+				} ifelse
+			}
+			{false} ifelse
+		}
+		{false} ifelse
+	}
+	{false} ifelse
+}def
+/make_line_source
+{
+	begin
+	MultipleDataSources {
+		[
+		Decode length 2 div cvi {Width string} repeat
+		]
+	}{
+		Width Decode length 2 div mul cvi string
+	}ifelse
+	end
+}def
+/datasource_to_str
+{
+	exch dup type
+	dup /filetype eq {
+		pop exch readstring
+	}{
+		/arraytype eq {
+			exec exch copy
+		}{
+			pop
+		}ifelse
+	}ifelse
+	pop
+}def
+/masked_image_simulation
+{
+	3 dict begin
+	dup make_line_source /line_source xdf
+	/mask_source AGMIMG_maskSource /LZWDecode filter def
+	dup /Width get 8 div ceiling cvi string /mask_str xdf
+	begin
+	gsave
+	0 1 translate 1 -1 Height div scale
+	1 1 Height {
+		pop
+		gsave
+		MultipleDataSources {
+			0 1 DataSource length 1 sub {
+				dup DataSource exch get
+				exch line_source exch get
+				datasource_to_str
+			} for
+		}{
+			DataSource line_source datasource_to_str
+		} ifelse
+		<<
+			/PatternType 1
+			/PaintProc [
+				/pop cvx
+				<<
+					/ImageType 1
+					/Width Width
+					/Height 1
+					/ImageMatrix Width 1.0 sub 1 matrix scale 0.5 0 matrix translate matrix concatmatrix
+					/MultipleDataSources MultipleDataSources
+					/DataSource line_source
+					/BitsPerComponent BitsPerComponent
+					/Decode Decode
+				>>
+				/image cvx
+			] cvx
+			/BBox [0 0 Width 1]
+			/XStep Width
+			/YStep 1
+			/PaintType 1
+			/TilingType 2
+		>>
+		matrix makepattern set_pattern
+		<<
+			/ImageType 1
+			/Width Width
+			/Height 1
+			/ImageMatrix Width 1 matrix scale
+			/MultipleDataSources false
+			/DataSource mask_source mask_str readstring pop
+			/BitsPerComponent 1
+			/Decode [0 1]
+		>>
+		imagemask
+		grestore
+		0 1 translate
+	} for
+	grestore
+	end
+	end
+}def
+/imageormask
+{
+	begin
+		SkipImageProc {
+			currentdict consumeimagedata
+		}
+		{
+			save mark
+			level2 AGMCORE_host_sep not and{
+				currentdict
+				Operator /imagemask eq DeviceN_PS2 not and {
+					imagemask
+				}{
+					AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get /DeviceGray eq and{
+						[/Separation /Black /DeviceGray {}] setcolorspace
+						/Decode [ Decode 1 get Decode 0 get ] def
+					}if
+					use_mask {
+						level3 {process_mask_L3 image}{masked_image_simulation}ifelse
+					}{
+						DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and 
+						{
+							Names convert_to_process not {
+								2 dict begin
+								/imageDict xdf
+								/names_index 0 def
+								gsave
+								imageDict write_image_file {
+									Names {
+										dup (None) ne {
+											[/Separation 3 -1 roll /DeviceGray {1 exch sub}] setcolorspace
+											Operator imageDict read_image_file
+											names_index 0 eq {true setoverprint} if
+											/names_index names_index 1 add def
+										}{
+											pop
+										} ifelse
+									} forall
+									close_image_file
+								} if
+								grestore
+								end
+							}{
+								Operator /imagemask eq {
+									imagemask
+								}{
+									image
+								} ifelse
+							} ifelse
+						}{
+							Operator /imagemask eq {
+								imagemask
+							}{
+								image
+							} ifelse
+						} ifelse
+					}ifelse
+				}ifelse
+			}{
+				Width Height
+				Operator /imagemask eq{
+					Decode 0 get 1 eq Decode 1 get 0 eq	and
+					ImageMatrix /DataSource load
+					/Adobe_AGM_OnHost_Seps where {
+						pop imagemask
+					}{
+						currentgray 1 ne{
+							currentdict imageormask_sys
+						}{
+							currentoverprint not{
+								1 AGMCORE_&setgray
+								currentdict imageormask_sys
+							}{
+								currentdict ignoreimagedata
+							}ifelse				 		
+						}ifelse
+					}ifelse
+				}{
+					BitsPerComponent ImageMatrix 
+					MultipleDataSources{
+						0 1 NComponents 1 sub{
+							DataSource exch get
+						}for
+					}{
+						/DataSource load
+					}ifelse
+					Operator /colorimage eq{
+						AGMCORE_host_sep{
+							MultipleDataSources level2 or NComponents 4 eq and{
+								AGMCORE_is_cmyk_sep{
+									MultipleDataSources{
+										/DataSource [
+											DataSource 0 get /exec cvx
+											DataSource 1 get /exec cvx
+											DataSource 2 get /exec cvx
+											DataSource 3 get /exec cvx
+											/AGMCORE_get_ink_data cvx
+										] cvx def
+									}{
+										/DataSource 
+										Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul 
+										/DataSource load
+										filter_cmyk 0 () /SubFileDecode filter def
+									}ifelse
+									/Decode [ Decode 0 get Decode 1 get ] def
+									/MultipleDataSources false def
+									/NComponents 1 def
+									/Operator /image def
+									invert_image_samples
+						 			1 AGMCORE_&setgray
+									currentdict imageormask_sys
+								}{
+									currentoverprint not Operator/imagemask eq and{
+  			 							1 AGMCORE_&setgray
+  			 							currentdict imageormask_sys
+  			 						}{
+  			 							currentdict ignoreimagedata
+  			 						}ifelse
+								}ifelse
+							}{	
+								MultipleDataSources NComponents AGMIMG_&colorimage						
+							}ifelse
+						}{
+							true NComponents colorimage
+						}ifelse
+					}{
+						Operator /image eq{
+							AGMCORE_host_sep{
+								/DoImage true def
+								HostSepColorImage{
+									invert_image_samples
+								}{
+									AGMCORE_black_plate not Operator/imagemask ne and{
+										/DoImage false def
+										currentdict ignoreimagedata
+					 				}if
+								}ifelse
+						 		1 AGMCORE_&setgray
+								DoImage
+									{currentdict imageormask_sys} if
+							}{
+								use_mask {
+									level3 {process_mask_L3 image}{masked_image_simulation}ifelse
+								}{
+									image
+								}ifelse
+							}ifelse
+						}{
+							Operator/knockout eq{
+								pop pop pop pop pop
+								currentcolorspace overprint_plate not{
+									knockout_unitsq
+								}if
+							}if
+						}ifelse
+					}ifelse
+				}ifelse
+			}ifelse
+			cleartomark restore
+		}ifelse
+		currentdict /_Filters known {_Filters AGMIMG_flushfilters} if
+	end
+}def
+/sep_imageormask
+{
+ 	/sep_colorspace_dict AGMCORE_gget begin
+	CSA map_csa
+	begin
+	SkipImageProc {
+		currentdict consumeimagedata
+	}
+	{
+		save mark 
+		AGMCORE_avoid_L2_sep_space{
+			/Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def
+		}if
+ 		AGMIMG_ccimage_exists 
+		MappedCSA 0 get /DeviceCMYK eq and
+		currentdict/Components known and 
+		Name () ne and 
+		Name (All) ne and 
+		Operator /image eq and
+		AGMCORE_producing_seps not and
+		level2 not and
+		{
+			Width Height BitsPerComponent ImageMatrix 
+			[
+			/DataSource load /exec cvx
+			{
+				0 1 2 index length 1 sub{
+					1 index exch
+					2 copy get 255 xor put
+				}for
+			} /exec cvx
+			] cvx bind
+			MappedCSA 0 get /DeviceCMYK eq{
+				Components aload pop
+			}{
+				0 0 0 Components aload pop 1 exch sub
+			}ifelse
+			Name findcmykcustomcolor
+			customcolorimage
+		}{
+			AGMCORE_producing_seps not{
+				level2{
+					AGMCORE_avoid_L2_sep_space not currentcolorspace 0 get /Separation ne and{
+						[/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt
+						/sep_tint AGMCORE_gget setcolor
+					}if
+					currentdict imageormask
+				}{ 
+					currentdict
+					Operator /imagemask eq{
+						imageormask
+					}{
+						sep_imageormask_lev1
+					}ifelse
+				}ifelse
+ 			}{
+				AGMCORE_host_sep{
+					Operator/knockout eq{
+						currentdict/ImageMatrix get concat
+						knockout_unitsq
+					}{
+						currentgray 1 ne{
+ 							AGMCORE_is_cmyk_sep Name (All) ne and{
+ 								level2{
+ 									Name AGMCORE_IsSeparationAProcessColor 
+ 									{
+ 										Operator /imagemask eq{
+ 											/sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor
+ 										}{
+											invert_image_samples
+ 										}ifelse
+	 								}{
+	 									[ /Separation Name [/DeviceGray]
+	 									{ 
+	 										sep_colorspace_proc AGMCORE_get_ink_data
+											1 exch sub
+	 									} bind
+										] AGMCORE_&setcolorspace
+										/sep_tint AGMCORE_gget AGMCORE_&setcolor
+ 									}ifelse
+ 									currentdict imageormask_sys
+	 							}{
+	 								currentdict
+									Operator /imagemask eq{
+										imageormask_sys
+									}{
+										sep_image_lev1_sep
+									}ifelse
+	 							}ifelse
+ 							}{
+ 								Operator/imagemask ne{
+									invert_image_samples
+ 								}if
+		 						currentdict imageormask_sys
+ 							}ifelse
+ 						}{
+ 							currentoverprint not Name (All) eq or Operator/imagemask eq and{
+								currentdict imageormask_sys 
+								}{
+								currentoverprint not
+									{
+ 									gsave 
+ 									knockout_unitsq
+ 									grestore
+									}if
+								currentdict consumeimagedata 
+		 					}ifelse
+ 						}ifelse
+		 			}ifelse
+ 				}{
+					currentcolorspace 0 get /Separation ne{
+						[/Separation Name MappedCSA sep_proc_name exch 0 get exch load ] setcolorspace_opt
+						/sep_tint AGMCORE_gget setcolor
+					}if
+					currentoverprint 
+					MappedCSA 0 get /DeviceCMYK eq and 
+					Name AGMCORE_IsSeparationAProcessColor not and
+					Name inRip_spot_has_ink not and 
+					Name (All) ne and {
+						imageormask_l2_overprint
+					}{
+						currentdict imageormask
+ 					}ifelse
+				}ifelse
+			}ifelse
+		}ifelse
+		cleartomark restore
+	}ifelse
+	currentdict /_Filters known {_Filters AGMIMG_flushfilters} if
+	end
+	end
+}def
+/decode_image_sample
+{
+	4 1 roll exch dup 5 1 roll
+	sub 2 4 -1 roll exp 1 sub div mul add
+} bdf
+/colorSpaceElemCnt
+{
+	mark currentcolor counttomark dup 2 add 1 roll cleartomark
+} bdf
+/devn_sep_datasource
+{
+	1 dict begin
+	/dataSource xdf
+	[
+		0 1 dataSource length 1 sub {
+			dup currentdict /dataSource get /exch cvx /get cvx /exec cvx
+			/exch cvx names_index /ne cvx [ /pop cvx ] cvx /if cvx
+		} for
+	] cvx bind
+	end
+} bdf		
+/devn_alt_datasource
+{
+	11 dict begin
+	/convProc xdf
+	/origcolorSpaceElemCnt xdf
+	/origMultipleDataSources xdf
+	/origBitsPerComponent xdf
+	/origDecode xdf
+	/origDataSource xdf
+	/dsCnt origMultipleDataSources {origDataSource length}{1}ifelse def
+	/DataSource origMultipleDataSources
+		{
+			[
+			BitsPerComponent 8 idiv origDecode length 2 idiv mul string
+			0 1 origDecode length 2 idiv 1 sub
+				{
+				dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch
+				origDataSource exch get 0 () /SubFileDecode filter
+				BitsPerComponent 8 idiv string /readstring cvx /pop cvx /putinterval cvx
+				}for 
+			]bind cvx
+		}{origDataSource}ifelse 0 () /SubFileDecode filter def		
+	[
+		origcolorSpaceElemCnt string
+		0 2 origDecode length 2 sub
+			{
+			dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div
+			1 BitsPerComponent 8 idiv {DataSource /read cvx /not cvx{0}/if cvx /mul cvx}repeat /mul cvx /add cvx
+			}for
+		/convProc load /exec cvx
+		origcolorSpaceElemCnt 1 sub -1 0
+			{
+			/dup cvx 2 /add cvx /index cvx
+			3 1 /roll cvx /exch cvx 255 /mul cvx /cvi cvx /put cvx
+			}for
+	]bind cvx 0 () /SubFileDecode filter
+	end
+} bdf
+/devn_imageormask
+{
+ 	/devicen_colorspace_dict AGMCORE_gget begin
+	CSA map_csa
+	2 dict begin
+	dup
+	/srcDataStrs [ 3 -1 roll begin
+		currentdict /MultipleDataSources known {MultipleDataSources {DataSource length}{1}ifelse}{1} ifelse
+		{
+			Width Decode length 2 div mul cvi
+			{
+				dup 65535 gt {1 add 2 div cvi}{exit}ifelse
+			} loop
+			string
+		} repeat
+		end ] def
+	/dstDataStr srcDataStrs 0 get length string def
+	begin
+	SkipImageProc {
+		currentdict consumeimagedata
+	}
+	{
+		save mark 
+		AGMCORE_producing_seps not {
+			level3 not {
+				Operator /imagemask ne {
+					/DataSource [ [
+						DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse
+						colorSpaceElemCnt /devicen_colorspace_dict AGMCORE_gget /TintTransform get 
+						devn_alt_datasource 1 /string cvx /readstring cvx /pop cvx] cvx colorSpaceElemCnt 1 sub{dup}repeat] def				
+					/MultipleDataSources true def
+					/Decode colorSpaceElemCnt [ exch {0 1} repeat ] def
+				} if
+			}if
+			currentdict imageormask
+ 		}{
+			AGMCORE_host_sep{
+				Names convert_to_process {
+					CSA get_csa_by_name 0 get /DeviceCMYK eq {
+						/DataSource
+							Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul 
+							DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse
+							4 /devicen_colorspace_dict AGMCORE_gget /TintTransform get 
+							devn_alt_datasource
+						filter_cmyk 0 () /SubFileDecode filter def
+						/MultipleDataSources false def
+						/Decode [1 0] def
+						/DeviceGray setcolorspace
+			 			currentdict imageormask_sys
+ 					}{
+						AGMCORE_report_unsupported_color_space
+						AGMCORE_black_plate {
+							/DataSource
+								DataSource Decode BitsPerComponent currentdict /MultipleDataSources known {MultipleDataSources}{false} ifelse
+								CSA get_csa_by_name 0 get /DeviceRGB eq{3}{1}ifelse /devicen_colorspace_dict AGMCORE_gget /TintTransform get
+								devn_alt_datasource
+							/MultipleDataSources false def
+							/Decode colorSpaceElemCnt [ exch {0 1} repeat ] def
+				 			currentdict imageormask_sys
+				 		}
+						{
+	 						gsave 
+	 						knockout_unitsq
+	 						grestore
+							currentdict consumeimagedata 
+						} ifelse
+ 					} ifelse
+				}
+				{	
+					/devicen_colorspace_dict AGMCORE_gget /names_index known {
+	 					Operator/imagemask ne{
+	 						MultipleDataSources {
+		 						/DataSource [ DataSource devn_sep_datasource /exec cvx ] cvx def
+								/MultipleDataSources false def
+	 						}{
+								/DataSource /DataSource load dstDataStr srcDataStrs 0 get filter_devn def
+	 						} ifelse
+							invert_image_samples
+	 					} if
+			 			currentdict imageormask_sys
+	 				}{
+	 					currentoverprint not Operator/imagemask eq and{
+							currentdict imageormask_sys 
+							}{
+							currentoverprint not
+								{
+	 							gsave 
+	 							knockout_unitsq
+	 							grestore
+								}if
+							currentdict consumeimagedata 
+			 			}ifelse
+	 				}ifelse
+	 			}ifelse
+ 			}{
+				currentdict imageormask
+			}ifelse
+		}ifelse
+		cleartomark restore
+	}ifelse
+	currentdict /_Filters known {_Filters AGMIMG_flushfilters} if
+	end
+	end
+	end
+}def
+/imageormask_l2_overprint
+{
+	currentdict
+	currentcmykcolor add add add 0 eq{
+		currentdict consumeimagedata
+	}{
+		level3{ 			
+			currentcmykcolor 
+			/AGMIMG_k xdf 
+			/AGMIMG_y xdf 
+			/AGMIMG_m xdf 
+			/AGMIMG_c xdf
+			Operator/imagemask eq{
+				[/DeviceN [
+				AGMIMG_c 0 ne {/Cyan} if
+				AGMIMG_m 0 ne {/Magenta} if
+				AGMIMG_y 0 ne {/Yellow} if
+				AGMIMG_k 0 ne {/Black} if
+				] /DeviceCMYK {}] setcolorspace
+				AGMIMG_c 0 ne {AGMIMG_c} if
+				AGMIMG_m 0 ne {AGMIMG_m} if
+				AGMIMG_y 0 ne {AGMIMG_y} if
+				AGMIMG_k 0 ne {AGMIMG_k} if
+				setcolor			
+			}{	
+				/Decode [ Decode 0 get 255 mul Decode 1 get 255 mul ] def
+				[/Indexed 				
+					[
+						/DeviceN [
+							AGMIMG_c 0 ne {/Cyan} if
+							AGMIMG_m 0 ne {/Magenta} if
+							AGMIMG_y 0 ne {/Yellow} if
+							AGMIMG_k 0 ne {/Black} if
+						] 
+						/DeviceCMYK {
+							AGMIMG_k 0 eq {0} if
+							AGMIMG_y 0 eq {0 exch} if
+							AGMIMG_m 0 eq {0 3 1 roll} if
+							AGMIMG_c 0 eq {0 4 1 roll} if						
+						}
+					]
+					255
+					{
+						255 div 
+						mark exch
+						dup	dup dup
+						AGMIMG_k 0 ne{
+							/sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop		
+							counttomark 1 roll
+						}{
+							pop
+						}ifelse
+						AGMIMG_y 0 ne{
+							/sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop		
+							counttomark 1 roll
+						}{
+							pop
+						}ifelse
+						AGMIMG_m 0 ne{
+							/sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop		
+							counttomark 1 roll
+						}{
+							pop
+						}ifelse
+						AGMIMG_c 0 ne{
+							/sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop		
+							counttomark 1 roll
+						}{
+							pop
+						}ifelse
+						counttomark 1 add -1 roll pop
+					}
+				] setcolorspace
+			}ifelse
+			imageormask_sys
+		}{
+	write_image_file{
+		currentcmykcolor
+		0 ne{
+			[/Separation /Black /DeviceGray {}] setcolorspace
+			gsave
+			/Black
+			[{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 1 roll pop pop pop 1 exch sub} /exec cvx]
+			cvx modify_halftone_xfer
+			Operator currentdict read_image_file
+			grestore
+		}if
+		0 ne{
+			[/Separation /Yellow /DeviceGray {}] setcolorspace
+			gsave
+			/Yellow
+			[{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 2 roll pop pop pop 1 exch sub} /exec cvx]
+			cvx modify_halftone_xfer
+			Operator currentdict read_image_file
+			grestore
+		}if
+		0 ne{
+			[/Separation /Magenta /DeviceGray {}] setcolorspace
+			gsave
+			/Magenta
+			[{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {4 3 roll pop pop pop 1 exch sub} /exec cvx]
+			cvx modify_halftone_xfer
+			Operator currentdict read_image_file
+			grestore
+		}if
+		0 ne{
+			[/Separation /Cyan /DeviceGray {}] setcolorspace
+			gsave
+			/Cyan 
+			[{1 exch sub /sep_tint AGMCORE_gget mul} /exec cvx MappedCSA sep_proc_name cvx exch pop {pop pop pop 1 exch sub} /exec cvx]
+			cvx modify_halftone_xfer
+			Operator currentdict read_image_file
+			grestore
+		} if
+				close_image_file
+			}{
+				imageormask
+			}ifelse
+		}ifelse
+	}ifelse
+} def
+/indexed_imageormask
+{
+	begin
+		save mark 
+ 		currentdict
+ 		AGMCORE_host_sep{
+			Operator/knockout eq{
+				/indexed_colorspace_dict AGMCORE_gget dup /CSA known {
+					/CSA get get_csa_by_name
+				}{
+					/Names get
+				} ifelse
+				overprint_plate not{
+					knockout_unitsq
+				}if
+			}{
+				Indexed_DeviceN {
+					/devicen_colorspace_dict AGMCORE_gget /names_index known {
+			 			indexed_image_lev2_sep
+					}{
+						currentoverprint not{
+							knockout_unitsq
+			 			}if
+			 			currentdict consumeimagedata
+					} ifelse
+				}{
+		 			AGMCORE_is_cmyk_sep{
+						Operator /imagemask eq{
+							imageormask_sys
+						}{
+							level2{
+								indexed_image_lev2_sep
+							}{
+								indexed_image_lev1_sep
+							}ifelse
+						}ifelse
+					}{
+						currentoverprint not{
+							knockout_unitsq
+			 			}if
+			 			currentdict consumeimagedata
+					}ifelse
+				}ifelse
+			}ifelse
+ 		}{
+			level2{
+				Indexed_DeviceN {
+					/indexed_colorspace_dict AGMCORE_gget begin
+				}{
+					/indexed_colorspace_dict AGMCORE_gget begin
+					CSA get_csa_by_name 0 get /DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and {
+						[/Indexed [/DeviceN [/Cyan /Magenta /Yellow /Black] /DeviceCMYK {}] HiVal Lookup]
+						setcolorspace
+					} if
+					end
+				} ifelse
+				imageormask
+				Indexed_DeviceN {
+					end
+				} if
+			}{ 
+				Operator /imagemask eq{
+					imageormask
+				}{
+					indexed_imageormask_lev1
+				}ifelse
+			}ifelse
+ 		}ifelse
+		cleartomark restore
+	currentdict /_Filters known {_Filters AGMIMG_flushfilters} if
+	end
+}def
+/indexed_image_lev2_sep
+{
+	/indexed_colorspace_dict AGMCORE_gget begin
+	begin
+		Indexed_DeviceN not {
+			currentcolorspace 
+			dup 1 /DeviceGray put
+			dup 3
+			currentcolorspace 2 get 1 add string
+			0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub
+			{
+			dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put
+			}for 
+			put	setcolorspace
+		} if
+		currentdict 
+		Operator /imagemask eq{
+			AGMIMG_&imagemask
+		}{
+			use_mask {
+				level3 {process_mask_L3 AGMIMG_&image}{masked_image_simulation}ifelse
+			}{
+				AGMIMG_&image
+			}ifelse
+		}ifelse
+	end end
+}def
+  /OPIimage
+  {
+  	dup type /dicttype ne{
+  		10 dict begin
+  			/DataSource xdf
+  			/ImageMatrix xdf
+  			/BitsPerComponent xdf
+  			/Height xdf
+  			/Width xdf
+  			/ImageType 1 def
+  			/Decode [0 1 def]
+  			currentdict
+  		end
+  	}if
+  	dup begin
+  		/NComponents 1 cdndf
+  		/MultipleDataSources false cdndf
+  		/SkipImageProc {false} cdndf
+  		/HostSepColorImage false cdndf
+  		/Decode [
+  				0 
+  				currentcolorspace 0 get /Indexed eq{
+  					2 BitsPerComponent exp 1 sub
+  				}{
+  					1
+  				}ifelse
+  		] cdndf
+  		/Operator /image cdndf
+  	end
+  	/sep_colorspace_dict AGMCORE_gget null eq{
+  		imageormask
+  	}{
+  		gsave
+  		dup begin invert_image_samples end
+  		sep_imageormask
+  		grestore
+  	}ifelse
+  }def
+/cachemask_level2
+{
+	3 dict begin
+	/LZWEncode filter /WriteFilter xdf
+	/readBuffer 256 string def
+	/ReadFilter
+		currentfile
+		0 (%EndMask) /SubFileDecode filter
+		/ASCII85Decode filter
+		/RunLengthDecode filter
+	def
+	{
+		ReadFilter readBuffer readstring exch
+		WriteFilter exch writestring
+		not {exit} if
+	}loop
+	WriteFilter closefile
+	end
+}def
+/cachemask_level3
+{
+	currentfile
+	<<
+		/Filter [ /SubFileDecode /ASCII85Decode /RunLengthDecode ]
+		/DecodeParms [ << /EODCount 0 /EODString (%EndMask) >> null null ]
+		/Intent 1
+	>>
+	/ReusableStreamDecode filter
+}def
+/spot_alias
+{
+	/mapto_sep_imageormask 
+	{
+		dup type /dicttype ne{
+			12 dict begin
+				/ImageType 1 def
+				/DataSource xdf
+				/ImageMatrix xdf
+				/BitsPerComponent xdf
+				/Height xdf
+				/Width xdf
+				/MultipleDataSources false def
+		}{
+			begin
+		}ifelse
+				/Decode [/customcolor_tint AGMCORE_gget 0] def
+				/Operator /image def
+				/HostSepColorImage false def
+				/SkipImageProc {false} def
+				currentdict 
+			end
+		sep_imageormask
+	}bdf
+	/customcolorimage
+	{
+		Adobe_AGM_Image/AGMIMG_colorAry xddf
+		/customcolor_tint AGMCORE_gget
+		<<
+			/Name AGMIMG_colorAry 4 get
+			/CSA [ /DeviceCMYK ] 
+			/TintMethod /Subtractive
+			/TintProc null
+			/MappedCSA null
+			/NComponents 4 
+			/Components [ AGMIMG_colorAry aload pop pop ] 
+		>>
+		setsepcolorspace
+		mapto_sep_imageormask
+	}ndf
+	Adobe_AGM_Image/AGMIMG_&customcolorimage /customcolorimage load put
+	/customcolorimage
+	{
+		Adobe_AGM_Image/AGMIMG_override false put
+		current_spot_alias{dup 4 get map_alias}{false}ifelse
+		{
+			false set_spot_alias
+			/customcolor_tint AGMCORE_gget exch setsepcolorspace
+			pop
+			mapto_sep_imageormask
+			true set_spot_alias
+		}{
+			AGMIMG_&customcolorimage
+		}ifelse			
+	}bdf
+}def
+/snap_to_device
+{
+	6 dict begin
+	matrix currentmatrix
+	dup 0 get 0 eq 1 index 3 get 0 eq and
+	1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop
+	{
+		1 1 dtransform 0 gt exch 0 gt /AGMIMG_xSign? exch def /AGMIMG_ySign? exch def
+		0 0 transform
+		AGMIMG_ySign? {floor 0.1 sub}{ceiling 0.1 add} ifelse exch
+		AGMIMG_xSign? {floor 0.1 sub}{ceiling 0.1 add} ifelse exch
+		itransform /AGMIMG_llY exch def /AGMIMG_llX exch def
+		1 1 transform
+		AGMIMG_ySign? {ceiling 0.1 add}{floor 0.1 sub} ifelse exch
+		AGMIMG_xSign? {ceiling 0.1 add}{floor 0.1 sub} ifelse exch
+		itransform /AGMIMG_urY exch def /AGMIMG_urX exch def			
+		[AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub  AGMIMG_llX AGMIMG_llY] concat
+	}{
+	}ifelse
+	end
+} def
+level2 not{
+	/colorbuf
+	{
+		0 1 2 index length 1 sub{
+			dup 2 index exch get 
+			255 exch sub 
+			2 index 
+			3 1 roll 
+			put
+		}for
+	}def
+	/tint_image_to_color
+	{
+		begin
+			Width Height BitsPerComponent ImageMatrix 
+			/DataSource load
+		end
+		Adobe_AGM_Image begin
+			/AGMIMG_mbuf 0 string def
+			/AGMIMG_ybuf 0 string def
+			/AGMIMG_kbuf 0 string def
+			{
+				colorbuf dup length AGMIMG_mbuf length ne
+					{
+					dup length dup dup
+					/AGMIMG_mbuf exch string def
+					/AGMIMG_ybuf exch string def
+					/AGMIMG_kbuf exch string def
+					} if
+				dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop
+			}
+			addprocs
+			{AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf} true 4 colorimage	
+		end
+	} def			
+	/sep_imageormask_lev1
+	{
+		begin
+			MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{
+				{
+					255 mul round cvi GrayLookup exch get
+				} currenttransfer addprocs settransfer
+				currentdict imageormask
+			}{
+				/sep_colorspace_dict AGMCORE_gget/Components known{
+					MappedCSA 0 get /DeviceCMYK eq{
+						Components aload pop
+					}{
+						0 0 0 Components aload pop 1 exch sub
+					}ifelse
+					Adobe_AGM_Image/AGMIMG_k xddf 
+					Adobe_AGM_Image/AGMIMG_y xddf 
+					Adobe_AGM_Image/AGMIMG_m xddf 
+					Adobe_AGM_Image/AGMIMG_c xddf 
+					AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{
+						{AGMIMG_k mul 1 exch sub} currenttransfer addprocs settransfer
+						currentdict imageormask
+					}{ 
+						currentcolortransfer
+						{AGMIMG_k mul 1 exch sub} exch addprocs 4 1 roll
+						{AGMIMG_y mul 1 exch sub} exch addprocs 4 1 roll
+						{AGMIMG_m mul 1 exch sub} exch addprocs 4 1 roll
+						{AGMIMG_c mul 1 exch sub} exch addprocs 4 1 roll
+						setcolortransfer
+						currentdict tint_image_to_color
+					}ifelse
+				}{
+					MappedCSA 0 get /DeviceGray eq {
+						{255 mul round cvi ColorLookup exch get 0 get} currenttransfer addprocs settransfer
+						currentdict imageormask
+					}{
+						MappedCSA 0 get /DeviceCMYK eq {
+							currentcolortransfer
+							{255 mul round cvi ColorLookup exch get 3 get 1 exch sub} exch addprocs 4 1 roll
+							{255 mul round cvi ColorLookup exch get 2 get 1 exch sub} exch addprocs 4 1 roll
+							{255 mul round cvi ColorLookup exch get 1 get 1 exch sub} exch addprocs 4 1 roll
+							{255 mul round cvi ColorLookup exch get 0 get 1 exch sub} exch addprocs 4 1 roll
+							setcolortransfer 
+							currentdict tint_image_to_color
+						}{ 
+							currentcolortransfer
+							{pop 1} exch addprocs 4 1 roll
+							{255 mul round cvi ColorLookup exch get 2 get} exch addprocs 4 1 roll
+							{255 mul round cvi ColorLookup exch get 1 get} exch addprocs 4 1 roll
+							{255 mul round cvi ColorLookup exch get 0 get} exch addprocs 4 1 roll
+							setcolortransfer 
+							currentdict tint_image_to_color
+						}ifelse
+					}ifelse
+				}ifelse
+			}ifelse
+		end
+	}def
+	/sep_image_lev1_sep
+	{
+		begin
+			/sep_colorspace_dict AGMCORE_gget/Components known{
+				Components aload pop
+				Adobe_AGM_Image/AGMIMG_k xddf 
+				Adobe_AGM_Image/AGMIMG_y xddf 
+				Adobe_AGM_Image/AGMIMG_m xddf 
+				Adobe_AGM_Image/AGMIMG_c xddf 
+				{AGMIMG_c mul 1 exch sub}
+				{AGMIMG_m mul 1 exch sub}
+				{AGMIMG_y mul 1 exch sub}
+				{AGMIMG_k mul 1 exch sub}
+			}{ 
+				{255 mul round cvi ColorLookup exch get 0 get 1 exch sub}
+				{255 mul round cvi ColorLookup exch get 1 get 1 exch sub}
+				{255 mul round cvi ColorLookup exch get 2 get 1 exch sub}
+				{255 mul round cvi ColorLookup exch get 3 get 1 exch sub}
+			}ifelse
+			AGMCORE_get_ink_data currenttransfer addprocs settransfer
+			currentdict imageormask_sys
+		end
+	}def
+	/indexed_imageormask_lev1
+	{
+		/indexed_colorspace_dict AGMCORE_gget begin
+		begin
+			currentdict
+			MappedCSA 0 get dup /DeviceRGB eq exch /DeviceCMYK eq or has_color not and{
+				{HiVal mul round cvi GrayLookup exch get HiVal div} currenttransfer addprocs settransfer
+				imageormask
+			}{
+				MappedCSA 0 get /DeviceGray eq {
+					{HiVal mul round cvi Lookup exch get HiVal div} currenttransfer addprocs settransfer
+					imageormask
+				}{
+					MappedCSA 0 get /DeviceCMYK eq {
+						currentcolortransfer
+						{4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll
+						{4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll
+						{4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll
+						{4 mul HiVal mul round cvi		 Lookup exch get HiVal div 1 exch sub} exch addprocs 4 1 roll
+						setcolortransfer 
+						tint_image_to_color
+					}{ 
+						currentcolortransfer
+						{pop 1} exch addprocs 4 1 roll
+						{3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div} exch addprocs 4 1 roll
+						{3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div} exch addprocs 4 1 roll
+						{3 mul HiVal mul round cvi 		Lookup exch get HiVal div} exch addprocs 4 1 roll
+						setcolortransfer 
+						tint_image_to_color
+					}ifelse
+				}ifelse
+			}ifelse
+		end end
+	}def
+	/indexed_image_lev1_sep
+	{
+		/indexed_colorspace_dict AGMCORE_gget begin
+		begin
+			{4 mul HiVal mul round cvi		 Lookup exch get HiVal div 1 exch sub}
+			{4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}
+			{4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}
+			{4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}
+			AGMCORE_get_ink_data currenttransfer addprocs settransfer
+			currentdict imageormask_sys
+		end end
+	}def
+}if
+end
+systemdict /setpacking known
+{
+	setpacking
+} if
+%%EndResource
+currentdict Adobe_AGM_Utils eq {end} if
+%%EndProlog
+%%BeginSetup
+Adobe_AGM_Utils begin
+2 2010 Adobe_AGM_Core/doc_setup get exec
+Adobe_CoolType_Core/doc_setup get exec
+Adobe_AGM_Image/doc_setup get exec
+currentdict Adobe_AGM_Utils eq {end} if
+%%EndSetup
+%%Page: (Page 1) 1
+%%EndPageComments
+%%BeginPageSetup
+/currentdistillerparams where
+{pop currentdistillerparams /CoreDistVersion get 5000 lt} {true} ifelse
+{ userdict /AI11_PDFMark5 /cleartomark load put
+userdict /AI11_ReadMetadata_PDFMark5 {flushfile cleartomark } bind put}
+{ userdict /AI11_PDFMark5 /pdfmark load put
+userdict /AI11_ReadMetadata_PDFMark5 {/PUT pdfmark} bind put } ifelse
+[/NamespacePush AI11_PDFMark5
+[/_objdef {ai_metadata_stream_123} /type /stream /OBJ AI11_PDFMark5
+[{ai_metadata_stream_123}
+currentfile 0 (%  &&end XMP packet marker&&)
+/SubFileDecode filter AI11_ReadMetadata_PDFMark5
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
 <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="3.1.1-111">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
       <rdf:Description rdf:about=""
@@ -61,4 +7382,512 @@
                                                                                                     
                                                                                                     
                            
-<?xpacket end="w"?>
%  &&end XMP packet marker&&
[{ai_metadata_stream_123}
<</Type /Metadata /Subtype /XML>>
/PUT AI11_PDFMark5
[/Document
1 dict begin /Metadata {ai_metadata_stream_123} def
currentdict end /BDC AI11_PDFMark5
%AI12_RMC_Transparency: Balance=75 RasterRes=300 GradRes=150 Text=0 Stroke=1 Clip=1 OP=0
Adobe_AGM_Utils begin
Adobe_AGM_Core/page_setup get exec
Adobe_AGM_Core/capture_currentpagedevice get exec
Adobe_CoolType_Core/page_setup get exec
Adobe_AGM_Image/page_setup get exec
%%EndPageSetup
Adobe_AGM_Core/AGMCORE_save save ddf
1 -1 scale 0 -346.999 translate
[1 0 0 1 0 0 ]  concat
% page clip
gsave
newpath
gsave % PSGState
0 0 mo
0 346.999 li
1190.59 346.999 li
1190.59 0 li
cp
clp
[1 0 0 1 0 0 ] concat
117.664 249.537 mo
115.487 248.393 95.3335 232.718 94.9785 232.733 cv
92.7925 232.826 86.3252 242.936 84.0562 245.336 cv
78.8462 250.847 73.7607 253.542 72.2935 257.938 cv
91.8438 277.571 121.828 294.962 159.673 294.907 cv
197.007 294.853 227.463 277.275 246.213 257.099 cv
237.566 249.501 231.385 239.439 222.688 231.893 cv
200.563 260.887 152.141 267.663 117.664 249.537 cv
cp
1072.96 183.161 mo
1069.04 134.177 972.732 145.522 967.938 187.362 cv
979.21 187.853 989.543 189.282 1000.71 189.884 cv
1004.07 167.746 1052.97 172.605 1036.83 200.806 cv
1011.5 208.045 988.711 200.9 968.777 214.249 cv
949.42 227.211 949.312 262.449 965.417 276.423 cv
983.789 292.364 1015.44 281.098 1026.75 268.861 cv
1027.02 273.635 1028.37 277.329 1029.27 281.464 cv
1040.19 281.464 1051.12 281.464 1062.04 281.464 cv
1052 247.624 1075.64 216.563 1072.96 183.161 cv
cp
834.347 188.202 mo
831.496 215.83 855.318 223.207 874.676 230.212 cv
883.944 233.566 899.216 236.272 900.722 243.655 cv
904.187 260.636 872.965 264.786 859.553 256.258 cv
853.511 252.416 853.258 246.31 846.949 241.135 cv
836.673 242.9 826.02 244.29 815.862 246.176 cv
824.822 299.207 931.887 296.894 936.01 243.655 cv
937.918 219.014 917.988 209.959 897.361 203.326 cv
887.05 200.011 867.627 198.185 867.114 187.362 cv
866.465 173.664 890.315 171.611 903.242 178.12 cv
909.547 181.295 910.76 187.353 915.005 189.884 cv
924.697 188.093 934.158 186.071 944.412 184.842 cv
937.529 135.568 839.043 142.686 834.347 188.202 cv
cp
163.875 107.544 mo
129.846 105.777 105.619 128.293 94.9785 157.116 cv
91.042 156.572 84.918 158.214 82.376 156.275 cv
81.9595 139.498 83.0938 128.673 83.2158 113.426 cv
71.8979 120.709 60.8799 131.561 50.4487 141.992 cv
39.7305 152.71 28.3745 163.109 18.5215 173.919 cv
41.0952 192.759 61.1343 218.305 83.2158 234.413 cv
83.1875 218.077 81.9224 206.733 82.376 189.043 cv
86.8569 189.043 91.3379 189.043 95.8188 189.043 cv
105.267 220.015 129.191 243.992 169.756 239.454 cv
199.332 236.146 216.002 214.026 225.208 189.043 cv
229.044 189.408 234.459 188.193 236.971 189.884 cv
237.443 207.288 236.043 218.351 236.131 234.413 cv
256.226 216.419 278.91 193.734 298.305 172.239 cv
277.22 152.715 257.723 131.603 236.131 112.585 cv
235.604 128.013 238.531 141.457 236.131 157.116 cv
232.21 157.116 228.289 157.116 224.368 157.116 cv
215.628 130.532 195.157 109.169 163.875 107.544 cv
cp
1170.42 132.75 mo
1174.93 92.6963 1103.86 97.0156 1103.21 131.91 cv
1110.07 133.73 1118.88 133.607 1125.89 135.271 cv
1123.64 121.726 1145.51 115.46 1147.74 127.709 cv
1149.66 138.281 1132.93 147.278 1125.05 153.755 cv
1109.22 166.772 1097.29 175.587 1093.97 194.925 cv
1115.81 194.925 1137.66 194.925 1159.5 194.925 cv
1160.48 188.339 1162.72 183.024 1163.7 176.44 cv
1152.78 176.44 1141.86 176.44 1130.93 176.44 cv
1141.5 162.071 1167.96 154.686 1170.42 132.75 cv
cp
463.823 51.2515 mo
423.245 53.4082 395.704 65.6802 372.242 88.2202 cv
350.11 109.482 333.479 139.475 331.072 173.079 cv
324.933 258.789 383.741 298.306 465.503 293.227 cv
540.949 288.54 566.031 227.583 563.805 141.992 cv
525.437 141.992 487.068 141.992 448.699 141.992 cv
446.654 160.689 443.366 182.566 442.818 199.966 cv
460.743 200.524 480.905 198.847 497.43 200.806 cv
496.612 225.762 478.18 235.873 459.622 237.774 cv
433.265 240.474 412.459 226.915 403.329 208.367 cv
385.779 172.716 406.732 130.137 432.735 116.787 cv
455.405 105.148 488.102 109.767 522.636 109.225 cv
525.261 90.8457 526.691 71.2705 529.357 52.9321 cv
506.556 52.5078 486.571 50.0425 463.823 51.2515 cv
cp
234.45 99.9829 mo
236.877 97.5566 246.327 90.8779 246.213 88.2202 cv
246.105 85.6963 233.958 77.1836 229.409 73.937 cv
210.905 60.7314 186.125 51.1035 157.153 51.2515 cv
136.822 51.3555 119.82 56.355 103.38 64.6948 cv
97.7813 67.5352 72.0601 83.6055 72.2935 89.0601 cv
72.373 90.9224 81.8877 97.8145 84.0562 99.9829 cv
88.9297 104.856 91.4717 107.916 94.9785 111.746 cv
110.656 97.6343 133.008 84.1777 161.354 84.8594 cv
188.472 85.5117 208.859 98.792 223.528 112.585 cv
227.055 107.29 229.595 104.838 234.45 99.9829 cv
cp
650.345 61.334 mo
612.505 80.8486 587.504 112.492 578.929 161.317 cv
565.98 235.039 608.083 288.694 671.35 293.227 cv
726.54 297.18 760.177 276.371 785.615 244.495 cv
804.927 220.299 819.205 187.081 815.862 141.152 cv
814.438 121.573 807.413 102.675 799.059 89.9004 cv
780.93 62.1777 742.297 43.6064 695.715 47.8906 cv
677.252 49.5889 663.646 54.4741 650.345 61.334 cv
cp
0.877441 0 mo
397.437 0 794.029 0 1190.59 0 cv
1190.59 115.667 1190.59 231.33 1190.59 346.999 cv
793.734 346.999 396.897 346.999 0.0371094 346.999 cv
0.0371094 232.173 0.0371094 117.346 0.0371094 2.52051 cv
-0.0351563 1.32813 -0.101563 0.141113 0.877441 0 cv
cp
false sop
/0 
<<
/Name (Black)
/0 
[/DeviceCMYK] /CSA add_res
/CSA /0 get_csa_by_name
/MappedCSA /0 /CSA get_res
/TintMethod /Subtractive
/TintProc null
/NComponents 4 
/Components [ 0 0 0 1 ] 
>>
/CSD add_res
1 /0 /CSD get_res sepcs
0 sep
ef
668.829 113.426 mo
644.736 133.127 630.34 201.173 657.906 227.691 cv
670.881 240.173 698.574 241.237 715.04 232.733 cv
753.499 212.87 764.906 123.76 723.441 105.864 cv
717.717 103.394 706.651 102.24 700.757 102.503 cv
686.892 103.122 676.364 107.264 668.829 113.426 cv
cp
695.715 47.8906 mo
742.297 43.6064 780.93 62.1777 799.059 89.9004 cv
807.413 102.675 814.438 121.573 815.862 141.152 cv
819.205 187.081 804.927 220.299 785.615 244.495 cv
760.177 276.371 726.54 297.18 671.35 293.227 cv
608.083 288.694 565.98 235.039 578.929 161.317 cv
587.504 112.492 612.505 80.8486 650.345 61.334 cv
663.646 54.4741 677.252 49.5889 695.715 47.8906 cv
cp
0.913725 0.807843 0.0470588 0.00392157 cmyk
ef
223.528 112.585 mo
208.859 98.792 188.472 85.5117 161.354 84.8594 cv
133.008 84.1777 110.656 97.6343 94.9785 111.746 cv
91.4717 107.916 88.9297 104.856 84.0562 99.9829 cv
81.8877 97.8145 72.373 90.9224 72.2935 89.0601 cv
72.0601 83.6055 97.7813 67.5352 103.38 64.6948 cv
119.82 56.355 136.822 51.3555 157.153 51.2515 cv
186.125 51.1035 210.905 60.7314 229.409 73.937 cv
233.958 77.1836 246.105 85.6963 246.213 88.2202 cv
246.327 90.8779 236.877 97.5566 234.45 99.9829 cv
229.595 104.838 227.055 107.29 223.528 112.585 cv
cp
ef
529.357 52.9321 mo
526.691 71.2705 525.261 90.8457 522.636 109.225 cv
488.102 109.767 455.405 105.148 432.735 116.787 cv
406.732 130.137 385.779 172.716 403.329 208.367 cv
412.459 226.915 433.265 240.474 459.622 237.774 cv
478.18 235.873 496.612 225.762 497.43 200.806 cv
480.905 198.847 460.743 200.524 442.818 199.966 cv
443.366 182.566 446.654 160.689 448.699 141.992 cv
487.068 141.992 525.437 141.992 563.805 141.992 cv
566.031 227.583 540.949 288.54 465.503 293.227 cv
383.741 298.306 324.933 258.789 331.072 173.079 cv
333.479 139.475 350.11 109.482 372.242 88.2202 cv
395.704 65.6802 423.245 53.4082 463.823 51.2515 cv
486.571 50.0425 506.556 52.5078 529.357 52.9321 cv
cp
ef
700.757 102.503 mo
706.651 102.24 717.717 103.394 723.441 105.864 cv
764.906 123.76 753.499 212.87 715.04 232.733 cv
698.574 241.237 670.881 240.173 657.906 227.691 cv
630.34 201.173 644.736 133.127 668.829 113.426 cv
676.364 107.264 686.892 103.122 700.757 102.503 cv
cp
1 /0 /CSD get_res sepcs
0 sep
ef
1130.93 176.44 mo
1141.86 176.44 1152.78 176.44 1163.7 176.44 cv
1162.72 183.024 1160.48 188.339 1159.5 194.925 cv
1137.66 194.925 1115.81 194.925 1093.97 194.925 cv
1097.29 175.587 1109.22 166.772 1125.05 153.755 cv
1132.93 147.278 1149.66 138.281 1147.74 127.709 cv
1145.51 115.46 1123.64 121.726 1125.89 135.271 cv
1118.88 133.607 1110.07 133.73 1103.21 131.91 cv
1103.86 97.0156 1174.93 92.6963 1170.42 132.75 cv
1167.96 154.686 1141.5 162.071 1130.93 176.44 cv
cp
0.913725 0.807843 0.0470588 0.00392157 cmyk
ef
201.683 144.513 mo
192.101 154.255 182.006 163.484 171.436 172.239 cv
180.612 183.507 191.943 192.621 203.363 201.646 cv
203.363 195.765 203.363 189.884 203.363 184.002 cv
217.927 184.002 232.49 184.002 247.053 184.002 cv
247.053 176.72 247.053 169.438 247.053 162.157 cv
232.769 161.598 216.248 163.275 203.363 161.317 cv
202.349 156.169 205.459 146.898 201.683 144.513 cv
cp
115.143 162.157 mo
100.58 162.157 86.0166 162.157 71.4531 162.157 cv
71.4531 169.438 71.4531 176.72 71.4531 184.002 cv
85.7383 184.561 102.258 182.884 115.143 184.842 cv
115.143 190.443 115.143 196.044 115.143 201.646 cv
126.515 193.133 135.993 182.728 146.23 173.079 cv
135.66 163.765 126.398 153.143 115.143 144.513 cv
115.143 150.394 115.143 156.275 115.143 162.157 cv
cp
224.368 157.116 mo
228.289 157.116 232.21 157.116 236.131 157.116 cv
238.531 141.457 235.604 128.013 236.131 112.585 cv
257.723 131.603 277.22 152.715 298.305 172.239 cv
278.91 193.734 256.226 216.419 236.131 234.413 cv
236.043 218.351 237.443 207.288 236.971 189.884 cv
234.459 188.193 229.044 189.408 225.208 189.043 cv
216.002 214.026 199.332 236.146 169.756 239.454 cv
129.191 243.992 105.267 220.015 95.8188 189.043 cv
91.3379 189.043 86.8569 189.043 82.376 189.043 cv
81.9224 206.733 83.1875 218.077 83.2158 234.413 cv
61.1343 218.305 41.0952 192.759 18.5215 173.919 cv
28.3745 163.109 39.7305 152.71 50.4487 141.992 cv
60.8799 131.561 71.8979 120.709 83.2158 113.426 cv
83.0938 128.673 81.9595 139.498 82.376 156.275 cv
84.918 158.214 91.042 156.572 94.9785 157.116 cv
105.619 128.293 129.846 105.777 163.875 107.544 cv
195.157 109.169 215.628 130.532 224.368 157.116 cv
cp
ef
115.143 144.513 mo
126.398 153.143 135.66 163.765 146.23 173.079 cv
135.993 182.728 126.515 193.133 115.143 201.646 cv
115.143 196.044 115.143 190.443 115.143 184.842 cv
102.258 182.884 85.7383 184.561 71.4531 184.002 cv
71.4531 176.72 71.4531 169.438 71.4531 162.157 cv
86.0166 162.157 100.58 162.157 115.143 162.157 cv
115.143 156.275 115.143 150.394 115.143 144.513 cv
cp
1 /0 /CSD get_res sepcs
0 sep
ef
203.363 161.317 mo
216.248 163.275 232.769 161.598 247.053 162.157 cv
247.053 169.438 247.053 176.72 247.053 184.002 cv
232.49 184.002 217.927 184.002 203.363 184.002 cv
203.363 189.884 203.363 195.765 203.363 201.646 cv
191.943 192.621 180.612 183.507 171.436 172.239 cv
182.006 163.484 192.101 154.255 201.683 144.513 cv
205.459 146.898 202.349 156.169 203.363 161.317 cv
cp
ef
944.412 184.842 mo
934.158 186.071 924.697 188.093 915.005 189.884 cv
910.76 187.353 909.547 181.295 903.242 178.12 cv
890.315 171.611 866.465 173.664 867.114 187.362 cv
867.627 198.185 887.05 200.011 897.361 203.326 cv
917.988 209.959 937.918 219.014 936.01 243.655 cv
931.887 296.894 824.822 299.207 815.862 246.176 cv
826.02 244.29 836.673 242.9 846.949 241.135 cv
853.258 246.31 853.511 252.416 859.553 256.258 cv
872.965 264.786 904.187 260.636 900.722 243.655 cv
899.216 236.272 883.944 233.566 874.676 230.212 cv
855.318 223.207 831.496 215.83 834.347 188.202 cv
839.043 142.686 937.529 135.568 944.412 184.842 cv
cp
0.913725 0.807843 0.0470588 0.00392157 cmyk
ef
985.581 245.336 mo
985.816 249.693 988.654 255.782 993.983 257.938 cv
1015.86 266.791 1033.64 242.015 1031.79 221.811 cv
1016.6 226.935 984.439 224.199 985.581 245.336 cv
cp
1062.04 281.464 mo
1051.12 281.464 1040.19 281.464 1029.27 281.464 cv
1028.37 277.329 1027.02 273.635 1026.75 268.861 cv
1015.44 281.098 983.789 292.364 965.417 276.423 cv
949.312 262.449 949.42 227.211 968.777 214.249 cv
988.711 200.9 1011.5 208.045 1036.83 200.806 cv
1052.97 172.605 1004.07 167.746 1000.71 189.884 cv
989.543 189.282 979.21 187.853 967.938 187.362 cv
972.732 145.522 1069.04 134.177 1072.96 183.161 cv
1075.64 216.563 1052 247.624 1062.04 281.464 cv
cp
ef
1031.79 221.811 mo
1033.64 242.015 1015.86 266.791 993.983 257.938 cv
988.654 255.782 985.816 249.693 985.581 245.336 cv
984.439 224.199 1016.6 226.935 1031.79 221.811 cv
cp
1 /0 /CSD get_res sepcs
0 sep
ef
222.688 231.893 mo
231.385 239.439 237.566 249.501 246.213 257.099 cv
227.463 277.275 197.007 294.853 159.673 294.907 cv
121.828 294.962 91.8438 277.571 72.2935 257.938 cv
73.7607 253.542 78.8462 250.847 84.0562 245.336 cv
86.3252 242.936 92.7925 232.826 94.9785 232.733 cv
95.3335 232.718 115.487 248.393 117.664 249.537 cv
152.141 267.663 200.563 260.887 222.688 231.893 cv
cp
0.913725 0.807843 0.0470588 0.00392157 cmyk
ef
%ADOBeginClientInjection: EndPageContent "AI11EPS"
userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse

%ADOEndClientInjection: EndPageContent "AI11EPS"
% page clip
grestore
grestore % PSGState
Adobe_AGM_Core/AGMCORE_save get restore
%%PageTrailer
[/EMC AI11_PDFMark5
[/NamespacePop AI11_PDFMark5
[
[/CSA [/0 ]]
[/CSD [/0 ]]
] del_res
Adobe_AGM_Image/page_trailer get exec
Adobe_CoolType_Core/page_trailer get exec
Adobe_AGM_Core/page_trailer get exec
currentdict Adobe_AGM_Utils eq {end} if
%%Trailer
Adobe_AGM_Image/doc_trailer get exec
Adobe_CoolType_Core/doc_trailer get exec
Adobe_AGM_Core/doc_trailer get exec
%%EOF
%AI9_PrintingDataEnd

userdict /AI9_read_buffer 256 string put
userdict begin
/ai9_skip_data
{
	mark
	{
		currentfile AI9_read_buffer { readline } stopped
		{
		}
		{
			not
			{
				exit
			} if
			(%AI9_PrivateDataEnd) eq
			{
				exit
			} if
		} ifelse
	} loop
	cleartomark
} def
end
userdict /ai9_skip_data get exec
%AI9_PrivateDataBegin
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: Adobe Illustrator(R) 10.0
%%AI8_CreatorVersion: 12.0.1
%%For: (stephan heller) (heller & partner)
%%Title: (GOsa-logo.eps)
%%CreationDate: 09.02.2009 11:32 Uhr
%AI9_DataStream
%Gb!T<m?/F/Z/r\"hOu/P\3\sDJ6cIZ<V.q`L9PqtM@<AQeQlMe",#hU_ScE[!(2ThqE644X1Nq__2PSZV6us#5Z_SuAS%J2W%7pp
%o&RddDKW?hh7Qkir&d!_S4g0#9PS4(_W at O?:]@m!Y1Xg/e`5.[L6U`PV'OC,7?Q0bA&i`Z8p%^JcgPb at ec+BJ4`>MUoC[.;h*"QZ
%^W]a#S(S8=b``!BQHSqsac#7srb;"8nuDI=>qDK0H@%a.-fm=!S,FI8J(UG*](<Tn^KSmKG?<$NFDe6fh;\-g2l[DZrdD-1K4E,=
%^s)VDs8:@Ah/:!APl[I(l*rA23j\B(FZ!JU?5JGiT)Rj-Cq"2q`:d-9qWg*(5C$6Y)t09 at CcgB)egjFEYt9tFa[L86]3F]g^SIdE
%g\j&;7ekl_gC5*Fd]#o<l"fdgs7FI`?%`0$B)#_/(;Ai+/?qc!e%C$O_'q.Q?`$D$i,7,oRsW/)8gZ";n!i(VEjfmSeX<JX7?V<J
%fKuQ-QRt?7-FD=5WXA&)dh3J)AP8WEG"CN.UA;H8IX2JTbSR>YHM:8?r,+5j,YYZDpPWCOEar>]F;^:p]Gd\^C6d_h]4J>I at C=ag
%N[M$#NppY/eL]H%).pIM&I1\.ag2V-5MP$OH[pLW]VC(M-["/"qY'@Np$>>Xm3d.jBia,ps"',$R68=^^fh'/687?(`ptXI:oV<-
%.Q^IE4"A;/#_(tEC3p3(^>1DZ(9?V2((*.0-<Do$@Cs&7Z!:j3X\Z6SEBX)<r_H\9WqZC&eZs(u&*Im-ERJt,k.OOZrPuP)bLLDp
%O_&ZuVb%>P?8UU%@^_ml:W`a`Ir'R/?@:GT`)<VNo!p=Ill;YDc[Dk%I'o8aXlWi(p$QqEhV,"]8QD(h.SE[)-)o%-3qZuD7iLP]
%j7$Gpk=F\SWVDM"UcL^febM4PStGW"q)N/d;r4'?bEBQ:;r4-A[?#@0r$jolUY]QXJ):<KHmTT[`+Mtf9n&pbO"93GBt,?NF5:.8
%g6ZU71U";45'&!7PE*j%nX8_*.pKP2cDf7Aq+8PJnX25_.GMLaaLTGqV5R;OZhDn6/,.2untraWF0?faTat%@I=10JW^0puhG]F(
%PuM"\f<@k9qf7+4jqUsqqWG2*c5&U-MX0</C/Ij&En0tGUW3?pp\=8>;uTb]Uf+aK\`h2$HZH9:l+B'_f9]D1#AL\/O%c^:]lhkO
%Qg<ZfW>+5pT?9S!nsM=>h<9\c[^R9BSBdekp)*L*nRs01MA4$][gTB<Q+M(7;V-1oDWKSg`32m\-^C<08([`d?Q[G$>,J#sFfr$t
%&Z5+qr:\^EI7@#F[J#pJjj[dIdHtr2j,^m#%!bM7[HsaFl[^%$8[<On%F;*<f?^MXC/8>;H14hIU1k]PVK_l<IH7qFpTOE14[JWa
%O8`-$<Me=GX$5fPYNsog?+5m:7.9cOqKVNsYPVCLN1O9ZBM8B*O-_Nm\pr7#g-*rX;g3Ui^$<#?dT<M'bKochH826YgLgb*:?m\R
%+9"tfb_9<ReP#^JqipK8A'-m`bJG#TrpW^1fEp8OLFjCHdl_]jUj at m&Wp,c?),QGi1P^If4QEiRTY032\Pj%=A8LaIg]!Sp*7Dp9
%"+Qt!Ah(,/Nm[lHDTqc?a%FN7<E>;n>>1sUQTQ[gkhU76^?-)anYRo,g5\$1]ukTXHm3Yb9&oi:1,mS9a[kIqNBn1$nW*(FUtesn
%b3=>(jBSMI*hr9^'eV88Y!lhXB?(:S8m$5jl"qi4p=3q]HV<67j1/Y;G(7uYG0tV*07XcV@^+s$mrIi;5PGcaSR/jE?HMP6N*<&]
%?%eRgets6dVF[>dCDEA_A)[XQdiuirnn>#J<C/2,mS?<j9VCqLeB,Z&aPepF!EoiUU!i3\!fk\0`a+Kf-a_?gZ^PPf7!HtPbW6?8
%QA:V73u&hmW=Pi!Hlf_nV>,k5dOnEEQ`8s!/\TMV=nu3HXk,T%YsinX`4X`iQNgd,3a-[\:[ci*rXa.NZ'M.g7\-RO<Vr!2Q?:\f
%5LS7EOTd3(Y"-aA`HYN\lJWhIHJ!7omLI#*;!Q1XAM/dH^M.FFcectrpT=2R0L_P?lgCiNjsf&13kqC)X+!Z;CKpF7p25",Xn*\K
%V9bs&k2AiT9lTNRo2`KMVp*q3QtoRc*Qq5c$Ue1U.X^EMQKio-D84,`Md7>q<KYs[gB1TZ%+L?<Kdt*lYA*lB/&r2CEhV*%<9'S%
%BiGctFP][<iM1(e1"Ap4JVpiV]A:&rTbhRnIY;g;V:SF[;h`a^![$;k=(>q$hYIG;N<9=Z;)K9!rj.Y3"+MeFD-&[g.YG,LB^F*l
%*p_BIkb1J(]Zj[Yb1t at -9UqGc48WF(8LJYO>AXdi'T-=6F4fVPm\M%L4OlE7TYlEG/uu(["(0ltJjSL"In(cZWuP63[t"EaFQlu4
%fX?%N5B36kI8;M[Fp;)TTbcA(6XtnE[[3VhN-?R<lg5DP;Vr,9C7WgHL46M=E:6`ElcOMU471&U;:rqAd1_A%(OaNXIWaLmV'/W7
%(GTW(i_t]i5o)EP4u77C_IVf'bKX3o at SLDb<g.=mj`Ap(96#UZm<liESOS6!X5thh at 25E;NPn=Jo^Q.ifu8n.o%k=r%V=<_@)6`B
%"itpV?/L*e"j*0kT33DtcrTu+4@;-u(km"eqp7\PDDL[_FH&FYHTPYSDdVAa9FeCD7?VG3n801LK(pXV_`7p'dXT`k^'>QQmQ5 at 8
%frS%8H/Ql$3/8m*43Z=XV[))R33U]crS!<KBoiYr5HeL-Y(o2 at 4TTSZ<]:qle5Bf\Kgqsu:5R1X8q$>HD:$>Mj/=4 at XQICV,PU'I
%bP.Z"a-Y)R?FPuI4qiYUC\&I0LA+p;Vu<",1JFdqJ<?bYB\e"FQ(mo?"M%VRM*/(rIA$2'.'c41l<i`+N\!P=Ma#kgGH6WsDsC7S
%HMs;,pEG6<Q5f1s?M%+8mjq6$,/(oA#J5n3s'<+4G6c\Sm4<<$Kf1;XIFKk"gqZZgRl"]4;86U(N;f#%N!8tSV59L_A*Ci&R2\Qa
%>-S6)jh8[`:CcjeG!9WlEK'.bGDBqJn*[;8P.>_g'sQ983fVV]1$i!p,.2. at q@uGP<]tg_!3U*+e:"rtG5j\$4qE%q5gl6.[2=lZ
%@D2rWWT:ok^!ACD%!)-G@`!p\bUcKU1[R)HHf*jOqR6%u\_dd,hUCZ)gWOKtmCGA[]j/$6GAWVfF]XIOWS\^+CKe<-C"r8`EsLn"
%HYjd(b4OB$e>W!"jm%^N1]$NeIEUZXSNjH+[p:Z=2gVZS06c83qn%h/6-8eTDqCXgXEZ!IqH!%6+5SU<E9e%hp"ec\l?YU>3k8F$
%2Tb\tT$lF?D_M.AbkL!?:FDKug"if6%Gm\i^K^&onSGK+k2]Y5B)@Y2Me06+g9J,o9ia3rAhj=1\%9C at s6"8Yg])<+^:IO#iq;;P
%F*9h<n/Uo[4T*n[0=H):O3..^os1(PrMKC%0jAN2X'N%oRd0D!Il,nU^GL-ns)QR_Qa8:)-oWl>>iJaog8qHDc2?$8oPcuu/f-J$
%g#h=(*om/orV\(c^*gGYmQZ.,mmLQa[jsm73;]2W*=1ZrhQ:tuhnY27mJd+<?7_CD^X9UKJ%<6t0,M7T*oqqhI=DlZjR[ZuXDS^A
%);R:5Npc82ferY6p-AJ#b;&l(O**2obr**+2PR='r3+=Fb at TU@](Y3&Fd;kBP1['oX?6PdbLpX=9r,IlM6pp!<lqBW0K&a7?[PUd
%B1qc]oOgE6*,dcZnH%Kmk`='8:-33gGPE&4rKh*%)a4)ICAlUR/s>CmVgj!,T<58.gT/)<P<A_cG2":W)a/P_\D8\T:Qm,D7u&0M
%q/M.Dmma3=)Pc at X:.G108UgShMgrd:^S0ni,Z!8BJ,*lK>bUi2mm])#e``F&2u3D#Gm;OO<Ru[hpFCJb%.><'R'8:Cmd^s+*e02?
%(Ad&EUYt`,n)gBh000=84F`Cn?8$L!"/uM5'T2pNW_KM&e?1dTs(IlVcr&gdK=B)$O5=R at nDTeM"rMTmR.K>kZgARBrpe8!DqA&b
%o]GV+Va'&k=1EY_YI\"EhX)6boA>[PZJEh*h[K$*N'Eu(ItX0DdR$Nh--ou1rEVVS^MFh%qt,B?Frroo[_(G7]\[.?UdbTbT4c>/
%:WrIf4`i3AVNS?Wljg1IUXH\XaJT3d,D6.B+trmq`:1!aL=F!8\nbQQ=8/s^>i0R]>jU`1C\*e*P5>3peXMc'J!=7UZccqO(uRWW
%affOEF8=bX5KhQ+94$u\k=71cUlU<%57`OqO\m=g at EaAiGUsj7l#n3l$iZK$jo5Q9h-L'Q0-#tdZ5N"pMtq;I(IJB[YcGHeOdGAs
%r:K=;HESEeIZ0T15$unhl\F<^W_B"4f??u at p8>m[ro7KhfFiYhA_F^946IYgeAl0 at oC4PqZ(q6.bNceAo>%rO4D%/l^@l<q0D:V@
%Wp/\:q9OPIpb.ZrrVCCnDraPb?TeETR/5Mfgc#&_(%S&JPRmL!o'nrJg&f3&i%uSU?,SF5B7l],<P+/]IDD4%(G4\tDZNq/`E8W#
%[Um0ZDNFYMc?>h?@aAquhKM(V?6tfIrAsal`ldi2QfC=gH"B\?DVONHmH5hl^A3&H]Y%G7B:"P<@fN9o9VrW[Xs,*'29G1;lK2u-
%dj4D5)qGcnC4CN8f^G0O[_^bNbQ#_$[_#c"r,j."fMLtEJXW_3ZVUElFF(a*(N].]Kam;CDP,]t at IjWd@^kK$`f`t95_+Ph$q9H(
%13quE2pLc#-Ro"3>lUY$2G0bM4l5&_2jjVeT)hS;fuu?ViGNX^\"*+:=XR[Fm'j=ODDMBLk?kI!`>,<VHL'd,g\p5[[_5;qr(<C6
%0=!^@n"iT2XP[Ob6.26>j3?dRg9!"9PXT#=q^Kd?JHnaO$p7)80ec"=RTt'(!_eo<<KleCg[ur_hX;]GG_9+JDRLK"._Tiq9H80,
%$38 at 82tK2b\XY6aX*MY5L0`rb`<P[MkP$db^Yot^6O:_uY_SKi!s]V)lg7\n'tTprfsg;G_<iBr=T[4E[N4o::akRV<8Vok%`KP9
%C&lTZXQt at UYl:>U.J4dkZ`=83EjiPoNUE%!BrBQn at C"EYii%l!R3STc*\$Q_Id,t+pSXP/U$j8s3E:@]Wq*cq.RVpgaG9=cZ:>:%
%aWHg^H7pYZ=q at I4<.Bt]h6BW1bZ<!Zmh*:tm?+[jg.."V-*)0,b/n*=G.6>M\__f`_O4nV*CK2p6gWG&XNrkurG?sChI%]*s-k7Q
%Nlg5Q(sWW%3@<I.>&5elS56''g,<>ff9!W3+E*@SJE$G"od.os'/&NHX#iGtMli612_r=&C'40QqrRTF^U>cCoaJi1-$;l3k at H#3
%2cmIZiKgN7Z`pudBM>PGG(_T4D`6 at 9lnhEuBcDS.i@XYgDQnDhoB\Z at iF]I2O(c@:,oA;)lb23?T;LDI>C.d`r&!MY0Y;a@<3:AO
%?=T/U"!Q*rL'_<KjSVP2pCe"4F(2*@p%>J5OR2!>=eK&oOt?(/@9th'`Q`. at i5;=C!rC)`n+\$aqKfDo^qC$0Cj3GBhp+-X8X3n7
%'GKnYE!JE37C1d0Bp>MEk3Eaeet*hO'+6-ukO^G'q].%t[o_V_Q4``iEKfl11$@SCqb)kGH`/4(%*+7 at 7:s4NT>YA8e"0R,oNnQR
%I(!kh=:`i.5/"tlI']>m\_etgc$Zo\KlbW-Z&eOhXo$]T/M1V)LZQn2S`"p;F8K[1D)q<8VgL1tG5TS%.C]_M]'A-_:65P6qo-:U
%X`5-Nfd)8mBC9p+SDn?o,nDV>^0R?b;^#RYYs9.UJ;bEZClodC!hGQ[YKPUBG=$*D$K)U'Ol[1nqn\F:U>8#k^(72u!N*MrS0,Gt
%*HM)aif<=pcjmR7"SIlBQpk>bp>`48C$2HPS*flpFincgCj1*fD;3&AY_-1EqrBquOW at m5;oFkFX6'Ugqg=!.&2 at BZK\;p9,j>lr
%<i<uA)NH]`G<AB;]8nc/_p&K:Of6rSHbKQ"SRS=g*E#nBR.9c[Hr)a5em_V5j'XAV_AMCZ1$(Q?D*74O$8Hr$FBV!k9o0F,Em"&e
%I_lg+_<ut#L#D7ad9Feh^8I0VmF?CSE"!>Ylat^FK]\Psh9L?6a12i2fkTVa[jS,/]8('9^)c92:LDs%3&JaXpM[<4`h)]MRD/X;
%GE],>Df9fWoP]g9B(6bKc!%2D7=U>mA[M:#QW(Fr:Uo82N:0%[Sp[aMrI)3Ilp%k&pd%5qe):#5"nLDK,;]+S1Hnl8IUXcW$="9]
%I=4,%qXP9q9?]?:ld\N9L%^WRk9"#9?oP0o+$ckW8GVj`\FkhonA?YKpu0^EIi at .&rp<HEjD'jIa*_.BnDgN]r/!4.\>oEP]B".r
%gt4ZSpJ&1K`m/-uh\,he??/6pg at D6boB0J,.U2JgY[;U;GWt-NV5nFik3?qlkV)OA"&J3:?0'_*AmCb0f"63-Nf2[.H;up\[\Yc3
%m5V4'rkKU&09)-RNNI?R<F/>IYoq=^f+?BLa;3I]VH'#uQHU-[6tB"UcH?P.)*:T7P at V(2K2(nT1HYR_>+L7N"6m'p"WY`V=]p_i
%T"2cT>U%a.9oAoR>1-kr>[\:Mfs*D*pY`BuAVglaI$A::\4G"#F!]D-jH-:ENnpaU@;8J6j%WPF2rgjM]Ke-/Y:JRn"b3VUaNU"a
%bBYI([fZNoXN6PEMl]1aDPeE:BpqDb=L]e#TSkNTikUL/P at L-4N7/2u/5eQQr:*2E=D(`S7PRan`[,o%,Aj88$KSCubn::o>ZMSm
%S/6304s/J#[:=e,9;Z$HLQqS?OK!g$KGp4F2eOF;<J.t))WNd0TU3!J$V[fH#g->?S/#Q=M]o!t0pT,q=Um,Qiamsljs.;pRi/R6
%(s_9c=d]@K+sBK>/IbnKELB+tKlLU(@%lchW>fWg]X:"#SL%pg?ml,b(HEaEZ_PWnKK?Tj<*E+lV^];1d9,%k?"l5%3[eg`-LbbT
%4t[3oXiMJ!b6aoL/EM$TQiRk1r^7=ERmEV\OAQjPR\R-eat:3%3>Ut7?T+3]c at ok?8%bF)=J3bZ#)Xt6$?e;VWp'[;PCe at m!Z@)k
%>)\@dQs<duM6gF?.A^8T*eD[#Vu7J=ak"JS"Q1692,J:]e[6MmY]=>l3A+I[@8go>.mh,MU<K1l`E!QL).kfq&A:Pj,q!>*%bks)
%jeZ'?k,_H5!77Z!C7;0rniU^@LXd^pHjD3B<n0XllfrWr at iT-g*p=3"j9\[73e>"C=!Z]H9Cm1[-m1FEc0$r(71(qidEZ+["Ead]
%Um?b%!?<F<`&kbb#^=X)b7/@r?;eu(Te+3bMA`pb]I`?ACB0NK2aE]>"NCse3Z//+fb3dF9=A6$OpWN/*AYY+;3k5Ijh!DqMP^@@
%=pe#g*V9GEa/,cN3*$#)Ar2'jgC1eS#P9V=-+)_E,#+K"c"tXRE*60J_6OLs%OsMuZDL]R.UaAf!Y8=#P-cQ\$ljCej]i0%PLaC)
%<_X(iUC0d*<_#f7FQb'%A5gjf$q,mdZHY_k+JQd!+Faa;<DXHA4pKU]JX?f^#.ai7<=U+5dna#1^M\nYdOXKG$Z#q:>?I['f6IPS
%(RUWmU+D/C]%6lY:fCPL-*#j5i"f8/"cHf^J*Ah at AtuLX\+&ec'^Q,9+9VBI7%.891pqou=/b8sPPG&"2`*()M0['oT^TCFgJ1'P
%'APGcH4BV:dnO!Pp3"mi$2Sa`I5M-0gJN=".r?t?lD, at c)k!W6!,`D/o.jn47'J&#iQ\2FWu:oA^`)VZn>UOjkXPlBZ44I6'&Wu/
%@pDur2XkMJBRs)Q%EF2il]d]<"+d;9&,XuVPuW&d`jm('6"qGF:6um#3JX]/-Mkk'O>Jh,a`/!N^Ht\MG_8Nn[)/Z8)-c%41*cr;
%?uomcbOYH"Xq4(S<[/HH7aUF)+:Z-'*V9HV0g5;bbTtT8&P1%_MTatHCZ<&\>9=9LJCr7XeaNoG:3$-=R]7&RF=fCL,96CZ'siZ8
%2usXO*J+q5#q]7,SO]W#$(f'iCpF`kBbC=^4UnO;;:@dp at IB!YKG?ean2gVh=UfdA>W.8r,fr[SJ[Y]=6L7$>i\ZN0C)pFpU4+8j
%L.aHt<>m!N>n,g(dgHGt3k-+cjiEW.Ia3iJ<h&B5;$7 at o`6PN)R91)]d1Rme?']aUr=`.=Z^O/d#V-I:HT/rh<n-CSo:38WfG1\B
%73jcks)eO,"'["I)"]=DOgDpN\=Cs#-=]uW'r#Z'BLoPpWf$nm[QkU,Q(#.e0pdiX2O5(ppbh\_bU&/;5Y@!ja==Tud1pha,4j6n
%_kmk5WpN)RWfReu1*R8ubOCj`jGG.B1W*$i$b,Vh[La#Of'q=2`s(9Cr;'PjUF35V93j<d!k;tPGrQn#8,Q5m,[O*A'b)ra3j'&s
%9M5F'1hg-L2W6S%AB0c7K/T5XWAKc8Wn&&)8]sK#k/9G(GstMl9%q3kJ\gT?$@ZOr5uER^NkIhIUl\#(-8Yc(R-tpj"qpf"TS#[u
%rH,s4JgPB;&T$#l5eou86q)I#ml%B];J450IG5Xt`bG;S.&\\4GL-dCcdTIg!!G_EH%M(BRQ^qLUrm5]JMGWn$d8>6>-V$![j*6"
%ZJC&;9t;K92Vi*h3>8,A=qD9<DN69FP\_B)$o:!k1h]N>`g=Vm7B3*1KE,^F#07[M+`Ei+%4]gb\[9QrpiG+j!k^,DaG^l`:f8ur
%e&Er0!jcUb#</82UU3jX]O=IQ`EKNYUiZbq&^>^5G:@QiX0 at C:QI%6^h3\mqr!:obJ/t-%_4HE,<CXpN9H*FV6`QEP'S('Y<Go at o
%c(G4b0i/>2#;6Hj:nGHe&73NA^_"FTIB[G%IM,cmpD]EjF9Ze1:8D&]-o7F*K$"IO!NiaT6Xk1S8X\"JZ\DK$er3`_Ku^8,.8)+:
%g8q$bBC21OGmt!DQAM]hEBZ at GZ$^1 at 8(`QU<T"NGbJZk(3e,r!KHkNmdLJq`O9-WFl!Q&tA/PsuVBrsU@`6BP'(OR/.PYkf/*Y'5
%)s[Y9r0C*>WJZX+(G&uD"=G?s#s)lSd1Z72+^6[h-gq65$:r"U.W:M++@$RCP#5#`XBnq8U*`,]-Z/GGrM?8'>,P;>02iIgjh[*1
%Tk9g'Ck3nTDk81(/]E"Vh?oYoUd6Nr&lmiqG#_0j=m$JQZs>G at 7!MTTQ<6YB6^[M;-+K[Y$Dqd$)b>*DRM/o2.]:6&9dR$oJ:J6[
%\_5<N0)BR'5R>77M[WgiatT at k/!c&]9RuV3=uMSX(.H(u7u(me+'M at Whl>")2DEq0 at 2i*Q=ogPeaq5rQ%nWRMVQLBU*8kpNd)$5J
%(H:O^,$0p25QlEFL_:b44?HiVV)JetY1X,54KB'[70+r9OqY>ln-iH._i_RRBXj6H&o0e1i]aZk:8E_?bN9NtOltGcQ;T"aD3[FM
%"n:2`H]^?5GI+mJALLtVA91>j\Za"j&$&,,Gg%$*\udl7DIWQ]7O7dd7;HTdf\i+-@:]=.S00pQ+cQ(e'E+/3H];oo1ZoI`gs?fO
%B/$//:0eaT10A4d$bfd'T1H'gR*LMf,&>)B_>L6HGDT at 0CF/p!j!H$:-_7QeFN-J7</t>h8?rd5"-$,Qs7V'\*A9mDTs5?$&QI5:
%`=CJ,.bYTnUmBj[AaQIMcXAdc\V'&Ek5\5B?c<Oj6arhpJ.rce@\p$-?58d5 at YM"Y3YiFV at V)u=1%(uF(G"a(KtjiO(bHm8KuTc$
%)(V%BMJ?SY/Zd7*'i93/k*\F+^)bUs2>77;W\Pe/1YkjSiCR=@3EjZO/=i8MZ3dp4(j!8W3/:,&SSA-KgB(FDDZkds'B[">)]5qj
%fdYu.RmS&6-ppPbQ3V#hdmglp8a-u;&,'4.NqFUcc7ki292>p>3_CiKd>Jj8Tf4TXc^Hn&0'KgZWg&H6>aEm(16LLW=B^o]4bQfa
%Gd+Dq'e++@$Xo0L=]e^_<SsN>]!.D8X8#*jK9>``I:^FYEb&:ZN#"?^7F4T)1g3cd9<VcP2HId+CV=.>pn"MU;/J<A5=^TiO]#^l
%Y)F&PY=E"Yk]RZ>)+Eg_61HD*:dqBdO]#7W%uZ[r_R`pHqA'e/@TC(Feecm>,=TMCYSbq4 at hm-W*AaX:`[[]Kh))487Ot]OSMmG.
%`[\^C<T0Te*%<H]=.b-9FJOS<>icI<i3=J9=GdO1Q*I(G[2`D*Set$akc[@G*qT;<HjF4Q/CF[k.#_<Va;2e10Lgd/,8+%/ck?d`
%f=sYp'il#e8!1Am=IY7L0I(_cYSJ.VR"fb6T_9;)d"Z\uYgsbq#`!Q_TX5]>5DN8(Y`^$/G6_.<Y]:ecY6RMkYYH8hlpf.46%q9r
%7_WIQ+-rODSpFY:MNk at i`NDa'm'pdG/$4L/\=cA//`e#)q][?&=Q(r3?At-l_a7p:c4!=:Z,10V4q1/dd7S5V at XD)(NE1L<(#hb)
%3F6Wae>4D?lWBE6/;?YEk0_=tU]MX;dmra"Oh-&'F<Gme&3F`bS4Q,p0#BE)a at Sqh`$@HIM4M at K$G3PEE*+EHe<4r1-ZtZB@?au0
%,Wnt/@0qIe`4'/d!,I>M at F,.&1?%G#g(P<;b?/.+fmjFt"Zu*[^Qc^cWeD8IlKVOk-0kUC81,lFRC65MZeF"H#AnEr3L/]1\:55D
%)73qUqacje<%O;GiZtOU*ueZm./>SF1sG71$kXe!o=5N]&lD>]/JAHD\R6s;OYa3a*Amq"=W#LCp.aJp($0te6RYn<eTBqaMq!_T
%"i8_KUor_09853<GC65"I)-P;ZqT8 at 3HU;Ro3&4B2CUOn1j!lA]"oGoP/bAPQnMNeOnEQb[Yp`UF,#=5?FS/49fgW[K1:u)_\O]I
%;tP]k?!E)SY,+Kef.t,aXgY==8g6?X1PD!m(9:,53HolI8d^p*_K.<OJ/)L3IQi_0SQpWWK@:hiik41,1L1HSIQNER,K.oV0KY#!
%LtNWNn&9ci,6sMK)I133UXje,NJDsjkUf-!&pg.*8XqQ+d's;&$MD\"9Rr-75r"n#5\#W&J[@c9LDCN/U\h/F0ZX>UKZ5$R!HD0Q
%\s1S3"@`tZSA;R""8k$b0Z!#&m3m!C'cpl(%_EoT at _o<PjDZ\5Jr:Vt71]!A,JW_M0QMCT*\iDIOO9iGirdQqcng,-)B>E)LTIbU
%f^Q[74Of?2r<<MFi?<7>W;63R3]sd0*c6Z;i5$:VjK(+!d0rf6,=eN7dgFCCDF]fk[IDNpFu1!Vi.Zr6Z(o+po>9ER0m`1'*_qFp
%R'C/Hi%QuI09)O%L'Op at iG<aj)]nT?Ne1aG`kep#E:Ou1Xc/caL?G/eiM\*`--qblo=Hg!>A:,fVakTYgIi,#&T&[:WSEiALbQ&W
%-]W7FC!ErPA_D^thMRd8W<b9:W-GgfeN@!_9(g]<1:;Q\?>?eMg^ni`S3IBggl=C03FHoWQjJHK"4G$P!J at Xg6l$^K,f3?uFh"a0
%qL=JQ'V;>1F:t+WL?Gn*6eq1,2f]lX5;j"4QQq:4n\aY5Tlt\O*BbJTO3o2-mI<R>i:&pN`#h!`Ngrk"-eOQ&md&72,F:Ok-Md0r
%7^)^H5F:j,n;"pCs%<=iG.(L2gX48`p:3cU4&iP7__8[n-\Q[?osRG8+4i`^"^O7dP:&$@:.P=#4O.qm~>
%AI9_PrivateDataEnd
\ No newline at end of file
+<?xpacket end="w"?>
+%  &&end XMP packet marker&&
+[{ai_metadata_stream_123}
+<</Type /Metadata /Subtype /XML>>
+/PUT AI11_PDFMark5
+[/Document
+1 dict begin /Metadata {ai_metadata_stream_123} def
+currentdict end /BDC AI11_PDFMark5
+%AI12_RMC_Transparency: Balance=75 RasterRes=300 GradRes=150 Text=0 Stroke=1 Clip=1 OP=0
+Adobe_AGM_Utils begin
+Adobe_AGM_Core/page_setup get exec
+Adobe_AGM_Core/capture_currentpagedevice get exec
+Adobe_CoolType_Core/page_setup get exec
+Adobe_AGM_Image/page_setup get exec
+%%EndPageSetup
+Adobe_AGM_Core/AGMCORE_save save ddf
+1 -1 scale 0 -346.999 translate
+[1 0 0 1 0 0 ]  concat
+% page clip
+gsave
+newpath
+gsave % PSGState
+0 0 mo
+0 346.999 li
+1190.59 346.999 li
+1190.59 0 li
+cp
+clp
+[1 0 0 1 0 0 ] concat
+117.664 249.537 mo
+115.487 248.393 95.3335 232.718 94.9785 232.733 cv
+92.7925 232.826 86.3252 242.936 84.0562 245.336 cv
+78.8462 250.847 73.7607 253.542 72.2935 257.938 cv
+91.8438 277.571 121.828 294.962 159.673 294.907 cv
+197.007 294.853 227.463 277.275 246.213 257.099 cv
+237.566 249.501 231.385 239.439 222.688 231.893 cv
+200.563 260.887 152.141 267.663 117.664 249.537 cv
+cp
+1072.96 183.161 mo
+1069.04 134.177 972.732 145.522 967.938 187.362 cv
+979.21 187.853 989.543 189.282 1000.71 189.884 cv
+1004.07 167.746 1052.97 172.605 1036.83 200.806 cv
+1011.5 208.045 988.711 200.9 968.777 214.249 cv
+949.42 227.211 949.312 262.449 965.417 276.423 cv
+983.789 292.364 1015.44 281.098 1026.75 268.861 cv
+1027.02 273.635 1028.37 277.329 1029.27 281.464 cv
+1040.19 281.464 1051.12 281.464 1062.04 281.464 cv
+1052 247.624 1075.64 216.563 1072.96 183.161 cv
+cp
+834.347 188.202 mo
+831.496 215.83 855.318 223.207 874.676 230.212 cv
+883.944 233.566 899.216 236.272 900.722 243.655 cv
+904.187 260.636 872.965 264.786 859.553 256.258 cv
+853.511 252.416 853.258 246.31 846.949 241.135 cv
+836.673 242.9 826.02 244.29 815.862 246.176 cv
+824.822 299.207 931.887 296.894 936.01 243.655 cv
+937.918 219.014 917.988 209.959 897.361 203.326 cv
+887.05 200.011 867.627 198.185 867.114 187.362 cv
+866.465 173.664 890.315 171.611 903.242 178.12 cv
+909.547 181.295 910.76 187.353 915.005 189.884 cv
+924.697 188.093 934.158 186.071 944.412 184.842 cv
+937.529 135.568 839.043 142.686 834.347 188.202 cv
+cp
+163.875 107.544 mo
+129.846 105.777 105.619 128.293 94.9785 157.116 cv
+91.042 156.572 84.918 158.214 82.376 156.275 cv
+81.9595 139.498 83.0938 128.673 83.2158 113.426 cv
+71.8979 120.709 60.8799 131.561 50.4487 141.992 cv
+39.7305 152.71 28.3745 163.109 18.5215 173.919 cv
+41.0952 192.759 61.1343 218.305 83.2158 234.413 cv
+83.1875 218.077 81.9224 206.733 82.376 189.043 cv
+86.8569 189.043 91.3379 189.043 95.8188 189.043 cv
+105.267 220.015 129.191 243.992 169.756 239.454 cv
+199.332 236.146 216.002 214.026 225.208 189.043 cv
+229.044 189.408 234.459 188.193 236.971 189.884 cv
+237.443 207.288 236.043 218.351 236.131 234.413 cv
+256.226 216.419 278.91 193.734 298.305 172.239 cv
+277.22 152.715 257.723 131.603 236.131 112.585 cv
+235.604 128.013 238.531 141.457 236.131 157.116 cv
+232.21 157.116 228.289 157.116 224.368 157.116 cv
+215.628 130.532 195.157 109.169 163.875 107.544 cv
+cp
+1170.42 132.75 mo
+1174.93 92.6963 1103.86 97.0156 1103.21 131.91 cv
+1110.07 133.73 1118.88 133.607 1125.89 135.271 cv
+1123.64 121.726 1145.51 115.46 1147.74 127.709 cv
+1149.66 138.281 1132.93 147.278 1125.05 153.755 cv
+1109.22 166.772 1097.29 175.587 1093.97 194.925 cv
+1115.81 194.925 1137.66 194.925 1159.5 194.925 cv
+1160.48 188.339 1162.72 183.024 1163.7 176.44 cv
+1152.78 176.44 1141.86 176.44 1130.93 176.44 cv
+1141.5 162.071 1167.96 154.686 1170.42 132.75 cv
+cp
+463.823 51.2515 mo
+423.245 53.4082 395.704 65.6802 372.242 88.2202 cv
+350.11 109.482 333.479 139.475 331.072 173.079 cv
+324.933 258.789 383.741 298.306 465.503 293.227 cv
+540.949 288.54 566.031 227.583 563.805 141.992 cv
+525.437 141.992 487.068 141.992 448.699 141.992 cv
+446.654 160.689 443.366 182.566 442.818 199.966 cv
+460.743 200.524 480.905 198.847 497.43 200.806 cv
+496.612 225.762 478.18 235.873 459.622 237.774 cv
+433.265 240.474 412.459 226.915 403.329 208.367 cv
+385.779 172.716 406.732 130.137 432.735 116.787 cv
+455.405 105.148 488.102 109.767 522.636 109.225 cv
+525.261 90.8457 526.691 71.2705 529.357 52.9321 cv
+506.556 52.5078 486.571 50.0425 463.823 51.2515 cv
+cp
+234.45 99.9829 mo
+236.877 97.5566 246.327 90.8779 246.213 88.2202 cv
+246.105 85.6963 233.958 77.1836 229.409 73.937 cv
+210.905 60.7314 186.125 51.1035 157.153 51.2515 cv
+136.822 51.3555 119.82 56.355 103.38 64.6948 cv
+97.7813 67.5352 72.0601 83.6055 72.2935 89.0601 cv
+72.373 90.9224 81.8877 97.8145 84.0562 99.9829 cv
+88.9297 104.856 91.4717 107.916 94.9785 111.746 cv
+110.656 97.6343 133.008 84.1777 161.354 84.8594 cv
+188.472 85.5117 208.859 98.792 223.528 112.585 cv
+227.055 107.29 229.595 104.838 234.45 99.9829 cv
+cp
+650.345 61.334 mo
+612.505 80.8486 587.504 112.492 578.929 161.317 cv
+565.98 235.039 608.083 288.694 671.35 293.227 cv
+726.54 297.18 760.177 276.371 785.615 244.495 cv
+804.927 220.299 819.205 187.081 815.862 141.152 cv
+814.438 121.573 807.413 102.675 799.059 89.9004 cv
+780.93 62.1777 742.297 43.6064 695.715 47.8906 cv
+677.252 49.5889 663.646 54.4741 650.345 61.334 cv
+cp
+0.877441 0 mo
+397.437 0 794.029 0 1190.59 0 cv
+1190.59 115.667 1190.59 231.33 1190.59 346.999 cv
+793.734 346.999 396.897 346.999 0.0371094 346.999 cv
+0.0371094 232.173 0.0371094 117.346 0.0371094 2.52051 cv
+-0.0351563 1.32813 -0.101563 0.141113 0.877441 0 cv
+cp
+false sop
+/0 
+<<
+/Name (Black)
+/0 
+[/DeviceCMYK] /CSA add_res
+/CSA /0 get_csa_by_name
+/MappedCSA /0 /CSA get_res
+/TintMethod /Subtractive
+/TintProc null
+/NComponents 4 
+/Components [ 0 0 0 1 ] 
+>>
+/CSD add_res
+1 /0 /CSD get_res sepcs
+0 sep
+ef
+668.829 113.426 mo
+644.736 133.127 630.34 201.173 657.906 227.691 cv
+670.881 240.173 698.574 241.237 715.04 232.733 cv
+753.499 212.87 764.906 123.76 723.441 105.864 cv
+717.717 103.394 706.651 102.24 700.757 102.503 cv
+686.892 103.122 676.364 107.264 668.829 113.426 cv
+cp
+695.715 47.8906 mo
+742.297 43.6064 780.93 62.1777 799.059 89.9004 cv
+807.413 102.675 814.438 121.573 815.862 141.152 cv
+819.205 187.081 804.927 220.299 785.615 244.495 cv
+760.177 276.371 726.54 297.18 671.35 293.227 cv
+608.083 288.694 565.98 235.039 578.929 161.317 cv
+587.504 112.492 612.505 80.8486 650.345 61.334 cv
+663.646 54.4741 677.252 49.5889 695.715 47.8906 cv
+cp
+0.913725 0.807843 0.0470588 0.00392157 cmyk
+ef
+223.528 112.585 mo
+208.859 98.792 188.472 85.5117 161.354 84.8594 cv
+133.008 84.1777 110.656 97.6343 94.9785 111.746 cv
+91.4717 107.916 88.9297 104.856 84.0562 99.9829 cv
+81.8877 97.8145 72.373 90.9224 72.2935 89.0601 cv
+72.0601 83.6055 97.7813 67.5352 103.38 64.6948 cv
+119.82 56.355 136.822 51.3555 157.153 51.2515 cv
+186.125 51.1035 210.905 60.7314 229.409 73.937 cv
+233.958 77.1836 246.105 85.6963 246.213 88.2202 cv
+246.327 90.8779 236.877 97.5566 234.45 99.9829 cv
+229.595 104.838 227.055 107.29 223.528 112.585 cv
+cp
+ef
+529.357 52.9321 mo
+526.691 71.2705 525.261 90.8457 522.636 109.225 cv
+488.102 109.767 455.405 105.148 432.735 116.787 cv
+406.732 130.137 385.779 172.716 403.329 208.367 cv
+412.459 226.915 433.265 240.474 459.622 237.774 cv
+478.18 235.873 496.612 225.762 497.43 200.806 cv
+480.905 198.847 460.743 200.524 442.818 199.966 cv
+443.366 182.566 446.654 160.689 448.699 141.992 cv
+487.068 141.992 525.437 141.992 563.805 141.992 cv
+566.031 227.583 540.949 288.54 465.503 293.227 cv
+383.741 298.306 324.933 258.789 331.072 173.079 cv
+333.479 139.475 350.11 109.482 372.242 88.2202 cv
+395.704 65.6802 423.245 53.4082 463.823 51.2515 cv
+486.571 50.0425 506.556 52.5078 529.357 52.9321 cv
+cp
+ef
+700.757 102.503 mo
+706.651 102.24 717.717 103.394 723.441 105.864 cv
+764.906 123.76 753.499 212.87 715.04 232.733 cv
+698.574 241.237 670.881 240.173 657.906 227.691 cv
+630.34 201.173 644.736 133.127 668.829 113.426 cv
+676.364 107.264 686.892 103.122 700.757 102.503 cv
+cp
+1 /0 /CSD get_res sepcs
+0 sep
+ef
+1130.93 176.44 mo
+1141.86 176.44 1152.78 176.44 1163.7 176.44 cv
+1162.72 183.024 1160.48 188.339 1159.5 194.925 cv
+1137.66 194.925 1115.81 194.925 1093.97 194.925 cv
+1097.29 175.587 1109.22 166.772 1125.05 153.755 cv
+1132.93 147.278 1149.66 138.281 1147.74 127.709 cv
+1145.51 115.46 1123.64 121.726 1125.89 135.271 cv
+1118.88 133.607 1110.07 133.73 1103.21 131.91 cv
+1103.86 97.0156 1174.93 92.6963 1170.42 132.75 cv
+1167.96 154.686 1141.5 162.071 1130.93 176.44 cv
+cp
+0.913725 0.807843 0.0470588 0.00392157 cmyk
+ef
+201.683 144.513 mo
+192.101 154.255 182.006 163.484 171.436 172.239 cv
+180.612 183.507 191.943 192.621 203.363 201.646 cv
+203.363 195.765 203.363 189.884 203.363 184.002 cv
+217.927 184.002 232.49 184.002 247.053 184.002 cv
+247.053 176.72 247.053 169.438 247.053 162.157 cv
+232.769 161.598 216.248 163.275 203.363 161.317 cv
+202.349 156.169 205.459 146.898 201.683 144.513 cv
+cp
+115.143 162.157 mo
+100.58 162.157 86.0166 162.157 71.4531 162.157 cv
+71.4531 169.438 71.4531 176.72 71.4531 184.002 cv
+85.7383 184.561 102.258 182.884 115.143 184.842 cv
+115.143 190.443 115.143 196.044 115.143 201.646 cv
+126.515 193.133 135.993 182.728 146.23 173.079 cv
+135.66 163.765 126.398 153.143 115.143 144.513 cv
+115.143 150.394 115.143 156.275 115.143 162.157 cv
+cp
+224.368 157.116 mo
+228.289 157.116 232.21 157.116 236.131 157.116 cv
+238.531 141.457 235.604 128.013 236.131 112.585 cv
+257.723 131.603 277.22 152.715 298.305 172.239 cv
+278.91 193.734 256.226 216.419 236.131 234.413 cv
+236.043 218.351 237.443 207.288 236.971 189.884 cv
+234.459 188.193 229.044 189.408 225.208 189.043 cv
+216.002 214.026 199.332 236.146 169.756 239.454 cv
+129.191 243.992 105.267 220.015 95.8188 189.043 cv
+91.3379 189.043 86.8569 189.043 82.376 189.043 cv
+81.9224 206.733 83.1875 218.077 83.2158 234.413 cv
+61.1343 218.305 41.0952 192.759 18.5215 173.919 cv
+28.3745 163.109 39.7305 152.71 50.4487 141.992 cv
+60.8799 131.561 71.8979 120.709 83.2158 113.426 cv
+83.0938 128.673 81.9595 139.498 82.376 156.275 cv
+84.918 158.214 91.042 156.572 94.9785 157.116 cv
+105.619 128.293 129.846 105.777 163.875 107.544 cv
+195.157 109.169 215.628 130.532 224.368 157.116 cv
+cp
+ef
+115.143 144.513 mo
+126.398 153.143 135.66 163.765 146.23 173.079 cv
+135.993 182.728 126.515 193.133 115.143 201.646 cv
+115.143 196.044 115.143 190.443 115.143 184.842 cv
+102.258 182.884 85.7383 184.561 71.4531 184.002 cv
+71.4531 176.72 71.4531 169.438 71.4531 162.157 cv
+86.0166 162.157 100.58 162.157 115.143 162.157 cv
+115.143 156.275 115.143 150.394 115.143 144.513 cv
+cp
+1 /0 /CSD get_res sepcs
+0 sep
+ef
+203.363 161.317 mo
+216.248 163.275 232.769 161.598 247.053 162.157 cv
+247.053 169.438 247.053 176.72 247.053 184.002 cv
+232.49 184.002 217.927 184.002 203.363 184.002 cv
+203.363 189.884 203.363 195.765 203.363 201.646 cv
+191.943 192.621 180.612 183.507 171.436 172.239 cv
+182.006 163.484 192.101 154.255 201.683 144.513 cv
+205.459 146.898 202.349 156.169 203.363 161.317 cv
+cp
+ef
+944.412 184.842 mo
+934.158 186.071 924.697 188.093 915.005 189.884 cv
+910.76 187.353 909.547 181.295 903.242 178.12 cv
+890.315 171.611 866.465 173.664 867.114 187.362 cv
+867.627 198.185 887.05 200.011 897.361 203.326 cv
+917.988 209.959 937.918 219.014 936.01 243.655 cv
+931.887 296.894 824.822 299.207 815.862 246.176 cv
+826.02 244.29 836.673 242.9 846.949 241.135 cv
+853.258 246.31 853.511 252.416 859.553 256.258 cv
+872.965 264.786 904.187 260.636 900.722 243.655 cv
+899.216 236.272 883.944 233.566 874.676 230.212 cv
+855.318 223.207 831.496 215.83 834.347 188.202 cv
+839.043 142.686 937.529 135.568 944.412 184.842 cv
+cp
+0.913725 0.807843 0.0470588 0.00392157 cmyk
+ef
+985.581 245.336 mo
+985.816 249.693 988.654 255.782 993.983 257.938 cv
+1015.86 266.791 1033.64 242.015 1031.79 221.811 cv
+1016.6 226.935 984.439 224.199 985.581 245.336 cv
+cp
+1062.04 281.464 mo
+1051.12 281.464 1040.19 281.464 1029.27 281.464 cv
+1028.37 277.329 1027.02 273.635 1026.75 268.861 cv
+1015.44 281.098 983.789 292.364 965.417 276.423 cv
+949.312 262.449 949.42 227.211 968.777 214.249 cv
+988.711 200.9 1011.5 208.045 1036.83 200.806 cv
+1052.97 172.605 1004.07 167.746 1000.71 189.884 cv
+989.543 189.282 979.21 187.853 967.938 187.362 cv
+972.732 145.522 1069.04 134.177 1072.96 183.161 cv
+1075.64 216.563 1052 247.624 1062.04 281.464 cv
+cp
+ef
+1031.79 221.811 mo
+1033.64 242.015 1015.86 266.791 993.983 257.938 cv
+988.654 255.782 985.816 249.693 985.581 245.336 cv
+984.439 224.199 1016.6 226.935 1031.79 221.811 cv
+cp
+1 /0 /CSD get_res sepcs
+0 sep
+ef
+222.688 231.893 mo
+231.385 239.439 237.566 249.501 246.213 257.099 cv
+227.463 277.275 197.007 294.853 159.673 294.907 cv
+121.828 294.962 91.8438 277.571 72.2935 257.938 cv
+73.7607 253.542 78.8462 250.847 84.0562 245.336 cv
+86.3252 242.936 92.7925 232.826 94.9785 232.733 cv
+95.3335 232.718 115.487 248.393 117.664 249.537 cv
+152.141 267.663 200.563 260.887 222.688 231.893 cv
+cp
+0.913725 0.807843 0.0470588 0.00392157 cmyk
+ef
+%ADOBeginClientInjection: EndPageContent "AI11EPS"
+userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse
+
+%ADOEndClientInjection: EndPageContent "AI11EPS"
+% page clip
+grestore
+grestore % PSGState
+Adobe_AGM_Core/AGMCORE_save get restore
+%%PageTrailer
+[/EMC AI11_PDFMark5
+[/NamespacePop AI11_PDFMark5
+[
+[/CSA [/0 ]]
+[/CSD [/0 ]]
+] del_res
+Adobe_AGM_Image/page_trailer get exec
+Adobe_CoolType_Core/page_trailer get exec
+Adobe_AGM_Core/page_trailer get exec
+currentdict Adobe_AGM_Utils eq {end} if
+%%Trailer
+Adobe_AGM_Image/doc_trailer get exec
+Adobe_CoolType_Core/doc_trailer get exec
+Adobe_AGM_Core/doc_trailer get exec
+%%EOF
+%AI9_PrintingDataEnd
+
+userdict /AI9_read_buffer 256 string put
+userdict begin
+/ai9_skip_data
+{
+	mark
+	{
+		currentfile AI9_read_buffer { readline } stopped
+		{
+		}
+		{
+			not
+			{
+				exit
+			} if
+			(%AI9_PrivateDataEnd) eq
+			{
+				exit
+			} if
+		} ifelse
+	} loop
+	cleartomark
+} def
+end
+userdict /ai9_skip_data get exec
+%AI9_PrivateDataBegin
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: Adobe Illustrator(R) 10.0
+%%AI8_CreatorVersion: 12.0.1
+%%For: (stephan heller) (heller & partner)
+%%Title: (GOsa-logo.eps)
+%%CreationDate: 09.02.2009 11:32 Uhr
+%AI9_DataStream
+%Gb!T<m?/F/Z/r\"hOu/P\3\sDJ6cIZ<V.q`L9PqtM@<AQeQlMe",#hU_ScE[!(2ThqE644X1Nq__2PSZV6us#5Z_SuAS%J2W%7pp
+%o&RddDKW?hh7Qkir&d!_S4g0#9PS4(_W at O?:]@m!Y1Xg/e`5.[L6U`PV'OC,7?Q0bA&i`Z8p%^JcgPb at ec+BJ4`>MUoC[.;h*"QZ
+%^W]a#S(S8=b``!BQHSqsac#7srb;"8nuDI=>qDK0H@%a.-fm=!S,FI8J(UG*](<Tn^KSmKG?<$NFDe6fh;\-g2l[DZrdD-1K4E,=
+%^s)VDs8:@Ah/:!APl[I(l*rA23j\B(FZ!JU?5JGiT)Rj-Cq"2q`:d-9qWg*(5C$6Y)t09 at CcgB)egjFEYt9tFa[L86]3F]g^SIdE
+%g\j&;7ekl_gC5*Fd]#o<l"fdgs7FI`?%`0$B)#_/(;Ai+/?qc!e%C$O_'q.Q?`$D$i,7,oRsW/)8gZ";n!i(VEjfmSeX<JX7?V<J
+%fKuQ-QRt?7-FD=5WXA&)dh3J)AP8WEG"CN.UA;H8IX2JTbSR>YHM:8?r,+5j,YYZDpPWCOEar>]F;^:p]Gd\^C6d_h]4J>I at C=ag
+%N[M$#NppY/eL]H%).pIM&I1\.ag2V-5MP$OH[pLW]VC(M-["/"qY'@Np$>>Xm3d.jBia,ps"',$R68=^^fh'/687?(`ptXI:oV<-
+%.Q^IE4"A;/#_(tEC3p3(^>1DZ(9?V2((*.0-<Do$@Cs&7Z!:j3X\Z6SEBX)<r_H\9WqZC&eZs(u&*Im-ERJt,k.OOZrPuP)bLLDp
+%O_&ZuVb%>P?8UU%@^_ml:W`a`Ir'R/?@:GT`)<VNo!p=Ill;YDc[Dk%I'o8aXlWi(p$QqEhV,"]8QD(h.SE[)-)o%-3qZuD7iLP]
+%j7$Gpk=F\SWVDM"UcL^febM4PStGW"q)N/d;r4'?bEBQ:;r4-A[?#@0r$jolUY]QXJ):<KHmTT[`+Mtf9n&pbO"93GBt,?NF5:.8
+%g6ZU71U";45'&!7PE*j%nX8_*.pKP2cDf7Aq+8PJnX25_.GMLaaLTGqV5R;OZhDn6/,.2untraWF0?faTat%@I=10JW^0puhG]F(
+%PuM"\f<@k9qf7+4jqUsqqWG2*c5&U-MX0</C/Ij&En0tGUW3?pp\=8>;uTb]Uf+aK\`h2$HZH9:l+B'_f9]D1#AL\/O%c^:]lhkO
+%Qg<ZfW>+5pT?9S!nsM=>h<9\c[^R9BSBdekp)*L*nRs01MA4$][gTB<Q+M(7;V-1oDWKSg`32m\-^C<08([`d?Q[G$>,J#sFfr$t
+%&Z5+qr:\^EI7@#F[J#pJjj[dIdHtr2j,^m#%!bM7[HsaFl[^%$8[<On%F;*<f?^MXC/8>;H14hIU1k]PVK_l<IH7qFpTOE14[JWa
+%O8`-$<Me=GX$5fPYNsog?+5m:7.9cOqKVNsYPVCLN1O9ZBM8B*O-_Nm\pr7#g-*rX;g3Ui^$<#?dT<M'bKochH826YgLgb*:?m\R
+%+9"tfb_9<ReP#^JqipK8A'-m`bJG#TrpW^1fEp8OLFjCHdl_]jUj at m&Wp,c?),QGi1P^If4QEiRTY032\Pj%=A8LaIg]!Sp*7Dp9
+%"+Qt!Ah(,/Nm[lHDTqc?a%FN7<E>;n>>1sUQTQ[gkhU76^?-)anYRo,g5\$1]ukTXHm3Yb9&oi:1,mS9a[kIqNBn1$nW*(FUtesn
+%b3=>(jBSMI*hr9^'eV88Y!lhXB?(:S8m$5jl"qi4p=3q]HV<67j1/Y;G(7uYG0tV*07XcV@^+s$mrIi;5PGcaSR/jE?HMP6N*<&]
+%?%eRgets6dVF[>dCDEA_A)[XQdiuirnn>#J<C/2,mS?<j9VCqLeB,Z&aPepF!EoiUU!i3\!fk\0`a+Kf-a_?gZ^PPf7!HtPbW6?8
+%QA:V73u&hmW=Pi!Hlf_nV>,k5dOnEEQ`8s!/\TMV=nu3HXk,T%YsinX`4X`iQNgd,3a-[\:[ci*rXa.NZ'M.g7\-RO<Vr!2Q?:\f
+%5LS7EOTd3(Y"-aA`HYN\lJWhIHJ!7omLI#*;!Q1XAM/dH^M.FFcectrpT=2R0L_P?lgCiNjsf&13kqC)X+!Z;CKpF7p25",Xn*\K
+%V9bs&k2AiT9lTNRo2`KMVp*q3QtoRc*Qq5c$Ue1U.X^EMQKio-D84,`Md7>q<KYs[gB1TZ%+L?<Kdt*lYA*lB/&r2CEhV*%<9'S%
+%BiGctFP][<iM1(e1"Ap4JVpiV]A:&rTbhRnIY;g;V:SF[;h`a^![$;k=(>q$hYIG;N<9=Z;)K9!rj.Y3"+MeFD-&[g.YG,LB^F*l
+%*p_BIkb1J(]Zj[Yb1t at -9UqGc48WF(8LJYO>AXdi'T-=6F4fVPm\M%L4OlE7TYlEG/uu(["(0ltJjSL"In(cZWuP63[t"EaFQlu4
+%fX?%N5B36kI8;M[Fp;)TTbcA(6XtnE[[3VhN-?R<lg5DP;Vr,9C7WgHL46M=E:6`ElcOMU471&U;:rqAd1_A%(OaNXIWaLmV'/W7
+%(GTW(i_t]i5o)EP4u77C_IVf'bKX3o at SLDb<g.=mj`Ap(96#UZm<liESOS6!X5thh at 25E;NPn=Jo^Q.ifu8n.o%k=r%V=<_@)6`B
+%"itpV?/L*e"j*0kT33DtcrTu+4@;-u(km"eqp7\PDDL[_FH&FYHTPYSDdVAa9FeCD7?VG3n801LK(pXV_`7p'dXT`k^'>QQmQ5 at 8
+%frS%8H/Ql$3/8m*43Z=XV[))R33U]crS!<KBoiYr5HeL-Y(o2 at 4TTSZ<]:qle5Bf\Kgqsu:5R1X8q$>HD:$>Mj/=4 at XQICV,PU'I
+%bP.Z"a-Y)R?FPuI4qiYUC\&I0LA+p;Vu<",1JFdqJ<?bYB\e"FQ(mo?"M%VRM*/(rIA$2'.'c41l<i`+N\!P=Ma#kgGH6WsDsC7S
+%HMs;,pEG6<Q5f1s?M%+8mjq6$,/(oA#J5n3s'<+4G6c\Sm4<<$Kf1;XIFKk"gqZZgRl"]4;86U(N;f#%N!8tSV59L_A*Ci&R2\Qa
+%>-S6)jh8[`:CcjeG!9WlEK'.bGDBqJn*[;8P.>_g'sQ983fVV]1$i!p,.2. at q@uGP<]tg_!3U*+e:"rtG5j\$4qE%q5gl6.[2=lZ
+%@D2rWWT:ok^!ACD%!)-G@`!p\bUcKU1[R)HHf*jOqR6%u\_dd,hUCZ)gWOKtmCGA[]j/$6GAWVfF]XIOWS\^+CKe<-C"r8`EsLn"
+%HYjd(b4OB$e>W!"jm%^N1]$NeIEUZXSNjH+[p:Z=2gVZS06c83qn%h/6-8eTDqCXgXEZ!IqH!%6+5SU<E9e%hp"ec\l?YU>3k8F$
+%2Tb\tT$lF?D_M.AbkL!?:FDKug"if6%Gm\i^K^&onSGK+k2]Y5B)@Y2Me06+g9J,o9ia3rAhj=1\%9C at s6"8Yg])<+^:IO#iq;;P
+%F*9h<n/Uo[4T*n[0=H):O3..^os1(PrMKC%0jAN2X'N%oRd0D!Il,nU^GL-ns)QR_Qa8:)-oWl>>iJaog8qHDc2?$8oPcuu/f-J$
+%g#h=(*om/orV\(c^*gGYmQZ.,mmLQa[jsm73;]2W*=1ZrhQ:tuhnY27mJd+<?7_CD^X9UKJ%<6t0,M7T*oqqhI=DlZjR[ZuXDS^A
+%);R:5Npc82ferY6p-AJ#b;&l(O**2obr**+2PR='r3+=Fb at TU@](Y3&Fd;kBP1['oX?6PdbLpX=9r,IlM6pp!<lqBW0K&a7?[PUd
+%B1qc]oOgE6*,dcZnH%Kmk`='8:-33gGPE&4rKh*%)a4)ICAlUR/s>CmVgj!,T<58.gT/)<P<A_cG2":W)a/P_\D8\T:Qm,D7u&0M
+%q/M.Dmma3=)Pc at X:.G108UgShMgrd:^S0ni,Z!8BJ,*lK>bUi2mm])#e``F&2u3D#Gm;OO<Ru[hpFCJb%.><'R'8:Cmd^s+*e02?
+%(Ad&EUYt`,n)gBh000=84F`Cn?8$L!"/uM5'T2pNW_KM&e?1dTs(IlVcr&gdK=B)$O5=R at nDTeM"rMTmR.K>kZgARBrpe8!DqA&b
+%o]GV+Va'&k=1EY_YI\"EhX)6boA>[PZJEh*h[K$*N'Eu(ItX0DdR$Nh--ou1rEVVS^MFh%qt,B?Frroo[_(G7]\[.?UdbTbT4c>/
+%:WrIf4`i3AVNS?Wljg1IUXH\XaJT3d,D6.B+trmq`:1!aL=F!8\nbQQ=8/s^>i0R]>jU`1C\*e*P5>3peXMc'J!=7UZccqO(uRWW
+%affOEF8=bX5KhQ+94$u\k=71cUlU<%57`OqO\m=g at EaAiGUsj7l#n3l$iZK$jo5Q9h-L'Q0-#tdZ5N"pMtq;I(IJB[YcGHeOdGAs
+%r:K=;HESEeIZ0T15$unhl\F<^W_B"4f??u at p8>m[ro7KhfFiYhA_F^946IYgeAl0 at oC4PqZ(q6.bNceAo>%rO4D%/l^@l<q0D:V@
+%Wp/\:q9OPIpb.ZrrVCCnDraPb?TeETR/5Mfgc#&_(%S&JPRmL!o'nrJg&f3&i%uSU?,SF5B7l],<P+/]IDD4%(G4\tDZNq/`E8W#
+%[Um0ZDNFYMc?>h?@aAquhKM(V?6tfIrAsal`ldi2QfC=gH"B\?DVONHmH5hl^A3&H]Y%G7B:"P<@fN9o9VrW[Xs,*'29G1;lK2u-
+%dj4D5)qGcnC4CN8f^G0O[_^bNbQ#_$[_#c"r,j."fMLtEJXW_3ZVUElFF(a*(N].]Kam;CDP,]t at IjWd@^kK$`f`t95_+Ph$q9H(
+%13quE2pLc#-Ro"3>lUY$2G0bM4l5&_2jjVeT)hS;fuu?ViGNX^\"*+:=XR[Fm'j=ODDMBLk?kI!`>,<VHL'd,g\p5[[_5;qr(<C6
+%0=!^@n"iT2XP[Ob6.26>j3?dRg9!"9PXT#=q^Kd?JHnaO$p7)80ec"=RTt'(!_eo<<KleCg[ur_hX;]GG_9+JDRLK"._Tiq9H80,
+%$38 at 82tK2b\XY6aX*MY5L0`rb`<P[MkP$db^Yot^6O:_uY_SKi!s]V)lg7\n'tTprfsg;G_<iBr=T[4E[N4o::akRV<8Vok%`KP9
+%C&lTZXQt at UYl:>U.J4dkZ`=83EjiPoNUE%!BrBQn at C"EYii%l!R3STc*\$Q_Id,t+pSXP/U$j8s3E:@]Wq*cq.RVpgaG9=cZ:>:%
+%aWHg^H7pYZ=q at I4<.Bt]h6BW1bZ<!Zmh*:tm?+[jg.."V-*)0,b/n*=G.6>M\__f`_O4nV*CK2p6gWG&XNrkurG?sChI%]*s-k7Q
+%Nlg5Q(sWW%3@<I.>&5elS56''g,<>ff9!W3+E*@SJE$G"od.os'/&NHX#iGtMli612_r=&C'40QqrRTF^U>cCoaJi1-$;l3k at H#3
+%2cmIZiKgN7Z`pudBM>PGG(_T4D`6 at 9lnhEuBcDS.i@XYgDQnDhoB\Z at iF]I2O(c@:,oA;)lb23?T;LDI>C.d`r&!MY0Y;a@<3:AO
+%?=T/U"!Q*rL'_<KjSVP2pCe"4F(2*@p%>J5OR2!>=eK&oOt?(/@9th'`Q`. at i5;=C!rC)`n+\$aqKfDo^qC$0Cj3GBhp+-X8X3n7
+%'GKnYE!JE37C1d0Bp>MEk3Eaeet*hO'+6-ukO^G'q].%t[o_V_Q4``iEKfl11$@SCqb)kGH`/4(%*+7 at 7:s4NT>YA8e"0R,oNnQR
+%I(!kh=:`i.5/"tlI']>m\_etgc$Zo\KlbW-Z&eOhXo$]T/M1V)LZQn2S`"p;F8K[1D)q<8VgL1tG5TS%.C]_M]'A-_:65P6qo-:U
+%X`5-Nfd)8mBC9p+SDn?o,nDV>^0R?b;^#RYYs9.UJ;bEZClodC!hGQ[YKPUBG=$*D$K)U'Ol[1nqn\F:U>8#k^(72u!N*MrS0,Gt
+%*HM)aif<=pcjmR7"SIlBQpk>bp>`48C$2HPS*flpFincgCj1*fD;3&AY_-1EqrBquOW at m5;oFkFX6'Ugqg=!.&2 at BZK\;p9,j>lr
+%<i<uA)NH]`G<AB;]8nc/_p&K:Of6rSHbKQ"SRS=g*E#nBR.9c[Hr)a5em_V5j'XAV_AMCZ1$(Q?D*74O$8Hr$FBV!k9o0F,Em"&e
+%I_lg+_<ut#L#D7ad9Feh^8I0VmF?CSE"!>Ylat^FK]\Psh9L?6a12i2fkTVa[jS,/]8('9^)c92:LDs%3&JaXpM[<4`h)]MRD/X;
+%GE],>Df9fWoP]g9B(6bKc!%2D7=U>mA[M:#QW(Fr:Uo82N:0%[Sp[aMrI)3Ilp%k&pd%5qe):#5"nLDK,;]+S1Hnl8IUXcW$="9]
+%I=4,%qXP9q9?]?:ld\N9L%^WRk9"#9?oP0o+$ckW8GVj`\FkhonA?YKpu0^EIi at .&rp<HEjD'jIa*_.BnDgN]r/!4.\>oEP]B".r
+%gt4ZSpJ&1K`m/-uh\,he??/6pg at D6boB0J,.U2JgY[;U;GWt-NV5nFik3?qlkV)OA"&J3:?0'_*AmCb0f"63-Nf2[.H;up\[\Yc3
+%m5V4'rkKU&09)-RNNI?R<F/>IYoq=^f+?BLa;3I]VH'#uQHU-[6tB"UcH?P.)*:T7P at V(2K2(nT1HYR_>+L7N"6m'p"WY`V=]p_i
+%T"2cT>U%a.9oAoR>1-kr>[\:Mfs*D*pY`BuAVglaI$A::\4G"#F!]D-jH-:ENnpaU@;8J6j%WPF2rgjM]Ke-/Y:JRn"b3VUaNU"a
+%bBYI([fZNoXN6PEMl]1aDPeE:BpqDb=L]e#TSkNTikUL/P at L-4N7/2u/5eQQr:*2E=D(`S7PRan`[,o%,Aj88$KSCubn::o>ZMSm
+%S/6304s/J#[:=e,9;Z$HLQqS?OK!g$KGp4F2eOF;<J.t))WNd0TU3!J$V[fH#g->?S/#Q=M]o!t0pT,q=Um,Qiamsljs.;pRi/R6
+%(s_9c=d]@K+sBK>/IbnKELB+tKlLU(@%lchW>fWg]X:"#SL%pg?ml,b(HEaEZ_PWnKK?Tj<*E+lV^];1d9,%k?"l5%3[eg`-LbbT
+%4t[3oXiMJ!b6aoL/EM$TQiRk1r^7=ERmEV\OAQjPR\R-eat:3%3>Ut7?T+3]c at ok?8%bF)=J3bZ#)Xt6$?e;VWp'[;PCe at m!Z@)k
+%>)\@dQs<duM6gF?.A^8T*eD[#Vu7J=ak"JS"Q1692,J:]e[6MmY]=>l3A+I[@8go>.mh,MU<K1l`E!QL).kfq&A:Pj,q!>*%bks)
+%jeZ'?k,_H5!77Z!C7;0rniU^@LXd^pHjD3B<n0XllfrWr at iT-g*p=3"j9\[73e>"C=!Z]H9Cm1[-m1FEc0$r(71(qidEZ+["Ead]
+%Um?b%!?<F<`&kbb#^=X)b7/@r?;eu(Te+3bMA`pb]I`?ACB0NK2aE]>"NCse3Z//+fb3dF9=A6$OpWN/*AYY+;3k5Ijh!DqMP^@@
+%=pe#g*V9GEa/,cN3*$#)Ar2'jgC1eS#P9V=-+)_E,#+K"c"tXRE*60J_6OLs%OsMuZDL]R.UaAf!Y8=#P-cQ\$ljCej]i0%PLaC)
+%<_X(iUC0d*<_#f7FQb'%A5gjf$q,mdZHY_k+JQd!+Faa;<DXHA4pKU]JX?f^#.ai7<=U+5dna#1^M\nYdOXKG$Z#q:>?I['f6IPS
+%(RUWmU+D/C]%6lY:fCPL-*#j5i"f8/"cHf^J*Ah at AtuLX\+&ec'^Q,9+9VBI7%.891pqou=/b8sPPG&"2`*()M0['oT^TCFgJ1'P
+%'APGcH4BV:dnO!Pp3"mi$2Sa`I5M-0gJN=".r?t?lD, at c)k!W6!,`D/o.jn47'J&#iQ\2FWu:oA^`)VZn>UOjkXPlBZ44I6'&Wu/
+%@pDur2XkMJBRs)Q%EF2il]d]<"+d;9&,XuVPuW&d`jm('6"qGF:6um#3JX]/-Mkk'O>Jh,a`/!N^Ht\MG_8Nn[)/Z8)-c%41*cr;
+%?uomcbOYH"Xq4(S<[/HH7aUF)+:Z-'*V9HV0g5;bbTtT8&P1%_MTatHCZ<&\>9=9LJCr7XeaNoG:3$-=R]7&RF=fCL,96CZ'siZ8
+%2usXO*J+q5#q]7,SO]W#$(f'iCpF`kBbC=^4UnO;;:@dp at IB!YKG?ean2gVh=UfdA>W.8r,fr[SJ[Y]=6L7$>i\ZN0C)pFpU4+8j
+%L.aHt<>m!N>n,g(dgHGt3k-+cjiEW.Ia3iJ<h&B5;$7 at o`6PN)R91)]d1Rme?']aUr=`.=Z^O/d#V-I:HT/rh<n-CSo:38WfG1\B
+%73jcks)eO,"'["I)"]=DOgDpN\=Cs#-=]uW'r#Z'BLoPpWf$nm[QkU,Q(#.e0pdiX2O5(ppbh\_bU&/;5Y@!ja==Tud1pha,4j6n
+%_kmk5WpN)RWfReu1*R8ubOCj`jGG.B1W*$i$b,Vh[La#Of'q=2`s(9Cr;'PjUF35V93j<d!k;tPGrQn#8,Q5m,[O*A'b)ra3j'&s
+%9M5F'1hg-L2W6S%AB0c7K/T5XWAKc8Wn&&)8]sK#k/9G(GstMl9%q3kJ\gT?$@ZOr5uER^NkIhIUl\#(-8Yc(R-tpj"qpf"TS#[u
+%rH,s4JgPB;&T$#l5eou86q)I#ml%B];J450IG5Xt`bG;S.&\\4GL-dCcdTIg!!G_EH%M(BRQ^qLUrm5]JMGWn$d8>6>-V$![j*6"
+%ZJC&;9t;K92Vi*h3>8,A=qD9<DN69FP\_B)$o:!k1h]N>`g=Vm7B3*1KE,^F#07[M+`Ei+%4]gb\[9QrpiG+j!k^,DaG^l`:f8ur
+%e&Er0!jcUb#</82UU3jX]O=IQ`EKNYUiZbq&^>^5G:@QiX0 at C:QI%6^h3\mqr!:obJ/t-%_4HE,<CXpN9H*FV6`QEP'S('Y<Go at o
+%c(G4b0i/>2#;6Hj:nGHe&73NA^_"FTIB[G%IM,cmpD]EjF9Ze1:8D&]-o7F*K$"IO!NiaT6Xk1S8X\"JZ\DK$er3`_Ku^8,.8)+:
+%g8q$bBC21OGmt!DQAM]hEBZ at GZ$^1 at 8(`QU<T"NGbJZk(3e,r!KHkNmdLJq`O9-WFl!Q&tA/PsuVBrsU@`6BP'(OR/.PYkf/*Y'5
+%)s[Y9r0C*>WJZX+(G&uD"=G?s#s)lSd1Z72+^6[h-gq65$:r"U.W:M++@$RCP#5#`XBnq8U*`,]-Z/GGrM?8'>,P;>02iIgjh[*1
+%Tk9g'Ck3nTDk81(/]E"Vh?oYoUd6Nr&lmiqG#_0j=m$JQZs>G at 7!MTTQ<6YB6^[M;-+K[Y$Dqd$)b>*DRM/o2.]:6&9dR$oJ:J6[
+%\_5<N0)BR'5R>77M[WgiatT at k/!c&]9RuV3=uMSX(.H(u7u(me+'M at Whl>")2DEq0 at 2i*Q=ogPeaq5rQ%nWRMVQLBU*8kpNd)$5J
+%(H:O^,$0p25QlEFL_:b44?HiVV)JetY1X,54KB'[70+r9OqY>ln-iH._i_RRBXj6H&o0e1i]aZk:8E_?bN9NtOltGcQ;T"aD3[FM
+%"n:2`H]^?5GI+mJALLtVA91>j\Za"j&$&,,Gg%$*\udl7DIWQ]7O7dd7;HTdf\i+-@:]=.S00pQ+cQ(e'E+/3H];oo1ZoI`gs?fO
+%B/$//:0eaT10A4d$bfd'T1H'gR*LMf,&>)B_>L6HGDT at 0CF/p!j!H$:-_7QeFN-J7</t>h8?rd5"-$,Qs7V'\*A9mDTs5?$&QI5:
+%`=CJ,.bYTnUmBj[AaQIMcXAdc\V'&Ek5\5B?c<Oj6arhpJ.rce@\p$-?58d5 at YM"Y3YiFV at V)u=1%(uF(G"a(KtjiO(bHm8KuTc$
+%)(V%BMJ?SY/Zd7*'i93/k*\F+^)bUs2>77;W\Pe/1YkjSiCR=@3EjZO/=i8MZ3dp4(j!8W3/:,&SSA-KgB(FDDZkds'B[">)]5qj
+%fdYu.RmS&6-ppPbQ3V#hdmglp8a-u;&,'4.NqFUcc7ki292>p>3_CiKd>Jj8Tf4TXc^Hn&0'KgZWg&H6>aEm(16LLW=B^o]4bQfa
+%Gd+Dq'e++@$Xo0L=]e^_<SsN>]!.D8X8#*jK9>``I:^FYEb&:ZN#"?^7F4T)1g3cd9<VcP2HId+CV=.>pn"MU;/J<A5=^TiO]#^l
+%Y)F&PY=E"Yk]RZ>)+Eg_61HD*:dqBdO]#7W%uZ[r_R`pHqA'e/@TC(Feecm>,=TMCYSbq4 at hm-W*AaX:`[[]Kh))487Ot]OSMmG.
+%`[\^C<T0Te*%<H]=.b-9FJOS<>icI<i3=J9=GdO1Q*I(G[2`D*Set$akc[@G*qT;<HjF4Q/CF[k.#_<Va;2e10Lgd/,8+%/ck?d`
+%f=sYp'il#e8!1Am=IY7L0I(_cYSJ.VR"fb6T_9;)d"Z\uYgsbq#`!Q_TX5]>5DN8(Y`^$/G6_.<Y]:ecY6RMkYYH8hlpf.46%q9r
+%7_WIQ+-rODSpFY:MNk at i`NDa'm'pdG/$4L/\=cA//`e#)q][?&=Q(r3?At-l_a7p:c4!=:Z,10V4q1/dd7S5V at XD)(NE1L<(#hb)
+%3F6Wae>4D?lWBE6/;?YEk0_=tU]MX;dmra"Oh-&'F<Gme&3F`bS4Q,p0#BE)a at Sqh`$@HIM4M at K$G3PEE*+EHe<4r1-ZtZB@?au0
+%,Wnt/@0qIe`4'/d!,I>M at F,.&1?%G#g(P<;b?/.+fmjFt"Zu*[^Qc^cWeD8IlKVOk-0kUC81,lFRC65MZeF"H#AnEr3L/]1\:55D
+%)73qUqacje<%O;GiZtOU*ueZm./>SF1sG71$kXe!o=5N]&lD>]/JAHD\R6s;OYa3a*Amq"=W#LCp.aJp($0te6RYn<eTBqaMq!_T
+%"i8_KUor_09853<GC65"I)-P;ZqT8 at 3HU;Ro3&4B2CUOn1j!lA]"oGoP/bAPQnMNeOnEQb[Yp`UF,#=5?FS/49fgW[K1:u)_\O]I
+%;tP]k?!E)SY,+Kef.t,aXgY==8g6?X1PD!m(9:,53HolI8d^p*_K.<OJ/)L3IQi_0SQpWWK@:hiik41,1L1HSIQNER,K.oV0KY#!
+%LtNWNn&9ci,6sMK)I133UXje,NJDsjkUf-!&pg.*8XqQ+d's;&$MD\"9Rr-75r"n#5\#W&J[@c9LDCN/U\h/F0ZX>UKZ5$R!HD0Q
+%\s1S3"@`tZSA;R""8k$b0Z!#&m3m!C'cpl(%_EoT at _o<PjDZ\5Jr:Vt71]!A,JW_M0QMCT*\iDIOO9iGirdQqcng,-)B>E)LTIbU
+%f^Q[74Of?2r<<MFi?<7>W;63R3]sd0*c6Z;i5$:VjK(+!d0rf6,=eN7dgFCCDF]fk[IDNpFu1!Vi.Zr6Z(o+po>9ER0m`1'*_qFp
+%R'C/Hi%QuI09)O%L'Op at iG<aj)]nT?Ne1aG`kep#E:Ou1Xc/caL?G/eiM\*`--qblo=Hg!>A:,fVakTYgIi,#&T&[:WSEiALbQ&W
+%-]W7FC!ErPA_D^thMRd8W<b9:W-GgfeN@!_9(g]<1:;Q\?>?eMg^ni`S3IBggl=C03FHoWQjJHK"4G$P!J at Xg6l$^K,f3?uFh"a0
+%qL=JQ'V;>1F:t+WL?Gn*6eq1,2f]lX5;j"4QQq:4n\aY5Tlt\O*BbJTO3o2-mI<R>i:&pN`#h!`Ngrk"-eOQ&md&72,F:Ok-Md0r
+%7^)^H5F:j,n;"pCs%<=iG.(L2gX48`p:3cU4&iP7__8[n-\Q[?osRG8+4i`^"^O7dP:&$@:.P=#4O.qm~>
+%AI9_PrivateDataEnd
diff --git a/gosa-core/contrib/build-gosa b/gosa-core/contrib/build-gosa
new file mode 100755
index 0000000..db888ea
--- /dev/null
+++ b/gosa-core/contrib/build-gosa
@@ -0,0 +1,230 @@
+#!/usr/bin/env python
+#-*- coding: utf-8 -*-
+import os
+import re
+import sys
+import shutil
+import tarfile
+import subprocess
+import logging
+from optparse import OptionParser
+from os.path import join
+from tempfile import mkdtemp
+
+# Version setter
+VERSION = "1.0"
+methods = {}
+
+
+# Check if pysvn is installed
+try:
+    import pysvn
+
+    def load_svn(base_url, release, tmp_dir):
+        source = base_url + "/" + release
+        svn = pysvn.Client()
+
+        for part in ["gosa-core", "gosa-plugins"]:
+            print("Retrieving %s from SVN..." % part)
+            rev = svn.export(source + "/" + part, join(tmp_dir, part))
+
+        return "svn" + str(rev.number)
+
+    methods["svn"] = load_svn
+except:
+    pass
+
+
+def tar_extract(name, target):
+    tar = tarfile.open(name, "r:gz")
+    tar.extractall(target)
+    tar.close()
+
+def tar_create(name, source):
+    tar = tarfile.open(name, "w:gz")
+    tar.add(source)
+    tar.close()
+
+def build(release, base_url, target="/tmp", method="svn", key_id=None, cleanup=True, smarty=False):
+
+    # Absolutize target
+    target = os.path.abspath(target)
+
+    # Create target and temporary directory
+    try:
+        tmp_dir = mkdtemp()
+        target_dir = join(target, "gosa")
+        os.makedirs(target_dir)
+
+        # Get data
+        if method in methods:
+            rev = methods[method](base_url, release, tmp_dir)
+        else:
+            print("Error: method '%s' is notavailable" % method)
+
+        # Prepare gosa-core for archiving
+        core_dir = join(tmp_dir, "gosa", "gosa-core")
+        os.makedirs(join(tmp_dir, "gosa"))
+        shutil.move(join(tmp_dir, "gosa-core"), join(tmp_dir, "gosa"))
+        shutil.move(join(core_dir, "debian"), target_dir)
+
+        # Remove all but .php files provided by GOsa
+        if not smarty:
+            smarty_dir = join(core_dir, "include", "smarty")
+            for rfile in [f for f in os.listdir(join(smarty_dir, "plugins"))
+                if not f in ["block.render.php", "block.t.php", "function.msgPool.php",
+                "function.factory.php", "function.image.php"]]:
+
+                os.remove(join(smarty_dir, "plugins", rfile))
+
+            for rfile in [join(smarty_dir, f) for f in os.listdir(smarty_dir)]:
+                if os.path.basename(rfile) != "plugins":
+                    if os.path.isdir(rfile):
+                        shutil.rmtree(rfile)
+                    else:
+                        os.remove(rfile)
+
+            # Remove smarty3 package section
+            out = ""
+            control = join(target_dir, "debian", "control")
+            data = open(control, 'r')
+            remove = False
+
+            for line in data:
+                line = line.rstrip()
+                if line == "Package: smarty3":
+                    remove = True
+            
+                if not remove:
+                    out += line + "\n"
+
+                if remove and line == "":
+                    remove = False
+
+            of = open(control, 'w')
+            of.write(out)
+            of.close()
+
+        # Get target version number
+        version = None
+        with open(join(core_dir, "Changelog")) as f:
+            for line in f.readlines():
+                if line.startswith("* gosa"):
+                    version = line.split(" ")[2].strip()
+                    break
+
+        # If we're in trunk or branches, add revision to version
+        if re.match(r"^(trunk|branches/)", release):
+            version = "%s+%s" % (version, rev)
+            os.chdir(target_dir)
+            subprocess.call(["dch", "--newversion=" + version + "-1",
+                "--no-force-save-on-release", "Development snapshot"])
+
+        # Build gosa-core tar file
+        os.chdir(tmp_dir)
+        tar_create(join(target, "gosa_%s.orig.tar.gz" % version), "gosa")
+
+        # Clean up and build plugin archives
+        tars = []
+        os.chdir(join(tmp_dir, "gosa-plugins"))
+        for f in os.listdir(join(tmp_dir, "gosa-plugins")):
+            pth = join(target, "gosa_%s.orig-%s.tar.gz" % (version, f))
+            if os.path.exists(join(tmp_dir, "gosa-plugins", f, "plugin.dsc")):
+                os.remove(join(tmp_dir, "gosa-plugins", f, "plugin.dsc"))
+            tar_create(pth, f)
+            tars.append(pth)
+
+        # Stage build directory
+        tar_extract(join(target, "gosa_%s.orig.tar.gz" % version), target)
+        for tar_file in tars:
+            tar_extract(tar_file, target_dir)
+
+        # Build packages
+        print("Building packages to %s" % target)
+        os.chdir(target_dir)
+        if key_id:
+            status = subprocess.call(["dpkg-buildpackage", "-k", key_id, "-rfakeroot"])
+        else:
+            status = subprocess.call(["dpkg-buildpackage", "-uc", "-us", "-rfakeroot"])
+
+        # Bail out?
+        if status:
+            raise Exception("Build failed: exit code %s" % status)
+
+    except Exception as detail:
+        print("Error:", str(detail))
+
+    # Cleanup
+    finally:
+        if cleanup:
+            if os.path.exists(tmp_dir):
+                shutil.rmtree(tmp_dir)
+            if os.path.exists(target_dir):
+                shutil.rmtree(target_dir)
+
+def main():
+    # Sanity check
+    for cli, pkg in [("/usr/bin/dpkg-buildpackage", "dpkg-dev"),
+        ("/usr/bin/fakeroot", "fakeroot"),
+        ("/usr/bin/dch", "devscripts"),
+        ("/usr/bin/dh", "debhelper")]:
+
+        if not os.path.exists(cli):
+            print("Error: %s is missing, please install %s" % (cli, pkg))
+            exit(1)
+
+    # Methods available?
+    if not methods:
+        print("Error: no retrieval methods available, please install python-svn")
+        exit(1)
+
+    # Parse commandline options
+    op = OptionParser(usage="%prog - GOsa packaging aid",
+        version="%prog " + VERSION)
+    op.add_option("-s", "--source", dest="source",
+        default="https://oss.gonicus.de/repositories/gosa",
+        help="retrieval base path [%default]", metavar="URL")
+    op.add_option("-a", "--with-smarty", dest="smarty",
+        default=False, action="store_true",
+        help="build smarty3 packages from smarty provided by gosa source")
+    op.add_option("-t", "--target", dest="target",
+        default=".",
+        help="target directory [%default]", metavar="PATH")
+    op.add_option("-m", "--method", dest="method",
+        default="svn",
+        help="retrieval method [%default]", metavar="METHOD")
+    op.add_option("-n", "--no-cleanup", action="store_false",
+        dest="cleanup", default=True,
+        help="don't clean up temporary files")
+    op.add_option("-k", "--key-id", dest="key_id",
+        default=None,
+        help="GPG key ID used for signing if applicable", metavar="KEY_ID")
+
+    (options, args) = op.parse_args()
+    if len(args) != 1:
+        op.print_help()
+        exit(1)
+
+    # Allow version shortcut, but prepend tags/
+    release = args[0]
+    if re.match(r"^[0-9]", release):
+        release = "tags/" + release
+
+    # Validate release
+    if not re.match(r"^(tags/.|branches/.|trunk$)", release):
+        print("Error: release must be in the format tags/x (or just x), branches/x or trunk")
+        exit(1)
+
+    # Start build
+    build(release, options.source, options.target,
+        options.method, options.key_id, options.cleanup, options.smarty)
+
+
+""" Main GOsa packaging aid """
+if __name__ == '__main__':
+    if not sys.stdout.encoding:
+        sys.stdout = codecs.getwriter('utf8')(sys.stdout)
+    if not sys.stderr.encoding:
+        sys.stderr = codecs.getwriter('utf8')(sys.stderr)
+
+    main()
diff --git a/gosa-core/contrib/gosa.conf b/gosa-core/contrib/gosa.conf
index 6d14060..e996590 100644
--- a/gosa-core/contrib/gosa.conf
+++ b/gosa-core/contrib/gosa.conf
@@ -1,5 +1,7 @@
 {literal}<?xml version="1.0"?>{/literal}
-<conf configVersion="{$config_checksum}" >
+<conf configVersion="{$config_checksum}" 
+    instancePassword=""
+    instanceUUID="{$cv.instanceUUID}">
 
   <!-- GOsa menu definition **************************************************
 
@@ -31,29 +33,19 @@
    -->
   <menu>
 
-    <!-- Section to enable quick self service shortcuts for the logged in user -->
-    <section name="My account">
-      <plugin acl="users/user:self" class="user" />
-      <plugin acl="users/posixAccount:self"  class="posixAccount" />
-      <plugin acl="users/environment:self" class="environment" {if $cv.optional.kioskpath_active} kioskPath="{$cv.optional.kioskpath}"{/if} />
-      <plugin acl="users/mailAccount:self" class="mailAccount" />
-      <plugin acl="users/sambaAccount:self" class="sambaAccount" />
-      <plugin acl="users/netatalk:self" class="netatalk" />
-      <plugin acl="users/connectivity:self" class="connectivity" />
-      <plugin acl="users/gofaxAccount:self" class="gofaxAccount" />
-      <plugin acl="users/phoneAccount:self" class="phoneAccount" />
-      <plugin acl="users/nagiosAccount:self" class="nagiosAccount" />
-      <plugin acl="users/scalixAccount:self" class="scalixAccount" />
-      <plugin acl="users/password:self" class="password" />
-    </section>
-
     <!-- Section to enable administrative services -->
     <section name="Administration">
       <plugin acl="department" class="departmentManagement" />
-      <plugin acl="users" class="userManagement" />
+
+      <!-- This long ACL list is required to exclude the users menu entry when only 
+            'viewFaxEntries' permissions are set -->
+      <plugin acl="users/netatalk,users/environment,users/posixAccount,users/kolabAccount,users/phpscheduleitAccount,users/oxchangeAccount,users/proxyAccount,users/connectivity,users/pureftpdAccount,users/phpgwAccount,users/opengwAccount,users/pptpAccount,users/intranetAccount,users/webdavAccount,users/nagiosAccount,users/sambaAccount,users/groupware,users/mailAccount,users/user,users/scalixAccount,users/password,users/gofaxAccount,users/phoneAccount,users/Groupware" 
+            class="userManagement" />
       <plugin acl="groups" class="groupManagement" />
       <plugin acl="roles" class="roleManagement"/>
+      <plugin acl="acl"  class="aclManagement" />
       <plugin acl="ogroups" class="ogroupManagement" />
+      <plugin acl="sudo" class="sudoManagement" />
       <plugin acl="application" class="applicationManagement" />
       <plugin acl="mimetypes" class="mimetypeManagement" />
       <plugin acl="devices" class="deviceManagement" />
@@ -66,23 +58,30 @@
       <plugin acl="gofaxlist" class="blocklist" />
       <plugin acl="gofonmacro" class="goFonMacro" />
       <plugin acl="gofonconference" class="phoneConferenceManagment" />
-      <plugin acl="acl"  class="aclManagement" />
-      <plugin acl="sudo" class="sudoManagement" />
     </section>
 
     <!-- Section to enable addon plugins -->
     <section name="Addons">
-      <plugin acl="server/rSyslogServer"  class="rsyslog" />
-    <!--  <plugin acl="server/servservrepository,server/dakrepository,server/dakkeyring,server/dakqueue" class="dak_tabs" path="plugins/addons/dak" /> -->
-      <plugin acl="addressbook" class="addressbook" />
-      <plugin acl="mailqueue" class="mailqueue" />
-      <plugin acl="faxreport/faxreport:self,faxreport" class="faxreport" />
-      <plugin acl="fonreport/fonreport:self,fonreport" class="fonreport" />
+      <plugin acl="all/all"  class="propertyEditor" />
+      <plugin acl="server/rSyslogServer" class="rsyslog" />
+<!--      <plugin acl="mailqueue" class="mailqueue" />-->
+      <plugin acl="users/viewFaxEntries:self,users/viewFaxEntries" class="faxreport" />
+      <plugin acl="users/viewFonEntries:self,users/viewFonEntries" class="fonreport" />
       <plugin acl="gotomasses" class="gotomasses" />
       <plugin acl="ldapmanager" class="ldif" />
     </section>
   </menu>
 
+  <!-- These entries will be rendered on the short-cut menu -->
+  <shortCutMenu>
+      <plugin acl="none" class="welcome" />
+  </shortCutMenu>
+
+  <!-- These entries will be rendered on the path navigator -->
+  <pathMenu>
+      <plugin acl="users/netatalk:self,users/environment:self,users/posixAccount:self,users/kolabAccount:self,users/phpscheduleitAccount:self,users/oxchangeAccount:self,users/proxyAccount:self,users/connectivity:self,users/pureftpdAccount:self,users/phpgwAccount:self,users/opengwAccount:self,users/pptpAccount:self,users/intranetAccount:self, users/webdavAccount:self,users/nagiosAccount:self,users/sambaAccount:self,users/mailAccount:self,users/groupware, users/user:self,users/scalixAccoun [...]
+      <plugin acl="users/password:self" class="password" />
+  </pathMenu>
 
 
   <!-- Tab definitions *******************************************************
@@ -103,24 +102,41 @@
   </acltab>
 
   <aclroletab>
-    <tab class="aclRole" name="ACL Role" />
+    <tab class="aclrole" name="ACL Role" />
   </aclroletab>
 
   <!-- User dialog -->
   <usertabs>
      <tab class="user" name="Generic" />
-     <tab class="posixAccount" name="Unix" />
-     <tab class="environment" name="Environment" />
-     <tab class="mailAccount" name="Mail" />
+     <tab class="posixAccount" name="POSIX" />
      <tab class="sambaAccount" name="Samba" />
      <tab class="netatalk" name="Netatalk" />
+     <tab class="mailAccount" name="Mail" />
+<!--     <tab class="Groupware" name="Groupware" />-->
+     <tab class="scalixAccount" name="Scalix" />
+     <tab class="environment" name="Desktop" />
      <tab class="connectivity" name="Connectivity" />
      <tab class="gofaxAccount" name="Fax" />
      <tab class="phoneAccount" name="Phone" />
-     <tab class="scalixAccount" name="Scalix" />
      <tab class="nagiosAccount" name="Nagios" /> 
    </usertabs>
 
+  <!-- User dialog -->
+  <MyAccountTabs>
+     <tab class="user" name="Generic" />
+     <tab class="posixAccount" name="POSIX" />
+     <tab class="sambaAccount" name="Samba" />
+     <tab class="netatalk" name="Netatalk" />
+     <tab class="mailAccount" name="Mail" />
+<!--     <tab class="Groupware" name="Groupware" />-->
+     <tab class="scalixAccount" name="Scalix" />
+     <tab class="environment" name="Desktop" />
+     <tab class="connectivity" name="Connectivity" />
+     <tab class="gofaxAccount" name="Fax" />
+     <tab class="phoneAccount" name="Phone" />
+     <tab class="nagiosAccount" name="Nagios" />
+   </MyAccountTabs>
+
   <opsiLicenseTabs>
     <tab class="licensePoolGeneric" name="Generic"/>
     <tab class="licenseUsage" name="Usage"/>
@@ -129,9 +145,11 @@
   <!-- Group dialog -->
   <grouptabs>
     <tab class="group" name="Generic" />
-    <tab class="environment" name="Environment" />
-    <tab class="appgroup" name="Applications" />
+    <tab class="DynamicLdapGroup" name="Dynamic object" />
+    <tab class="environment" name="Desktop" />
+    <tab class="appgroup" name="Startmenu" />
     <tab class="mailgroup" name="Mail" />
+<!--    <tab class="GroupwareSharedFolder" name="Groupware" />-->
   </grouptabs>
 
   <!-- Sudo dialog -->
@@ -157,13 +175,12 @@
 
   <phonetabs>
     <tab class="phoneGeneric" name="Generic" />
-    <!-- <tab class="glpiAccount" name="Inventory" /> -->
   </phonetabs>
 
   <!-- GOto plugins -->
   <appstabs>
     <tab class="application" name="Generic" />
-    <tab class="applicationParameters" name="Options" />
+    <tab class="applicationParameters" name="Parameter" />
   </appstabs>
 
   <mimetabs>
@@ -180,62 +197,51 @@
 
   <termtabs>
      <tab class="termgeneric" name="Generic" />
-     <tab class="termstartup" name="Startup" />
+     <tab class="termstartup" name="Recipe" />
      <tab class="termservice" name="Devices" />
-     <tab class="terminfo" name="Information" snmpCommunity="{$cv.optional.snmpcommunity}" />
-     <!--<tab class="glpiAccount" name="Inventory" /> -->
+     <tab class="terminfo" name="Information" />
   </termtabs>
 
   <servtabs>
      <tab class="servgeneric" name="Generic" />
-     <tab class="workstartup" name="Startup" />
+     <tab class="workstartup" name="Recipe" />
      <tab class="ServerService" name="Services" />
      <tab class="faiSummaryTab" name="Deployment summary" />
      <tab class="gotoLogView" name="Installation logs" />
-     <tab class="terminfo" name="Information" snmpCommunity="{$cv.optional.snmpcommunity}" />
-     <!-- <tab class="glpiAccount" name="Inventory" /> -->
+     <tab class="terminfo" name="Information" />
   </servtabs>
 
   <worktabs>
      <tab class="workgeneric" name="Generic" />
-     <tab class="workstartup" name="Startup" />
+     <tab class="workstartup" name="Recipe" />
      <tab class="workservice" name="Devices" />
      <tab class="printgeneric" name="Printer" />
-     <tab class="terminfo" name="Information" snmpCommunity="{$cv.optional.snmpcommunity}" />
+     <tab class="terminfo" name="Information" />
      <tab class="faiSummaryTab" name="Deployment summary" />
      <tab class="gotoLogView" name="Installation logs" />
-     <!-- <tab class="glpiAccount" name="Inventory" /> -->
   </worktabs>
 
   <printtabs>
      <tab class="printgeneric" name="Generic" />
-     <!-- <tab class="glpiPrinterAccount" name="Inventory" /> -->
   </printtabs>
 
   <componenttabs>
      <tab class="componentGeneric" name="Generic" />
-     <!-- <tab class="glpiAccount" name="Inventory" /> -->
   </componenttabs>
 
   <wintabs>
      <tab class="wingeneric" name="Generic" />
-     <!-- <tab class="glpiAccount" name="Inventory" /> -->
   </wintabs>
 
   <serverservice>
     <tab class="goMailServer" />
-{if $cv.mail == "Kolab" || $cv.mail == "Kolab22"}
     <tab class="servkolab" />
-{else}
-    <!-- <tab class="servkolab" /> -->
-{/if}
     <tab class="goNtpServer" />
     <tab class="servrepository" />
     <tab class="goImapServer" />
     <tab class="goKrbServer" />
     <tab class="goFaxServer" />
     <tab class="goFonServer" />
-    <tab class="goGlpiServer" />
     <tab class="goCupsServer" />
     <tab class="goKioskService" />
     <tab class="goTerminalServer" />
@@ -251,75 +257,62 @@
   <!-- Department plugin -->
   <deptabs>
     <tab class="department" name="Generic" />
+    <tab class="DynamicLdapGroup" name="Dynamic object" />
   </deptabs>
 
   <organization_tabs>
     <tab class="organization" name="Generic" />
+    <tab class="DynamicLdapGroup" name="Dynamic object" />
   </organization_tabs>
 
   <locality_tabs>
     <tab class="locality" name="Generic" />
+    <tab class="DynamicLdapGroup" name="Dynamic object" />
   </locality_tabs>
 
   <country_tabs>
     <tab class="country" name="Generic" />
+    <tab class="DynamicLdapGroup" name="Dynamic object" />
   </country_tabs>
 
   <dcobject_tabs>
     <tab class="dcObject" name="Generic" />
+    <tab class="DynamicLdapGroup" name="Dynamic object" />
   </dcobject_tabs>
 
   <domain_tabs>
     <tab class="domain" name="Generic" />
+    <tab class="DynamicLdapGroup" name="Dynamic object" />
   </domain_tabs>
 
   <!-- Role tabs -->
   <roletabs>
     <tab class="roleGeneric" name="Generic"/>
+    <tab class="DynamicLdapGroup" name="Dynamic object" />
   </roletabs>
 
   <ogrouptabs>
     <tab class="ogroup" name="Generic" />
+    <tab class="DynamicLdapGroup" name="Dynamic object" />
   </ogrouptabs>
 
-  <!-- Debian archive management plugin -->
-  <!--
-  <dak_tabs>
-    <tab class="dakrepository" name="Repository" />
-    <tab class="dakqueue" name="Queue" />
-    <tab class="dakkeyring" name="Key ring" />
-  </dak_tabs>
-  -->
-
   <!-- Connectivity plugins -->
   <connectivity>
-{if $cv.mail == "Kolab" || $cv.mail == "Kolab22"}
     <tab class='kolabAccount' />
-{else}
-<!-- <tab class='kolabAccount' /> -->
-{/if}
     <tab class="proxyAccount" />
     <tab class="pureftpdAccount" />
     <tab class="webdavAccount" />
     <tab class="phpgwAccount" />
     <tab class="intranetAccount" />
-    <!--
-    <tab class="opengwAccount"
-      username="OGo"
-      password=""
-      database="OGo"
-      databaseServer="localhost" />
-    -->
     <tab class="pptpAccount" /> 
     <tab class="phpscheduleitAccount" /> 
     <tab class="oxchangeAccount" />
+    <tab class="opengwAccount" />
   </connectivity>
 
   <ldiftab>
     <tab class="ldifexport" name="Export" />
     <tab class="xlsexport" name="Excel Export" />
-    <tab class="ldifimport" name="Import" />
-    <tab class="csvimport" name="CSV Import" />
   </ldiftab>
 
   <faipartitiontabs>
@@ -327,7 +320,7 @@
   </faipartitiontabs>
 
   <faiscripttabs>
-    <tab class="faiScript" name="Script" />
+    <tab class="faiScript" name="Scripts" />
   </faiscripttabs>
 
   <faihooktabs>
@@ -352,15 +345,15 @@
   </faipackagetabs>
 
   <opsitabs>
-    <tab class="opsiGeneric" name="Opsi" />
-    <tab class="opsiSoftware" name="Hardware information" />
-    <tab class="opsiHardware" name="software information" />
-    <tab class="licenseUsageByHost" name="Usage"/>
+    <tab class="opsiGeneric" name="Generic" />
+    <tab class="opsiSoftware" name="Hardware" />
+    <tab class="opsiHardware" name="Software" />
+    <tab class="licenseUsageByHost" name="License usage"/>
   </opsitabs>
 
   <opsiprodconfig>
-    <tab class="opsiProperties" name="Config" />
-    <tab class="licenseByProduct" name="Usage"/>
+    <tab class="opsiProperties" name="Properties" />
+    <tab class="licenseByProduct" name="License usage"/>
   </opsiprodconfig>
 
   <!-- rSyslog plugin -->
@@ -377,215 +370,25 @@
        the gosa.conf(5) manual page.
 
   -->
+  <!-- If you broke your setup using the propertyEditor, then set 'ignoreLdapProperties' to true. -->
   <main default="{$cv.location}"
-{if $cv.generic_settings.logging}
-        logging="true"
-{else}
-        logging="false"
-{/if}
-{if $cv.optional.list_summary}
-        listSummary="true"
-{else}
-        listSummary="false"
-{/if}
-{if $cv.pwd_rules.pwminlen_active}
-        passwordMinLength="{$cv.pwd_rules.pwminlen}"
-{/if}
-{if $cv.pwd_rules.pwdiffer_active}
-        passwordMinDiffer="{$cv.pwd_rules.pwdiffer}"
-{/if}
-{if $cv.pwd_rules.externalpwdhook_active}
-        passwordHook="{$cv.pwd_rules.externalpwdhook}"
-{/if}
-{if $cv.errorlvl}
-        displayErrors="true"
-{else}
-        displayErrors="false"
-{/if}
-{if $cv.enable_schema_check}
-        schemaCheck="true"
-{else}
-        schemaCheck="false"
-{/if}
-{if $cv.generic_settings.enableCopyPaste}
-        copyPaste="true"
-{else}
-        copyPaste="false"
-{/if}
-{if $cv.optional.forceglobals}
-        forceGlobals="true"
-{else}
-        forceGlobals="false"
-{/if}
-{if $cv.optional.forcessl}
-        forceSSL="true"
-{else}
-        forceSSL="false"
-{/if}
-{if $cv.optional.ldapstats}
-        ldapStats="true"
-{else}
-        ldapStats="false"
-{/if}
-{if $cv.optional.warnssl}
         warnSSL="true"
+        forceSSL="false"
+        forceGlobals="true"
+        ignoreLdapProperties="false"
+{if $cv.rfc2307bis}
+        rfc2307bis="true"
 {else}
-        warnSSL="false"
-{/if}
-{if $cv.optional.ppd_path_active}
-        ppdGzip="true"
-        ppdPath="{$cv.optional.ppd_path}"
-{/if}
-{if $cv.optional.max_ldap_query_time_active}  
-        ldapMaxQueryTime="{$cv.optional.max_ldap_query_time}"
-{/if}
-{if $cv.optional.noprimarygroup}
-        primaryGroupFilter="true"
-{/if}
-{if $cv.optional.mailQueueScriptPath_active}
-        mailQueueScriptPath="{$cv.optional.mailQueueScriptPath}"
-{/if}
-{if $cv.optional.user_filter_cookie}
-        storeFilterSettings="true"
-{else}
-        storeFilterSettings="false"
-{/if}
-{if $cv.compressed}
-        sendCompressedOutput="true"
-{else}
-        sendCompressedOutput="false"
-{/if}
-{if $cv.optional.uniq_identifier_active}
-        modificationDetectionAttribute="{$cv.optional.uniq_identifier}"
-{else}
-        modificationDetectionAttribute=""
+        rfc2307bis="false"
 {/if}
-        language="{$cv.lang_selected}"
-        theme="{$cv.theme}"
-        sessionLifetime="{$cv.optional.session_lifetime}"
-        templateCompileDirectory="{$cv.optional.compile}"
-        debugLevel="{$cv.optional.debuglevel}"
-        sambaHashHook='{$cv.samba_settings.smbhash}'
     >
 
     <!-- Location definition -->
     <location name="{$cv.location}"
-              passwordDefaultHash="{$cv.encryption}"
-              accountPrimaryAttribute="{$cv.peopledn}"
-              userRDN="{$cv.peopleou}"
-              groupRDN="{$cv.groupou}"
-              gidNumberBase="{$cv.uidbase}"
-              uidNumberBase="{$cv.uidbase}"
-{if $cv.optional.sudoou_active}
-              sudoRDN="{$cv.optional.sudoou}"
-{/if}
-{if $cv.optional.gosaSupportURI_active}
-              gosaSupportURI="{$cv.optional.gosaSupportURI}"
-              gosaSupportTimeout="{$cv.optional.gosaSupportTimeout}"
-{else}
-              disabled_gosaSupportURI="gosa-si-secret at server:20081"
-              disabled_gosaSupportTimeout="15"
-{/if}
-{if $cv.optional.login_attribute}
-              loginAttribute="{$cv.optional.login_attribute}"
-{else}
-              loginAttribute="uid"
-{/if}
-{if $cv.timezone}
-              timezone="{$cv.timezone}"
-{/if}
-{if $cv.optional.strict_units}
-              honourUnitTags="true"
-{else}
-              honourUnitTags="false"
-{/if}
-{if $cv.krbsasl}
-              useSaslForKerberos="true"
-{else}
-              useSaslForKerberos="false"
-{/if}
-{if $cv.rfc2307bis}
-              rfc2307bis="true"
-{else}
-              rfc2307bis="false"
-{/if}
-{if $cv.include_personal_title}
-              personalTitleInDN="true"
-{else}
-              personalTitleInDN="false"
-{/if}
-{if $cv.base_hook_active}
-              nextIdHook="{$cv.base_hook}"
-{/if}
-{if $cv.generic_settings.wws_ou_active}
-              sambaMachineAccountRDN="{$cv.generic_settings.wws_ou}"
-{/if}
-{if $cv.id_settings.idgen_active}
-              idGenerator="{$cv.id_settings.idgen}"
-{/if}
-{if $cv.strict}
-              strictNamingRules="true"
-{else}
-              strictNamingRules="false"
-{/if}
-{if $cv.id_settings.minid_active}
-              minId="{$cv.id_settings.minid}"
-{/if}
-              mailAttribute="{$cv.mail_attrib}"
-              gosaSharedPrefix=""
-              mailUserCreation=""
-              mailFolderCreation=""
-              imapTimeout="10"
-{if $cv.mail != "disabled"}
-              mailMethod="{$cv.mail}"
-{if $cv.cyrusunixstyle}
-              cyrusUseSlashes="true"
-{else}
-              cyrusUseSlashes="false"
-{/if}
-{if $cv.mail_settings.vacationdir_active}
-              vacationTemplateDirectory="{$cv.mail_settings.vacationdir}"
-{/if}
-{/if}
-{if $cv.tls}
-              ldapTLS="true"
-{/if}
-{if $cv.governmentmode}
-              honourIvbbAttributes="true"
-{else}
-              honourIvbbAttributes="false"
-{/if}
-{if $cv.sambaidmapping}
-              sambaIdMapping="true"
-{/if}
-{if $cv.account_expiration}
-              handleExpiredAccounts="true"
-{/if}
-{if $cv.samba_settings.samba_sid_active}
-              sambaSID="{$cv.samba_settings.samba_sid}"
-{/if}
-{if $cv.samba_settings.samba_rid_active}
-              sambaRidBase="{$cv.samba_settings.samba_rid_active}"
-{/if}
-{if $cv.generic_settings.snapshot_active}  
-              enableSnapshots="true"
-              snapshotBase="{$cv.generic_settings.snapshot_base}"
-              snapshotAdminDn="{$cv.generic_settings.snapshot_user}"
-              snapshotAdminPassword="{$cv.generic_settings.snapshot_password}"
-              snapshotURI="{$cv.generic_settings.snapshot_server}"
-{else}
-              enableSnapshots="false"
-              snapshotBase="dc=localhost,dc=de"
-              snapshotAdminDn="cn=admin,dc=localhost,dc=de"
-              snapshotAdminPassword="secret"
-              snapshotURI="ldap://localhost:389"
-{/if}
               config="ou=gosa,ou=configs,ou=systems,{$cv.base}">
-
               <referral URI="{$cv.connection}/{$cv.base}"
                         adminDn="{$cv.admin}"
                         adminPassword="{$cv.password}" />
-
     </location>
   </main>
 </conf>
diff --git a/gosa-core/contrib/gosa.conf.5 b/gosa-core/contrib/gosa.conf.5
index edd19b7..c780268 100644
--- a/gosa-core/contrib/gosa.conf.5
+++ b/gosa-core/contrib/gosa.conf.5
@@ -89,7 +89,10 @@ You can override an icon by specifying the
 .I "icon"
 attribute.
 
-For every plugin, you can provide at least four additional hooks: 
+For every plugin, you can provide at least seven additional hooks: 
+.I precreate,
+.I preremove,
+.I premodify
 .I postcreate,
 .I postremove,
 .I postmodify
@@ -107,7 +110,7 @@ These keywords take a full executable path of a script. You can
 provide certain parameters in form of LDAP attributes. '%uid'
 will pass the current user id, '%dn' the current object dn, etc.
 
-The script gets executed after create, delete or modify tasks.
+The script gets executed before(pre) and after(post) create, delete or modify tasks.
 
 .I The
 .B check
@@ -115,9 +118,9 @@ The script gets executed after create, delete or modify tasks.
 
 This keyword takes a full executable path of a script. Check is
 triggered after you press the
-\-I "Apply"
+-I "Apply"
 or
-\-I "OK"
+-I "OK"
 button. The complete LDAP entry as it will be written to the
 LDAP is passed to your script. If parts of the entry do not
 match some logic of your script, just print an error message
@@ -270,11 +273,11 @@ The
 statement enables copy and paste for LDAP entries managed with GOsa.
 .PP
 
-.B snapshots
+.B enableSnapshots
 .I bool
 .PP
 The
-.I snapshots
+.I enableSnapshots
 statement enables a snapshot mechaism in GOsa. This enables you to save
 certain states of entries and restore them later on.
 .PP
@@ -403,6 +406,14 @@ The
 variable defines where to store PPD files for the GOto environment plugins.
 .PP
 
+.B ppdGzip
+.I bool
+.PP
+The
+.I ppdGzip
+variable enables PPD file compression.
+.PP
+
 .B resolutions
 .I path
 .PP
@@ -436,6 +447,15 @@ credentials at host:port
 .fi
 .PP
 
+.B gosaSupportTimeout
+.I integer
+.PP
+The
+.I gosaSupportTimeout
+sets a connection timeout for all gosa-si actions. See 
+.I gosaSupportURI
+for details.
+.PP
 
 .B Browser and display options
 
@@ -449,15 +469,6 @@ GOsa generated lists, displaying a short summary of type and number of
 elements in the list.
 .PP
 
-.B iconsize
-.I size value
-.PP
-The
-.I iconsize
-statement sets the icon size in the main menu. Its value should be something
-like 48x48.
-.PP
-
 .B sendCompressedOutput
 .I true/false
 .PP
@@ -509,30 +520,6 @@ not work because the sessions will be removed by a cron job instead. Please modi
 the value inside of your php.ini instead.
 .PP
 
-.B primaryGroupFilter
-.I bool
-.PP
-The
-.I primaryGroupFilter
-variable enables or disables the group filter to show primary user groups. It is
-time consuming to evaluate which groups are primary and which are not. So you may
-want to set it to
-.I true
-if your group plugin is slow.
-.PP
-
-.B iePngWorkaround
-.I bool
-.PP
-The
-.I iePngWorkaround
-variable enables or disables a workaround for IE < 7 in order to display transparent
-PNG files correctly. This drastically slows down browsing. Please use Firefox or Opera
-instead.
-.PP
-.PP
-
-
 .B Password options
 .PP
 .B passwordMinLength
@@ -553,18 +540,27 @@ statement determines whether a newly entered password has to be checked
 to have at least n different characters.
 .PP
 
-.B passwordHook
-.I path
+.B passwordProposalHook
+.I command
 .PP
 The
-.I passwordHook
-can specify an external script to handle password settings at some other
-location besides the LDAP. It will be called this way:
+.I passwordProposalHook
+can be used to let GOsa generate password proposals for you. 
+Whenever you change a password, you can then decide whether to use the proposal or to manually specify a password.
 
 .nf
-/path/to/your/script "username" "oldpassword" "newpassword"
+/usr/bin/apg -n1
 .fi
 
+.B strictPasswordRules
+.I bool
+.PP
+The
+.I strictPasswordRules
+tells GOsa to check for UTF-8 characters in the supplied password. These
+Characters can lead to non working authentications if UTF-8 and none
+UTF-8 systems locales get mixed. The default is "true".
+
 .B handleExpiredAccounts
 .I bool
 .PP
@@ -962,7 +958,7 @@ method.
 .I integer
 .PP
 The
-.I uidNumberPoolMin/gidNumberPoolMin
+.I uidNumberPoolMax/gidNumberPoolMax
 statement defines the highest assignable user/group id for use with the
 .I pool
 method.
@@ -978,11 +974,11 @@ externaly. It gets called with the current entry "dn" and the attribute to be ID
 should return an integer value.
 .PP
 
-.B hash
+.B passwordDefaultHash
 .I string
 .PP
 The
-.I hash
+.I passwordDefaultHash
 statement defines the default password hash to choose for new accounts. Valid values are
 .I crypt/standard-des, crypt/md5, crypt/enhanced-des, crypt/blowfish, md5, sha, ssha, smd5, clear
 and
@@ -1008,7 +1004,7 @@ functions supported - which can be combined:
       idGenerator="{%sn}-{%givenName[2-4]}"
 .fi
 
-    will generate an ID using the full surename, adding a dash, and adding at
+    will generate an ID using the full surname, adding a dash, and adding at
     least the first two characters of givenName. If this ID is used, it'll
     use up to four characters. If no automatic generation is possible, a
     input box is shown.
@@ -1072,15 +1068,15 @@ If you don't have mkntpasswd from the samba distribution installed, you can use
 perl to generate the hash:
 
 .nf
-perl \-MCrypt::SmbHash \-e "print join(q[:], ntlmgen \\$ARGV[0]), $/;"
+perl -MCrypt::SmbHash -e "print join(q[:], ntlmgen \\$ARGV[0]), $/;"
 .if
 .PP
 
-.B sambaidmapping
+.B sambaIdmapping
 .I bool
 .PP
 The
-.I sambaidmapping
+.I sambaIdMapping
 statement tells GOsa to maintain sambaIdmapEntry objects. Depending on your
 setup this can drastically improve the windows login performance.
 .PP
@@ -1143,7 +1139,7 @@ server or keep it after the account is deleted in LDAP.
 .PP
 The
 .I cyrusAutocreateFolders
-statement contains a comma separated list of personal IMAP folders that
+statement contains a comma seperated list of personal IMAP folders that
 should be created along initial account creation.
 
 .B postfixRestrictionFilters
@@ -1248,11 +1244,11 @@ Example template /etc/gosa/vacation/business.txt:
 
 .B Debug options
 .PP
-.B displayerrors
+.B displayErrors
 .I bool
 .PP
 The
-.I displayerrors
+.I displayErrors
 statement tells GOsa to show PHP errors in the upper part of the screen. This
 should be disabled in productive deployments, because there might be some
 important passwords arround.
@@ -1276,11 +1272,11 @@ value tells GOsa to ignore complete ACL sets for the given DN. Add your
 DN here and you'll be able to restore accidently dropped ACLs.
 .PP
 
-.B debuglevel
+.B debugLevel
 .I integer
 .PP
 The
-.I debuglevel
+.I debugLevel
 value tells GOsa to display certain information on each page load. Value
 is an AND combination of the following byte values:
 
diff --git a/gosa-core/contrib/make-gosa-package b/gosa-core/contrib/make-gosa-package
deleted file mode 100755
index 6b86636..0000000
--- a/gosa-core/contrib/make-gosa-package
+++ /dev/null
@@ -1,422 +0,0 @@
-#!/bin/bash
-# This code is part of GOsa (http://www.gosa-project.org)
-# Copyright (C) 2008 GONICUS GmbH
-#
-# ID: $$Id: make-gosa-package 15693 2010-02-24 11:42:05Z janw $$
-#
-# 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.
-#
-# This program 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 General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-# Define defaults
-RELEASE_REASON="GOsa svn snapshot"
-BRANCH="trunk"
-SECTION="web"
-SI_SECTION="utils"
-TARGET_RELEASE="etch"
-MAKE_PLUGINS=""
-MAKE_GOTO=""
-GOTO=""
-PBUILDER=""
-NOT_RELEASED="heimdal dak dfs glpi apache2"
-GOTO_NOT_RELEASED="apache-directory-studio goto-cd libresourcepool-net-ldap-perl-1.002 libresourcepool-perl-1.0104 openproj ptc syslinux konch ldm openssh-4.3p2" 
-DEBIAN_PKG="remove"
-NO_SVN="use"
-EXTRACT=`pwd`
-
-usage() {
-	cat <<-EOF
-	GOsa Debian package build tool. Build snapshots from selected SVN locations or local directories.
-	Usage: ${0##*/} [options]
-	
-	Options:
-	  -b|--branch       Branch to export [$BRANCH]
-	  -p|--plugins      Comma seperate list of plugins to build. Leave empty to build all.
-	  -e|--experimental Build not released plugins (for testers and developers only)
-	  -r|--release      Debian release to build for [$TARGET_RELEASE]
-	  -c|--changelog    Debian changelog entry [$RELEASE_REASON]
-	  -s|--section      Debian section to place GOsa in [$SECTION]
-	  -i|--si-section   Debian section to place GOsa-SI in [$SI_SECTION]
-	  -d|--debian-pkg   Don't clear up debian packages for plugins (for developers only)
-	  -n|--no-svn       Don't extract gosa from svn (when internet connectivity is not present)
-	  -x|--extract-dir  Directory where the checkout is for no-svn
-	  -g|--build-goto   Build the goto2 packages
-	  -l|--use-pbuilder Use pbuilder to build the packages
-	  -h|--help         this help
-
-	EOF
-	exit 1
-}
-
-for cmd in dh-make-gosa debchange dpkg-buildpackage dpkg-source svn; do
-  if ! which $cmd >/dev/null; then
-  	echo "Error: cannot find '$cmd' command in path!";
-  	exit 1
-  fi
-done
-
-# Import command line parameters
-PARMS=`getopt -o e::d::b:r:s:c:i:p:n:x:g::l::,h --long branch:,changelog:,plugins:,section:,si-section:,release:,help -n "${0##*/}" -- "$@"`
-eval set -- "$PARMS"
-
-while true; do
-        case "$1" in
-                -b|--branch)
-			BRANCH=$2; shift 2 ;;
-                -r|--release)
-			TARGET_RELEASE=$2; shift 2 ;;
-                -c|--changelog)
-			RELEASE_REASON=$2; shift 2 ;;
-                -p|--plugins)
-			MAKE_PLUGINS=$(echo $2 | tr ',' ' '); shift 2 ;;
-		-e|--experimental)
-			NOT_RELEASED=""; shift 2;;
-                -s|--section)
-			SECTION=$2; shift 2 ;;
-                -i|--si-section)
-			SI_SECTION=$2; shift 2 ;;
-                -d|--debian-pkg)
-                        DEBIAN_PKG=""; shift 2 ;;
-                -n|--no-svn)
-                        NO_SVN=""; shift 2;;
-                -x|--extract-dir)
-                        EXTRACT=$2; shift 2;;
-                -g|--build-goto)
-                        GOTO="use"; shift 2;;
-                -l|--use-pbuilder)
-                        PBUILDER="use"; shift 2;;
-                -h|--help)
-			usage ;;
-                --)
-			shift; break ;;
-                *)
-			echo "getopt error" ;;
-        esac
-done
-
-if [ "$NO_SVN" = "use" ]
-then
-	echo "Loading svn information for gosa '${BRANCH}'..."
-	svn co -N https://oss.gonicus.de/repositories/gosa/${BRANCH} gosa-info/ > /dev/null
-	BRANCH_REV=$(LANG=C svn info gosa-info | sed -n -e 's/^Last Changed Rev: \([0-9]*\).*$/\1/p')
-	rm -rf gosa-info
-
-	if [ "$GOTO" = "use" ]
-	        then
-	        echo "Loading svn information for goto '${BRANCH}'..."
-	        svn co -N https://oss.gonicus.de/repositories/goto/${BRANCH} goto-info/ > /dev/null
-	        GOTO_BRANCH_REV=$(LANG=C svn info goto-info | sed -n -e 's/^Last Changed Rev: \([0-9]*\).*$/\1/p')
-	        rm -rf goto-info
-	fi
-else
-        echo "Loading svn information for gosa '${BRANCH}' from local checkout ..."
-	BRANCH_REV=$(LANG=C svn info $EXTRACT/gosa-core | sed -n -e 's/^Last Changed Rev: \([0-9]*\).*$/\1/p')
-
-	if [ "$GOTO" = "use" ]
-	then
-		echo "Loading svn information for goto '${BRANCH}' from local checkout ..."
-        	GOTO_BRANCH_REV=$(LANG=C svn info $EXTRACT/goto | sed -n -e 's/^Last Changed Rev: \([0-9]*\).*$/\1/p')
-	fi
-fi
-
-if [ "$NO_SVN" = "use" ]
-then
-	# Load current revision from logs
-	VERSION=$(svn cat -r "${BRANCH_REV}" https://oss.gonicus.de/repositories/gosa/${BRANCH}/gosa-core/debian/changelog \
-		| head -n 1 | sed -n -e 's/.*(\([^-]*\).*/\1/p')
-	if [ "$BRANCH" == "trunk" ]; then
-		GOSA_VER="${VERSION}+svn${BRANCH_REV}"
-
-	        if [ "$GOTO" = "use" ]
-        	then
-			GOTO_VER="+svn${GOTO_BRANCH_REV}"
-		fi
-	else
-		GOSA_VER="${VERSION}"
-
-                if [ "$GOTO" = "use" ]
-                then
-                        GOTO_VER=""
-                fi
-
-	fi
-
-else
-        # Load current revision from logs
-	VERSION=$(cat $EXTRACT/gosa-core/debian/changelog | head -n 1 | sed -n -e 's/.*(\([^-]*\).*/\1/p')
-
-        if [ "$BRANCH" == "trunk" ]; then
-                GOSA_VER="${VERSION}+svn${BRANCH_REV}"
-        else
-                GOSA_VER="${VERSION}"
-        fi
-	echo $GOSA_VER
-fi
-
-GOSA_DIR="gosa-${GOSA_VER}"
-
-ORIG_FILE="gosa_${GOSA_VER}.orig.tar.gz"
-
-if [ "$NO_SVN" = "use" ]
-then
-	# Export from svn...
-	BNAME=$(basename $BRANCH)
-	[ -d "gosa-${BNAME}" ] && rm -rf gosa-$BNAME
-	echo "Exporting current GOsa (rev: ${BRANCH_REV}) from '${BRANCH}'..."
-	svn export -r "${BRANCH_REV}" https://oss.gonicus.de/repositories/gosa/${BRANCH}/gosa-core gosa-${BNAME} > /dev/null
-	svn export -r "${BRANCH_REV}" https://oss.gonicus.de/repositories/gosa/${BRANCH}/gosa-si gosa-si-${BNAME} > /dev/null
-	svn export -r "${BRANCH_REV}" https://oss.gonicus.de/repositories/gosa/${BRANCH}/gosa-plugins gosa-plugins-${BNAME} > /dev/null
-
-        if [ "$GOTO" = "use" ]
-        then
-		echo "Exporting current GOto (rev: ${GOTO_BRANCH_REV}) from '${BRANCH}'..."
-        	svn export -r "${GOTO_BRANCH_REV}" https://oss.gonicus.de/repositories/goto/${BRANCH}/ goto-${BNAME} > /dev/null
-	fi
-else
-        # Export from local checkout...
-        echo "Exporting current GOsa (rev: ${BRANCH_REV}) from localcheckout '${BRANCH}'..."
-	BNAME=$(basename $BRANCH)
-	cp -r gosa-core gosa-${GOSA_VER}
-	mv gosa-si gosa-si-${GOSA_VER}
-	mv gosa-plugins gosa-plugins-${BNAME}
-
-        if [ "$GOTO" = "use" ]
-        then
-		echo "Exporting current GOto (rev: ${GOTO_BRANCH_REV}) from localcheckout '${BRANCH}'..."
-        	BNAME=$(basename $BRANCH)
-		mv goto goto-${BNAME}
-	fi
-fi
-
-if [ "$NO_SVN" = "use" ]
-then
-        VERSION=$(cat "gosa-${BNAME}/debian/changelog" | head -n 1 | sed -n -e 's/.*(\([^-]*\).*/\1/p')
-fi
-
-GOSA_DIR="gosa-${GOSA_VER}"
-GOSA_SI_DIR="gosa-si-${GOSA_VER}"
-GOTO_DIR="goto-${BNAME}"
-
-if [ "$NO_SVN" = "use" ]
-then
-	if [ "$BNAME" != "$GOSA_VER" ]
-	then
-		rm -rf "gosa-${GOSA_VER}"
-	fi
-fi
-
-if [ "$NO_SVN" = "use" ]
-then
-	if [ "$BNAME" != "$GOSA_VER" ]
-	then
-		mv "gosa-${BNAME}" "gosa-${GOSA_VER}"
-		mv "gosa-si-${BNAME}" "gosa-si-${GOSA_VER}"
-	fi
-fi
-
-echo "cleaning svn entries from sources"
-find ${GOSA_DIR} -type d -name ".svn" -exec rm -rf {} \; >/dev/null 2>&1
-find ${GOSA_SI_DIR} -type d -name ".svn" -exec rm -rf {} \; >/dev/null 2>&1
-find gosa-plugins-${BNAME} -type d -name ".svn" -exec rm -rf {} \; >/dev/null 2>&1
-
-if [ "$GOTO" = "use" ]
-then
-	find goto-${BNAME} -type d -name ".svn" -exec rm -rf {} \; >/dev/null 2>&1
-fi
-
-echo "Creating original sources 'gosa-${GOSA_VER}'..."
-tar -c --exclude "${GOSA_DIR}"/debian -f "gosa_${GOSA_VER}.orig.tar" "${GOSA_DIR}"
-tar -c --exclude "${GOSA_SI_DIR}"/debian -f "gosa-si_${GOSA_VER}.orig.tar" "${GOSA_SI_DIR}"
-
-echo "Compressing sources..."
-gzip -f -9 "gosa_${GOSA_VER}.orig.tar"
-gzip -f -9 "gosa-si_${GOSA_VER}.orig.tar"
-
-export OVERRIDE_VERSION="$GOSA_VER"
-if [ -z "$MAKE_PLUGINS" ]; then
-	MAKE_PLUGINS=$(ls -1 gosa-plugins-${BNAME}/*/plugin.dsc | sed 's/^.*\/\([^\/]*\)\/plugin.dsc$/\1/')
-	for i in $NOT_RELEASED; do
-		MAKE_PLUGINS=$(echo -n $MAKE_PLUGINS | sed "s/$i//")
-	done
-fi
-
-if [ "TARGET_RELEASE" == "etch" ]; then
-  NOBREAKS="--no-break"
-fi
-
-for plugin in $MAKE_PLUGINS; do
-
-	GOSA_PLUG_DIR="gosa-plugin-$plugin-${GOSA_VER}"
-
-	echo "gosa plugin dir" $GOSA_PLUG_DIR
-
-	mv "gosa-plugins-${BNAME}/$plugin" .
-
-	echo "Debianizing plugin $plugin"
-	yes | dh-make-gosa $NOBREAKS --section $SECTION $plugin
-	rm -rf "$plugin"
-
-	echo "Packing original sources 'gosa-plugin-$plugin-${GOSA_VER}'..."
-	tar -c --exclude "gosa-plugin-${plugin}-${GOSA_VER}/debian" -f "gosa-plugin-${plugin}_${GOSA_VER}.orig.tar" "${GOSA_PLUG_DIR}"
-
-	echo "Compressing sources..."
-	gzip -f -9 "gosa-plugin-${plugin}_${GOSA_VER}.orig.tar"
-done
-
-rm -rf gosa-plugins-${BNAME}
-
-if [ "$GOTO" = "use" ]
-then
-        MAKE_GOTO=$(ls -1 goto-${BNAME}/)
-
-        for i in $GOTO_NOT_RELEASED; do
-                MAKE_GOTO=$(echo -n $MAKE_GOTO | sed "s/$i//")
-        done
-
-        for goto in $MAKE_GOTO; do
-
-                mv "goto-${BNAME}/$goto" .
-
-                echo "Packing original sources '$goto'..."
-                GOTO_VERSION=$(cat $goto/debian/changelog | head -n 1 | sed -n -e 's/.*(\([^-]*\).*/\1/p')
-
-                if [ "$GOTO_VER" = "" ]
-                then
-			tar -c --exclude "$goto/debian" -f "${goto}_${GOTO_VERSION}.orig.tar" $goto
-                        echo "Compressing sources..."
-                        gzip -f -9 "${goto}_${GOTO_VERSION}.orig.tar"
-                else
-			tar -c --exclude "$goto/debian" -f "${goto}_${GOTO_VERSION}${GOTO_VER}.orig.tar" $goto
-
-			echo "Compressing svn sources..."
-			gzip -f -9 "${goto}_${GOTO_VERSION}${GOTO_VER}.orig.tar"
-
-			echo "Adapting version in $goto"
-			(cd "$goto"; echo | debchange -v "${GOTO_VERSION}${GOTO_VER}-1${TARGET_RELEASE}1" -D "$TARGET_RELEASE" "$RELEASE_REASON")
-		fi
-
-        done
-
-        rm -rf goto-${BNAME}
-fi
-
-echo "Deploying patches..."
-for patch in $(find patches -type f | grep -v .svn); do
-
-	if echo $patch | grep -q gosa-plugin; then
-		plugin=$(echo $patch | sed 's/^.*gosa-plugin-\([^-]*\).*$/\1/g')
-		echo "* gosa-plugin-$plugin patch: $patch"
-		[ -d "gosa-plugin-${plugin}-${GOSA_VER}/debian/patches" ] || mkdir -p "gosa-plugin-${plugin}-${GOSA_VER}/debian/patches"
-		cp "$patch" gosa-plugin-${plugin}-${GOSA_VER}/debian/patches
-	else
-		echo "* gosa-core patch: $patch"
-		[ -d "${GOSA_DIR}/debian/patches" ] && mkdir -p "${GOSA_DIR}/debian/patches"
-		cp "$patch" ${GOSA_DIR}/debian/patches
-	fi
-done
-
-# Put section in GOsa_DIR
-sed -i "s#^Section: web#Section: $SECTION#g" ${GOSA_DIR}/debian/control
-sed -i "s#^Section: utils#Section: $SI_SECTION#g" ${GOSA_SI_DIR}/debian/control
-
-for plugin in $MAKE_PLUGINS; do
-	GOSA_PLUGIN_DIRS="$GOSA_PLUGIN_DIRS gosa-plugin-$plugin-${GOSA_VER}"
-done
-
-if [ "$GOTO" = "use" ]
-then
-	for goto in $MAKE_GOTO; do
-        	GOTO_DIRS="$GOTO_DIRS $goto"
-	done
-fi
-
-for dir in $GOSA_DIR $GOSA_SI_DIR $GOSA_PLUGIN_DIRS; do
-	echo "Adapting version in $dir"
-	if [ "$TARGET_RELEASE" == "unstable" ]; then
-		(cd "$dir"; echo | debchange -v "${GOSA_VER}" "$RELEASE_REASON" >/dev/null 2>&1)
-	else
-		(cd "$dir"; echo | debchange -v "${GOSA_VER}-1${TARGET_RELEASE}1" -D "$TARGET_RELEASE" "$RELEASE_REASON" >/dev/null 2>&1)
-	fi
-	[ -d $dir/debian/patches ] || continue
-	echo "Creating patch list for $dir"
-	ls -1 $dir/debian/patches | grep -v 00list | sed 's%^.*/%%g' > $dir/debian/patches/00list
-done
-
-# Update revision
-sed -i "s/^\$svn_revision = .*$/\$svn_revision = '\$Revision: $BRANCH_REV \$';/g" $GOSA_DIR/include/functions.inc
-
-if [ "$1" = "-s" ]
-then
-	echo "Creating debian sources..."
-	for dir in $GOSA_DIR $GOSA_SI_DIR $GOSA_PLUGIN_DIRS; do
-		dpkg-source -b "$dir"
-	done
-
-        if [ "$GOTO" = "use" ]
-        then
-	        echo "Creating GOto sources..."
-        	for dir in $GOTO_DIRS; do
-                	dpkg-source -b "$dir"
-        	done
-	fi
-else
-	echo "Creating debian packages..."
-
-	for dir in $GOSA_DIR $GOSA_SI_DIR $GOSA_PLUGIN_DIRS; do
-	if [ "$PBUILDER" = "use" ]
-	then
-		echo "using pbuilder to build gosa gosa-si gosa-plugins"
-		(cd "$dir"; pdebuild --debbuildopts -sa; debsign)
-	else
-		(cd "$dir"; dpkg-buildpackage -k$DEBSIGN_KEYID -rfakeroot -sa)
-	fi
-	done
-
-        if [ "$GOTO" = "use" ]
-        then
-	        echo "Creating GOto debian packages..."
-        	for dir in $GOTO_DIRS; do
-	        if [ "$PBUILDER" = "use" ]
-        	then
-			echo "using pbuilder to build goto debian packages"
-                	(cd "$dir"; pdebuild --debbuildopts -sa; debsign -k$DEBSIGN_KEYID)
-		else
-                	(cd "$dir"; dpkg-buildpackage -k$DEBSIGN_KEYID -rfakeroot -sa)
-		fi
-	        done
-	fi
-fi
-
-echo "Removing gosa snapshot..."
-if [ -z "$DEBIAN_PKG" ]
-then
-	if [ "$NO_SVN" = "use" ]
-	then
-		for dir in $GOSA_DIR; do
-        	rm -rf "$dir"
-		done
-	fi
-else
-	for dir in $GOSA_DIR $GOSA_SI_DIR $GOSA_PLUGIN_DIRS; do
-	rm -rf "$dir"
-	done
-
-        if [ "$GOTO" = "use" ]
-        then
-	        for dir in $GOTO_DIRs; do
-        	rm -rf "$dir"
-        	done
-	fi
-fi
-
-
diff --git a/gosa-core/contrib/openldap/gofax.ldif b/gosa-core/contrib/openldap/gofax.ldif
index 727a3b7..16ad355 100644
--- a/gosa-core/contrib/openldap/gofax.ldif
+++ b/gosa-core/contrib/openldap/gofax.ldif
@@ -1,59 +1,163 @@
-dn: cn={9}gofax
+#
+################################################################################
+#
+dn: cn=gofax,cn=schema,cn=config
 objectClass: olcSchemaConfig
-cn: {9}gofax
-olcAttributeTypes: {0}( 1.3.6.1.4.1.10098.1.1.7.1 NAME 'goFaxDeliveryMode' DES
- C 'goFax delivery mode is defined here' EQUALITY caseExactIA5Match SUBSTR cas
- eExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {1}( 1.3.6.1.4.1.10098.1.1.7.2 NAME 'goFaxPrinter' DESC 'de
- fines which printer is used to print a fax' EQUALITY caseExactIA5Match SUBSTR
-  caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALU
- E )
-olcAttributeTypes: {2}( 1.3.6.1.4.1.10098.1.1.7.3 NAME 'goFaxDivertNumber' DES
- C 'for fax diversion services' SYNTAX 1.3.6.1.4.1.1466.115.121.1.22 SINGLE-VA
- LUE )
-olcAttributeTypes: {3}( 1.3.6.1.4.1.10098.1.1.7.4 NAME 'goFaxLanguage' DESC 'p
- referred language for the users goFax entry' EQUALITY caseExactIA5Match SUBST
- R caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VAL
- UE )
-olcAttributeTypes: {4}( 1.3.6.1.4.1.10098.1.1.7.5 NAME 'goFaxFormat' DESC 'def
- ines the fileformat for mailattachments' EQUALITY caseExactIA5Match SUBSTR ca
- seExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {5}( 1.3.6.1.4.1.10098.1.1.7.6 NAME 'goFaxRBlocklist' DESC 
- 'defines faxnumbers the user is not allowed to get fax from' EQUALITY caseExa
- ctIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {6}( 1.3.6.1.4.1.10098.1.1.7.8 NAME 'goFaxSBlocklist' DESC 
- 'defines faxnumbers the user is not allowed to fax to' EQUALITY caseExactIA5M
- atch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {7}( 1.3.6.1.4.1.10098.1.1.7.7 NAME 'goFaxRBlockgroups' DES
- C 'defines groups of receive blocklists the user belongs to' EQUALITY caseExa
- ctIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121
- .1.26 )
-olcAttributeTypes: {8}( 1.3.6.1.4.1.10098.1.1.7.9 NAME 'goFaxSBlockgroups' DES
- C 'defines groups of sender blocklists the user belongs to' EQUALITY caseExac
- tIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.
- 1.26 )
-olcAttributeTypes: {9}( 1.3.6.1.4.1.10098.1.1.7.10 NAME 'goFaxIsEnabled' DESC 
- 'This account is enabled or not' EQUALITY caseExactIA5Match SUBSTR caseExactI
- A5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {10}( 1.3.6.1.4.1.10098.1.1.7.11 NAME 'facsimileAlternateTe
- lephoneNumber' EQUALITY telephoneNumberMatch SUBSTR telephoneNumberSubstrings
- Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} )
-olcObjectClasses: {0}( 1.3.6.1.4.1.10098.1.2.1.11 NAME 'goFaxAccount' DESC 'go
- Fax Account objectclass (v1.0.4)' SUP top AUXILIARY MUST ( goFaxDeliveryMode 
- $ facsimileTelephoneNumber $ uid $ goFaxIsEnabled ) MAY ( goFaxPrinter $ goFa
- xDivertNumber $ goFaxLanguage $ goFaxFormat $ goFaxRBlocklist $ goFaxRBlockgr
- oups $ goFaxSBlocklist $ goFaxSBlockgroups $ mail $ facsimileAlternateTelepho
- neNumber ) )
-olcObjectClasses: {1}( 1.3.6.1.4.1.10098.1.2.1.12 NAME 'goFaxSBlock' DESC 'goF
- ax send blocklist groups (v1.0.4)' STRUCTURAL MUST cn MAY ( goFaxSBlocklist $
-  description ) )
-olcObjectClasses: {2}( 1.3.6.1.4.1.10098.1.2.1.13 NAME 'goFaxRBlock' DESC 'goF
- ax receive blocklist groups (v1.0.4)' STRUCTURAL MUST cn MAY ( goFaxRBlocklis
- t $ description ) )
-structuralObjectClass: olcSchemaConfig
-entryUUID: fbaf77bc-f065-102e-9609-79233977c302
-creatorsName: cn=config
-createTimestamp: 20100510095600Z
-entryCSN: 20100510095600.855485Z#000000#000#000000
-modifiersName: cn=config
-modifyTimestamp: 20100510095600Z
+cn: gofax
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.7.1
+  NAME 'goFaxDeliveryMode'
+  DESC 'goFax delivery mode is defined here'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.7.2
+  NAME 'goFaxPrinter'
+  DESC 'defines which printer is used to print a fax'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.7.3
+  NAME 'goFaxDivertNumber'
+  DESC 'for fax diversion services'
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.22
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.7.4
+  NAME 'goFaxLanguage'
+  DESC 'preferred language for the users goFax entry'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.7.5
+  NAME 'goFaxFormat'
+  DESC 'defines the fileformat for mailattachments'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.7.6
+  NAME 'goFaxRBlocklist'
+  DESC 'defines faxnumbers the user is not allowed to get fax from'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.7.8
+  NAME 'goFaxSBlocklist'
+  DESC 'defines faxnumbers the user is not allowed to fax to'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.7.7
+  NAME 'goFaxRBlockgroups'
+  DESC 'defines groups of receive blocklists the user belongs to'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.7.9
+  NAME 'goFaxSBlockgroups'
+  DESC 'defines groups of sender blocklists the user belongs to'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.7.10
+  NAME 'goFaxIsEnabled'
+  DESC 'This account is enabled or not'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.7.11
+  NAME 'facsimileAlternateTelephoneNumber'
+  EQUALITY telephoneNumberMatch
+  SUBSTR telephoneNumberSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32}
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.11
+  NAME 'goFaxAccount'
+  DESC 'goFax Account objectclass (v1.0.4)'
+  SUP top
+  AUXILIARY
+  MUST ( goFaxDeliveryMode $ facsimileTelephoneNumber $ uid $ goFaxIsEnabled )
+  MAY ( goFaxPrinter $ goFaxDivertNumber $ goFaxLanguage $ goFaxFormat $ goFaxRBlocklist $ goFaxRBlockgroups $ goFaxSBlocklist $ goFaxSBlockgroups $ mail $ facsimileAlternateTelephoneNumber )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.12
+  NAME 'goFaxSBlock'
+  DESC 'goFax send blocklist groups (v1.0.4)'
+  MUST ( cn )
+  MAY ( goFaxSBlocklist $ description )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.13
+  NAME 'goFaxRBlock'
+  DESC 'goFax receive blocklist groups (v1.0.4)'
+  MUST ( cn )
+  MAY ( goFaxRBlocklist $ description )
+  )
+#
+################################################################################
+#
diff --git a/gosa-core/contrib/openldap/gofon.ldif b/gosa-core/contrib/openldap/gofon.ldif
index 88741c9..8237728 100644
--- a/gosa-core/contrib/openldap/gofon.ldif
+++ b/gosa-core/contrib/openldap/gofon.ldif
@@ -1,198 +1,635 @@
-dn: cn={8}gofon
+#
+################################################################################
+#
+dn: cn=gofon,cn=schema,cn=config
 objectClass: olcSchemaConfig
-cn: {8}gofon
-olcAttributeTypes: {0}( 1.3.6.1.4.1.10098.1.1.13.1 NAME 'goFonDeliveryMode' DE
- SC 'GOFon delivery mode is defined here' EQUALITY caseExactIA5Match SUBSTR ca
- seExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {1}( 1.3.6.1.4.1.10098.1.1.13.2 NAME 'goFonForwarding' DESC
-  'defines which phone numbers get the next call' EQUALITY caseExactIA5Match S
- UBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {2}( 1.3.6.1.4.1.10098.1.1.13.3 NAME 'goFonFormat' DESC 'de
- fines voicemail delivery format' EQUALITY caseExactIA5Match SUBSTR caseExactI
- A5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {3}( 1.3.6.1.4.1.10098.1.1.13.4 NAME 'goFonHardware' DESC '
- defines voicemail delivery format' EQUALITY caseExactIA5Match SUBSTR caseExac
- tIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {4}( 1.3.6.1.4.1.10098.1.1.13.5 NAME 'goFonPIN' DESC 'defin
- es voicemail delivery format' EQUALITY caseExactIA5Match SUBSTR caseExactIA5S
- ubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {5}( 1.3.6.1.4.1.10098.1.1.13.6 NAME 'goFonType' DESC 'sets
-  the sip.conf type parameter' EQUALITY caseExactIA5Match SUBSTR caseExactIA5S
- ubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {6}( 1.3.6.1.4.1.10098.1.1.13.7 NAME 'goFonDmtfMode' DESC '
- sets the sip.conf dmtfmode parameter' EQUALITY caseExactIA5Match SUBSTR caseE
- xactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {7}( 1.3.6.1.4.1.10098.1.1.13.8 NAME 'goFonHost' DESC 'sets
-  the sip.conf host parameter' EQUALITY caseExactIA5Match SUBSTR caseExactIA5S
- ubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {8}( 1.3.6.1.4.1.10098.1.1.13.9 NAME 'goFonDefaultIP' DESC 
- 'sets the sip.conf defaultip parameter' EQUALITY caseExactIA5Match SUBSTR cas
- eExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {9}( 1.3.6.1.4.1.10098.1.1.13.10 NAME 'goFonQualify' DESC '
- sets the sip.conf qualify parameter' EQUALITY caseExactIA5Match SUBSTR caseEx
- actIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {10}( 1.3.6.1.4.1.10098.1.1.13.11 NAME 'goFonAuth' DESC 'se
- ts the sip.conf auth parameter' EQUALITY caseExactMatch SUBSTR caseExactSubst
- ringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32} SINGLE-VALUE )
-olcAttributeTypes: {11}( 1.3.6.1.4.1.10098.1.1.13.12 NAME 'goFonSecret' DESC '
- sets the sip.conf secret parameter' EQUALITY caseExactIA5Match SUBSTR caseExa
- ctIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {12}( 1.3.6.1.4.1.10098.1.1.13.13 NAME 'goFonInkeys' DESC '
- sets the sip.conf inkeys parameter' EQUALITY caseExactIA5Match SUBSTR caseExa
- ctIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {13}( 1.3.6.1.4.1.10098.1.1.13.14 NAME 'goFonOutkey' DESC '
- sets the sip.conf outkey parameter' EQUALITY caseExactIA5Match SUBSTR caseExa
- ctIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {14}( 1.3.6.1.4.1.10098.1.1.13.15 NAME 'goFonTrunk' DESC 's
- ets the sip.conf trunk parameter' EQUALITY caseExactIA5Match SUBSTR caseExact
- IA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {15}( 1.3.6.1.4.1.10098.1.1.13.16 NAME 'goFonAccountCode' D
- ESC 'sets the sip.conf accountcode parameter' EQUALITY caseExactIA5Match SUBS
- TR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VA
- LUE )
-olcAttributeTypes: {16}( 1.3.6.1.4.1.10098.1.1.13.17 NAME 'goFonMSN' DESC 'set
- s the sip.conf msn parameter' EQUALITY telephoneNumberMatch SUBSTR telephoneN
- umberSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} SINGLE-VALUE )
-olcAttributeTypes: {17}( 1.3.6.1.4.1.10098.1.1.13.18 NAME 'goFonPermit' DESC '
- sets the sip.conf permit parameter' EQUALITY caseExactIA5Match SUBSTR caseExa
- ctIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {18}( 1.3.6.1.4.1.10098.1.1.13.19 NAME 'goFonDeny' DESC 'se
- ts the sip.conf deny parameter' EQUALITY caseExactIA5Match SUBSTR caseExactIA
- 5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {19}( 1.3.6.1.4.1.10098.1.1.13.20 NAME 'goFonMacroVisible' 
- DESC 'Triggers if the macro is visible for users' EQUALITY caseExactIA5Match 
- SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGL
- E-VALUE )
-olcAttributeTypes: {20}( 1.3.6.1.4.1.10098.1.1.13.21 NAME 'goFonMacroContent' 
- DESC 'Holds the macro' EQUALITY caseExactIA5Match SUBSTR caseExactIA5Substrin
- gsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {21}( 1.3.6.1.4.1.10098.1.1.13.22 NAME 'goFonMacroParameter
- ' DESC 'Holds the macro parameter definitions' EQUALITY caseExactIA5Match SUB
- STR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {22}( 1.3.6.1.4.1.10098.1.1.13.23 NAME 'goFonMacro' DESC 'H
- olds the macro parameter definitions' EQUALITY caseExactMatch SUBSTR caseExac
- tSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
-olcAttributeTypes: {23}( 1.3.6.1.4.1.10098.1.1.13.24 NAME 'goFonTimeOut' DESC 
- 'Holds the queue goFonTimeOut definitions' EQUALITY integerMatch SYNTAX 1.3.6
- .1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-olcAttributeTypes: {24}( 1.3.6.1.4.1.10098.1.1.13.25 NAME 'goFonMaxLen' DESC '
- Holds the queue goFonMaxLen definitions' EQUALITY integerMatch SYNTAX 1.3.6.1
- .4.1.1466.115.121.1.27 SINGLE-VALUE )
-olcAttributeTypes: {25}( 1.3.6.1.4.1.10098.1.1.13.26 NAME 'goFonAnnounceFreque
- ncy' DESC 'Holds the queue goFonAnnounceFrequency definitions' EQUALITY integ
- erMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-olcAttributeTypes: {26}( 1.3.6.1.4.1.10098.1.1.13.27 NAME 'goFonDialOption' DE
- SC 'Holds the queue goFonDialOption definitions' EQUALITY caseExactMatch SUBS
- TR caseExactSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16} SINGLE-V
- ALUE )
-olcAttributeTypes: {27}( 1.3.6.1.4.1.10098.1.1.13.28 NAME 'goFonMusiconHold' D
- ESC 'Holds the queue goFonMusiconHold definitions' EQUALITY caseExactIA5Match
-  SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SING
- LE-VALUE )
-olcAttributeTypes: {28}( 1.3.6.1.4.1.10098.1.1.13.29 NAME 'goFonWelcomeMusic' 
- DESC 'Holds the queue goFonWelcomeMusic definitions' EQUALITY caseExactIA5Mat
- ch SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SI
- NGLE-VALUE )
-olcAttributeTypes: {29}( 1.3.6.1.4.1.10098.1.1.13.30 NAME 'goFonQueueReportHol
- d' DESC 'Holds the queue goFonQueueReportHold definitions' EQUALITY caseExact
- IA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1
- .26 SINGLE-VALUE )
-olcAttributeTypes: {30}( 1.3.6.1.4.1.10098.1.1.13.31 NAME 'goFonQueueYouAreNex
- t' DESC 'Holds the queue goFonQueueYouAreNext definitions' EQUALITY caseExact
- IA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1
- .26 SINGLE-VALUE )
-olcAttributeTypes: {31}( 1.3.6.1.4.1.10098.1.1.13.32 NAME 'goFonQueueThereAre'
-  DESC 'Holds the queue goFonQueueThereAre definitions' EQUALITY caseExactIA5M
- atch SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 
- SINGLE-VALUE )
-olcAttributeTypes: {32}( 1.3.6.1.4.1.10098.1.1.13.33 NAME 'goFonQueueCallsWait
- ing' DESC 'Holds the queue goFonQueueCallsWaiting definitions' EQUALITY caseE
- xactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.1
- 21.1.26 SINGLE-VALUE )
-olcAttributeTypes: {33}( 1.3.6.1.4.1.10098.1.1.13.34 NAME 'goFonQueueThankYou'
-  DESC 'Holds the queue goFonQueueThankYou definitions' EQUALITY caseExactIA5M
- atch SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 
- SINGLE-VALUE )
-olcAttributeTypes: {34}( 1.3.6.1.4.1.10098.1.1.13.35 NAME 'goFonQueueMinutes' 
- DESC 'Holds the queue goFonQueueMinutes definitions' EQUALITY caseExactIA5Mat
- ch SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SI
- NGLE-VALUE )
-olcAttributeTypes: {35}( 1.3.6.1.4.1.10098.1.1.13.36 NAME 'goFonQueueSeconds' 
- DESC 'Holds the queue goFonQueueSeconds definitions' EQUALITY caseExactIA5Mat
- ch SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SI
- NGLE-VALUE )
-olcAttributeTypes: {36}( 1.3.6.1.4.1.10098.1.1.13.37 NAME 'goFonQueueLanguage'
-  DESC 'Holds the queue goFonLanguage definitions' EQUALITY caseExactIA5Match 
- SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGL
- E-VALUE )
-olcAttributeTypes: {37}( 1.3.6.1.4.1.10098.1.1.13.38 NAME 'goFonQueueStrategy'
-  DESC 'Holds the queue goFonStrategy definitions' EQUALITY caseExactIA5Match 
- SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGL
- E-VALUE )
-olcAttributeTypes: {38}( 1.3.6.1.4.1.10098.1.1.13.39 NAME 'goFonQueueAnnounceH
- oldtime' DESC 'Holds the queue goFonAnnounceHoldtime definitions' EQUALITY ca
- seExactMatch SUBSTR caseExactSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.
- 1.15{4} SINGLE-VALUE )
-olcAttributeTypes: {39}( 1.3.6.1.4.1.10098.1.1.13.40 NAME 'goFonQueueAnnounce'
-  DESC 'Holds the queue goFonAnnounce definitions' EQUALITY caseExactIA5Match 
- SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGL
- E-VALUE )
-olcAttributeTypes: {40}( 1.3.6.1.4.1.10098.1.1.13.41 NAME 'goFonQueueRetry' DE
- SC 'Holds the queue goFonRetry definitions' EQUALITY integerMatch SYNTAX 1.3.
- 6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-olcAttributeTypes: {41}( 1.3.6.1.4.1.10098.1.1.13.42 NAME 'goFonQueueLessThan'
-  DESC 'Holds the queue goFonQueueLessThan definitions' EQUALITY caseExactIA5M
- atch SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 
- SINGLE-VALUE )
-olcAttributeTypes: {42}( 1.3.6.1.4.1.10098.1.1.13.43 NAME 'goFonConferenceOpti
- on' DESC 'Holds the queue goFonConferenceOptions definitions' EQUALITY caseEx
- actMatch SUBSTR caseExactSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
- {16} SINGLE-VALUE )
-olcAttributeTypes: {43}( 1.3.6.1.4.1.10098.1.1.13.44 NAME 'goFonConferenceTime
- Out' DESC 'Holds the queue goFonConferenceTimeOut definitions' EQUALITY integ
- erMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-olcAttributeTypes: {44}( 1.3.6.1.4.1.10098.1.1.13.45 NAME 'goFonConferenceOwne
- r' DESC 'Holds the queue goFonConferenceOwner definitions' EQUALITY caseIgnor
- eMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{
- 256} SINGLE-VALUE )
-olcAttributeTypes: {45}( 1.3.6.1.4.1.10098.1.1.13.46 NAME 'goFonVoicemailPIN' 
- DESC 'defines voicemail delivery format' EQUALITY caseExactIA5Match SUBSTR ca
- seExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {46}( 1.3.6.1.4.1.10098.1.1.13.47 NAME 'goFonHomeServer' DE
- SC 'defines voicemail delivery format' EQUALITY caseExactMatch SUBSTR caseExa
- ctSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
-olcObjectClasses: {0}( 1.3.6.1.4.1.10098.1.2.3.11 NAME 'goFonAccount' DESC 'GO
- Fon Account objectclass (v1.0)' SUP top AUXILIARY MUST ( goFonDeliveryMode $ 
- telephoneNumber $ uid ) MAY ( goFonFormat $ goFonForwarding $ goFonHardware $
-  goFonPIN $ goFonVoicemailPIN $ goFonMacro $ goFonHomeServer ) )
-olcObjectClasses: {1}( 1.3.6.1.4.1.10098.1.2.3.12 NAME 'goFonHardware' DESC 'd
- efines a telephone (v1.0)' SUP top STRUCTURAL MUST ( cn $ macAddress $ ipHost
- Number ) MAY ( description $ goFonType $ goFonDmtfMode $ goFonHost $ goFonDef
- aultIP $ goFonQualify $ goFonAuth $ goFonSecret $ goFonInkeys $ goFonOutkey $
-  goFonTrunk $ goFonAccountCode $ goFonMSN $ goFonPermit $ goFonDeny ) )
-olcObjectClasses: {2}( 1.3.6.1.4.1.10098.1.2.3.13 NAME 'goFonPickupGroup' DESC
-  'Additive for posixGroups (v1.0)' SUP top AUXILIARY MUST ( cn $ gidNumber ) 
- )
-olcObjectClasses: {3}( 1.3.6.1.4.1.10098.1.2.3.14 NAME 'goFonMacro' DESC 'Macr
- o definitions for asterisk machines (v1.0)' SUP top STRUCTURAL MUST cn MAY ( 
- goFonMacroVisible $ displayName $ goFonMacroContent $ description $ goFonMacr
- oParameter ) )
-olcObjectClasses: {4}( 1.3.6.1.4.1.10098.1.2.3.15 NAME 'goFonQueue' DESC 'Queu
- e definitions for asterisk machines (v1.0)' SUP top AUXILIARY MUST cn MAY ( g
- oFonTimeOut $ goFonMaxLen $ goFonAnnounceFrequency $ goFonDialOption $ goFonM
- usiconHold $ goFonWelcomeMusic $ goFonQueueReportHold $ goFonQueueYouAreNext 
- $ goFonQueueThereAre $ goFonQueueCallsWaiting $ goFonQueueThankYou $ goFonQue
- ueMinutes $ goFonQueueSeconds $ telephoneNumber $ goFonQueueLanguage $ goFonQ
- ueueStrategy $ goFonQueueAnnounceHoldtime $ goFonQueueAnnounce $ goFonQueueRe
- try $ goFonQueueLessThan $ goFonHomeServer ) )
-olcObjectClasses: {5}( 1.3.6.1.4.1.10098.1.2.3.16 NAME 'goFonConference' DESC 
- 'Conference definitions for asterisk machines (v1.0)' SUP top STRUCTURAL MUST
-  cn MAY ( description $ goFonConferenceOption $ goFonConferenceTimeout $ goFo
- nPIN $ goFonConferenceOwner $ telephoneNumber $ goFonHomeServer ) )
-structuralObjectClass: olcSchemaConfig
-entryUUID: fbaf6ede-f065-102e-9608-79233977c302
-creatorsName: cn=config
-createTimestamp: 20100510095600Z
-entryCSN: 20100510095600.855485Z#000000#000#000000
-modifiersName: cn=config
-modifyTimestamp: 20100510095600Z
+cn: gofon
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.1
+  NAME 'goFonDeliveryMode'
+  DESC 'GOFon delivery mode is defined here'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.2
+  NAME 'goFonForwarding'
+  DESC 'defines which phone numbers get the next call'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.3
+  NAME 'goFonFormat'
+  DESC 'defines voicemail delivery format'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.4
+  NAME 'goFonHardware'
+  DESC 'defines voicemail delivery format'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.5
+  NAME 'goFonPIN'
+  DESC 'defines voicemail delivery format'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.6
+  NAME 'goFonType'
+  DESC 'sets the sip.conf type parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.7
+  NAME 'goFonDmtfMode'
+  DESC 'sets the sip.conf dmtfmode parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.8
+  NAME 'goFonHost'
+  DESC 'sets the sip.conf host parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.9
+  NAME 'goFonDefaultIP'
+  DESC 'sets the sip.conf defaultip parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.10
+  NAME 'goFonQualify'
+  DESC 'sets the sip.conf qualify parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.11
+  NAME 'goFonAuth'
+  DESC 'sets the sip.conf auth parameter'
+  EQUALITY caseExactMatch
+  SUBSTR caseExactSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.12
+  NAME 'goFonSecret'
+  DESC 'sets the sip.conf secret parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.13
+  NAME 'goFonInkeys'
+  DESC 'sets the sip.conf inkeys parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.14
+  NAME 'goFonOutkey'
+  DESC 'sets the sip.conf outkey parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.15
+  NAME 'goFonTrunk'
+  DESC 'sets the sip.conf trunk parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.16
+  NAME 'goFonAccountCode'
+  DESC 'sets the sip.conf accountcode parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.17
+  NAME 'goFonMSN'
+  DESC 'sets the sip.conf msn parameter'
+  EQUALITY telephoneNumberMatch
+  SUBSTR telephoneNumberSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.18
+  NAME 'goFonPermit'
+  DESC 'sets the sip.conf permit parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.19
+  NAME 'goFonDeny'
+  DESC 'sets the sip.conf deny parameter'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.20
+  NAME 'goFonMacroVisible'
+  DESC 'Triggers if the macro is visible for users'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.21
+  NAME 'goFonMacroContent'
+  DESC 'Holds the macro'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.22
+  NAME 'goFonMacroParameter'
+  DESC 'Holds the macro parameter definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.23
+  NAME 'goFonMacro'
+  DESC 'Holds the macro parameter definitions'
+  EQUALITY caseExactMatch
+  SUBSTR caseExactSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.24
+  NAME 'goFonTimeOut'
+  DESC 'Holds the queue goFonTimeOut definitions'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.25
+  NAME 'goFonMaxLen'
+  DESC 'Holds the queue goFonMaxLen definitions'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.26
+  NAME 'goFonAnnounceFrequency'
+  DESC 'Holds the queue goFonAnnounceFrequency definitions'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.27
+  NAME 'goFonDialOption'
+  DESC 'Holds the queue goFonDialOption definitions'
+  EQUALITY caseExactMatch
+  SUBSTR caseExactSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.28
+  NAME 'goFonMusiconHold'
+  DESC 'Holds the queue goFonMusiconHold definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.29
+  NAME 'goFonWelcomeMusic'
+  DESC 'Holds the queue goFonWelcomeMusic definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.30
+  NAME 'goFonQueueReportHold'
+  DESC 'Holds the queue goFonQueueReportHold definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.31
+  NAME 'goFonQueueYouAreNext'
+  DESC 'Holds the queue goFonQueueYouAreNext definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.32
+  NAME 'goFonQueueThereAre'
+  DESC 'Holds the queue goFonQueueThereAre definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.33
+  NAME 'goFonQueueCallsWaiting'
+  DESC 'Holds the queue goFonQueueCallsWaiting definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.34
+  NAME 'goFonQueueThankYou'
+  DESC 'Holds the queue goFonQueueThankYou definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.35
+  NAME 'goFonQueueMinutes'
+  DESC 'Holds the queue goFonQueueMinutes definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.36
+  NAME 'goFonQueueSeconds'
+  DESC 'Holds the queue goFonQueueSeconds definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.37
+  NAME 'goFonQueueLanguage'
+  DESC 'Holds the queue goFonLanguage definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.38
+  NAME 'goFonQueueStrategy'
+  DESC 'Holds the queue goFonStrategy definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.39
+  NAME 'goFonQueueAnnounceHoldtime'
+  DESC 'Holds the queue goFonAnnounceHoldtime definitions'
+  EQUALITY caseExactMatch
+  SUBSTR caseExactSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{4}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.40
+  NAME 'goFonQueueAnnounce'
+  DESC 'Holds the queue goFonAnnounce definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.41
+  NAME 'goFonQueueRetry'
+  DESC 'Holds the queue goFonRetry definitions'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.42
+  NAME 'goFonQueueLessThan'
+  DESC 'Holds the queue goFonQueueLessThan definitions'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.43
+  NAME 'goFonConferenceOption'
+  DESC 'Holds the queue goFonConferenceOptions definitions'
+  EQUALITY caseExactMatch
+  SUBSTR caseExactSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{16}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.44
+  NAME 'goFonConferenceTimeOut'
+  DESC 'Holds the queue goFonConferenceTimeOut definitions'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.45
+  NAME 'goFonConferenceOwner'
+  DESC 'Holds the queue goFonConferenceOwner definitions'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.46
+  NAME 'goFonVoicemailPIN'
+  DESC 'defines voicemail delivery format'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.13.47
+  NAME 'goFonHomeServer'
+  DESC 'defines voicemail delivery format'
+  EQUALITY caseExactMatch
+  SUBSTR caseExactSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.3.11
+  NAME 'goFonAccount'
+  DESC 'GOFon Account objectclass (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( goFonDeliveryMode $ telephoneNumber $ uid )
+  MAY ( goFonFormat $ goFonForwarding $ goFonHardware $ goFonPIN $ goFonVoicemailPIN $ goFonMacro $ goFonHomeServer )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.3.12
+  NAME 'goFonHardware'
+  DESC 'defines a telephone (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn $ macAddress $ ipHostNumber )
+  MAY ( description $ goFonType $ goFonDmtfMode $ goFonHost $ goFonDefaultIP $   goFonQualify $ goFonAuth $ goFonSecret $ goFonInkeys $ goFonOutkey $   goFonTrunk $ goFonAccountCode $ goFonMSN $ goFonPermit $ goFonDeny )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.3.13
+  NAME 'goFonPickupGroup'
+  DESC 'Additive for posixGroups (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ gidNumber )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.3.14
+  NAME 'goFonMacro'
+  DESC 'Macro definitions for asterisk machines (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn )
+  MAY ( goFonMacroVisible $ displayName $ goFonMacroContent $ description $   goFonMacroParameter )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.3.15
+  NAME 'goFonQueue'
+  DESC 'Queue definitions for asterisk machines (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( goFonTimeOut $ goFonMaxLen $ goFonAnnounceFrequency $ goFonDialOption $   goFonMusiconHold $ goFonWelcomeMusic $ goFonQueueReportHold $   goFonQueueYouAreNext $ goFonQueueThereAre $ goFonQueueCallsWaiting $   goFonQueueThankYou $ goFonQueueMinutes $ goFonQueueSeconds $ telephoneNumber $   goFonQueueLanguage $ goFonQueueStrategy $ goFonQueueAnnounceHoldtime $ goFonQueueAnnounce $   goFonQueueRetry $ goFonQueueLessThan $ goFonHomeServer )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.3.16
+  NAME 'goFonConference'
+  DESC 'Conference definitions for asterisk machines (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn )
+  MAY ( description $ goFonConferenceOption $ goFonConferenceTimeout $ goFonPIN $   goFonConferenceOwner $ telephoneNumber $ goFonHomeServer )
+  )
+#
+################################################################################
+#
diff --git a/gosa-core/contrib/openldap/gofon.schema b/gosa-core/contrib/openldap/gofon.schema
index b16a7fe..0720adb 100644
--- a/gosa-core/contrib/openldap/gofon.schema
+++ b/gosa-core/contrib/openldap/gofon.schema
@@ -285,29 +285,29 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.13.47 NAME 'goFonHomeServer'
 
 # objectclass 
 objectclass (1.3.6.1.4.1.10098.1.2.3.11 NAME 'goFonAccount' SUP top AUXILIARY
-	DESC 'GOFon Account objectclass (v1.0)'
+	DESC 'GOFon Account objectclass (v2.7)'
 	MUST ( goFonDeliveryMode $ telephoneNumber $ uid )
 	MAY ( goFonFormat $ goFonForwarding $ goFonHardware $ goFonPIN $ goFonVoicemailPIN $ goFonMacro $ goFonHomeServer ))
 
 objectclass (1.3.6.1.4.1.10098.1.2.3.12 NAME 'goFonHardware' SUP top STRUCTURAL
-	DESC 'defines a telephone (v1.0)'
+	DESC 'defines a telephone (v2.7)'
 	MUST ( cn $ macAddress $ ipHostNumber )
 	MAY (description $ goFonType $ goFonDmtfMode $ goFonHost $ goFonDefaultIP $
 		 goFonQualify $ goFonAuth $ goFonSecret $ goFonInkeys $ goFonOutkey $
 		 goFonTrunk $ goFonAccountCode $ goFonMSN $ goFonPermit $ goFonDeny ) )
 
 objectclass (1.3.6.1.4.1.10098.1.2.3.13 NAME 'goFonPickupGroup' SUP top AUXILIARY
-	DESC 'Additive for posixGroups (v1.0)'
+	DESC 'Additive for posixGroups (v2.7)'
 	MUST ( cn $ gidNumber ) )
 
 objectclass (1.3.6.1.4.1.10098.1.2.3.14 NAME 'goFonMacro' SUP top STRUCTURAL
-	DESC 'Macro definitions for asterisk machines (v1.0)'
+	DESC 'Macro definitions for asterisk machines (v2.7)'
 	MUST ( cn ) 
 	MAY ( goFonMacroVisible $ displayName $ goFonMacroContent $ description $
 		  goFonMacroParameter ))
 
 objectclass (1.3.6.1.4.1.10098.1.2.3.15 NAME 'goFonQueue' SUP top AUXILIARY
-	DESC 'Queue definitions for asterisk machines (v1.0)'
+	DESC 'Queue definitions for asterisk machines (v2.7)'
 	MUST ( cn ) 
 	MAY ( goFonTimeOut $ goFonMaxLen $ goFonAnnounceFrequency $ goFonDialOption $
 		  goFonMusiconHold $ goFonWelcomeMusic $ goFonQueueReportHold $
@@ -317,7 +317,7 @@ objectclass (1.3.6.1.4.1.10098.1.2.3.15 NAME 'goFonQueue' SUP top AUXILIARY
 		  goFonQueueRetry $ goFonQueueLessThan $ goFonHomeServer ))
 
 objectclass (1.3.6.1.4.1.10098.1.2.3.16 NAME 'goFonConference' SUP top STRUCTURAL
-	DESC 'Conference definitions for asterisk machines (v1.0)'
+	DESC 'Conference definitions for asterisk machines (v2.7)'
 	MUST ( cn ) 
 	MAY ( description $ goFonConferenceOption $ goFonConferenceTimeout $ goFonPIN $
 		  goFonConferenceOwner $ telephoneNumber $ goFonHomeServer))
diff --git a/gosa-core/contrib/openldap/gosa-samba3.ldif b/gosa-core/contrib/openldap/gosa-samba3.ldif
index d7987b0..96ba1b7 100644
--- a/gosa-core/contrib/openldap/gosa-samba3.ldif
+++ b/gosa-core/contrib/openldap/gosa-samba3.ldif
@@ -1,247 +1,843 @@
-dn: cn={12}gosa-samba3
+#
+################################################################################
+#
+dn: cn=gosa-samba3,cn=schema,cn=config
 objectClass: olcSchemaConfig
-cn: {12}gosa-samba3
-olcAttributeTypes: {0}( 1.3.6.1.4.1.10098.1.1.12.1 NAME 'gosaSubtreeACL' DESC 
- 'GOsa acl entry' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SY
- NTAX 1.3.6.1.4.1.1466.115.121.1.15 )
-olcAttributeTypes: {1}( 1.3.6.1.4.1.10098.1.1.12.2 NAME 'gosaUser' DESC 'GOsa 
- user' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.
- 1.4.1.1466.115.121.1.15 )
-olcAttributeTypes: {2}( 1.3.6.1.4.1.10098.1.1.12.3 NAME 'gosaObject' DESC 'GOs
- a object' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.
- 3.6.1.4.1.1466.115.121.1.15 )
-olcAttributeTypes: {3}( 1.3.6.1.4.1.10098.1.1.12.4 NAME 'gosaMailServer' DESC 
- 'Specify users main mail server' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnor
- eIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {4}( 1.3.6.1.4.1.10098.1.1.12.5 NAME 'gosaMailQuota' DESC '
- GOsa quota definitions' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5Subst
- ringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {5}( 1.3.6.1.4.1.10098.1.1.12.6 NAME 'gosaMailAlternateAddr
- ess' DESC 'Additional mail addresses where the user is reachable' EQUALITY ca
- seIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.
- 115.121.1.26 )
-olcAttributeTypes: {6}( 1.3.6.1.4.1.10098.1.1.12.7 NAME 'gosaMailForwardingAdd
- ress' DESC 'Addresses where to forward mail to' EQUALITY caseIgnoreIA5Match S
- UBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {7}( 1.3.6.1.4.1.10098.1.1.12.8 NAME 'gosaMailMaxSize' DESC
-  'Block mails bigger than this value' EQUALITY caseIgnoreIA5Match SUBSTR case
- IgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {8}( 1.3.6.1.4.1.10098.1.1.12.9 NAME 'gosaSpamSortLevel' DE
- SC 'Spamassassins hits' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5Subst
- ringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {9}( 1.3.6.1.4.1.10098.1.1.12.10 NAME 'gosaSpamMailbox' DES
- C 'Where to put spam' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5Substri
- ngsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {10}( 1.3.6.1.4.1.10098.1.1.12.11 NAME 'gosaVacationMessage
- ' DESC 'Text to display in case of vacation' EQUALITY caseIgnoreMatch SUBSTR 
- caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
-olcAttributeTypes: {11}( 1.3.6.1.4.1.10098.1.1.12.12 NAME 'gosaMailDeliveryMod
- e' DESC 'What to do with mails' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnore
- IA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {12}( 1.3.6.1.4.1.10098.1.1.12.13 NAME 'gosaDefaultPrinter'
-  DESC 'Defines a default printer a user owns' EQUALITY caseIgnoreIA5Match SUB
- STR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-
- VALUE )
-olcAttributeTypes: {13}( 1.3.6.1.4.1.10098.1.1.12.14 NAME 'gosaDefaultLanguage
- ' DESC 'Defines the default language for a user' EQUALITY caseIgnoreIA5Match 
- SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SING
- LE-VALUE )
-olcAttributeTypes: {14}( 1.3.6.1.4.1.10098.1.1.12.15 NAME 'gosaHostACL' DESC '
- Defines the places where users can login' EQUALITY caseIgnoreIA5Match SUBSTR 
- caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {15}( 1.3.6.1.4.1.10098.1.1.12.16 NAME 'gosaService' DESC '
- Defines services a certain host can provide' EQUALITY caseIgnoreIA5Match SUBS
- TR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {16}( 1.3.6.1.4.1.10098.1.1.12.17 NAME 'gosaProxyID' DESC '
- Defines the proxy user id used, needed for some filters' EQUALITY caseIgnoreI
- A5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1
- .26 )
-olcAttributeTypes: {17}( 1.3.6.1.4.1.10098.1.1.12.18 NAME 'gosaProxyAcctFlags'
-  DESC 'Proxy Account Flags' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5S
- ubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{16} SINGLE-VALUE )
-olcAttributeTypes: {18}( 1.3.6.1.4.1.10098.1.1.12.19 NAME 'gosaProxyWorkingSta
- rt' DESC 'Specifies the beginning of work in minutes, relative to 00:00' EQUA
- LITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.
- 1.1466.115.121.1.26 )
-olcAttributeTypes: {19}( 1.3.6.1.4.1.10098.1.1.12.20 NAME 'gosaProxyWorkingSto
- p' DESC 'Specifies the end of work in minutes, relative to 00:00' EQUALITY ca
- seIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.
- 115.121.1.26 )
-olcAttributeTypes: {20}( 1.3.6.1.4.1.10098.1.1.12.21 NAME 'gosaApplicationName
- ' DESC 'Specifies the name of an application to be shown up on users desktop'
-  EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1
- .1466.115.121.1.15 )
-olcAttributeTypes: {21}( 1.3.6.1.4.1.10098.1.1.12.22 NAME 'gosaApplicationExec
- ute' DESC 'Specifies the executable path of an application' EQUALITY caseIgno
- reMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
-  )
-olcAttributeTypes: {22}( 1.3.6.1.4.1.10098.1.1.12.23 NAME 'gosaApplicationFlag
- s' DESC 'Specifies the application flags G(roup only), D(esktop), M(enu)' EQU
- ALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4
- .1.1466.115.121.1.26 )
-olcAttributeTypes: {23}( 1.3.6.1.4.1.10098.1.1.12.31 NAME 'gosaApplicationCate
- gory' DESC 'Store application parameters' EQUALITY caseIgnoreMatch SUBSTR cas
- eIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
-olcAttributeTypes: {24}( 1.3.6.1.4.1.10098.1.1.12.24 NAME 'gosaApplicationIcon
- ' DESC 'Keeps the application icon in png format' SYNTAX 1.3.6.1.4.1.1466.115
- .121.1.28 )
-olcAttributeTypes: {25}( 1.3.6.1.4.1.10098.1.1.12.25 NAME 'gosaSharedFolderTar
- get' DESC 'Keeps the target of cyrus shared folders' EQUALITY caseIgnoreIA5Ma
- tch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 
- )
-olcAttributeTypes: {26}( 1.3.6.1.4.1.10098.1.1.12.26 NAME 'gosaMemberApplicati
- on' DESC 'Like memberUid, just for applications' EQUALITY caseIgnoreMatch SUB
- STR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
-olcAttributeTypes: {27}( 1.3.6.1.4.1.10098.1.1.12.27 NAME 'gosaApplicationPara
- meter' DESC 'Store application parameters' EQUALITY caseIgnoreMatch SUBSTR ca
- seIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
-olcAttributeTypes: {28}( 1.3.6.1.4.1.10098.1.1.12.28 NAME 'gosaProxyQuota' DES
- C 'Specifies the amount of data a user may surf in a defined period of time' 
- EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.
- 1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {29}( 1.3.6.1.4.1.10098.1.1.12.29 NAME 'gosaProxyQuotaPerio
- d' DESC 'Specifies period of time where the counter is been reseted' EQUALITY
-  caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.14
- 66.115.121.1.26 )
-olcAttributeTypes: {30}( 1.3.6.1.4.1.10098.1.1.12.30 NAME 'gosaGroupObjects' D
- ESC 'Takes a list of all object types that are in a gosaGroupOfNames' EQUALIT
- Y caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1
- 466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {31}( 1.3.6.1.4.1.10098.1.1.12.32 NAME 'gosaApplicationMime
- Type' DESC 'Takes a list of relevant mime-type|priority settings' EQUALITY ca
- seIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.
- 115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {32}( 1.3.6.1.4.1.10098.1.1.12.33 NAME 'gosaUnitTag' DESC '
- Takes a list of relevant mime-type|priority settings' EQUALITY caseIgnoreIA5M
- atch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
-  SINGLE-VALUE )
-olcAttributeTypes: {33}( 1.3.6.1.4.1.10098.1.1.12.34 NAME 'gosaAclTemplate' DE
- SC 'Takes ACL entries for gosaRoles' EQUALITY caseIgnoreIA5Match SUBSTR caseI
- gnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {34}( 1.3.6.1.4.1.10098.1.1.12.35 NAME 'gosaAclEntry' DESC 
- 'Takes ACL entries for gosaRoles' EQUALITY caseIgnoreIA5Match SUBSTR caseIgno
- reIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {35}( 1.3.6.1.4.1.10098.1.1.12.36 NAME 'gosaSnapshotType' D
- ESC 'Takes either undo or snapshot' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4
- .1.1466.115.121.1.15 SINGLE-VALUE )
-olcAttributeTypes: {36}( 1.3.6.1.4.1.10098.1.1.12.37 NAME 'gosaSnapshotTimesta
- mp' DESC 'Unix timestamp of snapshot' EQUALITY caseIgnoreMatch SUBSTR caseIgn
- oreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
-olcAttributeTypes: {37}( 1.3.6.1.4.1.10098.1.1.12.38 NAME 'gosaSnapshotDN' DES
- C 'Original DN of saved object' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSub
- stringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
-olcAttributeTypes: {38}( 1.3.6.1.4.1.10098.1.1.12.39 NAME 'gosaSnapshotData' D
- ESC 'Original DN of saved object' SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-
- VALUE )
-olcAttributeTypes: {39}( 1.3.6.1.4.1.10098.1.1.12.40 NAME 'gosaSetting' DESC '
- Original DN of saved object' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
-olcAttributeTypes: {40}( 1.3.6.1.4.1.10098.1.1.12.41 NAME 'gosaVacationStart' 
- DESC 'Timestamp for enabling current vacation message' SYNTAX 1.3.6.1.4.1.146
- 6.115.121.1.15 SINGLE-VALUE )
-olcAttributeTypes: {41}( 1.3.6.1.4.1.10098.1.1.12.42 NAME 'gosaVacationStop' D
- ESC 'Timestamp for switching off current vacation message' SYNTAX 1.3.6.1.4.1
- .1466.115.121.1.15 SINGLE-VALUE )
-olcAttributeTypes: {42}( 1.3.6.1.4.1.10098.1.1.12.43 NAME 'gosaApplicationPrio
- rity' DESC 'Keeps the application icon in png format' SYNTAX 1.3.6.1.4.1.1466
- .115.121.1.15 SINGLE-VALUE )
-olcAttributeTypes: {43}( 1.3.6.1.4.1.10098.1.1.12.44 NAME 'gotoLastSystemLogin
- ' DESC 'Timestamp for a Users last System Login' SYNTAX 1.3.6.1.4.1.1466.115.
- 121.1.15 )
-olcAttributeTypes: {44}( 1.3.6.1.4.1.10098.1.1.12.45 NAME 'gotoLastSystem' DES
- C 'The DN of the System where the Login was performed' EQUALITY distinguished
- NameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
-olcAttributeTypes: {45}( 1.3.6.1.4.1.10098.1.1.12.46 NAME 'gosaLoginRestrictio
- n' DESC 'Multivalue attribute to carry a number of allowed ips/subnets' SUP n
- ame )
-olcAttributeTypes: {46}( 1.3.6.1.4.1.10098.1.1.6.2 NAME 'academicTitle' DESC '
- Field to represent the academic title' EQUALITY caseIgnoreMatch SUBSTR caseIg
- noreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
-olcAttributeTypes: {47}( 1.3.6.1.4.1.15305.2.1 NAME ( 'gender' 'sex' ) DESC 'G
- ender: M for male, F for female' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4
- .1.1466.115.121.1.26{1} SINGLE-VALUE )
-olcAttributeTypes: {48}( 1.3.6.1.4.1.15305.2.2 NAME ( 'dateOfBirth' 'dob' ) DE
- SC 'Date of birth in ISO 8601 format' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1
- .4.1.1466.115.121.1.15{10} SINGLE-VALUE )
-olcAttributeTypes: {49}( 1.3.6.1.4.1.19414.2.1.651 NAME 'acl' EQUALITY caseIgn
- oreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.1
- 21.1.26{256} )
-olcObjectClasses: {0}( 1.3.6.1.4.1.10098.1.2.1.19.1 NAME 'gosaObject' DESC 'Cl
- ass for GOsa settings (v2.6.1)' SUP top AUXILIARY MUST gosaSubtreeACL )
-olcObjectClasses: {1}( 1.3.6.1.4.1.10098.1.2.1.19.2 NAME 'gosaLockEntry' DESC 
- 'Class for GOsa locking (v2.6.1)' SUP top STRUCTURAL MUST ( gosaUser $ gosaOb
- ject $ cn ) )
-olcObjectClasses: {2}( 1.3.6.1.4.1.10098.1.2.1.19.3 NAME 'gosaCacheEntry' DESC
-  'Class for GOsa caching (v2.6.1)' SUP top STRUCTURAL MUST cn MAY gosaUser )
-olcObjectClasses: {3}( 1.3.6.1.4.1.10098.1.2.1.19.4 NAME 'gosaDepartment' DESC
-  'Class to mark Departments for GOsa (v2.6.1)' SUP top AUXILIARY MUST ( ou $ 
- description ) MAY manager )
-olcObjectClasses: {4}( 1.3.6.1.4.1.10098.1.2.1.19.5 NAME 'gosaMailAccount' DES
- C 'Class to mark MailAccounts for GOsa (v2.6.1)' SUP top AUXILIARY MUST ( mai
- l $ gosaMailServer $ gosaMailDeliveryMode ) MAY ( gosaMailQuota $ gosaMailAlt
- ernateAddress $ gosaMailForwardingAddress $ gosaMailMaxSize $ gosaSpamSortLev
- el $ gosaSpamMailbox $ gosaVacationMessage $ gosaVacationStart $ gosaVacation
- Stop $ gosaSharedFolderTarget $ acl ) )
-olcObjectClasses: {5}( 1.3.6.1.4.1.10098.1.2.1.19.6 NAME 'gosaAccount' DESC 'C
- lass for GOsa Accounts (v2.6.6)' SUP top AUXILIARY MUST uid MAY ( sambaLMPass
- word $ sambaNTPassword $ sambaPwdLastSet $ gosaDefaultPrinter $ gosaDefaultLa
- nguage $ academicTitle $ personalTitle $ gosaHostACL $ dateOfBirth $ sambaBad
- PasswordCount $ sambaBadPasswordTime $ gender $ gotoLastSystemLogin $ gotoLas
- tSystem $ gosaLoginRestriction ) )
-olcObjectClasses: {6}( 1.3.6.1.4.1.10098.1.2.1.19.7 NAME 'gosaHost' DESC 'Clas
- s for GOsa Hosts (v2.6.1)' SUP top AUXILIARY MUST cn MAY ( description $ gosa
- Service ) )
-olcObjectClasses: {7}( 1.3.6.1.4.1.10098.1.2.1.19.8 NAME 'gosaProxyAccount' DE
- SC 'Class for GOsa Proxy settings (v2.6.1)' SUP top AUXILIARY MUST gosaProxyA
- cctFlags MAY ( gosaProxyID $ gosaProxyWorkingStart $ gosaProxyWorkingStop $ g
- osaProxyQuota $ gosaProxyQuotaPeriod ) )
-olcObjectClasses: {8}( 1.3.6.1.4.1.10098.1.2.1.19.9 NAME 'gosaApplication' DES
- C 'Class for GOsa applications (v2.6.1)' SUP top STRUCTURAL MUST ( cn $ gosaA
- pplicationExecute ) MAY ( gosaApplicationName $ gosaApplicationIcon $ gosaApp
- licationFlags $ gosaApplicationMimeType $ gosaApplicationParameter $ gotoLogo
- nScript $ description $ gosaApplicationCategory ) )
-olcObjectClasses: {9}( 1.3.6.1.4.1.10098.1.2.1.19.10 NAME 'gosaApplicationGrou
- p' DESC 'Class for GOsa application groups (v2.6.1)' SUP top AUXILIARY MUST c
- n MAY ( gosaMemberApplication $ gosaApplicationParameter ) )
-olcObjectClasses: {10}( 1.3.6.1.4.1.10098.1.2.1.19.11 NAME 'gosaUserTemplate' 
- DESC 'Class for GOsa User Templates (v2.6.1)' SUP top AUXILIARY MUST cn )
-olcObjectClasses: {11}( 1.3.6.1.4.1.10098.1.2.1.19.12 NAME 'gosaGroupOfNames' 
- DESC 'GOsa object grouping (v2.6.1)' SUP top STRUCTURAL MUST ( cn $ gosaGroup
- Objects ) MAY ( member $ description ) )
-olcObjectClasses: {12}( 1.3.6.1.4.1.10098.1.2.1.19.13 NAME 'gosaWebdavAccount'
-  DESC 'GOsa webdav enabling account (v2.6.1)' SUP top AUXILIARY MUST ( cn $ u
- id ) )
-olcObjectClasses: {13}( 1.3.6.1.4.1.10098.1.2.1.19.14 NAME 'gosaIntranetAccoun
- t' DESC 'GOsa Inatrent enabling account (v2.6.1)' SUP top AUXILIARY MUST ( cn
-  $ uid ) MAY gosaDefaultLanguage )
-olcObjectClasses: {14}( 1.3.6.1.4.1.10098.1.2.1.19.15 NAME 'gosaAdministrative
- Unit' DESC 'Marker for administrational units (v2.6.1)' SUP top AUXILIARY MUS
- T gosaUnitTag )
-olcObjectClasses: {15}( 1.3.6.1.4.1.10098.1.2.1.19.16 NAME 'gosaAdministrative
- UnitTag' DESC 'Marker for objects below administrational units (v2.6.1)' SUP 
- top AUXILIARY MUST gosaUnitTag )
-olcObjectClasses: {16}( 1.3.6.1.4.1.10098.1.2.1.19.17 NAME 'gosaRole' DESC 'AC
- L container to define roles (v2.6.1)' SUP top STRUCTURAL MUST ( gosaAclTempla
- te $ cn ) MAY description )
-olcObjectClasses: {17}( 1.3.6.1.4.1.10098.1.2.1.19.18 NAME 'gosaAcl' DESC 'ACL
-  container to define single ACLs (v2.6.1)' SUP top AUXILIARY MUST gosaAclEntr
- y )
-olcObjectClasses: {18}( 1.3.6.1.4.1.10098.1.2.1.19.19 NAME 'gosaSnapshotObject
- ' DESC 'Container object for undo and snapshot data (v2.6.1)' SUP top STRUCTU
- RAL MUST ( gosaSnapshotType $ gosaSnapshotTimestamp $ gosaSnapshotDN $ gosaSn
- apshotData ) MAY description )
-olcObjectClasses: {19}( 1.3.6.1.4.1.10098.1.2.1.19.20 NAME 'gosaConfig' DESC '
- Settings for gosa. Replaces parts of the gosa.conf. (v2.6)' SUP top STRUCTURA
- L MAY gosaSetting )
-olcObjectClasses: {20}( 1.3.6.1.4.1.10098.1.2.1.43 NAME 'gotoSubmenuEntry' DES
- C 'GOto - contains environment settings (v2.6)' SUP top STRUCTURAL MUST cn MA
- Y ( gosaApplicationIcon $ gosaApplicationPriority ) )
-olcObjectClasses: {21}( 1.3.6.1.4.1.10098.1.2.1.44 NAME 'gotoMenuEntry' DESC '
- GOto - defines a menu entry (v2.6)' SUP top STRUCTURAL MUST cn MAY ( gosaAppl
- icationParameter $ gosaApplicationPriority ) )
-structuralObjectClass: olcSchemaConfig
-entryUUID: fbafd50e-f065-102e-960c-79233977c302
-creatorsName: cn=config
-createTimestamp: 20100510095600Z
-entryCSN: 20100510095600.855485Z#000000#000#000000
-modifiersName: cn=config
-modifyTimestamp: 20100510095600Z
+cn: gosa-samba3
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.1
+  NAME 'gosaSubtreeACL'
+  DESC 'GOsa acl entry'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.2
+  NAME 'gosaUser'
+  DESC 'GOsa user'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.3
+  NAME 'gosaObject'
+  DESC 'GOsa object'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.4
+  NAME 'gosaMailServer'
+  DESC 'Specify users main mail server'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.5
+  NAME 'gosaMailQuota'
+  DESC 'GOsa quota definitions'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.6
+  NAME 'gosaMailAlternateAddress'
+  DESC 'Additional mail addresses where the user is reachable'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.7
+  NAME 'gosaMailForwardingAddress'
+  DESC 'Addresses where to forward mail to'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.8
+  NAME 'gosaMailMaxSize'
+  DESC 'Block mails bigger than this value'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.9
+  NAME 'gosaSpamSortLevel'
+  DESC 'Spamassassins hits'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.10
+  NAME 'gosaSpamMailbox'
+  DESC 'Where to put spam'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.11
+  NAME 'gosaVacationMessage'
+  DESC 'Text to display in case of vacation'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.12
+  NAME 'gosaMailDeliveryMode'
+  DESC 'What to do with mails'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.13
+  NAME 'gosaDefaultPrinter'
+  DESC 'Defines a default printer a user owns'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.14
+  NAME 'gosaDefaultLanguage'
+  DESC 'Defines the default language for a user'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.15
+  NAME 'gosaHostACL'
+  DESC 'Defines the places where users can login'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.16
+  NAME 'gosaService'
+  DESC 'Defines services a certain host can provide'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.17
+  NAME 'gosaProxyID'
+  DESC 'Defines the proxy user id used, needed for some filters'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.18
+  NAME 'gosaProxyAcctFlags'
+  DESC 'Proxy Account Flags'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{16}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.19
+  NAME 'gosaProxyWorkingStart'
+  DESC 'Specifies the beginning of work in minutes, relative to 00:00'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.20
+  NAME 'gosaProxyWorkingStop'
+  DESC 'Specifies the end of work in minutes, relative to 00:00'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.21
+  NAME 'gosaApplicationName'
+  DESC 'Specifies the name of an application to be shown up on users desktop'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.22
+  NAME 'gosaApplicationExecute'
+  DESC 'Specifies the executable path of an application'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.23
+  NAME 'gosaApplicationFlags'
+  DESC 'Specifies the application flags G(roup only), D(esktop), M(enu)'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.31
+  NAME 'gosaApplicationCategory'
+  DESC 'Store application parameters'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.24
+  NAME 'gosaApplicationIcon'
+  DESC 'Keeps the application icon in png format'
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.28
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.25
+  NAME 'gosaSharedFolderTarget'
+  DESC 'Keeps the target of cyrus shared folders'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.26
+  NAME 'gosaMemberApplication'
+  DESC 'Like memberUid, just for applications'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.27
+  NAME 'gosaApplicationParameter'
+  DESC 'Store application parameters'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.28
+  NAME 'gosaProxyQuota'
+  DESC 'Specifies the amount of data a user may surf in a defined period of time'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.29
+  NAME 'gosaProxyQuotaPeriod'
+  DESC 'Specifies period of time where the counter is been reseted'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.30
+  NAME 'gosaGroupObjects'
+  DESC 'Takes a list of all object types that are in a gosaGroupOfNames'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.32
+  NAME 'gosaApplicationMimeType'
+  DESC 'Takes a list of relevant mime-type|priority settings'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.33
+  NAME 'gosaUnitTag'
+  DESC 'Takes a list of relevant mime-type|priority settings'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.34
+  NAME 'gosaAclTemplate'
+  DESC 'Takes ACL entries for gosaRoles'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.35
+  NAME 'gosaAclEntry'
+  DESC 'Takes ACL entries for gosaRoles'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.36
+  NAME 'gosaSnapshotType'
+  DESC 'Takes either undo or snapshot'
+  EQUALITY caseIgnoreMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.37
+  NAME 'gosaSnapshotTimestamp'
+  DESC 'Unix timestamp of snapshot'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.38
+  NAME 'gosaSnapshotDN'
+  DESC 'Original DN of saved object'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.39
+  NAME 'gosaSnapshotData'
+  DESC 'Original DN of saved object'
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.5
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.40
+  NAME 'gosaSetting'
+  DESC 'Original DN of saved object'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.41
+  NAME 'gosaVacationStart'
+  DESC 'Timestamp for enabling current vacation message'
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.42
+  NAME 'gosaVacationStop'
+  DESC 'Timestamp for switching off current vacation message'
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.43
+  NAME 'gosaApplicationPriority'
+  DESC 'Keeps the application icon in png format'
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.44
+  NAME 'gotoLastSystemLogin'
+  DESC 'Timestamp for a Users last System Login'
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.45
+  NAME 'gotoLastSystem'
+  DESC 'The DN of the System where the Login was performed'
+  EQUALITY distinguishedNameMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.46
+  NAME 'gosaLoginRestriction'
+  DESC 'Multivalue attribute to carry a number of allowed ips/subnets'
+  SUP name)
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.47
+  NAME 'gosaUserDefinedFilter'
+  DESC 'A user defined filter'
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.12.48
+  NAME 'gosaWebDAVQuota'
+  DESC 'Webdav share quota in KB'
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.6.2
+  NAME 'academicTitle'
+  DESC 'Field to represent the academic title'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.15305.2.1
+  NAME ( 'gender' 'sex' )
+  DESC 'Gender: M for male, F for female'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.15305.2.2
+  NAME ( 'dateOfBirth' 'dob' )
+  DESC 'Date of birth in ISO 8601 format'
+  EQUALITY caseIgnoreMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{10}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.19414.2.1.651
+  NAME 'acl'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256}
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.1
+  NAME 'gosaObject'
+  DESC 'Class for GOsa settings (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( gosaSubtreeACL )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.2
+  NAME 'gosaLockEntry'
+  DESC 'Class for GOsa locking (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( gosaUser $ gosaObject $ cn )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.3
+  NAME 'gosaCacheEntry'
+  DESC 'Class for GOsa caching (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn )
+  MAY ( gosaUser )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.4
+  NAME 'gosaDepartment'
+  DESC 'Class to mark Departments for GOsa (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( ou $ description )
+  MAY ( manager )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.5
+  NAME 'gosaMailAccount'
+  DESC 'Class to mark MailAccounts for GOsa (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( mail $ gosaMailServer $ gosaMailDeliveryMode )
+  MAY ( gosaMailQuota $ gosaMailAlternateAddress $ gosaMailForwardingAddress $ gosaMailMaxSize $ gosaSpamSortLevel $ gosaSpamMailbox $ gosaVacationMessage $ gosaVacationStart $ gosaVacationStop $ gosaSharedFolderTarget $ acl )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.6
+  NAME 'gosaAccount'
+  DESC 'Class for GOsa Accounts (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( uid )
+  MAY ( sambaLMPassword $ sambaNTPassword $ sambaPwdLastSet $ gosaDefaultPrinter $ gosaDefaultLanguage $ academicTitle $ personalTitle $ gosaHostACL $ dateOfBirth $   sambaBadPasswordCount $ sambaBadPasswordTime $ gender $ gotoLastSystemLogin $ gotoLastSystem $ gosaLoginRestriction )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.7
+  NAME 'gosaHost'
+  DESC 'Class for GOsa Hosts (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( description $ gosaService )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.8
+  NAME 'gosaProxyAccount'
+  DESC 'Class for GOsa Proxy settings (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( gosaProxyAcctFlags )
+  MAY ( gosaProxyID $ gosaProxyWorkingStart $ gosaProxyWorkingStop $ gosaProxyQuota $ gosaProxyQuotaPeriod )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.9
+  NAME 'gosaApplication'
+  DESC 'Class for GOsa applications (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn $ gosaApplicationExecute )
+  MAY ( gosaApplicationName $ gosaApplicationIcon $ gosaApplicationFlags $ gosaApplicationMimeType $ gosaApplicationParameter $ gotoLogonScript $ description $ gosaApplicationCategory )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.10
+  NAME 'gosaApplicationGroup'
+  DESC 'Class for GOsa application groups (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( gosaMemberApplication $ gosaApplicationParameter )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.11
+  NAME 'gosaUserTemplate'
+  DESC 'Class for GOsa User Templates (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.12
+  NAME 'gosaGroupOfNames'
+  DESC 'GOsa object grouping (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn $ gosaGroupObjects )
+  MAY ( member $ description )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.13
+  NAME 'gosaWebDAVAccount'
+  DESC 'GOsa webdav enabling account (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ uid )
+  MAY ( gosaWebDAVQuota )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.14
+  NAME 'gosaIntranetAccount'
+  DESC 'GOsa Inatrent enabling account (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ uid )
+  MAY ( gosaDefaultLanguage )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.15
+  NAME 'gosaAdministrativeUnit'
+  DESC 'Marker for administrational units (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( gosaUnitTag )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.16
+  NAME 'gosaAdministrativeUnitTag'
+  DESC 'Marker for objects below administrational units (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( gosaUnitTag )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.17
+  NAME 'gosaRole'
+  DESC 'ACL container to define roles (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( gosaAclTemplate $ cn )
+  MAY ( description )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.18
+  NAME 'gosaAcl'
+  DESC 'ACL container to define single ACLs (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( gosaAclEntry )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.19
+  NAME 'gosaSnapshotObject'
+  DESC 'Container object for undo and snapshot data (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( gosaSnapshotType $ gosaSnapshotTimestamp $ gosaSnapshotDN $ gosaSnapshotData )
+  MAY ( description )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.20
+  NAME 'gosaConfig'
+  DESC 'Settings for gosa. Replaces parts of the gosa.conf. (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn )
+  MAY ( gosaSetting )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.43
+  NAME 'gotoSubmenuEntry'
+  DESC 'GOto - contains environment settings (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn )
+  MAY ( gosaApplicationIcon $ gosaApplicationPriority )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.44
+  NAME 'gotoMenuEntry'
+  DESC 'GOto - defines a menu entry (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn )
+  MAY ( gosaApplicationParameter $ gosaApplicationPriority )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19.21
+  NAME 'gosaProperties'
+  DESC 'Store GOsa properties (v2.7)'
+  SUP top
+  AUXILIARY
+  MAY ( gosaUserDefinedFilter )
+  )
+#
+################################################################################
+#
diff --git a/gosa-core/contrib/openldap/gosa-samba3.schema b/gosa-core/contrib/openldap/gosa-samba3.schema
index a8b1de3..a360603 100644
--- a/gosa-core/contrib/openldap/gosa-samba3.schema
+++ b/gosa-core/contrib/openldap/gosa-samba3.schema
@@ -239,6 +239,8 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.12.39 NAME 'gosaSnapshotData'
 
 attributetype ( 1.3.6.1.4.1.10098.1.1.12.40 NAME 'gosaSetting'
         DESC 'Original DN of saved object'
+        EQUALITY caseIgnoreMatch
+	SUBSTR caseIgnoreSubstringsMatch
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
 
 attributetype ( 1.3.6.1.4.1.10098.1.1.12.41 NAME 'gosaVacationStart'
@@ -266,6 +268,14 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.12.46 NAME 'gosaLoginRestriction'
         DESC 'Multivalue attribute to carry a number of allowed ips/subnets'
         SUP name)
 
+attributetype ( 1.3.6.1.4.1.10098.1.1.12.47 NAME 'gosaUserDefinedFilter'
+        DESC 'A user defined filter'
+        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15)
+
+attributetype ( 1.3.6.1.4.1.10098.1.1.12.48 NAME 'gosaWebDAVQuota'
+        DESC 'Webdav share quota in KB'
+        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
+
 attributetype ( 1.3.6.1.4.1.10098.1.1.6.2 NAME 'academicTitle'
         DESC 'Field to represent the academic title'
         EQUALITY caseIgnoreMatch
@@ -294,32 +304,32 @@ attributetype ( 1.3.6.1.4.1.19414.2.1.651
 
 # Classes
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.1 NAME 'gosaObject' SUP top AUXILIARY
-        DESC 'Class for GOsa settings (v2.6.1)'
+        DESC 'Class for GOsa settings (v2.7)'
         MUST ( gosaSubtreeACL ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.2 NAME 'gosaLockEntry' SUP top STRUCTURAL
-        DESC 'Class for GOsa locking (v2.6.1)'
+        DESC 'Class for GOsa locking (v2.7)'
         MUST ( gosaUser $ gosaObject $ cn ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.3 NAME 'gosaCacheEntry' SUP top STRUCTURAL
-        DESC 'Class for GOsa caching (v2.6.1)'
+        DESC 'Class for GOsa caching (v2.7)'
 	MAY  ( gosaUser )
 	MUST ( cn ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.4 NAME 'gosaDepartment' SUP top AUXILIARY
-        DESC 'Class to mark Departments for GOsa (v2.6.1)'
+        DESC 'Class to mark Departments for GOsa (v2.7)'
 	MUST  ( ou $ description )
 	MAY   ( manager ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.5 NAME 'gosaMailAccount' SUP top AUXILIARY
-        DESC 'Class to mark MailAccounts for GOsa (v2.6.1)'
+        DESC 'Class to mark MailAccounts for GOsa (v2.7)'
 	MUST ( mail $ gosaMailServer $ gosaMailDeliveryMode)
 	MAY  ( gosaMailQuota $ gosaMailAlternateAddress $ gosaMailForwardingAddress $
 	       gosaMailMaxSize $ gosaSpamSortLevel $ gosaSpamMailbox $
 	       gosaVacationMessage $ gosaVacationStart $ gosaVacationStop $ gosaSharedFolderTarget $ acl))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.6 NAME 'gosaAccount' SUP top AUXILIARY
-        DESC 'Class for GOsa Accounts (v2.6.6)'
+        DESC 'Class for GOsa Accounts (v2.7)'
 	MUST ( uid )
         MAY ( sambaLMPassword $ sambaNTPassword $ sambaPwdLastSet $ gosaDefaultPrinter $
 	      gosaDefaultLanguage $ academicTitle $ personalTitle $ gosaHostACL $ dateOfBirth $
@@ -327,84 +337,89 @@ objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.6 NAME 'gosaAccount' SUP top AUXILIARY
         gotoLastSystemLogin $ gotoLastSystem $ gosaLoginRestriction ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.7 NAME 'gosaHost' SUP top AUXILIARY
-        DESC 'Class for GOsa Hosts (v2.6.1)'
+        DESC 'Class for GOsa Hosts (v2.7)'
         MUST ( cn )
         MAY ( description $ gosaService ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.8 NAME 'gosaProxyAccount' SUP top AUXILIARY
-        DESC 'Class for GOsa Proxy settings (v2.6.1)'
+        DESC 'Class for GOsa Proxy settings (v2.7)'
         MUST ( gosaProxyAcctFlags )
         MAY ( gosaProxyID $ gosaProxyWorkingStart $ gosaProxyWorkingStop $ gosaProxyQuota $
               gosaProxyQuotaPeriod ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.9 NAME 'gosaApplication' SUP top STRUCTURAL
-        DESC 'Class for GOsa applications (v2.6.1)'
+        DESC 'Class for GOsa applications (v2.7)'
         MUST ( cn $ gosaApplicationExecute )
         MAY ( gosaApplicationName $ gosaApplicationIcon $ gosaApplicationFlags $ gosaApplicationMimeType $
               gosaApplicationParameter $ gotoLogonScript $ description $ gosaApplicationCategory ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.10 NAME 'gosaApplicationGroup' SUP top AUXILIARY
-        DESC 'Class for GOsa application groups (v2.6.1)'
+        DESC 'Class for GOsa application groups (v2.7)'
         MUST ( cn )
         MAY ( gosaMemberApplication $ gosaApplicationParameter ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.11 NAME 'gosaUserTemplate' SUP top AUXILIARY
-        DESC 'Class for GOsa User Templates (v2.6.1)'
+        DESC 'Class for GOsa User Templates (v2.7)'
         MUST ( cn ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.12 NAME 'gosaGroupOfNames'
-        DESC 'GOsa object grouping (v2.6.1)'
+        DESC 'GOsa object grouping (v2.7)'
 		SUP top STRUCTURAL
 		MUST ( cn $ gosaGroupObjects ) MAY ( member $ description ) )
 
-objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.13 NAME 'gosaWebdavAccount'
-        DESC 'GOsa webdav enabling account (v2.6.1)'
+objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.13 NAME 'gosaWebDAVAccount'
+        DESC 'GOsa webdav enabling account (v2.7)'
         SUP top AUXILIARY
-        MUST ( cn $ uid ))
+        MUST ( cn $ uid )
+        MAY ( gosaWebDAVQuota ) )
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.14 NAME 'gosaIntranetAccount'
-		DESC 'GOsa Inatrent enabling account (v2.6.1)'
+		DESC 'GOsa Inatrent enabling account (v2.7)'
 		SUP top AUXILIARY
 		MUST ( cn $ uid )
 		MAY ( gosaDefaultLanguage ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.15 NAME 'gosaAdministrativeUnit'
-       DESC 'Marker for administrational units (v2.6.1)'
+       DESC 'Marker for administrational units (v2.7)'
            SUP top AUXILIARY
        MUST ( gosaUnitTag ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.16 NAME 'gosaAdministrativeUnitTag'
-       DESC 'Marker for objects below administrational units (v2.6.1)'
+       DESC 'Marker for objects below administrational units (v2.7)'
            SUP top AUXILIARY
        MUST ( gosaUnitTag ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.17 NAME 'gosaRole'
-       DESC 'ACL container to define roles (v2.6.1)' SUP top STRUCTURAL
+       DESC 'ACL container to define roles (v2.7)' SUP top STRUCTURAL
        MUST ( gosaAclTemplate $ cn )
        MAY  ( description ) )
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.18 NAME 'gosaAcl'
-       DESC 'ACL container to define single ACLs (v2.6.1)' SUP top AUXILIARY
+       DESC 'ACL container to define single ACLs (v2.7)' SUP top AUXILIARY
        MUST ( gosaAclEntry  ))
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.19 NAME 'gosaSnapshotObject'
-       DESC 'Container object for undo and snapshot data (v2.6.1)' SUP top STRUCTURAL
+       DESC 'Container object for undo and snapshot data (v2.7)' SUP top STRUCTURAL
        MUST ( gosaSnapshotType $ gosaSnapshotTimestamp $ gosaSnapshotDN $ gosaSnapshotData )
        MAY  ( description ) )
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.20 NAME 'gosaConfig'
-       DESC 'Settings for gosa. Replaces parts of the gosa.conf. (v2.6)' SUP top STRUCTURAL
+       DESC 'Settings for gosa. Replaces parts of the gosa.conf. (v2.7)' SUP top STRUCTURAL
+       MUST ( cn ) 
        MAY  ( gosaSetting ) )
 
-# GOto submenu entries
+# GOto submenu entry
 objectclass (1.3.6.1.4.1.10098.1.2.1.43 NAME 'gotoSubmenuEntry'
-        DESC 'GOto - contains environment settings (v2.6)' SUP top STRUCTURAL
+        DESC 'GOto - contains environment settings (v2.7)' SUP top STRUCTURAL
         MUST ( cn )
         MAY ( gosaApplicationIcon $ gosaApplicationPriority ) )
 
-# GOto menu entries
+# GOto menu entry
 objectclass (1.3.6.1.4.1.10098.1.2.1.44 NAME 'gotoMenuEntry'
-        DESC 'GOto - defines a menu entry (v2.6)' SUP top STRUCTURAL
+        DESC 'GOto - defines a menu entry (v2.7)' SUP top STRUCTURAL
         MUST ( cn )
         MAY ( gosaApplicationParameter $ gosaApplicationPriority ) )
 
+objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.21 NAME 'gosaProperties' SUP top AUXILIARY
+        DESC 'Store GOsa properties (v2.7)'
+        MAY ( gosaUserDefinedFilter ) )
diff --git a/gosa-core/contrib/openldap/goserver.ldif b/gosa-core/contrib/openldap/goserver.ldif
index de704d6..1a7bb05 100644
--- a/gosa-core/contrib/openldap/goserver.ldif
+++ b/gosa-core/contrib/openldap/goserver.ldif
@@ -1,309 +1,1082 @@
-dn: cn={11}goserver
+#
+################################################################################
+#
+dn: cn=goserver,cn=schema,cn=config
 objectClass: olcSchemaConfig
-cn: {11}goserver
-olcAttributeTypes: {0}( 1.3.6.1.4.1.10098.1.1.9.1 NAME 'goXdmcpIsEnabled' DESC
-  'Indicates if the server is enabled for XDMCP queries' EQUALITY caseExactIA5
- Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {1}( 1.3.6.1.4.1.10098.1.1.9.2 NAME 'goFontPath' DESC 'Font
- server Entry' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
-  )
-olcAttributeTypes: {2}( 1.3.6.1.4.1.10098.1.1.9.4 NAME 'goExportEntry' DESC 'P
- rovides an export entry' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.
- 121.1.15 )
-olcAttributeTypes: {3}( 1.3.6.1.4.1.10098.1.1.9.9 NAME 'goSyslogSection' DESC 
- 'What sections wants the server for its syslog service? i.e. *.*' EQUALITY ca
- seExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {4}( 1.3.6.1.4.1.10098.1.1.9.10 NAME 'goTimeSource' DESC 'L
- ist of time sources' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.1
- 21.1.26 )
-olcAttributeTypes: {5}( 1.3.6.1.4.1.10098.1.1.9.11 NAME 'goSpoolPath' DESC 'Pr
- ovides a spool path for printing services' EQUALITY caseExactIA5Match SYNTAX 
- 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {6}( 1.3.6.1.4.1.10098.1.1.9.12 NAME 'goLdapBase' DESC 'Bas
- e to use for this LDAP server' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.146
- 6.115.121.1.15 SINGLE-VALUE )
-olcAttributeTypes: {7}( 1.3.6.1.4.1.10098.1.1.9.13 NAME 'goImapName' DESC 'Nam
- e of IMAP server appearing in GOsa' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1
- .4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {8}( 1.3.6.1.4.1.10098.1.1.9.14 NAME 'goImapConnect' DESC '
- PHP connect string for IMAP server' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1
- .4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {9}( 1.3.6.1.4.1.10098.1.1.9.15 NAME 'goImapAdmin' DESC 'IM
- AP admin account' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.
- 1.26 SINGLE-VALUE )
-olcAttributeTypes: {10}( 1.3.6.1.4.1.10098.1.1.9.16 NAME 'goImapPassword' DESC
-  'IMAP admin password' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115
- .121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {11}( 1.3.6.1.4.1.10098.1.1.9.17 NAME 'goImapSieveServer' D
- ESC 'Cyrus sieve server address or name' EQUALITY caseExactIA5Match SYNTAX 1.
- 3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {12}( 1.3.6.1.4.1.10098.1.1.9.18 NAME 'goImapSievePort' DES
- C 'Cyrus sieve server port' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.146
- 6.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {13}( 1.3.6.1.4.1.10098.1.1.9.19 NAME 'goKrbRealm' DESC 'De
- fault Kerberos realm to use for this server' EQUALITY caseExactIA5Match SYNTA
- X 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {14}( 1.3.6.1.4.1.10098.1.1.9.20 NAME 'goKrbAdmin' DESC 'Ad
- min principal for kerberos server' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.
- 4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {15}( 1.3.6.1.4.1.10098.1.1.9.21 NAME 'goKrbPassword' DESC 
- 'Admin password for kerberos server' EQUALITY caseExactIA5Match SYNTAX 1.3.6.
- 1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {16}( 1.3.6.1.4.1.10098.1.1.9.22 NAME 'goFaxAdmin' DESC 'Ad
- min principal for fax server' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1
- 466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {17}( 1.3.6.1.4.1.10098.1.1.9.23 NAME 'goFaxPassword' DESC 
- 'Admin password for fax server' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1
- .1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {18}( 1.3.6.1.4.1.10098.1.1.9.83 NAME 'gosaLogDB' DESC 'GOs
- a logging DB name' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121
- .1.26 SINGLE-VALUE )
-olcAttributeTypes: {19}( 1.3.6.1.4.1.10098.1.1.9.24 NAME 'goLogAdmin' DESC 'Ad
- min principal for log server' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1
- 466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {20}( 1.3.6.1.4.1.10098.1.1.9.25 NAME 'goLogPassword' DESC 
- 'Admin password for log server' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1
- .1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {21}( 1.3.6.1.4.1.10098.1.1.9.26 NAME 'goFonAdmin' DESC 'Ad
- min principal for fon server' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1
- 466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {22}( 1.3.6.1.4.1.10098.1.1.9.27 NAME 'goFonPassword' DESC 
- 'Admin password for fon server' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1
- .1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {23}( 1.3.6.1.4.1.10098.1.1.9.28 NAME 'goFonAreaCode' DESC 
- 'Store area code' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.
- 1.26 SINGLE-VALUE )
-olcAttributeTypes: {24}( 1.3.6.1.4.1.10098.1.1.9.29 NAME 'goFonCountryCode' DE
- SC 'Store country code' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.11
- 5.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {25}( 1.3.6.1.4.1.10098.1.1.9.30 NAME 'goGlpiAdmin' DESC 'A
- dmin principal for glpi database server' EQUALITY caseExactIA5Match SYNTAX 1.
- 3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {26}( 1.3.6.1.4.1.10098.1.1.9.31 NAME 'goGlpiPassword' DESC
-  'Admin password for glpi database server' EQUALITY caseExactIA5Match SYNTAX 
- 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {27}( 1.3.6.1.4.1.10098.1.1.9.32 NAME 'goGlpiDatabase' DESC
-  'Database name for glpi extension' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1
- .4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {28}( 1.3.6.1.4.1.10098.1.1.9.33 NAME 'goTerminalServerStat
- us' DESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Mat
- ch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {29}( 1.3.6.1.4.1.10098.1.1.9.34 NAME 'goNfsServerStatus' D
- ESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match SY
- NTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {30}( 1.3.6.1.4.1.10098.1.1.9.35 NAME 'goNtpServerStatus' D
- ESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match SY
- NTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {31}( 1.3.6.1.4.1.10098.1.1.9.36 NAME 'goSyslogServerStatus
- ' DESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match
-  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {32}( 1.3.6.1.4.1.10098.1.1.9.37 NAME 'goLdapServerStatus' 
- DESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match S
- YNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {33}( 1.3.6.1.4.1.10098.1.1.9.38 NAME 'goImapServerStatus' 
- DESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match S
- YNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {34}( 1.3.6.1.4.1.10098.1.1.9.39 NAME 'goKrbServerStatus' D
- ESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match SY
- NTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {35}( 1.3.6.1.4.1.10098.1.1.9.40 NAME 'goFaxServerStatus' D
- ESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match SY
- NTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {36}( 1.3.6.1.4.1.10098.1.1.9.41 NAME 'goLogDBServerStatus'
-  DESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match 
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {37}( 1.3.6.1.4.1.10098.1.1.9.42 NAME 'goFonServerStatus' D
- ESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match SY
- NTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {38}( 1.3.6.1.4.1.10098.1.1.9.43 NAME 'goShareServerStatus'
-  DESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match 
- SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {39}( 1.3.6.1.4.1.10098.1.1.9.44 NAME 'goMailServerStatus' 
- DESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match S
- YNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {40}( 1.3.6.1.4.1.10098.1.1.9.45 NAME 'goGlpiServerStatus' 
- DESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match S
- YNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {41}( 1.3.6.1.4.1.10098.1.1.9.46 NAME 'postfixHeaderSizeLim
- it' DESC 'Keep postfix header-size-limit variable' EQUALITY caseExactIA5Match
-  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {42}( 1.3.6.1.4.1.10098.1.1.9.47 NAME 'postfixMailboxSizeLi
- mit' DESC 'Keep postfix mailbox-size-limit variable' EQUALITY caseExactIA5Mat
- ch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {43}( 1.3.6.1.4.1.10098.1.1.9.48 NAME 'postfixMessageSizeLi
- mit' DESC 'Keep postfix message-size-limit variable' EQUALITY caseExactIA5Mat
- ch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {44}( 1.3.6.1.4.1.10098.1.1.9.49 NAME 'postfixMyDestination
- s' DESC 'Keep postfix mydestinations variable' EQUALITY caseExactIA5Match SYN
- TAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {45}( 1.3.6.1.4.1.10098.1.1.9.50 NAME 'postfixMyDomain' DES
- C 'Keep postfix mydomain variable' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.
- 4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {46}( 1.3.6.1.4.1.10098.1.1.9.51 NAME 'postfixMyHostname' D
- ESC 'Keep postfix myhostname variable' EQUALITY caseExactIA5Match SYNTAX 1.3.
- 6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {47}( 1.3.6.1.4.1.10098.1.1.9.52 NAME 'postfixMyNetworks' D
- ESC 'Keep postfix mynetworks variable' EQUALITY caseExactIA5Match SYNTAX 1.3.
- 6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {48}( 1.3.6.1.4.1.10098.1.1.9.53 NAME 'postfixRelayhost' DE
- SC 'Keep postfix relayhost variable' EQUALITY caseExactIA5Match SYNTAX 1.3.6.
- 1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {49}( 1.3.6.1.4.1.10098.1.1.9.54 NAME 'postfixTransportTabl
- e' DESC 'Keep postfix transport tables' EQUALITY caseExactIA5Match SYNTAX 1.3
- .6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {50}( 1.3.6.1.4.1.10098.1.1.9.55 NAME 'postfixSenderRestric
- tions' DESC 'Keep postfix sender restrictions' EQUALITY caseExactIA5Match SYN
- TAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {51}( 1.3.6.1.4.1.10098.1.1.9.56 NAME 'postfixRecipientRest
- rictions' DESC 'Keep postfix transport tables' EQUALITY caseExactIA5Match SYN
- TAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {52}( 1.3.6.1.4.1.10098.1.1.9.57 NAME 'cyrusImap' DESC 'Sta
- rt IMAP service? true/false' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.14
- 66.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {53}( 1.3.6.1.4.1.10098.1.1.9.58 NAME 'cyrusImapSSL' DESC '
- Start IMAP SSL service? true/false' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1
- .4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {54}( 1.3.6.1.4.1.10098.1.1.9.59 NAME 'cyrusPop3' DESC 'Sta
- rt POP3 service? true/false' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.14
- 66.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {55}( 1.3.6.1.4.1.10098.1.1.9.60 NAME 'cyrusPop3SSL' DESC '
- Start POP3 SSL service? true/false' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1
- .4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {56}( 1.3.6.1.4.1.10098.1.1.9.61 NAME 'goCupsServerStatus' 
- DESC 'Server status container - on / off / fail' EQUALITY caseExactIA5Match S
- YNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {57}( 1.3.6.1.4.1.10098.1.1.9.62 NAME 'saRewriteHeader' DES
- C 'Text to place in front of mail subjects' EQUALITY caseExactIA5Match SYNTAX
-  1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {58}( 1.3.6.1.4.1.10098.1.1.9.63 NAME 'saTrustedNetworks' D
- ESC 'List of trusted networks' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.
- 1466.115.121.1.26 )
-olcAttributeTypes: {59}( 1.3.6.1.4.1.10098.1.1.9.64 NAME 'saRequiredScore' DES
- C 'Required score to tag a mail as SPAM' EQUALITY integerMatch SYNTAX 1.3.6.1
- .4.1.1466.115.121.1.27 SINGLE-VALUE )
-olcAttributeTypes: {60}( 1.3.6.1.4.1.10098.1.1.9.65 NAME 'saFlags' DESC 'Flags
-  for spamassassin' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121
- .1.26 )
-olcAttributeTypes: {61}( 1.3.6.1.4.1.10098.1.1.9.66 NAME 'saRule' DESC 'Base64
-  encoded rule text for spamassassin' EQUALITY caseExactIA5Match SYNTAX 1.3.6.
- 1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {62}( 1.3.6.1.4.1.10098.1.1.9.67 NAME 'saStatus' DESC 'Serv
- er status container - on / off / fail' EQUALITY caseExactIA5Match SYNTAX 1.3.
- 6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {63}( 1.3.6.1.4.1.10098.1.1.9.68 NAME 'avMaxThreads' DESC '
- Number of AV scanning threads' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.
- 115.121.1.27 SINGLE-VALUE )
-olcAttributeTypes: {64}( 1.3.6.1.4.1.10098.1.1.9.69 NAME 'avMaxDirectoryRecurs
- ions' DESC 'Number of recursions done with directories' EQUALITY integerMatch
-  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-olcAttributeTypes: {65}( 1.3.6.1.4.1.10098.1.1.9.70 NAME 'avUser' DESC 'Userna
- me to run with' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.
- 26 SINGLE-VALUE )
-olcAttributeTypes: {66}( 1.3.6.1.4.1.10098.1.1.9.71 NAME 'avFlags' DESC 'Speci
- al flags for the scan engine' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1
- 466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {67}( 1.3.6.1.4.1.10098.1.1.9.72 NAME 'avArchiveMaxFileSize
- ' DESC 'Maximum archive file size' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1
- 466.115.121.1.27 SINGLE-VALUE )
-olcAttributeTypes: {68}( 1.3.6.1.4.1.10098.1.1.9.73 NAME 'avArchiveMaxRecursio
- n' DESC 'Maximum number of archive nestings' EQUALITY integerMatch SYNTAX 1.3
- .6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-olcAttributeTypes: {69}( 1.3.6.1.4.1.10098.1.1.9.74 NAME 'avArchiveMaxCompress
- ionRatio' DESC 'Maximum compression ratio' EQUALITY integerMatch SYNTAX 1.3.6
- .1.4.1.1466.115.121.1.27 SINGLE-VALUE )
-olcAttributeTypes: {70}( 1.3.6.1.4.1.10098.1.1.9.75 NAME 'avDatabaseMirror' DE
- SC 'Where to find updates' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466
- .115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {71}( 1.3.6.1.4.1.10098.1.1.9.76 NAME 'avHttpProxyURL' DESC
-  'How to get the updates' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.
- 115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {72}( 1.3.6.1.4.1.10098.1.1.9.77 NAME 'avStatus' DESC 'Serv
- er status container - on / off / fail' EQUALITY caseExactIA5Match SYNTAX 1.3.
- 6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {73}( 1.3.6.1.4.1.10098.1.1.9.78 NAME 'avChecksPerDay' DESC
-  'Update checks per day' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.12
- 1.1.27 SINGLE-VALUE )
-olcAttributeTypes: {74}( 1.3.6.1.4.1.10098.1.1.9.79 NAME 'goLogDB' DESC 'Name 
- of logging DB' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.2
- 6 SINGLE-VALUE )
-olcAttributeTypes: {75}( 1.3.6.1.4.1.10098.1.1.9.80 NAME 'goLogDBUser' DESC 'A
- uth user for logging DB' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.1
- 15.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {76}( 1.3.6.1.4.1.10098.1.1.9.81 NAME 'goLogDBPassword' DES
- C 'Password for logging DB user' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.
- 1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {77}( 1.3.6.1.4.1.10098.1.1.9.82 NAME 'gotoSessionType' DES
- C 'Supported type for a terminal server' EQUALITY caseExactIA5Match SYNTAX 1.
- 3.6.1.4.1.1466.115.121.1.26 )
-olcObjectClasses: {0}( 1.3.6.1.4.1.10098.1.2.1.16 NAME 'goTerminalServer' DESC
-  'Terminal server description (v2.6.1)' SUP top AUXILIARY MUST ( cn $ goXdmcp
- IsEnabled ) MAY ( description $ goTerminalServerStatus $ gotoSessionType ) )
-olcObjectClasses: {1}( 1.3.6.1.4.1.10098.1.2.1.19 NAME 'goNfsServer' DESC 'NFS
-  server description (v2.6.1)' SUP top AUXILIARY MUST cn MAY ( goExportEntry $
-  description $ goNfsServerStatus ) )
-olcObjectClasses: {2}( 1.3.6.1.4.1.10098.1.2.1.20 NAME 'goNtpServer' DESC 'Tim
- e server description (v2.6.1)' SUP top AUXILIARY MUST cn MAY ( goTimeSource $
-  description $ goNtpServerStatus ) )
-olcObjectClasses: {3}( 1.3.6.1.4.1.10098.1.2.1.21 NAME 'goSyslogServer' DESC '
- Syslog server description (v2.6.1)' SUP top AUXILIARY MUST cn MAY ( goSyslogS
- ection $ description $ goSyslogServerStatus ) )
-olcObjectClasses: {4}( 1.3.6.1.4.1.10098.1.2.1.22 NAME 'goLdapServer' DESC 'LD
- AP server description (v2.6.1)' SUP top AUXILIARY MUST cn MAY ( goLdapBase $ 
- description $ goLdapServerStatus ) )
-olcObjectClasses: {5}( 1.3.6.1.4.1.10098.1.2.1.23 NAME 'goCupsServer' DESC 'CU
- PS server description (v2.6.1)' SUP top AUXILIARY MUST cn MAY ( description $
-  goCupsServerStatus ) )
-olcObjectClasses: {6}( 1.3.6.1.4.1.10098.1.2.1.24 NAME 'goImapServer' DESC 'IM
- AP server description (v2.6.1)' SUP top AUXILIARY MUST ( cn $ goImapName $ go
- ImapConnect $ goImapAdmin $ goImapPassword ) MAY ( goImapSieveServer $ goImap
- SievePort $ description $ goImapServerStatus $ cyrusImap $ cyrusImapSSL $ cyr
- usPop3 $ cyrusPop3SSL ) )
-olcObjectClasses: {7}( 1.3.6.1.4.1.10098.1.2.1.25 NAME 'goKrbServer' DESC 'Ker
- beros server description (v2.6.1)' SUP top AUXILIARY MUST ( cn $ goKrbRealm )
-  MAY ( description $ goKrbServerStatus ) )
-olcObjectClasses: {8}( 1.3.6.1.4.1.10098.1.2.1.26 NAME 'goFaxServer' DESC 'Fax
-  server description (v2.6.1)' SUP top AUXILIARY MUST ( cn $ goFaxAdmin $ goFa
- xPassword ) MAY ( description $ goFaxServerStatus ) )
-olcObjectClasses: {9}( 1.3.6.1.4.1.10098.1.2.1.27 NAME 'goServer' DESC 'Server
-  description (v2.6.1)' SUP top AUXILIARY MUST cn MAY ( description $ macAddre
- ss $ ipHostNumber ) )
-olcObjectClasses: {10}( 1.3.6.1.4.1.10098.1.2.1.28 NAME 'goLogDBServer' DESC '
- Log DB server description (v2.6.1)' SUP top AUXILIARY MUST ( cn $ gosaLogDB $
-  goLogAdmin $ goLogPassword ) MAY goLogDBServerStatus )
-olcObjectClasses: {11}( 1.3.6.1.4.1.10098.1.2.1.29 NAME 'goFonServer' DESC 'Fo
- n server description (v2.6.1)' SUP top AUXILIARY MUST ( cn $ goFonAdmin $ goF
- onPassword $ goFonAreaCode $ goFonCountryCode ) MAY ( description $ goFonServ
- erStatus ) )
-olcObjectClasses: {12}( 1.3.6.1.4.1.10098.1.2.1.33 NAME 'goShareServer' DESC '
- Share server description (v2.6.1)' SUP top AUXILIARY MUST cn MAY ( descriptio
- n $ goExportEntry $ goShareServerStatus ) )
-olcObjectClasses: {13}( 1.3.6.1.4.1.10098.1.2.1.36 NAME 'goMailServer' DESC 'M
- ail server definition (v2.6.1)' SUP top AUXILIARY MUST cn MAY ( description $
-  goMailServerStatus $ postfixHeaderSizeLimit $ postfixMailboxSizeLimit $ post
- fixMessageSizeLimit $ postfixMydestinations $ postfixMydomain $ postfixMyhost
- name $ postfixMynetworks $ postfixRelayhost $ postfixTransportTable $ postfix
- SenderRestrictions $ postfixRecipientRestrictions ) )
-olcObjectClasses: {14}( 1.3.6.1.4.1.10098.1.2.1.37 NAME 'goGlpiServer' DESC 'G
- lpi server definition (v2.6.1)' SUP top AUXILIARY MUST ( cn $ goGlpiAdmin $ g
- oGlpiDatabase ) MAY ( description $ goGlpiPassword $ goGlpiServerStatus ) )
-olcObjectClasses: {15}( 1.3.6.1.4.1.10098.1.2.1.38 NAME 'goSpamServer' DESC 'S
- pam server definition (v2.6.1)' SUP top AUXILIARY MUST cn MAY ( saRewriteHead
- er $ saTrustedNetworks $ saRequiredScore $ saFlags $ saRule $ saStatus ) )
-olcObjectClasses: {16}( 1.3.6.1.4.1.10098.1.2.1.39 NAME 'goVirusServer' DESC '
- Virus server definition (v2.6.1)' SUP top AUXILIARY MUST cn MAY ( avMaxThread
- s $ avMaxDirectoryRecursions $ avUser $ avFlags $ avArchiveMaxFileSize $ avAr
- chiveMaxRecursion $ avArchiveMaxCompressionRatio $ avDatabaseMirror $ avCheck
- sPerDay $ avHttpProxyURL $ avStatus ) )
-olcObjectClasses: {17}( 1.3.6.1.4.1.10098.1.2.1.40 NAME 'gosaLogServer' DESC '
- GOsa log server (v2.6)' SUP top AUXILIARY MUST ( cn $ goLogDB $ goLogDBUser $
-  goLogDBPassword ) )
-olcObjectClasses: {18}( 1.3.6.1.4.1.10098.1.2.1.41 NAME 'goEnvironmentServer' 
- DESC 'Environment server definition (v2.6)' SUP top AUXILIARY MUST cn MAY got
- oKioskProfile )
-structuralObjectClass: olcSchemaConfig
-entryUUID: fbafbaec-f065-102e-960b-79233977c302
-creatorsName: cn=config
-createTimestamp: 20100510095600Z
-entryCSN: 20100510095600.855485Z#000000#000#000000
-modifiersName: cn=config
-modifyTimestamp: 20100510095600Z
+cn: goserver
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.1
+  NAME 'goXdmcpIsEnabled'
+  DESC 'Indicates if the server is enabled for XDMCP queries'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.2
+  NAME 'goFontPath'
+  DESC 'Fontserver Entry'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.4
+  NAME 'goExportEntry'
+  DESC 'Provides an export entry'
+  EQUALITY caseExactMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.9
+  NAME 'goSyslogSection'
+  DESC 'What sections wants the server for its syslog service? i.e. *.*'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.10
+  NAME 'goTimeSource'
+  DESC 'List of time sources'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.11
+  NAME 'goSpoolPath'
+  DESC 'Provides a spool path for printing services'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.12
+  NAME 'goLdapBase'
+  DESC 'Base to use for this LDAP server'
+  EQUALITY caseExactMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.13
+  NAME 'goImapName'
+  DESC 'Name of IMAP server appearing in GOsa'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.14
+  NAME 'goImapConnect'
+  DESC 'PHP connect string for IMAP server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.15
+  NAME 'goImapAdmin'
+  DESC 'IMAP admin account'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.16
+  NAME 'goImapPassword'
+  DESC 'IMAP admin password'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.17
+  NAME 'goImapSieveServer'
+  DESC 'Cyrus sieve server address or name'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.18
+  NAME 'goImapSievePort'
+  DESC 'Cyrus sieve server port'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.19
+  NAME 'goKrbRealm'
+  DESC 'Default Kerberos realm to use for this server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.20
+  NAME 'goKrbAdmin'
+  DESC 'Admin principal for kerberos server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.21
+  NAME 'goKrbPassword'
+  DESC 'Admin password for kerberos server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.22
+  NAME 'goFaxAdmin'
+  DESC 'Admin principal for fax server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.23
+  NAME 'goFaxPassword'
+  DESC 'Admin password for fax server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.83
+  NAME 'gosaLogDB'
+  DESC 'GOsa logging DB name'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.24
+  NAME 'goLogAdmin'
+  DESC 'Admin principal for log server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.25
+  NAME 'goLogPassword'
+  DESC 'Admin password for log server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.26
+  NAME 'goFonAdmin'
+  DESC 'Admin principal for fon server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.27
+  NAME 'goFonPassword'
+  DESC 'Admin password for fon server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.28
+  NAME 'goFonAreaCode'
+  DESC 'Store area code'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.29
+  NAME 'goFonCountryCode'
+  DESC 'Store country code'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.30
+  NAME 'goGlpiAdmin'
+  DESC 'Admin principal for glpi database server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.31
+  NAME 'goGlpiPassword'
+  DESC 'Admin password for glpi database server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.32
+  NAME 'goGlpiDatabase'
+  DESC 'Database name for glpi extension'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.33
+  NAME 'goTerminalServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.34
+  NAME 'goNfsServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.35
+  NAME 'goNtpServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.36
+  NAME 'goSyslogServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.37
+  NAME 'goLdapServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.38
+  NAME 'goImapServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.39
+  NAME 'goKrbServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.40
+  NAME 'goFaxServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.41
+  NAME 'goLogDBServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.42
+  NAME 'goFonServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.43
+  NAME 'goShareServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.44
+  NAME 'goMailServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.45
+  NAME 'goGlpiServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.46
+  NAME 'postfixHeaderSizeLimit'
+  DESC 'Keep postfix header-size-limit variable'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.47
+  NAME 'postfixMailboxSizeLimit'
+  DESC 'Keep postfix mailbox-size-limit variable'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.48
+  NAME 'postfixMessageSizeLimit'
+  DESC 'Keep postfix message-size-limit variable'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.49
+  NAME 'postfixMyDestinations'
+  DESC 'Keep postfix mydestinations variable'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.50
+  NAME 'postfixMyDomain'
+  DESC 'Keep postfix mydomain variable'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.51
+  NAME 'postfixMyHostname'
+  DESC 'Keep postfix myhostname variable'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.52
+  NAME 'postfixMyNetworks'
+  DESC 'Keep postfix mynetworks variable'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.53
+  NAME 'postfixRelayhost'
+  DESC 'Keep postfix relayhost variable'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.54
+  NAME 'postfixTransportTable'
+  DESC 'Keep postfix transport tables'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.55
+  NAME 'postfixSenderRestrictions'
+  DESC 'Keep postfix sender restrictions'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.56
+  NAME 'postfixRecipientRestrictions'
+  DESC 'Keep postfix transport tables'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.57
+  NAME 'cyrusImap'
+  DESC 'Start IMAP service? true/false'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.58
+  NAME 'cyrusImapSSL'
+  DESC 'Start IMAP SSL service? true/false'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.59
+  NAME 'cyrusPop3'
+  DESC 'Start POP3 service? true/false'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.60
+  NAME 'cyrusPop3SSL'
+  DESC 'Start POP3 SSL service? true/false'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.61
+  NAME 'goCupsServerStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.62
+  NAME 'saRewriteHeader'
+  DESC 'Text to place in front of mail subjects'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.63
+  NAME 'saTrustedNetworks'
+  DESC 'List of trusted networks'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.64
+  NAME 'saRequiredScore'
+  DESC 'Required score to tag a mail as SPAM'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.65
+  NAME 'saFlags'
+  DESC 'Flags for spamassassin'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.66
+  NAME 'saRule'
+  DESC 'Base64 encoded rule text for spamassassin'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.67
+  NAME 'saStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.68
+  NAME 'avMaxThreads'
+  DESC 'Number of AV scanning threads'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.69
+  NAME 'avMaxDirectoryRecursions'
+  DESC 'Number of recursions done with directories'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.70
+  NAME 'avUser'
+  DESC 'Username to run with'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.71
+  NAME 'avFlags'
+  DESC 'Special flags for the scan engine'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.72
+  NAME 'avArchiveMaxFileSize'
+  DESC 'Maximum archive file size'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.73
+  NAME 'avArchiveMaxRecursion'
+  DESC 'Maximum number of archive nestings'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.74
+  NAME 'avArchiveMaxCompressionRatio'
+  DESC 'Maximum compression ratio'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.75
+  NAME 'avDatabaseMirror'
+  DESC 'Where to find updates'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.76
+  NAME 'avHttpProxyURL'
+  DESC 'How to get the updates'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.77
+  NAME 'avStatus'
+  DESC 'Server status container - on / off / fail'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.78
+  NAME 'avChecksPerDay'
+  DESC 'Update checks per day'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.79
+  NAME 'goLogDB'
+  DESC 'Name of logging DB'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.80
+  NAME 'goLogDBUser'
+  DESC 'Auth user for logging DB'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.81
+  NAME 'goLogDBPassword'
+  DESC 'Password for logging DB user'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.9.82
+  NAME 'gotoSessionType'
+  DESC 'Supported type for a terminal server'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.16
+  NAME 'goTerminalServer'
+  DESC 'Terminal server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ goXdmcpIsEnabled )
+  MAY ( description $ goTerminalServerStatus $ gotoSessionType $ goFontPath )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.19
+  NAME 'goNfsServer'
+  DESC 'NFS server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( goExportEntry $ description $ goNfsServerStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.20
+  NAME 'goNtpServer'
+  DESC 'Time server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( goTimeSource $ description $ goNtpServerStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.21
+  NAME 'goSyslogServer'
+  DESC 'Syslog server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( goSyslogSection $ description $ goSyslogServerStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.22
+  NAME 'goLdapServer'
+  DESC 'LDAP server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( goLdapBase $ description $ goLdapServerStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.23
+  NAME 'goCupsServer'
+  DESC 'CUPS server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( description $ goCupsServerStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.24
+  NAME 'goImapServer'
+  DESC 'IMAP server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ goImapName $ goImapConnect $ goImapAdmin $ goImapPassword )
+  MAY ( goImapSieveServer $ goImapSievePort $ description $ goImapServerStatus $ cyrusImap $ cyrusImapSSL $ cyrusPop3 $ cyrusPop3SSL )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.25
+  NAME 'goKrbServer'
+  DESC 'Kerberos server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ goKrbRealm )
+  MAY ( description $ goKrbServerStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.26
+  NAME 'goFaxServer'
+  DESC 'Fax server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ goFaxAdmin $ goFaxPassword )
+  MAY ( description $ goFaxServerStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.27
+  NAME 'goServer'
+  DESC 'Server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( description $ macAddress $ ipHostNumber )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.28
+  NAME 'goLogDBServer'
+  DESC 'Log DB server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ gosaLogDB $ goLogAdmin $ goLogPassword )
+  MAY ( goLogDBServerStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.29
+  NAME 'goFonServer'
+  DESC 'Fon server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ goFonAdmin $ goFonPassword $ goFonAreaCode $ goFonCountryCode )
+  MAY ( description $ goFonServerStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.33
+  NAME 'goShareServer'
+  DESC 'Share server description (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( description $ goExportEntry $ goShareServerStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.36
+  NAME 'goMailServer'
+  DESC 'Mail server definition (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( description $ goMailServerStatus $ postfixHeaderSizeLimit $ postfixMailboxSizeLimit $ postfixMessageSizeLimit $ postfixMydestinations $ postfixMydomain $ postfixMyhostname $ postfixMynetworks $ postfixRelayhost $ postfixTransportTable $ postfixSenderRestrictions $ postfixRecipientRestrictions )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.37
+  NAME 'goGlpiServer'
+  DESC 'Glpi server definition (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ goGlpiAdmin $ goGlpiDatabase )
+  MAY ( description $ goGlpiPassword $ goGlpiServerStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.38
+  NAME 'goSpamServer'
+  DESC 'Spam server definition (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( saRewriteHeader $ saTrustedNetworks $ saRequiredScore $ saFlags $ saRule $ saStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.39
+  NAME 'goVirusServer'
+  DESC 'Virus server definition (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( avMaxThreads $ avMaxDirectoryRecursions $ avUser $ avFlags $ avArchiveMaxFileSize $ avArchiveMaxRecursion $ avArchiveMaxCompressionRatio $ avDatabaseMirror $ avChecksPerDay $ avHttpProxyURL $ avStatus )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.40
+  NAME 'gosaLogServer'
+  DESC 'GOsa log server (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ goLogDB $ goLogDBUser $ goLogDBPassword )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.41
+  NAME 'goEnvironmentServer'
+  DESC 'Environment server definition (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( gotoKioskProfile )
+  )
+#
+################################################################################
+#
diff --git a/gosa-core/contrib/openldap/goserver.schema b/gosa-core/contrib/openldap/goserver.schema
index 34d5b02..46fcf2d 100644
--- a/gosa-core/contrib/openldap/goserver.schema
+++ b/gosa-core/contrib/openldap/goserver.schema
@@ -473,86 +473,86 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.9.82 NAME 'gotoSessionType'
 
 # Terminal Server description 
 objectclass (1.3.6.1.4.1.10098.1.2.1.16 NAME 'goTerminalServer' SUP top AUXILIARY
-	DESC 'Terminal server description (v2.6.1)'
+	DESC 'Terminal server description (v2.7)'
 	MUST ( cn $ goXdmcpIsEnabled )
-	MAY  ( description $ goTerminalServerStatus $ gotoSessionType ))
+	MAY  ( description $ goTerminalServerStatus $ gotoSessionType $ goFontPath ))
 
 # NFS Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.19 NAME 'goNfsServer' SUP top AUXILIARY
-	DESC 'NFS server description (v2.6.1)'
+	DESC 'NFS server description (v2.7)'
 	MUST ( cn )
 	MAY  ( goExportEntry $ description $ goNfsServerStatus ))
 
 # Time Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.20 NAME 'goNtpServer' SUP top AUXILIARY
-	DESC 'Time server description (v2.6.1)'
+	DESC 'Time server description (v2.7)'
 	MUST ( cn )
         MAY  ( goTimeSource $ description $ goNtpServerStatus ))
 
 # Syslog Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.21 NAME 'goSyslogServer' SUP top AUXILIARY
-	DESC 'Syslog server description (v2.6.1)'
+	DESC 'Syslog server description (v2.7)'
 	MUST ( cn )
 	MAY  ( goSyslogSection $ description $ goSyslogServerStatus ))
 
 # LDAP Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.22 NAME 'goLdapServer' SUP top AUXILIARY
-	DESC 'LDAP server description (v2.6.1)'
+	DESC 'LDAP server description (v2.7)'
 	MUST ( cn )
 	MAY  ( goLdapBase $ description $ goLdapServerStatus ))
 
 # CUPS Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.23 NAME 'goCupsServer' SUP top AUXILIARY
-	DESC 'CUPS server description (v2.6.1)'
+	DESC 'CUPS server description (v2.7)'
 	MUST ( cn )
 	MAY  ( description $ goCupsServerStatus ))
 
 # IMAP Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.24 NAME 'goImapServer' SUP top AUXILIARY
-	DESC 'IMAP server description (v2.6.1)'
+	DESC 'IMAP server description (v2.7)'
 	MUST ( cn $ goImapName $ goImapConnect $ goImapAdmin $ goImapPassword )
 	MAY  ( goImapSieveServer $ goImapSievePort $ description $ goImapServerStatus $
 	       cyrusImap $ cyrusImapSSL $ cyrusPop3 $ cyrusPop3SSL ))
 
 # Kerberos Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.25 NAME 'goKrbServer' SUP top AUXILIARY
-	DESC 'Kerberos server description (v2.6.1)'
+	DESC 'Kerberos server description (v2.7)'
 	MUST ( cn $ goKrbRealm )
 	MAY  ( description $ goKrbServerStatus ))
 
 # Fax Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.26 NAME 'goFaxServer' SUP top AUXILIARY
-	DESC 'Fax server description (v2.6.1)'
+	DESC 'Fax server description (v2.7)'
 	MUST ( cn $ goFaxAdmin $ goFaxPassword )
 	MAY  ( description $ goFaxServerStatus ))
 
 # Common server class
 objectclass (1.3.6.1.4.1.10098.1.2.1.27 NAME 'goServer' SUP top AUXILIARY
-	DESC 'Server description (v2.6.1)'
+	DESC 'Server description (v2.7)'
 	MUST ( cn )
 	MAY  ( description $ macAddress $ ipHostNumber ))
 
 # LogDB Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.28 NAME 'goLogDBServer' SUP top AUXILIARY
-	DESC 'Log DB server description (v2.6.1)'
+	DESC 'Log DB server description (v2.7)'
 	MUST ( cn $ gosaLogDB $ goLogAdmin $ goLogPassword )
 	MAY  ( goLogDBServerStatus ))
 
 # Fon Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.29 NAME 'goFonServer' SUP top AUXILIARY
-        DESC 'Fon server description (v2.6.1)'
+        DESC 'Fon server description (v2.7)'
         MUST ( cn $ goFonAdmin $ goFonPassword $ goFonAreaCode $ goFonCountryCode )
         MAY  ( description $ goFonServerStatus ))
 
 # Share Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.33 NAME 'goShareServer' SUP top AUXILIARY
-	DESC 'Share server description (v2.6.1)'
+	DESC 'Share server description (v2.7)'
 	MUST ( cn )
 	MAY  ( description $ goExportEntry $ goShareServerStatus ))
 
 # Mail Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.36 NAME 'goMailServer' SUP top AUXILIARY
-	DESC 'Mail server definition (v2.6.1)'
+	DESC 'Mail server definition (v2.7)'
 	MUST ( cn )
 	MAY  ( description $ goMailServerStatus $ postfixHeaderSizeLimit $
 	       postfixMailboxSizeLimit $ postfixMessageSizeLimit $
@@ -562,20 +562,20 @@ objectclass (1.3.6.1.4.1.10098.1.2.1.36 NAME 'goMailServer' SUP top AUXILIARY
 
 # Glpi Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.37 NAME 'goGlpiServer' SUP top AUXILIARY
-	DESC 'Glpi server definition (v2.6.1)'
+	DESC 'Glpi server definition (v2.7)'
 	MUST ( cn $ goGlpiAdmin $ goGlpiDatabase)
 	MAY  ( description $ goGlpiPassword $ goGlpiServerStatus ) )
 
 # Spamassassin definitions
 objectclass (1.3.6.1.4.1.10098.1.2.1.38 NAME 'goSpamServer' SUP top AUXILIARY
-	DESC 'Spam server definition (v2.6.1)'
+	DESC 'Spam server definition (v2.7)'
 	MUST ( cn )
 	MAY  ( saRewriteHeader $ saTrustedNetworks $ saRequiredScore $ saFlags $
 	       saRule $ saStatus ) )
 
 # Clamav definitions
 objectclass (1.3.6.1.4.1.10098.1.2.1.39 NAME 'goVirusServer' SUP top AUXILIARY
-	DESC 'Virus server definition (v2.6.1)'
+	DESC 'Virus server definition (v2.7)'
 	MUST ( cn )
 	MAY  ( avMaxThreads $ avMaxDirectoryRecursions $ avUser $ avFlags $
                avArchiveMaxFileSize $ avArchiveMaxRecursion $ avArchiveMaxCompressionRatio $
@@ -583,12 +583,12 @@ objectclass (1.3.6.1.4.1.10098.1.2.1.39 NAME 'goVirusServer' SUP top AUXILIARY
 
 # LogDB Server description
 objectclass (1.3.6.1.4.1.10098.1.2.1.40 NAME 'gosaLogServer' SUP top AUXILIARY
-	DESC 'GOsa log server (v2.6)'
+	DESC 'GOsa log server (v2.7)'
 	MUST ( cn $ goLogDB $ goLogDBUser $ goLogDBPassword ))
 
 # Environment Server
 objectclass (1.3.6.1.4.1.10098.1.2.1.41 NAME 'goEnvironmentServer' SUP top AUXILIARY
-	DESC 'Environment server definition (v2.6)'
+	DESC 'Environment server definition (v2.7)'
 	MUST ( cn )
 	MAY  ( gotoKioskProfile ) )
 
diff --git a/gosa-core/contrib/openldap/gosystem.ldif b/gosa-core/contrib/openldap/gosystem.ldif
index fcd6bdc..f171b79 100644
--- a/gosa-core/contrib/openldap/gosystem.ldif
+++ b/gosa-core/contrib/openldap/gosystem.ldif
@@ -1,199 +1,595 @@
-dn: cn={5}gosystem
+#
+################################################################################
+#
+dn: cn=gosystem,cn=schema,cn=config
 objectClass: olcSchemaConfig
-cn: {5}gosystem
-olcAttributeTypes: {0}( 1.3.6.1.4.1.10098.1.1.1.1 NAME 'gotoSyslogServer' DESC
-  'GOto - Gonicus Terminal Concept, value syslogServer.' EQUALITY caseIgnoreIA
- 5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.
- 26 SINGLE-VALUE )
-olcAttributeTypes: {1}( 1.3.6.1.4.1.10098.1.1.1.2 NAME 'gotoNtpServer' DESC 'G
- Oto - Gonicus Terminal Concept, value ntpServer.' EQUALITY caseIgnoreIA5Match
-  SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {2}( 1.3.6.1.4.1.10098.1.1.1.3 NAME 'gotoSwapServer' DESC '
- GOto - Gonicus Terminal Concept, value swapServer.' EQUALITY caseIgnoreIA5Mat
- ch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 S
- INGLE-VALUE )
-olcAttributeTypes: {3}( 1.3.6.1.4.1.10098.1.1.1.4 NAME 'gotoLpdServer' DESC 'G
- Oto - Gonicus Terminal Concept, value lpdServer.' EQUALITY caseIgnoreIA5Match
-  SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SIN
- GLE-VALUE )
-olcAttributeTypes: {4}( 1.3.6.1.4.1.10098.1.1.1.5 NAME 'gotoFontPath' DESC 'GO
- to - Gonicus Terminal Concept, value fontPath.' EQUALITY caseIgnoreIA5Match S
- UBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGL
- E-VALUE )
-olcAttributeTypes: {5}( 1.3.6.1.4.1.10098.1.1.1.6 NAME 'gotoFilesystem' DESC '
- GOto - Gonicus Terminal Concept, value filesystem.' EQUALITY caseIgnoreIA5Mat
- ch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {6}( 1.3.6.1.4.1.10098.1.1.1.7 NAME 'gotoFloppyEnable' DESC
-  'GOto - Gonicus Terminal Concept, value floppyEnable.' EQUALITY caseIgnoreIA
- 5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.
- 26 SINGLE-VALUE )
-olcAttributeTypes: {7}( 1.3.6.1.4.1.10098.1.1.1.8 NAME 'gotoCdromEnable' DESC 
- 'GOto - Gonicus Terminal Concept, value cdromEnable.' EQUALITY caseIgnoreIA5M
- atch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
-  SINGLE-VALUE )
-olcAttributeTypes: {8}( 1.3.6.1.4.1.10098.1.1.1.9 NAME 'gotoLpdEnable' DESC 'G
- Oto - Gonicus Terminal Concept, value lpdEnable.' EQUALITY caseIgnoreIA5Match
-  SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {9}( 1.3.6.1.4.1.10098.1.1.1.10 NAME 'gotoScannerEnable' DE
- SC 'GOto - Gonicus Terminal Concept, value scannerEnable.' EQUALITY caseIgnor
- eIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121
- .1.26 SINGLE-VALUE )
-olcAttributeTypes: {10}( 1.3.6.1.4.1.10098.1.1.1.11 NAME 'gotoScannerClients' 
- DESC 'GOto - Gonicus Terminal Concept, value scannerClients.' EQUALITY caseIg
- noreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.
- 121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {11}( 1.3.6.1.4.1.10098.1.1.1.14 NAME 'gotoRootPasswd' DESC
-  'GOto - Gonicus Terminal Concept, value rootPasswd.' EQUALITY caseIgnoreIA5M
- atch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
-  SINGLE-VALUE )
-olcAttributeTypes: {12}( 1.3.6.1.4.1.10098.1.1.1.15 NAME 'gotoXdmcpServer' DES
- C 'GOto - Gonicus Terminal Concept, value xdmcpServer.' EQUALITY caseIgnoreIA
- 5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.
- 26 SINGLE-VALUE )
-olcAttributeTypes: {13}( 1.3.6.1.4.1.10098.1.1.1.16 NAME 'gotoXMethod' DESC 'G
- Oto - Gonicus Terminal Concept, value xMethod.' EQUALITY caseIgnoreIA5Match S
- UBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGL
- E-VALUE )
-olcAttributeTypes: {14}( 1.3.6.1.4.1.10098.1.1.1.17 NAME 'gotoXMonitor' DESC '
- GOto - Gonicus Terminal Concept, value xMonitor.' EQUALITY caseIgnoreIA5Match
-  SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SIN
- GLE-VALUE )
-olcAttributeTypes: {15}( 1.3.6.1.4.1.10098.1.1.1.18 NAME 'gotoXHsync' DESC 'GO
- to - Gonicus Terminal Concept, value xHsync.' EQUALITY caseIgnoreIA5Match SUB
- STR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-
- VALUE )
-olcAttributeTypes: {16}( 1.3.6.1.4.1.10098.1.1.1.19 NAME 'gotoXVsync' DESC 'GO
- to - Gonicus Terminal Concept, value xVsync.' EQUALITY caseIgnoreIA5Match SUB
- STR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-
- VALUE )
-olcAttributeTypes: {17}( 1.3.6.1.4.1.10098.1.1.1.20 NAME 'gotoXResolution' DES
- C 'GOto - Gonicus Terminal Concept, value xResolution.' EQUALITY caseIgnoreIA
- 5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.
- 26 SINGLE-VALUE )
-olcAttributeTypes: {18}( 1.3.6.1.4.1.10098.1.1.1.21 NAME 'gotoXColordepth' DES
- C 'GOto - Gonicus Terminal Concept, value xColordepth.' EQUALITY caseIgnoreIA
- 5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.
- 26 SINGLE-VALUE )
-olcAttributeTypes: {19}( 1.3.6.1.4.1.10098.1.1.1.22 NAME 'gotoXMouseport' DESC
-  'GOto - Gonicus Terminal Concept, value xMouseport.' EQUALITY caseIgnoreIA5M
- atch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
-  SINGLE-VALUE )
-olcAttributeTypes: {20}( 1.3.6.1.4.1.10098.1.1.1.23 NAME 'gotoXMouseButtons' D
- ESC 'GOto - Gonicus Terminal Concept, value xMouseButtons.' EQUALITY caseIgno
- reIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.12
- 1.1.26 SINGLE-VALUE )
-olcAttributeTypes: {21}( 1.3.6.1.4.1.10098.1.1.1.24 NAME 'gotoMode' DESC 'GOto
-  - Gonicus Terminal Concept, Terminal is active.' EQUALITY caseIgnoreIA5Match
-  SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SIN
- GLE-VALUE )
-olcAttributeTypes: {22}( 1.3.6.1.4.1.10098.1.1.1.25 NAME 'gotoXKbModel' DESC '
- GOto - Gonicus Terminal Concept, value xKbmodel.' EQUALITY caseIgnoreIA5Match
-  SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SIN
- GLE-VALUE )
-olcAttributeTypes: {23}( 1.3.6.1.4.1.10098.1.1.1.26 NAME 'gotoXKbLayout' DESC 
- 'GOto - Gonicus Terminal Concept, value xKblayout.' EQUALITY caseIgnoreIA5Mat
- ch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 S
- INGLE-VALUE )
-olcAttributeTypes: {24}( 1.3.6.1.4.1.10098.1.1.1.27 NAME 'gotoXKbVariant' DESC
-  'GOto - Gonicus Terminal Concept, value xKbvariant.' EQUALITY caseIgnoreIA5M
- atch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
-  SINGLE-VALUE )
-olcAttributeTypes: {25}( 1.3.6.1.4.1.10098.1.1.1.28 NAME 'gotoXDriver' DESC 'G
- Oto - Gonicus Terminal Concept, value xDriver.' EQUALITY caseIgnoreIA5Match S
- UBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGL
- E-VALUE )
-olcAttributeTypes: {26}( 1.3.6.1.4.1.10098.1.1.1.29 NAME 'gotoSndModule' DESC 
- 'GOto - Gonicus Terminal Concept, value sndModules.' EQUALITY caseIgnoreIA5Ma
- tch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 
- SINGLE-VALUE )
-olcAttributeTypes: {27}( 1.3.6.1.4.1.10098.1.1.1.30 NAME 'gotoLastUser' DESC '
- GOto - Gonicus Terminal Concept, value lastUser.' EQUALITY caseIgnoreIA5Match
-  SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SIN
- GLE-VALUE )
-olcAttributeTypes: {28}( 1.3.6.1.4.1.10098.1.1.1.31 NAME 'gotoAutoFs' DESC 'GO
- to - Gonicus Terminal Concept, value autofs.' EQUALITY caseIgnoreIA5Match SUB
- STR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {29}( 1.3.6.1.4.1.10098.1.1.1.32 NAME 'gotoModules' DESC 'G
- Oto - Gonicus Terminal Concept, value modules.' EQUALITY caseIgnoreIA5Match S
- UBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {30}( 1.3.6.1.4.1.10098.1.1.1.33 NAME 'gotoAdaptPath' DESC 
- 'GOto - Gonicus Terminal Concept, value adaptpath.' EQUALITY caseIgnoreIA5Mat
- ch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {31}( 1.3.6.1.4.1.10098.1.1.1.34 NAME 'gotoXMouseType' DESC
-  'Hardware definitions, value Maustyp' EQUALITY caseIgnoreIA5Match SUBSTR cas
- eIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {32}( 1.3.6.1.4.1.10098.1.1.1.35 NAME 'gotoKernelParameters
- ' DESC 'Kernel boot parameters' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnore
- IA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {33}( 1.3.6.1.4.1.10098.1.1.1.36 NAME 'gotoBootKernel' DESC
-  'Kernel boot parameters' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5Sub
- stringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {34}( 1.3.6.1.4.1.10098.1.1.1.37 NAME 'gotoTerminalPath' DE
- SC 'Kernel boot parameters' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5S
- ubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {35}( 1.3.6.1.4.1.10098.1.1.1.38 NAME 'gotoLdapServer' DESC
-  'Kernel boot parameters' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstring
- sMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
-olcAttributeTypes: {36}( 1.3.6.1.4.1.10098.1.1.1.39 NAME 'gotoScannerBackend' 
- DESC 'GOto - Gonicus Terminal Concept, value scannerBackend.' EQUALITY caseIg
- noreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.
- 121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {37}( 1.3.6.1.4.1.10098.1.1.1.40 NAME 'gotoScannerModel' DE
- SC 'GOto - Gonicus Terminal Concept, value scannerModel.' EQUALITY caseIgnore
- IA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.
- 1.26 SINGLE-VALUE )
-olcAttributeTypes: {38}( 1.3.6.1.4.1.10098.1.1.2.1 NAME 'ghCpuType' DESC 'Hard
- ware definitions, value cpuType' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnor
- eIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {39}( 1.3.6.1.4.1.10098.1.1.2.2 NAME 'ghMemSize' DESC 'Hard
- ware definitions, value memSize' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnor
- eIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {40}( 1.3.6.1.4.1.10098.1.1.2.3 NAME 'ghUsbSupport' DESC 'H
- ardware definitions, value usbSupport' EQUALITY caseIgnoreIA5Match SUBSTR cas
- eIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {41}( 1.3.6.1.4.1.10098.1.1.2.4 NAME 'ghIdeDev' DESC 'Hardw
- are definitions, value ideDev' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreI
- A5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {42}( 1.3.6.1.4.1.10098.1.1.2.5 NAME 'ghScsiDev' DESC 'Hard
- ware definitions, value scsiDev' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnor
- eIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {43}( 1.3.6.1.4.1.10098.1.1.2.7 NAME 'ghSoundAdapter' DESC 
- 'Hardware definitions, value soundAdapter' EQUALITY caseIgnoreIA5Match SUBSTR
-  caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VAL
- UE )
-olcAttributeTypes: {44}( 1.3.6.1.4.1.10098.1.1.2.8 NAME 'ghNetNic' DESC 'Hardw
- are definitions, value Network Device' EQUALITY caseIgnoreIA5Match SUBSTR cas
- eIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {45}( 1.3.6.1.4.1.10098.1.1.2.9 NAME 'ghGfxAdapter' DESC 'H
- ardware definitions, value Grafikkarte' EQUALITY caseIgnoreIA5Match SUBSTR ca
- seIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE 
- )
-olcAttributeTypes: {46}( 1.3.6.1.4.1.10098.1.1.2.10 NAME 'ghInventoryNumber' D
- ESC 'Unique number for inclusion in an inventory' EQUALITY caseIgnoreIA5Match
-  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {47}( 1.3.6.1.4.1.10098.1.1.2.11 NAME 'gotoSysStatus' DESC 
- 'Keeps current system status - info shown in GOsa' EQUALITY caseIgnoreIA5Matc
- h SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {48}( 1.3.6.1.4.1.10098.1.1.2.12 NAME 'gotoHardwareChecksum
- ' DESC 'GOto - quick way to see if something has changed' EQUALITY caseIgnore
- IA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcObjectClasses: {0}( 1.3.6.1.4.1.10098.1.2.1.3 NAME 'GOhard' DESC 'Gonicus H
- ardware definitions, objectclass (v2.6.1)' SUP top STRUCTURAL MUST cn MAY ( g
- hGfxAdapter $ ghNetNic $ ghSoundAdapter $ ghIdeDev $ ghScsiDev $ macAddress $
-  ghUsbSupport $ ghMemSize $ ghCpuType $ ghInventoryNumber $ gotoSyslogServer 
- $ gotoNtpServer $ gotoSwapServer $ gotoLpdServer $ gotoFontPath $ gotoFilesys
- tem $ gotoFloppyEnable $ gotoCdromEnable $ gotoLpdEnable $ gotoScannerEnable 
- $ gotoScannerClients $ gotoRootPasswd $ gotoXdmcpServer $ gotoXMethod $ gotoS
- ndModule $ gotoLastUser $ gotoXMonitor $ gotoXHsync $ gotoXVsync $ gotoXResol
- ution $ gotoXColordepth $ gotoXMouseport $ gotoXMouseButtons $ gotoMode $ got
- oXKbModel $ gotoXKbLayout $ gotoXKbVariant $ gotoXDriver $ gotoXMouseType $ m
- acAddress $ gotoAutoFs $ gotoModules $ gotoAdaptPath $ gotoKernelParameters $
-  gotoBootKernel $ gotoTerminalPath $ gotoLdapServer $ gotoScannerModel $ ipHo
- stNumber $ l $ gotoSysStatus $ description $ gotoHardwareChecksum ) )
-structuralObjectClass: olcSchemaConfig
-entryUUID: fbaf46b6-f065-102e-9605-79233977c302
-creatorsName: cn=config
-createTimestamp: 20100510095600Z
-entryCSN: 20100510095600.855485Z#000000#000#000000
-modifiersName: cn=config
-modifyTimestamp: 20100510095600Z
+cn: gosystem
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.1
+  NAME 'gotoSyslogServer'
+  DESC 'GOto - Gonicus Terminal Concept, value syslogServer.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.2
+  NAME 'gotoNtpServer'
+  DESC 'GOto - Gonicus Terminal Concept, value ntpServer.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.3
+  NAME 'gotoSwapServer'
+  DESC 'GOto - Gonicus Terminal Concept, value swapServer.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.4
+  NAME 'gotoLpdServer'
+  DESC 'GOto - Gonicus Terminal Concept, value lpdServer.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.5
+  NAME 'gotoFontPath'
+  DESC 'GOto - Gonicus Terminal Concept, value fontPath.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.6
+  NAME 'gotoFilesystem'
+  DESC 'GOto - Gonicus Terminal Concept, value filesystem.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.7
+  NAME 'gotoFloppyEnable'
+  DESC 'GOto - Gonicus Terminal Concept, value floppyEnable.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.8
+  NAME 'gotoCdromEnable'
+  DESC 'GOto - Gonicus Terminal Concept, value cdromEnable.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.9
+  NAME 'gotoLpdEnable'
+  DESC 'GOto - Gonicus Terminal Concept, value lpdEnable.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.10
+  NAME 'gotoScannerEnable'
+  DESC 'GOto - Gonicus Terminal Concept, value scannerEnable.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.11
+  NAME 'gotoScannerClients'
+  DESC 'GOto - Gonicus Terminal Concept, value scannerClients.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.14
+  NAME 'gotoRootPasswd'
+  DESC 'GOto - Gonicus Terminal Concept, value rootPasswd.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.15
+  NAME 'gotoXdmcpServer'
+  DESC 'GOto - Gonicus Terminal Concept, value xdmcpServer.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.16
+  NAME 'gotoXMethod'
+  DESC 'GOto - Gonicus Terminal Concept, value xMethod.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.17
+  NAME 'gotoXMonitor'
+  DESC 'GOto - Gonicus Terminal Concept, value xMonitor.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.18
+  NAME 'gotoXHsync'
+  DESC 'GOto - Gonicus Terminal Concept, value xHsync.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.19
+  NAME 'gotoXVsync'
+  DESC 'GOto - Gonicus Terminal Concept, value xVsync.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.20
+  NAME 'gotoXResolution'
+  DESC 'GOto - Gonicus Terminal Concept, value xResolution.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.21
+  NAME 'gotoXColordepth'
+  DESC 'GOto - Gonicus Terminal Concept, value xColordepth.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.22
+  NAME 'gotoXMouseport'
+  DESC 'GOto - Gonicus Terminal Concept, value xMouseport.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.23
+  NAME 'gotoXMouseButtons'
+  DESC 'GOto - Gonicus Terminal Concept, value xMouseButtons.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.24
+  NAME 'gotoMode'
+  DESC 'GOto - Gonicus Terminal Concept, Terminal is active.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.25
+  NAME 'gotoXKbModel'
+  DESC 'GOto - Gonicus Terminal Concept, value xKbmodel.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.26
+  NAME 'gotoXKbLayout'
+  DESC 'GOto - Gonicus Terminal Concept, value xKblayout.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.27
+  NAME 'gotoXKbVariant'
+  DESC 'GOto - Gonicus Terminal Concept, value xKbvariant.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.28
+  NAME 'gotoXDriver'
+  DESC 'GOto - Gonicus Terminal Concept, value xDriver.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.29
+  NAME 'gotoSndModule'
+  DESC 'GOto - Gonicus Terminal Concept, value sndModules.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.30
+  NAME 'gotoLastUser'
+  DESC 'GOto - Gonicus Terminal Concept, value lastUser.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.31
+  NAME 'gotoAutoFs'
+  DESC 'GOto - Gonicus Terminal Concept, value autofs.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.32
+  NAME 'gotoModules'
+  DESC 'GOto - Gonicus Terminal Concept, value modules.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.33
+  NAME 'gotoAdaptPath'
+  DESC 'GOto - Gonicus Terminal Concept, value adaptpath.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.34
+  NAME 'gotoXMouseType'
+  DESC 'Hardware definitions, value Maustyp'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.35
+  NAME 'gotoKernelParameters'
+  DESC 'Kernel boot parameters'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.36
+  NAME 'gotoBootKernel'
+  DESC 'Kernel boot parameters'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.37
+  NAME 'gotoTerminalPath'
+  DESC 'Kernel boot parameters'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.38
+  NAME 'gotoLdapServer'
+  DESC 'Kernel boot parameters'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.39
+  NAME 'gotoScannerBackend'
+  DESC 'GOto - Gonicus Terminal Concept, value scannerBackend.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.1.40
+  NAME 'gotoScannerModel'
+  DESC 'GOto - Gonicus Terminal Concept, value scannerModel.'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.2.1
+  NAME 'ghCpuType'
+  DESC 'Hardware definitions, value cpuType'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.2.2
+  NAME 'ghMemSize'
+  DESC 'Hardware definitions, value memSize'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.2.3
+  NAME 'ghUsbSupport'
+  DESC 'Hardware definitions, value usbSupport'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.2.4
+  NAME 'ghIdeDev'
+  DESC 'Hardware definitions, value ideDev'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.2.5
+  NAME 'ghScsiDev'
+  DESC 'Hardware definitions, value scsiDev'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.2.7
+  NAME 'ghSoundAdapter'
+  DESC 'Hardware definitions, value soundAdapter'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.2.8
+  NAME 'ghNetNic'
+  DESC 'Hardware definitions, value Network Device'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.2.9
+  NAME 'ghGfxAdapter'
+  DESC 'Hardware definitions, value Grafikkarte'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.2.10
+  NAME 'ghInventoryNumber'
+  DESC 'Unique number for inclusion in an inventory'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.2.11
+  NAME 'gotoSysStatus'
+  DESC 'Keeps current system status - info shown in GOsa'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.2.12
+  NAME 'gotoHardwareChecksum'
+  DESC 'GOto - quick way to see if something has changed'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.3
+  NAME 'GOhard'
+  DESC 'Gonicus Hardware definitions, objectclass (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn )
+  MAY ( ghGfxAdapter $ ghNetNic $ ghSoundAdapter $ ghIdeDev $ ghScsiDev $ macAddress $ ghUsbSupport $ ghMemSize $ ghCpuType $ ghInventoryNumber $ gotoSyslogServer $ gotoNtpServer $ gotoSwapServer $ gotoLpdServer $ gotoFontPath $ gotoFilesystem $ gotoFloppyEnable $ gotoCdromEnable $ gotoLpdEnable $ gotoScannerEnable $ gotoScannerClients $ gotoRootPasswd $ gotoXdmcpServer $ gotoXMethod $ gotoSndModule $ gotoLastUser $ gotoXMonitor $ gotoXHsync $ gotoXVsync $ gotoXResolution $ gotoXColordep [...]
+  )
+#
+################################################################################
+#
diff --git a/gosa-core/contrib/openldap/gosystem.schema b/gosa-core/contrib/openldap/gosystem.schema
index b7ab52e..628f98d 100644
--- a/gosa-core/contrib/openldap/gosystem.schema
+++ b/gosa-core/contrib/openldap/gosystem.schema
@@ -333,7 +333,7 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.2.12 NAME 'gotoHardwareChecksum'
 
 # objectclass for Hardware definitions
 objectclass (1.3.6.1.4.1.10098.1.2.1.3 NAME 'GOhard'
-        DESC 'Gonicus Hardware definitions, objectclass (v2.6.1)' SUP top STRUCTURAL
+        DESC 'Gonicus Hardware definitions, objectclass (v2.7)' SUP top STRUCTURAL
         MUST ( cn )
         MAY ( ghGfxAdapter $ ghNetNic $ ghSoundAdapter $ ghIdeDev $ ghScsiDev $
               macAddress $ ghUsbSupport $ ghMemSize $ ghCpuType $ ghInventoryNumber $
diff --git a/gosa-core/contrib/openldap/goto-mime.ldif b/gosa-core/contrib/openldap/goto-mime.ldif
index 41423b5..9e335c2 100644
--- a/gosa-core/contrib/openldap/goto-mime.ldif
+++ b/gosa-core/contrib/openldap/goto-mime.ldif
@@ -1,33 +1,88 @@
-dn: cn={7}goto-mime
+#
+################################################################################
+#
+dn: cn=goto-mime,cn=schema,cn=config
 objectClass: olcSchemaConfig
-cn: {7}goto-mime
-olcAttributeTypes: {0}( 1.3.6.1.4.1.10098.1.1.14.1 NAME 'gotoMimeGroup' DESC '
- IANA defined mime group' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5Subs
- tringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {1}( 1.3.6.1.4.1.10098.1.1.14.2 NAME 'gotoMimeFilePattern' 
- DESC 'File extensions for mime types' EQUALITY caseIgnoreIA5Match SUBSTR case
- IgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {2}( 1.3.6.1.4.1.10098.1.1.14.3 NAME 'gotoMimeApplication' 
- DESC 'Assigned application and priority' EQUALITY caseIgnoreIA5Match SUBSTR c
- aseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {3}( 1.3.6.1.4.1.10098.1.1.14.4 NAME 'gotoMimeEmbeddedAppli
- cation' DESC 'Assigned application and priority for embedded applications' EQ
- UALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.
- 4.1.1466.115.121.1.26 )
-olcAttributeTypes: {4}( 1.3.6.1.4.1.10098.1.1.14.5 NAME 'gotoMimeLeftClickActi
- on' DESC 'GOto - Gonicus Terminal Concept, PPD data' EQUALITY caseIgnoreIA5Ma
- tch SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 
- SINGLE-VALUE )
-olcAttributeTypes: {5}( 1.3.6.1.4.1.10098.1.1.14.6 NAME 'gotoMimeIcon' DESC 'S
- pecify the mime icon' SYNTAX 1.3.6.1.4.1.1466.115.121.1.28 SINGLE-VALUE )
-olcObjectClasses: {0}( 1.3.6.1.4.1.10098.1.2.4.1 NAME 'gotoMimeType' DESC 'Cla
- ss to represent global mime types (v2.6.1)' SUP top STRUCTURAL MUST ( cn $ go
- toMimeFilePattern $ gotoMimeGroup ) MAY ( description $ gotoMimeIcon $ gotoMi
- meApplication $ gotoMimeEmbeddedApplication $ gotoMimeLeftClickAction ) )
-structuralObjectClass: olcSchemaConfig
-entryUUID: fbaf5462-f065-102e-9607-79233977c302
-creatorsName: cn=config
-createTimestamp: 20100510095600Z
-entryCSN: 20100510095600.855485Z#000000#000#000000
-modifiersName: cn=config
-modifyTimestamp: 20100510095600Z
+cn: goto-mime
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.14.1
+  NAME 'gotoMimeGroup'
+  DESC 'IANA defined mime group'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.14.2
+  NAME 'gotoMimeFilePattern'
+  DESC 'File extensions for mime types'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.14.3
+  NAME 'gotoMimeApplication'
+  DESC 'Assigned application and priority'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.14.4
+  NAME 'gotoMimeEmbeddedApplication'
+  DESC 'Assigned application and priority for embedded applications'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.14.5
+  NAME 'gotoMimeLeftClickAction'
+  DESC 'GOto - Gonicus Terminal Concept, PPD data'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.14.6
+  NAME 'gotoMimeIcon'
+  DESC 'Specify the mime icon'
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.28
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.4.1
+  NAME 'gotoMimeType'
+  DESC 'Class to represent global mime types (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn $ gotoMimeFilePattern $ gotoMimeGroup )
+  MAY ( description $ gotoMimeIcon $ gotoMimeApplication $ gotoMimeEmbeddedApplication $ gotoMimeLeftClickAction )
+  )
+#
+################################################################################
+#
diff --git a/gosa-core/contrib/openldap/goto-mime.schema b/gosa-core/contrib/openldap/goto-mime.schema
index a271f3a..95c2319 100644
--- a/gosa-core/contrib/openldap/goto-mime.schema
+++ b/gosa-core/contrib/openldap/goto-mime.schema
@@ -54,7 +54,7 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.14.6 NAME 'gotoMimeIcon'
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.28 SINGLE-VALUE)
 
 objectclass (1.3.6.1.4.1.10098.1.2.4.1 NAME 'gotoMimeType'
-        DESC 'Class to represent global mime types (v2.6.1)' SUP top STRUCTURAL
+        DESC 'Class to represent global mime types (v2.7)' SUP top STRUCTURAL
         MUST ( cn $ gotoMimeFilePattern $ gotoMimeGroup )
         MAY  ( description $ gotoMimeIcon $ gotoMimeApplication $
 	       gotoMimeEmbeddedApplication $ gotoMimeLeftClickAction ))
diff --git a/gosa-core/contrib/openldap/goto.ldif b/gosa-core/contrib/openldap/goto.ldif
index 43838ea..40a43bc 100644
--- a/gosa-core/contrib/openldap/goto.ldif
+++ b/gosa-core/contrib/openldap/goto.ldif
@@ -1,99 +1,238 @@
-dn: cn={10}goto
+#
+################################################################################
+#
+dn: cn=goto,cn=schema,cn=config
 objectClass: olcSchemaConfig
-cn: {10}goto
-olcAttributeTypes: {0}( 1.3.6.1.4.1.10098.1.1.11.6 NAME 'gotoPrinterPPD' DESC 
- 'GOto - Gonicus Terminal Concept, PPD data' EQUALITY caseIgnoreIA5Match SUBST
- R caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VA
- LUE )
-olcAttributeTypes: {1}( 1.3.6.1.4.1.10098.1.1.11.7 NAME 'gotoProfileFlags' DES
- C 'GOto - Flags for Profile handling - C is for caching' EQUALITY caseIgnoreI
- A5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1
- .26 SINGLE-VALUE )
-olcAttributeTypes: {2}( 1.3.6.1.4.1.10098.1.1.11.8 NAME 'gotoProfileServer' DE
- SC 'GOto - specifies the profile server' EQUALITY caseIgnoreIA5Match SUBSTR c
- aseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE
-  )
-olcAttributeTypes: {3}( 1.3.6.1.4.1.10098.1.1.11.9 NAME 'gotoShare' DESC 'GOto
-  - specifies a share' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5Substri
- ngsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {4}( 1.3.6.1.4.1.10098.1.1.11.10 NAME 'gotoLogonScript' DES
- C 'GOto - specifies a LogonScript' EQUALITY caseIgnoreMatch SUBSTR caseIgnore
- SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
-olcAttributeTypes: {5}( 1.3.6.1.4.1.10098.1.1.11.11 NAME 'gotoKioskProfile' DE
- SC 'GOto - specifies a kiosk profile' EQUALITY caseIgnoreIA5Match SUBSTR case
- IgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {6}( 1.3.6.1.4.1.10098.1.1.11.12 NAME 'gotoUserPrinter' DES
- C 'GOto - keeps printers shown for this user' EQUALITY caseIgnoreIA5Match SUB
- STR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {7}( 1.3.6.1.4.1.10098.1.1.11.13 NAME 'gotoUserAdminPrinter
- ' DESC 'GOto - keeps printers we are admin for' EQUALITY caseIgnoreIA5Match S
- UBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {8}( 1.3.6.1.4.1.10098.1.1.11.16 NAME 'gotoGroupPrinter' DE
- SC 'GOto - keeps printers shown for this user' EQUALITY caseIgnoreIA5Match SU
- BSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {9}( 1.3.6.1.4.1.10098.1.1.11.17 NAME 'gotoGroupAdminPrinte
- r' DESC 'GOto - keeps printers we are admin for' EQUALITY caseIgnoreIA5Match 
- SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {10}( 1.3.6.1.4.1.10098.1.1.11.14 NAME 'gotoHotplugDevice' 
- DESC 'GOto - keeps hotplug devices' EQUALITY caseIgnoreIA5Match SUBSTR caseIg
- noreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcAttributeTypes: {11}( 1.3.6.1.4.1.10098.1.1.11.15 NAME 'gotoProfileQuota' D
- ESC 'GOto - save quota for home' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnor
- eIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {12}( 1.3.6.1.4.1.10098.1.1.11.18 NAME 'gotoHotplugDeviceDN
- ' DESC 'GOto - points to hotplug devices' EQUALITY distinguishedNameMatch SYN
- TAX 1.3.6.1.4.1.1466.115.121.1.12 )
-olcObjectClasses: {0}( 1.3.6.1.4.1.10098.1.2.1.1 NAME 'gotoTerminal' DESC 'GOt
- o - Gonicus Terminal Concept, objectclass (v2.6.1)' SUP top AUXILIARY MUST cn
-  MAY ( description $ macAddress $ ipHostNumber $ gotoShare $ goFonHardware ) 
- )
-olcObjectClasses: {1}( 1.3.6.1.4.1.10098.1.2.1.30 NAME 'gotoWorkstation' DESC 
- 'GOto - Gonicus Terminal Concept, objectclass (v2.6.1)' SUP top AUXILIARY MUS
- T cn MAY ( description $ macAddress $ ipHostNumber $ gotoShare $ goFonHardwar
- e ) )
-olcObjectClasses: {2}( 1.3.6.1.4.1.10098.1.2.1.31 NAME 'gotoPrinter' DESC 'GOt
- o - Gonicus Terminal Concept, objectclass (v2.2)' SUP top STRUCTURAL MUST cn 
- MAY ( labeledURI $ description $ l $ gotoPrinterPPD $ macAddress $ ipHostNumb
- er $ gotoUserPrinter $ gotoUserAdminPrinter $ gotoGroupPrinter $ gotoGroupAdm
- inPrinter ) )
-olcObjectClasses: {3}( 1.3.6.1.4.1.10098.1.2.1.32 NAME 'gotoEnvironment' DESC 
- 'GOto - contains environment settings (v2.2)' SUP top AUXILIARY MAY ( gotoPro
- fileServer $ gotoProfileFlags $ gotoXResolution $ gotoShare $ gotoLogonScript
-  $ gotoKioskProfile $ gotoHotplugDevice $ gotoProfileQuota $ gotoHotplugDevic
- eDN ) )
-olcObjectClasses: {4}( 1.3.6.1.4.1.10098.1.2.1.34 NAME 'gotoWorkstationTemplat
- e' DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.6.1)' SUP top AUXIL
- IARY MUST cn MAY ( description $ gotoShare $ goFonHardware $ ghGfxAdapter $ g
- hNetNic $ ghSoundAdapter $ ghIdeDev $ ghScsiDev $ ghUsbSupport $ ghMemSize $ 
- ghCpuType $ ghInventoryNumber $ gotoSyslogServer $ gotoNtpServer $ gotoSwapSe
- rver $ gotoLpdServer $ gotoFontPath $ gotoFilesystem $ gotoFloppyEnable $ got
- oCdromEnable $ gotoLpdEnable $ gotoScannerEnable $ gotoScannerClients $ gotoR
- ootPasswd $ gotoXdmcpServer $ gotoXMethod $ gotoSndModule $ gotoLastUser $ go
- toXMonitor $ gotoXHsync $ gotoXVsync $ gotoXResolution $ gotoXColordepth $ go
- toXMouseport $ gotoXMouseButtons $ gotoMode $ gotoXKbModel $ gotoXKbLayout $ 
- gotoXKbVariant $ gotoXDriver $ gotoXMouseType $ macAddress $ gotoAutoFs $ got
- oModules $ gotoAdaptPath $ gotoKernelParameters $ gotoBootKernel $ gotoTermin
- alPath $ gotoLdapServer $ gotoScannerModel ) )
-olcObjectClasses: {5}( 1.3.6.1.4.1.10098.1.2.1.35 NAME 'gotoTerminalTemplate' 
- DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.6.1)' SUP top AUXILIAR
- Y MUST cn MAY ( description $ gotoShare $ goFonHardware $ ghGfxAdapter $ ghNe
- tNic $ ghSoundAdapter $ ghIdeDev $ ghScsiDev $ ghUsbSupport $ ghMemSize $ ghC
- puType $ ghInventoryNumber $ gotoSyslogServer $ gotoNtpServer $ gotoSwapServe
- r $ gotoLpdServer $ gotoFontPath $ gotoFilesystem $ gotoFloppyEnable $ gotoCd
- romEnable $ gotoLpdEnable $ gotoScannerEnable $ gotoScannerClients $ gotoRoot
- Passwd $ gotoXdmcpServer $ gotoXMethod $ gotoSndModule $ gotoLastUser $ gotoX
- Monitor $ gotoXHsync $ gotoXVsync $ gotoXResolution $ gotoXColordepth $ gotoX
- Mouseport $ gotoXMouseButtons $ gotoMode $ gotoXKbModel $ gotoXKbLayout $ got
- oXKbVariant $ gotoXDriver $ gotoXMouseType $ macAddress $ gotoAutoFs $ gotoMo
- dules $ gotoAdaptPath $ gotoKernelParameters $ gotoBootKernel $ gotoTerminalP
- ath $ gotoLdapServer $ gotoScannerModel ) )
-olcObjectClasses: {6}( 1.3.6.1.4.1.10098.1.2.1.42 NAME 'gotoDevice' DESC 'GOto
-  - contains environment settings (v2.6)' SUP top STRUCTURAL MUST cn MAY ( got
- oHotplugDevice $ description ) )
-structuralObjectClass: olcSchemaConfig
-entryUUID: fbaf8b44-f065-102e-960a-79233977c302
-creatorsName: cn=config
-createTimestamp: 20100510095600Z
-entryCSN: 20100510095600.855485Z#000000#000#000000
-modifiersName: cn=config
-modifyTimestamp: 20100510095600Z
+cn: goto
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.6
+  NAME 'gotoPrinterPPD'
+  DESC 'GOto - Gonicus Terminal Concept, PPD data'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.7
+  NAME 'gotoProfileFlags'
+  DESC 'GOto - Flags for Profile handling - C is for caching'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.8
+  NAME 'gotoProfileServer'
+  DESC 'GOto - specifies the profile server'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.9
+  NAME 'gotoShare'
+  DESC 'GOto - specifies a share'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.10
+  NAME 'gotoLogonScript'
+  DESC 'GOto - specifies a LogonScript'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.11
+  NAME 'gotoKioskProfile'
+  DESC 'GOto - specifies a kiosk profile'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.12
+  NAME 'gotoUserPrinter'
+  DESC 'GOto - keeps printers shown for this user'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.13
+  NAME 'gotoUserAdminPrinter'
+  DESC 'GOto - keeps printers we are admin for'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.16
+  NAME 'gotoGroupPrinter'
+  DESC 'GOto - keeps printers shown for this user'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.17
+  NAME 'gotoGroupAdminPrinter'
+  DESC 'GOto - keeps printers we are admin for'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.14
+  NAME 'gotoHotplugDevice'
+  DESC 'GOto - keeps hotplug devices'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.15
+  NAME 'gotoProfileQuota'
+  DESC 'GOto - save quota for home'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.10098.1.1.11.18
+  NAME 'gotoHotplugDeviceDN'
+  DESC 'GOto - points to hotplug devices'
+  EQUALITY distinguishedNameMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.1
+  NAME 'gotoTerminal'
+  DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( description $ macAddress $ ipHostNumber $ gotoShare $ goFonHardware )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.30
+  NAME 'gotoWorkstation'
+  DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( description $ macAddress $ ipHostNumber $ gotoShare $ goFonHardware )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.31
+  NAME 'gotoPrinter'
+  DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn )
+  MAY ( labeledURI $ description $ l $ gotoPrinterPPD $ macAddress $ ipHostNumber $ gotoUserPrinter $   gotoUserAdminPrinter $ gotoGroupPrinter $ gotoGroupAdminPrinter )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.32
+  NAME 'gotoEnvironment'
+  DESC 'GOto - contains environment settings (v2.7)'
+  SUP top
+  AUXILIARY
+  MAY ( gotoProfileServer $ gotoProfileFlags $ gotoXResolution $ gotoShare $ gotoLogonScript $   gotoKioskProfile $ gotoHotplugDevice $ gotoProfileQuota $ gotoHotplugDeviceDN )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.34
+  NAME 'gotoWorkstationTemplate'
+  DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( description $ gotoShare $ goFonHardware $ ghGfxAdapter $ ghNetNic $ ghSoundAdapter $ ghIdeDev $ ghScsiDev $ ghUsbSupport $ ghMemSize $ ghCpuType $ ghInventoryNumber $ gotoSyslogServer $ gotoNtpServer $ gotoSwapServer $ gotoLpdServer $ gotoFontPath $ gotoFilesystem $ gotoFloppyEnable $ gotoCdromEnable $ gotoLpdEnable $ gotoScannerEnable $ gotoScannerClients $ gotoRootPasswd $ gotoXdmcpServer $ gotoXMethod $ gotoSndModule $ gotoLastUser $ gotoXMonitor $ gotoXHsync $ gotoXVsync $ go [...]
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.35
+  NAME 'gotoTerminalTemplate'
+  DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.7)'
+  SUP top
+  AUXILIARY
+  MUST ( cn )
+  MAY ( description $ gotoShare $ goFonHardware $ ghGfxAdapter $ ghNetNic $ ghSoundAdapter $ ghIdeDev $ ghScsiDev $ ghUsbSupport $ ghMemSize $ ghCpuType $ ghInventoryNumber $ gotoSyslogServer $ gotoNtpServer $ gotoSwapServer $ gotoLpdServer $ gotoFontPath $ gotoFilesystem $ gotoFloppyEnable $ gotoCdromEnable $ gotoLpdEnable $ gotoScannerEnable $ gotoScannerClients $ gotoRootPasswd $ gotoXdmcpServer $ gotoXMethod $ gotoSndModule $ gotoLastUser $ gotoXMonitor $ gotoXHsync $ gotoXVsync $ go [...]
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.10098.1.2.1.42
+  NAME 'gotoDevice'
+  DESC 'GOto - contains environment settings (v2.7)'
+  SUP top
+  STRUCTURAL
+  MUST ( cn )
+  MAY ( gotoHotplugDevice $ description )
+  )
+#
+################################################################################
+#
diff --git a/gosa-core/contrib/openldap/goto.schema b/gosa-core/contrib/openldap/goto.schema
index 0e28655..46ce9ad 100644
--- a/gosa-core/contrib/openldap/goto.schema
+++ b/gosa-core/contrib/openldap/goto.schema
@@ -89,32 +89,32 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.11.18 NAME 'gotoHotplugDeviceDN'
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.12)
 
 objectclass (1.3.6.1.4.1.10098.1.2.1.1 NAME 'gotoTerminal'
-        DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.6.1)' SUP top AUXILIARY
+        DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.7)' SUP top AUXILIARY
         MUST ( cn )
         MAY  ( description $ macAddress $ ipHostNumber $ gotoShare $ goFonHardware ))
 
 # objectclass for the Terminal Conecept
 objectclass (1.3.6.1.4.1.10098.1.2.1.30 NAME 'gotoWorkstation'
-        DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.6.1)' SUP top AUXILIARY
+        DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.7)' SUP top AUXILIARY
         MUST ( cn )
         MAY  ( description $ macAddress $ ipHostNumber $ gotoShare $ goFonHardware ))
 
 # objectclass for the Terminal Conecept
 objectclass (1.3.6.1.4.1.10098.1.2.1.31 NAME 'gotoPrinter'
-	DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.2)' SUP top STRUCTURAL
+	DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.7)' SUP top STRUCTURAL
 	MUST ( cn )
 	MAY ( labeledURI $ description $ l $ gotoPrinterPPD $ macAddress $ ipHostNumber $ gotoUserPrinter $
 		  gotoUserAdminPrinter $ gotoGroupPrinter $ gotoGroupAdminPrinter ) )
 
 # objectclass for the Terminal Conecept
 objectclass (1.3.6.1.4.1.10098.1.2.1.32 NAME 'gotoEnvironment'
-	DESC 'GOto - contains environment settings (v2.2)' SUP top AUXILIARY
+	DESC 'GOto - contains environment settings (v2.7)' SUP top AUXILIARY
 	MAY ( gotoProfileServer $ gotoProfileFlags $ gotoXResolution $ gotoShare $ gotoLogonScript $
 		  gotoKioskProfile $ gotoHotplugDevice $ gotoProfileQuota $ gotoHotplugDeviceDN ) )
 
 # objectclass for the Terminal Conecept
 objectclass (1.3.6.1.4.1.10098.1.2.1.34 NAME 'gotoWorkstationTemplate'
-        DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.6.1)' SUP top AUXILIARY
+        DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.7)' SUP top AUXILIARY
         MUST ( cn )
         MAY  ( description $ gotoShare $ goFonHardware $
 	       ghGfxAdapter $ ghNetNic $ ghSoundAdapter $ ghIdeDev $ ghScsiDev $
@@ -131,7 +131,7 @@ objectclass (1.3.6.1.4.1.10098.1.2.1.34 NAME 'gotoWorkstationTemplate'
 
 # objectclass for the Terminal Conecept
 objectclass (1.3.6.1.4.1.10098.1.2.1.35 NAME 'gotoTerminalTemplate'
-        DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.6.1)' SUP top AUXILIARY
+        DESC 'GOto - Gonicus Terminal Concept, objectclass (v2.7)' SUP top AUXILIARY
         MUST ( cn )
         MAY  ( description $ gotoShare $ goFonHardware $
 	       ghGfxAdapter $ ghNetNic $ ghSoundAdapter $ ghIdeDev $ ghScsiDev $
@@ -148,7 +148,7 @@ objectclass (1.3.6.1.4.1.10098.1.2.1.35 NAME 'gotoTerminalTemplate'
 
 # objectclass for the Terminal Conecept
 objectclass (1.3.6.1.4.1.10098.1.2.1.42 NAME 'gotoDevice'
-	DESC 'GOto - contains environment settings (v2.6)' SUP top STRUCTURAL
+	DESC 'GOto - contains environment settings (v2.7)' SUP top STRUCTURAL
 	MUST ( cn )
 	MAY ( gotoHotplugDevice $ description ) )
 
diff --git a/gosa-core/contrib/openldap/rfc2307bis.ldif b/gosa-core/contrib/openldap/rfc2307bis.ldif
new file mode 100644
index 0000000..cf83853
--- /dev/null
+++ b/gosa-core/contrib/openldap/rfc2307bis.ldif
@@ -0,0 +1,543 @@
+#
+################################################################################
+#
+dn: cn=rfc2307bis,cn=schema,cn=config
+objectClass: olcSchemaConfig
+cn: rfc2307bis
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.2
+  NAME 'gecos'
+  DESC 'The GECOS field; the common name'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.3
+  NAME 'homeDirectory'
+  DESC 'The absolute path to the home directory'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.4
+  NAME 'loginShell'
+  DESC 'The path to the login shell'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.5
+  NAME 'shadowLastChange'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.6
+  NAME 'shadowMin'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.7
+  NAME 'shadowMax'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.8
+  NAME 'shadowWarning'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.9
+  NAME 'shadowInactive'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.10
+  NAME 'shadowExpire'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.11
+  NAME 'shadowFlag'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.12
+  NAME 'memberUid'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.13
+  NAME 'memberNisNetgroup'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.14
+  NAME 'nisNetgroupTriple'
+  DESC 'Netgroup triple'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.15
+  NAME 'ipServicePort'
+  DESC 'Service port number'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.16
+  NAME 'ipServiceProtocol'
+  DESC 'Service protocol name'
+  SUP name
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.17
+  NAME 'ipProtocolNumber'
+  DESC 'IP protocol number'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.18
+  NAME 'oncRpcNumber'
+  DESC 'ONC RPC number'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.19
+  NAME 'ipHostNumber'
+  DESC 'IPv4 addresses as a dotted decimal omitting leading zeros or IPv6 addresses as defined in RFC2373'
+  SUP name
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.20
+  NAME 'ipNetworkNumber'
+  DESC 'IP network as a dotted decimal, eg. 192.168, omitting leading zeros'
+  SUP name
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.21
+  NAME 'ipNetmaskNumber'
+  DESC 'IP netmask as a dotted decimal, eg. 255.255.255.0, omitting leading zeros'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.22
+  NAME 'macAddress'
+  DESC 'MAC address in maximal, colon separated hex notation, eg. 00:00:92:90:ee:e2'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.23
+  NAME 'bootParameter'
+  DESC 'rpc.bootparamd parameter'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.24
+  NAME 'bootFile'
+  DESC 'Boot image name'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.26
+  NAME 'nisMapName'
+  DESC 'Name of a A generic NIS map'
+  SUP name
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.27
+  NAME 'nisMapEntry'
+  DESC 'A generic NIS entry'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.28
+  NAME 'nisPublicKey'
+  DESC 'NIS public key'
+  EQUALITY octetStringMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.40
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.29
+  NAME 'nisSecretKey'
+  DESC 'NIS secret key'
+  EQUALITY octetStringMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.40
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.30
+  NAME 'nisDomain'
+  DESC 'NIS domain'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.31
+  NAME 'automountMapName'
+  DESC 'automount Map Name'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.32
+  NAME 'automountKey'
+  DESC 'Automount Key value'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.1.1.1.33
+  NAME 'automountInformation'
+  DESC 'Automount information'
+  EQUALITY caseExactIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.0
+  NAME 'posixAccount'
+  DESC 'Abstraction of an account with POSIX attributes'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
+  MAY ( userPassword $ loginShell $ gecos $ description )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.1
+  NAME 'shadowAccount'
+  DESC 'Additional attributes for shadow passwords'
+  SUP top
+  AUXILIARY
+  MUST uid
+  MAY ( userPassword $ description $ shadowLastChange $ shadowMin $ shadowMax $ shadowWarning $ shadowInactive $ shadowExpire $ shadowFlag )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.2
+  NAME 'posixGroup'
+  DESC 'Abstraction of a group of accounts'
+  SUP top
+  AUXILIARY
+  MUST gidNumber
+  MAY ( userPassword $ memberUid $ description )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.3
+  NAME 'ipService'
+  DESC 'Abstraction an Internet Protocol service. Maps an IP port and protocol (such as tcp or udp) to one or more names; the distinguished value of the cn attribute denotes the services canonical name'
+  SUP top
+  STRUCTURAL
+  MUST ( cn $ ipServicePort $ ipServiceProtocol )
+  MAY description
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.4
+  NAME 'ipProtocol'
+  DESC 'Abstraction of an IP protocol. Maps a protocol number to one or more names. The distinguished value of the cn attribute denotes the protocols canonical name'
+  SUP top
+  STRUCTURAL
+  MUST ( cn $ ipProtocolNumber )
+  MAY description
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.5
+  NAME 'oncRpc'
+  DESC 'Abstraction of an Open Network Computing (ONC) [RFC1057] Remote Procedure Call (RPC) binding. This class maps an ONC RPC number to a name. The distinguished value of the cn attribute denotes the RPC services canonical name'
+  SUP top
+  STRUCTURAL
+  MUST ( cn $ oncRpcNumber )
+  MAY description
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.6
+  NAME 'ipHost'
+  DESC 'Abstraction of a host, an IP device. The distinguished value of the cn attribute denotes the hosts canonical name. Device SHOULD be used as a structural class'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ ipHostNumber )
+  MAY ( userPassword $ l $ description $ manager )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.7
+  NAME 'ipNetwork'
+  DESC 'Abstraction of a network. The distinguished value of the cn attribute denotes the networks canonical name'
+  SUP top
+  STRUCTURAL
+  MUST ipNetworkNumber
+  MAY ( cn $ ipNetmaskNumber $ l $ description $ manager )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.8
+  NAME 'nisNetgroup'
+  DESC 'Abstraction of a netgroup. May refer to other netgroups'
+  SUP top
+  STRUCTURAL
+  MUST cn
+  MAY ( nisNetgroupTriple $ memberNisNetgroup $ description )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.9
+  NAME 'nisMap'
+  DESC 'A generic abstraction of a NIS map'
+  SUP top
+  STRUCTURAL
+  MUST nisMapName
+  MAY description
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.10
+  NAME 'nisObject'
+  DESC 'An entry in a NIS map'
+  SUP top
+  STRUCTURAL
+  MUST ( cn $ nisMapEntry $ nisMapName )
+  MAY description
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.11
+  NAME 'ieee802Device'
+  DESC 'A device with a MAC address; device SHOULD be used as a structural class'
+  SUP top
+  AUXILIARY
+  MAY macAddress
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.12
+  NAME 'bootableDevice'
+  DESC 'A device with boot parameters; device SHOULD be used as a structural class'
+  SUP top
+  AUXILIARY
+  MAY ( bootFile $ bootParameter )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.14
+  NAME 'nisKeyObject'
+  DESC 'An object with a public and secret key'
+  SUP top
+  AUXILIARY
+  MUST ( cn $ nisPublicKey $ nisSecretKey )
+  MAY ( uidNumber $ description )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.15
+  NAME 'nisDomainObject'
+  DESC 'Associates a NIS domain with a naming context'
+  SUP top
+  AUXILIARY
+  MUST nisDomain
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.16
+  NAME 'automountMap'
+  SUP top
+  STRUCTURAL
+  MUST ( automountMapName )
+  MAY description
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.1.1.2.17
+  NAME 'automount'
+  DESC 'Automount information'
+  SUP top
+  STRUCTURAL
+  MUST ( automountKey $ automountInformation )
+  MAY description
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.5322.13.1.1
+  NAME 'namedObject'
+  SUP top
+  STRUCTURAL
+  MAY cn
+  )
+#
+################################################################################
+#
diff --git a/gosa-core/contrib/openldap/samba3.ldif b/gosa-core/contrib/openldap/samba3.ldif
new file mode 100644
index 0000000..3a501b2
--- /dev/null
+++ b/gosa-core/contrib/openldap/samba3.ldif
@@ -0,0 +1,647 @@
+#
+################################################################################
+#
+dn: cn=samba3,cn=schema,cn=config
+objectClass: olcSchemaConfig
+cn: samba3
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.24
+  NAME 'sambaLMPassword'
+  DESC 'LanManager Password'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.25
+  NAME 'sambaNTPassword'
+  DESC 'MD4 hash of the unicode password'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.26
+  NAME 'sambaAcctFlags'
+  DESC 'Account Flags'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{16}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.27
+  NAME 'sambaPwdLastSet'
+  DESC 'Timestamp of the last password update'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.28
+  NAME 'sambaPwdCanChange'
+  DESC 'Timestamp of when the user is allowed to update the password'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.29
+  NAME 'sambaPwdMustChange'
+  DESC 'Timestamp of when the password will expire'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.30
+  NAME 'sambaLogonTime'
+  DESC 'Timestamp of last logon'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.31
+  NAME 'sambaLogoffTime'
+  DESC 'Timestamp of last logoff'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.32
+  NAME 'sambaKickoffTime'
+  DESC 'Timestamp of when the user will be logged off automatically'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.48
+  NAME 'sambaBadPasswordCount'
+  DESC 'Bad password attempt count'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.49
+  NAME 'sambaBadPasswordTime'
+  DESC 'Time of the last bad password attempt'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.55
+  NAME 'sambaLogonHours'
+  DESC 'Logon Hours'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{42}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.33
+  NAME 'sambaHomeDrive'
+  DESC 'Driver letter of home directory mapping'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{4}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.34
+  NAME 'sambaLogonScript'
+  DESC 'Logon script path'
+  EQUALITY caseIgnoreMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.35
+  NAME 'sambaProfilePath'
+  DESC 'Roaming profile path'
+  EQUALITY caseIgnoreMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.36
+  NAME 'sambaUserWorkstations'
+  DESC 'List of user workstations the user is allowed to logon to'
+  EQUALITY caseIgnoreMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.37
+  NAME 'sambaHomePath'
+  DESC 'Home directory UNC path'
+  EQUALITY caseIgnoreMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128}
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.38
+  NAME 'sambaDomainName'
+  DESC 'Windows NT domain to which the user belongs'
+  EQUALITY caseIgnoreMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128}
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.47
+  NAME 'sambaMungedDial'
+  DESC 'Base64 encoded user parameter string'
+  EQUALITY caseExactMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1050}
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.54
+  NAME 'sambaPasswordHistory'
+  DESC 'Concatenated MD5 hashes of the salted NT passwords used on this account'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32}
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.20
+  NAME 'sambaSID'
+  DESC 'Security ID'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseExactIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.23
+  NAME 'sambaPrimaryGroupSID'
+  DESC 'Primary Group Security ID'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64}
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.51
+  NAME 'sambaSIDList'
+  DESC 'Security ID List'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64}
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.19
+  NAME 'sambaGroupType'
+  DESC 'NT Group Type'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.21
+  NAME 'sambaNextUserRid'
+  DESC 'Next NT rid to give our for users'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.22
+  NAME 'sambaNextGroupRid'
+  DESC 'Next NT rid to give out for groups'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.39
+  NAME 'sambaNextRid'
+  DESC 'Next NT rid to give out for anything'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.40
+  NAME 'sambaAlgorithmicRidBase'
+  DESC 'Base at which the samba RID generation algorithm should operate'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.41
+  NAME 'sambaShareName'
+  DESC 'Share Name'
+  EQUALITY caseIgnoreMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.42
+  NAME 'sambaOptionName'
+  DESC 'Option Name'
+  EQUALITY caseIgnoreMatch
+  SUBSTR caseIgnoreSubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256}
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.43
+  NAME 'sambaBoolOption'
+  DESC 'A boolean option'
+  EQUALITY booleanMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.44
+  NAME 'sambaIntegerOption'
+  DESC 'An integer option'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.45
+  NAME 'sambaStringOption'
+  DESC 'A string option'
+  EQUALITY caseExactIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.46
+  NAME 'sambaStringListOption'
+  DESC 'A string list option'
+  EQUALITY caseIgnoreMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.53
+  NAME 'sambaTrustFlags'
+  DESC 'Trust Password Flags'
+  EQUALITY caseIgnoreIA5Match
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.58
+  NAME 'sambaMinPwdLength'
+  DESC 'Minimal password length (default: 5)'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.59
+  NAME 'sambaPwdHistoryLength'
+  DESC 'Length of Password History Entries (default: 0 => off)'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.60
+  NAME 'sambaLogonToChgPwd'
+  DESC 'Force Users to logon for password change (default: 0 => off, 2 => on)'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.61
+  NAME 'sambaMaxPwdAge'
+  DESC 'Maximum password age, in seconds (default: -1 => never expire passwords)'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.62
+  NAME 'sambaMinPwdAge'
+  DESC 'Minimum password age, in seconds (default: 0 => allow immediate password change)'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.63
+  NAME 'sambaLockoutDuration'
+  DESC 'Lockout duration in minutes (default: 30, -1 => forever)'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.64
+  NAME 'sambaLockoutObservationWindow'
+  DESC 'Reset time after lockout in minutes (default: 30)'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.65
+  NAME 'sambaLockoutThreshold'
+  DESC 'Lockout users after bad logon attempts (default: 0 => off)'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.66
+  NAME 'sambaForceLogoff'
+  DESC 'Disconnect Users outside logon hours (default: -1 => off, 0 => on)'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.67
+  NAME 'sambaRefuseMachinePwdChange'
+  DESC 'Allow Machine Password changes (default: 0 => off)'
+  EQUALITY integerMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.68
+  NAME 'sambaClearTextPassword'
+  DESC 'Clear text password (used for trusted domain passwords)'
+  EQUALITY octetStringMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.40
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  1.3.6.1.4.1.7165.2.1.69
+  NAME 'sambaPreviousClearTextPassword'
+  DESC 'Previous clear text password (used for trusted domain passwords)'
+  EQUALITY octetStringMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.40
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.7165.2.2.6
+  NAME 'sambaSamAccount'
+  DESC 'Samba 3.0 Auxilary SAM Account'
+  SUP top
+  AUXILIARY
+  MUST ( uid $ sambaSID )
+  MAY ( cn $ sambaLMPassword $ sambaNTPassword $ sambaPwdLastSet $ sambaLogonTime $ sambaLogoffTime $ sambaKickoffTime $ sambaPwdCanChange $ sambaPwdMustChange $ sambaAcctFlags $ displayName $ sambaHomePath $ sambaHomeDrive $ sambaLogonScript $ sambaProfilePath $ description $ sambaUserWorkstations $ sambaPrimaryGroupSID $ sambaDomainName $ sambaMungedDial $ sambaBadPasswordCount $ sambaBadPasswordTime $ sambaPasswordHistory $ sambaLogonHours )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.7165.2.2.4
+  NAME 'sambaGroupMapping'
+  DESC 'Samba Group Mapping'
+  SUP top
+  AUXILIARY
+  MUST ( gidNumber $ sambaSID $ sambaGroupType )
+  MAY ( displayName $ description $ sambaSIDList )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.7165.2.2.14
+  NAME 'sambaTrustPassword'
+  DESC 'Samba Trust Password'
+  SUP top
+  STRUCTURAL
+  MUST ( sambaDomainName $ sambaNTPassword $ sambaTrustFlags )
+  MAY ( sambaSID $ sambaPwdLastSet )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.7165.2.2.15
+  NAME 'sambaTrustedDomainPassword'
+  DESC 'Samba Trusted Domain Password'
+  SUP top
+  STRUCTURAL
+  MUST ( sambaDomainName $ sambaSID $ sambaClearTextPassword $ sambaPwdLastSet )
+  MAY ( sambaPreviousClearTextPassword )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.7165.2.2.5
+  NAME 'sambaDomain'
+  DESC 'Samba Domain Information'
+  SUP top
+  STRUCTURAL
+  MUST ( sambaDomainName $ sambaSID )
+  MAY ( sambaNextRid $ sambaNextGroupRid $ sambaNextUserRid $ sambaAlgorithmicRidBase $ sambaMinPwdLength $ sambaPwdHistoryLength $ sambaLogonToChgPwd $ sambaMaxPwdAge $ sambaMinPwdAge $ sambaLockoutDuration $ sambaLockoutObservationWindow $ sambaLockoutThreshold $ sambaForceLogoff $ sambaRefuseMachinePwdChange )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.7165.2.2.7
+  NAME 'sambaUnixIdPool'
+  DESC 'Pool for allocating UNIX uids/gids'
+  SUP top
+  AUXILIARY
+  MUST ( uidNumber $ gidNumber )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.7165.2.2.8
+  NAME 'sambaIdmapEntry'
+  DESC 'Mapping from a SID to an ID'
+  SUP top
+  AUXILIARY
+  MUST ( sambaSID )
+  MAY ( uidNumber $ gidNumber )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.7165.2.2.9
+  NAME 'sambaSidEntry'
+  DESC 'Structural Class for a SID'
+  SUP top
+  STRUCTURAL
+  MUST ( sambaSID )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.7165.2.2.10
+  NAME 'sambaConfig'
+  DESC 'Samba Configuration Section'
+  SUP top
+  AUXILIARY
+  MAY ( description )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.7165.2.2.11
+  NAME 'sambaShare'
+  DESC 'Samba Share Section'
+  SUP top
+  STRUCTURAL
+  MUST ( sambaShareName )
+  MAY ( description )
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  1.3.6.1.4.1.7165.2.2.12
+  NAME 'sambaConfigOption'
+  DESC 'Samba Configuration Option'
+  SUP top
+  STRUCTURAL
+  MUST ( sambaOptionName )
+  MAY ( sambaBoolOption $ sambaIntegerOption $ sambaStringOption $ sambaStringListoption $ description )
+  )
+#
+################################################################################
+#
diff --git a/gosa-core/contrib/openldap/slapd.conf b/gosa-core/contrib/openldap/slapd.conf
index 82e0719..db51ccf 100644
--- a/gosa-core/contrib/openldap/slapd.conf
+++ b/gosa-core/contrib/openldap/slapd.conf
@@ -148,6 +148,12 @@ access to attrs=sambaLmPassword,sambaNtPassword
 	by self write
 	by * none 
 
+# The complete config tree should be locked for anonymous access. This
+# rule can be removed if you've non public access, anyway.
+access to dn.sub="ou=configs,ou=systems,dc=gonicus,dc=de"
+	by dn.regex="uid=[^/]+/admin\+(realm=GONICUS.LOCAL)?" write
+    by * none
+
 # What trees should be readable, depends on your policy. Either
 # use this entry and specify what should be readable, or leave
 # the access to * => by * read below untouched
diff --git a/gosa-core/contrib/openldap/trust.ldif b/gosa-core/contrib/openldap/trust.ldif
index 292bf46..7801a27 100644
--- a/gosa-core/contrib/openldap/trust.ldif
+++ b/gosa-core/contrib/openldap/trust.ldif
@@ -1,18 +1,44 @@
-dn: cn={13}trust
+#
+################################################################################
+#
+dn: cn=trust,cn=schema,cn=config
 objectClass: olcSchemaConfig
-cn: {13}trust
-olcAttributeTypes: {0}( 5.3.6.1.1.1.1.0 NAME 'trustModel' DESC 'Access scheme'
-  EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6
- .1.4.1.1466.115.121.1.26 SINGLE-VALUE )
-olcAttributeTypes: {1}( 5.3.6.1.1.1.1.1 NAME 'accessTo' DESC 'Access to which 
- servers user is allowed' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5Subs
- tringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
-olcObjectClasses: {0}( 5.3.6.1.1.1.2.0 NAME 'trustAccount' DESC 'Sets trust ac
- counts information' SUP top AUXILIARY MUST trustModel MAY accessTo )
-structuralObjectClass: olcSchemaConfig
-entryUUID: fbafdc48-f065-102e-960d-79233977c302
-creatorsName: cn=config
-createTimestamp: 20100510095600Z
-entryCSN: 20100510095600.855485Z#000000#000#000000
-modifiersName: cn=config
-modifyTimestamp: 20100510095600Z
+cn: trust
+#
+################################################################################
+#
+olcAttributeTypes: (
+  5.3.6.1.1.1.1.0
+  NAME 'trustModel'
+  DESC 'Access scheme'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  SINGLE-VALUE
+  )
+#
+################################################################################
+#
+olcAttributeTypes: (
+  5.3.6.1.1.1.1.1
+  NAME 'accessTo'
+  DESC 'Access to which servers user is allowed'
+  EQUALITY caseIgnoreIA5Match
+  SUBSTR caseIgnoreIA5SubstringsMatch
+  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+  )
+#
+################################################################################
+#
+olcObjectClasses: (
+  5.3.6.1.1.1.2.0
+  NAME 'trustAccount'
+  DESC 'Sets trust accounts information'
+  SUP top
+  AUXILIARY
+  MUST ( trustModel )
+  MAY ( accessTo )
+  )
+#
+################################################################################
+#
diff --git a/gosa-core/contrib/plugins/dyngroup/README b/gosa-core/contrib/plugins/dyngroup/README
new file mode 100644
index 0000000..646f115
--- /dev/null
+++ b/gosa-core/contrib/plugins/dyngroup/README
@@ -0,0 +1,100 @@
+# ----------------------------------------------------------------------------- #
+#  README                                                                       #
+#  Author(s): Thomas Chemineau - thomas.chemineau<at>gmail.com                  #
+# ----------------------------------------------------------------------------- #
+
+
+1. What this plugin can do ?
+
+  This plugin allow administrator to modify LDAP groups to be populated through
+  dynamic list feature in OpenLDAP.
+
+  To do that, you have to activate the dynlist overlay in OpenLDAP, and
+  configure the overlay as decribed bellow. Once the overlay is enabled, member
+  of a dynamic group will be auto populated.
+
+  This plugin should be configured to appears in groups and departments, under
+  GOsa. A department could not be a dynamic group, but it can be renamed. This
+  operation could break LDAP search URLs into dynamic group definition. To
+  prevent this, this plugin could modify LDAP search URLs when departments and
+  groups are renamed into the LDAP tree.
+
+  WARNINGS:
+  Be carefull, GOsa may manage uid into memberUid, and not DN. So, in this
+  particular case, you can not store DN into memberUid attribute. The main
+  drawback, in this particular case, is that you can not build LDAP URLs into
+  dynamic group to search for users directly. The alternative is to look for
+  memberUid into groups.
+
+
+2. How to activate the dynlist overlay in OpenLDAP ?
+
+  Edit the configuration file (slapd.conf), and put the following lines into
+  the definition of your database:
+
+    overlay dynlist
+    dynlist-attrset labeledUriObject labeledURI
+
+  See http://www.openldap.org/doc/admin24/overlays.html#Dynamic%20Lists to have
+  more informations on dynamic list overlay.
+
+  If your OpenLDAP server loads modules dnamically, you have to load the
+  dynlist overlay but putting the following lines in the global section of the
+  configuration files:
+
+    moduleload dynlist
+
+  Finaly, if you do not want GOsa users to modify memberUid values, you could
+  add an ACL. This ACL will works only if GOsa is connected on your OpenLDAP
+  server under an application account (and not under the rootdn defined into
+  the configuration of your LDAP database in slapd.conf):
+
+    # Disable modify on memberUid for all entries which contains
+    # gosaGroupOfURLs, because these are dynamic, and we do not want users to
+    # edit the memberUid attribute.
+    access to filter="objectClass=gosaGroupOfURLs" attrs=memberUid
+      by * read
+
+  Verify that LDAP schemas of GOsa contains the definition of the objectclass
+  named "gosaGroupOfURLs". You have two solutions: the first one is to add it
+  into the schema named gosa-samba3:
+
+    objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.21
+      NAME 'gosaGroupOfURLs'
+      DESC 'Allow a group to be populated through a labeledURI values'
+      SUP top
+      AUXILIARY
+      MAY ( labeledURI ) )
+
+  The second one, recommended, is to copy the file gosa-dyngroup.schema into
+  your OpenLDAP schema directory. Then edit slapd.conf and add the inclusion
+  to this new schema.
+
+  You can now restart your OpenLDAP server :)
+
+
+3. How to enable this feature in GOsa ?
+
+  It is very easy. Edit /etc/gosa/gosa.conf, and add the following line in
+  the grouptabs section:
+
+    <tab class="DynamicLdapGroup" name="Dynamic group" />
+
+  Then, add the following line in the deptabs section:
+
+    <tab class="DynamicLdapGroup" name="Dynamic group" />
+
+  Then, put the plugin in /usr/share/gosa/plugins/addons, and update GOsa cache
+  via the update-gosa command.
+
+
+4. Known restrictions in OpenLDAP
+
+  You can't search yet on memberUid in a filter:
+    http://www.openldap.org/lists/openldap-software/200812/msg00030.html
+    http://www.openldap.org/lists/openldap-software/200901/msg00079.html
+
+  You have to prefer to use the LDAP compare operation:
+    http://www.openldap.org/lists/openldap-software/200909/msg00073.html
+    http://www.openldap.org/lists/openldap-software/200909/msg00125.html
+
diff --git a/gosa-core/debian/NEWS.Debian b/gosa-core/debian/NEWS.Debian
deleted file mode 100644
index 4c308dd..0000000
--- a/gosa-core/debian/NEWS.Debian
+++ /dev/null
@@ -1,20 +0,0 @@
-The GOsa schema have been moved to a new place, they are now
-in /etc/ldap/schema/gosa.
-
-You have to adapt you slapd.conf accordingly
-
-# These should be present for GOsa.
-include         /etc/ldap/schema/gosa/samba3.schema
-include         /etc/ldap/schema/gosa/gosystem.schema
-include         /etc/ldap/schema/gosa/gofon.schema
-include         /etc/ldap/schema/gosa/gofax.schema
-include         /etc/ldap/schema/gosa/goto.schema
-include         /etc/ldap/schema/gosa/goserver.schema
-include         /etc/ldap/schema/gosa/gosa-samba3.schema
-include         /etc/ldap/schema/gosa/trust.schema
-
-After adapting you can remove the gosa schema in /etc/ldap/schema
-
-Benoit Mortier 01/05/2010
-
-
diff --git a/gosa-core/debian/README.Debian b/gosa-core/debian/README.Debian
deleted file mode 100644
index e172daa..0000000
--- a/gosa-core/debian/README.Debian
+++ /dev/null
@@ -1,73 +0,0 @@
-GOsa 2.6 for debian
--------------------
-
-* Configure GOsa
-
-By default you can point your favorite browser to the GOsa setup by
-using this URL:
-
-http://you.server.address/gosa
-
-Follow the instructions on the screen.
-
-
-* Security related information
-
-GOsa is running as the www-data user. This makes it possible for other
-web applications (well, this is the rule for allmost every web application
-that stores information somewhere around) to read the gosa.conf file, which
-may contain vital information about your LDAP service.
-
-To make it harder to extract these passwords, they get encrypted by a
-master password only readable by the GOsa location.
-
-You can simply migrate old existing passwords by typing:
-
-# a2enmod headers
-# gosa-encrypt-passwords
-# /etc/init.d/apache2 reload
-
-If this is not enough for you (exploitable PHP code may make it possible to
-read the webservers memory), you can simply create another webserver instance
-running as a different user on different port for GOsa exclusively. Or use
-apache2-mpm-itk and assign a different user to a virtual host.
-
-
-* Generic information
-
-Getting GOsa running itself is not very complicated. Problems normally
-arise when integrating it in various services.
-
-To play nice with your LDAP, you need to include the gosa schema files
-into your LDAP configuration. For Debian, you should install the
-gosa-schema package and add at least the following lines to your
-LDAP-servers slapd.conf:
-
-Samba 3:
-include         /etc/ldap/schema/gosa/samba3.schema
-include         /etc/ldap/schema/gosa/trust.schema
-include         /etc/ldap/schema/gosa/gosystem.schema
-include         /etc/ldap/schema/gosa/gofon.schema
-include         /etc/ldap/schema/gosa/goto.schema
-include         /etc/ldap/schema/gosa/gosa-samba3.schema
-include         /etc/ldap/schema/gosa/gofax.schema
-include         /etc/ldap/schema/gosa/goserver.schema
-include         /etc/ldap/schema/gosa/goto-mime.schema
-
-There's no need to have samba services up and running, GOsa only
-uses the NT/LM attributes to pre-generate samba password hashes -
-to allow easy switching of account properties without asking for
-passwords after adding samba accounts.
-
-
-* Smarty PHP errors
-
-There might pop up messages about "Only variables should be passed by
-reference" when using PHP5. I can't do anything about them - these are
-cause by smarty. To get rid of them set your "error_reporting" in the
-php.ini to "E_ALL ^ E_NOTICE". This is a workaround only, wait for the
-debian smarty package to support PHP5 in a propper way.
-
-
- -- Cajus Pollmeier <cajus at debian.org>  Mon, 07 Apr 2008 11:18:53 +0200
-
diff --git a/gosa-core/debian/changelog b/gosa-core/debian/changelog
deleted file mode 100644
index fee0c85..0000000
--- a/gosa-core/debian/changelog
+++ /dev/null
@@ -1,85 +0,0 @@
-gosa (2.6.11-1) unstable; urgency=low
-
-  * Samba schema file is incompatible with Samba shipped with lenny
-    (Closes: #582899)
-  * package explicitly depends on preform MPM (Closes: #591043)
-  * default config refers to missing FCGIWrapper (Closes: #591046)
-
- -- Benoit Mortier <benoit.mortier at opensides.be>  Fri, 13 Aug 2010 11:00:29 +0200
-
-gosa (2.6.10-2) unstable; urgency=low
-
-  * Removed faulty patch due to 3.0 source conversion
-  * Prevented /usr/share/doc/gosa.conf to be compressed
-    to make setup configuration file saving work again
-
- -- Benoit Mortier <benoit.mortier at opensides.be>  Tue, 27 Jul 2010 18:49:07 +0200
-
-gosa (2.6.10-1) unstable; urgency=low
-
-  [ Cajus Pollmeier ]
-  * New upstream release
-
-  [ Benoit Mortier ]
-  * Switch to dpkg-source 3.0 (quilt) format
-  * gosa fails with: "Fatal error: Call to undefined function
-    print_array() (Closes: #573220)
-  * GOSa fails to add IP and MAC addresses to samba created hosts
-    (Closes: #582896)
-
- -- Benoit Mortier <benoit.mortier at opensides.be>  Tue, 20 Jul 2010 12:48:02 +0200
-
-gosa (2.6.9-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Cajus Pollmeier <cajus at debian.org>  Mon, 15 Mar 2010 11:28:48 +0100
-
-gosa (2.6.8-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Cajus Pollmeier <cajus at debian.org>  Mon, 15 Feb 2010 14:19:14 +0100
-
-gosa (2.6.7-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Cajus Pollmeier <cajus at debian.org>  Wed, 27 Jan 2010 21:53:12 +0100
-
-gosa (2.6.6-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Cajus Pollmeier <cajus at debian.org>  Mon, 05 Oct 2009 15:03:41 +0200
-
-gosa (2.6.5-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Cajus Pollmeier <cajus at debian.org>  Wed, 25 Feb 2009 13:36:18 +0100
-
-gosa (2.6.4-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Cajus Pollmeier <cajus at debian.org>  Fri, 06 Feb 2009 11:35:38 +0100
-
-gosa (2.6.3-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Cajus Pollmeier <cajus at debian.org>  Thu, 15 Jan 2009 11:43:15 +0100
-
-gosa (2.6.2-1) unstable; urgency=low
-
-  * New upstream release 
-
- -- Cajus Pollmeier <cajus at debian.org>  Fri, 19 Dec 2008 09:51:32 +0100
-
-gosa (2.6.1-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Cajus Pollmeier <cajus at debian.org>  Mon, 07 Apr 2008 11:18:53 +0200
-
diff --git a/gosa-core/debian/compat b/gosa-core/debian/compat
deleted file mode 100644
index 7ed6ff8..0000000
--- a/gosa-core/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/gosa-core/debian/control b/gosa-core/debian/control
deleted file mode 100644
index e2465d1..0000000
--- a/gosa-core/debian/control
+++ /dev/null
@@ -1,578 +0,0 @@
-Source: gosa
-Section: web
-Priority: optional
-Maintainer: GOsa packages maintainers group <gosa-pkg at oss.gonicus.de>
-Uploaders: Cajus Pollmeier <cajus at debian.org>, Benoit Mortier <benoit.mortier at opensides.be>
-Build-Depends: debhelper (>= 7.0.50~)
-Build-Depends-Indep: po-debconf
-Standards-Version: 3.9.1
-Homepage: https://oss.gonicus.de/labs/gosa/
-Vcs-Browser: https://oss.gonicus.de/repositories/gosa/trunk
-Vcs-Svn: https://oss.gonicus.de/repositories/gosa/trunk
-DM-Upload-Allowed: yes
-
-Package: gosa
-Architecture: all
-Depends: php5, php5-cli, apache2 | lighttpd | httpd , exim4 | mail-transport-agent, php5-gd, php5-imap, php5-ldap, php5-mcrypt, php5-mysql, php5-imagick | imagemagick (>= 5.4.4.5-1) | graphicsmagick-im-compat, libcrypt-smbhash-perl, smarty, php5-recode, smarty-gettext, smarty-acl-render, gettext, ${misc:Depends}, libapache2-mod-php5 | php5-cgi
-Suggests: gosa-si-server, cyrus21-imapd (>= 2.1.11), postfix-ldap, slapd, gosa-schema, php5-suhosin, php-apc, php-fpdf
-Description: Web Based LDAP Administration Program
- Provided is access to posix, shadow, samba, proxy, fax, pureftp and
- kerberos accounts. It is able to manage the postfix/cyrus server
- combination and can write user adapted sieve scripts.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-dev
-Architecture: all
-Depends: ${misc:Depends}, gosa, php5-cli, latex2html, lyx
-Description: GOsa² development utilities
- This package contains a couple of tools to generate online
- help, extract localizations and howto's for developing Gosa² plugins.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-desktop
-Architecture: all
-Depends: ${misc:Depends}, konqueror | iceweasel | mozilla | firefox, debconf
-Description: Desktop integration for GOsa²
- This package includes a Gosa² menu definition for your desktop
- environment.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa
- This package includes the basics LDAP schemas needed by GOsa².
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-help-en
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Description: English online help for GOsa
- This package includes the English online documentation for GOsa²
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-help-de
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Description: German online help for GOsa²
- This package includes the German online documentation for GOsa²
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-help-fr
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Description: French online help for GOsa²
- This package includes the French online documentation for GOsa²
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-help-nl
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Description: Dutch online help for GOsa
- This package includes the Dutch online documentation for GOsa²
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: smarty-acl-render
-Architecture: all
-Depends: ${misc:Depends}, smarty
-Suggests: gosa
-Description: Provide ACL based rendering for Smarty
- smarty-acl-render provides acl based rendering support for Smarty,
- the popular PHP templating engine (http://smarty.php.net/). This
- module is mainly used by GOsa².
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-addressbook
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Breaks: gosa (<<2.6)
-Description: addressbook plugin for GOsa²
- Simple addressbook plugin for GOsa².
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-connectivity
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Breaks: gosa (<<2.6)
-Description: connectivity plugin for GOsa²
- Connectivity base plugin - base for really small plugins.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-dhcp
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-systems
-Breaks: gosa (<<2.6)
-Description: dhcp plugin for GOsa²
- DHCP service management plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-dhcp-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² dhcp plugin
- This package includes the LDAP schema needed by the GOsa²
- dhcp plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-dns
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-systems
-Breaks: gosa (<<2.6)
-Description: dns plugin for GOsa²
- DNS service management plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-dns-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² dns plugin
- This package includes the LDAP schema needed by the GOsa²
- dns plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-fai
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-goto
-Breaks: gosa (<<2.6)
-Description: fai plugin for GOsa²
- FAI plugin for managing Linux system deployment.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-fai-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² fai plugin
- This package includes the LDAP schema needed by the GOsa²
- fai plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-gofax
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-systems
-Breaks: gosa (<<2.6)
-Description: gofax plugin for GOsa²
- GOfax management with report functionality
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-gofon
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-systems
-Breaks: gosa (<<2.6)
-Description: gofon plugin for GOsa²
- GOfon management with report functionality
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-goto
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-systems
-Breaks: gosa (<<2.6)
-Description: goto plugin for GOsa²
- GOto desktop management plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-kolab
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-connectivity, gosa-plugin-mail
-Breaks: gosa (<<2.6)
-Description: kolab plugin for GOsa²
- Kolab2 account management plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-kolab-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² kolab plugin
- This package includes the LDAP schema needed by the GOsa²
- kolab plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-ldapmanager
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Breaks: gosa (<<2.6)
-Description: ldapmanager plugin for GOsa²
- LDAP import and export management plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-log
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-systems
-Breaks: gosa (<<2.6)
-Description: log plugin for GOsa²
- Syslog and GOsa² logging management plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-log-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² log plugin
- This package includes the LDAP schema needed by the GOsa²
- log plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-mail
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-systems
-Breaks: gosa (<<2.6)
-Description: base mail plugin for GOsa²
- Mail management base plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-mit-krb5
-Architecture: all
-Conflicts: gosa-plugin-heimdal 
-Breaks: gosa (<<2.6)
-Depends: ${misc:Depends}, gosa, gosa-plugin-systems
-Description: mit-krb5 plugin for GOsa²
- MIT kerberos management plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-mit-krb5-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² mit-krb5 plugin
- This package includes the LDAP schema needed by the GOsa²
- mit-krb5 plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-nagios
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Breaks: gosa (<<2.6)
-Description: nagios plugin for GOsa²
- Nagios account settings management
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-nagios-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² nagios plugin
- This package includes the LDAP schema needed by the GOsa²
- nagios plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-netatalk
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-systems
-Breaks: gosa (<<2.6)
-Description: netatalk plugin for GOsa²
- Netatalk account management plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-opengroupware
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-mail, gosa-plugin-connectivity
-Breaks: gosa (<<2.6)
-Description: opengroupware plugin for GOsa²
- Opengroupware account management plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-openxchange
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-mail, gosa-plugin-connectivity
-Breaks: gosa (<<2.6)
-Description: openxchange plugin for GOsa²
- Open-Xchange account management plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-openxchange-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² openxchange plugin
- This package includes the LDAP schema needed by the GOsa²
- openxchange plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-opsi
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-fai, gosa-plugin-goto
-Breaks: gosa (<<2.6)
-Description: opsi plugin for GOsa²
- opsi plugin for managing windows system and software deployment
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-phpgw
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-mail, gosa-plugin-connectivity
-Breaks: gosa (<<2.6)
-Description: phpgw plugin for GOsa²
- PHP Groupware connectivity plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-phpgw-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² phpgw plugin
- This package includes the LDAP schema needed by the GOsa²
- phpgw plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-phpscheduleit
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-connectivity
-Breaks: gosa (<<2.6)
-Description: phpscheduleit plugin for GOsa²
- PHP scheduleit connectivity plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-phpscheduleit-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² phpscheduleit plugin
- This package includes the LDAP schema needed by the GOsa²
- phpscheduleit plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-pptp
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-connectivity
-Breaks: gosa (<<2.6)
-Description: pptp plugin for GOsa²
- PPTP connectivity plugin
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-pptp-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² pptp plugin
- This package includes the LDAP schema needed by the GOsa²
- pptp plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-pureftpd
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-connectivity
-Breaks: gosa (<<2.6)
-Description: pureftpd plugin for GOsa²
- PureFTPD connectivity plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-pureftpd-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² pureftpd plugin
- This package includes the LDAP schema needed by the GOsa²
- pureftpd plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-rolemanagement
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Breaks: gosa (<<2.6)
-Description: rolemanagement plugin for GOsa²
- Role Management plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-rsyslog
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-systems
-Breaks: gosa (<<2.6)
-Description: rsyslog plugin for GOsa²
- Syslog and GOsa logging plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-samba
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Breaks: gosa (<<2.6)
-Description: samba3 plugin for GOsa²
- Plugin for Samba 3 management.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-scalix
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Breaks: gosa (<<2.6)
-Description: scalix plugin for GOsa²
- Scalix account management plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-squid
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-connectivity
-Breaks: gosa (<<2.6)
-Description: squid plugin for GOsa²
- Squid connectivity plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-ssh
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Breaks: gosa (<<2.6)
-Description: ssh plugin for GOsa²
- SSH key management plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-ssh-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² ssh plugin
- This package includes the LDAP schema needed by the GOsa²
- ssh plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-sudo
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Breaks: gosa (<<2.6)
-Description: sudo plugin for GOsa²
- Sudo management plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-sudo-schema
-Architecture: all
-Depends: ${misc:Depends}
-Recommends: slapd
-Description: LDAP schema for GOsa² sudo plugin
- This package includes the LDAP schema needed by the GOsa
- sudo plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-systems
-Architecture: all
-Depends: ${misc:Depends}, gosa
-Breaks: gosa (<<2.6)
-Description: systems plugin for GOsa²
- Systems management base plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-uw-imap
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-mail
-Breaks: gosa (<<2.6)
-Description: uw-imap plugin for GOsa²
- UW imap mail method.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
-Package: gosa-plugin-webdav
-Architecture: all
-Depends: ${misc:Depends}, gosa, gosa-plugin-connectivity
-Breaks: gosa (<<2.6)
-Description: webdav plugin for GOsa²
- WebDAV connectivity plugin.
- .
- GOsa² is a combination of system-administrator and end-user web
- interface, designed to handle LDAP based setups.
-
diff --git a/gosa-core/debian/copyright b/gosa-core/debian/copyright
deleted file mode 100644
index 2a471b3..0000000
--- a/gosa-core/debian/copyright
+++ /dev/null
@@ -1,210 +0,0 @@
-This package was debianized by Cajus Pollmeier <cajus at debian.org> on
-Mon, 07 Apr 2008 11:18:53 +0200.
-
-It was downloaded from http://www.gosa-project.org
-
-Copyright: 
-
-	Copyright (C) 2003-2010 GONICUS GmbH
-
-Upstream Authors: 
-
-	Copyright (C) 2003-2008 Cajus Pollmeier <pollmeier at gonicus.de>
-	Copyright (C) 2003-2008 Fabian Hickert <fabian.hickert at gonicus.de>  
-	Copyright (C) 2003-2005 Alejandro Escanero Blanco <aescanero at chaosdimension.org>
-	Copyright (c) 2003 Wouter Verhelst <wouter at debian.org>
-	Copyright (C) 2005 Benoit Mortier <benoit.mortier at opensides.be>
-	Copyright (C) 2005 Guillaume Delecourt <guillaume.delecourt at opensides.be>
-	Copyright (C) 2005 Vincent Seynhaeve <vincent.seynhaeve at opensides.be>
-	Copyright (C) 2006 Bernd Zeimetz <bernd at zeimetz.de>
-	Copyright (C) 2006 Gina Haeussge <osd at foosel.net>
-	Copyright (C) 2006 Jörn Dreyer, based on work by Cajus Pollmeier
-
-License:
-
-    This package 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.
- 
-    This package 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 General Public License for more details.
- 
-    You should have received a copy of the GNU General Public License
-    along with this package; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
-
-Files: builder.js, dragdrop.js, effects.js, scriptaculous.js, sound.js
-Copyright: (C) 2005-2008 Thomas Fuchs <thomas at script.aculo.us>
-License: MIT
- Permission is hereby granted, free of charge, to any person obtaining a copy of
- this software and associated documentation files (the "Software"), to deal in
- the Software without restriction, including without limitation the rights to
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is furnished to do
- so, subject to the following conditions:
- .
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
- .
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-
-Files: controls.js
-Copyright:  (C) 2005-2009 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-            (C) 2005-2009 Ivan Krstic (http://blogs.law.harvard.edu/ivan)
-            (C) 2005-2009 Jon Tirsen (http://www.tirsen.com)
-License: MIT
- Permission is hereby granted, free of charge, to any person obtaining a copy of
- this software and associated documentation files (the "Software"), to deal in
- the Software without restriction, including without limitation the rights to
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is furnished to do
- so, subject to the following conditions:
- .
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
- .
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-
-Files: prototype.js
-Copyright:	(C) 2005-2009 Sam Stephenson
-License: MIT
- Permission is hereby granted, free of charge, to any person obtaining a copy of
- this software and associated documentation files (the "Software"), to deal in
- the Software without restriction, including without limitation the rights to
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is furnished to do
- so, subject to the following conditions:
- .
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
- .
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-
-Files: pulldown.js
-Copyright:	(C) 2004 Knallgrau New Medias Solutions GmbH, BSD
-Licence: BSD
-
-Files: pwdStrength.js
-Copyright: (C) 2006 Steve Moitozo <god at zilla dot us>
-Licence: MIT
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall
-be included in all copies or substantial portions of the
-Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
-AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-OR OTHER DEALINGS IN THE SOFTWARE.
-
-Files: slider.js
-Copyright:
-  (C) 2005-2008 Marty Haught <mghaught at gmail.com>
-  (C) 2005-2008 Thomas Fuchs <thomas at script.aculo.us>
-License: MIT
- Permission is hereby granted, free of charge, to any person obtaining a copy of
- this software and associated documentation files (the "Software"), to deal in
- the Software without restriction, including without limitation the rights to
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is furnished to do
- so, subject to the following conditions:
- .
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
- .
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-
-Files: datepicker.js
-Copyright:	(C) 2007 Mathieu Jondet
-Licence: MIT
- Permission is hereby granted, free of charge, to any person obtaining a copy of
- this software and associated documentation files (the "Software"), to deal in
- the Software without restriction, including without limitation the rights to
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is furnished to do
- so, subject to the following conditions:
- .
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
- .
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-
-Files: unittest.js
-Copyright:	(C) 2005-2009 Thomas Fuchs, Jon Tirsen, Michael Schuerig
-Licence: MIT
- Permission is hereby granted, free of charge, to any person obtaining a copy of
- this software and associated documentation files (the "Software"), to deal in
- the Software without restriction, including without limitation the rights to
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
- of the Software, and to permit persons to whom the Software is furnished to do
- so, subject to the following conditions:
- .
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
- .
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-
-SIEVE-PHP.LIB VERSION 0.0.8:
-	Copyright (C) 2001 Dan Ellis <danellis at rushmore.com>
-
-Files: gosa-core/include/class_ldap.inc: 
-	Copyright (C) 1998  Eric Kilfoil <eric at ipass.net>
- 	Copyright (C) 2003 Alejandro Escanero Blanco <aescanero at chaosdimension.org>
-	Copyright (C) 2003-2008 GONICUS GmbH
-
-On Debian systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL-2'.
-
-The Debian packaging is Copyright (C) 2010, Benoit Mortier <benoit.mortier at opensides.be> and
-is licensed under the GPL, see above.
diff --git a/gosa-core/debian/gosa-16.xpm b/gosa-core/debian/gosa-16.xpm
deleted file mode 100644
index d9940d0..0000000
--- a/gosa-core/debian/gosa-16.xpm
+++ /dev/null
@@ -1,137 +0,0 @@
-/* XPM */
-static char * gosa_16_xpm[] = {
-"16 16 118 2",
-"  	c None",
-". 	c #B0B1D3",
-"+ 	c #B3B4D3",
-"@ 	c #BEC1DF",
-"# 	c #C6C9E7",
-"$ 	c #CED0EE",
-"% 	c #D4DAF3",
-"& 	c #CCE0FA",
-"* 	c #9ECEFE",
-"= 	c #BBDDFF",
-"- 	c #D1D8FA",
-"; 	c #BEC8EE",
-"> 	c #B1D3F4",
-", 	c #95D4F5",
-"' 	c #75CDF9",
-") 	c #51BEFE",
-"! 	c #3FAEFF",
-"~ 	c #34A0FF",
-"{ 	c #49A0FC",
-"] 	c #B3B0C4",
-"^ 	c #D0D6FA",
-"/ 	c #A6D5F1",
-"( 	c #87E0FF",
-"_ 	c #6BD9FF",
-": 	c #5BCCFF",
-"< 	c #4EBCFF",
-"[ 	c #41AEFF",
-"} 	c #349FFF",
-"| 	c #308AF1",
-"1 	c #BABACE",
-"2 	c #CFD4F4",
-"3 	c #9AC4EA",
-"4 	c #76DCFF",
-"5 	c #63D4FF",
-"6 	c #57C7FF",
-"7 	c #4AB8FF",
-"8 	c #3EAAFF",
-"9 	c #2C93F8",
-"0 	c #1D78EA",
-"a 	c #B3B8D4",
-"b 	c #C2C4E3",
-"c 	c #A4C3ED",
-"d 	c #63D6FF",
-"e 	c #5BCBFF",
-"f 	c #50BFFF",
-"g 	c #44B1FE",
-"h 	c #3198F8",
-"i 	c #2382EF",
-"j 	c #1572EA",
-"k 	c #A3B5E2",
-"l 	c #B5B6D2",
-"m 	c #BAC9F3",
-"n 	c #58C8FE",
-"o 	c #51C0FF",
-"p 	c #40ACFE",
-"q 	c #3096F8",
-"r 	c #2688F4",
-"s 	c #1E7BEF",
-"t 	c #136EEA",
-"u 	c #94B4EE",
-"v 	c #C9CEF2",
-"w 	c #57B4F4",
-"x 	c #3EABFF",
-"y 	c #3098FC",
-"z 	c #288CF8",
-"A 	c #2081F4",
-"B 	c #1875EF",
-"C 	c #0D66EA",
-"D 	c #95B8F4",
-"E 	c #C7CBEE",
-"F 	c #64ACF3",
-"G 	c #2F97FF",
-"H 	c #278CFC",
-"I 	c #2082F8",
-"J 	c #1978F3",
-"K 	c #4288F0",
-"L 	c #A0BFF4",
-"M 	c #C1C2DA",
-"N 	c #ACAED4",
-"O 	c #82ABED",
-"P 	c #238AFF",
-"Q 	c #2282FA",
-"R 	c #659FF5",
-"S 	c #B6C8F2",
-"T 	c #B1B2D0",
-"U 	c #9F9FC6",
-"V 	c #C0CAF3",
-"W 	c #83AEF6",
-"X 	c #BCC4EB",
-"Y 	c #BCC1E8",
-"Z 	c #7C7EB2",
-"` 	c #B7BAE1",
-" .	c #B7B9DE",
-"..	c #DBE0F8",
-"+.	c #D1DAFF",
-"@.	c #9EA4D8",
-"#.	c #A9B2E1",
-"$.	c #B6C0F2",
-"%.	c #9197CF",
-"&.	c #DADBE9",
-"*.	c #EEF1FB",
-"=.	c #BBBDDE",
-"-.	c #C3C6E6",
-";.	c #A5AAD9",
-">.	c #B0B6E3",
-",.	c #B2BBEC",
-"'.	c #888DC6",
-").	c #EDEDF9",
-"!.	c #F0F2FE",
-"~.	c #E8EDFE",
-"{.	c #D8DDF7",
-"].	c #C5CBF0",
-"^.	c #888CBF",
-"/.	c #B6B7D4",
-"(.	c #F2F5FE",
-"_.	c #CBCFEA",
-":.	c #8B8CB9",
-"<.	c #7B7BA8",
-"                    . +         ",
-"          @ # $ % & * =         ",
-"      - ; > , ' ) ! ~ { ]       ",
-"      ^ / ( _ : < [ } | 1       ",
-"      2 3 4 5 6 7 8 9 0 a       ",
-"      b c d e f g h i j k       ",
-"      l m n o p q r s t u       ",
-"        v w x y z A B C D       ",
-"        E F G H I J K L M       ",
-"        N O P Q R S T           ",
-"        U V W X Y Z             ",
-"          `  ...+. at .#.$.%.      ",
-"        &.*.=.-.;.>.,.'.        ",
-"        ).!.~.{.].^.            ",
-"        /.(._.:.                ",
-"          <.                    "};
diff --git a/gosa-core/debian/gosa-apache.conf b/gosa-core/debian/gosa-apache.conf
deleted file mode 100644
index cd38aeb..0000000
--- a/gosa-core/debian/gosa-apache.conf
+++ /dev/null
@@ -1,28 +0,0 @@
-# Include GOsa to your web service
-Alias /gosa /usr/share/gosa/html
-
-<IfModule mod_php5.c>
-<Location /gosa>
-    php_admin_flag engine on
-    php_admin_flag register_globals off
-    php_admin_flag allow_call_time_pass_reference off
-    php_admin_flag expose_php off
-    php_admin_flag zend.ze1_compatibility_mode off
-    php_admin_flag register_long_arrays off
-    php_admin_flag magic_quotes_gpc on
-    php_admin_value upload_tmp_dir /var/spool/gosa/
-    php_admin_value session.cookie_lifetime 0
-    include /etc/gosa/gosa.secrets
-</Location>
-</IfModule>
-
-<IfModule mod_fcgid.c>
-   PHP_Fix_Pathinfo_Enable 1
-   <Location /gosa>
-     Options +ExecCGI
-     AddHandler fcgid-script .php
-     FCGIWrapper /var/www/php-fcgi/php-fcgi-starter .php
-     include /etc/gosa/gosa.secrets
-   </Location>
-</IfModule>
-
diff --git a/gosa-core/debian/gosa-desktop.config b/gosa-core/debian/gosa-desktop.config
deleted file mode 100644
index 2b251a7..0000000
--- a/gosa-core/debian/gosa-desktop.config
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh -e
-
-set -e
-
-# Source debconf library.
-. /usr/share/debconf/confmodule
-
-# What is the URL?
-db_input medium gosa-desktop/url || true
-db_go
-
diff --git a/gosa-core/debian/gosa-desktop.desktop b/gosa-core/debian/gosa-desktop.desktop
deleted file mode 100644
index 1ff534e..0000000
--- a/gosa-core/debian/gosa-desktop.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-MimeType=text/plain;
-GenericName=GOsa²
-Exec=/usr/bin/gosa
-Icon=gosa
-Path=/usr/bin
-Type=Application
-Terminal=false
-Name=GOsa
-X-KDE-StartupNotify=true
-Categories=Qt;KDE;Utility;System;
diff --git a/gosa-core/debian/gosa-desktop.dirs b/gosa-core/debian/gosa-desktop.dirs
deleted file mode 100644
index d519c52..0000000
--- a/gosa-core/debian/gosa-desktop.dirs
+++ /dev/null
@@ -1,4 +0,0 @@
-etc/gosa
-usr/bin
-usr/share/pixmaps
-usr/share/applications
diff --git a/gosa-core/debian/gosa-desktop.install b/gosa-core/debian/gosa-desktop.install
deleted file mode 100644
index 19a4f65..0000000
--- a/gosa-core/debian/gosa-desktop.install
+++ /dev/null
@@ -1,5 +0,0 @@
-gosa-core/contrib/desktoprc	/etc/gosa
-gosa-core/contrib/gosa		/usr/bin
-debian/gosa.xpm			/usr/share/pixmaps
-debian/gosa-16.xpm		/usr/share/pixmaps
-debian/gosa-desktop.desktop 	/usr/share/applications
diff --git a/gosa-core/debian/gosa-desktop.manpages b/gosa-core/debian/gosa-desktop.manpages
deleted file mode 100644
index 601e6cc..0000000
--- a/gosa-core/debian/gosa-desktop.manpages
+++ /dev/null
@@ -1 +0,0 @@
-gosa-core/contrib/gosa.1
diff --git a/gosa-core/debian/gosa-desktop.menu b/gosa-core/debian/gosa-desktop.menu
deleted file mode 100644
index d47e0d0..0000000
--- a/gosa-core/debian/gosa-desktop.menu
+++ /dev/null
@@ -1,8 +0,0 @@
-?package(gosa-desktop):\
-	needs="x11"\
-	section="Applications/System/Administration"\
-	hints="KDE"\
-        icon32x32="/usr/share/pixmaps/gosa.xpm"\
-        icon16x16="/usr/share/pixmaps/gosa-16.xpm"\
-	title="GOsa"\
-	command="gosa"
diff --git a/gosa-core/debian/gosa-desktop.postinst b/gosa-core/debian/gosa-desktop.postinst
deleted file mode 100644
index cd8b779..0000000
--- a/gosa-core/debian/gosa-desktop.postinst
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-set -e
-
-#DEBHELPER#
-
-# Source debconf library.
-. /usr/share/debconf/confmodule
-
-db_get gosa-desktop/url
-if [ -n "$RET" ]; then
-    echo "URL='$RET'" > /etc/gosa/desktoprc
-fi
diff --git a/gosa-core/debian/gosa-desktop.postrm b/gosa-core/debian/gosa-desktop.postrm
deleted file mode 100644
index 8c3d081..0000000
--- a/gosa-core/debian/gosa-desktop.postrm
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-set -e
-
-#DEBHELPER#
-
-if [ "$1" = "purge" ]; then
-	rm -f /etc/gosa/desktoprc
-fi
diff --git a/gosa-core/debian/gosa-desktop.templates b/gosa-core/debian/gosa-desktop.templates
deleted file mode 100644
index 6a90b6f..0000000
--- a/gosa-core/debian/gosa-desktop.templates
+++ /dev/null
@@ -1,9 +0,0 @@
-Template: gosa-desktop/url
-Type: string
-_Description: URL to your GOsa installation:
- The gosa start script can automatically point your
- browser to a system wide default location of your
- GOsa instance.
- .
- Enter the URL in order to set this default.
-Default: https://www.gosa-project.org/demo/trunk
diff --git a/gosa-core/debian/gosa-dev.dirs b/gosa-core/debian/gosa-dev.dirs
deleted file mode 100644
index 415f082..0000000
--- a/gosa-core/debian/gosa-dev.dirs
+++ /dev/null
@@ -1 +0,0 @@
-/usr/bin
diff --git a/gosa-core/debian/gosa-dev.install b/gosa-core/debian/gosa-dev.install
deleted file mode 100644
index 47693d6..0000000
--- a/gosa-core/debian/gosa-dev.install
+++ /dev/null
@@ -1,3 +0,0 @@
-gosa-core/update-locale       /usr/bin
-gosa-core/update-pdf-help     /usr/bin
-gosa-core/dh-make-gosa        /usr/bin
diff --git a/gosa-core/debian/gosa-dev.manpages b/gosa-core/debian/gosa-dev.manpages
deleted file mode 100644
index 9778cb8..0000000
--- a/gosa-core/debian/gosa-dev.manpages
+++ /dev/null
@@ -1,5 +0,0 @@
-gosa-core/dh-make-gosa.1
-gosa-core/update-locale.1
-gosa-core/update-online-help.1
-gosa-core/update-pdf-help.1
-
diff --git a/gosa-core/debian/gosa-help-de.dirs b/gosa-core/debian/gosa-help-de.dirs
deleted file mode 100644
index a69a587..0000000
--- a/gosa-core/debian/gosa-help-de.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa/doc/core/de
diff --git a/gosa-core/debian/gosa-help-de.install b/gosa-core/debian/gosa-help-de.install
deleted file mode 100644
index 191d9ba..0000000
--- a/gosa-core/debian/gosa-help-de.install
+++ /dev/null
@@ -1 +0,0 @@
-gosa-core/doc/core/de/html   /usr/share/gosa/doc/core/de
diff --git a/gosa-core/debian/gosa-help-en.dirs b/gosa-core/debian/gosa-help-en.dirs
deleted file mode 100644
index 30369bb..0000000
--- a/gosa-core/debian/gosa-help-en.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa/doc/core/en
diff --git a/gosa-core/debian/gosa-help-en.install b/gosa-core/debian/gosa-help-en.install
deleted file mode 100644
index 187667d..0000000
--- a/gosa-core/debian/gosa-help-en.install
+++ /dev/null
@@ -1 +0,0 @@
-gosa-core/doc/core/en/html   /usr/share/gosa/doc/core/en
diff --git a/gosa-core/debian/gosa-help-es.dirs b/gosa-core/debian/gosa-help-es.dirs
deleted file mode 100644
index 037d7ae..0000000
--- a/gosa-core/debian/gosa-help-es.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa/doc/core/es
diff --git a/gosa-core/debian/gosa-help-es.install b/gosa-core/debian/gosa-help-es.install
deleted file mode 100644
index c31ecd7..0000000
--- a/gosa-core/debian/gosa-help-es.install
+++ /dev/null
@@ -1 +0,0 @@
-gosa-core/doc/core/es/html   /usr/share/gosa/doc/core/es
diff --git a/gosa-core/debian/gosa-help-fr.dirs b/gosa-core/debian/gosa-help-fr.dirs
deleted file mode 100644
index cd83d4b..0000000
--- a/gosa-core/debian/gosa-help-fr.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa/doc/core/fr
diff --git a/gosa-core/debian/gosa-help-fr.install b/gosa-core/debian/gosa-help-fr.install
deleted file mode 100644
index 2dbb852..0000000
--- a/gosa-core/debian/gosa-help-fr.install
+++ /dev/null
@@ -1 +0,0 @@
-gosa-core/doc/core/fr/html   /usr/share/gosa/doc/core/fr
diff --git a/gosa-core/debian/gosa-help-nl.dirs b/gosa-core/debian/gosa-help-nl.dirs
deleted file mode 100644
index e82c70d..0000000
--- a/gosa-core/debian/gosa-help-nl.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa/doc/core/nl
diff --git a/gosa-core/debian/gosa-help-nl.install b/gosa-core/debian/gosa-help-nl.install
deleted file mode 100644
index d551334..0000000
--- a/gosa-core/debian/gosa-help-nl.install
+++ /dev/null
@@ -1 +0,0 @@
-gosa-core/doc/core/nl/html   /usr/share/gosa/doc/core/nl
diff --git a/gosa-core/debian/gosa-lighttpd.conf b/gosa-core/debian/gosa-lighttpd.conf
deleted file mode 100644
index 858c65b..0000000
--- a/gosa-core/debian/gosa-lighttpd.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-# lighttpd configuration for GOsa
-
-# Set alias to http://<host>/gosa/
-alias.url += (
-	"/gosa/" => "/usr/share/gosa/html/"
-)
-
-# Enable FastCGI and set it to handle .php URLs
-# php-cgi is run with the GOsa-required options
-server.modules += ( "mod_fastcgi" )
-
-$HTTP["url"] =~ "^/gosa/" {
-	fastcgi.server = ( ".php" =>
-		((
-			"bin-path" => "/usr/bin/php-cgi -d expose_php=Off -d magic_quotes_gpc=On",
-			"socket" => "/tmp/php.socket",
-			"max-procs" => 2,
-			"idle-timeout" => 20,
-			"bin-environment" => ( 
-				"PHP_FCGI_CHILDREN" => "4",
-				"PHP_FCGI_MAX_REQUESTS" => "10000"
-			),
-			"bin-copy-environment" => (
-				"PATH", "SHELL", "USER"
-			),
-			"broken-scriptfilename" => "enable"
-		))
-	)
-}
diff --git a/gosa-core/debian/gosa-plugin-addressbook.dirs b/gosa-core/debian/gosa-plugin-addressbook.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-addressbook.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-addressbook.install b/gosa-core/debian/gosa-plugin-addressbook.install
deleted file mode 100644
index 30b5dc7..0000000
--- a/gosa-core/debian/gosa-plugin-addressbook.install
+++ /dev/null
@@ -1,6 +0,0 @@
-addressbook/addons			/usr/share/gosa/plugins
-addressbook/help			/usr/share/gosa/doc/plugins/addressbook
-addressbook/help/guide.xml		/usr/share/gosa/doc/plugins/addressbook
-addressbook/locale			/usr/share/gosa/locale/plugins/addressbook
-addressbook/html/getvcard.php		/usr/share/gosa/html/plugins/addressbook
-addressbook/html/images			/usr/share/gosa/html/plugins/addressbook
diff --git a/gosa-core/debian/gosa-plugin-connectivity.dirs b/gosa-core/debian/gosa-plugin-connectivity.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-connectivity.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-connectivity.install b/gosa-core/debian/gosa-plugin-connectivity.install
deleted file mode 100644
index a70bca5..0000000
--- a/gosa-core/debian/gosa-plugin-connectivity.install
+++ /dev/null
@@ -1,4 +0,0 @@
-connectivity/personal			/usr/share/gosa/plugins
-connectivity/help/guide.xml		/usr/share/gosa/doc/plugins/connectivity
-connectivity/locale			/usr/share/gosa/locale/plugins/connectivity
-connectivity/html/images		/usr/share/gosa/html/plugins/connectivity
diff --git a/gosa-core/debian/gosa-plugin-dhcp-schema.dirs b/gosa-core/debian/gosa-plugin-dhcp-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-dhcp-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-dhcp-schema.install b/gosa-core/debian/gosa-plugin-dhcp-schema.install
deleted file mode 100644
index ff80ca0..0000000
--- a/gosa-core/debian/gosa-plugin-dhcp-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-dhcp/contrib/dhcp.schema /etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-dhcp.dirs b/gosa-core/debian/gosa-plugin-dhcp.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-dhcp.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-dhcp.install b/gosa-core/debian/gosa-plugin-dhcp.install
deleted file mode 100644
index db6c188..0000000
--- a/gosa-core/debian/gosa-plugin-dhcp.install
+++ /dev/null
@@ -1,4 +0,0 @@
-dhcp/admin			/usr/share/gosa/plugins
-dhcp/help/guide.xml		/usr/share/gosa/doc/plugins/dhcp
-dhcp/locale			/usr/share/gosa/locale/plugins/dhcp
-dhcp/contrib			/usr/share/doc/gosa-plugin-dhcp
diff --git a/gosa-core/debian/gosa-plugin-dns-schema.dirs b/gosa-core/debian/gosa-plugin-dns-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-dns-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-dns-schema.install b/gosa-core/debian/gosa-plugin-dns-schema.install
deleted file mode 100644
index 2a363e9..0000000
--- a/gosa-core/debian/gosa-plugin-dns-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-dns/contrib/dnszone.schema /etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-dns.dirs b/gosa-core/debian/gosa-plugin-dns.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-dns.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-dns.install b/gosa-core/debian/gosa-plugin-dns.install
deleted file mode 100644
index 19756f9..0000000
--- a/gosa-core/debian/gosa-plugin-dns.install
+++ /dev/null
@@ -1,4 +0,0 @@
-dns/admin			/usr/share/gosa/plugins
-dns/help/guide.xml		/usr/share/gosa/doc/plugins/dns
-dns/locale			/usr/share/gosa/locale/plugins/dns
-dns/contrib			/usr/share/doc/gosa-plugin-dns
diff --git a/gosa-core/debian/gosa-plugin-fai-schema.dirs b/gosa-core/debian/gosa-plugin-fai-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-fai-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-fai-schema.install b/gosa-core/debian/gosa-plugin-fai-schema.install
deleted file mode 100644
index 25fd27c..0000000
--- a/gosa-core/debian/gosa-plugin-fai-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-fai/contrib/fai.schema /etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-fai.dirs b/gosa-core/debian/gosa-plugin-fai.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-fai.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-fai.install b/gosa-core/debian/gosa-plugin-fai.install
deleted file mode 100644
index d4d9dbd..0000000
--- a/gosa-core/debian/gosa-plugin-fai.install
+++ /dev/null
@@ -1,6 +0,0 @@
-fai/admin			/usr/share/gosa/plugins
-fai/help/de			/usr/share/gosa/doc/plugins/fai
-fai/help/guide.xml		/usr/share/gosa/doc/plugins/fai
-fai/locale			/usr/share/gosa/locale/plugins/fai
-fai/contrib			/usr/share/doc/gosa-plugin-fai
-fai/html/images			/usr/share/gosa/html/plugins/fai
diff --git a/gosa-core/debian/gosa-plugin-gofax.dirs b/gosa-core/debian/gosa-plugin-gofax.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-gofax.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-gofax.install b/gosa-core/debian/gosa-plugin-gofax.install
deleted file mode 100644
index a3e9ce3..0000000
--- a/gosa-core/debian/gosa-plugin-gofax.install
+++ /dev/null
@@ -1,7 +0,0 @@
-gofax/admin			/usr/share/gosa/plugins
-gofax/gofax			/usr/share/gosa/plugins
-gofax/help/guide.xml		/usr/share/gosa/doc/plugins/gofax
-gofax/locale			/usr/share/gosa/locale/plugins/gofax
-gofax/contrib			/usr/share/doc/gosa-plugin-gofax
-gofax/html/getfax.php		/usr/share/gosa/html/plugins/gofax
-gofax/html/images		/usr/share/gosa/html/plugins/gofax
diff --git a/gosa-core/debian/gosa-plugin-gofon.dirs b/gosa-core/debian/gosa-plugin-gofon.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-gofon.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-gofon.install b/gosa-core/debian/gosa-plugin-gofon.install
deleted file mode 100644
index 4ca6cdf..0000000
--- a/gosa-core/debian/gosa-plugin-gofon.install
+++ /dev/null
@@ -1,7 +0,0 @@
-gofon/admin		/usr/share/gosa/plugins
-gofon/gofon		/usr/share/gosa/plugins
-gofon/help/guide.xml	/usr/share/gosa/doc/plugins/gofon
-gofon/locale		/usr/share/gosa/locale/plugins/gofon
-gofon/contrib		/usr/share/doc/gosa-plugin-gofon
-gofon/html/images	/usr/share/gosa/html/plugins/gofon
-gofon/etc		/etc/gosa
diff --git a/gosa-core/debian/gosa-plugin-goto.dirs b/gosa-core/debian/gosa-plugin-goto.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-goto.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-goto.install b/gosa-core/debian/gosa-plugin-goto.install
deleted file mode 100644
index 9520136..0000000
--- a/gosa-core/debian/gosa-plugin-goto.install
+++ /dev/null
@@ -1,7 +0,0 @@
-goto/admin			/usr/share/gosa/plugins
-goto/personal			/usr/share/gosa/plugins
-goto/addons			/usr/share/gosa/plugins
-goto/help/guide.xml		/usr/share/gosa/doc/plugins/goto
-goto/locale			/usr/share/gosa/locale/plugins/goto
-goto/contrib			/usr/share/doc/gosa-plugin-goto
-goto/html/images		/usr/share/gosa/html/plugins/goto
diff --git a/gosa-core/debian/gosa-plugin-kolab-schema.dirs b/gosa-core/debian/gosa-plugin-kolab-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-kolab-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-kolab-schema.install b/gosa-core/debian/gosa-plugin-kolab-schema.install
deleted file mode 100644
index e341bd9..0000000
--- a/gosa-core/debian/gosa-plugin-kolab-schema.install
+++ /dev/null
@@ -1,2 +0,0 @@
-kolab/contrib/kolab2.schema	/etc/ldap/schema/gosa
-kolab/contrib/rfc2739.schema	/etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-kolab.dirs b/gosa-core/debian/gosa-plugin-kolab.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-kolab.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-kolab.install b/gosa-core/debian/gosa-plugin-kolab.install
deleted file mode 100644
index 9602b42..0000000
--- a/gosa-core/debian/gosa-plugin-kolab.install
+++ /dev/null
@@ -1,5 +0,0 @@
-kolab/admin			/usr/share/gosa/plugins
-kolab/personal			/usr/share/gosa/plugins
-kolab/help/guide.xml		/usr/share/gosa/doc/plugins/kolab
-kolab/locale			/usr/share/gosa/locale/plugins/kolab
-kolab/contrib			/usr/share/doc/gosa-plugin-kolab
diff --git a/gosa-core/debian/gosa-plugin-ldapmanager.dirs b/gosa-core/debian/gosa-plugin-ldapmanager.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-ldapmanager.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-ldapmanager.install b/gosa-core/debian/gosa-plugin-ldapmanager.install
deleted file mode 100644
index 2b35637..0000000
--- a/gosa-core/debian/gosa-plugin-ldapmanager.install
+++ /dev/null
@@ -1,5 +0,0 @@
-ldapmanager/addons		/usr/share/gosa/plugins
-ldapmanager/help/guide.xml	/usr/share/gosa/doc/plugins/ldapmanager
-ldapmanager/locale		/usr/share/gosa/locale/plugins/ldapmanager
-ldapmanager/html/getxls.php	/usr/share/gosa/html/plugins/ldapmanager
-ldapmanager/html/images		/usr/share/gosa/html/plugins/ldapmanager
diff --git a/gosa-core/debian/gosa-plugin-log-schema.dirs b/gosa-core/debian/gosa-plugin-log-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-log-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-log-schema.install b/gosa-core/debian/gosa-plugin-log-schema.install
deleted file mode 100644
index 7fd5e05..0000000
--- a/gosa-core/debian/gosa-plugin-log-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-log/contrib/goconfig.schema	/etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-log.dirs b/gosa-core/debian/gosa-plugin-log.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-log.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-log.install b/gosa-core/debian/gosa-plugin-log.install
deleted file mode 100644
index 669ea0b..0000000
--- a/gosa-core/debian/gosa-plugin-log.install
+++ /dev/null
@@ -1,5 +0,0 @@
-log/admin			/usr/share/gosa/plugins
-log/help/guide.xml		/usr/share/gosa/doc/plugins/log
-log/locale			/usr/share/gosa/locale/plugins/log
-log/contrib			/usr/share/doc/gosa-plugin-log
-log/html/images			/usr/share/gosa/html/plugins/log
diff --git a/gosa-core/debian/gosa-plugin-mail.dirs b/gosa-core/debian/gosa-plugin-mail.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-mail.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-mail.install b/gosa-core/debian/gosa-plugin-mail.install
deleted file mode 100644
index b95effc..0000000
--- a/gosa-core/debian/gosa-plugin-mail.install
+++ /dev/null
@@ -1,8 +0,0 @@
-mail/admin			/usr/share/gosa/plugins
-mail/personal			/usr/share/gosa/plugins
-mail/addons			/usr/share/gosa/plugins
-mail/help/guide.xml		/usr/share/gosa/doc/plugins/mail
-mail/locale			/usr/share/gosa/locale/plugins/mail
-mail/contrib			/usr/share/doc/gosa-plugin-mail
-mail/html/images		/usr/share/gosa/html/plugins/mail
-mail/etc/			/etc/gosa
diff --git a/gosa-core/debian/gosa-plugin-mit-krb5-schema.dirs b/gosa-core/debian/gosa-plugin-mit-krb5-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-mit-krb5-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-mit-krb5-schema.install b/gosa-core/debian/gosa-plugin-mit-krb5-schema.install
deleted file mode 100644
index 0cca2ae..0000000
--- a/gosa-core/debian/gosa-plugin-mit-krb5-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-mit-krb5/contrib/hdb.schema	/etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-mit-krb5.dirs b/gosa-core/debian/gosa-plugin-mit-krb5.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-mit-krb5.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-mit-krb5.install b/gosa-core/debian/gosa-plugin-mit-krb5.install
deleted file mode 100644
index f327c13..0000000
--- a/gosa-core/debian/gosa-plugin-mit-krb5.install
+++ /dev/null
@@ -1,4 +0,0 @@
-mit-krb5/admin			/usr/share/gosa/plugins
-mit-krb5/help/guide.xml		/usr/share/gosa/doc/plugins/mit-krb5
-mit-krb5/locale			/usr/share/gosa/locale/plugins/mit-krb5
-mit-krb5/contrib		/usr/share/doc/gosa-plugin-mit-krb5
diff --git a/gosa-core/debian/gosa-plugin-nagios-schema.dirs b/gosa-core/debian/gosa-plugin-nagios-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-nagios-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-nagios-schema.install b/gosa-core/debian/gosa-plugin-nagios-schema.install
deleted file mode 100644
index 619a181..0000000
--- a/gosa-core/debian/gosa-plugin-nagios-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-nagios/contrib/nagios.schema	/etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-nagios.dirs b/gosa-core/debian/gosa-plugin-nagios.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-nagios.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-nagios.install b/gosa-core/debian/gosa-plugin-nagios.install
deleted file mode 100644
index b369abb..0000000
--- a/gosa-core/debian/gosa-plugin-nagios.install
+++ /dev/null
@@ -1,5 +0,0 @@
-nagios/personal			/usr/share/gosa/plugins
-nagios/help/guide.xml		/usr/share/gosa/doc/plugins/nagios
-nagios/locale			/usr/share/gosa/locale/plugins/nagios
-nagios/contrib			/usr/share/doc/gosa-plugin-nagios
-nagios/html/images		/usr/share/gosa/html/plugins/nagios
diff --git a/gosa-core/debian/gosa-plugin-netatalk.dirs b/gosa-core/debian/gosa-plugin-netatalk.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-netatalk.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-netatalk.install b/gosa-core/debian/gosa-plugin-netatalk.install
deleted file mode 100644
index 922bc2f..0000000
--- a/gosa-core/debian/gosa-plugin-netatalk.install
+++ /dev/null
@@ -1,5 +0,0 @@
-netatalk/personal		/usr/share/gosa/plugins
-netatalk/help/guide.xml		/usr/share/gosa/doc/plugins/netatalk
-netatalk/locale			/usr/share/gosa/locale/plugins/netatalk
-netatalk/contrib		/usr/share/doc/gosa-plugin-netatalk
-netatalk/html/images		/usr/share/gosa/html/plugins/netatalk
diff --git a/gosa-core/debian/gosa-plugin-opengroupware.dirs b/gosa-core/debian/gosa-plugin-opengroupware.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-opengroupware.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-opengroupware.install b/gosa-core/debian/gosa-plugin-opengroupware.install
deleted file mode 100644
index 60f007d..0000000
--- a/gosa-core/debian/gosa-plugin-opengroupware.install
+++ /dev/null
@@ -1,3 +0,0 @@
-opengroupware/personal			/usr/share/gosa/plugins
-opengroupware/help/guide.xml		/usr/share/gosa/doc/plugins/opengroupware
-opengroupware/locale			/usr/share/gosa/locale/plugins/opengroupware
diff --git a/gosa-core/debian/gosa-plugin-openxchange-schema.dirs b/gosa-core/debian/gosa-plugin-openxchange-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-openxchange-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-openxchange-schema.install b/gosa-core/debian/gosa-plugin-openxchange-schema.install
deleted file mode 100644
index c69a5ef..0000000
--- a/gosa-core/debian/gosa-plugin-openxchange-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-openxchange/contrib/openxchange.schema	/etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-openxchange.dirs b/gosa-core/debian/gosa-plugin-openxchange.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-openxchange.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-openxchange.install b/gosa-core/debian/gosa-plugin-openxchange.install
deleted file mode 100644
index 6d2ddfd..0000000
--- a/gosa-core/debian/gosa-plugin-openxchange.install
+++ /dev/null
@@ -1,4 +0,0 @@
-openxchange/personal		/usr/share/gosa/plugins
-openxchange/help/guide.xml	/usr/share/gosa/doc/plugins/openxchange
-openxchange/locale		/usr/share/gosa/locale/plugins/openxchange
-openxchange/contrib		/usr/share/doc/gosa-plugin-openxchange
diff --git a/gosa-core/debian/gosa-plugin-opsi.dirs b/gosa-core/debian/gosa-plugin-opsi.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-opsi.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-opsi.install b/gosa-core/debian/gosa-plugin-opsi.install
deleted file mode 100644
index b911240..0000000
--- a/gosa-core/debian/gosa-plugin-opsi.install
+++ /dev/null
@@ -1,4 +0,0 @@
-opsi/admin			/usr/share/gosa/plugins
-opsi/help/guide.xml		/usr/share/gosa/doc/plugins/opsi
-opsi/locale			/usr/share/gosa/locale/plugins/opsi
-opsi/html/images		/usr/share/gosa/html/plugins/opsi
diff --git a/gosa-core/debian/gosa-plugin-opsi.lintian-overrides b/gosa-core/debian/gosa-plugin-opsi.lintian-overrides
deleted file mode 100644
index 985e97d..0000000
--- a/gosa-core/debian/gosa-plugin-opsi.lintian-overrides
+++ /dev/null
@@ -1 +0,0 @@
-gosa-plugin-opsi: extra-license-file usr/share/gosa/plugins/admin/opsiLicenses/class_filterOpsiLicense.inc
diff --git a/gosa-core/debian/gosa-plugin-phpgw-schema.dirs b/gosa-core/debian/gosa-plugin-phpgw-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-phpgw-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-phpgw-schema.install b/gosa-core/debian/gosa-plugin-phpgw-schema.install
deleted file mode 100644
index 873bc20..0000000
--- a/gosa-core/debian/gosa-plugin-phpgw-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-phpgw/contrib/phpgwaccount.schema	/etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-phpgw.dirs b/gosa-core/debian/gosa-plugin-phpgw.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-phpgw.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-phpgw.install b/gosa-core/debian/gosa-plugin-phpgw.install
deleted file mode 100644
index c3d2aab..0000000
--- a/gosa-core/debian/gosa-plugin-phpgw.install
+++ /dev/null
@@ -1,4 +0,0 @@
-phpgw/personal			/usr/share/gosa/plugins
-phpgw/help/guide.xml		/usr/share/gosa/doc/plugins/phpgw
-phpgw/locale			/usr/share/gosa/locale/plugins/phpgw
-phpgw/contrib			/usr/share/doc/gosa-plugin-phpgw
diff --git a/gosa-core/debian/gosa-plugin-phpscheduleit-schema.dirs b/gosa-core/debian/gosa-plugin-phpscheduleit-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-phpscheduleit-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-phpscheduleit-schema.install b/gosa-core/debian/gosa-plugin-phpscheduleit-schema.install
deleted file mode 100644
index c88793d..0000000
--- a/gosa-core/debian/gosa-plugin-phpscheduleit-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-phpscheduleit/contrib/phpscheduleit.schema	/etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-phpscheduleit.dirs b/gosa-core/debian/gosa-plugin-phpscheduleit.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-phpscheduleit.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-phpscheduleit.install b/gosa-core/debian/gosa-plugin-phpscheduleit.install
deleted file mode 100644
index b2ab670..0000000
--- a/gosa-core/debian/gosa-plugin-phpscheduleit.install
+++ /dev/null
@@ -1,4 +0,0 @@
-phpscheduleit/personal			/usr/share/gosa/plugins
-phpscheduleit/help/guide.xml		/usr/share/gosa/doc/plugins/phpscheduleit
-phpscheduleit/locale			/usr/share/gosa/locale/plugins/phpscheduleit
-phpscheduleit/contrib			/usr/share/doc/gosa-plugin-phpscheduleit
diff --git a/gosa-core/debian/gosa-plugin-pptp-schema.dirs b/gosa-core/debian/gosa-plugin-pptp-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-pptp-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-pptp-schema.install b/gosa-core/debian/gosa-plugin-pptp-schema.install
deleted file mode 100644
index ce2c782..0000000
--- a/gosa-core/debian/gosa-plugin-pptp-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-pptp/contrib/pptp.schema	/etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-pptp.dirs b/gosa-core/debian/gosa-plugin-pptp.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-pptp.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-pptp.install b/gosa-core/debian/gosa-plugin-pptp.install
deleted file mode 100644
index 1f08f50..0000000
--- a/gosa-core/debian/gosa-plugin-pptp.install
+++ /dev/null
@@ -1,4 +0,0 @@
-pptp/personal		/usr/share/gosa/plugins
-pptp/help/guide.xml	/usr/share/gosa/doc/plugins/pptp
-pptp/locale		/usr/share/gosa/locale/plugins/pptp
-pptp/contrib		/usr/share/doc/gosa-plugin-pptp
diff --git a/gosa-core/debian/gosa-plugin-pureftpd-schema.dirs b/gosa-core/debian/gosa-plugin-pureftpd-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-pureftpd-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-pureftpd-schema.install b/gosa-core/debian/gosa-plugin-pureftpd-schema.install
deleted file mode 100644
index 0b95787..0000000
--- a/gosa-core/debian/gosa-plugin-pureftpd-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-pureftpd/contrib/pureftpd.schema	/etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-pureftpd.dirs b/gosa-core/debian/gosa-plugin-pureftpd.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-pureftpd.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-pureftpd.install b/gosa-core/debian/gosa-plugin-pureftpd.install
deleted file mode 100644
index efbcec6..0000000
--- a/gosa-core/debian/gosa-plugin-pureftpd.install
+++ /dev/null
@@ -1,4 +0,0 @@
-pureftpd/personal		/usr/share/gosa/plugins
-pureftpd/help/guide.xml		/usr/share/gosa/doc/plugins/pureftpd
-pureftpd/locale			/usr/share/gosa/locale/plugins/pureftpd
-pureftpd/contrib		/usr/share/doc/gosa-plugin-pureftpd
diff --git a/gosa-core/debian/gosa-plugin-rolemanagement.dirs b/gosa-core/debian/gosa-plugin-rolemanagement.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-rolemanagement.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-rolemanagement.install b/gosa-core/debian/gosa-plugin-rolemanagement.install
deleted file mode 100644
index 1adefb0..0000000
--- a/gosa-core/debian/gosa-plugin-rolemanagement.install
+++ /dev/null
@@ -1,3 +0,0 @@
-rolemanagement/admin		/usr/share/gosa/plugins
-rolemanagement/locale		/usr/share/gosa/locale/plugins/rolemanagement
-rolemanagement/html/images	/usr/share/gosa/html/plugins/rolemanagement
diff --git a/gosa-core/debian/gosa-plugin-rsyslog.dirs b/gosa-core/debian/gosa-plugin-rsyslog.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-rsyslog.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-rsyslog.install b/gosa-core/debian/gosa-plugin-rsyslog.install
deleted file mode 100644
index 58c933d..0000000
--- a/gosa-core/debian/gosa-plugin-rsyslog.install
+++ /dev/null
@@ -1,5 +0,0 @@
-rsyslog/admin		/usr/share/gosa/plugins
-rsyslog/addons		/usr/share/gosa/plugins
-rsyslog/locale		/usr/share/gosa/locale/plugins/rsyslog
-rsyslog/contrib		/usr/share/doc/gosa-plugin-rsyslog
-rsyslog/html/images	/usr/share/gosa/html/plugins/rsyslog
diff --git a/gosa-core/debian/gosa-plugin-samba.dirs b/gosa-core/debian/gosa-plugin-samba.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-samba.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-samba.install b/gosa-core/debian/gosa-plugin-samba.install
deleted file mode 100644
index 7f0a6a4..0000000
--- a/gosa-core/debian/gosa-plugin-samba.install
+++ /dev/null
@@ -1,6 +0,0 @@
-samba/admin			/usr/share/gosa/plugins
-samba/personal			/usr/share/gosa/plugins
-samba/help/guide.xml		/usr/share/gosa/doc/plugins/samba
-samba/locale			/usr/share/gosa/locale/plugins/samba
-samba/contrib			/usr/share/doc/gosa-plugin-samba
-samba/html/images 		/usr/share/gosa/html/plugins/samba
diff --git a/gosa-core/debian/gosa-plugin-scalix.dirs b/gosa-core/debian/gosa-plugin-scalix.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-scalix.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-scalix.install b/gosa-core/debian/gosa-plugin-scalix.install
deleted file mode 100644
index 8353bea..0000000
--- a/gosa-core/debian/gosa-plugin-scalix.install
+++ /dev/null
@@ -1,5 +0,0 @@
-scalix/admin			/usr/share/gosa/plugins
-scalix/personal			/usr/share/gosa/plugins
-scalix/help/guide.xml		/usr/share/gosa/doc/plugins/scalix
-scalix/locale			/usr/share/gosa/locale/plugins/scalix
-scalix/html/images		/usr/share/gosa/html/plugins/scalix
diff --git a/gosa-core/debian/gosa-plugin-squid.dirs b/gosa-core/debian/gosa-plugin-squid.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-squid.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-squid.install b/gosa-core/debian/gosa-plugin-squid.install
deleted file mode 100644
index 55df972..0000000
--- a/gosa-core/debian/gosa-plugin-squid.install
+++ /dev/null
@@ -1,4 +0,0 @@
-squid/personal		/usr/share/gosa/plugins
-squid/help/guide.xml	/usr/share/gosa/doc/plugins/squid
-squid/locale		/usr/share/gosa/locale/plugins/squid
-squid/contrib		/usr/share/doc/gosa-plugin-squid
diff --git a/gosa-core/debian/gosa-plugin-ssh-schema.dirs b/gosa-core/debian/gosa-plugin-ssh-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-ssh-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-ssh-schema.install b/gosa-core/debian/gosa-plugin-ssh-schema.install
deleted file mode 100644
index 243e66b..0000000
--- a/gosa-core/debian/gosa-plugin-ssh-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-ssh/contrib/openssh-lpk.schema	/etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-ssh.dirs b/gosa-core/debian/gosa-plugin-ssh.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-ssh.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-ssh.install b/gosa-core/debian/gosa-plugin-ssh.install
deleted file mode 100644
index 0df0519..0000000
--- a/gosa-core/debian/gosa-plugin-ssh.install
+++ /dev/null
@@ -1,4 +0,0 @@
-ssh/personal		/usr/share/gosa/plugins
-ssh/help/guide.xml	/usr/share/gosa/doc/plugins/ssh
-ssh/locale		/usr/share/gosa/locale/plugins/ssh
-ssh/contrib		/usr/share/doc/gosa-plugin-ssh
diff --git a/gosa-core/debian/gosa-plugin-sudo-schema.dirs b/gosa-core/debian/gosa-plugin-sudo-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-plugin-sudo-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-sudo-schema.install b/gosa-core/debian/gosa-plugin-sudo-schema.install
deleted file mode 100644
index a9ef92b..0000000
--- a/gosa-core/debian/gosa-plugin-sudo-schema.install
+++ /dev/null
@@ -1 +0,0 @@
-sudo/contrib/sudo.schema	/etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-plugin-sudo.dirs b/gosa-core/debian/gosa-plugin-sudo.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-sudo.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-sudo.install b/gosa-core/debian/gosa-plugin-sudo.install
deleted file mode 100644
index 02b1364..0000000
--- a/gosa-core/debian/gosa-plugin-sudo.install
+++ /dev/null
@@ -1,5 +0,0 @@
-sudo/admin			/usr/share/gosa/plugins
-sudo/help/guide.xml		/usr/share/gosa/doc/plugins/sudo
-sudo/locale			/usr/share/gosa/locale/plugins/sudo
-sudo/contrib			/usr/share/doc/gosa-plugin-sudo
-sudo/html/images		/usr/share/gosa/html/plugins/sudo
diff --git a/gosa-core/debian/gosa-plugin-systems.dirs b/gosa-core/debian/gosa-plugin-systems.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-systems.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-systems.install b/gosa-core/debian/gosa-plugin-systems.install
deleted file mode 100644
index ce431e2..0000000
--- a/gosa-core/debian/gosa-plugin-systems.install
+++ /dev/null
@@ -1,5 +0,0 @@
-systems/admin		/usr/share/gosa/plugins
-systems/help		/usr/share/gosa/doc/plugins/systems
-systems/help/guide.xml	/usr/share/gosa/doc/plugins/systems
-systems/locale		/usr/share/gosa/locale/plugins/systems
-systems/html/images	/usr/share/gosa/html/plugins/systems
diff --git a/gosa-core/debian/gosa-plugin-uw-imap.dirs b/gosa-core/debian/gosa-plugin-uw-imap.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-uw-imap.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-uw-imap.install b/gosa-core/debian/gosa-plugin-uw-imap.install
deleted file mode 100644
index 7089413..0000000
--- a/gosa-core/debian/gosa-plugin-uw-imap.install
+++ /dev/null
@@ -1,3 +0,0 @@
-uw-imap/personal	/usr/share/gosa/plugins
-uw-imap/locale		/usr/share/gosa/locale/plugins/uw-imap
-uw-imap/contrib		/usr/share/doc/gosa-plugin-uw-imap
diff --git a/gosa-core/debian/gosa-plugin-webdav.dirs b/gosa-core/debian/gosa-plugin-webdav.dirs
deleted file mode 100644
index 4cb5557..0000000
--- a/gosa-core/debian/gosa-plugin-webdav.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/gosa
diff --git a/gosa-core/debian/gosa-plugin-webdav.install b/gosa-core/debian/gosa-plugin-webdav.install
deleted file mode 100644
index 56f8bfb..0000000
--- a/gosa-core/debian/gosa-plugin-webdav.install
+++ /dev/null
@@ -1,3 +0,0 @@
-webdav/personal			/usr/share/gosa/plugins
-webdav/help/guide.xml		/usr/share/gosa/doc/plugins/webdav
-webdav/locale			/usr/share/gosa/locale/plugins/webdav
diff --git a/gosa-core/debian/gosa-schema.dirs b/gosa-core/debian/gosa-schema.dirs
deleted file mode 100644
index 44eb13d..0000000
--- a/gosa-core/debian/gosa-schema.dirs
+++ /dev/null
@@ -1 +0,0 @@
-etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa-schema.install b/gosa-core/debian/gosa-schema.install
deleted file mode 100644
index 3a3867f..0000000
--- a/gosa-core/debian/gosa-schema.install
+++ /dev/null
@@ -1,10 +0,0 @@
-gosa-core/contrib/openldap/gosa-samba3.schema   /etc/ldap/schema/gosa
-gosa-core/contrib/openldap/rfc2307bis.schema    /etc/ldap/schema/gosa
-gosa-core/contrib/openldap/samba3.schema        /etc/ldap/schema/gosa
-gosa-core/contrib/openldap/trust.schema         /etc/ldap/schema/gosa
-gosa-core/contrib/openldap/gofax.schema         /etc/ldap/schema/gosa
-gosa-core/contrib/openldap/goto-mime.schema     /etc/ldap/schema/gosa
-gosa-core/contrib/openldap/gofon.schema         /etc/ldap/schema/gosa
-gosa-core/contrib/openldap/goserver.schema      /etc/ldap/schema/gosa
-gosa-core/contrib/openldap/goto.schema          /etc/ldap/schema/gosa
-gosa-core/contrib/openldap/gosystem.schema      /etc/ldap/schema/gosa
diff --git a/gosa-core/debian/gosa.dirs b/gosa-core/debian/gosa.dirs
deleted file mode 100644
index fc29e29..0000000
--- a/gosa-core/debian/gosa.dirs
+++ /dev/null
@@ -1,6 +0,0 @@
-etc/gosa
-usr/sbin
-usr/share/gosa
-usr/share/gosa/bin
-var/spool/gosa
-var/cache/gosa
diff --git a/gosa-core/debian/gosa.docs b/gosa-core/debian/gosa.docs
deleted file mode 100644
index 729b658..0000000
--- a/gosa-core/debian/gosa.docs
+++ /dev/null
@@ -1,4 +0,0 @@
-gosa-core/FAQ
-gosa-core/AUTHORS
-gosa-core/README
-gosa-core/README.safemode
diff --git a/gosa-core/debian/gosa.install b/gosa-core/debian/gosa.install
deleted file mode 100644
index 8a3d752..0000000
--- a/gosa-core/debian/gosa.install
+++ /dev/null
@@ -1,14 +0,0 @@
-gosa-core/update-gosa			/usr/sbin
-gosa-core/bin/gosa-encrypt-passwords	/usr/sbin
-gosa-core/html				/usr/share/gosa
-gosa-core/ihtml				/usr/share/gosa
-gosa-core/include			/usr/share/gosa
-gosa-core/locale			/usr/share/gosa
-gosa-core/plugins			/usr/share/gosa
-gosa-core/setup				/usr/share/gosa
-debian/gosa-apache.conf			/etc/gosa
-debian/gosa-lighttpd.conf		/etc/gosa
-gosa-core/contrib/shells		/etc/gosa
-gosa-core/contrib/encodings		/etc/gosa
-gosa-core/contrib/openldap/slapd.conf	/usr/share/doc/gosa/slapd.conf-example
-gosa-core/contrib/gosa.conf		/usr/share/doc/gosa
diff --git a/gosa-core/debian/gosa.lintian-overrides b/gosa-core/debian/gosa.lintian-overrides
deleted file mode 100644
index b74fc84..0000000
--- a/gosa-core/debian/gosa.lintian-overrides
+++ /dev/null
@@ -1,7 +0,0 @@
-gosa: extra-license-file usr/share/gosa/setup/class_setupStep_License.inc
-gosa: extra-license-file usr/share/gosa/setup/license.txt
-gosa: extra-license-file usr/share/gosa/setup/setup_license.tpl
-gosa: embedded-javascript-library usr/share/gosa/html/include/prototype.js
-gosa: embedded-javascript-library usr/share/gosa/html/include/scriptaculous.js
-gosa: embedded-php-library usr/share/gosa/include/smarty/Smarty.class.php
-
diff --git a/gosa-core/debian/gosa.manpages b/gosa-core/debian/gosa.manpages
deleted file mode 100644
index bc837b9..0000000
--- a/gosa-core/debian/gosa.manpages
+++ /dev/null
@@ -1,4 +0,0 @@
-gosa-core/contrib/gosa.conf.5
-gosa-core/gosa-encrypt-passwords.1
-gosa-core/update-gosa.1
-
diff --git a/gosa-core/debian/gosa.postinst b/gosa-core/debian/gosa.postinst
deleted file mode 100644
index 6286d07..0000000
--- a/gosa-core/debian/gosa.postinst
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/sh
-# postinst script for gosa
-#
-# see: dh_installdeb(1)
-
-set -e
-
-case "$1" in
-  configure)
-      ;;
-
-  abort-upgrade|abort-remove|abort-deconfigure)
-      ;;
-
-  *)
-      echo "postinst called with unknown argument \`$1'" >&2
-      exit 1
-      ;;
-esac
-
-#DEBHELPER#
-
-# Set ID's
-WEBUSER="www-data"
-WEBGROUP="www-data"
-
-# Create empty inclusion file for apache
-if [ ! -f /etc/gosa/gosa.secrets ]; then
-    touch /etc/gosa/gosa.secrets
-    chmod 600 /etc/gosa/gosa.secrets
-fi
-
-if [ -d /etc/apache2/conf.d ]; then
-
-  # Copy GOsa configuration to conf.d directories
-  if [ ! -L /etc/apache2/conf.d/gosa.conf ]; then
-
-    # Remove old instances of this file
-    if [ -f /etc/apache2/conf.d/gosa.conf ]; then
-      echo "Found old gosa apache configuration in /etc/apache2/conf.d - moving it to gosa.conf.orig..."
-      echo "Please check for changes in /etc/gosa/gosa-apache.conf if you modified this file!"
-      mv /etc/apache2/conf.d/gosa.conf /etc/apache2/conf.d/gosa.conf.orig
-    fi
-
-    echo "Making /gosa available in /etc/apache2/conf.d"
-
-    # Add GOsa include file
-    ln -s /etc/gosa/gosa-apache.conf /etc/apache2/conf.d/gosa.conf
-  fi
-  
-  # Add support for RequestHeader
-  a2enmod headers
-
-  # Finally restart servers
-  if [ -x /usr/sbin/invoke-rc.d ]; then
-    invoke-rc.d apache2 reload
-  else
-    /etc/init.d/apache2 reload
-  fi
-fi
-
-if [ -d /etc/lighttpd/conf-available ]; then
-
-  # Copy GOsa configuration to conf-available directories /etc/lighttpd/conf-available
-  if [ ! -L /etc/lighttpd/conf-enabled/99gosa-lighttpd.conf ]; then
-
-    # Remove old instances of this file
-    if [ -f /etc/lighttpd/conf-enabled/99gosa-lighttpd.conf ]; then
-      echo "Found old gosa apache configuration in /etc/lighttpd/conf-enabled - moving it to orig.gosa-lighttpd.conf ..."
-      echo "Please check for changes in /etc/lighttpd/conf-available/orig.99gosa-lighttpd.conf if you modified this file!"
-      mv /etc/lighttpd/conf-enabled/99gosa-lighttpd.conf /etc/lighttpd/conf-available/orig.gosa-lighttpd.conf
-    fi
-
-    echo "Making /gosa available in /etc/lighttpd/conf-enabled/"
-
-    # Add GOsa include file
-    ln -s /etc/gosa/gosa-lighttpd.conf /etc/lighttpd/conf-enabled/99gosa-lighttpd.conf
-  fi
-
-  # Finally restart servers
-  if [ -x /usr/sbin/invoke-rc.d ]; then
-    invoke-rc.d lighttpd reload
-  else
-    /etc/init.d/lighttpd reload
-  fi
-
-fi
-
-# Add links for safe mode
-[ ! -d /usr/share/gosa/bin ] && mkdir -p /usr/share/gosa/bin
-for source in /usr/bin/convert /usr/bin/lpstat; do
-  if [ -e $source ]; then
-    target=/usr/share/gosa/bin/${source##*/}
-    [ ! -L $target ] && ln -sf $source $target
-  fi
-done
-
-# Fix permission in /var/(spool|cache)/gosa
-chown root.$WEBGROUP -R /var/spool/gosa
-chmod 770 -R /var/spool/gosa
-chown root.$WEBGROUP -R /var/cache/gosa
-chmod 770 -R /var/cache/gosa
-
-update-gosa
-
-exit 0
-
diff --git a/gosa-core/debian/gosa.postrm b/gosa-core/debian/gosa.postrm
deleted file mode 100644
index 6a4a072..0000000
--- a/gosa-core/debian/gosa.postrm
+++ /dev/null
@@ -1,55 +0,0 @@
-#! /bin/sh
-# postrm script for GOsa
-#
-
-set -e
-
-case "$1" in
-  purge|remove)
-
-        # Pure here
-        if [ "$1" = "purge" ] ; then
-          if [ -d /var/spool/gosa ] ; then
-            echo "Removing /var/spool/gosa as requested."
-            rm -Rf /var/spool/gosa
-          fi
-        fi
-
-        if [ -d /etc/apache2/conf.d ]; then
-          # Remove GOsa include
-          [ -L /etc/apache2/conf.d/gosa.conf ] && rm -f /etc/apache2/conf.d/gosa.conf
-
-          # Restart servers
-          if [ -x /usr/sbin/invoke-rc.d ]; then
-            invoke-rc.d apache2 restart
-          else
-            /etc/init.d/apache2 restart
-          fi
-        fi
-
-        if [ -d /etc/lighttpd/conf-available ]; then
-          # Remove GOsa include
-          [ -L /etc/lighttpd/conf-enabled/99gosa-lighttpd.conf ] && rm -f /etc/lighttpd/conf-enabled/99gosa-lighttpd.conf
-
-          # Restart servers
-          if [ -x /usr/sbin/invoke-rc.d ]; then
-            invoke-rc.d lighttpd restart
-          else
-            /etc/init.d/lighttpd restart
-          fi
-        fi
-        
-        ;;
-
-  upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-        ;;
-
-  *)
-        echo "postrm called with unknown argument \`$1'" >&2
-        exit 0
-        ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/gosa-core/debian/gosa.xpm b/gosa-core/debian/gosa.xpm
deleted file mode 100644
index b27a7ae..0000000
--- a/gosa-core/debian/gosa.xpm
+++ /dev/null
@@ -1,490 +0,0 @@
-/* XPM */
-static char * gosa_xpm[] = {
-"32 32 455 2",
-"  	c None",
-". 	c #8585A9",
-"+ 	c #9E9EC5",
-"@ 	c #A8A8CF",
-"# 	c #ACADD2",
-"$ 	c #B5B7D9",
-"% 	c #C1C2E2",
-"& 	c #D8DAF2",
-"* 	c #C0C2E2",
-"= 	c #7B7BA6",
-"- 	c #AFAFCE",
-"; 	c #B5B6D6",
-"> 	c #BBBDDE",
-", 	c #C1C3E5",
-"' 	c #CBCDEB",
-") 	c #D8DAF3",
-"! 	c #E7E9FB",
-"~ 	c #EDEFFD",
-"{ 	c #E9EFFE",
-"] 	c #DCECFE",
-"^ 	c #DDEEFF",
-"/ 	c #F6F9FE",
-"( 	c #9696BD",
-"_ 	c #BDBCD6",
-": 	c #C0C1DC",
-"< 	c #BEBFDD",
-"[ 	c #C3C5E4",
-"} 	c #C9CDED",
-"| 	c #D1D7F5",
-"1 	c #D6DCF8",
-"2 	c #DCDEFA",
-"3 	c #DFE0F9",
-"4 	c #DBE2F8",
-"5 	c #D0E0F7",
-"6 	c #BBD9F7",
-"7 	c #9FCFF9",
-"8 	c #6AB8FD",
-"9 	c #4AA7FE",
-"0 	c #4DA6FF",
-"a 	c #CCE6FF",
-"b 	c #ABAAC9",
-"c 	c #C8C8E0",
-"d 	c #D8DBF2",
-"e 	c #CED5F8",
-"f 	c #CCD5FB",
-"g 	c #CBD2F7",
-"h 	c #CAD2F6",
-"i 	c #C8D3F6",
-"j 	c #BCD1F2",
-"k 	c #B1CEED",
-"l 	c #9BCDF0",
-"m 	c #80CBF5",
-"n 	c #5DC3FC",
-"o 	c #4BBAFF",
-"p 	c #40B1FF",
-"q 	c #39AAFF",
-"r 	c #36A3FF",
-"s 	c #319DFF",
-"t 	c #2490FF",
-"u 	c #7DBCFE",
-"v 	c #C7C3D7",
-"w 	c #C9C9DC",
-"x 	c #D5DDFE",
-"y 	c #C9D4FF",
-"z 	c #B4BBE3",
-"A 	c #ADC0E3",
-"B 	c #A2D0EF",
-"C 	c #91D8F7",
-"D 	c #7BD9FA",
-"E 	c #6CD7FC",
-"F 	c #60D1FF",
-"G 	c #58CBFF",
-"H 	c #51C2FF",
-"I 	c #4CBBFF",
-"J 	c #44B2FF",
-"K 	c #3FACFF",
-"L 	c #37A3FF",
-"M 	c #2490FD",
-"N 	c #5FA6F7",
-"O 	c #D6D4E1",
-"P 	c #C4C4DB",
-"Q 	c #D5DDFD",
-"R 	c #C5CDF9",
-"S 	c #A8C1E3",
-"T 	c #A9EAFE",
-"U 	c #92E4FF",
-"V 	c #83DFFF",
-"W 	c #71DBFF",
-"X 	c #67D8FF",
-"Y 	c #5ED0FF",
-"Z 	c #59CAFF",
-"` 	c #51C1FF",
-" .	c #3EABFF",
-"..	c #37A2FF",
-"+.	c #319CFF",
-"@.	c #238BF8",
-"#.	c #4592EF",
-"$.	c #DEDEEA",
-"%.	c #B8B8D2",
-"&.	c #DBDFF8",
-"*.	c #C9D1FC",
-"=.	c #A6C3E6",
-"-.	c #9FE5FE",
-";.	c #8BE1FF",
-">.	c #7DDEFF",
-",.	c #6EDAFF",
-"'.	c #65D6FF",
-").	c #5DCFFF",
-"!.	c #58C8FF",
-"~.	c #50BFFF",
-"{.	c #4AB8FF",
-"].	c #43B0FF",
-"^.	c #3EAAFF",
-"/.	c #36A2FF",
-"(.	c #309CFF",
-"_.	c #2083F2",
-":.	c #3788EC",
-"<.	c #DFE1EF",
-"[.	c #737291",
-"}.	c #D5D6F0",
-"|.	c #CFD8FE",
-"1.	c #A5B5DF",
-"2.	c #8FDAF7",
-"3.	c #80DFFF",
-"4.	c #74DBFF",
-"5.	c #68D8FF",
-"6.	c #62D3FF",
-"7.	c #5BCBFF",
-"8.	c #56C6FF",
-"9.	c #4EBDFF",
-"0.	c #48B6FF",
-"a.	c #41AFFF",
-"b.	c #3CA8FF",
-"c.	c #34A0FF",
-"d.	c #2B91F8",
-"e.	c #1D7AEB",
-"f.	c #247CEB",
-"g.	c #DBE2F5",
-"h.	c #7F7E9F",
-"i.	c #C7C8E6",
-"j.	c #D0D8FB",
-"k.	c #ADB6E2",
-"l.	c #86CDF1",
-"m.	c #76DCFF",
-"n.	c #6CD9FF",
-"o.	c #63D5FF",
-"p.	c #5FD0FF",
-"q.	c #53C2FF",
-"r.	c #4CBAFF",
-"s.	c #46B4FF",
-"t.	c #3AA7FF",
-"u.	c #2F97FA",
-"v.	c #2485F0",
-"w.	c #1D79EB",
-"x.	c #1773E9",
-"y.	c #CFDCF7",
-"z.	c #8988AB",
-"A.	c #B6B6D4",
-"B.	c #CED4F7",
-"C.	c #BDC3EE",
-"D.	c #84C0E9",
-"E.	c #68DAFF",
-"F.	c #64D6FF",
-"G.	c #60D0FF",
-"H.	c #54C4FF",
-"I.	c #50BEFF",
-"J.	c #49B7FF",
-"K.	c #44B1FF",
-"L.	c #3BA7FE",
-"M.	c #3199F9",
-"N.	c #2685F0",
-"O.	c #2280EE",
-"P.	c #1C78EB",
-"Q.	c #0F6DE9",
-"R.	c #A8C7F6",
-"S.	c #A6A4C6",
-"T.	c #A5A4C0",
-"U.	c #D2D6F4",
-"V.	c #C5CCF6",
-"W.	c #8ABDE8",
-"X.	c #62D7FF",
-"Y.	c #5FD1FF",
-"Z.	c #51C0FF",
-"`.	c #45B2FF",
-" +	c #3DA9FD",
-".+	c #3096F7",
-"++	c #298BF3",
-"@+	c #2483F0",
-"#+	c #207EEE",
-"$+	c #1A76EB",
-"%+	c #0E6BE9",
-"&+	c #88B4F4",
-"*+	c #B6B5D5",
-"=+	c #CBCCE6",
-"-+	c #CED5FC",
-";+	c #9DBCEA",
-">+	c #5ACEFF",
-",+	c #55C5FF",
-"'+	c #4BB9FF",
-")+	c #42AFFE",
-"!+	c #369EFA",
-"~+	c #2F94F7",
-"{+	c #2A8DF5",
-"]+	c #2687F3",
-"^+	c #2180F0",
-"/+	c #1D7AEE",
-"(+	c #1773EB",
-"_+	c #106BE9",
-":+	c #609AF0",
-"<+	c #CCCDE6",
-"[+	c #B5B5D4",
-"}+	c #D1D9FE",
-"|+	c #AEBAE7",
-"1+	c #58C3FA",
-"2+	c #3EA9FE",
-"3+	c #359EFC",
-"4+	c #2F96F9",
-"5+	c #2C91F7",
-"6+	c #278AF5",
-"7+	c #2384F3",
-"8+	c #1E7CF0",
-"9+	c #1A77EE",
-"0+	c #1570EB",
-"a+	c #0F69E9",
-"b+	c #4D8DEF",
-"c+	c #D9DDF2",
-"d+	c #A2A1C6",
-"e+	c #CFD6F8",
-"f+	c #BEC0EA",
-"g+	c #61B2EC",
-"h+	c #4BBDFF",
-"i+	c #3DA9FF",
-"j+	c #339CFD",
-"k+	c #3098FB",
-"l+	c #2C91F9",
-"m+	c #288CF7",
-"n+	c #2486F5",
-"o+	c #2080F3",
-"p+	c #1B79F0",
-"q+	c #1774EE",
-"r+	c #126CEB",
-"s+	c #0E66E9",
-"t+	c #3B7FEC",
-"u+	c #E3EBFC",
-"v+	c #9898BD",
-"w+	c #CED3F2",
-"x+	c #CACEF5",
-"y+	c #6AAAE7",
-"z+	c #46B6FF",
-"A+	c #349FFF",
-"B+	c #2F97FD",
-"C+	c #2C93FB",
-"D+	c #288DF9",
-"E+	c #2588F7",
-"F+	c #2182F4",
-"G+	c #1D7CF2",
-"H+	c #1876F0",
-"I+	c #1570EE",
-"J+	c #0E68EB",
-"K+	c #0660E9",
-"L+	c #4D88ED",
-"M+	c #E9F0FD",
-"N+	c #C5C6E8",
-"O+	c #D3DAFE",
-"P+	c #80AFEA",
-"Q+	c #3FACFD",
-"R+	c #339DFF",
-"S+	c #2F97FF",
-"T+	c #2A91FD",
-"U+	c #288DFB",
-"V+	c #2387F9",
-"W+	c #2182F7",
-"X+	c #1D7DF4",
-"Y+	c #1977F2",
-"Z+	c #116EF0",
-"`+	c #176EED",
-" @	c #3E83ED",
-".@	c #7DA9F1",
-"+@	c #EDF0FA",
-"@@	c #E0E0F1",
-"#@	c #B0B0D6",
-"$@	c #D4DAFA",
-"%@	c #95B4EB",
-"&@	c #3DA3F9",
-"*@	c #2E97FF",
-"=@	c #2B92FF",
-"-@	c #268CFD",
-";@	c #2488FB",
-">@	c #2082F9",
-",@	c #1D7EF7",
-"'@	c #1576F5",
-")@	c #1874F1",
-"!@	c #488BEF",
-"~@	c #96B8F3",
-"{@	c #E0E9FB",
-"]@	c #E5E7F8",
-"^@	c #B4B5D6",
-"/@	c #6C6C98",
-"(@	c #9090B6",
-"_@	c #CACFF2",
-":@	c #AEBBEB",
-"<@	c #4498F2",
-"[@	c #288FFF",
-"}@	c #248BFF",
-"|@	c #2185FD",
-"1@	c #1C80FB",
-"2@	c #1D7CF7",
-"3@	c #3284F4",
-"4@	c #70A3F2",
-"5@	c #C5D3F3",
-"6@	c #E7E8F8",
-"7@	c #D4D5EC",
-"8@	c #9797C1",
-"9@	c #5F5F95",
-"0@	c #8181A7",
-"a@	c #BFC3EA",
-"b@	c #BEC6F0",
-"c@	c #5894E8",
-"d@	c #2189FF",
-"e@	c #1E84FF",
-"f@	c #1B7EFC",
-"g@	c #3285F6",
-"h@	c #80AAF1",
-"i@	c #C4D2F7",
-"j@	c #DBE0F8",
-"k@	c #C9CCEB",
-"l@	c #8586B1",
-"m@	c #5F6089",
-"n@	c #B4B5DB",
-"o@	c #D0D7F9",
-"p@	c #94A7E0",
-"q@	c #388AF5",
-"r@	c #4D94F7",
-"s@	c #A6BDF0",
-"t@	c #D4D9F5",
-"u@	c #CFD1EE",
-"v@	c #B9BEE4",
-"w@	c #7C7EB5",
-"x@	c #3A3A5E",
-"y@	c #A09FC9",
-"z@	c #D3DAFB",
-"A@	c #CAD2F8",
-"B@	c #BCC7F2",
-"C@	c #CCD5FA",
-"D@	c #C5C9EC",
-"E@	c #AFB1DB",
-"F@	c #AAAEDD",
-"G@	c #8D91CA",
-"H@	c #9094C7",
-"I@	c #8B8FC7",
-"J@	c #A6A9D8",
-"K@	c #BEC5EE",
-"L@	c #B8BEE7",
-"M@	c #ACAED7",
-"N@	c #C5C7E6",
-"O@	c #DBE1FA",
-"P@	c #D7DFFF",
-"Q@	c #CED8FF",
-"R@	c #9BA0D8",
-"S@	c #A8AFDC",
-"T@	c #ACB5E3",
-"U@	c #ADB6E7",
-"V@	c #B9C2F6",
-"W@	c #9DA4DB",
-"X@	c #767BAE",
-"Y@	c #BFC0E1",
-"Z@	c #B7B9DD",
-"`@	c #9D9ECC",
-" #	c #DBDBEC",
-".#	c #ECF0FF",
-"+#	c #E1E7FF",
-"@#	c #D5DEFF",
-"##	c #CBD5FE",
-"$#	c #969BD4",
-"%#	c #A1A7D7",
-"&#	c #A8B1DF",
-"*#	c #A2ABDC",
-"=#	c #BCC7F7",
-"-#	c #C6D1FF",
-";#	c #BAC4F6",
-">#	c #8387C9",
-",#	c #E6E8F4",
-"'#	c #F2F5FD",
-")#	c #F3F6FE",
-"!#	c #C8C9E2",
-"~#	c #D7DCF6",
-"{#	c #B2B7E4",
-"]#	c #9194CC",
-"^#	c #9296CB",
-"/#	c #ADB4E1",
-"(#	c #B1B9E6",
-"_#	c #BBC5F4",
-":#	c #B7C1F3",
-"<#	c #A0A8E2",
-"[#	c #6668A9",
-"}#	c #474685",
-"|#	c #CBCBDE",
-"1#	c #F5F7FC",
-"2#	c #EBECF8",
-"3#	c #E9ECF9",
-"4#	c #D1D4EE",
-"5#	c #B2B4DA",
-"6#	c #9798CB",
-"7#	c #9EA2D1",
-"8#	c #B4BAE2",
-"9#	c #BDC4EC",
-"0#	c #C2CBF4",
-"a#	c #BDC6F5",
-"b#	c #A1A8E2",
-"c#	c #6668A8",
-"d#	c #48497F",
-"e#	c #E4E5F6",
-"f#	c #F8F9FE",
-"g#	c #EFF1FC",
-"h#	c #EDF0FD",
-"i#	c #EAEEFE",
-"j#	c #E5EAFC",
-"k#	c #C3C8E8",
-"l#	c #D5DAF6",
-"m#	c #DAE1FD",
-"n#	c #D4DCFD",
-"o#	c #BCC3EE",
-"p#	c #989CD4",
-"q#	c #5B5C9C",
-"r#	c #3F3E73",
-"s#	c #DCDCF1",
-"t#	c #FAFBFF",
-"u#	c #F3F6FF",
-"v#	c #EFF2FF",
-"w#	c #EBEFFF",
-"x#	c #E8ECFF",
-"y#	c #E5EBFF",
-"z#	c #E2E8FF",
-"A#	c #C7CCF0",
-"B#	c #9EA1D6",
-"C#	c #61629B",
-"D#	c #444374",
-"E#	c #9F9FC5",
-"F#	c #EEF0F9",
-"G#	c #F4F6FF",
-"H#	c #EFF3FF",
-"I#	c #EDF1FF",
-"J#	c #E1E6F9",
-"K#	c #C3C7EA",
-"L#	c #9293C6",
-"M#	c #5A5996",
-"N#	c #B5B6D7",
-"O#	c #F5F8FE",
-"P#	c #EEF2FC",
-"Q#	c #CACDEA",
-"R#	c #9496C7",
-"S#	c #5F5F92",
-"T#	c #9696C4",
-"U#	c #8585B7",
-"V#	c #585890",
-"                                            .                   ",
-"                                  + @ # $ % & * =               ",
-"                        - ; > , ' ) ! ~ { ] ^ / (               ",
-"              _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a b               ",
-"          c d e f g h i j k l m n o p q r s t u v               ",
-"          w x y z A B C D E F G H I J K L s M N O               ",
-"          P Q R S T U V W X Y Z ` o J  ...+. at .#.$.              ",
-"          %.&.*.=.-.;.>.,.'.).!.~.{.].^./.(._.:.<.[.            ",
-"            }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.            ",
-"            i.j.k.l.m.n.o.p.!.q.r.s.K t.u.v.w.x.y.z.            ",
-"            A.B.C.D.E.F.G.7.H.I.J.K.L.M.N.O.P.Q.R.S.            ",
-"            T.U.V.W.X.Y.7.8.Z.I `. +.+++ at +#+$+%+&+*+            ",
-"              =+-+;+>+Z ,+Z.'+)+!+~+{+]+^+/+(+_+:+<+            ",
-"              [+}+|+1+H.Z.I 2+3+4+5+6+7+8+9+0+a+b+c+            ",
-"              d+e+f+g+h+J.i+j+k+l+m+n+o+p+q+r+s+t+u+            ",
-"              v+w+x+y+z+K A+B+C+D+E+F+G+H+I+J+K+L+M+            ",
-"                N+O+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @. at +@@@            ",
-"                #@$@%@&@*@=@-@;@>@,@'@)@!@~@{@]@^@/@            ",
-"                (@_@:@<@[@}@|@1 at 2@3 at 4@5 at 6@7 at 8@9@                ",
-"                0 at a@b at c@d at e@f at g@h at i@j at k@l at m@                    ",
-"                  n at o@p at q@r at s@t at u@v at w@x@                        ",
-"                  y at z@A at B@C at D@E at F@b at G@H at I@                      ",
-"                    J at K@L at M@N at O@P at Q@R at S@T at U@V at W@X@              ",
-"                    Y at Z@`@ #.#+#@###$#%#&#*#=#-#;#>#            ",
-"                  ,#'#)#Z@!#.#~#{#]#^#/#(#_#:#<#[#}#            ",
-"                |#1#2#3#4#`@5#6#7#8#9#0#a#b#c#d#                ",
-"                e#f#g#h#i#j#k#l#m#n#o#p#q#r#                    ",
-"                s#t#u#v#w#x#y#z#A#B#C#D#                        ",
-"                E#F#G#H#I#J#K#L#M#                              ",
-"                  N#O#P#Q#R#S#                                  ",
-"                    T#U#V#                                      ",
-"                                                                "};
diff --git a/gosa-core/debian/patches/01_fix_smarty_location.patch b/gosa-core/debian/patches/01_fix_smarty_location.patch
deleted file mode 100644
index 4596ba8..0000000
--- a/gosa-core/debian/patches/01_fix_smarty_location.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Author: <cajus at debian.org>
-Description: Adapt location for debian packaged smarty
---- a/include/php_setup.inc
-+++ b/gosa-core/include/php_setup.inc
-@@ -285,7 +285,11 @@
- ini_set("include_path",".:$BASE_DIR/include:$BASE_DIR/include/utils/excel:/usr/share/php");
- 
- /* Do smarty setup */
--require("smarty/Smarty.class.php");
-+if (file_exists("/usr/share/php/smarty/Smarty.class.php")){
-+	require("/usr/share/php/smarty/Smarty.class.php");
-+} else {
-+	require("/usr/share/php/smarty/libs/Smarty.class.php");
-+}
- $smarty = new Smarty;
- $smarty->template_dir = $BASE_DIR.'/ihtml/';
- $smarty->caching= false;
diff --git a/gosa-core/debian/patches/02_fix_template_location.patch b/gosa-core/debian/patches/02_fix_template_location.patch
deleted file mode 100644
index 78ba89e..0000000
--- a/gosa-core/debian/patches/02_fix_template_location.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Author: <cajus at debian.org>
-Description: Fix location of configuration template.
---- a/include/functions.inc
-+++ b/gosa-core/include/functions.inc
-@@ -40,7 +40,7 @@
- }
- 
- /* Define common locatitions */
--define ("CONFIG_TEMPLATE_DIR", "../contrib");
-+define ("CONFIG_TEMPLATE_DIR", "/usr/share/doc/gosa");
- define ("TEMP_DIR","/var/cache/gosa/tmp");
- 
- /* Define get_list flags */
diff --git a/gosa-core/debian/patches/03_fix_class_mapping.patch b/gosa-core/debian/patches/03_fix_class_mapping.patch
deleted file mode 100644
index e740606..0000000
--- a/gosa-core/debian/patches/03_fix_class_mapping.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-Author: <cajus at debian.org>
-Description: Fix location of auto-generated class mapping file
---- a/include/class_config.inc
-+++ b/gosa-core/include/class_config.inc
-@@ -100,12 +100,12 @@
-         if we have installed or removed plugins. 
-      */
-     if(session::global_is_set("class_location.inc:timestamp")){
--      $tmp = stat("../include/class_location.inc");
-+      $tmp = stat("/var/cache/gosa/class.cache");
-       if($tmp['mtime'] != session::global_get("class_location.inc:timestamp")){
-         session::global_un_set("plist");
-       }
-     }
--    $tmp = stat("../include/class_location.inc");
-+    $tmp = stat("/var/cache/gosa/class.cache");
-     session::global_set("class_location.inc:timestamp",$tmp['mtime']);
- 
-     if($this->filename != "" && filemtime($this->filename) != $this->last_modified){
---- a/include/functions.inc
-+++ b/gosa-core/include/functions.inc
-@@ -73,7 +73,7 @@
- $svn_revision = '$Revision: 19051 $';
- 
- /* Include required files */
--require_once("class_location.inc");
-+require_once("/var/cache/gosa/class.cache");
- require_once ("functions_debug.inc");
- require_once ("accept-to-gettext.inc");
- 
---- a/update-gosa
-+++ b/gosa-core/update-gosa
-@@ -21,7 +21,7 @@
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  */
- 
--define ("GOSA_HOME", dirname(__FILE__));
-+define ("GOSA_HOME", "/usr/share/gosa");
- define ("LOCALE_DIR", GOSA_HOME."/locale");
- define ("PLUGSTATE_DIR", GOSA_HOME."/state");
- 
-@@ -122,8 +122,8 @@
- function rescan_classes()
- {
- 	echo "Updating class cache...\n";
--	$class_mapping= get_classes();
--	$filename= GOSA_HOME."/include/class_location.inc";
-+	$class_mapping= get_classes("/usr/share/gosa");
-+	$filename= "/var/cache/gosa/class.cache";
- 
- 	/* Sanity checks */
- 	if (!file_exists($filename) || is_writable($filename)) {
diff --git a/gosa-core/debian/patches/04_fix_locale_location.patch b/gosa-core/debian/patches/04_fix_locale_location.patch
deleted file mode 100644
index 2a27f18..0000000
--- a/gosa-core/debian/patches/04_fix_locale_location.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Author: <cajus at debian.org>
-Description: Fixed location of auto-generated locales
---- a/include/php_setup.inc
-+++ b/gosa-core/include/php_setup.inc
-@@ -20,7 +20,7 @@
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  */
- 
--define ("LOCALE_DIR", dirname(dirname(__FILE__))."/locale/compiled");
-+define ("LOCALE_DIR", "/var/cache/gosa/locale");
- 
- function gosaRaiseError($errno, $errstr, $errfile, $errline)
- {
---- a/update-gosa
-+++ b/gosa-core/update-gosa
-@@ -169,20 +169,20 @@
- 
- 	/* For each language, merge the target .mo to the compiled directory. */
- 	foreach ($languages as $language => $po_files){
--		if (!is_dir(LOCALE_DIR."/compiled/${language}/LC_MESSAGES")){
--			if (!mkdir (LOCALE_DIR."/compiled/${language}/LC_MESSAGES", 0755, TRUE)){
--				echo "Failed to create '".LOCALE_DIR."/compiled/${language}/LC_MESSAGES'- aborted";
-+		if (!is_dir("/var/cache/gosa/locale/${language}/LC_MESSAGES")){
-+			if (!mkdir ("/var/cache/gosa/locale/${language}/LC_MESSAGES", 0755, TRUE)){
-+				echo "Failed to create '/var/cache/gosa/locale/${language}/LC_MESSAGES'- aborted";
- 				exit (3);
- 			}
- 		}
- 
- 		/* Cat all these po files into one single file */
--		system ("(cd ".LOCALE_DIR." && msgcat --use-first ".implode(" ", $po_files)." > compiled/${language}/LC_MESSAGES/messages.po)", $val);
-+		system ("(cd ".LOCALE_DIR." && msgcat --use-first ".implode(" ", $po_files)." > /var/cache/gosa/locale/${language}/LC_MESSAGES/messages.po)", $val);
- 		if ($val != 0){
- 			echo "Merging of message files failed - aborted";
- 			exit (4);
- 		}
--		system ("(cd ".LOCALE_DIR."/compiled/${language}/LC_MESSAGES && msgfmt -o messages.mo messages.po && rm messages.po)", $val);
-+		system ("(cd /var/cache/gosa/locale/${language}/LC_MESSAGES && msgfmt -o messages.mo messages.po && rm messages.po)", $val);
- 		if ($val != 0){
- 			echo "Compiling of message files failed - aborted";
- 			exit (5);
diff --git a/gosa-core/debian/patches/05_fix_online_help_location.patch b/gosa-core/debian/patches/05_fix_online_help_location.patch
deleted file mode 100644
index ab29f95..0000000
--- a/gosa-core/debian/patches/05_fix_online_help_location.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Author: <cajus at debian.org>
-Description: Fix location of auto-generated online help.
---- a/html/helpviewer.php
-+++ b/gosa-core/html/helpviewer.php
-@@ -104,7 +104,7 @@
- if(session::global_is_set('current_class_for_help')){
- 
-   /* Create new XML parser with the path to the Xml file */
--  $xml = new parseXml("../doc/guide.xml");
-+  $xml = new parseXml("/etc/gosa/guide.xml");
-   
-   /* Generate help array */
-   $str = $xml->parse();
---- a/update-gosa
-+++ b/gosa-core/update-gosa
-@@ -195,7 +195,7 @@
- 
- function rescan_guide()
- {
--	$master_guide= "doc/guide.xml";
-+	$master_guide= "/etc/gosa/guide.xml";
- 	echo "Updating Online Help Index...\n";
- 	$master_guide_content="<?xml version=\"1.0\"?>\n".
- 		"<!--\n".
diff --git a/gosa-core/debian/patches/series b/gosa-core/debian/patches/series
deleted file mode 100644
index a6c4382..0000000
--- a/gosa-core/debian/patches/series
+++ /dev/null
@@ -1,5 +0,0 @@
-01_fix_smarty_location.patch
-02_fix_template_location.patch
-03_fix_class_mapping.patch
-04_fix_locale_location.patch
-05_fix_online_help_location.patch
diff --git a/gosa-core/debian/po/POTFILES.in b/gosa-core/debian/po/POTFILES.in
deleted file mode 100644
index 724a7cf..0000000
--- a/gosa-core/debian/po/POTFILES.in
+++ /dev/null
@@ -1 +0,0 @@
-[type: gettext/rfc822deb] gosa-desktop.templates
diff --git a/gosa-core/debian/po/cs.po b/gosa-core/debian/po/cs.po
deleted file mode 100644
index bb66999..0000000
--- a/gosa-core/debian/po/cs.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Czech translation for GOsa desktop file installer debconf messages.
-# Copyright (C) 2007 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-# Cajus Pollmeier <cajus at debian.org>, 2007.
-# Daniel Kavan <kuan at maradan.org>, 2008
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: gosa 2.5.16.1-1\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2008-05-27 17:49+0200\n"
-"Last-Translator: Daniel Kavan <kuan at maradan.org>\n"
-"Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "URL k vaší instalaci GOsa:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr ""
-"Startovací skript gosa může automaticky nasměrovat váš prohlížeč na celosystémovou "
-"adresu vaší GOsa instance."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Chcete-li dané URL nastavit jako výchozí, zadejte je zde."
diff --git a/gosa-core/debian/po/cz.po b/gosa-core/debian/po/cz.po
deleted file mode 100644
index bb66999..0000000
--- a/gosa-core/debian/po/cz.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Czech translation for GOsa desktop file installer debconf messages.
-# Copyright (C) 2007 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-# Cajus Pollmeier <cajus at debian.org>, 2007.
-# Daniel Kavan <kuan at maradan.org>, 2008
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: gosa 2.5.16.1-1\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2008-05-27 17:49+0200\n"
-"Last-Translator: Daniel Kavan <kuan at maradan.org>\n"
-"Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "URL k vaší instalaci GOsa:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr ""
-"Startovací skript gosa může automaticky nasměrovat váš prohlížeč na celosystémovou "
-"adresu vaší GOsa instance."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Chcete-li dané URL nastavit jako výchozí, zadejte je zde."
diff --git a/gosa-core/debian/po/de.po b/gosa-core/debian/po/de.po
deleted file mode 100644
index 8ed6c9e..0000000
--- a/gosa-core/debian/po/de.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# GOsa desktop file installer.
-# Copyright (C) 2007 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-# Cajus Pollmeier <cajus at debian.org>, 2007.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: 2.5.12\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2007-06-27 11:07+0200\n"
-"Last-Translator: Cajus Pollmeier <cajus at debian.org>\n"
-"Language-Team: GERMAN <de at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "URL zu Ihrer GOsa-Installation:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr ""
-"Das GOsa Start-Skript kann den Browser automatisch auf ihre systemweite "
-"Standard GOsa-Installation einstellen."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Geben Sie die URL der Standard-Installation an."
diff --git a/gosa-core/debian/po/es.po b/gosa-core/debian/po/es.po
deleted file mode 100644
index 8078db9..0000000
--- a/gosa-core/debian/po/es.po
+++ /dev/null
@@ -1,63 +0,0 @@
-# GOsa desktop file installer.
-# Copyright (C) 2007 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-# Cajus Pollmeier <cajus at debian.org>, 2007.
-#
-# Translation to Spanish
-# Copyright (C) 2007 Rudy Godoy Guillén <rudy at debian.org>
-# This file is distributed under the GNU GPL license.
-#
-# Changes:
-# - Initial translation
-#       Rudy Godoy <rudy at stone-head.org>, 2008
-#
-#
-#  Traductores, si no conoce el formato PO, merece la pena leer la 
-#  documentación de gettext, especialmente las secciones dedicadas a este
-#  formato, por ejemplo ejecutando:
-#         info -n '(gettext)PO Files'
-#         info -n '(gettext)Header Entry'
-#
-# Equipo de traducción al español, por favor lean antes de traducir
-# los siguientes documentos:
-#
-# - El proyecto de traducción de Debian al español
-#   http://www.debian.org/intl/spanish/
-#   especialmente las notas de traducción en
-#   http://www.debian.org/intl/spanish/notas
-#
-# - La guía de traducción de po's de debconf:
-#   /usr/share/doc/po-debconf/README-trans
-#   o http://www.debian.org/intl/l10n/po-debconf/README-trans
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: gosa 2.5.14\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2008-03-22 20:07-0500\n"
-"Last-Translator: Rudy Godoy Guillén <rudy at stone-head.org>\n"
-"Language-Team: Debian l10n Spanish team <debian-l10n-spanish at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "URL de su instalación de GOsa:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr "El programa de arranque de gosa puede direccionar automáticamente el navegador web, a nivel de todo su sistema, a una ubicación predeterminada en donde se encuentra su instalación de GOsa."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Introduzca la URL para definirla como predeterminada."
diff --git a/gosa-core/debian/po/eu.po b/gosa-core/debian/po/eu.po
deleted file mode 100644
index 2bce06b..0000000
--- a/gosa-core/debian/po/eu.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# translation of gosa-eu.po to Euskara
-# GOsa desktop file installer.
-# Copyright (C) 2007 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-#
-# Cajus Pollmeier <cajus at debian.org>, 2007.
-# Piarres Beobide <pi at beobide.net>, 2008.
-msgid ""
-msgstr ""
-"Project-Id-Version: gosa-eu\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2008-10-15 12:21+0200\n"
-"Last-Translator: Piarres Beobide <pi at beobide.net>\n"
-"Language-Team: Euskara <debian-l10n-basque at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "Zure GOsa instalazioaren URLa:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr ""
-"Gosa abiarazte script-ak zure nabigatzailea automatikoki zure GOsa instantziaren "
-"lehenetsiriko kokagunera bidali dezake."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Idatzi lehenespena hau ezartzeko dagokion URLa."
-
diff --git a/gosa-core/debian/po/fi.po b/gosa-core/debian/po/fi.po
deleted file mode 100644
index 1bfcf1d..0000000
--- a/gosa-core/debian/po/fi.po
+++ /dev/null
@@ -1,32 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: gosa\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: \n"
-"Last-Translator: Esko Arajärvi <edu at iki.fi>\n"
-"Language-Team: Finnish <debian-l10n-finnish at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Finnish\n"
-"X-Poedit-Country: FINLAND\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "GOsa-asennuksen URL:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "The gosa start script can automatically point your browser to a system wide default location of your GOsa instance."
-msgstr "gosan käynnistyskomentosarja voi automaattisesti avata selaimeen GOsa-instanssin järjestelmän laajuisen oletussijainnin."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Voit asettaa tämän oletusarvon syöttämällä URLin."
-
diff --git a/gosa-core/debian/po/fr.po b/gosa-core/debian/po/fr.po
deleted file mode 100644
index 25fcd0f..0000000
--- a/gosa-core/debian/po/fr.po
+++ /dev/null
@@ -1,41 +0,0 @@
-# translation of templates.po to Français
-# GOsa desktop file installer.
-# Copyright (C) 2007 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-#
-# Cajus Pollmeier <cajus at debian.org>, 2007.
-# Benoit Mortier <benoit.mortier at opensides.be>, 2007.
-msgid ""
-msgstr ""
-"Project-Id-Version: templates\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2007-07-16 15:37+0200\n"
-"Last-Translator: Benoit Mortier <benoit.mortier at opensides.be>\n"
-"Language-Team: Français <fr at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms:  nplurals=2; plural=(n > 1);\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "URL vers votre installation de GOsa"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr "Le script de démarrage permet de configurer votre navigateur pour aller directement à votre GOsa."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Veuillez entrer l'url pour activer cette fonctionnalité."
-
diff --git a/gosa-core/debian/po/it.po b/gosa-core/debian/po/it.po
deleted file mode 100644
index d2bad6e..0000000
--- a/gosa-core/debian/po/it.po
+++ /dev/null
@@ -1,42 +0,0 @@
-# ITALIAN TRANSLATION OF GOSA'S.PO-DEBCONF FILE
-# GOsa desktop file installer.
-# Copyright (C) 2007 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-#
-# Cajus Pollmeier <cajus at debian.org>, 2007.
-# Vincenzo Campanella <vinz65 at gmail.com>, 2008.
-msgid ""
-msgstr ""
-"Project-Id-Version: GOSA\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2008-11-20 08:55+0100\n"
-"Last-Translator: Vincenzo Campanella <vinz65 at gmail.com>\n"
-"Language-Team: Italian <tp at lists.linux.it>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "URL dell'installazione GOsa:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr ""
-"Lo script di avvio di GOsa può indirizzare automaticamente il browser web "
-"alla posizione di sistema predefinita della propria istanza di GOsa."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Inserire l'URL per impostare questa posizione predefinita."
-
diff --git a/gosa-core/debian/po/ja.po b/gosa-core/debian/po/ja.po
deleted file mode 100644
index 13b46ba..0000000
--- a/gosa-core/debian/po/ja.po
+++ /dev/null
@@ -1,38 +0,0 @@
-# GOsa desktop file installer.
-# Copyright (C) 2007-2009 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-# Hideki Yamane (Debian-JP) <henrich at debian.or.jp>, 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: gosa 2.5.16-4.1\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2009-01-06 06:26+0900\n"
-"Last-Translator: Hideki Yamane (Debian-JP) <henrich at debian.or.jp>\n"
-"Language-Team: Japanese <debian-japanese at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "GOsa がインストールされる URL:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr ""
-"gosa の起動スクリプトは、ブラウザが自動的に GOsa インスタンスのシステム全体での"
-"デフォルトの場所を表示するようにできます。"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "これをデフォルトに設定するには URL を入力してください。"
diff --git a/gosa-core/debian/po/nl.po b/gosa-core/debian/po/nl.po
deleted file mode 100644
index 09ac0eb..0000000
--- a/gosa-core/debian/po/nl.po
+++ /dev/null
@@ -1,36 +0,0 @@
-# GOsa desktop file installer.
-# Copyright (C) 2007 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-# Cajus Pollmeier <cajus at debian.org>, 2007.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: gosa\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2007-10-25 19:19+0100\n"
-"Last-Translator: Bart Cornelis <cobaco at skolelinux.no>\n"
-"Language-Team: debian-l10n-dutch <debian-l10n-dutch at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Language: Dutch\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "URL naar uw GOsa-installatie:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "The gosa start script can automatically point your browser to a system wide default location of your GOsa instance."
-msgstr "Het gosa-startscript kan uw browser automatisch naar een systeemwijde standaardlocatie van uw GOsa-instantie wijzen."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Om deze standaardwaarde in te stellen dient u hier de URL ervan in te voeren."
-
diff --git a/gosa-core/debian/po/pl.po b/gosa-core/debian/po/pl.po
deleted file mode 100644
index 0c54df6..0000000
--- a/gosa-core/debian/po/pl.po
+++ /dev/null
@@ -1,40 +0,0 @@
-# GOsa desktop file installer.
-# Copyright (C) 2007 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-# Cajus Pollmeier <cajus at debian.org>, 2007.
-#
-# Łukasz Paździora <lukpaz at gmail.com>, 2008
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: gosa 2.5.16.1-4\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2008-11-16 00:15+0100\n"
-"Last-Translator: Łukasz Paździora <lukpaz at gmail.com>\n"
-"Language-Team: Polish <debian-l10n-polish at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "URL instalacji GOsa:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr ""
-"Skrypt startowy gosa może automatycznie wskazać przeglądarce "
-"domyślną lokalizację GOsa."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Proszę podać URL w celu ustawienia go domyślnym."
\ No newline at end of file
diff --git a/gosa-core/debian/po/pt.po b/gosa-core/debian/po/pt.po
deleted file mode 100644
index 62883da..0000000
--- a/gosa-core/debian/po/pt.po
+++ /dev/null
@@ -1,41 +0,0 @@
-# translation of gosa debconf to Portuguese
-# GOsa desktop file installer.
-# Copyright (C) 2007 Américo Monteiro
-# This file is distributed under the same license as the gosa-desktop package.
-#
-# Américo Monteiro <a_monteiro at netcabo.pt>, 2007.
-msgid ""
-msgstr ""
-"Project-Id-Version: gosa 2.5.12-1\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2007-08-01 23:35+0100\n"
-"Last-Translator: Américo Monteiro <a_monteiro at netcabo.pt>\n"
-"Language-Team: Portuguese <traduz at debianpt.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "URL da sua instalação GOsa:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr ""
-"O script de arranque do gosa pode automaticamente apontar o seu navegador Web "
-"para uma localização de omissão da sua instância GOsa para todo o sistema."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Indique o URL para regular isto como omissão."
-
diff --git a/gosa-core/debian/po/ru.po b/gosa-core/debian/po/ru.po
deleted file mode 100644
index 2f684cb..0000000
--- a/gosa-core/debian/po/ru.po
+++ /dev/null
@@ -1,43 +0,0 @@
-# translation of ru.po to Russian
-# GOsa desktop file installer.
-# Copyright (C) 2007 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-#
-# Cajus Pollmeier <cajus at debian.org>, 2007.
-# Yuri Kozlov <kozlov.y at gmail.com>, 2008.
-msgid ""
-msgstr ""
-"Project-Id-Version: gosa NEW\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2008-10-20 20:39+0400\n"
-"Last-Translator: Yuri Kozlov <kozlov.y at gmail.com>\n"
-"Language-Team: Russian <debian-l10n-russian at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "URL установленной GOsa:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr ""
-"Сценарий запуска gosa может автоматически указать вашему браузеру "
-"общесистемное месторасположение по умолчанию экземпляра GOsa."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Введите URL для настройки этого значения по умолчанию."
-
diff --git a/gosa-core/debian/po/sv.po b/gosa-core/debian/po/sv.po
deleted file mode 100644
index 2dd668e..0000000
--- a/gosa-core/debian/po/sv.po
+++ /dev/null
@@ -1,43 +0,0 @@
-# translation of gosa_2.5.16.1-3_sv.po to Swedish
-# GOsa desktop file installer.
-# Copyright (C) 2007 Cajus Pollmeier <cajus at debian.org>
-# This file is distributed under the same license as the gosa-desktop package.
-#
-# Cajus Pollmeier <cajus at debian.org>, 2007.
-# Martin Ågren <martin.agren at gmail.com>, 2008.
-msgid ""
-msgstr ""
-"Project-Id-Version: gosa_2.5.16.1-3_sv\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2007-06-27 10:59+0200\n"
-"PO-Revision-Date: 2008-07-23 20:47+0200\n"
-"Last-Translator: Martin Ågren <martin.agren at gmail.com>\n"
-"Language-Team: Swedish <debian-l10n-swedish at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr "URL till din GOsa-installation:"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr ""
-"gosa-startskriptet kan automatiskt peka din webbläsare till en systemtäckande "
-"standardplats för din GOsa-instans."
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr "Ange URL:en för att sätta detta standardvärde."
-
diff --git a/gosa-core/debian/po/templates.pot b/gosa-core/debian/po/templates.pot
deleted file mode 100644
index bd4af9b..0000000
--- a/gosa-core/debian/po/templates.pot
+++ /dev/null
@@ -1,37 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: cajus at debian.org\n"
-"POT-Creation-Date: 2008-12-01 10:40+0100\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "URL to your GOsa installation:"
-msgstr ""
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid ""
-"The gosa start script can automatically point your browser to a system wide "
-"default location of your GOsa instance."
-msgstr ""
-
-#. Type: string
-#. Description
-#: ../gosa-desktop.templates:1001
-msgid "Enter the URL in order to set this default."
-msgstr ""
diff --git a/gosa-core/debian/rules b/gosa-core/debian/rules
deleted file mode 100755
index 5a9b10e..0000000
--- a/gosa-core/debian/rules
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/make -f
-
-%:
-	dh $@
-
-override_dh_compress:
-	dh_compress
-	gzip -d debian/gosa/usr/share/doc/gosa/gosa.conf.gz
-
diff --git a/gosa-core/debian/smarty-acl-render.dirs b/gosa-core/debian/smarty-acl-render.dirs
deleted file mode 100644
index baad34c..0000000
--- a/gosa-core/debian/smarty-acl-render.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/php/smarty/libs/plugins
diff --git a/gosa-core/debian/smarty-acl-render.install b/gosa-core/debian/smarty-acl-render.install
deleted file mode 100644
index 7a6650a..0000000
--- a/gosa-core/debian/smarty-acl-render.install
+++ /dev/null
@@ -1,2 +0,0 @@
-gosa-core/include/smarty/plugins/block.render.php     /usr/share/php/smarty/libs/plugins
-gosa-core/include/smarty/plugins/function.msgPool.php /usr/share/php/smarty/libs/plugins
diff --git a/gosa-core/debian/source/format b/gosa-core/debian/source/format
deleted file mode 100644
index 163aaf8..0000000
--- a/gosa-core/debian/source/format
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/gosa-core/debian/watch b/gosa-core/debian/watch
deleted file mode 100644
index 63c5ddd..0000000
--- a/gosa-core/debian/watch
+++ /dev/null
@@ -1,3 +0,0 @@
-version=3
-
-http://oss.gonicus.de/pub/gosa/gosa-(.*)\.tar\.gz
diff --git a/gosa-core/dh-make-gosa.1 b/gosa-core/dh-make-gosa.1
index e404d1d..50be20f 100644
--- a/gosa-core/dh-make-gosa.1
+++ b/gosa-core/dh-make-gosa.1
@@ -40,7 +40,7 @@ section.
 Add additional dependencies to the Debian tree which did not get
 listed in the
 .I plugin.dsc
-file. This is a comma separated list of Debian package names.
+file. This is a comma seperated list of Debian package names.
 
 .IP "-e mail, --email mail"
 Overrides the Debian packager defined inside the
@@ -60,7 +60,7 @@ dh-make-gosa --email cajus at debian.org --release etch --section web samba
 
 # Build debian package
 cd samba
-dpkg-buildpackage \-uc \-us \-rfakeroot
+dpkg-buildpackage -uc -us -rfakeroot
 .fi
 
 To build everything from the subversion repository which is GOsa related, please
@@ -80,7 +80,7 @@ Please report any bugs, or post any suggestions, to the GOsa mailing list <gosa-
 
 This code is part of GOsa (L<http://www.gosa-project.org>)
 
-Copyright (C) 2003-2010 GONICUS GmbH
+Copyright (C) 2003-2009 GONICUS GmbH
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/gosa-core/doc/admin/es/manual_gosa_es_apache.tex b/gosa-core/doc/admin/es/manual_gosa_es_apache.tex
deleted file mode 100644
index df71aba..0000000
--- a/gosa-core/doc/admin/es/manual_gosa_es_apache.tex
+++ /dev/null
@@ -1,822 +0,0 @@
-\chapter{Apache y PHP}
-\section{Introducci�n a Apache}
-
-GOsa es una aplicaci�n escrita en el lenguaje de programaci�n PHP y pensada para uso a trav�s de p�ginas web.
-
-Aunque todo el mundo conoce lo que es una p�gina web, no viene de menos repasar algunos puntos:
-
-\begin{description}
-\item[WWW]
-La World Wide Web (Red alrededor del mundo) es el motor de lo que conocemos como internet, es un espacio de informaci�n donde cada recurso est� identificado por su URI (Identificador de Recurso Universal /  Universal Resource Identifier), este define el protocolo necesario para acceder a la informaci�n, el equipo que la posee y donde est� colocada.
-
-La WWW es la gran revoluci�n de nuestra �poca, es una fuente enorme de informaci�n. Y como tal todas las aplicaciones est�n siendo orientadas a ella. GOsa usa WWW por una sencilla raz�n, distribuye el programa, una aplicaci�n orientada a internet es capaz de ser usada desde cualquier lugar y pr�cticamente en cualquier momento. GOsa no necesita estar siendo ejecutado en la misma m�quina que lo tiene, mas 
-aun cada uno de los servidores que controla pueden estar en m�quinas diferentes y en remotos lugares.
-
-\item[HTTP]
-\htmladdnormallink{HTTP}{http://www.w3.org/Protocols/}\cite{2616} es el acr�nimo de Protocolo de Transferencia de Texto / HyperText Transfer Protocol, cuyo prop�sito mas importante es la publicaci�n y recepci�n de "p�ginas Web".
-
-Es un protocolo de nivel de aplicaci�n ideado para sistemas distribuidos de informaci�n hipermedia. Ha estado siendo usada para la WWW desde 1990, la versi�n actual es HTTP/1.1.
-
-El funcionamiento pr�ctico se puede reducir a un cliente que realiza una petici�n y a un servidor que gestiona esa petici�n y realiza una respuesta.
-
-\item[HTML]
-Si la petici�n del cliente y la respuesta del servidor son correctas, la respuesta del servidor contendr� alg�n tipo de hipermedia, el mas habitual es \htmladdnormallink{HTML}{http://www.w3.org/TR/1998/REC-html40-19980424/} (Lenguaje de marcas de hipertexto /  HyperText Markup Language), un lenguaje pensado para la publicaci�n con contenidos y para una f�cil navegaci�n por ellos. Es un protocolo en constante desarrollo, la versi�n actual es HTML4.01 y en publicaci�n XHTML2.0
-\end{description}
-
-\htmladdnormallink{APACHE}{http://httpd.apache.org/} es el servidor HTTP mas utilizado que \htmladdnormallink{ existe }{http://news.netcraft.com/archives/web_server_survey.html}, seguro, eficiente y extensible.
-
-En este manual nos centraremos en este servidor, ya que es el mas usado y tiene una licencia calificada de opensource.
-
-Mas informaci�n sobre este servidor en \htmladdnormallink{http://httpd.apache.org/docs-2.0/}{http://httpd.apache.org/docs-2.0/}
- 
-\section{Introducci�n a PHP}
-
-PHP (PHP: Hypertext Preprocessor), es un lenguaje de interpretado alto nivel, especialmente pensado para el dise�o de p�ginas webs. Su sintaxis es una mezcla de C, Perl y Java. Es embebido en las p�ginas HTML y es ejecutado por el servidor HTTP.
-
-PHP est� ampliamente extendido y tiene un numeroso grupo de desarrolladores, una \htmladdnormallink{ extensa documentaci�n }{http://www.php.net/docs.php} y numerosos sitios webs con documentaci�n y ejemplos.
-
-\newpage
-
-\section{Instalaci�n }
-\subsection{Descargando e Instalando Apache}
-\label{down_apache}
-Al igual que en el cap�tulo anterior, Apache est� en pr�cticamente todas las distribuciones, aunque veremos su instalaci�n desde las fuentes. Nos vamos a centrar por ahora en las versiones mas avanzadas de apache, la serie 2.0.XX considerada estable.
-
-Se recomienda instalar los mismos paquetes que se necesitan para openLDAP\ref{down_ldap}.
-
-Se puede descargar de: \htmladdnormallink{http://httpd.apache.org/download.cgi}{http://httpd.apache.org/download.cgi}, la versi�n que vamos a descargar en /usr/src es la httpd-2.0.XX.tar.gz
-
-Ejecutamos \htmladdnormallink{./configure}{http://warping.sourceforge.net/gosa/contrib/es/configure-apache.sh} con las siguientes opciones.
-
-\begin{itemize}
-\item[]Generales\\
-\begin{tabular}{|ll|}\hline 
---enable-so & $\rightarrow$ Soporte de Objetos Din�micos Compartidos (DSO)\\
---with-program-name=apache2 & \\
---with-dbm=db42 & $\rightarrow$ Versi�n de la Berkeley DB que vamos a usar\\
---with-external-pcre=/usr & \\
---enable-logio & $\rightarrow$ Registro de entrada y salida\\
---with-ldap=yes & \\
---with-ldap-include=/usr/include & \\
---with-ldap-lib=/usr/lib & \\
-\hline \end{tabular}
- 
-\item[]Soporte suexec\\
-\begin{tabular}{|ll|}\hline
---with-suexec-caller=www-data & \\
---with-suexec-bin=/usr/lib/apache2/suexec2 & \\
---with-suexec-docroot=/var/www & \\
---with-suexec-userdir=public\_html & \\
---with-suexec-logfile=/var/log/apache2/suexec.log & \\
-\hline \end{tabular}
-
-\item[]
-\begin{longtable}{|ll|}
-\hline
-\multicolumn{2}{|c|}{\textbf{M�dulos}}\\
-\hline
-\endfirsthead
-\hline
-\endhead
-\hline
-\multicolumn{2}{|c|}{Continue $\ldots$}\\
-\hline
-\endfoot
-\hline
-\multicolumn{2}{|c|}{\textbf{End}}\\
-\hline
-\endlastfoot
---enable-userdir=shared & $\rightarrow$ mod\_userdir, m�dulo para directorios de usuario\\
---enable-ssl=shared & $\rightarrow$ mod\_ssl, m�dulo de conectividad segura SSL\\
---enable-deflate=shared & $\rightarrow$ mod\_deflate, m�dulo para comprimir la informaci�n enviada\\
---enable-ldap=shared & $\rightarrow$ mod\_ldap\_userdir, m�dulo para cach� y conexiones ldap\\
---enable-auth-ldap=shared & $\rightarrow$ mod\_ldap, m�dulo de autentificaci�n en ldap\\
---enable-speling=shared & $\rightarrow$ mod\_speling, m�dulo para la correcci�n de fallos en URL\\
---enable-include=shared & $\rightarrow$ mod\_include, m�dulo para la inclusi�n de otras configuraciones\\
---enable-rewrite=shared & $\rightarrow$ mod\_rewrite, permite la manipulaci�n de URL\\
---enable-cgid=shared & $\rightarrow$ CGI script\\
---enable-vhost-alias=shared & $\rightarrow$ m�dulo de alias de dominios virtuales\\
---enable-info=shared & $\rightarrow$ Informaci�n del servidor\\
---enable-suexec=shared & $\rightarrow$ Cambia el usuario y el grupo de los procesos\\
---enable-unique-id=shared & $\rightarrow$ Identificador �nico por petici�n\\
---enable-usertrack=shared & $\rightarrow$ Seguimiento de la sesi�n de usuario\\
---enable-expires=shared & $\rightarrow$ M�dulo para el env�o de la cabecera de expiraci�n\\
---enable-cern-meta=shared & $\rightarrow$ Ficheros meta tipo CERN\\
---enable-mime-magic=shared & $\rightarrow$ Determina autom�ticamente el tipo MIME\\
---enable-headers=shared & $\rightarrow$ Control cabeceras HTTP\\
---enable-auth-anon=shared & $\rightarrow$ Acceso a usuarios an�nimos\\
---enable-proxy=shared & $\rightarrow$ Permite el uso de Apache como proxy\\
---enable-dav=shared & $\rightarrow$ Capaz de manejar el protocolo WebDav\\
---enable-dav-fs=shared & $\rightarrow$ Proveedor DAV para el sistema de archivos\\
---enable-auth-dbm=shared & $\rightarrow$ Autentificaci�n basada en base de datos DBM\\
---enable-cgi=shared & $\rightarrow$ Permite CGI scripts\\
---enable-asis=shared & $\rightarrow$ Tipos de archivos como son\\
---enable-imap=shared & $\rightarrow$ Mapas de im�genes en el lado de servidor\\
---enable-ext-filter=shared & $\rightarrow$ M�dulo para filtros externos\\
---enable-authn-dbm=shared & \\
---enable-authn-anon=shared & \\
---enable-authz-dbm=shared & \\
---enable-auth-digest=shared & $\rightarrow$ Colecci�n de autentificaciones seg�n RFC2617\\
---enable-actions=shared & $\rightarrow$ Activa acciones seg�n peticiones\\
---enable-file-cache=shared & $\rightarrow$ Cache de archivos\\
---enable-cache=shared & $\rightarrow$ Cache din�mico de archivos\\
---enable-disk-cache=shared & $\rightarrow$ Cache de disco\\
---enable-mem-cache=shared & $\rightarrow$ Cache de memoria\\
-\hline \end{longtable}
-\end{itemize}
-
-Una vez configurado, hacemos:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#make \&\& make install\\
-\hline \end{tabular}
-\newpage
-
-
-\subsection{ Instalando PHP sobre Apache}
-
-Se puede descargar de \htmladdnormallink{http://www.php.net/downloads.php}{http://www.php.net/downloads.php} siendo la versi�n necesaria a la fecha de este manual para utilizar GOsa la 4.3.XX, ya que las versiones 5.0.XX a�n no est�n soportadas. Las descargaremos en /usr/src.
-
-Para poder compilar los m�dulos necesarios adem�s de necesitar las librer�as de desarrollo de la seccion Servidores \ref{servidores}, adem�s de las mismas que para openLDAP\ref{down_ldap} y Apache\ref{down_apache} necesitaremos alguna librer�a mas:
-
-\begin{itemize}
-\item[libbz2]
-La podemos descargar de \htmladdnormallink{http://sources.redhat.com/bzip2/}{http://sources.redhat.com/bzip2/} para m�dulo de compresi�n BZ2.
-\item[e2fsprogs]
-Se puede descargar de \htmladdnormallink{http://e2fsprogs.sourceforge.net}{http://e2fsprogs.sourceforge.net} para acceso al sistema de archivos.
-\item[expat]
-Se descarga de \htmladdnormallink{http://expat.sourceforge.net/}{http://expat.sourceforge.net/}, es un parser XML.
-\item[zziplib]
-Bajarla de \htmladdnormallink{http://zziplib.sourceforge.net/}{http://zziplib.sourceforge.net/}, acceso a archivos ZIP.
-\item[zlib]
-Desde \htmladdnormallink{http://www.gzip.org/zlib/}{http://www.gzip.org/zlib/} para compresi�n GZ.
-\item[file]
-Desde \htmladdnormallink{http://www.darwinsys.com/freeware/file.html}{http://www.darwinsys.com/freeware/file.html} control de archivos.
-\item[sed]
-De \htmladdnormallink{http://www.gnu.org/software/sed/sed.html}{http://www.gnu.org/software/sed/sed.html}, una de las herramientas mas potentes para manipulaci�n de texto.
-\item[libcurl]
-Potente herramienta para manejar archivos remotos, la bajaremos de \htmladdnormallink{http://curl.haxx.se/}{http://curl.haxx.se/} .
-\item[gettext]
-Herramienta GNU para soporte de varios idiomas, la descargamos de \htmladdnormallink{http://www.gnu.org/software/gettext/gettext.html}{http://www.gnu.org/software/gettext/gettext.html} .
-\item[libgd]
-Para la manipulaci�n y creaci�n de im�genes desde: \htmladdnormallink{http://www.boutell.com/gd/}{http://www.boutell.com/gd/} .
-\item[libjpeg]
-Manipulaci�n de im�genes JPEG de \htmladdnormallink{http://www.ijg.org/}{http://www.ijg.org/} .
-\item[libpng]
-Manipulaci�n im�genes PNG de \htmladdnormallink{http://www.libpng.org/pub/png/libpng.html}{http://www.libpng.org/pub/png/libpng.html} .
-\item[mcal]
-Librer�a para el acceso a Calendarios remotos, se baja de \htmladdnormallink{http://mcal.chek.com/}{http://mcal.chek.com/} .
-\item[libmysql]
-Soporte para la famos�sima base de datos, es imprescindible para php, se baja de \htmladdnormallink{http://www.mysql.com/}{http://www.mysql.com/}
-\end{itemize}
-
-Una configuraci�n recomendada ser�:
-
-
-\begin{itemize}
-\item[]Apache2\\
-\begin{tabular}{|ll|}\hline 
---prefix=/usr --with-apxs2=/usr/bin/apxs2 & \\
---with-config-file-path=/etc/php4/apache2 & \\
-\hline \end{tabular}
-
-
- 
-\item[]Opciones de compilaci�n\\
-\begin{tabular}{|ll|}\hline
---enable-memory-limit & \# Compilado con l�mite de memoria\\
---disable-debug & \# Compilar sin s�mbolos de depuraci�n\\
---disable-static & \# Sin librer�as est�ticas\\
---with-pic & \# Usar objetos PIC y no PIC\\
---with-layout=GNU & \\
---enable-sysvsem & \# Soporte sysvmsg \\
---enable-sysvshm & \# Soporte sem�foros System V \\
---enable-sysvmsg & \# Soporte memoria compartida System V \\
---disable-rpath & \# Desactiva poder pasar rutas a librer�as adiciones al binario\\
---without-mm & \# Desactivar el soporte de sesiones por memoria\\
-\hline \end{tabular}
-
-\item[]De sesi�n\\
-\begin{tabular}{|ll|}\hline
---enable-track-vars & \\
---enable-trans-sid & \\
-\hline \end{tabular}
-
-\item[]Soporte\\
-\begin{tabular}{|ll|}\hline
---enable-sockets & \# Soporte de sockets\\
---with-mime-magic=/usr/share/misc/file/magic.mime & \\
---with-exec-dir=/usr/lib/php4/libexec & \\
-\hline \end{tabular}
-
-\item[]pear\\
-\begin{tabular}{|ll|}\hline
---with-pear=/usr/share/php & Donde vamos a instalar PEAR\\
-\hline \end{tabular}
-  
-\item[]Funciones\\
-\begin{tabular}{|ll|}\hline
---enable-ctype & Soporte funciones de control de caracteres \\
---with-iconv & Soporte funciones iconv\\
---with-bz2 & Soporte Compresi�n BZ2\\
---with-regex=php & Tipo de librer�a de expresiones regulares\\
---enable-calendar & Funciones para conversi�n de calendario\\
---enable-bcmath & Soporte de matem�ticas de precisi�n arbitraria\\
---with-db4 & DBA: Soporte Berkeley DB versi�n 4\\
---enable-exif & Soporte funciones exif, para lectura metadata JPG y TIFF\\
---enable-ftp & Soporte funciones FTP \\
---with-gettext & Soporte Localizaci�n\\
---enable-mbstring & \\
---with-pcre-regex=/usr & \\
---enable-shmop & Funciones de memoria compartida\\
---disable-xml --with-expat-dir=/usr & Usa el xml de expat en vez del que viene con php\\
---with-xmlrpc & \\
---with-zlib & \\
---with-zlib-dir=/usr & \\
---with-imap=shared,/usr & Soporte imap gen�rico\\
---with-kerberos=/usr & Imap con autentificaci�n kerberos\\
---with-imap-ssl & Imap con acceso seguro SSL\\
---with-openssl=/usr & \\
---with-zip=/usr & \\
---enable-dbx & Capa de abstracci�n a base de datos\\
-\hline \end{tabular}
-
-\item[]M�dulos externos\\
-\begin{tabular}{|ll|}\hline
---with-curl=shared,/usr & Manejo remoto de archivos\\
---with-dom=shared,/usr --with-dom-xslt=shared,/usr --with-dom-exslt=shared,/usr & Con xmlrpc ya integrado\\
---with-gd=shared,/usr --enable-gd-native-ttf & Soporte de manejo de gr�ficos\\
---with-jpeg-dir=shared,/usr & Soporte GD para jpeg\\
---with-png-dir=shared,/usr & Soporte GD para png\\
---with-ldap=shared,/usr & Soporte para ldap\\
---with-mcal=shared,/usr & Soporte de calendarios\\
---with-mhash=shared,/usr & M�dulo para varios algoritmos de generaci�n de claves\\
---with-mysql=shared,/usr & Soporte de base de datos Mysql\\    
-\hline \end{tabular}
-\end{itemize}
-Posteriormente hacemos:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#make \&\& make install\\
-\hline \end{tabular}
-\newpage
-\section{ Configuraci�n Apache2}
-
-La configuraci�n de apache se guardara en el directorio /etc/apache2 en los siguientes ficheros y directorios:
-\begin{itemize}
-\item[]Archivo apache2.conf:\\
-COnfiguraci�n principal de apache2, tiene la configuraci�n necesaria para arrancar apache.\\
-No necesitamos editar este archivo.
-\item[]Archivo ports.conf\\
-Que puertos escucha apache, necesitamos dos, el puerto 80 para HTTP y el 443 para HTTPS, editaremos el ficheros, dejandolo como esto:
-\begin{tabular}{|l|}\hline
-Listen 80,443\\
-\hline \end{tabular}
-\item[]Directorio conf.d:\\
-Directorio para configuraciones especiales, no lo necesitamos.
-\item[]Directorios mods-available y mods-enabled:\\
-Este directorio tiene todos los m�dulos que podemos usar de apache2, para poder usar un m�dulo es necesario enlazar este al directorio mods-enabled.
-\item[]Directorios sites-available y sites-enabled:\\
-En sites-available debemos configurar los sitios que vamos a usar.\\
-Por ejemplo vamos a crear el sitio no seguro gosa, que vamos a usar para redirigir las peticiones a un servidor seguro.
-
-La configuraci�n de GOsa (sites-available/gosa) puede ser parecida a esta::\\
-\begin{tabular}{|l|}\hline
-\noindent NameVirtual *\\
-<VirtualHost *>\\
-\verb|    |ServerName gosa.chaosdimension.org\\
-\\
-\verb|    |Redirect /gosa https://gosa.chaosdimension.org/gosa\\
-\\
-\verb|    |CustomLog /var/log/apache/gosa.log combined\\
-\verb|    |ErrorLog /var/log/apache/gosa.log\\
-\\
-</VirtualHost>\\
-\hline \end{tabular}
-
-Una vez sea guardada, podemos activarla haciendo esto:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#>ln -s /etc/apache2/mods-available/suphp.conf /etc/apache2/mods-enabled/suphp.conf\\
-\hline \end{tabular}
-\\
-\item[]Directorio ssl:\\
-Directorio de configuraci�n de Secure Socket Layer, esto lo veremos en la siguiente secci�n.
-\end{itemize}
-\newpage
-\subsection{ Seguridad}
-
-La seguridad es uno de los puntos mas importantes al configurar un servidor apache, necesitaremos un entorno seguro donde no permitir que los usuarios manipulen y accedan a codigo o programas.
-
-La formas de conseguir esto es usando encriptaci�n, con lo que buscamos que los usuarios y el servidor se comuniquen de forma que nadie mas pueda acceder a los datos. Esto se consigue con encriptaci�n.
-
-La otra manera de asegurar el sistema es que si existe alg�n fallo en el sistema o en el c�digo, y un intruso intenta ejecutar codigo, este se vea incapacitado, ya que existen poderosas limitaciones, como no permitir que ejecute comandos, lea el codigo de otros script, no pueda modificar nada y tenga un usuario con muy limitados recursos.
-\subsubsection{ Certificados SSL}
-
-\noindent Existe amplia documentaci�n sobre encriptaci�n y concretamente sobre SSL, un sistema de encriptaci�n con clave publica y privada.\\
-\\
-\noindent Como el paquete openSSL ya lo tenemos instalado a partir de los pasos anteriores, debemos crear los certificados que usaremos en nuestro servidor web.\\
-\\
-\noindent Supongamos que guardamos el certificado en /etc/apache2/ssl/gosa.pem\\
-\\
-\begin{tabular}{|l|}\hline 
-\#>FILE=/ect/apache2/ssl/gosa.pem\\
-\#>export RANDFILE=/dev/random\\
-\#>openssl req -new -x509 -nodes -out \$FILE -keyout /etc/apache2/ssl/apache.pem\\
-\#>chmod 600 \$FILE\\
-\#>ln -sf \$FILE /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < \$FILE`.0\\
-\hline \end{tabular}
-\\
-\noindent Con esto hemos creado un certificado que nos permite el acceso SSL a nuestras p�ginas.\\
-\\
-\noindent Si lo que queremos es una configuraci�n que nos permita no solo que el tr�fico est� encriptado, sino que adem�s el cliente garantice que es un usuario v�lido, debemos provocar que el servidor pida una certificaci�n de cliente. \\
-\\
-\noindent En este caso seguiremos un procedimiento mas largo, primero la creaci�n de una certificaci�n de CA:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#>CAFILE=/ect/apache2/ssl/gosa.ca\\
-\#>KEY=/etc/apache2/ssl/gosa.key\\
-\#>REQFILE=/etc/apache2/ssl/gosa.req\\
-\#>CERTFILE=/ect/apache2/ssl/gosa.cert\\
-\#>DAYS=365\\
-\#>export RANDFILE=/dev/random\\
-\#>openssl req -x509 -keyout \$CAKEY -out \$CAFILE \$DAYS\\
-\hline \end{tabular}
-\\
-\noindent Despu�s de varias cuestiones tendremos una CA, ahora hacemos un requerimiento a la CA creada:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#>openssl req -new -keyout \$REQFILE -out \$REQFILE \$DAYS\\
-\hline \end{tabular}
-\\
-\noindent Firmamos el nuevo certificado:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#>openssl ca -policy policy\_anything -out \$CERFILE -infiles \$REQFILE\\
-\hline \end{tabular}
-\\
-\noindent Y creamos un pkcs12 para configurar la certificaci�n en los clientes:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#>openssl pkcs12 -export -inkey \$KEY -in \$CERTFILE -out certificado\_cliente.pkcs12\\
-\hline \end{tabular}
-\\
-\noindent Este certificado se puede instalar en el cliente, y en el servidor web mediante la configuraci�n explicada en el siguiente punto, nos dar� la seguridad de que solo acceder�n aquellos clientes que nosotros deseamos y que su comunicaci�n ser� estrictamente confidencial.\\
-
-
-
-\subsubsection{ Configurando mod-SSL}
-
-
-\noindent El m�dulo SSL viene de serie con apache2, esto simplificara nuestro trabajo. Para saber si est� ya configurado:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#> if [ -h /etc/apache2/mods-enabled/ssl.load ]; then echo "m�dulo instalado";else echo "m�dulo no instalado"; fi\\
-\hline \end{tabular}
-\\
-\noindent Para activarlo haremos lo siguiente:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#>ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf\\
-\#>ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load\\
-\hline \end{tabular}
-\\
-\noindent Esto configurar� el m�dulo en apache2 y se podr� utilizar despu�s de recargar el servidor con:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#>/etc/init.d/apache2 restart\\
-\hline \end{tabular}
-\\
-\\
-\noindent Para el caso de querer solo una configuraci�n para comunicaci�n encriptada, crearemos en /etc/apache2/sites-available, gosa-ssl:\\
-\\
-\begin{tabular}{|l|}\hline 
-\noindent NameVirtual *:443\\
-<VirtualHost *:443>\\
-\verb|    |ServerName gosa.chaosdimension.org\\
-\\
-\verb|    |alias /gosa /usr/share/gosa/html\\
-\\
-\verb|    |DocumentRoot /var/www/gosa.chaosdimension.org\\
-\verb|    |CustomLog /var/log/apache/gosa.log combined\\
-\verb|    |ErrorLog /var/log/apache/gosa.log\\
-\\
-\verb|    |SSLEngine On\\
-\verb|    |SSLCertificateFile    /etc/apache2/ssl/gosa.cert\\
-\verb|    |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\
-\verb|    |SSLCertificateChainFile /etc/apache2/ssl/gosa.cert\\
-\verb|    |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\
-\verb|    |SSLCACertificateFile /etc/apache2/ssl/gosa.ca\\
-\verb|    |SSLCACertificatePath /etc/apache2/ssl/\\
-\verb|    |SSLLogLevel error\\
-\verb|    |SSLLog /var/log/apache2/ssl-gosa.log\\
-\\
-</VirtualHost>\\
-\hline \end{tabular}
-\\
-\noindent Para una comunicaci�n encriptada en la cual verificamos el certificado del cliente:
-\\
-\begin{tabular}{|l|}\hline 
-\noindent NameVirtual *:443\\
-<VirtualHost *:443>\\
-\verb|    |ServerName gosa.chaosdimension.org\\
-\\
-\verb|    |alias /gosa /usr/share/gosa/html\\
-\\
-\verb|    |DocumentRoot /var/www/gosa.chaosdimension.org\\
-\verb|    |CustomLog /var/log/apache/gosa.log combined\\
-\verb|    |ErrorLog /var/log/apache/gosa.log\\
-\\
-\verb|    |SSLEngine On\\
-\verb|    |SSLCertificateFile    /etc/apache2/ssl/gosa.cert\\
-\verb|    |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\
-\verb|    |SSLCertificateChainFile /etc/apache2/ssl/gosa.cert\\
-\verb|    |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\
-\verb|    |SSLCACertificateFile /etc/apache2/ssl/gosa.ca\\
-\verb|    |SSLCACertificatePath /etc/apache2/ssl/\\
-\verb|    |SSLLogLevel error\\
-\verb|    |SSLLog /var/log/apache2/ssl-gosa.log\\
-\\      
-\verb|    |<Directory /usr/share/gosa >\\
-\verb|    |\verb|    |SSLVerifyClient require\\
-\verb|    |\verb|    |SSLVerifyDepth 1\\
-\verb|    |</Directory>\\
-</VirtualHost>\\
-\hline \end{tabular}
-
-\subsubsection{ Configurando suphp}
-\noindent
-Suphp es un m�dulo para apache y php que permite ejecutar procesos de php con un usuario diferente del que usa apache para ejecutar las p�ginas html y php.
-
-Consta de dos partes, una es un modulo para apache que "captura" las peticiones de p�ginas php, comprueba el usuario del archivo, su grupo, y env�a la informaci�n a la otra parte, que es un ejecutable suid-root que lanza php4-cgi con el usuario que le ha sido indicado, este devuelve el resultado al m�dulo del apache.
-
-La idea es minimizar el da�o que se provocar�a al ser explotado un posible fallo del sistema, de esta manera el usuario entrar�a en el sistema con una cuenta no habilitada, sin permisos de ejecuci�n y sin posibilidad de acceso a otro c�digo o sitios web.
-
-Suphp se puede descargar de \htmladdnormallink{http://www.suphp.org/Home.html}{http://www.suphp.org/Home.html}, descomprimiendo el paquete en /usr/src y compilando con las siguientes opciones:
-\\
-\begin{tabular}{|l|}\hline 
-\#>./configure --prefix=/usr \textbackslash \\
-\verb|    |--with-apxs=/usr/bin/apxs2 \textbackslash \\
-\verb|    |--with-apache-user=www-data \textbackslash \\
-\verb|    |--with-php=/usr/lib/cgi-bin/php4 \textbackslash \\
-\verb|    |--sbindir=/usr/lib/suphp \textbackslash \\
-\verb|    |--with-logfile=/var/log/suphp/suphp.log \textbackslash \\
-\verb|    |-with-setid-mode \textbackslash \\
-\verb|    |--disable-checkpath \\
-\hline \end{tabular}
-\\
-\noindent Por supuesto necesitaremos tener compilado php para cgi, esto significa volver a compilar php, pero quitando la configuraci�n para apache2 y a�adiendo:\\
-\\
-\begin{tabular}{|l|}\hline 
-\verb|    |--prefix=/usr --enable-force-cgi-redirect --enable-fastcgi \textbackslash\\
-\verb|    |--with-config-file-path=/etc/php4/cgi\\
-\hline \end{tabular}
-
-\noindent Para configurarlo en apache haremos igual que para ssl, primero comprobamos si est� configurado:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#> if [ -h /etc/apache2/mods-enabled/suphp.load ]; then echo "m�dulo instalado";else echo "m�dulo no instalado"; fi\\
-\hline \end{tabular}
-\\
-\noindent Para activarlo haremos lo siguiente:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#>ln -s /etc/apache2/mods-available/suphp.conf /etc/apache2/mods-enabled/suphp.conf\\
-\#>ln -s /etc/apache2/mods-available/suphp.load /etc/apache2/mods-enabled/suphp.load\\
-\hline \end{tabular}
-\\
-\noindent Esto configurar� el m�dulo en apache2 y se podr� utilizar despu�s de recargar el servidor con:\\
-\\
-\begin{tabular}{|l|}\hline 
-\#>/etc/init.d/apache2 restart\\
-\hline \end{tabular}
-\\
-
-\noindent La configuraci�n del sitio seguro con suphp incluido quedar�a as�:\\
-\\
-\begin{tabular}{|l|}\hline 
-\noindent NameVirtual *:443\\
-<VirtualHost *:443>\\
-\verb|    |ServerName gosa.chaosdimension.org\\
-\\
-\verb|    |DocumentRoot /usr/share/gosa/html\\
-\verb|    |alias /gosa /usr/share/gosa/html\\
-\verb|    |CustomLog /var/log/apache/gosa.log combined\\
-\verb|    |ErrorLog /var/log/apache/gosa.log\\
-\\
-\verb|    |suPHP\_Engine on\\
-\\
-\verb|    |SSLEngine On\\
-\verb|    |SSLCertificateFile    /etc/apache2/ssl/gosa.cert\\
-\verb|    |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\
-\verb|    |SSLCertificateChainFile /etc/apache2/ssl/gosa.cert\\
-\verb|    |SSLCertificateKeyFile /etc/apache2/ssl/gosa.key\\
-\verb|    |SSLCACertificateFile /etc/apache2/ssl/gosa.ca\\
-\verb|    |SSLCACertificatePath /etc/apache2/ssl/\\
-\verb|    |SSLLogLevel error\\
-\verb|    |SSLLog /var/log/apache2/ssl-gosa.log\\
-\\      
-\verb|    |<Directory /usr/share/gosa >\\
-\verb|    |\verb|    |SSLVerifyClient require\\
-\verb|    |\verb|    |SSLVerifyDepth 1\\
-\verb|    |</Directory>\\
-</VirtualHost>\\
-\hline \end{tabular}
-
-\noindent Debemos decidir que usuario vamos a usar, en este caso voy a crear uno llamado gosa, que me sirva para el fin indicado anteriormente:\\
-\\
-\begin{tabular}{|l|}\hline 
-\verb|    |\#useradd -d /usr/share/gosa/html gosa\\
-\verb|    |\#passwd -l gosa\\
-\verb|    |\#cd /usr/share/gosa\\
-\verb|    |\#find /usr/share/gosa -name "*.php" -exec chown gosa {} ";"\\
-\verb|    |\#find /usr/share/gosa -name "*.php" -exec chmod 600 {} ";"\\
-\hline \end{tabular}
-
-
-
-\section{Configuraci�n Php4}
-
-La configuraci�n para mod\_php se guardar� en el sitio que hallamos puesto en la partes anteriores. En nuestro caso es /etc/php4/apache2.
-
-El archivo de configuraci�n siempre es php.ini y en el configuramos los m�dulos.
-
-Una configuraci�n b�sica ser� como esta:
-\begin{center}
-\begin{longtable}{|l|}
-\caption{PHP4 Configuration}\\
-\hline
-\multicolumn{1}{|c|}{\textbf{PHP4 Configuration}}\\
-\hline
-\endfirsthead
-\hline
-\endhead
-\hline
-\multicolumn{1}{|c|}{Continue $\ldots$}\\
-\hline
-\endfoot
-\hline
-\multicolumn{1}{|c|}{\textbf{End}}\\
-\hline
-\endlastfoot
-; Engine\\
-\verb|    |engine   = On ; Activa PHP\\
-\verb|    |short\_open\_tag = On ; Permite usar <? para simplificar <?php\\
-\verb|    |asp\_tags  = Off ; No permitimos etiquetas estilo ASP: <\% \%>\\
-\verb|    |precision  = 14 ; N�mero de d�gitos significantes mostrados en n�meros en coma flotante\\
-\verb|    |output\_buffering = Off ; Solo permitimos que envie cabecera antes de enviar el contenido.\\
-\verb|    |implicit\_flush  = Off ; No forzamos a php a que limpie el buffer de salida despu�s de cada bloque.\\
-\\
-; Safe Mode\\
-\verb|    |\label{sm} safe\_mode  = Off ; No queremos el modo seguro\\
-\verb|    |\label{smed} safe\_mode\_exec\_dir = ; Directorio donde se ejecutara PHP\\
-\verb|    |\label{smid} safe\_mode\_include\_dir = Directorios donde har� la busqueda PHP de librer�as\\
-\verb|    |\label{smaev} safe\_mode\_allowed\_env\_vars = PHP\_     ; Solo se permite a los usuarios\\
-\verb|    |\verb|    |\verb|    |;a crear variables del sistema que empiecen por PHP\_\\
-\verb|    |\label{smpev} safe\_mode\_protected\_env\_vars = LD\_LIBRARY\_PATH  ; Lista de variables del sistema que\\
-\verb|    |\verb|    |\verb|    |; no pueden ser cambiadas por razones de seguridad\\
-\verb|    |\label{df} disable\_functions =        ; Funciones que ser�n desactivadas por razones de seguridad\\
-\verb|    |\label{auf} allow\_url\_fopen = Yes ; Permitimos que se abran archivos desde PHP\\
-\verb|    |\label{ob} open\_basedir = ;\\
-\\
-; Colores para el modo de s�ntasis coloreada.\\
-\verb|    |highlight.string = \#DD0000\\
-\verb|    |highlight.comment = \#FF8000\\
-\verb|    |highlight.keyword = \#007700\\
-\verb|    |highlight.bg  = \#FFFFFF\\
-\verb|    |highlight.default = \#0000BB\\
-\verb|    |highlight.html  = \#000000\\
-\\
-; Misc\\
-\verb|    |\label{ep}expose\_php = On  ; Indica en el mensaje del servidor web si est� instalado o no.\\
-\\
-; Resource Limits ;\\
-\verb|    |max\_execution\_time = 30     ; Tiempo m�ximo de ejecuci�n del script.\\
-\verb|    |memory\_limit = 16M   ; La cantidad m�xima permitida de memoria que puede consumir un script.\\
-\\
-; Error handling and logging ;\\
-\verb|    |error\_reporting = E\_ALL; Indicamos que muestre todos los errores y avisos.\\
-\verb|    |display\_errors = Off ; Que no los imprima en pantalla.\\
-\verb|    |display\_startup\_errors = Off  ; Que no muestre los errores de arranque de PHP.\\
-\verb|    |log\_errors  = On ; Que env�e los errores a un fichero.\\
-\verb|    |track\_errors = On ; Que guarde el �ltimo error / aviso para \$php\_errormsg (boolean)\\
-\verb|    |error\_log = /var/log/php/php4.log ; Fichero que guardar� los errores\\
-\verb|    |warn\_plus\_overloading = Off  ; No avisamos si se usa el operador + con cadenas de texto\\
-\\
-; Data Handling ;\\
-\verb|    |variables\_order  = "EGPCS" ; Esta directiva describe el orden en el cual\\
-\verb|    |;se registrar�n las variables de PHP (Siendo G=GET, P=POST, C=Cookie,\\
-\verb|    |; E= Sistema, S= Propias de PHP, todas es indicado como EGPCS)\\
-\verb|    |\label{rg} register\_globals = Off  ; No queremos que se registren las EGPCS como globales.\\
-\verb|    |register\_argc\_argv = Off  ; No declaramos ARGV y ARGC para su uso en scripts.\\
-\verb|    |post\_max\_size  = 8M  ; Tama�o m�ximo de un env�o POST que aceptar� PHP.\\
-
-; Magic quotes\\
-\verb|    |\label{mqq}magic\_quotes\_gpc = On  ; Comillas a�adidas para gpc(informaci�n GET/POST/Cookie)\\
-\verb|    |magic\_quotes\_runtime= Off  ; Comillas a�adidas para informaci�n generada por el sistema, \\
-\verb|    |;por ejemplo desde SQL, exec(), etc.\\
-\verb|    |magic\_quotes\_sybase = Off  ; Usar comillas a�adidas al estilo de Sybase \\
-\verb|    |;(escapa ' con '' en lugar de \textbackslash ')\\
-\\
-; Tipo de archivo por defecto de PHP y codificaci�n por defecto.\\
-\verb|    |default\_mimetype = "text/html"\\
-\verb|    |default\_charset = "iso-8859-1"\\
-\\
-; Rutas y directorios ;\\
-\verb|    |\label{ip} include\_path = . ;\\
-\verb|    |doc\_root  =     ; Ra�z de las p�ginas php, mejor dejarlo en blanco.\\
-\verb|    |user\_dir  =     ; Donde php ejecuta el script, tambien mejor en blanco.\\
-\verb|    |;extension\_dir = /usr/lib/php4/apache   ; �Donde estan los m�dulos?\\
-\verb|    |enable\_dl  = Off    ; Permitir o no la carga din�mica de m�dulos con la funci�n dl().\\
-\\
-; Subir ficheros al servidor;\\
-\verb|    |file\_uploads = On    ; Permitir el subir archivos al servidor.\\
-\verb|    |upload\_max\_filesize = 2M      ; Tama�o m�ximo de los archivos que vamos a subir.\\
-\\
-; Extensiones din�micas ;\\
-\verb|    |extension=gd.so		; Graficos\\
-\verb|    |extension=mysql.so	; Mysql\\
-\verb|    |extension=ldap.so	; Ldap\\
-\verb|    |extension=mhash.so	; Mhash\\
-\verb|    |extension=imap.so	; Imap\\
-\verb|    |extension=kadm5.so	; Kerberos\\
-\verb|    |extension=cups.so	; Cupsys\\
-\\
-; Log del sistema\\
-\verb|[Syslog]|\\
-\verb|    |define\_syslog\_variables = Off ; Desactivamos la definici�n de variables de syslog.\\
-\\
-; funciones de correo\\
-\verb|[mail function]|\\
-\verb|    |;sendmail\_path =      ;En sistemas Unix, donde esta hubicado sendmail (por defecto es 'sendmail -t -i')\\
-\\
-; depuraci�n\\
-\verb|[Debugger]|\\
-\verb|    |debugger.host = localhost ; Donde est� el depurador.\\
-\verb|    |debugger.port = 7869	; En que puerto escucha.\\
-\verb|    |debugger.enabled = False ; En principio suponemos que no hay depurados.\\
-\\
-; Opciones SQL\\
-\verb|[SQL]|\\
-\verb|    |sql.safe\_mode = Off	; Modo seguro de sql, en principio estar� desactivado.\\
-\\
-; Opciones Mysql\\
-\verb|[MySQL]|\\
-\verb|    |mysql.allow\_persistent = Off ; Desactivaremos los enlaces persistentes por razones de seguridad.\\
-\verb|    |mysql.max\_persistent = -1 ; Numero de conexiones persistentes, no se usa por haberlas desactivado.\\
-\verb|    |mysql.max\_links   = -1 ; Numero m�ximo de conexiones, -1 es sin limite.\\
-\verb|    |mysql.default\_port  =  3306; Puerto por defecto del mysql.\\
-\verb|    |mysql.default\_socket =  ; Nombre de socket que se usaran para conexiones locales MySQL.\\
-\verb|    |;Si est� vacio se usara el que tengamos en la configuraci�n de la compilaci�n del PHP.\\
-\verb|    |mysql.default\_host  =  ; No configuramos host por defecto.\\
-\verb|    |mysql.default\_user  =  ; No configuramos usuario por defecto.\\
-\verb|    |mysql.default\_password =  ; No configuramos una contrase�a por defecto.\\
-\\
-; Control de sesiones\\
-\verb|[Session]|\\
-\verb|    |session.save\_handler      = files   ; Guardamos la informaci�n de sesi�n en ficheros.\\
-\verb|    |\label{ss} session.save\_path         = /var/lib/php4    ; Donde se van ha guardar los ficheros de sesi�n.\\
-\verb|    |session.use\_cookies       = 1       ; Usaremos cookies para el seguimiento de sesi�n.\\
-\verb|    |session.name              = PHPSESSID   ; Nombre de la sesi�n que ser� usado en el nombre de la cookie.\\
-\verb|    |session.auto\_start        = 0       ; No iniciamos sesi�n autom�ticamente.\\
-\verb|    |session.cookie\_lifetime   = 0       ; Tiempo de vida de una cookie de sesi�n o 0 si esperamos a que cierre el navegador.\\
-\verb|    |session.cookie\_path       = /       ; La ruta para que es v�lida la cookie.\\
-\verb|    |session.cookie\_domain     =         ; El dominio para el cual es v�lida la cookie.\\
-\verb|    |session.serialize\_handler = php     ; Manipulador usado para serializar los datos.\\
-\verb|    |session.gc\_probability    = 1       ; Probabilidad en porcentaje de que el recolector de basura se active en cada sesi�n.\\
-\verb|    |session.gc\_maxlifetime    = 1440    ; Despu�s de este tiempo en segundos, la informaci�n guardada\\
-\verb|    |; ser� vista como basura para el recolector de basura.\\
-\verb|    |session.referer\_check     =         ; Comprueba los Referer HTTP para invalidar URLs externas conteniendo ids\\
-\verb|    |session.entropy\_length    = 0       ; N�mero de bytes a leer del fichero de entrop�a.\\
-\verb|    |session.entropy\_file      =         ; El fichero que generar� la entrop�a.\\
-\verb|    |session.cache\_limiter     = nocache ; Sin cache de sessiones.\\
-\verb|    |session.cache\_expire      = 180     ; Tiempo de expiraci�n del documento.\\
-\verb|    |session.use\_trans\_sid     = 0       ; Usar sid transportable si est� activado en la compilaci�n\\
-\\
-\end{longtable}
-\end{center}
-
-
-\subsection{Seguridad}
-
-Php es un poderoso lenguaje de script, permite a su usuario tener bastante control sobre el sistema y a atacantes maliciosos muchas opciones de alcanzar su objetivo.
-
-Un administrador de sistemas no debe suponer que un sistema es completamente seguro con solo tener las actualizaciones de seguridad instaladas, un sistema que muestra c�digo al exterior no es seguro, aunque el resultado sea HTML, se expone a ataques de formas muy diversas y a fallos de seguridad desconocidos.
-
-Limitar al m�ximo el acceso que permite php es entonces una necesidad.
-
-\subsection{Configurando safe php}
-
-PHP tiene un modo llamado \htmladdnormallink{safe-mode}{http://www.php.net/manual/en/features.safe-mode.php} que permite una mayor seguridad, una configuraci�n para Safe mode recomendada es:\\
-\\
-\noindent \begin{tabular}{|l|}\hline
-\verb|    |\ref{mqq} magic\_quotes\_qpc = On\\
-\verb|    |\ref{auf} allow\_url\_fopen = No\\
-\verb|    |\ref{rg} register\_globals = Off\\
-\verb|    |\ref{sm} safe\_mode = On\\
-\verb|    |\ref{smid} safe\_mode\_include\_dir = "/usr/share/gosa:/var/spool/gosa"\\
-\verb|    |\ref{smed} safe\_mode\_exec\_dir = "/usr/lib/gosa"\\
-\verb|    |\ref{smaev} safe\_mode\_allowed\_env\_vars = PHP\_,LANG\\
-\verb|    |\ref{ob} open\_basedir = "/etc/gosa:/var/spool/gosa:/var/cache/gosa:/usr/share/gosa:/tmp"\\
-\verb|    |\ref{ip} include\_path = ".:/usr/share/php:/usr/share/gosa:/var/spool/gosa:/usr/share/gosa/safe\_bin"\\
-\verb|    |\ref{df} disable\_functions = system, shell\_exec, passthru, phpinfo, show\_source\\
-\hline \end{tabular}
-\\
-En el caso de que vayamos a usar SuPHP, debemos dar los siguientes permisos al directorio /var/lib/php4:\\
-\begin{tabular}{|l|}\hline 
-\#chmod 1777 /var/lib/php4\\
-\hline \end{tabular}
-
-Ya que cada usuario que ejecute PHP guardara la sesi�n con ese usuario.
-
-
-\section{ M�dulos de PHP necesarios}
-
-En esta secci�n se explicaran los pasos para conseguir compilar y usar los m�dulos necesarios o importantes para GOsa, se recomienda instalar todos los m�dulos, incluso los que no son necesarios.
-
-\subsection{ ldap.so}
-
-M�DULO NECESARIO
-
-\indent Este m�dulo no necesita ninguna configuraci�n especial para funcionar.
-
-\indent Solo se conoce un problema: No puede conectarse PHP+Apache con un servidor LDAP que pida Certificado v�lido. Con lo cual la comunicaci�n ser� segura, ya que se puede usar SSL, pero no estar� garantizada.
-
-\subsection{ mysql.so}
-
-M�DULO OPCIONAL
-
-\indent Este m�dulo no necesita ninguna configuraci�n especial para funcionar.
-
-\indent Sirve para albergar configuraciones del plugin imap - sieve.
-
-\subsection{ imap.so}
-
-M�DULO OPCIONAL
-
-\indent El m�dulo instalado al compilar PHP funcionara, pero tendr� una importante carencia, la funci�n getacl que da control sobre las carpetas, as� que necesitaremos un parche y una serie de pasos para compilar el m�dulo para su uso en GOsa.
-
-Nos bajamos el parche de \htmladdnormallink{php4-imap-getacl.patch}{ftp://oss.gonicus.de/pub/gosa/patches/php4-imap-getacl.patch} y lo ponemos en /usr/src, como tenemos las fuentes de PHP en /usr/src, ejecutamos los siguientes comandos:\\
-\\
-\noindent \begin{tabular}{|l|}\hline
-\#cd /usr/src/php4.3-XXX/extensions/imap\\
-\#make clear\\
-\#patch -p1 </usr/src/patch/php4-imap-getacl.patch\\
-\#phpize\\
-\#./configure\\
-\#make\\
-\#make install\\
-\hline \end{tabular}
-
-
-Esto configurara e instalara correctamente el m�dulo.
-
-\subsection{ gd.so}
-
-M�DULO OPCIONAL
-
-\indent Este m�dulo no necesita ninguna configuraci�n especial para funcionar.
-
-\indent El m�dulo es usado para el manejo de gr�ficos, tambien usado por el sistema de plantillas smarty.
-
-\subsection{cups}
-
-M�DULO OPCIONAL
-
-\indent Para utilizar el m�dulo Cups para la selecci�n de la impresora en Posix, primero debemos descargar las fuentes de cups de \htmladdnormallink{http://www.cups.org/software.php}{http://www.cups.org/software.php} y descomprimirlas en /usr/src, ejecutamos entonces los siguientes comandos:\\
-\\
-\noindent \begin{tabular}{|l|}\hline
-\#cd /usr/src/cups-1.1.XX/scripting/php\\
-\#phpize\\
-\#./configure\\
-\#make\\
-\#make install\\
-\#echo \verb|"extension=cups.so" >>| /etc/php4/apache2/php.init\\
-\#/etc/init.d/apache2 reload\\
-\hline \end{tabular}
-
-
-\subsection{krb}
-
-M�DULO OPCIONAL
-
-\indent Este m�dulo necesita tener instaladas las fuentes de kerberos del MIT, ya que no se puede compilar con las fuentes de kerberos de Heimdal.
-
-\indent El m�dulo interactuar� con los servidores Kerberos para actualizar las claves de los usuarios creados.
-
-Se descargara de \htmladdnormallink{PECL}{http://pecl.php.net/kadm5}, y lo descomprimiremos en /usr/src, debemos tener tambien las fuentes del kerberos del MIT, las cuales descomprimiremos en /usr/src, con ello hacemos (sustituimos X.X por las respectivas versiones de los programas):\\
-\\
-\noindent \begin{tabular}{|l|}\hline
-\#cd /usr/src/kadm5-0.X.X/scripting/php\\
-\#cp config.m4 config.m4.2\\
-\#sed \verb|s/krb5-1\.2\.4\/src\/include/krb5-1\.X\.X\/src\/lib/| config.m4.2 >config.m4\\
-\#rm -f config.m4.2\\
-\#phpize\\
-\#./configure\\
-\#make\\
-\#make install\\
-\#echo \verb|"extension=kadm5.so" >>| /etc/php4/apache2/php.ini\\
-\#/etc/init.d/apache2 reload\\
-\hline \end{tabular}
-
-
diff --git a/gosa-core/gosa-encrypt-passwords.pod b/gosa-core/gosa-encrypt-passwords.pod
index 9dce86e..9f41356 100644
--- a/gosa-core/gosa-encrypt-passwords.pod
+++ b/gosa-core/gosa-encrypt-passwords.pod
@@ -22,7 +22,7 @@ Please report any bugs, or post any suggestions, to the GOsa mailing list <gosa-
 
 This code is part of GOsa (L<http://www.gosa-project.org>)
 
-Copyright (C) 2003-2010 GONICUS GmbH
+Copyright (C) 2003-2009 GONICUS GmbH
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/gosa-core/html/autocomplete.php b/gosa-core/html/autocomplete.php
index e6bbdbd..fa48fab 100644
--- a/gosa-core/html/autocomplete.php
+++ b/gosa-core/html/autocomplete.php
@@ -30,54 +30,63 @@ session::global_set('errorsAlreadyPosted',array());
 
 /* Logged in? Simple security check */
 if (!session::global_is_set('ui')){
-  new log("security","unknown","",array(),"Error: autocomplete.php called without session") ;
-  header ("Location: index.php");
-  exit;
+    new log("security","unknown","",array(),"Error: autocomplete.php called without session") ;
+    header ("Location: index.php");
+    exit;
 }
 
 /* Base completition or filter completition? */
-if (isset($_GET['type']) && $_GET['type'] == "base") {
+if (isset($_GET['type']) && $_GET['type'] == "base" && isset($_GET['pid'])) {
+    
+    // Find dn based on name and description
+    $pid = $_GET['pid'];
+    if (session::is_set("pathMapping_{$pid}")){
+        $res= "";
+        $pathMapping= session::get("pathMapping_{$pid}");
+        $department_info= session::get("department_info_{$pid}");
 
-  // Find dn based on name and description
-  if (session::is_set("pathMapping") && count($_POST) == 1) {
-    $res= "";
-    $pathMapping= session::get("pathMapping");
-    $search= preg_replace('/"/', '"', current($_POST));
 
-    $config = session::global_get('config');
-    foreach ($config->department_info as $dn => $info) {
-      if (!isset($pathMapping[$dn])) {
-        continue;
-      }
-      if (mb_stristr($info['name'], $search) !== false) {
-        $res.= "<li>".mark($search, $pathMapping[$dn]).($info['description']==''?"":"<span class='informal'> [".mark($search, $info['description'])."]</span>")."</li>";
-        continue;
-      }
-      if (mb_stristr($info['description'], $search) !== false) {
-        $res.= "<li>".mark($search, $pathMapping[$dn]).($info['description']==''?"":"<span class='informal'> [".mark($search, $info['description'])."]</span>")."</li>";
-        continue;
-      }
-      if (mb_stristr($pathMapping[$dn], $search) !== false) {
-        $res.= "<li>".mark($search, $pathMapping[$dn]).($info['description']==''?"":"<span class='informal'> [".mark($search, $info['description'])."]</span>")."</li>";
-        continue;
-      }
-    }
+        $search= preg_replace('/"/', '"', current($_POST));
+        foreach ($department_info as $dn => $info) {
+
+            if (!isset($pathMapping[$dn])) {
+
 
-    /* Return results */
-    if (!empty($res)) {
-      echo "<ul>$res</ul>";
+                continue;
+            }
+            if (mb_stristr($info['name'], $search) !== false) {
+                $res.= "<li>".mark($search, $pathMapping[$dn]).($info['description']==''?""
+                        :"<span class='informal'> [".mark($search, $info['description'])."]</span>")."</li>";
+                continue;
+            }
+            if (mb_stristr($info['description'], $search) !== false) {
+                $res.= "<li>".mark($search, $pathMapping[$dn]).($info['description']==''?""
+                        :"<span class='informal'> [".mark($search, $info['description'])."]</span>")."</li>";
+                continue;
+            }
+            if (mb_stristr($pathMapping[$dn], $search) !== false) {
+                $res.= "<li>".mark($search, $pathMapping[$dn]).($info['description']==''?""
+                        :"<span class='informal'> [".mark($search, $info['description'])."]</span>")."</li>";
+                continue;
+            }
+        }
+
+        /* Return results */
+        if (!empty($res)) {
+            echo "<ul>$res</ul>";
+        }
     }
-  }
 
 } else {
 
-  $ui = session::global_get('ui');
+    $ui = session::global_get('ui');
+    $config = session::global_get('config');
 
-  /* Is there a filter object arround? */
-  if (session::is_set("autocomplete")){
-    $filter= session::get("autocomplete");
-    $filter->processAutocomplete();
-  }
+    /* Is there a filter object arround? */
+    if (session::is_set("autocomplete")){
+        $filter= session::get("autocomplete");
+        $filter->processAutocomplete();
+    }
 }
 
 ?>
diff --git a/gosa-core/html/helpviewer.php b/gosa-core/html/helpviewer.php
index 6d6fdd3..191b863 100644
--- a/gosa-core/html/helpviewer.php
+++ b/gosa-core/html/helpviewer.php
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: helpviewer.php 18954 2010-07-07 15:32:49Z hickert $$
+ * ID: $$Id: helpviewer.php 19290 2010-07-29 16:21:26Z cajus $$
  *
  * 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
@@ -42,7 +42,7 @@ $ui= session::global_get('ui');
 $config= session::global_get('config');
 
 /* Language setup */
-$lang= $config->get_cfg_value("language");
+$lang= $config->get_cfg_value("core","language");
 if ($lang == ""){
   $lang= get_browser_language();
 }
@@ -60,7 +60,7 @@ bindtextdomain($domain, LOCALE_DIR);
 textdomain($domain);
 @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $lang, "Setting language to");
 
-$smarty->compile_dir= $config->get_cfg_value("templateCompileDirectory", "/var/spool/gosa/");
+$smarty->compile_dir= $config->get_cfg_value("core","templateCompileDirectory");
 $smarty->assign("title", "GOsa - "._("Help browser"));
 
 /* HELP management starts here ...
@@ -115,8 +115,7 @@ if(session::global_is_set('current_class_for_help')){
   /* If there is no entry in the xml file for this class, display an error message */
   if($helpdir == ""){
     
-    $smarty->assign("help_contents","<br><h2>"._("There is no helpfile specified for this class"))."</h2>";
-    $smarty->assign("iePngWorkaround", $config->get_cfg_value("iePngWorkaround","false" ) == "true");
+    $smarty->assign("help_contents","<br><h2>"._("There is no help file specified for this class"))."</h2>";
     $header= "<!-- headers.tpl-->".$smarty->fetch(get_template_path('headers.tpl'));
     $display= (  $header.$smarty->fetch(get_template_path('help.tpl')));
     echo $display;
@@ -266,7 +265,7 @@ if(isset($_POST['search'])){
 }else{
   
   /* There was a file requested which actually doesn't exists */
-  $smarty->assign("help_contents","<h2>".sprintf(_("Helpdir '%s' is not accessible, can't read any helpfiles."),$helpdir))."</h2><br>";
+  $smarty->assign("help_contents","<h2>".sprintf(_("Help directory '%s' is not accessible, can't read any help files."),$helpdir))."</h2><br>";
   $header= "<!-- headers.tpl-->".$smarty->fetch(get_template_path('headers.tpl'));
   $display= (  $header.$smarty->fetch(get_template_path('help.tpl')));
   echo $display;
diff --git a/gosa-core/html/images/branch.gif b/gosa-core/html/images/branch.gif
deleted file mode 100644
index 9fe34c0..0000000
Binary files a/gosa-core/html/images/branch.gif and /dev/null differ
diff --git a/gosa-core/html/images/branchbottom.gif b/gosa-core/html/images/branchbottom.gif
deleted file mode 100644
index 278f6da..0000000
Binary files a/gosa-core/html/images/branchbottom.gif and /dev/null differ
diff --git a/gosa-core/html/images/branchtop.gif b/gosa-core/html/images/branchtop.gif
deleted file mode 100644
index 3d469d0..0000000
Binary files a/gosa-core/html/images/branchtop.gif and /dev/null differ
diff --git a/gosa-core/html/images/caps.png b/gosa-core/html/images/caps.png
new file mode 100644
index 0000000..2787335
Binary files /dev/null and b/gosa-core/html/images/caps.png differ
diff --git a/gosa-core/html/images/checked.png b/gosa-core/html/images/checked.png
new file mode 100644
index 0000000..0b3cf3f
Binary files /dev/null and b/gosa-core/html/images/checked.png differ
diff --git a/gosa-core/html/images/configure.png b/gosa-core/html/images/configure.png
new file mode 100644
index 0000000..a5f3308
Binary files /dev/null and b/gosa-core/html/images/configure.png differ
diff --git a/gosa-core/html/images/error.png b/gosa-core/html/images/error.png
index 1de7a6f..0902202 100644
Binary files a/gosa-core/html/images/error.png and b/gosa-core/html/images/error.png differ
diff --git a/gosa-core/html/images/filter.png b/gosa-core/html/images/filter.png
new file mode 100644
index 0000000..9cabc5a
Binary files /dev/null and b/gosa-core/html/images/filter.png differ
diff --git a/gosa-core/html/images/find.png b/gosa-core/html/images/find.png
new file mode 100644
index 0000000..ad916d1
Binary files /dev/null and b/gosa-core/html/images/find.png differ
diff --git a/gosa-core/html/images/folder-expanded.gif b/gosa-core/html/images/folder-expanded.gif
deleted file mode 100644
index f779acc..0000000
Binary files a/gosa-core/html/images/folder-expanded.gif and /dev/null differ
diff --git a/gosa-core/html/images/folder.gif b/gosa-core/html/images/folder.gif
deleted file mode 100644
index 842989f..0000000
Binary files a/gosa-core/html/images/folder.gif and /dev/null differ
diff --git a/gosa-core/html/images/info.png b/gosa-core/html/images/info.png
index 3626ba7..8f3a936 100644
Binary files a/gosa-core/html/images/info.png and b/gosa-core/html/images/info.png differ
diff --git a/gosa-core/html/images/label-busy.png b/gosa-core/html/images/label-busy.png
new file mode 100644
index 0000000..2929bbc
Binary files /dev/null and b/gosa-core/html/images/label-busy.png differ
diff --git a/gosa-core/html/images/label-error.png b/gosa-core/html/images/label-error.png
new file mode 100644
index 0000000..e929a6a
Binary files /dev/null and b/gosa-core/html/images/label-error.png differ
diff --git a/gosa-core/html/images/label-info.png b/gosa-core/html/images/label-info.png
new file mode 100644
index 0000000..98260a4
Binary files /dev/null and b/gosa-core/html/images/label-info.png differ
diff --git a/gosa-core/html/images/label-locked.png b/gosa-core/html/images/label-locked.png
new file mode 100644
index 0000000..c2791e1
Binary files /dev/null and b/gosa-core/html/images/label-locked.png differ
diff --git a/gosa-core/html/images/label-new.png b/gosa-core/html/images/label-new.png
new file mode 100644
index 0000000..dff21d7
Binary files /dev/null and b/gosa-core/html/images/label-new.png differ
diff --git a/gosa-core/html/images/label-warning.png b/gosa-core/html/images/label-warning.png
new file mode 100644
index 0000000..3cb42ab
Binary files /dev/null and b/gosa-core/html/images/label-warning.png differ
diff --git a/gosa-core/html/images/layer_menu/down-arrow.png b/gosa-core/html/images/layer_menu/down-arrow.png
deleted file mode 100644
index f0fb47d..0000000
Binary files a/gosa-core/html/images/layer_menu/down-arrow.png and /dev/null differ
diff --git a/gosa-core/html/images/layer_menu/forward-arrow.png b/gosa-core/html/images/layer_menu/forward-arrow.png
deleted file mode 100644
index 4f3189a..0000000
Binary files a/gosa-core/html/images/layer_menu/forward-arrow.png and /dev/null differ
diff --git a/gosa-core/html/images/layer_menu/transparent.png b/gosa-core/html/images/layer_menu/transparent.png
deleted file mode 100644
index 793f790..0000000
Binary files a/gosa-core/html/images/layer_menu/transparent.png and /dev/null differ
diff --git a/gosa-core/html/images/ldapserver.png b/gosa-core/html/images/ldapserver.png
deleted file mode 100644
index 313a661..0000000
Binary files a/gosa-core/html/images/ldapserver.png and /dev/null differ
diff --git a/gosa-core/html/images/lists/back_grey.png b/gosa-core/html/images/lists/back_grey.png
deleted file mode 100644
index df2e987..0000000
Binary files a/gosa-core/html/images/lists/back_grey.png and /dev/null differ
diff --git a/gosa-core/html/images/lists/copy.png b/gosa-core/html/images/lists/copy.png
index c3ff243..5cdeb5f 100644
Binary files a/gosa-core/html/images/lists/copy.png and b/gosa-core/html/images/lists/copy.png differ
diff --git a/gosa-core/html/images/lists/cut.png b/gosa-core/html/images/lists/cut.png
index 7ec355a..f4a55e3 100644
Binary files a/gosa-core/html/images/lists/cut.png and b/gosa-core/html/images/lists/cut.png differ
diff --git a/gosa-core/html/images/lists/edit-grey.png b/gosa-core/html/images/lists/edit-grey.png
deleted file mode 100644
index 5d367fb..0000000
Binary files a/gosa-core/html/images/lists/edit-grey.png and /dev/null differ
diff --git a/gosa-core/html/images/lists/edit.png b/gosa-core/html/images/lists/edit.png
index a8b69f7..84e345d 100644
Binary files a/gosa-core/html/images/lists/edit.png and b/gosa-core/html/images/lists/edit.png differ
diff --git a/gosa-core/html/images/lists/element.png b/gosa-core/html/images/lists/element.png
new file mode 100644
index 0000000..7ef47b3
Binary files /dev/null and b/gosa-core/html/images/lists/element.png differ
diff --git a/gosa-core/html/images/lists/folder.png b/gosa-core/html/images/lists/folder.png
index f7e8c35..536da3d 100644
Binary files a/gosa-core/html/images/lists/folder.png and b/gosa-core/html/images/lists/folder.png differ
diff --git a/gosa-core/html/images/lists/folder_grey.png b/gosa-core/html/images/lists/folder_grey.png
deleted file mode 100644
index 07d1d42..0000000
Binary files a/gosa-core/html/images/lists/folder_grey.png and /dev/null differ
diff --git a/gosa-core/html/images/lists/home_grey.png b/gosa-core/html/images/lists/home_grey.png
deleted file mode 100644
index 9fb42ff..0000000
Binary files a/gosa-core/html/images/lists/home_grey.png and /dev/null differ
diff --git a/gosa-core/html/images/lists/locked.png b/gosa-core/html/images/lists/locked.png
index 04a05c1..c6d26f9 100644
Binary files a/gosa-core/html/images/lists/locked.png and b/gosa-core/html/images/lists/locked.png differ
diff --git a/gosa-core/html/images/lists/new.png b/gosa-core/html/images/lists/new.png
deleted file mode 100644
index 43b0c6c..0000000
Binary files a/gosa-core/html/images/lists/new.png and /dev/null differ
diff --git a/gosa-core/html/images/lists/paste-grey.png b/gosa-core/html/images/lists/paste-grey.png
deleted file mode 100644
index fdcc88d..0000000
Binary files a/gosa-core/html/images/lists/paste-grey.png and /dev/null differ
diff --git a/gosa-core/html/images/lists/restore.png b/gosa-core/html/images/lists/restore.png
index 037c2da..cb457a5 100644
Binary files a/gosa-core/html/images/lists/restore.png and b/gosa-core/html/images/lists/restore.png differ
diff --git a/gosa-core/html/images/lists/restore_grey.png b/gosa-core/html/images/lists/restore_grey.png
deleted file mode 100644
index d10adae..0000000
Binary files a/gosa-core/html/images/lists/restore_grey.png and /dev/null differ
diff --git a/gosa-core/html/images/lists/root_grey.png b/gosa-core/html/images/lists/root_grey.png
deleted file mode 100644
index 9dffb4e..0000000
Binary files a/gosa-core/html/images/lists/root_grey.png and /dev/null differ
diff --git a/gosa-core/html/images/lists/trash-grey.png b/gosa-core/html/images/lists/trash-grey.png
deleted file mode 100644
index 030d38a..0000000
Binary files a/gosa-core/html/images/lists/trash-grey.png and /dev/null differ
diff --git a/gosa-core/html/images/lists/trash.png b/gosa-core/html/images/lists/trash.png
index f5cb2b8..1d20a3d 100644
Binary files a/gosa-core/html/images/lists/trash.png and b/gosa-core/html/images/lists/trash.png differ
diff --git a/gosa-core/html/images/lists/unlocked.png b/gosa-core/html/images/lists/unlocked.png
index 3a1a0d3..143bee4 100644
Binary files a/gosa-core/html/images/lists/unlocked.png and b/gosa-core/html/images/lists/unlocked.png differ
diff --git a/gosa-core/html/images/login-head.png b/gosa-core/html/images/login-head.png
deleted file mode 100644
index 45e3c35..0000000
Binary files a/gosa-core/html/images/login-head.png and /dev/null differ
diff --git a/gosa-core/html/images/login.png b/gosa-core/html/images/login.png
deleted file mode 100644
index 01cb4ac..0000000
Binary files a/gosa-core/html/images/login.png and /dev/null differ
diff --git a/gosa-core/html/images/minus.gif b/gosa-core/html/images/minus.gif
deleted file mode 100644
index 5ecff71..0000000
Binary files a/gosa-core/html/images/minus.gif and /dev/null differ
diff --git a/gosa-core/html/images/minustop.gif b/gosa-core/html/images/minustop.gif
deleted file mode 100644
index bab71e2..0000000
Binary files a/gosa-core/html/images/minustop.gif and /dev/null differ
diff --git a/gosa-core/html/images/null.gif b/gosa-core/html/images/null.gif
deleted file mode 100644
index c5b2954..0000000
Binary files a/gosa-core/html/images/null.gif and /dev/null differ
diff --git a/gosa-core/html/images/password.png b/gosa-core/html/images/password.png
deleted file mode 100644
index cfe82a9..0000000
Binary files a/gosa-core/html/images/password.png and /dev/null differ
diff --git a/gosa-core/html/images/plus.gif b/gosa-core/html/images/plus.gif
deleted file mode 100644
index 2671205..0000000
Binary files a/gosa-core/html/images/plus.gif and /dev/null differ
diff --git a/gosa-core/html/images/plusbottom.gif b/gosa-core/html/images/plusbottom.gif
deleted file mode 100644
index ba007c6..0000000
Binary files a/gosa-core/html/images/plusbottom.gif and /dev/null differ
diff --git a/gosa-core/html/images/plustop.gif b/gosa-core/html/images/plustop.gif
deleted file mode 100644
index 37ef1ae..0000000
Binary files a/gosa-core/html/images/plustop.gif and /dev/null differ
diff --git a/gosa-core/html/images/save.png b/gosa-core/html/images/save.png
index 6a9adc1..8072aea 100644
Binary files a/gosa-core/html/images/save.png and b/gosa-core/html/images/save.png differ
diff --git a/gosa-core/html/images/select_department.png b/gosa-core/html/images/select_department.png
index 2eeff8e..1484c5c 100644
Binary files a/gosa-core/html/images/select_department.png and b/gosa-core/html/images/select_department.png differ
diff --git a/gosa-core/html/images/toolbar-warning.png b/gosa-core/html/images/toolbar-warning.png
new file mode 100644
index 0000000..8e91337
Binary files /dev/null and b/gosa-core/html/images/toolbar-warning.png differ
diff --git a/gosa-core/html/images/warning.png b/gosa-core/html/images/warning.png
index d83f349..80bd694 100644
Binary files a/gosa-core/html/images/warning.png and b/gosa-core/html/images/warning.png differ
diff --git a/gosa-core/html/images/welcome.png b/gosa-core/html/images/welcome.png
deleted file mode 100644
index fac7493..0000000
Binary files a/gosa-core/html/images/welcome.png and /dev/null differ
diff --git a/gosa-core/html/include/gosa.js b/gosa-core/html/include/gosa.js
index b614b56..e72ef9c 100644
--- a/gosa-core/html/include/gosa.js
+++ b/gosa-core/html/include/gosa.js
@@ -22,13 +22,14 @@
 /* Install event handlers */
 Event.observe(window, 'resize', resizeHandler);
 Event.observe(window, 'load', resizeHandler);
+Event.observe(window, 'load', initProgressPie);
 Event.observe(window, 'keypress', keyHandler);
 
 
 /* Ask before switching a plugin with this function */
 function question(text, url)
 {
-	if(document.mainform.ignore){
+	if(document.mainform.ignore || $('pluginModified') == null || $('pluginModified').value == 0){
 		location.href= url;
 		return true;
 	}
@@ -80,90 +81,78 @@ function acl_set_all(regex,value)
 /* Toggle checkbox that matches regex */
 function acl_toggle_all(regex)
 {
-	for (var i = 0; i < document.mainform.elements.length; i++) {
-		var _id=document.mainform.elements[i].id;
-		if(_id.match(regex)) {
-			if (document.getElementById(_id).checked == true){
-				document.getElementById(_id).checked= false;
-			} else {
-				document.getElementById(_id).checked= true;
-			}
-		}
-	}
+    for (var i = 0; i < document.mainform.elements.length; i++) {
+        var _id=document.mainform.elements[i].id;
+        if(_id.match(regex)) {
+            if (document.getElementById(_id).checked == true){
+                document.getElementById(_id).checked= false;
+            } else {
+                document.getElementById(_id).checked= true;
+            }
+        }
+    }
 }
 
 
 /* Global key handler to estimate which element gets the next focus if enter is pressed */
 function keyHandler(DnEvents) {
-	// determines whether Netscape or Internet Explorer
-	k = (Prototype.Browser.Gecko) ? DnEvents.keyCode : window.event.keyCode;
-	if (k == 13) { // enter key pressed
-		if(typeof(nextfield)!='undefined') {
-			if(nextfield == 'login') {
-				return true; // submit, we finished all fields
-			} else { // we are not done yet, send focus to next box
-				eval('document.mainform.' + nextfield + '.focus()');
-				return false;
-			}
-		} else {
-			if(Prototype.Browser.Gecko) {
-				if(DnEvents.target.type == 'textarea') {
-					return true;
-				} else if (DnEvents.target.type != 'submit') {
-					// TAB
-					var thisfield = document.getElementById(DnEvents.target.id);
-					for (i = 0; i < document.forms[0].elements.length; i++) {
-						if(document.forms[0].elements[i].id==thisfield.id) {
-							// Last form element on page?
-							if(i!=document.forms[0].elements.length-1) {
-								document.forms[0].elements[i+1].focus();
-							}
-						}
-					}
-					return false;
-				} else {
-					return true;
-				}
-				// Check for konqueror
-			} else if(document.clientWidth) {
-				// do nothing ATM
-			} else {
-				if(window.event.srcElement.type == 'textarea') {
-					return true;
-				} else if (window.event.srcElement.type != 'submit') {
-					// TAB
-					var thisfield = document.getElementById(window.event.srcElement.id);
-					for (i = 0; i < document.forms[0].elements.length; i++) {
-						if(document.forms[0].elements[i].id==thisfield.id) {
-							// Last form element on page?
-							if(i!=document.forms[0].elements.length-1) {
-								document.forms[0].elements[i+1].focus();
-							}
-						}
-					}
-					return false;
-				} else {
-					return true;
-				}
-			}
-		}
-	} else if (k==9) {
-		// Tab key pressed
-		if(Prototype.Browser.Gecko) {
-			if(DnEvents.target.type == 'textarea') {
-				document.getElementById(DnEvents.target.id).value+="\t";
-				return false;
-			}
-			// Check for konqueror
-		} else if(document.clientWidth) {
-			// do nothing ATM
-		} else {
-			if(window.event.srcElement.type == 'textarea') {
-				document.getElementById(window.event.srcElement.id).value+="\t";
-				return false;
-			}
-		}
-	}
+
+    var element = Event.element(DnEvents);
+
+    // determines whether Netscape or Internet Explorer
+    k = (Prototype.Browser.Gecko) ? DnEvents.keyCode : window.event.keyCode;
+    if (k == 13 && element.type!='textarea') { // enter key pressed
+
+        // Stop 'Enter' key-press from beeing processed internally
+        Event.stop(DnEvents);
+
+        // No nextfield explicitly specified 
+        var next_element = null;
+        if(typeof(nextfield)!='undefined') {
+            next_element = $(nextfield);
+        }
+       
+        // nextfield not given or invalid
+        if(!next_element || typeof(nextfield)=='undefined'){
+            next_element = getNextInputElement(element);
+        }
+
+        if(element != null && element.type == 'submit'){
+
+            // If the current element is of type submit, then submit the button else set focus
+            element.click();
+            return(false);
+        }else if(next_element!=null && next_element.type == 'submit'){
+        
+            // If next element is of type submit, then submit the button else set focus
+            next_element.click();
+            return(false);
+        }else if(next_element){
+            next_element.focus();
+            return;
+        }
+    
+    } else if (k==9 && element.type=='textarea') {
+        Event.stop(DnEvents);
+        element.value += "\t";
+        return false;
+    }
+}
+
+function getNextInputElement(element)
+{
+    var found = false;
+    for (var e=0;e< document.forms.length; e++){
+        for (var i = 0; i < document.forms[e].elements.length; i++) {           
+            var el = document.forms[e].elements[i]
+            if(found && !el.disabled && el.type!='hidden' && !el.name.match(/^submit_tree_base/) && !el.name.match(/^bs_rebase/)){
+                return(el);    
+            }                                                           
+            if((el.id != "" && el.id==element.id) || (el.name != "" && el.name==element.name)){        
+                found =true;
+            }
+        }                                                              
+    }                                                              
 }
 
 function changeState() {
@@ -214,13 +203,6 @@ function changeTripleSelectState_2nd_neg(firstTriggerField, secondTriggerField,
 	}
 }
 
-// work together to analyze keystrokes
-if (Prototype.Browser.Gecko){
-	window.onkeypress= keyHandler;
-} else {
-	document.onkeydown= keyHandler;
-}
-
 
 function popup(target, name) {
 	var mypopup= 
@@ -274,61 +256,33 @@ function divGOsa_toggle(element) {
 }
 
 function resizeHandler (e) {
-	if (!e) e=window.event;
-	if (document.getElementById("menucell") && document.getElementById("d_scrollbody")) {
-		var inner_height= window.innerHeight;
-		var min_height= 450;
-		var px_height= min_height;
-		var suggested= px_height;
-
-		// document.defaultView allows access to the rendered size of elements and should be supported by modern browsers
-		if(document.defaultView) {
-			var menu_height= 0;
-			if (document.getElementById("d_height")){
-				suggested= parseInt(document.getElementById("d_height").value);
-			} else {
-				menu_height=parseInt(document.defaultView.getComputedStyle(document.getElementById("menucell"),"").getPropertyValue('height'));
-				// Minimum height for divlist should be the bottom edge of the menu
-				min_height= menu_height-197;
-				suggested= min_height;
-				if((inner_height-230)-suggested>0) {
-					suggested= inner_height-230;
-				}
-
-			}
-
-			// IE uses other height specifications
-		} else if (Prototype.Browser.IE) {
-			suggested= document.all.menucell.offsetHeight;
-			offset= absTop(d_scrollbody);
-			suggested-= offset;
-			if((inner_height-230)-suggested>0) {
-				suggested= inner_height-230;
-			}
-		}
-
-		/* Reduce height if a list footer is set */
-		if(document.getElementById("t_scrollfoot")){
-			suggested = suggested -20;
-		}
-
-		if (!document.getElementById("list_workaround")) {
-			document.getElementById("d_scrollbody").style.height=suggested+"px";
+	if (!e) e= window.event;
+
+    	// This works with FF / IE9. If Apples resolves a bug in webkit,
+    	// it works with Safari/Chrome, too.
+	if ($("d_scrollbody") && $("t_nscrollbody")) {
+      		var contentHeight= document.viewport.getHeight() - 216;
+      		if ($$('div.plugin-actions').length != 0) {
+        		var height= 0;
+        		$$('div.plugin-actions').each(function(s) {
+          			height+= s.getHeight();
+        		});
+        		contentHeight-= height + 25;
+      		}
+
+		if (Prototype.Browser.Gecko || Prototype.Browser.IE) {
+	      		document.getElementById('d_scrollbody').style.height = contentHeight+23+'px';
+	      		document.getElementById('t_nscrollbody').style.height = contentHeight+'px';
 		} else {
-			if (!Prototype.Browser.IE) {
-				current_height= parseInt(document.defaultView.getComputedStyle(document.getElementById("t_nscrollbody"),"").getPropertyValue('height'));
-				if (current_height < menu_height) {
-					document.getElementById("d_scrollbody").style.height=suggested+20+"px";
-				}
-			}
+	      		document.getElementById('d_scrollbody').style.minHeight = contentHeight+23+'px';
+	      		document.getElementById('t_nscrollbody').style.minHeight = contentHeight+'px';
 		}
-		if (document.getElementById("t_nscrollbody")) {
-			document.getElementById("t_nscrollbody").style.height=(suggested-22)+"px";
-		}
-	}
+    	}
+
 	return true;
 }
 
+
 function absTop(e) {
 	return (e.offsetParent)?e.offsetTop+absTop(e.offsetParent) : e.offsetTop;
 }
@@ -349,7 +303,7 @@ function focus_field()
 		var tmp = document.getElementsByName(focus_field.arguments[i]);
 		for(e = 0 ; e < tmp.length ; e ++ ){
 
-			if(tmp[e].disabled != true &&  tmp[e].type != "none" && tmp[e].type != "hidden" ){
+			if(isVisible(tmp[e])){
 				found = true;
 				element = tmp[e];
 				break;
@@ -539,6 +493,145 @@ function move_div_by_cursor(e)
 }
 
 
+function isVisible(obj)
+{
+    if (obj == document) return true
+
+    if (!obj) return false
+    if (!obj.parentNode) return false
+    if (obj.style) {
+        if (obj.style.display == 'none') return false
+        if (obj.style.visibility == 'hidden') return false
+    }
+
+    //Try the computed style in a standard way
+    if (window.getComputedStyle) {
+        var style = window.getComputedStyle(obj, "")
+        if (style.display == 'none') return false
+        if (style.visibility == 'hidden') return false
+    }
+
+    //Or get the computed style using IE's silly proprietary way
+    var style = obj.currentStyle
+    if (style) {
+        if (style['display'] == 'none') return false
+        if (style['visibility'] == 'hidden') return false
+    }
+
+    return isVisible(obj.parentNode)
+}
+
+
+/* Check if capslock is enabled */
+function capslock(e) {
+    e = (e) ? e : window.event;
+
+    var charCode = false;
+    if (e.which) {
+        charCode = e.which;
+    } else if (e.keyCode) {
+        charCode = e.keyCode;
+    }
+
+    var shifton = false;
+    if (e.shiftKey) {
+        shifton = e.shiftKey;
+    } else if (e.modifiers) {
+        shifton = !!(e.modifiers & 4);
+    }
+
+    if (charCode >= 97 && charCode <= 122 && shifton) {
+        return true;
+    }
+
+    if (charCode >= 65 && charCode <= 90 && !shifton) {
+        return true;
+    }
+
+    return false;
+}
+
+function setProgressPie(context, percent)
+{
+    context.clearRect(0, 0, 22, 22);
+
+    var r = "FF";
+    var g = "FF";
+    var b = "FF";
+
+    // Fade yellow
+    if (percent > 50) {
+        d = 255 - parseInt((percent-50) * 255 / 50)
+            b = d.toString(16);
+    }
+
+    // Fade red
+    if (percent > 75) {
+        d = 255 - parseInt((percent-75) * 255 / 25)
+            g = d.toString(16);
+    }
+
+    context.strokeStyle = "#" + r  + g + b
+        context.fillStyle = context.strokeStyle;
+
+    context.beginPath();
+    context.moveTo(11,11)
+        context.arc(11,11,8,-Math.PI/2,-Math.PI/2 + Math.PI*percent/50,true);
+    context.closePath();
+    context.fill();
+
+    context.moveTo(11,11)
+        context.beginPath();
+    context.arc(11,11,8,0,Math.PI*2,false);
+    context.closePath();
+    context.stroke();
+}
+
+function initProgressPie(){
+    var canvas = $('sTimeout');
+
+    // Check the element is in the DOM and the browser supports canvas
+    if(canvas && canvas.getContext) {
+        var percent = 0.01;
+        var context = canvas.getContext('2d');
+        setProgressPie(context, percent);
+
+        // Extract timeout and title string out out canvas.title
+        var data = canvas.title;
+        var timeout = data.replace(/\|.*$/,'');
+        var title = data.replace(/^.*\|/,'');
+        var interval = 1;
+        var time = 0;
+        setInterval(function() {
+
+                // Calculate percentage 
+                percent+= (interval / timeout) * 100;
+
+                // Increase current time by interval
+                time += interval;
+
+                // Generate title
+                var minutes = parseInt((timeout-time) / 60 );
+                var seconds = '' + parseInt((timeout-time) % 60);
+                if(seconds.length == 1) seconds = '0' + seconds ;
+                minutes = minutes + ':' + seconds;
+
+                // Set new  canval title
+                canvas.title=  title.replace(/%d/ ,minutes);
+                setProgressPie(context, percent);
+
+                if (percent>99) percent= 99;
+                }, (interval * 1000));
+    }
+}
+
+/* Scroll down the body frame */
+function scrollDown2()
+{
+    document.body.scrollTop = document.body.scrollHeight - document.body.clientHeight;
+}
+
+
 // Global storage for baseSelector timer
 var rtimer;
 
diff --git a/gosa-core/html/include/png.js b/gosa-core/html/include/png.js
deleted file mode 100644
index 36a8bfc..0000000
--- a/gosa-core/html/include/png.js
+++ /dev/null
@@ -1,85 +0,0 @@
-if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent)
-	window.attachEvent("onload", pngLoadPngs);
-
-// parses all images //public
-function pngLoadPngs()
-{
-	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
-	var itsAllGood = (rslt != null && Number(rslt[1]) > 5.5);
-
-	if (itsAllGood) {
-		for (var i = 0; i < document.images.length; i++) {
-			pngLoad(document.images[i]);
-		}
-		for (var i = 0; i < document.getElementsByTagName("input").length; i++) {
-			var img = document.getElementsByTagName("input")[i];
-			if(typeof img.type == "string" && img.type == "image") {
-				pngLoad(img);
-			}
-		}
-	}
-}
-
-// loads an image, src is optional // public
-function pngLoad(img,src)
-{
-	if (typeof img == "object" && typeof img.tagName == "string" && img.tagName == "IMG")
-	{
-		// this is an image
-		if (typeof src == "string")
-		{
-			// src parameter is present
-			if (src.match(/\.png$/i) != null)
-			{
-				// this is png image
-				img.style.width = null;
-				img.style.height = null;
-				img.style.filter = null;
-				img.src = src;
-				pngSwapPrepare(img);
-			}
-			else
-			{
-				// its not a png
-				img.src = src;
-			}
-		}
-		else if (img.src.match(/\.png$/i) != null)
-		{
-				// no src arameter, but its png -> simply swap
-				pngSwapPrepare(img);
-		}
-	} else if (typeof img.tagName == "string" && img.tagName == "INPUT") {
-		if(img.src.match(/\.png$/i) != null) {
-			pngSwapPrepare(img);
-		}
-	}
-
-	// swap (if complete) or shedule it to onload event // private
-	function pngSwapPrepare(img)
-	{
-		if (img.complete)
-			pngSwap(img);
-		else
-			img.attachEvent("onload",pngOnLoadSwap);
-	}
-	
-	// supposed to be called when image is loaded into memory //private
-	function pngOnLoadSwap()
-	{
-		event.srcElement.detachEvent("onload",pngOnLoadSwap);
-		pngSwap(event.srcElement);
-	}
-
-	// Swaps img and background //private
-	function pngSwap(img)
-	{
-		with (img)
-		{
-			style.width = width + "px";
-			style.height = height + "px";
-			style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale') ";
-			src = "images/null.gif";
-		}
-	}
-}
diff --git a/gosa-core/html/include/tooltip.js b/gosa-core/html/include/tooltip.js
new file mode 100644
index 0000000..56d8835
--- /dev/null
+++ b/gosa-core/html/include/tooltip.js
@@ -0,0 +1,208 @@
+/*
+ * Copyright (c) 2006 Jonathan Weiss <jw at innerewut.de>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+
+/* tooltip-0.2.js - Small tooltip library on top of Prototype 
+ * by Jonathan Weiss <jw at innerewut.de> distributed under the BSD license. 
+ *
+ * This tooltip library works in two modes. If it gets a valid DOM element 
+ * or DOM id as an argument it uses this element as the tooltip. This 
+ * element will be placed (and shown) near the mouse pointer when a trigger-
+ * element is moused-over.
+ * If it gets only a text as an argument instead of a DOM id or DOM element
+ * it will create a div with the classname 'tooltip' that holds the given text.
+ * This newly created div will be used as the tooltip. This is usefull if you 
+ * want to use tooltip.js to create popups out of title attributes.
+ * 
+ *
+ * Usage: 
+ *   <script src="/javascripts/prototype.js" type="text/javascript"></script>
+ *   <script src="/javascripts/tooltip.js" type="text/javascript"></script>
+ *   <script type="text/javascript">
+ *     // with valid DOM id
+ *     var my_tooltip = new Tooltip('id_of_trigger_element', 'id_of_tooltip_to_show_element')
+ *
+ *     // with text
+ *     var my_other_tooltip = new Tooltip('id_of_trigger_element', 'a nice description')
+ *
+ *     // create popups for each element with a title attribute
+ *    Event.observe(window,"load",function() {
+ *      $$("*").findAll(function(node){
+ *        return node.getAttribute('title');
+ *      }).each(function(node){
+ *        new Tooltip(node,node.title);
+ *        node.removeAttribute("title");
+ *      });
+ *    });
+ *    
+ *   </script>
+ * 
+ * Now whenever you trigger a mouseOver on the `trigger` element, the tooltip element will
+ * be shown. On o mouseOut the tooltip disappears. 
+ * 
+ * Example:
+ * 
+ *   <script src="/javascripts/prototype.js" type="text/javascript"></script>
+ *   <script src="/javascripts/scriptaculous.js" type="text/javascript"></script>
+ *   <script src="/javascripts/tooltip.js" type="text/javascript"></script>
+ *
+ *   <div id='tooltip' style="display:none; margin: 5px; background-color: red;">
+ *     Detail infos on product 1....<br />
+ *   </div>
+ *
+ *   <div id='product_1'>
+ *     This is product 1
+ *   </div>
+ *
+ *   <script type="text/javascript">
+ *     var my_tooltip = new Tooltip('product_1', 'tooltip')
+ *   </script>
+ *
+ * You can use my_tooltip.destroy() to remove the event observers and thereby the tooltip.
+ */
+
+var Tooltip = Class.create();
+Tooltip.prototype = {
+  initialize: function(element, tool_tip) {
+    var options = Object.extend({
+      default_css: false,
+      margin: "0px",
+	    padding: "5px",
+	    backgroundColor: "#d6d6fc",
+	    min_distance_x: 5,
+      min_distance_y: 5,
+      delta_x: 0,
+      delta_y: 0,
+      zindex: 1000
+    }, arguments[2] || {});
+
+    this.element      = $(element);
+
+    this.options      = options;
+    
+    // use the supplied tooltip element or create our own div
+    if($(tool_tip)) {
+      this.tool_tip = $(tool_tip);
+    } else {
+      this.tool_tip = $(document.createElement("div")); 
+      document.body.appendChild(this.tool_tip);
+      this.tool_tip.addClassName("tooltip");
+      this.tool_tip.appendChild(document.createTextNode(tool_tip));
+    }
+
+    // hide the tool-tip by default
+    this.tool_tip.hide();
+
+    this.eventMouseOver = this.showTooltip.bindAsEventListener(this);
+    this.eventMouseOut   = this.hideTooltip.bindAsEventListener(this);
+    this.eventMouseMove  = this.moveTooltip.bindAsEventListener(this);
+
+    this.registerEvents();
+  },
+
+  destroy: function() {
+    Event.stopObserving(this.element, "mouseover", this.eventMouseOver);
+    Event.stopObserving(this.element, "mouseout", this.eventMouseOut);
+    Event.stopObserving(this.element, "mousemove", this.eventMouseMove);
+  },
+
+  registerEvents: function() {
+    Event.observe(this.element, "mouseover", this.eventMouseOver);
+    Event.observe(this.element, "mouseout", this.eventMouseOut);
+    Event.observe(this.element, "mousemove", this.eventMouseMove);
+  },
+
+  moveTooltip: function(event){
+	  Event.stop(event);
+	  // get Mouse position
+    var mouse_x = Event.pointerX(event);
+	  var mouse_y = Event.pointerY(event);
+	
+	  // decide if wee need to switch sides for the tooltip
+	  var dimensions = Element.getDimensions( this.tool_tip );
+	  var element_width = dimensions.width;
+	  var element_height = dimensions.height;
+	
+	  if ( (element_width + mouse_x) >= ( this.getWindowWidth() - this.options.min_distance_x) ){ // too big for X
+		  mouse_x = mouse_x - element_width;
+		  // apply min_distance to make sure that the mouse is not on the tool-tip
+		  mouse_x = mouse_x - this.options.min_distance_x;
+	  } else {
+		  mouse_x = mouse_x + this.options.min_distance_x;
+	  }
+	
+	  if ( (element_height + mouse_y) >= ( this.getWindowHeight() - this.options.min_distance_y) ){ // too big for Y
+		  mouse_y = mouse_y - element_height;
+	    // apply min_distance to make sure that the mouse is not on the tool-tip
+		  mouse_y = mouse_y - this.options.min_distance_y;
+	  } else {
+		  mouse_y = mouse_y + this.options.min_distance_y;
+	  } 
+	
+	  // now set the right styles
+	  this.setStyles(mouse_x, mouse_y);
+  },
+	
+		
+  showTooltip: function(event) {
+    Event.stop(event);
+    this.moveTooltip(event);
+	  new Element.show(this.tool_tip);
+  },
+  
+  setStyles: function(x, y){
+    // set the right styles to position the tool tip
+	  Element.setStyle(this.tool_tip, { position:'absolute',
+	 								    top:y + this.options.delta_y + "px",
+	 								    left:x + this.options.delta_x + "px",
+									    zindex:this.options.zindex
+	 								  });
+	
+	  // apply default theme if wanted
+	  if (this.options.default_css){
+	  	  Element.setStyle(this.tool_tip, { margin:this.options.margin,
+		 		  						                    padding:this.options.padding,
+		                                      backgroundColor:this.options.backgroundColor,
+										                      zindex:this.options.zindex
+		 								    });	
+	  }	
+  },
+
+  hideTooltip: function(event){
+	  new Element.hide(this.tool_tip);
+  },
+
+  getWindowHeight: function(){
+    var innerHeight;
+	  if (navigator.appVersion.indexOf('MSIE')>0) {
+		  innerHeight = document.body.clientHeight;
+    } else {
+		  innerHeight = window.innerHeight;
+    }
+    return innerHeight;	
+  },
+ 
+  getWindowWidth: function(){
+    var innerWidth;
+	  if (navigator.appVersion.indexOf('MSIE')>0) {
+		  innerWidth = document.body.clientWidth;
+    } else {
+		  innerWidth = window.innerWidth;
+    }
+    return innerWidth;	
+  }
+
+}
diff --git a/gosa-core/html/index.php b/gosa-core/html/index.php
index 1b5603a..16f9ca8 100644
--- a/gosa-core/html/index.php
+++ b/gosa-core/html/index.php
@@ -1,9 +1,9 @@
 <?php
-/*
+/**
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  * 
- * ID: $$Id: index.php 18931 2010-07-05 14:32:49Z hickert $$
+ * ID: $$Id: index.php 20679 2011-04-11 08:52:26Z cajus $$
  *
  * 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
@@ -21,9 +21,9 @@
  */
 
 /* Load required includes */
-require_once ("../include/php_setup.inc");
-require_once ("functions.inc");
-require_once ("class_log.inc");
+require_once "../include/php_setup.inc";
+require_once "functions.inc";
+require_once "class_log.inc";
 header("Content-type: text/html; charset=UTF-8");
 
 
@@ -33,69 +33,82 @@ header("Content-type: text/html; charset=UTF-8");
  */
 function displayLogin()
 {
-  global $smarty,$message,$config,$ssl,$error_collector;
-  error_reporting(E_ALL | E_STRICT);
-  /* Fill template with required values */
-  $username = "";
-  if(isset($_POST["username"])){
-    $username= $_POST["username"];
-  }
-  $smarty->assign ('date', gmdate("D, d M Y H:i:s"));
-  $smarty->assign ('username', $username);
-  $smarty->assign ('personal_img', get_template_path('images/login-head.png'));
-  $smarty->assign ('password_img', get_template_path('images/password.png'));
-  $smarty->assign ('directory_img', get_template_path('images/ldapserver.png'));
-
-  /* Some error to display? */
-  if (!isset($message)){
-    $message= "";
-  }
-  $smarty->assign ("message", $message);
-
-  /* Displasy SSL mode warning? */
-  if ($ssl != "" && $config->get_cfg_value('warnssl') == 'true'){
-    $smarty->assign ("ssl", _("Warning").": <a style=\"color:red;\" href=\"$ssl\">"._("Session is not encrypted!")."</a>");
-  } else {
-    $smarty->assign ("ssl", "");
-  }
-
-  if(!$config->check_session_lifetime()){
-    $smarty->assign ("lifetime", _("Warning").": ".
-        _("The session lifetime configured in your gosa.conf will be overridden by php.ini settings."));
-  }else{
-    $smarty->assign ("lifetime", "");
-  }
-
-  /* Generate server list */
-  $servers= array();
-  if (isset($_POST['server'])){
-    $selected= validate($_POST['server']);
-  } else {
-    $selected= $config->data['MAIN']['DEFAULT'];
-  }
-  foreach ($config->data['LOCATIONS'] as $key => $ignored){
-    $servers[$key]= $key;
-  }
-  $smarty->assign ("server_options", $servers);
-  $smarty->assign ("server_id", $selected);
+    global $smarty,$message,$config,$ssl,$error_collector, $BASE_DIR;
+    error_reporting(E_ALL | E_STRICT);
+
+    /* Check theme compatibility */
+    $theme= $config->get_cfg_value("core",'theme');
+    if (file_exists("$BASE_DIR/ihtml/themes/$theme/blacklist")) {
+        $blocks= file("$BASE_DIR/ihtml/themes/$theme/blacklist");
+        foreach ($blocks as $block) {
+            if (preg_match('/'.preg_quote($block).'/', $_SERVER['HTTP_USER_AGENT'])) {
+                die(sprintf(_("Your browser (%s) is blacklisted for the current theme!"), $block));
+            }
+        }
+    }
 
-  /* show login screen */
-  $smarty->assign ("PHPSESSID", session_id());
-  if (session::is_set('errors')){
-    $smarty->assign("errors", session::get('errors'));
-  }
-  if ($error_collector != ""){
-    $smarty->assign("php_errors", $error_collector."</div>");
-  } else {
-    $smarty->assign("php_errors", "");
-  }
-  $smarty->assign("msg_dialogs", msg_dialog::get_dialogs());
-  $smarty->assign("iePngWorkaround", $config->get_cfg_value("iePngWorkaround","false" ) == "true");
-  $smarty->assign("usePrototype", "false");
-  $smarty->display (get_template_path('headers.tpl'));
-  $smarty->assign("version",get_gosa_version());
-  $smarty->display(get_template_path('login.tpl'));
-  exit();
+    /* Fill template with required values */
+    $username = "";
+    if(isset($_POST["username"])) {
+        $username= get_post("username");
+    }
+    
+    $smarty->assign ("title","GOsa");
+    $smarty->assign("logo", image(get_template_path("images/logo.png")));
+    $smarty->assign('date', gmdate("D, d M Y H:i:s"));
+    $smarty->assign('username', $username);
+    $smarty->assign('personal_img', get_template_path('images/login-head.png'));
+    $smarty->assign('password_img', get_template_path('images/password.png'));
+    $smarty->assign('directory_img', get_template_path('images/ldapserver.png'));
+
+    /* Some error to display? */
+    if (!isset($message)) {
+        $message= "";
+    }
+    $smarty->assign("message", $message);
+
+    /* Displasy SSL mode warning? */
+    if ($ssl != "" && $config->get_cfg_value("core",'warnSSL') == 'true') {
+        $smarty->assign("ssl", sprintf(_("This session is not encrypted. Click %s to enter an encrypted session."), "<a href=\"$ssl\">".bold(_("here"))."</a>"));
+    } else {
+        $smarty->assign("ssl", "");
+    }
+
+    if(!$config->check_session_lifetime()) {
+        $smarty->assign ("lifetime", _("The configured session lifetime will be overridden by php.ini settings!"));
+    } else {
+        $smarty->assign ("lifetime", "");
+    }
+
+    /* Generate server list */
+    $servers= array();
+    if (isset($_POST['server'])) {
+        $selected= get_post('server');
+    } else {
+        $selected= $config->data['MAIN']['DEFAULT'];
+    }
+    foreach ($config->data['LOCATIONS'] as $key => $ignored) {
+        $servers[$key]= $key;
+    }
+    $smarty->assign ("server_options", $servers);
+    $smarty->assign ("server_id", $selected);
+
+    /* show login screen */
+    $smarty->assign ("PHPSESSID", session_id());
+    if (session::is_set('errors')) {
+        $smarty->assign("errors", session::get('errors'));
+    }
+    if ($error_collector != "") {
+        $smarty->assign("php_errors", $error_collector."</div>");
+    } else {
+        $smarty->assign("php_errors", "");
+    }
+    $smarty->assign("msg_dialogs", msg_dialog::get_dialogs());
+
+    $smarty->display (get_template_path('headers.tpl'));
+    $smarty->assign("version",get_gosa_version());
+    $smarty->display(get_template_path('login.tpl'));
+    exit();
 }
 
 
@@ -105,15 +118,15 @@ function displayLogin()
  *****************************************************************************/
 
 /* Set error handler to own one, initialize time calculation
-   and start session. */
+and start session. */
 session::start();
 session::set('errorsAlreadyPosted',array());
 
 /* Destroy old session if exists. 
-   Else you will get your old session back, if you not logged out correctly. */
-if(is_array(session::get_all()) && count(session::get_all())){
-  session::destroy();
-  session::start();
+Else you will get your old session back, if you not logged out correctly. */
+if(is_array(session::get_all()) && count(session::get_all())) {
+    session::destroy();
+    session::start();
 }
 
 $username= "";
@@ -124,9 +137,9 @@ session::set('errorsAlreadyPosted',"");
 session::set('LastError',"");
 
 /* Check if we need to run setup */
-if (!file_exists(CONFIG_DIR."/".CONFIG_FILE)){
-  header("location:setup.php");
-  exit();
+if (!file_exists(CONFIG_DIR."/".CONFIG_FILE)) {
+    header("location:setup.php");
+    exit();
 }
 
 /* Reset errors */
@@ -134,37 +147,38 @@ session::set('errors',"");
 
 /* Check for java script */
 if(isset($_POST['javascript']) && $_POST['javascript'] == "true") {
-  session::global_set('js',TRUE);
+    session::global_set('js',TRUE);
 }elseif(isset($_POST['javascript'])) {
-  session::global_set('js',FALSE);
+    session::global_set('js',FALSE);
 }
 
 /* Check if gosa.conf (.CONFIG_FILE) is accessible */
-if (!is_readable(CONFIG_DIR."/".CONFIG_FILE)){
-  msg_dialog::display(_("Configuration error"),sprintf(_("GOsa configuration %s/%s is not readable. Aborted."), CONFIG_DIR,CONFIG_FILE),FATAL_ERROR_DIALOG);
-  exit();
+if (!is_readable(CONFIG_DIR."/".CONFIG_FILE)) {
+    msg_dialog::display(_("Configuration error"),sprintf(_("GOsa configuration %s/%s is not readable. Aborted."), CONFIG_DIR,CONFIG_FILE),FATAL_ERROR_DIALOG);
+    exit();
 }
 
 /* Parse configuration file */
 $config= new config(CONFIG_DIR."/".CONFIG_FILE, $BASE_DIR);
-session::global_set('DEBUGLEVEL',$config->get_cfg_value('DEBUGLEVEL'));
-if ($_SERVER["REQUEST_METHOD"] != "POST"){
-  @DEBUG (DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config");
+session::global_set('debugLevel',$config->get_cfg_value("core",'debugLevel'));
+if ($_SERVER["REQUEST_METHOD"] != "POST") {
+    @DEBUG (DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config");
 }
 
 /* Enable compressed output */
-if ($config->get_cfg_value("sendCompressedOutput") != ""){
-  ob_start("ob_gzhandler");
+if ($config->get_cfg_value("core","sendCompressedOutput") != "") {
+    ob_start("ob_gzhandler");
 }
 
 /* Set template compile directory */
-$smarty->compile_dir= $config->get_cfg_value("templateCompileDirectory", '/var/spool/gosa');
+$smarty->compile_dir= $config->get_cfg_value("core","templateCompileDirectory");
+$smarty->error_unassigned= true;
 
 /* Check for compile directory */
-if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))){
-  msg_dialog::display(_("Smarty error"),sprintf(_("Directory '%s' specified as compile directory is not accessible!"),
+if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))) {
+    msg_dialog::display(_("Smarty error"),sprintf(_("Compile directory %s is not accessible!"),
         $smarty->compile_dir),FATAL_ERROR_DIALOG);
-  exit();
+    exit();
 }
 
 /* Check for old files in compile directory */
@@ -184,8 +198,11 @@ bindtextdomain($domain, LOCALE_DIR);
 textdomain($domain);
 $smarty->assign ('nextfield', 'username');
 
-if ($_SERVER["REQUEST_METHOD"] != "POST"){
-  @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $lang, "Setting language to");
+/* Translation of cookie-warning. Whether to display it, is determined by JavaScript */
+$smarty->assign ("cookies", _("Your browser has cookies disabled: please enable cookies and reload this page before logging in!"));
+
+if ($_SERVER["REQUEST_METHOD"] != "POST") {
+    @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $lang, "Setting language to");
 }
 
 
@@ -194,197 +211,174 @@ $ssl= "";
 if (!isset($_SERVER['HTTPS']) ||
     !stristr($_SERVER['HTTPS'], "on")) {
 
-  if (empty($_SERVER['REQUEST_URI'])) {
-    $ssl= "https://".$_SERVER['HTTP_HOST'].
-      $_SERVER['PATH_INFO'];
-  } else {
-    $ssl= "https://".$_SERVER['HTTP_HOST'].
-      $_SERVER['REQUEST_URI'];
-  }
-}
+        if (empty($_SERVER['REQUEST_URI'])) {
+            $ssl= "https://".$_SERVER['HTTP_HOST'].
+                $_SERVER['PATH_INFO'];
+        } else {
+            $ssl= "https://".$_SERVER['HTTP_HOST'].
+                $_SERVER['REQUEST_URI'];
+        }
+    }
 
 /* If SSL is forced, just forward to the SSL enabled site */
-if ($config->get_cfg_value("forcessl") == 'true' && $ssl != ''){
-  header ("Location: $ssl");
-  exit;
+if ($config->get_cfg_value("core","forceSSL") == 'true' && $ssl != '') {
+    header ("Location: $ssl");
+    exit;
 }
 
 /* Do we have htaccess authentification enabled? */
 $htaccess_authenticated= FALSE;
-if ($config->get_cfg_value("htaccessAuthentication") == "true" ){
-  if (!isset($_SERVER['REMOTE_USER'])){
-    msg_dialog::display(_("Configuration error"), _("There is a problem with the authentication setup!"), FATAL_ERROR_DIALOG);
-    exit;
-  }
+if ($config->get_cfg_value("core","htaccessAuthentication") == "true" ) {
+    if (!isset($_SERVER['REMOTE_USER'])) {
+        msg_dialog::display(_("Configuration error"), _("Broken HTTP authentication setup!"), FATAL_ERROR_DIALOG);
+        exit;
+    }
 
-  $tmp= process_htaccess($_SERVER['REMOTE_USER'], isset($_SERVER['KRB5CCNAME']));
-  $username= $tmp['username'];
-  $server= $tmp['server'];
-  if ($username == ""){
-    msg_dialog::display(_("Error"), _("Cannot find a valid user for the current authentication setup!"), FATAL_ERROR_DIALOG);
-    exit;
-  }
-  if ($server == ""){
-    msg_dialog::display(_("Error"), _("User information is not unique accross the configured LDAP trees!"), FATAL_ERROR_DIALOG);
-    exit;
-  }
+    $tmp= process_htaccess($_SERVER['REMOTE_USER'], isset($_SERVER['KRB5CCNAME']));
+    $username= $tmp['username'];
+    $server= $tmp['server'];
+    if ($username == "") {
+        msg_dialog::display(_("Error"), _("Cannot find a valid user for the current HTTP authentication!"), FATAL_ERROR_DIALOG);
+        exit;
+    }
+    if ($server == "") {
+        msg_dialog::display(_("Error"), _("Cannot find a unique user for the current HTTP authentication!"), FATAL_ERROR_DIALOG);
+        exit;
+    }
 
-  $htaccess_authenticated= TRUE;
+    $htaccess_authenticated= TRUE;
 }
 
 /* Got a formular answer, validate and try to log in */
-if (($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])) || $htaccess_authenticated){
-
-  /* Reset error messages */
-  $message= "";
-
-  /* Destroy old sessions, they cause a successfull login to relog again ...*/
-  if(session::global_is_set('_LAST_PAGE_REQUEST')){
-    session::global_set('_LAST_PAGE_REQUEST',time());
-  }
-
-  if (!$htaccess_authenticated){
-    $server= validate($_POST["server"]);
-  }
-  $config->set_current($server);
-
-  /* Admin-logon and verify */
-  $ldap = $config->get_ldap_link();
-  if (is_null($ldap) || (is_int($ldap) && $ldap == 0)){
-    msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
-    displayLogin();
-    exit();
-  }
-
-  /* Check for schema file presence */
-  if ($config->get_cfg_value("schemaCheck") == "true"){
-    $recursive = ($config->get_cfg_value("ldapFollowReferrals") == "true");
-    $tls =       ($config->get_cfg_value("ldapTLS") == "true");
-
-    if(!count($ldap->get_objectclasses())){
-      msg_dialog::display(_("LDAP error"), _("Cannot detect information about the installed LDAP schema!"), ERROR_DIALOG);
-      displayLogin();
-      exit()  ;
-    }else{
-      $cfg = array();
-      $cfg['admin']     = $config->current['ADMINDN'];
-      $cfg['password']  = $config->current['ADMINPASSWORD'];
-      $cfg['connection']= $config->current['SERVER'];
-      $cfg['tls']       = $tls;
-      $str = check_schema($cfg, $config->get_cfg_value("rfc2307bis") == "true");
-      $checkarr = array();
-      foreach($str as $tr){
-        if(isset($tr['IS_MUST_HAVE']) && !$tr['STATUS']){
-          msg_dialog::display(_("LDAP error"), _("Your LDAP setup contains old schema definitions:")."<br><br><i>".$tr['MSG']."</i>", ERROR_DIALOG);
-          displayLogin();
-          exit();
-        }
-      }
+if (($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])) || $htaccess_authenticated) {
+
+    /* Reset error messages */
+    $message= "";
+
+    /* Destroy old sessions, they cause a successfull login to relog again ...*/
+    if(session::global_is_set('_LAST_PAGE_REQUEST')) {
+        session::global_set('_LAST_PAGE_REQUEST',time());
     }
-  }
-
-  /* Check for locking area */
-  $ldap->cat($config->get_cfg_value("config"), array("dn"));
-  $attrs= $ldap->fetch();
-  if (!count ($attrs)){
-    $ldap->cd($config->current['BASE']);
-    $ldap->create_missing_trees($config->get_cfg_value("config"));
-  }
-
-  /* Check for valid input */
-  $ok= true;
-  if (!$htaccess_authenticated){
-    $username= $_POST["username"];
-    if (!preg_match("/^[@A-Za-z0-9_.-]+$/", $username)){
-      $message= _("Please specify a valid username!");
-      $ok= false;
-    } elseif (mb_strlen($_POST["password"], 'UTF-8') == 0){
-      $message= _("Please specify your password!");
-      $smarty->assign ('nextfield', 'password');
-      $ok= false;
+
+    if (!$htaccess_authenticated) {
+        $server= get_post("server");
+    }
+    $config->set_current($server);
+
+    /* Admin-logon and verify */
+    $ldap = $config->get_ldap_link();
+    if (is_null($ldap) || (is_int($ldap) && $ldap == 0)) {
+        msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
+        displayLogin();
+        exit();
     }
-  }
 
-  if ($ok) {
+    /* Check for locking area */
+    $ldap->cat($config->get_cfg_value("core","config"), array("dn"));
+    $attrs= $ldap->fetch();
+    if (!count ($attrs)) {
+        $ldap->cd($config->current['BASE']);
+        $ldap->create_missing_trees($config->get_cfg_value("core","config"));
+    }
 
-    /* Login as user, initialize user ACL's */
-    if ($htaccess_authenticated){
-      $ui= ldap_login_user_htaccess($username);
-      if ($ui === NULL || !$ui){
-        msg_dialog::display(_("Authentication error"), _("Cannot retrieve user information for htaccess authentication!"), FATAL_ERROR_DIALOG);
-        exit;
-      }
-    } else {
-      $ui= ldap_login_user($username, $_POST["password"]);
+    /* Check for valid input */
+    $ok= true;
+    if (!$htaccess_authenticated) {
+        $username= get_post("username");
+        if (!preg_match("/^[@A-Za-z0-9_.-]+$/", $username)) {
+            $message= _("Please specify a valid user name!");
+            $ok= false;
+        } elseif (mb_strlen(get_post("password"), 'UTF-8') == 0) {
+            $message= _("Please specify your password!");
+            $smarty->assign ('nextfield', 'password');
+            $ok= false;
+        }
     }
-    if ($ui === NULL || !$ui){
-      $message= _("Please check the username/password combination.");
-      $smarty->assign ('nextfield', 'password');
-      session::global_set('config',$config);
-      new log("security","login","",array(),"Authentication failed for user \"$username\"");
-    } else {
-      /* Remove all locks of this user */
-      del_user_locks($ui->dn);
 
-      /* Save userinfo and plugin structure */
-      session::global_set('ui',$ui);
-      session::global_set('session_cnt',0);
+    if ($ok) {
+
+        /* Login as user, initialize user ACL's */
+        if ($htaccess_authenticated) {
+            $ui= ldap_login_user_htaccess($username);
+            if ($ui === NULL || !$ui) {
+                msg_dialog::display(_("Authentication error"), _("Cannot retrieve user information for HTTP authentication!"), FATAL_ERROR_DIALOG);
+                exit;
+            }
+        } else {
+            $ui= ldap_login_user($username, get_post("password"));
+        }
+        if ($ui === NULL || !$ui) {
+            $message= _("Please check the username/password combination!");
+            $smarty->assign ('nextfield', 'password');
+            session::global_set('config',$config);
+            $ip= $_SERVERREMOTE_ADDR;
+            new log("security","login","",array(),"Authentication failed for user \"$username\" [from $ip]");
+        } else {
+            /* Remove all locks of this user */
+            del_user_locks($ui->dn);
+
+            /* Save userinfo and plugin structure */
+            session::global_set('ui',$ui);
+            session::global_set('session_cnt',0);
 
       /* Let GOsa trigger a new connection for each POST, save
-         config to session. */
-      $config->get_departments();
-      $config->make_idepartments();
-      session::global_set('config',$config);
-
-      /* Restore filter settings from cookie, if available */
-      if($config->get_cfg_value("storeFilterSettings") == "true"){
-
-        if(isset($_COOKIE['GOsa_Filter_Settings']) || isset($HTTP_COOKIE_VARS['GOsa_Filter_Settings'])){
-
-          if(isset($_COOKIE['GOsa_Filter_Settings'])){
-            $cookie_all = unserialize(base64_decode($_COOKIE['GOsa_Filter_Settings']));
-          }else{
-            $cookie_all = unserialize(base64_decode($HTTP_COOKIE_VARS['GOsa_Filter_Settings']));
-          }
-          if(isset($cookie_all[$ui->dn])){
-            $cookie = $cookie_all[$ui->dn];
-            $cookie_vars= array("MultiDialogFilters","CurrentMainBase","plug");
-            foreach($cookie_vars as $var){
-              if(isset($cookie[$var])){
-                session::global_set($var,$cookie[$var]);
-              }
+      config to session. */
+            $config->get_departments();
+            $config->make_idepartments();
+            session::global_set('config',$config);
+
+            /* Restore filter settings from cookie, if available */
+            if($config->get_cfg_value("core","storeFilterSettings") == "true") {
+
+                if(isset($_COOKIE['GOsa_Filter_Settings']) || isset($HTTP_COOKIE_VARS['GOsa_Filter_Settings'])) {
+
+                    if(isset($_COOKIE['GOsa_Filter_Settings'])) {
+                        $cookie_all = unserialize(base64_decode($_COOKIE['GOsa_Filter_Settings']));
+                    }else{
+                        $cookie_all = unserialize(base64_decode($HTTP_COOKIE_VARS['GOsa_Filter_Settings']));
+                    }
+                    if(isset($cookie_all[$ui->dn])) {
+                        $cookie = $cookie_all[$ui->dn];
+                        $cookie_vars= array("MultiDialogFilters","CurrentMainBase","plug");
+                        foreach($cookie_vars as $var) {
+                            if(isset($cookie[$var])) {
+                                session::global_set($var,$cookie[$var]);
+                            }
+                        }
+                        if(isset($cookie['plug'])) {
+                            $plug =$cookie['plug'];
+                        }
+                    }
+                }
             }
-            if(isset($cookie['plug'])){
-              $plug =$cookie['plug'];
+
+            /* are we using accountexpiration */
+            if ($config->boolValueIsTrue("core","handleExpiredAccounts")) {
+                $expired= ldap_expired_account($config, $ui->dn, $ui->username);
+
+                if ($expired == POSIX_ACCOUNT_EXPIRED) {
+                    $message= _("Account locked. Please contact your system administrator!");
+                    $smarty->assign ('nextfield', 'password');
+                    new log("security","login","",array(),"Account for user \"$username\" has expired") ;
+                    displayLogin();
+                    exit();
+                }
             }
-          }
-        }
-      }
-
-      /* are we using accountexpiration */
-      if ($config->get_cfg_value("handleExpiredAccounts") == "true"){
-        $expired= ldap_expired_account($config, $ui->dn, $ui->username);
-
-        if ($expired == POSIX_ACCOUNT_EXPIRED){
-          $message= _("Account locked. Please contact your system administrator!");
-          $smarty->assign ('nextfield', 'password');
-          new log("security","login","",array(),"Account for user \"$username\" has expired") ;
-          displayLogin();
-          exit();
+
+            /* Not account expired or password forced change go to main page */
+            new log("security","login","",array(),"User \"$username\" logged in successfully") ;
+            $plist= new pluglist($config, $ui);
+
+            stats::log('global', 'global', array(),  $action = 'login', $amount = 1, 0);
+
+            if(isset($plug) && isset($plist->dirlist[$plug])) {
+                header ("Location: main.php?plug=".$plug."&global_check=1");
+            }else{
+                header ("Location: main.php?global_check=1");
+            }
+            exit;
         }
-      }
-
-      /* Not account expired or password forced change go to main page */
-      new log("security","login","",array(),"User \"$username\" logged in successfully") ;
-      $plist= new pluglist($config, $ui);
-      if(isset($plug) && isset($plist->dirlist[$plug])){
-        header ("Location: main.php?plug=".$plug."&global_check=1");
-      }else{
-        header ("Location: main.php?global_check=1");
-      }
-      exit;
     }
-  }
 }
 
 /* Fill template with required values */
@@ -395,52 +389,42 @@ $smarty->assign ('password_img', get_template_path('images/password.png'));
 $smarty->assign ('directory_img', get_template_path('images/ldapserver.png'));
 
 /* Some error to display? */
-if (!isset($message)){
-  $message= "";
+if (!isset($message)) {
+    $message= "";
 }
 
 $smarty->assign ("message", $message);
 
-/* Displasy SSL mode warning? */
-if ($ssl != "" && $config->get_cfg_value('WARNSSL') == 'true'){
-  $smarty->assign ("ssl", "<b>"._("Warning").":<\/b> "._("Session will not be encrypted.")." <a style=\"color:red;\" href=\"$ssl\"><b>"._("Enter SSL session")."<\/b></a>!");
-} else {
-  $smarty->assign ("ssl", "");
-}
-
-/* Translation of cookie-warning. Whether to display it, is determined by JavaScript */
-$smarty->assign ("cookies", "<b>"._("Warning").":<\/b> "._("Your browser has cookies disabled. Please enable cookies and reload this page before logging in!"));
-
 /* Generate server list */
 $servers= array();
 if (isset($_POST['server'])){
-  $selected= validate($_POST['server']);
+    $selected= get_post('server');
 } else {
-  $selected= $config->data['MAIN']['DEFAULT'];
+    $selected= $config->data['MAIN']['DEFAULT'];
 }
-foreach ($config->data['LOCATIONS'] as $key => $ignored){
-  $servers[$key]= $key;
+foreach ($config->data['LOCATIONS'] as $key => $ignored) {
+    $servers[$key]= $key;
 }
 $smarty->assign ("server_options", $servers);
 $smarty->assign ("server_id", $selected);
 
 /* show login screen */
 $smarty->assign ("PHPSESSID", session_id());
-if (session::is_set('errors')){
-  $smarty->assign("errors", session::get('errors'));
+if (session::is_set('errors')) {
+    $smarty->assign("errors", session::get('errors'));
 }
-if ($error_collector != ""){
-  $smarty->assign("php_errors", preg_replace("/%BUGBODY%/",$error_collector_mailto,$error_collector)."</div>");
+if ($error_collector != "") {
+    $smarty->assign("php_errors", preg_replace("/%BUGBODY%/",$error_collector_mailto,$error_collector)."</div>");
 } else {
-  $smarty->assign("php_errors", "");
+    $smarty->assign("php_errors", "");
 }
 
 /* Set focus to the error button if we've an error message */
 $focus= "";
-if (session::is_set('errors') && session::get('errors') != ""){
-  $focus= '<script language="JavaScript" type="text/javascript">';
-  $focus.= 'document.forms[0].error_accept.focus();';
-  $focus.= '</script>';
+if (session::is_set('errors') && session::get('errors') != "") {
+    $focus= '<script language="JavaScript" type="text/javascript">';
+    $focus.= 'document.forms[0].error_accept.focus();';
+    $focus.= '</script>';
 }
 $smarty->assign("focus", $focus);
 displayLogin();
diff --git a/gosa-core/html/logout.php b/gosa-core/html/logout.php
index c2c4f62..0f8a728 100644
--- a/gosa-core/html/logout.php
+++ b/gosa-core/html/logout.php
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: logout.php 18954 2010-07-07 15:32:49Z hickert $$
+ * ID: $$Id: logout.php 19336 2010-08-02 10:54:44Z hickert $$
  *
  * 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
@@ -45,12 +45,16 @@ if(session::global_is_set('ui')){
 }
 
 /* Language setup */
-if ((!isset($config)) || $config->get_cfg_value("language") == ""){
+if ((!isset($config)) || $config->get_cfg_value("core","language") == ""){
   $lang= get_browser_language();
 } else {
-  $lang= $config->get_cfg_value("language");
+  $lang= $config->get_cfg_value("core","language");
 }
 
+// Try to keep track of logouts, this will fail if our session has already expired. 
+// Nothing will be logged if config isn't present anymore.
+stats::log('global', 'global', array(),  $action = 'logout', $amount = 1, 0);
+
 putenv("LANGUAGE=");
 putenv("LANG=$lang");
 setlocale(LC_ALL, $lang);
@@ -65,23 +69,29 @@ textdomain($domain);
 /* Create smarty & Set template compile directory */
 $smarty= new smarty();
 if (isset($config)){
-	$smarty->compile_dir= $config->get_cfg_value("templateCompileDirectory", '/var/spool/gosa/');
+	$smarty->compile_dir= $config->get_cfg_value("core","templateCompileDirectory");
 } else {
 	$smarty->compile_dir= '/var/spool/gosa/';
 }
+
+if(!is_writeable($smarty->compile_dir)){
+
+    header('location: index.php');
+    exit();
+}
+
+$smarty->assign ("title","GOsa");
     
 /* If GET request is posted, the logout was forced by pressing the link */
-if (isset($_GET['request'])){
+if (isset($_POST['forcedlogout']) || isset($_GET['forcedlogout'])){
   
   /* destroy old session */
   session::destroy ();
   
   /* If we're not using htaccess authentication, just redirect... */
-  if (isset($config) && $config->get_cfg_value("htaccessAuthentication") == "true"){
+  if (isset($config) && $config->get_cfg_value("core","htaccessAuthentication") == "true"){
 
     /* Else notice that the user has to close the browser... */
-    $smarty->assign("iePngWorkaround", FALSE);
-    $smarty->assign("usePrototype", "false");
     $smarty->display (get_template_path('headers.tpl'));
     $smarty->display (get_template_path('logout-close.tpl'));
     exit;
@@ -92,7 +102,7 @@ if (isset($_GET['request'])){
 
 }else{  // The logout wasn't forced, so the session is invalid 
   
-  $smarty->assign("usePrototype", "false");
+
   $smarty->display (get_template_path('headers.tpl'));
   $smarty->display (get_template_path('logout.tpl'));
   exit;
diff --git a/gosa-core/html/main.php b/gosa-core/html/main.php
index 4ab49a0..50ab536 100644
--- a/gosa-core/html/main.php
+++ b/gosa-core/html/main.php
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: main.php 18935 2010-07-06 05:55:51Z hickert $$
+ * ID: $$Id: main.php 20708 2011-04-12 08:41:49Z hickert $$
  *
  * 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
@@ -23,6 +23,9 @@
 /* Save start time */
 $start = microtime();
 
+// Will be used in the "stats" plugin later, to be able calculate the elapsed render time.
+$overallRenderTimer = microtime(TRUE);
+
 /* Basic setup, remove eventually registered sessions */
 require_once ("../include/php_setup.inc");
 require_once ("functions.inc");
@@ -35,12 +38,23 @@ $domain = 'messages';
 bindtextdomain($domain, LOCALE_DIR);
 textdomain($domain);
 
+
 /* Remember everything we did after the last click */
 session::start();
 session::set('errorsAlreadyPosted',array());
 session::global_set('runtime_cache',array());
 session::set('limit_exceeded',FALSE);
 
+// Count number of page reloads 
+if(!session::is_set('clicks')){
+    session::set('clicks', 0);
+}
+$clicks = session::get('clicks');
+$clicks ++ ;
+session::set('clicks', $clicks);
+
+pathNavigator::clear();
+
 if ($_SERVER["REQUEST_METHOD"] == "POST"){
   @DEBUG (DEBUG_POST, __LINE__, __FUNCTION__, __FILE__, $_POST, "_POST");
 }
@@ -62,9 +76,10 @@ if ($_SERVER['REMOTE_ADDR'] != $ui->ip){
 }
 $config= session::global_get('config');
 $config->check_and_reload();
+$config->configRegistry->reload();
 
 /* Enable compressed output */
-if ($config->get_cfg_value("sendCompressedOutput") == "true"){
+if ($config->get_cfg_value("core","sendCompressedOutput") == "true"){
   ob_start("ob_gzhandler");
 }
 
@@ -74,7 +89,7 @@ if(session::global_get('_LAST_PAGE_REQUEST') == ""){
 }else{
 
   /* check GOsa.conf for defined session lifetime */
-  $max_life= $config->get_cfg_value("sessionLifetime", 60*60*2);
+  $max_life= $config->get_cfg_value("core","sessionLifetime");
 
   /* get time difference between last page reload */
   $request_time = (time()- session::global_get('_LAST_PAGE_REQUEST'));
@@ -95,7 +110,8 @@ if(session::global_get('_LAST_PAGE_REQUEST') == ""){
 @DEBUG (DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config");
 
 /* Set template compile directory */
-$smarty->compile_dir= $config->get_cfg_value("templateCompileDirectory", '/var/spool/gosa');
+$smarty->compile_dir= $config->get_cfg_value("core","templateCompileDirectory");
+$smarty->error_unassigned= true;
 
 /* Set default */
 $reload_navigation = false;
@@ -126,6 +142,13 @@ setlocale(LC_ALL, $lang);
 $GLOBALS['t_language']= $lang;
 $GLOBALS['t_gettext_message_dir'] = $BASE_DIR.'/locale/';
 
+// Validate LDAP schema if not done already
+if( $config->boolValueIsTrue('core','schemaCheck') && 
+    !$config->configRegistry->schemaCheckFinished() && 
+    !$config->configRegistry->validateSchemata($force=FALSE,$disableIncompatiblePlugins=TRUE)){
+    $config->configRegistry->displayRequirementErrors();
+}
+
 /* Check if the config is up to date */
 $config->check_config_version();
 
@@ -145,8 +168,8 @@ if (!session::global_is_set('plist')){
         require_once("$BASE_DIR/$path");
       } else {
         msg_dialog::display(_("Fatal error"),
-            sprintf(_("Cannot locate file '%s' - please run '%s' to fix this"),
-              "$BASE_DIR/$path", "<b>update-gosa</b>"), FATAL_ERROR_DIALOG);
+            sprintf(_("Cannot locate file %s - please run %s to fix this"),
+              bold("$BASE_DIR/$path"), bold("update-gosa")), FATAL_ERROR_DIALOG);
         exit;
       }
     }
@@ -162,10 +185,10 @@ if (!session::global_is_set('plist')){
 $plist= session::global_get('plist');
 
 /* Check for register globals */
-if (isset($global_check) && $config->get_cfg_value("forceglobals") == "true"){
+if (isset($global_check) && $config->boolValueIsTrue("core","forceGlobals")){
   msg_dialog::display(
             _("PHP configuration"),
-            _("FATAL: Register globals is on. GOsa will refuse to login unless this is fixed by an administrator."),
+            _("Fatal error: Register globals is active. Please fix this in order to continue."),
             FATAL_ERROR_DIALOG);
 
   new log("security","login","",array(),"Register globals is on. For security reasons, this should be turned off.") ;
@@ -180,24 +203,23 @@ if (session::global_is_set('plugin_dir')){
   $old_plugin_dir= "";
 }
 
-/* reload navigation if language changed*/  
-if($reload_navigation){
-  $plist->menu="";
-}
+// Generate menus 
 $plist->gen_headlines();
 $plist->gen_menu();
+$plist->genPathMenu();
 
 /* check if we are using account expiration */
 $smarty->assign("hideMenus", FALSE);
-if ($config->get_cfg_value("handleExpiredAccounts") == "true"){
+if ($config->boolValueIsTrue("core","handleExpiredAccounts")){
     $expired= ldap_expired_account($config, $ui->dn, $ui->username);
+ 
     if ($expired == POSIX_WARN_ABOUT_EXPIRATION && !session::is_set('POSIX_WARN_ABOUT_EXPIRATION__DONE')){
 
         // The users password is about to xpire soon, display a warning message.
         new log("security","gosa","",array(),"password for user \"$ui->username\" is about to expire") ;
         msg_dialog::display(_("Password change"), _("Your password is about to expire, please change your password!"), INFO_DIALOG);
         session::set('POSIX_WARN_ABOUT_EXPIRATION__DONE', TRUE);
-    
+
     } elseif ($expired == POSIX_FORCE_PASSWORD_CHANGE){
 
         // The password is expired, we are now going to enforce a new one from the user.
@@ -206,22 +228,20 @@ if ($config->get_cfg_value("handleExpiredAccounts") == "true"){
         $smarty->assign("hideMenus", TRUE);
         $plug = (isset($_GET['plug'])) ? $_GET['plug'] : null;
 
-        // Search for the 'password' class and set its id as active plug.
-        foreach ($plist->dirlist as $key => $value){
-            if (preg_match("/\bpassword\b/i",$value)){
-                if($plug != $key) {
-                    $_GET['plug'] = $key;
-                }
-                break;
-            }
+        // Detect password plugin id:
+        $passId =  array_search('password', $plist->pluginList);
+        if($passId !== FALSE){
+            $_GET['plug'] = $passId;
         }
     }
 }
 
-
+$smarty->assign("noMenuMode", count($plist->getRegisteredMenuEntries()) == 0);
 if (isset($_GET['plug']) && $plist->plugin_access_allowed($_GET['plug'])){
   $plug= validate($_GET['plug']);
   $plugin_dir= $plist->get_path($plug);
+  $plugin= $plist->get_class($plug);
+  session::global_set('currentPlugin',$plugin);
   session::global_set('plugin_dir',$plugin_dir);
   if ($plugin_dir == ""){
     new log("security","gosa","",array(),"main.php called with invalid plug parameter \"$plug\"") ;
@@ -229,12 +249,19 @@ if (isset($_GET['plug']) && $plist->plugin_access_allowed($_GET['plug'])){
     exit;
   }
 } else {
-
-  /* set to welcome page as default plugin */
-  session::global_set('plugin_dir',"welcome");
-  $plugin_dir= "$BASE_DIR/plugins/generic/welcome";
+    session::global_set('plugin_dir',"welcome");
+    session::global_set('currentPlugin','welcome');
+    $plugin_dir= "$BASE_DIR/plugins/generic/welcome";
 }
 
+// Display the welcome page for admins (iconmenu) and an info page for those 
+//  who are not allowed to adminstrate anything (user)
+if(count($plist->getRegisteredMenuEntries()) == 0 && session::global_get('currentPlugin') == "welcome"){
+    session::global_set('plugin_dir',"infoPage");
+    session::global_set('currentPlugin','welcome');
+    $plugin_dir= "$BASE_DIR/plugins/generic/infoPage";
+} 
+
 /* Handle plugin locks.
     - Remove the plugin from session if we switched to another. (cleanup) 
     - Remove all created locks if "reset" was posted.
@@ -305,9 +332,12 @@ if (isset($_GET['reset'])){
 }
 
 /* show web frontend */
+$smarty->assign ("title","GOsa");
+$smarty->assign ("logo", image(get_template_path("images/logo.png")));
+$smarty->assign ("logoutimage", get_template_path("images/btn-logout.png"));
 $smarty->assign ("date", date("l, dS F Y H:i:s O"));
 $smarty->assign ("lang", preg_replace('/_.*$/', '', $lang));
-$smarty->assign ("must", "<font class=\"must\">*</font>");
+$smarty->assign ("must", "<span class='required'>*</span>");
 if (isset($plug)){
   $plug= "?plug=$plug";
 } else {
@@ -321,11 +351,14 @@ if (session::global_get('js')==FALSE){
   $smarty->assign("help_method"," onclick=\"return popup('helpviewer.php$plug','GOsa help');\"");
 }
 
+
+$loggedin = sprintf(_("You're logged in as %s"), 
+    "<span>".$ui->cn." [".$ui->username."] / ".$config->current['NAME']."</span>  ");
 if($ui->ignore_acl_for_current_user()){
-  $smarty->assign ("username", "<font color='#FF0000';>"._("User ACL checks disabled")."</font> ".$ui->username);
-}else{
-  $smarty->assign ("username", $ui->username);
+    $loggedin = "<font color='red'>"._("ACLs are disabled")."</font> ".$loggedin;
 }
+
+$smarty->assign ("loggedin", $loggedin);
 $smarty->assign ("go_logo", get_template_path('images/go_logo.png'));
 $smarty->assign ("go_base", get_template_path('images/dtree.png'));
 $smarty->assign ("go_home", get_template_path('images/gohome.png'));
@@ -335,11 +368,13 @@ $smarty->assign ("go_corner", get_template_path('images/go_corner.png'));
 $smarty->assign ("go_left", get_template_path('images/go_left.png'));
 $smarty->assign ("go_help", get_template_path('images/help.png'));
 
-$smarty->assign ("menu", $plist->menu);
+/* reload navigation if language changed*/  
+if($reload_navigation){
+  $plist->menu="";
+}
+$smarty->assign ("menu", $plist->gen_menu());
 $smarty->assign ("plug", "$plug");
 
-$smarty->assign("iePngWorkaround", $config->get_cfg_value("iePngWorkaround","false" ) == "true");
-$smarty->assign("usePrototype", "false");
 
 /* React on clicks */
 if ($_SERVER["REQUEST_METHOD"] == "POST"){
@@ -370,8 +405,8 @@ if (is_file("$plugin_dir/main.inc")){
   require ("$plugin_dir/main.inc");
 } else {
   msg_dialog::display(
-      _("Plugin"),
-      sprintf(_("FATAL: Cannot find any plugin definitions for plugin '%s'!"), $plug),
+      _("Plug-in"),
+      sprintf(_("Fatal error: Cannot find any plugin definitions for plugin %s!"), bold($plug)),
       FATAL_ERROR_DIALOG);
   exit();
 }
@@ -379,14 +414,16 @@ if (is_file("$plugin_dir/main.inc")){
 
 /* Print_out last ErrorMessage repeated string. */
 $smarty->assign("msg_dialogs", msg_dialog::get_dialogs());
+$smarty->assign ("pathMenu", $plist->genPathMenu());
 $smarty->assign("contents", $display);
+$smarty->assign("sessionLifetime", $config->get_cfg_value('core','sessionLifetime'));
 
 /* If there's some post, take a look if everything is there... */
 if (isset($_POST) && count($_POST)){
   if (!isset($_POST['php_c_check'])){
     msg_dialog::display(
             _("Configuration Error"),
-            sprintf(_("FATAL: not all POST variables have been transfered by PHP - please inform your administrator!")),
+            sprintf(_("Fatal error: not all POST variables have been transfered by PHP - please inform your administrator!")),
             FATAL_ERROR_DIALOG);
     exit();
   }
@@ -447,7 +484,7 @@ if(isset($_COOKIE['GOsa_Filter_Settings'])){
 }
 
 /* Save filters? */
-if($config->get_cfg_value("storeFilterSettings") == "true"){
+if($config->get_cfg_value("core","storeFilterSettings") == "true"){
   $cookie_vars = array("MultiDialogFilters","CurrentMainBase");
   foreach($cookie_vars as $var){
     if(session::global_is_set($var)){
diff --git a/gosa-core/html/password.php b/gosa-core/html/password.php
index 3651b80..78a545f 100644
--- a/gosa-core/html/password.php
+++ b/gosa-core/html/password.php
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: password.php 17970 2010-04-29 14:12:17Z hickert $$
+ * ID: $$Id: password.php 19588 2010-09-09 13:36:11Z hickert $$
  *
  * 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
@@ -22,18 +22,20 @@
 
 function displayPWchanger()
 {
-  global $smarty;
+    global $smarty;
 
-  $smarty->display(get_template_path('password.tpl'));
-  exit();
+    $smarty->assign ("logo", image(get_template_path("images/logo.png")));
+    $smarty->assign ("date", date("l, dS F Y H:i:s O"));
+    $smarty->display(get_template_path('password.tpl'));
+    exit();
 }
 
 /* Load required includes */
-require_once ("../include/php_setup.inc");
-require_once ("functions.inc");
+require_once "../include/php_setup.inc";
+require_once "functions.inc";
 
-if(!class_exists("log")){
-  require_once("class_log.inc");
+if (!class_exists("log")) {
+    require_once("class_log.inc");
 }
 
 header("Content-type: text/html; charset=UTF-8");
@@ -41,49 +43,91 @@ header("Content-type: text/html; charset=UTF-8");
 session::start();
 
 /* Destroy old session if exists.
-    Else you will get your old session back, if you not logged out correctly. */
-if(is_array(session::get_all()) && count(session::get_all())){
-  session::destroy();
-  session::start();
+Else you will get your old session back, if you not logged out correctly. */
+if (is_array(session::get_all()) && count(session::get_all())) {
+    session::destroy();
+    session::start();
 }
 
 /* Reset errors */
-session::global_set('js',true);
-session::set('errors',"");
-session::set('errorsAlreadyPosted',array());
-session::set('LastError',"");
+session::global_set('js', true);
+session::set('errors', "");
+session::set('errorsAlreadyPosted', array());
+session::set('LastError', "");
 
 /* Check if CONFIG_FILE is accessible */
-if (!is_readable(CONFIG_DIR."/".CONFIG_FILE)){
-  msg_dialog::display(_("Fatal error"), sprintf(_("GOsa configuration %s/%s is not readable. Aborted."),CONFIG_DIR,CONFIG_FILE), FATAL_ERROR_DIALOG);
-  exit;
+if (!is_readable(CONFIG_DIR."/".CONFIG_FILE)) {
+    msg_dialog::display(
+        _("Fatal error"),
+        sprintf(
+            _("GOsa configuration %s/%s is not readable. Aborted."),
+            CONFIG_DIR, CONFIG_FILE
+        ),
+        FATAL_ERROR_DIALOG
+    );
+    exit;
 }
 
 /* Parse configuration file */
 $config= new config(CONFIG_DIR."/".CONFIG_FILE, $BASE_DIR);
-session::global_set('DEBUGLEVEL', $config->get_cfg_value("debuglevel"));
-if ($_SERVER["REQUEST_METHOD"] != "POST"){
-  @DEBUG (DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config");
+
+/* Generate server list */
+$servers= array();
+foreach ($config->data['LOCATIONS'] as $key => $ignored) {
+    $servers[$key]= $key;
+}
+
+if (isset($_POST['server'])) {
+    $directory= get_post('server');
+}elseif (isset($_GET['directory'])) {
+    $directory= $_GET['directory'];
+} else {
+    $directory= $config->data['MAIN']['DEFAULT'];
+    if (!isset($servers[$directory])) {
+        $directory = key($servers);
+    }
+    
+}
+
+// Set location and reload the configRegistry - we've now access to the ldap. 
+if(isset($servers[$directory])){
+    $config->set_current($directory);
+    $config->check_and_reload();
+    $config->configRegistry->reload(TRUE);
+}
+session::global_set('plist', new pluglist($config, $ui));
+
+session::global_set('debugLevel', $config->get_cfg_value("core","debugLevel"));
+if ($_SERVER["REQUEST_METHOD"] != "POST") {
+    @DEBUG(
+        DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config"
+    );
 }
 
 /* Set template compile directory */
-$smarty->compile_dir= $config->get_cfg_value("templateCompileDirectory", '/var/spool/gosa');
+$smarty->compile_dir= $config->get_cfg_value("core", "templateCompileDirectory");
 
 /* Check for compile directory */
-if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))){
-  msg_dialog::display(_("Configuration error"), sprintf(_("Directory '%s' specified as compile directory is not accessible!"),
-        $smarty->compile_dir), FATAL_ERROR_DIALOG);
-  exit;
+if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))) {
+    msg_dialog::display(
+        _("Configuration error"),
+        sprintf(
+            _("Compile directory %s is not accessible!"),
+            bold($smarty->compile_dir)
+        ),
+        FATAL_ERROR_DIALOG
+    );
+    exit;
 }
 
 /* Check for old files in compile directory */
 clean_smarty_compile_dir($smarty->compile_dir);
 
 /* Language setup */
-if ($config->get_cfg_value("language") == ""){
-  $lang= get_browser_language();
+if ($config->get_cfg_value("core","language") == "") {
+    $lang= get_browser_language();
 } else {
-  $lang= $config->get_cfg_value("language");
+    $lang= $config->get_cfg_value("core","language");
 }
 $lang.=".UTF-8";
 putenv("LANGUAGE=");
@@ -97,35 +141,25 @@ $domain = 'messages';
 bindtextdomain($domain, LOCALE_DIR);
 textdomain($domain);
 
-/* Generate server list */
-$servers= array();
-foreach ($config->data['LOCATIONS'] as $key => $ignored){
-	$servers[$key]= $key;
-}
-if (isset($_POST['server'])){
-	$directory= validate($_POST['server']);
-} else {
-	$directory= $config->data['MAIN']['DEFAULT'];
-
-  if(!isset($servers[$directory])){
-    $directory = key($servers);
-  }
-}
-if (isset($_GET['directory']) && isset($servers[$_GET['directory']])){
-	$smarty->assign ("show_directory_chooser", false);
-	$directory= validate($_GET['directory']);
+$smarty->assign ("title","GOsa");
+if (isset($_GET['directory']) && isset($servers[$_GET['directory']])) {
+    $smarty->assign("show_directory_chooser", false);
+    $directory= validate($_GET['directory']);
 } else {
-	$smarty->assign ("server_options", $servers);
-	$smarty->assign ("server_id", $directory);
-	$smarty->assign ("show_directory_chooser", true);
+    $smarty->assign("server_options", $servers);
+    $smarty->assign("server_id", $directory);
+    $smarty->assign("show_directory_chooser", true);
 }
 
 /* Set config to selected one */
 $config->set_current($directory);
-session::global_set('config',$config);
+session::global_set('config', $config);
 
-if ($_SERVER["REQUEST_METHOD"] != "POST"){
-  @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $lang, "Setting language to");
+if ($_SERVER["REQUEST_METHOD"] != "POST") {
+    @DEBUG(
+        DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,
+        $lang, "Setting language to"
+    );
 }
 
 
@@ -134,164 +168,168 @@ $ssl= "";
 if (!isset($_SERVER['HTTPS']) ||
     !stristr($_SERVER['HTTPS'], "on")) {
 
-  if (empty($_SERVER['REQUEST_URI'])) {
-    $ssl= "https://".$_SERVER['HTTP_HOST'].
-      $_SERVER['PATH_INFO'];
-  } else {
-    $ssl= "https://".$_SERVER['HTTP_HOST'].
-      $_SERVER['REQUEST_URI'];
-  }
+        if (empty($_SERVER['REQUEST_URI'])) {
+            $ssl= "https://".$_SERVER['HTTP_HOST'].
+                $_SERVER['PATH_INFO'];
+        } else {
+            $ssl= "https://".$_SERVER['HTTP_HOST'].
+                $_SERVER['REQUEST_URI'];
+        }
 }
 
 /* If SSL is forced, just forward to the SSL enabled site */
-if ($config->get_cfg_value("forcessl") == 'true' && $ssl != ''){
-  header ("Location: $ssl");
-  exit;
+if ($config->get_cfg_value("core","forceSSL") == 'true' && $ssl != '') {
+    header("Location: $ssl");
+    exit;
 }
 
 /* Check for selected password method */
-$method= $config->get_cfg_value("passwordDefaultHash", "crypt/md5");
-if (isset($_GET['method'])){
-	$method= validate($_GET['method']);
-	$tmp = new passwordMethod($config);
-	$available = $tmp->get_available_methods();
-	if (!isset($available[$method])){
-    msg_dialog::display(_("Password method"),_("Error: Password method not available!"),FATAL_ERROR_DIALOG);
-		exit;
-	}
+$method= $config->get_cfg_value("core","passwordDefaultHash");
+if (isset($_GET['method'])) {
+    $method= validate($_GET['method']);
+    $tmp = new passwordMethod($config, "dummy");
+    $available = $tmp->get_available_methods();
+    if (!isset($available[$method])) {
+        msg_dialog::display(
+            _("Password method"),
+            _("Error: Password method not available!"),
+            FATAL_ERROR_DIALOG
+        );
+        exit;
+    }
 }
 
 
 /* Check for selected user... */
-if (isset($_GET['uid']) && $_GET['uid'] != ""){
-	$uid= validate($_GET['uid']);
-	$smarty->assign('display_username', false);
-} elseif (isset($_POST['uid'])){
-	$uid= validate($_POST['uid']);
-	$smarty->assign('display_username', true);
+if (isset($_GET['uid']) && $_GET['uid'] != "") {
+    $uid= validate($_GET['uid']);
+    $smarty->assign('display_username', false);
+} elseif (isset($_POST['uid'])) {
+    $uid= get_post('uid');
+    $smarty->assign('display_username', true);
 } else {
-	$uid= "";
-	$smarty->assign('display_username', true);
+    $uid= "";
+    $smarty->assign('display_username', true);
 }
 $current_password= "";
 $smarty->assign("changed", false);
 
 /* Got a formular answer, validate and try to log in */
-if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])){
-
-  /* Destroy old sessions, they cause a successfull login to relog again ...*/
-  if(session::global_is_set('_LAST_PAGE_REQUEST')){
-    session::global_set('_LAST_PAGE_REQUEST',time());
-  }
-
-  $message= array();
-  $current_password= $_POST['current_password'];
-
-  /* Do new and repeated password fields match? */
-  $new_password= $_POST['new_password'];
-  if ($_POST['new_password'] != $_POST['new_password_repeated']){
-	  $message[]= _("The passwords you've entered as 'New password' and 'Repeated new password' do not match.");
-  } else {
-	  if ($_POST['new_password'] == ""){
-      $message[]= msgPool::required(_("New password"));
-	  }
-  }
-
-  /* Password policy fulfilled? */
-  if ($config->get_cfg_value("passwordMinDiffer") != ""){
-	  $l= $config->get_cfg_value("passwordMinDiffer");
-	  if (substr($_POST['current_password'], 0, $l) == substr($_POST['new_password'], 0, $l)){
-		  $message[]= _("The password used as new and current are too similar.");
-	  }
-  }
-  if ($config->get_cfg_value("passwordMinLength") != ""){
-	  if (strlen($_POST['new_password']) < $config->get_cfg_value("passwordMinLength")){
-		  $message[]= _("The password used as new is to short.");
-	  }
-  }
-
-  /* Validate */
-  if (!tests::is_uid($uid)){
-	  $message[]= msgPool::invalid(_("Login"));
-  } elseif (mb_strlen($_POST["current_password"], 'UTF-8') == 0){
-    $message[]= msgPool::required(_("Current password"));
-  } else {
-
-    /* Do we have the selected user somewhere? */
-    $ui= ldap_login_user ($uid, $current_password);
-
-    if ($ui === NULL){
-      $message[]= _("Please check the username/password combination.");
-    } else {
-      $acls = $ui->get_permissions($ui->dn,"users/password");
-      if(!preg_match("/w/i",$acls)){
-        $message[]= _("You have no permissions to change your password.");
-      }
+if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])) {
+
+    /* Destroy old sessions, they cause a successfull login to relog again ...*/
+    if (session::global_is_set('_LAST_PAGE_REQUEST')) {
+        session::global_set('_LAST_PAGE_REQUEST', time());
+    }
+
+    // Get posted values
+    $current_password = get_post('current_password');
+    $new_password = get_post('new_password');
+    $repeated_password = get_post('new_password_repeated');
+
+
+    // Get configuration flags for further input checks.
+    $check_differ = $config->get_cfg_value("core","passwordMinDiffer") != "";
+    $differ       = $config->get_cfg_value("core","passwordMinDiffer");
+    $check_length = $config->get_cfg_value("core","passwordMinLength") != "";
+    $length       = $config->get_cfg_value("core","passwordMinLength");
+
+    // Once an error has occured it is stored here.
+    $message = array();
+
+    // Perform GOsa password policy checks
+    if(!tests::is_uid($uid)) {
+        $message[]= msgPool::invalid(_("Login"));
+    }elseif(empty($current_password)){
+        $message[] = _("You need to specify your current password in order to proceed.");
+    }elseif($new_password  != $repeated_password){
+        $message[] = _("The passwords you've entered as 'New password' and 'Repeated new password' do not match.");
+    }elseif($new_password == ""){
+        $message[] = _("The password you've entered as 'New password' is empty.");
+    }elseif($check_differ && (substr($current_password, 0, $differ) == substr($new_password, 0, $differ))){
+        $message[] = _("The password used as new and current are too similar.");
+    }elseif($check_length && (strlen($new_password) < $length)){
+        $message[] = _("The password used as new is to short.");
+    }elseif(!passwordMethod::is_harmless($new_password)){
+        $message[] = _("The password contains possibly problematic Unicode characters!");
     }
-  }
-
-  /* Do we need to show error messages? */
-  if (count ($message) != 0){
-	  /* Show error message and continue editing */
-	  msg_dialog::displayChecks($message);
-  } else {
-
-	  /* Passed quality check, just try to change the password now */
-	  $output= "";
-	  if ($config->get_cfg_value("passwordHook") != ""){
-		  exec($config->get_cfg_value("passwordHook")." ".$ui->username." ".
-				  $_POST['current_password']." ".$_POST['new_password'], $resarr);
-		  if(count($resarr) > 0) {
-			  $output= join('\n', $resarr);
-		  }
-	  }
-	  if ($output != ""){
-		  $message[]= _("External password changer reported a problem: ".$output);
-		  msg_dialog::displayChecks($message);
-	  } else {
-		  if ($method != ""){
-			  change_password ($ui->dn, $_POST['new_password'], 0, $method);
-		  } else {
-			  change_password ($ui->dn, $_POST['new_password']);
-		  }
-		  gosa_log ("User/password has been changed");
-		  $smarty->assign("changed", true);
-	  }
-  }
 
+    // Connect as the given user and load its ACLs
+    if(!count($message)){
+        $ui= ldap_login_user($uid, $current_password);
+        if ($ui === NULL) {
+            $message[]= _("Please check the username/password combination!");
+        } else {
+            $tmp= new acl($config, NULL, $ui->dn);
+            $ui->ocMapping= $tmp->ocMapping;
+            $ui->loadACL();
+            $acls = $ui->get_permissions($ui->dn, "users/password");
+            if (!preg_match("/w/i", $acls)) {
+                $message[]= _("You have no permissions to change your password!");
+            }
+        }
+    }
+
+    // Call external check hook to validate the password change
+    if(!count($message)){
+        $attrs = array();
+        $attrs['current_password'] = ($current_password);
+        $attrs['new_password'] = ($new_password);
+        $checkRes = password::callCheckHook($config,$ui->dn,$attrs);
+        if(count($checkRes)){
+            $message[] = sprintf(_("Check-hook reported a problem: %s. Password change canceled!"),implode($checkRes));
+        }
+    }
 
+    // Display error messages
+    if (count($message) != 0) {
+        msg_dialog::displayChecks($message);
+    } else
+
+        // Try to change the password
+        if(!change_password($ui->dn, $_POST['new_password'], FALSE, $method,get_post('current_password'),$msg)){
+            msg_dialog::displayChecks(array($msg));
+        } else {
+            gosa_log("User/password has been changed");
+            $smarty->assign("changed", true);
+        }
 }
 
 /* Parameter fill up */
 $params= "";
-foreach (array('uid', 'method', 'directory') as $index){
-	$params.= "&$index=".urlencode($$index);
+foreach (array('uid', 'method', 'directory') as $index) {
+    $params.= "&$index=".urlencode($$index);
 }
 $params= preg_replace('/^&/', '?', $params);
 $smarty->assign('params', $params);
 
 /* Fill template with required values */
-$smarty->assign ('date', gmdate("D, d M Y H:i:s"));
-$smarty->assign ('uid', $uid);
-$smarty->assign ('password_img', get_template_path('images/password.png'));
+$smarty->assign('date', gmdate("D, d M Y H:i:s"));
+$smarty->assign('uid', $uid);
+$smarty->assign('password_img', get_template_path('images/password.png'));
 
 /* Displasy SSL mode warning? */
-if ($ssl != "" && $config->get_cfg_value("warnssl") == 'true'){
-  $smarty->assign ("ssl", "<b>"._("Warning").":</b> "._("Session will not be encrypted.")." <a style=\"color:red;\" href=\"".htmlentities($ssl)."\"><b>"._("Enter SSL session")."</b></a>!");
+if ($ssl != "" && $config->get_cfg_value("core","warnSSL") == 'true') {
+    $smarty->assign(
+        "ssl",
+        "<b>"._("Warning").":</b> "._("Session will not be encrypted.").
+        " <a style=\"color:red;\" href=\"".htmlentities($ssl)."\"><b>".
+        _("Enter SSL session")."</b></a>!"
+    );
 } else {
-  $smarty->assign ("ssl", "");
+    $smarty->assign("ssl", "");
 }
 
 /* show login screen */
-$smarty->assign("JS",session::global_get('js'));
-$smarty->assign ("PHPSESSID", session_id());
-if (session::is_set('errors')){
-  $smarty->assign("errors", session::get('errors'));;
+$smarty->assign("JS", session::global_get('js'));
+$smarty->assign("PHPSESSID", session_id());
+if (session::is_set('errors')) {
+    $smarty->assign("errors", session::get('errors'));;
 }
-if ($error_collector != ""){
-  $smarty->assign("php_errors", $error_collector."</div>");
+if ($error_collector != "") {
+    $smarty->assign("php_errors", $error_collector."</div>");
 } else {
-  $smarty->assign("php_errors", "");
+    $smarty->assign("php_errors", "");
 }
 
 $smarty->assign("msg_dialogs", msg_dialog::get_dialogs());
diff --git a/gosa-core/html/plugins/acl/images/new-role.png b/gosa-core/html/plugins/acl/images/new-role.png
deleted file mode 100644
index 95f99c0..0000000
Binary files a/gosa-core/html/plugins/acl/images/new-role.png and /dev/null differ
diff --git a/gosa-core/html/plugins/acl/images/plugin.png b/gosa-core/html/plugins/acl/images/plugin.png
index 40b868f..b80c2a6 100644
Binary files a/gosa-core/html/plugins/acl/images/plugin.png and b/gosa-core/html/plugins/acl/images/plugin.png differ
diff --git a/gosa-core/html/plugins/dashBoard/images/dashBoard.png b/gosa-core/html/plugins/dashBoard/images/dashBoard.png
new file mode 100644
index 0000000..1673243
Binary files /dev/null and b/gosa-core/html/plugins/dashBoard/images/dashBoard.png differ
diff --git a/gosa-core/html/plugins/departments/images/dc.png b/gosa-core/html/plugins/departments/images/dc.png
index 4d13927..d2a954d 100644
Binary files a/gosa-core/html/plugins/departments/images/dc.png and b/gosa-core/html/plugins/departments/images/dc.png differ
diff --git a/gosa-core/html/plugins/departments/images/department.png b/gosa-core/html/plugins/departments/images/department.png
index f7e8c35..536da3d 100644
Binary files a/gosa-core/html/plugins/departments/images/department.png and b/gosa-core/html/plugins/departments/images/department.png differ
diff --git a/gosa-core/html/plugins/departments/images/locality.png b/gosa-core/html/plugins/departments/images/locality.png
index 2eeff8e..1484c5c 100644
Binary files a/gosa-core/html/plugins/departments/images/locality.png and b/gosa-core/html/plugins/departments/images/locality.png differ
diff --git a/gosa-core/html/plugins/departments/images/plugin.png b/gosa-core/html/plugins/departments/images/plugin.png
index d5ac437..4768036 100644
Binary files a/gosa-core/html/plugins/departments/images/plugin.png and b/gosa-core/html/plugins/departments/images/plugin.png differ
diff --git a/gosa-core/html/plugins/groups/images/plugin.png b/gosa-core/html/plugins/groups/images/plugin.png
index 1ce41bd..e5577d0 100644
Binary files a/gosa-core/html/plugins/groups/images/plugin.png and b/gosa-core/html/plugins/groups/images/plugin.png differ
diff --git a/gosa-core/html/plugins/groups/images/groups.png b/gosa-core/html/plugins/groups/images/select_group.png
similarity index 100%
rename from gosa-core/html/plugins/groups/images/groups.png
rename to gosa-core/html/plugins/groups/images/select_group.png
diff --git a/gosa-core/html/plugins/ogroups/images/new.png b/gosa-core/html/plugins/ogroups/images/new.png
deleted file mode 100644
index 318715a..0000000
Binary files a/gosa-core/html/plugins/ogroups/images/new.png and /dev/null differ
diff --git a/gosa-core/html/plugins/propertyEditor/images/file.png b/gosa-core/html/plugins/propertyEditor/images/file.png
new file mode 100644
index 0000000..e2a44ec
Binary files /dev/null and b/gosa-core/html/plugins/propertyEditor/images/file.png differ
diff --git a/gosa-core/html/plugins/propertyEditor/images/ldap.png b/gosa-core/html/plugins/propertyEditor/images/ldap.png
new file mode 100644
index 0000000..3bfa627
Binary files /dev/null and b/gosa-core/html/plugins/propertyEditor/images/ldap.png differ
diff --git a/gosa-core/html/plugins/propertyEditor/images/plugin.png b/gosa-core/html/plugins/propertyEditor/images/plugin.png
new file mode 100644
index 0000000..1aee723
Binary files /dev/null and b/gosa-core/html/plugins/propertyEditor/images/plugin.png differ
diff --git a/gosa-core/html/plugins/statistics/getGraph.php b/gosa-core/html/plugins/statistics/getGraph.php
new file mode 100644
index 0000000..83b55a2
--- /dev/null
+++ b/gosa-core/html/plugins/statistics/getGraph.php
@@ -0,0 +1,27 @@
+<?php
+
+restore_error_handler();
+
+/* Basic setup, remove eventually registered sessions */
+require_once ("../../../include/php_setup.inc");
+require_once ("functions.inc");
+session::start();
+session::global_set('errorsAlreadyPosted',array());
+
+
+/* Logged in? Simple security check */
+if (!session::global_is_set('ui')){
+  new log("security","unknown","",array(),"Error: getbin.php called without session") ;
+  header ("Location: index.php");
+  exit;
+}
+
+if(!isset($_GET['id'])) return;
+
+if(session::is_set('statistics::graphFile'.preg_replace("/[^0-9]/","",$_GET['id']))){
+    header('Content-Type: image/png');
+    $graphFile = session::get('statistics::graphFile'.preg_replace("/[^0-9]/","",$_GET['id']));
+    echo file_get_contents($graphFile);
+}
+
+?>
diff --git a/gosa-core/html/plugins/statistics/images/statistics.png b/gosa-core/html/plugins/statistics/images/statistics.png
new file mode 100644
index 0000000..1673243
Binary files /dev/null and b/gosa-core/html/plugins/statistics/images/statistics.png differ
diff --git a/gosa-core/html/plugins/users/images/list_new_user.png b/gosa-core/html/plugins/users/images/list_new_user.png
deleted file mode 100644
index 34ee112..0000000
Binary files a/gosa-core/html/plugins/users/images/list_new_user.png and /dev/null differ
diff --git a/gosa-core/html/plugins/users/images/select_user.png b/gosa-core/html/plugins/users/images/select_user.png
index 83e5b31..b50ec42 100644
Binary files a/gosa-core/html/plugins/users/images/select_user.png and b/gosa-core/html/plugins/users/images/select_user.png differ
diff --git a/gosa-core/html/plugins/users/images/user.png b/gosa-core/html/plugins/users/images/user.png
index 4a5332b..2a385e4 100644
Binary files a/gosa-core/html/plugins/users/images/user.png and b/gosa-core/html/plugins/users/images/user.png differ
diff --git a/gosa-core/html/plugins/welcome/images/home.png b/gosa-core/html/plugins/welcome/images/home.png
new file mode 100644
index 0000000..8e001c8
Binary files /dev/null and b/gosa-core/html/plugins/welcome/images/home.png differ
diff --git a/gosa-core/html/progress.php b/gosa-core/html/progress.php
deleted file mode 100644
index 2564a6e..0000000
--- a/gosa-core/html/progress.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-/*
- * This code is part of GOsa (http://www.gosa-project.org)
- * Copyright (C) 2003-2008 GONICUS GmbH
- *
- * ID: $$Id: progress.php 15664 2010-02-22 10:42:58Z cajus $$
- *
- * 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.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-session_cache_limiter("private");
-
-/* Check for parameter completenes */
-if (!isset($_GET['x']) || !isset($_GET['y']) || !isset($_GET['p'])){
-  die ("Missing parameters!");
-}
-if (!is_numeric($_GET['x']) || !is_numeric($_GET['y'])){
-  die ("Parameters must be numeric!");
-}
-
-$p= (int)($_GET['p']);
-$x= (int)($_GET['x']);
-$y= (int)($_GET['y']);
-
-/* Check percentage */
-if ($p < 0){
-  $p= 0;
-} elseif ($p > 100){
-  $p= 100;
-}
-$p= intval ($p);
-
-/* Check dimensions */
-if ($x < 3 || $x > 1000){
-  $x= 180;
-}
-if ($y < 3 || $y > 700){
-  $y= 20;
-}
-
-if(!function_exists("imagecreate")){
-  syslog(LOG_ERR, "GOsa is missing the gd library, please install php5-gd to be able to see progress images.");
-  echo "Please install the php5-gd library, GOsa can't create images without it.";
-  exit();
-}else{
-
-  $x_matches= FALSE;
-  $y_matches= FALSE;
-  foreach (array(7,6,5,4,3,2,1,0) as $font){
-    $fx= ImageFontWidth($font) * strlen("$p%");
-    $fy= ImageFontHeight($font);
-
-    /* Look if font size matches image size */
-    if ($fx < ($x-2)){
-      $x_matches= TRUE;
-    }
-    if ($fy < ($y-2)){
-      $y_matches= TRUE;
-    }
-    if ($x_matches && $y_matches){
-      break;
-    }
-  }
-
-  /* Draw image in GD image stream */
-  $im = imagecreate ($x, $y)
-    or die ("Cannot Initialize new GD image stream");
-
-  /* Set colors */
-  $bg_color= imagecolorallocate ($im, 255, 255, 255);
-  $br_color= imagecolorallocate ($im, 0,0,0);
-  $fi_color= imagecolorallocate ($im, 0,0,180);
-  $tx_color= imagecolorallocate ($im, 240, 10, 90);
-
-  /* Draw progress bar */
-  imagerectangle ($im, 0, 0, $x-1, $y-1, $br_color);
-  imagefilledrectangle ($im, 1, 1, (($x - 2) * $p / 100),
-      $y - 2, $fi_color);
-
-  /* Is font to big for progress bar? */
-  if ($font != 0){
-    imagestring ($im, $font, ($x - $fx) / 2, ($y - $fy) / 2, "$p%", $tx_color);
-  }
-
-  /* Finally draw the image and remove context */
-  header ("Content-type: image/png");
-  imagepng ($im);
-  imagedestroy ($im);
-}
-?>
diff --git a/gosa-core/html/setup.php b/gosa-core/html/setup.php
index 0cfcb93..7fd1269 100644
--- a/gosa-core/html/setup.php
+++ b/gosa-core/html/setup.php
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: setup.php 16508 2010-03-15 08:28:01Z hickert $$
+ * ID: $$Id: setup.php 18955 2010-07-08 08:12:10Z hickert $$
  *
  * 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
@@ -24,6 +24,11 @@
 require_once ("../include/php_setup.inc");
 require_once ("functions.inc");
 
+// Do not use the GOsa default error handler.
+// To do so we require a valid config object - and at this point 
+//  we doesn't have one.
+restore_error_handler();
+
 require_once("../setup/class_setup.inc");
 require_once("../setup/class_setupStep.inc");
 require_once("../setup/class_setupStep_Welcome.inc");
@@ -31,9 +36,6 @@ require_once("../setup/class_setupStep_Language.inc");
 require_once("../setup/class_setupStep_Checks.inc");
 require_once("../setup/class_setupStep_License.inc");
 require_once("../setup/class_setupStep_Ldap.inc");
-require_once("../setup/class_setupStep_Config1.inc");
-require_once("../setup/class_setupStep_Config2.inc");
-require_once("../setup/class_setupStep_Config3.inc");
 require_once("../setup/class_setupStep_Schema.inc");
 require_once("../setup/class_setupStep_Migrate.inc");
 require_once("../setup/class_setupStep_Feedback.inc");
@@ -50,7 +52,7 @@ ini_set("session.gc_maxlifetime",24*60*60);
 
 /* Start session */
 session::start();
-session::global_set('DEBUGLEVEL',1);
+session::global_set('debugLevel',1);
 session::set('errorsAlreadyPosted',array());
 
 /* Attribute initialization, reset errors */
@@ -58,14 +60,19 @@ session::set('errors',"");
 session::set('errorsAlreadyPosted',array());
 session::set('LastError',"");
 
-/* Set template compile directory */
-$smarty->compile_dir= '/var/spool/gosa/';
+$smarty->compile_dir= "/var/spool/gosa/";
+if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))){
+
+    if(isset($_SERVER['SCRIPT_FILENAME'])){
+        $smarty->compile_dir= preg_replace("#/html/.*$#","",$_SERVER['SCRIPT_FILENAME']);
+    }
+}
 
 /* Check for compile directory */
 if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))){
-  msg_dialog::display(_("Smarty"),sprintf(_("Directory '%s' specified as compile directory is not accessible!"),
-    $smarty->compile_dir),FATAL_ERROR_DIALOG);
-  exit();
+    msg_dialog::display(_("Smarty"),sprintf( _("Compile directory %s is not accessible!"),
+                bold('/var/spool/gosa/')),FATAL_ERROR_DIALOG);
+    exit();
 }
 
 /* Get posted language */
@@ -113,6 +120,7 @@ textdomain($domain);
 $display = "";
 require_once("../setup/main.inc");
 
+$smarty->assign ("title","GOsa");
 $smarty->assign("date", date("l, dS F Y H:i:s O"));
 $header= "<!-- headers.tpl-->".$smarty->fetch(get_template_path('setup_headers.tpl'));
 
diff --git a/gosa-core/html/themes/default/fonts/LiberationSans-Bold.ttf b/gosa-core/html/themes/default/fonts/LiberationSans-Bold.ttf
new file mode 100644
index 0000000..203d4a4
Binary files /dev/null and b/gosa-core/html/themes/default/fonts/LiberationSans-Bold.ttf differ
diff --git a/gosa-core/html/themes/default/fonts/LiberationSans-BoldItalic.ttf b/gosa-core/html/themes/default/fonts/LiberationSans-BoldItalic.ttf
new file mode 100644
index 0000000..2ebf198
Binary files /dev/null and b/gosa-core/html/themes/default/fonts/LiberationSans-BoldItalic.ttf differ
diff --git a/gosa-core/html/themes/default/fonts/LiberationSans-Italic.ttf b/gosa-core/html/themes/default/fonts/LiberationSans-Italic.ttf
new file mode 100644
index 0000000..d58299c
Binary files /dev/null and b/gosa-core/html/themes/default/fonts/LiberationSans-Italic.ttf differ
diff --git a/gosa-core/html/themes/default/fonts/LiberationSans-Regular.ttf b/gosa-core/html/themes/default/fonts/LiberationSans-Regular.ttf
new file mode 100644
index 0000000..5464720
Binary files /dev/null and b/gosa-core/html/themes/default/fonts/LiberationSans-Regular.ttf differ
diff --git a/gosa-core/html/themes/default/images/accountexpired.png b/gosa-core/html/themes/default/images/accountexpired.png
deleted file mode 100644
index c2b1a1f..0000000
Binary files a/gosa-core/html/themes/default/images/accountexpired.png and /dev/null differ
diff --git a/gosa-core/html/themes/default/images/border.png b/gosa-core/html/themes/default/images/border.png
deleted file mode 100644
index a287c2b..0000000
Binary files a/gosa-core/html/themes/default/images/border.png and /dev/null differ
diff --git a/gosa-core/html/themes/default/images/btn-logout.png b/gosa-core/html/themes/default/images/btn-logout.png
new file mode 100644
index 0000000..cf1ecd4
Binary files /dev/null and b/gosa-core/html/themes/default/images/btn-logout.png differ
diff --git a/gosa-core/html/themes/default/images/go_logo.png b/gosa-core/html/themes/default/images/go_logo.png
deleted file mode 100644
index 913201c..0000000
Binary files a/gosa-core/html/themes/default/images/go_logo.png and /dev/null differ
diff --git a/gosa-core/html/themes/default/images/gohome.png b/gosa-core/html/themes/default/images/gohome.png
deleted file mode 100644
index 37a5231..0000000
Binary files a/gosa-core/html/themes/default/images/gohome.png and /dev/null differ
diff --git a/gosa-core/html/themes/default/images/help.png b/gosa-core/html/themes/default/images/help.png
deleted file mode 100644
index 644347b..0000000
Binary files a/gosa-core/html/themes/default/images/help.png and /dev/null differ
diff --git a/gosa-core/html/themes/default/images/logo.png b/gosa-core/html/themes/default/images/logo.png
new file mode 100644
index 0000000..c13f137
Binary files /dev/null and b/gosa-core/html/themes/default/images/logo.png differ
diff --git a/gosa-core/html/themes/default/images/stop.png b/gosa-core/html/themes/default/images/stop.png
deleted file mode 100644
index 73b27d9..0000000
Binary files a/gosa-core/html/themes/default/images/stop.png and /dev/null differ
diff --git a/gosa-core/html/themes/default/images/title-bar.png b/gosa-core/html/themes/default/images/title-bar.png
new file mode 100644
index 0000000..d765a3f
Binary files /dev/null and b/gosa-core/html/themes/default/images/title-bar.png differ
diff --git a/gosa-core/html/themes/default/password-style.css b/gosa-core/html/themes/default/password-style.css
deleted file mode 100644
index 6d26305..0000000
--- a/gosa-core/html/themes/default/password-style.css
+++ /dev/null
@@ -1,56 +0,0 @@
-body {
-margin-left:0;
-margin-right:0;
-margin-top:0;
-margin-bottom:0;
-background-color:#FFF;
-color:#00008F;
-font-family:arial,helvetica,sans-serif;
-font-size:12px;
-}
-
-h1 {
-margin:0;
-background-color:#A9FBA6;
-border-bottom:1px solid #AAA;
-padding-top:.2em;
-padding-bottom:.2em;
-}
-
-img.center {
-text-align:center;
-vertical-align:middle;
-}
-
-h1.headline {
-font-size:2em;
-}
-
-div.success {
-padding:1em;
-}
-
-p.infotext {
-padding:.5em;
-}
-
-table {
-border-spacing:.5em;
-}
-
-div.change {
-margin-right:.5em;
-text-align:right;
-}
-
-div.ruler {
-border-top:1px solid #AAA;
-width:100%;
-height:1px;
-margin-top:.5em;
-margin-bottom:.5em;
-}
-
-table.iesucks {
-width:60%;
-}
\ No newline at end of file
diff --git a/gosa-core/html/themes/default/style.css b/gosa-core/html/themes/default/style.css
index 8bf92d7..4b28ca8 100644
--- a/gosa-core/html/themes/default/style.css
+++ b/gosa-core/html/themes/default/style.css
@@ -1,2013 +1,1718 @@
-body {
-margin-left:0;
-margin-right:0;
-margin-top:0;
-margin-bottom:0;
-background-color:#FFF;
-color:#00008F;
-font-family:arial,helvetica,sans-serif;
-font-size:12px;
+ at font-face {
+  font-family: 'LiberationSans';
+  src: local('LiberationSans Regular'),
+       local('LiberationSans-Regular'),
+       url('fonts/LiberationSans-Regular.ttf') format('truetype');
 }
 
-h1 {
-font-size:14px;
-color:#00378a;
+ at font-face {
+  font-family: 'LiberationSans';
+  src: local('LiberationSans Italic'),
+       local('LiberationSans-Italic'),
+       url('fonts/LiberationSans-Italic.ttf') format('truetype');
+  font-style: italic;
 }
 
-h2,h3,h4,h5,h6 {
-font-size:13px;
-color:#00378a;
+ at font-face {
+  font-family: 'LiberationSans';
+  src: local('LiberationSans Bold'),
+       local('LiberationSans-Bold'),
+       url('fonts/LiberationSans-Bold.ttf') format('truetype');
+  font-weight: bold;
 }
 
-td,p,b {
-font-size:12px;
-}
+ at font-face {
+  font-family: 'LiberationSans';
+  src: local('LiberationSans Bold Italic'),
+        local('LiberationSans-BoldItalic'),
+        url('fonts/LiberationSans-BoldItalic.ttf') format('truetype');
+  font-weight: bold;
+  font-style: italic;
+} 
 
-tr.rowxp {
+body, html {
+  border:0;
+  margin:0;
+  background-color:#FFF;
+  color:#000;
+  font-size:13px;
+  font-family:"LiberationSans",Arial,Verdana,sans-serif;
+  height:100%;
+  min-width:1000px;
+  min-height:700px;
 }
 
-tr.rowxp:hover {
-background-color:#D8D8D8;
+span.highlight {
+  font-weight:bold;
 }
 
-td.listheader {
-background:#F0F0F0;
-font-weight:bold;
-border-right:1px solid #AAA;
-border-bottom:1px solid #AAA;
-padding:3px;
-height:22px;
+.left{
+  float:left;
 }
 
-td#menucell {
-border:1px solid #AAA;
+.right{
+  float:right;
 }
 
-td.listfooter {
-background:#E5E5E5;
-border-top:1px solid silver;
-padding:3px;
-height:16px;
+.v-spacer{
+  height:8px;
 }
 
-td.scrollhead {
-vertical-align:top;
-padding:0;
+hr {
+  border:0;
+  border-bottom:1px solid #CCC;
 }
 
-td.scrollbody {
-vertical-align:top;
-padding:0;
+a:link {
+  text-decoration:none;
+  color:#000;
 }
 
-div.scrollbody {
-background-color:#FFF;
-overflow:auto;
-text-align:left;
+a:visited {
+  text-decoration:none;
+  color:#000;
 }
 
-tr.rowxp0 {
-background:#FFF;
+input[type=checkbox]{
+  border:1px solid #CCC;
 }
 
-tr.rowxp0:hover {
-background-color:#D8D8D8;
+input[type=text], input[type=password]{
+  border:1px solid #CCC;
+  padding:3px;
 }
 
-td.list0 {
-background:transparent;
-border-right:1px solid #B0B0B0;
-padding:3px;
-height:22px;
+input[type=text]:active, input[type=text]:focus, input[type=password]:active, input[type=password]:focus, textarea:focus, textarea:active, select:focus, select:active{
+  border:1px solid #777;
 }
 
-td.list0#icon {
-width:20px;
-text-align:center;
+input[type=text]:hover, input[type=password]:hover, textarea:hover, select:hover{
+  border-color:#777;
 }
 
-td.list0#entry {
+input[type=password]{
+  background-repeat:no-repeat;
+  background-position:right center;
 }
 
-td.list0#info {
-width:200px;
+textarea, select {
+  border:1px solid #DDD;
+  margin-bottom:2px;
+  background-color:white;
 }
 
-td.list0#property {
-width:50px;
+textarea[disabled], select:disabled, select[size="1"]:disabled {
+color:#666;
+background-color:#F0F0F0;
+border-color:#CCC;
 }
 
-td.list0#properties7 {
-width:136px;
-}
+input[disabled] {
+background-color:#F0F0F0;
+color:#666;      
+}                     
 
-td.list0#properties8 {
-width:152px;
+select[size="1"]{
+  padding:2px;
+  border:1px solid #CCC;
+  margin:0;
+  background-color:#FFF;
 }
 
-td.list0#properties9 {
-width:168px;
+select[size="1"]:hover{
+  border:1px solid #777;
 }
 
-td.list0#properties10 {
-width:186px;
-}
+input[disabled]:hover, select[disabled]:hover, textarea[disabled]:hover {
+  border:1px solid #CCC;
+}                     
 
-td.list0#actions {
-width:52px;
-border-right:0;
-text-align:right;
+h1, h2, h3 {
+  margin-top:2px;
 }
 
-tr.rowxp1 {
-background:#F0F0F0;
+h1, h3 {
+  font-size:13px;
+  font-weight:bold;
 }
 
-tr.rowxp1:hover {
-background-color:#D8D8D8;
+.required{
+  font-size:xx-small;
+  vertical-align:top;
+  color:red;
 }
 
-td.list1 {
-background:transparent;
-border-right:1px solid silver;
-padding:3px;
-height:22px;
+
+/* Error collector */
+#errorbox {
+  width:100%;
 }
 
-td.list1nohighlight {
-background:#FFF;
-border-right:1px solid silver;
-padding:3px;
-height:22px;
+.error-collector {
+  border-bottom:1px solid black;
+  width:100%;
+  z-index:150;
+  padding:2px;
+  height:32px;
+  background-color:#FFA;
+  -webkit-animation-name:error-collector;
+  -webkit-animation-duration:0.5s;
+  -webkit-animation-iteration-count:2;
+  -webkit-animation-direction:alternate
 }
 
-td.list1nohighlightdisabled {
-background-color:#DFDBD7;
-border-right:1px solid silver;
-padding:3px;
-height:22px;
+ at -webkit-keyframes error-collector{
+  from{background-color:#FFA;}
+  to{background-color:red;}
 }
 
-td.list1#fill {
-height:100%;
+
+.error-collector span {
+  font-size:13px;
+  font-weight:bold;
 }
 
-td.list1#icon {
-width:0;
-text-align:center;
+.error-collector td {
+  vertical-align:middle;
 }
 
-td.list1#entry {
+
+div.scrollContainer {
+  border:1px solid #CCC;
+  padding:1px;
+  overflow-x:hidden;
+  overflow-y:auto;
 }
 
-td.list1#info {
-width:200px;
+
+
+/* Image with migration color */
+
+input[type=submit].img{
+  border:0;
+  padding:0;
+  margin:0;
+  margin-top:-2px;
+  display:inline-block;
+  display:-moz-inline-block;
+  background-color:transparent;
+  background-repeat:no-repeat;
+  position:relative;
+  cursor:pointer;
 }
 
-td.list1#property {
-width:50px;
+div.tooltip{
+  padding: 5px;
+  width: 500px;
+  border: 1px solid #000;
+  background-color: #F0F0F0;
 }
 
-td.list1#properties7 {
-width:136px;
+div.img{
+  display:inline-block;
+  display:-moz-inline-block;
+  background-color:transparent;
+  background-repeat:no-repeat;
+  position:relative;
 }
 
-td.list1#properties8 {
-width:152px;
+div.img div {
+  background-color:transparent;
+  background-repeat:no-repeat;
+  bottom:0;
+  right:0;
+  position:absolute;
 }
 
-td.list1#properties9 {
-width:168px;
+
+/* Title bar definitions */
+
+div.title-bar{
+  padding:0px;
+  height:40px;
+  border-top:1px solid #111;
+  border-bottom:1px solid #222;
+  background-color:#000;
+  background:url('images/title-bar.png') repeat-x;
+  color:#FFF;
+  cursor:default;
 }
 
-td.list1#properties10 {
-width:186px;
+div.title-bar ul, div.title-bar ul li{
+  list-style:none;
+  display:inline;
+  margin:0;
+  padding:0;
 }
 
-td.list1#actions {
-width:52px;
-border-right:0;
-text-align:right;
+div.logged-in-label span{
+  font-weight:bold;
 }
 
-/* Title bar */
-a.maintitlebar,div.maintitlebar {
-font-family:arial,helvetica,sans-serif;
-text-decoration:none;
-color:#00348B;
-font-size:12px;
-text-align:center;
-vertical-align:middle;
-cursor:pointer;
+li.table-wrapper {
+  display:table;
 }
 
-a.maintitlebar:hover {
-text-decoration:none;
-background-color:#B0D3A0;
-cursor:pointer;
+div.logged-in-label {
+  display:table-cell;
+  height:40px;
+  vertical-align:middle;
+  padding:0 5px 0 5px;
 }
 
-p.menuheader {
-font-family:arial,helvetica,sans-serif;
-color:#00008F;
-text-decoration:none;
-border-bottom:1px solid #AAA;
-font-weight:bold;
-background-color:#F0F0F0;
-font-size:12px;
-text-align:center;
-vertical-align:middle;
-padding:5px;
-margin-top:0;
-margin-bottom:3px;
-}
-
-p.menuitem {
-font-family:arial,helvetica,sans-serif;
-color:#00008F;
-text-decoration:none;
-font-weight:normal;
-font-size:12px;
-text-align:left;
-cursor:pointer;
-padding-left:15px;
-padding-top:2px;
-padding-bottom:2px;
-vertical-align:middle;
-margin:2px;
-background-color:#FFF;
-padding-right:5px;
+div.logout-label {
+  display:table-cell;
+  height:40px;
+  vertical-align:middle;
+  padding:0 5px 0 5px;
 }
 
-p.menuitem:hover {
-background-color:#F0F0F0;
-cursor:pointer;
+
+/* Screen areas */
+
+div.navigation {
+  float:left;
+  position:absolute;
+  width:150px;
+  min-height:600px;
+  padding-left:6px;
 }
 
-table.menuitem {
-width:100%;
-margin-top:10px;
-margin-bottom:10px;
-margin-right:10px;
-background-color:#f0f0f0;
+div.plugin-area {
+  position:relative;
+  margin-left:164px;
+  padding-right:6px;
+  min-height:600px;
+  min-width:700px;
+  cursor:default;
 }
 
-table.menuitem:hover {
-background-color:#F0F0F0;
-cursor:pointer;
+div.plugin-area-noMenu {
+  position:relative;
+  margin-left:6px;
+  padding-right:6px;
+  min-height:600px;
+  min-width:700px;
+  cursor:default;
 }
 
-td.phonelist:hover {
-background-color:#d2d2d2;
+
+/* Plugin decorations */
+
+.plugin {
+  clear:both;
+  padding:5px 8px;
+  position:relative;
+  border:1px solid #CCC;
+  border-radius:5px;
+  box-shadow: 0 1px 0 rgba(0,0,0,0.1);
+  -webkit-border-radius:5px;
+  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.1);
+  -moz-border-radius:5px;
+  -moz-box-shadow: 0 1px 0px rgba(0,0,0,0.1);
 }
 
-td.phonelist {
-border-right:1px solid #B0B0B0;
+.plugin-actions {
+  padding-top:5px;
+  text-align:right;
 }
 
-h1.menuheader {
-border-style:solid;
-border-color:#AAA;
-width:100%;
-border-top-width:1px;
-border-bottom-width:0;
-border-left-width:0;
-border-right-width:0;
-padding-top:10px;
-padding-bottom:0;
+.plugin-disable-header {
+  border-bottom:1px solid #DDD;
 }
 
-div.copynotice {
-border-style:solid;
-border-color:#AAA;
-width:100%;
-border-top-width:1px;
-border-bottom-width:0;
-border-left-width:0;
-border-right-width:0;
-padding-top:3px;
-padding-bottom:0;
-text-align:right;
-font-family:arial,helvetica,sans-serif;
-font-size:10px;
+.plugin-enable-header {
 }
 
-a:link {
-text-decoration:none;
-color:#00008f;
+/* Plugin navigation bar */
+
+.plugin-path {
+  margin-top:8px;
+  margin-bottom:8px;
+  height:32px;
+  background-color:#F8F8F8;
+  border:1px solid #CCC;
+  border-radius:5px;
+  -moz-border-radius:5px;
+  -webkit-border-radius:5px;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#EEEEEE')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#EEE));
+  background: -moz-linear-gradient(top, #F8F8F8, #EEE);
 }
 
-a:visited {
-text-decoration:none;
-color:#00008f;
+ul.path-navigation {
+  list-style:none;
+  cursor:pointer;
+  padding:0;
+  margin:0;
+  color:#666;
 }
 
-a.menuitem:link {
-text-decoration:none;
-color:#00008f;
+ul.path-navigation li {
+  display:inline;
+  padding:5px;
+  padding-top:9px;
+  height:18px;
 }
 
-a.menuitem:visited {
-text-decoration:none;
-color:#00008f;
+ul.path-navigation li.path-element {
+  cursor:default;
+  border-left:1px solid #C2C2C2;
 }
 
-a.menuitem:hover {
-text-decoration:none;
+ul.path-navigation li.path-element:hover {
+  background:transparent;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient()";
+  background: -webkit-gradient();
+  background: -moz-linear-gradient();
 }
 
-td.iconmenu {
-cursor:pointer;
+ul.path-navigation li.path-element[title]:hover {
+  background-color: #E0E0E0;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#EEEEEE', endColorstr='#E0E0E0')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#EEE), to(#E0E0E0));
+  background: -moz-linear-gradient(top, #EEE, #E0E0E0);
 }
 
-a.iconmenu:link {
-text-decoration:none;
-color:#00008f;
+ul.path-navigation li:hover {
+  background-color: #E0E0E0;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#EEEEEE', endColorstr='#E0E0E0')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#EEE), to(#E0E0E0));
+  background: -moz-linear-gradient(top, #EEE, #E0E0E0);
 }
 
-td.iconmenu:hover {
-background-color:#F0F0F0;
+.right-border {
+  border-right:1px solid #C2C2C2;
 }
 
-a.iconmenu:visited {
-text-decoration:none;
-color:#00008f;
+.left-border {
+  border-left:1px solid #C2C2C2;
 }
 
-a.iconmenu:hover {
-text-decoration:none;
+
+/* Side menu */
+
+div.menu {
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#F5F5F5')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#FFF), to(#F5F5F5));
+  background: -moz-linear-gradient(top, #FFF, #F5F5F5);
 }
 
-h1.plugtop {
-width:100%;
-padding-bottom:6px;
-text-align:left;
-font-family:arial,helvetica,sans-serif;
-font-size:24px;
+div.menu div {
+  margin-top:-1px;
+  height:3px;
+  border-right:1px solid #C2C2C2;
+  border-left:1px solid #C2C2C2;
+  border-bottom:1px solid #C2C2C2;
+  border-bottom-left-radius:5px;
+  border-bottom-right-radius:5px;
+  box-shadow: 0 1px 0 rgba(0,0,0,0.1);
+  -webkit-border-bottom-left-radius:5px;
+  -webkit-border-bottom-right-radius:5px;
+  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.1);
+  -moz-border-radius:5px;
+  -moz-box-shadow: 0 1px 0px rgba(0,0,0,0.1);
 }
 
-div.plugtop {
-width:100%;
-border-bottom:1px solid #B0B0B0;
-padding-top:0;
-padding-bottom:6px;
-margin-bottom:0;
-text-align:left;
-vertical-align:middle;
-background-color:#F0F0F0;
-font-family:arial,helvetica,sans-serif;
-font-weight:bold;
-font-size:24px;
-}
-
-div.pluginfo {
-border-bottom:1px solid #AAA;
-width:100%;
-padding-top:2px;
-padding-bottom:2px;
-margin-bottom:10px;
-text-align:right;
-vertical-align:middle;
-background-color:#F8F8F8;
-font-family:arial,helvetica,sans-serif;
-font-size:11px;
-}
-
-p.seperator {
-border-style:solid;
-border-color:#AAA;
-width:100%;
-border-top-width:0;
-border-bottom-width:1px;
-border-left-width:0;
-border-right-width:0;
-padding-top:0;
-padding-bottom:0;
-margin-top:0;
-margin-bottom:0;
-text-align:left;
-}
-
-p.plugbottom {
-border-style:solid;
-border-color:#a0a0a0;
-width:100%;
-border-top-width:1px;
-border-bottom-width:0;
-border-left-width:0;
-border-right-width:0;
-padding-top:10px;
-padding-bottom:0;
-text-align:right;
-font-family:arial,helvetica,sans-serif;
-}
-
-font.must {
-color:red;
-font-family:arial,helvetica,sans-serif;
-}
-
-div.tab_active {
-text-align:center;
-background-color:#f8f8f8;
-border-style:solid;
-border-color:#999;
-border-top-width:1px;
-border-bottom-width:0;
-border-left-width:1px;
-border-right-width:1px;
-margin-top:0;
-padding-top:2px;
-padding-bottom:8px;
-padding-left:8px;
-padding-right:8px;
-}
-
-div#notify {
-background-image:url(../../images/lists/on.png);
-background-repeat:no-repeat;
-background-position:1px 1px;
-padding-left:18px;
-}
-
-div.tab_left {
-text-align:center;
-background-color:#D0D0D0;
-border-style:solid;
-border-color:#999;
-border-top-width:1px;
-border-bottom-width:1px;
-border-left-width:1px;
-border-right-width:0;
-margin-top:5px;
-padding-top:1px;
-padding-bottom:5px;
-padding-left:8px;
-padding-right:8px;
-}
-
-div.tab_right {
-text-align:center;
-background-color:#D0D0D0;
-border-style:solid;
-border-color:#999;
-border-top-width:1px;
-border-bottom-width:1px;
-border-left-width:0;
-border-right-width:1px;
-margin-top:5px;
-padding-top:1px;
-padding-left:8px;
-padding-right:8px;
-padding-bottom:5px;
-}
-
-div.tab_near_active {
-text-align:center;
-background-color:#D0D0D0;
-border-style:solid;
-border-color:#999;
-border-top-width:1px;
-border-bottom-width:1px;
-border-left-width:1px;
-border-right-width:1px;
-margin-top:5px;
-padding-top:1px;
-padding-left:8px;
-padding-right:8px;
-padding-bottom:5px;
-}
-
-div.tab_border {
-width:100%;
-border-style:solid;
-border-color:#999;
-border-top-width:0;
-border-bottom-width:1px;
-border-left-width:0;
-border-right-width:0;
-}
-
-a.tab_active,input.tab_active {
-border:0;
-margin:0;
-height:22px;
-font-family:arial,helvetica,sans-serif;
-text-decoration:none;
-color:#00008F;
-font-size:13px;
-font-weight:bold;
-}
-
-a.tab_right,input.tab_right {
-height:20px;
-border:0;
-margin:0;
-font-family:arial,helvetica,sans-serif;
-text-decoration:none;
-color:#00008F;
-font-size:13px;
-font-weight:bold;
-}
-
-a.tab_left,input.tab_left {
-height:20px;
-border:0;
-margin:0;
-font-family:arial,helvetica,sans-serif;
-text-decoration:none;
-color:#00008F;
-font-size:13px;
-font-weight:bold;
-}
-
-a.tab_near_active,input.tab_near_active {
-height:20px;
-border:0;
-margin:0;
-font-family:arial,helvetica,sans-serif;
-background-color:#D0D0D0;
-text-decoration:none;
-color:#00008F;
-font-size:13px;
-font-weight:bold;
-}
-
-img.center {
-text-align:center;
-vertical-align:middle;
-}
-
-input.center {
-text-align:left;
-vertical-align:middle;
-}
-
-select.center {
-text-align:left;
-vertical-align:middle;
-}
-
-a.center {
-text-align:left;
-vertical-align:middle;
-}
-
-/********************** Template migration *********************/
-/* Login screen */
-div.gosaLoginSpacer {
-height:100px;
+div.menu ul {
+  list-style:none;
+  margin:0;
+  padding:0;
 }
 
-table.gosaLoginMask {
-background-color:#8b898b;
-text-align:center;
-border:0;
+div.menu ul li {
+  padding:5px; 
+  cursor:pointer;
+  border-left:1px solid #C2C2C2;
+  border-right:1px solid #C2C2C2;
 }
 
-td.gosaLoginBack {
-width:606px;
-height:406px;
-background:url(images/login.png);
-vertical-align:top;
+div.menu ul li.current {
+  padding:5px; 
+  cursor:pointer;
+  background-color: rgba(0,0,0,0.1);
+  border-left:1px solid #C2C2C2;
+  border-right:1px solid #C2C2C2;
 }
 
-div.gosaLoginBack {
-padding-top:35px;
-margin-left:100px;
-margin-right:50px;
-padding-bottom:0;
-vertical-align:top;
+div.menu ul li:hover {
+  background-color: #E0E0E0;
 }
 
-p.gosaLoginHeader {
-text-align:center;
-font-size:14px;
-font-weight:bold;
-margin-bottom:15px;
+div.menu ul li.menu-header {
+  cursor:default;
+  text-align:center;
+  font-weight:bold;
+  color:#FFF;
+  border:0;
+  background-color: #415A84;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#5B6B8E', endColorstr='#2A4A79')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#5B6B8E), to(#2A4A79));
+  background: -moz-linear-gradient(top, #5B6B8E, #2A4A79);
+  border-top-left-radius:5px;
+  border-top-right-radius:5px;
+  -moz-border-radius-topleft:5px;
+  -moz-border-radius-topright:5px;
+  -webkit-border-top-left-radius:5px;
+  -webkit-border-top-right-radius:5px;
 }
 
-p.gosaLoginWarning {
-text-align:center;
-color:red;
-font-weight:bold;
-font-size:12px;
+
+/* Buttons */
+
+button {
+  padding:2px 6px;
+  margin:0;
+  margin-bottom:6px;
+  background-color:#F8F8F8;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#BBBBBB')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#FFF), to(#BBB));
+  background: -moz-linear-gradient(top, #FFF, #BBB);
+  border:1px solid #BBB;
+  border-radius:2px;
+  -webkit-border-radius:2px;
+  -moz-border-radius:2px;
+  outline:none;
+  min-width:60px;
+}
+
+button:active {
+  background-color:#CCC;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#BBBBBB', endColorstr='#FFFFFF')";
+  background: -webkit-gradient(linear, 0 100%, 0 0, from(#FFF), to(#BBB));
+  background: -moz-linear-gradient(top, #BBB, #FFF);
 }
 
-/* Account Expired screen */
-td.gosaAccountExpiredBack {
-width:550px;
-height:300px;
-background:url(images/accountexpired.png);
-vertical-align:top;
+button:hover {
+  cursor:pointer;
+  border-color:#777 !important;
+}
+
+button:focus, .button:active {
+  border-color:#777;
+}
+
+
+/* Tabs */
+
+.tabs {
+  width:100%;
+  height:25px;
 }
 
-div.gosaAccountExpiredBack {
-padding-top:40px;
-margin-left:90px;
-margin-right:50px;
-padding-bottom:0;
-vertical-align:top;
+.tab-content {
+  padding:5px 8px;
+  z-index:0;
+  margin-top:-2px;
+  position:relative;
+  border:1px solid #CCC;
+  border-top-right-radius:5px;
+  border-bottom-right-radius:5px;
+  border-bottom-left-radius:5px;
+  box-shadow: 0 1px 0 rgba(0,0,0,0.1);
+  -webkit-border-top-right-radius:5px;
+  -webkit-border-bottom-right-radius:5px;
+  -webkit-border-bottom-left-radius:5px;
+  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.1);
+  -moz-border-radius-topright:5px;
+  -moz-border-radius-bottomright:5px;
+  -moz-border-radius-bottomleft:5px;
+  -moz-box-shadow: 0 1px 0 rgba(0,0,0,0.1);
 }
 
-p.gosaAccountExpiredHeader {
-text-align:left;
-font-size:14px;
-font-weight:bold;
-margin-bottom:15px;
+.tabs ul {
+  margin:0;
+  padding:0;
+  list-style:none;
 }
 
-table.framework {
-height:100%;
-border:0;
-border-spacing:0;
-padding:0;
-margin-left:3px;
-vertical-align:top;
+.tabs li {
+  float:left;
+  margin:0;
+  padding:4px 8px;
+  border-top:1px solid #C8C8C8;
+  border-left:1px solid #C8C8C8;
+  border-right:1px solid #C8C8C8;
+  border-top-right-radius:5px;
+  border-top-left-radius:5px;
+  -webkit-border-top-right-radius:5px;
+  -webkit-border-top-left-radius:5px;
+  -moz-border-radius-topleft:5px;
+  -moz-border-radius-topright:5px;
+  background-color:#E8E8E8;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#EEEEEE', endColorstr='#DDDDDD')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#EEE), to(#DDD));
+  background: -moz-linear-gradient(top, #EEE, #DDD);
+  color:#333;
+  cursor:pointer;
 }
 
-table.maintab {
-width:100%;
-height:100%;
-border:0;
-border-spacing:0;
-padding:0;
-margin:0;
-background-color:#A9FBA6;
-vertical-align:top;
+.tabs li:hover {
+  background-color:#FFF;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#FFFFFF')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#FFF));
+  background: -moz-linear-gradient(top, #F8F8F8, #FFF);
 }
 
-input {
-font-size:12px;
+.tabs li.current {
+  background-color:#FFF;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#FFFFFF')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#FFF));
+  background: -moz-linear-gradient(top, #F8F8F8, #FFF);
+  margin-top:-2px;
+  max-height:14px;
+  padding-bottom:6px;
+  border-bottom:1px solid #FFF;
+  position:relative;
+  z-index:1;
+  color:#222;
+  cursor:pointer;
 }
 
-input[type=text] {
-border:1px solid #AAA;
-padding:2px;
+
+/* Cleaner */
+
+.clear-left{
+  clear:left;
 }
 
-input[type=text]:focus,input[type=password]:focus {
-border:1px solid #333;
+.clear{
+  clear:both;
 }
 
-input[type=password] {
-border:1px solid #AAA;
-padding:2px;
+
+/* Icon menu */
+
+.icon-menu-item{
+  float:left;
+  padding-top:10px;
+  padding-bottom:10px;
+  min-height:70px;
+  min-width:150px;
+  cursor:pointer;
 }
 
-input:focus {
-font-size:12px;
+.icon-menu-item div.img{
+  float:left;
 }
 
-select {
-font-size:12px;
+.icon-menu-item div.dsc{
+  margin-left:55px
 }
 
-textarea {
-border:1px solid #AAA;
-font-size:12px;
+.icon-menu-item:hover{
+  background-color: #E0E0E0;
 }
 
-textarea:focus {
-font-size:12px;
+.icon-menu-item h1{
+  font-size:13px;
+  font-weight:bold;
+  margin:0;
+  color:#333;
 }
 
-div.contentboxh {
-background-color:#F0F0F0;
-border:1px solid #AAA;
-border-bottom-width:0;
-height:26px;
-vertical-align:middle;
-width:100%;
+h3.icon-menu-title{
+  font-size:15px;
+  font-weight:bold;
+  margin-top:8px;
+  color:#333;
 }
 
-p.contentboxh {
-margin:2px;
-font-family:arial,helvetica,sans-serif;
-font-size:16px;
-font-weight:bold;
-vertical-align:middle;
+.icon-menu-item p{
+  margin:0;
+  color:#777;
 }
 
-div.contentboxb {
-border:1px solid #b0b0b0;
-border-top-width:0;
-vertical-align:middle;
-width:100%;
+
+/* Errors */
+
+.error {
+  border-color:red ! important;
 }
 
-p.contentboxb {
-padding-bottom:0;
-margin:0;
-border:4px solid #f8f8f8;
-vertical-align:middle;
+
+/* Date picker*/
+
+div.datepicker {
+  position:absolute;
+  text-align:center;
+  border:1px #CCC solid;
+  font-family:"LiberationSans",Arial,Verdana,sans-serif;
+  background:#FFF;
+  font-size:11px;
+  padding:0;
+  box-shadow: 2px 2px 0 rgba(0,0,0,0.1);
+  -webkit-box-shadow: 2px 2px 1px rgba(0,0,0,0.1);
+  -moz-box-shadow: 2px 2px 0px rgba(0,0,0,0.1);
 }
 
-a.alphaselect:hover {
-text-decoration:none;
-background-color:#a0a0a0;
-color:#FFF;
+div.datepicker-calendar table {
+  font-size:11px;
+  border:1px solid #FFF;
+  margin:0;
+  padding:0;
+  text-align:center;
 }
 
-table.check {
-background-color:#e1e1f1;
-color:#000;
-border:1px solid #AAA;
-width:95%;
-margin-left:20px;
+div.datepicker div.datepicker-header {
+  font-size:12px;
+  font-weight:bold;
+  background:#F0F0F0;
+  border-bottom:1px solid #CCC;
+  padding:2px;
+  text-align:center;
 }
 
-td.check {
-border-right:1px solid #AAA;
+div.datepicker table.header {
+  width:175px;
+  border:0;
+  padding:0;
+  text-align:center;
 }
 
-option.select {
-background-repeat:no-repeat;
-background-position:0 top;
-border:0;
-padding-left:20px;
-padding-bottom:1px;
-height:18px;
+td {
+  vertical-align:top;
 }
 
-input.menubar {
-text-decoration:none;
-height:19px;
-padding:0;
-width:100%;
+td.prev,td.prev_year,td.next,td.next_year {
+  width:8%;
+  cursor:pointer;
+  font-weight:bold;
+  line-height:16px;
 }
 
-td.tbhead {
-border-right:1px solid #B0B0B0;
-border-bottom:1px solid #B0B0B0;
+td.prev:hover,td.prev_year:hover,td.next:hover,td.next_year:hover {
+  background-color:#DDD;
 }
 
-td.tbrhead {
-border-bottom:1px solid #B0B0B0;
+td.header {
+  text-align:center;
+  width:68%;
+  font-weight:bold;
+  line-height:16px;
 }
 
-/*********
- * Setup
- *********/
-/* The body style */
-body.setup_body {
-margin-left:0;
-margin-right:0;
-margin-top:0;
-margin-bottom:0;
-color:#00008F;
-font-family:arial,helvetica,sans-serif;
-font-size:12px;
-background-color:#FFF;
-background-image:none;
+div.datepicker-header {
+  height:16px;
 }
 
-/* The setup complete setup dialog */
-div.setup_dialog {
-background-color:#FFF;
-text-align:left;
+div.datepicker-calendar table tbody tr {
+  border:1px solid #FFF;
+  margin:0;
+  padding:0;
 }
 
-/* Header col */
-div.setup_header {
-background-color:#A9FBA6;
-height:30px;
-padding:4px 5px 2px;
-border-bottom:1px solid #999;
+div.datepicker-calendar table tbody tr td {
+  border:1px #EEE solid;
+  margin:0;
+  padding:0;
+  text-align:center;
+  height:16px;
+  line-height:16px;
+  width:21px;
+  cursor:pointer;
 }
 
-div.setup_menu {
-background-color:#F8F8F8;
-padding:4px 5px;
-border-bottom:1px solid #B0B0B0;
+div.datepicker-calendar table tbody tr td:hover,div.datepicker-calendar table tbody tr td.outbound:hover,div.datepicker-calendar table tbody tr td.today:hover {
+  border:1px #CCE9FF solid;
+  background:#E9F5FF;
+  cursor:pointer;
 }
 
-/* Setup content header container */
-div.setup_plug_header_container {
+div.datepicker-calendar table tbody tr td.wday {
+  border:1px #AAA solid;
+  background:#CCC;
+  cursor:text;
+  width:21px;
+  height:16px;
+  line-height:16px;
+  font-weight:bold;
 }
 
-/* Setup content container */
-div.setup_contents_container {
+div.datepicker-calendar table tbody tr td.outbound {
+  background:#F3F3F3;
 }
 
-/* Setup footer */
-div.setup_bottom {
-clear:left;
-background-color:#DDD;
-border-top:solid 1px red;
+div.datepicker-calendar table tbody tr td.today {
+  border:1px #CCE9FF solid;
+  background:#E9F5FF;
+  background-image:url(../../images/date_active.gif);
+  background-repeat:no-repeat;
+  position:top left;
+  width:21px;
+  height:16px;
+  line-height:16px;
 }
 
-/* Header col */
-div.setup_plug_header {
-padding:10px;
-border-bottom:solid 1px #D0D0D0;
-background-color:#E0E0F0;
-border:10px solid #FFF;
+div.datepicker-calendar table tbody tr td.today:hover {
+  border:1px #CCE9FF solid;
+  background:#E9F5FF;
+  background-image:url(../../images/date_active.gif);
+  background-repeat:no-repeat;
+  position:top left;
 }
 
-/* Content col */
-div.setup_contents {
-margin-right:2px;
-background-color:#FFF;
-width:80%;
-margin-left:20%;
-border:1px solid #AAA;
-padding:2px;
+div.datepicker-calendar table tbody tr td.nclick,div.datepicker-calendar table tbody tr td.nclick_outbound {
+  cursor:default;
+  color:#aaa;
+  width:21px;
+  height:16px;
+  line-height:16px;
 }
 
-/* default.*/
-div.default {
-padding:2px;
-vertical-align:middle;
+div.datepicker-calendar table tbody tr td.nclick_outbound {
+  background:#E8E4E4;
+  width:21px;
+  height:16px;
+  line-height:16px;
 }
 
-/* Navigation col */
-div.setup_navigation {
-width:19%;
-background-color:#FFF;
-padding-left:2px;
-padding-right:2px;
-border:1px solid #AAA;
-float:left;
-}
-
-/* Navigation title */
-div.setup_navigation_title {
-font-size:1.2em;
-font-weight:bold;
-text-decoration:none;
-width:100%;
-padding-top:8px;
-padding-bottom:8px;
-border-top:1px solid #AAA;
-}
-
-/* The box used for each setup step */
-a.navigation_element,div.navigation_element {
-text-decoration:none;
-padding-top:8px;
-padding-bottom:8px;
-border-top:1px solid #AAA;
-width:100%;
-}
-
-/* The box used for each setup step */
-a.navigation_element_active,div.navigation_element_active {
-text-decoration:none;
-width:100%;
-padding-top:8px;
-padding-bottom:8px;
-border-top:1px solid #AAA;
-background-color:#F0F0F0;
+div.datepicker-calendar table tbody tr td.nclick:hover,div.datepicker-calendar table tbody tr td.nclick_outbound:hover {
+  border:1px #EAEAEA solid;
+  background:#FFF;
 }
 
-/* An enabled setup step will use this style in navigation*/
-div.navigation_title_active {
-font-size:1.2em;
-background-color:#F0F0F0;
-font-weight:bold;
-cursor:default;
-padding:3px;
-}
-
-/* Disabled setup steps */
-div.navigation_title_disabled {
-font-size:1.2em;
-font-weight:bold;
-padding:3px;
-cursor:default;
-text-decoration:none;
-color:#AAA;
-}
-
-/* Disabled setup steps */
-div.navigation_title_inactive {
-font-size:1.2em;
-font-weight:bold;
-text-decoration:none;
-cursor:pointer;
-padding:3px;
-}
-
-/* The style for the info of an active setup */
-div.navigation_info {
-font-size:1em;
-color:#000;
-padding:4px 4px 3px 23px;
-margin:0;
-cursor:default;
-}
-
-/*
-	Setup step 2 styles
-*/
-/* used to hide display info div */
-div.solution_visible {
-display:block;
-width:100%;
-text-align:left;
+div.datepicker-calendar table tbody tr td.nclick_outbound:hover {
+  background:#E8E4E4;
 }
 
-/* Container headline */
-h2.step2_container_title {
-background-color:#F0F0F0;
-border:solid 1px #CCC;
-width:100%;
-padding:3px;
+div.datepicker div.datepicker-footer {
+  font-size:11px;
+  background:#F0F0F0;
+  border-top:1px solid #AAA;
+  cursor:pointer;
+  text-align:center;
+  padding:2px;
 }
 
-/* Container for name and status */
-div.step2_entry_container {
-padding:3px;
-width:99%;
-cursor:default;
+.date {
+  float:left;
 }
 
-/* Container for name and status, when status is failed */
-div.step2_entry_container_info {
-padding:3px;
-border:1px solid #AAA;
-width:99%;
-cursor:default;
+.datepicker-opener-table {
+  border:1px solid transparent;
+  padding:0;
+  border-spacing:0;
+  margin:0 0 0 3px;
+  background:transparent url(../../images/datepicker.gif) no-repeat 0 0;
+  width:18px;
+  height:18px;
+  cursor:pointer;
 }
 
-/* Text shown for each entry */
-div.step2_entry_name {
-float:left;
-padding-bottom:4px;
-vertical-align:middle;
+.Opera .datepicker-opener-table {
+  float:right;
 }
 
-/* Status container */
-div.step2_entry_status {
-float:none;
-text-align:right;
-padding-bottom:4px;
-vertical-align:middle;
+.IE7 .datepicker-opener-table {
+  position:relative;
+  top:0;
+  left:3px;
 }
 
-/* Status failed */
-div.step2_failed {
-color:red;
-padding-bottom:4px;
+.datepicker-opener-table:hover {
+  background:transparent url(../../images/datepicker_ro.gif) no-repeat 0 0;
 }
 
-/* Status failed but not necessary for setup */
-div.step2_warning {
-color:orange;
-padding-bottom:4px;
+.datepicker-opener {
+  width:16px;
+  height:16px;
+  margin:0 0 0 3px;
+  cursor:pointer;
 }
 
-/* Status successful */
-div.step2_successful {
-color:green;
+
+/* Lists */
+
+div.listContainer {
+  width:100%;
+  border-top:1px solid #CCC;
+  border-bottom:1px solid #CCC;
+  border-left:1px solid #CCC;
+  border-right:1px solid #CCC;
+  border-top-left-radius:2px;
+  border-top-right-radius:2px;
+  -moz-border-radius-topleft:2px;
+  -moz-border-radius-topright:2px;
+  -webkit-border-top-left-radius:2px;
+  -webkit-border-top-right-radius:2px;
 }
 
-/* Text used in info div. */
-div.step2_failed_text {
-background-repeat:no-repeat;
-padding-left:25px;
+.fixedListHeader tr {
+  position:relative;
+  height:auto;
+  font-weight:bold;
 }
 
-/* Text used in info div. On warnings */
-div.step2_warning_text {
-background-repeat:no-repeat;
-padding-left:25px;
+.fixedListHeader a {
+  color:#444;
 }
 
-/*
-	Setup step 4 styles
-*/
-li.step4_name,div.step4_name {
-float:left;
-width:33%;
-height:2em;
+.listHeaderFormat {
+  margin:3px;
+  padding:1px;
+  white-space:nowrap;
 }
 
-li.step4_value,div.step4_value {
-float:left;
-width:50%;
-height:2em;
+.listHeaderFormat tr td {
+  padding:4px;
+  background-color:#F5F5F5;
+  color:#444;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#FFFFFF')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#EEE));
+  background: -moz-linear-gradient(top, #F8F8F8, #EEE);
+  border-right:1px solid #CCC;
+  border-bottom:1px solid #CCC;
 }
 
-ul.step4_container,div.step4_container {
-height:2em;
-margin-top:2px;
-margin-left:2px;
-margin-right:2px;
+.listScrollContent {
+  height:100%;
+  overflow-x:hidden;
+  overflow-y:auto;
 }
 
-/************************
- * Sieve
- *  The following styles are
- *  used to display the sieve
- *  management user interface
- ************************/
-/* Editing dialog styles
- */
-table.sieve_default_table {
-width:100%;
-margin:0;
-border-spacing:0;
-padding:0;
+.listScrollContent tr {
+  height:auto;
+  white-space:nowrap;
 }
 
-/* Editing surface */
-table.editing_surface {
-width:100%;
-margin:0;
-padding:0;
+.listScrollContent tr:nth-child(odd) {
+  background-color:#FFF;
 }
 
-/* Editing surface menu */
-td.editing_surface_menu {
-background-color:#EEE;
-border:1px solid #BBB;
-padding:5px;
+.listScrollContent tr:nth-child(even) {
+  background-color:#F5F5F5;
 }
 
-/* Editing surface content */
-td.editing_surface_content {
-background-color:#FFF;
-margin:0;
-padding:0;
+.listScrollContent tr.entry-locked:nth-child(odd) {
+  background-color:#FFC;
 }
 
-/* Error message will be displayed as follows */
-div.sieve_error_msgs {
-background-color:#ff8d00;
-color:#000;
-padding:5px;
-background-image:url(images/warning.png);
-background-repeat:no-repeat;
-font-weight:bold;
+.listScrollContent tr.entry-locked:nth-child(even) {
+  background-color:#F5F5CC;
 }
 
-/* Source editing area */
-textarea.editing_source {
-width:100%;
-height:330px;
+.listScrollContent tr.entry-error:nth-child(odd) {
+  background-color:#FCC;
 }
 
-/*************
- * Object container
- *************/
-/* The container itself */
-table.object_container_container {
-width:100%;
-border-spacing:0;
-background-color:#F8F8F8;
-border:solid 1px #AAA;
+.listScrollContent tr.entry-error:nth-child(even) {
+  background-color:#F5C5C5;
 }
 
-/* Container cell top left */
-td.object_container_cell_top_left {
-background-color:#EEE;
-text-align:center;
+.listScrollContent tr.entry-warning:nth-child(odd) {
+  background-color:#FEC;
 }
 
-/* Container cell top right */
-td.object_container_cell_top_right {
-background-color:#EEE;
-text-align:left;
-padding:2px;
-border-bottom:solid 1px #AAA;
+.listScrollContent tr.entry-warning:nth-child(even) {
+  background-color:#F5E5C5;
 }
 
-/* Container cell bottom left */
-td.object_container_cell_bottom_left {
-width:5px;
-background-color:#EEE;
-text-align:center;
-border-right:solid 1px #AAA;
-}
-
-/*************
- * Sieve comment
- *************/
-/* Container */
-table.sieve_comment_container {
-margin:0;
-padding:0;
-border-spacing:0;
-width:100%;
-background-color:#F8F8F8;
+.listScrollContent tr:last-child {
+  background-color:#FFF;
 }
 
-/* Editing area */
-textarea.sieve_comment_area {
-width:100%;
-height:80px;
+.listScrollContent tr td:last-child {
+  padding-right:20px;
 }
 
-/*************
- * Sieve require
- *************/
-/* Container */
-table.sieve_require_container {
-margin:0;
-padding:0;
-border-spacing:0;
-width:100%;
-background-color:#F8F8F8;
+.listScrollContent td div.img {
+  margin-right:1px;
 }
 
-/* Editing area */
-input.sieve_require_input {
-width:100%;
-border-spacing:0;
+.listScrollContent td input[type=submit].img {
+  margin-right:1px;
 }
 
-/*************
- * Sieve fileinto
- *************/
-/* Container */
-table.sieve_fileinto_container {
-margin:0;
-padding:0;
-border-spacing:0;
-width:100%;
-background-color:#F8F8F8;
+.listBodyFormat tr td {
+  color:#000;
+  margin:3px;
+  padding:2px;
+  border-right:1px solid #CCC;
+  word-wrap:break-word;
+  white-space:normal;
+  max-width:500px;
 }
 
-/* Editing area */
-input.sieve_fileinto_input {
-width:300px;
+.listScrollContent tr:hover {
+  background-color:#DDD;
 }
 
-select.sieve_fileinto_input {
-width:300px;
+.listScrollContent tr:last-child:hover {
+  background-color:#FFF;
 }
 
-/*************
- * Sieve keep
- *************/
-/* Container */
-table.sieve_keep_container {
-margin:0;
-padding:0;
-border-spacing:0;
-width:100%;
-background-color:#F8F8F8;
+div.nlistFooter {
+  background-color:#F5F5F5;
+  color:#444;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#FFFFFF')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#EEE));
+  background: -moz-linear-gradient(top, #F8F8F8, #EEE);
+  border-left:1px solid #CCC;
+  border-right:1px solid #CCC;
+  border-bottom:1px solid #CCC;
+  border-bottom-left-radius:2px;
+  border-bottom-right-radius:2px;
+  -moz-border-radius-bottomleft:2px;
+  -moz-border-radius-bottomright:2px;
+  -webkit-border-bottom-left-radius:2px;
+  -webkit-border-bottom-right-radius:2px;
+  padding:0;
+  width:100%;
 }
 
-/* Editing area */
-td.sieve_keep_input {
-padding-left:20px;
+
+/* List header, Filter, misc. */
+
+#mainlist {
+  height:100%;
+  padding-right:3px;
 }
 
-/*************
- * Sieve discard
- *************/
-/* Container */
-table.sieve_discard_container {
-margin:0;
-padding:0;
-border-spacing:0;
-width:100%;
-background-color:#F8F8F8;
+.mainlist-header {
+  background-color:#F8F8F8;
+  border:1px solid #CCC;
+  border-radius:2px;
+  -moz-border-radius:2px;
+  -webkit-border-radius:2px;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#FFFFFF')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#EEE));
+  background: -moz-linear-gradient(top, #F8F8F8, #EEE);
+  margin-bottom:4px;
+  margin-right:-2px;
 }
 
-/* Editing area */
-td.sieve_discard_input {
-padding-left:20px;
+.mainlist-header p{
+  color:#444;
+  font-weight:bold;
+  font-size:15px;
+  margin:4px;
 }
 
-/*************
- * Sieve redirect
- *************/
-/* Container */
-table.sieve_redirect_container {
-margin:0;
-padding:0;
-border-spacing:0;
-width:100%;
-background-color:#F8F8F8;
+.mainlist-header div.mainlist-nav{
+  border-top:1px solid #CCC;
+  background-color:white;
 }
 
-/* Editing area */
-td.sieve_redirect_input {
-padding-left:20px;
+div.mainlist-nav table{
+  border-collapse:collapse;
 }
 
-textarea.sieve_redirect_input {
-width:100%;
-height:30px;
+div.mainlist-nav td div.img{
+  margin-top:-2px;
 }
 
-/*************
- * Sieve reject
- *************/
-/* Container */
-table.sieve_reject_container {
-margin:0;
-padding:0;
-border-spacing:0;
-width:100%;
-background-color:#F8F8F8;
+div.mainlist-nav td{
+  padding:3px 5px;
+  vertical-align:middle;
 }
 
-/* Editing area */
-td.sieve_reject_input {
-padding-left:20px;
+div.mainlist-nav td.left-border{
+  padding-left:5px;
 }
 
-textarea.sieve_reject_input {
-width:100%;
-height:55px;
+/* Sortable Lists */
+
+div.sortableListContainer {
+  border:1px solid #CCC;
+  overflow:auto;
+  margin-bottom:2px;
+  border-radius:2px;
+  -moz-border-radius:2px;
+  -webkit-border-radius:2px;
 }
 
-/*************
- * Sieve end
- *************/
-/* Container */
-table.sieve_stop_container {
-margin:0;
-padding:0;
-border-spacing:0;
-width:100%;
-background-color:#F8F8F8;
+.sortableListContainer th {
+  background-color:#F5F5F5;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#FFFFFF')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#EEE));
+  background: -moz-linear-gradient(top, #F8F8F8, #EEE);
+  padding:4px;
+  text-align:left;
+  border-left:1px solid #CCC;
+  border-bottom:1px solid #CCC;
 }
 
-/* Editing area */
-td.sieve_stop_input {
-padding-left:20px;
+.sortableListContainer td {
+  padding:3px;
+  text-align:left;
+  border-left:1px solid #CCC;
 }
 
-/*************
- * Sieve vacation
- *************/
-/* Container */
-table.sieve_vacation_container {
-margin:0;
-padding:0;
-border-spacing:0;
-width:100%;
-background-color:#F8F8F8;
+.sortableListContainer tr:nth-child(odd) {
+  background-color:#FFF;
 }
 
-/* Editing area */
-td.sieve_vacation_input {
-padding-left:20px;
+.sortableListContainer tr:nth-child(even) {
+  background-color:#F5F5F5;
 }
 
-/* Editing area */
-textarea.sieve_vacation_input {
-width:100%;
-height:55px;
+.sortableListContainer tr:last-child {
+  background-color:#FFF;
 }
 
-/*************
- * Sieve allof
- *************/
-table.sieve_allof_container {
-width:100%;
-border-spacing:0;
-margin:0;
-padding:0;
-border:solid 1px #999;
+.sortableListContainer tr td:last-child {
+  padding-right:20px;
 }
 
-/* Container */
-td.sieve_allof_left {
-text-align:center;
-vertical-align:middle;
-width:35px;
-background-color:#CCC;
-border:solid 0 #EEE;
+tr.sortableListItem {
+  background-color:#FFF;
+  cursor:move;
+  color:#000;
 }
 
-/* Container */
-td.sieve_allof_right {
-background-color:#BDBDBD;
+tr.sortableListItemFill {
+  background-color:#FFF;
+  cursor:default;
 }
 
-/*************
- * Sieve anyof
- *************/
-table.sieve_anyof_container {
-width:100%;
-margin:0;
-border-spacing:0;
-padding:0;
-border:solid 2px #CCC;
+tr.sortableListItemOdd ::-moz-selection,tr.sortableListItem ::-moz-selection {
+  background:transparent;
 }
 
-/* Container */
-td.sieve_anyof_left {
-text-align:center;
-vertical-align:middle;
-width:35px;
-background-color:#CCC;
-border:solid 0 #EEE;
+tr.sortableListItemOdd ::selection,tr.sortableListItem ::selection {
+  background:transparent;
 }
 
-/* Container */
-td.sieve_anyof_right {
-background-color:#BDBDBD;
-border:solid 1px #AAA;
+tr.sortableListItemOdd code::-moz-selection,tr.sortableListItem code::-moz-selection {
+  background:transparent;
 }
 
-/*************
- * Sieve Test Cases
- *************/
-table.sieve_test_container {
-width:100%;
-background-color:#F8F8F8;
-margin:0;
-border-spacing:0;
-padding:0;
-border:solid 1px #AAA;
-}
+tr.sortableListItemOdd code::selection,tr.sortableListItem code::selection {
+  background:transparent;
+}
 
-table.sieve_test_case {
-width:100%;
-margin:0;
-border-spacing:0;
-padding:0;
+tr.sortableListItemOdd {
+  background-color:#F5F5F5;
+  cursor:move;
+  color:#000;
 }
 
-td.container_,div.container_ {
-padding-left:2px;
-border-left:solid 2px #F8F8F8;
+tr.sortableListItem:hover,tr.sortableListItemOdd:hover {
+  background-color:#EEE;
 }
 
-td.container_:hover,div.container_:hover {
-border-left:solid 2px #000;
-display:block;
+tr.sortableListItemDisabled {
+  cursor:default;
+  color:#CCC;
 }
 
-/************
- * PHP Layers Menu - used in MultiSelectDialog -> ManagementLists
- ************/
-.khorbar {
-color:#000;
-background-color:#FFF;
-border:1px outset #666663;
-padding:2px;
+table.sortableListTable {
+  border:0;
 }
 
-.khorbaritem {
-float:left;
-white-space:nowrap;
-font-family:bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif;
-font-size:12px;
+tr.sortableListItemMarked {
+  background-color:#FFD;
 }
 
-.khorbaritem a {
-display:block;
-text-decoration:none;
+
+/* Tree List */
+
+ul.treeList,ul.treeList ul {
+  list-style-type:none;
+  background:url(../../images/lists/vline.png) repeat-y;
+  margin:0;
+  padding:0;
 }
 
-.khorbaritem a:link {
-color:#000;
-text-decoration:none;
+ul.treeList ul {
+  margin-left:10px;
 }
 
-.khorbaritem a:visited {
-color:#000;
-text-decoration:none;
+ul.treeList a:hover {
+  background-color:#DDD;
 }
 
-.khorbaritem a:hover {
-color:#000;
-background-color:#FFF;
-text-decoration:none;
+a.treeList {
+  padding:2px;
+  cursor:pointer;
 }
 
-.khorbaritem a:active {
-color:red;
-text-decoration:none;
+a.treeListSelected {
+  font-weight:bold;
+  color:#1010AF;
+  background-color:#DDD;
+  padding:2px;
+  cursor:pointer;
 }
 
-.kverbar {
-color:#000;
-border:1px outset #666663;
+a.treeList:hover,a.treeListSelected:hover {
+  background-color:#DDD;
+  padding:2px;
 }
 
-.ksubmenu {
-position:absolute;
-left:0;
-top:0;
-visibility:hidden;
+ul.treeList a {
+  padding:2px;
+  cursor:pointer;
 }
 
-.submenu {
-position:absolute;
-left:0;
-top:0;
-visibility:hidden;
+ul.treeList li {
+  margin:0;
+  padding:0 12px;
+  line-height:20px;
+  background:url(../../images/lists/node.png) no-repeat;
 }
 
-.subframe {
-position:relative;
-display:block;
-background-color:#FFF;
-border:1px outset #666663;
-padding:2px;
+li.treeListSelected a {
+  font-weight:bold;
+  color:#1010AF;
+  padding:2px;
 }
 
-.item {
-text-align:left;
-white-space:nowrap;
-font-family:bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif;
-font-size:12px;
-padding-top:2px;
+ul.treeList li.last {
+  background:#fff url(../../images/lists/lastnode.png) no-repeat;
 }
 
-.item div {
-position:relative;
-display:block;
-text-decoration:none;
+ul.treeList li:last-child {
+  background:#fff url(../../images/lists/lastnode.png) no-repeat;
 }
 
-.item :hover {
-color:#FFF;
-background-color:#4b6983;
-text-decoration:none;
+div.treeList {
+  background-color:#FFF;
+  border:1px solid #AAA;
+  padding:5px;
+  position:absolute;
+  z-index:500;
+  overflow-y:auto;
+  float:left;
+  margin-top:-1px;
+  margin-left:1px;
 }
 
-.ksubframe {
-position:relative;
-display:block;
-background-color:#f9f9f0;
+span.informal {
+  color:#444;
+  font-style:italic;
 }
 
-.kitem {
-text-align:left;
-white-space:nowrap;
-font-family:bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif;
-font-size:12px;
+
+/* Max height for IE */
+
+* html div.treeList {
+  height: expression( this.scrollHeight > 500 ? "500px" : "auto" );
 }
 
-.separator {
-background-color:red;
-border-top:1px solid #c6c6bf;
-border-bottom:1px solid #FFF;
-margin:2px 5px;
-/* top right bottom left */
-height:0;
-font-size:1px;
-line-height:0;
+span.mark {
+  color:#B22;
 }
 
+
+/* Message dialog */
+
 div.errorMsgTitle {
-width:100%;
-font-size:1.4em;
+width:100%;        
+font-size:1.4em;   
 padding-bottom:.3em;
-padding-top:.3em;
-font-weight:bold;
+padding-top:.3em;   
+font-weight:bold;   
 background-color:#F0F0F0;
-}
+}                        
 
 div.errorMsgDialog {
-width:60%;
+width:60%;          
 background-color:#FFF;
-border:4px solid red;
-z-index:150;
-display:none;
-position:absolute;
-}
+border:4px solid red; 
+z-index:150;          
+display:none;         
+position:absolute;    
+}                     
 
 div.infoMsgDialog {
-width:60%;
+width:60%;         
 background-color:#FFF;
 border:2px solid #000;
-z-index:150;
-display:none;
-position:absolute;
-}
+z-index:150;          
+display:none;         
+position:absolute;    
+}                     
+
+
+/* Autocompleter */
 
 div.autocomplete {
 position:absolute;
 background-color:#FFF;
 border:1px solid #AAA;
-margin:0;
-padding:0;
-z-index:600;
-overflow:hidden;
-word-wrap:break-word;
-}
+margin:0;             
+padding:0;            
+z-index:600;          
+overflow:hidden;      
+word-wrap:break-word; 
+}                     
 
 div.autocomplete ul {
 list-style-type:none;
-margin:0;
-padding:0;
-}
+margin:0;            
+padding:0;           
+}                    
 
 div.autocomplete ul li {
-list-style-type:none;
-display:block;
-margin:0;
-padding:2px;
-padding-left:4px;
-cursor:pointer;
-}
+list-style-type:none;   
+display:block;          
+margin:0;               
+padding:2px;            
+padding-left:4px;       
+cursor:pointer;         
+}                       
 
 div.autocomplete li:hover {
-background-color:#F0F0F0;
-}
+background-color:#F0F0F0;  
+}                          
 
 div.autocomplete ul li.selected {
-background-color:#F0F0F0;
-}
+background-color:#F0F0F0;        
+}                                
+
+
+/* Pulldown menu */
 
 #pulldown {
-background:#FFF;
-height:23px;
-border-top:1px #D0D0D0 solid;
-border-left:1px #D0D0D0 solid;
-border-bottom:1px gray solid;
-border-right:1px gray solid;
-}
+display:inline-block;
+background-color:#FFF;
+height:23px;    
+border:1px solid #CCC;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#FFFFFF')";
+background:-webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#EEE));
+background:-moz-linear-gradient(top, #F8F8F8, #EEE);
+}                             
 
 #pulldown ul {
 display:block;
-margin:0;
-padding:0;
+margin:0;     
+padding:0;    
 line-height:1em;
 list-style:none;
-z-index:90;
-}
+z-index:90;     
+}               
 
 #pulldown ul li {
-float:left;
+float:left;      
 margin:0 3px 0 0;
-padding:0;
-font-size:12px;
+padding:0;       
+font-size:13px;  
 line-height:1 5em;
 list-style-type:none;
-}
+}                    
 
 #pulldown ul li a {
-float:left;
-display:block;
-width:auto;
+float:left;        
+display:block;     
+width:auto;        
 font-weight:normal;
 background:transparent;
-text-decoration:none;
-margin:0;
-padding:5px;
-}
+text-decoration:none;  
+margin:0;              
+padding:5px;           
+}                      
 
 #pulldown ul li a:hover {
-text-decoration:none;
-}
+text-decoration:none;    
+}                        
 
 #pulldown ul li.sep {
-color:#AAA;
-padding:.8em 0 .5em;
-}
+color:#AAA;          
+padding:.8em 0 .5em; 
+}                    
 
 /* Commented Backslash Hack hides rule from IE5-Mac \*/
-#pulldown ul li a {
-float:none;
-}
+#pulldown ul li a {                                    
+float:none;                                            
+}                                                      
 
 /* End IE5-Mac hack */
 #pulldown ul.level2,#pulldown ul.level3 {
-position:absolute;
-top:0;
-left:0;
-visibility:hidden;
-border-top:1px #D0D0D0 solid;
-border-left:1px #D0D0D0 solid;
-border-bottom:1px gray solid;
-border-right:1px gray solid;
-background:#FFF;
-}
+position:absolute;                       
+top:0;                                   
+left:0;                                  
+visibility:hidden;                       
+border:1px #CCC solid;            
+background:#FFF;                         
+box-shadow: 2px 2px 0 rgba(0,0,0,0.1);
+-webkit-box-shadow: 2px 2px 1px rgba(0,0,0,0.1);
+-moz-box-shadow: 2px 2px 0px rgba(0,0,0,0.1);
+}                                        
 
 #pulldown ul.level2 li,#pulldown ul.level3 li {
-border-bottom:1px solid #fff;
-float:none;
-margin:0;
-padding:0;
-width:200px;
-}
+border-bottom:1px solid #fff;                  
+float:none;                                    
+margin:0;                                      
+padding:0;                                     
+width:200px;                                   
+}                                              
 
 #pulldown ul.level2 li a,#pulldown ul.level3 li a {
-padding:5px 9px 5px 5px;
-}
+padding:5px 9px 5px 5px;                           
+}                                                  
 
 #pulldown ul.level2 li a:hover,#pulldown ul.level3 li a:hover {
-font-weight:normal;
-background-color:#418DD4;
-background-image:none;
-}
+font-weight:normal;                                            
+background-color:#418DD4;                                      
+background-image:none;                                         
+}                       
 
-input[disabled] {
-color:#888;
-background-color:#DDD;
-}
 
-textarea[disabled] {
-color:#000;
-background-color:#DDD;
-}
+/* Filter */
 
-select[disabled] {
-color:#000;
-background-color:#DDD;
+div.search-filter {
+  border:1px solid #CCC;
+  border-left:0;
+  background-color:white;
+  text-align:middle;
+  padding:0;
+  margin:0;
+  float:left;
 }
 
-div.datepicker {
-position:absolute;
-text-align:center;
-border:1px #AAA solid;
-font-family:arial;
-background:#FFF;
-font-size:10px;
-padding:0;
+div.search-filter input[type=text]{
+  border:0;
+  padding:3px;
+  margin:0;
+  height:17px;
 }
 
-div.datepicker-calendar table {
-font-size:10px;
-border:1px solid #FFF;
-margin:0;
-padding:0;
-text-align:center;
+button.search-filter {
+  padding:4px 2px 3px 2px;;
+  margin:0;
+  text-align:middle;
+  height:25px;
 }
 
-div.datepicker div.datepicker-header {
-font-size:11px;
-font-weight:bold;
-background:#F0F0F0;
-border-bottom:1px solid #AAA;
-padding:2px;
-text-align:center;
-}
 
-div.datepicker table.header {
-width:175px;
-border:0;
-padding:0;
-text-align:center;
-}
+/* Filter menu */
 
-td.prev,td.prev_year,td.next,td.next_year {
-width:8%;
-cursor:pointer;
-font-weight:bold;
-line-height:16px;
+table.filter-wrapper {
+  border-collapse:collapse;
+  padding:0;
+  margin:0;
 }
 
-td.prev:hover,td.prev_year:hover,td.next:hover,td.next_year:hover {
-background-color:#D0D0D0;
+table.filter-wrapper tr, table.filter-wrapper td{
+  padding:0;
+  margin:0;
+  vertical-align:top;
 }
 
-td.header {
-text-align:center;
-width:68%;
-font-weight:bold;
-line-height:16px;
-}
+#filtermenu {
+border:1px solid #CCC;
+border-right:0;
+display:inline-block;
+background-color:#EEE;
+height:23px;    
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#FFFFFF')";
+background:-webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#EEE));
+background:-moz-linear-gradient(top, #F8F8F8, #EEE);
+}                             
 
-div.datepicker-header {
-height:16px;
-}
+#filtermenu ul {
+display:block;
+margin:0;     
+padding:0;    
+line-height:1em;
+list-style:none;
+z-index:90;     
+}               
 
-div.datepicker-calendar table tbody tr {
-border:1px solid #FFF;
-margin:0;
-padding:0;
-}
+#filtermenu ul li {
+float:left;      
+margin:0 3px 0 0;
+padding:0;       
+font-size:13px;  
+line-height:1 5em;
+list-style-type:none;
+}                    
 
-div.datepicker-calendar table tbody tr td {
-border:1px #EAEAEA solid;
-margin:0;
-padding:0;
-text-align:center;
-height:16px;
-line-height:16px;
-width:21px;
-cursor:pointer;
-}
+#filtermenu ul li a {
+float:left;        
+display:block;     
+/*width:auto;        */
+font-weight:normal;
+background:transparent;
+text-decoration:none;  
+margin:0;              
+padding:5px;           
+}                      
 
-div.datepicker-calendar table tbody tr td:hover,div.datepicker-calendar table tbody tr td.outbound:hover,div.datepicker-calendar table tbody tr td.today:hover {
-border:1px #CCE9FF solid;
-background:#E9F5FF;
-cursor:pointer;
-}
+#filtermenu ul li a:hover {
+text-decoration:none;    
+}                        
 
-div.datepicker-calendar table tbody tr td.wday {
-border:1px #AAA solid;
-background:#CCC;
-cursor:text;
-width:21px;
-height:16px;
-line-height:16px;
-font-weight:bold;
-}
+#filtermenu ul li.sep {
+color:#AAA;          
+padding:.8em 0 .5em; 
+}                    
 
-div.datepicker-calendar table tbody tr td.outbound {
-background:#F4F3F3;
-}
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+#filtermenu ul li a {                                    
+float:none;                                            
+}                                                      
 
-div.datepicker-calendar table tbody tr td.today {
-border:1px #CCE9FF solid;
-background:#E9F5FF;
-background-image:url(../../images/date_active.gif);
-background-repeat:no-repeat;
-position:top left;
-width:21px;
-height:16px;
-line-height:16px;
-}
+/* End IE5-Mac hack */
+#filtermenu ul.level2 {
+margin-top:-4px;
+position:absolute;                       
+top:0;                                   
+left:0;                                  
+visibility:hidden;                       
+border:1px #CCC solid;            
+background:#FFF;                         
+box-shadow: 2px 2px 0 rgba(0,0,0,0.1);
+-webkit-box-shadow: 2px 2px 1px rgba(0,0,0,0.1);
+-moz-box-shadow: 2px 2px 0px rgba(0,0,0,0.1);
+}                                        
 
-div.datepicker-calendar table tbody tr td.today:hover {
-border:1px #CCE9FF solid;
-background:#E9F5FF;
-background-image:url(../../images/date_active.gif);
-background-repeat:no-repeat;
-position:top left;
-}
+#filtermenu ul.level2 li{
+border-bottom:1px solid #fff;                  
+float:none;                                    
+margin:0;                                      
+padding:0;                                     
+width:200px;                                   
+}                                              
 
-div.datepicker-calendar table tbody tr td.nclick,div.datepicker-calendar table tbody tr td.nclick_outbound {
-cursor:default;
-color:#aaa;
-width:21px;
-height:16px;
-line-height:16px;
-}
+#filtermenu ul.level2 li a {
+padding:5px 9px 5px 5px;                           
+}                                                  
 
-div.datepicker-calendar table tbody tr td.nclick_outbound {
-background:#E8E4E4;
-width:21px;
-height:16px;
-line-height:16px;
-}
+#filtermenu ul.level2 li a:hover {
+font-weight:normal;                                            
+background-color:#418DD4;                                      
+background-image:none;                                         
+}                       
 
-div.datepicker-calendar table tbody tr td.nclick:hover,div.datepicker-calendar table tbody tr td.nclick_outbound:hover {
-border:1px #EAEAEA solid;
-background:#FFF;
-}
 
-div.datepicker-calendar table tbody tr td.nclick_outbound:hover {
-background:#E8E4E4;
-}
+/* Misc */
 
-div.datepicker div.datepicker-footer {
-font-size:10px;
-background:#F0F0F0;
-border-top:1px solid #AAA;
-cursor:pointer;
-text-align:center;
-padding:2px;
+.copynotice, .copynotice a {
+  color:#777;
+  text-align:right;
 }
 
-.date {
-float:left;
+.object-list li span {
+  color:#666;
+  font-style:italic;
 }
 
-.datepicker-opener-table {
-border:1px solid transparent;
-padding:0;
-border-spacing:0;
-margin:0 0 0 3px;
-background:transparent url(../../images/datepicker.gif) no-repeat 0 0;
-width:18px;
-height:18px;
-cursor:pointer;
+.inline-warning {
+  font-size:19px;
+  text-align:bottom;
 }
 
-.Opera .datepicker-opener-table {
-float:right;
+.inline-warning-text {
+  display:inline-block;
+  padding-top:13px;
 }
 
-.IE7 .datepicker-opener-table {
-position:relative;
-top:0;
-left:3px;
-}
+/* Progress */
 
-.datepicker-opener-table:hover {
-background:transparent url(../../images/datepicker_ro.gif) no-repeat 0 0;
+div.progress {
+  text-align:center;
+  display: block;
+  color: rgba(255,255,255,0.9);
+  padding:1px;
+  border: 1px solid rgba(0,0,0,0.6);
+  -moz-border-radius: 2px;
+  -webkit-border-radius: 2px;
+  border-radius: 2px;
 }
 
-.datepicker-opener {
-width:16px;
-height:16px;
-margin:0 0 0 3px;
-cursor:pointer;
+.progress-low {
+  background-color:#32CD32;
 }
 
-/********************************
- *           L i s t s          *
- ********************************/
-/* List border */
-div.listContainer {
-border-top:1px solid #AAA;
-border-bottom:1px solid #AAA;
-border-left:1px solid #AAA;
+.progress-mid {
+  background-color:#FFFF00;
 }
 
-.fixedListHeader tr {
-position:relative;
-height:auto;
+.progress-high {
+  background-color:#FFA500;
 }
 
-.listHeaderFormat {
-margin:3px;
-padding:1px;
-white-space:nowrap;
+.progress-full {
+  background-color:#FF0000;
 }
 
-.listHeaderFormat tr td {
-border-right:1px solid #AAA;
-padding:2px;
-background-color:#F5F5F5;
-}
 
-.listScrollContent {
-height:100%;
-overflow-x:hidden;
-overflow-y:auto;
-}
+/* Login */
 
-.listScrollContent tr {
-height:auto;
-white-space:nowrap;
+.login-box-header {
+  padding:8px 13px;
+  font-size:20px;
+  background-color:#EEE;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#FFFFFF')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#F8F8F8), to(#EEE));
+  background: -moz-linear-gradient(top, #F8F8F8, #EEE);
+  border-top-left-radius:5px;
+  border-top-right-radius:5px;
+  -moz-border-radius-topleft:5px;
+  -moz-border-radius-topright:5px;
+  -webkit-border-top-left-radius:5px;
+  -webkit-border-top-right-radius:5px;
+  border-bottom:1px solid #CCC;
 }
 
-.listScrollContent tr td:last-child {
-padding-right:20px;
+.login-box-container {
+  padding:5% 10% 3% 10%;
 }
 
-.listBodyFormat tr td {
-color:#000;
-margin:3px;
-padding:2px;
-border-right:1px solid #AAA;
-word-wrap:break-word;
-white-space:normal;
-max-width:500px;
+.login-box {
+  position:absolute;
+  top:25%;
+  left:30%;
+  right:30%;
+  background-color:#FFF;
+  border:1px solid #CCC;
+  border-radius:5px;
+  -moz-border-radius:5px;
+  -webkit-border-radius:5px;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#F8F8F8')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#FFF), to(#F8F8F8));
+  background: -moz-linear-gradient(top, #FFF, #F8F8F8);
 }
 
-div.nlistFooter {
-background-color:#E5E5E5;
-border-left:1px solid silver;
-border-right:1px solid silver;
-border-bottom:1px solid silver;
-padding:0;
-width:100%;
+.login-element-container {
+  padding:5px 8px;
+  position:relative;
+  height:30px;
 }
 
-/* Sortable Lists */
-div.sortableListContainer {
-border:1px solid #AAA;
-overflow:auto;
-margin-bottom:2px;
+.login-warning {
 }
 
-.sortableListContainer th {
-background-color:#D8D8D8;
-padding:3px;
-text-align:left;
-border-left:1px solid #AAA;
+.login-warning a{
+  font-weight: bold;
 }
 
-.sortableListContainer td {
-padding:3px;
-text-align:left;
-border-left:1px solid #AAA;
+.login-label {
+  position:absolute;
+  left:8px;
+  width:10em;
 }
 
-tr.sortableListItem {
-background-color:#FFF;
-cursor:move;
-color:#000;
+.login-input {
+  position:absolute;
+  left:10em;
+  right:30px
 }
 
-tr.sortableListItemFill {
-background-color:#FFF;
-cursor:default;
+.login-input input{
+  position:absolute;
+  width:100%;
 }
 
-tr.sortableListItemOdd ::-moz-selection,tr.sortableListItem ::-moz-selection {
-background:transparent;
+.login-inline-message {
+  padding:0 5px;
+  color:red;
+  text-align:center;
 }
 
-tr.sortableListItemOdd ::selection,tr.sortableListItem ::selection {
-background:transparent;
+.login-warning {
+  border:2px solid #F00;
+  background-color:#FCC;
+  padding:10px;
+  margin:0 10px 10px 10px;
+  text-align:center;
 }
 
-tr.sortableListItemOdd code::-moz-selection,tr.sortableListItem code::-moz-selection {
-background:transparent;
-}
 
-tr.sortableListItemOdd code::selection,tr.sortableListItem code::selection {
-background:transparent;
-}
+/* Logout */
 
-tr.sortableListItemOdd {
-background-color:#F5F5F5;
-cursor:move;
-color:#000;
+.logout-box {
+  position:absolute;
+  top:25%;
+  left:20%;
+  right:20%;
+  padding:10px;
+  background-color:#F8F8F8;
+  border:2px solid red;
+  border-radius:5px;
+  -moz-border-radius:5px;
+  -webkit-border-radius:5px;
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#F0F0F0')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#FFF), to(#F0F0F0));
+  background: -moz-linear-gradient(top, #FFF, #F0F0F0);
 }
 
-tr.sortableListItem:hover,tr.sortableListItemOdd:hover {
-background-color:#EEE;
+h2 {
+  font-size:14px;
+  font-weight:bold;
 }
 
-tr.sortableListItemDisabled {
-cursor:default;
-color:#CCC;
-}
 
-table.sortableListTable {
-border:0;
-}
+/* ACL viewer */
 
-tr.sortableListItemMarked {
-background-color:#FFD;
+div.acl-viewer-container {
+  border:1px solid #CCC;
+  padding:1px;
+  height:100%;
+  min-height:480px;
+  overflow-x:hidden;
+  overflow-y:auto;
 }
 
-/* Tree List */
-ul.treeList,ul.treeList ul {
-list-style-type:none;
-background:url(../../images/lists/vline.png) repeat-y;
-margin:0;
-padding:0;
+.acl-viewer span {
+    color:red;
 }
 
-ul.treeList ul {
-margin-left:10px;
+table.acl-viewer{
+    width:100%;
 }
 
-ul.treeList a:hover {
-background-color:#DDD;
+.acl-viewer td {
+    padding-top:5px;
 }
 
-a.treeList {
-padding:2px;
-cursor:pointer;
+tr.acl-viewer-head{
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#EEEEEE', endColorstr='#DDDDDD')";
+  background: -webkit-gradient(linear, 0 0, 0 100%, from(#EEE), to(#DDD));
+  background: -moz-linear-gradient(top, #EEE, #DDD);
 }
 
-a.treeListSelected {
-font-weight:bold;
-color:#1010AF;
-background-color:#DDD;
-padding:2px;
-cursor:pointer;
+tr.acl-viewer-head td{
+  padding:6px;
+  margin:0;
 }
 
-a.treeList:hover,a.treeListSelected:hover {
-background-color:#DDD;
-padding:2px;
+td.acl-viewer-blocked{
+  background:#FAA;
 }
 
-ul.treeList a {
-padding:2px;
-cursor:pointer;
+ul.acl-viewer-items, ul.acl-viewer-items li {
+  list-style:none;
+  display:inline;
+  margin:0;
+  padding:0;
 }
 
-ul.treeList li {
-margin:0;
-padding:0 12px;
-line-height:20px;
-background:url(../../images/lists/node.png) no-repeat;
+ul.acl-list, ul.acl-list li {
+  list-style:none;
+  display:inline;
+  margin:0;
+  padding:0;
 }
 
-/* IE workaround - results in even more strange display problems in IE8
-ul.treeList li {
-background: expression((this.parentNode.lastChild == this)? '#fff url(images/lists/lastnode.png) no-repeat' : '#fff url(images/lists/node.png) no-repeat');
+ul.acl-viewer-items li ul.acl-category-list {
+  list-style:none;
+  margin:0;
+  padding-left:20px;
 }
-*/
 
-li.treeListSelected a {
-font-weight:bold;
-color:#1010AF;
-padding:2px;
+ul.acl-category-list {
+  padding-bottom:10px;
 }
 
-ul.treeList li.last {
-background:#fff url(../../images/lists/lastnode.png) no-repeat;
+ul.acl-list li {
+  color:#777;
 }
 
-ul.treeList li:last-child {
-background:#fff url(../../images/lists/lastnode.png) no-repeat;
+ul.acl-list li:after {
+  content: ", ";
 }
 
-div.treeList {
-background-color:#FFF;
-border:1px solid #AAA;
-padding:5px;
-position:absolute;
-z-index:500;
-overflow-y:auto;
-float:left;
+ul.acl-list li:last-child:after {
+  content: "";
 }
 
-span.informal {
-color:#444;
-font-style:italic;
-}
 
-/* Max height for IE */
-* html div.treeList {
-height: expression( this.scrollHeight > 500 ? "500px" : "auto" );
-}
+/* Reference tab */
 
-span.mark {
-color:#B22;
+table.reference-tab {
+  width:100%;
 }
diff --git a/gosa-core/ihtml/themes/default/GOsa_MultiSelectHeader.ihtml b/gosa-core/ihtml/themes/default/GOsa_MultiSelectHeader.ihtml
deleted file mode 100644
index 9f71d5c..0000000
--- a/gosa-core/ihtml/themes/default/GOsa_MultiSelectHeader.ihtml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!-- BEGIN template -->
-<!-- beginning of horizontal menu bar -->
-
-
-<TABLE border="0" cellspacing="0" cellpadding="0">
-  <TR>
-    <TD>
-      <DIV class="khorbar">
-		<TABLE border="0" cellspacing="0" cellpadding="0">
-		  <TR>
-			<!-- BEGIN horizontal_menu_cell -->
-			<TD>
-			  <!-- BEGIN cell_link -->
-			  <DIV id="{menu_layer_label}" class="khorbaritem" onmouseover="clearLMTO();" onmouseout="setLMTO();">
-				<A href="{href}"{onmouseover}{title}{target}>
-			  	<IMG align="top" src="{imgwww}{transparent}" width="1" height="16" border="0"   alt="" />
-			  		<!-- BEGIN cell_icon -->
-			  		<IMG align="top" src="{iconsrc}" width="{iconwidth}" height="{iconheight}" border="0"  alt="{iconalt}" /> 
-			  		<!-- END cell_icon -->
-			  		{text}
-			  	<!-- BEGIN cell_arrow --> 
-				<IMG src="{imgwww}{downsrc}" width="{downwidth}" height="{downheight}"	border="0" alt=">>" />
-				<!-- END cell_arrow -->   </A> 
-			  </DIV>
-			  <!-- END cell_link -->
-			</TD>
-			<!-- END horizontal_menu_cell -->
-		  </TR>
-		</TABLE>
-      </DIV>
-    </TD>
-  </TR>
-</TABLE>
-<!-- end of horizontal menu bar -->
-<!-- END template -->
diff --git a/gosa-core/ihtml/themes/default/accountexpired.tpl b/gosa-core/ihtml/themes/default/accountexpired.tpl
deleted file mode 100644
index 9755ce5..0000000
--- a/gosa-core/ihtml/themes/default/accountexpired.tpl
+++ /dev/null
@@ -1,74 +0,0 @@
-<body style="background-color: #8B858B;background-image:none;">
-{* GOsa login - smarty template *}
-{$php_errors}
-{$errors}
-
-<!-- Spacer for some browsers -->
-<div class='gosaLoginSpacer'></div>
-
-<table summary="" class='gosaLoginMask' style="text-align:right;" align='center'>
- <tr>
-  <td class='gosaAccountExpiredBack' style="width:550px;">
-   <div class='gosaAccountExpiredBack'>
-       
-    <p class='gosaAccountExpiredHeader'>
-    {t}Your password has expired. Please choose a new one!{/t}
-    </p>
-    
-    <!-- Formular data, containing a table to center fields -->
-    <form action='index.php' method='post' name='mainform' onSubmit='js_check(this);return true;'>
-     <table summary="" style='vertical-align:middle; text-align:left;' cellspacing='7' align='center'>
-      <tr>
-        <td>
-          <p> {t}Old password{/t}</p>
-        </td>
-        <td>
-    <input type='password' name='oldpassword' maxlength='25' value=''
-     title='{t}Old password{/t}' onFocus="nextfield= 'newpassword';">
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <p> {t}New password{/t}</p>
-        </td>
-        <td>
-    <input type='password' name='newpassword' maxlength='25' value=''
-     title='{t}New password{/t}' onFocus="nextfield= 'verifypassword';">
-        </td>
-      </tr>
-      <tr>
-        <td>
-          <p> {t}Verify password{/t}</p>
-        </td>
-        <td>
-	  <input type='password' name='verifypassword' maxlength='25' value=''
-		 title='{t}Verify password{/t}' onFocus="nextfield= 'changepassword';">
-	     </td>
-      </tr>
-      <tr>
-       <td colspan='2' style='text-align:center;'>
-	     <br />
-	  <input type='submit' name='changepassword' value='{t}Change password{/t}'
-	  	 title='{t}Click here to change your password{/t}'>
-	     </td>
-      </tr>
-     </table>
-		<input type='hidden' name='javascript' value='false'/>		
-    </form>
-
-   </div>
-  </td>
- </tr>
-</table>
-
-<!-- Place cursor in username field -->
-<script language="JavaScript" type="text/javascript">
-  <!-- // First input field on page
-  nextfield= "{$nextfield}";
-  focus_field({$nextfield});
-  -->
-</script>
-
-<!-- Spacer for some browsers -->
-<div class='gosaLoginSpacer'></div>
-</body>
diff --git a/gosa-core/ihtml/themes/default/acl.tpl b/gosa-core/ihtml/themes/default/acl.tpl
index de2a248..15ad198 100644
--- a/gosa-core/ihtml/themes/default/acl.tpl
+++ b/gosa-core/ihtml/themes/default/acl.tpl
@@ -1,64 +1,70 @@
 {if !$acl_readable}
 
-	<h2>{msgPool type=permView}</h2>
+	<h3>{msgPool type=permView}</h3>
 
 {else}
 	{if $dialogState eq 'head'}
-	<h1>{t}Assigned ACL for current entry{/t}</h1>
-	{$aclList}
-
-
-	{if $acl_createable}
-	<input type="submit" name="new_acl" value="{t}New ACL{/t}" >
-	{/if}
+  	<h3>{t}Assigned ACL for current entry{/t}</h3>
+	  {$aclList}
+    {if $acl_createable}
+     <button type='submit' name='new_acl'>{t}New ACL{/t}</button>
+ 	  {/if}
 	{/if}
 
 	{if $dialogState eq 'create'}
-	<h1>{t}ACL type{/t}
-		{if !$acl_writeable}
-			<select size="1" name="dummy_t" title="{t}Select an acl type{/t}" disabled>
-				{html_options options=$aclTypes selected=$aclType}
-				<option disabled> </option>
-			</select> 
-		{else} 
-			<select size="1" name="aclType" title="{t}Select an acl type{/t}" onChange="document.mainform.submit()">
-				{html_options options=$aclTypes selected=$aclType}
-				<option disabled> </option>
-			</select> 
-			{if $javascript eq 'false'}
-				<input type="submit" value="{t}Apply{/t}" name="refresh">
-			{/if}
-		{/if}
-	</h1>
-
-	<p class="seperator"> </p>
-	<div style='padding:3px;'>
-	{t}Additional filter options{/t}  
-		{if !$acl_writeable}
-		<input type='text' value='{$aclFilter}' disabled name='dummy_f' style='width:600px;'>
-		{else}
-		<input type='text' value='{$aclFilter}' name='aclFilter' style='width:600px;'>
-		{/if}
-	</div>
-
-	<table style="width:100%">
+    <h3>{t}Options{/t}</h3>
+    <table summary='{t}Options{/t}'>
+      <tr>
+        <td>
+  	      {t}ACL type{/t}
+        </td>
+        <td>
+          {if !$acl_writeable}
+            <select size="1" name="dummy_t" title="{t}Select an ACL type{/t}" disabled>
+              {html_options options=$aclTypes selected=$aclType}
+              <option disabled> </option>
+            </select> 
+          {else} 
+            <select size="1" name="aclType" title="{t}Select an ACL type{/t}" onChange="document.mainform.submit()">
+              {html_options options=$aclTypes selected=$aclType}
+              <option disabled> </option>
+            </select size=1> 
+            {if $javascript eq 'false'}
+              <button type='submit' name='refresh'>{t}Apply{/t}</button>
+            {/if}
+          {/if}
+        </td>
+      </tr>
+      <tr>
+        <td>
+      	  {t}Additional filter options{/t}
+        </td>
+        <td>
+  		    {if !$acl_writeable}
+            <input type='text' value='{$aclFilter}' disabled name='dummy_f' style='width:600px;'>
+          {else}
+            <input type='text' value='{$aclFilter}' name='aclFilter' style='width:600px;'>
+          {/if}
+        </td>
+      </tr>
+    </table>
+
+	<hr>
+  <h3>{t}Members{/t}</h3>
+	<table style="width:100%" summary='{t}Member selection{/t}'>
 	 <tr>
-	  <td style="width:48%; vertical-align:top;">
+	  <td style="width:48%">
 	   {t}Use members from{/t}
-	   <select name="target" onChange="document.mainform.submit()">
+	   <select name="target" onChange="document.mainform.submit()" size=1>
 			{html_options options=$targets selected=$target}
 			<option disabled> </option>
 	   </select>
-	   {if $javascript eq 'false'}<input type="submit" value="{t}Apply{/t}" name="refresh">{/if}<br><br>
-	  </td>
-	  <td>
-	  </td>
-	  <td>
-	  </td>
-	 </tr>
+	   {if $javascript eq 'false'}<button type='submit' name='refresh'>{t}Apply{/t}</button>{/if}
+    </td>
+    <td> </td>
+    <td>{t}Members{/t}</td>
 	 <tr>
 	  <td style="width:48%">
-	   {t}Available members{/t}<br>
 		{if !$acl_writeable}
 	   <select style="width:100%;height:180px;" disabled name="dummy_s[]" size="20" multiple title="{t}List message possible targets{/t}">
 				{html_options options=$sources}
@@ -71,15 +77,17 @@
 	   </select>
 		{/if}
 	  </td>
-	  <td style="vertical-align:center; text-align:center">
+	  <td>
+
 		{if $acl_writeable}
-	   <input type="submit" value=">" name="add">
+	   <button type='submit' name='add'>></button>
+
 	   <br><br>
-	   <input type="submit" value="<" name="del">
+	   <button type='submit' name='del'><</button>
+
 		{/if}
 	  </td>
-	  <td style="width:48%; vertical-align:top;">
-	   {t}Members{/t}<br>
+	  <td style="width:48%">
 		{if !$acl_writeable}
 	   <select style="width:100%;height:180px;" disabled name="dummy_r[]" size="20" multiple title="{t}List message recipients{/t}">
 				{html_options options=$recipients}
@@ -99,47 +107,51 @@
 	{if $aclType ne 'reset'}
 	{if $aclType ne 'role'}
 	{if $aclType ne 'base'}
-	<p class="seperator"> </p>
+	<hr>
 
-	<h1>{t}List of available ACL categories{/t}</h1>
+	<h3>{t}List of available ACL categories{/t}</h3>
 	{$aclList}
 	{/if}
 	{/if}
 	{/if}
 
 	{if $aclType eq 'base'}
-	<p class="seperator"> </p>
-	<h1>{t}ACL for this object{/t}</h1>
+	<hr>
+	<h3>{t}ACL for this object{/t}</h3>
 	{$aclSelector}
 	{/if}
 
 	{if $aclType eq 'role'}
-	<p class="seperator"> </p>
-	<h1>{t}Available roles{/t}</h1>
+	<hr>
+	<h3>{t}Available roles{/t}</h3>
 	{$roleSelector}
 	{/if}
 
-	<p class="seperator"> </p>
+	<hr>
 	<div style='text-align:right;margin-top:5px'>
 		{if $acl_writeable}
-		<input type="submit" name="submit_new_acl" value="{t}Apply{/t}">
+		<button type='submit' name='submit_new_acl'>{t}Apply{/t}</button>
+
 		 
 		{/if}
-		<input type="submit" name="cancel_new_acl" value="{t}Cancel{/t}">
+		<button type='submit' name='cancel_new_acl'>{t}Cancel{/t}</button>
+
 	</div>
 	{/if}
 
 	{if $dialogState eq 'edit'}
 
-	<h1>{$headline}</h1>
+	<h3>{$headline}</h3>
 
 	{$aclSelector}
 
-	<p class="seperator"> </p>
+	<hr>
 	<div style='text-align:right;margin-top:5px'>
-		<input type="submit" name="submit_edit_acl" value="{t}Apply{/t}">
+		<button type='submit' name='submit_edit_acl'>{t}Apply{/t}</button>
+
 		 
-		<input type="submit" name="cancel_edit_acl" value="{t}Cancel{/t}">
+		<button type='submit' name='cancel_edit_acl'>{t}Cancel{/t}</button>
+
 	</div>
 	{/if}
 {/if}
diff --git a/gosa-core/ihtml/themes/default/blacklist b/gosa-core/ihtml/themes/default/blacklist
new file mode 100644
index 0000000..77be825
--- /dev/null
+++ b/gosa-core/ihtml/themes/default/blacklist
@@ -0,0 +1 @@
+MSIE
diff --git a/gosa-core/ihtml/themes/default/colors.txt b/gosa-core/ihtml/themes/default/colors.txt
deleted file mode 100644
index 55539aa..0000000
--- a/gosa-core/ihtml/themes/default/colors.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Color guide
-===========
-
-Background:        #FFFFFF
-Header-background: #A9FBA6
-Font colors:       #000000
-                   #00008F
-Menu:              #F8F8F8
-Highlight:         #F0F0F0
-Borders:           #AAAAAA
-Font Error:        #FF0000
-Font Warning:      #FFA500
-Font OK:           #008000
diff --git a/gosa-core/ihtml/themes/default/conflict.tpl b/gosa-core/ihtml/themes/default/conflict.tpl
deleted file mode 100644
index 48add53..0000000
--- a/gosa-core/ihtml/themes/default/conflict.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-<div class="plugtop">
-  {t}Session conflict detected{/t}
-</div>
-
-<p>
- <b>{t}Warning{/t}:</b> {t}Probably there's another active instance of your session. Multiple window operation is technical not possible and heavily depends on the browser you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is possible. Pressing the Logout button will close this session.{/t}
-</p>
-
-<p>
-  <b style="color:red;">{t}Ignoring this message will change/destroy the data you're currently editing, so please close multiple windows and log in again.{/t}</b>
-</p>
-
-<p class="plugbottom">
-  <input type="submit" name="reset_session" value="{t}Logout{/t}">
-</p>
-
diff --git a/gosa-core/ihtml/themes/default/copyPasteDialog.tpl b/gosa-core/ihtml/themes/default/copyPasteDialog.tpl
index a43275e..dc25863 100644
--- a/gosa-core/ihtml/themes/default/copyPasteDialog.tpl
+++ b/gosa-core/ihtml/themes/default/copyPasteDialog.tpl
@@ -1,34 +1,32 @@
-<h2>{t}Copy & paste wizard{/t}</h2>
+<h3>{t}Copy & paste wizard{/t}</h3>
 
 <b>{$message}</b>
 <br>
 <br>
 {if $Complete == false}
-	{t}Some values need to be unique in the complete directory while some combinations make no sense. GOsa shows the relevant attributes. Please maintain the values below to fullfill the policies.{/t}
+	{t}Some values need to be unique in the complete directory while some combinations make no sense. Please edit the values below to fulfill the policies.{/t}
 	<br>
 {t}Remember that some properties like taken snapshots will not be copied!{/t} 
 {t}Or if you copy or cut an entry within GOsa and delete the source object, you may get errors while pasting this object again!{/t}
 
-	<p class='seperator'> </p>
+	<hr>
 	<br>
 	{$AttributesToFix}
 	{if $SubDialog == false}
 	<br>
 
 	<div style='text-align:right;width:100%;'>
-		<input type='submit' name='PerformCopyPaste' value='{t}Save{/t}'> 
-	{if $type == "modified"}
-		<input type='submit' name='abort_current_cut-copy_operation' value='{t}Cancel{/t}'>
-	{/if}
-	
-		<input type='submit' name='abort_all_cut-copy_operations' value='{t}Cancel all{/t}'>
+		<button type='submit' name='PerformCopyPaste'>{t}Save{/t}</button>
+	    {if $type == "modified"}
+		    <button type='submit' name='abort_current_cut-copy_operation'>{t}Cancel{/t}</button>
+    	{/if}
+		<button type='submit' name='abort_all_cut-copy_operations'>{t}Cancel all{/t}</button>
 	</div>
 	{/if}
 {else}
-	<p class='seperator'> </p>
-	<br>
-	<h2>{t}Operation complete{/t}</h2>
+	<hr>
+	<h3>{t}Operation complete{/t}</h3>
 	<div style='text-align:right;width:100%;'>
-		<input type='submit' name='Back' value='{t}Finish{/t}'> 
+		<button type='submit' name='Back'>{t}Finish{/t}</button>
 	</div>
 {/if}
diff --git a/gosa-core/ihtml/themes/default/filter.xsd b/gosa-core/ihtml/themes/default/filter.xsd
deleted file mode 100644
index f22926a..0000000
--- a/gosa-core/ihtml/themes/default/filter.xsd
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-	<xsd:element name="filterdef">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="definition" minOccurs="1" maxOccurs="1"/>
-				<xsd:element ref="search" minOccurs="1" maxOccurs="1"/>
-				<xsd:element ref="element" minOccurs="0" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:simpleType name="regexA">
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="true|false"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="regexB">
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="([a-zA-Z0-9/.-])+"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="regexC">
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="([a-zA-Z0-9])+"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="regexD">
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="([A-Z])+"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:element name="definition">
-		<xsd:complexType mixed="true">
-			<xsd:all>
-				<xsd:element ref="category" minOccurs="1"/>
-				<xsd:element ref="template" minOccurs="1"/>
-				<xsd:element ref="initial" minOccurs="0"/>
-			</xsd:all>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="category" type="regexB"/>
-	<xsd:element name="template" type="regexB"/>
-	<xsd:element name="initial" type="regexA"/>
-	<xsd:element name="search">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element ref="query" maxOccurs="unbounded"/>
-				<xsd:element ref="scope"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="query">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element ref="backend"/>
-				<xsd:element ref="filter"/>
-				<xsd:element ref="attribute" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="backend" type="regexD"/>
-	<xsd:element name="filter" type="xsd:string"/>
-	<xsd:element name="attribute" type="regexC"/>
-	<xsd:element name="scope">
-		<xsd:simpleType>
-			<xsd:restriction base="xsd:string">
-				<xsd:pattern value="auto|sub|one"/>
-			</xsd:restriction>
-		</xsd:simpleType>
-	</xsd:element>
-	<xsd:element name="element">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element ref="type"/>
-				<xsd:element ref="tag"/>
-				<xsd:element ref="alphabet" minOccurs="0"/>
-				<xsd:element ref="default" minOccurs="0"/>
-				<xsd:element ref="unset"/>
-				<xsd:element ref="set"/>
-				<xsd:element ref="value" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="autocomplete" minOccurs="0"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="type">
-		<xsd:simpleType>
-			<xsd:restriction base="xsd:string">
-				<xsd:enumeration value="textfield"/>
-				<xsd:enumeration value="combobox"/>
-				<xsd:enumeration value="checkbox"/>
-			</xsd:restriction>
-		</xsd:simpleType>
-	</xsd:element>
-	<xsd:element name="tag" type="regexD"/>
-	<xsd:element name="alphabet" type="regexA"/>
-	<xsd:element name="default" type="xsd:string"/>
-	<xsd:element name="unset" type="xsd:string"/>
-	<xsd:element name="set" type="xsd:string"/>
-	<xsd:element name="autocomplete">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element ref="backend"/>
-				<xsd:element ref="filter"/>
-				<xsd:element ref="attribute"/>
-				<xsd:element ref="frequency" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="characters" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="base" minOccurs="0"/>
-				<xsd:element ref="scope" minOccurs="0"/>
-				<xsd:element ref="category" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="objectbase" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="key" minOccurs="0"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="frequency" type="xsd:float"/>
-	<xsd:element name="characters" type="xsd:int"/>
-	<xsd:element name="base" type="xsd:string"/>
-	<xsd:element name="objectbase" type="xsd:string"/>
-	<xsd:element name="value">
-		<xsd:complexType mixed="true">
-			<xsd:all>
-				<xsd:element ref="key" minOccurs="1"/>
-				<xsd:element ref="label" minOccurs="1"/>
-			</xsd:all>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="key" type="xsd:string"/>
-	<xsd:element name="label" type="xsd:string"/>
-</xsd:schema>
diff --git a/gosa-core/ihtml/themes/default/framework.tpl b/gosa-core/ihtml/themes/default/framework.tpl
index 163f81a..7c58dcb 100644
--- a/gosa-core/ihtml/themes/default/framework.tpl
+++ b/gosa-core/ihtml/themes/default/framework.tpl
@@ -1,83 +1,77 @@
-<!-- Headline -->
-<body>
-{$php_errors}
-<form action='main.php{$plug}' name='mainform' method='post' enctype='multipart/form-data'>
-<div class='setup_header'>
-  <div style="float:left;"><img src='themes/default/images/go_logo.png' class='center' alt='GOsa' style="padding-left:2px; padding-right:25px;">
-   {if !$javascript}
-    <a class="maintitlebar" href='main.php?reset=1' onClick='return question("{t}You are currently editing a database entry. Do you want to dismiss the changes?{/t}", "main.php?reset=1");' ><img src='{$go_home}' class='center' border="0" alt="Main"> {t}Main{/t}
-    </a>
-   {else}
-    <a class="maintitlebar" onClick='return question("{t}You are currently editing a database entry. Do you want to dismiss the changes?{/t}", "main.php?reset=1");' ><img src='{$go_home}' class='center' border="0" alt="Main"> {t}Main{/t}
-    </a>
-   {/if}
-     
-    <a class="maintitlebar" style="margin-left:35px" {$help_method}>
-       <img src='{$go_help}' class='center' border="0" alt="Help"> {t}Help{/t}
-    </a>
-     
-   {if !$javascript}
-    <a class="maintitlebar" href='logout.php?request' onClick='return question("{t}You are currently editing a database entry. Do you want to dismiss the changes?{/t}", "logout.php?request");' style="margin-left:35px;">
-      <img src='{$go_out}' class='center' border="0" alt="Sign out"> {t}Sign out{/t}
-    </a>
-    {else}
-    <a class="maintitlebar" onClick='return question("{t}You are currently editing a database entry. Do you want to dismiss the changes?{/t}", "logout.php?request");' style="margin-left:35px;">
-      <img src='{$go_out}' class='center' border="0" alt="Sign out"> {t}Sign out{/t}
-    </a>
-    {/if}
-  </div>
-  <div style="padding-top:8px;text-align:right;height:28px"><a>{t}Signed in:{/t} <b>{$username}</b></a></div>
-</div>
-<!--<div class='setup_menu'>
-  <b>{t}GOsa main menu{/t}</b>
-</div>-->
+  <body>
+   {$php_errors}
+   <div class='title-bar'>
+    <ul>
+     <li>{$logo}</li>
+     <li class='right table-wrapper'>
+       <div class='logout-label'>
+         <form action='logout.php' name='logoutframe' method='post' enctype='multipart/form-data'>
+          <div style='cursor:pointer' title='{t}Log out{/t}' onClick="
+                    return question('{t}You are currently editing a database entry. Do you want to dismiss the changes?{/t}',
+            'logout.php?forcedlogout');">{image path="{$logoutimage}"}</div>
+          <input type='hidden' name='forcedlogout' value='1'>
+          <input type="hidden" name="php_c_check" value="1">
+         </form>
+       </div>
+     </li>
+     <li class='right table-wrapper'>
+      <div class='logged-in-label'>{$loggedin}</div>
+     </li>
+     <li class='right table-wrapper'>
+       <div class='logout-label'>
+        <canvas id="sTimeout" width="22" height="22" title="{$sessionLifetime}|{t}Session expires in %d!{/t}"></canvas>
+       </div>
+     </li>
+    </ul>
+   </div>
+   <form action='main.php{$plug}' id='mainform' name='mainform' method='post' enctype='multipart/form-data'>
+
+   {if $hideMenus}
 
-{if !$hideMenus}
+    {$contents}
+    {$msg_dialogs}
 
-    <table summary="" class="framework" cellspacing="0" cellpadding="0" style='margin-top:7px'>
-        <tr style="vertical-align:top;">
+   {else}
 
-            <!-- Menu -->
-            <td style="background-color:white; vertical-align:top;" id="menucell">
-                {$menu}
-                <br />
-                <div style="height:1px; width:140px;"></div>
-            </td>
+    {$menu}
+    {$msg_dialogs}
+    <div class='plugin-area{if $noMenuMode}-noMenu{/if}'>
+      {$pathMenu}
+      {$contents}
+    </div>
+   {/if}
 
-            <!-- Plugin window -->
-            <td style="background-color:white; width:100%; vertical-align:top; height:15px;" colspan="2">
-                <table style="vertical-align:top; text-align:justify; 
-                    background-color: white; border:1px solid #AAA; 
-                    margin-top:0px; margin-left:7px; margin-right:7px; 
-                    width:99%" summary="">
-                    <tr>
-                        <td>
-                            {$msg_dialogs}
-                            {$contents}
-                        </td>
-                    </tr>
-                </table>
-            </td>
-        </tr>
-        {if $channel != ""}
-            <input type="hidden" name="_channel_" value="{$channel}">
-        {/if}
-    </table>
+   {if $channel != ""}
+   <input type="hidden" name="_channel_" value="{$channel}">
+   {/if}
 
-{else}
+   {$errors}
+   {$focus}
+   <input type="hidden" name="php_c_check" value="1">
+  </form>
+  
+  <!-- Automatic logout when session is expired -->
+  <script type='text/javascript'>
+   function logout()
+   {
+    document.location = 'logout.php';
+   }
+   logout.delay({$sessionLifetime});
 
-    <table summary="" class="framework" cellspacing="0" cellpadding="0" style='margin-top:7px' width="99%">
-        <tr style="vertical-align:top;">
-            <td style="background-color:white; vertical-align:top;" id="menucell">
-                {$msg_dialogs}
-                {$contents}
-                {if $channel != ""}
-            	    <input type="hidden" name="_channel_" value="{$channel}">
-                {/if}
-            </td>
-        </tr>
-    </table>
 
-{/if}
+   // Append change handler to all input fields. 
+   if($('pluginModified') != null && $('pluginModified').value == 0){
+       for(i=0;i<document.forms.length;i++){
+           for(e=0;e<document.forms[i].elements.length;e++){
+               var ele = document.forms[i].elements[e];
+               Event.observe(ele, 'change', 
+                    function () {
+                        $('pluginModified').value |= 1;
+                    });
+           }
+       }
+   }
 
-{$errors}{$focus}<input type="hidden" name="php_c_check" value="1"></form></body></html>
+  </script>    
+ </body>
+</html>
diff --git a/gosa-core/ihtml/themes/default/headers.tpl b/gosa-core/ihtml/themes/default/headers.tpl
index 8edfd21..8893287 100644
--- a/gosa-core/ihtml/themes/default/headers.tpl
+++ b/gosa-core/ihtml/themes/default/headers.tpl
@@ -1,44 +1,40 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-	"http://www.w3.org/TR/html4/transitional.dtd">
+<!DOCTYPE html>
 <html>
-
-<head>
-  <title>{if isset($title)}{$title}{else}GOsa{/if}</title>
-
-  <meta name="generator" content="my hands">
-  <meta name="description" content="GOsa - Login">
-  <meta name="author" lang="de" content="Cajus Pollmeier">
-
-  <meta http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT">
-  <meta http-equiv="Last-Modified" content="{$date} GMT">
-  <meta http-equiv="Cache-Control" content="no-cache">
-  <meta http-equiv="Pragma" content="no-cache">
-  <meta http-equiv="Cache-Control" content="post-check=0, pre-check=0">
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
-  <style type="text/css">@import url('themes/default/style.css');</style>
-  <link rel="stylesheet" type="text/css" href="themes/default/printer.css" media="print">
-
-  <!--[if IE]>
-  <style type="text/css">
-  div.listContainer { height: 121px; overflow-x:hidden; overflow-y:auto; }
-  </style>
-  <![endif]-->
-
-  <link rel="shortcut icon" href="favicon.ico">
-
-{if $iePngWorkaround}
-  <script language="javascript" src="include/png.js" type="text/javascript"></script>
-{/if}
-  <script language="javascript" src="include/prototype.js" type="text/javascript"></script>
-  <script language="javascript" src="include/gosa.js" type="text/javascript"></script>
-{if $usePrototype == 'true'}
-  <script language="javascript" src="include/scriptaculous.js" type="text/javascript"></script>
-  <script language="javascript" src="include/effects.js" type="text/javascript"></script>
-  <script language="javascript" src="include/dragdrop.js" type="text/javascript"></script>
-  <script language="javascript" src="include/controls.js" type="text/javascript"></script>
-  <script language="javascript" src="include/pulldown.js" type="text/javascript"></script>
-  <script language="javascript" src="include/datepicker.js" type="text/javascript"></script>
-{/if}
-</head>
-
+  <head>
+    <title>{if isset($title)}{$title}{else}GOsa{/if}</title>
+    <meta name="generator" content="my hands">
+    <meta name="description" content="GOsa - Login">
+    <meta name="author" lang="de" content="Cajus Pollmeier">
+    <meta http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT">
+    <meta http-equiv="Last-Modified" content="{$date} GMT">
+    <meta http-equiv="Cache-Control" content="no-cache">
+    <meta http-equiv="Pragma" content="no-cache">
+    <meta http-equiv="Cache-Control" content="post-check=0, pre-check=0">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=9">
+
+    <style type="text/css">@import url('themes/default/style.css');</style>
+    <link rel="stylesheet" type="text/css" href="themes/default/printer.css" media="print">
+
+    <!--[if IE]>
+    <style type="text/css">
+      div.listContainer { height: 121px; overflow-x:hidden; overflow-y:auto; }
+    </style>
+    <![endif]-->
+
+    <!-- Include correct theme icon sets -->
+    <style type="text/css">
+      div.img, div.img div, input[type=submit].img{
+        background-image:url(themes/default/images/img.png);
+      }
+    </style>
+    <link rel="shortcut icon" href="favicon.ico">
+    <script language="javascript" src="include/prototype.js" type="text/javascript"></script>
+    <script language="javascript" src="include/gosa.js" type="text/javascript"></script>
+    <script language="javascript" src="include/scriptaculous.js" type="text/javascript"></script>
+    <script language="javascript" src="include/effects.js" type="text/javascript"></script>
+    <script language="javascript" src="include/dragdrop.js" type="text/javascript"></script>
+    <script language="javascript" src="include/controls.js" type="text/javascript"></script>
+    <script language="javascript" src="include/pulldown.js" type="text/javascript"></script>
+    <script language="javascript" src="include/datepicker.js" type="text/javascript"></script>
+  </head>
diff --git a/gosa-core/ihtml/themes/default/help.tpl b/gosa-core/ihtml/themes/default/help.tpl
index d8bf3e9..32620b2 100644
--- a/gosa-core/ihtml/themes/default/help.tpl
+++ b/gosa-core/ihtml/themes/default/help.tpl
@@ -18,7 +18,8 @@
 		{$forward}
 	</td>
 	<td style="text-align:right;">
-	 <input type='text' name="search_string" size="15" value="{$search_string}" maxlength="50"> <input type="submit" name="search" value="{t}Search{/t}">
+	 <input type='text' name="search_string" size="15" value="{$search_string}" maxlength="50"> <button type='submit' name='search'>{t}Search{/t}</button>
+
 	</td>
    </tr>
   </table>
diff --git a/gosa-core/ihtml/themes/default/infoPage.tpl b/gosa-core/ihtml/themes/default/infoPage.tpl
new file mode 100644
index 0000000..f489aa7
--- /dev/null
+++ b/gosa-core/ihtml/themes/default/infoPage.tpl
@@ -0,0 +1,74 @@
+<div style="padding:3px">
+{if $personalInfoAllowed}
+
+    <h3>{t}User information{/t}</h3>
+
+    <table width="100%">
+        <tr>
+            <td style='width:200px; vertical-align: middle;' >
+                {if $jpegPhoto == ""}
+                    <img  src="plugins/users/images/default.jpg" alt=''>
+                {else}
+                    <img  src="getbin.php?rand={$rand}" alt='' style='border:1px solid #CCC; max-width:147px; max-height: 200px; vertical-align: middle;' >
+                {/if}
+            </td>
+            <td style="width:40%">
+                <table>
+                    {if $uid != ""}<tr><td>{t}User ID{/t}:</td><td><i>{$uid}</i></td></tr>{/if}
+                    {if $sn != ""}<tr><td>{t}Surname{/t}:</td><td><i>{$sn}</i></td></tr>{/if}
+                    {if $givenName != ""}<tr><td>{t}Given name{/t}:</td><td><i>{$givenName}</i></td></tr>{/if}
+                    {if $personalTitle != ""}<tr><td>{t}Personal title{/t}:</td><td><i>{$personalTitle}</i></td></tr>{/if}
+                    {if $academicTitle != ""}<tr><td>{t}Academic title{/t}:</td><td><i>{$academicTitle}</i></td></tr>{/if}
+                    {if $homePostalAddress != ""}<tr><td style="padding-top:15px">{t}Home postal address{/t}:</td><td style="padding-top:15px"><i>{$homePostalAddress}</i></td></tr>{/if}
+                    {if $dateOfBirth != ""}<tr><td style="padding-top:15px">{t}Date of birth{/t}:</td><td style="padding-top:15px"><i>{$dateOfBirth}</i></td></tr>{/if}
+                    {if $mail != ""}<tr><td style="padding-top:15px">{t}Mail{/t}:</td><td style="padding-top:15px"><i>{$mail}</i></td></tr>{/if}
+                    {if $homePhone != ""}<tr><td>{t}Home phone number{/t}:</td><td><i>{$homePhone}</i></td></tr>{/if}
+                </table>
+            </td>
+            <td style="border-left:1px solid #CCC; padding-left:10px">
+                <table>
+                    {if $o != ""}<tr><td>{t}Organization{/t}:</td><td><i>{$o}</i></td></tr>{/if}
+                    {if $ou != ""}<tr><td>{t}Organizational Unit{/t}:</td><td><i>{$ou}</i></td></tr>{/if}
+                    {if $l != ""}<tr><td style="padding-top:15px">{t}Location{/t}:</td><td style="padding-top:15px"><i>{$l}</i></td></tr>{/if}
+                    {if $street != ""}<tr><td>{t}Street{/t}:</td><td><i>{$street}</i></td></tr>{/if}
+                    {if $departmentNumber != ""}<tr><td style="padding-top:15px">{t}Department number{/t}:</td><td style="padding-top:15px"><i>{$departmentNumber}</i></td></tr>{/if}
+
+                    {if $employeeNumber != ""}<tr><td style="padding-top:15px">{t}Employee number{/t}:</td><td style="padding-top:15px"><i>{$employeeNumber}</i></td></tr>{/if}
+                    {if $employeeType != ""}<tr><td>{t}Employee type{/t}:</td><td><i>{$employeeType}</i></td></tr>{/if}
+
+                </table>
+            </td>
+        </tr>
+    </table>
+
+{/if}
+
+{if $plugins != ""}
+<hr>
+<h3>{t}User settings{/t}</h3>
+    {$plugins}
+    <div class="clear"></div>
+{/if}
+
+{if !$personalInfoAllowed && $plugins == ""}
+    <div style='width:100%;text-align:center;padding-top:100px;padding-bottom:100px'>
+    <b>{t}You have no permission to edit any properties. Please contact your administrator.{/t}</b>
+    </div>
+{/if}
+
+{if $managersCnt != 0}
+    <hr>
+    <h3>{t}Administrative contact{/t}</h3>
+    {foreach from=$managers item=item}
+        <div style='float:left; padding-right:20px;'>
+        {$item.str}
+        </div>
+    {/foreach}
+ </div>
+{/if}
+
+<div class="clear"></div>
+<hr>
+<div class="copynotice">© 2002-{$year} <a href="http://gosa.gonicus.de">{t}The GOsa team{/t}, {$revision}</a></div>
+<input type="hidden" name="ignore">
+
diff --git a/gosa-core/ihtml/themes/default/islocked.tpl b/gosa-core/ihtml/themes/default/islocked.tpl
index 75de1c4..b403b70 100644
--- a/gosa-core/ihtml/themes/default/islocked.tpl
+++ b/gosa-core/ihtml/themes/default/islocked.tpl
@@ -1,23 +1,30 @@
-<div style="font-size:20px;">
-  <img alt="" src="images/encrypted.png" style="vertical-align:top;"> {t}Locking conflict detected{/t}
-</div>
+<div class='plugin'>
+ <div class='inline-warning'>
+  {image path="images/encrypted.png" align="top"}
+  <div class='inline-warning-text'>{t}Locking conflict detected{/t}</div>
+ </div>
 
-<p>
-  <b>{t}Warning{/t}:</b> {$message}
-</p>
-<p>
-  {t}If this lock detection is false, the other person has obviously closed the webbrowser during the edit operation. You may want to take over the lock by pressing the 'Edit anyway' button.{/t}
-</p>
+ <hr>
+ 
+ <p>
+   {$message}
+ </p>
 
-<p class="plugbottom">
-  <input type="submit" name="delete_lock" value="{$action}">
-	{if $allow_readonly}
-   
-  <input type="submit" name="open_readonly" value="{t}Read only{/t}">
-	{/if}
-   
-  <input type="submit" name="cancel_lock" value="{t}Cancel{/t}">
-</p>
-      
-<input type="hidden" name="dn" value="{$dn}">
+ <p>
+   {t}If this lock detection is false, the other person has obviously closed the web browser during the edit operation. You may want to take over the lock by pressing the 'Edit anyway' button.{/t}
+ </p>
 
+ <hr>
+ 
+ <div class='plugin-actions'>
+   <button type="submit" name="delete_lock">{$action}</button>
+ 	{if $allow_readonly}
+    
+   <button type="submit" name="open_readonly">{t}Read only{/t}</button>
+ 	{/if}
+    
+   <button type="submit" name="cancel_lock">{t}Cancel{/t}</button>
+ </div>
+       
+ <input type="hidden" name="dn" value="{$dn}">
+</div>
diff --git a/gosa-core/ihtml/themes/default/ldifViewer.tpl b/gosa-core/ihtml/themes/default/ldifViewer.tpl
new file mode 100644
index 0000000..a0b9917
--- /dev/null
+++ b/gosa-core/ihtml/themes/default/ldifViewer.tpl
@@ -0,0 +1,14 @@
+<h3>{t}Raw LDAP entry{/t}</h3>
+<hr>
+
+{if $success}
+<pre>
+{$ldif}
+</pre>
+{else}
+  <p>{msgPool type=ldapError err=$error}</p>
+{/if}
+<hr>
+<div class="plugin-actions">
+    <button name='cancelLdifViewer'>{msgPool type='cancelButton'}</button>
+</div>
diff --git a/gosa-core/ihtml/themes/default/list.xsd b/gosa-core/ihtml/themes/default/list.xsd
deleted file mode 100644
index 8d1c532..0000000
--- a/gosa-core/ihtml/themes/default/list.xsd
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-<!-- general declarations multiple times used in this document-->
-	<xsd:element name="label" type="regexB"/>
-	<xsd:simpleType name="regexB">
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="([a-zA-Z0-9/. _-])+"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="regexC">
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="([a-zA-Z0-9])+"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="regexE">
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="(!)?([a-zA-Z0-9])+"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="regexF">
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="([0-9|px%;rlc])+"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="regexType">
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="sub|entry|snapshot|copypaste|separator|exporter|daemon"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:simpleType name="regexAcl">
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="(([a-zA-Z0-9])+)?(/([a-zA-Z0-9])+)?(\[([cdrwm])+\])?"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-
-<!-- first element of xml tree -->
-	<xsd:element name="list">
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="definition"/>
-				<xsd:element ref="table"/>
-				<xsd:element ref="actionmenu" minOccurs="0"/>
-				<xsd:element ref="actiontriggers" minOccurs="0"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="definition">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element name="departmentBrowser" type="xsd:boolean" minOccurs="0" default="true"/>
-				<xsd:element name="departmentRootVisible" type="xsd:boolean" minOccurs="0" default="true"/>
-				<xsd:element name="baseMode" type="xsd:boolean" minOccurs="0"/>
-				<xsd:element name="multiSelect" type="xsd:boolean" minOccurs="0"/>
-				<xsd:element name="template" type="regexB"/>
-				<xsd:element name="module" type="regexC"/>
-				<xsd:element ref="label"/>
-				<xsd:element name="defaultSortColumn" type="xsd:integer" minOccurs="0" maxOccurs="1" default="1"/>
-				<xsd:element ref="objectType" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="objectType">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element ref="label"/>
-				<xsd:element name="objectClass" type="regexE" maxOccurs="unbounded"/>
-				<xsd:element name="category" type="regexB"/>
-				<xsd:element name="class" type="regexC"/>
-				<xsd:element name="image" type="regexB"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="table">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element name="layout" type="regexF"/>
-				<xsd:element ref="department" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element ref="column" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="department">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element name="value" type="xsd:string"/>
-				<xsd:element name="span" type="xsd:integer" minOccurs="0"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="column">
-		<xsd:complexType mixed="true">
-			<xsd:sequence>
-				<xsd:element ref="label"/>
-				<xsd:element name="value" type="xsd:string"/>
-				<xsd:element name="sortAttribute" type="regexC" minOccurs="0"/>
-				<xsd:element name="sortType" type="regexSortType" minOccurs="0"/>
-				<xsd:element name="export" type="xsd:boolean" minOccurs="0" default="true"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:simpleType name="regexSortType">
-		<xsd:restriction base="xsd:string">
-			<xsd:pattern value="int|string|date"/>
-		</xsd:restriction>
-	</xsd:simpleType>
-	<xsd:element name="export" type="xsd:string"/><!--
-
-actionmenu -->
-	<xsd:element name="actionmenu">
-		<xsd:complexType>
-			<xsd:choice maxOccurs="unbounded" minOccurs="0">
-				<xsd:element ref="action"/>
-			</xsd:choice>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="action">
-		<xsd:complexType mixed="true">
-			<xsd:choice maxOccurs="unbounded" minOccurs="0">
-				<xsd:element name="type" type="regexType"/>
-				<xsd:element name="label" type="xsd:string"/>
-				<xsd:element name="image" minOccurs="0"/>
-				<xsd:element name="name" type="xsd:string" minOccurs="0"/>
-				<xsd:element name="acl" type="regexAcl" minOccurs="0"/>
-				<xsd:element ref="objectclass" minOccurs="0"/>
-				<xsd:element ref="action"/>
-			</xsd:choice>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="objectclass" type="xsd:string"/><!--
-	
-actiontriggers -->
-	<xsd:element name="actiontriggers">
-		<xsd:complexType>
-			<xsd:choice maxOccurs="unbounded" minOccurs="0">
-				<xsd:element ref="action"/>
-			</xsd:choice>
-			<xsd:attribute name="snapshot" type="xsd:boolean" use="required"/>
-			<xsd:attribute name="copypaste" type="xsd:boolean" use="required"/>
-		</xsd:complexType>
-	</xsd:element>
-</xsd:schema>
diff --git a/gosa-core/ihtml/themes/default/login.tpl b/gosa-core/ihtml/themes/default/login.tpl
index 7772a31..d0f498b 100644
--- a/gosa-core/ihtml/themes/default/login.tpl
+++ b/gosa-core/ihtml/themes/default/login.tpl
@@ -1,101 +1,92 @@
-<body style="background-color:white;background-image:none;">
+  <body>
+   {$php_errors}
+   <div class='title-bar'>
+    <ul>
+     <li>{$logo}</li>
+     <li class='right table-wrapper'>
+       <div class='logged-in-label'>{$version}</div>
+     </li>
+    </ul>
+   </div>
 
-{$php_errors}
-<div>
-        <div class='setup_header'>
-                <div style="float:left;"><img src='themes/default/images/go_logo.png' class='center' alt='GOsa' /></div>
-                <div style="padding-top:8px;text-align:right;height:28px">{$version}</div>
-        </div>
-        <div class='setup_menu'>
-                <b>{t}GOsa login screen{/t}</b>
-        </div>
-</div>
-
-{* GOsa login - smarty template *}
-
-<!-- Spacer for some browsers -->
-<div class='gosaLoginSpacer'></div>
-
-<div style='float:left; width:25%;'> </div>
-<div style='float:left; width:50%; border:1px solid #AAAAAA;background-color:white'>
-<form action='index.php' method='post' name='mainform' onSubmit='js_check(this);return true;'>
+   <form action='index.php' method='post' name='mainform' id='mainform' onSubmit='js_check(this);return true;'>
+    {image path="images/empty.png" align="top" action="focus"}
+    {$msg_dialogs}
 
-{$msg_dialogs}
-	<div style='border-bottom:1px solid #AAAAAA'>
-		<div style='padding:3px; background-color:#F8F8F8'>
-		<p class="center" style="margin:0px 0px 0px 5px;padding:5px;font-size:24px;font-weight:bold;">
-			{t}Login screen{/t}
-		</p>
-		</div>
-	</div>
-	<div style='border-bottom:1px solid #AAAAAA'>
-
-	    <div style='padding:12px;text-align:center;'>
-		{t}Please use your username and your password to log into the site administration system.{/t}<br />
-		{if $ssl}<b>{$ssl}</b>{/if}
-		{if $lifetime}<b><font style="color:red";>{$lifetime}</font></b>{/if}
-	    </div>
+    {if $ssl}<div class='login-warning'>{$ssl}</div>{/if}
+    {if $lifetime}<div class='login-warning'>{$lifetime}</div>{/if}
+    <script language="JavaScript" type="text/javascript">
+      <!--
+        document.cookie = "gosatest=empty;path=/";
+        if (document.cookie.indexOf( "gosatest=") > -1 )
+    	document.cookie = "gosatest=empty;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT";
+        else
+    	document.write("<div class='login-warning'>{$cookies}<\/div>");
+      -->
+    </script>
+     
   
+    <div class='login-box'>
+     <div class='login-box-header'>
+     {t}Login to GOsa{/t}
+     </div>
+
+     <div class='login-box-container'>
+       <div class='login-element-container'>
+        <div style='background-color:green'>
+         <div class='login-label'><label for='username'>{t}User name{/t}</label></div>
+         <div class='login-input'>
+          <input type='text' name='username' maxlength='40' value='{$username}'
+            	 title='{t}User name{/t}' onFocus="nextfield= 'password';" />
+         </div>
+        </div>
+         <div class="clear"></div>
+       </div>
 
-	    	<input id='focus' name='focus' type='image' src='images/empty.png' style='width:0px; height:0px;' />
-		<div style='text-align:center; padding:10px;'>	
-		<img class='center' align='middle' src='{$personal_img}' alt='{t}Username{/t}' title='{t}Username{/t}' /> 
-		<input type='text' name='username' maxlength='40' value='{$username}'
-			 title='{t}Username{/t}' onFocus="nextfield= 'password';" />
-		<br />
-		<br />
-		<img class='center' align='middle' src='{$password_img}' alt='{t}Password{/t}' title='{t}Password{/t}' /> 
-		<input type='password' name='password' maxlength='40' value=''
-			 title='{t}Password{/t}' onFocus="nextfield= 'login';" />
-		</div>	
-		<div style='text-align:center; padding:15px;'>
-		        <img class='center' align='middle' src='{$directory_img}' alt='{t}Directory{/t}' title='{t}Directory{/t}' /> 
-			<select name='server'  title='{t}Directory{/t}'>
-				{html_options options=$server_options selected=$server_id}
-			</select>
-		</div>
+       <div class='login-element-container'>
+        <div class='login-label'><label for='password'>{t}Password{/t}</label></div>
+        <div class='login-input'>
+         {factory type='password' name='password' id='password' onfocus="nextfield= 'login'"}
+        </div>
+        <div class="clear"></div>
+       </div>
 
-	    <!-- check, if cookies are enabled -->
-	    <p class='gosaLoginWarning'>
-	     <script language="JavaScript" type="text/javascript">
-		<!--
-		    document.cookie = "gosatest=empty;path=/";
-		    if (document.cookie.indexOf( "gosatest=") > -1 )
-			document.cookie = "gosatest=empty;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT";
-		    else
-			document.write("{$cookies}");
-		-->
-	     </script>
-	    </p>
-	</div>
-	<div style='padding:10px;'>
-		<div style='float:left; color:red; font-weight:bold'>
-		{$message}
-		</div>
-		<div style='float:right; text-align:right;'>
-			<!-- Display error message on demand -->
-			  <input type='submit' name='login' value='{t}Sign in{/t}'
-				 title='{t}Click here to log in{/t}' onFocus="nextfield='login';" />
-			<input type='hidden' name='javascript' value='false' />		
-			<input type='hidden' name='login' value='{t}Sign in{/t}' />		
-		</div>
-		<div style="clear:both"></div>
-	</div>
+     </div>
+     {if $message}<hr><div class='login-inline-message'>{$message}</div>{/if}
+     {if $errors}<hr><div class='login-inline-message'>{$errors}</div>{/if}
+     <hr>
+     
+     <div class='login-element-container'>
+      <div class='login-label'>
+       <select size='1' name='server'  title='{t}Choose the directory to work on{/t}'>
+      	{html_options options=$server_options selected=$server_id}
+       </select>
+      </div>
+      <div class='right'>
+       <button type='submit' name='login' id='login' title='{t}Click here to log in{/t}' onFocus="nextfield='login';">{t}Log in{/t}</button>
+       <input type='hidden' name='login' value='{t}Log in{/t}' />             
+      </div>
+      <div class="clear"></div>
+     </div>
+     
+     
+     <input type='hidden' name='javascript' value='false' />
 
-</form>
-</div>
+    </div>
 
-<div style="clear:both"></div>
+   </form>
 
-{$errors}
+   <div class="clear"></div>
+   
+   
+   <script language="JavaScript" type="text/javascript">
+   <!-- 
+     enable_keyPress = false;
+     nextfield= "{$nextfield}";
+     focus_field("{$nextfield}");
+     next_msg_dialog();
+   -->
+   </script>
 
-<script language="JavaScript" type="text/javascript">
-<!-- 
-  enable_keyPress = false;
-  nextfield= "{$nextfield}";
-  focus_field("{$nextfield}");
-  next_msg_dialog();
--->
-</script>
-</body>
+ </body>
 </html>
diff --git a/gosa-core/ihtml/themes/default/logout-close.tpl b/gosa-core/ihtml/themes/default/logout-close.tpl
index b980707..accba42 100644
--- a/gosa-core/ihtml/themes/default/logout-close.tpl
+++ b/gosa-core/ihtml/themes/default/logout-close.tpl
@@ -2,7 +2,7 @@
 
 <form action='index.php' method='post' name='mainform'>
 <div style="margin-left:10%; margin-right:10%; margin-top:5%; border:2px solid red;padding-left:10px;padding-right:10px;padding-top:5px;padding-bottom:20px;">
- <h1>{t}Your GOsa session has been closed!{/t}</h1>
+ <h3>{t}Your GOsa session has been closed!{/t}</h3>
  <p>
  {t}Please close this browser window and clean the authentication caches to avoid an automatic re-authentication by your browser.{/t}
  </p>
diff --git a/gosa-core/ihtml/themes/default/logout.tpl b/gosa-core/ihtml/themes/default/logout.tpl
index bf00c46..efe77f7 100644
--- a/gosa-core/ihtml/themes/default/logout.tpl
+++ b/gosa-core/ihtml/themes/default/logout.tpl
@@ -1,22 +1,28 @@
-<body style="background-color: white;background-image:none;">
+<body>
 
 <form action='index.php' method='post' name='mainform'>
-<div style="margin-left:10%; margin-right:10%; margin-top:5%; border:2px solid red;padding-left:10px;padding-right:10px;padding-top:5px;padding-bottom:20px;">
- <h1>{t}Your GOsa session has expired!{/t}</h1>
+
+<div class='logout-box'>
+ <h2>{t}Your GOsa session has expired!{/t}</h2>
+
  <p>
- {t}The last interaction with the GOsa web interface has been some time ago in the past. For security reasons, the session has been closed. To continue with administrative tasks, please sign in again.{/t}
+ {t}It has been a while since your last interaction with GOsa took place. Your session has been closed for security reasons. Please login again to continue with administrative tasks.{/t}
  </p>
- <br>
- <center><input type="submit" name="dummy" value="{t}Sign in again{/t}"></center>
+
+ <hr>
+
+ <div class='plugin-actions'>
+  <center>
+   <button type="submit" name="dummy" id="dummy">{t}Login again{/t}</button>
+  </center>
+ </div>
 </div>
+
 </form>
 
-</body>
-<!-- Place cursor -->
 <script language="JavaScript" type="text/javascript">
-  <!-- // First input field on page
-  focus_field('dummy');
-  -->
+  $('dummy').focus();
 </script>
 
+</body>
 </html>
diff --git a/gosa-core/ihtml/themes/default/msg_dialog.tpl b/gosa-core/ihtml/themes/default/msg_dialog.tpl
index f13fc45..24ceb2b 100644
--- a/gosa-core/ihtml/themes/default/msg_dialog.tpl
+++ b/gosa-core/ihtml/themes/default/msg_dialog.tpl
@@ -52,18 +52,19 @@
     {/if}
 
 			<div id="e_layerTitle{$i_ID}" class="errorMsgTitle">
-			<table><tr><td>
+			<table summary='{t}Error message title{/t}'><tr><td>
 		{if $i_Type == $smarty.const.ERROR_DIALOG}
-						<img src='images/error.png' alt='{t}Error{/t}'>
+						{image path='images/error.png'}
 		{elseif $i_Type == $smarty.const.WARNING_DIALOG}
-						<img src='images/warning.png'  alt='{t}Warning{/t}'>
+						{image path='images/warning.png'}
 		{elseif $i_Type == $smarty.const.INFO_DIALOG || $i_Type == $smarty.const.CONFIRM_DIALOG || $i_Type == $smarty.const.OK_CANCEL_DIALOG}
-						<img src='images/info.png' alt='{t}Information{/t}'>
+						{image path='images/warning.png'}
 		{/if}
-			</td><td style='font-size: 1.1em; font-weight:bold;'>{$s_Title}</td></tr>
+			</td><td style='font-size: 1.1em;vertical-align:middle;font-weight:bold;'>{$s_Title}</td></tr>
 			</table>
 			</div>
-			<table style='width:100%; border-top: solid 1px #BBBBBB;' cellspacing=0 cellpadding=2 summary='' border=0>
+			<table summary='{t}Error message{/t}' 
+          style='width:100%; border-top: solid 1px #BBBBBB;' cellspacing=0 cellpadding=2 border=0>
 				<tr>
 					<td style='width:100%;padding:7px; padding-bottom:14px'>
 						{$s_Message}
@@ -73,10 +74,10 @@
 				<tr>
 					<td colspan='2' align='center'>
 		{if $i_Type == $smarty.const.ERROR_DIALOG || $i_Type == $smarty.const.WARNING_DIALOG || $i_Type == $smarty.const.INFO_DIALOG}
-						<input type='button' type='submit' name='MSG_OK{$i_ID}' value='{t}Ok{/t}'> 
-		{elseif $i_Type == $smarty.const.CONFIRM_DIALOG || $i_Type == $smarty.const.OK_CANCEL_DIALOG}
-						<input type='button' type='submit' name='MSG_OK{$i_ID}' value='{t}Ok{/t}'>
-						<input type='button' type='submit' name='MSG_CANCEL{$i_ID}' value='{t}Cancel{/t}'>
+						<button type='submit' name='MSG_OK{$i_ID}'>{t}OK{/t}</button> 
+		{elseif $buttononst.CONFIRM_DIALOG || $i_Type == $smarty.const.OK_CANCEL_DIALOG}
+						<button type='submit' name='MSG_OK{$i_ID}'>{t}OK{/t}</button>
+						<button type='submit' name='MSG_CANCEL{$i_ID}'>{t}Cancel{/t}</button>
 		{/if}
 					</td>
 				</tr>
@@ -99,26 +100,27 @@
     {/if}
 
 		<div id="e_layerTitle{$i_ID}" class="errorMsgTitle">
-			<table><tr><td>
+			<table summary='{t}Error message title{/t}'><tr><td>
 		{if $i_Type == $smarty.const.ERROR_DIALOG}
-						<img src='images/error.png' alt='{t}Error{/t}'>
+						{image path='images/error.png'}
 		{elseif $i_Type == $smarty.const.WARNING_DIALOG}
-						<img src='images/warning.png'  alt='{t}Warning{/t}'>
+						{image path='images/warning.png'}
 		{elseif $i_Type == $smarty.const.INFO_DIALOG || $i_Type == $smarty.const.CONFIRM_DIALOG || $i_Type == $smarty.const.OK_CANCEL_DIALOG}
-						<img src='images/info.png' alt='{t}Information{/t}'>
+						{image path='images/info.png'}
 		{/if}
-			</td><td style='font-size: 1.1em; font-weight:bold;'>{$s_Title}</td></tr>
+			</td><td style='font-size: 1.1em;vertical-align:middle; font-weight:bold;'>{$s_Title}</td></tr>
 		</table>
 		</div>
 
-			<table style='z-index:250;width:100%; border-top: solid 1px #BBBBBB;' cellspacing=0 cellpadding=2 summary='' border=0>
+			<table summary='{t}Error message{/t}' 
+        style='z-index:250;width:100%; border-top: solid 1px #BBBBBB;' cellspacing=0 cellpadding=2 border=0>
 				<tr>
-					<td style='width:100%; padding:7px; padding-bottom:14px;'>
+					<td style='width:100%;padding:7px; padding-bottom:14px;'>
 						{$s_Message}
 						<br>
 					</td>
 					{if $s_Trace != "" && $i_TraceCnt != 0}
-					<td style='width:20px; vertical-align:top; cursor:pointer;'>
+					<td style='width:20px;cursor:pointer;'>
 						<div onClick="$('trace_{$i_ID}').toggle();"><u>Trace</u></div>
 					</td>
 					{/if}
@@ -130,18 +132,18 @@
 					<td colspan='2' align='center' style="border-top: solid 1px #BBBBBB;">
 					{/if}
 		{if $i_Type == $smarty.const.ERROR_DIALOG || $i_Type == $smarty.const.WARNING_DIALOG || $i_Type == $smarty.const.INFO_DIALOG}
-						<input type='button' id='MSG_OK{$i_ID}' type='button' name='MSG_OK{$i_ID}' 
-              onClick='next_msg_dialog();' value='{t}Ok{/t}'>
+						<button id='MSG_OK{$i_ID}' type='button' name='MSG_OK{$i_ID}' 
+              onClick='next_msg_dialog();'>{t}OK{/t}</button>
 		{elseif $i_Type == $smarty.const.CONFIRM_DIALOG}
-						<input type='button' id='MSG_OK{$i_ID}' type='submit' name='MSG_OK{$i_ID}' 
-              onClick='next_msg_dialog();' value='{t}Ok{/t}'>
-						<input type='button' type='button' name='MSG_CANCEL{$i_ID}' 
-              onClick='next_msg_dialog();' value='{t}Cancel{/t}'>
+						<button id='MSG_OK{$i_ID}' type='submit' name='MSG_OK{$i_ID}' 
+              onClick='next_msg_dialog();'>{t}OK{/t}</button>
+						<button type='button' name='MSG_CANCEL{$i_ID}' 
+              onClick='next_msg_dialog();'>{t}Cancel{/t}</button>
 		{elseif $i_Type == $smarty.const.OK_CANCEL_DIALOG}
-						<input type='button' id='MSG_OK{$i_ID}' type='submit' name='MSG_OK{$i_ID}' 
-              onClick='next_msg_dialog();' value='{t}Ok{/t}'>
-						<input type='button' type='submit' name='MSG_CANCEL{$i_ID}' 
-              onClick='next_msg_dialog();' value='{t}Cancel{/t}'>
+						<button id='MSG_OK{$i_ID}' type='submit' name='MSG_OK{$i_ID}' 
+              onClick='next_msg_dialog();'>{t}OK{/t}</button>
+						<button type='submit' name='MSG_CANCEL{$i_ID}' 
+              onClick='next_msg_dialog();'>{t}Cancel{/t}</button>
 		{/if}
 					</td>
 				</tr>
diff --git a/gosa-core/ihtml/themes/default/password.tpl b/gosa-core/ihtml/themes/default/password.tpl
index 0dfc2f5..6b6c9ff 100644
--- a/gosa-core/ihtml/themes/default/password.tpl
+++ b/gosa-core/ihtml/themes/default/password.tpl
@@ -1,135 +1,161 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-	"http://www.w3.org/TR/html4/transitional.dtd">
+
+<!DOCTYPE html>
 <html>
+  <head>
+    <title>GOsa - {t}Change your password{/t}</title>
+    <meta name="generator" content="my hands">
+    <meta name="description" content="GOsa - Login">
+    <meta name="author" lang="de" content="Cajus Pollmeier">
+    <meta http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT">
+    <meta http-equiv="Last-Modified" content="{$date} GMT">
+    <meta http-equiv="Cache-Control" content="no-cache">
+    <meta http-equiv="Pragma" content="no-cache">
+    <meta http-equiv="Cache-Control" content="post-check=0, pre-check=0">
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=9">
+
+    <style type="text/css">@import url('themes/default/style.css');</style>
+    <link rel="stylesheet" type="text/css" href="themes/default/printer.css" media="print">
+
+    <!--[if IE]>
+    <style type="text/css">
+      div.listContainer { height: 121px; overflow-x:hidden; overflow-y:auto; }
+    </style>
+    <![endif]-->
+
+    <!-- Include correct theme icon sets -->
+    <style type="text/css">
+      div.img, div.img div, input[type=submit].img{
+        background-image:url(themes/default/images/img.png);
+      }
+    </style>
+    <link rel="shortcut icon" href="favicon.ico">
+    <script language="javascript" src="include/prototype.js" type="text/javascript"></script>
+    <script language="javascript" src="include/gosa.js" type="text/javascript"></script>
+    <script language="javascript" src="include/scriptaculous.js" type="text/javascript"></script>
+    <script language="javascript" src="include/effects.js" type="text/javascript"></script>
+    <script language="javascript" src="include/dragdrop.js" type="text/javascript"></script>
+    <script language="javascript" src="include/controls.js" type="text/javascript"></script>
+    <script language="javascript" src="include/pulldown.js" type="text/javascript"></script>
+    <script language="javascript" src="include/datepicker.js" type="text/javascript"></script>
+  </head>
+
+  <body>
+
+    {$php_errors}
+
+    <div class='title-bar'>
+        <ul>
+            <li>{$logo}</li>
+        </ul>
+    </div>
 
-<head>
-  <title>GOsa - {t}Change your password{/t}</title>
-
-  <meta name="generator" content="my hands">
-  <meta name="description" content="GOsa - Password changer">
-  <meta name="author" lang="de" content="Cajus Pollmeier">
-
-  <meta http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT">
-  <meta http-equiv="Last-Modified" content="{$date} GMT">
-  <meta http-equiv="Cache-Control" content="no-cache">
-  <meta http-equiv="Pragma" content="no-cache">
-  <meta http-equiv="Cache-Control" content="post-check=0, pre-check=0">
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
-  <style type="text/css">@import url('themes/default/style.css');</style>
-  <style type="text/css">@import url('themes/default/password-style.css');</style>
-  <link rel="shortcut icon" href="favicon.ico">
-
-  {if isset($ieworkaround)}<script language="javascript"src="include/png.js" type="text/javascript"></script>{/if}
-  <script language="javascript" src="include/prototype.js" type="text/javascript"></script>
-  <script language="javascript" src="include/gosa.js" type="text/javascript"></script>
-  <script language="javascript" src="include/pwdStrength.js" type="text/javascript"></script>
-</head>
-
-<body style='height:100%; width:100%;'>
-{* GOsa login - smarty template *}
-{$php_errors}
-
-{if $changed}
-<div class='success'">
-<img class='center' src='images/true.png' alt='{t}Success{/t}' title='{t}Success{/t}'> <b>{t}Your password has been changed successfully.{/t}</b>
-</div>
-{else}
-<form action='password.php{$params}' method='post' name='mainform' onSubmit='js_check(this);return true;'>
-    <h1 class='headline'>
-    <img class='center' src='{$password_img}' alt='{t}Password{/t}' title='{t}Password{/t}'>
-    {t}Password change{/t}
-    </h1>
-
-    <!-- Display SSL warning message on demand -->
-    <p class='warning'> {$ssl} </p>
-    <input type='hidden' name='javascript' value='false'/>		
-
-    <!-- Display error message on demand -->
-    <p class='warning'> {$message} </p>
-
-
-    <p class="infotext">
-	{t}This dialog provides a simple way to change your password. Enter the current password and the new password (twice) in the fields below and press the 'Change' button.{/t}
-    </p>
-
-    <div class="ruler"></div>
-    <table>
-      {if $show_directory_chooser}
-      <tr>
-       <td>{t}Directory{/t}</td>
-       <td>
-          <select name='server'  title='{t}Directory{/t}'>
-            {html_options options=$server_options selected=$server_id}
-          </select>
-	</td>
-      </tr>
-      {/if}
-      <tr>
-       <td>{t}Username{/t}</td>
-       <td>{if $display_username}
-           <input type='text' name='uid' maxlength='40' value='{$uid}' title='{t}Username{/t}' onFocus="nextfield= 'current_password';">
-           {else}
-           <i>{$uid}</i>
-           {/if}
-       </td>
-      </tr>
-      <tr>
-       <td>{t}Current password{/t}</td>
-       <td><input type='password' name='current_password' maxlength='40' value='' title='{t}Current password{/t}' onFocus="nextfield= 'new_password';"></td>
-      </tr>
-      <tr>
-       <td>{t}New password{/t}</td>
-       <td><input type='password' name='new_password' id="new_password" maxlength='40' value='' title='{t}New password{/t}' onFocus="nextfield= 'new_password_repeated';" onkeyup="testPasswordCss(document.getElementById('new_password').value);"></td>
-      </tr>
-      <tr>
-       <td>{t}New password repeated{/t}</td>
-       <td><input type='password' name='new_password_repeated' maxlength='40' value='' title='{t}New password repeated{/t}' onFocus="nextfield= 'apply';"></td>
-      </tr>
-      <tr>
-       <td>{t}Password strength{/t}</td>
-       <td>
-        <span id="meterEmpty" style="padding:0;margin:0;width:100%;background-color:#DC143C;display:block;height:5px;">
-        <span id="meterFull" style="padding:0;margin:0;z-index:100;width:0;background-color:#006400;display:block;height:5px;"></span></span>
-       </td>
-      </tr>
-    </table>
-
-    <div class="ruler"></div>
-
-    <div class="change">
-    <input type='submit' name='apply'  value='{t}Change{/t}'
-                 title='{t}Click here to change your password{/t}'>
-    <input type='hidden' id='formSubmit'>
+    <div style='padding:3px;'>
+
+    <form action='password.php{$params}' method='post' name='mainform' onSubmit='js_check(this);return true;'>
+
+        {$msg_dialogs}
+
+        {if $changed}
+
+            <h3>{t}Your password has been changed successfully.{/t}</h3>
+
+        {else}
+
+                <h3>{t}Password change{/t}</h3>
+
+                {if $ssl}<div class='login-warning'>{$ssl}</div>{/if}
+
+                <!-- Display error message on demand -->
+                {if $message}<div class='login-warning'>{$message}</div>{/if}
+
+                <p class="infotext">{t}Enter the current password and the new password (twice) in the fields below and press the 'Set password' button.{/t}</p>
+
+                <table summary="{t}Change password{/t}">
+                    {if $show_directory_chooser}
+                        <tr>
+                            <td>{t}Directory{/t}</td>
+                            <td>
+                                <select name='server'  title='{t}Directory{/t}'>
+                                    {html_options options=$server_options selected=$server_id}
+                                </select>
+                            </td>
+                        </tr>
+                    {/if}
+                <tr>
+                    <td><b>{t}User name{/t}</b></td>
+                    <td>
+                        {if $display_username}
+                            <input type='text' name='uid' maxlength='40' value='{$uid}' 
+                                title='{t}User name{/t}' onFocus="nextfield= 'current_password';">
+                        {else}
+                            <i>{$uid}</i>
+                        {/if}
+                    </td>
+                </tr>
+                <tr>
+                    <td><b><LABEL for="current_password">{t}Current password{/t}</LABEL></b></td>
+                    <td>
+                        {factory type='password' name='current_password' id='current_password' onfocus="nextfield= 'new_password';"}
+                    </td>
+                </tr>
+                <tr>
+                    <td><b><LABEL for="new_password">{t}New password{/t}</LABEL></b></td>
+                    <td>
+                        {factory type='password' name='new_password' id='new_password'
+                            onkeyup="testPasswordCss(\$('new_password').value)"  onfocus="nextfield= 'new_password_repeated';"}
+                    </td>
+                </tr>
+                <tr>
+                    <td><b><LABEL for="new_password_repeated">{t}Repeat new password{/t}</LABEL></b></td>
+                    <td>
+                        {factory type='password' name='new_password_repeated' id='new_password_repeated' 
+                                onfocus="nextfield= 'password_finish';"}
+                    </td>
+                </tr>
+                <tr>
+                    <td><b>{t}Password strength{/t}</b></td>
+                    <td>
+                        <span id="meterEmpty" style="padding:0;margin:0;width:100%;
+                                background-color:#DC143C;display:block;height:7px;">
+                        <span id="meterFull" style="padding:0;margin:0;z-index:100;
+                                width:0;background-color:#006400;display:block;height:7px;"></span></span>
+                    </td>
+                </tr>
+            </table>
+
+            <hr>
+
+            <div class="plugin-actions">
+                <button type='submit' name='apply' 
+                    title='{t}Click here to change your password{/t}'>{t}Set password{/t}</button>
+                <input type='hidden' id='formSubmit'>
+            </div>
+
+
+            <!-- check, if cookies are enabled -->
+            <p class='warning'>
+             <script language="JavaScript" type="text/javascript">
+                <!--
+                    document.cookie = "gosatest=empty;path=/";
+                    if (document.cookie.indexOf( "gosatest=") > -1 )
+                        document.cookie = "gosatest=empty;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT";
+                    else
+                        document.write("{$cookies}");
+                -->
+             </script>
+            </p>
+
+          {$errors}
+          <input type="hidden" name="php_c_check" value="1">
+
+        {/if}
+    </form>
     </div>
-    <!-- check, if cookies are enabled -->
-    <p class='warning'>
-     <script language="JavaScript" type="text/javascript">
-        <!--
-            document.cookie = "gosatest=empty;path=/";
-            if (document.cookie.indexOf( "gosatest=") > -1 )
-                document.cookie = "gosatest=empty;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT";
-            else
-                document.write("{$cookies}");
-        -->
-     </script>
-    </p>
-
-</form>
-
-{/if}
-
-{$msg_dialogs}
-
-<table class='iesucks'><tr><td>{$errors}</td></tr></table>
-
-<!-- Place cursor in username field -->
-<script language="JavaScript" type="text/javascript">
-  <!-- // First input field on page
-  focus_field('error_accept','uid','directory', 'username', 'current_password');
-  next_msg_dialog();
-  -->
-</script>
-
-</body>
+
+    <script language="JavaScript" type="text/javascript">
+        next_msg_dialog();
+    </script>
+
+  </body>
 </html>
diff --git a/gosa-core/ihtml/themes/default/remove.tpl b/gosa-core/ihtml/themes/default/remove.tpl
deleted file mode 100644
index d413bea..0000000
--- a/gosa-core/ihtml/themes/default/remove.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-<div style="font-size:18px;">
-  <img alt="" src="images/warning.png" align=top> {t}Warning{/t}
-</div>
-<p>
- {$intro}
- {t}This may be used by several groups. Please double check if your really want to do this since there is no way for GOsa to get your data back.{/t}
-</p>
-<p>
- {t}So - if you're sure - press 'Delete' to continue or 'Cancel' to abort.{/t}
-</p>
-
-<p class="plugbottom">
- <input type=submit name="delete_confirm" value="{msgPool type=delButton}">
-  
- <input type=submit name="delete_cancel" value="{t}Cancel{/t}">
-</p>
-
diff --git a/gosa-core/ihtml/themes/default/removeEntries.tpl b/gosa-core/ihtml/themes/default/removeEntries.tpl
new file mode 100644
index 0000000..611030e
--- /dev/null
+++ b/gosa-core/ihtml/themes/default/removeEntries.tpl
@@ -0,0 +1,23 @@
+<div class=plugin>
+ <div class='inline-warning'>
+  {image path="images/warning.png" align="top"}
+  <div class='inline-warning-text'>{t}Attention{/t}</div>
+ </div>
+
+ <hr>
+
+ <div class='object-list-container'>
+  {$info}
+ </div>
+
+ <p>
+  {t}If you're sure you want to do this press 'Delete' to continue or 'Cancel' to abort.{/t}
+ </p>
+
+ <hr>
+
+ <div class="plugin-actions">
+  <button type='submit' name='delete_confirmed'>{msgPool type=delButton}</button>
+  <button type='submit' name='delete_cancel'>{msgPool type=cancelButton}</button>
+ </div>
+</div>
diff --git a/gosa-core/ihtml/themes/default/setup_headers.tpl b/gosa-core/ihtml/themes/default/setup_headers.tpl
index 25c0f38..eb5f0d6 100644
--- a/gosa-core/ihtml/themes/default/setup_headers.tpl
+++ b/gosa-core/ihtml/themes/default/setup_headers.tpl
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE html>
 <html>
 
 <head>
@@ -18,7 +18,6 @@
   <style type="text/css">@import url('themes/default/style.css');</style>
   <link rel="shortcut icon" href="favicon.ico">
 
-  <script language="javascript" src="include/png.js" type="text/javascript"></script>
   <script language="javascript" src="include/prototype.js" type="text/javascript"></script>
   <script language="javascript" src="include/gosa.js" type="text/javascript"></script>
 </head>
diff --git a/gosa-core/ihtml/themes/default/sizelimit.tpl b/gosa-core/ihtml/themes/default/sizelimit.tpl
index 276404d..bd72eef 100644
--- a/gosa-core/ihtml/themes/default/sizelimit.tpl
+++ b/gosa-core/ihtml/themes/default/sizelimit.tpl
@@ -1,17 +1,19 @@
-<h1>{$warning}</h1>
+<h3>{$warning}</h3>
 <p>
 {t}The size limit option makes LDAP operations faster and saves the LDAP server from getting too much load. The easiest way to handle big databases without long timeouts would be to limit your search to smaller values and use filters to get the entries you are looking for.{/t}
 </p>
-<p>
-<b>{t}Please choose the way to react for this session{/t}:</b>
-</p>
 
+<hr>
+
+<b>{t}Please choose the way to react for this session{/t}:</b>
+<p>
 <input type="radio" name="action" value="ignore">{t}ignore this error and show all entries the LDAP server returns{/t}<br>
-<input type="radio" name="action" value="limited" checked>{t}ignore this error and show all entries that fit into the defined sizelimit and let me use filters instead{/t}<br>
+<input type="radio" name="action" value="limited" checked>{t}ignore this error and show all entries that fit into the defined size limit{/t}<br>
 <input type="radio" name="action" value="newlimit">{$limit_message}
-
-<p class="plugbottom">
- <input type=submit name="set_size_action" value="{t}Set{/t}">
 </p>
+<hr>
+<div class="plugin-actions">
+ <button type='submit' name='set_size_action'>{t}Set{/t}</button>
+</div>
 
 <input type="hidden" name="ignore">
diff --git a/gosa-core/ihtml/themes/default/snapshotdialog.tpl b/gosa-core/ihtml/themes/default/snapshotdialog.tpl
index 5ca8958..2de0ed5 100644
--- a/gosa-core/ihtml/themes/default/snapshotdialog.tpl
+++ b/gosa-core/ihtml/themes/default/snapshotdialog.tpl
@@ -1,17 +1,17 @@
 {if $RestoreMode}
 
-<h2>{t}Restoring object snapshots{/t}</h2>
-<p class="seperator"> </p>
+<h3>{t}Restoring object snapshots{/t}</h3>
+<hr>
 <br>
 {t}This procedure will restore a snapshot of the selected object. It will replace the existing object after pressing the restore button.{/t}
 <br>
 <br>
-{t}Remember that DNS configuration and database entries could not be restored. For some objects it is only nescessary to open and save them again (goFon), but some entries must be recreated manually (glpi).{/t}
+{t}DNS configuration and some database entries cannot be restored. They need to be recreated manually.{/t}
 <br>
 <br>
 {t}Don't forget to check references to other objects, for example does the selected printer still exists ?{/t}
 <br>
-<p class="seperator"> </p>
+<hr>
 <br>
 <table summary="" style="width:100%">
 	{if !$restore_deleted}
@@ -26,7 +26,7 @@
 		<td>
 			<br>
 			{if $CountSnapShots==0}
-				{t}There is no snapshot available that could be restored{/t}
+				{t}There is no snapshot available that can be restored{/t}
 			{else}
 				{t}Choose a snapshot and click the folder image, to restore the snapshot{/t}
 			{/if}
@@ -34,27 +34,28 @@
 	</tr>
 	<tr>
 		<td>
-			{$SnapShotDivlist}
+			{$SnapShotList}
 		</td>
 	</tr>
 </table>
 
-<p class="seperator"> </p>
-<div style="width:100%; text-align:right;">
-    <input type='submit' name='CancelSnapshot' value='{t}Cancel{/t}'>
+<hr>
+<div class="plugin-actions">
+    <button type='submit' name='CancelSnapshot'>{t}Cancel{/t}</button>
+
 </div>
 
 {else}
 
 <h2>{t}Creating object snapshots{/t}</h2>
-<p class="seperator"> </p>
+<hr>
 <br>
 {t}This procedure will create a snapshot of the selected object. It will be stored inside a special branch of your directory system and can be restored later on.{/t}
 <br>
 <br>
 {t}Remember that database entries, DNS configurations and possibly created zones in server extensions will not be stored in the snapshot.{/t}
 <br>
-<p class="seperator"> </p>
+<hr>
 <br>
 <table summary="" style="width:100%">
 	<tr>
@@ -67,14 +68,14 @@
 	</tr>
 	<tr>
 		<td>
-			<b>{t}Timestamp{/t}</b> 
+			<b>{t}Time stamp{/t}</b> 
 		</td>
 		<td> 
 		   {$CurrentDate}
 		</td>
 	</tr>
 	<tr>
-		<td style="vertical-align:top;" colspan="2">
+		<td colspan="2">
 			<br>
 			{t}Reason for generating this snapshot{/t}<br> 
 			<textarea name="CurrentDescription" style="width:100%;height:160px;" rows=10 cols=100>{$CurrentDescription}</textarea>
@@ -82,11 +83,12 @@
 	</tr>
 </table>
 
-<p class="seperator"> </p>
-<div style="width:100%; text-align:right;">
-    <input type='submit' name='CreateSnapshot' value='{t}Continue{/t}'>
-     
-    <input type='submit' name='CancelSnapshot' value='{t}Cancel{/t}'>
+<hr>
+<div class="plugin-actions">
+    <button type='submit' name='CreateSnapshot'>{t}Continue{/t}</button>
+
+    <button type='submit' name='CancelSnapshot'>{t}Cancel{/t}</button>
+
 </div>
 
 <script language="JavaScript" type="text/javascript">
diff --git a/gosa-core/ihtml/themes/default/userFilter.tpl b/gosa-core/ihtml/themes/default/userFilter.tpl
new file mode 100644
index 0000000..8825c40
--- /dev/null
+++ b/gosa-core/ihtml/themes/default/userFilter.tpl
@@ -0,0 +1,11 @@
+<h3>{t}List of defined filters{/t}</h3>
+
+{$list}
+<button type='submit' name='addFilter'>{msgPool type='addButton'}</button>
+
+<hr>
+
+<div class="plugin-actions">
+  <button type='submit' name='saveFilter'>{msgPool type='saveButton'}</button>
+  <button type='submit' name='cancelFilter'>{msgPool type='cancelButton'}</button>
+</div>
diff --git a/gosa-core/ihtml/themes/default/userFilterEditor.tpl b/gosa-core/ihtml/themes/default/userFilterEditor.tpl
new file mode 100644
index 0000000..fa1cc26
--- /dev/null
+++ b/gosa-core/ihtml/themes/default/userFilterEditor.tpl
@@ -0,0 +1,86 @@
+<h3>{t}Filter editor{/t}</h3>
+
+<hr>
+
+<table summary="{t}Filter editor{/t}" width="100%">
+  <tr>
+    <td class="right-border" style='width:40%;'>
+      <table summary='{t}Filter properties{/t}'>
+        <tr>
+          <td>
+            <label for='name'>{t}Name{/t}</label>{$must}
+          </td>
+          <td>
+            <input type='text' name='name' id='name' value="{$name}">
+          </td>   
+        </tr>
+        <tr>
+          <td>
+            <label for='description'>{t}Description{/t}</label>{$must}
+          </td>
+          <td>
+            <input type='text' name='description' id='description' value="{$description}">
+          </td>   
+        </tr>
+        <tr>
+          <td>
+            <label for='parent'>{t}Parent filter{/t}</label>
+          </td>
+          <td>
+            <select name='parent' size='1'>
+              {html_options values=$fixedFilters output=$fixedFilters selected=$parent}
+            </select>
+          </td>   
+        </tr>
+      </table>  
+    
+      <br>
+      
+      <input type='checkbox' name='shareFilter' value='1' {if $share} checked {/if}>
+       {t}Public visible{/t}              
+
+      <br>
+    
+      <input type='checkbox' name='enableFilter' value='1' {if $enable} checked {/if}>
+       {t}Enabled{/t}
+
+    </td>
+    <td>
+      <label for='usedCategory'>{t}Categories where the filter is visible{/t}</label><br>
+      <select id='usedCategory' name='usedCategory[]' size='4' multiple style='width:100%;'>
+        {html_options options=$selectedCategories}
+      </select>
+      <br>
+      <select id='availableCategory' name='availableCategory' size='1'
+        onChange="$('manualCategory').value=$('availableCategory').options[$('availableCategory').selectedIndex].value"> 
+        <option value=''> </option>
+        {html_options values=$availableCategories output=$availableCategories}
+      </select>
+      <input type='text' id='manualCategory' name='manualCategory' value=''>
+      <button type='submit' name='addCategory'>{msgPool type='addButton'}</button>
+      <button type='submit' name='delCategory'>{msgPool type='delButton'}</button>
+    </td>
+  </tr>
+</table>
+
+<hr>
+
+{foreach from=$queries item=item key=key}
+  <b>{t}Query{/t} #{$key}</b>
+  <select name='backend_{$key}' size='1'>
+    {html_options output=$backends values=$backends selected=$item.backend}
+  </select>
+  <button type='submit' name='removeQuery_{$key}'>{msgPool type='delButton'}</button> 
+  <textarea name='filter_{$key}' id='filter_{$key}' cols="0" 
+      style='width:100%; height: 120px;'>{$item.filter}</textarea>
+  <hr>
+{/foreach}
+  <button type='submit' name='addQuery'>{msgPool type='addButton'}</button> 
+<hr>
+
+<input type='hidden' value='1' name='userFilterEditor'>
+
+<div class="plugin-actions">
+  <button type='submit' name='saveFilterSettings'>{msgPool type='saveButton'}</button>
+  <button type='submit' name='cancelFilterSettings'>{msgPool type='cancelButton'}</button>
+</div>
diff --git a/gosa-core/include/class_CopyPasteHandler.inc b/gosa-core/include/class_CopyPasteHandler.inc
index 9be0f4d..96a3793 100644
--- a/gosa-core/include/class_CopyPasteHandler.inc
+++ b/gosa-core/include/class_CopyPasteHandler.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_CopyPasteHandler.inc 17913 2010-04-28 14:03:29Z hickert $$
+ * ID: $$Id: class_CopyPasteHandler.inc 19292 2010-07-30 07:27:44Z hickert $$
  *
  * 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
@@ -64,17 +64,17 @@ class CopyPasteHandler {
   function add_to_queue($dn,$action,$tab_class,$tab_object,$tab_acl_category,&$parent = NULL)
   {
     if(!class_available($tab_class)){
-      trigger_error(sprintf("Specified class object '%s' does not exists.",$tab_class));
+      trigger_error(sprintf("Specified class object %s does not exists.", bold($tab_class)));
       return(FALSE);
     }
 
     if(!isset($this->config->data['TABS'][$tab_object])){
-      trigger_error(sprintf("Specified tab object '%s' does not exists.",$tab_object));
+      trigger_error(sprintf("Specified tab object %s does not exists.", bold($tab_object)));
       return(FALSE);
     }
 
     if(!in_array($action,array("cut","copy"))){
-      trigger_error(sprintf("Specified action '%s' does not exists for copy & paste.",$action));
+      trigger_error(sprintf("Specified action %s does not exists for copy & paste.", bold($action)));
       return(FALSE);
     } 
 
@@ -115,7 +115,7 @@ class CopyPasteHandler {
 
       /* Update folder permissions */
       if(!@chmod(LDAP_DUMP_PATH,0700)){
-        $msg= sprintf(_("Copy and paste failed!")."<br><br>"._("Error").": <i>"._("Cannot set permission for '%s'")."</i>" ,LDAP_DUMP_PATH);
+        $msg= sprintf(_("Copy and paste failed!")."<br><br>"._("Error").": "._("Cannot set permission for %s"), bold(LDAP_DUMP_PATH));
         msg_dialog::display(_("Configuration error"), $msg, ERROR_DIALOG);
         new log("copy","all/all","copy & paste, event queue.",array(), $msg);
         return(FALSE);
@@ -156,7 +156,7 @@ class CopyPasteHandler {
 
     /* Check if given dn is valid and ldap search was succesfull */ 
     if(!$res){
-      $msg= sprintf(_("Copy and paste failed!")."<br><br>"._("Error").": <i>"._("'%s' is no vaild LDAP object"), LDAP::fix($dn));
+      $msg= sprintf(_("Copy and paste failed!")."<br><br>"._("Error").": "._("'%s' is no valid LDAP object"), bold(LDAP::fix($dn)));
       msg_dialog::display(_("Internal error"), $msg, ERROR_DIALOG);
       new log("copy","all/all",$dn,array(), $msg);
       return(FALSE);
@@ -173,7 +173,7 @@ class CopyPasteHandler {
 
     /* check if we are able to create a new file the given directory */
     if(!is_writeable($path)){
-      $msg= sprintf(_("Copy and paste failed!")."<br><br>"._("Error").": <i>"._("No write permission in '%s'"),LDAP_DUMP_PATH);
+      $msg= sprintf(_("Copy and paste failed!")."<br><br>"._("Error").": "._("No write permission in '%s'"), bold(LDAP_DUMP_PATH));
       msg_dialog::display(_("Configuration error"), $msg, ERROR_DIALOG);
       new log("copy","all/all",$dn,array(), $msg);
       return(FALSE);
@@ -190,7 +190,7 @@ class CopyPasteHandler {
 
     /* Update folder permissions */
     if(!@chmod($path."/".$filename,0700)){
-      $msg= sprintf(_("Copy and paste failed!")."<br><br>"._("Error").": <i>"._("Cannot set permission for '%s'"),LDAP_DUMP_PATH);
+      $msg= sprintf(_("Copy and paste failed!")."<br><br>"._("Error").": "._("Cannot set permission for '%s'"), bold(LDAP_DUMP_PATH));
       msg_dialog::display(_("Configuration error"), $msg, ERROR_DIALOG);
       new log("copy","all/all","copy & paste, event queue.",array(), $msg);
       return(FALSE);
@@ -417,7 +417,8 @@ class CopyPasteHandler {
         $smarty->assign("AttributesToFix",$this->generateAttributesToFix());
         $smarty->assign("SubDialog",$this->current['object']->SubDialog);
         $smarty->assign("objectDN",$this->current['source_data']['dn']);
-        $smarty->assign("message", sprintf(_("This object will be pasted: %s"), "<br><br>".$this->current['source_data']['dn']));
+        $smarty->assign("message", sprintf(_("This object will be pasted: %s"), "<br><br>".
+                    bold(@LDAP::fix($this->current['source_data']['dn']))));
         return($smarty->fetch(get_template_path("copyPasteDialog.tpl",FALSE)));
       }
     }
@@ -516,7 +517,7 @@ class CopyPasteHandler {
 
     // Migrate objectgroups
     $ogroups = get_sub_list("(&(objectClass=gosaGroupOfNames)(member=".LDAP::prepare4filter(LDAP::fix($src_dn))."))",
-            "ogroups", array(get_ou("ogroupRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
+            "ogroups", array(get_ou("group", "ogroupRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
 
     // Walk through all objectGroups
     foreach($ogroups as $ogroup){
@@ -527,7 +528,7 @@ class CopyPasteHandler {
 
     // Update roles 
     $roles = get_sub_list("(&(objectClass=organizationalRole)(roleOccupant=".LDAP::prepare4filter(LDAP::fix($src_dn))."))",
-            "roles", array(get_ou("roleRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
+            "roles", array(get_ou("roleGeneric", "roleRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
 
     // Walk through all roles
     foreach($roles as $role){
@@ -548,7 +549,7 @@ class CopyPasteHandler {
 
             $uid = $this->current['object']->uid;
             $groups = get_sub_list("(&(objectClass=posixGroup)(memberUid={$suid}))",
-                    "groups",array(get_ou("groupRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
+                    "groups",array(get_ou("core", "groupRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
 
             // Walk through all POSIX groups
             foreach($groups as $group){
diff --git a/gosa-core/include/class_GOsaRegistration.inc b/gosa-core/include/class_GOsaRegistration.inc
new file mode 100644
index 0000000..54e4e0f
--- /dev/null
+++ b/gosa-core/include/class_GOsaRegistration.inc
@@ -0,0 +1,138 @@
+<?php
+
+class GOsaRegistration 
+{
+    
+    private $config;
+    private $server = "http://10.3.64.59:4000";
+    private $user = "gosa";
+    private $password = "gosa";
+
+    private $isRegistered = NULL;    
+
+    function __construct(&$config)
+    {
+        // Check if we're registrated 
+
+        $this->config = $config;
+    }    
+
+ 
+    function getRegistrationServer()
+    {
+        return($this->server);
+    }   
+
+    function getConnection($user = NULL, $password ="")
+    {
+        if($user === NULL){
+            return($this->config->getRpcHandle($this->server, $this->user,$this->password, TRUE, FALSE));
+        }else{
+            return($this->config->getRpcHandle($this->server, $user,$password, TRUE, FALSE));
+        }
+    }
+
+    function isServerAccessible($force = FALSE)
+    {
+        // Only request a new status every 2 seconds
+        if(isset($this->cache['isServerAccessible']['called']) && !$force){
+            if($this->cache['isServerAccessible']['called'] + 2 > time()){
+                return($this->cache['isServerAccessible']['result']);
+            }
+        }
+
+        // Check the connection status by calling a dummy function
+        $con = $this->getConnection();
+        $res = $con->isInstanceRegistered("dummy");
+
+        // Store the result
+        $this->cache['isServerAccessible']['called'] = time();        
+        $this->cache['isServerAccessible']['result'] = $con->success();
+
+        return($con->success());
+    }
+
+    function registrationNotWanted()
+    {
+        // While we are registered this will always be FALSE.
+        if($this->isInstanceRegistered()) return(FALSE);
+
+        // Check if the registration process was postponed or completely(>=0) canceled (-1)
+        $date = $this->config->configRegistry->getPropertyValue('GOsaRegistration','askForRegistration');
+        return($date == -1);
+    }
+
+    function registrationRequired()
+    {
+        if($this->isInstanceRegistered()) return(FALSE);
+
+        // Seems that we haven't received an instancePassword yet, this can has two reasons:
+        // 1. Not registered yet or registration postponed     2. We do not want to registrate our instance.
+        $date = $this->config->configRegistry->getPropertyValue('GOsaRegistration','askForRegistration');
+        if($date == -1){
+
+            // We do not want to registrate
+            return(FALSE);
+        }else{
+
+            // Registration may be postponed.
+            return($date < time());
+        }
+    }
+
+    function isInstanceRegistered()
+    {
+        if($this->isServerAccessible()){
+
+            // First check if the server is accessible and if the instance is registered.
+            return($this->isInstanceRegisteredWithServer());
+        }else{
+
+            // Server is down, now check if we've an instancePassword set in our gosa.conf.
+            $instancePassword = $this->config->configRegistry->getPropertyValue('GOsaRegistration','instancePassword'); 
+            return(!empty($instancePassword));
+        }
+    }
+
+    function isInstanceRegisteredWithServer()
+    {
+        $con = $this->getConnection();
+        $res = $con->isInstanceRegistered($this->config->getInstanceUuid());
+        if($con->success()){
+            $this->isRegistered = $res;
+        }else{
+            return(FALSE);
+        }
+        return($this->isRegistered);
+    }
+
+
+    static function plInfo()
+    {
+        return (array(
+                    "plProperties"  => array(
+                        array(
+                            "name"          => "instancePassword",
+                            "type"          => "string",
+                            "default"       => "",
+                            "description"   => "",
+                            "check"         => "gosaProperty::isString",
+                            "migrate"       => "",
+                            "group"         => "registration",
+                            "mandatory"     => FALSE),
+                        array(
+                            "name"          => "askForRegistration",
+                            "type"          => "integer",
+                            "default"       => "0",
+                            "description"   => _("UNIX-timestamp pointing to the date GOsa will ask for a registration again (-1 to disable)"), 
+                            "check"         => "gosaProperty::isInteger",
+                            "migrate"       => "",
+                            "group"         => "registration",
+                            "mandatory"     => FALSE),
+                        )
+                    )
+                    );
+    }
+} 
+
+?>
diff --git a/gosa-core/include/class_ItemSelector.inc b/gosa-core/include/class_ItemSelector.inc
new file mode 100644
index 0000000..3d7bdbf
--- /dev/null
+++ b/gosa-core/include/class_ItemSelector.inc
@@ -0,0 +1,344 @@
+<?php
+/*
+ * This code is part of GOsa (http://www.gosa-project.org)
+ * Copyright (C) 2003-2010 GONICUS GmbH
+ *
+ * ID: $$Id: class_listing.inc 15296 2010-01-26 08:27:39Z cajus $$
+ *
+ * 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.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+class ItemSelector {
+
+    public $base;
+    public $pid;
+    public $action;
+    public $height= 500;
+    public $submitButton= true;
+    public $tree;
+    public $pathMapping;
+    public $lastState;
+    public $releaseInfo;
+    public $releaseBase;
+
+    function __construct($bases = array(), $base = "", $releaseBase = "")
+    {
+        // Initialize pid
+        $this->pid= preg_replace("/[^0-9]/", "", microtime(TRUE));
+
+        // Get list of used IDs
+        if(!session::is_set('releaseSelector_USED_IDS')){
+            session::set('releaseSelector_USED_IDS',array());
+        }
+        $usedIds = session::get('releaseSelector_USED_IDS');
+
+        // Generate instance wide unique ID
+        $pid = "";
+        while($pid == "" || in_array($pid, $usedIds)){
+
+            // Wait 1 msec to ensure that we definately get a new id
+            if($pid != "") usleep(1);
+            $tmp= gettimeofday();
+            $pid =  'l'.md5(microtime().$tmp['sec']);
+        }
+
+        // Only keep the last 10 list IDsi
+        $usedIds = array_slice($usedIds, count($usedIds) -10, 10);
+        $usedIds[] = $pid;
+        session::set('releaseSelector_USED_IDS',$usedIds);
+        $this->pid = $pid;
+
+        // Transfer data
+        $this->releaseBase = $releaseBase; 
+        $this->setBases($bases);
+        $this->setBase($base);
+    }
+
+
+    function setSubmitButton($flag)
+    {
+        $this->submitButton= $flag;
+    }
+
+
+    function setHeight($value)
+    {
+        $this->height= $value;
+    }
+
+
+    function setBase($base)
+    {
+        $this->base= $base;
+        if (isset($this->pathMapping[$base])) {
+            $this->update(true);
+        }
+    }
+
+    function setRootBase($base)
+    {
+        $this->releaseBase = $base;
+    }
+
+
+    function checkBase($base)
+    {
+        return isset($this->pathMapping[$base]);
+    }
+
+
+    function checkLastBaseUpdate()
+    {
+        return $this->lastState;
+    }
+
+
+    function setBases($bases)
+    {
+        global $config;
+        $this->releaseInfo = array();
+        $this->pathMapping= array();
+        $selected= $this->base == $this->releaseBase?"Selected":"";
+        $first= true;
+        $last_indent= 2;
+
+        foreach ($bases as $path => $data) {
+
+            // Build path style display
+            $this->pathMapping[$path]= preg_replace("/^".preg_quote($this->releaseBase,'/')."\/?/i", "/", $path);
+            $this->releaseInfo[$path]['name'] = $data['name'];
+            $this->releaseInfo[$path]['description'] = $data['desc'];
+        }
+
+        // Save bases to session for autocompletion
+        session::global_set("pathMapping_{$this->pid}", $this->pathMapping);
+        session::global_set("department_info_{$this->pid}", $this->releaseInfo);
+    }
+
+
+    function update($force= false)
+    {
+        global $config;
+
+        // Analyze for base changes if needed
+        $this->action= null;
+        $last_base= $this->base;
+        if(isset($_REQUEST["BPID_{$this->pid}"]) && $_REQUEST["BPID_{$this->pid}"] == $this->pid) {
+            if (isset($_POST['bs_rebase_'.$this->pid])) {
+                $new_base= base64_decode(get_post('bs_rebase_'.$this->pid));
+                if($new_base){
+                    if (isset($this->pathMapping[$new_base])) {
+                        $this->base= $new_base;
+                        $this->action= 'rebase';
+                    } else {
+                        $this->lastState= false;
+                        return false;
+                    }
+                }
+            }else{
+                // Input field set?
+                if (isset($_POST['bs_input_'.$this->pid])) {
+
+                    // Take over input field base
+                    if ($this->submitButton && isset($_POST['submit_base_'.$this->pid]) || !$this->submitButton) {
+
+                        // Check if base is available
+                        $this->lastState= false;
+                        foreach ($this->pathMapping as $key => $path) {
+                            if (mb_strtolower($path) == mb_strtolower(get_post('bs_input_'.$this->pid))) {
+                                $this->base= $key;
+                                $this->lastState= true;
+                                break;
+                            }
+                        }
+                    }
+                }
+            } 
+
+        }
+
+        /* Skip if there's no change */
+        if (($this->tree && $this->base == $last_base) && !$force) {
+            return true;
+        }
+
+        $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($this->releaseBase)."';  
+            $('submit_tree_base_".$this->pid."').click();\"";
+
+        $initialValue = "";
+        if(isset($this->pathMapping[$this->base])){
+            $initialValue = $this->pathMapping[$this->base];
+        }
+
+        $this->tree= "
+        
+            <input style='width:160px' type='text' size='35' 
+            name='bs_input_{$this->pid}' 
+            id='bs_input_{$this->pid}'
+
+            onkeydown=\"    \$('bs_{$this->pid}').hide(); \"
+            onfocus=\"      \$('bs_{$this->pid}').hide(); \"
+            onmouseover=\"  
+                mouseIsStillOver = true; 
+                function showIt() 
+                {
+                    if(mouseIsStillOver){
+                        \$('bs_".$this->pid."').show();  
+                    }
+                };
+
+                Element.clonePosition(
+                    \$('bs_".$this->pid."'),
+                    'bs_input_".$this->pid."', 
+                    {
+                        setHeight: false, 
+                        setWidth: false, 
+                        offsetTop:(Element.getHeight('bs_input_".$this->pid."'))
+                    });
+                rtimer=showIt.delay(0.25); \" 
+
+            onmouseout=\"   
+                mouseIsStillOver=false; 
+                rtimer=Element.hide.delay(0.25,'bs_".$this->pid."')\"
+
+            value=\"".preg_replace('/"/','"',$initialValue)."\">";
+
+        // Autocompleter
+        $this->tree.= "<div id='autocomplete_".$this->pid."' class='autocomplete'></div>".
+            "<script type='text/javascript'>".
+            "var mouseIsStillOver = false;".
+            "new Ajax.Autocompleter(
+                'bs_input_".$this->pid."', 
+                'autocomplete_".$this->pid."', 
+                'autocomplete.php?type=base&pid={$this->pid}', 
+                { minChars: 3, frequency: 0.5 });";
+
+        if ($this->submitButton) {
+            $this->tree.= "$('bs_input_".$this->pid."').observe('keypress', 
+                    function(event) 
+                    { 
+                        if(event.keyCode == Event.KEY_RETURN) { 
+                            $('submit_base_".$this->pid."').click();          
+                        } 
+                    });";
+        }
+        $this->tree.= "</script>";
+        $selected= $this->base == $this->releaseBase?"Selected":"";
+        $this->tree.= "<div class='treeList' 
+                            style=' display:none;
+                                    max-height:".$this->height."px' 
+                            id='bs_".$this->pid."' 
+                            onmouseover=\"
+                                    window.clearTimeout(rtimer);\" 
+                            onmouseout=\"
+                                    rtimer= Element.hide.delay(0.25, 'bs_".$this->pid."')\">
+                        <a                     class='treeList$selected' $link>/ ["._("Root")."]</a>
+                        <ul class='treeList'>\n";
+
+        $first= true;
+        $last_indent= 1;
+
+        $baseDepth = 0;
+        foreach ($this->pathMapping as $base => $dummy) {
+
+            // Do not render the base element
+            if($base == $this->releaseBase){
+                $baseDepth = 1;
+                continue;
+            }
+
+            // Build path style display
+            $elements= explode('/', substr($base, strlen($this->releaseBase), strlen($base)));
+            $indent= count($elements) - $baseDepth ;
+        
+            if (!$first && ($indent == $last_indent)) {
+                $this->tree.= "</li>\n";
+            }
+            if ($indent > $last_indent) {
+                $this->tree.= "<ul>\n";
+            }
+            if ($indent < $last_indent) {
+                for ($i= 0; $i < ($last_indent-$indent); $i++) {
+                    $this->tree.= "</li></ul>\n";
+                }
+                $this->tree.= "</li>\n";
+            }
+            $selected= $this->base == $base?" class='treeListSelected'":"";
+            $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($base)."';$('submit_tree_base_".$this->pid."').click();\"";
+
+            $this->tree.= "<li>".
+                "<a$selected $link>".
+                $this->gennonbreaks($this->releaseInfo[$base]['name']).
+                ($this->releaseInfo[$base]['description']==''?'':' <span class="informal">['.$this->gennonbreaks($this->releaseInfo[$base]['description']).']</span>').
+                "</a>";
+
+            $last_indent= $indent;
+            $first= false;
+        }
+
+        // Close tree
+        for ($i= 1; $i<$last_indent; $i++) {
+            $this->tree.= "</li></ul>\n";
+        }
+        $this->tree.= "</div>\n";
+
+        // Draw submitter if required
+        if ($this->submitButton) {
+            $this->tree.= image('images/lists/submit.png', "submit_base_".$this->pid, _("Submit"));
+        }
+        $this->tree.= "<input type='submit' style='display:none' name='submit_tree_base_".$this->pid."' id='submit_tree_base_".$this->pid."'>";
+        $this->tree.= "<input type='hidden' name='bs_rebase_".$this->pid."' id='bs_rebase_".$this->pid."'>";
+        $this->tree.= "<input type='hidden' name='BPID_{$this->pid}' id='BPID_{$this->pid}' value='".$this->pid."'>";
+
+        $this->lastState= true;
+        return true;
+    }
+
+
+    function gennonbreaks($string)
+    {
+        return str_replace('-', '‑', str_replace(' ', ' ', $string));
+    }
+
+
+    function render()
+    {
+        return $this->tree;
+    }
+
+
+    function getBase()
+    {
+        return $this->base;
+    }
+
+
+    function getAction()
+    {
+        // Do not do anything if this is not our BPID, or there's even no BPID available...
+        if(!isset($_REQUEST["BPID_{$this->pid}"]) || $_REQUEST["BPID_{$this->pid}"] != $this->pid) {
+            return;
+        }
+
+        if ($this->action) {
+            return array("targets" => array($this->base), "action" => $this->action);
+        }
+
+        return null;
+    }
+
+}
+
+?>
diff --git a/gosa-core/include/class_SnapShotDialog.inc b/gosa-core/include/class_SnapShotDialog.inc
index 98f53a5..9330b79 100644
--- a/gosa-core/include/class_SnapShotDialog.inc
+++ b/gosa-core/include/class_SnapShotDialog.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_SnapShotDialog.inc 15567 2010-02-02 07:26:40Z hickert $$
+ * ID: $$Id: class_SnapShotDialog.inc 19248 2010-07-29 13:19:57Z hickert $$
  *
  * 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
@@ -23,167 +23,170 @@
 /* Snap shot dialog class */
 class SnapShotDialog extends plugin 
 {
-	var $config;
-	var $attributes= array("CurrentDescription");
-	var $CurrentDescription= "";
-	var $parent= NULL;
-	var $display_restore_dialog= false;		      /* Defines the restore mode */
-	var $display_all_removed_objects= false; 		/* Specifies which objects will be listed, all
-                                                 snapshots for a single entry or all snapshots
-                                                 of already deleted objects  */	
-	var $dialog= true;
-	var $del_dn= "";
-	var $ui;
-	var $acl;
-  var $dns = array();
-  var $snap_shot_bases = array();
-  var $last_list = array();
-
-	
-	function SnapShotDialog(&$config, $dn, &$parent)
-	{
-    plugin::plugin($config,$dn);
-    $this->parent 	= &$parent;
-		$this->ui 		  = get_userinfo();
-	}
-
-  
-  /* Show deleted snapshots from these bases */
-  function set_snapshot_bases($bases)
-  {
-    $this->snap_shot_bases = $bases;
-  }
-	
-	
-	/* Display snapshot dialog */
-	function execute()
-	{
-		plugin::execute();
-		$smarty = get_smarty();
-
-    $ui = get_userinfo();
-		$once = true;
-		foreach($_POST as $name => $value){
-			if((preg_match("/^RemoveSnapShot_/",$name)) && ($once)){
-				$once = false;
-        $entry = preg_replace("/^RemoveSnapShot_/","",$name);
-        $entry = base64_decode(preg_replace("/_[xy]$/","",$entry));
-        $found = false;
-        foreach($this->last_list as $t_stamp => $obj){
-          if($obj['dn'] == $entry){
-            $found = true;
-            break;
-          }
+    var $config;
+    var $attributes= array("CurrentDescription");
+    var $CurrentDescription= "";
+    var $parent= NULL;
+    var $display_restore_dialog= false;		      /* Defines the restore mode */
+    var $display_all_removed_objects= false; 		/* Specifies which objects will be listed, all
+                                                       snapshots for a single entry or all snapshots
+                                                       of already deleted objects  */	
+    var $dialog= true;
+    var $del_dn= "";
+    var $ui;
+    var $acl;
+    var $dns = array();
+    var $snap_shot_bases = array();
+    var $last_list = array();
+
+
+    function SnapShotDialog(&$config, $dn, &$parent)
+    {
+        plugin::plugin($config,$dn);
+        $this->parent 	= &$parent;
+        $this->ui 		  = get_userinfo();
+
+        // Prepare lists
+        $this->snapList = new sortableListing();
+        $this->snapList->setDeleteable(false);
+        $this->snapList->setEditable(false);
+        $this->snapList->setWidth("100%");
+        $this->snapList->setHeight("200px");
+        $this->snapList->setHeader(array(_("Date"), _("Name") ));
+        $this->snapList->setColspecs(array('140px','*','60px'));
+        $this->snapList->setDefaultSortColumn(0);
+
+    }
+
+
+    /* Show deleted snapshots from these bases */
+    function set_snapshot_bases($bases)
+    {
+        $this->snap_shot_bases = $bases;
+    }
+
+
+    /* Display snapshot dialog */
+    function execute()
+    {
+        plugin::execute();
+        $smarty = get_smarty();
+
+        $ui = get_userinfo();
+        $once = true;
+        foreach($_POST as $name => $value){
+            $value = get_post($name);
+            if((preg_match("/^RemoveSnapShot_/",$name)) && ($once)){
+                $once = false;
+                $entry = preg_replace("/^RemoveSnapShot_/","",$name);
+                $entry = base64_decode($entry);
+                $found = false;
+                foreach($this->last_list as $t_stamp => $obj){
+                    if($obj['dn'] == $entry){
+                        $found = true;
+                        break;
+                    }
+                }
+
+                if($found){
+                    $this->del_dn 	= $entry;
+                    $smarty= get_smarty();
+                    $smarty->assign("info", sprintf(_("You are about to delete the snapshot %s."), bold(LDAP::fix($this->del_dn))));
+                    return($smarty->fetch (get_template_path('removeSnapshots.tpl')));
+                }
+            }
         }
 
-        if($found){
-          $this->del_dn 	= $entry;
-          $smarty= get_smarty();
-          $smarty->assign("intro", sprintf(_("You're about to delete the snapshot '%s'."), LDAP::fix($this->del_dn)));
-          return($smarty->fetch (get_template_path('remove.tpl')));
+        /* We must restore a snapshot */
+
+        if($this->display_restore_dialog){
+
+            /* Should we only display all snapshots of already deleted objects 
+               or the snapshots for the given object dn */
+            $res = array();
+            $tmp = array();
+            $handler = new SnapshotHandler($this->config);
+
+            if($this->display_all_removed_objects){
+                if(count($this->snap_shot_bases)){
+                    foreach($this->snap_shot_bases as $dn){
+                        $tmp = array_merge($tmp,$handler->getAllDeletedSnapshots($dn,true));
+                    }
+                }else{
+                    $tmp = $handler->getAllDeletedSnapshots($this->snap_shot_bases,true);
+                }
+            }else{
+                $tmp = $handler->Available_SnapsShots($this->dn,true);
+            }
+
+            $this->snapList->setAcl('rwcdm');
+
+            $list_of_elements = array();			
+
+            /* Walk through all entries and setup the display text */
+            foreach($tmp as $key => $entry){
+
+                /* Check permissions */
+                $TimeStamp = $entry['gosaSnapshotTimestamp'][0];
+                $list_of_elements[$TimeStamp] = $entry;
+            }
+
+            /* Sort generated list */
+            krsort($list_of_elements);
+
+            /* Add Elements to list */	
+            $this->last_list = $list_of_elements;
+
+            $data = $lData = array();
+            foreach($list_of_elements as $entry){
+                $actions=  image('images/lists/restore.png','RestoreSnapShot_%KEY',_("Restore snapshot"));
+                $actions.= image('images/lists/trash.png','RemoveSnapShot_%KEY',_("Delete snapshot"));
+                $time_stamp 	= date(_("Y-m-d, H:i:s"),preg_replace("/\-.*$/","",$entry['gosaSnapshotTimestamp'][0]));
+                $display_data 	= $entry['description'][0];
+                $data[$entry['dn']] = $entry;
+                $lData[$entry['dn']] = array('data'=>
+                        array(
+                            $time_stamp,
+                            htmlentities(utf8_decode(LDAP::fix($display_data))),
+                            str_replace("%KEY",base64_encode($entry['dn']), $actions)));
+            }		
+
+            $this->snapList->setListData($data, $lData);
+            $this->snapList->update();
+            $smarty->assign("SnapShotList",$this->snapList->render());
+            $smarty->assign("CountSnapShots",count($list_of_elements));
         }
-      }
+
+        $smarty->assign("restore_deleted",$this->display_all_removed_objects);
+        $smarty->assign("RestoreMode",$this->display_restore_dialog);
+        $smarty->assign("CurrentDate",date(_("Y-m-d, H:i:s")));
+        $smarty->assign("CurrentDN",LDAP::fix($this->dn));
+        $smarty->assign("CurrentDescription",set_post($this->CurrentDescription));
+        return($smarty->fetch(get_template_path("snapshotdialog.tpl")));
     }
 
-    /* Remove snapshot */
-    if(isset($_POST['delete_confirm']) && !empty($this->del_dn)){
-      $this->remove_snapshot($this->del_dn);
-      $this->del_dn = "";
-		}
-
-		/* We must restore a snapshot */
-
-		if($this->display_restore_dialog){
-
-			/* Should we only display all snapshots of already deleted objects 
-                or the snapshots for the given object dn */
-			$res = array();
-			$tmp = array();
-			if($this->display_all_removed_objects){
-				if(count($this->snap_shot_bases)){
-					foreach($this->snap_shot_bases as $dn){
-						$tmp = array_merge($tmp,$this->getAllDeletedSnapshots($dn,true));
-					}
-				}else{
-					$tmp = $this->getAllDeletedSnapshots($this->snap_shot_bases,true);
-				}
-			}else{
-				$tmp = $this->Available_SnapsShots($this->dn,true);
-			}
-
-			$DivListSnapShots = new divSelectBox("SnapShotRestore");
-			$DivListSnapShots->SetHeight(180);
-
-			$list_of_elements = array();			
-			
-			/* Walk through all entries and setup the display text */
-			foreach($tmp as $key => $entry){
-    
-        /* Check permissions */
-        $TimeStamp = $entry['gosaSnapshotTimestamp'][0];
-        $list_of_elements[$TimeStamp] = $entry;
-			}
-
-			/* Sort generated list */
-			krsort($list_of_elements);
-	
-			/* Add Elements to divlist */	
-      $this->last_list = $list_of_elements;
-			foreach($list_of_elements as $entry){
-
-        $actions= "<input type='image' src='images/lists/restore.png' name='RestoreSnapShot_%KEY' 
-          class='center' title='"._("Restore snapshot")."'> ";
-        $actions.= "<input type='image' src='images/lists/trash.png' name='RemoveSnapShot_%KEY' 
-          class='center' title='"._("Remove snapshot")."'> ";
-
-				$time_stamp 	= date(_("Y-m-d, H:i:s"),preg_replace("/\-.*$/","",$entry['gosaSnapshotTimestamp'][0]));
-				$display_data 	= $entry['description'][0];
-
-				if($this->display_all_removed_objects){
-					$display_data.= " - ".$entry['gosaSnapshotDN'][0];
-				}
-
-				$field0 = array("string"=> $time_stamp , "attach"=> "style='vertical-align:top;width:120px;'");
-				$field1 = array("string"=> htmlentities (utf8_decode(LDAP::fix($display_data))), "attach"=> "");
-				$field2 = array("string"=> str_replace("%KEY",base64_encode($entry['dn']),$actions) , 
-								"attach"=> "style='border-right:0px;vertical-align:top;width:40px;text-align:right;'");
-				$DivListSnapShots->AddEntry(array($field0,$field1,$field2));
-			}		
-
-			$smarty->assign("SnapShotDivlist",$DivListSnapShots->DrawList());	
-			$smarty->assign("CountSnapShots",count($list_of_elements));
-		}
-
-		$smarty->assign("restore_deleted",$this->display_all_removed_objects);
-		$smarty->assign("RestoreMode",$this->display_restore_dialog);
-		$smarty->assign("CurrentDate",date(_("Y-m-d, H:i:s")));
-		$smarty->assign("CurrentDN",LDAP::fix($this->dn));
-		$smarty->assign("CurrentDescription",$this->CurrentDescription);
-		return($smarty->fetch(get_template_path("snapshotdialog.tpl")));
-	}
-
-
-	function check()
-	{
-		$message = plugin::check();
-		if(!$this->display_restore_dialog){
-			if(empty($this->CurrentDescription)){
-        $message[]= msgPool::invalid(_("Description"));
-			}
-		}
-		return($message);
-	}
-
-
-	function save_object()
-	{	
-		plugin::save_object();
-		foreach($this->attributes as $name){
-			if(isset($_POST[$name])){
-				$this->$name = stripslashes($_POST[$name]);
-			}
-		}
-	}
+
+    function check()
+    {
+        $message = plugin::check();
+        if(!$this->display_restore_dialog){
+            if(empty($this->CurrentDescription)){
+                $message[]= msgPool::invalid(_("Description"));
+            }
+        }
+        return($message);
+    }
+
+
+    function save_object()
+    {	
+        //        plugin::save_object();
+        foreach($this->attributes as $name){
+            if(isset($_POST[$name])){
+                $this->$name = get_post($name);
+            }
+        }
+    }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/include/class_SnapshotHandler.inc b/gosa-core/include/class_SnapshotHandler.inc
index 4681487..99b98c8 100644
--- a/gosa-core/include/class_SnapshotHandler.inc
+++ b/gosa-core/include/class_SnapshotHandler.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_SnapshotHandler.inc 19198 2010-07-29 07:51:51Z hickert $$
+ * ID: $$Id: class_SnapshotHandler.inc 19468 2010-08-27 12:22:21Z hickert $$
  *
  * 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
@@ -27,24 +27,23 @@ class SnapshotHandler {
   var $isEnabled= false;
   var $snapshotBases= array();
 
-
   /* Create handler  */
   function SnapshotHandler(&$config)
   {
     $this->config = &$config;	
     $config = $this->config;
 
-    if($config->get_cfg_value("enableSnapshots") == "true"){
+    if($config->get_cfg_value("core","enableSnapshots") == "true"){
 
       /* Check if the snapshot_base is defined */
-      if ($config->get_cfg_value("snapshotBase") == ""){
+      if ($config->get_cfg_value("core","snapshotBase") == ""){
 
         /* Send message if not done already */
         if(!session::is_set("snapshotFailMessageSend")){
           session::set("snapshotFailMessageSend",TRUE);
           msg_dialog::display(_("Configuration error"),
-              sprintf(_("The snapshot functionality is enabled, but the required variable '%s' is not set."),
-                "snapshotBase"), ERROR_DIALOG);
+              sprintf(_("The snapshot functionality is enabled but the required variable %s is not set!"),
+                bold("snapshotBase")), ERROR_DIALOG);
         }
         return;
       }
@@ -56,26 +55,26 @@ class SnapshotHandler {
         if(!session::is_set("snapshotFailMessageSend")){
           session::set("snapshotFailMessageSend",TRUE);
           msg_dialog::display(_("Configuration error"),
-              sprintf(_("The snapshot functionality is enabled, but the required compression module is missing. Please install '%s'."),"php5-zip / php5-gzip"), ERROR_DIALOG);
+              sprintf(_("The snapshot functionality is enabled but the required PHP compression module is missing: %s!"), bold("php5-zip / php5-gzip")), ERROR_DIALOG);
         }
         return;
       }
 
       /* check if there are special server configurations for snapshots */
-      if ($config->get_cfg_value("snapshotURI") != ""){
+      if ($config->get_cfg_value("core","snapshotURI") != ""){
 
         /* check if all required vars are available to create a new ldap connection */
         $missing = "";
         foreach(array("snapshotURI","snapshotAdminDn","snapshotAdminPassword","snapshotBase") as $var){
-          if($config->get_cfg_value($var) == ""){
+          if($config->get_cfg_value("core",$var) == ""){
             $missing .= $var." ";
 
             /* Send message if not done already */
             if(!session::is_set("snapshotFailMessageSend")){
               session::set("snapshotFailMessageSend",TRUE);
               msg_dialog::display(_("Configuration error"),
-                  sprintf(_("The snapshot functionality is enabled, but the required variable '%s' is not set."),
-                    $missing), ERROR_DIALOG);
+                  sprintf(_("The snapshot functionality is enabled but the required variable %s is not set!"),
+                    bold($missing)), ERROR_DIALOG);
             }
             return;
           }
@@ -110,15 +109,15 @@ class SnapshotHandler {
     $snapshotLdap= null;
 
     /* check if there are special server configurations for snapshots */
-    if($this->config->get_cfg_value("snapshotURI") != ""){
-      $server= $this->config->get_cfg_value("snapshotURI");
-      $user= $this->config->get_cfg_value("snapshotAdminDn");
-      $password= $this->config->get_credentials($this->config->get_cfg_value("snapshotAdminPassword"));
+    if($this->config->get_cfg_value("core","snapshotURI") != ""){
+      $server= $this->config->get_cfg_value("core","snapshotURI");
+      $user= $this->config->get_cfg_value("core","snapshotAdminDn");
+      $password= $this->config->get_credentials($this->config->get_cfg_value("core","snapshotAdminPassword"));
       $snapshotLdap= new ldapMultiplexer(new LDAP($user,$password, $server));
     }
 
     /* Prepare bases */
-    $this->snapshotLdapBase= $this->config->get_cfg_value("snapshotBase");
+    $this->snapshotLdapBase= $this->config->get_cfg_value("core","snapshotBase");
     $snapshotLdap->cd($this->snapshotLdapBase);
     if (!$snapshotLdap->success()){
       msg_dialog::display(_("LDAP error"), msgPool::ldaperror($snapshotLdap->get_error(), $this->snapshotLdapBase, "", get_class()));
@@ -262,17 +261,17 @@ class SnapshotHandler {
     $ldap->cd($this->config->current['BASE']);
 
     /* check if there are special server configurations for snapshots */
-    if($config->get_cfg_value("snapshotURI") == ""){
+    if($config->get_cfg_value("core","snapshotURI") == ""){
 
       /* Source and destination server are both the same, just copy source to dest obj */
       $ldap_to      = $ldap;
       $snapldapbase = $this->config->current['BASE'];
 
     }else{
-      $server         = $config->get_cfg_value("snapshotURI");
-      $user           = $config->get_cfg_value("snapshotAdminDn");
-      $password       = $this->config->get_credentials($config->get_cfg_value("snapshotAdminPassword"));
-      $snapldapbase   = $config->get_cfg_value("snapshotBase");
+      $server         = $config->get_cfg_value("core","snapshotURI");
+      $user           = $config->get_cfg_value("core","snapshotAdminDn");
+      $password       = $this->config->get_credentials($config->get_cfg_value("core","snapshotAdminPassword"));
+      $snapldapbase   = $config->get_cfg_value("core","snapshotBase");
 
       $ldap_to        = new ldapMultiplexer(new LDAP($user,$password, $server));
       $ldap_to -> cd($snapldapbase);
@@ -291,14 +290,14 @@ class SnapshotHandler {
 
       /* Collect some infos */
       $base           = $this->config->current['BASE'];
-      $snap_base      = $config->get_cfg_value("snapshotBase");
+      $snap_base      = $config->get_cfg_value("core","snapshotBase");
       $base_of_object = preg_replace ('/^[^,]+,/i', '', $dn);
       $new_base       = preg_replace("/".preg_quote($base, '/')."$/","",$base_of_object).$snap_base;
 
       /* Create object */
       $data             = $ldap->generateLdif(LDAP::fix($dn),
-              "(&(!(objectClass=gosaDepartment))(!(objectClass=FAIclass)))",array(),'base');
-
+              "(&(!(objectClass=gosaDepartment))(!(objectClass=FAIclass)))",'base');
+ 
       $newName          = str_replace(".", "", $sec."-".$usec);
       $target= array();
       $target['objectClass']            = array("top", "gosaSnapshotObject");
@@ -340,15 +339,12 @@ class SnapshotHandler {
   function remove_snapshot($dn)
   {
     $ui       = get_userinfo();
-    $old_dn   = $this->dn;
-    $this->dn = $dn;
     $ldap = $this->config->get_ldap_link();
     $ldap->cd($this->config->current['BASE']);
-    $ldap->rmdir_recursive($this->dn);
+    $ldap->rmdir_recursive($dn);
     if(!$ldap->success()){
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn));
+      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn));
     }
-    $this->dn = $old_dn;
   }
  /* returns true if snapshots are enabled, and false if it is disalbed
      There will also be some errors psoted, if the configuration failed */
@@ -371,13 +367,13 @@ class SnapshotHandler {
     $cfg= &$this->config->current;
 
     /* check if there are special server configurations for snapshots */
-    if($this->config->get_cfg_value("snapshotURI") == ""){
+    if($this->config->get_cfg_value("core","snapshotURI") == ""){
       $ldap_to      = $ldap;
     }else{
-      $server         = $this->config->get_cfg_value("snapshotURI");
-      $user           = $this->config->get_cfg_value("snapshotAdminDn");
-      $password       = $this->config->get_credentials($this->config->get_cfg_value("snapshotAdminPassword"));
-      $snapldapbase   = $this->config->get_cfg_value("snapshotBase");
+      $server         = $this->config->get_cfg_value("core","snapshotURI");
+      $user           = $this->config->get_cfg_value("core","snapshotAdminDn");
+      $password       = $this->config->get_credentials($this->config->get_cfg_value("core","snapshotAdminPassword"));
+      $snapldapbase   = $this->config->get_cfg_value("core","snapshotBase");
       $ldap_to        = new ldapMultiplexer(new LDAP($user,$password, $server));
       $ldap_to -> cd($snapldapbase);
       if (!$ldap_to->success()){
@@ -386,7 +382,7 @@ class SnapshotHandler {
     }
     /* Prepare bases and some other infos */
     $base           = $this->config->current['BASE'];
-    $snap_base      = $this->config->get_cfg_value("snapshotBase");
+    $snap_base      = $this->config->get_cfg_value("core","snapshotBase");
     $base_of_object = preg_replace ('/^[^,]+,/i', '', $dn);
     $new_base       = preg_replace("/".preg_quote($base, '/')."$/","",$base_of_object).$snap_base;
     $tmp            = array();
@@ -426,13 +422,13 @@ class SnapshotHandler {
     $cfg= &$this->config->current;
 
     /* check if there are special server configurations for snapshots */
-    if($this->config->get_cfg_value("snapshotURI") == ""){
+    if($this->config->get_cfg_value("core","snapshotURI") == ""){
       $ldap_to      = $ldap;
     }else{
-      $server         = $this->config->get_cfg_value("snapshotURI");
-      $user           = $this->config->get_cfg_value("snapshotAdminDn");
-      $password       = $this->config->get_credentials($this->config->get_cfg_value("snapshotAdminPassword"));
-      $snapldapbase   = $this->config->get_cfg_value("snapshotBase");
+      $server         = $this->config->get_cfg_value("core","snapshotURI");
+      $user           = $this->config->get_cfg_value("core","snapshotAdminDn");
+      $password       = $this->config->get_credentials($this->config->get_cfg_value("core","snapshotAdminPassword"));
+      $snapldapbase   = $this->config->get_cfg_value("core","snapshotBase");
       $ldap_to        = new ldapMultiplexer(new LDAP($user,$password, $server));
       $ldap_to -> cd($snapldapbase);
       if (!$ldap_to->success()){
@@ -442,7 +438,7 @@ class SnapshotHandler {
 
     /* Prepare bases */
     $base           = $this->config->current['BASE'];
-    $snap_base      = $this->config->get_cfg_value("snapshotBase");
+    $snap_base      = $this->config->get_cfg_value("core","snapshotBase");
     $new_base       = preg_replace("/".preg_quote($base, '/')."$/","",$base_of_object).$snap_base;
   /* Fetch all objects and check if they do not exist anymore */
     $ui = get_userinfo();
@@ -491,13 +487,13 @@ class SnapshotHandler {
     $cfg= &$this->config->current;
 
     /* check if there are special server configurations for snapshots */
-    if($this->config->get_cfg_value("snapshotURI") == ""){
+    if($this->config->get_cfg_value("core","snapshotURI") == ""){
       $ldap_to      = $ldap;
     }else{
-      $server         = $this->config->get_cfg_value("snapshotURI");
-      $user           = $this->config->get_cfg_value("snapshotAdminDn");
-      $password       = $this->config->get_credentials($this->config->get_cfg_value("snapshotAdminPassword"));
-      $snapldapbase   = $this->config->get_cfg_value("snapshotBase");
+      $server         = $this->config->get_cfg_value("core","snapshotURI");
+      $user           = $this->config->get_cfg_value("core","snapshotAdminDn");
+      $password       = $this->config->get_credentials($this->config->get_cfg_value("core","snapshotAdminPassword"));
+      $snapldapbase   = $this->config->get_cfg_value("core","snapshotBase");
       $ldap_to        = new ldapMultiplexer(new LDAP($user,$password, $server));
       $ldap_to -> cd($snapldapbase);
       if (!$ldap_to->success()){
diff --git a/gosa-core/include/class_acl.inc b/gosa-core/include/class_acl.inc
index 0a10ca7..d6af749 100644
--- a/gosa-core/include/class_acl.inc
+++ b/gosa-core/include/class_acl.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_acl.inc 15616 2010-02-12 13:26:55Z cajus $$
+ * ID: $$Id: class_acl.inc 20536 2010-12-10 14:09:49Z hickert $$
  *
  * 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
@@ -23,99 +23,104 @@
 /*! \brief ACL management plugin */ 
 class acl extends plugin
 {
-  /* Definitions */
-  var $plHeadline= "Access control";
-  var $plDescription= "Manage access control lists";
-
-  /* attribute list for save action */
-  var $attributes= array('gosaAclEntry');
-  var $objectclasses= array('gosaAcl');
-
-  /* Helpers */
-  var $dialogState= "head";
-  var $gosaAclEntry= array();
-  var $aclType= "";
-  var $aclObject= "";
-  var $aclContents= array();
-  var $target= "group";
-  var $aclTypes= array();
-  var $aclObjects= array();
-  var $aclFilter= "";
-  var $aclMyObjects= array();
-  var $users= array();
-  var $roles= array();
-  var $groups= array();
-  var $recipients= array();
-  var $isContainer= FALSE;
-  var $currentIndex= 0;
-  var $wasNewEntry= FALSE;
-  var $ocMapping= array();
-  var $savedAclContents= array();
-  var $myAclObjects = array();
-  var $acl_category = "acl/";
-
-  function acl (&$config, $parent, $dn= NULL)
-  {
-    /* Include config object */
-    plugin::plugin($config, $dn);
-
-    /* Load ACL's */
-    $this->gosaAclEntry= array();
-    if (isset($this->attrs['gosaAclEntry'])){
-      for ($i= 0; $i<$this->attrs['gosaAclEntry']['count']; $i++){
-        $acl= $this->attrs['gosaAclEntry'][$i];
-        $this->gosaAclEntry= array_merge($this->gosaAclEntry, acl::explodeACL($acl));
-      }
-    }
-    ksort($this->gosaAclEntry);
+    /* Definitions */
+    var $plHeadline= "Access control";
+    var $plDescription= "Manage access control lists";
+
+    /* attribute list for save action */
+    var $attributes= array('gosaAclEntry');
+    var $objectclasses= array('gosaAcl');
+
+    /* Helpers */
+    var $dialogState= "head";
+    var $gosaAclEntry= array();
+    var $aclType= "";
+    var $aclObject= "";
+    var $aclContents= array();
+    var $target= "group";
+    var $aclTypes= array();
+    var $aclObjects= array();
+    var $aclFilter= "";
+    var $aclMyObjects= array();
+    var $users= array();
+    var $roles= array();
+    var $groups= array();
+    var $recipients= array();
+    var $isContainer= FALSE;
+    var $currentIndex= 0;
+    var $wasNewEntry= FALSE;
+    var $ocMapping= array();
+    var $savedAclContents= array();
+    var $myAclObjects = array();
+    var $acl_category = "acl/";
+
+    var $list =NULL;
+
+    var $sectionList = NULL;
+    var $roleList = NULL;
+
+    function acl (&$config, $parent, $dn= NULL)
+    {
+        /* Include config object */
+        plugin::plugin($config, $dn);
+
+        /* Load ACL's */
+        $this->gosaAclEntry= array();
+        if (isset($this->attrs['gosaAclEntry'])){
+            for ($i= 0; $i<$this->attrs['gosaAclEntry']['count']; $i++){
+                $acl= $this->attrs['gosaAclEntry'][$i];
+                $this->gosaAclEntry= array_merge($this->gosaAclEntry, acl::explodeACL($acl));
+            }
+        }
+        ksort($this->gosaAclEntry);
 
-    /* Save parent - we've to know more about it than other plugins... */
-    $this->parent= &$parent;
+        /* Save parent - we've to know more about it than other plugins... */
+        $this->parent= &$parent;
 
-    /* Container? */
-    if (preg_match('/^(o|ou|c|l|dc)=/i', $dn)){
-      $this->isContainer= TRUE;
-    }
-
-    /* Users */
-    $ui= get_userinfo();
-    $tag= $ui->gosaUnitTag;
-    $ldap= $config->get_ldap_link();
-    $ldap->cd($config->current['BASE']);
-    if ($tag == ""){
-      $ldap->search('(objectClass=gosaAccount)', array('uid', 'cn'));
-    } else {
-      $ldap->search('(&(objectClass=gosaAccount)(gosaUnitTag='.$tag.'))', array('uid', 'cn'));
-    }
-    while ($attrs= $ldap->fetch()){
+        /* Container? */
+        if (preg_match('/^(o|ou|c|l|dc)=/i', $dn)){
+            $this->isContainer= TRUE;
+        }
 
-      // Allow objects without cn to be listed without causing an error.
-      if(!isset($attrs['cn'][0]) && isset($attrs['uid'][0])){
-        $this->users['U:'.$attrs['dn']]=  $attrs['uid'][0];
-      }elseif(!isset($attrs['uid'][0]) && isset($attrs['cn'][0])){
-        $this->users['U:'.$attrs['dn']]=  $attrs['cn'][0];
-      }elseif(!isset($attrs['uid'][0]) && !isset($attrs['cn'][0])){
-        $this->users['U:'.$attrs['dn']]= $attrs['dn'];
-      }else{
-        $this->users['U:'.$attrs['dn']]= $attrs['cn'][0].' ['.$attrs['uid'][0].']';
-      }
+        /* Users */
+        $ui= get_userinfo();
+        $tag= $ui->gosaUnitTag;
+        $ldap= $config->get_ldap_link();
+        $ldap->cd($config->current['BASE']);
+        if ($tag == ""){
+            $ldap->search('(objectClass=gosaAccount)', array('uid', 'cn'));
+        } else {
+            $ldap->search('(&(objectClass=gosaAccount)(gosaUnitTag='.$tag.'))', array('uid', 'cn'));
+        }
+        while ($attrs= $ldap->fetch()){
+
+            // Allow objects without cn to be listed without causing an error.
+            if(!isset($attrs['cn'][0]) && isset($attrs['uid'][0])){
+                $this->users['U:'.$attrs['dn']]=  $attrs['uid'][0];
+            }elseif(!isset($attrs['uid'][0]) && isset($attrs['cn'][0])){
+                $this->users['U:'.$attrs['dn']]=  $attrs['cn'][0];
+            }elseif(!isset($attrs['uid'][0]) && !isset($attrs['cn'][0])){
+                $this->users['U:'.$attrs['dn']]= $attrs['dn'];
+            }else{
+                $this->users['U:'.$attrs['dn']]= $attrs['cn'][0].' ['.$attrs['uid'][0].']';
+            }
 
-    }
-    ksort($this->users);
+        }
+        ksort($this->users);
 
-    /* Groups */
-    $ldap->cd($config->current['BASE']);
+        /* Groups */
+        $ldap->cd($config->current['BASE']);
 #    if ($tag == ""){
-      $ldap->search('(objectClass=posixGroup)', array('cn', 'description'));
+    $ldap->search('(objectClass=posixGroup)', array('cn', 'description'));
 #    } else {
 #      $ldap->search('(&(objectClass=posixGroup)(gosaUnitTag='.$tag.'))', array('cn', 'description'));
 #    }
     while ($attrs= $ldap->fetch()){
-      $dsc= "";
-      if (isset($attrs['description'][0])){
-        $dsc= $attrs['description'][0];
-      }
-      $this->groups['G:'.$attrs['dn']]= $attrs['cn'][0].' ['.$dsc.']';
+        $dsc= "";
+        if (isset($attrs['description'][0])){
+            $dsc= $attrs['description'][0];
+        }
+        $this->groups['G:'.$attrs['dn']]= $attrs['cn'][0].' ['.$dsc.']';
     }
     $this->groups['G:*']= _("All users");
     ksort($this->groups);
@@ -123,25 +128,25 @@ class acl extends plugin
     /* Roles */
     $ldap->cd($config->current['BASE']);
 #    if ($tag == ""){
-      $ldap->search('(objectClass=gosaRole)', array('cn', 'description','gosaAclTemplate','dn'));
+    $ldap->search('(objectClass=gosaRole)', array('cn', 'description','gosaAclTemplate','dn'));
 #    } else {
 #     $ldap->search('(&(objectClass=gosaRole)(gosaUnitTag='.$tag.'))', array('cn', 'description','gosaAclTemplate','dn'));
 #    }
     while ($attrs= $ldap->fetch()){
-      $dsc= "";
-      if (isset($attrs['description'][0])){
-        $dsc= $attrs['description'][0];
-      }
-
-      $role_id = $attrs['dn'];
-
-      $this->roles[$role_id]['acls'] =array();
-      for ($i= 0; $i < $attrs['gosaAclTemplate']['count']; $i++){
-        $acl= $attrs['gosaAclTemplate'][$i];
-        $this->roles[$role_id]['acls'] = array_merge($this->roles[$role_id]['acls'],acl::explodeACL($acl));
-      }
-      $this->roles[$role_id]['description'] = $dsc;
-      $this->roles[$role_id]['cn'] = $attrs['cn'][0];
+        $dsc= "";
+        if (isset($attrs['description'][0])){
+            $dsc= $attrs['description'][0];
+        }
+
+        $role_id = $attrs['dn'];
+
+        $this->roles[$role_id]['acls'] =array();
+        for ($i= 0; $i < $attrs['gosaAclTemplate']['count']; $i++){
+            $acl= $attrs['gosaAclTemplate'][$i];
+            $this->roles[$role_id]['acls'] = array_merge($this->roles[$role_id]['acls'],acl::explodeACL($acl));
+        }
+        $this->roles[$role_id]['description'] = $dsc;
+        $this->roles[$role_id]['cn'] = $attrs['cn'][0];
     }
 
     /* Objects */
@@ -149,85 +154,86 @@ class acl extends plugin
     $plist= $tmp->info;
     $cats = array();
     if (isset($this->parent) && $this->parent !== NULL){
-      $oc= array();
-      foreach ($this->parent->by_object as $key => $obj){
-        $oc= array_merge($oc, $obj->objectclasses);
-        if(isset($obj->acl_category)){
-					$tmp= str_replace("/","",$obj->acl_category);
-          $cats[$tmp] = $tmp;
+        $oc= array();
+        foreach ($this->parent->by_object as $key => $obj){
+            if(isset($obj->objectclasses) && is_array($obj->objectclasses)){
+                $oc= array_merge($oc, $obj->objectclasses);
+            }
+            if(isset($obj->acl_category)){
+                $tmp= str_replace("/","",$obj->acl_category);
+                $cats[$tmp] = $tmp;
+            }
+        }
+        if (in_array_ics('organizationalUnit', $oc)){
+            $this->isContainer= TRUE;
         }
-      }
-      if (in_array_ics('organizationalUnit', $oc)){
-        $this->isContainer= TRUE;
-      }
     } else {
-      $oc=  $this->attrs['objectClass'];
+        $oc=  $this->attrs['objectClass'];
     }
 
     /* Extract available categories from plugin info list */
     foreach ($plist as $class => $acls){
 
-      /* Only feed categories */
-      if (isset($acls['plCategory'])){
+        /* Only feed categories */
+        if (isset($acls['plCategory'])){
 
-        /* Walk through supplied list and feed only translated categories */
-        foreach($acls['plCategory'] as $idx => $data){
+            /* Walk through supplied list and feed only translated categories */
+            foreach($acls['plCategory'] as $idx => $data){
 
-          /* Non numeric index means -> base object containing more informations */
-          if (preg_match('/^[0-9]+$/', $idx)){
+                /* Non numeric index means -> base object containing more informations */
+                if (preg_match('/^[0-9]+$/', $idx)){
 
-            if (!isset($this->ocMapping[$data])){
-              $this->ocMapping[$data]= array();
-              $this->ocMapping[$data][]= '0';
-            }
+                    if (!isset($this->ocMapping[$data])){
+                        $this->ocMapping[$data]= array();
+                        $this->ocMapping[$data][]= '0';
+                    }
 
-            if(isset($cats[$data])){
-              $this->myAclObjects[$data.'/'.$class]= $acls['plDescription'];
-            }
-            $this->ocMapping[$data][]= $class;
-          } else {
-            if (!isset($this->ocMapping[$idx])){
-              $this->ocMapping[$idx]= array();
-              $this->ocMapping[$idx][]= '0';
-            }
-            $this->ocMapping[$idx][]= $class;
-            $this->aclObjects[$idx]= $data['description'];
-
-            /* Additionally filter the classes we're interested in in "self edit" mode */
-            if (is_array($data['objectClass'])){
-              foreach($data['objectClass'] as $objectClass){
-                if (in_array_ics($objectClass, $oc)){
-                  $this->myAclObjects[$idx.'/'.$class]= $acls['plDescription'];
-                  break;
+                    if(isset($cats[$data])){
+                        $this->myAclObjects[$data.'/'.$class]= $acls['plDescription'];
+                    }
+                    $this->ocMapping[$data][]= $class;
+                } else {
+                    if (!isset($this->ocMapping[$idx])){
+                        $this->ocMapping[$idx]= array();
+                        $this->ocMapping[$idx][]= '0';
+                    }
+                    $this->ocMapping[$idx][]= $class;
+                    $this->aclObjects[$idx]= $data['description'];
+
+                    /* Additionally filter the classes we're interested in in "self edit" mode */
+                    if(!isset($data['objectClass'])) continue;
+                    if (is_array($data['objectClass'])){
+                        foreach($data['objectClass'] as $objectClass){
+                            if (in_array_ics($objectClass, $oc)){
+                                $this->myAclObjects[$idx.'/'.$class]= $acls['plDescription'];
+                                break;
+                            }
+                        }
+                    } else {
+                        if (in_array_ics($data['objectClass'], $oc)){
+                            $this->myAclObjects[$idx.'/'.$class]= $acls['plDescription'];
+                        }
+                    }
                 }
-              }
-            } else {
-              if (in_array_ics($data['objectClass'], $oc)){
-                $this->myAclObjects[$idx.'/'.$class]= $acls['plDescription'];
-              }
-            }
-          }
 
+            }
         }
-      }
     }
-    $this->aclObjects['all']= '* '._("All categories");
-    $this->ocMapping['all']= array('0' => 'all');
 
     /* Sort categories */
     asort($this->aclObjects);
 
     /* Fill acl types */
     if ($this->isContainer){
-      $this->aclTypes= array("reset" => _("Reset ACLs"),
-                             "one" => _("One level"),
-                             "base" => _("Current object"),
-                             "sub" => _("Complete subtree"),
-                             "psub" => _("Complete subtree (permanent)"),
-                             "role" => _("Use ACL defined in role"));
+        $this->aclTypes= array("reset" => _("Reset ACLs"),
+                "one" => _("One level"),
+                "base" => _("Current object"),
+                "sub" => _("Complete subtree"),
+                "psub" => _("Complete subtree (permanent)"),
+                "role" => _("Use ACL defined in role"));
     } else {
-      $this->aclTypes= array("base" => _("Current object"),
-          "role" => _("Use ACL defined in role"));
+        $this->aclTypes= array("base" => _("Current object"),
+                "role" => _("Use ACL defined in role"));
     }
     asort($this->aclTypes);
     $this->targets= array("user" => _("Users"), "group" => _("Groups"));
@@ -235,1130 +241,1155 @@ class acl extends plugin
 
     /* Finally - we want to get saved... */
     $this->is_account= TRUE;
-  }
 
+    $this->updateList();
+
+    // Prepare lists 
+    $this->sectionList = new sortableListing();
+    $this->sectionList->setDeleteable(false);
+    $this->sectionList->setEditable(false);
+    $this->sectionList->setWidth("100%");
+    $this->sectionList->setHeight("120px");
+    $this->sectionList->setColspecs(array('200px','*'));
+    $this->sectionList->setHeader(array(_("Section"),_("Description")));
+    $this->sectionList->setDefaultSortColumn(0);
+    $this->sectionList->setAcl('rwcdm'); // All ACLs, we filter on our own here.
+
+    $this->roleList = new sortableListing();
+    $this->roleList->setDeleteable(false);
+    $this->roleList->setEditable(false);
+    $this->roleList->setWidth("100%");
+    $this->roleList->setHeight("120px");
+    $this->roleList->setColspecs(array('20px','*','*'));
+    $this->roleList->setHeader(array(_("Used"),_("Name"),_("Description")));
+    $this->roleList->setDefaultSortColumn(1);
+    $this->roleList->setAcl('rwcdm'); // All ACLs, we filter on our own here.
+    }
 
-  function execute()
-  {
-    /* Call parent execute */
-    plugin::execute();
 
-    $tmp= session::global_get('plist');
-    $plist= $tmp->info;
+    function updateList()
+    {
+        if(!$this->list){ 
+            $this->list = new sortableListing($this->gosaAclEntry,array(),TRUE);
+            $this->list->setDeleteable(true);
+            $this->list->setEditable(true);
+            $this->list->setColspecs(array('*'));
+            $this->list->setWidth("100%");
+            $this->list->setHeight("400px");
+            $this->list->setAcl("rwcdm");
+            $this->list->setHeader(array(_("Member"),_("Permissions"),_("Type")));
+        }
 
-    /* Handle posts */
-    if (isset($_POST['new_acl'])){
-      $this->dialogState= 'create';
-      $this->dialog= TRUE;
-      $this->currentIndex= count($this->gosaAclEntry);
-      $this->loadAclEntry(TRUE);
-    }
 
-    $new_acl= array();
-    $aclDialog= FALSE;
-    $firstedit= FALSE;
-
-    /* Act on HTML post and gets here.
-     */
-    if(isset($_GET['id']) && isset($_GET['act']) && $_GET['act'] == "edit"){
-      $id = trim($_GET['id']);
-      $this->dialogState= 'create';
-      $firstedit= TRUE;
-      $this->dialog= TRUE;
-      $this->currentIndex= $id;
-      $this->loadAclEntry();
+        // Add ACL entries to the listing 
+        $lData = array();
+        foreach($this->gosaAclEntry as $id => $entry){
+            $lData[] = $this->convertForListing($entry);
+        }    
+        $this->list->setListData($this->gosaAclEntry, $lData);
     }
 
-    foreach($_POST as $name => $post){
-
-      /* Actions... */
-      if (preg_match('/^acl_edit_.*_x/', $name)){
-        $this->dialogState= 'create';
-        $firstedit= TRUE;
-        $this->dialog= TRUE;
-        $this->currentIndex= preg_replace('/^acl_edit_([0-9]+).*$/', '\1', $name);
-        $this->loadAclEntry();
-        continue;
-      }
-
-      if (preg_match('/^cat_edit_.*_x/', $name)){
-        $this->aclObject= preg_replace('/^cat_edit_([^_]+)_.*$/', '\1', $name);
-        $this->dialogState= 'edit';
-        foreach ($this->ocMapping[$this->aclObject] as $oc){
-          if (isset($this->aclContents[$oc])){
-            $this->savedAclContents[$oc]= $this->aclContents[$oc];
-          }
-        }
-        continue;
-      }
-
-      /* Only handle posts, if we allowed to modify ACLs */
-      if(!$this->acl_is_writeable("")){
-        continue;
-      }
-
-      if (preg_match('/^acl_del_.*_x/', $name)){
-        unset($this->gosaAclEntry[preg_replace('/^acl_del_([0-9]+).*$/', '\1', $name)]);
-        continue;
-      }
-
-      if (preg_match('/^cat_del_.*_x/', $name)){
-        $idx= preg_replace('/^cat_del_([^_]+)_.*$/', '\1', $name);
-        foreach ($this->ocMapping[$idx] as $key){
-          unset($this->aclContents["$idx/$key"]);
-        }
-        continue;
-      }
-
-      /* Sorting... */
-      if (preg_match('/^sortup_.*_x/', $name)){
-        $index= preg_replace('/^sortup_([0-9]+).*$/', '\1', $name);
-        if ($index > 0){
-          $tmp= $this->gosaAclEntry[$index];
-          $this->gosaAclEntry[$index]= $this->gosaAclEntry[$index-1];
-          $this->gosaAclEntry[$index-1]= $tmp;
-        }
-        continue;
-      }
-      if (preg_match('/^sortdown_.*_x/', $name)){
-        $index= preg_replace('/^sortdown_([0-9]+).*$/', '\1', $name);
-        if ($index < count($this->gosaAclEntry)-1){
-          $tmp= $this->gosaAclEntry[$index];
-          $this->gosaAclEntry[$index]= $this->gosaAclEntry[$index+1];
-          $this->gosaAclEntry[$index+1]= $tmp;
+
+    function convertForListing($entry)
+    {
+        $member = implode($entry['members'],", ");
+        if(isset($entry['acl']) && is_array($entry['acl'])){
+            $acl = implode(array_keys($entry['acl']),", ");
+        }else{
+            $acl="";
         }
-        continue;
-      }
+        return(array('data' => array($member, $acl, $this->aclTypes[$entry['type']])));
+    }
+
 
-      /* ACL saving... */
-      if (preg_match('/^acl_.*_[^xy]$/', $name)){
-        list($dummy, $object, $attribute, $value)= explode('_', $name);
 
-        /* Skip for detection entry */
-        if ($object == 'dummy') {
-          continue;
+    function execute()
+    {
+        /* Call parent execute */
+        plugin::execute();
+
+        $tmp= session::global_get('plist');
+        $plist= $tmp->info;
+
+        /* Handle posts */
+        if (isset($_POST['new_acl'])){
+            $this->dialogState= 'create';
+            $this->dialog= TRUE;
+            $this->currentIndex= count($this->gosaAclEntry);
+            $this->loadAclEntry(TRUE);
         }
 
-        /* Ordinary ACLs */
-        if (!isset($new_acl[$object])){
-          $new_acl[$object]= array();
+        $new_acl= array();
+        $aclDialog= FALSE;
+        $firstedit= FALSE;
+
+        // Get listing actions. Delete or Edit.
+        $this->list->save_object();
+        $lAction = $this->list->getAction();
+        $this->gosaAclEntry = array_values($this->list->getMaintainedData());
+
+        /* Act on HTML post and gets here.
+         */
+        if($lAction['action'] == "edit"){
+            $this->currentIndex = $this->list->getKey($lAction['targets'][0]);
+            $this->dialogState= 'create';
+            $firstedit= TRUE;
+            $this->dialog= TRUE;
+            $this->loadAclEntry();
         }
-        if (isset($new_acl[$object][$attribute])){
-          $new_acl[$object][$attribute].= $value;
-        } else {
-          $new_acl[$object][$attribute]= $value;
+
+        foreach($_POST as $name => $post){
+
+            $post =get_post($name);
+
+            /* Actions... */
+            if (preg_match('/^acl_edit_[0-9]*$/', $name)){
+                $this->dialogState= 'create';
+                $firstedit= TRUE;
+                $this->dialog= TRUE;
+                $this->currentIndex= preg_replace('/^acl_edit_([0-9]*)$/', '\1', $name);
+                $this->loadAclEntry();
+                continue;
+            }
+
+            if (preg_match('/^cat_edit_.*$/', $name)){
+                $this->aclObject= preg_replace('/^cat_edit_(.*)$/', '\1', $name);
+                $this->dialogState= 'edit';
+                foreach ($this->ocMapping[$this->aclObject] as $oc){
+                    if (isset($this->aclContents[$oc])){
+                        $this->savedAclContents[$oc]= $this->aclContents[$oc];
+                    }
+                }
+                continue;
+            }
+
+            /* Only handle posts, if we allowed to modify ACLs */
+            if(!$this->acl_is_writeable("")){
+                continue;
+            }
+
+            if (preg_match('/^acl_del_[0-9]*$/', $name)){
+                unset($this->gosaAclEntry[preg_replace('/^acl_del_([0-9]*)$/', '\1', $name)]);
+                continue;
+            }
+
+            if (preg_match('/^cat_del_.*$/', $name)){
+                $idx= preg_replace('/^cat_del_(.*)$/', '\1', $name);
+                foreach ($this->ocMapping[$idx] as $key){
+                    if(isset($this->aclContents[$idx]))
+                        unset($this->aclContents[$idx]);
+                    if(isset($this->aclContents["$idx/$key"]))
+                        unset($this->aclContents["$idx/$key"]);
+                }
+                continue;
+            }
+
+            /* ACL saving... */
+            if (preg_match('/^acl_.*_[^xy]$/', $name)){
+                list($dummy, $object, $attribute, $value)= explode('_', $name);
+
+                /* Skip for detection entry */
+                if ($object == 'dummy') {
+                    continue;
+                }
+
+                /* Ordinary ACLs */
+                if (!isset($new_acl[$object])){
+                    $new_acl[$object]= array();
+                }
+                if (isset($new_acl[$object][$attribute])){
+                    $new_acl[$object][$attribute].= $value;
+                } else {
+                    $new_acl[$object][$attribute]= $value;
+                }
+            }
+
+            // Remember the selected ACL role.
+            if(isset($_POST['selected_role']) && $_POST['aclType'] == 'role'){
+                $this->aclContents = "";
+                $this->aclContents = base64_decode(get_post('selected_role'));
+            }else{
+                if(is_string($this->aclContents))
+                    $this->aclContents = array();
+            }
         }
-      }
 
-      // Remember the selected ACL role.
-      if(isset($_POST['selected_role']) && $_POST['aclType'] == 'role'){
-        $this->aclContents = "";
-        $this->aclContents = base64_decode($_POST['selected_role']);
-      }
-    }
+        if(isset($_POST['acl_dummy_0_0_0'])){
+            $aclDialog= TRUE;
+        }
 
-    if(isset($_POST['acl_dummy_0_0_0'])){
-      $aclDialog= TRUE;
-    }
+        if($this->acl_is_writeable("")){
 
-    if($this->acl_is_writeable("")){
-      
-      /* Only be interested in new acl's, if we're in the right _POST place */
-      if ($aclDialog && $this->aclObject != "" && is_array($this->ocMapping[$this->aclObject])){
+            /* Only be interested in new acl's, if we're in the right _POST place */
+            if ($aclDialog && $this->aclObject != "" && is_array($this->ocMapping[$this->aclObject])){
 
-        foreach ($this->ocMapping[$this->aclObject] as $oc){
+                foreach ($this->ocMapping[$this->aclObject] as $oc){
 
-          if(isset($this->aclContents[$oc]) && is_array($this->aclContents)){
-            unset($this->aclContents[$oc]);
-          }elseif(isset($this->aclContents[$this->aclObject.'/'.$oc]) && is_array($this->aclContents)){
-            unset($this->aclContents[$this->aclObject.'/'.$oc]);
-          }else{
+                    if(isset($this->aclContents[$oc]) && is_array($this->aclContents)){
+                        unset($this->aclContents[$oc]);
+                    }elseif(isset($this->aclContents[$this->aclObject.'/'.$oc]) && is_array($this->aclContents)){
+                        unset($this->aclContents[$this->aclObject.'/'.$oc]);
+                    }else{
 #          trigger_error("Huhm?");
-          }
-          if (isset($new_acl[$oc]) && is_array($new_acl)){
-            $this->aclContents[$oc]= $new_acl[$oc];
-          }
-          if (isset($new_acl[$this->aclObject.'/'.$oc]) && is_array($new_acl)){
-            $this->aclContents[$this->aclObject.'/'.$oc]= $new_acl[$this->aclObject.'/'.$oc];
-          }
+                    }
+                    if (isset($new_acl[$oc]) && is_array($new_acl)){
+                        $this->aclContents[$oc]= $new_acl[$oc];
+                    }
+                    if (isset($new_acl[$this->aclObject.'/'.$oc]) && is_array($new_acl)){
+                        $this->aclContents[$this->aclObject.'/'.$oc]= $new_acl[$this->aclObject.'/'.$oc];
+                    }
+                }
+            }
+
+            /* Save new acl in case of base edit mode */
+            if ($this->aclType == 'base' && !$firstedit){
+                $this->aclContents= $new_acl;
+            }
         }
-      }
 
-      /* Save new acl in case of base edit mode */
-      if ($this->aclType == 'base' && !$firstedit){
-        $this->aclContents= $new_acl;
-      }
-    }
+        /* Cancel new acl? */
+        if (isset($_POST['cancel_new_acl'])){
+            $this->dialogState= 'head';
+            $this->dialog= FALSE;
+            if ($this->wasNewEntry){
+                unset ($this->gosaAclEntry[$this->currentIndex]);
+            }
+        }
 
-    /* Cancel new acl? */
-    if (isset($_POST['cancel_new_acl'])){
-      $this->dialogState= 'head';
-      $this->dialog= FALSE;
-      if ($this->wasNewEntry){
-        unset ($this->gosaAclEntry[$this->currentIndex]);
-      }
-    }
+        /* Save common values */
+        if($this->acl_is_writeable("")){
+            foreach (array("aclType","aclFilter", "aclObject", "target") as $key){
+                if (isset($_POST[$key])){
+                    $this->$key= get_post($key);
+                }
+            }
+        }
 
-    /* Save common values */
-    if($this->acl_is_writeable("")){
-      foreach (array("aclType","aclFilter", "aclObject", "target") as $key){
-        if (isset($_POST[$key])){
-          $this->$key= validate($_POST[$key]);
+        /* Store ACL in main object? */
+        if (isset($_POST['submit_new_acl'])){
+            $this->gosaAclEntry[$this->currentIndex]['type']= $this->aclType;
+            $this->gosaAclEntry[$this->currentIndex]['members']= $this->recipients;
+            $this->gosaAclEntry[$this->currentIndex]['acl']= $this->aclContents;
+            $this->gosaAclEntry[$this->currentIndex]['filter']= $this->aclFilter;
+            $this->dialogState= 'head';
+            $this->dialog= FALSE;
         }
-      }
-    }
 
-    /* Store ACL in main object? */
-    if (isset($_POST['submit_new_acl'])){
-      $this->gosaAclEntry[$this->currentIndex]['type']= $this->aclType;
-      $this->gosaAclEntry[$this->currentIndex]['members']= $this->recipients;
-      $this->gosaAclEntry[$this->currentIndex]['acl']= $this->aclContents;
-      $this->gosaAclEntry[$this->currentIndex]['filter']= $this->aclFilter;
-      $this->dialogState= 'head';
-      $this->dialog= FALSE;
-    }
+        /* Cancel edit acl? */
+        if (isset($_POST['cancel_edit_acl'])){
+            $this->dialogState= 'create';
+            foreach ($this->ocMapping[$this->aclObject] as $oc){
+                if (isset($this->savedAclContents[$oc])){
+                    $this->aclContents[$oc]= $this->savedAclContents[$oc];
+                }
+            }
+        }
 
-    /* Cancel edit acl? */
-    if (isset($_POST['cancel_edit_acl'])){
-      $this->dialogState= 'create';
-      foreach ($this->ocMapping[$this->aclObject] as $oc){
-        if (isset($this->savedAclContents[$oc])){
-          $this->aclContents[$oc]= $this->savedAclContents[$oc];
+        /* Save edit acl? */
+        if (isset($_POST['submit_edit_acl'])){
+            $this->dialogState= 'create';
         }
-      }
-    }
 
-    /* Save edit acl? */
-    if (isset($_POST['submit_edit_acl'])){
-      $this->dialogState= 'create';
-    }
+        /* Add acl? */
+        if (isset($_POST['add_acl']) && $_POST['aclObject'] != ""){
+            $this->dialogState= 'edit';
+            $this->savedAclContents= array();
+            foreach ($this->ocMapping[$this->aclObject] as $oc){
+                if (isset($this->aclContents[$oc])){
+                    $this->savedAclContents[$oc]= $this->aclContents[$oc];
+                }
+            }
+        }
 
-    /* Add acl? */
-    if (isset($_POST['add_acl']) && $_POST['aclObject'] != ""){
-      $this->dialogState= 'edit';
-      $this->savedAclContents= array();
-      foreach ($this->ocMapping[$this->aclObject] as $oc){
-        if (isset($this->aclContents[$oc])){
-          $this->savedAclContents[$oc]= $this->aclContents[$oc];
+        /* Add to list? */
+        if (isset($_POST['add']) && isset($_POST['source'])){
+            foreach ($_POST['source'] as $key){
+                if ($this->target == 'user'){
+                    $this->recipients[$key]= $this->users[$key];
+                }
+                if ($this->target == 'group'){
+                    $this->recipients[$key]= $this->groups[$key];
+                }
+            }
+            ksort($this->recipients);
         }
-      }
-    }
 
-    /* Add to list? */
-    if (isset($_POST['add']) && isset($_POST['source'])){
-      foreach ($_POST['source'] as $key){
-        if ($this->target == 'user'){
-          $this->recipients[$key]= $this->users[$key];
+        /* Remove from list? */
+        if (isset($_POST['del']) && isset($_POST['recipient'])){
+            foreach ($_POST['recipient'] as $key){
+                unset($this->recipients[$key]);
+            }
         }
-        if ($this->target == 'group'){
-          $this->recipients[$key]= $this->groups[$key];
+
+        /* Create templating instance */
+        $smarty= get_smarty();
+
+        $smarty->assign("acl_readable",$this->acl_is_readable(""));
+        if(!$this->acl_is_readable("")){
+            return ($smarty->fetch (get_template_path('acl.tpl')));
         }
-      }
-      ksort($this->recipients);
-    }
 
-    /* Remove from list? */
-    if (isset($_POST['del']) && isset($_POST['recipient'])){
-      foreach ($_POST['recipient'] as $key){
-          unset($this->recipients[$key]);
-      }
-    }
+        if ($this->dialogState == 'head'){
+            $this->updateList();
+            $smarty->assign("aclList", $this->list->render());
+        }
 
-    /* Create templating instance */
-    $smarty= get_smarty();
-    $smarty->assign("acl_readable",$this->acl_is_readable(""));
-    if(!$this->acl_is_readable("")){
-      return ($smarty->fetch (get_template_path('acl.tpl')));
-    }
+        if ($this->dialogState == 'create'){
+
+
+            if($this->aclType != 'role'){
+
+                // Create a map of all used sections, this allows us to simply hide the remove button 
+                //  if no acl is configured for the given section 
+                // e.g. ';all;department/country;users/user;
+                $usedList = ";".implode(array_keys($this->aclContents),';').";";
+
+                /* Add settings for all categories to the (permanent) list */
+                $data = $lData = array();
+                foreach ($this->aclObjects as $section => $dsc){
+                    $summary= "";
+                    foreach($this->ocMapping[$section] as $oc){
+                        if (isset($this->aclContents[$oc]) && 
+                                count($this->aclContents[$oc]) && 
+                                isset($this->aclContents[$oc][0]) &&
+                                $this->aclContents[$oc][0] != ""){
+
+                            $summary.= "$oc, ";
+                            continue;
+                        }
+                        if (isset($this->aclContents["$section/$oc"]) && 
+                                count($this->aclContents["$section/$oc"])){
+                            $summary.= "$oc, ";
+                            continue;
+                        }
+                        if (isset($this->aclContents[$oc]) && 
+                                !isset($this->aclContents[$oc][0]) && 
+                                count($this->aclContents[$oc])){
+                            $summary.= "$oc, ";
+                        }
+                    }
+
+                    /* Set summary... */
+                    if ($summary == ""){
+                        $summary= '<i>'._("No ACL settings for this category!").'</i>';
+                    } else {
+                        $summary= trim($summary,", ");
+                        $summary= " ".sprintf(_("ACLs for: %s"), $summary);
+                    }
+
+                    $actions ="";
+                    if($this->acl_is_readable("")){
+                        $actions.= image('images/lists/edit.png','cat_edit_'.$section, 
+                                msgPool::editButton(_("category ACL")));
+                    }
+                    if($this->acl_is_removeable() && preg_match("/;".$section."(;|\/)/", $usedList)){
+                        $actions.= image('images/lists/trash.png','cat_del_'.$section, 
+                                msgPool::delButton(_("category ACL")));
+                    }   
+                    $data[] = $section;
+                    $lData[] = array('data'=>array($dsc, $summary, $actions));
+                }
+                $this->sectionList->setListData($data,$lData);
+                $this->sectionList->update();
+                $smarty->assign("aclList", $this->sectionList->render());
+            }
 
-    if ($this->dialogState == 'head'){
-      /* Draw list */
-      $aclList= new divSelectBox("aclList");
-      $aclList->SetHeight(450);
-      
-      /* Fill in entries */
-      foreach ($this->gosaAclEntry as $key => $entry){
-        if(!$this->acl_is_readable("")) continue;
+            $smarty->assign("aclType",     set_post($this->aclType));
+            $smarty->assign("aclFilter",   set_post($this->aclFilter));
+            $smarty->assign("aclTypes",    set_post($this->aclTypes));
+            $smarty->assign("target",      set_post($this->target));
+            $smarty->assign("targets",     set_post($this->targets));
 
-        $action ="";      
+            /* Assign possible target types */
+            $smarty->assign("targets", $this->targets);
+            foreach ($this->attributes as $attr){
+                $smarty->assign($attr, set_post($this->$attr));
+            }
 
-        if($this->acl_is_readable("")){
-          $link = "<a href=?plug=".$_GET['plug']."&id=".$key."&act=edit>".$this->assembleAclSummary($entry)."</a>";
-        }else{
-          $link = $this->assembleAclSummary($entry);
-        }
-  
-        $field1= array("string" => $this->aclTypes[$entry['type']], "attach" => "style='width:150px'");
-        $field2= array("string" => $link);
 
-        if($this->acl_is_writeable("")){
-          $action.= "<input type='image' name='sortup_$key' alt='up' 
-            title='"._("Up")."' src='images/lists/sort-up.png' align='top'>";
-          $action.= "<input type='image' name='sortdown_$key' alt='down' 
-            title='"._("Down")."' src='images/lists/sort-down.png'>";
-        } 
-    
-        if($this->acl_is_readable("")){
-          $action.= "<input class='center' type='image' src='images/lists/edit.png' 
-            alt='"._("Edit")."' name='acl_edit_$key' title='".msgPool::editButton(_("ACL"))."'>";
+            /* Generate list */
+            $tmp= array();
+            if ($this->target == "group" && !isset($this->recipients["G:*"])){
+                $tmp["G:*"]= _("All users");
+            }
+            foreach (array("user" => "users", "group" => "groups") as $field => $arr){
+                if ($this->target == $field){
+                    foreach ($this->$arr as $key => $value){
+                        if (!isset($this->recipients[$key])){
+                            $tmp[$key]= $value;
+                        }
+                    }
+                }
+            }
+            $smarty->assign('sources', set_post($tmp));
+            $smarty->assign('recipients', set_post($this->recipients));
+
+            /* Acl selector if scope is base */
+            if ($this->aclType == 'base'){
+                $smarty->assign('aclSelector', $this->buildAclSelector($this->myAclObjects));
+            }
+
+            /* Role selector if scope is base */
+            if ($this->aclType == 'role'){
+                $smarty->assign('roleSelector', $this->buildRoleSelector($this->roles));
+            }
         }
-        if($this->acl_is_removeable("")){
-          $action.= "<input class='center' type='image' src='images/lists/trash.png' 
-            alt='"._("Delete")."' name='acl_del_$key' title='".msgPool::delButton(_("ACL"))."'>";
+
+        if ($this->dialogState == 'edit'){
+            $smarty->assign('headline', sprintf(_("Edit ACL for '%s' with scope '%s'"), $this->aclObjects[$this->aclObject], $this->aclTypes[$this->aclType]));
+
+            /* Collect objects for selected category */
+            foreach ($this->ocMapping[$this->aclObject] as $idx => $class){
+                if ($idx == 0){
+                    continue;
+                }
+                $aclObjects[$this->aclObject.'/'.$class]= $plist[$class]['plDescription'];
+            }
+
+            /* Role selector if scope is base */
+            if ($this->aclType == 'role'){
+                $smarty->assign('roleSelector', $this->buildRoleSelector($this->roles));
+            } else {
+                $smarty->assign('aclSelector', $this->buildAclSelector($aclObjects));
+            }
         }
 
-        $field3= array("string" => $action, "attach" => "style='border-right:0px;width:50px;text-align:right;'");
-        $aclList->AddEntry(array($field1, $field2, $field3));
-      }
+        /* Show main page */
+        $smarty->assign("dialogState", $this->dialogState);
+
+        /* Assign acls */ 
+        $smarty->assign("acl_createable",$this->acl_is_createable());
+        $smarty->assign("acl_writeable" ,$this->acl_is_writeable(""));
+        $smarty->assign("acl_readable"  ,$this->acl_is_readable(""));
+        $smarty->assign("acl_removeable",$this->acl_is_removeable());
 
-      $smarty->assign("aclList", $aclList->DrawList());
+        return ($smarty->fetch (get_template_path('acl.tpl')));
     }
 
-    if ($this->dialogState == 'create'){
-      /* Draw list */
-      $aclList= new divSelectBox("aclList");
-      $aclList->SetHeight(150);
 
-      /* Add settings for all categories to the (permanent) list */
-      foreach ($this->aclObjects as $section => $dsc){
-        $summary= "";
-        foreach($this->ocMapping[$section] as $oc){
-          if (isset($this->aclContents[$oc]) && count($this->aclContents[$oc]) && isset($this->aclContents[$oc][0]) &&
-              $this->aclContents[$oc][0] != ""){
-
-            $summary.= "$oc, ";
-            continue;
-          }
-          if (isset($this->aclContents["$section/$oc"]) && count($this->aclContents["$section/$oc"])){
-            $summary.= "$oc, ";
-            continue;
-          }
-          if (isset($this->aclContents[$oc]) && !isset($this->aclContents[$oc][0]) && count($this->aclContents[$oc])){
-            $summary.= "$oc, ";
-          }
+    function sort_by_priority($list)
+    {
+        $tmp= session::global_get('plist');
+        $plist= $tmp->info;
+        asort($plist);
+        $newSort = array();
+
+        foreach($list as $name => $translation){
+            $na  =  preg_replace("/^.*\//","",$name);
+            $prio = 0;
+            if(isset($plist[$na]['plPriority'])){
+                $prio=  $plist[$na]['plPriority'] ;
+            }
+
+            $newSort[$name] = $prio;
         }
 
-        /* Set summary... */
-        if ($summary == ""){
-          $summary= '<i>'._("No ACL settings for this category!").'</i>';
-        } else {
-          $summary= sprintf(_("Contains ACLs for these objects: %s"), preg_replace('/, $/', '', $summary));
+        asort($newSort);
+
+        $ret = array();
+        foreach($newSort as $name => $prio){
+            $ret[$name] = $list[$name];
         }
+        return($ret);
+    }
+
 
-        $actions ="";
-        if($this->acl_is_readable("")){
-          $actions= "<input class='center' type='image' src='images/lists/edit.png' 
-            alt='"._("Edit")."' name='cat_edit_$section' title='".msgPool::editButton(_("category ACL"))."'>";
+    function buildRoleSelector($list)
+    {
+        $selected = $this->aclContents;
+        if(!is_string($this->aclContents) || !isset($list[$this->aclContents])){
+            $selected = key($list);
         }
-        if($this->acl_is_removeable()){
-          $actions.= "<input class='center' type='image' src='images/lists/trash.png' 
-            alt='"._("Delete")."' name='cat_del_$section' title='".msgPool::delButton(_("category ACL"))."'>";
-        }   
-
-        $field1= array("string" => $dsc, "attach" => "style='width:100px'");
-        $field2= array("string" => $summary);
-        $field3= array("string" => $actions, "attach" => "style='border-right:0px;width:50px'");
-        $aclList->AddEntry(array($field1, $field2, $field3));
-      }
-
-      $smarty->assign("aclList", $aclList->DrawList());
-      $smarty->assign("aclType", $this->aclType);
-      $smarty->assign("aclFilter", $this->aclFilter);
-      $smarty->assign("aclTypes", $this->aclTypes);
-      $smarty->assign("target", $this->target);
-      $smarty->assign("targets", $this->targets);
-
-      /* Assign possible target types */
-      $smarty->assign("targets", $this->targets);
-      foreach ($this->attributes as $attr){
-        $smarty->assign($attr, $this->$attr);
-      }
-
-
-      /* Generate list */
-      $tmp= array();
-      if ($this->target == "group" && !isset($this->recipients["G:*"])){
-        $tmp["G:*"]= _("All users");
-      }
-      foreach (array("user" => "users", "group" => "groups") as $field => $arr){
-        if ($this->target == $field){
-          foreach ($this->$arr as $key => $value){
-            if (!isset($this->recipients[$key])){
-              $tmp[$key]= $value;
+
+        $data = $lData = array();
+        foreach($list as $dn => $values){
+            if($dn == $selected){    
+                $option = "<input type='radio' name='selected_role' value='".base64_encode($dn)."' checked>";
+            }else{
+                $option = "<input type='radio' name='selected_role' value='".base64_encode($dn)."'>";
             }
-          }
+            $data[] = postEncode($dn);
+            $lData[] = array('data'=>array($option, $values['cn'], $values['description']));
         }
-      }
-      $smarty->assign('sources', $tmp);
-      $smarty->assign('recipients', $this->recipients);
-
-      /* Acl selector if scope is base */
-      if ($this->aclType == 'base'){
-        $smarty->assign('aclSelector', $this->buildAclSelector($this->myAclObjects));
-      }
-
-      /* Role selector if scope is base */
-      if ($this->aclType == 'role'){
-        $smarty->assign('roleSelector', "Role selector");#, $this->buildRoleSelector($this->myAclObjects));
-        $smarty->assign('roleSelector', $this->buildRoleSelector($this->roles));
-      }
-    }
+        $this->roleList->setListData($data,$lData);
+        $this->roleList->update();
+        return($this->roleList->render());
+    } 
+
+
+    function buildAclSelector($list)
+    {
+        $display= "<input type='hidden' name='acl_dummy_0_0_0' value='1'>";
+        $cols= 3;
+        $tmp= session::global_get('plist');
+        $plist= $tmp->info;
+        asort($plist);
 
-    if ($this->dialogState == 'edit'){
-      $smarty->assign('headline', sprintf(_("Edit ACL for '%s' - scope is '%s'"), $this->aclObjects[$this->aclObject], $this->aclTypes[$this->aclType]));
+        /* Add select all/none buttons */
+        $style = "style='width:100px;'";
 
-      /* Collect objects for selected category */
-      foreach ($this->ocMapping[$this->aclObject] as $idx => $class){
-        if ($idx == 0){
-          continue;
+        if($this->acl_is_writeable("")){
+            $display .= "<button type='button' ".$style." name='toggle_all_create' onClick=\"acl_toggle_all('_0_c$');\" >Toggle C</button>";
+            $display .= "<button type='button' ".$style." name='toggle_all_move'   onClick=\"acl_toggle_all('_0_m$');\" >Toggle M</button>";
+            $display .= "<button type='button' ".$style." name='toggle_all_remove' onClick=\"acl_toggle_all('_0_d$');\" >Toggle D</button> - ";
+            $display .= "<button type='button' ".$style." name='toggle_all_read'   onClick=\"acl_toggle_all('_0_r$');\" >Toggle R</button>";
+            $display .= "<button type='button' ".$style." name='toggle_all_write'  onClick=\"acl_toggle_all('_0_w$');\" >Toggle W</button> - ";
+
+            $display .= "<button type='button' ".$style." name='toggle_all_sub_read'  onClick=\"acl_toggle_all('[^0]_r$');\" >R+</button>";
+            $display .= "<button type='button' ".$style." name='toggle_all_sub_write'  onClick=\"acl_toggle_all('[^0]_w$');\" >W+</button>";
+
+            $display .= "<br>";
+
+            $style = "style='width:50px;'";
+            $display .= "<button type='button' ".$style." name='set_true_all_create' onClick=\"acl_set_all('_0_c$',true);\" >C+</button>";
+            $display .= "<button type='button' ".$style." name='set_false_all_create' onClick=\"acl_set_all('_0_c$',false);\" >C-</button>";
+            $display .= "<button type='button' ".$style." name='set_true_all_move' onClick=\"acl_set_all('_0_m$',true);\" >M+</button>";
+            $display .= "<button type='button' ".$style." name='set_false_all_move' onClick=\"acl_set_all('_0_m$',false);\" >M-</button>";
+            $display .= "<button type='button' ".$style." name='set_true_all_remove' onClick=\"acl_set_all('_0_d$',true);\" >D+</button>";
+            $display .= "<button type='button' ".$style." name='set_false_all_remove' onClick=\"acl_set_all('_0_d$',false);\" >D-</button> - ";
+            $display .= "<button type='button' ".$style." name='set_true_all_read' onClick=\"acl_set_all('_0_r$',true);\" >R+</button>";
+            $display .= "<button type='button' ".$style." name='set_false_all_read' onClick=\"acl_set_all('_0_r$',false);\" >R-</button>";
+            $display .= "<button type='button' ".$style." name='set_true_all_write' onClick=\"acl_set_all('_0_w$',true);\" >W+</button>";
+            $display .= "<button type='button' ".$style." name='set_false_all_write' onClick=\"acl_set_all('_0_w$',false);\" >W-</button> - ";
+
+            $display .= "<button type='button' ".$style." name='set_true_all_read' onClick=\"acl_set_all('[^0]_r$',true);\" >R+</button>";
+            $display .= "<button type='button' ".$style." name='set_false_all_read' onClick=\"acl_set_all('[^0]_r$',false);\" >R-</button>";
+            $display .= "<button type='button' ".$style." name='set_true_all_write' onClick=\"acl_set_all('[^0]_w$',true);\" >W+</button>";
+            $display .= "<button type='button' ".$style." name='set_false_all_write' onClick=\"acl_set_all('[^0]_w$',false);\" >W-</button>";
         }
-        $aclObjects[$this->aclObject.'/'.$class]= $plist[$class]['plDescription'];
-      }
-      if ($this->aclObject == 'all'){
-        $aclObjects['all']= _("All objects in current subtree");
-      }
-
-      /* Role selector if scope is base */
-      if ($this->aclType == 'role'){
-        $smarty->assign('roleSelector', $this->buildRoleSelector($this->roles));
-      } else {
-        $smarty->assign('aclSelector', $this->buildAclSelector($aclObjects));
-      }
-    }
 
-    /* Show main page */
-    $smarty->assign("dialogState", $this->dialogState);
-   
-    /* Assign acls */ 
-    $smarty->assign("acl_createable",$this->acl_is_createable());
-    $smarty->assign("acl_writeable" ,$this->acl_is_writeable(""));
-    $smarty->assign("acl_readable"  ,$this->acl_is_readable(""));
-    $smarty->assign("acl_removeable",$this->acl_is_removeable());
+        /* Build general objects */
+        $list =$this->sort_by_priority($list);
+        foreach ($list as $key => $name){
 
-    return ($smarty->fetch (get_template_path('acl.tpl')));
-  }
+            /* Create sub acl if it does not exist */
+            if (!isset($this->aclContents[$key])){
+                $this->aclContents[$key]= array();
+            }
+            if(!isset($this->aclContents[$key][0])){
+                $this->aclContents[$key][0]= '';
+            }
 
+            $currentAcl= $this->aclContents[$key];
 
-  function sort_by_priority($list)
-  {
-    $tmp= session::global_get('plist');
-    $plist= $tmp->info;
-    asort($plist);
-    $newSort = array();
+            /* Get the overall plugin acls 
+             */
+            $overall_acl ="";
+            if(isset($currentAcl[0])){
+                $overall_acl = $currentAcl[0];
+            }
 
-    foreach($list as $name => $translation){
-      $na  =  preg_replace("/^.*\//","",$name);
-      $prio = 0;
-      if(isset($plist[$na]['plPriority'])){
-        $prio=  $plist[$na]['plPriority'] ;
-      }
+            // Detect configured plugins
+            $expand = count($currentAcl) > 1 || $currentAcl[0] != "";
 
-      $newSort[$name] = $prio;
-    }
+            /* Object header */
+            $tname= preg_replace("/[^a-z0-9]/i","_",$name);
 
-    asort($newSort);
+            if($expand){
+                $back_color = "#C8C8FF";
+            }else{
+                $back_color = "#C8C8C8";
+            }
 
-    $ret = array();
-    foreach($newSort as $name => $prio){
-      $ret[$name] = $list[$name];
-    }
-    return($ret);
-  }
+            if(isset($_SERVER['HTTP_USER_AGENT']) && 
+                    (preg_match("/gecko/i",$_SERVER['HTTP_USER_AGENT'])) || 
+                    (preg_match("/presto/i",$_SERVER['HTTP_USER_AGENT']))) {
+                $display.= "\n<table summary='{$name}' style='width:100%;border:1px solid #A0A0A0' cellspacing=0 cellpadding=2>".
+                    "\n  <tr>".
+                    "\n    <td style='background-color:{$back_color};height:1.8em;' colspan=".($cols-1)."><b>"._("Object").": $name</b></td>".
+                    "\n    <td align='right' style='background-color:{$back_color};height:1.8em;'>".
+                    "\n    <button type='button' onclick=\"$('{$tname}').toggle();\">"._("Show/hide advanced settings")."</button></td>".
+                    "\n  </tr>";
+            } else if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match("/ie/i",$_SERVER['HTTP_USER_AGENT'])) {
+                $display.= "\n<table summary='{$name}' style='width:100%;border:1px solid #A0A0A0' cellspacing=0 cellpadding=2>".
+                    "\n  <tr>".
+                    "\n    <td style='background-color:#C8C8C8;height:1.8em;' colspan=".($cols-1)."><b>"._("Object").": $name</b></td>".
+                    "\n    <td align='right' style='background-color:#C8C8C8;height:1.8em;'>".
+                    "\n    <button type='button' onclick=\"$('{$tname}').toggle();\">"._("Show/hide advanced settings")."</button></td>".
+                    "\n  </tr>";
+            } else {
+                $display.= "\n<table summary='{$name}' style='width:100%;border:1px solid #A0A0A0' cellspacing=0 cellpadding=2>".
+                    "\n  <tr>".
+                    "\n    <td style='background-color:#C8C8C8;height:1.8em;' colspan=$cols><b>"._("Object").": $name</b></td>".
+                    "\n  </tr>";
+            }
 
+            /* Generate options */
+            $spc= "  ";
+            $options= $this->mkchkbx($key."_0_c",  _("Create objects"), preg_match('/c/', $overall_acl)).$spc;
+            $options.= $this->mkchkbx($key."_0_m", _("Move objects"), preg_match('/m/', $overall_acl)).$spc;
+            $options.= $this->mkchkbx($key."_0_d", _("Remove objects"), preg_match('/d/', $overall_acl)).$spc;
+            if ($plist[preg_replace('%^.*/%', '', $key)]['plSelfModify']){
+                $options.= $this->mkchkbx($key."_0_s", _("Restrict changes to user's own object"), preg_match('/s/', $overall_acl)).$spc;
+            }
 
-  function buildRoleSelector($list)
-  {
-    $D_List =new divSelectBox("Acl_Roles");
- 
-    $selected = $this->aclContents;
-    if(!is_string($this->aclContents) || !isset($list[$this->aclContents])){
-      $selected = key($list);
-    }
+            /* Global options */
+            $more_options= $this->mkchkbx($key."_0_r",  _("read"), preg_match('/r/', $overall_acl)).$spc;
+            $more_options.= $this->mkchkbx($key."_0_w", _("write"), preg_match('/w/', $overall_acl));
 
-    $str ="";
-    foreach($list as $dn => $values){
+            $display.= "\n  <tr>".
+                "\n    <td style='background-color:#E0E0E0' colspan=".($cols-1).">$options</td>".
+                "\n    <td style='background-color:#D4D4D4'> "._("Complete object").": $more_options</td>".
+                "\n  </tr>";
 
-      if($dn == $selected){    
-        $option = "<input type='radio' name='selected_role' value='".base64_encode($dn)."' checked>";
-      }else{
-        $option = "<input type='radio' name='selected_role' value='".base64_encode($dn)."'>";
-      }
- 
-      $field1 = array("string" => $option) ;
-      $field2 = array("string" => $values['cn'], "attach" => "style='width:200px;'") ;
-      $field3 = array("string" => $values['description'],"attach" => "style='border-right:0px;'") ;
+            /* Walk through the list of attributes */
+            $cnt= 1;
+            $splist= array();
+            if(isset($plist[preg_replace('%^.*/%', '', $key)]['plProvidedAcls'])){
+                $splist= $plist[preg_replace('%^.*/%', '', $key)]['plProvidedAcls'];
+            }
 
-      $D_List->AddEntry(array($field1,$field2,$field3));
-    }
-    return($D_List->DrawList());
-  } 
+            if(session::global_get('js')) {
+                if(isset($_SERVER['HTTP_USER_AGENT']) && 
+                        (preg_match("/gecko/i",$_SERVER['HTTP_USER_AGENT'])) || (preg_match("/presto/i",$_SERVER['HTTP_USER_AGENT']))) {
+                    $display.= "\n  <tr id='tr_$tname' style='vertical-align:top;height:0px;'>".
+                        "\n    <td colspan=".$cols.">".
+                        "\n      <div id='$tname' style='overflow:hidden; display:none;vertical-align:top;width:100%;'>".
+                        "\n        <table style='width:100%;' summary='{$name}'>";
+                } else if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match("/ie/i",$_SERVER['HTTP_USER_AGENT'])) {
+                    $display.= "\n  <tr id='tr_$tname' style='vertical-align:top;height:0px;'>".
+                        "\n    <td colspan=".$cols.">".
+                        "\n      <div id='$tname' style='position:absolute;overflow:hidden;display:none;;vertical-align:top;width:100%;'>".
+                        "\n        <table style='width:100%;' summary='{$name}'>";
+                }else{
+                }
+            }
 
 
-  function buildAclSelector($list)
-  {
-    $display= "<input type='hidden' name='acl_dummy_0_0_0' value='1'>";
-    $cols= 3;
-    $tmp= session::global_get('plist');
-    $plist= $tmp->info;
-    asort($plist);
-
-    /* Add select all/none buttons */
-    $style = "style='width:100px;'";
-
-    if($this->acl_is_writeable("")){
-      $display .= "<input ".$style." type='button' name='toggle_all_create' onClick=\"acl_toggle_all('_0_c$');\" value='Toggle C'>";
-      $display .= "<input ".$style." type='button' name='toggle_all_move'   onClick=\"acl_toggle_all('_0_m$');\" value='Toggle M'>";
-      $display .= "<input ".$style." type='button' name='toggle_all_remove' onClick=\"acl_toggle_all('_0_d$');\" value='Toggle D'> - ";
-      $display .= "<input ".$style." type='button' name='toggle_all_read'   onClick=\"acl_toggle_all('_0_r$');\" value='Toggle R'>";
-      $display .= "<input ".$style." type='button' name='toggle_all_write'  onClick=\"acl_toggle_all('_0_w$');\" value='Toggle W'> - ";
-
-      $display .= "<input ".$style." type='button' name='toggle_all_sub_read'  onClick=\"acl_toggle_all('[^0]_r$');\" value='R+'>";
-      $display .= "<input ".$style." type='button' name='toggle_all_sub_write'  onClick=\"acl_toggle_all('[^0]_w$');\" value='W+'>";
-
-      $display .= "<br>";
-
-      $style = "style='width:50px;'";
-      $display .= "<input ".$style." type='button' name='set_true_all_create' onClick=\"acl_set_all('_0_c$',true);\" value='C+'>";
-      $display .= "<input ".$style." type='button' name='set_false_all_create' onClick=\"acl_set_all('_0_c$',false);\" value='C-'>";
-      $display .= "<input ".$style." type='button' name='set_true_all_move' onClick=\"acl_set_all('_0_m$',true);\" value='M+'>";
-      $display .= "<input ".$style." type='button' name='set_false_all_move' onClick=\"acl_set_all('_0_m$',false);\" value='M-'>";
-      $display .= "<input ".$style." type='button' name='set_true_all_remove' onClick=\"acl_set_all('_0_d$',true);\" value='D+'>";
-      $display .= "<input ".$style." type='button' name='set_false_all_remove' onClick=\"acl_set_all('_0_d$',false);\" value='D-'> - ";
-      $display .= "<input ".$style." type='button' name='set_true_all_read' onClick=\"acl_set_all('_0_r$',true);\" value='R+'>";
-      $display .= "<input ".$style." type='button' name='set_false_all_read' onClick=\"acl_set_all('_0_r$',false);\" value='R-'>";
-      $display .= "<input ".$style." type='button' name='set_true_all_write' onClick=\"acl_set_all('_0_w$',true);\" value='W+'>";
-      $display .= "<input ".$style." type='button' name='set_false_all_write' onClick=\"acl_set_all('_0_w$',false);\" value='W-'> - ";
-
-      $display .= "<input ".$style." type='button' name='set_true_all_read' onClick=\"acl_set_all('[^0]_r$',true);\" value='R+'>";
-      $display .= "<input ".$style." type='button' name='set_false_all_read' onClick=\"acl_set_all('[^0]_r$',false);\" value='R-'>";
-      $display .= "<input ".$style." type='button' name='set_true_all_write' onClick=\"acl_set_all('[^0]_w$',true);\" value='W+'>";
-      $display .= "<input ".$style." type='button' name='set_false_all_write' onClick=\"acl_set_all('[^0]_w$',false);\" value='W-'>";
-    }
+            foreach($splist as $attr => $dsc){
 
-    /* Build general objects */
-    $list =$this->sort_by_priority($list);
-    foreach ($list as $key => $name){
-
-      /* Create sub acl if it does not exist */
-      if (!isset($this->aclContents[$key])){
-        $this->aclContents[$key]= array();
-      }
-      if(!isset($this->aclContents[$key][0])){
-        $this->aclContents[$key][0]= '';
-      }
-
-      $currentAcl= $this->aclContents[$key];
-
-      /* Get the overall plugin acls 
-       */
-      $overall_acl ="";
-      if(isset($currentAcl[0])){
-        $overall_acl = $currentAcl[0];
-      }
-
-      // Detect configured plugins
-      $expand = count($currentAcl) > 1 || $currentAcl[0] != "";
-
-      /* Object header */
-			$tname= preg_replace("/[^a-z0-9]/i","_",$name);
-
-      if($expand){
-        $back_color = "#C8C8FF";
-      }else{
-        $back_color = "#C8C8C8";
-      }
-
-      if(session::global_get('js')) {
-        if(isset($_SERVER['HTTP_USER_AGENT']) && 
-             (preg_match("/gecko/i",$_SERVER['HTTP_USER_AGENT'])) || 
-             (preg_match("/presto/i",$_SERVER['HTTP_USER_AGENT']))) {
-          $display.= "\n<table style='width:100%;border:1px solid #A0A0A0' cellspacing=0 cellpadding=2>".
-                     "\n  <tr>".
-                     "\n    <td style='background-color:{$back_color};height:1.8em;' colspan=".($cols-1)."><b>"._("Object").": $name</b></td>".
-                     "\n    <td align='right' style='background-color:{$back_color};height:1.8em;'>".
-                     "\n    <input type='button' onclick=\"$('{$tname}').toggle();\" value='"._("Show/hide advanced settings")."' /></td>".
-                     "\n  </tr>";
-        } else if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match("/ie/i",$_SERVER['HTTP_USER_AGENT'])) {
-          $display.= "\n<table style='width:100%;border:1px solid #A0A0A0' cellspacing=0 cellpadding=2>".
-                     "\n  <tr>".
-                     "\n    <td style='background-color:#C8C8C8;height:1.8em;' colspan=".($cols-1)."><b>"._("Object").": $name</b></td>".
-                     "\n    <td align='right' style='background-color:#C8C8C8;height:1.8em;'>".
-                     "\n    <input type='button' onclick=\"$('{$tname}').toggle();\" value='"._("Show/hide advanced settings")."' /></td>".
-                     "\n  </tr>";
-        } else {
-          $display.= "\n<table style='width:100%;border:1px solid #A0A0A0' cellspacing=0 cellpadding=2>".
-                     "\n  <tr>".
-                     "\n    <td style='background-color:#C8C8C8;height:1.8em;' colspan=$cols><b>"._("Object").": $name</b></td>".
-                     "\n  </tr>";
+                /* Skip pl* attributes, they are internal... */
+                if (preg_match('/^pl[A-Z]+.*$/', $attr)){
+                    continue;
+                }
+
+                /* Open table row */
+                if ($cnt == 1){
+                    $display.= "\n  <tr>";
+                }
+
+                /* Close table row */
+                if ($cnt == $cols){
+                    $cnt= 1;
+                    $rb= "";
+                    $end= "\n  </tr>";
+                } else {
+                    $cnt++;
+                    $rb= "border-right:1px solid #A0A0A0;";
+                    $end= "";
+                }
+
+                /* Collect list of attributes */
+                $state= "";
+                if (isset($currentAcl[$attr])){
+                    $state= $currentAcl[$attr];
+                }
+                $display.= "\n    <td style='border-top:1px solid #A0A0A0;${rb}width:".(int)(100/$cols)."%'>".
+                    "\n      <b>$dsc</b> ($attr)<br>".$this->mkrwbx($key."_".$attr, $state)."</td>$end";
+            }
+
+            /* Fill missing td's if needed */
+            if (--$cnt != $cols && $cnt != 0){
+                $display.= str_repeat("\n    <td style='border-top:1px solid #A0A0A0; width:".(int)(100/$cols)."%'> </td>", $cols-$cnt); 
+            }
+
+            if(session::global_get('js')) {
+                if(isset($_SERVER['HTTP_USER_AGENT']) && 
+                        (preg_match("/gecko/i",$_SERVER['HTTP_USER_AGENT'])) || 
+                        (preg_match("/presto/i",$_SERVER['HTTP_USER_AGENT'])) || 
+                        (preg_match("/ie/i",$_SERVER['HTTP_USER_AGENT']))) {
+                    $display.= "\n        </table>".
+                        "\n      </div>".
+                        "\n    </td>".
+                        "\n  </tr>";
+                }
+            }
+
+            $display.= "\n</table><br />\n";
         }
-      } else {
-          $display.= "\n<table style='width:100%;border:1px solid #A0A0A0' cellspacing=0 cellpadding=2>".
-                     "\n  <tr>".
-                     "\n    <td style='background-color:#C8C8C8;height:1.8em;' colspan=$cols><b>"._("Object").": $name</b></td>".
-                     "\n  </tr>";
-      }
-
-      /* Generate options */
-      $spc= "  ";
-      $options= $this->mkchkbx($key."_0_c",  _("Create objects"), preg_match('/c/', $overall_acl)).$spc;
-      $options.= $this->mkchkbx($key."_0_m", _("Move objects"), preg_match('/m/', $overall_acl)).$spc;
-      $options.= $this->mkchkbx($key."_0_d", _("Remove objects"), preg_match('/d/', $overall_acl)).$spc;
-      if ($plist[preg_replace('%^.*/%', '', $key)]['plSelfModify']){
-        $options.= $this->mkchkbx($key."_0_s", _("Grant permission to owner"), preg_match('/s/', $overall_acl)).$spc;
-      }
-
-      /* Global options */
-      $more_options= $this->mkchkbx($key."_0_r",  _("read"), preg_match('/r/', $overall_acl)).$spc;
-      $more_options.= $this->mkchkbx($key."_0_w", _("write"), preg_match('/w/', $overall_acl));
-
-      $display.= "\n  <tr>".
-                 "\n    <td style='background-color:#E0E0E0' colspan=".($cols-1).">$options</td>".
-                 "\n    <td style='background-color:#D4D4D4'> "._("Complete object").": $more_options</td>".
-                 "\n  </tr>";
-
-      /* Walk through the list of attributes */
-      $cnt= 1;
-      $splist= $plist[preg_replace('%^.*/%', '', $key)]['plProvidedAcls'];
-      if(session::global_get('js')) {
-        if(isset($_SERVER['HTTP_USER_AGENT']) && 
-            (preg_match("/gecko/i",$_SERVER['HTTP_USER_AGENT'])) || (preg_match("/presto/i",$_SERVER['HTTP_USER_AGENT']))) {
-          $display.= "\n  <tr id='tr_$tname' style='vertical-align:top;height:0px;'>".
-                     "\n    <td colspan=".$cols.">".
-                     "\n      <div id='$tname' style='overflow:hidden; display:none;vertical-align:top;width:100%;'>".
-                     "\n        <table style='width:100%;'>";
-        } else if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match("/ie/i",$_SERVER['HTTP_USER_AGENT'])) {
-          $display.= "\n  <tr id='tr_$tname' style='vertical-align:top;height:0px;'>".
-                     "\n    <td colspan=".$cols.">".
-                     "\n      <div id='$tname' style='position:absolute;overflow:hidden;display:none;;vertical-align:top;width:100%;'>".
-                     "\n        <table style='width:100%;'>";
+
+        return ($display);
+    }
+
+
+    function mkchkbx($name, $text, $state= FALSE)
+    {
+        $state= $state?"checked":"";
+        if($this->acl_is_writeable("")){
+            $tname= preg_replace("/[^a-z0-9]/i","_",$name);
+            return "\n      <input id='acl_$tname' type=checkbox name='acl_$name' $state>".
+                "\n      <label for='acl_$tname'>$text</label>";
         }else{
+            return "\n <input type='checkbox' disabled name='dummy_".microtime(1)."' $state>$text";
         }
-      }
+    }
 
-  
-      foreach($splist as $attr => $dsc){
 
-        /* Skip pl* attributes, they are internal... */
-        if (preg_match('/^pl[A-Z]+.*$/', $attr)){
-          continue;
-        }
+    function mkrwbx($name, $state= "")
+    {
+        $rstate= preg_match('/r/', $state)?'checked':'';
+        $wstate= preg_match('/w/', $state)?'checked':'';
+        $tname= preg_replace("/[^a-z0-9]/i","_",$name);
 
-        /* Open table row */
-        if ($cnt == 1){
-          $display.= "\n  <tr>";
+        if($this->acl_is_writeable("")){
+            return ("\n      <input id='acl_".$tname."_r' type=checkbox name='acl_${name}_r' $rstate>".
+                    "\n      <label for='acl_".$tname."_r'>"._("read")."</label>".
+                    "\n      <input id='acl_".$tname."_w' type=checkbox name='acl_${name}_w' $wstate>".
+                    "\n      <label for='acl_".$tname."_w'>"._("write")."</label>");
+        }else{
+            return ("\n      <input disabled type=checkbox name='dummy_".microtime(1)."' $rstate>"._("read").
+                    "\n      <input disabled type=checkbox name='dummy_".microtime(1)."' $wstate>"._("write"));
         }
+    }
 
-        /* Close table row */
-        if ($cnt == $cols){
-          $cnt= 1;
-          $rb= "";
-          $end= "\n  </tr>";
-        } else {
-          $cnt++;
-          $rb= "border-right:1px solid #A0A0A0;";
-          $end= "";
-        }
 
-        /* Collect list of attributes */
-        $state= "";
-        if (isset($currentAcl[$attr])){
-          $state= $currentAcl[$attr];
-        }
-        $display.= "\n    <td style='border-top:1px solid #A0A0A0;${rb}width:".(int)(100/$cols)."%'>".
-                   "\n      <b>$dsc</b> ($attr)<br>".$this->mkrwbx($key."_".$attr, $state)."</td>$end";
-      }
-      
-      /* Fill missing td's if needed */
-      if (--$cnt != $cols && $cnt != 0){
-       $display.= str_repeat("\n    <td style='border-top:1px solid #A0A0A0; width:".(int)(100/$cols)."%'> </td>", $cols-$cnt); 
-      }
-
-      if(session::global_get('js')) {
-        if(isset($_SERVER['HTTP_USER_AGENT']) && 
-            (preg_match("/gecko/i",$_SERVER['HTTP_USER_AGENT'])) || 
-            (preg_match("/presto/i",$_SERVER['HTTP_USER_AGENT'])) || 
-            (preg_match("/ie/i",$_SERVER['HTTP_USER_AGENT']))) {
-          $display.= "\n        </table>".
-                     "\n      </div>".
-                     "\n    </td>".
-                     "\n  </tr>";
+    static function explodeACL($acl)
+    {
+
+        $list= explode(':', $acl);
+        if(count($list) == 5){
+            list($index, $type,$member,$permission,$filter)= $list;
+            $filter = base64_decode($filter);
+        }elseif(count($list) == 4){
+            $filter = "";
+            list($index, $type,$member,$permission)= $list;
+        }else{
+            $permission = "";
+            $filter = "";
+            list($index, $type,$member)= $list;
         }
-      }
 
-      $display.= "\n</table><br />\n";
-    }
+        $a= array( $index => array("type" => $type,
+                    "filter"=> $filter,
+                    "members" => acl::extractMembers($acl,$type == "role")));
 
-    return ($display);
-  }
+        /* Handle different types */
+        switch ($type){
 
+            case 'psub':
+            case 'sub':
+            case 'one':
+            case 'base':
+                $a[$index]['acl']= acl::extractACL($acl);
+                break;
 
-  function mkchkbx($name, $text, $state= FALSE)
-  {
-    $state= $state?"checked":"";
-    if($this->acl_is_writeable("")){
-			$tname= preg_replace("/[^a-z0-9]/i","_",$name);
-      return "\n      <input id='acl_$tname' type=checkbox name='acl_$name' $state>".
-        "\n      <label for='acl_$tname'>$text</label>";
-    }else{
-      return "\n <input type='checkbox' disabled name='dummy_".microtime(1)."' $state>$text";
-    }
-  }
-
-
-  function mkrwbx($name, $state= "")
-  {
-    $rstate= preg_match('/r/', $state)?'checked':'';
-    $wstate= preg_match('/w/', $state)?'checked':'';
-		$tname= preg_replace("/[^a-z0-9]/i","_",$name);
-      
-    if($this->acl_is_writeable("")){
-      return ("\n      <input id='acl_".$tname."_r' type=checkbox name='acl_${name}_r' $rstate>".
-          "\n      <label for='acl_".$tname."_r'>"._("read")."</label>".
-          "\n      <input id='acl_".$tname."_w' type=checkbox name='acl_${name}_w' $wstate>".
-          "\n      <label for='acl_".$tname."_w'>"._("write")."</label>");
-    }else{
-      return ("\n      <input disabled type=checkbox name='dummy_".microtime(1)."' $rstate>"._("read").
-          "\n      <input disabled type=checkbox name='dummy_".microtime(1)."' $wstate>"._("write"));
-    }
-  }
+            case 'role':
+                $a[$index]['acl']= base64_decode(preg_replace('/^[^:]+:[^:]+:([^:]+).*$/', '\1', $acl));
+                break;
 
+            case 'reset':
+                break;
 
-  static function explodeACL($acl)
-  {
-
-    $list= explode(':', $acl);
-    if(count($list) == 5){
-      list($index, $type,$member,$permission,$filter)= $list;
-      $filter = base64_decode($filter);
-    }else{
-      $filter = "";
-      list($index, $type,$member,$permission)= $list;
+            default:
+                msg_dialog::display(_("Internal error"), sprintf(_("Unknown ACL type '%s'!"), $type), ERROR_DIALOG);
+                $a= array();
+        }
+        return ($a);
     }
 
-    $a= array( $index => array("type" => $type,
-                               "filter"=> $filter,
-                               "members" => acl::extractMembers($acl,$type == "role")));
-   
-    /* Handle different types */
-    switch ($type){
-
-      case 'psub':
-      case 'sub':
-      case 'one':
-      case 'base':
-        $a[$index]['acl']= acl::extractACL($acl);
-        break;
-      
-      case 'role':
-        $a[$index]['acl']= base64_decode(preg_replace('/^[^:]+:[^:]+:([^:]+).*$/', '\1', $acl));
-        break;
-
-      case 'reset':
-        break;
-      
-      default:
-        msg_dialog::display(_("Internal error"), sprintf(_("Unkown ACL type '%s'!"), $type), ERROR_DIALOG);
-        $a= array();
-    }
-    return ($a);
-  }
 
+    static function extractMembers($acl,$role = FALSE)
+    {
+        global $config;
+        $a= array();
 
-  static function extractMembers($acl,$role = FALSE)
-  {
-    global $config;
-    $a= array();
+        /* Rip acl off the string, seperate by ',' and place it in an array */
+        if($role){
+            $ms= preg_replace('/^[^:]+:[^:]+:[^:]+:([^:]+).*$/', '\1', $acl);
+        }else{
+            $ms= preg_replace('/^[^:]+:[^:]+:([^:]+).*$/', '\1', $acl);
+        }
+        if ($ms == $acl){
+            return $a;
+        }
+        $ma= explode(',', $ms);
+
+        /* Decode dn's, fill with informations from LDAP */
+        $ldap= $config->get_ldap_link();
+        foreach ($ma as $memberdn){
+            // Check for wildcard here
+            $dn= base64_decode($memberdn);
+            if ($dn != "*") {
+                $ldap->cat($dn, array('cn', 'objectClass', 'description', 'uid'));
+
+                /* Found entry... */
+                if ($ldap->count()){
+                    $attrs= $ldap->fetch();
+                    if (in_array_ics('gosaAccount', $attrs['objectClass'])){
+                        $a['U:'.$dn]= $attrs['cn'][0]." [".$attrs['uid'][0]."]";
+                    } else {
+                        $a['G:'.$dn]= $attrs['cn'][0];
+                        if (isset($attrs['description'][0])){
+                            $a['G:'.$dn].= " [".$attrs['description'][0]."]";
+                        }
+                    }
+
+                    /* ... or not */
+                } else {
+                    $a['U:'.$dn]= sprintf(_("Unknown entry '%s'!"), $dn);
+                }
 
-    /* Rip acl off the string, seperate by ',' and place it in an array */
-    if($role){
-      $ms= preg_replace('/^[^:]+:[^:]+:[^:]+:([^:]+).*$/', '\1', $acl);
-    }else{
-      $ms= preg_replace('/^[^:]+:[^:]+:([^:]+).*$/', '\1', $acl);
-    }
-    if ($ms == $acl){
-      return $a;
-    }
-    $ma= explode(',', $ms);
-
-    /* Decode dn's, fill with informations from LDAP */
-    $ldap= $config->get_ldap_link();
-    foreach ($ma as $memberdn){
-      // Check for wildcard here
-      $dn= base64_decode($memberdn);
-      if ($dn != "*") {
-        $ldap->cat($dn, array('cn', 'objectClass', 'description', 'uid'));
-
-        /* Found entry... */
-        if ($ldap->count()){
-          $attrs= $ldap->fetch();
-          if (in_array_ics('gosaAccount', $attrs['objectClass'])){
-            $a['U:'.$dn]= $attrs['cn'][0]." [".$attrs['uid'][0]."]";
-          } else {
-            $a['G:'.$dn]= $attrs['cn'][0];
-            if (isset($attrs['description'][0])){
-              $a['G:'.$dn].= " [".$attrs['description'][0]."]";
+            } else {
+                $a['G:*']= sprintf(_("All users"));
             }
-          }
-
-        /* ... or not */
-        } else {
-          $a['U:'.$dn]= sprintf(_("Unknown entry '%s'!"), $dn);
         }
 
-      } else {
-        $a['G:*']= sprintf(_("All users"));
-      }
+        return ($a);
     }
 
-    return ($a);
-  }
-
-
-  static function extractACL($acl)
-  {
-    /* Rip acl off the string, seperate by ',' and place it in an array */
-    $as= preg_replace('/^[^:]+:[^:]+:[^:]*:([^:]*).*$/', '\1', $acl);
-    $aa= explode(',', $as);
-    $a= array();
-
-    /* Dis-assemble single ACLs */
-    foreach($aa as $sacl){
-      
-      /* Dis-assemble field ACLs */
-      $ao= explode('#', $sacl);
-      $gobject= "";
-      foreach($ao as $idx => $ssacl){
-
-        /* First is department with global acl */
-        $object= preg_replace('/^([^;]+);.*$/', '\1', $ssacl);
-        $gacl=   preg_replace('/^[^;]+;(.*)$/', '\1', $ssacl);
-        if ($idx == 0){
-          /* Create hash for this object */
-          $gobject= $object;
-          $a[$gobject]= array();
-
-          /* Append ACL if set */
-          if ($gacl != ""){
-            $a[$gobject]= array($gacl);
-          }
-        } else {
 
-          /* All other entries get appended... */
-          list($field, $facl)= explode(';', $ssacl);
-          $a[$gobject][$field]= $facl;
+    static function extractACL($acl)
+    {
+        /* Rip acl off the string, seperate by ',' and place it in an array */
+        $as= preg_replace('/^[^:]+:[^:]+:[^:]*:([^:]*).*$/', '\1', $acl);
+        $aa= explode(',', $as);
+        $a= array();
+
+        /* Dis-assemble single ACLs */
+        foreach($aa as $sacl){
+
+            /* Dis-assemble field ACLs */
+            $ao= explode('#', $sacl);
+            $gobject= "";
+            foreach($ao as $idx => $ssacl){
+
+                /* First is department with global acl */
+                $object= preg_replace('/^([^;]+);.*$/', '\1', $ssacl);
+                $gacl=   preg_replace('/^[^;]+;(.*)$/', '\1', $ssacl);
+                if ($idx == 0){
+                    /* Create hash for this object */
+                    $gobject= $object;
+                    $a[$gobject]= array();
+
+                    /* Append ACL if set */
+                    if ($gacl != ""){
+                        $a[$gobject]= array($gacl);
+                    }
+                } else {
+
+                    /* All other entries get appended... */
+                    list($field, $facl)= explode(';', $ssacl);
+                    $a[$gobject][$field]= $facl;
+                }
+
+            }
         }
 
-      }
+        return ($a);
     }
 
-    return ($a);
-  }
 
-  
-  function assembleAclSummary($entry)
-  {
-    $summary= "";
+    function assembleAclSummary($entry)
+    {
+        $summary= "";
 
-    /* Summarize ACL */
-    if (isset($entry['acl'])){
-      $acl= "";
+        /* Summarize ACL */
+        if (isset($entry['acl'])){
+            $acl= "";
 
-      if($entry['type'] == "role"){
+            if($entry['type'] == "role"){
 
-        if(isset($this->roles[$entry['acl']])){  
-          $summary.= sprintf(_("Role: %s"), $this->roles[$entry['acl']]['cn']);
-        }else{
-          $summary.= sprintf(_("Role: %s"), "<i>"._("unknown role")."</i>");
+                if(isset($this->roles[$entry['acl']])){  
+                    $summary.= sprintf(_("ACL role: %s"), $this->roles[$entry['acl']]['cn']);
+                }else{
+                    $summary.= sprintf(_("ACL role: %s"), "<i>"._("unknown ACL role")."</i>");
+                }
+            }else{
+                foreach ($entry['acl'] as $name => $object){
+                    if (count($object)){
+                        $acl.= "$name, ";
+                    }
+                }
+                $summary.= sprintf(_("Contains settings for these objects: %s"), preg_replace('/, $/', '', $acl));
+            }
         }
-      }else{
-        foreach ($entry['acl'] as $name => $object){
-          if (count($object)){
-            $acl.= "$name, ";
-          }
+
+
+        /* Summarize members */
+        if(!($this instanceOf aclrole)){
+            if ($summary != ""){
+                $summary.= ", ";
+            }
+            if (count($entry['members'])){
+                $summary.= _("Members").": ";
+                foreach ($entry['members'] as $cn){
+                    $cn= preg_replace('/ \[.*$/', '', $cn);
+                    $summary.= $cn.", ";
+                }
+            } else {
+                $summary.= "<font color='red'><i>"._("inactive")." - "._("No members")."</i></font>";
+            }
         }
-        $summary.= sprintf(_("Contains settings for these objects: %s"), preg_replace('/, $/', '', $acl));
-      }
+        return (preg_replace('/, $/', '', $summary));
     }
 
 
-    /* Summarize members */
-    if(!($this instanceOf aclrole)){
-      if ($summary != ""){
-        $summary.= ", ";
-      }
-      if (count($entry['members'])){
-        $summary.= _("Members").": ";
-        foreach ($entry['members'] as $cn){
-          $cn= preg_replace('/ \[.*$/', '', $cn);
-          $summary.= $cn.", ";
+    function loadAclEntry($new= FALSE)
+    {
+        /* New entry gets presets... */
+        if ($new){
+            $this->aclType= 'base';
+            $this->aclFilter= "";
+            $this->recipients= array();
+            $this->aclContents= array();
+        } else {
+            $acl= $this->gosaAclEntry[$this->currentIndex];
+            $this->aclType= $acl['type'];
+            $this->recipients= $acl['members'];
+            $this->aclContents= (isset($acl['acl'])) ? $acl['acl'] :"";
+            $this->aclFilter= $acl['filter'];
         }
-      } else {
-        $summary.= "<font color='red'><i>"._("inactive")." - "._("No members")."</i></font>";
-      }
+
+        $this->wasNewEntry= $new;
     }
-    return (preg_replace('/, $/', '', $summary));
-  }
-
-
-  function loadAclEntry($new= FALSE)
-  {
-    /* New entry gets presets... */
-    if ($new){
-      $this->aclType= 'base';
-      $this->aclFilter= "";
-      $this->recipients= array();
-      $this->aclContents= array();
-    } else {
-      $acl= $this->gosaAclEntry[$this->currentIndex];
-      $this->aclType= $acl['type'];
-      $this->recipients= $acl['members'];
-      $this->aclContents= $acl['acl'];
-      $this->aclFilter= $acl['filter'];
+
+
+    function aclPostHandler()
+    {
+        if (isset($_POST['save_acl'])){
+            $this->save();
+            return TRUE;
+        }
+
+        return FALSE;
     }
 
-    $this->wasNewEntry= $new;
-  }
 
+    function PrepareForCopyPaste($source)
+    {
+        plugin::PrepareForCopyPaste($source);
 
-  function aclPostHandler()
-  {
-    if (isset($_POST['save_acl'])){
-      $this->save();
-      return TRUE;
+        $dn = $source['dn'];
+        $acl_c = new acl($this->config, $this->parent,$dn);
+        $this->gosaAclEntry = $acl_c->gosaAclEntry;
     }
 
-    return FALSE;
-  }
-
-  
-  function PrepareForCopyPaste($source)
-  {
-    plugin::PrepareForCopyPaste($source);
-    
-    $dn = $source['dn'];
-    $acl_c = new acl($this->config, $this->parent,$dn);
-    $this->gosaAclEntry = $acl_c->gosaAclEntry;
-  }
-
-
-  function save()
-  {
-    /* Assemble ACL's */
-    $tmp_acl= array();
-  
-    foreach ($this->gosaAclEntry as $prio => $entry){
-      $final= "";
-      $members= "";
-      if (isset($entry['members'])){
-        foreach ($entry['members'] as $key => $dummy){
-          $members.= base64_encode(preg_replace('/^.:/', '', $key)).',';
-        }
-      }
 
-      if($entry['type'] != "role"){
-        $final= $prio.":".$entry['type'].":".preg_replace('/,$/', '', $members);
-      }else{
-        $final= $prio.":".$entry['type'].":".base64_encode($entry['acl']).":".preg_replace('/,$/', '', $members);
-      }
+    function save()
+    {
+        /* Assemble ACL's */
+        $tmp_acl= array();
 
-      /* ACL's if needed */
-      if ($entry['type'] != "reset" && $entry['type'] != "role"){
-        $acl= ":";
-        if (isset($entry['acl'])){
-          foreach ($entry['acl'] as $object => $contents){
+        foreach ($this->gosaAclEntry as $prio => $entry){
+            $final= "";
+            $members= "";
+            if (isset($entry['members'])){
+                foreach ($entry['members'] as $key => $dummy){
+                    $members.= base64_encode(preg_replace('/^.:/', '', $key)).',';
+                }
+            }
 
-            /* Only save, if we've some contents in there... */
-            if (count($contents)){
-              $acl.= $object.";";
+            if($entry['type'] != "role"){
+                $final= $prio.":".$entry['type'].":".preg_replace('/,$/', '', $members);
+            }else{
+                $final= $prio.":".$entry['type'].":".base64_encode($entry['acl']).":".preg_replace('/,$/', '', $members);
+            }
 
-              foreach($contents as $attr => $permission){
+            /* ACL's if needed */
+            $final.= ":";
+            if ($entry['type'] != "reset" && $entry['type'] != "role"){
+                $acl = "";
+                if (isset($entry['acl'])){
+                    foreach ($entry['acl'] as $object => $contents){
 
-                /* First entry? Its the one for global settings... */
-                if ($attr == '0'){
-                  $acl.= $permission;
-                } else {
-                  $acl.= '#'.$attr.';'.$permission;
+                        /* Only save, if we've some contents in there... */
+                        if (count($contents)){
+                            $acl.= $object.";";
+
+                            foreach($contents as $attr => $permission){
+
+                                /* First entry? Its the one for global settings... */
+                                if ($attr == '0'){
+                                    $acl.= $permission;
+                                } else {
+                                    $acl.= '#'.$attr.';'.$permission;
+                                }
+
+                            }
+                            $acl.= ',';
+                        }
+
+                    }
                 }
+                $final.= preg_replace('/,$/', '', $acl);
+            }
 
-              }
-              $acl.= ',';
+            /* Append additional filter options 
+             */
+            if(!empty($entry['filter'])){
+                $final .= ":".base64_encode($entry['filter']);
             }
-            
-          }
+
+            $tmp_acl[]= $final;
         }
-        $final.= preg_replace('/,$/', '', $acl);
-      }
 
-      /* Append additional filter options 
-       */
-      if(!empty($entry['filter'])){
-        $final .= ":".base64_encode($entry['filter']);
-      }
+        /* Call main method */
+        plugin::save();
 
-      $tmp_acl[]= $final;
-    } 
+        /* Finally (re-)assign it... */
+        $this->attrs['gosaAclEntry']= $tmp_acl;
 
-    /* Call main method */
-    plugin::save();
+        /* Remove acl from this entry if it is empty... */
+        if (!count($tmp_acl)){
+            /* Remove attribute */
+            if ($this->initially_was_account){
+                $this->attrs['gosaAclEntry']= array();
+            } else {
+                if (isset($this->attrs['gosaAclEntry'])){
+                    unset($this->attrs['gosaAclEntry']);
+                }
+            }
 
-    /* Finally (re-)assign it... */
-    $this->attrs['gosaAclEntry']= $tmp_acl;
+            /* Remove object class */
+            $this->attrs['objectClass']= array_remove_entries(array('gosaAcl'), $this->attrs['objectClass']);
+        }    
 
-    /* Remove acl from this entry if it is empty... */
-    if (!count($tmp_acl)){
-      /* Remove attribute */
-      if ($this->initially_was_account){
-        $this->attrs['gosaAclEntry']= array();
-      } else {
-        if (isset($this->attrs['gosaAclEntry'])){
-          unset($this->attrs['gosaAclEntry']);
+        /* Do LDAP modifications */
+        $ldap= $this->config->get_ldap_link();
+        $ldap->cd($this->dn);
+        $this->cleanup();
+        $ldap->modify ($this->attrs);
+
+        if(count($this->attrs)){
+            new log("modify","acls/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
         }
-      }
 
-      /* Remove object class */
-      $this->attrs['objectClass']= array_remove_entries(array('gosaAcl'), $this->attrs['objectClass']);
-    }    
+        if (!$ldap->success()){
+            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_MOD, get_class()), ERROR_DIALOG);
+        }
+
+        /* Refresh users ACLs */
+        $ui= get_userinfo();
+        $ui->loadACL();
+        session::global_set('ui',$ui);
+    }
+
 
-    /* Do LDAP modifications */
-    $ldap= $this->config->get_ldap_link();
-    $ldap->cd($this->dn);
-    $this->cleanup();
-    $ldap->modify ($this->attrs);
+    function remove_from_parent()
+    {
+        plugin::remove_from_parent();
 
-    if(count($this->attrs)){
-      new log("modify","acls/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+        /* include global link_info */
+        $ldap= $this->config->get_ldap_link();
+
+        $ldap->cd($this->dn);
+        $this->cleanup();
+        $ldap->modify ($this->attrs);
+
+        new log("remove","acls/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+
+        /* Optionally execute a command after we're done */
+        $this->handle_post_events("remove",array("uid" => $this->uid));
     }
 
-    if (!$ldap->success()){
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_MOD, get_class()), ERROR_DIALOG);
+
+    /* Return plugin informations for acl handling */
+    static function plInfo()
+    {
+        return (array(
+                    "plShortName"   => _("ACL"),
+                    "plDescription" => _("ACL")." ("._("Access control list").")",
+                    "plSelfModify"  => FALSE,
+                    "plDepends"     => array(),
+                    "plPriority"    => 0,
+                    "plSection"     => array("administration"),
+                    "plRequirements"=> array('ldapSchema' => array('gosaAcl' => '>=2.7')),
+                    "plCategory"    => array("acl" => array("description"  => _("ACL")." & "._("ACL roles"),
+                            "objectClass"  => array("gosaAcl","gosaRole"))),
+                    "plProvidedAcls"=> array(
+                        "gosaAclEntry"          => _("ACL Entries")
+                        )
+
+                    ));
     }
 
-    /* Refresh users ACLs */
-    $ui= get_userinfo();
-    $ui->loadACL();
-    session::global_set('ui',$ui);
-  }
-
-
-  function remove_from_parent()
-  {
-    plugin::remove_from_parent();
-
-    /* include global link_info */
-    $ldap= $this->config->get_ldap_link();
-
-    $ldap->cd($this->dn);
-    $this->cleanup();
-    $ldap->modify ($this->attrs);
-
-    new log("remove","acls/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
-
-    /* Optionally execute a command after we're done */
-    $this->handle_post_events("remove",array("uid" => $this->uid));
-  }
-
-  
-  /* Return plugin informations for acl handling */
-  static function plInfo()
-  {
-    return (array(
-          "plShortName"   => _("ACL"),
-          "plDescription" => _("ACL")." ("._("Access control list").")",
-          "plSelfModify"  => FALSE,
-          "plDepends"     => array(),
-          "plPriority"    => 0,
-          "plSection"     => array("administration"),
-          "plCategory"    => array("acl" => array("description"  => _("ACL")." & "._("ACL roles"),
-                                                          "objectClass"  => array("gosaAcl","gosaRole"))),
-          "plProvidedAcls"=> array(
-//            "cn"          => _("Role name"),
-//            "description" => _("Role description")
-            )
-
-          ));
-  }
-
-
-  /* Remove acls defined for $src */
-  function remove_acl()
-  {
-    acl::remove_acl_for($this->dn);
-  }
-
-
-  /* Remove acls defined for $src */
-  static function remove_acl_for($dn)
-  {                                  
-    global $config;                  
-
-    $ldap = $config->get_ldap_link();
-    $ldap->cd($config->current['BASE']);
-    $ldap->search("(&(objectClass=gosaAcl)(gosaAclEntry=*".base64_encode($dn)."*))",array("gosaAclEntry","dn"));
-    $new_entries= array();                                                                                      
-    while($attrs = $ldap->fetch()){                                                                             
-      if (!isset($attrs['gosaAclEntry'])) {                                                                     
-        continue;                                                                                               
-      }                                                                                                         
-      unset($attrs['gosaAclEntry']['count']);                                                                   
-
-      // Remove entry directly
-      foreach($attrs['gosaAclEntry'] as $id => $entry){
-        $parts= explode(':',$entry);                     
-        $members= explode(',',$parts[2]);                
-        $new_members= array();                         
-        foreach($members as $member) {                 
-          if (base64_decode($member) != $dn) {         
-            $new_members[]= $member;                   
-          } else {                                     
-            gosa_log("modify","users/acl",$attrs['dn'],array(),sprintf("Removed acl for %s on object %s.",$dn,$attrs['dn']));
-          }                                                                                                                  
-        }                                                                                                                    
-
-        /* We can completely remove the entry if there are no members anymore */
-        if (count($new_members)) {                                              
-          $parts[2]= implode(",", $new_members);                                
-          $new_entries[]= implode(":", $parts);                                 
-        }                                                                       
-      }                                                                         
-
-      // There should be a modification, so write it back
-      $ldap->cd($attrs['dn']);
-      $new_attrs= array("gosaAclEntry" => $new_entries);
-      $ldap->modify($new_attrs);
-      if (!$ldap->success()){
-        msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD, get_class()), ERROR_DIALOG);
-      }
+
+    /* Remove acls defined for $src */
+    function remove_acl()
+    {
+        acl::remove_acl_for($this->dn);
     }
-  }
-
-
-  function update_acl_membership($src,$dst)
-  {
-    $ldap = $this->config->get_ldap_link();
-    $ldap->cd($this->config->current['BASE']);
-    $ldap->search("(&(objectClass=gosaAcl)(gosaAclEntry=*".base64_encode($src)."*))",array("gosaAclEntry","dn"));
-    while($attrs = $ldap->fetch()){
-      $acl = new acl($this->config,$this->parent,$attrs['dn']);
-      foreach($acl->gosaAclEntry as $id => $entry){
-        foreach($entry['members'] as $m_id => $member){
-          if($m_id == "U:".$src){
-            unset($acl->gosaAclEntry[$id]['members'][$m_id]);
-            $new = "U:".$dst;
-            $acl->gosaAclEntry[$id]['members'][$new] = $new;
-            gosa_log("modify","users/acl",$attrs['dn'],array(),sprintf("Updated acl for user %s on object %s.",$src,$attrs['dn']));
-          }
-          if($m_id == "G:".$src){
-            unset($acl->gosaAclEntry[$id]['members'][$m_id]);
-            $new = "G:".$dst;
-            $acl->gosaAclEntry[$id]['members'][$new] = $new;
-            gosa_log("modify","groups/acl",$attrs['dn'],array(),sprintf("Updated acl for group %s on object %s.",$src,$attrs['dn']));
-          }
+
+
+    /* Remove acls defined for $src */
+    static function remove_acl_for($dn)
+    {                                  
+        global $config;                  
+
+        $ldap = $config->get_ldap_link();
+        $ldap->cd($config->current['BASE']);
+        $ldap->search("(&(objectClass=gosaAcl)(gosaAclEntry=*".base64_encode($dn)."*))",array("gosaAclEntry","dn"));
+        $new_entries= array();                                                                                      
+        while($attrs = $ldap->fetch()){                                                                             
+            if (!isset($attrs['gosaAclEntry'])) {                                                                     
+                continue;                                                                                               
+            }                                                                                                         
+            unset($attrs['gosaAclEntry']['count']);                                                                   
+
+            // Remove entry directly
+            foreach($attrs['gosaAclEntry'] as $id => $entry){
+                $parts= explode(':',$entry);                     
+                $members= explode(',',$parts[2]);                
+                $new_members= array();                         
+                foreach($members as $member) {                 
+                    if (base64_decode($member) != $dn) {         
+                        $new_members[]= $member;                   
+                    } else {                                     
+                        gosa_log("modify","users/acl",$attrs['dn'],array(),sprintf("Removed acl for %s on object %s.",$dn,$attrs['dn']));
+                    }                                                                                                                  
+                }                                                                                                                    
+
+                /* We can completely remove the entry if there are no members anymore */
+                if (count($new_members)) {                                              
+                    $parts[2]= implode(",", $new_members);                                
+                    $new_entries[]= implode(":", $parts);                                 
+                }                                                                       
+            }                                                                         
+
+            // There should be a modification, so write it back
+            $ldap->cd($attrs['dn']);
+            $new_attrs= array("gosaAclEntry" => $new_entries);
+            $ldap->modify($new_attrs);
+            if (!$ldap->success()){
+                msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD, get_class()), ERROR_DIALOG);
+            }
         }
-      }
-      $acl -> save();
     }
-  }
 
+
+    function update_acl_membership($src,$dst)
+    {
+        $ldap = $this->config->get_ldap_link();
+        $ldap->cd($this->config->current['BASE']);
+        $ldap->search("(&(objectClass=gosaAcl)(gosaAclEntry=*".base64_encode($src)."*))",array("gosaAclEntry","dn"));
+        while($attrs = $ldap->fetch()){
+            $acl = new acl($this->config,$this->parent,$attrs['dn']);
+            foreach($acl->gosaAclEntry as $id => $entry){
+                foreach($entry['members'] as $m_id => $member){
+                    if($m_id == "U:".$src){
+                        unset($acl->gosaAclEntry[$id]['members'][$m_id]);
+                        $new = "U:".$dst;
+                        $acl->gosaAclEntry[$id]['members'][$new] = $new;
+                        gosa_log("modify","users/acl",$attrs['dn'],array(),sprintf("Updated acl for user %s on object %s.",$src,$attrs['dn']));
+                    }
+                    if($m_id == "G:".$src){
+                        unset($acl->gosaAclEntry[$id]['members'][$m_id]);
+                        $new = "G:".$dst;
+                        $acl->gosaAclEntry[$id]['members'][$new] = $new;
+                        gosa_log("modify","groups/acl",$attrs['dn'],array(),sprintf("Updated acl for group %s on object %s.",$src,$attrs['dn']));
+                    }
+                }
+            }
+            $acl -> save();
+        }
+    }
+
+
+    // We are only interessted in our own acls ... 
+    function set_acl_category($category)
+    {
+        plugin::set_acl_category("acl");
+    }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/include/class_baseSelector.inc b/gosa-core/include/class_baseSelector.inc
index d0b9eab..93e0d82 100644
--- a/gosa-core/include/class_baseSelector.inc
+++ b/gosa-core/include/class_baseSelector.inc
@@ -22,230 +22,259 @@
 
 class baseSelector {
 
-  private $base;
-  private $pid;
-  private $action;
-  private $height= 500;
-  private $submitButton= true;
-  protected $tree;
-  protected $pathMapping;
-  protected $lastState;
+    private $base;
+    private $pid;
+    private $action;
+    private $height= 500;
+    private $submitButton= true;
+    protected $tree;
+    protected $pathMapping;
+    protected $lastState;
+
+
+    function __construct($bases, $base= "")
+    {
+        // Initialize pid
+        $this->pid= preg_replace("/[^0-9]/", "", microtime(TRUE));
+
+        // Transfer data
+        $this->setBases($bases);
+        $this->setBase($base);
+    }
 
 
-  function __construct($bases, $base= "")
-  {
-    // Initialize pid
-    $this->pid= preg_replace("/[^0-9]/", "", microtime(TRUE));
+    function setSubmitButton($flag)
+    {
+        $this->submitButton= $flag;
+    }
 
-    // Transfer data
-    $this->setBases($bases);
-    $this->setBase($base);
-  }
 
+    function setHeight($value)
+    {
+        $this->height= $value;
+    }
 
-  function setSubmitButton($flag)
-  {
-    $this->submitButton= $flag;
-  }
 
+    function setBase($base)
+    {
+        if (isset($this->pathMapping[$base])) {
+            $this->base= $base;
+            $this->update(true);
+        }
+    }
 
-  function setHeight($value)
-  {
-    $this->height= $value;
-  }
+
+    function checkBase($base)
+    {
+        return isset($this->pathMapping[$base]);
+    }
 
 
-  function setBase($base)
-  {
-    if (isset($this->pathMapping[$base])) {
-      $this->base= $base;
-      $this->update(true);
+    function checkLastBaseUpdate()
+    {
+        return $this->lastState;
     }
-  }
 
 
-  function checkBase($base)
-  {
-    return isset($this->pathMapping[$base]);
-  }
+    function setBases($bases)
+    {
+        global $config;
 
+        $this->pathMapping= array();
+        $selected= $this->base == $config->current['BASE']?"Selected":"";
+        $first= true;
+        $last_indent= 2;
 
-  function checkLastBaseUpdate()
-  {
-    return $this->lastState;
-  }
+        foreach ($bases as $base => $dummy) {
 
+            // Build path style display
+            $elements= explode(',', substr($base, 0, strlen($base) - strlen($config->current['BASE'])));
+            $elements= array_reverse($elements, true);
 
-  function setBases($bases)
-  {
-    global $config;
+            $this->pathMapping[$base]= $base == $config->current['BASE']? '/' : ldap::fix(preg_replace('/(^|,)[a-z0-9]+=/i', '/', implode(',', $elements)));
+            $this->pathMapping[$base]= LDAP::makeReadable(  $this->pathMapping[$base]);
+        }
 
-    $this->pathMapping= array();
-    $selected= $this->base == $config->current['BASE']?"Selected":"";
-    $first= true;
-    $last_indent= 2;
+        // Save bases to session for autocompletion
+        session::global_set("pathMapping_{$this->pid}", $this->pathMapping);
+        session::global_set("department_info_{$this->pid}", $config->department_info);
+    }
 
-    foreach ($bases as $base => $dummy) {
 
-      // Build path style display
-      $elements= explode(',', substr($base, 0, strlen($base) - strlen($config->current['BASE'])));
-      $elements= array_reverse($elements, true);
+    function update($force= false)
+    {
+        global $config;
+
+        // Analyze for base changes if needed
+        $this->action= null;
+        $last_base= $this->base;
+        if(isset($_REQUEST['BPID']) && $_REQUEST['BPID'] == $this->pid) {
+            if (isset($_POST['bs_rebase_'.$this->pid]) && !empty($_POST['bs_rebase_'.$this->pid])) {
+                $new_base= base64_decode(get_post('bs_rebase_'.$this->pid));
+
+                if (isset($this->pathMapping[$new_base])) {
+                    $this->base= $new_base;
+                    $this->action= 'rebase';
+                } else {
+                    $this->lastState= false;
+                    return false;
+                }
+            }else{
+
+                // Input field set?
+                if (isset($_POST['bs_input_'.$this->pid])) {
+
+                    // Take over input field base
+                    if ($this->submitButton && isset($_POST['submit_base_'.$this->pid]) || !$this->submitButton) {
+
+                        // Check if base is available
+                        $this->lastState= false;
+                        foreach ($this->pathMapping as $key => $path) {
+                            if (mb_strtolower($path) == mb_strtolower(get_post('bs_input_'.$this->pid))) {
+                                $this->base= $key;
+                                $this->lastState= true;
+                                break;
+                            }
+                        }
+                    }
+                }
+            } 
 
-      $this->pathMapping[$base]= $base == $config->current['BASE']? '/' : ldap::fix(preg_replace('/(^|,)[a-z0-9]+=/i', '/', implode(',', $elements)));
-    }
+        }
 
-    // Save bases to session for autocompletion
-    session::global_set('pathMapping', $this->pathMapping);
-  }
-
-
-  function update($force= false)
-  {
-    global $config;
-
-    // Analyze for base changes if needed
-    $this->action= null;
-    $last_base= $this->base;
-    if(isset($_REQUEST['BPID']) && $_REQUEST['BPID'] == $this->pid) {
-      if (isset($_POST['bs_rebase_'.$this->pid]) && !empty($_POST['bs_rebase_'.$this->pid])) {
-        $new_base= base64_decode($_POST['bs_rebase_'.$this->pid]);
-        if (isset($this->pathMapping[$new_base])) {
-          $this->base= $new_base;
-          $this->action= 'rebase';
-        } else {
-          $this->lastState= false;
-          return false;
+        /* Skip if there's no change */
+        if (($this->tree && $this->base == $last_base) && !$force) {
+            return true;
         }
-      }else{
-        // Input field set?
-        if (isset($_POST['bs_input_'.$this->pid])) {
-
-          // Take over input field base
-          if ($this->submitButton && isset($_POST['submit_base_'.$this->pid.'_x']) || !$this->submitButton) {
-
-            // Check if base is available
-            $this->lastState= false;
-            foreach ($this->pathMapping as $key => $path) {
-              if (mb_strtolower($path) == mb_strtolower($_POST['bs_input_'.$this->pid])) {
-                $this->base= $key;
-                $this->lastState= true;
-                break;
-              }
+
+        $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($config->current['BASE'])."';  $('submit_tree_base_".$this->pid."').click();\"";
+
+
+        $this->tree= "<input style='width:160px' type='text' size='35'
+            name='bs_input_{$this->pid}' id='bs_input_{$this->pid}'
+
+            onkeydown=\"    \$('bs_{$this->pid}').hide(); \"
+            onfocus=\"      \$('bs_{$this->pid}').hide(); \"
+            onmouseover=\"  mouseIsStillOver = true;
+        function showIt()
+        {
+            if(mouseIsStillOver){
+                \$('bs_".$this->pid."').show();
             }
-          }
+        };
+        Element.clonePosition(\$('bs_".$this->pid."'),
+                'bs_input_".$this->pid."',
+                {setHeight: false, setWidth: false, offsetTop:(Element.getHeight('bs_input_".$this->pid."'))});
+        rtimer=showIt.delay(0.25); \"
+
+            onmouseout=\"   mouseIsStillOver=false;
+        rtimer=Element.hide.delay(0.25,'bs_".$this->pid."')\"
+
+            value=\"".htmlentities(LDAP::makeReadable($this->pathMapping[$this->base]),ENT_COMPAT,'utf-8')."\">";
+
+
+        // Autocompleter
+        $this->tree.= "<div id='autocomplete_".$this->pid."' class='autocomplete'></div>".
+            "<script type='text/javascript'>".
+            "new Ajax.Autocompleter('bs_input_".$this->pid."', 'autocomplete_".$this->pid."', 
+             'autocomplete.php?type=base&pid={$this->pid}', 
+            { minChars: 3, frequency: 0.5 });";
+        if ($this->submitButton) {
+            $this->tree.= "$('bs_input_".$this->pid."').observe('keypress', function(event) { if(event.keyCode == Event.KEY_RETURN) { $('submit_base_".$this->pid."').click(); } });";
         }
-      } 
+        $this->tree.= "</script>";
 
-    }
+        $selected= $this->base == $config->current['BASE']?"Selected":"";
+        $this->tree.= "<div class='treeList' style='display:none;max-height:".$this->height."px' id='bs_".$this->pid."' onmouseover=\"window.clearTimeout(rtimer);\" onmouseout=\"rtimer= Element.hide.delay(0.25, 'bs_".$this->pid."')\"><a class='treeList$selected' $link>/ ["._("Root")."]</a><ul class='treeList'>\n";
+        $first= true;
+        $last_indent= 2;
 
-    /* Skip if there's no change */
-    if (($this->tree && $this->base == $last_base) && !$force) {
-      return true;
-    }
+        foreach ($this->pathMapping as $base => $dummy) {
 
-    $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($config->current['BASE'])."';  $('submit_tree_base_".$this->pid."').click();\"";
-    $this->tree= "<input type='text' size='35' name='bs_input_".$this->pid."' id='bs_input_".$this->pid."' onkeydown=\"\$('bs_".$this->pid."').hide()\" onfocus=\"\$('bs_".$this->pid."').hide()\" onmouseover=\"Element.clonePosition(\$('bs_".$this->pid."'), 'bs_input_".$this->pid."', {setHeight: false, setWidth: false, offsetTop:(Element.getHeight('bs_input_".$this->pid."'))});\$('bs_".$this->pid."').show();\" onmouseout=\"rtimer= Element.hide.delay(0.25, 'bs_".$this->pid."')\" value=\"".p [...]
+            // Skip root for tree
+            if ($base == $config->current['BASE']) {
+                continue;
+            }
 
-    // Autocompleter
-    $this->tree.= "<div id='autocomplete_".$this->pid."' class='autocomplete'></div>".
-                  "<script type='text/javascript'>".
-                  "new Ajax.Autocompleter('bs_input_".$this->pid."', 'autocomplete_".$this->pid."', 'autocomplete.php?type=base', { minChars: 3, frequency: 0.5 });";
-    if ($this->submitButton) {
-      $this->tree.= "$('bs_input_".$this->pid."').observe('keypress', function(event) { if(event.keyCode == Event.KEY_RETURN) { $('submit_base_".$this->pid."').click(); } });";
-    }
-    $this->tree.= "</script>";
-
-    $selected= $this->base == $config->current['BASE']?"Selected":"";
-    $this->tree.= "<div class='treeList' style='display:none;max-height:".$this->height."px' id='bs_".$this->pid."' onmouseover=\"window.clearTimeout(rtimer);\" onmouseout=\"rtimer= Element.hide.delay(0.25, 'bs_".$this->pid."')\"><a class='treeList$selected' $link>/ ["._("Root")."]</a><ul class='treeList'>\n";
-    $first= true;
-    $last_indent= 2;
-
-    foreach ($this->pathMapping as $base => $dummy) {
-
-      // Skip root for tree
-      if ($base == $config->current['BASE']) {
-        continue;
-      }
-
-      // Build path style display
-      $elements= explode(',', substr($base, 0, strlen($base) - strlen($config->current['BASE'])));
-
-      $indent= count($elements);
-      if (!$first && ($indent == $last_indent)) {
-        $this->tree.= "</li>\n";
-      }
-      if ($indent > $last_indent) {
-        $this->tree.= "<ul>\n";
-      }
-      if ($indent < $last_indent) {
-        for ($i= 0; $i < ($last_indent-$indent); $i++) {
-          $this->tree.= "</li></ul>\n";
+            // Build path style display
+            $elements= explode(',', substr($base, 0, strlen($base) - strlen($config->current['BASE'])));
+
+            $indent= count($elements);
+            if (!$first && ($indent == $last_indent)) {
+                $this->tree.= "</li>\n";
+            }
+            if ($indent > $last_indent) {
+                $this->tree.= "<ul>\n";
+            }
+            if ($indent < $last_indent) {
+                for ($i= 0; $i < ($last_indent-$indent); $i++) {
+                    $this->tree.= "</li></ul>\n";
+                }
+                $this->tree.= "</li>\n";
+            }
+            $selected= $this->base == $base?" class='treeListSelected'":"";
+            $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($base)."';$('submit_tree_base_".$this->pid."').click();\"";
+            $this->tree.= "<li>".
+                image($config->department_info[$base]['img'])." <a$selected $link>".
+                $this->gennonbreaks($config->department_info[$base]['name']).
+                ($config->department_info[$base]['description']==''?'':' <span class="informal">['.$this->gennonbreaks($config->department_info[$base]['description']).']</span>').
+                "</a>";
+
+            $last_indent= $indent;
+            $first= false;
         }
-        $this->tree.= "</li>\n";
-      }
-      $selected= $this->base == $base?" class='treeListSelected'":"";
-      $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($base)."';$('submit_tree_base_".$this->pid."').click();\"";
-      $this->tree.= "<li><a$selected $link>".
-                    "<img class='center' src='".$config->department_info[$base]['img']."'> ".
-                    $this->gennonbreaks($config->department_info[$base]['name']).
-                    ($config->department_info[$base]['description']==''?'':' <span class="informal">['.$this->gennonbreaks($config->department_info[$base]['description']).']</span>').
-                    "</a>";
-
-      $last_indent= $indent;
-      $first= false;
-    }
 
-    // Close tree
-    for ($i= 0; $i<$last_indent; $i++) {
-      $this->tree.= "</li></ul>\n";
-    }
-    $this->tree.= "</div>\n";
+        // Close tree
+        for ($i= 1; $i<$last_indent; $i++) {
+            $this->tree.= "</li></ul>\n";
+        }
+        $this->tree.= "</div>\n";
 
-    // Draw submitter if required
-    if ($this->submitButton) {
-      $this->tree.= " <input class='center' type='image' src='images/lists/submit.png' align='middle' title='"._("Submit")."' name='submit_base_".$this->pid."' id='submit_base_".$this->pid."' alt='"._("Submit")."'>";
+        // Draw submitter if required
+        if ($this->submitButton) {
+            $this->tree.= image('images/lists/submit.png', "submit_base_".$this->pid, _("Submit"));
+        }
+        $this->tree.= "<input type='submit' style='display:none' name='submit_tree_base_".$this->pid."' id='submit_tree_base_".$this->pid."'>";
+        $this->tree.= "<input type='hidden' name='bs_rebase_".$this->pid."' id='bs_rebase_".$this->pid."'>";
+        $this->tree.= "<input type='hidden' name='BPID' id='BPID' value='".$this->pid."'>";
+
+        $this->lastState= true;
+        return true;
     }
-    $this->tree.= "<input type='submit' style='display:none' name='submit_tree_base_".$this->pid."' id='submit_tree_base_".$this->pid."'>";
-    $this->tree.= "<input type='hidden' name='bs_rebase_".$this->pid."' id='bs_rebase_".$this->pid."'>";
-    $this->tree.= "<input type='hidden' name='BPID' id='BPID' value='".$this->pid."'>";
 
-    $this->lastState= true;
-    return true;
-  }
 
+    function gennonbreaks($string)
+    {
+        return str_replace('-', '‑', str_replace(' ', ' ', $string));
+    }
 
-  function gennonbreaks($string)
-  {
-    return str_replace('-', '‑', str_replace(' ', ' ', $string));
-  }
 
+    function render()
+    {
+        return $this->tree;
+    }
 
-  function render()
-  {
-    return $this->tree;
-  }
 
+    function getBase()
+    {
+        return $this->base;
+    }
 
-  function getBase()
-  {
-    return $this->base;
-  }
 
+    function getAction()
+    {
+        // Do not do anything if this is not our BPID, or there's even no BPID available...
+        if(!isset($_REQUEST['BPID']) || $_REQUEST['BPID'] != $this->pid) {
+            return;
+        }
 
-  function getAction()
-  {
-    // Do not do anything if this is not our BPID, or there's even no BPID available...
-    if(!isset($_REQUEST['BPID']) || $_REQUEST['BPID'] != $this->pid) {
-      return;
-    }
+        if ($this->action) {
+            return array("targets" => array($this->base), "action" => $this->action);
+        }
 
-    if ($this->action) {
-      return array("targets" => array($this->base), "action" => $this->action);
+        return null;
     }
 
-    return null;
-  }
-
 }
 
 ?>
diff --git a/gosa-core/include/class_certificate.inc b/gosa-core/include/class_certificate.inc
index 00932fd..3f62954 100644
--- a/gosa-core/include/class_certificate.inc
+++ b/gosa-core/include/class_certificate.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_certificate.inc 15380 2010-01-27 14:03:19Z cajus $$
+ * ID: $$Id: class_certificate.inc 17826 2010-04-25 17:51:24Z cajus $$
  *
  * 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
@@ -97,7 +97,7 @@ class certificate
     /* If cert is loaded correctly and is PEM now, we could read some data out of it */
     if(count($this->info()) <=1)  {
       $this->certificate();
-      $this->error = _("Cannot load certificate - only PEM/DER is supported!");
+      $this->error = _("Cannot load certificate: only PEM and DER are supported!");
       /* Reset*/
       return(false);
     }
diff --git a/gosa-core/include/class_config.inc b/gosa-core/include/class_config.inc
index ea32e21..f462d41 100644
--- a/gosa-core/include/class_config.inc
+++ b/gosa-core/include/class_config.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_config.inc 15595 2010-02-05 13:51:35Z cajus $$
+ * ID: $$Id: class_config.inc 20622 2011-03-14 12:30:06Z hickert $$
  *
  * 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
@@ -29,1163 +29,1188 @@
 
 class config  {
 
-  /* XML parser */
-  var $parser;
-  var $config_found= FALSE;
-  var $tags= array();
-  var $level= 0;
-  var $gpc= 0;
-  var $section= "";
-  var $currentLocation= "";
-
-  /*! \brief Store configuration for current location */
-  var $current= array(); 
-
-  /* Link to LDAP-server */
-  var $ldap= NULL;
-  var $referrals= array();
-
-  /* \brief Configuration data
-   *
-   * - $data['SERVERS'] contains server informations.
-   * */
-  var $data= array( 'TABS' => array(), 'LOCATIONS' => array(), 'SERVERS' => array(),
-      'MAIN' => array(),
-      'MENU' => array(), 'SERVICE' => array());
-  var $basedir= "";
-  var $config_version ="NOT SET";
-
-  /* Keep a copy of the current deparment list */
-  var $departments= array();
-  var $idepartments= array();
-  var $adepartments= array();
-  var $tdepartments= array();
-  var $department_info= array();
-  var $filename = "";
-  var $last_modified = 0;
-
-  /*! \brief Class constructor of the config class
-   *  
-   *  \param string 'filename' path to the configuration file
-   *  \param string 'basedir' base directory
-   *
-   * */
-  function config($filename, $basedir= "")
-  {
-    $this->parser = xml_parser_create();
-    $this->basedir= $basedir;
-
-    xml_set_object($this->parser, $this);
-    xml_set_element_handler($this->parser, "tag_open", "tag_close");
-
-    /* Parse config file directly? */
-    if ($filename != ""){
-      $this->parse($filename);
-    }
-  }
-
-
-  /*! \brief Check and reload the configuration
-   * 
-   * This function checks if the configuration has changed, since it was
-   * read the last time and reloads it. It uses the file mtime to check
-   * weither the file changed or not.
-   *
-   * */ 
-  function check_and_reload()
-  {
-    global $ui;
-
-    /* Check if class_location.inc has changed, this is the case 
-        if we have installed or removed plugins. 
-     */
-    if(session::global_is_set("class_location.inc:timestamp")){
-      $tmp = stat("../include/class_location.inc");
-      if($tmp['mtime'] != session::global_get("class_location.inc:timestamp")){
-        session::global_un_set("plist");
-      }
-    }
-    $tmp = stat("../include/class_location.inc");
-    session::global_set("class_location.inc:timestamp",$tmp['mtime']);
-
-    if($this->filename != "" && filemtime($this->filename) != $this->last_modified){
-
-      $this->config_found= FALSE;
-      $this->tags= array();
-      $this->level= 0;
-      $this->gpc= 0;
-      $this->section= "";
-      $this->currentLocation= "";
-
-      $this->parser = xml_parser_create();
-      xml_set_object($this->parser, $this);
-      xml_set_element_handler($this->parser, "tag_open", "tag_close");
-      $this->parse($this->filename);
-      $this->set_current($this->current['NAME']);
-    }
-  }  
-
-
-  /*! \brief Parse the given configuration file 
-   *
-   *  Parses the configuration file and displays errors if there
-   *  is something wrong with it.
-   *
-   *  \param string 'filename' The filename of the configuration file.
-   * */
-
-  function parse($filename)
-  {
-    $this->data = array(
-        "TABS"      => array(), 
-        "LOCATIONS" => array(), 
-        "MAIN"      => array(), 
-        "MENU"      => array(), 
-        "SERVICE"   => array());
-
-    $this->last_modified = filemtime($filename);
-    $this->filename = $filename;
-    $fh= fopen($filename, "r"); 
-    $xmldata= fread($fh, 100000);
-    fclose($fh);
-    if(!xml_parse($this->parser, chop($xmldata))){
-      $msg = sprintf(_("XML error in gosa.conf: %s at line %d"),
-            xml_error_string(xml_get_error_code($this->parser)),
-            xml_get_current_line_number($this->parser));
-      msg_dialog::display(_("Configuration error"), $msg, FATAL_ERROR_DIALOG);
-      exit;
-    }
+    /* XML parser */
+    var $parser;
+    var $config_found= FALSE;
+    var $tags= array();
+    var $level= 0;
+    var $gpc= 0;
+    var $section= "";
+    var $currentLocation= "";
+
+    /*! \brief Store configuration for current location */
+    var $current= array(); 
+
+    /* Link to LDAP-server */
+    var $ldap= NULL;
+    var $referrals= array();
+
+    /* \brief Configuration data
+     *
+     * - $data['SERVERS'] contains server informations.
+     * */
+    var $data= array( 'TABS' => array(), 'LOCATIONS' => array(), 'SERVERS' => array(),
+            'MAIN' => array(),
+            'MENU' => array(), 'SERVICE' => array());
+    var $basedir= "";
+    var $config_version ="NOT SET";
+
+    /* Keep a copy of the current deparment list */
+    var $departments= array();
+    var $idepartments= array();
+    var $adepartments= array();
+    var $tdepartments= array();
+    var $department_info= array();
+    var $filename = "";
+    var $last_modified = 0;
+
+    var $instanceUUID = "";
+
+    private $jsonRPChandle = NULL; 
+
+    public $configRegistry = NULL;
+
+    /*! \brief Class constructor of the config class
+     *  
+     *  \param string 'filename' path to the configuration file
+     *  \param string 'basedir' base directory
+     *
+     * */
+    function config($filename, $basedir= "")
+    {
+        $this->parser = xml_parser_create();
+        $this->basedir= $basedir;
+
+        xml_set_object($this->parser, $this);
+        xml_set_element_handler($this->parser, "tag_open", "tag_close");
+
+        /* Parse config file directly? */
+        if ($filename != ""){
+            $this->parse($filename);
+        }
 
-    // Default schemacheck to "true"
-    if(!isset($this->data['MAIN']['SCHEMACHECK'])){
-      $this->data['MAIN']['SCHEMACHECK'] = "true";
-    }
-  }
-
-  function tag_open($parser, $tag, $attrs)
-  {
-    /* Save last and current tag for reference */
-    $this->tags[$this->level]= $tag;
-    $this->level++;
-
-    /* Trigger on CONF section */
-    if ($tag == 'CONF'){
-      $this->config_found= TRUE;
-      if(isset($attrs['CONFIGVERSION'])){
-        $this->config_version = $attrs['CONFIGVERSION'];
-      }
+        // Load configuration registry
+        $this->configRegistry = new configRegistry($this);
+        $this->registration = new GOsaRegistration($this);
     }
 
-    /* Return if we're not in config section */
-    if (!$this->config_found){
-      return;
-    }
 
-    /* yes/no to true/false and upper case TRUE to true and so on*/
-    foreach($attrs as $name => $value){
-      if(preg_match("/^(true|yes)$/i",$value)){
-        $attrs[$name] = "true";
-      }elseif(preg_match("/^(false|no)$/i",$value)){
-        $attrs[$name] = "false";
-      } 
-    }
+    function getInstanceUUID()
+    {
+        return($this->instanceUUID);
+    }    
 
-    /* Look through attributes */
-    switch ($this->tags[$this->level-1]){
 
+    /*! \brief Check and reload the configuration
+     * 
+     * This function checks if the configuration has changed, since it was
+     * read the last time and reloads it. It uses the file mtime to check
+     * weither the file changed or not.
+     *
+     * */ 
+    function check_and_reload()
+    {
+        global $ui;
 
-      /* Handle tab section */
-      case 'TAB':	$name= $this->tags[$this->level-2];
+        /* Check if class_location.inc has changed, this is the case 
+           if we have installed or removed plugins. 
+         */
+        if(session::global_is_set("class_location.inc:timestamp")){
+            $tmp = stat("../include/class_location.inc");
+            if($tmp['mtime'] != session::global_get("class_location.inc:timestamp")){
+                session::global_un_set("plist");
+            }
+        }
+        $tmp = stat("../include/class_location.inc");
+        session::global_set("class_location.inc:timestamp",$tmp['mtime']);
+
+        if($this->filename != "" && filemtime($this->filename) != $this->last_modified){
+
+            $this->config_found= FALSE;
+            $this->tags= array();
+            $this->level= 0;
+            $this->gpc= 0;
+            $this->section= "";
+            $this->currentLocation= "";
+
+            $this->parser = xml_parser_create();
+            xml_set_object($this->parser, $this);
+            xml_set_element_handler($this->parser, "tag_open", "tag_close");
+            $this->parse($this->filename);
+            $this->set_current($this->current['NAME']);
+        }
+    }  
+
+
+    /*! \brief Parse the given configuration file 
+     *
+     *  Parses the configuration file and displays errors if there
+     *  is something wrong with it.
+     *
+     *  \param string 'filename' The filename of the configuration file.
+     * */
+
+    function parse($filename)
+    {
+        $this->data = array(
+                "TABS"      => array(), 
+                "LOCATIONS" => array(), 
+                "MAIN"      => array(), 
+                "MENU"      => array(), 
+                "SERVICE"   => array());
+
+        $this->last_modified = filemtime($filename);
+        $this->filename = $filename;
+        $fh= fopen($filename, "r"); 
+        $xmldata= fread($fh, 100000);
+        fclose($fh);
+        if(!xml_parse($this->parser, chop($xmldata))){
+            $msg = sprintf(_("XML error in gosa.conf: %s at line %d"),
+                    bold(xml_error_string(xml_get_error_code($this->parser))),
+                    bold(xml_get_current_line_number($this->parser)));
+            msg_dialog::display(_("Configuration error"), $msg, FATAL_ERROR_DIALOG);
+            exit;
+        }
+    }
 
-                  /* Create new array? */
-                  if (!isset($this->data['TABS'][$name])){
-                    $this->data['TABS'][$name]= array();
-                  }
+    function tag_open($parser, $tag, $attrs)
+    {
+        /* Save last and current tag for reference */
+        $this->tags[$this->level]= $tag;
+        $this->level++;
+
+        /* Trigger on CONF section */
+        if ($tag == 'CONF'){
+            $this->config_found= TRUE;
+            if(isset($attrs['CONFIGVERSION'])){
+                $this->config_version = $attrs['CONFIGVERSION'];
+            }
+            if(isset($attrs['INSTANCEUUID'])){
+                $this->instanceUUID = $attrs['INSTANCEUUID'];
+            }
+        }
 
-                  /* Add elements */
-                  $this->data['TABS'][$name][]= $attrs;
-                  break;
+        /* Return if we're not in config section */
+        if (!$this->config_found){
+            return;
+        }
 
-                  /* Handle location */
-      case 'LOCATION':
-                  if ($this->tags[$this->level-2] == 'MAIN'){
-                    $name= $attrs['NAME'];
-                    $name = preg_replace("/[<>\"']/","",$name);
-                    $attrs['NAME'] = $name;
-                    $this->currentLocation= $name;
+        /* yes/no to true/false and upper case TRUE to true and so on*/
+        foreach($attrs as $name => $value){
+            if(preg_match("/^(true|yes)$/i",$value)){
+                $attrs[$name] = "true";
+            }elseif(preg_match("/^(false|no)$/i",$value)){
+                $attrs[$name] = "false";
+            } 
+        }
 
-                    /* Add location elements */
-                    $this->data['LOCATIONS'][$name]= $attrs;
-                  }
-                  break;
+        /* Look through attributes */
+        switch ($this->tags[$this->level-1]){
+
+
+            /* Handle tab section */
+            case 'TAB':	$name= $this->tags[$this->level-2];
+
+                        /* Create new array? */
+                        if (!isset($this->data['TABS'][$name])){
+                            $this->data['TABS'][$name]= array();
+                        }
+
+                        /* Add elements */
+                        $this->data['TABS'][$name][]= $attrs;
+                        break;
+
+                        /* Handle location */
+            case 'LOCATION':
+                        if ($this->tags[$this->level-2] == 'MAIN'){
+                            $name= $attrs['NAME'];
+                            $name = preg_replace("/[<>\"']/","",$name);
+                            $attrs['NAME'] = $name;
+                            $this->currentLocation= $name;
+
+                            /* Add location elements */
+                            $this->data['LOCATIONS'][$name]= $attrs;
+                        }
+                        break;
+
+                        /* Handle referral tags */
+            case 'REFERRAL':
+                        if ($this->tags[$this->level-2] == 'LOCATION'){
+                            $url= $attrs['URI'];
+                            $server= preg_replace('!^([^:]+://[^/]+)/.*$!', '\\1', $url);
+
+                            /* Add location elements */
+                            if (!isset($this->data['LOCATIONS'][$this->currentLocation]['REFERRAL'])){
+                                $this->data['LOCATIONS'][$this->currentLocation]['REFERRAL']= array();
+                            }
+
+                            $this->data['LOCATIONS'][$this->currentLocation]['REFERRAL'][$server]= $attrs;
+                        }
+                        break;
+
+                        /* Load main parameters */
+            case 'MAIN':
+                        $this->data['MAIN']= array_merge ($this->data['MAIN'], $attrs);
+                        break;
+
+                        /* Load menu */
+            case 'SECTION':
+                        if ($this->tags[$this->level-2] == 'MENU'){
+                            $this->section= $attrs['NAME'];
+                            $this->data['MENU'][$this->section]= array(); ;
+                        }
+                        break;
+
+            case 'PATHMENU':
+                        $this->data['PATHMENU']= array(); ;
+                        break;
+
+            case 'SHORTCUTMENU':
+                        $this->data['SHORTCUTMENU']= array(); ;
+                        break;
+
+                        /* Inser plugins */
+            case 'PLUGIN':
+                        if ($this->tags[$this->level-3] == 'MENU' &&
+                                $this->tags[$this->level-2] == 'SECTION'){
+
+                            $this->data['MENU'][$this->section][$this->gpc++]= $attrs;
+                        }
+                        if ($this->tags[$this->level-2] == 'PATHMENU'){
+                            $this->data['PATHMENU'][$this->gpc++]= $attrs;
+                        }
+                        if ($this->tags[$this->level-2] == 'SHORTCUTMENU'){
+                            $this->data['SHORTCUTMENU'][$this->gpc++]= $attrs;
+                        }
+                        if ($this->tags[$this->level-2] == 'SERVICEMENU'){
+                            $this->data['SERVICE'][$attrs['CLASS']]= $attrs;
+                        }
+                        break;
+        }
+    }
 
-                  /* Handle referral tags */
-      case 'REFERRAL':
-                  if ($this->tags[$this->level-2] == 'LOCATION'){
-                    $url= $attrs['URI'];
-                    $server= preg_replace('!^([^:]+://[^/]+)/.*$!', '\\1', $url);
+    function tag_close($parser, $tag)
+    {
+        /* Close config section */
+        if ($tag == 'CONF'){
+            $this->config_found= FALSE;
+        }
+        $this->level--;
+    }
 
-                    /* Add location elements */
-                    if (!isset($this->data['LOCATIONS'][$this->currentLocation]['REFERRAL'])){
-                      $this->data['LOCATIONS'][$this->currentLocation]['REFERRAL']= array();
-                    }
 
-                    $this->data['LOCATIONS'][$this->currentLocation]['REFERRAL'][$server]= $attrs;
-                  }
-                  break;
-
-                  /* Load main parameters */
-      case 'MAIN':
-                  $this->data['MAIN']= array_merge ($this->data['MAIN'], $attrs);
-                  break;
-
-                  /* Load menu */
-      case 'SECTION':
-                  if ($this->tags[$this->level-2] == 'MENU'){
-                    $this->section= $attrs['NAME'];
-                    $this->data['MENU'][$this->section]= array(); ;
-                  }
-                  break;
-
-                  /* Inser plugins */
-      case 'PLUGIN':
-                  if ($this->tags[$this->level-3] == 'MENU' &&
-                      $this->tags[$this->level-2] == 'SECTION'){
-
-                    $this->data['MENU'][$this->section][$this->gpc++]= $attrs;
-                  }
-                  if ($this->tags[$this->level-2] == 'SERVICEMENU'){
-                    $this->data['SERVICE'][$attrs['CLASS']]= $attrs;
-                  }
-                  break;
+    function get_credentials($creds)
+    {
+        if (isset($_SERVER['HTTP_GOSA_KEY'])){
+            if (!session::global_is_set('HTTP_GOSA_KEY_CACHE')){
+                session::global_set('HTTP_GOSA_KEY_CACHE',array());
+            }
+            $cache = session::global_get('HTTP_GOSA_KEY_CACHE');
+            if(!isset($cache[$creds])){
+                $cache[$creds] = cred_decrypt($creds, $_SERVER['HTTP_GOSA_KEY']);
+                session::global_set('HTTP_GOSA_KEY_CACHE',$cache);
+            }
+            return ($cache[$creds]);
+        }
+        return ($creds);
     }
-  }
 
-  function tag_close($parser, $tag)
-  {
-    /* Close config section */
-    if ($tag == 'CONF'){
-      $this->config_found= FALSE;
-    }
-    $this->level--;
-  }
-
-
-  function get_credentials($creds)
-  {
-    if (isset($_SERVER['HTTP_GOSA_KEY'])){
-      if (!session::global_is_set('HTTP_GOSA_KEY_CACHE')){
-        session::global_set('HTTP_GOSA_KEY_CACHE',array());
-      }
-      $cache = session::global_get('HTTP_GOSA_KEY_CACHE');
-      if(!isset($cache[$creds])){
-        $cache[$creds] = cred_decrypt($creds, $_SERVER['HTTP_GOSA_KEY']);
-        session::global_set('HTTP_GOSA_KEY_CACHE',$cache);
-      }
-      return ($cache[$creds]);
-    }
-    return ($creds);
-  }
-
-
-  /*! \brief Get a LDAP link object
-   *
-   * This function can be used to get an ldap object, which in turn can
-   * be used to query the LDAP. See the LDAP class for more information
-   * on how to use it.
-   *
-   * Example usage:
-   * \code
-   * $ldap = $this->config->get_ldap_link();
-   * \endcode
-   *
-   * \param boolean sizelimit Weither to impose a sizelimit on the LDAP object or not.
-   * Defaults to false. If set to true, the size limit in the configuration
-   * file will be used to set the option LDAP_OPT_SIZELIMIT.
-   * \return ldapMultiplexer object
-   */
-  function get_ldap_link($sizelimit= FALSE)
-  {
-    if($this->ldap === NULL || !is_resource($this->ldap->cid)){
-
-      /* Build new connection */
-      $this->ldap= ldap_init ($this->current['SERVER'], $this->current['BASE'],
-          $this->current['ADMINDN'], $this->get_credentials($this->current['ADMINPASSWORD']));
-
-      /* Check for connection */
-      if (is_null($this->ldap) || (is_int($this->ldap) && $this->ldap == 0)){
-        $smarty= get_smarty();
-        msg_dialog::display(_("LDAP error"), _("Cannot bind to LDAP. Please contact the system administrator."), FATAL_ERROR_DIALOG);
-        exit();
-      }
-
-      /* Move referrals */
-      if (!isset($this->current['REFERRAL'])){
-        $this->ldap->referrals= array();
-      } else {
-        $this->ldap->referrals= $this->current['REFERRAL'];
-      }
-
-      if (!session::global_is_set('size_limit')){
-        session::global_set('size_limit',$this->current['LDAPSIZELIMIT']);
-        session::global_set('size_ignore',$this->current['LDAPSIZEIGNORE']);
-      }
-    }
 
-    $obj  = new ldapMultiplexer($this->ldap);
-    if ($sizelimit){
-      $obj->set_size_limit(session::global_get('size_limit'));
-    } else {
-      $obj->set_size_limit(0);
-    }
-    return($obj);
-  }
-
-  /*! \brief Set the current location
-   *  
-   *  \param string name the name of the location
-   */
-  function set_current($name)
-  {
-    $this->current= $this->data['LOCATIONS'][$name];
-
-    if (!isset($this->current['USERRDN'])){
-      $this->current['USERRDN']= "ou=people";
-    }
-    if (!isset($this->current['GROUPRDN'])){
-      $this->current['GROUPS']= "ou=groups";
-    }
+    function getRpcHandle($connectUrl=NULL, $username=NULL, $userPassword=NULL, $authModeDigest=FALSE, $cache = TRUE)
+    {
+        // Get conenct information, if no info was given use the default values from gosa.conf
+        $connectUrl   = ($connectUrl !== NULL)   ? $connectUrl   : $this->get_cfg_value('core','gosaRpcServer');
+        $username     = ($username !== NULL)     ? $username     : $this->get_cfg_value('core','gosaRpcUser');
+        $userPassword = ($userPassword !== NULL) ? $userPassword : $this->get_cfg_value('core','gosaRpcPassword');
+        $authModeDigest = $authModeDigest;
+    
+        // Create jsonRPC handle on demand.
+        if(!$cache){
+            return(new jsonRPC($this, $connectUrl, $username, $userPassword, $authModeDigest));
+        }else{
 
-    if (isset($this->current['INITIAL_BASE'])){
-      session::global_set('CurrentMainBase',$this->current['INITIAL_BASE']);
+            if(!isset($this->jsonRPChandle[$connectUrl][$username]) || !$this->jsonRPChandle[$connectUrl][$username]){
+                $this->jsonRPChandle[$connectUrl][$username] = new jsonRPC($this, $connectUrl, $username, $userPassword, $authModeDigest);
+            }
+            return($this->jsonRPChandle[$connectUrl][$username]);
+        }
     }
-  
-    /* Remove possibly added ',' from end of group and people ou */
-    $this->current['GROUPS'] = preg_replace("/,*$/","",$this->current['GROUPRDN']);
-    $this->current['USERRDN'] = preg_replace("/,*$/","",$this->current['USERRDN']);
 
-    if (!isset($this->current['SAMBAMACHINEACCOUNTRDN'])){
-      $this->current['SAMBAMACHINEACCOUNTRDN']= "ou=winstations,ou=systems";
-    }
-    if (!isset($this->current['ACCOUNTPRIMARYATTRIBUTE'])){
-      $this->current['ACCOUNTPRIMARYATTRIBUTE']= "cn";
-    }
-    if (!isset($this->current['MINID'])){
-      $this->current['MINID']= 100;
-    }
-    if (!isset($this->current['LDAPSIZELIMIT'])){
-      $this->current['LDAPSIZELIMIT']= 200;
-    }
-    if (!isset($this->current['SIZEINGORE'])){
-      $this->current['LDAPSIZEIGNORE']= TRUE;
-    } else {
-      if (preg_match("/true/i", $this->current['LDAPSIZEIGNORE'])){
-        $this->current['LDAPSIZEIGNORE']= TRUE;
-      } else {
-        $this->current['LDAPSIZEIGNORE']= FALSE;
-      }
-    }
 
-    /* Sort referrals, if present */
-    if (isset ($this->current['REFERRAL'])){
-      $bases= array();
-      $servers= array();
-      foreach ($this->current['REFERRAL'] as $ref){
-        $server= preg_replace('%^(.*://[^/]+)/.*$%', '\\1', $ref['URI']);
-        $base= preg_replace('%^.*://[^/]+/(.*)$%', '\\1', $ref['URI']);
-        $bases[$base]= strlen($base);
-        $servers[$base]= $server;
-      }
-      asort($bases);
-      reset($bases);
-    }
+    /*! \brief Get a LDAP link object
+     *
+     * This function can be used to get an ldap object, which in turn can
+     * be used to query the LDAP. See the LDAP class for more information
+     * on how to use it.
+     *
+     * Example usage:
+     * \code
+     * $ldap = $this->config->get_ldap_link();
+     * \endcode
+     *
+     * \param boolean sizelimit Weither to impose a sizelimit on the LDAP object or not.
+     * Defaults to false. If set to true, the size limit in the configuration
+     * file will be used to set the option LDAP_OPT_SIZELIMIT.
+     * \return ldapMultiplexer object
+     */
+    function get_ldap_link($sizelimit= FALSE)
+    {
+        if($this->ldap === NULL || !is_resource($this->ldap->cid)){
+
+            /* Build new connection */
+            $this->ldap= ldap_init ($this->current['SERVER'], $this->current['BASE'],
+                    $this->current['ADMINDN'], $this->get_credentials($this->current['ADMINPASSWORD']));
+
+            /* Check for connection */
+            if (is_null($this->ldap) || (is_int($this->ldap) && $this->ldap == 0)){
+                $smarty= get_smarty();
+                msg_dialog::display(_("LDAP error"), _("Cannot bind to LDAP!"), FATAL_ERROR_DIALOG);
+                exit();
+            }
 
-    /* SERVER not defined? Load the one with the shortest base */
-    if (!isset($this->current['SERVER'])){
-      $this->current['SERVER']= $servers[key($bases)];
-    }
+            /* Move referrals */
+            if (!isset($this->current['REFERRAL'])){
+                $this->ldap->referrals= array();
+            } else {
+                $this->ldap->referrals= $this->current['REFERRAL'];
+            }
 
-    /* BASE not defined? Load the one with the shortest base */
-    if (!isset($this->current['BASE'])){
-      $this->current['BASE']= key($bases);
+            if (!session::global_is_set('size_limit')){
+                session::global_set('size_limit', $this->get_cfg_value('core', 'ldapSizelimit'));
+                session::global_set('size_ignore', $this->boolValueIsTrue('core', 'ldapSizeIgnore'));
+            }
+        }
+
+        $obj  = new ldapMultiplexer($this->ldap);
+        if ($sizelimit){
+            $obj->set_size_limit(session::global_get('size_limit'));
+        } else {
+            $obj->set_size_limit(0);
+        }
+        return($obj);
     }
 
-    /* Convert BASE to have escaped special characters */
-    $this->current['BASE']= @LDAP::convert($this->current['BASE']);
+    /*! \brief Set the current location
+     *  
+     *  \param string name the name of the location
+     */
+    function set_current($name)
+    {
+        $this->current= $this->data['LOCATIONS'][$name];
 
-    /* Parse LDAP referral informations */
-    if (!isset($this->current['ADMINDN']) || !isset($this->current['ADMINPASSWORD'])){
-      $url= $this->current['SERVER'];
-      $referral= $this->current['REFERRAL'][$url];
-      $this->current['ADMINDN']= $referral['ADMINDN'];
-      $this->current['ADMINPASSWORD']= $referral['ADMINPASSWORD'];
-    }
+        if (isset($this->current['INITIAL_BASE'])){
+            session::global_set('CurrentMainBase',$this->current['INITIAL_BASE']);
+        }
 
-    /* Load server informations */
-    $this->load_servers();
-  }
-
-
-  /*! \brief Load server information from config/LDAP
-   *
-   *  This function searches the LDAP for servers (e.g. goImapServer, goMailServer etc.)
-   *  and stores information about them $this->data['SERVERS']. In the case of mailservers
-   *  the main section of the configuration file is searched, too.
-   */
-  function load_servers ()
-  {
-    /* Only perform actions if current is set */
-    if ($this->current === NULL){
-      return;
-    }
+        /* Sort referrals, if present */
+        if (isset ($this->current['REFERRAL'])){
+            $bases= array();
+            $servers= array();
+            foreach ($this->current['REFERRAL'] as $ref){
+                $server= preg_replace('%^(.*://[^/]+)/.*$%', '\\1', $ref['URI']);
+                $base= preg_replace('%^.*://[^/]+/(.*)$%', '\\1', $ref['URI']);
+                $bases[$base]= strlen($base);
+                $servers[$base]= $server;
+            }
+            asort($bases);
+            reset($bases);
+        }
 
-    /* Fill imap servers */
-    $ldap= $this->get_ldap_link();
-    $ldap->cd ($this->current['BASE']);
+        /* SERVER not defined? Load the one with the shortest base */
+        if (!isset($this->current['SERVER'])){
+            $this->current['SERVER']= $servers[key($bases)];
+        }
 
-    /* Search mailMethod konfiguration in main section too 
-     */
-    $this->current['MAILMETHOD'] = $this->get_cfg_value("mailMethod","");
-    if (!isset($this->current['MAILMETHOD'])){
-      $this->current['MAILMETHOD']= "";
+        /* BASE not defined? Load the one with the shortest base */
+        if (!isset($this->current['BASE'])){
+            $this->current['BASE']= key($bases);
+        }
+
+        /* Convert BASE to have escaped special characters */
+        $this->current['BASE']= @LDAP::convert($this->current['BASE']);
+
+        /* Parse LDAP referral informations */
+        if (!isset($this->current['ADMINDN']) || !isset($this->current['ADMINPASSWORD'])){
+            $url= $this->current['SERVER'];
+            $referral= $this->current['REFERRAL'][$url];
+            $this->current['ADMINDN']= $referral['ADMINDN'];
+            $this->current['ADMINPASSWORD']= $referral['ADMINPASSWORD'];
+        }
+
+        /* Load server informations */
+        $this->load_servers();
     }
-    if ($this->current['MAILMETHOD'] == ""){
-      $ldap->search ("(objectClass=goMailServer)", array('cn'));
-      $this->data['SERVERS']['IMAP']= array();
-      while ($attrs= $ldap->fetch()){
-        $name= $attrs['cn'][0];
-        $this->data['SERVERS']['IMAP'][$name]= 
-          array( 
-              "server_dn"   => $attrs['dn'],
-              "connect"     => "",
-              "admin"       => "",
-              "password"    => "",
-              "sieve_server"=> "",
-              "sieve_option"=> "",
-              "sieve_port"  => "");
-      }
-    } else {
-      $ldap->search ("(&(objectClass=goImapServer)(goImapSieveServer=*))", 
-                    array('goImapName', 'goImapConnect', 'goImapAdmin', 'goImapPassword',
-            'goImapSieveServer', 'goImapSievePort'));
 
-      $this->data['SERVERS']['IMAP']= array();
 
-      while ($attrs= $ldap->fetch()){
+    /*! \brief Load server information from config/LDAP
+     *
+     *  This function searches the LDAP for servers (e.g. goImapServer, goMailServer etc.)
+     *  and stores information about them $this->data['SERVERS']. In the case of mailservers
+     *  the main section of the configuration file is searched, too.
+     */
+    function load_servers ()
+    {
+        /* Only perform actions if current is set */
+        if ($this->current === NULL){
+            return;
+        }
+
+        /* Fill imap servers */
+        $ldap= $this->get_ldap_link();
+        $ldap->cd ($this->current['BASE']);
 
-        /* Check if the given goImapSieveServer is in the new style "{cn:port/option}"
-           or the old style just "cn".
+        /* Search mailMethod konfiguration in main section too 
          */
-        if(preg_match("/\{/",$attrs['goImapSieveServer'][0])){
-          $sieve_server = preg_replace("/^\{([^:]*).*$/","\\1",$attrs['goImapSieveServer'][0]);
-          $sieve_option = preg_replace("/^[^:]*[^\/]*+\/(.*)\}$/","\\1",$attrs['goImapSieveServer'][0]);
-        }else{
-          $sieve_server = $attrs['goImapSieveServer'][0];
-          $sieve_option = "";
+        $tmp = $this->get_cfg_value("core","mailMethod");
+        if ($tmp == ""){
+            $ldap->search ("(objectClass=goMailServer)", array('cn'));
+            $this->data['SERVERS']['IMAP']= array();
+            while ($attrs= $ldap->fetch()){
+                $name= $attrs['cn'][0];
+                $this->data['SERVERS']['IMAP'][$name]= 
+                    array( 
+                            "server_dn"   => $attrs['dn'],
+                            "connect"     => "",
+                            "admin"       => "",
+                            "password"    => "",
+                            "sieve_server"=> "",
+                            "sieve_option"=> "",
+                            "sieve_port"  => "");
+            }
+        } else {
+            $ldap->search ("(&(objectClass=goImapServer)(goImapSieveServer=*))", 
+                    array('goImapName', 'goImapConnect', 'goImapAdmin', 'goImapPassword',
+                        'goImapSieveServer', 'goImapSievePort'));
+
+            $this->data['SERVERS']['IMAP']= array();
+
+            while ($attrs= $ldap->fetch()){
+
+                /* Check if the given goImapSieveServer is in the new style "{cn:port/option}"
+                   or the old style just "cn".
+                 */
+                if(preg_match("/\{/",$attrs['goImapSieveServer'][0])){
+                    $sieve_server = preg_replace("/^\{([^:]*).*$/","\\1",$attrs['goImapSieveServer'][0]);
+                    $sieve_option = preg_replace("/^[^:]*[^\/]*+\/(.*)\}$/","\\1",$attrs['goImapSieveServer'][0]);
+                }else{
+                    $sieve_server = $attrs['goImapSieveServer'][0];
+                    $sieve_option = "";
+                }
+
+                $pwd            = $attrs['goImapPassword'][0];
+                $imap_admin     = $attrs['goImapAdmin'][0];
+                $imap_connect   = $attrs['goImapConnect'][0];
+                $imap_server    = $attrs['goImapName'][0];
+                $sieve_port     = $attrs['goImapSievePort'][0];
+
+                $this->data['SERVERS']['IMAP'][$imap_server]= 
+                    array( 
+                            "server_dn"   => $attrs['dn'],
+                            "connect"     => $imap_connect,
+                            "admin"       => $imap_admin,
+                            "password"    => $pwd,
+                            "sieve_server"=> $sieve_server,
+                            "sieve_option"=> $sieve_option,
+                            "sieve_port"  => $sieve_port);
+            }
         }
 
-        $pwd            = $attrs['goImapPassword'][0];
-        $imap_admin     = $attrs['goImapAdmin'][0];
-        $imap_connect   = $attrs['goImapConnect'][0];
-        $imap_server    = $attrs['goImapName'][0];
-        $sieve_port     = $attrs['goImapSievePort'][0];
-        
-        $this->data['SERVERS']['IMAP'][$imap_server]= 
-            array( 
-            "server_dn"   => $attrs['dn'],
-            "connect"     => $imap_connect,
-            "admin"       => $imap_admin,
-            "password"    => $pwd,
-            "sieve_server"=> $sieve_server,
-            "sieve_option"=> $sieve_option,
-            "sieve_port"  => $sieve_port);
-      }
-    }
+        /* Get kerberos server. FIXME: only one is supported currently */
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(&(goKrbRealm=*)(goKrbAdmin=*)(objectClass=goKrbServer))");
+        if ($ldap->count()){
+            $attrs= $ldap->fetch();
+            $this->data['SERVERS']['KERBEROS']= array( 'SERVER' => $attrs['cn'][0],
+                    'REALM' => $attrs['goKrbRealm'][0],
+                    'ADMIN' => $attrs['goKrbAdmin'][0]);
+        }
 
-    /* Get kerberos server. FIXME: only one is supported currently */
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(&(goKrbRealm=*)(goKrbAdmin=*)(objectClass=goKrbServer))");
-    if ($ldap->count()){
-      $attrs= $ldap->fetch();
-      $this->data['SERVERS']['KERBEROS']= array( 'SERVER' => $attrs['cn'][0],
-          'REALM' => $attrs['goKrbRealm'][0],
-          'ADMIN' => $attrs['goKrbAdmin'][0]);
-    }
+        /* Get cups server. FIXME: only one is supported currently */
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(objectClass=goCupsServer)");
+        if ($ldap->count()){
+            $attrs= $ldap->fetch();
+            $this->data['SERVERS']['CUPS']= $attrs['cn'][0];	
+        }
 
-    /* Get cups server. FIXME: only one is supported currently */
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(objectClass=goCupsServer)");
-    if ($ldap->count()){
-      $attrs= $ldap->fetch();
-      $this->data['SERVERS']['CUPS']= $attrs['cn'][0];	
-    }
+        /* Get fax server. FIXME: only one is supported currently */
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(objectClass=goFaxServer)");
+        if ($ldap->count()){
+            $attrs= $ldap->fetch();
+            $this->data['SERVERS']['FAX']= array( 'SERVER' => $attrs['cn'][0],
+                    'LOGIN' => $attrs['goFaxAdmin'][0],
+                    'PASSWORD' => $attrs['goFaxPassword'][0]);
+        }
 
-    /* Get fax server. FIXME: only one is supported currently */
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(objectClass=goFaxServer)");
-    if ($ldap->count()){
-      $attrs= $ldap->fetch();
-      $this->data['SERVERS']['FAX']= array( 'SERVER' => $attrs['cn'][0],
-          'LOGIN' => $attrs['goFaxAdmin'][0],
-          'PASSWORD' => $attrs['goFaxPassword'][0]);
-    }
+
+        /* Get asterisk servers */
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(objectClass=goFonServer)");
+        $this->data['SERVERS']['FON']= array();
+        if ($ldap->count()){
+            while ($attrs= $ldap->fetch()){
+
+                /* Add 0 entry for development */
+                if(count($this->data['SERVERS']['FON']) == 0){
+                    $this->data['SERVERS']['FON'][0]= array(
+                            'DN'      => $attrs['dn'],
+                            'SERVER'  => $attrs['cn'][0],
+                            'LOGIN'   => $attrs['goFonAdmin'][0],
+                            'PASSWORD'  => $attrs['goFonPassword'][0],
+                            'DB'    => "gophone",
+                            'SIP_TABLE'   => "sip_users",
+                            'EXT_TABLE'   => "extensions",
+                            'VOICE_TABLE' => "voicemail_users",
+                            'QUEUE_TABLE' => "queues",
+                            'QUEUE_MEMBER_TABLE'  => "queue_members");
+                }
+
+                /* Add entry with 'dn' as index */
+                $this->data['SERVERS']['FON'][$attrs['dn']]= array(
+                        'DN'      => $attrs['dn'],
+                        'SERVER'  => $attrs['cn'][0],
+                        'LOGIN'   => $attrs['goFonAdmin'][0],
+                        'PASSWORD'  => $attrs['goFonPassword'][0],
+                        'DB'    => "gophone",
+                        'SIP_TABLE'   => "sip_users",
+                        'EXT_TABLE'   => "extensions",
+                        'VOICE_TABLE' => "voicemail_users",
+                        'QUEUE_TABLE' => "queues",
+                        'QUEUE_MEMBER_TABLE'  => "queue_members");
+            }
+        }
 
 
-    /* Get asterisk servers */
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(objectClass=goFonServer)");
-    $this->data['SERVERS']['FON']= array();
-    if ($ldap->count()){
-      while ($attrs= $ldap->fetch()){
-
-        /* Add 0 entry for development */
-        if(count($this->data['SERVERS']['FON']) == 0){
-          $this->data['SERVERS']['FON'][0]= array(
-              'DN'      => $attrs['dn'],
-              'SERVER'  => $attrs['cn'][0],
-              'LOGIN'   => $attrs['goFonAdmin'][0],
-              'PASSWORD'  => $attrs['goFonPassword'][0],
-              'DB'    => "gophone",
-              'SIP_TABLE'   => "sip_users",
-              'EXT_TABLE'   => "extensions",
-              'VOICE_TABLE' => "voicemail_users",
-              'QUEUE_TABLE' => "queues",
-              'QUEUE_MEMBER_TABLE'  => "queue_members");
+        /* Get glpi server */
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(&(objectClass=goGlpiServer)(cn=*)(goGlpiAdmin=*)(goGlpiDatabase=*))",array("cn","goGlpiPassword","goGlpiAdmin","goGlpiDatabase"));
+        if ($ldap->count()){
+            $attrs= $ldap->fetch();
+            if(!isset($attrs['goGlpiPassword'])){
+                $attrs['goGlpiPassword'][0] ="";
+            }
+            $this->data['SERVERS']['GLPI']= array( 
+                    'SERVER' 	=> $attrs['cn'][0],
+                    'LOGIN' 	=> $attrs['goGlpiAdmin'][0],
+                    'PASSWORD' 	=> $attrs['goGlpiPassword'][0],
+                    'DB'		=> $attrs['goGlpiDatabase'][0]);
         }
 
-        /* Add entry with 'dn' as index */
-        $this->data['SERVERS']['FON'][$attrs['dn']]= array(
-            'DN'      => $attrs['dn'],
-            'SERVER'  => $attrs['cn'][0],
-            'LOGIN'   => $attrs['goFonAdmin'][0],
-            'PASSWORD'  => $attrs['goFonPassword'][0],
-            'DB'    => "gophone",
-            'SIP_TABLE'   => "sip_users",
-            'EXT_TABLE'   => "extensions",
-            'VOICE_TABLE' => "voicemail_users",
-            'QUEUE_TABLE' => "queues",
-            'QUEUE_MEMBER_TABLE'  => "queue_members");
-      }
-    }
 
+        /* Get logdb server */
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(objectClass=goLogDBServer)");
+        if ($ldap->count()){
+            $attrs= $ldap->fetch();
+            if(!isset($attrs['gosaLogDB'][0])){
+                $attrs['gosaLogDB'][0] = "gomon";
+            }
+            $this->data['SERVERS']['LOG']= array( 'SERVER' => $attrs['cn'][0],
+                    'LOGIN' => $attrs['goLogAdmin'][0],
+                    'DB' => $attrs['gosaLogDB'][0],
+                    'PASSWORD' => $attrs['goLogPassword'][0]);
+        }
 
-    /* Get glpi server */
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(&(objectClass=goGlpiServer)(cn=*)(goGlpiAdmin=*)(goGlpiDatabase=*))",array("cn","goGlpiPassword","goGlpiAdmin","goGlpiDatabase"));
-    if ($ldap->count()){
-      $attrs= $ldap->fetch();
-      if(!isset($attrs['goGlpiPassword'])){
-        $attrs['goGlpiPassword'][0] ="";
-      }
-      $this->data['SERVERS']['GLPI']= array( 
-          'SERVER' 	=> $attrs['cn'][0],
-          'LOGIN' 	=> $attrs['goGlpiAdmin'][0],
-          'PASSWORD' 	=> $attrs['goGlpiPassword'][0],
-          'DB'		=> $attrs['goGlpiDatabase'][0]);
-    }
 
+        /* GOsa logging databases */
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(objectClass=gosaLogServer)");
+        if ($ldap->count()){
+            while($attrs= $ldap->fetch()){
+                $this->data['SERVERS']['LOGGING'][$attrs['cn'][0]]= 
+                    array(
+                            'DN'    => $attrs['dn'],
+                            'USER'  => $attrs['goLogDBUser'][0],
+                            'DB'    => $attrs['goLogDB'][0],
+                            'PWD'   => $attrs['goLogDBPassword'][0]);
+            }
+        }
 
-    /* Get logdb server */
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(objectClass=goLogDBServer)");
-    if ($ldap->count()){
-      $attrs= $ldap->fetch();
-      if(!isset($attrs['gosaLogDB'][0])){
-        $attrs['gosaLogDB'][0] = "gomon";
-      }
-      $this->data['SERVERS']['LOG']= array( 'SERVER' => $attrs['cn'][0],
-          'LOGIN' => $attrs['goLogAdmin'][0],
-          'DB' => $attrs['gosaLogDB'][0],
-          'PASSWORD' => $attrs['goLogPassword'][0]);
-    }
 
+        /* Get NFS server lists */
+        $tmp= array("default");
+        $tmp2= array("default");
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(&(objectClass=goShareServer)(goExportEntry=*))");
+        while ($attrs= $ldap->fetch()){
+            for ($i= 0; $i<$attrs["goExportEntry"]["count"]; $i++){
+                if(preg_match('/^[^|]+\|[^|]+\|NFS\|.*$/', $attrs["goExportEntry"][$i])){
+                    $path= preg_replace ("/^[^|]+\|[^|]+\|[^|]+\|[^|]+\|([^|]+).*$/", '\1', $attrs["goExportEntry"][$i]);
+                    $tmp[]= $attrs["cn"][0].":$path";
+                }
+                if(preg_match('/^[^|]+\|[^|]+\|NBD\|.*$/', $attrs["goExportEntry"][$i])){
+                    $path= preg_replace ("/^[^|]+\|[^|]+\|[^|]+\|[^|]+\|([^|]+).*$/", '\1', $attrs["goExportEntry"][$i]);
+                    $tmp2[]= $attrs["cn"][0].":$path";
+                }
+            }
+        }
+        $this->data['SERVERS']['NFS']= $tmp;
+        $this->data['SERVERS']['NBD']= $tmp2;
+
+        /* Load Terminalservers */
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(objectClass=goTerminalServer)",array("cn","gotoSessionType"));
+        $this->data['SERVERS']['TERMINAL']= array();
+        $this->data['SERVERS']['TERMINAL'][]= "default";
+        $this->data['SERVERS']['TERMINAL_SESSION_TYPES'] = array();
+
+
+        while ($attrs= $ldap->fetch()){
+            $this->data['SERVERS']['TERMINAL'][]= $attrs["cn"][0];
+            if(isset( $attrs["gotoSessionType"]['count'])){
+                for($i =0 ; $i < $attrs["gotoSessionType"]['count'] ; $i++){
+                    $this->data['SERVERS']['TERMINAL_SESSION_TYPES'][$attrs["cn"][0]][] = $attrs["gotoSessionType"][$i]; 
+                }
+            }
+        }
 
-    /* GOsa logging databases */
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(objectClass=gosaLogServer)");
-    if ($ldap->count()){
-      while($attrs= $ldap->fetch()){
-      $this->data['SERVERS']['LOGGING'][$attrs['cn'][0]]= 
-          array(
-          'DN'    => $attrs['dn'],
-          'USER'  => $attrs['goLogDBUser'][0],
-          'DB'    => $attrs['goLogDB'][0],
-          'PWD'   => $attrs['goLogDBPassword'][0]);
-      }
-    }
+        /* Ldap Server 
+         */
+        $this->data['SERVERS']['LDAP']= array();
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(&(objectClass=goLdapServer)(goLdapBase=*))");
+        while ($attrs= $ldap->fetch()){
+            $this->data['SERVERS']['LDAP'][$attrs['dn']] = $attrs;
+        }
 
+        /* Get misc server lists */
+        $this->data['SERVERS']['SYSLOG']= array("default");
+        $this->data['SERVERS']['NTP']= array("default");
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(objectClass=goNtpServer)");
+        while ($attrs= $ldap->fetch()){
+            $this->data['SERVERS']['NTP'][]= $attrs["cn"][0];
+        }
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(objectClass=goSyslogServer)");
+        while ($attrs= $ldap->fetch()){
+            $this->data['SERVERS']['SYSLOG'][]= $attrs["cn"][0];
+        }
 
-    /* Get NFS server lists */
-    $tmp= array("default");
-    $tmp2= array("default");
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(&(objectClass=goShareServer)(goExportEntry=*))");
-    while ($attrs= $ldap->fetch()){
-      for ($i= 0; $i<$attrs["goExportEntry"]["count"]; $i++){
-        if(preg_match('/^[^|]+\|[^|]+\|NFS\|.*$/', $attrs["goExportEntry"][$i])){
-          $path= preg_replace ("/^[^|]+\|[^|]+\|[^|]+\|[^|]+\|([^|]+).*$/", '\1', $attrs["goExportEntry"][$i]);
-          $tmp[]= $attrs["cn"][0].":$path";
-	}
-        if(preg_match('/^[^|]+\|[^|]+\|NBD\|.*$/', $attrs["goExportEntry"][$i])){
-          $path= preg_replace ("/^[^|]+\|[^|]+\|[^|]+\|[^|]+\|([^|]+).*$/", '\1', $attrs["goExportEntry"][$i]);
-          $tmp2[]= $attrs["cn"][0].":$path";
-	}
-      }
-    }
-    $this->data['SERVERS']['NFS']= $tmp;
-    $this->data['SERVERS']['NBD']= $tmp2;
-
-    /* Load Terminalservers */
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(objectClass=goTerminalServer)",array("cn","gotoSessionType"));
-    $this->data['SERVERS']['TERMINAL']= array();
-    $this->data['SERVERS']['TERMINAL'][]= "default";
-    $this->data['SERVERS']['TERMINAL_SESSION_TYPES'] = array();
-
-
-    while ($attrs= $ldap->fetch()){
-      $this->data['SERVERS']['TERMINAL'][]= $attrs["cn"][0];
-      if(isset( $attrs["gotoSessionType"]['count'])){
-        for($i =0 ; $i < $attrs["gotoSessionType"]['count'] ; $i++){
-          $this->data['SERVERS']['TERMINAL_SESSION_TYPES'][$attrs["cn"][0]][] = $attrs["gotoSessionType"][$i]; 
+        /* Get samba servers from LDAP, in case of samba3 */
+        $this->data['SERVERS']['SAMBA']= array();
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ("(objectClass=sambaDomain)");
+        while ($attrs= $ldap->fetch()){
+            $this->data['SERVERS']['SAMBA'][$attrs['sambaDomainName'][0]]= array( "SID" =>"","RIDBASE" =>"");
+            if(isset($attrs["sambaSID"][0])){
+                $this->data['SERVERS']['SAMBA'][$attrs['sambaDomainName'][0]]["SID"]  = $attrs["sambaSID"][0];
+            }
+            if(isset($attrs["sambaAlgorithmicRidBase"][0])){
+                $this->data['SERVERS']['SAMBA'][$attrs['sambaDomainName'][0]]["RIDBASE"] = $attrs["sambaAlgorithmicRidBase"][0];
+            }
         }
-      }
-    }
 
-    /* Ldap Server 
-     */
-    $this->data['SERVERS']['LDAP']= array();
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(&(objectClass=goLdapServer)(goLdapBase=*))");
-    while ($attrs= $ldap->fetch()){
-      $this->data['SERVERS']['LDAP'][$attrs['dn']] = $attrs;
-    }
+        /* If no samba servers are found, look for configured sid/ridbase */
+        if (count($this->data['SERVERS']['SAMBA']) == 0){
+            $sambaSID = $this->get_cfg_value("core","sambaSID"); 
+            $sambaRIDBase = $this->get_cfg_value("core","sambaRidBase"); 
+            if (!isset($sambaSID) || !isset($sambaRIDBase)){ 
+                msg_dialog::display(_("Configuration error"), 
+                        _("sambaSID and/or sambaRidBase missing in the configuration!"), ERROR_DIALOG);
+            } else {
+                $this->data['SERVERS']['SAMBA']['DEFAULT']= array(
+                        "SID" => $sambaSID ,
+                        "RIDBASE" => $sambaRIDBase);
+            }
+        }
 
-    /* Get misc server lists */
-    $this->data['SERVERS']['SYSLOG']= array("default");
-    $this->data['SERVERS']['NTP']= array("default");
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(objectClass=goNtpServer)");
-    while ($attrs= $ldap->fetch()){
-      $this->data['SERVERS']['NTP'][]= $attrs["cn"][0];
-    }
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(objectClass=goSyslogServer)");
-    while ($attrs= $ldap->fetch()){
-      $this->data['SERVERS']['SYSLOG'][]= $attrs["cn"][0];
     }
 
-    /* Get samba servers from LDAP, in case of samba3 */
-    $this->data['SERVERS']['SAMBA']= array();
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ("(objectClass=sambaDomain)");
-    while ($attrs= $ldap->fetch()){
-      $this->data['SERVERS']['SAMBA'][$attrs['sambaDomainName'][0]]= array( "SID" =>"","RIDBASE" =>"");
-      if(isset($attrs["sambaSID"][0])){
-        $this->data['SERVERS']['SAMBA'][$attrs['sambaDomainName'][0]]["SID"]  = $attrs["sambaSID"][0];
-      }
-      if(isset($attrs["sambaAlgorithmicRidBase"][0])){
-        $this->data['SERVERS']['SAMBA'][$attrs['sambaDomainName'][0]]["RIDBASE"] = $attrs["sambaAlgorithmicRidBase"][0];
-      }
-    }
 
-    /* If no samba servers are found, look for configured sid/ridbase */
-    if (count($this->data['SERVERS']['SAMBA']) == 0){
-      if (!isset($this->current["SAMBASID"]) || !isset($this->current["SAMBARIDBASE"])){
-        msg_dialog::display(_("Configuration error"), _("sambaSID and/or sambaRidBase missing in the configuration!"), ERROR_DIALOG);
-      } else {
-        $this->data['SERVERS']['SAMBA']['DEFAULT']= array(
-            "SID" => $this->current["SAMBASID"],
-            "RIDBASE" => $this->current["SAMBARIDBASE"]);
-      }
-    }
-    
-  }
+    function get_departments($ignore_dn= "")
+    {
+        global $config;
+
+        /* Initialize result hash */
+        $result= array();
+        $administrative= array();
+        $result['/']= $this->current['BASE'];
+        $this->tdepartments= array();
+
+        /* Get all department types from department Management, to be able detect the department type.
+           -It is possible that differnty department types have the same name, 
+           in this case we have to mark the department name to be able to differentiate.
+           (e.g l=Name  or   o=Name)
+         */    
+        $types = departmentManagement::get_support_departments();
+
+        /* Create a list of attributes to fetch */
+        $ldap_values = array("objectClass","gosaUnitTag", "description");
+        $filter = "";
+        foreach($types as $type){
+            $ldap_values[] = $type['ATTR'];
+            $filter .= "(objectClass=".$type['OC'].")";
+        }
+        $filter = "(&(objectClass=gosaDepartment)(|".$filter."))";
+
+        /* Get list of department objects */
+        $ldap= $this->get_ldap_link();
+        $ldap->cd ($this->current['BASE']);
+        $ldap->search ($filter, $ldap_values);
+        while ($attrs= $ldap->fetch()){
+
+            /* Detect department type */
+            $type_data = array();
+            foreach($types as $t => $data){
+                if(in_array($data['OC'],$attrs['objectClass'])){
+                    $type_data = $data;
+                    break;
+                }
+            }
 
+            /* Unknown department type -> skip */
+            if(!count($type_data)) continue;
 
-  function get_departments($ignore_dn= "")
-  {
-    global $config;
+            $dn= $ldap->getDN();
+            $this->tdepartments[$dn]= "";
+            $this->department_info[$dn]= array("img" => $type_data['IMG'],
+                    "description" => isset($attrs['description'][0])?$attrs['description'][0]:"",
+                    "name" => $attrs[$type_data['ATTR']][0]);
 
-    /* Initialize result hash */
-    $result= array();
-    $administrative= array();
-    $result['/']= $this->current['BASE'];
-    $this->tdepartments= array();
+            /* Save administrative departments */
+            if (in_array_ics("gosaAdministrativeUnit", $attrs['objectClass']) &&
+                    isset($attrs['gosaUnitTag'][0])){
+                $administrative[$dn]= $attrs['gosaUnitTag'][0];
+                $this->tdepartments[$dn]= $attrs['gosaUnitTag'][0];
+            }
 
-    /* Get all department types from department Management, to be able detect the department type.
-        -It is possible that differnty department types have the same name, 
-         in this case we have to mark the department name to be able to differentiate.
-          (e.g l=Name  or   o=Name)
-     */    
-    $types = departmentManagement::get_support_departments();
-    
-    /* Create a list of attributes to fetch */
-    $ldap_values = array("objectClass","gosaUnitTag", "description");
-    $filter = "";
-    foreach($types as $type){
-      $ldap_values[] = $type['ATTR'];
-      $filter .= "(objectClass=".$type['OC'].")";
-    }
-    $filter = "(&(objectClass=gosaDepartment)(|".$filter."))";
-
-    /* Get list of department objects */
-    $ldap= $this->get_ldap_link();
-    $ldap->cd ($this->current['BASE']);
-    $ldap->search ($filter, $ldap_values);
-    while ($attrs= $ldap->fetch()){
-
-      /* Detect department type */
-      $type_data = array();
-      foreach($types as $t => $data){
-        if(in_array($data['OC'],$attrs['objectClass'])){
-          $type_data = $data;
-          break;
+            if (in_array_ics("gosaAdministrativeUnitTag", $attrs['objectClass']) &&
+                    isset($attrs['gosaUnitTag'][0])){
+                $this->tdepartments[$dn]= $attrs['gosaUnitTag'][0];
+            }
+
+            if ($dn == $ignore_dn){
+                continue;
+            }
+            $c_dn = convert_department_dn($dn)." (".$type_data['ATTR'].")";
+
+            /* Only assign non-root departments */
+            if ($dn != $result['/']){
+                $result[$c_dn]= $dn;
+            }
         }
-      }
-
-      /* Unknown department type -> skip */
-      if(!count($type_data)) continue;
-
-      $dn= $ldap->getDN();
-      $this->tdepartments[$dn]= "";
-      $this->department_info[$dn]= array("img" => $type_data['IMG'],
-                                         "description" => isset($attrs['description'][0])?$attrs['description'][0]:"",
-                                         "name" => $attrs[$type_data['ATTR']][0]);
-
-      /* Save administrative departments */
-      if (in_array_ics("gosaAdministrativeUnit", $attrs['objectClass']) &&
-          isset($attrs['gosaUnitTag'][0])){
-        $administrative[$dn]= $attrs['gosaUnitTag'][0];
-        $this->tdepartments[$dn]= $attrs['gosaUnitTag'][0];
-      }
-    
-      if (in_array_ics("gosaAdministrativeUnitTag", $attrs['objectClass']) &&
-          isset($attrs['gosaUnitTag'][0])){
-        $this->tdepartments[$dn]= $attrs['gosaUnitTag'][0];
-      }
-    
-      if ($dn == $ignore_dn){
-        continue;
-      }
-      $c_dn = convert_department_dn($dn)." (".$type_data['ATTR'].")";
-
-      /* Only assign non-root departments */
-      if ($dn != $result['/']){
-        $result[$c_dn]= $dn;
-      }
+
+        $this->adepartments= $administrative;
+        $this->departments= $result;
     }
 
-    $this->adepartments= $administrative;
-    $this->departments= $result;
-  }
 
+    function make_idepartments($max_size= 28)
+    {
+        global $config;
+        $base = $config->current['BASE'];
+        $qbase = preg_quote($base, '/');
+        $utags= isset($config->current['HONOURUNITTAGS']) && preg_match('/true/i', $config->current['HONOURUNITTAGS']);
 
-  function make_idepartments($max_size= 28)
-  {
-    global $config;
-    $base = $config->current['BASE'];
-		$qbase = preg_quote($base, '/');
-    $utags= isset($config->current['HONOURUNITTAGS']) && preg_match('/true/i', $config->current['HONOURUNITTAGS']);
+        $arr = array();
+        $ui= get_userinfo();
 
-    $arr = array();
-    $ui= get_userinfo();
+        $this->idepartments= array();
 
-    $this->idepartments= array();
+        /* Create multidimensional array, with all departments. */
+        foreach ($this->departments as $key => $val){
 
-    /* Create multidimensional array, with all departments. */
-    foreach ($this->departments as $key => $val){
+            /* When using strict_units, filter non relevant parts */
+            if ($utags){
+                if ($ui->gosaUnitTag != '' && isset($this->tdepartments[$val]) &&
+                        $this->tdepartments[$val] != $ui->gosaUnitTag){
 
-      /* When using strict_units, filter non relevant parts */
-      if ($utags){
-        if ($ui->gosaUnitTag != '' && isset($this->tdepartments[$val]) &&
-            $this->tdepartments[$val] != $ui->gosaUnitTag){
+#TODO: link with strict*
+#continue;
+                }
+            }
 
-						#TODO: link with strict*
-						#continue;
-        }
-      }
+            /* Split dn into single department pieces */
+            $elements = array_reverse(explode(',',preg_replace("/$qbase$/",'',$val))); 		
 
-      /* Split dn into single department pieces */
-      $elements = array_reverse(explode(',',preg_replace("/$qbase$/",'',$val))); 		
+            /* Add last ou element of current dn to our array */
+            $last = &$arr;
+            foreach($elements as $key => $ele){
 
-      /* Add last ou element of current dn to our array */
-      $last = &$arr;
-      foreach($elements as $key => $ele){
+                /* skip empty */
+                if(empty($ele)) continue;
 
-        /* skip empty */
-        if(empty($ele)) continue;
+                /* Extract department name */		
+                $elestr = trim(preg_replace('/^[^=]*+=/','', $ele),',');
+                $nameA  = trim(preg_replace('/=.*$/','', $ele),',');
+                if($nameA != 'ou'){
+                    $nameA = " ($nameA)";
+                }else{
+                    $nameA = '';
+                }
 
-        /* Extract department name */		
-        $elestr = trim(preg_replace('/^[^=]*+=/','', $ele),',');
-        $nameA  = trim(preg_replace('/=.*$/','', $ele),',');
-        if($nameA != 'ou'){
-          $nameA = " ($nameA)";
-        }else{
-          $nameA = '';
-        }
-    
-        /* Add to array */	
-        if($key == (count($elements)-1)){
-          $last[$elestr.$nameA]['ENTRY'] = $val;
-        }
+                /* Add to array */	
+                if($key == (count($elements)-1)){
+                    $last[$elestr.$nameA]['ENTRY'] = $val;
+                }
 
-        /* Set next array appending position */
-        $last = &$last[$elestr.$nameA]['SUB'];
-      }
-    }
+                /* Set next array appending position */
+                $last = &$last[$elestr.$nameA]['SUB'];
+            }
+        }
 
 
-    /* Add base entry */
-    $ret['/']['ENTRY'] 	= $base;
-    $ret['/']['SUB']	= $arr;
-    $this->idepartments= $this->generateDepartmentArray($ret,-1,$max_size);
-  }
+        /* Add base entry */
+        $ret['/']['ENTRY'] 	= $base;
+        $ret['/']['SUB']	= $arr;
+        $this->idepartments= $this->generateDepartmentArray($ret,-1,$max_size);
+    }
 
 
-  /* Creates display friendly output from make_idepartments */
-  function generateDepartmentArray($arr,$depth = -1,$max_size = 256)
-  {
-    $ret = array();
-    $depth ++;
+    /* Creates display friendly output from make_idepartments */
+    function generateDepartmentArray($arr,$depth = -1,$max_size = 256)
+    {
+        $ret = array();
+        $depth ++;
 
-    /* Walk through array */	
-    ksort($arr);
-    foreach($arr as $name => $entries){
+        /* Walk through array */	
+        ksort($arr);
+        foreach($arr as $name => $entries){
 
-      /* If this department is the last in the current tree position 
-       * remove it, to avoid generating output for it */
-      if(count($entries['SUB'])==0){
-        unset($entries['SUB']);
-      }
+            /* If this department is the last in the current tree position 
+             * remove it, to avoid generating output for it */
+            if(count($entries['SUB'])==0){
+                unset($entries['SUB']);
+            }
 
-      /* Fix name, if it contains a replace tag */
-      $name= preg_replace('/\\\\,/', ',', LDAP::fix($name));
+            /* Fix name, if it contains a replace tag */
+            $name= preg_replace('/\\\\,/', ',', LDAP::fix($name));
 
-      /* Check if current name is too long, then cut it */
-      if(mb_strlen($name, 'UTF-8')> $max_size){
-        $name = mb_substr($name,0,($max_size-3), 'UTF-8')." ...";
-      }
+            /* Check if current name is too long, then cut it */
+            if(mb_strlen($name, 'UTF-8')> $max_size){
+                $name = mb_substr($name,0,($max_size-3), 'UTF-8')." ...";
+            }
 
-      /* Append the name to the list */	
-      if(isset($entries['ENTRY'])){
-        $a = "";
-        for($i = 0 ; $i < $depth ; $i ++){
-          $a.=".";
+            /* Append the name to the list */	
+            if(isset($entries['ENTRY'])){
+                $a = "";
+                for($i = 0 ; $i < $depth ; $i ++){
+                    $a.=".";
+                }
+                $ret[$entries['ENTRY']]=$a." ".$name;
+            }	
+
+            /* recursive add of subdepartments */
+            if(isset($entries['SUB'])){
+                $ret = array_merge($ret,$this->generateDepartmentArray($entries['SUB'],$depth,$max_size));
+            }
         }
-        $ret[$entries['ENTRY']]=$a." ".$name;
-      }	
 
-      /* recursive add of subdepartments */
-      if(isset($entries['SUB'])){
-        $ret = array_merge($ret,$this->generateDepartmentArray($entries['SUB'],$depth,$max_size));
-      }
+        return($ret);
     }
 
-    return($ret);
-  }
-
-  /*! \brief Get all available shares defined in the current LDAP
-   *
-   *  This function returns all available Shares defined in this ldap
-   *  
-   *  \param boolean listboxEntry If set to TRUE, only name and path are
-   *  attached to the array. If FALSE, the whole entry will be parsed an atached to the result.
-   *  \return array
-   */
-  function getShareList($listboxEntry = false)
-  {
-    $tmp = get_sub_list("(&(objectClass=goShareServer)(goExportEntry=*))","server",get_ou("serverRDN"),
-        $this->current['BASE'],array("goExportEntry","cn"), GL_NONE);
-    $return =array();
-    foreach($tmp as $entry){
-
-      if(isset($entry['goExportEntry']['count'])){
-        unset($entry['goExportEntry']['count']);
-      }
-      if(isset($entry['goExportEntry'])){
-        foreach($entry['goExportEntry'] as $export){
-          $shareAttrs = explode("|",$export);
-          if($listboxEntry) {
-            $return[$shareAttrs[0]."|".$entry['cn'][0]] = $shareAttrs[0]." - ".$entry['cn'][0];
-          }else{
-            $return[$shareAttrs[0]."|".$entry['cn'][0]]['server']       = $entry['cn'][0];
-            $return[$shareAttrs[0]."|".$entry['cn'][0]]['name']         = $shareAttrs[0];
-            $return[$shareAttrs[0]."|".$entry['cn'][0]]['description']  = $shareAttrs[1];
-            $return[$shareAttrs[0]."|".$entry['cn'][0]]['type']         = $shareAttrs[2];
-            $return[$shareAttrs[0]."|".$entry['cn'][0]]['charset']      = $shareAttrs[3];
-            $return[$shareAttrs[0]."|".$entry['cn'][0]]['path']         = $shareAttrs[4];
-            $return[$shareAttrs[0]."|".$entry['cn'][0]]['option']       = $shareAttrs[5];
-          }
+    /*! \brief Get all available shares defined in the current LDAP
+     *
+     *  This function returns all available Shares defined in this ldap
+     *  
+     *  \param boolean listboxEntry If set to TRUE, only name and path are
+     *  attached to the array. If FALSE, the whole entry will be parsed an atached to the result.
+     *  \return array
+     */
+    function getShareList($listboxEntry = false)
+    {
+        $tmp = get_sub_list("(&(objectClass=goShareServer)(goExportEntry=*))","server",get_ou("servgeneric", "serverRDN"),
+                $this->current['BASE'],array("goExportEntry","cn"), GL_NONE);
+        $return =array();
+        foreach($tmp as $entry){
+
+            if(isset($entry['goExportEntry']['count'])){
+                unset($entry['goExportEntry']['count']);
+            }
+            if(isset($entry['goExportEntry'])){
+                foreach($entry['goExportEntry'] as $export){
+                    $shareAttrs = explode("|",$export);
+                    if($listboxEntry) {
+                        $return[$shareAttrs[0]."|".$entry['cn'][0]] = $shareAttrs[0]." - ".$entry['cn'][0];
+                    }else{
+                        $return[$shareAttrs[0]."|".$entry['cn'][0]]['server']       = $entry['cn'][0];
+                        $return[$shareAttrs[0]."|".$entry['cn'][0]]['name']         = $shareAttrs[0];
+                        $return[$shareAttrs[0]."|".$entry['cn'][0]]['description']  = $shareAttrs[1];
+                        $return[$shareAttrs[0]."|".$entry['cn'][0]]['type']         = $shareAttrs[2];
+                        $return[$shareAttrs[0]."|".$entry['cn'][0]]['charset']      = $shareAttrs[3];
+                        $return[$shareAttrs[0]."|".$entry['cn'][0]]['path']         = $shareAttrs[4];
+                        $return[$shareAttrs[0]."|".$entry['cn'][0]]['option']       = $shareAttrs[5];
+                    }
+                }
+            }
         }
-      }
+        return($return);
     }
-    return($return);
-  }
-
-
-  /*! \brief Return al available share servers
-   *
-   * This function returns all available ShareServers.
-   *
-   * \return array
-   * */
-  function getShareServerList()
-  {
-    global $config;
-    $return = array();
-    $ui = get_userinfo();
-    $base = $config->current['BASE'];
-    $res= get_sub_list("(&(objectClass=goShareServer)(goExportEntry=*))", "server",
-          get_ou("serverRDN"), $base,array("goExportEntry","cn"),GL_NONE | GL_NO_ACL_CHECK);
-
-    foreach($res as $entry){
-        
-        $acl = $ui->get_permissions($entry['dn'],"server","");
-        if(isset($entry['goExportEntry']['count'])){
-          unset($entry['goExportEntry']['count']);
-        }
-        foreach($entry['goExportEntry'] as $share){
-          $a_share = explode("|",$share);
-          $sharename = $a_share[0];
-          $data= array();
-          $data['NAME']   = $sharename;
-          $data['ACL']    = $acl;
-          $data['SERVER'] = $entry['cn']['0'];
-          $data['SHARE']  = $sharename;
-          $data['DISPLAY']= $entry['cn'][0]." [".$sharename."]";
-          $return[$entry['cn'][0]."|".$sharename] = $data;
+
+
+    /*! \brief Return al available share servers
+     *
+     * This function returns all available ShareServers.
+     *
+     * \return array
+     * */
+    function getShareServerList()
+    {
+        global $config;
+        $return = array();
+        $ui = get_userinfo();
+        $base = $config->current['BASE'];
+        $res= get_sub_list("(&(objectClass=goShareServer)(goExportEntry=*))", "server",
+                get_ou("servgeneric", "serverRDN"), $base,array("goExportEntry","cn"),GL_NONE | GL_NO_ACL_CHECK);
+
+        foreach($res as $entry){
+
+            $acl = $ui->get_permissions($entry['dn'],"server","");
+            if(isset($entry['goExportEntry']['count'])){
+                unset($entry['goExportEntry']['count']);
+            }
+            foreach($entry['goExportEntry'] as $share){
+                $a_share = explode("|",$share);
+                $sharename = $a_share[0];
+                $data= array();
+                $data['NAME']   = $sharename;
+                $data['ACL']    = $acl;
+                $data['SERVER'] = $entry['cn']['0'];
+                $data['SHARE']  = $sharename;
+                $data['DISPLAY']= $entry['cn'][0]." [".$sharename."]";
+                $return[$entry['cn'][0]."|".$sharename] = $data;
+            }
         }
+        return($return);
     }
-    return($return);
-  }
-
-
-  /*! \brief Check if there's the specified bool value set in the configuration
-   *
-   *  The function checks, weither the specified bool value is set to a true
-   *  value in the configuration file. Considered true are either true or yes,
-   *  case-insensitive.
-   *
-   *  Example usage:
-   *  \code
-   *  if ($this->config->boolValueIsTrue("main", "copyPaste")) {
-   *    echo "Copy Paste Handling is enabled";
-   *  }
-   *  \endcode
-   *
-   *  \param string 'section' Section in the configuration file.
-   *  \param string 'value' Key in the given section, which is subject to check
-   *
-   *
-   * */
-  function boolValueIsTrue($section, $value)
-  {
-    $section= strtoupper($section);
-    $value= strtoupper($value);
-    if (isset($this->data[$section][$value])){
-    
-      $data= $this->data[$section][$value];
-      if (preg_match("/^true$/i", $data) || preg_match("/yes/i", $data)){
-        return TRUE;
-      }
 
-    }
 
-    return FALSE;
-  }
+    /*! \brief Checks if there's a bool property set in the configuration.
+     *
+     *  The function checks, weither the specified bool value is set to a true
+     *  value in the configuration file. 
+     *
+     *  Example usage:
+     *  \code
+     *  if ($this->config->boolValueIsTrue("core", "copyPaste")) {
+     *    echo "Copy Paste Handling is enabled";
+     *  }
+     *  \endcode
+     *
+     *  \param string 'class' The properties class. e.g. 'core','user','sudo',...
+     *  \param string 'value' Key in the given section, which is subject to check
+     *
+     *
+     * */
+    function boolValueIsTrue($class, $name)
+    {
+        return(preg_match("/true/i", $this->get_cfg_value($class,$name)));
+    }
 
 
-  function __search(&$arr, $name, $return)
-  {
-    $return= strtoupper($return);
-    if (is_array($arr)){
-      foreach ($arr as &$a){
-        if (isset($a['CLASS']) && strcasecmp($name, $a['CLASS']) == 0){
-          return(isset($a[$return])?$a[$return]:"");
-        } else {
-          $res= $this->__search ($a, $name, $return);
-          if ($res != ""){
-            return $res;
-          }
-        }
-      }
-    }
-    return ("");
-  }
-
-
-  /*! Search for a configuration setting in different categories
-   *
-   *  Searches for the value of a given key in the configuration data.
-   *  Optionally the list of categories to search (tabs, main, locations) can
-   *  be specified. The first value that matches is returned.
-   *
-   *  Example usage:
-   *  \code
-   *  $postcmd = $this->config->search(get_class($this), "POSTCOMMAND", array("menu", "tabs"));
-   *  \endcode
-   *
-   * */
-  function search($class, $value, $categories= "")
-  {
-    if (is_array($categories)){
-      foreach ($categories as $category){
-        $res= $this->__search($this->data[strtoupper($category)], $class, $value);
-        if ($res != ""){
-          return $res;
+    function __search(&$arr, $name, $return)
+    {
+        $return= strtoupper($return);
+        if (is_array($arr)){
+            foreach ($arr as &$a){
+                if (isset($a['CLASS']) && strcasecmp($name, $a['CLASS']) == 0){
+                    return(isset($a[$return])?$a[$return]:"");
+                } else {
+                    $res= $this->__search ($a, $name, $return);
+                    if ($res != ""){
+                        return $res;
+                    }
+                }
+            }
         }
-      }
-    } else {
-      if ($categories == "") {
-        return $this->__search($this->data, $class, $value);
-      } else {
-        return $this->__search($this->data[strtoupper($categories)], $class, $value);
-      }
-    } 
-
-    return ("");
-  }
-
-
-  /*! \brief Get a configuration value from the config
-   *
-   *  This returns a configuration value from the config. It either
-   *  uses the data of the current location ($this->current),
-   *  if it contains the value (e.g. current['BASE']) or otherwise
-   *  uses the data from the main configuration section.
-   *
-   *  If no value is found and an optional default has been specified,
-   *  then the default is returned.
-   *
-   *  \param string 'name' the configuration key (case-insensitive)
-   *  \param string 'default' a default that is returned, if no value is found
-   *
-   *
-   */
-  function get_cfg_value($name, $default= "") {
-    $name= strtoupper($name);
-
-    /* Check if we have a current value for $name */
-    if (isset($this->current[$name])){
-      return ($this->current[$name]);
+        return ("");
     }
 
-    /* Check if we have a global value for $name */
-    if (isset($this->data["MAIN"][$name])){
-      return ($this->data["MAIN"][$name]);
+
+    /*! Outdated - try to use pluginEnabled, boolValueIsTrue or get_cfg_value instead. 
+     *
+     *  (Search for a configuration setting in different categories
+     *
+     *  Searches for the value of a given key in the configuration data.
+     *  Optionally the list of categories to search (tabs, main, locations) can
+     *  be specified. The first value that matches is returned.
+     *
+     *  Example usage:
+     *  \code
+     *  $postcmd = $this->config->search(get_class($this), "POSTCOMMAND", array("menu", "tabs"));
+     *  \endcode
+     *  ) 
+     *
+     * */
+    function search($class, $value, $categories= "")
+    {
+        if (is_array($categories)){
+            foreach ($categories as $category){
+                $res= $this->__search($this->data[strtoupper($category)], $class, $value);
+                if ($res != ""){
+                    return $res;
+                }
+            }
+        } else {
+            if ($categories == "") {
+                return $this->__search($this->data, $class, $value);
+            } else {
+                return $this->__search($this->data[strtoupper($categories)], $class, $value);
+            }
+        } 
+
+        return ("");
     }
 
-    return ($default);
-  }
+
+    /*! \brief          Check whether a plugin is activated or not 
+     */ 
+    function pluginEnabled($class){
+        $tmp = $this->search($class, "CLASS",array('menu','tabs'));
+        return(!empty($tmp));
+    }
 
 
-  /*! \brief Check if current configuration version matches the GOsa version
-   *
-   *  This function checks if the configuration file version matches the
-   *  version of the gosa version, by comparing it with the configuration
-   *  file version of the example gosa.conf that comes with GOsa.
-   *  If a version mismatch occurs an error is triggered.
-   * */
-  function check_config_version()
-  {
-    /* Skip check, if we've already mentioned the mismatch 
-     */
-    if(session::global_is_set("LastChecked") && session::global_get("LastChecked") == $this->config_version) return;
-  
-    /* Remember last checked version 
+    /*! \brief Get a configuration value from the config
+     *
+     *  This returns a configuration value from the config. It either
+     *  uses the data of the current location ($this->current),
+     *  if it contains the value (e.g. current['BASE']) or otherwise
+     *  uses the data from the main configuration section.
+     *
+     *  If no value is found and an optional default has been specified,
+     *  then the default is returned.
+     *
+     *  \param string 'name' the configuration key (case-insensitive)
+     *  \param string 'default' a default that is returned, if no value is found
+     *
+     *
      */
-    session::global_set("LastChecked",$this->config_version);
+    function get_cfg_value($class,$name, $default= NULL) 
+    {
+        // The default parameter is deprecated 
+        if($default != NULL){
+#        trigger_error("Third parameter 'default' is deprecated for function 'get_cfg_value'!");
+        }
 
-    $current = md5(file_get_contents(CONFIG_TEMPLATE_DIR."/gosa.conf"));
+        // Return the matching property value if it exists.
+        if($this->configRegistry->propertyExists($class,$name)){
+            return($this->configRegistry->getPropertyValue($class,$name));
+        }
 
-    /* Check contributed config version and current config version.
-     */
-    if(($this->config_version == "NOT SET") || ($this->config_version != $current && !empty($this->config_version))){
-      msg_dialog::display(_("Configuration"),_("The configuration file you are using seems to be outdated. Please move the GOsa configuration file away to run the GOsa setup again."));
-    }
-  }
-
-
-  /*! \brief Check if session lifetime matches session.gc_maxlifetime 
-   *
-   *  On debian systems the session files are deleted with
-   *  a cronjob, which detects all files older than specified 
-   *  in php.ini:'session.gc_maxlifetime' and removes them.
-   *  This function checks if the gosa.conf value matches the range
-   *  defined by session.gc_maxlifetime.
-   *
-   *  \return boolean TRUE or FALSE depending on weither the settings match
-   *  or not. If SESSIONLIFETIME is not configured in GOsa it always returns
-   *  TRUE.
-   */
-  function check_session_lifetime()
-  {
-    if(isset($this->data['MAIN']['SESSIONLIFETIME'])){
-      $cfg_lifetime = $this->data['MAIN']['SESSIONLIFETIME'];
-      $ini_lifetime = ini_get('session.gc_maxlifetime');
-      $deb_system   = file_exists('/etc/debian_version');
-      return(!($deb_system && ($ini_lifetime < $cfg_lifetime)));  
-    }else{
-      return(TRUE);
+        // Show a warning in the syslog if there is an undefined property requested.
+        if($this->configRegistry->propertyInitializationComplete() && 
+                "{$class}::{$name}" != 'core::config' &&  // <--- This on is never set, only in gosa.conf. 
+                "{$class}::{$name}" != 'core::logging'){  // <--- This one may cause endless recursions in class_log.inc
+            new log("debug","","Unconfigured property: '{$class}::{$name}'",array(),'');
+        }
+
+        // Try to find the property in the config file directly.
+        $name= strtoupper($name);
+        if (isset($this->current[$name])) return ($this->current[$name]);
+        if (isset($this->data["MAIN"][$name])) return ($this->data["MAIN"][$name]);
+        return ("");
     }
-  }
-
-  /* Returns true if snapshots are enabled, and false if it is disalbed
-     There will also be some errors psoted, if the configuration failed */
-  function snapshotEnabled()
-  {
-    if($this->get_cfg_value("enableSnapshots") == "true"){
-
-      /* Check if the snapshot_base is defined */
-      if ($this->get_cfg_value("snapshotBase") == ""){
-
-        /* Send message if not done already */
-        if(!session::is_set("snapshotFailMessageSend")){
-          session::set("snapshotFailMessageSend",TRUE);
-          msg_dialog::display(_("Configuration error"),
-              sprintf(_("The snapshot functionality is enabled, but the required variable '%s' is not set."),
-                      "snapshotBase"), ERROR_DIALOG);
+
+
+    /*! \brief Check if current configuration version matches the GOsa version
+     *
+     *  This function checks if the configuration file version matches the
+     *  version of the gosa version, by comparing it with the configuration
+     *  file version of the example gosa.conf that comes with GOsa.
+     *  If a version mismatch occurs an error is triggered.
+     * */
+    function check_config_version()
+    {
+        /* Skip check, if we've already mentioned the mismatch 
+         */
+        if(session::global_is_set("LastChecked") && session::global_get("LastChecked") == $this->config_version) return;
+
+        /* Remember last checked version 
+         */
+        session::global_set("LastChecked",$this->config_version);
+
+        $current = md5(file_get_contents(CONFIG_TEMPLATE_DIR."/gosa.conf"));
+
+        /* Check contributed config version and current config version.
+         */
+        if(($this->config_version == "NOT SET") || ($this->config_version != $current && !empty($this->config_version))){
+            msg_dialog::display(_("Configuration"),_("The configuration file you are using is outdated. Please move the GOsa configuration file away to run the GOsa setup again."));
         }
-        return(FALSE);
-      }
+    }
 
-      /* Check if the snapshot_base is defined */
-      if (!is_callable("gzcompress")){
 
-        /* Send message if not done already */
-        if(!session::is_set("snapshotFailMessageSend")){
-          session::set("snapshotFailMessageSend",TRUE);
-          msg_dialog::display(_("Configuration error"),
-              sprintf(_("The snapshot functionality is enabled, but the required compression module is missing. Please install '%s'."),"php5-zip / php5-gzip"), ERROR_DIALOG);
+    /*! \brief Check if session lifetime matches session.gc_maxlifetime 
+     *
+     *  On debian systems the session files are deleted with
+     *  a cronjob, which detects all files older than specified 
+     *  in php.ini:'session.gc_maxlifetime' and removes them.
+     *  This function checks if the gosa.conf value matches the range
+     *  defined by session.gc_maxlifetime.
+     *
+     *  \return boolean TRUE or FALSE depending on weither the settings match
+     *  or not. If SESSIONLIFETIME is not configured in GOsa it always returns
+     *  TRUE.
+     */
+    function check_session_lifetime()
+    {
+        if(isset($this->data['MAIN']['SESSIONLIFETIME'])){
+            $cfg_lifetime = $this->data['MAIN']['SESSIONLIFETIME'];
+            $ini_lifetime = ini_get('session.gc_maxlifetime');
+            $deb_system   = file_exists('/etc/debian_version');
+            return(!($deb_system && ($ini_lifetime < $cfg_lifetime)));  
+        }else{
+            return(TRUE);
         }
-        return(FALSE);
-      }
-
-      /* check if there are special server configurations for snapshots */
-      if ($this->get_cfg_value("snapshotURI") != ""){
-
-        /* check if all required vars are available to create a new ldap connection */
-        $missing = "";
-        foreach(array("snapshotURI","snapshotAdminDn","snapshotAdminPassword","snapshotBase") as $var){
-          if($this->get_cfg_value($var) == ""){
-            $missing .= $var." ";
-
-            /* Send message if not done already */
-            if(!session::is_set("snapshotFailMessageSend")){
-              session::set("snapshotFailMessageSend",TRUE);
-              msg_dialog::display(_("Configuration error"),
-                  sprintf(_("The snapshot functionality is enabled, but the required variable '%s' is not set."),
-                    $missing), ERROR_DIALOG);
+    }
+
+    /* Returns true if snapshots are enabled, and false if it is disalbed
+       There will also be some errors psoted, if the configuration failed */
+    function snapshotEnabled()
+    {
+        if($this->get_cfg_value("core","enableSnapshots") == "true"){
+
+            /* Check if the snapshot_base is defined */
+            if ($this->get_cfg_value("core","snapshotBase") == ""){
+
+                /* Send message if not done already */
+                if(!session::is_set("snapshotFailMessageSend")){
+                    session::set("snapshotFailMessageSend",TRUE);
+                    msg_dialog::display(_("Configuration error"),
+                            sprintf(_("The snapshot functionality is enabled, but the required variable %s is not set."),
+                                bold("snapshotBase")), ERROR_DIALOG);
+                }
+                return(FALSE);
             }
-            return(FALSE);
-          }
+
+            /* Check if the snapshot_base is defined */
+            if (!is_callable("gzcompress")){
+
+                /* Send message if not done already */
+                if(!session::is_set("snapshotFailMessageSend")){
+                    session::set("snapshotFailMessageSend",TRUE);
+                    msg_dialog::display(_("Configuration error"),
+                            sprintf(_("The snapshot functionality is enabled, but the required compression module is missing. Please install %s."), bold("php5-zip / php5-gzip")), ERROR_DIALOG);
+                }
+                return(FALSE);
+            }
+
+            /* check if there are special server configurations for snapshots */
+            if ($this->get_cfg_value("core","snapshotURI") != ""){
+
+                /* check if all required vars are available to create a new ldap connection */
+                $missing = "";
+                foreach(array("snapshotURI","snapshotAdminDn","snapshotAdminPassword","snapshotBase") as $var){
+                    if($this->get_cfg_value("core",$var) == ""){
+                        $missing .= $var." ";
+
+                        /* Send message if not done already */
+                        if(!session::is_set("snapshotFailMessageSend")){
+                            session::set("snapshotFailMessageSend",TRUE);
+                            msg_dialog::display(_("Configuration error"),
+                                    sprintf(_("The snapshot functionality is enabled, but the required variable %s is not set."),
+                                        bold($missing)), ERROR_DIALOG);
+                        }
+                        return(FALSE);
                     }
+                }
             }
             return(TRUE);
+        }
+        return(FALSE);
     }
-    return(FALSE);
-  }
 
 }
 
diff --git a/gosa-core/include/class_configRegistry.inc b/gosa-core/include/class_configRegistry.inc
new file mode 100644
index 0000000..e9b48ed
--- /dev/null
+++ b/gosa-core/include/class_configRegistry.inc
@@ -0,0 +1,1048 @@
+<?php
+
+class configRegistry{
+
+    public $config = NULL;
+    public $properties = array();
+    public $ldapStoredProperties = array(); 
+    public $fileStoredProperties = array(); 
+    public $classToName = array(); 
+
+    public $status = 'none';
+
+    // Excludes property values defined in ldap 
+    public $ignoreLdapProperties = FALSE;
+
+    // Contains all classes with plInfo
+    public $classesWithInfo = array();
+    public $pluginRequirements  = array();
+    public $categoryToClass  = array();
+
+    public $objectClasses = array();
+
+    public $detectedSchemaIssues = array();
+    public $schemaCheckFailed = FALSE;
+    public $schemaCheckFinished = FALSE;
+    public $pluginsDeactivated = array();
+
+    // Name of enabled plugins found in gosa.conf.
+    private $activePlugins = array();
+
+
+    /*! \brief      Constructs the config registry 
+     *  @param      config  The configuration object
+     *  @return     
+     */
+    function __construct($config)
+    {
+        $this->config = &$config;
+
+        // Detect classes that have a plInfo method 
+        global $class_mapping;
+        foreach ($class_mapping as $cname => $path){
+            $cmethods = get_class_methods($cname);
+            if (is_array($cmethods) && in_array_ics('plInfo',$cmethods)){
+
+                // Get plugin definitions
+                $def = call_user_func(array($cname, 'plInfo'));;
+
+                // Register Post Events (postmodfiy,postcreate,postremove,checkhook)
+                if(count($def)){
+                    $this->classesWithInfo[$cname] = $def;
+                }
+            }
+        }
+
+        // (Re)Load properties
+        $this->reload();
+    }
+
+    
+    /*! \brief      Returns a list of plugins used by GOsa.
+        @return     Array       An array containing all plugins with theis plInfo data.
+     */
+    function getListOfPlugins()
+    {
+        return($this->classesWithInfo);
+    }
+
+
+    /*! \brief      Checks whether the schema check was called in the current session or not.
+     *  @return     Boolean     True if check was already called
+     */
+    function schemaCheckFinished()
+    {
+        return($this->schemaCheckFinished);
+    }
+
+
+    /*! \brief      Starts the schema validation
+     *  @param      Boolean     'force' Force a re-check.
+     *  @param      Boolean     'disableIncompatiblePlugins' Disables of incompatible GOsa-plugins.
+     *  @return     Boolean     True on success else FALSE
+     */
+    function validateSchemata($force = FALSE, $disableIncompatiblePlugins = FALSE, $objectClassesToUse = array())
+    {
+        // Read objectClasses from ldap
+        if(count($objectClassesToUse)){
+            $this->setObjectClasses($objectClassesToUse);
+        }elseif(!count($this->objectClasses)){
+            $ldap = $this->config->get_ldap_link();
+            $ldap->cd($this->config->current['BASE']);
+            $this->setObjectClasses($ldap->get_objectclasses());
+        }
+
+        return($this->_validateSchemata($force, $disableIncompatiblePlugins));
+    }
+
+
+    /*! \brief      Sets the list object classes to use while validation the schema. (See 'validateSchemata')
+     *              This is called from the GOsa-Setup
+     *  @param      Array       The list of object classes (usually LDAP::get_objectlclasses()).
+     *  @return     void  
+     */
+    function setObjectClasses($ocs)
+    {
+        $this->objectClasses = $ocs;
+    }
+
+
+    /*! \brief      Returns an array which contains all unresolved schemata requirements.
+     *  @return     Array       An array containing all errors/issues  
+     */
+    function getSchemaResults()
+    {
+        return($this->detectedSchemaIssues);
+    }
+
+
+    /*! \brief      This method checks if the installed ldap-schemata matches the plugin requirements.
+     *  @param      Boolean     'force' Force a re-check.
+     *  @param      Boolean     'disableIncompatiblePlugins' Disables of incompatible GOsa-plugins.
+     *  @return     String  
+     */
+    private function _validateSchemata($force = FALSE, $disableIncompatiblePlugins = FALSE)
+    {
+        // We cannot check without readable schema info
+        if(!count($this->objectClasses)){
+            return(TRUE); 
+        }
+
+        // Don't do things twice unless forced
+        if($this->schemaCheckFinished && !$force) return($this->schemaCheckFailed); 
+
+        // Prepare result array
+        $this->detectedSchemaIssues = array();
+        $this->detectedSchemaIssues['missing'] = array();
+        $this->detectedSchemaIssues['versionMismatch'] = array();
+
+        // Clear last results 
+        $this->pluginsDeactivated = array();
+
+        // Collect required schema infos
+        $this->pluginRequirements = array('ldapSchema' => array());
+        $this->categoryToClass = array();
+
+        // Walk through plugins with requirements, but only check for active plugins.
+        foreach($this->classesWithInfo as $cname => $defs){
+            if(isset($defs['plRequirements'])){
+
+                // Check only if required plugin is enabled in gosa.conf
+                // Normally this is the class name itself, but may be overridden
+                //  in plInfo using the plRequirements::activePlugin statement.
+                $requiresActivePlugin = $cname;
+                if(isset($defs['plRequirements']['activePlugin'])){
+                    $requiresActivePlugin = $defs['plRequirements']['activePlugin'];
+                }
+
+                // Only queue checks for active plugins. 
+                if(isset($this->activePlugins[strtolower($requiresActivePlugin)])){
+                    $this->pluginRequirements[$cname] = $defs['plRequirements'];
+                }else{
+                    if($cname == $requiresActivePlugin){
+                        @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "", 
+                                "Skipped schema check for '{$cname}' plugin is inactive!");
+                    }else{
+                        @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "", 
+                                "Skipped schema check for class '{$cname}' skipped,".
+                                " required plugin '{$requiresActivePlugin}' is inactive!");
+                    }
+                }
+            }
+        }
+
+        // Check schema requirements now        $missing = $invalid = array();
+        foreach($this->pluginRequirements as $cname => $requirements){
+
+            // Check LDAP schema requirements for this plugins
+            $failure = FALSE;
+            if(isset($requirements['ldapSchema'])){
+                foreach($requirements['ldapSchema'] as $oc => $version){
+                    if(!$this->ocAvailable($oc)){
+                        $this->detectedSchemaIssues['missing'][$oc] = $oc;
+                    
+                        $this->schemaCheckFailed = TRUE;
+                        $failure = TRUE;
+
+                        new log("debug","","LDAP objectClass missing '{$oc}'!",
+                                array(),'');
+
+                    }elseif(!empty($version)){
+                        $currentVersion = $this->getObjectClassVersion($oc);
+                        if(!empty($currentVersion) && !$this->ocVersionMatch($version, $currentVersion)){
+                            if($currentVersion == -1){
+                                $currentVersion = _("unknown");
+                            }
+                            $this->detectedSchemaIssues['versionMismatch'][$oc] = 
+                                sprintf(_("%s has version %s but %s is required!"), bold($oc),bold($currentVersion),bold($version));
+                            $this->schemaCheckFailed = TRUE;
+                            $failure = TRUE;
+
+                            new log("debug","","LDAP objectClass version mismatch '{$oc}' ".
+                                    "has '{$currentVersion}' but {$version} required!",
+                                    array(),'');
+                        }
+                    }
+                }
+            }
+
+            // Display corresponding plugins now 
+            if($disableIncompatiblePlugins && $failure && isset($requirements['onFailureDisablePlugin'])){
+                foreach($requirements['onFailureDisablePlugin'] as $name){
+                    $this->pluginsDeactivated[$name] = $name;
+                } 
+            }
+        }
+        $this->schemaCheckFinished =TRUE;
+        session::un_set('plist');
+        return(!$this->schemaCheckFailed);
+    }
+
+    
+    /*! \brief      The function 'validateSchemata' may has disabled some GOsa-Plugins, 
+     *               the list of disabled plugins will be returned here.
+     *  @return     Array       The list of plugins disabled by 'validateSchemata'
+     */
+    function getDisabledPlugins()
+    {
+        return($this->pluginsDeactivated);
+    }
+
+        
+    /*! \brief      Displays an error message with all issues detect during the schema validation.
+     */
+    function displayRequirementErrors()
+    {
+        $message = "";
+        if(count($this->detectedSchemaIssues['missing'])){
+            $message.= "<br>".
+                _("The following object classes are missing:").
+                "<div class='scrollContainer' style='height:100px'>".
+                msgPool::buildList(array_values($this->detectedSchemaIssues['missing'])).
+                "</div>";
+        }    
+        if(count($this->detectedSchemaIssues['versionMismatch'])){
+            $message.= "<br>".
+                _("The following object classes are outdated:").
+                "<div class='scrollContainer' style='height:100px'>".
+                msgPool::buildList(array_values($this->detectedSchemaIssues['versionMismatch'])).
+                "</div>";
+        }    
+        if($message != ""){
+            $message.= "<br>"._("Plugins that require one or more of the object classes above will be disabled until the object classes get updated.");
+ 
+            msg_dialog::display(_("Schema validation error"),$message, ERROR_DIALOG);
+        }
+    }
+
+
+    /*! \brief      Checks to version strings (e.g. '>=v2.8' and '2.9')
+     *  @param      String      The required version with operators (e.g. '>=2.8') 
+     *  @param      String      The version to match for withOUT operators (e.g. '2.9') 
+     *  @return     Boolean     True if version matches else false.  
+     */
+    private function ocVersionMatch($required, $installed)
+    {
+        $operator = preg_replace('/^([=<>]*).*$/',"\\1",$required);
+        $required = preg_replace('/^[=<>]*(.*)$/',"\\1",$required);
+        return(version_compare($installed,$required, $operator)); 
+    }
+
+    
+    /*! \brief      Returns the currently installed version of a given object class.
+     *  @param      String      The name of the objectClass to check for. 
+     *  @return     String      The version string of the objectClass (e.g. v2.7) 
+     */
+    function getObjectClassVersion($oc)
+    {
+        if(!isset($this->objectClasses[$oc])){
+            return(NULL);
+        }else{
+            $version = -1; // unknown
+            if(preg_match("/(v[^)]*)/", $this->objectClasses[$oc]['DESC'])){
+                $version = preg_replace('/^.*\(v([^)]*)\).*$/',"\\1", $this->objectClasses[$oc]['DESC']);
+            }
+        }
+        return($version);
+    }
+    
+
+    /*! \brief      Check whether the given object class is available or not. 
+     *  @param      String      The name of the objectClass to check for (e.g. 'mailAccount') 
+     *  @return     Boolean     Returns TRUE if the class exists else FALSE.
+     */
+    function ocAvailable($name)
+    {
+        return(isset($this->objectClasses[$name]));
+    }
+
+
+    /*! \brief      Re-loads the list of installed GOsa-Properties. 
+     *  @param      Boolean     $force   If force is TRUE, the complete properties list is rebuild..
+     */
+    function reload($force = FALSE)
+    {
+        // Do not reload the properties everytime, once we have  
+        //  everything loaded and registrered skip the reload.
+        // Status is 'finished' once we had a ldap connection (logged in)
+        if(!$force && $this->status == 'finished') return;
+
+        // Reset everything
+        $this->ldapStoredProperties = array();
+        $this->fileStoredProperties = array();
+        $this->properties = array();
+        $this->mapByName = array();
+        $this->activePlugins = array('core'=>'core');
+
+        if(!$this->config) return;
+
+        // Search for config flags defined in the config file (TAB section)
+        foreach($this->config->data['TABS'] as $tabname => $tabdefs){
+            foreach($tabdefs as $info){
+
+                // Put plugin in list of active plugins
+                if(isset($info['CLASS'])){
+                    $class = strtolower($info['CLASS']);
+                    $this->activePlugins[$class] = $class;
+                }
+
+                // Check if the info is valid
+                if(isset($info['NAME']) && isset($info['CLASS'])){
+                    
+
+                    // Check if there is nore than just the plugin definition
+                    if(count($info) > 2){
+                        foreach($info as $name => $value){
+                            
+                            if(!in_array($name, array('CLASS','NAME'))){
+                                $class= $info['CLASS'];    
+                                $this->fileStoredProperties[$class][strtolower($name)] = $value;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        foreach($this->config->data['MENU'] as $section => $entries){
+            foreach($entries as $entry){
+
+                if(isset($entry['CLASS'])){
+
+                    // Put plugin to active plugins list.
+                    $class = strtolower($entry['CLASS']);
+                    $this->activePlugins[$class] = $class;
+                
+                    if(count($entry) > 2 ){
+                        foreach($entry as $name => $value){
+                            if(!in_array($name, array('CLASS','ACL'))){
+                                $this->fileStoredProperties[strtolower($class)][strtolower($name)] = $value;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        // Search for config flags defined in the config file (PATHMENU)
+        foreach($this->config->data['PATHMENU'] as $entry){
+
+            if(isset($entry['CLASS'])){
+
+                // Put plugin to active plugins list.
+                $class = strtolower($entry['CLASS']);
+                $this->activePlugins[$class] = $class;
+
+                if(count($entry) > 2 ){
+                    foreach($entry as $name => $value){
+                        if(!in_array($name, array('CLASS','ACL'))){
+                            $this->fileStoredProperties[strtolower($class)][strtolower($name)] = $value;
+                        }
+                    }
+                }
+            }
+        }
+
+        // Search for config flags defined in the config file (MAIN section)
+        foreach($this->config->data['MAIN'] as $name => $value){
+            $this->fileStoredProperties['core'][strtolower($name)] = $value;
+        }
+
+        // Search for config flags defined in the config file (Current LOCATION section)
+        if(isset($this->config->current)){
+            foreach($this->config->current as $name => $value){
+                $this->fileStoredProperties['core'][strtolower($name)] = $value;
+            }
+        }
+
+        // Skip searching for LDAP defined properties if 'ignoreLdapProperties' is set to 'true'
+        //  in the config. 
+        $this->ignoreLdapProperties = FALSE;
+        if(isset($this->fileStoredProperties['core'][strtolower('ignoreLdapProperties')]) && 
+            preg_match("/(true|on)/i", $this->fileStoredProperties['core'][strtolower('ignoreLdapProperties')])){
+            $this->ignoreLdapProperties = TRUE;
+        }
+
+        // Search for all config flags defined in the LDAP - BUT only if we ARE logged in. 
+        if(!empty($this->config->current['CONFIG'])){
+            $ldap = $this->config->get_ldap_link();
+            $ldap->cd($this->config->current['CONFIG']);
+            $ldap->search('(&(objectClass=gosaConfig)(gosaSetting=*))', array('cn','gosaSetting'));
+            while($attrs = $ldap->fetch()){
+                $class = $attrs['cn'][0];
+                for($i=0; $i<$attrs['gosaSetting']['count']; $i++){
+                    list($name,$value) = preg_split("/:/",$attrs['gosaSetting'][$i],2);
+                    $this->ldapStoredProperties[$class][$name] = $value;
+                }
+            }
+        }
+
+        // Register plugin properties.
+        foreach ($this->classesWithInfo as $cname => $def){
+
+            // Detect class name
+            $name = $cname;
+            $name = (isset($def['plShortName'])) ? $def['plShortName'] : $cname;
+            $name = (isset($def['plDescription'])) ? $def['plDescription'] : $cname;
+
+            // Register post events
+            $this->classToName[$cname] = $name;
+            $data = array('name' => 'postcreate','type' => 'command');
+            $this->register($cname, $data);    
+            $data = array('name' => 'postremove','type' => 'command');
+            $this->register($cname, $data);    
+            $data = array('name' => 'postmodify','type' => 'command');
+            $this->register($cname, $data);    
+            $data = array('name' => 'precreate','type' => 'command');
+            $this->register($cname, $data);    
+            $data = array('name' => 'preremove','type' => 'command');
+            $this->register($cname, $data);    
+            $data = array('name' => 'premodify','type' => 'command');
+            $this->register($cname, $data);    
+            $data = array('name' => 'check', 'type' => 'command');
+            $this->register($cname, $data);    
+
+            // Register properties 
+            if(isset($def['plProperties'])){
+                foreach($def['plProperties'] as $property){
+                    $this->register($cname, $property);
+                }
+            }
+        }
+
+        // We are only finsihed once we are logged in.
+        if(!empty($this->config->current['CONFIG'])){
+            $this->status = 'finished';
+        }
+    }
+
+   
+    /*! \brief      Returns TRUE if the property registration has finished without any error.
+     */ 
+    function propertyInitializationComplete()
+    {
+        return($this->status == 'finished');
+    }
+
+
+    /*! \brief      Registers a GOsa-Property and thus makes it useable by GOsa and its plugins.
+     *  @param      String      $class  The name of the class/plugin that wants to register this property.
+     *  @return     Array       $data   An array containing all data set in plInfo['plProperty]
+     */
+    function register($class,$data)
+    {
+        $id = count($this->properties);
+        $this->properties[$id] = new gosaProperty($this,$class,$data);
+        $p = strtolower("{$class}::{$data['name']}");
+        $this->mapByName[$p] = $id;
+    }
+
+
+    /*! \brief      Returns all registered properties.
+     *  @return     Array   A list of all properties.
+     */
+    public function getAllProperties()
+    {
+        return($this->properties);
+    }
+
+
+    /*! \brief      Checks whether a property exists or not.
+     *  @param      String      $class  The class name (e.g. 'core' or 'mailAccount') 
+     *  @param      String      $name   The property name (e.g. 'sessionTimeout' or 'mailMethod')
+     *  @return     Boolean     TRUE if it exists else FALSE.
+     */
+    function propertyExists($class,$name)
+    {       
+        $p = strtolower("{$class}::{$name}");
+        return(isset($this->mapByName[$p]));
+    }
+
+
+    /*! \brief      Returns the id of a registered property.
+     *  @param      String      $class  The class name (e.g. 'core' or 'mailAccount') 
+     *  @param      String      $name   The property name (e.g. 'sessionTimeout' or 'mailMethod')
+     *  @return     Integer     The id for the given property.  
+     */
+    private function getId($class,$name)
+    {
+        $p = strtolower("{$class}::{$name}");
+        if(!isset($this->mapByName[$p])){
+            return(-1);
+        }       
+        return($this->mapByName[$p]);    
+    }
+
+
+    /*! \brief      Returns a given property, if it exists.
+     *  @param      String      $class  The class name (e.g. 'core' or 'mailAccount') 
+     *  @param      String      $name   The property name (e.g. 'sessionTimeout' or 'mailMethod')
+     *  @return     GOsaPropery     The property or 'NULL' if it doesn't exists.
+     */
+    function getProperty($class,$name)
+    {
+        if($this->propertyExists($class,$name)){
+            return($this->properties[$this->getId($class,$name)]);
+        }
+        return(NULL); 
+    }
+
+
+    /*! \brief      Returns the value for a given property, if it exists.
+     *  @param      String      $class  The class name (e.g. 'core' or 'mailAccount') 
+     *  @param      String      $name   The property name (e.g. 'sessionTimeout' or 'mailMethod')
+     *  @return     GOsaPropery     The property value or an empty string if it doesn't exists.
+     */
+    function getPropertyValue($class,$name)
+    {   
+        if($this->propertyExists($class,$name)){
+            $tmp = $this->getProperty($class,$name);
+            return($tmp->getValue());
+        }
+        return("");
+    }
+
+
+    /*! \brief      Set a new value for a given property, if it exists.
+     *  @param      String      $class  The class name (e.g. 'core' or 'mailAccount') 
+     *  @param      String      $name   The property name (e.g. 'sessionTimeout' or 'mailMethod')
+     *  @return     
+     */
+    function setPropertyValue($class,$name, $value)
+    {   
+        if($this->propertyExists($class,$name)){
+            $tmp = $this->getProperty($class,$name);
+            return($tmp->setValue($value));
+        }
+        return("");
+    }
+
+
+    /*! \brief      Save all temporary made property changes and thus make them useable/effective.
+     *  @return     Array       Returns a list of plugins that have to be migrated before they can be saved.
+     */
+    function saveChanges()
+    {
+        $migrate = array();
+        foreach($this->properties as $prop){
+
+            // Is this property modified
+            if(in_array($prop->getStatus(),array('modified','removed'))){
+
+                // Check if we've to migrate something before we can make the changes effective. 
+                if($prop->migrationRequired()){
+                    $migrate[] = $prop;
+                }else{
+                    $prop->save();
+                }
+            }
+        }
+        return($migrate);
+    }
+}
+
+
+class gosaProperty
+{
+    protected $name = "";
+    protected $class = "";
+    protected $value = "";
+    protected $tmp_value = "";  // Used when modified but not saved 
+    protected $type = "string";
+    protected $default = "";
+    protected $defaults = "";
+    protected $description = "";
+    protected $check = "";
+    protected $migrate = "";
+    protected $mandatory = FALSE;
+    protected $group = "default";
+    protected $parent = NULL;
+    protected $data = array();
+
+    protected $migrationClass = NULL;
+
+    /*!  The current property status
+     *     'ldap'       Property is stored in ldap 
+     *     'file'       Property is stored in the config file
+     *     'undefined'  Property is currently not stored anywhere
+     *     'modified'   Property has been modified (should be saved)
+     */
+    protected $status = 'undefined';
+
+    protected $attributes = array('name','type','default','description','check',
+            'migrate','mandatory','group','defaults');
+
+
+
+
+    function __construct($parent,$classname,$data)
+    {
+        // Set some basic infos 
+        $this->parent = &$parent;
+        $this->class = $classname;
+        $this->data  = $data;
+
+        // Get all relevant information from the data array (comes from plInfo)    
+        foreach($this->attributes as $aName){
+            if(isset($data[$aName])){
+                $this->$aName = $data[$aName];
+            }
+        }      
+
+        // Initialize with the current value
+        $this->_restoreCurrentValue(); 
+
+    }
+
+    function migrationRequired()
+    {
+        // Instantiate migration class 
+        if(!empty($this->migrate) && $this->migrationClass == NULL){
+            if(!class_available($this->migrate)){
+                trigger_error("Cannot start migration for gosaProperty::'{$this->getName()}' class not found ({$this->migrate})!");
+            }else{
+                $class = $this->migrate;
+                $tmp = new $class($this->parent->config,$this);
+                if(! $tmp instanceof propertyMigration){ 
+                    trigger_error("Cannot start migration for gosaProperty::'{$this->getName()}' doesn't implement propertyMigration!");
+                }else{
+                    $this->migrationClass = $tmp;
+                }
+            }
+        }
+        if(empty($this->migrate) || $this->migrationClass == NULL){
+            return(FALSE);
+        }
+        return($this->migrationClass->checkForIssues());
+    }
+
+    function getMigrationClass()
+    {
+        return($this->migrationClass);
+    }
+
+    function check()
+    {
+        $val = $this->getValue(TRUE);
+        $return = TRUE;
+        if($this->mandatory && empty($val)){
+            $return = FALSE;
+        }
+
+        $check = $this->getCheck();
+        if(!empty($val) && !empty($check)){
+            $res = call_user_func(preg_split("/::/", $this->check),$messages=TRUE, $this->class,$this->name,$val, $this->type);
+            if(!$res){
+                $return = FALSE;
+            }
+        }
+        return($return);
+    }
+
+    static function isBool($message,$class,$name,$value, $type)
+    {
+        $match = in_array($value,array('true','false',''));
+
+        // Display the reason for failing this check.         
+        if($message && ! $match){
+            msg_dialog::display(_("Warning"), 
+                    sprintf(_("The value %s specified for %s:%s needs to be a bool value!"), 
+                        bold($value),bold($class),bold($name)), 
+                    WARNING_DIALOG);
+        }
+    
+        return($match);
+    }
+
+    static function isString($message,$class,$name,$value, $type)
+    {
+        $match = TRUE;
+    
+        // Display the reason for failing this check.         
+        if($message && ! $match){
+            msg_dialog::display(_("Warning"), 
+                    sprintf(_("The value %s specified for %s:%s needs to be a string!"), 
+                        bold($value),bold($class),bold($name)), 
+                    WARNING_DIALOG);
+        }
+
+        return($match);
+    }
+
+    static function isInteger($message,$class,$name,$value, $type)
+    {
+        $match = is_numeric($value) && !preg_match("/[^0-9]/", $value);
+
+        // Display the reason for failing this check.         
+        if($message && ! $match){
+            msg_dialog::display(_("Warning"), 
+                    sprintf(_("The value %s specified for %s:%s needs to be numeric!"), 
+                        bold($value),bold($class),bold($name)), 
+                    WARNING_DIALOG);
+        }
+
+        return($match);
+    }
+
+    static function isPath($message,$class,$name,$value, $type)
+    {
+        $match = preg_match("#^(/[^/]*/){1}#", $value);
+    
+        // Display the reason for failing this check.         
+        if($message && ! $match){
+            msg_dialog::display(_("Warning"), 
+                    sprintf(_("The path %s specified for %s:%s is invalid!"), 
+                        bold($value),bold($class),bold($name)), 
+                    WARNING_DIALOG);
+        }
+
+        return($match);
+    }
+
+    static function isReadablePath($message,$class,$name,$value, $type)
+    {
+        $match = !empty($value)&&is_dir($value)&&is_writeable($value);
+   
+        // Display the reason for failing this check.         
+        if($message && ! $match){
+            if(!is_dir($value)){
+                msg_dialog::display(_("Warning"), 
+                        sprintf(_("The folder %s specified for %s:%s does not exists!"), 
+                            bold($value),bold($class),bold($name)), 
+                        WARNING_DIALOG);
+            }elseif(!is_readable($value)){
+                msg_dialog::display(_("Warning"), 
+                        sprintf(_("The folder %s specified for %s:%s is not readable!"), 
+                            bold($value),bold($class),bold($name)), 
+                        WARNING_DIALOG);
+            }
+        }
+
+        return($match);
+    }
+
+    static function isWriteableFile($message,$class,$name,$value, $type)
+    {
+        $match = (file_exists($value) && is_writeable($value)) || 
+                 (!file_exists($value) && is_writeable(dirname($value)));
+                
+   
+        // Display the reason for failing this check.         
+        if($message && ! $match){
+
+            if(!file_exists($value) && !is_writeable(dirname($value))){
+                msg_dialog::display(_("Warning"), 
+                        sprintf(_("The file %s specified for %s:%s is not writeable!"), 
+                            bold($value),bold($class),bold($name)), 
+                        WARNING_DIALOG);
+            }elseif(file_exists($value) && !is_writeable($value)){
+                msg_dialog::display(_("Warning"), 
+                        sprintf(_("The file %s specified for %s:%s is not writeable!"), 
+                            bold($value),bold($class),bold($name)), 
+                        WARNING_DIALOG);
+            }
+        }
+
+        return($match);
+    }
+
+    static function isWriteablePath($message,$class,$name,$value, $type)
+    {
+        $match = !empty($value)&&is_dir($value)&&is_writeable($value);
+   
+        // Display the reason for failing this check.         
+        if($message && ! $match){
+            if(!is_dir($value)){
+                msg_dialog::display(_("Warning"), 
+                        sprintf(_("The folder %s specified for %s:%s does not exists!"), 
+                            bold($value),bold($class),bold($name)), 
+                        WARNING_DIALOG);
+            }elseif(!is_writeable($value)){
+                msg_dialog::display(_("Warning"), 
+                        sprintf(_("The folder %s specified for %s:%s is not writeable!"), 
+                            bold($value),bold($class),bold($name)), 
+                        WARNING_DIALOG);
+            }
+        }
+
+        return($match);
+    }
+
+    static function isReadableFile($message,$class,$name,$value, $type)
+    {
+        $match = !empty($value) && is_readable($value) && is_file($value);
+
+        // Display the reason for failing this check.         
+        if($message && ! $match){
+                
+            if(!is_file($value)){
+                msg_dialog::display(_("Warning"), 
+                        sprintf(_("The file %s specified for %s:%s does not exists!"), 
+                            bold($value),bold($class),bold($name)), 
+                        WARNING_DIALOG);
+            }elseif(!is_readable($value)){
+                msg_dialog::display(_("Warning"), 
+                        sprintf(_("The file %s specified for %s:%s is not readable!"), 
+                            bold($value),bold($class),bold($name)), 
+                        WARNING_DIALOG);
+            }
+        }
+
+        return($match);
+    }
+
+    static function isCommand($message,$class,$name,$value, $type)
+    {
+        $match = TRUE;
+
+        // Display the reason for failing this check.         
+        if($message && ! $match){
+            msg_dialog::display(_("Warning"), 
+                    sprintf(_("The command %s specified for %s:%s is invalid!"), 
+                        bold($value),bold($class),bold($name)), 
+                    WARNING_DIALOG);
+        }
+        
+        return($match);
+    }
+
+    static function isDn($message,$class,$name,$value, $type)
+    {
+        $match = preg_match("/^([a-z]*=[^=,]*,)*[^=]*=[^=]*$/i", $value);
+
+        // Display the reason for failing this check.         
+        if($message && ! $match){
+            msg_dialog::display(_("Warning"), 
+                    sprintf(_("The DN %s specified for %s:%s is invalid!"), 
+                        bold($value),bold($class),bold($name)), 
+                    WARNING_DIALOG);
+        }
+        
+        return($match);
+    }
+
+    static function isRdn($message,$class,$name,$value, $type)
+    {
+        $match = preg_match("/^([a-z]*=[^=,]*,)*[^=]*=[^=,]*,?$/i", $value);
+
+        // Display the reason for failing this check.         
+        if($message && ! $match){
+            msg_dialog::display(_("Warning"), 
+                    sprintf(_("The RDN %s specified for %s:%s is invalid!"), 
+                        bold($value),bold($class),bold($name)), 
+                    WARNING_DIALOG);
+        }
+        
+        return($match);
+    }
+
+    private function _restoreCurrentValue()
+    {
+        // First check for values in the LDAP Database.
+        if(isset($this->parent->ldapStoredProperties[$this->class][$this->name])){
+            $this->setStatus('ldap');
+            $this->value = $this->parent->ldapStoredProperties[$this->class][$this->name];
+            return;
+        }
+
+        // Second check for values in the config file.
+        if(isset($this->parent->fileStoredProperties[strtolower($this->class)][strtolower($this->name)])){
+            $this->setStatus('file');
+            $this->value = $this->parent->fileStoredProperties[strtolower($this->class)][strtolower($this->name)];
+            return;
+        }
+
+        // If there still wasn't found anything then fallback to the default.
+        if($this->getStatus() == 'undefined'){
+            $this->value = $this->getDefault();
+        }
+    }
+
+    function getMigrate() { return($this->migrate); }
+    function getCheck() { return($this->check); }
+    function getName() { return($this->name); }
+    function getClass() { return($this->class); }
+    function getGroup() { return($this->group); }
+    function getType() { return($this->type); }
+    function getDescription() { return($this->description); }
+    function getDefault() { return($this->default); }
+    function getDefaults() { return($this->defaults); }
+    function getStatus() { return($this->status); }
+    function isMandatory() { return($this->mandatory); }
+
+    function setValue($str) 
+    {
+        if(in_array($this->getStatus(), array('modified'))){
+            $this->tmp_value = $str; 
+        }elseif($this->value != $str){
+            $this->setStatus('modified'); 
+            $this->tmp_value = $str; 
+        }
+    }
+
+    function getValue($temporary = FALSE) 
+    { 
+        if($temporary){
+            if(in_array($this->getStatus(), array('modified','removed'))){
+                return($this->tmp_value); 
+            }else{
+                return($this->value); 
+            }
+        }else{ 
+
+            // Do not return ldap values if we've to ignore them.
+            if($this->parent->ignoreLdapProperties){
+                if(isset($this->parent->fileStoredProperties[strtolower($this->class)][strtolower($this->name)])){
+                    return($this->parent->fileStoredProperties[strtolower($this->class)][strtolower($this->name)]);
+                }else{
+                    return($this->getDefault());
+                }
+            }else{
+                return($this->value); 
+            }
+        }
+    }
+
+    function restoreDefault() 
+    {
+        if(in_array($this->getStatus(),array('ldap'))){
+            $this->setStatus('removed'); 
+
+            // Second check for values in the config file.
+            if(isset($this->parent->fileStoredProperties[strtolower($this->class)][strtolower($this->name)])){
+                $this->tmp_value = $this->parent->fileStoredProperties[strtolower($this->class)][strtolower($this->name)];
+            }else{
+                $this->tmp_value = $this->getDefault();
+            }
+        }
+    }
+
+    function save()
+    {
+        if($this->getStatus() == 'modified'){
+            $ldap = $this->parent->config->get_ldap_link();
+            $ldap->cd($this->parent->config->current['BASE']);
+            $dn = "cn={$this->class},".$this->parent->config->current['CONFIG'];
+            $ldap->cat($dn);
+            if(!$ldap->count()){
+                $ldap->cd($dn);
+                $data = array(
+                        'cn' => $this->class, 
+                        'objectClass' => array('top','gosaConfig'),
+                        'gosaSetting' => $this->name.":".$this->tmp_value);
+
+                $ldap->add($data);
+                if(!$ldap->success()){
+                    echo $ldap->get_error();
+                }
+
+            }else{
+                $attrs = $ldap->fetch();
+                $data = array();
+                $found = false;
+                if(isset($attrs['gosaSetting']['count'])){
+                    for($i = 0;$i<$attrs['gosaSetting']['count']; $i ++){
+                        $set = $attrs['gosaSetting'][$i];
+                        if(preg_match("/^{$this->name}:/", $set)){
+                            $set = "{$this->name}:{$this->tmp_value}";
+                            $found = true;
+                        }
+                        $data['gosaSetting'][] = $set;
+                    }
+                }
+                if(!$found) $data['gosaSetting'][] = "{$this->name}:{$this->tmp_value}";
+                $ldap->cd($dn);
+                $ldap->modify($data);
+                if(!$ldap->success()){
+                    echo $ldap->get_error();
+                }
+            }
+            $this->value = $this->tmp_value;
+            $this->setStatus('ldap'); 
+        }elseif($this->getStatus() == 'removed'){
+            $ldap = $this->parent->config->get_ldap_link();
+            $ldap->cd($this->parent->config->current['BASE']);
+            $dn = "cn={$this->class},".$this->parent->config->current['CONFIG'];
+            $ldap->cat($dn);
+            $attrs = $ldap->fetch();
+            $data = array('gosaSetting' => array());
+            for($i = 0;$i<$attrs['gosaSetting']['count']; $i ++){
+                $set = $attrs['gosaSetting'][$i];
+                if(preg_match("/^{$this->name}:/", $set)){
+                    continue;
+                }
+                $data['gosaSetting'][] = $set;
+            }
+            $ldap->cd($dn);
+            $ldap->modify($data);
+            if(!$ldap->success()){
+                echo $ldap->get_error();
+            }
+            $this->_restoreCurrentValue();
+        }
+    }
+
+    private function setStatus($state) 
+    {
+        if(!in_array($state, array('ldap','file','undefined','modified','removed'))) {
+            trigger_error("Unknown property status given '{$state}' for {$this->class}:{$this->name}!");
+        }else{
+            $this->status = $state; 
+        }
+    }
+
+    function isValid() 
+    { 
+        return(TRUE);    
+    }
+}
+
+
+
+interface propertyMigration
+{
+    function __construct($config,$property);
+}
+
+
+?>
diff --git a/gosa-core/include/class_core.inc b/gosa-core/include/class_core.inc
new file mode 100644
index 0000000..eb857f9
--- /dev/null
+++ b/gosa-core/include/class_core.inc
@@ -0,0 +1,1067 @@
+<?php
+
+/*
+ *   How to use plugin::plInfo()
+ *   ===================
+ *   
+ *   The function returns a descriptive array of the plugin,
+ *    which will then be used by GOsa to populate the plugin, its ACLs, 
+ *    its properties, its schema requirements aso.
+ *
+ *
+ *   The following values can be set:
+ *   ================================
+ *
+ *   plShortName    |-> The name of the plugin in short (e.g. Posix)
+ *                  |   This short-name will be shown for example in the ACL definitions.
+ *                  | 
+ *                  | 
+ *   plDescription  |-> A descriptive text for the plugin (e.g. User posix account extension)
+ *                  |   This will be shown in the ACL definitions.   
+ *                  | 
+ *                  | 
+ *   plSelfModify   |-> If set to true this plugin allows to set 'self' ACLs.
+ *                  |   For exampe to allow to change the users own password, but not the others.
+ *                  | 
+ *                  | 
+ *   plDepends      |-> The plugins dependencies to other classes (e.g. sambaAccount requires posixAccount)
+ *                  |  
+ *                  | 
+ *   plPriority     |-> The priority of the plugin, this influences the ACL listings only.
+ *                  | 
+ *                  | 
+ *   plSection      |-> The section of this plugin 'administration', 'personal', 'addons'
+ *                  | 
+ *                  | 
+ *   plCategory     |-> The plugin category this plugins belongs to (e.g. users, groups, departments) 
+ *                  | 
+ *                  | 
+ *   plRequirements |-> Plugin requirements. 
+ *                  | |
+ *                  | |-> [activePlugin]           The schame checks will only be performed if the given plugin is enabled
+ *                  | |                             in the gosa.conf definitions.
+ *                  | |                            Defaults to the current class name if empty.
+ *                  | |
+ *                  | |-> [ldapSchema]             An array of objectClass requirements.
+ *                  | |                            Syntax [[objectClass => 'version'], ... ]
+ *                  | |                            Version can be emtpy which just checks for the existence of the class.
+ *                  | |
+ *                  | |-> [onFailureDisablePlugin] A list of plugins that which will be disabled if the 
+ *                  |                               requirements couldn't be fillfulled.
+ *                  |
+ *                  |      ---------------------------------------------
+ *                  |      EXAMPLE:
+ *                  |      ---------------------------------------------
+ *                  |      "plRequirements"=> array(
+ *                  |         'activePlugin' => 'applicationManagement', 
+ *                  |         'ldapSchema' => array(
+ *                  |             'gosaObject' => '',
+ *                  |             'gosaAccount' => '>=2.7',
+ *                  |             'gosaLockEntry' => '>=2.7',
+ *                  |             'gosaDepartment' => '>=2.7',
+ *                  |             'gosaCacheEntry' => '>=2.7',
+ *                  |             'gosaProperties' => '>=2.7',
+ *                  |             'gosaConfig' => '>=2.7'
+ *                  |             ),
+ *                  |         'onFailureDisablePlugin' => array(get_class(), 'someClassName')
+ *                  |         ),
+ *                  |      ---------------------------------------------
+ *                  |
+ *                  |
+ *                  |         
+ *   plProvidedAcls |-> The ACLs provided by this plugin
+ *                  |
+ *                  |      ---------------------------------------------
+ *                  |      EXAMPLE:
+ *                  |      ---------------------------------------------
+ *                  |      "plProvidedAcls"=> array(
+ *                  |          'cn'             => _('Name'),
+ *                  |          'uid'            => _('Uid'),
+ *                  |          'phoneNumber'    => _('Phone number')
+ *                  |          ),
+ *                  |      ---------------------------------------------
+ *                  |
+ *                  |
+ *                  | 
+ *   plProperties   |-> Properties used by the plugin.
+ *                  |   Properties which are defined here will be modifyable using the property editor.
+ *                  |   To read properties you can use $config->get_cfg_value(className, propertyName)
+ *                  | 
+ *                  |      ---------------------------------------------
+ *                  |      EXAMPLE:
+ *                  |      ---------------------------------------------
+ *                  |      "plProperties"=> array(
+ *                  |         array(
+ *                  |             "name"          => "htaccessAuthentication",
+ *                  |             "type"          => "bool",
+ *                  |             "default"       => "false",
+ *                  |             "description"   => _("A description..."),
+ *                  |             "check"         => "gosaProperty::isBool",
+ *                  |             "migrate"       => "",
+ *                  |             "group"         => "authentification",
+ *                  |             "mandatory"     => TRUE
+ *                  |             ),
+ *                  |         ),
+ *                  |   See class_core.inc for a huge amount of examples.
+ */
+
+
+class all extends plugin {
+    static function plInfo()
+    {
+        return (array(
+                    "plShortName"   => _("All"),
+                    "plDescription" => _("All objects"),
+                    "plSelfModify"  => TRUE,
+                    "plDepends"     => array(),
+                    "plPriority"    => 0,
+                    "plSection"     => array("administration"),
+                    "plCategory"    => array("all" => array("description" => '* '._("All"))),
+                    "plProvidedAcls"    => array())
+               );
+    }
+}
+
+class core extends plugin {
+
+    static function getPropertyValues($class,$name,$value,$type)
+    {
+        $list = array();
+        switch($name){
+            case 'idAllocationMethod':
+                $list = array('traditional' => _('Traditional'), 'pool' => _('Use samba pool'));
+                break;
+            case 'passwordDefaultHash':
+                $tmp = passwordMethod::get_available_methods();
+                foreach($tmp['name'] as $id => $method){
+                    $desc = $tmp[$id]['name'];
+                    $list[$method] = $desc;
+                }
+                break;
+            case 'theme':
+                $cmd = "cd ../ihtml/themes; find . -name 'img.styles' | sed s/'^[^\/]*\/\([^\/]*\).*'/'\\1'/g";
+                $res = `$cmd`  ; 
+                $list = array();
+                foreach(preg_split("/\n/",$res) as $entry){
+                    if(!empty($entry)){
+                        $list[$entry] = $entry;
+                    }
+                }
+                break;
+            case 'accountPrimaryAttribute':
+                $list = array('uid' => 'uid', 'cn' => 'cn');
+                break;
+            case 'loginAttribute':
+                $list = array(
+                            'uid' => 'uid',
+                            'mail' => 'mail',
+                            'both' => 'uid & mail');
+                break;
+            case 'timezone': 
+                $tmp = timezone::_get_tz_zones();
+                foreach($tmp['TIMEZONES'] as $name => $offset){
+                    if($offset >= 0){
+                        $list[$name] = $name." ( + ".sprintf("%0.2f",$offset/(60*60))." "._("hours").")";
+                    }else{
+                        $offset = $offset * -1;
+                        $list[$name] = $name." ( - ".sprintf("%0.2f",($offset/(60*60)))." "._("hours").")";
+                    }
+                }
+                break;
+            case 'mailAttribute':
+                $list = array('mail' => 'mail','uid' => 'uid');
+                break;
+            case 'mailMethod': 
+                $tmp = array();
+                if(class_available('mailMethod')){
+                    $tmp = mailMethod::get_methods();
+                }
+                $list =array();
+                foreach($tmp as $name => $value){
+                    $name = preg_replace('/^mailMethod/','', $name);
+                    $list[$name] = $value;
+                }
+                $list[''] = _("None");
+                break;
+            case 'language':
+                $tmp = get_languages(TRUE);
+                $list[""] = _("Automatic");
+                foreach($tmp as $key => $desc){
+                    $list[$key] = $desc;
+                }
+                break;
+            case 'modificationDetectionAttribute': 
+                $list = array('entryCSN' => 'entryCSN (OpenLdap)','textCSN'=>'textCSN (Sun DS)');
+                break;
+            default: echo $name." ";$list = array();
+        }
+
+        if(!isset($list[$value])){
+            $list[$value] = $value." ("._("User value").")";
+        }
+
+        return($list);
+    }
+
+    static function plInfo()
+    {
+        return (array(
+                    "plShortName" => _("Core"),
+                    "plDescription" => _("GOsa core plugin"),
+                    "plSelfModify"  => FALSE,
+                    "plDepends"     => array(),
+                    "plPriority"    => 0,
+                    "plSection"     => array("administration"),
+
+                    "plRequirements"=> array(
+                        'ldapSchema' => array(
+                            'gosaObject' => '>=2.7',
+                            'gosaAccount' => '>=2.7',
+                            'gosaLockEntry' => '>=2.7',
+                            'gosaDepartment' => '>=2.7',
+                            'gosaCacheEntry' => '>=2.7',
+                            'gosaProperties' => '>=2.7',
+                            'gosaConfig' => '>=2.7'
+                            ),
+                        'onFailureDisablePlugin' => array(get_class())
+                        ),
+
+
+
+                    "plCategory"    => array("all"),
+                    "plProperties"  => array(
+
+                        array(
+                            "name"          => "htaccessAuthentication",
+                            "type"          => "bool",
+                            "default"       => "false",
+                            "description"   => _("Enables htaccess instead of LDAP authentication. This can be used to enable other authentication mechanisms like Kerberos for the GOsa login."),
+                            "check"         => "gosaProperty::isBool",
+                            "migrate"       => "",
+                            "group"         => "authentification",
+                            "mandatory"     => TRUE),
+
+                        array(
+                            "name"          => "statsDatabaseEnabled",
+                            "type"          => "bool",
+                            "default"       => "false",
+                            "description"   => _("Enables the usage statistics module."),
+                            "check"         => "gosaProperty::isBool",
+                            "migrate"       => "",
+                            "group"         => "core",
+                            "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "statsDatabaseDirectory",
+                                "type"          => "path",
+                                "default"       => "/var/spool/gosa/stats",
+                                "description"   => _("Database file to be used by the usage statistics module."),
+                                "check"         => "gosaProperty::isWriteablePath",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => TRUE),
+
+                        array(
+                            "name"          => "logging",
+                            "type"          => "bool",
+                            "default"       => "true",
+                            "description"   => _("Enables event logging in GOsa. Setting it to 'On' make GOsa log every action a user performs via syslog. If you use this in combination with rsyslog and configure it to MySQL logging, you can browse all events in GOsa."),
+
+                            "check"         => "gosaProperty::isBool",
+                            "migrate"       => "",
+                            "group"         => "core",
+                            "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "listSummary",
+                                "type"          => "bool",
+                                "default"       => "true",
+                                "description"   => _("Enables a status bar on the bottom of lists displaying a summary of type and number of elements in the list."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "visual",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "passwordMinLength",
+                                "type"          => "integer",
+                                "default"       => "",
+                                "description"   => _("Specify the minimum length for newly entered passwords."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "password",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "passwordMinDiffer",
+                                "type"          => "integer",
+                                "default"       => "",
+                                "description"   => _("Specify the minimum number of characters that have to differ between old and newly entered passwords."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "password",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "passwordProposalHook",
+                                "type"          => "command",
+                                "default"       => "",
+                                "description"   => _("Command to generate password proposals. If a command has been specified, the user can decide whether to use an automatic password or a manually specified one.")." "._("Example").": /usr/bin/apg -n1",
+                                "check"         => "gosaProperty::isCommand",
+                                "migrate"       => "",
+                                "group"         => "password",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "displayErrors",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Enable display of PHP errors on the top of the page. Disable this feature in production environments to avoid the exposure of sensitive data.")." ".sprintf(_("Related option").": developmentMode"),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "debug",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "developmentMode",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Show messages that may assist plugin development. Be aware that this option may produce some ACL related false error messages!"),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "debug",
+                                "mandatory"     => TRUE),
+
+
+                        array(
+                                "name"          => "schemaCheck",
+                                "type"          => "bool",
+                                "default"       => "true",
+                                "description"   => _("Enable LDAP schema verification during login. The recommended setting is 'On' because it enables efficient methods to create missing subtrees in the LDAP."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "debug",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "copyPaste",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Enable copy and paste for most objects managed by GOsa."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "copyPaste",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "forceGlobals",
+                                "type"          => "noLdap",
+                                "default"       => "false",
+                                "description"   => _("Enable PHP security checks for disabled register_global settings."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "security",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "forceSSL",
+                                "type"          => "noLdap",
+                                "default"       => "false",
+                                "description"   => _("Enable automatic redirection to HTTPS based administration."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "security",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "ldapStats",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Enable logging of detailed information of LDAP operations."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "debug",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "ldapFollowReferrals",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Enable LDAP referral chasing."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "ldap",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "ldapFilterNestingLimit",
+                                "type"          => "integer",
+                                "default"       => 200,
+                                "description"   => _("Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up group queries by putting several queries into a single query. This is known to produce problems on some LDAP servers (i.e. Sun DS) and needs to be lowered or disabled."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "ldap",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "ldapSizelimit",
+                                "type"          => "integer",
+                                "default"       => 200,
+                                "description"   => _("Specify the maximum number of entries GOsa will request from an LDAP server. A warning is displayed if this limit is exceeded."), 
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "ldapSizeIgnore",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Disable checks for LDAP size limits."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "warnSSL",
+                                "type"          => "noLdap",
+                                "default"       => "true",
+                                "description"   => _("Enable warnings for non encrypted connections."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "security",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "ppdGzip",
+                                "type"          => "bool",
+                                "default"       => "true",
+                                "description"   => _("Enable compression for PPD files."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "ppd",
+                                "mandatory"     => FALSE),
+
+
+                        array(
+                                "name"          => "ignoreAcl",
+                                "type"          => "dn",
+                                "default"       => "",
+                                "description"   => _("DN of user with ACL checks disabled. This should only be used to restore lost administrative ACLs."),
+                                "check"         => "gosaProperty::isDN",
+                                "migrate"       => "",
+                                "group"         => "debug",
+                                "mandatory"     => FALSE),
+
+
+                        array(
+                                "name"          => "ppdPath",
+                                "type"          => "path",
+                                "default"       => "/var/spool/ppd",
+                                "description"   => _("Storage path for PPD files."),
+                                "check"         => "gosaProperty::isPath",
+                                "migrate"       => "",
+                                "group"         => "ppd",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "ldapMaxQueryTime",
+                                "type"          => "integer",
+                                "default"       => "",
+                                "description"   => _("Number of seconds a LDAP query is allowed to take until GOsa aborts the request."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "debug",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "storeFilterSettings",
+                                "type"          => "bool",
+                                "default"       => "true",
+                                "description"   => _("Enables storing of user filters in browser cookies."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "sendCompressedOutput",
+                                "type"          => "bool",
+                                "default"       => "true",
+                                "description"   => _("Enables sending of compressed web page content."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "modificationDetectionAttribute",
+                                "type"          => "switch",
+                                "default"       => "entryCSN",
+                                "defaults"      => "core::getPropertyValues",
+                                "description"   => _("LDAP attribute which is used to detect changes."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "language",
+                                "type"          => "switch",
+                                "default"       => "",
+                                "defaults"      => "core::getPropertyValues",
+                                "description"   => _("ISO language code which is used to override the automatic language detection."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "theme",
+                                "type"          => "switch",
+                                "default"       => "default",
+                                "defaults"      => "core::getPropertyValues",
+                                "description"   => _("CSS and template theme to be used."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "visual",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "sessionLifetime",
+                                "type"          => "integer",
+                                "default"       => 600,
+                                "description"   => _("Number of seconds after an inactive session expires. This may be overridden by some systems php.ini/crontab mechanism."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "security",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "templateCompileDirectory",
+                                "type"          => "path",
+                                "default"       => "/var/spool/gosa",
+                                "description"   => _("Template engine compile directory."),
+                                "check"         => "gosaProperty::isWriteablePath",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "debugLevel",
+                                "type"          => "integer",
+                                "default"       => 0,
+                                "description"   => sprintf(_("Logical AND of the integer values below that controls the debug output on every page load: %s"),
+"
+
+DEBUG_TRACE   = 1
+DEBUG_LDAP    = 2
+DEBUG_MYSQL   = 4
+DEBUG_SHELL   = 8
+DEBUG_POST    = 16
+DEBUG_SESSION = 32
+DEBUG_CONFIG  = 64
+DEBUG_ACL     = 128
+DEBUG_SI      = 256"),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "debug",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "sambaHashHook",
+                                "type"          => "command",
+                                "default"       => "perl -MCrypt::SmbHash -e \"print join(q[:], ntlmgen %password), $/;\"",
+                                "description"   => _("Command to create Samba NT/LM hashes. Required for password synchronization if you don't use supplementary services."),
+                                "check"         => "gosaProperty::isCommand",
+                                "migrate"       => "",
+                                "group"         => "samba",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "passwordDefaultHash",
+                                "type"          => "switch",
+                                "default"       => "crypt/md5",
+                                "defaults"      => "core::getPropertyValues",
+                                "description"   => _("Default hash to be used for newly created user passwords."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "password",
+                                "mandatory"     => FALSE),
+                        array(
+                                "name"          => "strictPasswordRules",
+                                "type"          => "bool",
+                                "default"       => "true",
+                                "description"   => _("Enable checking for the presence of problematic unicode characters in passwords."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "password",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "accountPrimaryAttribute",
+                                "type"          => "switch",
+                                "default"       => "cn",
+                                "defaults"      => "core::getPropertyValues",
+                                "description"   => _("Specify whether 'cn' or 'uid' style user DNs are generated. For more sophisticated control use the 'accountRDN' setting."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "security",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "userRDN",
+                                "type"          => "rdn",
+                                "default"       => "ou=people,",
+                                "description"   => _("Location component for user storage inside of departments."),
+                                "check"         => "gosaProperty::isRdn",
+                                "migrate"       => "migrate_userRDN", 
+                                "group"         => "user",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "groupRDN",
+                                "type"          => "rdn",
+                                "default"       => "ou=groups,",
+                                "description"   => _("Location component for group storage inside of departments."),
+                                "check"         => "gosaProperty::isRdn",
+                                "migrate"       => "migrate_groupRDN",
+                                "group"         => "group",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "gidNumberBase",
+                                "type"          => "integer",
+                                "default"       => "1000",
+                                "description"   => _("Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' setting."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "id",
+                                "mandatory"     => TRUE),
+
+                       array(
+                                "name"          => "baseIdHook",
+                                "type"          => "command",
+                                "default"       => "",
+                                "description"   => _("Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' setting."),
+                                "check"         => "gosaProperty::isCommand",
+                                "migrate"       => "",
+                                "group"         => "id",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "gidNumberPoolMin",
+                                "type"          => "integer",
+                                "default"       => 10000,
+                                "description"   => _("Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "id",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "gidNumberPoolMax",
+                                "type"          => "integer",
+                                "default"       => 40000,
+                                "description"   => _("Highest assignable group ID for use with the idAllocationMethod set to 'pool'."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "id",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "uidNumberPoolMin",
+                                "type"          => "integer",
+                                "default"       => 10000,
+                                "description"   => _("Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "id",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "uidNumberPoolMax",
+                                "type"          => "integer",
+                                "default"       => 40000,
+                                "description"   => _("Highest assignable user ID for use with the idAllocationMethod set to 'pool'."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "id",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "uidNumberBase",
+                                "type"          => "integer",
+                                "default"       => "1000",
+                                "description"   => _("Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' setting."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "id",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "gosaRpcServer",
+                                "type"          => "string",
+                                "default"       => "",
+                                "description"   => _("Connection URL for use with the gosa-ng service."),
+                                "check"         => "jsonRPC::testConnectionProperties",
+                                "migrate"       => "",
+                                "group"         => "rpc",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "gosaRpcUser",
+                                "type"          => "string",
+                                "default"       => "admin",
+                                "description"   => _("User name used to connect to the 'gosaRpcServer'."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "rpc",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "gosaRpcPassword",
+                                "type"          => "string",
+                                "default"       => "tester",
+                                "description"   => _("Password used to connect to the 'gosaRpcServer'."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "rpc",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "gosaSupportURI",
+                                "type"          => "string",
+                                "default"       => "",
+                                "description"   => _("Connection URI for use with the gosa-si service (obsolete)."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "gosa-si",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "gosaSupportTimeout",
+                                "type"          => "integer",
+                                "default"       => 15,
+                                "description"   => _("Number of seconds after a gosa-si connection is considered 'dead'."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "gosa-si",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "loginAttribute",
+                                "type"          => "switch",
+                                "default"       => "uid",
+                                "defaults"      => "core::getPropertyValues",
+                                "description"   => _("User attribute which is used for log in."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "security",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "timezone",
+                                "type"          => "switch",
+                                "default"       => "",
+                                "defaults"      => "core::getPropertyValues",
+                                "description"   => _("Local time zone."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "honourUnitTags",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Enable tagging of administrative units. This can be used in conjunction with ACLs (obsolete)."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "useSaslForKerberos",
+                                "type"          => "bool",
+                                "default"       => "true",
+                                "description"   => _("Enable the use of {sasl} instead of {kerberos} for user realms."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "password",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "rfc2307bis",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Enable RFC 2307bis style groups. This combines the use of 'member' and 'memberUid' attributes."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "personalTitleInDN",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Adjusts the user DN generation to include the users personal title (only in conjunction with accountPrimaryAttribute)."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "storage location",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "nextIdHook",
+                                "type"          => "command",
+                                "default"       => "",
+                                "description"   => _("Script to be called for finding the next free id for groups or users."),
+                                "check"         => "gosaProperty::isCommand",
+                                "migrate"       => "",
+                                "group"         => "id",
+                                "mandatory"     => FALSE),
+                        array(
+                                "name"          => "idGenerator",
+                                "type"          => "string",
+                                "default"       => "{%sn}-{%givenName[2-4]}",
+                                "description"   => _("Descriptive string for the automatic ID generator. Please read the FAQ file for more information."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "strictNamingRules",
+                                "type"          => "bool",
+                                "default"       => "true",
+                                "description"   => _("Enable strict checking for user IDs and group names."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "minId",
+                                "type"          => "integer",
+                                "default"       => 40,
+                                "description"   => _("Lowest assignable user or group ID. Only active if idAllocationMethod is set to 'traditional'."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "id",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "mailAttribute",
+                                "type"          => "switch",
+                                "default"       => "mail",
+                                "defaults"      => "core::getPropertyValues",
+                                "description"   => _("Attribute to be used for primary mail addresses."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "mail",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "gosaSharedPrefix",
+                                "type"          => "string",
+                                "default"       => "",
+                                "description"   => _("Namespace used for shared folders."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "mail",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "mailUserCreation",
+                                "type"          => "string",
+                                "default"       => "",
+                                "description"   => _("Namespace rule to create user folders. Please read the FAQ file for more information."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "mail",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "mailFolderCreation",
+                                "type"          => "string",
+                                "default"       => "",
+                                "description"   => _("Namespace rule to create folders. Please read the FAQ file for more information."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "mail",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "imapTimeout",
+                                "type"          => "integer",
+                                "default"       => 10,
+                                "description"   => _("Seconds after an IMAP connection is considered dead."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "mail",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "mailMethod",
+                                "type"          => "switch",
+                                "default"       => "",
+                                "defaults"      => "core::getPropertyValues",
+                                "description"   => _("Class name of the mail method to be used."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "mail",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "cyrusUseSlashes",
+                                "type"          => "bool",
+                                "default"       => "true",
+                                "description"   => _("Enable slashes instead of dots as a name space separator for Cyrus IMAP."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "mail",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "vacationTemplateDirectory",
+                                "type"          => "path",
+                                "default"       => "/etc/gosa/vacation",
+                                "description"   => _("Directory to store vacation templates. Please read the FAQ file for more information."),
+                                "check"         => "gosaProperty::isWriteablePath",
+                                "migrate"       => "",
+                                "group"         => "mail",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "ldapTLS",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Enable TLS for LDAP connections."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "security",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "honourIvbbAttributes",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Enable IVBB used by german authorities."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "sambaIdMapping",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Maintain sambaIdmapEntry objects to improve performance on some Samba versions."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "samba",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "handleExpiredAccounts",
+                                "type"          => "bool",
+                                "default"       => "true",
+                                "description"   => _("Enable checks to determine whether an account is expired or not."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "sambaSID",
+                                "type"          => "string",
+                                "default"       => "",
+                                "description"   => _("String containing the SID for Samba setups without the Domain object in LDAP."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "samba",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "sambaRidBase",
+                                "type"          => "integer",
+                                "default"       => "",
+                                "description"   => _("String containing the RID base for Samba setups without the Domain object in LDAP."),
+                                "check"         => "gosaProperty::isInteger",
+                                "migrate"       => "",
+                                "group"         => "samba",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "enableSnapshots",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Enable manual object snapshots."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "snapshot",
+                                "mandatory"     => TRUE),
+
+                        array(
+                                "name"          => "snapshotBase",
+                                "type"          => "dn",
+                                "default"       => "ou=snapshots,dc=localhost,dc=de",
+                                "description"   => _("Base DN for snapshot storage."),
+                                "check"         => "gosaProperty::isDn",
+                                "migrate"       => "",
+                                "group"         => "snapshot",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "snapshotAdminDn",
+                                "type"          => "dn",
+                                "default"       => "cn=admin,dc=localhost,dc=de",
+                                "description"   => _("DN of the snapshot administrator."),
+                                "check"         => "gosaProperty::isDn",
+                                "migrate"       => "",
+                                "group"         => "snapshot",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "snapshotAdminPassword",
+                                "type"          => "string",
+                                "default"       => "secret",
+                                "description"   => _("Password of the snapshot administrator."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "snapshot",
+                                "mandatory"     => FALSE),
+
+                        array(
+                                "name"          => "idAllocationMethod",
+                                "type"          => "switch",
+                                "default"       => "traditional",
+                                "defaults"      => "core::getPropertyValues",
+                                "description"   => _("Method for user and group ID generation. Note: only the 'traditional' method is safe due to PHP limitations."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "id",
+                                "mandatory"     => TRUE),
+                        array(
+                                "name"          => "snapshotURI",
+                                "type"          => "uri",
+                                "default"       => "ldap://localhost:389",
+                                "description"   => _("URI of server to be used for snapshots."),
+                                "check"         => "",
+                                "migrate"       => "",
+                                "group"         => "snapshot",
+                                "mandatory"     => FALSE),
+                        array(
+                                "name"          => "forceTranslit",
+                                "type"          => "bool",
+                                "default"       => "false",
+                                "description"   => _("Enable transliteration of cyrillic characters for UID generation."),
+                                "check"         => "gosaProperty::isBool",
+                                "migrate"       => "",
+                                "group"         => "core",
+                                "mandatory"     => TRUE)
+                            )));
+    }
+}
+?>
diff --git a/gosa-core/include/class_divSelectBox.inc b/gosa-core/include/class_divSelectBox.inc
deleted file mode 100644
index 2de7a21..0000000
--- a/gosa-core/include/class_divSelectBox.inc
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-/*
- * This code is part of GOsa (http://www.gosa-project.org)
- * Copyright (C) 2003-2008 GONICUS GmbH
- *
- * ID: $$Id: class_divSelectBox.inc 15380 2010-01-27 14:03:19Z cajus $$
- *
- * 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.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-class divSelectBox {
-
-	var $a_entries;
-	var $summary;
-	var $cols;
-
-	// Members for page managment
-  var $height=200;
-
-	// Added php 4 constructor
-	function divSelectBox(){
-		$this->s_summary                = "";
-		$this->a_entries                = array();
-		$this->cols                     = 0;
-	}
-
-  function setHeight($h){
-    $this->height=$h;
-  }
-
-	function AddEntry($a_entriedata) {
-		$this->a_entries[] = $a_entriedata;
-	}
-
-  function DrawList(){
-    $s_return  = "";
-    $s_return .= "<div style=\"height:2px; overflow:hidden;background:#888888;width:100%;margin-right:0px;\"></div>\n";
-    $s_return .= "<div style=\"padding-right:1px;padding-bottom:2px;height:".$this->height.";width:100%\">\n";
-    $s_return .= "<div style=\"overflow: auto;width:100%;height:".($this->height)."px;\">\n";
-    $s_return .= "<table ".
-                    "summary='".$this->s_summary."' ".
-                    "width='100%' ".
-                    "cellspacing='0' ".
-                    "style='overflow:scroll; ".
-                    "height:".($this->height-2)."px;".
-                    "padding-right:1px; ".
-                    "padding-bottom:2px; ".
-                    "border-left:solid 2px; ".
-                    "border-top:solid 0px; ".
-                    "border-color:#888888; ".
-                    "'>\n";
-    $s_return.=$this->_generatePage();
-    $s_return.= "</table></div></div>";
-    return ($s_return);
-  }
-	
-	function _numentries(){
-		$cnt = count($this->a_entries);
-		return $cnt;
-	}
-	
-	function SetSummary($msg){
-		$this->s_summary = $msg;
-	}
-
-	function _generatePage(){
-		
-		$s_value 	= "";
-		$s_key 		= "";
-		$s_return 	= "";
-		$i_alternate=0;
-    $str = "";
-	
-    /* If divlist is empty, append a single white entry */
-    if(count($this->a_entries)==0){
-      $str.="<tr class='rowxp1'
-                ><td class='list1nohighlight' style='height:100%; border-right:0px;'> </td></tr>";
-      return($str);
-    }
-
-    $i = $this->_numEntries();
-    foreach($this->a_entries as $s_key => $s_value){
-      $i--;
-
-      if($i_alternate!=0){ 
-        $i_alternate=0; 
-      } else {
-        $i_alternate=1;
-      }
-
-      $s_return .= "\n<tr class='rowxp".($i_alternate)."'>";
-
-      $cnt = 0; 					
-    
-      foreach($s_value as $s_key2 => $s_value2 ){				
-        $this->cols = count($s_value) ;						
-        $cnt++;					
-
-        if(!isset($s_value2['class'])){
-          $class = "list".$i_alternate; 
-        } else {
-          $class = $s_value2['class'];
-        }
-
-        if(!isset($s_value2['attach'])){
-          $style = "";
-        } else {
-          $style = " ".$s_value2['attach']." "	;
-        }
-
-        $s_return .= "\n<td ".$style." class='".$class."'>";
-        $s_return .= $s_value2['string'];
-        $s_return .= "</td>";
-      }
-      $s_return.="\n</tr>";
-    }
-    $s_return.="\n<tr>";
-    for($i = 0 ; $i < ($this->cols) ; $i ++){
-      if($i >= ($this->cols-1)){
-        $s_return .= "<td class='list1nohighlight' style='height:100%;border:0px;'><div style='font-size:1px;'> </div></td>";
-      }else{
-        $s_return .= "<td class='list1nohighlight' style='height:100%;'><div style='font-size:1px;'> </div></td>";
-      }
-      
-    }
-    $s_return.="</tr>";
-    return $s_return;
-  }
-}
-// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
-?>
diff --git a/gosa-core/include/class_divlist.inc b/gosa-core/include/class_divlist.inc
deleted file mode 100644
index 135d9ef..0000000
--- a/gosa-core/include/class_divlist.inc
+++ /dev/null
@@ -1,381 +0,0 @@
-<?php
-/*
- * This code is part of GOsa (http://www.gosa-project.org)
- * Copyright (C) 2003-2008 GONICUS GmbH
- *
- * ID: $$Id: class_divlist.inc 15380 2010-01-27 14:03:19Z cajus $$
- *
- * 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.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-class divlist {
-
-	var $a_entries;
-	var $a_header;
-	var $b_displayPageNums; 	
-	var $s_summary;
-	var $cols;
-	var $pageid;
-  //FIXME: Ignoring the fact, that they were missing - height and width are numeric...
-  var $s_height;
-  var $s_width;
-  
-	// Members for page managment
-	var $i_currentPage;
-	var $i_entriesPerPage;
-
-  var $force_height = false;
-  var $list_footer = "";
-  var $fix_list_for_plugins = FALSE;
-  
-	// Added php 4 constructor
-	function divlist($pageid){
-
-		$this->i_currentPage    = 0;
-		$this->i_entriesPerPage = 10;
-    $this->s_height         = "450";
-    $this->s_width          = "600px";
-		$this->s_summary        = "";
-		$this->a_entries        = array();
-		$this->a_header         = array();
-		$this->b_displayPageNums= true;
-		$this->cols             = 0;
-		$this->pageid           = $pageid;
-	}
-
-	function __destruct(){
-	
-	}
-
-  function SetPluginMode($val = TRUE)
-  {
-    $this->fix_list_for_plugins = $val;
-  }
-
-  function SetFooter($str)
-  {
-    $this->list_footer = $str;
-  }
-
-	function AddEntry($a_entriedata) {
-		$this->a_entries[] = $a_entriedata;
-	}
-
-	function DisablePageNums() {
-		$this->b_displayPageNums =false;
-	}
-
-	function SetHeader($a_headerdata) {
-		$this->a_header[] = $a_headerdata ;
-	}
-	
-  function SetHeight($s_height) {
-		$this->s_height= $s_height;
-    $this->force_height = true;
-	}
-  
-  function SetWidth($s_width) {
-		$this->s_width= $s_width;
-    if(preg_match("/^[0-9]*$/",$this->s_width)){
-      $this->s_width .="px";
-    }
-	}
-
-	function SetEntriesPerPage($i_num){
-		$this->i_entriesPerPage=$i_num;
-	}
-	
-	function DrawList(){
-		$s_return = "";
-    if(!$this->force_height){
-		  $s_return.= "<table summary='".$this->s_summary."' style='width:".
-                  $this->s_width.";height:".$this->s_height.
-                  "px;' cellspacing='0' id='t_scrolltable'>";
-    } else {
-		  $s_return.= "<table summary='".$this->s_summary."' style='width:".
-                  $this->s_width.";height:".$this->s_height.
-                  "px;' cellspacing='0' id='t_scrolltable_onlywidth'>";
-    }
-
-    $s_return.= $this->_generateHeader();
-    $s_return.= $this->_generatePage();
-	  $s_return.= $this->_generateFooter();	
-		$s_return.= "</table>";
-		
-		return ($s_return);
-	}
-	
-	function _numpages(){
-		$cnt = count($this->a_entries);
-		
-		$pages 	= (int) ($cnt / $this->i_entriesPerPage);
-		if($cnt % $this->i_entriesPerPage){
-      $pages++;
-    }
-		
-		return $pages;
-	}
-	
-	function _numentries(){
-		return count($this->a_entries);
-	}
-
-  function _generateFooter()
-  {
-    $s_return = "";
-    if(!empty($this->list_footer)){
-
-      // Using scrolltable?
-      if($this->i_entriesPerPage == 0) {
-        if(!$this->force_height) {
-          $s_return.= "\n<tr><td class='scrollhead'><table summary='' style='width:100%' cellspacing='0' id='t_scrollfoot'>";
-        } else {
-          $s_return.= "\n<tr><td class='scrollhead'><table summary='' style='width:100%' cellspacing='0'                      id='t_scrollfoot_onlywidth'>";
-        }
-      }
-      $s_return .= "<tr><td class='listfooter' style='border-bottom:0px;'>".$this->list_footer."</td>";
-          // Attach a 13px-wide column (used as scrollbar space in body-table),
-    // but do this only if we are really using scrolltables.
-    if($this->i_entriesPerPage == 0) {
-      $s_return.= "\n<td class='listfooter' style='width:13px;border-right:0px;'> </td>";
-      $s_return.= "\n</table></td>";
-    }
-
-    $s_return.= "\n</tr>";
-
-    }
-    return($s_return);
-  }
-	
-	function _generateHeader(){
-		$s_return = "";
-		$s_value 	= "";
-		$s_key 		= "";
-		
-    // Using scrolltable?
-    if($this->i_entriesPerPage == 0) {
-      if(!$this->force_height) {
-        $s_return.= "\n<tr><td class='scrollhead'><table summary='' style='width:".$this->s_width.";' cellspacing='0' id='t_scrollhead'>";
-      } else {
-        $s_return.= "\n<tr><td class='scrollhead'><table summary='' style='width:".$this->s_width.";' cellspacing='0' id='t_scrollhead_onlywidth'>";
-      }
-    }
-
-		$s_return.= "\n<tr>";
-
-		foreach($this->a_header[0] as $s_key => $s_value ){
-			if(!isset($s_value['attach'])){
-				$s_value['attach'] = "";
-			}
-
-  		$s_return.= "\n<td class='listheader' ".$s_value['attach'].">".$s_value['string']."</td>";
-
-      // Increment column counter
-      $this->cols++;
-
-		}
-		
-    // Attach a 13px-wide column (used as scrollbar space in body-table),
-    // but do this only if we are really using scrolltables.
-    if($this->i_entriesPerPage == 0) {
-      $s_return.= "\n<td class='listheader' style='width:13px;border-right:0px;'> </td>";
-      $s_return.= "\n</table></td>";
-    }
-
-  	$s_return.= "\n</tr>";
-		return $s_return;
-	}
-	
-	function SetSummary($msg){
-		$this->s_summary = $msg;
-	}
-
-	function _generatePage(){
-		
-		$s_value 	= "";
-		$s_key 		= "";
-		$s_return 	= "";
-   
-    if($this->i_entriesPerPage == 0) {
-      // We need to construct a "body"-table that is width-of-scrollbar thinner than the "head"-table.
-      if(!$this->force_height || $this->fix_list_for_plugins) {
-        $s_return .= "\n<tr><td colspan='".$this->cols."' class='scrollbody'><div style='width:".$this->s_width.";height:".($this->s_height-20)."px;' id='d_scrollbody' class='scrollbody'>";
-        $s_return .= "<table summary='' style='height:100%;width:581px;' cellspacing='0' id='t_scrollbody'>";
-      } else {
-        $s_return .= "\n<tr><td colspan='".$this->cols."' class='scrollbody'><div style='width:".$this->s_width.";height:".($this->s_height-20)."px;' id='d_scrollbody_onlywidth' class='scrollbody'>";
-        $s_return .= "<table summary='' style='height:100%;width:581px;' cellspacing='0' id='t_scrollbody_onlywidth'>";
-      }
-  	}
- 
-    $i_alternate=0;
-		if(isset($_GET['start'])){
-			session::set('start'.$this->pageid,$_GET['start']);
-			$start = $_GET['start'];
-		} else {
-			if(session::is_set('start'.$this->pageid)){
-				$start = session::get('start'.$this->pageid);
-			} else {
-				$start=0;
-			}
-		}
-
-    /* If divlist is empty, append a single white entry */
-    if(count($this->a_entries)==0){
-      $str = $s_return."<tr>";
-      $str.="<td class='list1nohighlight' colspan='".$this->cols."' style='height:100%;border-right:0px;width:100%;'> </td>";
-      $str.="</tr>";
-      if($this->i_entriesPerPage == 0) {
-        $str.="</table></div></td></tr>";
-      }
-      return($str);
-    } else {
-    
-      //FIXME: Ahrg. I'd like to read this code without wasting my time.
-      if ($this->i_entriesPerPage > 0) {
-    		while($start > $this->_numentries()){
-    			$start = $start - $this->i_entriesPerPage;
-    		}	
-    
-    		$stop  = $start + $this->i_entriesPerPage;
-    
-    		$appendempty = ($this->_numentries() -$start);
-    
-    		for($i = $start ; $i < $stop;$i++){
-    			
-    			if(isset($this->a_entries[$i])){
-    							
-    				$s_value = $this->a_entries[$i];
-    				
-    		    // Alternation of background color		
-    				if($i_alternate) $i_alternate=0; else $i_alternate=1;
-    				
-          $s_return .= "\n<tr class='rowxp".$i_alternate."'>";
-    				
-    				$cnt = 0; 					
-    					
-    				foreach($s_value as $s_key2 => $s_value2 ){				
-    
-    					$cnt++;					
-    
-    					if(!isset($s_value2['class'])){
-    						$class = "list".$i_alternate; 
-    					}else{
-    						$class = $s_value2['class'];
-    					}
-    
-    					if(!isset($s_value2['attach'])){
-    						$style = "";
-    					}else{
-    						$style = " ".$s_value2['attach']." "	;
-    					}
-    
-    					$s_return .= "\n<td ".$style." class='".$class."'>";
-    					$s_return .= $s_value2['string'];
-    					$s_return .= "\n</td>";
-    				}
-    				if($cnt == 0 ){
-    					$s_return.="\n<td> </td>";
-    				}
-  
-    				$s_return .= "\n</tr>";
-    			}	
-    		}
-    
-    		if(!(($stop)<$this->_numentries())){
-    			$nums = $stop - $this->_numentries();// - $stop;
-    			for($i = 0 ; $i < $nums ; $i ++ ){
-    				$s_return.="<tr>";
-    				$cnt=0;
-    				for($a = 0, $l= count($this->a_header[0]); $a < $l ; $a ++ ) {
-    					if($a ==(count($this->a_header[0])-1)){
-    						$s_return.="\n<td class='list1' style='border:0px;height:26px;'> </td>";
-    					} else {
-    						$s_return.="\n<td class='list1' style='height:26px;'> </td>";
-    					}
-    				}
-    				$s_return.="\n</tr>";
-    			}	
-    		}
-    
-    		if($this->b_displayPageNums){
-    			$s_return .= "<tr><td colspan='".$this->cols."' align='center'>".range_selector($this->_numentries(),$start,$this->i_entriesPerPage)."</td></tr>";
-    		}
-      } else {
-        // $this->i_entriesPerPage <= 0
-        // We should display all entries on one page
-  
-        $i = $this->_numEntries();
-  	    foreach($this->a_entries as $s_key => $s_value){
-  			  $i--;
-  
-          if($i_alternate!=0){ 
-            $i_alternate=0; 
-          } else {
-            $i_alternate=1;
-          }
-  		  
-          $s_return .= "\n<tr class='rowxp".$i_alternate."'>";
-  				  
-  		    $cnt = 0; 					
-  					  
-  			  foreach($s_value as $s_key2 => $s_value2 ){				
-  
-  				  $this->cols = count($s_value) ;						
-  				  $cnt++;					
-  
-  				  if(!isset($s_value2['class'])){
-  					  $class = "list".$i_alternate; 
-  				  } else {
-  					  $class = $s_value2['class'];
-  				  }
-  
-  				  if(!isset($s_value2['attach'])){
-  					  $style = "";
-  				  } else {
-  					  $style = " ".$s_value2['attach']." "	;
-  				  }
-            
-            $s_return .= "\n<td ".$style." class='".$class."'>";
-  				  $s_return .= $s_value2['string'];
-  				  $s_return .= "</td>";
-  			  }
-  			  $s_return .= "\n</tr>";
-  		  }
-      }
-  
-      // if fewer than 22 Entries (list not full), print row to fill empty space
-      //FIXME: Why 22? Isn't the size dynamic
-      if($this->_numEntries()<=22){
-        $fill= "";
-        for ($i= 1; $i <= $this->cols; $i++){
-          if ($i == $this->cols){
-           $fill.= "<td class='list1nohighlight' style='height:100%;border-right:0px;'> </td>";
-          } else {
-           $fill.= "<td class='list1nohighlight' style='height:100%;'> </td>";
-          }
-        }
-        $s_return.="\n<tr>$fill";
-      }
-      if($this->i_entriesPerPage == 0) {
-        $s_return .= "\n</table></div></td>";
-      }
-      $s_return .= "</tr>";
-      return $s_return;
-    }
-  }
-}
-
-// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
-?>
diff --git a/gosa-core/include/class_filter.inc b/gosa-core/include/class_filter.inc
index 0ace9b1..3b56918 100644
--- a/gosa-core/include/class_filter.inc
+++ b/gosa-core/include/class_filter.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_filter.inc 16945 2010-03-19 08:40:29Z hickert $$
+ * ID: $$Id: class_filter.inc 19251 2010-07-29 13:21:27Z hickert $$
  *
  * 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
@@ -22,568 +22,447 @@
 
 class filter {
 
-  var $xmlData;
-  var $elements= array();
-  var $elementValues= array();
-  var $alphabetElements= array();
-  var $autocompleter= array();
-  var $category= "";
-  var $objectStorage= array();
-  var $base= "";
-  var $scope= "";
-  var $query;
-  var $initial= false;
-  var $scopeMode= "auto";
-  var $alphabet= null;
-  var $converter= array();
-  var $pid;
-  var $headpage;
-
-
-  function filter($filename)
-  {
-    global $config;
-
-    // Load eventually passed filename
-    if (!$this->load($filename)) {
-      die("Cannot parse $filename!");
-    }
+    var $searches= array();
+    var $xmlSearches= array();
+    var $attributes= array();
+    var $search;
+    var $defaultSearch;
+    var $category= "";
+    var $objectStorage= array();
+    var $base= "";
+    var $scope= "";
+    var $query;
+    var $value= "";
+    var $initial= false;
+    var $scopeMode= "auto";
+    var $converter= null;
+    var $pid;
+
+
+    function filter($filename)
+    {
+        global $config;
+
+        // Load eventually passed filename
+        if (!$this->load($filename)) {
+            die("Cannot parse $filename!");
+        }
 
-    $this->pid= preg_replace("/[^0-9]/", "", microtime(TRUE)); 
-  }
+        $this->pid= preg_replace("/[^0-9]/", "", microtime(TRUE)); 
+    }
 
 
-  function load($filename)
-  {
-    $contents = file_get_contents($filename);
-    $this->xmlData= xml::xml2array($contents, 1);
+    function load($filename)
+    {
+        $contents = file_get_contents($filename);
+        $xmlData= xml::xml2array($contents, 1);
 
-    if (!isset($this->xmlData['filterdef'])) {
-      return false;
-    }
+        if (!isset($xmlData['filterdef'])) {
+            return false;
+        }
 
-    $this->xmlData= $this->xmlData["filterdef"];
-
-    // Load filter
-    if (isset($this->xmlData['search'])) {
-      if (!isset($this->xmlData['search']['query'][0])){
-        $this->xmlData['search']['query']= array($this->xmlData['search']['query']);
-      }
-
-      // Move information
-      $entry= $this->xmlData['search'];
-      $this->scopeMode= $entry['scope'];
-      if ($entry['scope'] == "auto") {
-        $this->scope= "one";
-      } else {
-        $this->scope= $entry['scope'];
-      }
-      $this->query= $entry['query'];
-    } else {
-      return false;
-    }
+        $xmlData= $xmlData["filterdef"];
 
-    // Transfer initial value
-    if (isset($this->xmlData['definition']['initial']) && $this->xmlData['definition']['initial'] == "true"){
-      $this->initial= true;
-    }
+        // Load filter
+        if (isset($xmlData['search'])) {
 
-    // Transfer category
-    if (isset($this->xmlData['definition']['category'])){
-      $this->category= $this->xmlData['definition']['category'];
-    }
+            // Array conversion
+            if (!isset($xmlData['search'][0])) {
+                $searches= array($xmlData['search']);
+            } else {
+                $searches= $xmlData['search'];
+            }
 
-    // Generate formular data
-    if (isset($this->xmlData['element'])) {
-      if (!isset($this->xmlData['element'][0])){
-        $this->xmlData['element']= array($this->xmlData['element']);
-      }
-      foreach ($this->xmlData['element'] as $element) {
+            /* Store available searches */
+            foreach ($searches as $search) {
 
-        // Ignore elements without type
-        if (!isset($element['type']) || !isset($element['tag'])) {
-          next;
-        }
+                /* Do multi conversation */ 
+                if (!isset($search['query'][0])){
+                    $search['query']= array($search['query']);
+                }
 
-        $tag= $element['tag'];
+                /* Store search */
+                $this->xmlSearches[$search['tag']]= $search;
 
-        // Fix arrays
-        if (isset($element['value']) && !isset($element['value'][0])) {
-          $element['value']= array($element['value']);
+            }
+        } else {
+            return false;
         }
 
-        // Store element for quick access
-        $this->elements[$tag] = $element;
-
-        // Preset elementValues with default values if exist
-        if (isset($element['default']) && !is_array($element['default'])) {
-          $this->elementValues[$tag] = $element['default'];
+        // Transfer scope
+        $this->scopeMode= $xmlData['definition']['scope'];
+        if ($this->scopeMode == "auto") {
+            $this->scope= "one";
         } else {
-          $this->elementValues[$tag] = "";
+            $this->scope= $this->scopeMode;
         }
 
-        // Does this element react on alphabet links?
-        if (isset($element['alphabet']) && $element['alphabet'] == "true") {
-          $this->alphabetElements[]= $tag;
+        // Transfer attributes
+        $this->attributes= $xmlData['definition']['attribute'];
+        if (!is_array($this->attributes)) {
+            $this->attributes= array($this->attributes);
         }
-      }
-
-      uasort($this->elements, 'strlenSort');
-      $this->elements= array_reverse($this->elements);
-
-    }
 
-    return true;  
-  }
+        // Transfer initial value
+        if (isset($xmlData['definition']['initial']) && $xmlData['definition']['initial'] == "true"){
+            $this->initial= true;
+        }
 
+        // Transfer category
+        if (isset($xmlData['definition']['category'])){
+            $this->category= $xmlData['definition']['category'];
+        }
+        if (!is_array($this->category)) {
+            $this->category= array($this->category);
+        }
 
-  function getTextfield($element)
-  {
-    $tag= $element['tag'];
-    $size= 30;
-    if (isset($element['size'])){
-      $size= $element['size'];
-    }
-    $maxlength= 30;
-    if (isset($element['maxlength'])){
-      $maxlength= $element['maxlength'];
-    }
-    $result= "<input class='filter_textfield' id='$tag' name='$tag' type='text' size='$size' maxlength='{$maxlength}' value='".$this->elementValues[$tag]."'>";
-    if (isset($element['autocomplete'])) {
-      $frequency= "0.5";
-      $characters= "1";
-      if (isset($element['autocomplete']['frequency'])) {
-        $frequency= $element['autocomplete']['frequency'];
-      }
-      if (isset($element['autocomplete']['characters'])) {
-        $characters= $element['autocomplete']['characters'];
-      }
-      $result.= "<div id='autocomplete$tag' class='autocomplete'></div>".
-                "<script type='text/javascript'>".
-                "new Ajax.Autocompleter('$tag', 'autocomplete$tag', 'autocomplete.php', { minChars: $characters, frequency: $frequency });".
-                "</script>";
+        // Initialize searches and default search mode
+        $this->defaultSearch= $xmlData['definition']['default'];
+        $this->reloadFilters();
+        $this->setSearch($this->defaultSearch);
 
-       $this->autocompleters[$tag]= $element['autocomplete'];
+        return true;  
     }
-    return $result;
-  }
 
 
-  function getCheckbox($element)
-  {
-    $tag= $element['tag'];
-    $checked= "";
-    if ($this->elementValues[$tag] == "true") {
-      $checked= " checked";
+    function reloadFilters()
+    {
+        $this->searches= array_merge($this->xmlSearches, userFilter::getFilter($this->category));
+        $this->setSearch($this->search);
     }
 
-    $result= "<input class='filter_checkbox' id='$tag' name='$tag' type='checkbox' onClick='document.mainform.submit();' value='true'$checked>";
-    return $result;
-  }
 
+    function setSearch($method= null)
+    {
+        $patch= null;
 
-  function getCombobox($element)
-  {
-    $result= "<select name='".$element['tag']."' size='1' onChange='document.mainform.submit();'>";
-
-    // Fill with presets
-    foreach ($element['value'] as $value) {
-      $selected= "";
-      if ($this->elementValues[$element['tag']] == $value['key']) {
-        $selected= " selected";
-      }
-
-      // Handle translations
-      $result.= "<option value='".$value['key']."'$selected>"._($value['label'])."</option>";
-    }
+        // Maybe our search method has gone?
+        if (!isset($this->searches[$method])) {
+            $method= $this->defaultSearch;
+        }
 
-    // Use autocompleter for additional data
-    if (isset($element['autocomplete'])) {
-      $list= $this->getCompletitionList($element['autocomplete'], $element['tag']);
-      foreach ($list as $value) {
-        $selected= "";
-        if ($this->elementValues[$element['tag']] == $value) {
-          $selected= " selected";
+        // Try to use it, but bail out if there's no help...
+        if (isset($this->searches[$method])) {
+            $this->query= $this->searches[$method]['query'];
+            $this->search= $method;
+        } else {
+            die ("Invalid search module!");
         }
-        $result.= "<option value='$value'$selected>$value</option>";
-      }
     }
 
-    $result.= "</select>";
-
-    return $result;
-  }
-
-
-  function setComboBoxOptions($tag, $options)
-  {
-    if (isset($this->elements[$tag]) && $this->elements[$tag]['type'] == "combobox") {
-      
-      $this->elements[$tag]['value']= array();
-      foreach ($options as $key => $label) {
-        $this->elements[$tag]['value'][]= array('label' => $label, 'key' => $key);
-      }
-    }
-  }
 
+    function getTextfield($tag, $value= "", $element= null)
+    {
+        $size= 30;
+        $maxlength= 30;
+        $result= "<input class='filter_textfield' placeholder='"._("Search")."...' id='$tag' name='$tag' type='text' size='$size' maxlength='{$maxlength}' value='".$value."'>";
+        if ($element && isset($element['autocomplete'])) {
+            $frequency= "0.5";
+            $characters= "1";
+            if (isset($element['autocomplete']['frequency'])) {
+                $frequency= $element['autocomplete']['frequency'];
+            }
+            if (isset($element['autocomplete']['characters'])) {
+                $characters= $element['autocomplete']['characters'];
+            }
+            $result.= "<div id='autocomplete$tag' class='autocomplete'></div>".
+                "<script type='text/javascript'>".
+                "new Ajax.Autocompleter('$tag', 'autocomplete$tag', 'autocomplete.php', { minChars: $characters, frequency: $frequency });".
+                "</script>";
 
-  function getCurrentBase()
-  {
-    if (isset($this->search->base) && (string)$this->search->scope != "auto") {
-      return false;
+            $this->autocompleters[$tag]= $element;
+        }
+        return $result;
     }
 
-    return $this->base;
-  }
 
+    function getCurrentBase()
+    {
+        if (isset($this->search->base) && (string)$this->search->scope != "auto") {
+            return false;
+        }
 
-  function getCurrentScope()
-  {
-    if (isset($this->search->scope) && (string)$this->search->scope != "auto") {
-      return (string)$this->search->scope;
+        return $this->base;
     }
 
-    return $this->scope;
-  }
 
+    function getCurrentScope()
+    {
+        if (isset($this->search->scope) && (string)$this->search->scope != "auto") {
+            return (string)$this->search->scope;
+        }
 
-  function setConverter($field, $hook)
-  {
-    $this->converter[$field]= $hook;
-  }
+        return $this->scope;
+    }
 
 
-  function setObjectStorage($storage)
-  {
-    $this->objectStorage= $storage;    
-  }
+    function setConverter($hook)
+    {
+        $this->converter= $hook;
+    }
 
 
-  function setBase($base)
-  {
-    $this->base= $base;
-  }
+    function setObjectStorage($storage)
+    {
+        $this->objectStorage= $storage;    
+    }
 
 
-  function setCurrentScope($scope)
-  {
-    $this->scope= $scope;
-  }
+    function setBase($base)
+    {
+        $this->base= $base;
+    }
 
 
-  function renderAlphabet($columns= 10)
-  {
-    // Return pre-rendered alphabet if available
-    if ($this->alphabet) {
-      return ($this->alphabet);
+    function setCurrentScope($scope)
+    {
+        $this->scope= $scope;
     }
 
-    $characters= _("*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
-    $alphabet= "";
-    $c= 0;
 
-    /* Fill cells with charaters */
-    for ($i= 0, $l= mb_strlen($characters, 'UTF8'); $i<$l; $i++){
-      if ($c == 0){
-        $alphabet.= "<tr>";
-      }
 
-      $ch = mb_substr($characters, $i, 1, "UTF8");
-      $alphabet.= "<td><a class=\"alphaselect\" href=\"main.php?plug=".
-        validate($_GET['plug'])."&filter=".$ch."\"> ".$ch." </a></td>";
-
-      if ($c++ == $columns){
-        $alphabet.= "</tr>";
-        $c= 0;
-      }
-    }
+    function render()
+    {
+        $content= "<table class='filter-wrapper' summary='"._("Search filter")."'><tr><td>".$this->renderFilterMenu()."</td><td>";
+        $content.= "<div class='search-filter'>".$this->getTextfield('search_filter', set_post($this->value), $this->searches[$this->search])."</div>".
+            " <button class='search-filter' type='submit' title='"._("Search")."'>".image("images/find.png")."</button></td></tr></table>";
 
-    /* Fill remaining cells */
-    while ($c++ <= $columns){
-      $alphabet.= "<td> </td>";
+        // Return meta data
+        return ("<input type='hidden' name='FILTER_PID' value='".$this->pid."'>".$content);
     }
 
-    /* Save alphabet */
-    $this->alphabet= "<table width='100%'>$alphabet</table>";
 
-    return ($this->alphabet);
-  }
+    function query()
+    {
+        global $class_mapping;
+        $result= array();
 
+        // Return empty list if initial is not set
+        if (!$this->initial) {
+            $this->initial= true;
+            return $result;
+        }
+        // Go thru all queries and merge results
+        foreach ($this->query as $query) {
+            if (!isset($query['backend']) || !isset($query['filter'])) {
+                die("No backend specified in search config.");
+            }
 
-  function renderApply()
-  {
-    return ("<input type='submit' name='apply' value='"._("Apply filter")."'>");
-  }
-
+            // Is backend available?
+            $backend= "filter".$query['backend'];
+            if (!isset($class_mapping["$backend"])) {
+                die("Invalid backend specified in search config.");
+            }
 
-  function renderScope()
-  {
-    $checked= $this->scope == "sub"?" checked":"";
-    return "<input type='checkbox' id='SCOPE' name='SCOPE' value='1' onClick='document.mainform.submit();'$checked> <LABEL for='SCOPE'>"._("Search in subtrees")."</LABEL>";
-  }
+            // Load filter and attributes
+            $filter= $query['filter'];
+
+            // Handle converters if present
+            if ($this->converter) {
+                preg_match('/([^:]+)::(.*)$/', $this->converter, $m);
+                if ($this->value == "") {
+                    $filter= call_user_func(array($m[1], $m[2]), preg_replace('/\$/', "*", $filter));
+                } else {
+                    $filter= call_user_func(array($m[1], $m[2]), preg_replace('/\$/', $this->value, $filter));
+                }
+            }
 
+            // Do not replace escaped \$ - This is required to be able to search for e.g. windows machines.
+            if ($this->value == "") {
+                $filter= preg_replace("/\\$/", '*', $filter);
+            } else {
+                $filter= preg_replace("/\\$/", "*".normalizeLdap($this->value)."*", $filter);
+            }
 
-  function render()
-  {
-    $smarty= get_smarty();
-    $smarty->assign("ALPHABET", $this->renderAlphabet());
-    $smarty->assign("APPLY", $this->renderApply());
-    $smarty->assign("SCOPE", $this->renderScope());
+            $result= array_merge($result, call_user_func(array($backend, 'query'), $this->base, $this->scope, $filter, $this->attributes, $this->category, $this->objectStorage));
+        }
 
-    // Load template and replace elementsHtml[]
-    foreach ($this->elements as $tag => $element) {
-      $htmlCode= "";
-      switch ($element['type']) {
-        case "textfield":
-          $htmlCode = $this->getTextfield($element);
-          break;
+        return ($result);
+    }
 
-        case "checkbox":
-          $htmlCode = $this->getCheckbox($element);
-          break;
 
-        case "combobox":
-          $htmlCode = $this->getCombobox($element);
-          break;
+    function update()
+    {
+        if (isset($_POST['FILTER_PID']) && $_POST['FILTER_PID'] == $this->pid) {
+            // Save input field
+            if (isset($_POST['search_filter'])) {
+                $this->value= get_post('search_filter');
+            }
 
-        default:
-          die ("Unknown element type specified!");
-      }
-      $smarty->assign("$tag", $htmlCode);
-    }
+            // Save scope if needed
+            if ($this->scopeMode == "auto" && isset($_POST['act']) && $_POST['act'] == "toggle-subtree") {
+                $this->scope= ($this->scope == "one")?"sub":"one";
+            }
 
-    // Try to load template from plugin the folder first...
-    $file = get_template_path($this->xmlData['definition']['template'], true);
+            // Switch filter?
+            if (isset($_POST['act'])) {
+                foreach ($this->searches as $tag => $cfg) {
+                    if ($_POST['act'] == "filter-$tag") {
+                        $this->setSearch($tag);
+                        break;
+                    }
+                }
+            }
+        }
 
-    // ... if this fails, try to load the file from the theme folder.
-    if(!file_exists($file)){
-      $file = get_template_path($this->xmlData['definition']['template']);
     }
 
-    // Load template
-    return ("<input type='hidden' name='FILTER_PID' value='".$this->pid."'>".$smarty->fetch($file));
-  }
 
+    function getCompletitionList($config, $value="*")
+    {
+        global $class_mapping;
+        $res= array();
 
-  function query()
-  {
-    global $class_mapping;
-    $result= array();
+        // Load result attributes
+        $attributes= $config['autocomplete']['attribute'];
+        if (!is_array($attributes)) {
+            $attributes= array($attributes);
+        }
 
-    // Return empty list if initial is not set
-    if (!$this->initial) {
-      $this->initial= true;
-      return $result;
-    }
+        // Do the query
+        $result= array();
 
-    // Go thru all queries and merge results
-    foreach ($this->query as $query) {
-      if (!isset($query['backend']) || !isset($query['filter']) || !isset($query['attribute'])) {
-        die("No backend specified in search config.");
-      }
-
-      // Is backend available?
-      $backend= "filter".$query['backend'];
-      if (!isset($class_mapping["$backend"])) {
-        die("Invalid backend specified in search config.");
-      }
-
-      // Load filter and attributes
-      $filter= $query['filter'];
-      $attributes= $query['attribute'];
-
-      // ObjectClass is required to check permissions later.
-      if(!in_array('objectClass', $attributes)) $attributes[] = 'objectClass';
-
-      // Generate final filter
-      foreach ($this->elements as $tag => $element) {
-        if (!isset($element['set']) || !isset($element['unset'])) {
-          continue;
+        // Is backend available?
+# FIXME
+        $queries= $config['query'];
+        if (!isset($queries[0])){
+            $queries= array($queries);
         }
+        foreach ($queries as $query) {
+            $backend= "filter".$query['backend'];
+            if (!isset($class_mapping["$backend"])) {
+                die("Invalid backend specified in search config.");
+            }
+            $filter= preg_replace("/\\$/", "*".normalizeLdap($value)."*", $query['filter']);
 
-        // Handle converters if present
-        if (isset($this->converter[$tag])) {
-          preg_match('/([^:]+)::(.*)$/', $this->converter[$tag], $m);
-          $e_set= call_user_func(array($m[1], $m[2]), preg_replace('/\$/', $this->elementValues[$tag], is_array($element['set'])?"":$element['set']));
-          $e_unset= call_user_func(array($m[1], $m[2]), preg_replace('/\$/', $this->elementValues[$tag], is_array($element['unset'])?"":$element['unset']));
-        } else {
-          $e_set= is_array($element['set'])?"":$element['set'];
-          $e_unset= is_array($element['unset'])?"":$element['unset'];
+            $result= array_merge($result, call_user_func(array($backend, 'query'), $this->base, $this->scope, $filter, $attributes,
+                        $this->category, $this->objectStorage));
         }
 
-        // Do not replace escaped \$ - This is required to be able to search for e.g. windows machines.
-        if ($this->elementValues[$tag] == "") {
-          $e_unset= preg_replace('/([^\\\\])\$/', '${1}'.normalizeLdap($this->elementValues[$tag]), $e_unset);
-          $e_unset= preg_replace('/\\\\\$/','$', $e_unset);
-          $filter= preg_replace("/\\$$tag/", $e_unset, $filter);
-        } else {
-          $e_set= preg_replace('/([^\\\\])\$/', '${1}'.normalizeLdap($this->elementValues[$tag]), $e_set);
-          $e_set= preg_replace('/\\\\\$/','$', $e_set);
-          $filter= preg_replace("/\\$$tag/", $e_set, $filter);
+        foreach ($result as $entry) {
+            foreach ($attributes as $attribute) {
+                if (is_array($entry[$attribute])) {
+                    for ($i= 0; $i<$entry[$attribute]['count']; $i++) {
+                        if (mb_stristr($entry[$attribute][$i], $value)) {
+                            $res[]= $entry[$attribute][$i];
+                        }
+                    }
+                } else {
+                    $res[]= $entry[$attribute];
+                }
+            }
         }
-      }
 
-      // Now call filter method and merge resulting entries. 
-      $result= array_merge($result, call_user_func(array($backend, 'query'),
-            $this, $this->base, $this->scope, $filter, $attributes, $this->category, $this->objectStorage));
+        return $res;
     }
-    
-    return ($result);
-  }
 
 
-  function isValid()
-  {
-    foreach ($this->elements as $tag => $element) {
-      if (isset($element->regex)){
-        if (!preg_match('/'.(string)$element->regex.'/', $this->elementValues[$tag])){
-          return false;
-        }
-      }
-    }
-    return true;
-  }
-
-
-  function update()
-  {
-    /* React on alphabet links if needed */
-    if (isset($_GET['filter'])){
-      $s= mb_substr(validate($_GET['filter']), 0, 1, "UTF8");
-      foreach ($this->alphabetElements as $tag) {
-        $this->elementValues[$tag]= $s;
-      }
-    }
+    function processAutocomplete()
+    {
+        global $class_mapping;
+        $result= array();
 
-    if (isset($_POST['FILTER_PID']) && $_POST['FILTER_PID'] == $this->pid) {
-      // Load post values and adapt filter, base and scope accordingly - but
-      // only if we didn't get a _GET
-      foreach ($this->elements as $tag => $element) {
-        if (isset($_POST[$tag])){
-          $this->elementValues[$tag]= validate($_POST[$tag]);
-        } else {
-          $this->elementValues[$tag]= "";
-        }
-      }
+        // Introduce maximum number of entries
+        $max= 25;
+
+        if(isset($this->searches[$this->search]['autocomplete'])){
+            $result= $this->getCompletitionList($this->searches[$this->search], get_post('search_filter'));
+            $result= array_unique($result);
+            asort($result);
+
+            echo '<ul>';
+            foreach ($result as $entry) {
+                echo '<li>'.mark(get_post('search_filter'), $entry).'</li>';
+                if ($max-- == 0) {
+                    break;
+                }
+            }
 
-      // Save scope if needed
-      if ($this->scopeMode == "auto") {
-        $this->scope= isset($_POST['SCOPE'])?"sub":"one";
-      }
+            echo '</ul>';
+        }
     }
 
-  }
 
+    function getObjectBase($dn)
+    {
+        global $config;
+        $base= "";
 
-  function getCompletitionList($config, $tag, $value="*")
-  {
-    global $class_mapping;
-    $res= array();
+        // Try every object storage
+        $storage= $this->objectStorage;
+        if (!is_array($storage)){
+            $storage= array($storage);
+        }
+        foreach ($storage as $location) {
+            $pattern= "/^[^,]+,".preg_quote($location, '/')."/i";
+            $base= preg_replace($pattern, '', $dn);
+        }
 
-    // Is backend available?
-    $backend= "filter".$config['backend'];
-    if (!isset($class_mapping["$backend"])) {
-      die("Invalid backend specified in search config.");
-    }
+        /* Set to base, if we're not on a correct subtree */
+        if (!isset($config->idepartments[$base])){
+            $base= $config->current['BASE'];
+        }
 
-    // Load filter and attributes
-    $filter= $config['filter'];
-    $attributes= $config['attribute'];
-    if (!is_array($attributes)) {
-      $attributes= array($attributes);
+        return $base;
     }
 
-    // ObjectClass is required to check permissions later.
-    if(!in_array('objectClass', $attributes)) $attributes[] = 'objectClass';
-
-    // Make filter
-    $filter= preg_replace("/\\$$tag/", normalizeLdap($value), $filter);
-    if (isset($config['base']) && isset($config['scope']) && isset($config['category'])) {
-      $result= call_user_func(array($backend, 'query'), $this,$config['base'], $config['scope'], $filter, $attributes,
-                           $config["category"], $config["objectStorage"]);
-    } else {
-      $result= call_user_func(array($backend, 'query'), $this,$this->base, $this->scope, $filter, $attributes,
-                           $this->category, $this->objectStorage);
-    }
 
-    foreach ($result as $entry) {
-      foreach ($attributes as $attribute) {
-        if (is_array($entry[$attribute])) {
-          for ($i= 0; $i<$entry[$attribute]['count']; $i++) {
-            if (mb_stristr($entry[$attribute][$i], $value)) {
-              $res[]= $entry[$attribute][$i];
-            }
-          }
-        } else {
-          $res[]= $entry[$attribute];
-        }
-      }
-    }
 
-    return $res;
-  }
+    function renderFilterMenu()
+    {
+        // Load shortcut
+        $result= "<ul class='level1' id='filter-root'><li><a href='#'>".image("images/filter.png").image("images/lists/sort-down.png")."</a>";
 
+        // Build ul/li list
+        $separator= " style='border-top:1px solid #AAA' ";
+        $result.= "<ul class='level2'>";
 
-  function processAutocomplete()
-  {
-    global $class_mapping;
-    $result= array();
+        // Build in filters
+        foreach ($this->xmlSearches as $tag => $config) {
+            $label = htmlentities(_($config['label']),ENT_COMPAT,'UTF-8');
+            if ($tag == $this->search) {
+                $result.= "<li><a href='#'>".image("images/checked.png")." ".$label."</a></li>";
+            } else {
+                $result.= "<li><a href='#' onClick='\$(\"act\").value= \"filter-$tag\";\$(\"exec_act\").click();'>".image("images/empty.png")." ".$label."</a></li>";
+            }
+        }
 
-    // Introduce maximum number of entries
-    $max= 25;
+        // User defined filters
+        $first= true;
+        foreach (userFilter::getFilter($this->category) as $tag => $config) {
+            if ($tag == $this->search) {
+                $result.= "<li".($first?$separator:"")."><a href='#'>".image("images/checked.png")." "._($config['description'])."</a></li>";
+            } else {
+                $result.= "<li".($first?$separator:"")."><a href='#' onClick='\$(\"act\").value= \"filter-$tag\";\$(\"exec_act\").click();'>".image("images/empty.png")." "._($config['description'])."</a></li>";
+            }
 
-    foreach ($this->autocompleters as $tag => $config) {
-      if(isset($_POST[$tag])){
-        $result= $this->getCompletitionList($config, $tag, $_POST[$tag]);
-        $result= array_unique($result);
-        asort($result);
+            $first= false;
+        }
 
-        echo '<ul>';
-        foreach ($result as $entry) {
-          echo '<li>'.mark($_POST[$tag], $entry).'</li>';
-          if ($max-- == 0) {
-            break;
-          }
+        // Render scope if set to auto
+        if ($this->scopeMode == "auto") {
+            $result.= "<li$separator><a href='#' onClick='\$(\"act\").value= \"toggle-subtree\";\$(\"exec_act\").click();'>".($this->scope=="one"?image("images/empty.png"):image("images/checked.png"))." "._("Search in subtrees")."</a></li>";
         }
 
-        echo '</ul>';
-      }
-    }
-  }
 
+        // Edit filter menu
+        $result.= "<li$separator><a href='#' onClick='\$(\"act\").value= \"config-filter\";\$(\"exec_act\").click();'>".image("images/configure.png")." "._("Edit filters")."...</a></li>";
 
-  function getObjectBase($dn)
-  {
-    global $config;
-    $base= "";
+        $result.= "</ul>";
 
-    // Try every object storage
-    $storage= $this->objectStorage;
-    if (!is_array($storage)){
-      $storage= array($storage);
-    }
-    foreach ($storage as $location) {
-      $pattern= "/^[^,]+,".preg_quote($location, '/')."/i";
-      $base= preg_replace($pattern, '', $dn);
-    }
+        $script= '<script type="text/javascript" language="JavaScript">var menu2; menu2= new Menu("filter-root", "menu2", configMenu)</script>';
 
-    /* Set to base, if we're not on a correct subtree */
-    if (!isset($config->idepartments[$base])){
-      $base= $config->current['BASE'];
+        return "<div id='filtermenu'>".$result."</li></ul></div>$script";
     }
 
-    return $base;
-  }
 
+    function getFixedFilters()
+    {
+        return array_keys($this->searches);
+    }
 
 }
 
-// Sort elements for element length to allow proper replacing later on
-function strlenSort($a, $b) {
-  if (strlen($a['tag']) == strlen($b['tag'])) {
-    return 0;
-  }
-  return (strlen($a['tag']) < strlen($b['tag']) ? -1 : 1);
-} 
 
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/include/class_filterLDAP.inc b/gosa-core/include/class_filterLDAP.inc
index 4fa1e2a..feda516 100644
--- a/gosa-core/include/class_filterLDAP.inc
+++ b/gosa-core/include/class_filterLDAP.inc
@@ -2,17 +2,17 @@
 
 class filterLDAP {
 
-  static function query($parent,$base, $scope, $filter, $attributes, $category, $objectStorage= array(""))
+  static function query($base, $scope, $filter, $attributes, $category, $objectStorage= array(""))
   {
     $config= session::global_get('config');
     $ldap= $config->get_ldap_link(TRUE);
     $flag= ($scope == "sub")?GL_SUBSEARCH:0;
-    $result= filterLDAP::get_list($parent,$base, $filter, $attributes, $category, $objectStorage, $flag | GL_SIZELIMIT);
+    $result= filterLDAP::get_list($base, $filter, $attributes, $category, $objectStorage, $flag | GL_SIZELIMIT);
     return $result;
   }
 
 
-  static function get_list($parent,$base, $filter, $attributes, $category, $objectStorage, $flags= GL_SUBSEARCH)
+  static function get_list($base, $filter, $attributes, $category, $objectStorage, $flags= GL_SUBSEARCH)
   {
     $ui= session::global_get('ui');
     $config= session::global_get('config');
@@ -35,6 +35,13 @@ class filterLDAP {
       $bases[$base]= "";
     } else {
       foreach ($objectStorage as $oc) {
+
+        // Handle empty storage locatios here, maybe get_ou() as returned an empty string.
+        if(empty($oc)){
+            $bases[$base] = "";
+            continue;
+        }
+
         $oc= preg_replace('/,$/', '', $oc);
         $tmp= explode(',', $oc);
         if (count($tmp) == 1) {
@@ -110,15 +117,13 @@ class filterLDAP {
           $result[]= $attrs;
         }else{
 
-          // Check entry permission
-          $obj = $parent->headpage->getObjectType($parent->headpage->objectTypes, $attrs['objectClass']);
-          if(isset($obj['category'])){
-            $o = $obj['category']."/".$obj['class'];
-            if(preg_match("/r/",$ui->get_permissions($dn,$o))){
+          /* Sort in every value that fits the permissions */
+          foreach ($category as $o){
+            if((preg_match("/\//",$o) && preg_match("/r/",$ui->get_permissions($dn,$o))) ||
+                (!preg_match("/\//",$o) && preg_match("/r/",$ui->get_category_permissions($dn, $o)))){
               $result[]= $attrs;
+              break;
             }
-          }else{
-            //trigger_error("Invalid objectType given, please check listing.xml '{$dn}'!");
           }
         }
       }
diff --git a/gosa-core/include/class_gosaSupportDaemon.inc b/gosa-core/include/class_gosaSupportDaemon.inc
index 04d5e2e..88f7a21 100644
--- a/gosa-core/include/class_gosaSupportDaemon.inc
+++ b/gosa-core/include/class_gosaSupportDaemon.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_gosaSupportDaemon.inc 15275 2010-01-25 09:04:37Z hickert $$
+ * ID: $$Id: class_gosaSupportDaemon.inc 18322 2010-05-11 07:41:45Z hickert $$
  *
  * 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
@@ -62,7 +62,7 @@ class gosaSupportDaemon
 
     // Detect timeout 
     if($timeout == null){
-      $timeout = $config->get_cfg_value("gosaSupportTimeout",15);
+      $timeout = $config->get_cfg_value("core","gosaSupportTimeout");
     }
 
     /* This should only be the case if we call this from setup.
@@ -71,12 +71,12 @@ class gosaSupportDaemon
     if(!is_object($config)) { return; }
 
     # load from config, store statically
-    if ($config->get_cfg_value("gosaSupportURI") != ""){
+    if ($config->get_cfg_value("core","gosaSupportURI") != ""){
 
       if ($this->s_host == ""){
-        $this->s_host= preg_replace("/^.*@([^:]+):.*$/", "$1", $config->get_cfg_value("gosaSupportURI"));
-        $this->i_port= preg_replace("/^.*@[^:]+:(.*)$/", "$1", $config->get_cfg_value("gosaSupportURI"));
-        $this->s_encryption_key = preg_replace("/^(.*)@[^:]+:.*$/", "$1", $config->get_cfg_value("gosaSupportURI"));
+        $this->s_host= preg_replace("/^.*@([^:]+):.*$/", "$1", $config->get_cfg_value("core","gosaSupportURI"));
+        $this->i_port= preg_replace("/^.*@[^:]+:(.*)$/", "$1", $config->get_cfg_value("core","gosaSupportURI"));
+        $this->s_encryption_key = preg_replace("/^(.*)@[^:]+:.*$/", "$1", $config->get_cfg_value("core","gosaSupportURI"));
       }
       $this->is_configured = TRUE;
       $this->f_timeout = $timeout;
@@ -1181,7 +1181,7 @@ class gosaSupportDaemon
                 $tmp->add_targets(array($mac));
                 $tmp->set_type(TRIGGERED_EVENT);
                 if(!$this->append($tmp)){
-                  msg_dialog::display(_("Error"), sprintf(_("Cannot send abort event for entry %s!"),$entry['ID']) , ERROR_DIALOG);
+                  msg_dialog::display(_("Error"), sprintf(_("Cannot send abort event for entry %s!"), bold($entry['ID'])) , ERROR_DIALOG);
                   new log("debug","DaemonEvent ", "gosaSupportDaemon::clean_queue_from_mac()", array($mac => $mac),
                       "FAILED, could not send 'DaemonEvent_faireboot' for entry ID (".$entry['ID'].") - ".$this->get_error());
                 }else{
@@ -1201,7 +1201,7 @@ class gosaSupportDaemon
                *  Failed or waiting events, can be removed without any trouble.
                */ 
               if(!$this->remove_entries(array($entry['ID']))){
-                msg_dialog::display(_("Error"), sprintf(_("Cannot remove entry %s!"),$entry['ID']) , ERROR_DIALOG);
+                msg_dialog::display(_("Error"), sprintf(_("Cannot remove entry %s!"), bold($entry['ID'])) , ERROR_DIALOG);
               }
               ;break;
           }
diff --git a/gosa-core/include/class_jsonRPC.inc b/gosa-core/include/class_jsonRPC.inc
new file mode 100644
index 0000000..443d23e
--- /dev/null
+++ b/gosa-core/include/class_jsonRPC.inc
@@ -0,0 +1,333 @@
+<?php
+
+
+class jsonRPC {
+
+    private $curlHandler = NULL;
+    private $config;
+    private $id;
+    private $lastStats = array();
+    private $lastResult = array();
+    private $lastAction = "none";
+
+
+    private $connectUrl = "";
+    private $username = "";
+    private $userPassword = "";
+    private $authModeDigest = FALSE; 
+
+
+    /*! \brief  This function is used by the property editor and checks the 
+     *           given rpc connection informations.
+     */
+    public static function testConnectionProperties($message,$class,$name,$value, $type)
+    {
+        global $config;
+
+        // Get currently used connection usernamem and password.
+        // We use the temporary values, due to the fact, that we do not want to test
+        //  the current values, we want to test the modified values.
+        $user = $config->configRegistry->getProperty('core','gosaRpcUser');
+        $username =  $user->getValue($temporaryValue = TRUE);
+        $passwd = $config->configRegistry->getProperty('core','gosaRpcPassword');
+        $passwdString =  $passwd->getValue($temporaryValue = TRUE);
+
+        $connection = new jsonRPC($config, $value, $username, $passwdString);        
+        if(!$connection->success() && $message){
+            msg_dialog::display(_("Warning"),
+                    sprintf(_("The RPC connection (%s) specified for %s:%s is invalid: %s"),
+                        bold($value),bold($class),bold($name), bold($connection->get_error())),
+                    WARNING_DIALOG);
+
+        }
+        
+        return($connection->success());
+    }
+
+
+    /*! \brief      Constructs a new jsonRPC handle which is connected to a given URL.
+     *              It can either connect using a rpc method or via auth method digest.
+     *  @param      object      The gosa configuration object (class_config)
+     *  @param      string      The url to connect to. 
+     *  @param      string      The username for authentication
+     *  @param      string      The password to use for authentication
+     *  @param      boolean     Whether to use DIGEST authentication or not.
+     *  @return     
+     */
+    public function __construct($config, $connectUrl, $username, $userPassword, $authModeDigest=FALSE) 
+    {
+        $this->config = $config;
+        $this->id = 0;
+
+        // Get connection data
+        $this->connectUrl     = $connectUrl; 
+        $this->username       = $username; 
+        $this->userPassword   = $userPassword; 
+        $this->authModeDigest = $authModeDigest;
+
+        // Put some usefull info in the logs 
+        DEBUG (DEBUG_RPC, __LINE__, __FUNCTION__, __FILE__,bold($this->connectUrl), "Initiated RPC "); 
+        DEBUG (DEBUG_RPC, __LINE__, __FUNCTION__, __FILE__,bold($this->username), "RPC user: "); 
+        DEBUG (DEBUG_RPC, __LINE__, __FUNCTION__, __FILE__,bold($this->userPassword),"RPC password: "); 
+        DEBUG (DEBUG_RPC, __LINE__, __FUNCTION__, __FILE__,bold($this->authModeDigest),"Digest Auth (0: No, 1: Yes): "); 
+
+        $this->__login();
+    }
+
+
+    /*! \brief          
+     *  @param      
+     *  @return     
+     */
+    private function __login()
+    {
+        // Init Curl handler
+        $this->curlHandler = curl_init($this->connectUrl);
+
+        // Set curl options
+        curl_setopt($this->curlHandler, CURLOPT_URL ,           $this->connectUrl);
+        curl_setopt($this->curlHandler, CURLOPT_POST ,          TRUE);
+        curl_setopt($this->curlHandler, CURLOPT_RETURNTRANSFER ,TRUE);
+        curl_setopt($this->curlHandler, CURLOPT_HTTPHEADER ,    array('Content-Type: application/json'));
+        curl_setopt($this->curlHandler, CURLOPT_SSL_VERIFYPEER, FALSE);
+
+        // Try to login 
+        if($this->authModeDigest){
+            if(!empty($this->username)){
+                curl_setopt($this->curlHandler, CURLOPT_USERPWD , "{$this->username}:{$this->userPassword}");
+            }
+        
+            curl_setopt($this->curlHandler, CURLOPT_HTTPAUTH , CURLAUTH_ANYSAFE);
+        }else{
+            curl_setopt($this->curlHandler, CURLOPT_COOKIESESSION , TRUE);
+            curl_setopt($this->curlHandler, CURLOPT_COOKIEFILE, 'cookiefile.txt'); 
+            if(!empty($this->username)) 
+                $this->login($this->username, $this->userPassword);
+        }
+    }
+
+
+    /*! \brief      Returns the last HTTP status code.  
+     *  @return     int         The last status code.          
+     */
+    public function getHTTPstatusCode()
+    {
+        return((isset($this->lastStats['http_code']))? $this->lastStats['http_code'] : -1 );
+    }
+
+
+    /*! \brief      Returns the last error string. 
+     *  @return     string      The last error message.
+     */
+    public function get_error()
+    {
+        if($this->lastStats['http_code'] != 200){
+            $error = $this->getHttpStatusCodeMessage($this->lastStats['http_code']);
+            if(isset($this->lastResult['error']['error']) && is_array($this->lastResult['error']['error'])){
+                $err = $this->lastResult['error']['error'];
+                $message = call_user_func_array(sprintf,$err);
+                $error .= $message;
+            }elseif(isset($this->lastResult['error']['message'])){
+                $error .= ": ".$this->lastResult['error']['message']; 
+            }
+            return($error);
+        }else{
+            return(curl_error($this->curlHandler));
+        }
+    }
+
+    
+
+    /*! \brief      Returns TRUE if the last action was successfull else FALSE.
+     *  @return     boolean     TRUE on success else FALSE. 
+     */
+    public function success()
+    {
+        return(curl_errno($this->curlHandler) == 0 && 
+                isset($this->lastStats['http_code']) && 
+                $this->lastStats['http_code'] == 200);
+    }
+
+
+    /*! \brief      The class destructor, it destroys open rpc handles if needed.
+     */
+    public function __destruct()
+    {
+        if($this->curlHandler){
+            curl_close($this->curlHandler);
+        }
+    }
+
+
+    /*! \brief      This is some kind of catch-all method, all unknown method names will 
+     *               will be interpreted as rpc request. 
+     *              If you call "$this->blafasel" this method will initiate an rpc request 
+     *               for method 'blafasel'.
+     *  @param      string  method   The rpc method to execute.
+     *  @param      params  array    The parameter to use.
+     *  @return     mixed            The request result.
+     */
+    public function __call($method,$params) 
+    {
+        // Check if handle is still valid!
+        if(!$this->curlHandler && $this->lastAction != 'login'){
+            $this->__login();
+        }
+
+        // Start request
+        DEBUG (DEBUG_RPC, __LINE__, __FUNCTION__, __FILE__,"{$method}", "Calling: "); 
+        $response = $this->request($method,$params);
+        if($this->success()){
+            DEBUG (DEBUG_RPC, __LINE__, __FUNCTION__, __FILE__,
+                    (is_array($response['result']))?$response['result']:bold($response['result']), "Result: "); 
+        }else{
+            DEBUG (DEBUG_RPC, __LINE__, __FUNCTION__, __FILE__,bold($this->get_error())."<br>".$response, "Result (FAILED): "); 
+        }
+
+        global $config;
+        $debugLevel = $config->get_cfg_value('core', 'debugLevel'); 
+        if($debugLevel & DEBUG_RPC){
+            print_a(array('CALLED:' => array($method => $params)));
+            print_a(array('RESPONSE' => $response));
+        }
+        $return = $response['result'];
+        
+        // Inspect the result and replace predefined statements with their 
+        //  coresponding classes.
+        $return = $this->inspectJsonResult($return);
+
+        return($return);
+    }
+
+
+
+    public function inspectJsonResult($result)
+    {
+        if(is_array($result) &&  isset($result['__jsonclass__']) && class_available('remoteObject')){
+
+            // Get all relevant class informations
+            $classDef = $result['__jsonclass__'][1];
+            $type = $classDef[0];
+            $ref_id = $classDef[1];
+            $object_id = $classDef[2];
+            $methods = $classDef[3];
+            $properties = $classDef[4];
+
+            // Prepare values
+            $values = array();
+            foreach($properties as $prop){
+                $values[$prop] = NULL;
+                if(isset($res[$prop])) $values[$prop] = $res[$prop];
+            }
+
+            // Build up remote object
+            $object = new remoteObject($this, $type, $properties, $values, $methods, $object_id, $ref_id);
+            return($object);
+        }
+        return($result);
+    }
+
+
+    /*! \brief      This method finally initiates the real RPC requests and handles 
+     *               the result from the server.
+     *  @param      string  method      The method to call 
+     *  @param      array   params      The paramter to use.
+     *  @return     mixed   The server response. 
+     */
+    private function request($method, $params)
+    {
+        // Set last action 
+        $this->lastAction = $method;
+
+        // Reset stats of last request.
+        $this->lastStats = array();
+
+        // Validate input  values
+        if (!is_scalar($method))  trigger_error('jsonRPC::__call requires a scalar value as first parameter!');
+        if (is_array($params)) {
+            $params = array_values($params);
+        } else {
+            trigger_error('jsonRPC::__call requires an array value as second parameter!');
+        }
+
+        // prepares the request
+        $this->id ++;
+        $request = json_encode(array('method' => $method,'params' => $params,'id' => $this->id));
+
+        // Set curl options
+        curl_setopt($this->curlHandler, CURLOPT_POSTFIELDS , $request);
+        $response = curl_exec($this->curlHandler);        
+        $response = json_decode($response,true);
+
+        // Set current result stats.
+        $this->lastStats = curl_getinfo($this->curlHandler);
+        $this->lastResult = $response;
+
+        return($response);
+    }
+
+
+    /*! \brief      Returns the HTTP status message for a given HTTP status code.        
+     *  @param      int     code    The status to code to return a message for. 
+     *  @return     string  The corresponding status message. 
+     */
+    public static function getHttpStatusCodeMessage($code)
+    {
+        $codes  = array(
+                '100' =>  'Continue',
+                '101' =>  'Switching Protocols',
+                '102' =>  'Processing',
+                '200' =>  'OK',
+                '201' =>  'Created',
+                '202' =>  'Accepted',
+                '203' =>  'Non-Authoritative Information',
+                '204' =>  'No Content',
+                '205' =>  'Reset Content',
+                '206' =>  'Partial Content',
+                '207' =>  'Multi-Status',
+                '300' =>  'Multiple Choice',
+                '301' =>  'Moved Permanently',
+                '302' =>  'Found',
+                '303' =>  'See Other',
+                '304' =>  'Not Modified',
+                '305' =>  'Use Proxy',
+                '306' =>  'reserved',
+                '307' =>  'Temporary Redirect',
+                '400' =>  'Bad Request',
+                '401' =>  'Unauthorized',
+                '402' =>  'Payment Required',
+                '403' =>  'Forbidden',
+                '404' =>  'Not Found',
+                '405' =>  'Method Not Allowed',
+                '406' =>  'Not Acceptable',
+                '407' =>  'Proxy Authentication Required',
+                '408' =>  'Request Time-out',
+                '409' =>  'Conflict',
+                '410' =>  'Gone',
+                '411' =>  'Length Required',
+                '412' =>  'Precondition Failed',
+                '413' =>  'Request Entity Too Large',
+                '414' =>  'Request-URI Too Long',
+                '415' =>  'Unsupported Media Type',
+                '416' =>  'Requested range not satisfiable',
+                '417' =>  'Expectation Failed',
+                '421' =>  'There are too many connections from your internet address',
+                '422' =>  'Unprocessable Entity',
+                '423' =>  'Locked',
+                '424' =>  'Failed Dependency',
+                '425' =>  'Unordered Collection',
+                '426' =>  'Upgrade Required',
+                '500' =>  'Internal Server Error',
+                '501' =>  'Not Implemented',
+                '502' =>  'Bad Gateway',
+                '503' =>  'Service Unavailable',
+                '504' =>  'Gateway Time-out',
+                '505' =>  'HTTP Version not supported',
+                '506' =>  'Variant Also Negotiates',
+                '507' =>  'Insufficient Storage',
+                '509' =>  'Bandwidth Limit Exceeded',
+                '510' =>  'Not Extended');
+        return((isset($codes[$code]))? $codes[$code] : sprintf(_("Unknown HTTP status code %s!"), bold($code)));
+    }
+}
+?>
diff --git a/gosa-core/include/class_ldap.inc b/gosa-core/include/class_ldap.inc
index 60e4fa3..a387c0d 100644
--- a/gosa-core/include/class_ldap.inc
+++ b/gosa-core/include/class_ldap.inc
@@ -5,7 +5,7 @@
  * Copyright (C) 2003 Alejandro Escanero Blanco <aescanero at chaosdimension.org>
  * Copyright (C) 1998  Eric Kilfoil <eric at ipass.net>
  *
- * ID: $$Id: class_ldap.inc 19194 2010-07-29 07:14:40Z hickert $$
+ * ID: $$Id: class_ldap.inc 20338 2010-11-23 09:45:21Z hickert $$
  *
  * 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
@@ -28,1361 +28,1486 @@ define("NO_FILE_UPLOADED",10003);
 define("INSERT_OK",10000);
 define("SPECIALS_OVERRIDE", TRUE);
 
-class LDAP{
-
-  var $hascon   =false;
-  var $reconnect=false;
-  var $tls      = false;
-  var $cid;
-  var $hasres   = array();
-  var $sr       = array();
-  var $re       = array();
-  var $basedn   ="";
-  var $start    = array(); // 0 if we are fetching the first entry, otherwise 1
-  var $error    = ""; // Any error messages to be returned can be put here
-  var $srp      = 0;
-  var $objectClasses = array(); // Information read from slapd.oc.conf
-  var $binddn   = "";
-  var $bindpw   = "";
-  var $hostname = "";
-  var $follow_referral = FALSE;
-  var $referrals= array();
-  var $max_ldap_query_time = 0;   // 0, empty or negative values will disable this check 
-
-  function LDAP($binddn,$bindpw, $hostname, $follow_referral= FALSE, $tls= FALSE)
-  {
-    global $config;
-    $this->follow_referral= $follow_referral;
-    $this->tls=$tls;
-    $this->binddn=LDAP::convert($binddn);
-
-    $this->bindpw=$bindpw;
-    $this->hostname=$hostname;
-
-    /* Check if MAX_LDAP_QUERY_TIME is defined */ 
-    if(is_object($config) && $config->get_cfg_value("ldapMaxQueryTime") != ""){
-      $str = $config->get_cfg_value("ldapMaxQueryTime");
-      $this->max_ldap_query_time = (float)($str);
+class LDAP
+{
+    public static $characterMap = NULL;
+    public static $characterMapRegFrom = NULL;
+    public static $characterMapRegTo = NULL;
+    public static $readableMapRegFrom = NULL;
+    public static $readableMapRegTo = NULL;
+
+    var $hascon   =false;
+    var $reconnect=false;
+    var $tls      = false;
+    var $cid;
+    var $hasres   = array();
+    var $sr       = array();
+    var $re       = array();
+    var $basedn   ="";
+    var $start    = array(); // 0 if we are fetching the first entry, otherwise 1
+    var $error    = ""; // Any error messages to be returned can be put here
+    var $srp      = 0;
+    var $objectClasses = array(); // Information read from slapd.oc.conf
+    var $binddn   = "";
+    var $bindpw   = "";
+    var $hostname = "";
+    var $follow_referral = FALSE;
+    var $referrals= array();
+    var $max_ldap_query_time = 0;   // 0, empty or negative values will disable this check 
+
+    function LDAP($binddn,$bindpw, $hostname, $follow_referral= FALSE, $tls= FALSE)
+    {
+        global $config;
+        $this->follow_referral= $follow_referral;
+        $this->tls=$tls;
+        $this->binddn=LDAP::convert($binddn);
+
+        $this->bindpw=$bindpw;
+        $this->hostname=$hostname;
+
+        /* Check if MAX_LDAP_QUERY_TIME is defined */ 
+        if(is_object($config) && $config->get_cfg_value("core","ldapMaxQueryTime") != ""){
+            $str = $config->get_cfg_value("core","ldapMaxQueryTime");
+            $this->max_ldap_query_time = (float)($str);
+        }
+
+        $this->connect();
     }
 
-    $this->connect();
-  }
-
-
-  function getSearchResource()
-  {
-    $this->sr[$this->srp]= NULL;
-    $this->start[$this->srp]= 0;
-    $this->hasres[$this->srp]= false;
-    return $this->srp++;
-  }
-
-
-  /* Function to replace all problematic characters inside a DN by \001XX, where
-     \001 is decoded to chr(1) [ctrl+a]. It is not impossible, but very unlikely
-     that this character is inside a DN.
-
-     Currently used codes:
-     ,   => CO
-     \2C => CO
-     (   => OB
-     )   => CB
-     /   => SL                                                                  
-     \22 => DQ                                                                  */
-  static function convert($dn)
-  {
-    if (SPECIALS_OVERRIDE == TRUE){
-      $tmp= preg_replace(array("/\\\\,/", "/\\\\2C/", "/\(/", "/\)/", "/\//", "/\\\\22/", '/\\\\"/'),
-          array("\001CO", "\001CO", "\001OB", "\001CB", "\001SL", "\001DQ", "\001DQ"),
-          $dn);
-      return (preg_replace('/,\s+/', ',', $tmp));
-    } else {
-      return ($dn);
+
+    function getSearchResource()
+    {
+        $this->sr[$this->srp]= NULL;
+        $this->start[$this->srp]= 0;
+        $this->hasres[$this->srp]= false;
+        return $this->srp++;
+    }
+
+
+    /* Function to replace all problematic characters inside a DN by \001XX, where
+       \001 is decoded to chr(1) [ctrl+a]. It is not impossible, but very unlikely
+       that this character is inside a DN.
+
+       Currently used codes:
+       ,   => CO
+       \2C => CO
+       (   => OB
+       )   => CB
+       /   => SL                                                                  
+       \22 => DQ                                                                  */
+    static function convert($dn)
+    {
+        if (SPECIALS_OVERRIDE == TRUE){
+            $tmp= preg_replace(array("/\\\\,/", "/\\\\2C/", "/\(/", "/\)/", "/\//", "/\\\\22/", '/\\\\"/'),
+                    array("\001CO", "\001CO", "\001OB", "\001CB", "\001SL", "\001DQ", "\001DQ"),
+                    $dn);
+            return (preg_replace('/,\s+/', ',', $tmp));
+        } else {
+            return ($dn);
+        }
     }
-  }
-
-
-  /* Function to fix all problematic characters inside a DN by replacing \001XX
-     codes to their original values. See "convert" for mor information. 
-     ',' characters are always expanded to \, (not \2C), since all tested LDAP
-     servers seem to take it the correct way.                                  */
-  static function fix($dn)
-  {
-    if (SPECIALS_OVERRIDE == TRUE){
-      return (preg_replace(array("/\001CO/", "/\001OB/", "/\001CB/", "/\001SL/", "/\001DQ/"),
-            array("\,", "(", ")", "/", '\"'),
-            $dn));
-    } else {
-      return ($dn);
+
+
+    /* \brief     Tests for the special-char handling of the currently used ldap database 
+     *             and updates the LDAP class correspondingly.
+     *            This affects the LDAP::fix function and allows us to write 
+     *             dns containing  , " ( )
+     */
+    static function updateSpecialCharHandling()
+    {
+        // Set a default character handling.
+        LDAP::$characterMapRegFrom = array("/\001CO/", "/\001OB/", "/\001CB/", "/\001SL/", "/\001DQ/");
+        LDAP::$characterMapRegTo = array("\,", "(", ")", "/", '\"');
+
+        // Set a default mapping to make readable strings out of dns.
+        LDAP::$readableMapRegFrom = array("/\001CO/", "/\001OB/", "/\001CB/", "/\001SL/", "/\001DQ/",
+                "/\\\\,/", "/\\\\2C/", "/\(/", "/\)/", "/\//", "/\\\\22/", '/\\\\"/');
+        LDAP::$readableMapRegTo = array(",", "(", ")", "/", '"',",", ",", "(", ")", "/", '"', '"');
+
+        if(LDAP::$characterMap === NULL){
+            LDAP::$characterMap = detectLdapSpecialCharHandling();
+
+            // Check if character-detection was successfull, if it wasn't use a fallback.
+            if(LDAP::$characterMap !== NULL){
+                LDAP::$characterMapRegFrom = array();
+                LDAP::$characterMapRegTo = array();
+                LDAP::$readableMapRegFrom = array();
+                LDAP::$readableMapRegTo = array();
+                foreach(LDAP::$characterMap as $from => $to){
+                   
+                    // Append entry character conversion  
+                    LDAP::$characterMapRegFrom[] = "/".preg_quote(LDAP::convert($from),'/')."/";
+                    LDAP::$characterMapRegTo[] = addslashes($to);
+
+                    // Append entry make readable array
+                    LDAP::$readableMapRegFrom[] = "/".preg_quote($to,'/')."/";
+                    LDAP::$readableMapRegFrom[] = "/".preg_quote(LDAP::convert($to),'/')."/";
+                    LDAP::$readableMapRegTo[] = stripslashes($from);
+                    LDAP::$readableMapRegTo[] = stripslashes($from);
+                }
+            }else{
+                // To avoid querying a hundred times without any success, stop here.
+                LDAP::$characterMap = array();
+            }
+        }
+
+        $attrs = array(implode(LDAP::$characterMapRegFrom,', '),implode(LDAP::$characterMapRegTo,', '));
+        @DEBUG(DEBUG_LDAP,__LINE__,__FUNCTION__,__FILE__,$attrs,"Detected special-char handling for LDAP actions");
     }
-  }
-
-  /* Function to fix problematic characters in DN's that are used for search
-     requests. I.e. member=....                                               */
-  static function prepare4filter($dn)
-  {
-    $fixed= normalizeLdap(str_replace('\\\\', '\\\\\\', LDAP::fix($dn)));
-    return str_replace('\\,', '\\\\,', $fixed);
-  }
-
-
-  function connect()
-  {
-    $this->hascon=false;
-    $this->reconnect=false;
-    if ($this->cid= @ldap_connect($this->hostname)) {
-      @ldap_set_option($this->cid, LDAP_OPT_PROTOCOL_VERSION, 3);
-      if (function_exists("ldap_set_rebind_proc") && $this->follow_referral) {
-        @ldap_set_option($this->cid, LDAP_OPT_REFERRALS, 1);
-        @ldap_set_rebind_proc($this->cid, array(&$this, "rebind"));
-      }
-      if (function_exists("ldap_start_tls") && $this->tls){
-        @ldap_start_tls($this->cid);
-      }
-
-      $this->error = "No Error";
-      if ($bid = @ldap_bind($this->cid, LDAP::fix($this->binddn), $this->bindpw)) {
-        $this->error = "Success";
-        $this->hascon=true;
-      } else {
-        if ($this->reconnect){
-          if ($this->error != "Success"){
-            $this->error = "Could not rebind to " . $this->binddn;
-          }
+
+
+    /*!  \brief     This methods replaces non-readable characters be readable ones, 
+     *               depends on what were detect in 'updateSpecialCharHandling'.
+     * @param       String  The DN/string to cleanup 
+     * @return      String  The readable string.
+     */
+    static function makeReadable($dn)
+    {
+        if(LDAP::$characterMap === NULL) LDAP::updateSpecialCharHandling();
+        return (preg_replace(LDAP::$readableMapRegFrom,LDAP::$readableMapRegTo,$dn));
+    }
+
+
+    /* \brief   Function to fix all problematic characters inside a DN by replacing \001XX
+     *           codes to their original values. See "convert" for more information. 
+     *          The ',' characters are always expanded to \, (not \2C), since all tested LDAP
+     *           servers seem to take it the correct way.                                 
+     * @param String  The DN to convert characters in. 
+     * @param String  The converted dn.
+     */
+    static function fix($dn)
+    {
+        if (SPECIALS_OVERRIDE == TRUE){
+
+            // Update the conversion instruction set.
+            if(LDAP::$characterMap === NULL) LDAP::updateSpecialCharHandling();
+
+            return (preg_replace(LDAP::$characterMapRegFrom,LDAP::$characterMapRegTo,$dn));
         } else {
-          $this->error = "Could not bind to " . $this->binddn;
+            return ($dn);
         }
-      }
-    } else {
-      $this->error = "Could not connect to LDAP server";
     }
-  }
-
-  function rebind($ldap, $referral)
-  {
-    $credentials= $this->get_credentials($referral);
-    if (@ldap_bind($ldap, LDAP::fix($credentials['ADMINDN']), $credentials['ADMINPASSWORD'])) {
-      $this->error = "Success";
-      $this->hascon=true;
-      $this->reconnect= true;
-      return (0);
-    } else {
-      $this->error = "Could not bind to " . $credentials['ADMINDN'];
-      return NULL;
+
+
+    /* Function to fix problematic characters in DN's that are used for search
+       requests. I.e. member=....                                               */
+    static function prepare4filter($dn)
+    {
+        $fixed= normalizeLdap(str_replace('\\\\', '\\\\\\', LDAP::fix($dn)));
+        return str_replace('\\,', '\\\\,', $fixed);
     }
-  }
 
-  function reconnect()
-  {
-    if ($this->reconnect){
-      @ldap_unbind($this->cid);
-      $this->cid = NULL;
+
+    function connect()
+    {
+        $this->hascon=false;
+        $this->reconnect=false;
+        if ($this->cid= @ldap_connect($this->hostname)) {
+            @ldap_set_option($this->cid, LDAP_OPT_PROTOCOL_VERSION, 3);
+            if (function_exists("ldap_set_rebind_proc") && $this->follow_referral) {
+                @ldap_set_option($this->cid, LDAP_OPT_REFERRALS, 1);
+                @ldap_set_rebind_proc($this->cid, array(&$this, "rebind"));
+            }
+            if (function_exists("ldap_start_tls") && $this->tls){
+                @ldap_start_tls($this->cid);
+            }
+
+            $this->error = "No Error";
+            if ($bid = @ldap_bind($this->cid, LDAP::fix($this->binddn), $this->bindpw)) {
+                $this->error = "Success";
+                $this->hascon=true;
+            } else {
+                if ($this->reconnect){
+                    if ($this->error != "Success"){
+                        $this->error = "Could not rebind to " . $this->binddn;
+                    }
+                } else {
+                    $this->error = "Could not bind to " . $this->binddn;
+                }
+            }
+        } else {
+            $this->error = "Could not connect to LDAP server";
+        }
     }
-  }
-
-  function unbind()
-  {
-    @ldap_unbind($this->cid);
-    $this->cid = NULL;
-  }
-
-  function disconnect()
-  {
-    if($this->hascon){
-      @ldap_close($this->cid);
-      $this->hascon=false;
+
+    function rebind($ldap, $referral)
+    {
+        $credentials= $this->get_credentials($referral);
+        if (@ldap_bind($ldap, LDAP::fix($credentials['ADMINDN']), $credentials['ADMINPASSWORD'])) {
+            $this->error = "Success";
+            $this->hascon=true;
+            $this->reconnect= true;
+            return (0);
+        } else {
+            $this->error = "Could not bind to " . $credentials['ADMINDN'];
+            return NULL;
+        }
     }
-  }
-
-  function cd($dir)
-  {
-    if ($dir == ".."){
-      $this->basedn = $this->getParentDir();
-    } else {
-      $this->basedn = LDAP::convert($dir);
+
+    function reconnect()
+    {
+        if ($this->reconnect){
+            @ldap_unbind($this->cid);
+            $this->cid = NULL;
+        }
     }
-  }
-
-  function getParentDir($basedn = "")
-  {
-    if ($basedn==""){
-      $basedn = $this->basedn;
-    } else {
-      $basedn = LDAP::convert($basedn);
+
+    function unbind()
+    {
+        @ldap_unbind($this->cid);
+        $this->cid = NULL;
     }
-    return(preg_replace("/[^,]*[,]*[ ]*(.*)/", "$1", $basedn));
-  }
-
-  
-  function search($srp, $filter, $attrs= array())
-  {
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-
-      $start = microtime(true);
-      $this->clearResult($srp);
-      $this->sr[$srp] = @ldap_search($this->cid, LDAP::fix($this->basedn), $filter, $attrs);
-      $this->error = @ldap_error($this->cid);
-      $this->resetResult($srp);
-      $this->hasres[$srp]=true;
-   
-      /* Check if query took longer as specified in max_ldap_query_time */
-      if($this->max_ldap_query_time){
-        $diff = microtime(true) - $start;
-        if($diff > $this->max_ldap_query_time){
-          msg_dialog::display(_("Performance warning"), sprintf(_("LDAP performance is poor: last query took about %.2fs!"), $diff), WARNING_DIALOG);
-        }
-      }
-
-      $this->log("LDAP operation: time=".(microtime(true)-$start)." operation=search('".LDAP::fix($this->basedn)."', '$filter')");
-      return($this->sr[$srp]);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+
+    function disconnect()
+    {
+        if($this->hascon){
+            @ldap_close($this->cid);
+            $this->hascon=false;
+        }
     }
-  }
-
-  function ls($srp, $filter = "(objectclass=*)", $basedn = "",$attrs = array("*"))
-  {
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-
-      $this->clearResult($srp);
-      if ($basedn == "")
-        $basedn = $this->basedn;
-      else
-        $basedn= LDAP::convert($basedn);
-  
-      $start = microtime(true);
-      $this->sr[$srp] = @ldap_list($this->cid, LDAP::fix($basedn), $filter,$attrs);
-      $this->error = @ldap_error($this->cid);
-      $this->resetResult($srp);
-      $this->hasres[$srp]=true;
-
-       /* Check if query took longer as specified in max_ldap_query_time */
-      if($this->max_ldap_query_time){
-        $diff = microtime(true) - $start;
-        if($diff > $this->max_ldap_query_time){
-          msg_dialog::display(_("Performance warning"), sprintf(_("LDAP performance is poor: last query took about %.2fs!"), $diff), WARNING_DIALOG);
-        }
-      }
-
-      $this->log("LDAP operation: time=".(microtime(true) - $start)." operation=ls('".LDAP::fix($basedn)."', '$filter')");
-
-      return($this->sr[$srp]);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+
+    function cd($dir)
+    {
+        if ($dir == ".."){
+            $this->basedn = $this->getParentDir();
+        } else {
+            $this->basedn = LDAP::convert($dir);
+        }
     }
-  }
-
-  function cat($srp, $dn,$attrs= array("*"), $filter = "(objectclass=*)")
-  {
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-
-      $this->clearResult($srp);
-      $this->sr[$srp] = @ldap_read($this->cid, LDAP::fix($dn), $filter,$attrs);
-      $this->error = @ldap_error($this->cid);
-      $this->resetResult($srp);
-      $this->hasres[$srp]=true;
-      return($this->sr[$srp]);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+
+    function getParentDir($basedn = "")
+    {
+        if ($basedn==""){
+            $basedn = $this->basedn;
+        } else {
+            $basedn = LDAP::convert($basedn);
+        }
+        return(preg_replace("/[^,]*[,]*[ ]*(.*)/", "$1", $basedn));
     }
-  }
-
-  function object_match_filter($dn,$filter)
-  {
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-      $res =  @ldap_read($this->cid, LDAP::fix($dn), $filter, array("objectClass"));
-      $rv =   @ldap_count_entries($this->cid, $res);
-      return($rv);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return(FALSE);
+
+
+    function search($srp, $filter, $attrs= array())
+    {
+        if($this->hascon){
+            if ($this->reconnect) $this->connect();
+
+            $start = microtime(true);
+            $this->clearResult($srp);
+            $this->sr[$srp] = @ldap_search($this->cid, LDAP::fix($this->basedn), $filter, $attrs);
+            $this->error = @ldap_error($this->cid);
+            $this->resetResult($srp);
+            $this->hasres[$srp]=true;
+
+            /* Check if query took longer as specified in max_ldap_query_time */
+            if($this->max_ldap_query_time){
+                $diff = microtime(true) - $start;
+                if($diff > $this->max_ldap_query_time){
+                    msg_dialog::display(_("Performance warning"), sprintf(_("LDAP performance is poor: last query took %.2fs!"), $diff), WARNING_DIALOG);
+                }
+            }
+
+            $this->log("LDAP operation: time=".(microtime(true)-$start)." operation=search('".LDAP::fix($this->basedn)."', '$filter')");
+
+            // Create statistic table entry 
+            stats::log('ldap', $class = get_class($this), $category = array(),  $action = __FUNCTION__, 
+                    $amount = 1, $duration = (microtime(TRUE) - $start));
+            return($this->sr[$srp]);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
     }
-  }
 
-  function set_size_limit($size)
-  {
-    /* Ignore zero settings */
-    if ($size == 0){
-      @ldap_set_option($this->cid, LDAP_OPT_SIZELIMIT, 10000000);
+    function ls($srp, $filter = "(objectclass=*)", $basedn = "",$attrs = array("*"))
+    {
+        if($this->hascon){
+            if ($this->reconnect) $this->connect();
+
+            $this->clearResult($srp);
+            if ($basedn == "")
+                $basedn = $this->basedn;
+            else
+                $basedn= LDAP::convert($basedn);
+
+            $start = microtime(true);
+            $this->sr[$srp] = @ldap_list($this->cid, LDAP::fix($basedn), $filter,$attrs);
+            $this->error = @ldap_error($this->cid);
+            $this->resetResult($srp);
+            $this->hasres[$srp]=true;
+
+            /* Check if query took longer as specified in max_ldap_query_time */
+            if($this->max_ldap_query_time){
+                $diff = microtime(true) - $start;
+                if($diff > $this->max_ldap_query_time){
+                    msg_dialog::display(_("Performance warning"), sprintf(_("LDAP performance is poor: last query took %.2fs!"), $diff), WARNING_DIALOG);
+                }
+            }
+
+            $this->log("LDAP operation: time=".(microtime(true) - $start)." operation=ls('".LDAP::fix($basedn)."', '$filter')");
+
+            // Create statistic table entry 
+            stats::log('ldap', $class = get_class($this), $category = array(),  $action = __FUNCTION__, 
+                    $amount = 1, $duration = (microtime(TRUE) - $start));
+
+            return($this->sr[$srp]);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
     }
-    if($this->hascon){
-      @ldap_set_option($this->cid, LDAP_OPT_SIZELIMIT, $size);
-    } else {
-      $this->error = "Could not connect to LDAP server";
+
+    function cat($srp, $dn,$attrs= array("*"), $filter = "(objectclass=*)")
+    {
+        if($this->hascon){
+            if ($this->reconnect) $this->connect();
+
+            $this->clearResult($srp);
+            $this->sr[$srp] = @ldap_read($this->cid, LDAP::fix($dn), $filter,$attrs);
+            $this->error = @ldap_error($this->cid);
+            $this->resetResult($srp);
+            $this->hasres[$srp]=true;
+            return($this->sr[$srp]);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
     }
-  }
-
-  function fetch($srp)
-  {
-    $att= array();
-    if($this->hascon){
-      if($this->hasres[$srp]){
-        if ($this->start[$srp] == 0)
-        {
-          if ($this->sr[$srp]){
-            $this->start[$srp] = 1;
-            $this->re[$srp]= @ldap_first_entry($this->cid, $this->sr[$srp]);
-          } else {
-            return array();
-          }
+
+    function object_match_filter($dn,$filter)
+    {
+        if($this->hascon){
+            if ($this->reconnect) $this->connect();
+            $res =  @ldap_read($this->cid, LDAP::fix($dn), $filter, array("objectClass"));
+            $rv =   @ldap_count_entries($this->cid, $res);
+            return($rv);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return(FALSE);
+        }
+    }
+
+    function set_size_limit($size)
+    {
+        /* Ignore zero settings */
+        if ($size == 0){
+            @ldap_set_option($this->cid, LDAP_OPT_SIZELIMIT, 10000000);
+        }
+        if($this->hascon){
+            @ldap_set_option($this->cid, LDAP_OPT_SIZELIMIT, $size);
         } else {
-          $this->re[$srp]= @ldap_next_entry($this->cid, $this->re[$srp]);
+            $this->error = "Could not connect to LDAP server";
         }
-        if ($this->re[$srp])
-        {
-          $att= @ldap_get_attributes($this->cid, $this->re[$srp]);
-          $att['dn']= trim(LDAP::convert(@ldap_get_dn($this->cid, $this->re[$srp])));
-        }
-        $this->error = @ldap_error($this->cid);
-        if (!isset($att)){
-          $att= array();
-        }
-        return($att);
-      }else{
-        $this->error = "Perform a fetch with no search";
-        return("");
-      }
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
     }
-  }
-
-  function resetResult($srp)
-  {
-    $this->start[$srp] = 0;
-  }
-
-  function clearResult($srp)
-  {
-    if($this->hasres[$srp]){
-      $this->hasres[$srp] = false;
-      @ldap_free_result($this->sr[$srp]);
+
+    function fetch($srp)
+    {
+        $att= array();
+        if($this->hascon){
+            if($this->hasres[$srp]){
+                if ($this->start[$srp] == 0)
+                {
+                    if ($this->sr[$srp]){
+                        $this->start[$srp] = 1;
+                        $this->re[$srp]= @ldap_first_entry($this->cid, $this->sr[$srp]);
+                    } else {
+                        return array();
+                    }
+                } else {
+                    $this->re[$srp]= @ldap_next_entry($this->cid, $this->re[$srp]);
+                }
+                if ($this->re[$srp])
+                {
+                    $att= @ldap_get_attributes($this->cid, $this->re[$srp]);
+                    $att['dn']= trim(LDAP::convert(@ldap_get_dn($this->cid, $this->re[$srp])));
+                }
+                $this->error = @ldap_error($this->cid);
+                if (!isset($att)){
+                    $att= array();
+                }
+                return($att);
+            }else{
+                $this->error = "Perform a fetch with no search";
+                return("");
+            }
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
     }
-  }
-
-  function getDN($srp)
-  {
-    if($this->hascon){
-      if($this->hasres[$srp]){
-
-        if(!$this->re[$srp])
-          {
-          $this->error = "Perform a Fetch with no valid Result";
-          }
-          else
-          {
-          $rv = @ldap_get_dn($this->cid, $this->re[$srp]);
-        
-          $this->error = @ldap_error($this->cid);
-          return(trim(LDAP::convert($rv)));
-           }
-      }else{
-        $this->error = "Perform a Fetch with no Search";
-        return("");
-      }
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+
+    function resetResult($srp)
+    {
+        $this->start[$srp] = 0;
     }
-  }
-
-  function count($srp)
-  {
-    if($this->hascon){
-      if($this->hasres[$srp]){
-        $rv = @ldap_count_entries($this->cid, $this->sr[$srp]);
-        $this->error = @ldap_error($this->cid);
-        return($rv);
-      }else{
-        $this->error = "Perform a Fetch with no Search";
-        return("");
-      }
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+
+    function clearResult($srp)
+    {
+        if($this->hasres[$srp]){
+            $this->hasres[$srp] = false;
+            @ldap_free_result($this->sr[$srp]);
+        }
     }
-  }
-
-  function rm($attrs = "", $dn = "")
-  {
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-      if ($dn == "")
-        $dn = $this->basedn;
-
-      $r = ldap_mod_del($this->cid, LDAP::fix($dn), $attrs);
-      $this->error = @ldap_error($this->cid);
-      return($r);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+
+    function getDN($srp)
+    {
+        if($this->hascon){
+            if($this->hasres[$srp]){
+
+                if(!$this->re[$srp])
+                {
+                    $this->error = "Perform a Fetch with no valid Result";
+                }
+                else
+                {
+                    $rv = @ldap_get_dn($this->cid, $this->re[$srp]);
+
+                    $this->error = @ldap_error($this->cid);
+                    return(trim(LDAP::convert($rv)));
+                }
+            }else{
+                $this->error = "Perform a Fetch with no Search";
+                return("");
+            }
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
     }
-  }
-
-  function mod_add($attrs = "", $dn = "")
-  {
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-      if ($dn == "")
-        $dn = $this->basedn;
-
-      $r = @ldap_mod_add($this->cid, LDAP::fix($dn), $attrs);
-      $this->error = @ldap_error($this->cid);
-      return($r);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+
+    function count($srp)
+    {
+        if($this->hascon){
+            if($this->hasres[$srp]){
+                $rv = @ldap_count_entries($this->cid, $this->sr[$srp]);
+                $this->error = @ldap_error($this->cid);
+                return($rv);
+            }else{
+                $this->error = "Perform a Fetch with no Search";
+                return("");
+            }
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
     }
-  }
-
-  function rename($attrs, $dn = "")
-  {
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-      if ($dn == "")
-        $dn = $this->basedn;
-
-      $r = @ldap_mod_replace($this->cid, LDAP::fix($dn), $attrs);
-      $this->error = @ldap_error($this->cid);
-      return($r);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+
+    function rm($attrs = "", $dn = "")
+    {
+        if($this->hascon){
+            if ($this->reconnect) $this->connect();
+            if ($dn == "")
+                $dn = $this->basedn;
+
+            $r = ldap_mod_del($this->cid, LDAP::fix($dn), $attrs);
+            $this->error = @ldap_error($this->cid);
+            return($r);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
     }
-  }
-
-  function rmdir($deletedn)
-  {
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-      $r = @ldap_delete($this->cid, LDAP::fix($deletedn));
-      $this->error = @ldap_error($this->cid);
-      return($r ? $r : 0);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+
+    function mod_add($attrs = "", $dn = "")
+    {
+        if($this->hascon){
+            if ($this->reconnect) $this->connect();
+            if ($dn == "")
+                $dn = $this->basedn;
+
+            $r = @ldap_mod_add($this->cid, LDAP::fix($dn), $attrs);
+            $this->error = @ldap_error($this->cid);
+            return($r);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
     }
-  }
 
+    function rename($attrs, $dn = "")
+    {
+        if($this->hascon){
+            if ($this->reconnect) $this->connect();
+            if ($dn == "")
+                $dn = $this->basedn;
+
+            $r = @ldap_mod_replace($this->cid, LDAP::fix($dn), $attrs);
+            $this->error = @ldap_error($this->cid);
+            return($r);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
+    }
 
-  /*! \brief Move the given Ldap entry from $source to $dest
+    function rmdir($deletedn)
+    {
+        if($this->hascon){
+            if ($this->reconnect) $this->connect();
+            $r = @ldap_delete($this->cid, LDAP::fix($deletedn));
+            $this->error = @ldap_error($this->cid);
+            return($r ? $r : 0);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
+    }
+
+
+    /*! \brief Move the given Ldap entry from $source to $dest
       @param  String  $source The source dn.
       @param  String  $dest   The destination dn.
       @return Boolean TRUE on success else FALSE.
-   */
-  function rename_dn($source,$dest)
-  {
-    /* Check if source and destination are the same entry */
-    if(strtolower($source) == strtolower($dest)){
-      trigger_error("Source and destination can't be the same entry.");
-      $this->error = "Source and destination can't be the same entry.";
-      return(FALSE);
-    }
+     */
+    function rename_dn($source,$dest)
+    {
+        /* Check if source and destination are the same entry */
+        if(strtolower($source) == strtolower($dest)){
+            trigger_error("Source and destination can't be the same entry.");
+            $this->error = "Source and destination can't be the same entry.";
+            return(FALSE);
+        }
 
-    /* Check if destination entry exists */    
-    if($this->dn_exists($dest)){
-      trigger_error("Destination '$dest' already exists.");
-      $this->error = "Destination '$dest' already exists.";
-      return(FALSE);
-    }
+        /* Check if destination entry exists */    
+        if($this->dn_exists($dest)){
+            trigger_error("Destination '$dest' already exists.");
+            $this->error = "Destination '$dest' already exists.";
+            return(FALSE);
+        }
 
-    /* Extract the name and the parent part out ouf source dn.
-        e.g.  cn=herbert,ou=department,dc=... 
-         parent   =>  ou=department,dc=...
-         dest_rdn =>  cn=herbert
-     */
-    $parent   = preg_replace("/^[^,]+,/","", $dest);
-    $dest_rdn = preg_replace("/,.*$/","",$dest);
-
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-      $r= ldap_rename($this->cid, at LDAP::fix($source), @LDAP::fix($dest_rdn), at LDAP::fix($parent),TRUE); 
-      $this->error = ldap_error($this->cid);
-
-      /* Check if destination dn exists, if not the 
-          server may not support this operation */
-      $r &= is_resource($this->dn_exists($dest));
-      return($r);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return(FALSE);
-    }
-  }
-
-
-  /**
-  *  Function rmdir_recursive
-  *
-  *  Description: Based in recursive_remove, adding two thing: full subtree remove, and delete own node.
-  *  Parameters:  The dn to delete
-  *  GiveBack:    True on sucessfull , 0 in error, and "" when we don't get a ldap conection
-  *
-  */
-  function rmdir_recursive($srp, $deletedn)
-  {
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-      $delarray= array();
-        
-      /* Get sorted list of dn's to delete */
-      $this->ls ($srp, "(objectClass=*)",$deletedn);
-      while ($this->fetch($srp)){
-        $deldn= $this->getDN($srp);
-        $delarray[$deldn]= strlen($deldn);
-      }
-      arsort ($delarray);
-      reset ($delarray);
-
-      /* Really Delete ALL dn's in subtree */
-      foreach ($delarray as $key => $value){
-        $this->rmdir_recursive($srp, $key);
-      }
-      
-      /* Finally Delete own Node */
-      $r = @ldap_delete($this->cid, LDAP::fix($deletedn));
-      $this->error = @ldap_error($this->cid);
-      return($r ? $r : 0);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+        /* Extract the name and the parent part out ouf source dn.
+           e.g.  cn=herbert,ou=department,dc=... 
+           parent   =>  ou=department,dc=...
+           dest_rdn =>  cn=herbert
+         */
+        $parent   = preg_replace("/^[^,]+,/","", $dest);
+        $dest_rdn = preg_replace("/,.*$/","",$dest);
+
+        if($this->hascon){
+            if ($this->reconnect) $this->connect();
+            $r= ldap_rename($this->cid, at LDAP::fix($source), @LDAP::fix($dest_rdn), at LDAP::fix($parent),TRUE); 
+            $this->error = ldap_error($this->cid);
+
+            /* Check if destination dn exists, if not the 
+               server may not support this operation */
+            $r &= is_resource($this->dn_exists($dest));
+            return($r);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return(FALSE);
+        }
     }
-  }
 
-  function makeReadableErrors($error,$attrs)
-  { 
-    global $config;
 
-    if($this->success()) return("");
+    /**
+     *  Function rmdir_recursive
+     *
+     *  Description: Based in recursive_remove, adding two thing: full subtree remove, and delete own node.
+     *  Parameters:  The dn to delete
+     *  GiveBack:    True on sucessfull , 0 in error, and "" when we don't get a ldap conection
+     *
+     */
+    function rmdir_recursive($srp, $deletedn)
+    {
+        if($this->hascon){
+            if ($this->reconnect) $this->connect();
+            $delarray= array();
+
+            /* Get sorted list of dn's to delete */
+            $this->ls ($srp, "(objectClass=*)",$deletedn);
+            while ($this->fetch($srp)){
+                $deldn= $this->getDN($srp);
+                $delarray[$deldn]= strlen($deldn);
+            }
+            arsort ($delarray);
+            reset ($delarray);
+
+            /* Really Delete ALL dn's in subtree */
+            foreach ($delarray as $key => $value){
+                $this->rmdir_recursive($srp, $key);
+            }
 
-    $str = "";
-    if(preg_match("/^objectClass: value #([0-9]*) invalid per syntax$/", $this->get_additional_error())){
-      $oc = preg_replace("/^objectClass: value #([0-9]*) invalid per syntax$/","\\1", $this->get_additional_error());
-      if(isset($attrs['objectClass'][$oc])){
-        $str.= " - <b>objectClass: ".$attrs['objectClass'][$oc]."</b>";
-      }
+            /* Finally Delete own Node */
+            $r = @ldap_delete($this->cid, LDAP::fix($deletedn));
+            $this->error = @ldap_error($this->cid);
+            return($r ? $r : 0);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
     }
-    if($error == "Undefined attribute type"){
-      $str = " - <b>attribute: ".preg_replace("/:.*$/","",$this->get_additional_error())."</b>";
-    } 
 
-    @DEBUG(DEBUG_LDAP,__LINE__,__FUNCTION__,__FILE__,$attrs,"Erroneous data");
+    function makeReadableErrors($error,$attrs)
+    { 
+        global $config;
 
-    return($str);
-  }
+        if($this->success()) return("");
 
-  function modify($attrs)
-  {
-    if(count($attrs) == 0){
-      return (0);
-    }
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-      $r = @ldap_modify($this->cid, LDAP::fix($this->basedn), $attrs);
-      $this->error = @ldap_error($this->cid);
-      if(!$this->success()){
-        $this->error.= $this->makeReadableErrors($this->error,$attrs);
-      }
-      return($r ? $r : 0);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+        $str = "";
+        if(preg_match("/^objectClass: value #([0-9]*) invalid per syntax$/", $this->get_additional_error())){
+            $oc = preg_replace("/^objectClass: value #([0-9]*) invalid per syntax$/","\\1", $this->get_additional_error());
+            if(isset($attrs['objectClass'][$oc])){
+                $str.= " - <b>objectClass: ".$attrs['objectClass'][$oc]."</b>";
+            }
+        }
+        if($error == "Undefined attribute type"){
+            $str = " - <b>attribute: ".preg_replace("/:.*$/","",$this->get_additional_error())."</b>";
+        } 
+
+        @DEBUG(DEBUG_LDAP,__LINE__,__FUNCTION__,__FILE__,$attrs,"Erroneous data");
+
+        return($str);
     }
-  }
-
-  function add($attrs)
-  {
-    if($this->hascon){
-      if ($this->reconnect) $this->connect();
-      $r = @ldap_add($this->cid, LDAP::fix($this->basedn), $attrs);
-      $this->error = @ldap_error($this->cid);
-      if(!$this->success()){
-        $this->error.= $this->makeReadableErrors($this->error,$attrs);
-      }
-      return($r ? $r : 0);
-    }else{
-      $this->error = "Could not connect to LDAP server";
-      return("");
+
+    function modify($attrs)
+    {
+        if(count($attrs) == 0){
+            return (0);
+        }
+        if($this->hascon){
+            $start = microtime(TRUE);
+            if ($this->reconnect) $this->connect();
+            $r = @ldap_modify($this->cid, LDAP::fix($this->basedn), $attrs);
+            $this->error = @ldap_error($this->cid);
+            if(!$this->success()){
+                $this->error.= $this->makeReadableErrors($this->error,$attrs);
+            }
+
+            // Create statistic table entry 
+            stats::log('ldap', $class = get_class($this), $category = array(),  $action = __FUNCTION__, 
+                    $amount = 1, $duration = (microtime(TRUE) - $start));
+            return($r ? $r : 0);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
     }
-  }
 
-  function create_missing_trees($srp, $target)
-  {
-    global $config;
+    function add($attrs)
+    {
+        if($this->hascon){
+            $start = microtime(TRUE);
+            if ($this->reconnect) $this->connect();
+            $r = @ldap_add($this->cid, LDAP::fix($this->basedn), $attrs);
+            $this->error = @ldap_error($this->cid);
+            if(!$this->success()){
+                $this->error.= $this->makeReadableErrors($this->error,$attrs);
+            }
 
-    $real_path= substr($target, 0, strlen($target) - strlen($this->basedn) -1 );
+            // Create statistic table entry 
+            stats::log('ldap', $class = get_class($this), $category = array(),  $action = __FUNCTION__, 
+                    $amount = 1, $duration = (microtime(TRUE) - $start));
 
-    if ($target == $this->basedn){
-      $l= array("dummy");
-    } else {
-      $l= array_reverse(gosa_ldap_explode_dn($real_path));
+            return($r ? $r : 0);
+        }else{
+            $this->error = "Could not connect to LDAP server";
+            return("");
+        }
     }
-    unset($l['count']);
-    $cdn= $this->basedn;
-    $tag= "";
-
-    /* Load schema if available... */
-    $classes= $this->get_objectclasses();
-
-    foreach ($l as $part){
-      if ($part != "dummy"){
-        $cdn= "$part,$cdn";
-      }
-
-      /* Ignore referrals */
-      $found= false;
-      foreach($this->referrals as $ref){
-        $base= preg_replace('!^[^:]+://[^/]+/([^?]+).*$!', '\\1', $ref['URI']);
-        if ($base == $cdn){
-          $found= true;
-          break;
-        }
-      }
-      if ($found){
-        continue;
-      }
-
-      $this->cat ($srp, $cdn);
-      $attrs= $this->fetch($srp);
-
-      /* Create missing entry? */
-      if (count ($attrs)){
-      
-        /* Catch the tag - if present */
-        if (isset($attrs['gosaUnitTag'][0])){
-          $tag= $attrs['gosaUnitTag'][0];
-        }
-
-      } else {
-        $type= preg_replace('/^([^=]+)=.*$/', '\\1', $cdn);
-        $param= LDAP::fix(preg_replace('/^[^=]+=([^,]+).*$/', '\\1', $cdn));
-        $param=preg_replace(array('/\\\\,/','/\\\\"/'),array(',','"'),$param);
-
-        $na= array();
-
-        /* Automatic or traditional? */
-        if(count($classes)){
-
-          /* Get name of first matching objectClass */
-          $ocname= "";
-          foreach($classes as $class){
-            if (isset($class['MUST']) && in_array($type, $class['MUST'])){
-
-              /* Look for first classes that is structural... */
-              if (isset($class['STRUCTURAL'])){
-                $ocname= $class['NAME'];
-                break;
-              }
-
-              /* Look for classes that are auxiliary... */
-              if (isset($class['AUXILIARY'])){
-                $ocname= $class['NAME'];
-              }
+
+    function create_missing_trees($srp, $target)
+    {
+        global $config;
+
+        $real_path= substr($target, 0, strlen($target) - strlen($this->basedn) -1 );
+
+        if ($target == $this->basedn){
+            $l= array("dummy");
+        } else {
+            $l= array_reverse(gosa_ldap_explode_dn($real_path));
+        }
+        unset($l['count']);
+        $cdn= $this->basedn;
+        $tag= "";
+
+        /* Load schema if available... */
+        $classes= $this->get_objectclasses();
+
+        foreach ($l as $part){
+            if ($part != "dummy"){
+                $cdn= "$part,$cdn";
+            }
+
+            /* Ignore referrals */
+            $found= false;
+            foreach($this->referrals as $ref){
+                $base= preg_replace('!^[^:]+://[^/]+/([^?]+).*$!', '\\1', $ref['URI']);
+                if ($base == $cdn){
+                    $found= true;
+                    break;
+                }
             }
-          }
-
-          /* Bail out, if we've nothing to do... */
-          if ($ocname == ""){
-            msg_dialog::display(_("Internal error"), sprintf(_("Cannot automatically create subtrees with RDN '%s': no object class found!"),$type), FATAL_ERROR_DIALOG);
-            exit();
-          }
-
-          /* Assemble_entry */
-          if ($tag != ""){
-            $na['objectClass']= array($ocname, "gosaAdministrativeUnitTag");
-            $na["gosaUnitTag"]= $tag;
-          } else {
-            $na['objectClass']= array($ocname);
-          }
-          if (isset($classes[$ocname]['AUXILIARY'])){
-            $na['objectClass'][]= $classes[$ocname]['SUP'];
-          }
-          if ($type == "dc"){
-            /* This is bad actually, but - tell me a better way? */
-            $na['objectClass'][]= 'locality';
-          }
-          $na[$type]= $param;
-
-          // Fill in MUST values - but do not overwrite existing ones.
-          if (is_array($classes[$ocname]['MUST'])){
-            foreach($classes[$ocname]['MUST'] as $attr){
-              if(isset($na[$attr]) && !empty($na[$attr])) continue;
-              $na[$attr]= "filled";
+            if ($found){
+                continue;
             }
-          }
 
-        } else {
+            $this->cat ($srp, $cdn);
+            $attrs= $this->fetch($srp);
 
-          /* Use alternative add... */
-          switch ($type){
-            case 'ou':
-              if ($tag != ""){
-                $na["objectClass"]= array("organizationalUnit", "gosaAdministrativeUnitTag");
-                $na["gosaUnitTag"]= $tag;
-              } else {
-                $na["objectClass"]= "organizationalUnit";
-              }
-              $na["ou"]= $param;
-              break;
-            case 'dc':
-              if ($tag != ""){
-                $na["objectClass"]= array("dcObject", "top", "locality", "gosaAdministrativeUnitTag");
-                $na["gosaUnitTag"]= $tag;
-              } else {
-                $na["objectClass"]= array("dcObject", "top", "locality");
-              }
-              $na["dc"]= $param;
-              break;
-            default:
-              msg_dialog::display(_("Internal error"), sprintf(_("Cannot automatically create subtrees with RDN '%s': not supported"),$type), FATAL_ERROR_DIALOG);
-              exit();
-          }
-
-        }
-        $this->cd($cdn);
-        $this->add($na);
-    
-        if (!$this->success()){
+            /* Create missing entry? */
+            if (count ($attrs)){
 
-          print_a(array($cdn,$na));
+                /* Catch the tag - if present */
+                if (isset($attrs['gosaUnitTag'][0])){
+                    $tag= $attrs['gosaUnitTag'][0];
+                }
 
-          msg_dialog::display(_("LDAP error"), msgPool::ldaperror($this->get_error(), $cdn, LDAP_ADD, get_class()));
-          return FALSE;
-        }
-      }
-    }
+            } else {
+                $type= preg_replace('/^([^=]+)=.*$/', '\\1', $cdn);
+                $param= LDAP::fix(preg_replace('/^[^=]+=([^,]+).*$/', '\\1', $cdn));
+                $param=preg_replace(array('/\\\\,/','/\\\\"/'),array(',','"'),$param);
 
-    return TRUE;
-  }
+                $na= array();
 
+                /* Automatic or traditional? */
+                if(count($classes)){
 
-  function recursive_remove($srp)
-  {
-    $delarray= array();
+                    /* Get name of first matching objectClass */
+                    $ocname= "";
+                    foreach($classes as $class){
+                        if (isset($class['MUST']) && in_array($type, $class['MUST'])){
 
-    /* Get sorted list of dn's to delete */
-    $this->search ($srp, "(objectClass=*)");
-    while ($this->fetch($srp)){
-      $deldn= $this->getDN($srp);
-      $delarray[$deldn]= strlen($deldn);
-    }
-    arsort ($delarray);
-    reset ($delarray);
+                            /* Look for first classes that is structural... */
+                            if (isset($class['STRUCTURAL'])){
+                                $ocname= $class['NAME'];
+                                break;
+                            }
 
-    /* Delete all dn's in subtree */
-    foreach ($delarray as $key => $value){
-      $this->rmdir($key);
-    }
-  }
+                            /* Look for classes that are auxiliary... */
+                            if (isset($class['AUXILIARY'])){
+                                $ocname= $class['NAME'];
+                            }
+                        }
+                    }
+
+                    /* Bail out, if we've nothing to do... */
+                    if ($ocname == ""){
+                        msg_dialog::display(_("Internal error"), sprintf(_("Cannot automatically create subtrees with RDN %s: no object class found"), bold($type)), FATAL_ERROR_DIALOG);
+                        exit();
+                    }
+
+                    /* Assemble_entry */
+                    if ($tag != ""){
+                        $na['objectClass']= array($ocname, "gosaAdministrativeUnitTag");
+                        $na["gosaUnitTag"]= $tag;
+                    } else {
+                        $na['objectClass']= array($ocname);
+                    }
+                    if (isset($classes[$ocname]['AUXILIARY'])){
+                        $na['objectClass'][]= $classes[$ocname]['SUP'];
+                    }
+                    if ($type == "dc"){
+                        /* This is bad actually, but - tell me a better way? */
+                        $na['objectClass'][]= 'locality';
+                    }
+                    $na[$type]= $param;
+
+                    // Fill in MUST values - but do not overwrite existing ones.
+                    if (is_array($classes[$ocname]['MUST'])){
+                        foreach($classes[$ocname]['MUST'] as $attr){
+                            if(isset($na[$attr]) && !empty($na[$attr])) continue;
+                            $na[$attr]= "filled";
+                        }
+                    }
+
+                } else {
+
+                    /* Use alternative add... */
+                    switch ($type){
+                        case 'ou':
+                            if ($tag != ""){
+                                $na["objectClass"]= array("organizationalUnit", "gosaAdministrativeUnitTag");
+                                $na["gosaUnitTag"]= $tag;
+                            } else {
+                                $na["objectClass"]= "organizationalUnit";
+                            }
+                            $na["ou"]= $param;
+                            break;
+                        case 'dc':
+                            if ($tag != ""){
+                                $na["objectClass"]= array("dcObject", "top", "locality", "gosaAdministrativeUnitTag");
+                                $na["gosaUnitTag"]= $tag;
+                            } else {
+                                $na["objectClass"]= array("dcObject", "top", "locality");
+                            }
+                            $na["dc"]= $param;
+                            break;
+                        default:
+                            msg_dialog::display(_("Internal error"), sprintf(_("Cannot automatically create subtrees with RDN %s: not supported"), bold($type)), FATAL_ERROR_DIALOG);
+                            exit();
+                    }
 
+                }
+                $this->cd($cdn);
+                $this->add($na);
 
-  function get_attribute($dn, $name,$r_array=0)
-  {
-    $data= "";
-    if ($this->reconnect) $this->connect();
-    $sr= @ldap_read($this->cid, LDAP::fix($dn), "objectClass=*", array("$name"));
+                if (!$this->success()){
 
-    /* fill data from LDAP */
-    if ($sr) {
-      $ei= @ldap_first_entry($this->cid, $sr);
-      if ($ei) {
-        if ($info= @ldap_get_values_len($this->cid, $ei, "$name")){
-          $data= $info[0];
+                    print_a(array($cdn,$na));
+
+                    msg_dialog::display(_("LDAP error"), msgPool::ldaperror($this->get_error(), $cdn, LDAP_ADD, get_class()));
+                    return FALSE;
+                }
+            }
         }
-      }
-    }
-    if($r_array==0) {
-      return ($data);
-    } else {
-      return ($info);
-    }
-  }
- 
-
-
-  function get_additional_error()
-  {
-    $error= "";
-    @ldap_get_option ($this->cid, LDAP_OPT_ERROR_STRING, $error);
-    return ($error);
-  }
-
-
-  function success()
-  {
-    return (preg_match('/Success/i', $this->error));
-  }
-
-
-  function get_error()
-  {
-    if ($this->error == 'Success'){
-      return $this->error;
-    } else {
-      $adderror= $this->get_additional_error();
-      if ($adderror != ""){
-        $error= $this->error." (".$this->get_additional_error().", ".sprintf(_("while operating on '%s' using LDAP server '%s'"), $this->basedn, $this->hostname).")";
-      } else {
-        $error= $this->error." (".sprintf(_("while operating on LDAP server %s"), $this->hostname).")";
-      }
-      return $error;
+
+        return TRUE;
     }
-  }
 
-  function get_credentials($url, $referrals= NULL)
-  {
-    $ret= array();
-    $url= preg_replace('!\?\?.*$!', '', $url);
-    $server= preg_replace('!^([^:]+://[^/]+)/.*$!', '\\1', $url);
 
-    if ($referrals === NULL){
-      $referrals= $this->referrals;
+    function recursive_remove($srp)
+    {
+        $delarray= array();
+
+        /* Get sorted list of dn's to delete */
+        $this->search ($srp, "(objectClass=*)");
+        while ($this->fetch($srp)){
+            $deldn= $this->getDN($srp);
+            $delarray[$deldn]= strlen($deldn);
+        }
+        arsort ($delarray);
+        reset ($delarray);
+
+        /* Delete all dn's in subtree */
+        foreach ($delarray as $key => $value){
+            $this->rmdir($key);
+        }
     }
 
-    if (isset($referrals[$server])){
-      return ($referrals[$server]);
-    } else {
-      $ret['ADMINDN']= LDAP::fix($this->binddn);
-      $ret['ADMINPASSWORD']= $this->bindpw;
+
+    function get_attribute($dn, $name,$r_array=0)
+    {
+        $data= "";
+        if ($this->reconnect) $this->connect();
+        $sr= @ldap_read($this->cid, LDAP::fix($dn), "objectClass=*", array("$name"));
+
+        /* fill data from LDAP */
+        if ($sr) {
+            $ei= @ldap_first_entry($this->cid, $sr);
+            if ($ei) {
+                if ($info= @ldap_get_values_len($this->cid, $ei, "$name")){
+                    $data= $info[0];
+                }
+            }
+        }
+        if($r_array==0) {
+            return ($data);
+        } else {
+            return ($info);
+        }
     }
 
-    return ($ret);
-  }
-
-
- /*! \brief  Generates an ldif for all entries matching the filter settings, scope and limit.
-   *  @param  $dn           The entry to export.
-   *  @param  $filter       Limit the exported object to those maching this filter.
-   *  @param  $attributes   Specify the attributes to export here, empty means all.
-   *  @param  $scope        'base', 'sub' .. see manpage for 'ldapmodify' for details.
-   *  @param  $limit        Limits the result.
-   */
-  function generateLdif ($dn, $filter= "(objectClass=*)", $attributes= array(), $scope = 'sub', $limit=0)
-  {
-      $attrs  = (count($attributes))?implode($attributes,' '):'';
-      $scope = (!empty($scope))?' -s '.$scope: '';
-      $limit = (!$limit)?'':' -z '.$limit;
-      $dn = escapeshellarg($dn);
-      $admin = escapeshellarg($this->binddn);
-      $pwd = escapeshellarg($this->bindpw);
-      $filter = escapeshellarg($filter);
-      $host = escapeshellarg($this->hostname);
-      $cmd = "ldapsearch -x -LLLL -D {$admin} -w {$pwd} {$filter} {$limit} {$scope} -H {$host} -b {$dn} $attrs ";
-      ob_start();
-      passthru($cmd);
-      $res=ob_get_contents();
-      ob_end_clean();
-      return($res);
-  }
-
-
-  function gen_xls ($srp, $dn, $filter= "(objectClass=*)", $attributes= array('*'), $recursive= TRUE,$r_array=0)
-  {
-    $display= array();
-
-      $this->cd($dn);
-      $this->search($srp, "$filter");
-
-      $i=0;
-      while ($attrs= $this->fetch($srp)){
-        $j=0;
-
-        foreach ($attributes as $at){
-          $display[$i][$j]= $this->get_attribute($attrs['dn'], $at,$r_array);
-          $j++;
-        }
-
-        $i++;
-      }
-
-    return ($display);
-  }
-    
-
-  function dn_exists($dn)
-  {
-    return @ldap_list($this->cid, LDAP::fix($dn), "(objectClass=*)", array("objectClass"));
-  }
-  
-
-
-  /*  This funktion imports ldifs 
-        
-      If DeleteOldEntries is true, the destination entry will be deleted first. 
-      If JustModify is true the destination entry will only be touched by the attributes specified in the ldif.
-      if JustMofify id false the destination dn will be overwritten by the new ldif. 
-    */
-
-  function import_complete_ldif($srp, $str_attr,$error,$JustModify,$DeleteOldEntries)
-  {
-    if($this->reconnect) $this->connect();
-
-    /* First we have to split the string into empty lines.
-       An empty line indicates an new Entry */
-    $entries = preg_split("/\n/",$str_attr);
-
-    $data = "";
-    $cnt = 0; 
-    $current_line = 0;
-
-    /* FIX ldif */
-    $last = "";
-    $tmp  = "";
-    $i = 0;
-    foreach($entries as $entry){
-      if(preg_match("/^ /",$entry)){
-        $tmp[$i] .= trim($entry);
-      }else{
-        $i ++;
-        $tmp[$i] = trim($entry);
-      }
+
+
+    function get_additional_error()
+    {
+        $error= "";
+        @ldap_get_option ($this->cid, LDAP_OPT_ERROR_STRING, $error);
+        return ($error);
     }
 
-    /* Every single line ... */
-    foreach($tmp as $entry) {
-      $current_line ++;
-
-      /* Removing Spaces to .. 
-         .. test if a new entry begins */
-      $tmp  = str_replace(" ","",$data );
-
-      /* .. prevent empty lines in an entry */
-      $tmp2 = str_replace(" ","",$entry);
-
-      /* If the Block ends (Empty Line) */
-      if((empty($entry))&&(!empty($tmp))) {
-        /* Add collected lines as a complete block */
-        $all[$cnt] = $data;
-        $cnt ++;
-        $data ="";
-      } else {
-
-        /* Append lines ... */
-        if(!empty($tmp2)) {
-          /* check if we need base64_decode for this line */
-          if(strstr($tmp2, "::") !== false)
-          {
-            $encoded = explode("::",$entry);
-            $attr  = trim($encoded[0]);
-            $value = base64_decode(trim($encoded[1]));
-            /* Add linenumber */
-            $data .= $current_line."#".base64_encode($attr.":".$value)."\n";
-          }
-          else
-          {
-            /* Add Linenumber */ 
-            $data .= $current_line."#".base64_encode($entry)."\n";
-          }
-        }
-      }
+
+    function success()
+    {
+        return (preg_match('/Success/i', $this->error));
     }
 
-    /* The Data we collected is not in the array all[];
-       For example the Data is stored like this..
-
-       all[0] = "1#dn : .... \n 
-       2#ObjectType: person \n ...."
-       
-       Now we check every insertblock and try to insert */
-    foreach ( $all as $single) {
-      $lineone = preg_split("/\n/",$single);  
-      $ndn = explode("#", $lineone[0]);
-      $line = base64_decode($ndn[1]);
-
-      $dnn = explode (":",$line,2);
-      $current_line = $ndn[0];
-      $dn    = $dnn[0];
-      $value = $dnn[1];
-
-      /* Every block must begin with a dn */
-      if($dn != "dn") {
-        $error= sprintf(_("This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' in line %s"), $line, $current_line);
-        return -2;  
-      }
-
-      /* Should we use Modify instead of Add */
-      $usemodify= false;
-
-      /* Delete before insert */
-      $usermdir= false;
-    
-      /* The dn address already exists, Don't delete destination entry, overwrite it */
-      if (($this->dn_exists($value))&&((!$JustModify)&&(!$DeleteOldEntries))) {
-
-        $usermdir = $usemodify = false;
-
-      /* Delete old entry first, then add new */
-      } elseif(($this->dn_exists($value))&&($DeleteOldEntries)){
-
-        /* Delete first, then add */
-        $usermdir = true;        
-
-      } elseif(($this->dn_exists($value))&&($JustModify)) {
-        
-        /* Modify instead of Add */
-        $usemodify = true;
-      }
-     
-      /* If we can't Import, return with a file error */
-      if(!$this->import_single_entry($srp, $single,$usemodify,$usermdir) ) {
-        $error= sprintf(_("Error while importing dn: '%s', please check your LDIF from line %s on!"), $line,
-                        $current_line);
-        return UNKNOWN_TOKEN_IN_LDIF_FILE;      }
+
+    function get_error()
+    {
+        if ($this->error == 'Success'){
+            return $this->error;
+        } else {
+            $adderror= $this->get_additional_error();
+            if ($adderror != ""){
+                $error= $this->error." (".$this->get_additional_error().", ".sprintf(_("while operating on %s using LDAP server %s"), bold($this->basedn), bold($this->hostname)).")";
+            } else {
+                $error= $this->error." (".sprintf(_("while operating on LDAP server %s"), bold($this->hostname)).")";
+            }
+            return $error;
+        }
     }
 
-    return (INSERT_OK);
-  }
+    function get_credentials($url, $referrals= NULL)
+    {
+        $ret= array();
+        $url= preg_replace('!\?\?.*$!', '', $url);
+        $server= preg_replace('!^([^:]+://[^/]+)/.*$!', '\\1', $url);
 
+        if ($referrals === NULL){
+            $referrals= $this->referrals;
+        }
 
-  /* Imports a single entry 
-      If $delete is true;  The old entry will be deleted if it exists.
-      if $modify is true;  All variables that are not touched by the new ldif will be kept.
-      if $modify is false; The new ldif overwrites the old entry, and all untouched attributes get lost.
-  */
-  function import_single_entry($srp, $str_attr,$modify,$delete)
-  {
-    global $config;
+        if (isset($referrals[$server])){
+            return ($referrals[$server]);
+        } else {
+            $ret['ADMINDN']= LDAP::fix($this->binddn);
+            $ret['ADMINPASSWORD']= $this->bindpw;
+        }
 
-    if(!$config){
-      trigger_error("Can't import ldif, can't read config object.");
+        return ($ret);
     }
-  
-
-    if($this->reconnect) $this->connect();
 
-    $ret = false;
-    $rows= preg_split("/\n/",$str_attr);
-    $data= false;
 
-    foreach($rows as $row) {
-      
-      /* Check if we use Linenumbers (when import_complete_ldif is called we use
-         Linenumbers) Linenumbers are use like this 123#attribute : value */
-      if(!empty($row)) {
-        if(strpos($row,"#")!=FALSE) {
+    /*! \brief  Generates an ldif for all entries matching the filter settings, scope and limit.
+     *  @param  $dn           The entry to export.
+     *  @param  $filter       Limit the exported object to those maching this filter.
+     *  @param  $scope        'base', 'sub' .. see manpage for 'ldapmodify' for details.
+     *  @param  $limit        Limits the result.
+     */
+    function generateLdif ($dn, $filter= "(objectClass=*)", $scope = 'sub', $limit=0)
+    {
+        // Ensure that limit is numeric if not skip here.
+        if(!empty($limit) && !is_numeric($limit)){
+            trigger_error(sprintf("Invalid parameter for limit '%s', a numeric value is required."), $limit);
+            return(NULL);
+        }
+        $limit = (!$limit)?'':' -z '.$limit;
 
-          /* We are using line numbers 
-             Because there is a # before a : */
-          $tmp1= explode("#",$row);
-          $current_line= $tmp1[0];
-          $row= base64_decode($tmp1[1]);
+        // Check scope values
+        $scope = trim($scope);
+        if(!empty($scope) && !in_array($scope, array('base', 'one', 'sub', 'children'))){
+            trigger_error(sprintf("Invalid parameter for scope '%s', please use 'base', 'one', 'sub' or 'children'."), $scope);
+            return(NULL);
         }
+        $scope = (!empty($scope))?' -s '.$scope: '';
 
-        /* Split the line into  attribute  and value */
-        $attr   = explode(":", $row,2);
-        $attr[0]= trim($attr[0]);  /* attribute */
-        $attr[1]= $attr[1];  /* value */
+        // First check if we are able to call 'ldapsearch' on the command line.
+        $check = shell_exec('which ldapsearch');
+        if(empty($check)){
+            $this->error = sprintf(_("Command line programm %s is missing!"), bold('ldapsearch'));
+            return(NULL);
+        }
 
-        /* Check :: was used to indicate base64_encoded strings */
-        if($attr[1][0] == ":"){
-          $attr[1]=trim(preg_replace("/^:/","",$attr[1]));
-          $attr[1]=base64_decode($attr[1]);
+        // Prepare parameters to be valid for shell execution
+        $dn = escapeshellarg($dn);
+        $pwd = $this->bindpw;
+        $host = escapeshellarg($this->hostname);
+        $admin = escapeshellarg($this->binddn);
+        $filter = escapeshellarg($filter);
+        $cmd = "ldapsearch -x -LLLL -D {$admin} {$filter} {$limit} {$scope} -H {$host} -b {$dn} -W ";
+
+        // Create list of process pipes  
+        $descriptorspec = array(
+                0 => array("pipe", "r"),  // stdin
+                1 => array("pipe", "w"),  // stdout
+                2 => array("pipe", "w")); // stderr
+
+        // Try to open the process 
+        $process = proc_open($cmd, $descriptorspec, $pipes);
+        if (is_resource($process)) {
+
+            // Write the password to stdin
+            fwrite($pipes[0], $pwd);
+            fclose($pipes[0]);
+
+            // Get results from stdout and stderr
+            $res = stream_get_contents($pipes[1]);
+            $err = stream_get_contents($pipes[2]);
+            fclose($pipes[1]);
+
+            // Close the process and check its return value
+            if(proc_close($process) != 0){
+                $this->error = $err;
+                return(NULL);
+            }
         }
+        return($res);
+    }
 
-        $attr[1] = trim($attr[1]);
 
-        /* Check for attributes that are used more than once */
-        if(!isset($data[$attr[0]])) {
-          $data[$attr[0]]=$attr[1];
-        } else {
-          $tmp = $data[$attr[0]];
-
-          if(!is_array($tmp)) {
-            $new[0]=$tmp;
-            $new[1]=$attr[1];
-            $datas[$attr[0]]['count']=1;             
-            $data[$attr[0]]=$new;
-          } else {
-            $cnt = $datas[$attr[0]]['count'];           
-            $cnt ++;
-            $data[$attr[0]][$cnt]=$attr[1];
-            $datas[$attr[0]]['count'] = $cnt;
-          }
-        }
-      }
-    }
+    function gen_xls ($srp, $dn, $filter= "(objectClass=*)", $attributes= array('*'), $recursive= TRUE,$r_array=0)
+    {
+        $display= array();
+
+        $this->cd($dn);
+        $this->search($srp, "$filter");
+
+        $i=0;
+        while ($attrs= $this->fetch($srp)){
+            $j=0;
 
-    /* If dn is an index of data, we should try to insert the data */
-    if(isset($data['dn'])) {
-
-      /* Fix dn */
-      $tmp = gosa_ldap_explode_dn($data['dn']);
-      unset($tmp['count']);
-      $newdn ="";
-      foreach($tmp as $tm){
-        $newdn.= trim($tm).",";
-      }
-      $newdn = preg_replace("/,$/","",$newdn);
-      $data['dn'] = $newdn;
-   
-      /* Creating Entry */
-      $this->cd($data['dn']);
-
-      /* Delete existing entry */
-      if($delete){
-        $this->rmdir_recursive($srp, $data['dn']);
-      }
-     
-      /* Create missing trees */
-      $this->cd ($this->basedn);
-      $this->cd($config->current['BASE']);
-      $this->create_missing_trees($srp, preg_replace("/^[^,]+,/","",$data['dn']));
-      $this->cd($data['dn']);
-
-      $dn = $data['dn'];
-      unset($data['dn']);
-      
-      if(!$modify){
-
-        $this->cat($srp, $dn);
-        if($this->count($srp)){
-        
-          /* The destination entry exists, overwrite it with the new entry */
-          $attrs = $this->fetch($srp);
-          foreach($attrs as $name => $value ){
-            if(!is_numeric($name)){
-              if(in_array($name,array("dn","count"))) continue;
-              if(!isset($data[$name])){
-                $data[$name] = array();
-              }
+            foreach ($attributes as $at){
+                $display[$i][$j]= $this->get_attribute($attrs['dn'], $at,$r_array);
+                $j++;
             }
-          }
-          $ret = $this->modify($data);
-    
-        }else{
-    
-          /* The destination entry doesn't exists, create it */
-          $ret = $this->add($data);
+
+            $i++;
         }
 
-      } else {
-        
-        /* Keep all vars that aren't touched by this ldif */
-        $ret = $this->modify($data);
-      }
+        return ($display);
     }
 
-    if (!$this->success()){
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($this->get_error(), $dn, "", get_class()));
+
+    function dn_exists($dn)
+    {
+        return @ldap_list($this->cid, LDAP::fix($dn), "(objectClass=*)", array("objectClass"));
     }
 
-    return($ret);
-  }
 
-  
-  function importcsv($str)
-  {
-    $lines = preg_split("/\n/",$str);
-    foreach($lines as $line)
+
+    /*  This funktion imports ldifs 
+
+        If DeleteOldEntries is true, the destination entry will be deleted first. 
+        If JustModify is true the destination entry will only be touched by the attributes specified in the ldif.
+        if JustMofify id false the destination dn will be overwritten by the new ldif. 
+     */
+
+    function import_complete_ldif($srp, $str_attr,$error,$JustModify,$DeleteOldEntries)
     {
-      /* continue if theres a comment */
-      if(substr(trim($line),0,1)=="#"){
-        continue;
-      }
-
-      $line= str_replace ("\t\t","\t",$line);
-      $line= str_replace ("\t"  ,"," ,$line);
-      echo $line;
-
-      $cells = explode(",",$line )  ;
-      $linet= str_replace ("\t\t",",",$line);
-      $cells = preg_split("/\t/",$line);
-      $count = count($cells);  
-    }
+        if($this->reconnect) $this->connect();
+
+        /* First we have to split the string into empty lines.
+           An empty line indicates an new Entry */
+        $entries = preg_split("/\n/",$str_attr);
+
+        $data = "";
+        $cnt = 0; 
+        $current_line = 0;
+
+        /* FIX ldif */
+        $last = "";
+        $tmp  = "";
+        $i = 0;
+        foreach($entries as $entry){
+            if(preg_match("/^ /",$entry)){
+                $tmp[$i] .= trim($entry);
+            }else{
+                $i ++;
+                $tmp[$i] = trim($entry);
+            }
+        }
 
-  }
-  
-  function get_objectclasses( $force_reload = FALSE)
-  {
-    $objectclasses = array();
-    global $config;
-
-    /* Only read schema if it is allowed */
-    if(isset($config) && preg_match("/config/i",get_class($config))){
-      if ($config->get_cfg_value("schemaCheck") != "true"){
-        return($objectclasses);
-      } 
-    }
+        /* Every single line ... */
+        foreach($tmp as $entry) {
+            $current_line ++;
+
+            /* Removing Spaces to .. 
+               .. test if a new entry begins */
+            $tmp  = str_replace(" ","",$data );
+
+            /* .. prevent empty lines in an entry */
+            $tmp2 = str_replace(" ","",$entry);
+
+            /* If the Block ends (Empty Line) */
+            if((empty($entry))&&(!empty($tmp))) {
+                /* Add collected lines as a complete block */
+                $all[$cnt] = $data;
+                $cnt ++;
+                $data ="";
+            } else {
+
+                /* Append lines ... */
+                if(!empty($tmp2)) {
+                    /* check if we need base64_decode for this line */
+                    if(strstr($tmp2, "::") !== false)
+                    {
+                        $encoded = explode("::",$entry);
+                        $attr  = trim($encoded[0]);
+                        $value = base64_decode(trim($encoded[1]));
+                        /* Add linenumber */
+                        $data .= $current_line."#".base64_encode($attr.":".$value)."\n";
+                    }
+                    else
+                    {
+                        /* Add Linenumber */ 
+                        $data .= $current_line."#".base64_encode($entry)."\n";
+                    }
+                }
+            }
+        }
 
-    /* Return the cached results. */
-    if(class_available('session') && session::global_is_set("LDAP_CACHE::get_objectclasses") && !$force_reload){
-      $objectclasses = session::global_get("LDAP_CACHE::get_objectclasses");
-      return($objectclasses);
+        /* The Data we collected is not in the array all[];
+           For example the Data is stored like this..
+
+           all[0] = "1#dn : .... \n 
+           2#ObjectType: person \n ...."
+
+           Now we check every insertblock and try to insert */
+        foreach ( $all as $single) {
+            $lineone = preg_split("/\n/",$single);  
+            $ndn = explode("#", $lineone[0]);
+            $line = base64_decode($ndn[1]);
+
+            $dnn = explode (":",$line,2);
+            $current_line = $ndn[0];
+            $dn    = $dnn[0];
+            $value = $dnn[1];
+
+            /* Every block must begin with a dn */
+            if($dn != "dn") {
+                $error= sprintf(_("Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"), bold($line), bold($current_line));
+                return -2;  
+            }
+
+            /* Should we use Modify instead of Add */
+            $usemodify= false;
+
+            /* Delete before insert */
+            $usermdir= false;
+
+            /* The dn address already exists, Don't delete destination entry, overwrite it */
+            if (($this->dn_exists($value))&&((!$JustModify)&&(!$DeleteOldEntries))) {
+
+                $usermdir = $usemodify = false;
+
+                /* Delete old entry first, then add new */
+            } elseif(($this->dn_exists($value))&&($DeleteOldEntries)){
+
+                /* Delete first, then add */
+                $usermdir = true;        
+
+            } elseif(($this->dn_exists($value))&&($JustModify)) {
+
+                /* Modify instead of Add */
+                $usemodify = true;
+            }
+
+            /* If we can't Import, return with a file error */
+            if(!$this->import_single_entry($srp, $single,$usemodify,$usermdir) ) {
+                $error= sprintf(_("Error while importing DN %s: please check LDIF from line %s on!"), bold($line),
+                        $current_line);
+                return UNKNOWN_TOKEN_IN_LDIF_FILE;      }
+        }
+
+        return (INSERT_OK);
     }
-	
-	  # Get base to look for schema 
-	  $sr = @ldap_read ($this->cid, "", "objectClass=*", array("subschemaSubentry"));
-	  $attr = @ldap_get_entries($this->cid,$sr);
-	  if (!isset($attr[0]['subschemasubentry'][0])){
-	    return array();
-	  }
-	
-	  /* Get list of objectclasses and fill array */
-	  $nb= $attr[0]['subschemasubentry'][0];
-	  $objectclasses= array();
-	  $sr= ldap_read ($this->cid, $nb, "objectClass=*", array("objectclasses"));
-	  $attrs= ldap_get_entries($this->cid,$sr);
-	  if (!isset($attrs[0])){
-	    return array();
-	  }
-	  foreach ($attrs[0]['objectclasses'] as $val){
-      if (preg_match('/^[0-9]+$/', $val)){
-        continue;
-      }
-      $name= "OID";
-      $pattern= explode(' ', $val);
-      $ocname= preg_replace("/^.* NAME\s+\(*\s*'([^']+)'\s*\)*.*$/", '\\1', $val);
-      $objectclasses[$ocname]= array();
-
-      foreach($pattern as $chunk){
-        switch($chunk){
-
-          case '(':
-                    $value= "";
-                    break;
 
-          case ')': if ($name != ""){
-                      $v = $this->value2container($value);
-                      if(in_array($name, array('MUST', 'MAY')) && !is_array($v)){
-                        $v = array($v);
-                      }
-                      $objectclasses[$ocname][$name]= $v;
+
+    /* Imports a single entry 
+       If $delete is true;  The old entry will be deleted if it exists.
+       if $modify is true;  All variables that are not touched by the new ldif will be kept.
+       if $modify is false; The new ldif overwrites the old entry, and all untouched attributes get lost.
+     */
+    function import_single_entry($srp, $str_attr,$modify,$delete)
+    {
+        global $config;
+
+        if(!$config){
+            trigger_error("Can't import ldif, can't read config object.");
+        }
+
+
+        if($this->reconnect) $this->connect();
+
+        $ret = false;
+        $rows= preg_split("/\n/",$str_attr);
+        $data= false;
+
+        foreach($rows as $row) {
+
+            /* Check if we use Linenumbers (when import_complete_ldif is called we use
+               Linenumbers) Linenumbers are use like this 123#attribute : value */
+            if(!empty($row)) {
+                if(strpos($row,"#")!=FALSE) {
+
+                    /* We are using line numbers 
+                       Because there is a # before a : */
+                    $tmp1= explode("#",$row);
+                    $current_line= $tmp1[0];
+                    $row= base64_decode($tmp1[1]);
+                }
+
+                /* Split the line into  attribute  and value */
+                $attr   = explode(":", $row,2);
+                $attr[0]= trim($attr[0]);  /* attribute */
+                $attr[1]= $attr[1];  /* value */
+
+                /* Check :: was used to indicate base64_encoded strings */
+                if($attr[1][0] == ":"){
+                    $attr[1]=trim(preg_replace("/^:/","",$attr[1]));
+                    $attr[1]=base64_decode($attr[1]);
+                }
+
+                $attr[1] = trim($attr[1]);
+
+                /* Check for attributes that are used more than once */
+                if(!isset($data[$attr[0]])) {
+                    $data[$attr[0]]=$attr[1];
+                } else {
+                    $tmp = $data[$attr[0]];
+
+                    if(!is_array($tmp)) {
+                        $new[0]=$tmp;
+                        $new[1]=$attr[1];
+                        $datas[$attr[0]]['count']=1;             
+                        $data[$attr[0]]=$new;
+                    } else {
+                        $cnt = $datas[$attr[0]]['count'];           
+                        $cnt ++;
+                        $data[$attr[0]][$cnt]=$attr[1];
+                        $datas[$attr[0]]['count'] = $cnt;
                     }
-                    $name= "";
-                    $value= "";
-                    break;
+                }
+            }
+        }
+
+        /* If dn is an index of data, we should try to insert the data */
+        if(isset($data['dn'])) {
+
+            /* Fix dn */
+            $tmp = gosa_ldap_explode_dn($data['dn']);
+            unset($tmp['count']);
+            $newdn ="";
+            foreach($tmp as $tm){
+                $newdn.= trim($tm).",";
+            }
+            $newdn = preg_replace("/,$/","",$newdn);
+            $data['dn'] = $newdn;
+
+            /* Creating Entry */
+            $this->cd($data['dn']);
 
-          case 'NAME':
-          case 'DESC':
-          case 'SUP':
-          case 'STRUCTURAL':
-          case 'ABSTRACT':
-          case 'AUXILIARY':
-          case 'MUST':
-          case 'MAY':
-                    if ($name != ""){
-                      $v = $this->value2container($value);
-                      if(in_array($name, array('MUST', 'MAY')) && !is_array($v)){
-                        $v = array($v);
-                      }
-                      $objectclasses[$ocname][$name]= $v;
+            /* Delete existing entry */
+            if($delete){
+                $this->rmdir_recursive($srp, $data['dn']);
+            }
+
+            /* Create missing trees */
+            $this->cd ($this->basedn);
+            $this->cd($config->current['BASE']);
+            $this->create_missing_trees($srp, preg_replace("/^[^,]+,/","",$data['dn']));
+            $this->cd($data['dn']);
+
+            $dn = $data['dn'];
+            unset($data['dn']);
+
+            if(!$modify){
+
+                $this->cat($srp, $dn);
+                if($this->count($srp)){
+
+                    /* The destination entry exists, overwrite it with the new entry */
+                    $attrs = $this->fetch($srp);
+                    foreach($attrs as $name => $value ){
+                        if(!is_numeric($name)){
+                            if(in_array($name,array("dn","count"))) continue;
+                            if(!isset($data[$name])){
+                                $data[$name] = array();
+                            }
+                        }
                     }
-                    $name= $chunk;
-                    $value= "";
-                    break;
+                    $ret = $this->modify($data);
+
+                }else{
+
+                    /* The destination entry doesn't exists, create it */
+                    $ret = $this->add($data);
+                }
 
-          default:  $value.= $chunk." ";
+            } else {
+
+                /* Keep all vars that aren't touched by this ldif */
+                $ret = $this->modify($data);
+            }
+        }
+
+        if (!$this->success()){
+            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($this->get_error(), $dn, "", get_class()));
         }
-      }
 
-	  }
-    if(class_available("session")){
-      session::global_set("LDAP_CACHE::get_objectclasses",$objectclasses);
+        return($ret);
     }
 
-	  return $objectclasses;
-  }
 
+    function importcsv($str)
+    {
+        $lines = preg_split("/\n/",$str);
+        foreach($lines as $line)
+        {
+            /* continue if theres a comment */
+            if(substr(trim($line),0,1)=="#"){
+                continue;
+            }
 
-  function value2container($value)
-  {
-    /* Set emtpy values to "true" only */
-    if (preg_match('/^\s*$/', $value)){
-      return true;
-    }
+            $line= str_replace ("\t\t","\t",$line);
+            $line= str_replace ("\t"  ,"," ,$line);
+            echo $line;
 
-    /* Remove ' and " if needed */
-    $value= preg_replace('/^[\'"]/', '', $value);
-    $value= preg_replace('/[\'"] *$/', '', $value);
+            $cells = explode(",",$line )  ;
+            $linet= str_replace ("\t\t",",",$line);
+            $cells = preg_split("/\t/",$line);
+            $count = count($cells);  
+        }
 
-    /* Convert to array if $ is inside... */
-    if (preg_match('/\$/', $value)){
-      $container= preg_split('/\s*\$\s*/', $value);
-    } else {
-      $container= chop($value);
     }
 
-    return ($container);
-  }
+    function get_objectclasses( $force_reload = FALSE)
+    {
+        $objectclasses = array();
+        global $config;
 
+        /* Return the cached results. */
+        if(class_available('session') && session::global_is_set("LDAP_CACHE::get_objectclasses") && !$force_reload){
+            $objectclasses = session::global_get("LDAP_CACHE::get_objectclasses");
+            return($objectclasses);
+        }
 
-  function log($string)
-  {
-    if (session::global_is_set('config')){
-      $cfg = session::global_get('config');
-      if (isset($cfg->current['LDAPSTATS']) && preg_match('/true/i', $cfg->current['LDAPSTATS'])){
-        syslog (LOG_INFO, $string);
-      }
-    }
-  }
+# Get base to look for schema 
+        $sr = @ldap_read ($this->cid, "", "objectClass=*", array("subschemaSubentry"));
+        $attr = @ldap_get_entries($this->cid,$sr);
+        if (!isset($attr[0]['subschemasubentry'][0])){
+            return array();
+        }
 
-  /* added by Guido Serra aka Zeph <zeph at purotesto.it> */
-  function getCn($dn){
-    $simple= explode(",", $dn);
+        /* Get list of objectclasses and fill array */
+        $nb= $attr[0]['subschemasubentry'][0];
+        $objectclasses= array();
+        $sr= ldap_read ($this->cid, $nb, "objectClass=*", array("objectclasses"));
+        $attrs= ldap_get_entries($this->cid,$sr);
+        if (!isset($attrs[0])){
+            return array();
+        }
+        foreach ($attrs[0]['objectclasses'] as $val){
+            if (preg_match('/^[0-9]+$/', $val)){
+                continue;
+            }
+            $name= "OID";
+            $pattern= explode(' ', $val);
+            $ocname= preg_replace("/^.* NAME\s+\(*\s*'([^']+)'\s*\)*.*$/", '\\1', $val);
+            $objectclasses[$ocname]= array();
+
+            foreach($pattern as $chunk){
+                switch($chunk){
+
+                    case '(':
+                        $value= "";
+                        break;
+
+                    case ')': if ($name != ""){
+                                  $v = $this->value2container($value);
+                                  if(in_array($name, array('MUST', 'MAY')) && !is_array($v)){
+                                      $v = array($v);
+                                  }
+                                  $objectclasses[$ocname][$name]= $v;
+                              }
+                              $name= "";
+                              $value= "";
+                              break;
+
+                    case 'NAME':
+                    case 'DESC':
+                    case 'SUP':
+                    case 'STRUCTURAL':
+                    case 'ABSTRACT':
+                    case 'AUXILIARY':
+                    case 'MUST':
+                    case 'MAY':
+                              if ($name != ""){
+                                  $v = $this->value2container($value);
+                                  if(in_array($name, array('MUST', 'MAY')) && !is_array($v)){
+                                      $v = array($v);
+                                  }
+                                  $objectclasses[$ocname][$name]= $v;
+                              }
+                              $name= $chunk;
+                              $value= "";
+                              break;
+
+                    default:  $value.= $chunk." ";
+                }
+            }
 
-    foreach($simple as $piece) {
-      $partial= explode("=", $piece);
+        }
+        if(class_available("session")){
+            session::global_set("LDAP_CACHE::get_objectclasses",$objectclasses);
+        }
 
-      if($partial[0] == "cn"){
-        return $partial[1];
-      }
+        return $objectclasses;
     }
-  }
 
 
-  function get_naming_contexts($server, $admin= "", $password= "")
-  {
-    /* Build LDAP connection */
-    $ds= ldap_connect ($server);
-    if (!$ds) {
-      die ("Can't bind to LDAP. No check possible!");
-    }
-    ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
-    $r= ldap_bind ($ds, $admin, $password);
+    function value2container($value)
+    {
+        /* Set emtpy values to "true" only */
+        if (preg_match('/^\s*$/', $value)){
+            return true;
+        }
 
-    /* Get base to look for naming contexts */
-    $sr  = @ldap_read ($ds, "", "objectClass=*", array("+"));
-    $attr= @ldap_get_entries($ds,$sr);
+        /* Remove ' and " if needed */
+        $value= preg_replace('/^[\'"]/', '', $value);
+        $value= preg_replace('/[\'"] *$/', '', $value);
+
+        /* Convert to array if $ is inside... */
+        if (preg_match('/\$/', $value)){
+            $container= preg_split('/\s*\$\s*/', $value);
+        } else {
+            $container= chop($value);
+        }
 
-    return ($attr[0]['namingcontexts']);
-  }
+        return ($container);
+    }
 
 
-  function get_root_dse($server, $admin= "", $password= "")
-  {
-    /* Build LDAP connection */
-    $ds= ldap_connect ($server);
-    if (!$ds) {
-      die ("Can't bind to LDAP. No check possible!");
+    function log($string)
+    {
+        if (session::global_is_set('config')){
+            $cfg = session::global_get('config');
+            if (isset($cfg->current['LDAPSTATS']) && preg_match('/true/i', $cfg->current['LDAPSTATS'])){
+                syslog (LOG_INFO, $string);
+            }
+        }
     }
-    ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
-    $r= ldap_bind ($ds, $admin, $password);
-
-    /* Get base to look for naming contexts */
-    $sr  = @ldap_read ($ds, "", "objectClass=*", array("+"));
-    $attr= @ldap_get_entries($ds,$sr);
-   
-    /* Return empty array, if nothing was set */
-    if (!isset($attr[0])){
-      return array();
+
+    /* added by Guido Serra aka Zeph <zeph at purotesto.it> */
+    function getCn($dn){
+        $simple= explode(",", $dn);
+
+        foreach($simple as $piece) {
+            $partial= explode("=", $piece);
+
+            if($partial[0] == "cn"){
+                return $partial[1];
+            }
+        }
     }
 
-    /* Rework array... */
-    $result= array();
-    for ($i= 0; $i<$attr[0]['count']; $i++){
-      $result[$attr[0][$i]]= $attr[0][$attr[0][$i]];
-      unset($result[$attr[0][$i]]['count']);
+
+    function get_naming_contexts($server, $admin= "", $password= "")
+    {
+        /* Build LDAP connection */
+        $ds= ldap_connect ($server);
+        if (!$ds) {
+            die ("Can't bind to LDAP. No check possible!");
+        }
+        ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
+        $r= ldap_bind ($ds, $admin, $password);
+
+        /* Get base to look for naming contexts */
+        $sr  = @ldap_read ($ds, "", "objectClass=*", array("+"));
+        $attr= @ldap_get_entries($ds,$sr);
+
+        return ($attr[0]['namingcontexts']);
     }
 
-    return ($result);
-  }
+
+    function get_root_dse($server, $admin= "", $password= "")
+    {
+        /* Build LDAP connection */
+        $ds= ldap_connect ($server);
+        if (!$ds) {
+            die ("Can't bind to LDAP. No check possible!");
+        }
+        ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
+        $r= ldap_bind ($ds, $admin, $password);
+
+        /* Get base to look for naming contexts */
+        $sr  = @ldap_read ($ds, "", "objectClass=*", array("+"));
+        $attr= @ldap_get_entries($ds,$sr);
+
+        /* Return empty array, if nothing was set */
+        if (!isset($attr[0])){
+            return array();
+        }
+
+        /* Rework array... */
+        $result= array();
+        for ($i= 0; $i<$attr[0]['count']; $i++){
+            $result[$attr[0][$i]]= $attr[0][$attr[0][$i]];
+            unset($result[$attr[0][$i]]['count']);
+        }
+
+        return ($result);
+    }
 
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/include/class_listing.inc b/gosa-core/include/class_listing.inc
index 7ccf144..2301705 100644
--- a/gosa-core/include/class_listing.inc
+++ b/gosa-core/include/class_listing.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_listing.inc 16324 2010-03-08 08:07:31Z hickert $$
+ * ID: $$Id: class_listing.inc 20054 2010-10-15 08:56:01Z hickert $$
  *
  * 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
@@ -22,947 +22,1014 @@
 
 class listing {
 
-  var $xmlData;
-  var $entries;
-  var $departments= array();
-  var $departmentBrowser= false;
-  var $departmentRootVisible= false;
-  var $multiSelect= false;
-  var $template;
-  var $headline;
-  var $base;
-  var $sortDirection= null;
-  var $sortColumn= null;
-  var $sortAttribute;
-  var $sortType;
-  var $numColumns;
-  var $baseMode= false;
-  var $bases= array();
-  var $header= array();
-  var $colprops= array();
-  var $filters= array();
-  var $filter= null;
-  var $pid;
-  var $objectTypes= array();
-  var $objectTypeCount= array();
-  var $objectDnMapping= array();
-  var $copyPasteHandler= null;
-  var $snapshotHandler= null;
-  var $exporter= array();
-  var $exportColumns= array();
-  var $useSpan= false;
-  var $height= 0;
-  var $scrollPosition= 0;
-  var $baseSelector;
-
-
-  function listing($filename)
-  {
-    global $config;
-    global $class_mapping;
+    var $xmlData;
+    var $entries;
+    var $departments= array();
+    var $departmentBrowser= false;
+    var $departmentRootVisible= false;
+    var $multiSelect= false;
+    var $singleSelect= false;
+    var $template;
+    var $headline;
+    var $base;
+    var $sortDirection= null;
+    var $sortColumn= null;
+    var $sortAttribute;
+    var $sortType;
+    var $numColumns;
+    var $baseMode= false;
+    var $bases= array();
+    var $header= array();
+    var $colprops= array();
+    var $filters= array();
+    var $filter= null;
+    var $pid;
+    var $objectTypes= array();
+    var $objectTypeCount= array();
+    var $objectDnMapping= array();
+    var $copyPasteHandler= null;
+    var $snapshotHandler= null;
+    var $exporter= array();
+    var $exportColumns= array();
+    var $useSpan= false;
+    var $height= 0;
+    var $scrollPosition= 0;
+    var $baseSelector;
+
+
+    function listing($source, $isString = FALSE)
+    {
+        global $config;
+        global $class_mapping;
+
+        // Initialize pid
+        $this->pid= preg_replace("/[^0-9]/", "", microtime(TRUE));
+
+        if($isString){
+            if(!$this->loadString($source)){
+                die("Cannot parse $source!");
+            }
+        }else{
+            if (!$this->loadFile($source)) {
+                die("Cannot parse $source!");
+            }
+        }
 
-    // Initialize pid
-    $this->pid= preg_replace("/[^0-9]/", "", microtime(TRUE));
+        // Set base for filter
+        if ($this->baseMode) {
+            $this->base= session::global_get("CurrentMainBase");
+            if ($this->base == null) {
+                $this->base= $config->current['BASE'];
+            }
+            $this->refreshBasesList();
+        } else {
+            $this->base= $config->current['BASE'];
+        }
 
-    if (!$this->load($filename)) {
-      die("Cannot parse $filename!");
-    }
+        // Move footer information
+        $this->showFooter= ($config->get_cfg_value("core","listSummary") == "true");
+
+        // Register build in filters
+        $this->registerElementFilter("objectType", "listing::filterObjectType");
+        $this->registerElementFilter("departmentLink", "listing::filterDepartmentLink");
+        $this->registerElementFilter("link", "listing::filterLink");
+        $this->registerElementFilter("actions", "listing::filterActions");
+
+        // Load exporters
+        foreach($class_mapping as $class => $dummy) {
+            if (preg_match('/Exporter$/', $class)) {
+                $info= call_user_func(array($class, "getInfo"));
+                if ($info != null) {
+                    $this->exporter= array_merge($this->exporter, $info);
+                }
+            }
+        }
 
-    // Set base for filter
-    if ($this->baseMode) {
-      $this->base= session::global_get("CurrentMainBase");
-      if ($this->base == null) {
-        $this->base= $config->current['BASE'];
-      }
-      $this->refreshBasesList();
-    } else {
-      $this->base= $config->current['BASE'];
+        // Instanciate base selector
+        $this->baseSelector= new baseSelector($this->bases, $this->base);
     }
 
-    // Move footer information
-    $this->showFooter= ($config->get_cfg_value("listSummary") == "true");
 
-    // Register build in filters
-    $this->registerElementFilter("objectType", "listing::filterObjectType");
-    $this->registerElementFilter("departmentLink", "listing::filterDepartmentLink");
-    $this->registerElementFilter("link", "listing::filterLink");
-    $this->registerElementFilter("actions", "listing::filterActions");
+    function setCopyPasteHandler($handler)
+    {
+        $this->copyPasteHandler= &$handler;
+    }
 
-    // Load exporters
-    foreach($class_mapping as $class => $dummy) {
-      if (preg_match('/Exporter$/', $class)) {
-        $info= call_user_func(array($class, "getInfo"));
-        if ($info != null) {
-          $this->exporter= array_merge($this->exporter, $info);
-        }
-      }
+
+    function setHeight($height)
+    {
+        $this->height= $height;
     }
 
-    // Instanciate base selector
-    $this->baseSelector= new baseSelector($this->bases, $this->base);
-  }
 
+    function setSnapshotHandler($handler)
+    {
+        $this->snapshotHandler= &$handler;
+    }
 
-  function setCopyPasteHandler($handler)
-  {
-    $this->copyPasteHandler= &$handler;
-  }
 
+    function getFilter()
+    { 
+        return($this->filter);
+    }  
 
-  function setHeight($height)
-  {
-    $this->height= $height;
-  }
 
+    function setFilter($filter)
+    {
+        $this->filter= &$filter;
+        if ($this->departmentBrowser){
+            $this->departments= $this->getDepartments();
+        }
+        $this->filter->setBase($this->base);
+    }
 
-  function setSnapshotHandler($handler)
-  {
-    $this->snapshotHandler= &$handler;
-  }
 
+    function registerElementFilter($name, $call)
+    {
+        if (!isset($this->filters[$name])) {
+            $this->filters[$name]= $call;
+            return true;
+        }
 
-  function setFilter($filter)
-  {
-    $this->filter= &$filter;
-    $filter->headpage = &$this;
-    if ($this->departmentBrowser){
-      $this->departments= $this->getDepartments();
+        return false;
     }
-    $this->filter->setBase($this->base);
-  }
 
-
-  function registerElementFilter($name, $call)
-  {
-    if (!isset($this->filters[$name])) {
-      $this->filters[$name]= $call;
-      return true;
+    function loadFile($filename)
+    {
+        return($this->loadString(file_get_contents($filename)));
     }
 
-    return false;
-  }
+    function loadString($contents)
+    {
+        $this->xmlData= xml::xml2array($contents, 1);
 
+        if (!isset($this->xmlData['list'])) {
+            return false;
+        }
 
-  function load($filename)
-  {
-    $contents = file_get_contents($filename);
-    $this->xmlData= xml::xml2array($contents, 1);
+        $this->xmlData= $this->xmlData["list"];
 
-    if (!isset($this->xmlData['list'])) {
-      return false;
-    }
+        // Load some definition values
+        foreach (array("departmentBrowser", "departmentRootVisible", "multiSelect","singleSelect", "baseMode") as $token) {
+            if (isset($this->xmlData['definition'][$token]) &&
+                    $this->xmlData['definition'][$token] == "true"){
+                $this->$token= true;
+            }
+        }
 
-    $this->xmlData= $this->xmlData["list"];
+        // Fill objectTypes from departments and xml definition
+        $types = departmentManagement::get_support_departments();
+        foreach ($types as $class => $data) {
+            $this->objectTypes[$data['OC']]= array("label" => $data['TITLE'],
+                    "objectClass" => $data['OC'],
+                    "image" => $data['IMG']);
+        }
+        $this->categories= array();
+        if (isset($this->xmlData['definition']['objectType'])) {
+            if(isset($this->xmlData['definition']['objectType']['label'])) {
+                $this->xmlData['definition']['objectType']= array($this->xmlData['definition']['objectType']);
+            }
+            foreach ($this->xmlData['definition']['objectType'] as $index => $otype) {
+                $tmp = $this->xmlData['definition']['objectType'][$index];
+                $this->objectTypes[$tmp['objectClass']]= $tmp;
+                if (isset($this->xmlData['definition']['objectType'][$index]['category'])){
+                    $this->categories[]= $otype['category'];
+                }
+            }
+        }
+        $this->objectTypes = array_values($this->objectTypes);
 
-    // Load some definition values
-    foreach (array("departmentBrowser", "departmentRootVisible", "multiSelect", "baseMode") as $token) {
-      if (isset($this->xmlData['definition'][$token]) &&
-          $this->xmlData['definition'][$token] == "true"){
-        $this->$token= true;
-      }
-    }
+        // Parse layout per column
+        $this->colprops= $this->parseLayout($this->xmlData['table']['layout']);
 
-    // Fill objectTypes from departments and xml definition
-    $types = departmentManagement::get_support_departments();
-    foreach ($types as $class => $data) {
-      $this->objectTypes[$data['OC']]= array("label" => $data['TITLE'],
-                                  "objectClass" => $data['OC'],
-                                  "image" => $data['IMG']);
-    }
-    $this->categories= array();
-    if (isset($this->xmlData['definition']['objectType'])) {
-      if(isset($this->xmlData['definition']['objectType']['label'])) {
-        $this->xmlData['definition']['objectType']= array($this->xmlData['definition']['objectType']);
-      }
-      foreach ($this->xmlData['definition']['objectType'] as $index => $otype) {
-        $tmp = $this->xmlData['definition']['objectType'][$index];
-        $this->objectTypes[$tmp['objectClass']]= $tmp;
-        if (isset($this->xmlData['definition']['objectType'][$index]['category'])){
-          $this->categories[]= $otype['category'];
-        }
-      }
-    }
-    $this->objectTypes = array_values($this->objectTypes);
+        // Prepare table headers
+        $this->renderHeader();
 
-    // Parse layout per column
-    $this->colprops= $this->parseLayout($this->xmlData['table']['layout']);
+        // Assign headline/Categories
+        $this->headline= _($this->xmlData['definition']['label']);
+        if (!is_array($this->categories)){
+            $this->categories= array($this->categories);
+        }
 
-    // Prepare table headers
-    $this->renderHeader();
+        // Evaluate columns to be exported
+        if (isset($this->xmlData['table']['column'])){
+            foreach ($this->xmlData['table']['column'] as $index => $config) {
+                if (isset($config['export']) && $config['export'] == "true"){
+                    $this->exportColumns[]= $index;
+                }
+            }
+        }
 
-    // Assign headline/Categories
-    $this->headline= _($this->xmlData['definition']['label']);
-    if (!is_array($this->categories)){
-      $this->categories= array($this->categories);
+        return true;  
     }
 
-    // Evaluate columns to be exported
-    if (isset($this->xmlData['table']['column'])){
-      foreach ($this->xmlData['table']['column'] as $index => $config) {
-        if (isset($config['export']) && $config['export'] == "true"){
-          $this->exportColumns[]= $index;
-        }
-      }
-    }
 
-    return true;  
-  }
-
-
-  function renderHeader()
-  {
-    $this->header= array();
-    $this->plainHeader= array();
-
-    // Initialize sort?
-    $sortInit= false;
-    if (!$this->sortDirection) {
-      $this->sortColumn= 0;
-      if (isset($this->xmlData['definition']['defaultSortColumn'])){
-        $this->sortColumn= $this->xmlData['definition']['defaultSortColumn'];
-      } else {
-        $this->sortAttribute= "";
-      }
-      $this->sortDirection= array();
-      $sortInit= true;
-    }
+    function renderHeader()
+    {
+        $this->header= array();
+        $this->plainHeader= array();
 
-    if (isset($this->xmlData['table']['column'])){
-      foreach ($this->xmlData['table']['column'] as $index => $config) {
-        // Initialize everything to one direction
-        if ($sortInit) {
-          $this->sortDirection[$index]= false;
-        }
-
-        $sorter= "";
-        if ($index == $this->sortColumn && isset($config['sortAttribute']) &&
-            isset($config['sortType'])) {
-          $this->sortAttribute= $config['sortAttribute'];
-          $this->sortType= $config['sortType'];
-          $sorter= " <img border='0' title='".($this->sortDirection[$index]?_("Up"):_("Down"))."' src='images/lists/sort-".($this->sortDirection[$index]?"up":"down").".png' align='top'>";
-        }
-        $sortable= (isset($config['sortAttribute']));
-
-        $link= "href='?plug=".$_GET['plug']."&PID=".$this->pid."&act=SORT_$index'";
-        if (isset($config['label'])) {
-          if ($sortable) {
-            $this->header[$index]= "<td class='listheader' ".$this->colprops[$index]."><a $link>"._($config['label'])."$sorter</a></td>";
-          } else {
-            $this->header[$index]= "<td class='listheader' ".$this->colprops[$index].">"._($config['label'])."</td>";
-          }
-          $this->plainHeader[]= _($config['label']);
-        } else {
-          if ($sortable) {
-            $this->header[$index]= "<td class='listheader' ".$this->colprops[$index]."><a $link> $sorter</a></td>";
-          } else {
-            $this->header[$index]= "<td class='listheader' ".$this->colprops[$index]."> </td>";
-          }
-          $this->plainHeader[]= "";
-        }
-      }
+        // Initialize sort?
+        $sortInit= false;
+        if (!$this->sortDirection) {
+            $this->sortColumn= 0;
+            if (isset($this->xmlData['definition']['defaultSortColumn'])){
+                $this->sortColumn= $this->xmlData['definition']['defaultSortColumn'];
+            } else {
+                $this->sortAttribute= "";
+            }
+            $this->sortDirection= array();
+            $sortInit= true;
+        }
+
+        if (isset($this->xmlData['table']['column'])){
+            foreach ($this->xmlData['table']['column'] as $index => $config) {
+                // Initialize everything to one direction
+                if ($sortInit) {
+                    $this->sortDirection[$index]= false;
+                }
+
+                $sorter= "";
+                if ($index == $this->sortColumn && isset($config['sortAttribute']) &&
+                        isset($config['sortType'])) {
+                    $this->sortAttribute= $config['sortAttribute'];
+                    $this->sortType= $config['sortType'];
+                    $sorter= " ".image("images/lists/sort-".($this->sortDirection[$index]?"up":"down").".png", null, $this->sortDirection[$index]?_("Sort ascending"):_("Sort descending"), "text-top");
+                }
+                $sortable= (isset($config['sortAttribute']));
+
+                $link= "href='?plug=".$_GET['plug']."&PID=".$this->pid."&act=SORT_$index'";
+                if (isset($config['label'])) {
+                    if ($sortable) {
+                        $this->header[$index]= "<td class='listheader' ".$this->colprops[$index]."><a $link>"._($config['label'])."</a>$sorter</td>";
+                    } else {
+                        $this->header[$index]= "<td class='listheader' ".$this->colprops[$index].">"._($config['label'])."</td>";
+                    }
+                    $this->plainHeader[]= _($config['label']);
+                } else {
+                    if ($sortable) {
+                        $this->header[$index]= "<td class='listheader' ".$this->colprops[$index]."><a $link> </a>$sorter</td>";
+                    } else {
+                        $this->header[$index]= "<td class='listheader' ".$this->colprops[$index]."> </td>";
+                    }
+                    $this->plainHeader[]= "";
+                }
+            }
+        }
     }
-  }
 
 
-  function render()
-  {
-    // Check for exeeded sizelimit
-    if (($message= check_sizelimit()) != ""){
-      return($message);
-    }
+    function render()
+    {
+        // Check for exeeded sizelimit
+        if (($message= check_sizelimit()) != ""){
+            return($message);
+        }
 
-    // Some browsers don't have the ability do do scrollable table bodies, filter them
-    // here.
-    $switch= false;
-    if (preg_match('/(Opera|Konqueror|Safari)/i', $_SERVER['HTTP_USER_AGENT'])){
-      $switch= true;
-    }
+        // Some browsers don't have the ability do do scrollable table bodies, filter them
+        // here.
+        $switch= false;
+        if (preg_match('/(Opera|Konqueror|Safari)/i', $_SERVER['HTTP_USER_AGENT'])){
+            $switch= true;
+        }
 
-    // Initialize list
-    $result= "<input type='hidden' value='$this->pid' name='PID'>\n";
-    $result.= "<input type='hidden' name='position_".$this->pid."' id='position_".$this->pid."'>\n";
-    $height= 450;
-    if ($this->height != 0) {
-      $result.= "<input type='hidden' value='$this->height' id='d_height'>\n";
-      $height= $this->height;
-    }
-    
-    $result.= "<div class='listContainer' id='d_scrollbody' style='border-top:1px solid #B0B0B0;border-right:1px solid #B0B0B0;width:100%;min-height:".($height+25)."px;'>\n";
-    $result.= "<table summary='$this->headline' style='width:100%; table-layout:fixed' cellspacing='0' cellpadding='0' id='t_scrolltable'>\n";
-    $this->numColumns= count($this->colprops) + ($this->multiSelect?1:0);
-
-    // Build list header
-    $result.= "<thead class='fixedListHeader listHeaderFormat'><tr>\n";
-    if ($this->multiSelect) {
-      $width= "24px";
-      if (preg_match('/Konqueror/i', $_SERVER['HTTP_USER_AGENT'])){
-        $width= "28px";
-      }
-      $result.= "<td class='listheader' style='text-align:center;padding:0;width:$width;'><input type='checkbox' id='select_all' name='select_all' title='"._("Select all")."' onClick='toggle_all_(\"listing_selected_[0-9]*$\",\"select_all\");' ></td>\n";
-    }
-    foreach ($this->header as $header) {
-      $result.= $header;
-    }
-    $result.= "</tr></thead>\n";
+        // Initialize list
+        $result= "<input type='hidden' value='$this->pid' name='PID'>\n";
+        $result.= "<input type='hidden' name='position_".$this->pid."' id='position_".$this->pid."'>\n";
+        $height= 450;
+        if ($this->height != 0) {
+            $result.= "<input type='hidden' value='$this->height' id='d_height'>\n";
+            $height= $this->height;
+        }
 
-    // Build list body
-    $result.= "<tbody class='listScrollContent listBodyFormat' id='t_nscrollbody' style='height:".$height."px;'>\n";
+        $result.= "<div class='listContainer' id='d_scrollbody' style='min-height:".($height+25)."px;'>\n";
+        $result.= "<table summary='$this->headline' style='width:100%;table-layout:fixed' cellspacing='0' cellpadding='0' id='t_scrolltable'>\n";
+        $this->numColumns= count($this->colprops) + (($this->multiSelect|$this->singleSelect)?1:0);
 
-    // No results? Just take an empty colspanned row
-    if (count($this->entries) + count($this->departments) == 0) {
-      $result.= "<tr class='rowxp0'><td class='list1nohighlight' colspan='$this->numColumns' style='height:100%;border-right:0px;width:100%;'> </td></tr>";
-    }
+        // Build list header
+        $result.= "<thead class='fixedListHeader listHeaderFormat'><tr>\n";
+        if ($this->multiSelect || $this->singleSelect) {
+            $width= "24px";
+            if (preg_match('/Konqueror/i', $_SERVER['HTTP_USER_AGENT'])){
+                $width= "28px";
+            }
+            $result.= "<td class='listheader' style='text-align:center;padding:0;width:$width;'>";
+            if($this->multiSelect){
+                $result.= "<input type='checkbox' id='select_all' name='select_all' 
+                    title='"._("Select all")."' onClick='toggle_all_(\"listing_selected_[0-9]*$\",\"select_all\");' >";
+            }else{
+                $result.= " ";
+            }
+            $result.="</td>\n";
+        }
+        foreach ($this->header as $header) {
+            $result.= $header;
+        }
+        $result.= "</tr></thead>\n";
 
-    // Line color alternation
-    $alt= 0;
-    $deps= 0;
-
-    // Draw department browser if configured and we're not in sub mode
-    $this->useSpan= false;
-    if ($this->departmentBrowser && $this->filter->scope != "sub") {
-      // Fill with department browser if configured this way
-      $departmentIterator= new departmentSortIterator($this->departments, $this->sortDirection[$this->sortColumn]);
-      foreach ($departmentIterator as $row => $entry){
-        $result.="<tr class='rowxp".($alt&1)."'>";
-
-        // Render multi select if needed
-        if ($this->multiSelect) {
-          $result.="<td style='text-align:center;padding:0;' class='list1'> </td>";
-        }
-
-        // Render defined department columns, fill the rest with some stuff
-        $rest= $this->numColumns - 1;
-        foreach ($this->xmlData['table']['department'] as $index => $config) {
-          $colspan= 1;
-          if (isset($config['span'])){
-            $colspan= $config['span'];
-            $this->useSpan= true;
-          }
-          $result.="<td colspan='$colspan' ".$this->colprops[$index]." class='list1'>".$this->renderCell($config['value'], $entry, $row)."</td>";
-          $rest-= $colspan;
-        }
-
-        // Fill remaining cols with nothing
-        $last= $this->numColumns - $rest;
-        for ($i= 0; $i<$rest; $i++){
-          $result.= "<td ".$this->colprops[$last+$i-1]." class='list1'> </td>";
-        }
-        $result.="</tr>";
-
-        $alt++;
-      }
-      $deps= $alt;
-    }
+        // Build list body
+        $result.= "<tbody class='listScrollContent listBodyFormat' id='t_nscrollbody' style='height:".$height."px;'>\n";
 
-    // Fill with contents, sort as configured
-    foreach ($this->entries as $row => $entry) {
-      $trow= "";
+        // No results? Just take an empty colspanned row
+        if (count($this->entries) + count($this->departments) == 0) {
+            $result.= "<tr><td class='list1nohighlight' colspan='$this->numColumns' style='height:100%;border-right:0px;width:100%;'> </td></tr>";
+        }
 
-      // Render multi select if needed
-      if ($this->multiSelect) {
-        $trow.="<td style='text-align:center;width:20px;' class='list0'><input type='checkbox' id='listing_selected_$row' name='listing_selected_$row'></td>\n";
-      }
+        // Line color alternation
+        $alt= 0;
+        $deps= 0;
+
+        // Draw department browser if configured and we're not in sub mode
+        $this->useSpan= false;
+        if ($this->departmentBrowser && $this->filter->scope != "sub") {
+            // Fill with department browser if configured this way
+            $departmentIterator= new departmentSortIterator($this->departments, $this->sortDirection[$this->sortColumn]);
+            foreach ($departmentIterator as $row => $entry){
+                $rowResult= "<tr>";
+
+                // Render multi select if needed
+                if ($this->multiSelect || $this->singleSelect) {
+                    $rowResult.="<td style='text-align:center;padding:0;' class='list1'> </td>";
+                }
+
+                // Render defined department columns, fill the rest with some stuff
+                $rest= $this->numColumns - 1;
+                foreach ($this->xmlData['table']['department'] as $index => $config) {
+                    $colspan= 1;
+                    if (isset($config['span'])){
+                        $colspan= $config['span'];
+                        $this->useSpan= true;
+                    }
+                    $rowResult.="<td colspan='$colspan' ".$this->colprops[$index]." class='list1'>".$this->renderCell($config['value'], $entry, $row)."</td>";
+                    $rest-= $colspan;
+                }
+
+                // Fill remaining cols with nothing
+                $last= $this->numColumns - $rest;
+                for ($i= 0; $i<$rest; $i++){
+                    $rowResult.= "<td ".$this->colprops[$last+$i-1]." class='list1'> </td>";
+                }
+                $rowResult.="</tr>";
+
+                // Apply label to objecttype icon?
+                if (preg_match("/<objectType:([^:]+):(.*)\/>/i", $rowResult, $matches)){
+                    $objectType= image($matches[1], null, LDAP::fix(base64_decode($matches[2])));
+                    $rowResult= preg_replace("/<objectType[^>]+>/", $objectType, $rowResult);
+                }
+                $result.= $rowResult;
+                $alt++;
+            }
 
-      foreach ($this->xmlData['table']['column'] as $index => $config) {
-        $renderedCell= $this->renderCell($config['value'], $entry, $row);
-        $trow.="<td ".$this->colprops[$index]." class='list0'>".$renderedCell."</td>\n";
 
-        // Save rendered column
-        $sort= preg_replace('/.*>([^<]+)<.*$/', '$1', $renderedCell);
-        $sort= preg_replace('/ /', '', $sort);
-        if (preg_match('/</', $sort)){
-          $sort= "";
+            $deps= $alt;
         }
-        $this->entries[$row]["_sort$index"]= $sort;
-      }
 
-      // Save rendered entry
-      $this->entries[$row]['_rendered']= $trow;
-    }
+        // Fill with contents, sort as configured
+        foreach ($this->entries as $row => $entry) {
+            $trow= "";
 
-    // Complete list by sorting entries for _sort$index and appending them to the output
-    $entryIterator= new listingSortIterator($this->entries, $this->sortDirection[$this->sortColumn], "_sort".$this->sortColumn, $this->sortType);
-    foreach ($entryIterator as $row => $entry){
-      $result.="<tr class='rowxp".($alt&1)."'>\n";
-      $result.= $entry['_rendered'];
-      $result.="</tr>\n";
-      $alt++;
-    }
+            // Render multi select if needed
+            if ($this->multiSelect) {
+                $trow.="<td style='text-align:center;width:20px;' class='list0'><input type='checkbox' id='listing_selected_$row' name='listing_selected_$row'></td>\n";
+            }
 
-    // Need to fill the list if it's not full (nobody knows why this is 22 ;-))
-    $emptyListStyle= (count($this->entries) + (($this->useSpan && count($this->entries))?$deps:0) == 0)?"border:0;":"";
-    if ((count($this->entries) + $deps) < 22) {
-      $result.= "<tr>";
-      for ($i= 0; $i<$this->numColumns; $i++) {
-        if ($i == 0) {
-          $result.= "<td class='list1nohighlight' style='$emptyListStyle height:100%;'> </td>";
-          continue;
-        }
-        if ($i != $this->numColumns-1) {
-          $result.= "<td class='list1nohighlight' style='$emptyListStyle'> </td>";
-        } else {
-          $result.= "<td class='list1nohighlight' style='border-right:0;$emptyListStyle'> </td>";
+            if ($this->singleSelect) {
+                $trow.="<td style='text-align:center;width:20px;' class='list0'><input type='radio' id='listing_radio_selected_$row' name='listing_radio_selected' value='{$row}'></td>\n";
+            }
+
+            foreach ($this->xmlData['table']['column'] as $index => $config) {
+                $renderedCell= $this->renderCell($config['value'], $entry, $row);
+                $trow.="<td ".$this->colprops[$index]." class='list0'>".$renderedCell."</td>\n";
+
+                // Save rendered column
+                $sort= preg_replace('/.*>([^<]+)<.*$/', '$1', $renderedCell);
+                $sort= preg_replace('/ /', '', $sort);
+                if (preg_match('/</', $sort)){
+                    $sort= "";
+                }
+                $this->entries[$row]["_sort$index"]= $sort;
+            }
+
+            // Save rendered entry
+            $this->entries[$row]['_rendered']= $trow;
         }
-      }
-      $result.= "</tr>";
-    }
 
-    // Close list body
-    $result.= "</tbody></table></div>";
+        // Complete list by sorting entries for _sort$index and appending them to the output
+        $entryIterator= new listingSortIterator($this->entries, $this->sortDirection[$this->sortColumn], "_sort".$this->sortColumn, $this->sortType);
+        foreach ($entryIterator as $row => $entry){
+
+            // Apply label to objecttype icon?
+            if (preg_match("/<objectType:([^:]+):(.*)\/>/i", $entry['_rendered'], $matches)){
+                if (preg_match("/<rowLabel:([a-z0-9_-]*)\/>/i", $entry['_rendered'], $m)) {
+                    $objectType= image($matches[1]."[".$m[1]."]", null, LDAP::fix(base64_decode($matches[2])));
+                } else {
+                    $objectType= image($matches[1], null, LDAP::fix(base64_decode($matches[2])));
+                }
+                $entry['_rendered']= preg_replace("/<objectType[^>]+>/", $objectType, $entry['_rendered']);
+                $entry['_rendered']= preg_replace("/<rowLabel[^>]+>/", '', $entry['_rendered']);
+            }
+
+            // Apply custom class to row?
+            if (preg_match("/<rowClass:([a-z0-9_-]*)\/>/i", $entry['_rendered'], $matches)) {
+                $result.="<tr class='".$matches[1]."'>\n";
+                $result.= preg_replace("/<rowClass[^>]+>/", '', $entry['_rendered']);
+            } else {
+                $result.="<tr>\n";
+                $result.= $entry['_rendered'];
+            }
 
-    // Add the footer if requested
-    if ($this->showFooter) {
-      $result.= "<div class='nlistFooter'><div style='padding:3px'>";
+            $result.="</tr>\n";
+            $alt++;
+        }
+
+        // Need to fill the list if it's not full (nobody knows why this is 22 ;-))
+        $emptyListStyle= (count($this->entries) + (($this->useSpan && count($this->entries))?$deps:0) == 0)?"border:0;":"";
+        if ((count($this->entries) + $deps) < 22) {
+            $result.= "<tr>";
+            for ($i= 0; $i<$this->numColumns; $i++) {
+                if ($i == 0) {
+                    $result.= "<td class='list1nohighlight' style='$emptyListStyle height:100%;'> </td>";
+                    continue;
+                }
+                if ($i != $this->numColumns-1) {
+                    $result.= "<td class='list1nohighlight' style='$emptyListStyle'> </td>";
+                } else {
+                    $result.= "<td class='list1nohighlight' style='border-right:0;$emptyListStyle'> </td>";
+                }
+            }
 
-      foreach ($this->objectTypes as $objectType) {
-        if (isset($this->objectTypeCount[$objectType['label']])) {
-          $label= _($objectType['label']);
-          $result.= "<img class='center' src='".$objectType['image']."' title='$label' alt='$label'> ".$this->objectTypeCount[$objectType['label']]."    ";
+            $result.= "</tr>";
         }
-      }
 
-      $result.= "</div></div>";
-    }
+        // Close list body
+        $result.= "</tbody></table></div>";
 
-    // Close list
-    $result.= $switch?"<input type='hidden' id='list_workaround'>":"";
-
-    // Add scroll positioner
-    $result.= '<script type="text/javascript" language="javascript">';
-    $result.= '$("t_nscrollbody").scrollTop= '.$this->scrollPosition.';';
-    $result.= 'var box = $("t_nscrollbody").onscroll= function() {$("position_'.$this->pid.'").value= this.scrollTop;}';
-    $result.= '</script>';
-
-    $smarty= get_smarty();
-    $smarty->assign("usePrototype", "true");
-    $smarty->assign("FILTER", $this->filter->render());
-    $smarty->assign("SIZELIMIT", print_sizelimit_warning());
-    $smarty->assign("LIST", $result);
-
-    // Assign navigation elements
-    $nav= $this->renderNavigation();
-    foreach ($nav as $key => $html) {
-      $smarty->assign($key, $html);
-    }
+        // Add the footer if requested
+        if ($this->showFooter) {
+            $result.= "<div class='nlistFooter'><div style='padding:3px'>";
+
+            foreach ($this->objectTypes as $objectType) {
+                if (isset($this->objectTypeCount[$objectType['label']])) {
+                    $label= _($objectType['label']);
+                    $result.= image($objectType['image'], null, $label)." ".$this->objectTypeCount[$objectType['label']]."  ";
+                }
+            }
 
-    // Assign action menu / base
-    $smarty->assign("ACTIONS", $this->renderActionMenu());
-    $smarty->assign("BASE", $this->renderBase());
+            $result.= "</div></div>";
+        }
 
-    // Assign separator
-    $smarty->assign("SEPARATOR", "<img src='images/lists/seperator.png' alt='-' align='middle' height='16' width='1' class='center'>");
+        // Close list
+        $result.= $switch?"<input type='hidden' id='list_workaround'>":"";
 
-    // Assign summary
-    $smarty->assign("HEADLINE", $this->headline);
+        // Add scroll positioner
+        $result.= '<script type="text/javascript" language="javascript">';
+        $result.= '$("t_nscrollbody").scrollTop= '.$this->scrollPosition.';';
+        $result.= 'var box = $("t_nscrollbody").onscroll= function() {$("position_'.$this->pid.'").value= this.scrollTop;}';
+        $result.= '</script>';
 
-    // Try to load template from plugin the folder first...
-    $file = get_template_path($this->xmlData['definition']['template'], true);
+        $smarty= get_smarty();
 
-    // ... if this fails, try to load the file from the theme folder.
-    if(!file_exists($file)){
-      $file = get_template_path($this->xmlData['definition']['template']);
-    }
+        $smarty->assign("FILTER", $this->filter->render());
+        $smarty->assign("SIZELIMIT", print_sizelimit_warning());
+        $smarty->assign("LIST", $result);
 
-    return ($smarty->fetch($file));
-  }
+        // Assign navigation elements
+        $nav= $this->renderNavigation();
+        foreach ($nav as $key => $html) {
+            $smarty->assign($key, $html);
+        }
 
+        // Assign action menu / base
+        $smarty->assign("HEADLINE", $this->headline);
+        $smarty->assign("ACTIONS", $this->renderActionMenu());
+        $smarty->assign("BASE", $this->renderBase());
 
-  function update()
-  {
-    global $config;
-    $ui= get_userinfo();
+        // Assign separator
+        $smarty->assign("SEPARATOR", "<img src='images/lists/seperator.png' alt='-' align='middle' height='16' width='1' class='center'>");
 
-    // Take care of base selector
-    if ($this->baseMode) {
-      $this->baseSelector->update();
-      // Check if a wrong base was supplied
-      if(!$this->baseSelector->checkLastBaseUpdate()){
-         msg_dialog::display(_("Error"), msgPool::check_base(), ERROR_DIALOG);
-      }
-    }
+        // Assign summary
+        $smarty->assign("HEADLINE", $this->headline);
 
-    // Save base
-    $refresh= false;
-    if ($this->baseMode) {
-      $this->base= $this->baseSelector->getBase();
-      session::global_set("CurrentMainBase", $this->base);
-      $refresh= true;
-    }
+        // Try to load template from plugin the folder first...
+        $file = get_template_path($this->xmlData['definition']['template'], true);
+
+        // ... if this fails, try to load the file from the theme folder.
+        if(!file_exists($file)){
+            $file = get_template_path($this->xmlData['definition']['template']);
+        }
 
+        return ($smarty->fetch($file));
+    }
 
-    // Reset object counter / DN mapping
-    $this->objectTypeCount= array();
-    $this->objectDnMapping= array();
 
-    // Do not do anything if this is not our PID
-    if($refresh || !(isset($_REQUEST['PID']) && $_REQUEST['PID'] != $this->pid)) {
+    function update()
+    {
+        global $config;
+        $ui= get_userinfo();
 
-      // Save position if set
-      if (isset($_POST['position_'.$this->pid]) && is_numeric($_POST['position_'.$this->pid])) {
-        $this->scrollPosition= $_POST['position_'.$this->pid];
-      }
+        // Take care of base selector
+        if ($this->baseMode) {
+            $this->baseSelector->update();
 
-      // Override the base if we got a message from the browser navigation
-      if ($this->departmentBrowser && isset($_GET['act'])) {
-        if (preg_match('/^department_([0-9]+)$/', validate($_GET['act']), $match)){
-          if (isset($this->departments[$match[1]])){
-            $this->base= $this->departments[$match[1]]['dn'];
-            if ($this->baseMode) {
-              $this->baseSelector->setBase($this->base);
+            // Check if a wrong base was supplied
+            if(!$this->baseSelector->checkLastBaseUpdate()){
+                msg_dialog::display(_("Error"), msgPool::check_base(), ERROR_DIALOG);
             }
+        }
+
+        // Save base
+        $refresh= false;
+        if ($this->baseMode) {
+            $this->base= $this->baseSelector->getBase();
             session::global_set("CurrentMainBase", $this->base);
-          }
-        }
-      }
-
-      // Filter POST with "act" attributes -> posted from action menu
-      if (isset($_POST['exec_act']) && $_POST['act'] != '') {
-        if (preg_match('/^export.*$/', $_POST['act']) && isset($this->exporter[$_POST['act']])) {
-          $exporter= $this->exporter[$_POST['act']];
-          $userinfo= ", "._("created by")." ".$ui->cn." - ".strftime('%A, %d. %B %Y, %H:%M:%S');
-          $entryIterator= new listingSortIterator($this->entries, $this->sortDirection[$this->sortColumn], "_sort".$this->sortColumn, $this->sortType);
-          $sortedEntries= array();
-          foreach ($entryIterator as $entry){
-            $sortedEntries[]= $entry;
-          }
-          $instance= new $exporter['class']($this->headline.$userinfo, $this->plainHeader, $sortedEntries, $this->exportColumns);
-          $type= call_user_func(array($exporter['class'], "getInfo"));
-          $type= $type[$_POST['act']];
-          send_binary_content($instance->query(), $type['filename'], $type= $type['mime']);
-        }
-      }
-
-      // Filter GET with "act" attributes
-      if (isset($_GET['act'])) {
-        $key= validate($_GET['act']);
-        if (preg_match('/^SORT_([0-9]+)$/', $key, $match)) {
-          // Switch to new column or invert search order?
-          $column= $match[1];
-          if ($this->sortColumn != $column) {
-            $this->sortColumn= $column;
-          } else {
-            $this->sortDirection[$column]= !$this->sortDirection[$column];
-          }
-
-          // Allow header to update itself according to the new sort settings
-          $this->renderHeader();
-        }
-      }
-
-      // Override base if we got signals from the navigation elements
-      $action= "";
-      foreach ($_POST as $key => $value) {
-        if (preg_match('/^(ROOT|BACK|HOME)_x$/', $key, $match)) {
-          $action= $match[1];
-          break;
-        }
-      }
-
-      // Navigation handling
-      if ($action == 'ROOT') {
-        $deps= $ui->get_module_departments($this->categories);
-        $this->base= $deps[0];
-        $this->baseSelector->setBase($this->base);
-        session::global_set("CurrentMainBase", $this->base);
-      }
-      if ($action == 'BACK') {
-        $deps= $ui->get_module_departments($this->categories);
-        $base= preg_replace("/^[^,]+,/", "", $this->base);
-        if(in_array_ics($base, $deps)){
-          $this->base= $base;
-          $this->baseSelector->setBase($this->base);
-          session::global_set("CurrentMainBase", $this->base);
-        }
-      }
-      if ($action == 'HOME') {
-        $ui= get_userinfo();
-        $this->base= get_base_from_people($ui->dn);
-        $this->baseSelector->setBase($this->base);
-        session::global_set("CurrentMainBase", $this->base);
-      }
-    }
+            $refresh= true;
+        }
 
-    // Reload departments
-    if ($this->departmentBrowser){
-      $this->departments= $this->getDepartments();
-    }
 
-    // Update filter and refresh entries
-    $this->filter->setBase($this->base);
-    $this->entries= $this->filter->query();
+        // Reset object counter / DN mapping
+        $this->objectTypeCount= array();
+        $this->objectDnMapping= array();
 
-    // Fix filter if querie returns NULL
-    if ($this->entries == null) {
-      $this->entries= array();
-    }
-  }
+        // Do not do anything if this is not our PID
+        if($refresh || !(isset($_REQUEST['PID']) && $_REQUEST['PID'] != $this->pid)) {
 
+            // Save position if set
+            if (isset($_POST['position_'.$this->pid]) && is_numeric($_POST['position_'.$this->pid])) {
+                $this->scrollPosition= get_post('position_'.$this->pid);
+            }
 
-  function setBase($base)
-  {
-    $this->base= $base;
-    if ($this->baseMode) {
-      $this->baseSelector->setBase($this->base);
-    }
-  }
+            // Override the base if we got a message from the browser navigation
+            if ($this->departmentBrowser && isset($_GET['act'])) {
+                if (preg_match('/^department_([0-9]+)$/', validate($_GET['act']), $match)){
+                    if (isset($this->departments[$match[1]])){
+                        $this->base= $this->departments[$match[1]]['dn'];
+                        if ($this->baseMode) {
+                            $this->baseSelector->setBase($this->base);
+                        }
+                        session::global_set("CurrentMainBase", $this->base);
+                    }
+                }
+            }
 
+            // Filter POST with "act" attributes -> posted from action menu
+            if (isset($_POST['exec_act']) && $_POST['act'] != '') {
+                if (preg_match('/^export.*$/', $_POST['act']) && isset($this->exporter[$_POST['act']])) {
+                    $exporter= $this->exporter[get_post('act')];
+                    $userinfo= ", "._("created by")." ".$ui->cn." - ".strftime('%A, %d. %B %Y, %H:%M:%S');
+                    $entryIterator= new listingSortIterator($this->entries, $this->sortDirection[$this->sortColumn], "_sort".$this->sortColumn, $this->sortType);
+                    $sortedEntries= array();
+                    foreach ($entryIterator as $entry){
+                        $sortedEntries[]= $entry;
+                    }
+                    $instance= new $exporter['class']($this->headline.$userinfo, $this->plainHeader, $sortedEntries, $this->exportColumns);
+                    $type= call_user_func(array($exporter['class'], "getInfo"));
+                    $type= $type[get_post('act')];
+                    send_binary_content($instance->query(), $type['filename'], $type= $type['mime']);
+                }
+            }
 
-  function getBase()
-  {
-    return $this->base;
-  }
+            // Filter GET with "act" attributes
+            if (isset($_GET['act'])) {
+                $key= validate($_GET['act']);
+                if (preg_match('/^SORT_([0-9]+)$/', $key, $match)) {
+                    // Switch to new column or invert search order?
+                    $column= $match[1];
+                    if ($this->sortColumn != $column) {
+                        $this->sortColumn= $column;
+                    } else {
+                        $this->sortDirection[$column]= !$this->sortDirection[$column];
+                    }
+
+                    // Allow header to update itself according to the new sort settings
+                    $this->renderHeader();
+                }
+            }
 
+            // Override base if we got signals from the navigation elements
+            $action= "";
+            foreach ($_POST as $key => $value) {
+                if (preg_match('/^(ROOT|BACK|HOME)(_x)?$/', $key, $match)) {
+                    $action= $match[1];
+                    break;
+                }
+            }
 
-  function parseLayout($layout)
-  {
-    $result= array();
-    $layout= preg_replace("/^\|/", "", $layout);
-    $layout= preg_replace("/\|$/", "", $layout);
-    $cols= explode("|", $layout);
-
-    foreach ($cols as $index => $config) {
-      if ($config != "") {
-        $res= "";
-        $components= explode(';', $config);
-        foreach ($components as $part) {
-          if (preg_match("/^r$/", $part)) {
-            $res.= "text-align:right;";
-            continue;
-          }
-          if (preg_match("/^l$/", $part)) {
-            $res.= "text-align:left;";
-            continue;
-          }
-          if (preg_match("/^c$/", $part)) {
-            $res.= "text-align:center;";
-            continue;
-          }
-          if (preg_match("/^[0-9]+(|px|%)$/", $part)) {
-            $res.= "width:$part;min-width:$part;";
-            continue;
-          }
+            // Navigation handling
+            if ($action == 'ROOT') {
+                $deps= $ui->get_module_departments($this->categories);
+                $this->base= $deps[0];
+                $this->baseSelector->setBase($this->base);
+                session::global_set("CurrentMainBase", $this->base);
+            }
+            if ($action == 'BACK') {
+                $deps= $ui->get_module_departments($this->categories);
+                $base= preg_replace("/^[^,]+,/", "", $this->base);
+                if(in_array_ics($base, $deps)){
+                    $this->base= $base;
+                    $this->baseSelector->setBase($this->base);
+                    session::global_set("CurrentMainBase", $this->base);
+                }
+            }
+            if ($action == 'HOME') {
+                $ui= get_userinfo();
+                $this->base= get_base_from_people($ui->dn);
+                $this->baseSelector->setBase($this->base);
+                session::global_set("CurrentMainBase", $this->base);
+            }
+        }
+
+        // Reload departments
+        if ($this->departmentBrowser){
+            $this->departments= $this->getDepartments();
         }
 
-        // Add minimum width for scalable columns
-        if (!preg_match('/width:/', $res)){
-          $res.= "min-width:200px;";
+        // Update filter and refresh entries
+        $this->filter->setBase($this->base);
+        $this->entries= $this->filter->query();
+
+        // Fix filter if querie returns NULL
+        if ($this->entries == null) {
+            $this->entries= array();
         }
+    }
+
 
-        $result[$index]= " style='$res'";
-      } else {
-        $result[$index]= " style='min-width:100px;'";
-      }
+    function setBase($base)
+    {
+        $this->base= $base;
+        if ($this->baseMode) {
+            $this->baseSelector->setBase($this->base);
+        }
     }
 
-    // Save number of columns for later use
-    $this->numColumns= count($cols);
 
-    // Add no border to the last column
-    $result[$this->numColumns-1]= preg_replace("/'$/", "border-right:0;'", $result[$this->numColumns-1]);
+    function getBase()
+    {
+        return $this->base;
+    }
+
+
+    function parseLayout($layout)
+    {
+        $result= array();
+        $layout= preg_replace("/^\|/", "", $layout);
+        $layout= preg_replace("/\|$/", "", $layout);
+        $cols= explode("|", $layout);
+
+        foreach ($cols as $index => $config) {
+            if ($config != "") {
+                $res= "";
+                $components= explode(';', $config);
+                foreach ($components as $part) {
+                    if (preg_match("/^r$/", $part)) {
+                        $res.= "text-align:right;";
+                        continue;
+                    }
+                    if (preg_match("/^l$/", $part)) {
+                        $res.= "text-align:left;";
+                        continue;
+                    }
+                    if (preg_match("/^c$/", $part)) {
+                        $res.= "text-align:center;";
+                        continue;
+                    }
+                    if (preg_match("/^[0-9]+(|px|%)$/", $part)) {
+                        $res.= "width:$part;min-width:$part;";
+                        continue;
+                    }
+                }
+
+                // Add minimum width for scalable columns
+                if (!preg_match('/width:/', $res)){
+                    $res.= "min-width:200px;";
+                }
+
+                $result[$index]= " style='$res'";
+            } else {
+                $result[$index]= " style='min-width:100px;'";
+            }
+        }
 
-    return $result;
-  }
-
-
-  function renderCell($data, $config, $row)
-  {
-    // Replace flat attributes in data string
-    for ($i= 0; $i<$config['count']; $i++) {
-      $attr= $config[$i];
-      $value= "";
-      if (is_array($config[$attr])) {
-        $value= $config[$attr][0];
-      } else {
-        $value= $config[$attr];
-      }
-      $data= preg_replace("/%\{$attr\}/", $value, $data);
+        // Save number of columns for later use
+        $this->numColumns= count($cols);
+
+        // Add no border to the last column
+        $result[$this->numColumns-1]= preg_replace("/'$/", "border-right:0;'", $result[$this->numColumns-1]);
+
+        return $result;
     }
 
-    // Watch out for filters and prepare to execute them
-    $data= $this->processElementFilter($data, $config, $row);
 
-    // Replace all non replaced %{...} instances because they
-    // are non resolved attributes or filters
-    $data= preg_replace('/%{[^}]+}/', ' ', $data);
+    function renderCell($data, $config, $row)
+    {
+        // Replace flat attributes in data string
+        for ($i= 0; $i<$config['count']; $i++) {
+            $attr= $config[$i];
+            $value= "";
+            if (is_array($config[$attr])) {
+                $value= $config[$attr][0];
+            } else {
+                $value= $config[$attr];
+            }
+            $data= preg_replace("/%\{$attr\}/", $value, $data);
+        }
 
-    return $data;
-  }
+        // Watch out for filters and prepare to execute them
+        $data= $this->processElementFilter($data, $config, $row);
 
+        // Replace all non replaced %{...} instances because they
+        // are non resolved attributes or filters
+        $data= preg_replace('/%{[^}]+}/', ' ', $data);
 
-  function renderBase()
-  {
+        return $data;
+}
+
+
+function renderBase()
+{
     if (!$this->baseMode) {
-      return;
+        return;
     }
 
     return $this->baseSelector->render();
-  }
+}
 
 
-  function processElementFilter($data, $config, $row)
-  {
+function processElementFilter($data, $config, $row)
+{
     preg_match_all("/%\{filter:([^(]+)\((.*)\)\}/", $data, $matches, PREG_SET_ORDER);
 
     foreach ($matches as $match) {
-      $cl= "";
-      $method= "";
-      if (preg_match('/::/', $match[1])) {
-        $cl= preg_replace('/::.*$/', '', $match[1]);
-        $method= preg_replace('/^.*::/', '', $match[1]);
-      } else {
-        if (!isset($this->filters[$match[1]])) {
-          continue;
+        $cl= "";
+        $method= "";
+        if (preg_match('/::/', $match[1])) {
+            $cl= preg_replace('/::.*$/', '', $match[1]);
+            $method= preg_replace('/^.*::/', '', $match[1]);
+        } else {
+            if (!isset($this->filters[$match[1]])) {
+                continue;
+            }
+            $cl= preg_replace('/::.*$/', '', $this->filters[$match[1]]);
+            $method= preg_replace('/^.*::/', '', $this->filters[$match[1]]);
         }
-        $cl= preg_replace('/::.*$/', '', $this->filters[$match[1]]);
-        $method= preg_replace('/^.*::/', '', $this->filters[$match[1]]);
-      }
 
-      // Prepare params for function call
-      $params= array();
-      preg_match_all('/"[^"]+"|[^,]+/', $match[2], $parts);
-      foreach ($parts[0] as $param) {
+        // Prepare params for function call
+        $params= array();
+        preg_match_all('/"[^"]+"|[^,]+/', $match[2], $parts);
+        foreach ($parts[0] as $param) {
 
-        // Row is replaced by the row number
-        if ($param == "row") {
-          $params[]= $row;
-          continue;
-        }
+            // Row is replaced by the row number
+            if ($param == "row") {
+                $params[]= $row;
+                continue;
+            }
 
-        // pid is replaced by the current PID
-        if ($param == "pid") {
-          $params[]= $this->pid;
-          continue;
-        }
+            // pid is replaced by the current PID
+            if ($param == "pid") {
+                $params[]= $this->pid;
+                continue;
+            }
 
-        // base is replaced by the current base
-        if ($param == "base") {
-          $params[]= $this->getBase();
-          continue;
-        }
+            // base is replaced by the current base
+            if ($param == "base") {
+                $params[]= $this->getBase();
+                continue;
+            }
 
-        // Fixie with "" is passed directly
-        if (preg_match('/^".*"$/', $param)){
-          $params[]= preg_replace('/"/', '', $param);
-          continue;
-        }
+            // Fixie with "" is passed directly
+            if (preg_match('/^".*"$/', $param)){
+                $params[]= preg_replace('/"/', '', $param);
+                continue;
+            }
 
-        // Move dn if needed
-        if ($param == "dn") {
-          $params[]= LDAP::fix($config["dn"]);
-          continue;
-        }
+            // Move dn if needed
+            if ($param == "dn") {
+                $params[]= LDAP::fix($config["dn"]);
+                continue;
+            }
 
-        // LDAP variables get replaced by their objects
-        for ($i= 0; $i<$config['count']; $i++) {
-          if ($param == $config[$i]) {
-            $values= $config[$config[$i]];
-            if (is_array($values)){
-              unset($values['count']);
+            // LDAP variables get replaced by their objects
+            for ($i= 0; $i<$config['count']; $i++) {
+                if ($param == $config[$i]) {
+                    $values= $config[$config[$i]];
+                    if (is_array($values)){
+                        unset($values['count']);
+                    }
+                    $params[]= $values;
+                    break;
+                }
             }
-            $params[]= $values;
-            break;
-          }
-        }
-      }
-
-      // Replace information
-      if ($cl == "listing") {
-        // Non static call - seems to result in errors
-        $data= @preg_replace('/'.preg_quote($match[0]).'/', call_user_func_array(array($this, "$method"), $params), $data);
-      } else {
-        // Static call
-        $data= preg_replace('/'.preg_quote($match[0]).'/', call_user_func_array(array($cl, $method), $params), $data);
-      }
+        }
+
+        // Replace information
+        if ($cl == "listing") {
+            // Non static call - seems to result in errors
+            $data= @preg_replace('/'.preg_quote($match[0]).'/', call_user_func_array(array($this, "$method"), $params), $data);
+        } else {
+            // Static call
+            $data= preg_replace('/'.preg_quote($match[0]).'/', call_user_func_array(array($cl, $method), $params), $data);
+        }
     }
 
     return $data;
-  }
+}
 
 
-  function getObjectType($types, $classes)
-  {
+function getObjectType($types, $classes)
+{
     // Walk thru types and see if there's something matching
     foreach ($types as $objectType) {
-      $ocs= $objectType['objectClass'];
-      if (!is_array($ocs)){
-        $ocs= array($ocs);
-      }
-
-      $found= true;
-      foreach ($ocs as $oc){
-        if (preg_match('/^!(.*)$/', $oc, $match)) {
-          $oc= $match[1];
-          if (in_array($oc, $classes)) {
-            $found= false;
-          }
-        } else {
-          if (!in_array($oc, $classes)) {
-            $found= false;
-          }
+        $ocs= $objectType['objectClass'];
+        if (!is_array($ocs)){
+            $ocs= array($ocs);
         }
-      }
 
-      if ($found) {
-        return $objectType;
-      }
+        $found= true;
+        foreach ($ocs as $oc){
+            if (preg_match('/^!(.*)$/', $oc, $match)) {
+                $oc= $match[1];
+                if (in_array($oc, $classes)) {
+                    $found= false;
+                }
+            } else {
+                if (!in_array($oc, $classes)) {
+                    $found= false;
+                }
+            }
+        }
+
+        if ($found) {
+            return $objectType;
+        }
     }
 
     return null;
-  }
+}
 
 
-  function filterObjectType($dn, $classes)
-  {
+function filterObjectType($dn, $classes)
+{
     // Walk thru classes and return on first match
     $result= " ";
 
     $objectType= $this->getObjectType($this->objectTypes, $classes);
     if ($objectType) {
-      $this->objectDnMapping[$dn]= $objectType["objectClass"];
-      $result= "<img class='center' title='".LDAP::fix($dn)."' src='".$objectType["image"]."'>";
-      if (!isset($this->objectTypeCount[$objectType['label']])) {
-        $this->objectTypeCount[$objectType['label']]= 0;
-      }
-      $this->objectTypeCount[$objectType['label']]++;
+        $this->objectDnMapping[$dn]= $objectType["objectClass"];
+        $result= "<objectType:".$objectType["image"].":".base64_encode(LDAP::fix($dn))."/>";
+        if (!isset($this->objectTypeCount[$objectType['label']])) {
+            $this->objectTypeCount[$objectType['label']]= 0;
+        }
+        $this->objectTypeCount[$objectType['label']]++;
     }
 
     return $result;
-  }
+}
 
 
-  function filterActions($dn, $row, $classes)
-  {
+function filterActions($dn, $row, $classes)
+{
     // Do nothing if there's no menu defined
     if (!isset($this->xmlData['actiontriggers']['action'])) {
-      return " ";
+        return " ";
     }
 
     // Go thru all actions
     $result= "";
     $actions= $this->xmlData['actiontriggers']['action'];
+
+    // Ensure we've a valid actions array, if there is only one action in the actiontriggers col
+    //  then we've to create a valid array here.
+    if(isset($actions['name'])) $actions = array($actions);
+
     foreach($actions as $action) {
-      // Skip the entry completely if there's no permission to execute it
-      if (!$this->hasActionPermission($action, $dn, $classes)) {
-        $result.= "<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
-        continue;
-      }
-
-      // Skip entry if the pseudo filter does not fit
-      if (isset($action['filter']) && preg_match('/^[a-z0-9_]+!?=[a-z0-9_]+$/i', $action['filter'])) {
-        list($fa, $fv)= explode('=', $action['filter']);
-        if (preg_match('/^(.*)!$/', $fa, $m)){
-          $fa= $m[1];
-          if (isset($this->entries[$row][$fa]) && $this->entries[$row][$fa][0] == $fv) {
-            $result.= "<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
+        // Skip the entry completely if there's no permission to execute it
+        if (!$this->hasActionPermission($action, $dn, $classes)) {
+            $result.= image('images/empty.png');
             continue;
-          }
-        } else {
-          if (!isset($this->entries[$row][$fa]) && !$this->entries[$row][$fa][0] == $fv) {
-            $result.= "<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
-            continue;
-          }
         }
-      }
-
 
-      // If there's an objectclass definition and we don't have it
-      // add an empty picture here.
-      if (isset($action['objectclass'])){
-        $objectclass= $action['objectclass'];
-        if (preg_match('/^!(.*)$/', $objectclass, $m)){
-          $objectclass= $m[1];
-          if(in_array($objectclass, $classes)) {
-            $result.= "<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
-            continue;
-          }
-        } elseif (is_string($objectclass)) {
-          if(!in_array($objectclass, $classes)) {
-            $result.= "<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
-            continue;
-          }
-        } elseif (is_array($objectclass)) {
-          if(count(array_intersect($objectclass, $classes)) != count($objectclass)){
-            $result.= "<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
-            continue;
-          }
+        // Skip entry if the pseudo filter does not fit
+        if (isset($action['filter']) && preg_match('/^[a-z0-9_]+!?=[a-z0-9_]+$/i', $action['filter'])) {
+            list($fa, $fv)= explode('=', $action['filter']);
+            if (preg_match('/^(.*)!$/', $fa, $m)){
+                $fa= $m[1];
+                if (isset($this->entries[$row][$fa]) && $this->entries[$row][$fa][0] == $fv) {
+                    $result.= image('images/empty.png');
+                    continue;
+                }
+            } else {
+                if (!isset($this->entries[$row][$fa]) && !$this->entries[$row][$fa][0] == $fv) {
+                    $result.= image('images/empty.png');
+                    continue;
+                }
+            }
         }
-      }
 
-      // Render normal entries as usual
-      if ($action['type'] == "entry") {
-        $label= $this->processElementFilter($action['label'], $this->entries[$row], $row);
-        $image= $this->processElementFilter($action['image'], $this->entries[$row], $row);
-        $result.="<input class='center' type='image' src='$image' title='$label' ".
-                 "name='listing_".$action['name']."_$row' style='padding:1px'>";
-      }
 
-      // Handle special types
-      if ($action['type'] == "copypaste" || $action['type'] == "snapshot") {
+        // If there's an objectclass definition and we don't have it
+        // add an empty picture here.
+        if (isset($action['objectclass'])){
+            $objectclass= $action['objectclass'];
+            if (preg_match('/^!(.*)$/', $objectclass, $m)){
+                $objectclass= $m[1];
+                if(in_array($objectclass, $classes)) {
+                    $result.= image('images/empty.png');
+                    continue;
+                }
+            } elseif (is_string($objectclass)) {
+                if(!in_array($objectclass, $classes)) {
+                    $result.= image('images/empty.png');
+                    continue;
+                }
+            } elseif (is_array($objectclass)) {
+                if(count(array_intersect($objectclass, $classes)) != count($objectclass)){
+                    $result.= image('images/empty.png');
+                    continue;
+                }
+            }
+        }
 
-        $objectType= $this->getObjectType($this->objectTypes, $this->entries[$row]['objectClass']);
-        $category= $class= null;
-        if ($objectType) {
-          $category= $objectType['category'];
-          $class= $objectType['class'];
+        // Render normal entries as usual
+        if ($action['type'] == "entry") {
+            $label= $this->processElementFilter($action['label'], $this->entries[$row], $row);
+            $image= $this->processElementFilter($action['image'], $this->entries[$row], $row);
+            $result.= image($image, "listing_".$action['name']."_$row", $label);
         }
 
-        if ($action['type'] == "copypaste") {
-          $copy = !isset($action['copy']) || $action['copy'] == "true";
-          $cut = !isset($action['cut']) || $action['cut'] == "true";
-          $result.= $this->renderCopyPasteActions($row, $this->entries[$row]['dn'], $category, $class,$copy,$cut);
-        } else {
-          $result.= $this->renderSnapshotActions($row, $this->entries[$row]['dn'], $category, $class);
+        // Handle special types
+        if ($action['type'] == "copypaste" || $action['type'] == "snapshot") {
+
+            $objectType= $this->getObjectType($this->objectTypes, $this->entries[$row]['objectClass']);
+            $category= $class= null;
+            if ($objectType) {
+                $category= $objectType['category'];
+                $class= $objectType['class'];
+            }
+
+            if ($action['type'] == "copypaste") {
+                $copy = !isset($action['copy']) || $action['copy'] == "true";
+                $cut = !isset($action['cut']) || $action['cut'] == "true";
+                $result.= $this->renderCopyPasteActions($row, $this->entries[$row]['dn'], $category, $class,$copy,$cut);
+            } else {
+                $result.= $this->renderSnapshotActions($row, $this->entries[$row]['dn'], $category, $class);
+            }
         }
-      }
     }
 
     return $result;
-  }
+}
 
 
-  function filterDepartmentLink($row, $dn, $description)
-  {
+function filterDepartmentLink($row, $dn, $description)
+{
     $attr= $this->departments[$row]['sort-attribute'];
     $name= $this->departments[$row][$attr];
     if (is_array($name)){
-      $name= $name[0];
+        $name= $name[0];
     }
     $result= sprintf("%s [%s]", $name, $description[0]);
-    return("<a href='?plug=".$_GET['plug']."&PID=$this->pid&act=department_$row' title='$dn'>$result</a>");
-  }
+    return("<a href='?plug=".$_GET['plug']."&PID=$this->pid&act=department_$row' title='$dn'>".set_post($result)."</a>");
+}
 
 
-  function filterLink()
-  {
+function filterLink()
+{
     $result= " ";
 
     $row= func_get_arg(0);
     $pid= $this->pid;
-    $dn= LDAP::fix(func_get_arg(1));
+
+    // Prepare title attribute
+    $titleAttr = func_get_arg(1);
+    if(is_array($titleAttr) && isset($titleAttr[0])){
+        $titleAttr = $titleAttr[0];
+    }
+    $titleAttr = LDAP::fix($titleAttr);
+
     $params= array(func_get_arg(2));
 
     // Collect sprintf params
     for ($i = 3;$i < func_num_args();$i++) {
-      $val= func_get_arg($i);
-      if (is_array($val)){
-        $params[]= $val[0];
-        continue;
-      }
-      $params[]= $val;
+        $val= func_get_arg($i);
+        if (is_array($val)){
+            $params[]= $val[0];
+            continue;
+        }
+        $params[]= $val;
     }
 
     $result= " ";
     $trans= call_user_func_array("sprintf", $params);
     if ($trans != "") {
-      return("<a href='?plug=".$_GET['plug']."&PID=$pid&act=listing_edit_$row' title='$dn'>$trans</a>");
+        return("<a href='?plug=".$_GET['plug']."&PID=$pid&act=listing_edit_$row' title='{$titleAttr}'>".set_post($trans)."</a>");
     }
 
     return $result;
-  }
+}
 
 
-  function renderNavigation()
-  {
+function renderNavigation()
+{
     $result= array();
     $enableBack = true;
     $enableRoot = true;
@@ -974,150 +1041,156 @@ class listing {
     $deps = $ui->get_module_departments($this->categories);
 
     if(!count($deps) || $deps[0] == $this->filter->base){
-      $enableBack = false;
-      $enableRoot = false;
+        $enableBack = false;
+        $enableRoot = false;
     }
 
     $listhead ="";
 
     /* Check if we are in users home  department */
     if(!count($deps) || $this->filter->base == get_base_from_people($ui->dn)){
-      $enableHome = false;
+        $enableHome = false;
     }
 
     /* Draw root button */
     if($enableRoot){
-      $result["ROOT"]= "<input class='center' type='image' src='images/lists/root.png' align='middle' ".
-                       "title='"._("Go to root department")."' name='ROOT' alt='"._("Root")."'>";
+        $result["ROOT"]= image('images/lists/root.png', 'ROOT', _("Root"));
     }else{
-      $result["ROOT"]= "<img src='images/lists/root_grey.png' class='center' alt='"._("Root")."'>";
+        $result["ROOT"]= image('images/lists/root-grey.png', null, _("Root"));
     }
 
     /* Draw back button */
     if($enableBack){
-      $result["BACK"]= "<input class='center' type='image' align='middle' src='images/lists/back.png' ".
-                       "title='"._("Go up one department")."' alt='"._("Up")."' name='BACK'>";
+        $result["BACK"]= image('images/lists/back.png', 'BACK', _("Go to preceding level"));
     }else{
-      $result["BACK"]= "<img src='images/lists/back_grey.png' class='center' alt='"._("Up")."'>";
+        $result["BACK"]= image('images/lists/back-grey.png', null, _("Go to preceding level"));
     }
 
     /* Draw home button */
+    /* Draw home button */
     if($enableHome){
-      $result["HOME"]= "<input class='center' type='image' align='middle' src='images/lists/home.png' ".
-                       "title='"._("Go to users department")."' alt='"._("Home")."' name='HOME'>";
+        $result["HOME"]= image('images/lists/home.png', 'HOME', _("Go to current users level"));
     }else{
-      $result["HOME"]= "<img src='images/lists/home_grey.png' class='center' alt='"._("Home")."'>";
+        $result["HOME"]= image('images/lists/home-grey.png', null, _("Go to current users level"));
     }
 
+
     /* Draw reload button, this button is enabled everytime */
-    $result["RELOAD"]= "<input class='center' type='image' src='images/lists/reload.png' align='middle' ".
-                       "title='"._("Reload list")."' name='REFRESH' alt='"._("Submit")."'>";
+    $result["RELOAD"]= image('images/lists/reload.png', 'REFRESH', _("Reload list"));
 
     return ($result);
-  }
+}
 
 
-  function getAction()
-  {
+function getAction()
+{
     // Do not do anything if this is not our PID, or there's even no PID available...
     if(!isset($_REQUEST['PID']) || $_REQUEST['PID'] != $this->pid) {
-      return;
+        return;
     }
 
     // Save position if set
     if (isset($_POST['position_'.$this->pid]) && is_numeric($_POST['position_'.$this->pid])) {
-      $this->scrollPosition= $_POST['position_'.$this->pid];
+        $this->scrollPosition= get_post('position_'.$this->pid);
     }
 
     $result= array("targets" => array(), "action" => "");
 
     // Filter GET with "act" attributes
     if (isset($_GET['act'])) {
-      $key= validate($_GET['act']);
-      $target= preg_replace('/^listing_[a-zA-Z_]+_([0-9]+)$/', '$1', $key);
-      if (isset($this->entries[$target]['dn'])) {
-        $result['action']= preg_replace('/^listing_([a-zA-Z_]+)_[0-9]+$/', '$1', $key);
-        $result['targets'][]= $this->entries[$target]['dn'];
-      }
-
-      // Drop targets if empty
-      if (count($result['targets']) == 0) {
-        unset($result['targets']);
-      }
-      return $result;
+        $key= validate($_GET['act']);
+        $target= preg_replace('/^listing_[a-zA-Z_]+_([0-9]+)$/', '$1', $key);
+        if (isset($this->entries[$target]['dn'])) {
+            $result['action']= preg_replace('/^listing_([a-zA-Z_]+)_[0-9]+$/', '$1', $key);
+            $result['targets'][]= $this->entries[$target]['dn'];
+        }
+
+        // Drop targets if empty
+        if (count($result['targets']) == 0) {
+            unset($result['targets']);
+        }
+        return $result;
+    }
+
+    // Get single selection (radio box)
+    if($this->singleSelect && isset($_POST['listing_radio_selected'])){
+        $entry = get_post('listing_radio_selected');
+        $result['targets']= array($this->entries[$entry]['dn']);
     }
 
     // Filter POST with "listing_" attributes
     foreach ($_POST as $key => $prop) {
 
-      // Capture selections
-      if (preg_match('/^listing_selected_[0-9]+$/', $key)) {
-        $target= preg_replace('/^listing_selected_([0-9]+)$/', '$1', $key);
-        if (isset($this->entries[$target]['dn'])) {
-          $result['targets'][]= $this->entries[$target]['dn'];
+        $prop = get_post($key);
+
+        // Capture selections
+        if (preg_match('/^listing_selected_[0-9]+$/', $key)) {
+            $target= preg_replace('/^listing_selected_([0-9]+)$/', '$1', $key);
+            if (isset($this->entries[$target]['dn'])) {
+                $result['targets'][]= $this->entries[$target]['dn'];
+            }
+            continue;
         }
-        continue;
-      }
 
-      // Capture action with target - this is a one shot
-      if (preg_match('/^listing_[a-zA-Z_]+_[0-9]+(|_x)$/', $key)) {
-        $target= preg_replace('/^listing_[a-zA-Z_]+_([0-9]+)(|_x)$/', '$1', $key);
-        if (isset($this->entries[$target]['dn'])) {
-          $result['action']= preg_replace('/^listing_([a-zA-Z_]+)_[0-9]+(|_x)$/', '$1', $key);
-          $result['targets']= array($this->entries[$target]['dn']);
+        // Capture action with target - this is a one shot
+        if (preg_match('/^listing_[a-zA-Z_]+_[0-9]+(|_x)$/', $key)) {
+            $target= preg_replace('/^listing_[a-zA-Z_]+_([0-9]+)(|_x)$/', '$1', $key);
+            if (isset($this->entries[$target]['dn'])) {
+                $result['action']= preg_replace('/^listing_([a-zA-Z_]+)_[0-9]+(|_x)$/', '$1', $key);
+                $result['targets']= array($this->entries[$target]['dn']);
+            }
+            break;
         }
-        break;
-      }
 
-      // Capture action without target
-      if (preg_match('/^listing_[a-zA-Z_]+(|_x)$/', $key)) {
-        $result['action']= preg_replace('/^listing_([a-zA-Z_]+)(|_x)$/', '$1', $key);
-        continue;
-      }
+        // Capture action without target
+        if (preg_match('/^listing_[a-zA-Z_]+(|_x)$/', $key)) {
+            $result['action']= preg_replace('/^listing_([a-zA-Z_]+)(|_x)$/', '$1', $key);
+            continue;
+        }
     }
 
     // Filter POST with "act" attributes -> posted from action menu
     if (isset($_POST['act']) && $_POST['act'] != '') {
-      if (!preg_match('/^export.*$/', $_POST['act'])){
-        $result['action']= validate($_POST['act']);
-      }
+        if (!preg_match('/^export.*$/', $_POST['act'])){
+            $result['action']= get_post('act');
+        }
     }
 
     // Drop targets if empty
     if (count($result['targets']) == 0) {
-      unset($result['targets']);
+        unset($result['targets']);
     }
     return $result;
-  }
+}
 
 
-  function renderActionMenu()
-  {
+function renderActionMenu()
+{
+    $result= "<input type='hidden' name='act' id='act' value=''><div style='display:none'><input type='submit' name='exec_act' id='exec_act' value=''></div>";
+
     // Don't send anything if the menu is not defined
     if (!isset($this->xmlData['actionmenu']['action'])){
-      return "";
+        return $result;
     }
 
     // Array?
     if (isset($this->xmlData['actionmenu']['action']['type'])){
-      $this->xmlData['actionmenu']['action']= array($this->xmlData['actionmenu']['action']);
+        $this->xmlData['actionmenu']['action']= array($this->xmlData['actionmenu']['action']);
     }
 
     // Load shortcut
     $actions= &$this->xmlData['actionmenu']['action'];
-    $result= "<input type='hidden' name='act' id='actionmenu' value=''><div style='display:none'><input type='submit' name='exec_act' id='exec_act' value=''></div>".
-             "<ul class='level1' id='root'><li><a href='#'>"._("Actions")." <img ".
-             "border=0 class='center' src='images/lists/sort-down.png'></a>";
+    $result.= "<ul class='level1' id='root'><li><a href='#'>"._("Actions")." ".image("images/lists/sort-down.png")."</a>";
 
     // Build ul/li list
     $result.= $this->recurseActions($actions);
 
-    return "<div id='pulldown'>".$result."</li></ul><div>";
-  }
+    return "<div id='pulldown'>".$result."</li></ul></div>";
+}
 
 
-  function recurseActions($actions)
-  {
+function recurseActions($actions)
+{
     global $class_mapping;
     static $level= 2;
     $result= "<ul class='level$level'>";
@@ -1125,164 +1198,164 @@ class listing {
 
     foreach ($actions as $action) {
 
-      // Skip the entry completely if there's no permission to execute it
-      if (!$this->hasActionPermission($action, $this->filter->base)) {
-        continue;
-      }
-
-      // Skip entry if there're missing dependencies
-      if (isset($action['depends'])) {
-        $deps= is_array($action['depends'])?$action['depends']:array($action['depends']);
-        foreach($deps as $clazz) {
-          if (!isset($class_mapping[$clazz])){
-            continue 2;
-          }
-        }
-      }
-
-      // Fill image if set
-      $img= "";
-      if (isset($action['image'])){
-        $img= "<img border='0' class='center' src='".$action['image']."'> ";
-      }
-
-      if ($action['type'] == "separator"){
-        $separator= " style='border-top:1px solid #AAA' ";
-        continue;
-      }
-
-      // Dive into subs
-      if ($action['type'] == "sub" && isset($action['action'])) {
-        $level++;
+        // Skip the entry completely if there's no permission to execute it
+        if (!$this->hasActionPermission($action, $this->filter->base)) {
+            continue;
+        }
+
+        // Skip entry if there're missing dependencies
+        if (isset($action['depends'])) {
+            $deps= is_array($action['depends'])?$action['depends']:array($action['depends']);
+            foreach($deps as $clazz) {
+                if (!isset($class_mapping[$clazz])){
+                    continue 2;
+                }
+            }
+        }
+
+        // Fill image if set
+        $img= "";
+        if (isset($action['image'])){
+            $img= image($action['image'])." ";
+        }
+
+        if ($action['type'] == "separator"){
+            $separator= " style='border-top:1px solid #AAA' ";
+            continue;
+        }
+
+        // Dive into subs
+        if ($action['type'] == "sub" && isset($action['action'])) {
+            $level++;
+            if (isset($action['label'])){
+                $result.= "<li$separator><a href='#'>$img"._($action['label'])." ".image('images/forward-arrow.png')."</a>";
+            }
+
+            // Ensure we've an array of actions, this enables sub menus with only one action.
+            if(isset($action['action']['type'])){
+                $action['action'] = array($action['action']);
+            }
+
+            $result.= $this->recurseActions($action['action'])."</li>";
+            $level--;
+            $separator= "";
+            continue;
+        }
+
+        // Render entry elseways
         if (isset($action['label'])){
-          $result.= "<li$separator><a href='#'>$img"._($action['label'])." <img border='0' src='images/forward-arrow.png'></a>";
+            $result.= "<li$separator><a href='#' onClick='\$(\"act\").value= \"".$action['name']."\";\$(\"exec_act\").click();'>$img"._($action['label'])."</a></li>";
         }
 
-        // Ensure we've an array of actions, this enables sub menus with only one action.
-        if(isset($action['action']['type'])){
-          $action['action'] = array($action['action']);
+        // Check for special types
+        switch ($action['type']) {
+            case 'copypaste':
+                $cut = !isset($action['cut']) || $action['cut'] != "false";
+                $copy = !isset($action['copy']) || $action['copy'] != "false";
+                $result.= $this->renderCopyPasteMenu($separator, $copy , $cut);
+                break;
+
+            case 'snapshot':
+                $result.= $this->renderSnapshotMenu($separator);
+                break;
+
+            case 'exporter':
+                $result.= $this->renderExporterMenu($separator);
+                break;
+
+            case 'daemon':
+                $result.= $this->renderDaemonMenu($separator);
+                break;
         }
 
-        $result.= $this->recurseActions($action['action'])."</li>";
-        $level--;
         $separator= "";
-        continue;
-      }
-
-      // Render entry elseways
-      if (isset($action['label'])){
-        $result.= "<li$separator><a href='#' onClick='document.getElementById(\"actionmenu\").value= \"".$action['name']."\";mainform.submit();'>$img"._($action['label'])."</a></li>";
-      }
-
-      // Check for special types
-      switch ($action['type']) {
-        case 'copypaste':
-          $cut = !isset($action['cut']) || $action['cut'] != "false";
-          $copy = !isset($action['copy']) || $action['copy'] != "false";
-          $result.= $this->renderCopyPasteMenu($separator, $copy , $cut);
-          break;
-
-        case 'snapshot':
-          $result.= $this->renderSnapshotMenu($separator);
-          break;
-
-        case 'exporter':
-          $result.= $this->renderExporterMenu($separator);
-          break;
-
-        case 'daemon':
-          $result.= $this->renderDaemonMenu($separator);
-          break;
-      }
-
-      $separator= "";
     }
 
     $result.= "</ul>";
     return $result;
-  }
+}
 
 
-  function hasActionPermission($action, $dn, $classes= null)
-  {
+function hasActionPermission($action, $dn, $classes= null)
+{
     $ui= get_userinfo();
 
     if (isset($action['acl'])) {
-      $acls= $action['acl'];
-      if (!is_array($acls)) {
-        $acls= array($acls);
-      }
-
-      // Every ACL has to pass
-      foreach ($acls as $acl) {
-        $module= $this->categories;
-        $aclList= array();
-
-        // Replace %acl if available
-        if ($classes) {
-          $otype= $this->getObjectType($this->objectTypes, $classes);
-          $acl= str_replace('%acl', $otype['category']."/".$otype['class'], $acl);
+        $acls= $action['acl'];
+        if (!is_array($acls)) {
+            $acls= array($acls);
         }
 
-        // Split for category and plugins if needed
-        // match for "[rw]" style entries
-        if (preg_match('/^\[([rwcdm]+)\]$/', $acl, $match)){
-          $aclList= array($match[1]);
-        }
+        // Every ACL has to pass
+        foreach ($acls as $acl) {
+            $module= $this->categories;
+            $aclList= array();
 
-        // match for "users[rw]" style entries
-        if (preg_match('/^([a-zA-Z0-9]+)\[([rwcdm]+)\]$/', $acl, $match)){
-          $module= $match[1];
-          $aclList= array($match[2]);
-        }
-
-        // match for "users/user[rw]" style entries
-        if (preg_match('/^([a-zA-Z0-9]+\/[a-zA-Z0-9]+)\[([rwcdm]+)\]$/', $acl, $match)){
-          $module= $match[1];
-          $aclList= array($match[2]);
-        }
+            // Replace %acl if available
+            if ($classes) {
+                $otype= $this->getObjectType($this->objectTypes, $classes);
+                $acl= str_replace('%acl', $otype['category']."/".$otype['class'], $acl);
+            }
 
-        // match "users/user[userPassword:rw(,...)*]" style entries
-        if (preg_match('/^([a-zA-Z0-9]+\/[a-zA-Z0-9]+)\[([a-zA-Z0-9]+:[rwcdm]+(,[a-zA-Z0-9]+:[rwcdm]+)*)\]$/', $acl, $match)){
-          $module= $match[1];
-          $aclList= explode(',', $match[2]);
-        }
+            // Split for category and plugins if needed
+            // match for "[rw]" style entries
+            if (preg_match('/^\[([rwcdm]+)\]$/', $acl, $match)){
+                $aclList= array($match[1]);
+            }
 
-        // Walk thru prepared ACL by using $module
-        foreach($aclList as $sAcl) {
-          $checkAcl= "";
+            // match for "users[rw]" style entries
+            if (preg_match('/^([a-zA-Z0-9]+)\[([rwcdm]+)\]$/', $acl, $match)){
+                $module= $match[1];
+                $aclList= array($match[2]);
+            }
 
-          // Category or detailed permission?
-          if (strpos($module, '/') !== false) {
-            if (preg_match('/([a-zA-Z0-9]+):([rwcdm]+)/', $sAcl, $m) ) {
-              $checkAcl= $ui->get_permissions($dn, $module, $m[1]);
-              $sAcl= $m[2];
-            } else {
-              $checkAcl= $ui->get_permissions($dn, $module, '0');
+            // match for "users/user[rw]" style entries
+            if (preg_match('/^([a-zA-Z0-9]+\/[a-zA-Z0-9]+)\[([rwcdm]+)\]$/', $acl, $match)){
+                $module= $match[1];
+                $aclList= array($match[2]);
             }
-          } else {
-            $checkAcl= $ui->get_category_permissions($dn, $module);
-          }
-
-          // Split up remaining part of the acl and check if it we're
-          // allowed to do something...
-          $parts= str_split($sAcl);
-          foreach ($parts as $part) {
-            if (strpos($checkAcl, $part) === false){
-              return false;
+
+            // match "users/user[userPassword:rw(,...)*]" style entries
+            if (preg_match('/^([a-zA-Z0-9]+\/[a-zA-Z0-9]+)\[([a-zA-Z0-9]+:[rwcdm]+(,[a-zA-Z0-9]+:[rwcdm]+)*)\]$/', $acl, $match)){
+                $module= $match[1];
+                $aclList= explode(',', $match[2]);
             }
-          }
 
+            // Walk thru prepared ACL by using $module
+            foreach($aclList as $sAcl) {
+                $checkAcl= "";
+
+                // Category or detailed permission?
+                if (strpos($module, '/') !== false) {
+                    if (preg_match('/([a-zA-Z0-9]+):([rwcdm]+)/', $sAcl, $m) ) {
+                        $checkAcl= $ui->get_permissions($dn, $module, $m[1]);
+                        $sAcl= $m[2];
+                    } else {
+                        $checkAcl= $ui->get_permissions($dn, $module, '0');
+                    }
+                } else {
+                    $checkAcl= $ui->get_category_permissions($dn, $module);
+                }
+
+                // Split up remaining part of the acl and check if it we're
+                // allowed to do something...
+                $parts= str_split($sAcl);
+                foreach ($parts as $part) {
+                    if (strpos($checkAcl, $part) === false){
+                        return false;
+                    }
+                }
+
+            }
         }
-      }
     }
 
     return true;
-  }
+}
 
 
-  function refreshBasesList()
-  {
+function refreshBasesList()
+{
     global $config;
     $ui= get_userinfo();
 
@@ -1295,19 +1368,19 @@ class listing {
     // Fill internal bases list
     $this->bases= array();
     foreach($k_ids as $department){
-      $this->bases[$department] = $ids[$department];
+        $this->bases[$department] = $ids[$department];
     }
 
     // Populate base selector if already present
     if ($this->baseSelector && $this->baseMode) {
-      $this->baseSelector->setBases($this->bases);
-      $this->baseSelector->update(TRUE);
+        $this->baseSelector->setBases($this->bases);
+        $this->baseSelector->update(TRUE);
     }
-  }
+}
 
 
-  function getDepartments()
-  {
+function getDepartments()
+{
     $departments= array();
     $ui= get_userinfo();
 
@@ -1322,42 +1395,42 @@ class listing {
     $filter= "(&(objectClass=gosaDepartment)(|";
     $attrs= array("description", "objectClass");
     foreach($types as $name => $data){
-      $filter.= "(objectClass=".$data['OC'].")";
-      $attrs[]= $data['ATTR'];
+        $filter.= "(objectClass=".$data['OC'].")";
+        $attrs[]= $data['ATTR'];
     }
     $filter.= "))";
     $res= get_list($filter, $this->categories, $this->base, $attrs, GL_NONE);
 
     // Analyze list of departments
     foreach ($res as $department) {
-      if (!in_array($department['dn'], $validDepartments)) {
-        continue;
-      }
-
-      // Add the attribute where we use for sorting
-      $oc= null;
-      foreach(array_keys($types) as $type) {
-        if (in_array($type, $department['objectClass'])) {
-          $oc= $type;
-          break;
-        }
-      }
-      $department['sort-attribute']= $types[$oc]['ATTR'];
-
-      // Move to the result list
-      $departments[]= $department;
+        if (!in_array($department['dn'], $validDepartments)) {
+            continue;
+        }
+
+        // Add the attribute where we use for sorting
+        $oc= null;
+        foreach(array_keys($types) as $type) {
+            if (in_array($type, $department['objectClass'])) {
+                $oc= $type;
+                break;
+            }
+        }
+        $department['sort-attribute']= $types[$oc]['ATTR'];
+
+        // Move to the result list
+        $departments[]= $department;
     }
 
     return $departments;
-  }
+}
 
 
-  function renderCopyPasteMenu($separator, $copy= true, $cut= true)
-  {
+function renderCopyPasteMenu($separator, $copy= true, $cut= true)
+{
     // We can only provide information if we've got a copypaste handler
     // instance
     if(!(isset($this->copyPasteHandler) && is_object($this->copyPasteHandler))){
-      return "";
+        return "";
     }
 
     // Presets
@@ -1367,46 +1440,46 @@ class listing {
 
     // Switch flags to on if there's at least one category which allows read/paste
     foreach($this->categories as $category){
-      $read= $read || preg_match('/r/', $ui->get_category_permissions($this->base, $category));
-      $paste= $paste || $ui->is_pasteable($this->base, $category) == 1;
+        $read= $read || preg_match('/r/', $ui->get_category_permissions($this->base, $category));
+        $paste= $paste || $ui->is_pasteable($this->base, $category) == 1;
     }
 
 
     // Draw entries that allow copy and cut
     if($read){
 
-      // Copy entry
-      if($copy){
-        $result.= "<li$separator><a href='#' onClick='document.getElementById(\"actionmenu\").value= \"copy\";document.getElementById(\"exec_act\").click();'><img src='images/lists/copy.png' alt='' border='0' class='center'> "._("Copy")."</a></li>";
-        $separator= "";
-      }
+        // Copy entry
+        if($copy){
+            $result.= "<li$separator><a href='#' onClick='\$(\"act\").value= \"copy\";\$(\"exec_act\").click();'>".image('images/lists/copy.png')." "._("Copy")."</a></li>";
+            $separator= "";
+        }
 
-      // Cut entry
-      if($cut){
-        $result.= "<li$separator><a href='#' onClick='document.getElementById(\"actionmenu\").value= \"cut\";document.getElementById(\"exec_act\").click();'><img src='images/lists/cut.png' alt='' border='0' class='center'> "._("Cut")."</a></li>";
-        $separator= "";
-      }
+        // Cut entry
+        if($cut){
+            $result.= "<li$separator><a href='#' onClick='\$(\"act\").value= \"cut\";\$(\"exec_act\").click();'>".image("images/lists/cut.png")." "._("Cut")."</a></li>";
+            $separator= "";
+        }
     }
 
     // Draw entries that allow pasting entries
     if($paste){
-      if($this->copyPasteHandler->entries_queued()){
-        $result.= "<li$separator><a href='#' onClick='document.getElementById(\"actionmenu\").value= \"paste\";document.getElementById(\"exec_act\").click();'><img src='images/lists/paste.png' alt='' border='0' class='center'> "._("Paste")."</a></li>";
-      }else{
-        $result.= "<li$separator><a href='#'><img src='images/lists/paste-grey.png' alt='' border='0' class='center'> "._("Paste")."</a></li>";
-      }
+        if($this->copyPasteHandler->entries_queued()){
+            $result.= "<li$separator><a href='#' onClick='\$(\"act\").value= \"paste\";\$(\"exec_act\").click();'>".image("images/lists/paste.png")." "._("Paste")."</a></li>";
+        }else{
+            $result.= "<li$separator><a href='#'>".image('images/lists/paste-grey.png')." "._("Paste")."</a></li>";
+        }
     }
-    
+
     return($result);
-  }
+}
 
 
-  function renderCopyPasteActions($row, $dn, $category, $class, $copy= true, $cut= true)
-  {
+function renderCopyPasteActions($row, $dn, $category, $class, $copy= true, $cut= true)
+{
     // We can only provide information if we've got a copypaste handler
     // instance
     if(!(isset($this->copyPasteHandler) && is_object($this->copyPasteHandler))){
-      return "";
+        return "";
     }
 
     // Presets
@@ -1415,34 +1488,32 @@ class listing {
 
     // Render cut entries
     if($cut){
-      if($ui->is_cutable($dn, $category, $class)){
-        $result .= "<input class='center' type='image'
-          src='images/lists/cut.png' alt='"._("Cut")."' name='listing_cut_$row' title='"._("Cut this entry")."' style='padding:1px'>";
-      }else{
-        $result.="<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
-      }
+        if($ui->is_cutable($dn, $category, $class)){
+            $result.= image('images/lists/cut.png', "listing_cut_$row", _("Cut this entry"));
+        }else{
+            $result.= image('images/empty.png');
+        }
     }
 
     // Render copy entries
     if($copy){
-      if($ui->is_copyable($dn, $category, $class)){
-        $result.= "<input class='center' type='image'
-          src='images/lists/copy.png' alt='"._("Copy")."' name='listing_copy_$row' title='"._("Copy this entry")."' style='padding:1px'>";
-      }else{
-        $result.="<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
-      }
+        if($ui->is_copyable($dn, $category, $class)){
+            $result.= image('images/lists/copy.png', "listing_copy_$row", _("Copy this entry"));
+        }else{
+            $result.= image('images/empty.png');
+        }
     }
 
     return($result);
-  }
+}
 
 
-  function renderSnapshotMenu($separator)
-  {
+function renderSnapshotMenu($separator)
+{
     // We can only provide information if we've got a snapshot handler
     // instance
     if(!(isset($this->snapshotHandler) && is_object($this->snapshotHandler))){
-      return "";
+        return "";
     }
 
     // Presets
@@ -1451,50 +1522,50 @@ class listing {
 
     if($this->snapshotHandler->enabled() && $ui->allow_snapshot_restore($this->base, $this->categories)){
 
-      // Check if there is something to restore
-      $restore= false;
-      foreach($this->snapshotHandler->getSnapshotBases() as $base){
-        $restore= $restore || count($this->snapshotHandler->getDeletedSnapshots($base)) > 0;
-      }
-
-      // Draw icons according to the restore flag
-      if($restore){
-        $result.= "<li$separator><a href='#' onClick='document.getElementById(\"actionmenu\").value= \"restore\";document.getElementById(\"exec_act\").click();'><img src='images/lists/restore.png' alt='' border='0' class='center'> "._("Restore snapshots")."</a></li>";
-      }else{
-        $result.= "<li$separator><a href='#'><img src='images/lists/restore_grey.png' alt='' border='0' class='center'> "._("Restore snapshots")."</a></li>";
-      }
+        // Check if there is something to restore
+        $restore= false;
+        foreach($this->snapshotHandler->getSnapshotBases() as $base){
+            $restore= $restore || count($this->snapshotHandler->getDeletedSnapshots($base)) > 0;
+        }
+
+        // Draw icons according to the restore flag
+        if($restore){
+            $result.= "<li$separator><a href='#' onClick='\$(\"act\").value= \"restore\";\$(\"exec_act\").click();'>".image('images/lists/restore.png')." "._("Restore snapshots")."</a></li>";
+        }else{
+            $result.= "<li$separator><a href='#'>".image('images/lists/restore-grey.png')." "._("Restore snapshots")."</a></li>";
+        }
     }
 
     return($result);
-  }
+}
 
 
-  function renderExporterMenu($separator)
-  {
+function renderExporterMenu($separator)
+{
     // Presets
     $result = "";
 
     // Draw entries
-    $result.= "<li$separator><a href='#'><img border='0' class='center' src='images/lists/export.png'> "._("Export list")." <img border='0' src='images/forward-arrow.png'></a><ul class='level3'>";
+    $result.= "<li$separator><a href='#'>".image('images/lists/export.png')." "._("Export list")." ".image("images/forward-arrow.png")."</a><ul class='level3'>";
 
     // Export CVS as build in exporter
     foreach ($this->exporter as $action => $exporter) {
-      $result.= "<li><a href='#' onClick='document.getElementById(\"actionmenu\").value= \"$action\";document.getElementById(\"exec_act\").click();'><img border='0' class='center' src='".$exporter['image']."'> ".$exporter['label']."</a></li>";
+        $result.= "<li><a href='#' onClick='\$(\"act\").value= \"$action\";\$(\"exec_act\").click();'>".image($exporter['image'])." ".$exporter['label']."</a></li>";
     }
 
     // Finalize list
     $result.= "</ul></li>";
 
     return($result);
-  }
+}
 
 
-  function renderSnapshotActions($row, $dn, $category, $class, $copy= true, $cut= true)
-  {
+function renderSnapshotActions($row, $dn, $category, $class, $copy= true, $cut= true)
+{
     // We can only provide information if we've got a snapshot handler
     // instance
     if(!(isset($this->snapshotHandler) && is_object($this->snapshotHandler))){
-      return "";
+        return "";
     }
 
     // Presets
@@ -1504,76 +1575,73 @@ class listing {
     // Only act if enabled here
     if($this->snapshotHandler->enabled()){
 
-      // Draw restore button
-      if ($ui->allow_snapshot_restore($dn, $category)){
+        // Draw restore button
+        if ($ui->allow_snapshot_restore($dn, $category)){
 
-        // Do we have snapshots for this dn?
-        if($this->snapshotHandler->hasSnapshots($dn)){
-          $result.= "<input class='center' type='image' src='images/lists/restore.png' ".
-                     "alt='"._("Restore snapshot")."' name='listing_restore_$row' title='".
-                     _("Restore snapshot")."' style='padding:1px'>";
-        } else {
-          $result.= "<img src='images/lists/restore_grey.png' alt=' ' class='center' style='padding:1px'>";
-        }
-      }
-
-      // Draw snapshot button
-      if($ui->allow_snapshot_create($dn, $category)){
-          $result.= "<input class='center' type='image' src='images/snapshot.png' ".
-                     "alt='"._("Create snapshot")."' name='listing_snapshot_$row' title='".
-                     _("Create a new snapshot from this object")."' style='padding:1px'>";
-      }else{
-          $result.= "<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
-      }
+            // Do we have snapshots for this dn?
+            if($this->snapshotHandler->hasSnapshots($dn)){
+                $result.= image('images/lists/restore.png', "listing_restore_$row", _("Restore snapshot"));
+            } else {
+                $result.= image('images/lists/restore-grey.png');
+            }
+        }
+
+        // Draw snapshot button
+        if($ui->allow_snapshot_create($dn, $category)){
+            $result.= image('images/snapshot.png', "listing_snapshot_$row", _("Create new snapshot for this object"));
+        }else{
+            $result.= image('images/empty.png');
+        }
     }
 
     return($result);
-  }
+}
 
 
-  function renderDaemonMenu($separator)
-  {
+function renderDaemonMenu($separator)
+{
     $result= "";
 
     // If there is a daemon registered, draw the menu entries
     if(class_available("DaemonEvent")){
-      $events= DaemonEvent::get_event_types_by_category($this->categories);
-      if(isset($events['BY_CLASS']) && count($events['BY_CLASS'])){
-        foreach($events['BY_CLASS'] as $name => $event){
-          $result.= "<li$separator><a href='#' onClick='document.getElementById(\"actionmenu\").value=\"$name\";document.getElementById(\"exec_act\").click();'>".$event['MenuImage']." ".$event['s_Menu_Name']."</a></li>";
-          $separator= "";
+        $events= DaemonEvent::get_event_types_by_category($this->categories);
+        if(isset($events['BY_CLASS']) && count($events['BY_CLASS'])){
+            foreach($events['BY_CLASS'] as $name => $event){
+                $result.= "<li$separator><a href='#' onClick='\$(\"act\").value=\"$name\";\$(\"exec_act\").click();'>".$event['MenuImage']." ".$event['s_Menu_Name']."</a></li>";
+                $separator= "";
+            }
         }
-      }
     }
 
     return $result;
-  }
+}
 
 
-  function getEntry($dn)
-  {
+function getEntry($dn)
+{
     foreach ($this->entries as $entry) {
-      if (isset($entry['dn']) && strcasecmp($dn, $entry['dn']) == 0){
-        return $entry;
-      }
+        if (isset($entry['dn']) && strcasecmp($dn, $entry['dn']) == 0){
+            return $entry;
+        }
     }
     return null;
-  }
+}
 
 
-  function getEntries()
-  {
+function getEntries()
+{
     return $this->entries;
-  }
+}
 
 
-  function getType($dn)
-  {
+function getType($dn)
+{
+    $dn = LDAP::fix($dn);
     if (isset($this->objectDnMapping[$dn])) {
-      return $this->objectDnMapping[$dn];
+        return $this->objectDnMapping[$dn];
     }
     return null;
-  }
+}
 
 }
 
diff --git a/gosa-core/include/class_log.inc b/gosa-core/include/class_log.inc
index 7e5b923..aaa7c82 100644
--- a/gosa-core/include/class_log.inc
+++ b/gosa-core/include/class_log.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_log.inc 15380 2010-01-27 14:03:19Z cajus $$
+ * ID: $$Id: class_log.inc 18833 2010-06-02 11:24:20Z hickert $$
  *
  * 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
@@ -87,7 +87,7 @@ class log {
         msg_dialog::display(_("Internal error"), sprintf(_("Logging failed: %s"), $msg), ERROR_DIALOG);
       }
     }else{
-      if(is_object($config) && preg_match("/true/i",$config->get_cfg_value("logging",""))){
+      if(is_object($config) && $config->boolValueIsTrue("core","logging")){
         $this->log_into_syslog($entry);
       }
     }
@@ -99,11 +99,11 @@ class log {
     $msgs = array();
 
     if(!isset($entry['action']) || !in_array($entry['action'],array("modify","create","remove","copy","snapshot","view","security","debug"))){
-      $msgs[] = sprintf(_("Invalid option '%s' specified!"), $entry['action']);
+      $msgs[] = sprintf(_("Invalid option %s specified!"), bold($entry['action']));
     }
 
-    if(!isset($entry['objecttype']) || empty($entry['objecttype'])){
-      $msgs[] = _("Specified objectType is empty or invalid!");
+    if(!isset($entry['objecttype'])){
+      $msgs[] = _("Specified 'objectType' is empty or invalid!");
     }
   
     return($msgs);
@@ -114,11 +114,20 @@ class log {
   function log_into_syslog($entry)
   {
     $str= "";
-    if (empty($entry['object']) && empty($entry['changes'])) {
-      $str = "(".$entry['action'].") ".$entry['objecttype'].": ".$entry['result'];
-    } else {
-      $str = "(".$entry['action'].") ".$entry['object']." of type ".$entry['objecttype']." ".$entry['changes'].": ".$entry['result'];
+
+    if(!empty($entry['action']))        $str .= "({$entry['action']}) ";
+
+    // Add object and object type if set.
+    if(!empty($entry['object']) && !empty($entry['objecttype'])){
+        $str .= "{$entry['object']} of type {$entry['objecttype']} ";
+    }elseif(!empty($entry['object'])){
+        $str .= "{$entry['object']} ";
+    }elseif(!empty($entry['objecttype'])){
+        $str .= "{$entry['objecttype']} ";
     }
+    if(!empty($entry['changes'])) $str .= "{$entry['changes']} ";
+    if(!empty($entry['result']))  $str .= ": {$entry['result']} ";
+
     gosa_log($str);
   }
 
diff --git a/gosa-core/include/class_management.inc b/gosa-core/include/class_management.inc
index 212cc27..19265de 100644
--- a/gosa-core/include/class_management.inc
+++ b/gosa-core/include/class_management.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_management.inc 19178 2010-07-28 09:26:54Z hickert $$
+ * ID: $$Id: class_management.inc 20140 2010-10-25 12:55:05Z hickert $$
  *
  * 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
@@ -77,8 +77,8 @@ class management
   protected $snapHandler = null;
 
   // The listing handlers
-  private $headpage = null;
-  private $filter = null;
+  protected $headpage = null;
+  protected $filter = null;
 
   // A list of configured actions/events
   protected $actions = array();
@@ -92,6 +92,11 @@ class management
     $this->headpage = $headpage;
     $this->ui = $ui;
     $this->config = $config;
+    $this->initTime = microtime(TRUE);
+
+    // Create statistic table entry 
+    stats::log('management', $class = get_class($this), $this->getAclCategories(),  $action = 'open', 
+            $amount = 1, $duration = (microtime(TRUE) - $this->initTime));
 
     if($this->cpHandler) $this->headpage->setCopyPasteHandler($this->cpHandler);
     if($this->snapHandler) $this->headpage->setSnapshotHandler($this->snapHandler);
@@ -118,9 +123,28 @@ class management
     $this->registerAction("restore",     "restoreSnapshotDialog");
     $this->registerAction("saveSnapshot","saveSnapshot");
     $this->registerAction("restoreSnapshot","restoreSnapshot");
+    $this->registerAction("removeSnapshotConfirmed","removeSnapshotConfirmed");
     $this->registerAction("cancelSnapshot","closeDialogs");
+
+    $this->registerAction("config-filter","editFilter");
+    $this->registerAction("saveFilter","saveFilter");
+    $this->registerAction("cancelFilter","cancelFilter");
+
+    // To temporay disable the filter caching UNcomment this line.
+    #session::global_un_set(get_class($this)."_filter");
   }
 
+  
+  /*! \brief  Returns an array with all ACL-Categories we are responsible for.
+   */
+  function getAclCategories()
+  {
+      $ret= $this->aclCategory;
+      if(!is_array($ret)) $ret = array($ret);
+      return($ret);
+  }    
+
+
   /*! \brief  Execute this plugin
    *          Handle actions/events, locking, snapshots, dialogs, tabs,...
    */
@@ -130,6 +154,8 @@ class management
     $vars = array('/^act$/','/^listing/','/^PID$/','/^FILTER_PID$/');
     session::set('LOCK_VARS_TO_USE',$vars);
 
+    pathNavigator::registerPlugin($this);
+
     /* Display the copy & paste dialog, if it is currently open */
     $ret = $this->copyPasteHandler("",array());
     if($ret){
@@ -141,9 +167,6 @@ class management
       $this->filter->update();
       session::global_set(get_class($this)."_filter", $this->filter);
       session::set('autocomplete', $this->filter);
-      if (!$this->filter->isValid()){
-        msg_dialog::display(_("Filter error"), _("The filter is incomplete!"), ERROR_DIALOG);
-      }
     }
 
     // Handle actions (POSTs and GETs)
@@ -180,11 +203,20 @@ class management
 
       $this->snapHandler->setSnapshotBases($bases);
     }
-    
+ 
+    // Create statistic table entry 
+    stats::log('management', $class = get_class($this), $this->getAclCategories(),  $action = 'view',
+            $amount = 1, $duration = (microtime(TRUE) - $this->initTime));
+ 
     // Display list
     return($this->renderList());
   }
-  
+ 
+  function editFilter()
+  {
+    $this->dialogObject = new userFilter($this->config,$this->getHeadpage());
+  }
+ 
   function renderList()
   {
     $this->headpage->update();
@@ -207,16 +239,8 @@ class management
    */
   protected function getHeader()
   {
-    if($this->skipHeader) return("");
-
-    if (get_object_info() != ""){
-      $display= print_header(get_template_path($this->plIcon),_($this->plDescription),
-          "<img alt=\"\" class=\"center\" src=\"".get_template_path('images/lists/locked.png')."\">".
-          LDAP::fix(get_object_info()));
-    } else {
-      $display= print_header(get_template_path($this->plIcon),_($this->plDescription));
-    }
-    return($display);
+    // We do not display any headers right now.
+    if(1 || $this->skipHeader) return("");
   }
 
 
@@ -244,21 +268,22 @@ class management
     // In case an of locked entry, we may have opened a read-only tab.
     $str = "";
     if(isset($this->tabObject->read_only) && $this->tabObject->read_only == TRUE){
-      $str.= "<p style=\"text-align:right\">
-        <input type=submit name=\"edit_cancel\" value=\"".msgPool::cancelButton()."\">
+      $str.= "
+        <p style=\"text-align:right\">
+          <button type=submit name=\"edit_cancel\">".msgPool::cancelButton()."</button>
         </p>";
       return($str);
     }else{
 
       // Display ok, (apply) and cancel buttons
       $str.= "<p style=\"text-align:right\">\n";
-      $str.= "<input type=submit name=\"edit_finish\" style=\"width:80px\" value=\"".msgPool::okButton()."\">\n";
+      $str.= "<button type=\"submit\" name=\"edit_finish\">".msgPool::okButton()."</button>\n";
       $str.= " \n";
       if($this->displayApplyBtn){
-        $str.= "<input type=submit name=\"edit_apply\" value=\"".msgPool::applyButton()."\">\n";
+        $str.= "<button type=\"submit\" name=\"edit_apply\">".msgPool::applyButton()."</button>\n";
         $str.= " \n";
       }
-      $str.= "<input type=submit name=\"edit_cancel\" value=\"".msgPool::cancelButton()."\">\n";
+      $str.= "<button type=\"submit\" name=\"edit_cancel\">".msgPool::cancelButton()."</button>\n";
       $str.= "</p>";
     }
     return($str);
@@ -274,14 +299,21 @@ class management
    */
   protected function removeEntryRequested($action="",$target=array(),$all=array())
   {
+    // Close dialogs and remove locks for currently handled dns
+    $this->cancelEdit();
+  
     $disallowed = array();
     $this->dns = array();
 
     @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$target,"Entry removel requested!");
 
     // Check permissons for each target 
+    $h = $this->getHeadpage();
+    $oTypes = array_reverse($h->objectTypes);
     foreach($target as $dn){
-      $acl = $this->ui->get_permissions($dn, $this->aclCategory."/".$this->aclPlugin);
+      $entry = $h->getEntry($dn);
+      $obj   = $h->getObjectType($oTypes, $entry['objectClass']);
+      $acl = $this->ui->get_permissions($dn, $obj['category']."/".$obj['class']);
       if(preg_match("/d/",$acl)){
         $this->dns[] = $dn;
       }else{
@@ -302,16 +334,28 @@ class management
 
       // Add locks
       $dns_names = array();
+      $types = array();
+
+      // Build list of object -labels
+      foreach($h->objectTypes as $type){
+        $map[$type['objectClass']]= $type['label'];
+      }
+
       foreach($this->dns as $dn){
-        $dns_names[] =LDAP::fix($dn);
+        $tmp = $h->getType($dn);
+        if(isset($map[$tmp])){
+          $dns_names[LDAP::fix($dn)] = _($map[$tmp]);
+        }else{
+          $dns_names[] =LDAP::fix($dn);
+        }
       }
       add_lock ($this->dns, $this->ui->dn);
 
       // Display confirmation dialog.
       $smarty = get_smarty();
-      $smarty->assign("info", msgPool::deleteInfo($dns_names,_($this->objectName)));
+      $smarty->assign("info", msgPool::deleteInfo($dns_names));
       $smarty->assign("multiple", true);
-      return($smarty->fetch(get_template_path('remove.tpl', TRUE)));
+      return($smarty->fetch(get_template_path('removeEntries.tpl')));
     }
   }  
 
@@ -323,26 +367,34 @@ class management
    *  @param  Array   'all'     A combination of both 'action' and 'target'.
    */
   function removeEntryConfirmed($action="",$target=array(),$all=array(),
-      $altTabClass="",$altTabType="",$altAclCategory="")
+      $altTabClass="",$altTabType="",  $altAclCategory="",$altAclPlugin="")
   {
     $tabType = $this->tabType;
     $tabClass = $this->tabClass;
     $aclCategory = $this->aclCategory;
+    $aclPlugin = $this->aclPlugin;
     if(!empty($altTabClass)) $tabClass = $altTabClass;
     if(!empty($altTabType)) $tabType = $altTabType;
     if(!empty($altAclCategory)) $aclCategory = $altAclCategory;
+    if(!empty($altAclPlugin)) $aclPlugin = $altAclPlugin;
 
     @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$target,"Entry removel confirmed!");
 
+    // Check permissons for each target 
+    $h = $this->getHeadpage();
+    $oTypes = array_reverse($h->objectTypes);
     foreach($this->dns as $key => $dn){
+      $entry = $h->getEntry($dn);
+      $obj   = $h->getObjectType($oTypes, $entry['objectClass']);
+      $acl = $this->ui->get_permissions($dn, $obj['category']."/".$obj['class']);
 
       // Check permissions, are we allowed to remove this object? 
-      $acl = $this->ui->get_permissions($dn, $this->aclCategory."/".$this->aclPlugin);
       if(preg_match("/d/",$acl)){
 
         // Delete the object
         $this->dn = $dn;
-        $this->tabObject= new $tabClass($this->config,$this->config->data['TABS'][$tabType], $this->dn, $aclCategory, true, true);
+        $this->tabObject= new $tabClass($this->config,$this->config->data['TABS'][$tabType], $this->dn, 
+            $aclCategory, true, true);
         $this->tabObject->set_acl_base($this->dn);
         $this->tabObject->parent = &$this;
         $this->tabObject->delete ();
@@ -375,7 +427,10 @@ class management
     if(isset($_POST['edit_finish'])) $action['action'] = "save";    
     if(isset($_POST['edit_cancel'])) $action['action'] = "cancel";    
     if(isset($_POST['delete_confirmed'])) $action['action'] = "removeConfirmed";   
+    if(isset($_POST['delete_snapshot_confirm'])) $action['action'] = "removeSnapshotConfirmed";   
     if(isset($_POST['delete_cancel'])) $action['action'] = "cancelDelete";   
+    if(isset($_POST['saveFilter'])) $action['action'] = "saveFilter";   
+    if(isset($_POST['cancelFilter'])) $action['action'] = "cancelFilter";   
 
     // Detect Snapshot actions
     if(isset($_POST['CreateSnapshot'])) $action['action'] = "saveSnapshot";   
@@ -384,7 +439,7 @@ class management
       $once =TRUE;
       if(preg_match("/^RestoreSnapShot_/",$name) && $once){
         $once = FALSE;
-        $entry = base64_decode(preg_replace("/^RestoreSnapShot_([^_]*)_[xy]$/i","\\1",$name));
+        $entry = base64_decode(preg_replace("/^RestoreSnapShot_(.*)$/i","\\1",$name));
         $action['action'] = "restoreSnapshot";
         $action['targets'] = array($entry);
       }
@@ -402,6 +457,11 @@ class management
     if(isset($this->actions[$action['action']])){
       $func = $this->actions[$action['action']];
       if(!isset($action['targets']))$action['targets']= array(); 
+
+      // Create statistic table entry 
+      stats::log('management', $class = get_class($this), $this->getAclCategories(),  $action['action'],
+              $amount = count($action['targets']), $duration = (microtime(TRUE) - $this->initTime));
+
       return($this->$func($action['action'],$action['targets'],$action));
     }
   } 
@@ -424,7 +484,7 @@ class management
         $this->dialogObject->parent = &$this;
 
       }else{
-        msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to create a snapshot for %s."),$entry),
+        msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to create a snapshot for %s!"), bold($entry)),
             ERROR_DIALOG);
       }
     }
@@ -471,7 +531,22 @@ class management
       @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$this->dn,"Snaptshot restored!");
       $this->closeDialogs();
     }else{
-      msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to restore a snapshot for %s."),$entry),
+      msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to restore a snapshot for %s!"), bold($entry)),
+          ERROR_DIALOG);
+    }
+  }
+
+
+  /*! \brief  Removes a snapshot object.
+   */
+  function removeSnapshotConfirmed($action="",$target=array(),$all=array())
+  {
+    $entry = $this->dialogObject->del_dn;
+    if(!empty($entry) && $this->ui->allow_snapshot_create($entry,$this->aclCategory)){
+      $this->snapHandler->remove_snapshot($entry);
+      @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$entry,"Snaptshot removed!");
+    }else{
+      msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to remove a snapshot for %s!"), bold($entry)),
           ERROR_DIALOG);
     }
   }
@@ -508,7 +583,7 @@ class management
         $this->dialogObject->display_restore_dialog = true;
         $this->dialogObject->parent = &$this;
       }else{
-        msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to restore a snapshot for %s."),$entry),
+        msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to restore a snapshot for %s!"), bold($entry)),
             ERROR_DIALOG);
       } 
     }else{
@@ -522,7 +597,7 @@ class management
         $this->dialogObject->display_restore_dialog = true;
         $this->dialogObject->parent = &$this;
       }else{
-        msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to restore a snapshot for %s."),$entry),
+        msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to restore a snapshot for %s!"), bold($entry)),
             ERROR_DIALOG);
       } 
     }
@@ -575,13 +650,23 @@ class management
     if(empty($tabClass) || empty($tabType)){
       // No tab type defined
     }else{
-      if (isset($this->config->data['TABS'][$tabType])) {
-        $this->tabObject= new $tabClass($this->config,$this->config->data['TABS'][$tabType], $this->dn, $aclCategory);
-        $this->tabObject->set_acl_base($this->headpage->getBase());
-        $this->tabObject->parent = &$this;
-        @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$this->dn,"Create new entry initiated!");
+
+        if (isset($this->config->data['TABS'][$tabType])) {
+
+            // Check if the base plugin is available - it is mostly responsible for object creation and removal.
+            $first  = $this->config->data['TABS'][$tabType][0];
+            if(!class_available($first['CLASS'])){
+                msg_dialog::display(_("Internal error"),
+                        sprintf(_("Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"), $first['CLASS']),
+                        ERROR_DIALOG);
+            }else{
+                $this->tabObject= new $tabClass($this->config,$this->config->data['TABS'][$tabType], $this->dn, $aclCategory);
+                $this->tabObject->set_acl_base($this->headpage->getBase());
+                $this->tabObject->parent = &$this;
+                @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$this->dn,"Create new entry initiated!");
+            }
       } else {
-        msg_dialog::display(_("Error"), sprintf(_("No tab declaration for '%s' found in your configuration file. Cannot create plugin instance!"), $tabType), ERROR_DIALOG);
+        msg_dialog::display(_("Error"), sprintf(_("No tab definition for %s found in configuration file: cannot create plugin instance!"), bold($tabType)), ERROR_DIALOG);
       }
     }
   }
@@ -641,7 +726,7 @@ class management
       set_object_info($this->dn);
       $user = get_lock($this->dn);
       if ($user != ""){
-        return(gen_locked_message ($user, $this->dn,TRUE));
+        return(gen_locked_message ($user, array($this->dn),TRUE));
       }
       add_lock ($this->dn, $this->ui->dn);
 
@@ -649,11 +734,21 @@ class management
       if(empty($tabClass) || empty($tabType)){
         trigger_error("We can't edit any object(s). 'tabClass' or 'tabType' is empty!");
       }else{
+
         $tab = $tabClass;
-        $this->tabObject= new $tab($this->config,$this->config->data['TABS'][$tabType], $this->dn,$aclCategory);
-        @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$this->dn,"Edit entry initiated!");
-        $this->tabObject->set_acl_base($this->dn);
-        $this->tabObject->parent = &$this;
+        
+        // Check if the base plugin is available - it is mostly responsible for object creation and removal.
+        $first  = $this->config->data['TABS'][$tabType][0];
+        if(!class_available($first['CLASS'])){
+            msg_dialog::display(_("Internal error"), 
+                    sprintf(_("Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"), $first['CLASS']), 
+                    ERROR_DIALOG);
+        }else{
+            $this->tabObject= new $tab($this->config,$this->config->data['TABS'][$tabType], $this->dn,$aclCategory);
+            @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$this->dn,"Edit entry initiated!");
+            $this->tabObject->set_acl_base($this->dn);
+            $this->tabObject->parent = &$this;
+        }
       }
     }else{
 
@@ -688,6 +783,39 @@ class management
   }
 
 
+  /*! \brief  Close filter dialog
+   */
+  protected function cancelFilter()
+  {
+      if($this->dialogObject instanceOf userFilter){
+          $this->remove_lock();
+          $this->closeDialogs();
+      }
+  }
+
+
+  /*! \brief  Save filter modifcations.
+   */
+  protected function saveFilter()
+  {
+    if($this->dialogObject instanceOf userFilter){
+      $msgs = $this->dialogObject->check();
+      if(count($msgs)){
+        msg_dialog::displayChecks($msgs); 
+        return("");
+      }else{
+        $this->dialogObject->save();
+        @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$this->dns,"Entry saved!");
+        $this->remove_lock();
+        $this->closeDialogs();
+
+        // Ask filter to reload information
+        $this->filter->reloadFilters();
+      }
+    }
+  }
+
+
   /*! \brief  Save object modifications and closes dialogs (returns to object listing).
    *          - Calls '::check' to validate the given input.
    *          - Calls '::save' to save back object modifications (e.g. to ldap).
@@ -866,43 +994,45 @@ class management
     $this->filter = $str;
   }
 
+
   function postcreate() {
-      $this->handle_post_events('add');
+    $this->handle_post_events('add');
   }
   function postmodify(){
-      $this->handle_post_events('modify');
+    $this->handle_post_events('modify');
   }
   function postremove(){
-      $this->handle_post_events('remove');
+    $this->handle_post_events('remove');
   }
 
   function is_modal_dialog()
   {
-      return(is_object($this->tabObject) || is_object($this->dialogObject));
+    return(is_object($this->tabObject) || is_object($this->dialogObject));
   }
 
+
   /*! \brief    Forward command execution request
    *             to the correct method.
    */
   function handle_post_events($mode, $addAttrs= array())
   {
-      if(!in_array($mode, array('add','remove','modify'))){
-          trigger_error(sprintf("Invalid post event type given %s! Valid types are [add,modify,remove].", $mode));
-          return;
-      }
-      switch ($mode){
-          case "add":
-              plugin::callHook($this,"POSTCREATE", $addAttrs);
-          break;
-
-          case "modify":
-              plugin::callHook($this,"POSTMODIFY", $addAttrs);
-          break;
-
-          case "remove":
-              plugin::callHook($this,"POSTREMOVE", $addAttrs);
-          break;
-      }
+    if(!in_array($mode, array('add','remove','modify'))){
+      trigger_error(sprintf("Invalid post event type given %s! Valid types are [add,modify,remove].", bold($mode)));
+      return;
+    }
+    switch ($mode){
+      case "add":
+        plugin::callHook($this,"POSTCREATE", $addAttrs);
+      break;
+
+      case "modify":
+        plugin::callHook($this,"POSTMODIFY", $addAttrs);
+      break;
+
+      case "remove":
+        plugin::callHook($this,"POSTREMOVE", $addAttrs);
+      break;
+    }
   }
 }
 
diff --git a/gosa-core/include/class_msg_dialog.inc b/gosa-core/include/class_msg_dialog.inc
index cf49a32..35291f8 100644
--- a/gosa-core/include/class_msg_dialog.inc
+++ b/gosa-core/include/class_msg_dialog.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_msg_dialog.inc 13261 2008-12-11 14:39:09Z cajus $$
+ * ID: $$Id: class_msg_dialog.inc 19245 2010-07-29 13:19:50Z hickert $$
  *
  * 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
@@ -29,174 +29,174 @@ define("FATAL_ERROR_DIALOG"	, 10006);
 
 class msg_dialog
 {
-	private $s_Title 	= "Undefined";
-	private $s_Message 	= "Undefined";
-	private $i_Type 	= INFO_DIALOG ;
-	private $i_ID		= 0;
-	private $a_Trace	= array();
-
-	public function __construct($s_title,$s_message,$i_type)
-	{
-		global $config;
-
-		if(empty($s_message)) return;
-	
-		if(!in_array($i_type,array(INFO_DIALOG,WARNING_DIALOG,ERROR_DIALOG,CONFIRM_DIALOG,FATAL_ERROR_DIALOG,OK_CANCEL_DIALOG))){
-			trigger_error("Invalid msg_dialog type.");
-			$i_type = INFO_DIALOG;
-		}
-
-		if((!session::is_set('errorsAlreadyPosted')) || !is_array(session::get('errorsAlreadyPosted'))){
-			session::set('errorsAlreadyPosted',array());
-		}
-
-		$errorsAlreadyPosted = session::get('errorsAlreadyPosted');
-		if(!isset($errorsAlreadyPosted[$s_title.$s_message])){
-			$errorsAlreadyPosted[$s_title.$s_message] = 0;
-		}
-		$errorsAlreadyPosted[$s_title.$s_message]++;
-
-		if($errorsAlreadyPosted[$s_title.$s_message] <=1  ){
-
-			$this->i_ID 	 = preg_replace("/[^0-9]*/","",microtime()); 
-			$this->s_Title	 = $s_title;
-			$this->s_Message = $s_message;
-			$this->i_Type	 = $i_type;
-
-			/* Append trace information, only if error messages are enabled */
-			if(	isset($config) && 
-				is_object($config) && 
-				$config->get_cfg_value("displayerrors") == "true" ){
-				$this->a_Trace	 = debug_backtrace();
-			}
-			if(!session::is_set('msg_dialogs')){
-				session::set('msg_dialogs',array());
-			}
-			if($this->i_Type == FATAL_ERROR_DIALOG){
-				restore_error_handler();
-				error_reporting(E_ALL);
-				echo $this->execute();
-			}else{
-				$msg_dialogs   = session::get('msg_dialogs');
-				$msg_dialogs[] = $this;
-				session::set('msg_dialogs',$msg_dialogs);
-			}
-		}
-		session::set('errorsAlreadyPosted',$errorsAlreadyPosted);
-	}
-
-
-	public static function display($s_title,$s_message,$i_type = INFO_DIALOG)
-	{
-		new msg_dialog($s_title,$s_message,$i_type);	
-	}
-
-
-	public static function displayChecks($messages)
-	{
-		/* Assemble the message array to a plain string */
-		foreach ($messages as $error){
-			msg_dialog::display(_("Error"), $error, ERROR_DIALOG);
-		}
-	}
-
-
-	public function get_ID()
-	{
-		return($this->i_ID);
-	}
-
-	public function execute()
-	{
-		if($this->i_Type == FATAL_ERROR_DIALOG)	{
-			$display = 
-				"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"
-				\"http://www.w3.org/TR/html4/transitional.dtd\">
-				<html><head>
-				<title>GOsa startup failed</title>
-				</head><body>
-				<table style='width:100%; border:2px solid red;' summary=''>
-				<tr><td style='vertical-align:top;padding:10px'>
-				<img src='images/error.png' alt='{t}Error{/t}'>
-				</td><td style='width:100%'>
-				<b>".$this->s_Title."</b><br>
-				".$this->s_Message."<br><br>
-				"._("Please fix the above error and reload the page.")."
-				</td></tr>
-				</table></body></html>";
-			return($display);;
-		}else{
-
-			$smarty = get_smarty();
-			$smarty->assign("s_Trace"	,print_a($this->a_Trace,TRUE));
-			$smarty->assign("i_TraceCnt",count($this->a_Trace));
-			$smarty->assign("i_Type",$this->i_Type);
-			$smarty->assign("s_Message",$this->s_Message);
-			$smarty->assign("s_Title",$this->s_Title);
-			$smarty->assign("i_ID",$this->i_ID);
-			$smarty->assign("frame",false);
-			$smarty->assign("JS",session::global_get('js'));
-			$smarty->assign("IE",preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT']));
-			return($smarty->fetch(get_template_path('msg_dialog.tpl')));
-		}
-	}
-
-	
-	public function is_confirmed()
-	{
-		if(isset($_POST['MSG_OK'.$this->i_ID])){
-			return(TRUE);
-		}else{
-			return(FALSE);
-		}
-	}
-	
-
-	public static function get_dialogs()
-	{
-		$return  ="";
-		$dialog_ids= "";
-
-		$seen = "";
-		if(isset($_POST['closed_msg_dialogs'])){
+    private $s_Title 	= "Undefined";
+    private $s_Message 	= "Undefined";
+    private $i_Type 	= INFO_DIALOG ;
+    private $i_ID		= 0;
+    private $a_Trace	= array();
+
+    public function __construct($s_title,$s_message,$i_type)
+    {
+        global $config;
+
+        if(empty($s_message)) return;
+
+        if(!in_array($i_type,array(INFO_DIALOG,WARNING_DIALOG,ERROR_DIALOG,CONFIRM_DIALOG,FATAL_ERROR_DIALOG,OK_CANCEL_DIALOG))){
+            trigger_error("Invalid msg_dialog type.");
+            $i_type = INFO_DIALOG;
+        }
+
+        if((!session::is_set('errorsAlreadyPosted')) || !is_array(session::get('errorsAlreadyPosted'))){
+            session::set('errorsAlreadyPosted',array());
+        }
+
+        $errorsAlreadyPosted = session::get('errorsAlreadyPosted');
+        if(!isset($errorsAlreadyPosted[$s_title.$s_message])){
+            $errorsAlreadyPosted[$s_title.$s_message] = 0;
+        }
+        $errorsAlreadyPosted[$s_title.$s_message]++;
+
+        if($errorsAlreadyPosted[$s_title.$s_message] <=1  ){
+
+            $this->i_ID 	 = preg_replace("/[^0-9]*/","",microtime()); 
+            $this->s_Title	 = $s_title;
+            $this->s_Message = $s_message;
+            $this->i_Type	 = $i_type;
+
+            /* Append trace information, only if error messages are enabled */
+            if(	isset($config) && 
+                    is_object($config) && 
+                    $config->get_cfg_value("core","displayErrors") == "true" ){
+                $this->a_Trace	 = debug_backtrace();
+            }
+            if(!session::is_set('msg_dialogs')){
+                session::set('msg_dialogs',array());
+            }
+            if($this->i_Type == FATAL_ERROR_DIALOG){
+                restore_error_handler();
+                error_reporting(E_ALL);
+                echo $this->execute();
+            }else{
+                $msg_dialogs   = session::get('msg_dialogs');
+                $msg_dialogs[] = $this;
+                session::set('msg_dialogs',$msg_dialogs);
+            }
+        }
+        session::set('errorsAlreadyPosted',$errorsAlreadyPosted);
+    }
+
+
+    public static function display($s_title,$s_message,$i_type = INFO_DIALOG)
+    {
+        new msg_dialog($s_title,$s_message,$i_type);	
+    }
+
+
+    public static function displayChecks($messages)
+    {
+        /* Assemble the message array to a plain string */
+        foreach ($messages as $error){
+            msg_dialog::display(_("Error"), $error, ERROR_DIALOG);
+        }
+    }
+
+
+    public function get_ID()
+    {
+        return($this->i_ID);
+    }
+
+    public function execute()
+    {
+        if($this->i_Type == FATAL_ERROR_DIALOG)	{
+            $display = 
+                "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"
+                \"http://www.w3.org/TR/html4/transitional.dtd\">
+                <html><head>
+                <title>GOsa startup failed</title>
+                </head><body>
+                <table style='width:100%; border:2px solid red;' summary=''>
+                <tr><td style='vertical-align:top;padding:10px'>
+                <img src='images/error.png' alt='{t}Error{/t}'>
+                </td><td style='width:100%'>
+                <b>".$this->s_Title."</b><br>
+                ".$this->s_Message."<br><br>
+                "._("Please fix the above error and reload the page.")."
+                </td></tr>
+                </table></body></html>";
+            return($display);;
+        }else{
+
+            $smarty = get_smarty();
+            $smarty->assign("s_Trace"	,print_a($this->a_Trace,TRUE));
+            $smarty->assign("i_TraceCnt",count($this->a_Trace));
+            $smarty->assign("i_Type",$this->i_Type);
+            $smarty->assign("s_Message",$this->s_Message);
+            $smarty->assign("s_Title",$this->s_Title);
+            $smarty->assign("i_ID",$this->i_ID);
+            $smarty->assign("frame",false);
+            $smarty->assign("JS",session::global_get('js'));
+            $smarty->assign("IE",preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT']));
+            return($smarty->fetch(get_template_path('msg_dialog.tpl')));
+        }
+    }
+
+
+    public function is_confirmed()
+    {
+        if(isset($_POST['MSG_OK'.$this->i_ID])){
+            return(TRUE);
+        }else{
+            return(FALSE);
+        }
+    }
+
+
+    public static function get_dialogs()
+    {
+        $return  ="";
+        $dialog_ids= "";
+
+        $seen = "";
+        if(isset($_POST['closed_msg_dialogs'])){
 #			$seen = $_POST['closed_msg_dialogs'];
-		}
-
-		if(session::is_set('msg_dialogs') && is_array(session::get('msg_dialogs')) && count(session::get('msg_dialogs'))){
-
-			/* Get frame one */
-			$smarty = get_smarty();
-			$smarty->assign("frame", true);
-			$smarty->assign("IE",preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT']));
-			$return = $smarty->fetch(get_template_path('msg_dialog.tpl'));
-
-			if(!session::global_get('js')){
-				$dialog = array_pop(session::get('msg_dialogs'));
-				$return.= $dialog->execute();
-			}else{
-				$msg_dialogs = session::get('msg_dialogs');
-				foreach($msg_dialogs as $key => $dialog){
-
-					if(preg_match("/".$dialog->get_ID()."/",$seen)){
-						unset($msg_dialogs[$key]);
-					}else{
-						$return.= $dialog->execute();
-						$dialog_ids= $dialog->get_ID().",".$dialog_ids;
-					}
-					unset($msg_dialogs[$key]);
-				}
-				session::set('msg_dialogs',$msg_dialogs);
-			}
-			$dialog_ids = preg_replace("/,$/","",$dialog_ids);
-
-			$return .= "</div>";
-			$return .="<input type='hidden' style='width:400px;' name='pending_msg_dialogs' id='pending_msg_dialogs' value='".$dialog_ids."'>";
-			$return .="<input type='hidden' style='width:400px;' name='closed_msg_dialogs' id='closed_msg_dialogs' value=''>";
-			$return .="<input type='hidden' style='width:400px;' name='current_msg_dialogs' id='current_msg_dialogs' value=''>";
-			$return .="<input type='hidden' style='width:700px;' name='js_debug' id='js_debug'>";
-		}
-		return($return);
-	}
+        }
+
+        if(session::is_set('msg_dialogs') && is_array(session::get('msg_dialogs')) && count(session::get('msg_dialogs'))){
+
+            /* Get frame one */
+            $smarty = get_smarty();
+            $smarty->assign("frame", true);
+            $smarty->assign("IE",preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT']));
+            $return = $smarty->fetch(get_template_path('msg_dialog.tpl'));
+
+            if(!session::global_get('js')){
+                $dialog = array_pop(session::get('msg_dialogs'));
+                $return.= $dialog->execute();
+            }else{
+                $msg_dialogs = session::get('msg_dialogs');
+                foreach($msg_dialogs as $key => $dialog){
+
+                    if(preg_match("/".$dialog->get_ID()."/",$seen)){
+                        unset($msg_dialogs[$key]);
+                    }else{
+                        $return.= $dialog->execute();
+                        $dialog_ids= $dialog->get_ID().",".$dialog_ids;
+                    }
+                    unset($msg_dialogs[$key]);
+                }
+                session::set('msg_dialogs',$msg_dialogs);
+            }
+            $dialog_ids = preg_replace("/,$/","",$dialog_ids);
+
+            $return .= "</div>";
+            $return .="<input type='hidden' style='width:400px;' name='pending_msg_dialogs' id='pending_msg_dialogs' value='".$dialog_ids."'>";
+            $return .="<input type='hidden' style='width:400px;' name='closed_msg_dialogs' id='closed_msg_dialogs' value=''>";
+            $return .="<input type='hidden' style='width:400px;' name='current_msg_dialogs' id='current_msg_dialogs' value=''>";
+            $return .="<input type='hidden' style='width:700px;' name='js_debug' id='js_debug'>";
+        }
+        return($return);
+    }
 
 }
 ?>
diff --git a/gosa-core/include/class_multi_plug.inc b/gosa-core/include/class_multi_plug.inc
index 5601df8..52379d8 100644
--- a/gosa-core/include/class_multi_plug.inc
+++ b/gosa-core/include/class_multi_plug.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_multi_plug.inc 14136 2009-08-26 08:02:49Z hickert $$
+ * ID: $$Id: class_multi_plug.inc 19577 2010-09-09 08:31:39Z hickert $$
  *
  * 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
@@ -359,7 +359,7 @@ class multi_plug
    */
   public function get_object_info()
   {
-    return(_("You are currently editing mutliple entries."));
+    return(_("You are currently editing multiple entries."));
   }
 
 
@@ -388,8 +388,11 @@ class multi_plug
   {
     foreach($this->a_handles as $i_id => $o_handle){
       if($o_handle->password_change_needed() && isset($o_handle->by_object['user'])){
-        new msg_dialog(_("Password reset"),_("The user password was resetted, please set a new password value!"),WARNING_DIALOG);
-        change_password ($o_handle->dn, "",0, $o_handle->by_object['user']->pw_storage);
+        if(!change_password ($o_handle->dn, "",FALSE, $o_handle->by_object['user']->pw_storage,'',$message)){
+            msg_dialog::displayChecks(array($message));
+        }else{
+            new msg_dialog(_("Reset password"),_("The user password has been reset. Please set a new password!"),WARNING_DIALOG);
+        }
       }
     }
     return(FALSE);
diff --git a/gosa-core/include/class_pChartInclude.inc b/gosa-core/include/class_pChartInclude.inc
new file mode 100644
index 0000000..90f06de
--- /dev/null
+++ b/gosa-core/include/class_pChartInclude.inc
@@ -0,0 +1,8 @@
+<?php
+require_once("../include/pChart/pCache.class");
+require_once("../include/pChart/pChart.class");
+require_once("../include/pChart/pData.class");
+
+class pChartInclude {}
+
+?>
diff --git a/gosa-core/include/class_pathNavigator.inc b/gosa-core/include/class_pathNavigator.inc
new file mode 100644
index 0000000..6140e0e
--- /dev/null
+++ b/gosa-core/include/class_pathNavigator.inc
@@ -0,0 +1,101 @@
+<?php
+
+class pathNavigator
+{
+
+  static function registerPlugin($class, $title= "")
+  {
+    $str = "";
+
+    // Display headline of management plugins
+    if($class instanceOf management && isset($class->plHeadline)){
+      $str= _($class->plHeadline);
+    }
+
+    // Shown title of sub dialogs (They have no plHeadline set.)
+    if($class instanceOf plugin && !isset($class->plHeadline)){
+      if(!empty($class->pathTitle)){
+        $str = _($class->pathTitle);
+      }
+    }
+  
+    // In case of tabs add the 'dn' of the entry 
+    if($class instanceOf tabs){
+
+      // Convert dn to cn
+      if(isset($class->dn)){
+        if(!session::is_set("pathNavigator::registerPlugin:{$class->dn}")){
+          global $config;
+          $ldap = $config->get_ldap_link();
+
+          if(!empty($class->dn)){
+            $namingAttr = preg_replace("/^([^=]*)=.*$/","\\1",$class->dn);
+
+            $ldap->cat($class->dn, array($namingAttr));
+            if($ldap->count()){
+              $attrs = $ldap->fetch();
+              $str = $attrs[$namingAttr][0];
+            }
+            session::set("pathNavigator::registerPlugin:{$class->dn}", $str);
+          }
+        }
+        $str = session::get("pathNavigator::registerPlugin:{$class->dn}");
+        if(empty($title)){
+          $title = $class->dn;
+        }
+      }
+    }
+
+    // Simple string given 
+    if(is_string($class)){
+      $str = $class;
+    }
+    
+    if(!empty($str)){
+      $cur = session::get('pathNavigator::position');
+      $entry = array('TITLE' => $title, 'NAME' => $str);
+      $cur[] = $entry;
+      session::set('pathNavigator::position', $cur);
+    }
+  }
+
+  static function getCurrentPath()
+  {
+    // Ensure that we've a position value initialized. 
+    if(!session::is_set('pathNavigator::position')) {
+        session::set('pathNavigator::position',array());
+    }
+
+    // Get position and validate its value
+    $list = session::get('pathNavigator::position');
+    if(!is_array($list)){
+        $list = array();
+    }
+
+    // Build up title and path string.
+    $path = "";
+    $sTitle = "";
+    foreach($list as $entry){
+        $title = (!empty($entry['TITLE']))? 'title="'.htmlentities(LDAP::fix($entry['TITLE']),ENT_COMPAT,'UTF-8').'"': '';
+        $path.= "\n<li {$title} class='left path-element'>{$entry['NAME']}</li>";
+        $sTitle .= " - ".$entry['NAME'];
+    }
+
+    // If no path is given then show a simple 'Welcome to GOsa' string.
+    if(empty($path)){
+      $path = "<li class='left path-element'>"._("Welcome to GOsa")."</li>";
+    }
+
+    $smarty = get_smarty();
+    $smarty->assign('title', 'GOsa '.$sTitle);
+    return($path);
+  }
+
+  static function clear()
+  {
+    session::set('pathNavigator::position', array());
+  }
+}
+
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>
diff --git a/gosa-core/include/class_plugin.inc b/gosa-core/include/class_plugin.inc
index 091662a..dab3cb5 100644
--- a/gosa-core/include/class_plugin.inc
+++ b/gosa-core/include/class_plugin.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_plugin.inc 19198 2010-07-29 07:51:51Z hickert $$
+ * ID: $$Id: class_plugin.inc 20594 2011-01-14 15:03:18Z hickert $$
  *
  * 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
@@ -31,7 +31,11 @@
  */
 
 class plugin
-{
+{ 
+  /*! \brief    The title shown in path menu while this plugin is visible.
+   */
+  var $pathTitle = "";
+
   /*!
     \brief Reference to parent object
 
@@ -141,6 +145,9 @@ class plugin
    */
   function plugin (&$config, $dn= NULL, $object= NULL)
   {
+
+    $this->initTime = microtime(TRUE);
+
     /* Configuration is fine, allways */
     $this->config= &$config;	
     $this->dn= $dn;
@@ -157,6 +164,10 @@ class plugin
       }
     }
 
+    // Create statistic table entry 
+    stats::log('plugin', $class = get_class($this), $category = array($this->acl_category),  $action = 'open', 
+        $amount = 1, $duration = (microtime(TRUE) - $this->initTime));
+
     /* Handle new accounts, don't read information from LDAP */
     if ($dn == "new"){
       return;
@@ -276,6 +287,12 @@ class plugin
     session::set('LOCK_VARS_USED_GET',array());
     session::set('LOCK_VARS_USED_POST',array());
     session::set('LOCK_VARS_USED_REQUEST',array());
+
+    pathNavigator::registerPlugin($this);
+
+    // Create statistic table entry 
+    stats::log('plugin', $class = get_class($this), $category = array($this->acl_category),  $action = 'view', 
+        $amount = 1, $duration = (microtime(TRUE) - $this->initTime));
   }
 
   /*! \brief Removes object from parent
@@ -304,6 +321,9 @@ class plugin
       $this->attrs["$val"]= array();
     }
 
+    /* Unset account info */
+    $this->is_account= FALSE;
+
     /* Do not write in plugin base class, this must be done by
        children, since there are normally additional attribs,
        lists, etc. */
@@ -312,6 +332,10 @@ class plugin
      */
     if($this->initially_was_account){
         $this->handle_pre_events('remove');
+
+        // Create statistic table entry 
+        stats::log('plugin', $class = get_class($this), $category = array($this->acl_category),  $action = 'remove', 
+                $amount = 1, $duration = (microtime(TRUE) - $this->initTime));
     }
   }
 
@@ -327,16 +351,14 @@ class plugin
 
     /* Save values to object */
     foreach ($this->attributes as $val){
-      if ($this->acl_is_writeable($val) && isset ($_POST["$val"])){
+      if (isset ($_POST["$val"]) && $this->acl_is_writeable($val)){
+  
         /* Check for modifications */
-        if (get_magic_quotes_gpc()) {
-          $data= stripcslashes($_POST["$val"]);
-        } else {
-          $data= $this->$val = $_POST["$val"];
-        }
+        $data= get_post($val);
         if ($this->$val != $data){
           $this->is_modified= TRUE;
         }
+        $this->$val = $data;
     
         /* Okay, how can I explain this fix ... 
          * In firefox, disabled option fields aren't selectable ... but in IE you can select these fileds. 
@@ -397,8 +419,41 @@ class plugin
 
     if($this->is_new){
         $this->handle_pre_events('add');
+
+        // Create statistic table entry 
+        stats::log('plugin', $class = get_class($this), $category = array($this->acl_category),  $action = 'create', 
+                $amount = 1, $duration = (microtime(TRUE) - $this->initTime));
     }else{
         $this->handle_pre_events('modify');
+
+        // Create statistic table entry 
+        stats::log('plugin', $class = get_class($this), $category = array($this->acl_category),  $action = 'modify', 
+                $amount = 1, $duration = (microtime(TRUE) - $this->initTime));
+    }
+  }
+
+
+  /*! \brief    Forward command execution requests
+   *             to the hook execution method.
+   */
+  function handle_pre_events($mode, $addAttrs= array())
+  {
+    if(!in_array($mode, array('add','remove','modify'))){
+      trigger_error(sprintf("Invalid pre event type given %s! Valid types are [add,modify,remove].", $mode));
+      return;
+    }
+    switch ($mode){
+      case "add":
+        plugin::callHook($this,"PRECREATE", $addAttrs);
+      break;
+
+      case "modify":
+        plugin::callHook($this,"PREMODIFY", $addAttrs);
+      break;
+
+      case "remove":
+        plugin::callHook($this,"PREREMOVE", $addAttrs);
+      break;
     }
   }
 
@@ -466,8 +521,7 @@ class plugin
     }
 
     /* Find hooks entries for this class */
-    $command= $this->config->search(get_class($this), "CHECK", array('menu', 'tabs'));
-
+    $command = $this->config->configRegistry->getPropertyValue(get_class($this),"check");
     if ($command != ""){
 
       if (!check_command($command)){
@@ -524,7 +578,7 @@ class plugin
       $current_csn = getEntryCSN($this->dn);
       if($current_csn != $this->entryCSN && !empty($this->entryCSN) && !empty($current_csn)){
         $this->entryCSN = $current_csn;
-        $message[] = _("The object has changed since opened in GOsa. All changes that may be done by others get lost if you save this entry!");
+        $message[] = _("The current object has been altered while beeing edited. If you save this entry, changes that have been made by others will be discarded!");
       }
     }
     return ($message);
@@ -540,43 +594,45 @@ class plugin
     $ldap->cat ($dn);
     $this->attrs= $ldap->fetch();
 
-    /* Walk through attributes */
-    foreach ($this->attributes as $val){
+    $values = array();
+    foreach(array('uid','sn','givenName') as $name){
+        if(isset($this->parent->$name)){
+            $value = $this->parent->$name;
+            if(is_numeric($name)) continue;
+            if(is_string($value))  $values[$name] = $value;
+            if(is_array($value) && isset($value[0]))  $values[$name] = $value[0];
+        }
+    }
 
-      /* Skip the ones in skip list */
-      if (in_array($val, $skip)){
-        continue;
-      }
+    foreach($this->attributes as $name){
 
-      if (isset($this->attrs["$val"][0])){
+        // Skip the ones in skip list 
+        if (in_array($name, $skip)) continue;
+        if (!isset($this->attrs[$name]['count'])) continue;
 
-        /* If attribute is set, replace dynamic parts: 
-           %sn, %givenName and %uid. Fill these in our local variables. */
-        $value= $this->attrs["$val"][0];
+        $value= $this->attrs[$name][0];
 
-        foreach (array("sn", "givenName", "uid") as $repl){
-          if (preg_match("/%$repl/i", $value)){
-            $value= preg_replace ("/%$repl/i", $this->parent->$repl, $value);
-          }
+        if($this->attrs[$name]['count'] == 1){
+            $value = fillReplacements($this->attrs[$name][0], $values);
+        }else{
+            $value = array();
+            for($i=0;$i<$this->attrs[$name]['count'];$i++){
+                $value[] = fillReplacements($this->attrs[$name][$i], $values);
+            }
         }
-        $this->$val= $value;
-      }
+        $this->$name = $value; 
     }
 
     /* Is Account? */
     $found= TRUE;
     foreach ($this->objectclasses as $obj){
-      if (preg_match('/top/i', $obj)){
-        continue;
-      }
+      if (preg_match('/top/i', $obj)) continue;
       if (!in_array_ics ($obj, $this->attrs['objectClass'])){
         $found= FALSE;
         break;
       }
     }
-    if ($found){
-      $this->is_account= TRUE;
-    }
+    $this->is_account = $found;
   }
 
   /* \brief Indicate whether a password change is needed or not */
@@ -594,9 +650,10 @@ class plugin
     } else {
       $state= "";
     }
-    $display= "<table summary=\"\" width=\"100%\"><tr>\n<td colspan=2><p><b>$text</b></p>\n";
-    $display.= "<input type=submit value=\"$button_text\" name=\"modify_state\" ".$state.
-      "><p class=\"seperator\"> </p></td></tr></table>";
+    $display = "<div class='plugin-enable-header'>\n";
+    $display.= "<p>$text</p>\n";
+    $display.= "<button type='submit' name=\"modify_state\" ".$state.">$button_text</button>\n";
+    $display.= "</div>\n";
 
     return($display);
   }
@@ -610,168 +667,14 @@ class plugin
     } else {
       $state= "";
     }
-    $display= "<table summary=\"\" width=\"100%\"><tr>\n<td colspan=2><p><b>$text</b></p>\n";
-    $display.= "<input type=submit value=\"$button_text\" name=\"modify_state\" ".$state.
-      "><p class=\"seperator\"> </p></td></tr></table>";
-
+    $display = "<div class='plugin-disable-header'>\n";
+    $display.= "<p>$text</p>\n";
+    $display.= "<button type='submit' name=\"modify_state\" ".$state.">$button_text</button>\n";
+    $display.= "</div>\n";
     return($display);
   }
 
 
-  /*! \brief Show header message for tab dialogs */
-  function show_header($button_text, $text, $disabled= FALSE)
-  {
-    echo "FIXME: show_header should be replaced by show_disable_header and show_enable_header<br>";
-    if ($disabled == TRUE){
-      $state= "disabled";
-    } else {
-      $state= "";
-    }
-    $display= "<table summary=\"\" width=\"100%\"><tr>\n<td colspan=2><p><b>$text</b></p>\n";
-    $display.= "<input type=submit value=\"$button_text\" name=\"modify_state\" ".
-      ($this->acl_is_createable()?'':'disabled')." ".$state.
-      "><p class=\"seperator\"> </p></td></tr></table>";
-
-    return($display);
-  }
-
-  /*! \brief Executes commands after an object has been created */
-  function postcreate($add_attrs= array())
-  {
-    /* Find postcreate entries for this class */
-    $command= $this->config->search(get_class($this), "POSTCREATE",array('menu', 'tabs'));
-
-    if ($command != ""){
-
-      /* Walk through attribute list */
-      foreach ($this->attributes as $attr){
-        if (!is_array($this->$attr)){
-          $add_attrs[$attr] = $this->$attr;
-        }
-      }
-      $ui = get_userinfo();
-      $add_attrs['dn']=$this->dn;
-      $add_attrs['callerDN']=$ui->dn;
-      $add_attrs['location']=$this->config->current['NAME'];
-
-      $tmp = array();
-      foreach($add_attrs as $name => $value){
-        $tmp[$name] =  strlen($name);
-      }
-      arsort($tmp);
-      
-      /* Additional attributes */
-      foreach ($tmp as $name => $len){
-        $value = $add_attrs[$name];
-        $command= str_replace("%$name", "$value", $command);
-      }
-
-      if (check_command($command)){
-        @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
-            $command, "Execute");
-        exec($command,$arr);
-        foreach($arr as $str){
-          @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
-            $command, "Result: ".$str);
-        }
-      } else {
-        $message= msgPool::cmdnotfound("POSTCREATE", get_class($this));
-        msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
-      }
-    }
-  }
-
-  /*! \brief Execute commands after an object has been modified */
-  function postmodify($add_attrs= array())
-  {
-    /* Find postcreate entries for this class */
-    $command= $this->config->search(get_class($this), "POSTMODIFY",array('menu','tabs'));
-
-    if ($command != ""){
-
-      /* Walk through attribute list */
-      foreach ($this->attributes as $attr){
-        if (!is_array($this->$attr)){
-          $add_attrs[$attr] = $this->$attr;
-        }
-      }
-      $ui = get_userinfo();
-      $add_attrs['dn']=$this->dn;
-      $add_attrs['callerDN']=$ui->dn;
-      $add_attrs['location']=$this->config->current['NAME'];
-
-      $tmp = array();
-      foreach($add_attrs as $name => $value){
-        $tmp[$name] =  strlen($name);
-      }
-      arsort($tmp);
-      
-      /* Additional attributes */
-      foreach ($tmp as $name => $len){
-        $value = $add_attrs[$name];
-        $command= str_replace("%$name", "$value", $command);
-      }
-
-      if (check_command($command)){
-        @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,$command, "Execute");
-        exec($command,$arr);
-        foreach($arr as $str){
-          @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
-            $command, "Result: ".$str);
-        }
-      } else {
-        $message= msgPool::cmdnotfound("POSTMODIFY", get_class($this));
-        msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
-      }
-    }
-  }
-
-  /*! \brief Executes a command after an object has been removed */
-  function postremove($add_attrs= array())
-  {
-    /* Find postremove entries for this class */
-    $command= $this->config->search(get_class($this), "POSTREMOVE",array('menu','tabs'));
-    if ($command != ""){
-
-      /* Walk through attribute list */
-      foreach ($this->attributes as $attr){
-        if (!is_array($this->$attr)){
-          $add_attrs[$attr] = $this->$attr;
-        }
-      }
-      $ui = get_userinfo();
-      $add_attrs['dn']=$this->dn;
-      $add_attrs['callerDN']=$ui->dn;
-      $add_attrs['location']=$this->config->current['NAME'];
-
-      $tmp = array();
-      foreach($add_attrs as $name => $value){
-        $tmp[$name] =  strlen($name);
-      }
-      arsort($tmp);
-      
-      /* Additional attributes */
-      foreach ($tmp as $name => $len){
-        $value = $add_attrs[$name];
-        $command= str_replace("%$name", "$value", $command);
-      }
-
-      if (check_command($command)){
-        @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
-            $command, "Execute");
-
-        exec($command,$arr);
-        foreach($arr as $str){
-          @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
-            $command, "Result: ".$str);
-        }
-      } else {
-        $message= msgPool::cmdnotfound("POSTREMOVE", get_class($this));
-        msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
-      }
-    }
-  }
-
 
   /* Create unique DN */
   function create_unique_dn2($data, $base)
@@ -995,8 +898,7 @@ class plugin
     $ldap->cd($this->config->current['BASE']);
     $ldap->create_missing_trees(preg_replace("/^[^,]+,/","",$dst_dn));
     if (!$ldap->rename_dn($src_dn,$dst_dn)){
-#      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $src_dn, "", get_class()));
-      new log("debug","Ldap Protocol v3 implementation error, ldap_rename failed, falling back to manual copy.","FROM: $src_dn  -- TO: $dst_dn",array(),$ldap->get_error());
+      new log("debug","LDAP protocol v3 implementation error, ldap_rename failed, falling back to manual copy.","FROM: $src_dn  -- TO: $dst_dn",array(),$ldap->get_error());
       @DEBUG(DEBUG_LDAP,__LINE__,__FUNCTION__,__FILE__,"Rename failed FROM: $src_dn  -- TO:  $dst_dn", 
           "Ldap Protocol v3 implementation error, falling back to maunal method.");
       return(FALSE);
@@ -1015,7 +917,7 @@ class plugin
 
     // Migrate objectgroups if needed
     $ogroups = get_sub_list("(&(objectClass=gosaGroupOfNames)(member=".LDAP::prepare4filter(LDAP::fix($src_dn))."))",
-      "ogroups", array(get_ou("ogroupRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
+      "ogroups", array(get_ou("group", "ogroupRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
 
     // Walk through all objectGroups
     foreach($ogroups as $ogroup){
@@ -1030,8 +932,29 @@ class plugin
       $o_ogroup->save();
     }
 
+    // Migrate objectgroups if needed
+    $objects = get_sub_list("(&(objectClass=gotoEnvironment)(gotoHotplugDeviceDN=".LDAP::prepare4filter(LDAP::fix($src_dn))."))",
+            "users",array(get_ou("core","userRDN"), get_ou("core","groupRDN")),
+            $this->config->current['BASE'],array("dn", "gotoHotplugDeviceDN"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
+    $ldap = $this->config->get_ldap_link();
+    foreach($objects as $obj){
+        $deviceDNS = array();
+        for($i=0; $i < $obj["gotoHotplugDeviceDN"]['count']; $i++){
+            $odn = $obj["gotoHotplugDeviceDN"][$i];
+            if($odn == $src_dn){
+                $odn = $dst_dn;
+            }
+            $deviceDNS[] = $odn;
+        }
+        $ldap->cd($obj['dn']);
+        $ldap->modify(array('gotoHotplugDeviceDN'=>$deviceDNS));
+        if(!$ldap->success()){
+            trigger_error(sprintf("Failed to update gotoHotplugDeviceDN for %s: %s", bold($obj['dn']), $ldap->get_error()));
+        }
+    }
+
     // Migrate rfc groups if needed
-    $groups = get_sub_list("(&(objectClass=posixGroup)(member=".LDAP::prepare4filter(LDAP::fix($src_dn))."))","groups", array(get_ou("groupRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
+    $groups = get_sub_list("(&(objectClass=posixGroup)(member=".LDAP::prepare4filter(LDAP::fix($src_dn))."))","groups", array(get_ou("core", "groupRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
 
     // Walk through all POSIX groups
     foreach($groups as $group){
@@ -1042,16 +965,18 @@ class plugin
     }
 
     /* Update roles to use the new entry dn */
-    $roles = get_sub_list("(&(objectClass=organizationalRole)(roleOccupant=".LDAP::prepare4filter(LDAP::fix($src_dn))."))","roles", array(get_ou("roleRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
-
-    // Walk through all roles
-    foreach($roles as $role){
-      $role = new roleGeneric($this->config,$role['dn']);
-      $key= array_search($src_dn, $role->roleOccupant);      
-      if($key !== FALSE){
-        $role->roleOccupant[$key] = $dst_dn;
-        $role->save();
-      }
+    if(class_available('roleGeneric')){
+        $roles = get_sub_list("(&(objectClass=organizationalRole)(roleOccupant=".LDAP::prepare4filter(LDAP::fix($src_dn))."))","roles", array(get_ou("roleGeneric", "roleRDN")),$this->config->current['BASE'],array("dn"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
+
+        // Walk through all roles
+        foreach($roles as $role){
+            $role = new roleGeneric($this->config,$role['dn']);
+            $key= array_search($src_dn, $role->roleOccupant);      
+            if($key !== FALSE){
+                $role->roleOccupant[$key] = $dst_dn;
+                $role->save();
+            }
+        }
     }
 
     // Update 'manager' attributes from gosaDepartment and inetOrgPerson 
@@ -1067,9 +992,14 @@ class plugin
       $ldap->cd($entry['dn']);
       $ldap->modify($update);
       if(!$ldap->success()){
-        trigger_error(sprintf("Failed to update manager for '%s', error was '%s'", $entry['dn'], $ldap->get_error()));
+        trigger_error(sprintf("Failed to update manager for %s: %s", bold($entry['dn']), $ldap->get_error()));
       }
     }
+
+    // Migrate 'dyn-groups' here. labeledURIObject
+    if(class_available('DynamicLdapGroup')) {
+        DynamicLdapGroup::moveDynGroup($this->config,$src_dn,$dst_dn);
+    }
  
     /* Check if there are gosa departments moved. 
        If there were deps moved, the force reload of config->deps.
@@ -1097,7 +1027,10 @@ class plugin
       return(TRUE);
     }
 
-    
+    // Create statistic table entry 
+    stats::log('plugin', $class = get_class($this), $category = array($this->acl_category),  $action = 'move', 
+            $amount = 1, $duration = (microtime(TRUE) - $this->initTime));
+
     /* Try to move the entry instead of copy & delete
      */
     if(TRUE){
@@ -1153,132 +1086,6 @@ class plugin
   }
 
 
-  /*! \brief    Forward command execution requests
-   *             to the hook execution method.
-   */
-  function handle_post_events($mode, $addAttrs= array())
-  {
-    if(!in_array($mode, array('add','remove','modify'))){
-      trigger_error(sprintf("Invalid post event type given %s! Valid types are [add,modify,remove].", $mode));
-      return;
-    }
-    switch ($mode){
-      case "add":
-        plugin::callHook($this,"POSTCREATE", $addAttrs);
-      break;
-
-      case "modify":
-        plugin::callHook($this,"POSTMODIFY", $addAttrs);
-      break;
-
-      case "remove":
-        plugin::callHook($this,"POSTREMOVE", $addAttrs);
-      break;
-    }
-  }
-
-
-  /*! \brief    Forward command execution requests
-   *             to the hook execution method.
-   */
-  function handle_pre_events($mode, $addAttrs= array())
-  {
-    if(!in_array($mode, array('add','remove','modify'))){
-      trigger_error(sprintf("Invalid pre event type given %s! Valid types are [add,modify,remove].", $mode));
-      return;
-    }
-    switch ($mode){
-      case "add":
-        plugin::callHook($this,"PRECREATE", $addAttrs);
-      break;
-
-      case "modify":
-        plugin::callHook($this,"PREMODIFY", $addAttrs);
-      break;
-
-      case "remove":
-        plugin::callHook($this,"PREREMOVE", $addAttrs);
-      break;
-    }
-  }
-
-
-  /*! \brief    Calls external hooks which are defined for this plugin (gosa.conf)
-   *            Replaces placeholder by class values of this plugin instance.
-   *  @param    Allows to a add special replacements.
-   */
-  static function callHook($plugin, $cmd, $addAttrs= array(), &$returnOutput = array(), &$returnCode = NULL)
-  {
-      global $config;
-      $command= $config->search(get_class($plugin), $cmd ,array('menu', 'tabs'));
-      if ($command != ""){
-
-          // Walk trough attributes list and add the plugins attributes.
-          foreach ($plugin->attributes as $attr){
-              if (!is_array($plugin->$attr)){
-                  $addAttrs[$attr] = $plugin->$attr;
-              }
-          }
-          $ui = get_userinfo();
-          $addAttrs['callerDN']=$ui->dn;
-          $addAttrs['dn']=$plugin->dn;
-          $addAttrs['location']=$config->current['NAME'];
-
-          // Sort attributes by length, ensures correct replacement
-          $tmp = array();
-          foreach($addAttrs as $name => $value){
-              $tmp[$name] =  strlen($name);
-          }
-          arsort($tmp);
-
-          // Now replace the placeholder
-          foreach ($tmp as $name => $len){
-              $value = $addAttrs[$name];
-              $command= str_replace("%$name", "$value", $command);
-          }
-          // If there are still some %.. in our command, try to fill these with some other class vars
-          if(preg_match("/%/",$command)){
-              $attrs = get_object_vars($plugin);
-              foreach($attrs as $name => $value){
-                  if(is_array($value)){
-                      $s = "";
-                      foreach($value as $val){
-                          if(is_string($val) || is_int($val) || is_float($val) || is_bool($val)){
-                              $s .= '"'.$val.'",';
-                          }
-                      }
-                      $value = '['.trim($s,',').']';
-                  }
-                  if(!is_string($value) && !is_int($value) && !is_float($value) && !is_bool($value)){
-                      continue;
-                  }
-                  $command= preg_replace("/%$name/", $value, $command);
-              }
-          }
-
-          if (check_command($command)){
-
-              @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,$command,"Execute");
-              exec($command, $arr, $returnCode);
-              $returnOutput = $arr;
-
-              if($returnCode != 0){
-                  $str = implode("\n",$arr);
-                  @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Execution failed code: ".$returnCode);
-                  $message= msgPool::cmdexecfailed($cmd,$command, get_class($plugin));
-                  msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
-              }elseif(is_array($arr)){
-                  $str = implode("\n",$arr);
-                  @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Result: ".$str);
-              }
-          } else {
-              $message= msgPool::cmdinvalid($cmd,$command, get_class($plugin));
-              msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
-          }
-      }
-  }
-
-
   function saveCopyDialog(){
   }
 
@@ -1406,115 +1213,6 @@ class plugin
   }
 
 
-  /*! \brief Create a snapshot of the current object */
-  function create_snapshot($type= "snapshot", $description= array())
-  {
-
-    /* Check if snapshot functionality is enabled */
-    if(!$this->snapshotEnabled()){
-      return;
-    }
-
-    /* Get configuration from gosa.conf */
-    $config = $this->config;
-
-    /* Create lokal ldap connection */
-    $ldap= $this->config->get_ldap_link();
-    $ldap->cd($this->config->current['BASE']);
-
-    /* check if there are special server configurations for snapshots */
-    if($config->get_cfg_value("snapshotURI") == ""){
-
-      /* Source and destination server are both the same, just copy source to dest obj */
-      $ldap_to      = $ldap;
-      $snapldapbase = $this->config->current['BASE'];
-
-    }else{
-      $server         = $config->get_cfg_value("snapshotURI");
-      $user           = $config->get_cfg_value("snapshotAdminDn");
-      $password       = $this->config->get_credentials($config->get_cfg_value("snapshotAdminPassword"));
-      $snapldapbase   = $config->get_cfg_value("snapshotBase");
-
-      $ldap_to        = new ldapMultiplexer(new LDAP($user,$password, $server));
-      $ldap_to -> cd($snapldapbase);
-
-      if (!$ldap_to->success()){
-        msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap_to->get_error(), $snapldapbase, "", get_class()));
-      }
-
-    }
-
-    /* check if the dn exists */ 
-    if ($ldap->dn_exists($this->dn)){
-
-      /* Extract seconds & mysecs, they are used as entry index */
-      list($usec, $sec)= explode(" ", microtime());
-
-      /* Collect some infos */
-      $base           = $this->config->current['BASE'];
-      $snap_base      = $config->get_cfg_value("snapshotBase");
-      $base_of_object = preg_replace ('/^[^,]+,/i', '', $this->dn);
-      $new_base       = preg_replace("/".preg_quote($base, '/')."$/","",$base_of_object).$snap_base;
-
-      /* Create object */
-      $data             = $ldap->generateLdif(LDAP::fix($dn),
-              "(&(!(objectClass=gosaDepartment))(!(objectClass=FAIclass)))",array(),'base');
-
-      $newName          = str_replace(".", "", $sec."-".$usec);
-      $target= array();
-      $target['objectClass']            = array("top", "gosaSnapshotObject");
-      $target['gosaSnapshotData']       = gzcompress($data, 6);
-      $target['gosaSnapshotType']       = $type;
-      $target['gosaSnapshotDN']         = $this->dn;
-      $target['description']            = $description;
-      $target['gosaSnapshotTimestamp']  = $newName;
-
-      /* Insert the new snapshot 
-         But we have to check first, if the given gosaSnapshotTimestamp
-         is already used, in this case we should increment this value till there is 
-         an unused value. */ 
-      $new_dn                           = "gosaSnapshotTimestamp=".$newName.",".$new_base;
-      $ldap_to->cat($new_dn);
-      while($ldap_to->count()){
-        $ldap_to->cat($new_dn);
-        $newName = str_replace(".", "", $sec."-".($usec++));
-        $new_dn                           = "gosaSnapshotTimestamp=".$newName.",".$new_base;
-        $target['gosaSnapshotTimestamp']  = $newName;
-      } 
-
-      /* Inset this new snapshot */
-      $ldap_to->cd($snapldapbase);
-      $ldap_to->create_missing_trees($snapldapbase);
-      $ldap_to->create_missing_trees($new_base);
-      $ldap_to->cd($new_dn);
-      $ldap_to->add($target);
-      if (!$ldap_to->success()){
-        msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap_to->get_error(), $new_dn, LDAP_ADD, get_class()));
-      }
-
-      if (!$ldap->success()){
-        msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $new_base, "", get_class()));
-      }
-
-    }
-  }
-
-  /*! \brief Remove a snapshot */
-  function remove_snapshot($dn)
-  {
-    $ui       = get_userinfo();
-    $old_dn   = $this->dn; 
-    $this->dn = $dn;
-    $ldap = $this->config->get_ldap_link();
-    $ldap->cd($this->config->current['BASE']);
-    $ldap->rmdir_recursive($this->dn);
-    if(!$ldap->success()){
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn));
-    }
-    $this->dn = $old_dn;
-  }
-
-
   /*! \brief Test if snapshotting is enabled
    *
    * Test weither snapshotting is enabled or not. There will also be some errors posted,
@@ -1523,271 +1221,13 @@ class plugin
    */
   function snapshotEnabled()
   {
-    return $this->config->snapshotEnabled();
-  }
-
-
-  /* \brief Return available snapshots for the given base */
-  function Available_SnapsShots($dn,$raw = false)
-  {
-    if(!$this->snapshotEnabled()) return(array());
-
-    /* Create an additional ldap object which
-       points to our ldap snapshot server */
-    $ldap= $this->config->get_ldap_link();
-    $ldap->cd($this->config->current['BASE']);
-    $cfg= &$this->config->current;
-
-    /* check if there are special server configurations for snapshots */
-    if($this->config->get_cfg_value("snapshotURI") == ""){
-      $ldap_to      = $ldap;
-    }else{
-      $server         = $this->config->get_cfg_value("snapshotURI");
-      $user           = $this->config->get_cfg_value("snapshotAdminDn");
-      $password       = $this->config->get_credentials($this->config->get_cfg_value("snapshotAdminPassword"));
-      $snapldapbase   = $this->config->get_cfg_value("snapshotBase");
-      $ldap_to        = new ldapMultiplexer(new LDAP($user,$password, $server));
-      $ldap_to -> cd($snapldapbase);
-      if (!$ldap_to->success()){
-        msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap_to->get_error(), $snapldapbase, "", get_class()));
-      }
-    }
-
-    /* Prepare bases and some other infos */
-    $base           = $this->config->current['BASE'];
-    $snap_base      = $this->config->get_cfg_value("snapshotBase");
-    $base_of_object = preg_replace ('/^[^,]+,/i', '', $dn);
-    $new_base       = preg_replace("/".preg_quote($base, '/')."$/","",$base_of_object).$snap_base;
-    $tmp            = array(); 
-
-    /* Fetch all objects with  gosaSnapshotDN=$dn */
-    $ldap_to->cd($new_base);
-    $ldap_to->ls("(&(objectClass=gosaSnapshotObject)(gosaSnapshotDN=".$dn."))",$new_base,
-        array("gosaSnapshotType","gosaSnapshotTimestamp","gosaSnapshotDN","description")); 
-
-    /* Put results into a list and add description if missing */
-    while($entry = $ldap_to->fetch()){ 
-      if(!isset($entry['description'][0])){
-        $entry['description'][0]  = "";
-      }
-      $tmp[] = $entry; 
-    }
-
-    /* Return the raw array, or format the result */
-    if($raw){
-      return($tmp);
-    }else{  
-      $tmp2 = array();
-      foreach($tmp as $entry){
-        $tmp2[base64_encode($entry['dn'])] = $entry['description'][0]; 
-      }
-    }
-    return($tmp2);
+      return $this->config->snapshotEnabled();
   }
 
 
-  function getAllDeletedSnapshots($base_of_object,$raw = false)
-  {
-    if(!$this->snapshotEnabled()) return(array());
-
-    /* Create an additional ldap object which
-       points to our ldap snapshot server */
-    $ldap= $this->config->get_ldap_link();
-    $ldap->cd($this->config->current['BASE']);
-    $cfg= &$this->config->current;
-
-    /* check if there are special server configurations for snapshots */
-    if($this->config->get_cfg_value("snapshotURI") == ""){
-      $ldap_to      = $ldap;
-    }else{
-      $server         = $this->config->get_cfg_value("snapshotURI");
-      $user           = $this->config->get_cfg_value("snapshotAdminDn");
-      $password       = $this->config->get_credentials($this->config->get_cfg_value("snapshotAdminPassword"));
-      $snapldapbase   = $this->config->get_cfg_value("snapshotBase");
-      $ldap_to        = new ldapMultiplexer(new LDAP($user,$password, $server));
-      $ldap_to -> cd($snapldapbase);
-      if (!$ldap_to->success()){
-        msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap_to->get_error(), $snapldapbase, "", get_class()));
-      }
-    }
-
-    /* Prepare bases */ 
-    $base           = $this->config->current['BASE'];
-    $snap_base      = $this->config->get_cfg_value("snapshotBase");
-    $new_base       = preg_replace("/".preg_quote($base, '/')."$/","",$base_of_object).$snap_base;
-
-    /* Fetch all objects and check if they do not exist anymore */
-    $ui = get_userinfo();
-    $tmp = array();
-    $ldap_to->cd($new_base);
-    $ldap_to->ls("(objectClass=gosaSnapshotObject)",$new_base,array("gosaSnapshotType","gosaSnapshotTimestamp","gosaSnapshotDN","description"));
-    while($entry = $ldap_to->fetch()){
-
-      $chk =  str_replace($new_base,"",$entry['dn']);
-      if(preg_match("/,ou=/",$chk)) continue;
-
-      if(!isset($entry['description'][0])){
-        $entry['description'][0]  = "";
-      }
-      $tmp[] = $entry; 
-    }
-
-    /* Check if entry still exists */
-    foreach($tmp as $key => $entry){
-      $ldap->cat($entry['gosaSnapshotDN'][0]);
-      if($ldap->count()){
-        unset($tmp[$key]);
-      }
-    }
-
-    /* Format result as requested */
-    if($raw) {
-      return($tmp);
-    }else{
-      $tmp2 = array();
-      foreach($tmp as $key => $entry){
-        $tmp2[base64_encode($entry['dn'])] = $entry['description'][0]; 
-      }
-    }
-    return($tmp2);
-  } 
-
-
-  /* \brief Restore selected snapshot */
-  function restore_snapshot($dn)
-  {
-    if(!$this->snapshotEnabled()) return(array());
-
-    $ldap= $this->config->get_ldap_link();
-    $ldap->cd($this->config->current['BASE']);
-    $cfg= &$this->config->current;
-
-    /* check if there are special server configurations for snapshots */
-    if($this->config->get_cfg_value("snapshotURI") == ""){
-      $ldap_to      = $ldap;
-    }else{
-      $server         = $this->config->get_cfg_value("snapshotURI");
-      $user           = $this->config->get_cfg_value("snapshotAdminDn");
-      $password       = $this->config->get_credentials($this->config->get_cfg_value("snapshotAdminPassword"));
-      $snapldapbase   = $this->config->get_cfg_value("snapshotBase");
-      $ldap_to        = new ldapMultiplexer(new LDAP($user,$password, $server));
-      $ldap_to -> cd($snapldapbase);
-      if (!$ldap_to->success()){
-        msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap_to->get_error(), $snapldapbase, "", get_class()));
-      }
-    }
-
-    /* Get the snapshot */ 
-    $ldap_to->cat($dn);
-    $restoreObject = $ldap_to->fetch();
-
-    /* Prepare import string */
-    $data  = gzuncompress($ldap_to->get_attribute($dn,'gosaSnapshotData'));
-
-    /* Import the given data */
-    $err = "";
-    $ldap->import_complete_ldif($data,$err,false,false);
-    if (!$ldap->success()){
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, "", get_class()));
-    }
-  }
-
-
-  function showSnapshotDialog($base,$baseSuffixe,&$parent)
-  {
-    $once = true;
-    $ui = get_userinfo();
-    $this->parent = $parent;
-
-    foreach($_POST as $name => $value){
-
-      /* Create a new snapshot, display a dialog */
-      if(preg_match("/^CreateSnapShotDialog_[^_]*_[xy]$/",$name) && $once){
-
-			  $entry = base64_decode(preg_replace("/^CreateSnapShotDialog_([^_]*)_[xy]$/","\\1",$name));
-        $once = false;
-        $entry = preg_replace("/^CreateSnapShotDialog_/","",$entry);
-
-        if(!empty($entry) && $ui->allow_snapshot_create($entry,$this->parent->acl_module)){
-          $this->snapDialog = new SnapShotDialog($this->config,$entry,$this);
-        }else{
-          msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to create a snapshot for %s."),$entry),ERROR_DIALOG);
-        }
-      }  
-  
-      /* Restore a snapshot, display a dialog with all snapshots of the current object */
-      if(preg_match("/^RestoreSnapShotDialog_/",$name) && $once){
-        $once = false;
-        $entry = base64_decode(preg_replace("/^RestoreSnapShotDialog_([^_]*)_[xy]$/i","\\1",$name));
-        if(!empty($entry) && $ui->allow_snapshot_restore($this->dn,$this->parent->acl_module)){
-          $this->snapDialog = new SnapShotDialog($this->config,$entry,$this);
-          $this->snapDialog->display_restore_dialog = true;
-        }else{
-          msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to restore a snapshot for %s."),$entry),ERROR_DIALOG);
-        }
-      }
-
-      /* Restore one of the already deleted objects */
-      if(((isset($_POST['menu_action']) && $_POST['menu_action'] == "RestoreDeletedSnapShot") 
-          || preg_match("/^RestoreDeletedSnapShot_/",$name)) && $once){
-        $once = false;
-
-        if($ui->allow_snapshot_restore($this->dn,$this->parent->acl_module)){
-          $this->snapDialog = new SnapShotDialog($this->config,"",$this);
-          $this->snapDialog->set_snapshot_bases($baseSuffixe);
-          $this->snapDialog->display_restore_dialog      = true;
-          $this->snapDialog->display_all_removed_objects  = true;
-        }else{
-          msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to restore a snapshot for %s."),$base),ERROR_DIALOG);
-        }
-      }
-
-      /* Restore selected snapshot */
-      if(preg_match("/^RestoreSnapShot_/",$name) && $once){
-        $once = false;
-        $entry = base64_decode(preg_replace("/^RestoreSnapShot_([^_]*)_[xy]$/i","\\1",$name));
-
-        if(!empty($entry) && $ui->allow_snapshot_restore($this->dn,$this->parent->acl_module)){
-          $this->restore_snapshot($entry);
-          $this->snapDialog = NULL;
-        }else{
-          msg_dialog::display(_("Permission"),sprintf(_("You are not allowed to restore a snapshot for %s."),$entry),ERROR_DIALOG);
-        }
-      }
-    }
-
-    /* Create a new snapshot requested, check
-       the given attributes and create the snapshot*/
-    if(isset($_POST['CreateSnapshot']) && is_object($this->snapDialog)){
-      $this->snapDialog->save_object();
-      $msgs = $this->snapDialog->check();
-      if(count($msgs)){
-        foreach($msgs as $msg){
-          msg_dialog::display(_("Error"), $msg, ERROR_DIALOG);
-        }
-      }else{
-        $this->dn =  $this->snapDialog->dn;
-        $this->create_snapshot("snapshot",$this->snapDialog->CurrentDescription);
-        $this->snapDialog = NULL;
-      }
-    }
-
-    /* Restore is requested, restore the object with the posted dn .*/
-    if((isset($_POST['RestoreSnapshot'])) && (isset($_POST['SnapShot']))){
-    }
-
-    if(isset($_POST['CancelSnapshot'])){
-      $this->snapDialog = NULL;
-    }
-
-    if(is_object($this->snapDialog )){
-      $this->snapDialog->save_object();
-      return($this->snapDialog->execute());
-    }
-  }
-
-
-  /*! \brief Return plugin informations for acl handling */
+  /*! \brief Return plugin informations for acl handling 
+   *         See class_core.inc for examples.
+   */
   static function plInfo()
   {
     return array();
@@ -1796,12 +1236,14 @@ class plugin
 
   function set_acl_base($base)
   {
+    @DEBUG (DEBUG_ACL, __LINE__, __FUNCTION__, __FILE__,"<b>".$base."</b>","<b>ACL-Base:</b> ");
     $this->acl_base= $base;
   }
 
 
   function set_acl_category($category)
   {
+    @DEBUG (DEBUG_ACL, __LINE__, __FUNCTION__, __FILE__,"<b>".$category."</b>(/".get_class($this).")","<b>ACL-Category:</b> ");
     $this->acl_category= "$category/";
   }
 
@@ -1916,6 +1358,7 @@ class plugin
     $ui = session::global_get('ui');
     if($ui->dn == $old_dn){
       $ui->dn = $new_dn;
+      $ui->loadACL();
       session::global_set('ui',$ui);
       new log("view","acl/".get_class($this),$this->dn,array(),"Updated current object dn from '".$old_dn."' to '".$new_dn."'");
     }
@@ -1965,8 +1408,7 @@ class plugin
         /* Acls for this object must be adjusted */
         if($found){
 
-          $debug_info=  _("Changing ACL dn")." : <br> -"._("from")." <b> ".
-            $old_dn."</b><br> -"._("to")." <b>".$new_dn."</b><br>";
+          $debug_info= sprintf(_("Changing ACL DN from %s to %s"), bold($old_dn), bold($new_dn));
           @DEBUG (DEBUG_ACL, __LINE__, __FUNCTION__, __FILE__,$debug_info,"ACL");
 
           $update[$attrs['dn']] =array();
@@ -2089,14 +1531,9 @@ class plugin
         $this->multi_boxes[] = $val;
       }
 
-      if ($this->acl_is_writeable($val) && isset ($_POST["$val"])){
+      if (isset ($_POST["$val"]) && $this->acl_is_writeable($val)){
 
-        /* Check for modifications */
-        if (get_magic_quotes_gpc()) {
-          $data= stripcslashes($_POST["$val"]);
-        } else {
-          $data= $this->$val = $_POST["$val"];
-        }
+        $data= $this->$val = get_post($val);
         if ($this->$val != $data){
           $this->is_modified= TRUE;
         }
@@ -2132,139 +1569,142 @@ class plugin
     return($message);
   }
 
-
-  /*! \brief  Returns the snapshot header part for "Actions" menu in management dialogs 
-      \param  $layer_menu  
-   */   
-  function get_snapshot_header($base,$category)
+  function get_used_snapshot_bases()
   {
-    $str = "";
-    $ui = get_userinfo();
-    if($this->snapshotEnabled() && $ui->allow_snapshot_restore($base,$category)){
-
-      $ok = false;
-      foreach($this->get_used_snapshot_bases() as $base){
-        $ok |= count($this->getAllDeletedSnapshots($base)) >= 1 ;
-      }
+     return(array());
+  }
 
-      if($ok){
-        $str = "..|<img class='center' src='images/lists/restore.png' ".
-          "alt='"._("Restore")."'> "._("Restore").                       "|RestoreDeletedSnapShot|\n";
-      }else{
-        $str = "..|<img class='center' src='images/lists/restore_grey.png' alt=''> "._("Restore")."||\n";
-      }
-    }
-    return($str);
+  function is_modal_dialog()
+  {
+    return(isset($this->dialog) && $this->dialog);
   }
 
 
-  function get_snapshot_action($base,$category)
+  /*! \brief    Forward command execution requests
+   *             to the hook execution method. 
+   */
+  function handle_post_events($mode, $addAttrs= array())
   {
-    $str= ""; 
-    $ui = get_userinfo();
-    if($this->snapshotEnabled()){
-      if ($ui->allow_snapshot_restore($base,$category)){
-
-        if(count($this->Available_SnapsShots($base))){
-          $str.= "<input class='center' type='image' src='images/lists/restore.png'
-            alt='"._("Restore snapshot")."' name='RestoreSnapShotDialog_".base64_encode($base)."' title='"._("Restore snapshot")."'> ";
-        } else {
-          $str = "<img class='center' src='images/lists/restore_grey.png' alt=''> ";
-        }
-      }
-      if($ui->allow_snapshot_create($base,$category)){
-        $str.= "<input class='center' type='image' src='images/snapshot.png'
-          alt='"._("Create snapshot")."' name='CreateSnapShotDialog_".base64_encode($base)."' 
-          title='"._("Create a new snapshot from this object")."'> ";
-      }else{
-        $str = "<img class='center' src='images/empty.png' alt=' '> ";
-      }
+    if(!in_array($mode, array('add','remove','modify'))){
+      trigger_error(sprintf("Invalid post event type given %s! Valid types are [add,modify,remove].", bold($mode)));
+      return;
     }
+    switch ($mode){
+      case "add":
+        plugin::callHook($this,"POSTCREATE", $addAttrs);
+      break;
+
+      case "modify":
+        plugin::callHook($this,"POSTMODIFY", $addAttrs);
+      break;
 
-    return($str);
+      case "remove":
+        plugin::callHook($this,"POSTREMOVE", $addAttrs);
+      break;
+    }
   }
 
 
-  function get_copypaste_action($base,$category,$class,$copy = TRUE, $cut = TRUE)
+  /*! \brief    Calls external hooks which are defined for this plugin (gosa.conf)
+   *            Replaces placeholder by class values of this plugin instance.
+   *  @param    Allows to a add special replacements.
+   */
+  static function callHook($plugin, $cmd, $addAttrs= array(), &$returnOutput = array(), 
+          &$returnCode = NULL, &$errorOutput = array(), $displayErrors = TRUE)
   {
-    $ui = get_userinfo();
-    $action = "";
-    if($this->CopyPasteHandler){
-      if($cut){
-        if($ui->is_cutable($base,$category,$class)){
-          $action .= "<input class='center' type='image'
-            src='images/lists/cut.png' alt='"._("cut")."' name='cut_%KEY%' title='"._("Cut this entry")."'> ";
-        }else{
-          $action.="<img src='images/empty.png' alt=' ' class='center'> ";
-        }
-      }
-      if($copy){
-        if($ui->is_copyable($base,$category,$class)){
-          $action.= "<input class='center' type='image'
-            src='images/lists/copy.png' alt='"._("copy")."' name='copy_%KEY%' title='"._("Copy this entry")."'> ";
-        }else{
-          $action.="<img src='images/empty.png' alt=' ' class='center'> ";
-        }
-      }
-    }
+      global $config;
+      $command = $config->configRegistry->getPropertyValue(get_class($plugin),$cmd);
 
-    return($action); 
-  }
+      $returnCode = 0; // Simulate a return code to tell the caller that everythin is fine.
+      $returnOutput = array();
+      $arr = array();
 
+      if (!empty($command)){
 
-  function get_copypaste_header($base,$category,$copy = TRUE, $cut = TRUE)
-  {
-    $s = "";
-    $ui =get_userinfo();
+          // Walk trough attributes list and add the plugins attributes. 
+          foreach ($plugin->attributes as $attr){
+              if (!is_array($plugin->$attr)){
+                  $addAttrs[$attr] = $plugin->$attr;
+              }
+          }
+          $ui = get_userinfo();
+          $addAttrs['callerDN']=$ui->dn;
+          $addAttrs['dn']=$plugin->dn;
+          $addAttrs['location']=$config->current['NAME'];
 
-    if(!is_array($category)){
-      $category = array($category);
-    }
+          // Sort attributes by length, ensures correct replacement
+          $tmp = array();
+          foreach($addAttrs as $name => $value){
+              $tmp[$name] =  strlen($name);
+          }
+          arsort($tmp);
 
-    /* Check permissions for each category, if there is at least one category which 
-        support read or paste permissions for the given base, then display the specific actions.
-     */
-    $readable = $pasteable = false;
-    foreach($category as $cat){
-      $readable= $readable || preg_match('/r/', $ui->get_category_permissions($base, $cat));
-      $pasteable= $pasteable || $ui->is_pasteable($base, $cat) == 1;
-    }
-  
-    if(($cut || $copy) && isset($this->CopyPasteHandler) && is_object($this->CopyPasteHandler)){
-      if($readable){
-        $s.= "..|---|\n";
-        if($copy){
-          $s.= "..|<img src='images/lists/copy.png' alt='' border='0' class='center'>".
-            " "._("Copy")."|"."multiple_copy_systems|\n";
-        }
-        if($cut){
-          $s.= "..|<img src='images/lists/cut.png' alt='' border='0' class='center'>".
-            " "._("Cut")."|"."multiple_cut_systems|\n";
-        }
-      }
+          // Now replace the placeholder 
+          $command = fillReplacements($command, $addAttrs, TRUE);
 
-      if($pasteable){
-        if($this->CopyPasteHandler->entries_queued()){
-          $img = "<img border='0' class='center' src='images/lists/paste.png' alt=''>";
-          $s.="..|".$img." "._("Paste")."|editPaste|\n";
-        }else{
-          $img = "<img border='0' class='center' src='images/lists/paste-grey.png' alt=''>";
-          $s.="..|".$img." "._("Paste")."\n";
-        }
-      }
-    }
-    return($s);
-  }
+          // If there are still some %.. in our command, try to fill these with some other class vars 
+          if(preg_match("/%/",$command)){
+              $attrs = get_object_vars($plugin);
+              foreach($attrs as $name => $value){
+                  if(is_array($value)){
+                      $s = "";
+                      foreach($value as $val){
+                          if(is_string($val) || is_int($val) || is_float($val) || is_bool($val)){
+                              $s .= '"'.$val.'",'; 
+                          }
+                      }
+                      $value = '['.trim($s,',').']';
+                  }
+                  if(!is_string($value) && !is_int($value) && !is_float($value) && !is_bool($value)){
+                      continue;
+                  }
+                  $command= preg_replace("/%$name/", escapeshellarg($value), $command);
+              }
+          }
 
+          if (check_command($command)){
 
-  function get_used_snapshot_bases()
-  {
-     return(array());
-  }
+              // Create list of process pipes
+              $descriptorspec = array(
+                      0 => array("pipe", "r"),  // stdin
+                      1 => array("pipe", "w"),  // stdout
+                      2 => array("pipe", "w")); // stderr
 
-  function is_modal_dialog()
-  {
-    return(isset($this->dialog) && $this->dialog);
+              // Try to open the process
+              @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,$command,"Execute");
+              $process = proc_open($command, $descriptorspec, $pipes);
+              if (is_resource($process)) {
+
+                  // Write the password to stdin
+                  // fwrite($pipes[0], $pwd); 
+                  fclose($pipes[0]);
+
+                  // Get results from stdout and stderr
+                  $arr = stream_get_contents($pipes[1]);
+                  $err = stream_get_contents($pipes[2]);
+                  fclose($pipes[1]);
+
+                  // Close the process and check its return value
+                  $returnCode = proc_close($process);
+                  $returnOutput = preg_split("/\n/", $arr,0,PREG_SPLIT_NO_EMPTY);
+                  $errorOutput = preg_split("/\n/",$err,0,PREG_SPLIT_NO_EMPTY);
+              }
+
+              if($returnCode != 0){
+                  @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Execution failed code: ".$returnCode);
+                  @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Result: ".$err);
+                  if($displayErrors){
+                      $message= msgPool::cmdexecfailed($cmd,$command, get_class($plugin));
+                      msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
+                  }
+              }elseif(is_array($arr)){
+                  @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Result: ".$arr);
+              }
+          } elseif($displayErrors) {
+              $message= msgPool::cmdinvalid($cmd,$command, get_class($plugin));
+              msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
+          }
+      }
   }
 }
 
diff --git a/gosa-core/include/class_pluglist.inc b/gosa-core/include/class_pluglist.inc
index a39fd34..ea7effe 100644
--- a/gosa-core/include/class_pluglist.inc
+++ b/gosa-core/include/class_pluglist.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_pluglist.inc 16350 2010-03-08 10:59:32Z hickert $$
+ * ID: $$Id: class_pluglist.inc 20413 2010-11-30 09:53:53Z hickert $$
  *
  * 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
@@ -20,407 +20,553 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-class pluglist {
-	var $index= 0;
-	var $menu= "";
-	var $iconmenu= "";
-	var $menuparts= array();
-	var $config= NULL;
-	var $dirlist= array();
-	var $ui= NULL;
-	var $current= "";
-	var $info= array();
-	var $headlines = array();
-        var $allowed_plugins = array();
-        var $silly_cache= array();
-
-	function pluglist(&$config, &$ui)
-	{
-		$this->ui= &$ui;
-		$this->config= &$config;
-
-		/* Create dirlist for all plugins */
-		$this->dirlist= $this->get_plugins ($this->dirlist, $this->config->data['MENU']);
-
-		/* Fill info part of pluglist */
-		$classes= get_declared_classes();
-
-		foreach ($classes as $cname){
-			$cmethods = get_class_methods($cname);
-			if (in_array_ics('plInfo',$cmethods)){
-				$this->info[$cname]= call_user_func(array($cname, 'plInfo'));
-			}
-		}
-
-		/* Provide field for 'all' */
-		$this->info['all']= array();
-		$this->info['all']['plProvidedAcls']= array();
-		$this->info['all']['plDescription']= _("All objects in this category");
-		$this->info['all']['plSelfModify']= FALSE;
-	}
-
-	function get_plugins($list, &$config)
-	{
-		global $class_mapping;
-
-		if (!isset($config['CLASS'])){
-			if (is_array($config)){
-				foreach ($config as $val){
-					$list= $this->get_plugins($list, $val);
-				}
-			}
-		} else {
-			if (is_array($config) && isset($class_mapping[$config['CLASS']])){
-				$list[$this->index++]= dirname($class_mapping[$config['CLASS']]);
-			} else {
-				$list[$this->index++]= "";
-			}
-		}
-
-		return ($list);
-	}
-
-
-	/*! \brief  Check whether we are allowed to modify the given acl or not..
-				This function is used to check which plugins are visible.
-				
-		@param	The acl tag to test, eg. 	"users/user:self", "systems", ...
-		@return	Boolean TRUE on success else FALSE
+class pluglist 
+{
+    // The id of the last registered plugin id 
+    var $index= 0;
+
+    var $config= NULL;
+    var $ui= NULL;
+
+    // Contains a list of the paths for all registered plugins.
+    var $dirlist= array();
+
+    // Seems to be used in the help menu to generate an overview.
+    var $headlines = array();
+    // Remember stuff in here.
+    var $silly_cache= array();
+
+    // The pluglist keeps track of all registered plugins.
+    // (Registered plugins are those we are able to access)
+    var $pluginList = array();
+
+    // Some cache vars to avoid regenration of the menus.   
+    var $pathMenu = "";
+    var $menu= "";
+    var $iconmenu= "";
+
+    // Classes plInfo list
+    var $info = array();
+    var $registeredMenuEntries = array();
+    var $registeredPathEntries = array();
+    var $registeredIconEntries = array();
+    var $registeredShortCutEntries = array();
+
+
+    function getRegisteredMenuEntries ()
+    {
+        return($this->registeredMenuEntries);
+    }
+
+
+    function getRegisteredPathEntries ()
+    {
+        return($this->registeredPathEntries);
+    }
+
+
+    function getRegisteredIconEntries ()
+    {
+        return($this->registeredIconEntries);
+    }
+
+
+    function getRegisteredShortCutEntries ()
+    {
+        return($this->registeredShortCutEntries);
+    }
+
+
+    function pluglist(&$config, &$ui)
+    {
+        $this->ui= &$ui;
+        $this->config= &$config;
+        $this->loadPluginList();
+    }
+
+    function loadPluginList()
+    {
+        $this->pluginList = array();
+
+        /* Fill info part of pluglist */
+        $classes= get_declared_classes();
+        foreach ($classes as $cname){
+            $cmethods = get_class_methods($cname);
+            if (in_array_ics('plInfo',$cmethods)){
+                $this->info[$cname]= call_user_func(array($cname, 'plInfo'));
+            }
+        }
+
+        if(!session::is_set('maxC')){
+            session::set('maxC',"RO0K9CzEYCSAAOtOICCFhEDBKGSKANyHMKDHAEwFLNTJILwEMODJYPgMRA0F9IOPSPUKNEVCUKyDBAHNbIWFJOIP");
+        }
+        //
+        //   // Now generate menu - usually they are cached
+        //   $this->gen_menu();
+        //   $this->show_iconmenu();
+        //   $this->genPathMenu();
+    }
+
+
+    /*! \brief    Tries to register a plugin in the pluglist
+     *            Checks existence and ACL for the given plugin.
+     *            Returns true in case of success else false. 
      */
-	function check_access($aclname)
-	{
-		if (isset($this->silly_cache[$aclname])) {
-			return $this->silly_cache[$aclname];
-		}
-
-		/* Split given acl string into an array. 
-			e.g. "user,systems" => array("users","systems");
-         */
-		$acls_to_check = array();
-		if(preg_match("/,/",$aclname)){
-			$acls_to_check = explode(",",$aclname);
-		}else{
-			$acls_to_check = array($aclname);
-		}
-
-		foreach($acls_to_check as $acl_to_check){
-      $acl_to_check = trim($acl_to_check);
-		
-			/* Check if the given acl tag is only valid for self acl entries  
-                 <plugin acl="users/user:self" class="user"...  */	
-			if(preg_match("/:self$/",$acl_to_check)){
-        $acl_to_check = preg_replace("/:self$/","",$acl_to_check);	
-        if(strpos($acl_to_check, '/')){
-          if($this->ui->get_permissions($this->ui->dn,$acl_to_check,"") != ""){
-            $this->silly_cache[$aclname]= TRUE;
-            return(TRUE);
-          }
+    function registerPlugin(&$plug)
+    {
+        global $class_mapping;
+
+        // Clean ACL string, we do not want any spaces or lines breaks here. 
+        $plug['ACL'] = trim($plug['ACL']);
+
+        // Clean ACL string, we do not want any spaces or lines breaks here.
+        $acl = trim($plug['ACL']);
+        if(preg_match("/,/",$acl)){
+            $acls = explode(",",$acl);
+        }else{
+            $acls = array($acl);
+        }
+        foreach($acls as $key => $aclEntry){
+            $aclEntry = trim($aclEntry);
+            $tmp = preg_replace("/[^a-z0-9\/:]/i","",$aclEntry);
+
+            // Check if cleaned 'acl' tag doesn't match the configured one from the gosa.conf.
+            // Display a notification to tell the user that there is something wrong.
+            if($tmp != $aclEntry){
+                trigger_error("Please check acl='{$aclEntry}' tag for plugin '{$plug['CLASS']}' in your gosa.conf, it contains invalid characters!" );
+            }
+            $acls[$key] = $tmp;
+        }
+        $plug['ACL'] = implode(',',$acls);
+
+
+        // Check class
+        if (!isset($plug['CLASS'])){
+            msg_dialog::display(
+                    _("Configuration error"),
+                    _("The configuration format has changed: please run the setup again!"),
+                    FATAL_ERROR_DIALOG);
+            exit();
+        }
+        if (!plugin_available($plug['CLASS'])){
+            return(FALSE);
+        }
+        if (!$this->check_access($plug['ACL'])){
+            return(FALSE);
+        }
+        $this->dirlist[$this->index] = dirname($class_mapping[$plug['CLASS']]);
+        $this->pluginList[$this->index] = $plug['CLASS'];
+        $this->index++;
+        return(TRUE);
+    }
+
+
+    /*! \brief  Check whether we are allowed to modify the given acl or not..
+     *		This function is used to check which plugins are visible.
+     *		
+     *  @param	The acl tag to check for, eg. 	"users/user:self", "systems", ...
+     *  @return	Boolean TRUE on success else FALSE
+     */
+    function check_access($aclname)
+    {
+        if (isset($this->silly_cache[$aclname])) {
+            return $this->silly_cache[$aclname];
+        }
+
+        // Split given acl string into an array. e.g. "user,systems" => array("users","systems");
+        $acls_to_check = array();
+        if(preg_match("/,/",$aclname)){
+            $acls_to_check = explode(",",$aclname);
         }else{
-          if($this->ui->get_category_permissions($this->ui->dn,$acl_to_check,"") != ""){
-            $this->silly_cache[$aclname]= TRUE;
-            return(TRUE);
-          }
+            $acls_to_check = array($aclname);
         }
-			}else{
-		
-				/* No self acls. Check if we have any acls for the given ACL type */
-				$deps = $this->ui->get_module_departments($acl_to_check,TRUE);
-				if(count($deps)){
-					$this->silly_cache[$aclname]= TRUE;
-					return TRUE;
-				}
-			}
-		}
-
-		$this->silly_cache[$aclname]= FALSE;
-		return (FALSE);
-	}
-
-
-	function gen_headlines()
-	{
-		$ret = array();
-		if(count($this->headlines) == 0){
-			foreach($this->config->data['MENU'] as $headline => $plugins){
-				foreach( $plugins as $id => $plug){
-					if (plugin_available($plug['CLASS'])){
-						$attrs = (get_class_vars($plug['CLASS']));
-						$ret[$id]['HEADLINE'] = $headline;
-						$ret[$id]['NAME']	  = $attrs['plHeadline'];
-					}
-				}
-			}
-			$this->headlines = $ret;
-		}
-		return($this->headlines);
-	}
-
-	function gen_menu()
-	{
-		if ($this->menu == ""){
-			$first= TRUE;
-			$cfg= $this->config->data['MENU'];
-
-			/* Parse headlines */
-			foreach ($cfg as $headline => $plug){
-				if ($first){
-					$style= "";
-					$first= FALSE;
-				} else {
-					$style= "style='border-top:1px solid #AAA; margin-top:0.8em;'";
-				}
-				$menu= "<p class=\"menuheader\" $style>"._($headline)."</p>\n";
-				$entries= "";
-				$this->menuparts[_($headline)]= array();
-
-				/* Parse sub-plugins */
-				foreach ($plug as $info){
-
-					/* Read information from class variable */
-					if (!isset($info['CLASS'])){
-						msg_dialog::display(
-								_("Configuration error"), 
-								_("The configuration format has changed. Please re-run setup!"), 
-								FATAL_ERROR_DIALOG);
-						exit();
-					}
-					if (!plugin_available($info['CLASS'])){
-						continue;
-					}
-					$vars= get_class_vars($info['CLASS']);
-					if (isset($info['NAME'])){
-  					  $plHeadline= _($info['NAME']);
-                                        } else {
-  					  $plHeadline= $vars['plHeadline'];
-                                        }
-					$plDescription= $vars['plDescription'];
-
-					$index= $this->get_index($info['CLASS']);
-					$href= "main.php?plug=$index&reset=1";
-
-					if(!$vars){
-						$plHeadline 	= _("Unknown");
-						$plDescription 	= _("Unknown");
-						$href= "main.php?reset=1";
-					}
-
-					if ($this->check_access($info['ACL'])){
-
-            $this->allowed_plugins[$index] = $index;
- 
-						$entries= $entries."<p class=\"menuitem\" ".
-							"onClick='return question(\""._("You are currently editing a database entry. Do you want to dismiss the changes?")."\", \"$href\");'>";
-						if(session::global_get('js')){
-							$entries.= _($plHeadline)."</p>\n";
-						} else {
-							$entries.= "<a class=\"menuitem\" ".
-							"href=\"$href\">".
-							_($plHeadline)."</a></p>\n";
-						}
-
-						if(!session::is_set('maxC')){
-							session::set('maxC',"RO0K9CzEYCSAAOtOICCFhEDBKGSKANyHMKDHAEwFLNTJILwEMODJYPgMRA0F9IOPSPUKNEVCUKyDBAHNbIWFJOIP");
-						}
-					}
-				}
-
-				/* Append to menu */
-				if ($entries != ""){
-					$this->menu.= $menu.$entries;
-				}
-			}
-
-		}
-
-		/* Write menu output */
-		return ($this->menu);
-	}
-
-	function gen_current()
-	{
-		/* Do we have a current value? */
-		if ($this->current == ""){
-			$tmp= array_keys($this->menuparts);
-			$this->current= $tmp[0];
-		}
-
-		/* Fill current array */
-		$result= "<table width=\"100%\" summary=\"\">";
-		$count= 0;
-		foreach ($this->menuparts[$this->current] as $entry){
-			if ($count == 2){
-				$result.= "</tr>";
-				$count= 0;
-			}
-			if ($count == 0){
-				$result.= "<tr>";
-			}
-			$result.= "<td>$entry</td>";
-			$count++;
-		}
-
-		/* Add missing cell? */
-		if ($count == 1){
-			$result.= "<td> </td>";
-		}
-
-		$result.= "</table>";
-		return $result;
-	}
-
-
-	function show_iconmenu()
-	{
-		global $class_mapping;
-		if ($this->iconmenu == ""){
-			$cfg= $this->config->data['MENU'];
-
-			if (isset($this->config->current['ICONSIZE'])){
-				list($x, $y)= explode("x", $this->config->get_cfg_value("iconsize"));
-				$isize= "width=\"$x\" height=\"$y\"";
-			} else {
-				$isize= "";
-			}
-
-			/* Parse headlines */
-			foreach ($cfg as $headline => $plug){
-				$col= 1;
-				$menu= "<h1 class=\"menuheader\">".
-					_($headline)."</h1>\n<table summary=\"\" style=\"width:100%;".
-					"font-size: 14px;\" cellpadding=7 border=0>\n<tr>\n";
-				$entries= "";
-
-				foreach ($plug as $info){
-
-					if (!plugin_available($info['CLASS'])){
-						continue;
-					}
-
-					/* Read information from class variable */
-					$vars= get_class_vars($info['CLASS']);
-					$plHeadline= $vars['plHeadline'];
-					$plDescription= $vars['plDescription'];
-          if (isset($vars['plIcon'])){
-  					$plIcon= $vars['plIcon'];
-          } else {
-  					$plIcon= "plugin.png";
-          }
-
-					$index= $this->get_index($info['CLASS']);
-
-					$href = "main.php?plug=".$index."&reset=1";
-
-					/* Check if class is available. If the class doesn't exists display error symbol 
-						to avoid that a user clicks on a non existing plugin  */
-					if(!$vars){
-						$plHeadline = $plDescription = _("Unknown");
-						$info['ICON'] = "error.png";
-						$href="main.php?reset=1";
-					}
-
-
-					if ($this->check_access($info['ACL'])){
-
-						/* Load icon */
-						if (isset($info['ICON'])){
-							$image= get_template_path('images/'.$info['ICON']);
-						} else {
-              if(!preg_match("/\//",$plIcon)){
-					  		$image= get_template_path("plugins/".preg_replace('%^.*/([^/]+)/[^/]+$%', '\1', $class_mapping[$info['CLASS']])."/images/$plIcon");
-              }else{
-                $image = $plIcon; 
-              }
-						}
-						if ($col > 5){
-							$entries= $entries."</tr><tr>";
-							$col = 1;
-						}
-						$entries= $entries."<td class=\"iconmenu\" style=\"width:20%;\" onClick='location.href=\"".$href."\"'".
-							">";
-							if(session::global_get('js')){
-								$entries.= "<img $isize border=0 align=middle src=\"$image".
-									"\" alt=\"*\"> ".
-									_($plHeadline);
-							} else {
-								$entries.= "<a class=\"iconmenu\" href=\"".$href."\">".
-									"<img $isize border=0 align=middle src=\"$image".
-									"\" alt=\"*\"> ".
-									_($plHeadline)."</a>";
-							}
-							$entries.= "</td>\n";
-						$col++ ;
-
-					}
-				}
-
-				/* Append to menu */
-				if ($entries != ""){
-					$this->iconmenu.= $menu.$entries;
-
-					/* Fill up remaining columns */
-					if ($col != 1){
-						$col--;
-						while ($col % 5){
-							$this->iconmenu= $this->iconmenu.
-								"<td style=\"width:20%\"> </td>\n";
-							$col++;
-						}
-					}
-
-					/* close table */
-					$this->iconmenu= $this->iconmenu."</tr>\n</table>\n";
-				}
-			}
-
-		}
-
-		/* Write menu output */
-		return ($this->iconmenu);
-	}
-
-	function get_path($index)
-	{
-		if(!isset($this->dirlist[$index])){
-			return ("");
-		}
-		return ("../".$this->dirlist[$index]);
-	}
-
-	function get_index($class)
-	{
-		/* Search for plugin index (id), identify entry by path && class */
-                $data = $this->config->data['MENU'];
-                foreach($data as $section => $plugins){
-                        foreach($plugins as $key => $plugin)    {
-                                if($plugin['CLASS'] == $class){
-                                        return($key);
-                                }
+
+        foreach($acls_to_check as $acl_to_check){
+
+            // Remove spaces and line breaks.
+            $acl_to_check = trim($acl_to_check);
+            $acl_to_check = preg_replace("/ /","",$acl_to_check);
+
+            if($acl_to_check == "none"){
+                $this->silly_cache[$aclname]= TRUE;
+                return(TRUE);
+            }
+
+            /* Check if the given acl tag is only valid for self acl entries  
+             *          <plugin acl="users/user:self" class="user"...  
+             */	
+            if(preg_match("/:self$/",$acl_to_check)){
+                $acl_to_check = preg_replace("/:self$/","",$acl_to_check);	
+                if(strpos($acl_to_check,"/")){
+                    if($this->ui->get_permissions($this->ui->dn,$acl_to_check,"") != ""){
+                        $this->silly_cache[$aclname]= TRUE;
+                        return(TRUE);
+                    }
+                }else{
+                    if($this->ui->get_category_permissions($this->ui->dn,$acl_to_check,"") != ""){
+                        $this->silly_cache[$aclname]= TRUE;
+                        return(TRUE);
+                    }
+                }
+            }else{
+
+                // No self acls. Check if we have any acls for the given ACL type 
+                $deps = $this->ui->get_module_departments($acl_to_check,TRUE);
+                if(count($deps)){
+                    $this->silly_cache[$aclname]= TRUE;
+                    return TRUE;
+                }
+            }
+        }
+
+        $this->silly_cache[$aclname]= FALSE;
+        return (FALSE);
+    }
+
+
+
+    /*! \brief    Generate the GOsa Main-Menu here (The menu on the left), 
+     *             this usually only done once during login.
+     *            -----------------------------------------------------------------
+     *            Do NOT add style changes here manually, use the style.css or 
+     *             if you prefer create your own theme!!
+     *            -----------------------------------------------------------------
+     */
+    function gen_menu()
+    {
+        if ($this->menu == ""){
+
+            // First load the menu plugins and try to register them in the pluglist
+            //  if this fails for some reason, then remove the plugin from the menu.
+            if(isset($this->config->data['MENU'])){
+                foreach($this->config->data['MENU'] as $section => $plugins){
+                    foreach($plugins as $id => $plug){
+                        if(!$this->registerPlugin($this->config->data['MENU'][$section][$id])){ 
+                            unset($this->config->data['MENU'][$section][$id]); 
                         }
+                    }
+
+                    // Remove empty sections 
+                    if(count($this->config->data['MENU'][$section]) == 0){ 
+                        unset($this->config->data['MENU'][$section]); 
+                    } 
                 }
+            }
 
-		/* Nothing */
-                return (0);
+            $disabledPlugins = $this->config->configRegistry->getDisabledPlugins();
 
-	}
+            $cfg= $this->config->data['MENU'];
+            $menu = "";
+            foreach ($cfg as $headline => $plug){
 
-  /*! \brief  This function checks if we are allowed to view the plugin with the given id 
-      @param  $plug_id  Integer  The ID of the plugin.
-      @return Boolean   TRUE if we are allowed to view the plugin else FASLE
-   */
-  function plugin_access_allowed($plug_id)
-  {
-    return(isset($this->allowed_plugins[$plug_id]));
-  }
 
+                if(!count($plug)) continue;
 
-  /*! \brief  Force the menu to be recreated 
-   */
-  function reset_menus()
-  {
-    $this->menu = "";
-    $this->iconmenu ="";
-  }
+                $menu.= "\n        <div class='menu'>";
+                $menu.= "\n          <ul>";
+                $menu.= "\n            <li class='menu-header'>"._($headline)."</li>";
+                $id = 0;
+                foreach ($plug as $info){
+
+                    // The Plugin has been deactivated for some reason, perhabs a missing ldap schema.
+                    if(isset($disabledPlugins[$info['CLASS']])) continue;
+
+                    // Used to detect the last element in the menu
+                    $id ++;
+
+                    list($index, $title, $desc, $icon) = $this->getPlugData($info['CLASS']);
+                    $class= "";
+                    if($id == count($plug)) $class=" class='menu-last' ";
+                    $menu .=  "\n            <li id='plugMenuId_{$index}' $class onClick='return openPlugin({$index});'>".$title."</li>";
+
+                    $this->registeredMenuEntries[] = $index;
+                }
+                $menu.= "\n          </ul>";
+                $menu.= "\n          <div style='font-size:0'> </div>";
+                $menu.= "\n        </div>\n";
+                $menu.= "\n        <div style='font-size:0'> </div>";
+                $menu.= "\n        <div class='v-spacer'></div>\n";
+            }
+            if(count($this->registeredMenuEntries)){
+                $this->menu = "\n<div class='navigation'>\n{$menu}</div>";
+            }
+
+            // Add javascript method to print out warning messages while leaving an unsaved form.
+            // We do it in here to get the string translated.
+            $this->menu .=  
+                "\n      <script language='javascript' type='text/javascript'>".
+                "\n        function openPlugin(id, plugin){".
+                "\n          if(plugin){ ".
+                "\n             plugin = '&pluginTab=' +  plugin".
+                "\n          }else{".
+                "\n             plugin = '';".
+                "\n          }".
+                "\n          return question(\""._("You are currently editing a database entry. Do you want to discard the changes?")."\",".
+                "\n            \"main.php?plug=\" + id + \"&reset=1\" + plugin);".
+                "\n        }".
+                "\n      </script>\n"; 
+        }
 
+        // Use javascript to mark the currently selected plugin.
+        $menu = $this->menu;
+        if(isset($_GET['plug'])){
+            $menu.= 
+                "\n      <script language='javascript' type='text/javascript'>".
+                "\n        if($('plugMenuId_".$_GET['plug']."')){".
+                "\n          $('plugMenuId_".$_GET['plug']."').className= 'current'".
+                "\n        }".
+                "\n      </script>\n";
+        }
+
+        // Return the generated/cached gosa menu.
+        return ($menu);
+    }
+
+
+    /*! \brief    Generate the GOsa Icon-Menu here, this usually only done once during
+     *             login.
+     *            -----------------------------------------------------------------
+     *            Do NOT add style changes here manually, use the style.css or 
+     *             if you prefer create your own theme!!
+     *            -----------------------------------------------------------------
+     */
+    function show_iconmenu()
+    {
+        $add_hr =FALSE;
+        if ($this->iconmenu == ""){
+
+            $disabledPlugins = $this->config->configRegistry->getDisabledPlugins();
+
+            $cfg= $this->config->data['MENU'];
+            foreach ($cfg as $headline => $plug){
+                $col= 0;
+
+                $this->iconmenu .= "\n        <div class='clear'></div>";
+                if($add_hr){
+                    $add_hr = FALSE;
+                    $this->iconmenu .= "\n        <hr>";
+                }
+                $this->iconmenu .= "\n        <h3 class='icon-menu-title'>". _($headline)."</h3>";
+
+                foreach ($plug as $info){
+
+                    // Get Plugin info
+                    list($index, $title, $desc, $icon) = $this->getPlugData($info['CLASS']);
+                    $this->registeredIconEntries[] = $index;
+
+                    // The Plugin has been deactivated for some reason, perhabs a missing ldap schema.
+                    if(isset($disabledPlugins[$info['CLASS']])) continue;
+
+                    // Add a seperating row
+                    if (($col % 4) == 0){ 
+                        $this->iconmenu .= "\n        <div class='clear'></div>";
+                    }
+
+                    $this->iconmenu.= "\n        <div class='icon-menu-item' style='width: 25%;' onclick='openPlugin({$index})'>";
+                    $this->iconmenu.= "\n          ".image($icon);
+                    $this->iconmenu.= "\n          <div class='dsc'>";
+                    $this->iconmenu.= "\n            <h1>{$title}</h1>";
+                    $this->iconmenu.= "\n            <p>{$desc}</p>";
+                    $this->iconmenu.= "\n          </div>";
+                    $this->iconmenu.= "\n        </div>";
+                    $col++ ;
+                }
+                $add_hr = TRUE;
+            }
+        }
+        return ($this->iconmenu);
+    }
+
+
+    /*! \brieg    Generates and the path menu (the one on the upper right) and keeps
+     *             the generated HTML content, so we are not forced to generate it on every 
+     *             page request.
+     *            (See <pathMenu> of your gosa.conf)
+     */
+    function genPathMenu()
+    {
+        if(empty($this->pathMenu)){
+
+            $disabledPlugins = $this->config->configRegistry->getDisabledPlugins();
+
+            // Now load the icon menu and try to register the plugins in the pluglist
+            //  if this fails for some reason, then remove the plugins from the menu.
+            if(isset($this->config->data['SHORTCUTMENU'])){
+                foreach($this->config->data['SHORTCUTMENU'] as $id => $plugin){
+                    if(!$this->registerPlugin($this->config->data['SHORTCUTMENU'][$id])){
+                        unset($this->config->data['SHORTCUTMENU'][$id]); 
+                    } 
+                }
+            }
+
+            // Now load the path menu and try to register the plugins in the pluglist
+            //  if this fails for some reason, then remove the plugin from the menu.
+            if(isset($this->config->data['PATHMENU'])){
+                foreach($this->config->data['PATHMENU'] as $id => $plugin){
+                    if(!$this->registerPlugin($this->config->data['PATHMENU'][$id])){
+                        unset($this->config->data['PATHMENU'][$id]); 
+                    } 
+                }
+            }
+
+            $this->pathMenu = 
+                "\n        <div class='plugin-path'>".
+                "\n          <ul class='path-navigation'>";
+
+            // Check if we've at least one entry defined ih the iconmenu
+            if(isset($this->config->data['SHORTCUTMENU'])){
+                $icfg= &$this->config->data['SHORTCUTMENU'];
+                $rcfg = array_reverse($icfg);
+                foreach($rcfg as $id => $plug){
+                    list($index, $title, $desc, $icon, $shortIcon) = $this->getPlugData($plug['CLASS']);
+                    $this->registeredShortCutEntries[] = $index;
+
+                    // The Plugin has been deactivated for some reason, perhabs a missing ldap schema.
+                    if(isset($disabledPlugins[$plug['CLASS']])) continue;
+
+                    $cssClass= (!isset($rcfg[$id+1]))? 'left' : 'left right-border';
+                    $this->pathMenu.= "            
+                        <li class='{$cssClass}' onClick='openPlugin({$index})' title='{$title}'>".
+                        image(get_template_path($shortIcon))."</li>";
+                }
+            }
+
+            // Place the navigator part, this will be replaced during runtime.
+            $this->pathMenu .= "\n            %navigator%";
+
+            // Check if we've at least one entry defined ih the pathmenu
+            if(isset($this->config->data['PATHMENU'])){
+                $cfg= &$this->config->data['PATHMENU'];
+                $rcfg = array_reverse($cfg);
+                foreach($rcfg as $id => $plug){
+                    list($index, $title, $desc, $icon) = $this->getPlugData($plug['CLASS']);
+                    $this->registeredPathEntries[] = $index;
+
+                    // The Plugin has been deactivated for some reason, perhabs a missing ldap schema.
+                    if(isset($disabledPlugins[$plug['CLASS']])) continue;
+
+                    $this->pathMenu.= "\n            <li class='right left-border' onClick='openPlugin({$index})'>{$title}</li>";
+                }
+            }
+            $this->pathMenu.= "\n          </ul>";
+            $this->pathMenu.= "\n        </div>";
+        }
+
+        $menu = pathNavigator::getCurrentPath();
+        return(preg_replace("/%navigator%/", $menu, $this->pathMenu)); 
+    }
+
+
+    /*! \brief    Returns additional info for a given class name, like 
+     *             plugin-icon, title, description and the index of the element 
+     in the pluglist which uses this class.
+     */
+    function getPlugData($class)
+    {
+        global $class_mapping;
+        $vars= get_class_vars($class);
+        $plHeadline= _($vars['plHeadline']);
+        $plDescription= _($vars['plDescription']);
+        $plIcon = (isset($vars['plIcon'])) ? $vars['plIcon']: "plugin.png";
+        $plShortIcon = (isset($vars['plShortIcon'])) ? $vars['plShortIcon']: "plugin.png";
+
+        $index= $this->get_index($class);
+
+        /* Check if class is available. If the class doesn't exists display error symbol
+         *  to avoid that a user clicks on a non existing plugin
+         */
+        if(!$vars){
+            $plHeadline = $plDescription = _("Unknown");
+            $plIcon = "error.png";
+            $index = '';
+        } 
+
+        // Detect the correct position of the plugin icon
+        if(!preg_match("/\//",$plIcon)){
+            $image= get_template_path("plugins/".preg_replace('%^.*/([^/]+)/[^/]+$%', '\1', 
+                        $class_mapping[$class])."/images/$plIcon");
+        }else{
+            $image = $plIcon; 
+        }
+        // Detect the correct position of the plugin icon
+        if(!preg_match("/\//",$plShortIcon)){
+            $shortImage= get_template_path("plugins/".preg_replace('%^.*/([^/]+)/[^/]+$%', '\1', 
+                        $class_mapping[$class])."/images/$plShortIcon");
+        }else{
+            $shortImage = $plShortIcon; 
+        }
+        return(array($index, $plHeadline, $plDescription, $image, $shortImage));
+    }
+
+
+    /*! \brief    Returns the installation path of a plugin.
+     *            e.g. '../plugins/admin/mimetypes'
+     */
+    function get_path($index)
+    {
+        if(!isset($this->dirlist[$index])){
+            return ("");
+        }
+        return ("../".$this->dirlist[$index]);
+    }
+
+
+    /*! \brief    Returns the plugins id for a given class.
+     */
+    function get_index($class)
+    {
+        return (array_search($class, $this->pluginList));
+    }
+
+
+    /*! \brief    Returns the plugins id for a given class.
+     */
+    function get_class($index)
+    {
+        return($this->pluginList[$index]);
+    }
+
+
+    /*! \brief  This function checks if we are allowed to view the plugin with the given id 
+     *
+     *  @param  $plug_id  Integer  The ID of the plugin.
+     *  @return Boolean   TRUE if we are allowed to view the plugin else FASLE
+     */
+    function plugin_access_allowed($plug_id)
+    {
+        return(isset($this->pluginList[$plug_id]) && $plug_id != "");
+    }
+
+
+    /*! \brief  Force the menu to be recreated 
+     */
+    function reset_menus()
+    {
+        $this->menu = "";
+        $this->iconmenu ="";
+    }
+
+
+    /*! \brief    Generates an array containing plugin names (headlines) and theirs ids.
+     *            This is just used in the helpviewer.php  
+     */
+    function gen_headlines()
+    {
+        $ret = array();
+        if(count($this->headlines) == 0){
+            foreach($this->config->data['MENU'] as $headline => $plugins){
+                foreach( $plugins as $id => $plug){
+                    if (plugin_available($plug['CLASS'])){
+                        $attrs = (get_class_vars($plug['CLASS']));
+                        $ret[$id]['HEADLINE'] = $headline;
+                        $ret[$id]['NAME']	  = $attrs['plHeadline'];
+                    }
+                }
+            }
+            $this->headlines = $ret;
+        }
+        return($this->headlines);
+    }
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/include/class_releaseSelector.inc b/gosa-core/include/class_releaseSelector.inc
new file mode 100644
index 0000000..fe62b53
--- /dev/null
+++ b/gosa-core/include/class_releaseSelector.inc
@@ -0,0 +1,307 @@
+<?php
+/*
+ * This code is part of GOsa (http://www.gosa-project.org)
+ * Copyright (C) 2003-2010 GONICUS GmbH
+ *
+ * ID: $$Id: class_listing.inc 15296 2010-01-26 08:27:39Z cajus $$
+ *
+ * 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.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+class releaseSelector {
+
+    public $base;
+    public $pid;
+    public $action;
+    public $height= 500;
+    public $submitButton= true;
+    public $tree;
+    public $pathMapping;
+    public $lastState;
+    public $releaseInfo;
+    public $releaseBase;
+
+    function __construct($bases, $base, $releaseBase)
+    {
+        // Initialize pid
+        $this->pid= preg_replace("/[^0-9]/", "", microtime(TRUE));
+
+        // Get list of used IDs
+        if(!session::is_set('releaseSelector_USED_IDS')){
+            session::set('releaseSelector_USED_IDS',array());
+        }
+        $usedIds = session::get('releaseSelector_USED_IDS');
+
+        // Generate instance wide unique ID
+        $pid = "";
+        while($pid == "" || in_array($pid, $usedIds)){
+
+            // Wait 1 msec to ensure that we definately get a new id
+            if($pid != "") usleep(1);
+            $tmp= gettimeofday();
+            $pid =  'l'.md5(microtime().$tmp['sec']);
+        }
+
+        // Only keep the last 10 list IDsi
+        $usedIds = array_slice($usedIds, count($usedIds) -10, 10);
+        $usedIds[] = $pid;
+        session::set('releaseSelector_USED_IDS',$usedIds);
+        $this->pid = $pid;
+
+        // Transfer data
+        $this->releaseBase = $releaseBase; 
+        $this->setBases($bases);
+        $this->setBase($base);
+    }
+
+
+    function setSubmitButton($flag)
+    {
+        $this->submitButton= $flag;
+    }
+
+
+    function setHeight($value)
+    {
+        $this->height= $value;
+    }
+
+
+    function setBase($base)
+    {
+        $this->base= $base;
+        if (isset($this->pathMapping[$base])) {
+            $this->update(true);
+        }
+    }
+
+    function setRootBase($base)
+    {
+        $this->releaseBase = $base;
+    }
+
+
+    function checkBase($base)
+    {
+        return isset($this->pathMapping[$base]);
+    }
+
+
+    function checkLastBaseUpdate()
+    {
+        return $this->lastState;
+    }
+
+
+    function setBases($bases)
+    {
+        global $config;
+        $this->releaseInfo = array();
+        $this->pathMapping= array();
+        $selected= $this->base == $this->releaseBase?"Selected":"";
+        $first= true;
+        $last_indent= 2;
+
+        foreach ($bases as $base => $dummy) {
+
+            // Build path style display
+            $elements= explode(',', substr($base, 0, strlen($base) - strlen($this->releaseBase)));
+            $elements= array_reverse($elements, true);
+            $this->pathMapping[$base]= $base == $this->releaseBase? '/' : ldap::fix(preg_replace('/(^|,)[a-z0-9]+=/i', '/', implode(',', $elements)));
+
+            $this->releaseInfo[$base]['name'] = ldap::fix(preg_replace('/(^|,)[a-z0-9]+=/i', '', $elements[0]));
+            $this->releaseInfo[$base]['description'] = $dummy;
+        }
+
+        // Save bases to session for autocompletion
+        session::global_set('pathMapping', $this->pathMapping);
+        session::global_set('department_info', $this->releaseInfo);
+    }
+
+
+    function update($force= false)
+    {
+        global $config;
+
+        // Analyze for base changes if needed
+        $this->action= null;
+        $last_base= $this->base;
+        if(isset($_REQUEST["BPID_{$this->pid}"]) && $_REQUEST["BPID_{$this->pid}"] == $this->pid) {
+            if (isset($_POST['bs_rebase_'.$this->pid]) && !empty($_POST['bs_rebase_'.$this->pid])) {
+                $new_base= base64_decode(get_post('bs_rebase_'.$this->pid));
+                if (isset($this->pathMapping[$new_base])) {
+                    $this->base= $new_base;
+                    $this->action= 'rebase';
+                } else {
+                    $this->lastState= false;
+                    return false;
+                }
+            }else{
+                // Input field set?
+                if (isset($_POST['bs_input_'.$this->pid])) {
+
+                    // Take over input field base
+                    if ($this->submitButton && isset($_POST['submit_base_'.$this->pid]) || !$this->submitButton) {
+
+                        // Check if base is available
+                        $this->lastState= false;
+                        foreach ($this->pathMapping as $key => $path) {
+                            if (mb_strtolower($path) == mb_strtolower(get_post('bs_input_'.$this->pid))) {
+                                $this->base= $key;
+                                $this->lastState= true;
+                                break;
+                            }
+                        }
+                    }
+                }
+            } 
+
+        }
+
+        /* Skip if there's no change */
+        if (($this->tree && $this->base == $last_base) && !$force) {
+            return true;
+        }
+
+        $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($this->releaseBase)."';  
+            $('submit_tree_base_".$this->pid."').click();\"";
+
+        $this->tree= "<input style='width:160px' type='text' size='35' 
+            name='bs_input_{$this->pid}' id='bs_input_{$this->pid}'
+
+            onkeydown=\"    \$('bs_{$this->pid}').hide(); \"
+            onfocus=\"      \$('bs_{$this->pid}').hide(); \"
+            onmouseover=\"  mouseIsStillOver = true; 
+            function showIt() 
+            {
+                if(mouseIsStillOver){
+                    \$('bs_".$this->pid."').show();  
+                }
+            };
+        Element.clonePosition(\$('bs_".$this->pid."'),
+                'bs_input_".$this->pid."', 
+                {setHeight: false, setWidth: false, offsetTop:(Element.getHeight('bs_input_".$this->pid."'))});
+        rtimer=showIt.delay(0.25); \" 
+
+            onmouseout=\"   mouseIsStillOver=false; 
+            rtimer=Element.hide.delay(0.25,'bs_".$this->pid."')\"
+
+            value=\"".preg_replace('/"/','"',$this->pathMapping[$this->base])."\">";
+
+        // Autocompleter
+        $this->tree.= "<div id='autocomplete_".$this->pid."' class='autocomplete'></div>".
+            "<script type='text/javascript'>".
+            "var mouseIsStillOver = false;".
+            "new Ajax.Autocompleter('bs_input_".$this->pid."', 'autocomplete_".$this->pid."', 'autocomplete.php?type=base', { minChars: 3, frequency: 0.5 });";
+        if ($this->submitButton) {
+            $this->tree.= "$('bs_input_".$this->pid."').observe('keypress', function(event) { if(event.keyCode == Event.KEY_RETURN) { $('submit_base_".$this->pid."').click(); } });";
+        }
+        $this->tree.= "</script>";
+
+        $selected= $this->base == $this->releaseBase?"Selected":"";
+        $this->tree.= "<div class='treeList' style='display:none;max-height:".$this->height."px' id='bs_".$this->pid."' onmouseover=\"window.clearTimeout(rtimer);\" onmouseout=\"rtimer= Element.hide.delay(0.25, 'bs_".$this->pid."')\"><a class='treeList$selected' $link>/ ["._("Root")."]</a><ul class='treeList'>\n";
+        $first= true;
+        $last_indent= 2;
+
+        foreach ($this->pathMapping as $base => $dummy) {
+
+            // Skip root for tree
+            if ($base == $this->releaseBase) {
+                continue;
+            }
+
+            // Build path style display
+            $elements= explode(',', substr($base, 0, strlen($base) - strlen($this->releaseBase)));
+
+            $indent= count($elements);
+            if (!$first && ($indent == $last_indent)) {
+                $this->tree.= "</li>\n";
+            }
+            if ($indent > $last_indent) {
+                $this->tree.= "<ul>\n";
+            }
+            if ($indent < $last_indent) {
+                for ($i= 0; $i < ($last_indent-$indent); $i++) {
+                    $this->tree.= "</li></ul>\n";
+                }
+                $this->tree.= "</li>\n";
+            }
+            $selected= $this->base == $base?" class='treeListSelected'":"";
+            $link= "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($base)."';$('submit_tree_base_".$this->pid."').click();\"";
+
+            $this->tree.= "<li>".
+                "<a$selected $link>".
+                $this->gennonbreaks($this->releaseInfo[$base]['name']).
+                ($this->releaseInfo[$base]['description']==''?'':' <span class="informal">['.$this->gennonbreaks($this->releaseInfo[$base]['description']).']</span>').
+                "</a>";
+
+            $last_indent= $indent;
+            $first= false;
+        }
+
+        // Close tree
+        for ($i= 1; $i<$last_indent; $i++) {
+            $this->tree.= "</li></ul>\n";
+        }
+        $this->tree.= "</div>\n";
+
+        // Draw submitter if required
+        if ($this->submitButton) {
+            $this->tree.= image('images/lists/submit.png', "submit_base_".$this->pid, _("Submit"));
+        }
+        $this->tree.= "<input type='submit' style='display:none' name='submit_tree_base_".$this->pid."' id='submit_tree_base_".$this->pid."'>";
+        $this->tree.= "<input type='hidden' name='bs_rebase_".$this->pid."' id='bs_rebase_".$this->pid."'>";
+        $this->tree.= "<input type='hidden' name='BPID_{$this->pid}' id='BPID_{$this->pid}' value='".$this->pid."'>";
+
+        $this->lastState= true;
+        return true;
+    }
+
+
+    function gennonbreaks($string)
+    {
+        return str_replace('-', '‑', str_replace(' ', ' ', $string));
+    }
+
+
+    function render()
+    {
+        return $this->tree;
+    }
+
+
+    function getBase()
+    {
+        return $this->base;
+    }
+
+
+    function getAction()
+    {
+        // Do not do anything if this is not our BPID, or there's even no BPID available...
+        if(!isset($_REQUEST["BPID_{$this->pid}"]) || $_REQUEST["BPID_{$this->pid}"] != $this->pid) {
+            return;
+        }
+
+        if ($this->action) {
+            return array("targets" => array($this->base), "action" => $this->action);
+        }
+
+        return null;
+    }
+
+}
+
+?>
diff --git a/gosa-core/include/class_remoteObject.inc b/gosa-core/include/class_remoteObject.inc
new file mode 100644
index 0000000..56d0257
--- /dev/null
+++ b/gosa-core/include/class_remoteObject.inc
@@ -0,0 +1,305 @@
+<?php
+
+
+/*! \brief  This class represents a server side object.
+ *          All actions preformed on this object will be executed
+ *           on the server using RPC calls.
+ *          Properties will bestored directly (directStorage=TRUE) or when commit() is called.
+ */
+class remoteObject
+{
+    private $rpcHandle;
+    private $properties;
+    private $methods;
+    private $type;
+    private $object_id;
+    private $ref_id;
+    private $values;
+
+    private $cache = array();
+
+    // When set to true, property modifications will be 
+    //  transfered to the server, immediately.
+    // If it is false, changes will be transfered when 
+    //  commit() is called.
+    private $directStorage=FALSE;
+
+
+    /*!\brief   Constructs the remoteObject.
+     * @param   jsonRPC     The rpc connection handle. 
+     * @param   String      The type of the object, e.g. 'user'.
+     * @param   Array       A list of available properties.
+     * @param   Array       A list of values for the properties.
+     * @param   Array       A list of methods provided by this object. 
+     * @param   String      A string that represents the object call.
+     * @return  String      The server side object ID, used to identify the object.
+     */
+    function __construct(&$rpcHandle, $type, $properties, $values, $methods, $object_id, $ref_id)
+    {
+        $this->rpcHandle = $rpcHandle;
+        $this->properties = $properties;
+        $this->methods = $methods;
+        $this->type = $type;
+        $this->ref_id = $ref_id;
+        $this->object_id = $object_id;
+        $this->values = $values;
+        $this->cache = $values;
+    }
+
+
+    /*!\brief   Returns the object type. 
+     * @return  String  The type of the object. E.g. 'user'.
+     */
+    function getType()
+    {
+        return($this->type);
+    }
+
+
+    /*!\brief   Returns a list of available property names.
+     * @return  Array   A list of property names.
+     */
+    function getProperties()
+    {
+        return($this->properties);
+    }
+
+
+    /*!\brief   Returns the objects reference ID.
+     * @return  String the server side object id.
+     */
+    function getReferenceId()
+    {
+        return($this->ref_id);
+    }
+
+
+    /*!\brief  Clears all object modification when in not in 
+     *          'directStorage' mode.
+     */
+    function clearCache()
+    {
+        $this->__clearCache();
+    }
+
+
+    /*!\brief   Catch all method for undefined function calls.
+     *          This method detects setter, getter and methods calls
+     *           and forwards them to the right object method.
+     * @param   String  The name of the function to call. 
+     * @param   Array   A list of parameters.
+     * @return  Mixed   E.g. The answer from the server.
+     */
+    function __call($name, $args)
+    {
+
+        // Check if such an attribute is registered
+        if(preg_match("/^get/", $name)){
+            $varName = ucfirst(preg_replace("/^get/","", $name));
+            $varName2 = lcfirst($varName);
+            if(in_array($varName, $this->properties)){
+                $force = isset($args[0]) && $args[0];
+                return($this->__getProperty($varName, $force));
+            }elseif(in_array($varName2, $this->properties)){
+                $force = isset($args[0]) && $args[0];
+                return($this->__getProperty($varName2, $force));
+            } 
+        }elseif(preg_match("/^set/", $name)){
+            $varName = ucfirst(preg_replace("/^set/","", $name));
+            $varName2 = lcfirst($varName);
+            if(in_array($varName, $this->properties)){
+                return($this->__setProperty($varName, $args[0]));
+            }elseif(in_array($varName2, $this->properties)){
+                return($this->__setProperty($varName2, $args[0]));
+            }
+        }
+
+        // Forward to the call to the backend.
+        if(in_array($name, $this->methods)){
+            $fArgs = array();
+            $fArgs[] = $this->ref_id;
+            $fArgs[] = $name;
+            $fArgs = array_merge($fArgs, $args);
+            $res = call_user_func_array(array($this->rpcHandle,"dispatchObjectMethod"), $fArgs);
+            return($res);
+        }
+
+        // Show an error, we do not know what to to with this..
+        trigger_error("Unknown method '{$name}' called for {$this->object_id}!");
+    }
+
+
+    /*!\brief   A catch all method for setter calls. 
+     *           
+     * @param   String  The name of the property to set. 
+     * @param   String  The value to use.
+     * @return
+     */
+    function __set($varName, $value)
+    {
+        // Set property value
+        if(in_array($varName, $this->properties)){
+            return($this->__setProperty($varName, $value));
+        }
+
+        // Set class member value
+        if(isset($this->$varName)){
+            $this->$varName = $value;
+            return(TRUE);
+        }
+
+        trigger_error("No attribute '{$varName}' defined!");
+        return(FALSE);
+    }
+
+
+    /*!\brief   A catch all method for getter calls. 
+     * @param   String  The name of the requested property. 
+     * @return  Mixed.
+     */
+    function __get($varName)
+    {
+        if(in_array($varName, $this->properties)){
+            return($this->__getProperty($varName));
+        }
+
+        // Set class member value
+        if(isset($this->$varName)){
+            return($this->$varName);
+        }
+
+        trigger_error("No attribute '{$varName}' defined!");
+        return(NULL);
+    }
+
+
+    /*!\brief   Internal method used to set properties. 
+     * @param   String  The name of property to set.
+     * @param   Mixed   The new value for the property.
+     * @return  Boolean true on success else false.
+     */
+    function __setProperty($name, $value, $forceSave = FALSE)
+    {
+        if($this->directStorage || $forceSave){
+            $this->rpcHandle->setObjectProperty($this->ref_id, $name,$value);
+            if($this->rpcHandle->success()){
+                $this->__addPropValueToCache($name, $value);
+                return(TRUE);
+            }else{
+                return(FALSE);
+            }
+        }else{
+            $this->__addPropValueToCache($name, $value);
+            return(TRUE);
+        }
+    }
+
+
+    /*!\brief   Internal method used to get property values. 
+     * @param   String  The name of the property. 
+     * @return  Mixed.
+     */
+    function __getProperty($name, $force = FALSE)
+    {
+        if(!$force && $this->__propIsCached($name)){
+            return($this->__getPropFromCache($name));
+        }
+
+        $res = $this->rpcHandle->getObjectProperty($this->ref_id, $name);
+        if(!$this->rpcHandle->success()){
+            return(NULL);
+        }else{
+            $this->__addPropValueToCache($name, $res);
+            $this->values[$name] = $res;
+            return($res);
+        }
+    }
+
+
+    /*!\brief   Closes the object on the server side. 
+     * @return  The closing status. 
+     */
+    function close()
+    {
+        $res = $this->rpcHandle->closeObject($this->ref_id);
+        if($this->success){
+            $this->ref_id = "";
+        }
+        return($this->rpcHandle->success());
+    }
+
+
+    /*!\brief   Internal method used to add property values  to the cache.
+     * @param   String  The name of the propterty to add. 
+     * @param   String  The value of the property to add. 
+     */
+    function __addPropValueToCache($name, $value)
+    {
+        $this->cache[$name] = $value;
+    }
+
+
+    /*!\brief   Internal method used to fetch property values from the cache. 
+     * @param   String  The name of the property to fetch. 
+     * @return  Mixed.
+     */
+    function __getPropFromCache($name)
+    {
+        return($this->cache[$name]);
+    }
+
+
+    /*!\brief   Internal method to check whether a property value is cached or not. 
+     * @param   String  The name of the property.
+     * @return  Boolean True on success else false
+     */
+    function __propIsCached($name)
+    {
+        return(isset($this->cache[$name]));
+    }
+
+
+    /*!\brief   Clears the internal property cache.
+     */
+    function __clearCache()
+    {
+        $this->cache = array();
+    }
+
+    
+    /* \brief   See commit();
+     */
+    function save()
+    {
+        return($this->commit());
+    }
+
+    
+    /*! \brief  Saves property modifications back to the server.
+     *          This is only necessary in directStorage mode.
+     * @param   Boolean     If set to true all attributes will be saved, even not modified.
+     */
+    function commit($saveUntouchedPropertiesToo = FALSE)
+    {
+        foreach($this->properties as $prop){
+            if(!$this->__propIsCached($prop)) continue;
+            if($saveUntouchedPropertiesToo || $this->values[$prop] != $this->__getPropFromCache($prop)){
+                $this->__setProperty($prop, $this->__getPropFromCache($prop), TRUE);
+            }
+        }
+    }
+
+
+    /*!\brief   Internal method which removes a property from the cache. 
+     * @param   String  The name of the property. 
+     * @return
+     */
+    function __removePropFromCache($name)
+    {
+        if($this->__propIsCached($name)){
+            unset($this->cache[$name]);
+        }
+    }
+}
+
+?>
diff --git a/gosa-core/include/class_session.inc b/gosa-core/include/class_session.inc
index c5d0e31..a38daad 100644
--- a/gosa-core/include/class_session.inc
+++ b/gosa-core/include/class_session.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_session.inc 14817 2009-11-16 10:13:43Z cajus $$
+ * ID: $$Id: class_session.inc 19247 2010-07-29 13:19:55Z hickert $$
  *
  * 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
@@ -22,207 +22,207 @@
 
 class session {
 
-	public static function get_session_size()
-	{
-
-	}
-
-	public static function get_element_size()
-	{
-	
-	}
-
-	public static function add_channel($name)
-	{
-		/* If there's already such kind of channel, skip... */
-		if (isset($_SESSION[$name])){
-			return (FALSE);
-		}
-
-		/* Allocate it... */
-		$_SESSION[$name]= array();
-		$_POST["_channel_"]= $name;
-		return (TRUE);
-	}
-
-	public static function remove_channel($name)
-	{
-		/* If there's already such kind of channel, skip... */
-		if (isset($_SESSION[$name])){
-			unset($_SESSION[$name]);
-			if (isset($_POST["_channel_"])){
-				unset($_POST["_channel_"]);
-			}
-			return (TRUE);
-		}
-
-		return (FALSE);
-	}
-
-	public static function is_set($name)
-	{
-		$channel= "";
-		if (isset($_POST['_channel_'])){
-			$channel= $_POST['_channel_'];
-		}
-
-		/* Global fallback if not set */
-		if ($channel == ""){
-			return(isset($_SESSION[$name]));
-		}
-
-		/* Sanity check */
-		if (!session::channel_exists($channel)){
-			msg_dialog::display(_("Internal error"), _("Requested channel does not exist! Please contact your Administrator."), FATAL_ERROR_DIALOG);
-		}
-
-		$channel= "gch_".$channel;
-		return(isset($_SESSION[$channel][$name]));
-	}
-
-	public static function global_is_set($name)
-	{
-		return(isset($_SESSION[$name]));
-	}
-
-	public static function set($name,$value)
-	{
-		$channel= "";
-		if (isset($_POST['_channel_'])){
-			$channel= $_POST['_channel_'];
-		}
-
-		/* Global fallback if not set */
-		if ($channel == ""){
-			$_SESSION[$name] = $value;
-		} else {
-			/* Sanity check */
-			if (!session::channel_exists($channel)){
-				msg_dialog::display(_("Internal error"), _("Requested channel does not exist! Please contact your Administrator."), FATAL_ERROR_DIALOG);
-			}
-			$_SESSION[$channel][$name] = $value;
-		}
-	}
-
-	public static function global_set($name,$value)
-	{
-		$_SESSION[$name] = $value;
-	}
-
-	public static function &get($name)
-	{
-		$channel= "";
-		if (isset($_POST['_channel_'])){
-			$channel= $_POST['_channel_'];
-		}
-
-		/* Global fallback if not set */
-		if ($channel == ""){
-			$ret = &$_SESSION[$name];
-			return($ret);
-		}
-
-		/* Sanity check */
-		if (!session::channel_exists($channel)){
-			msg_dialog::display(_("Internal error"), _("Requested channel does not exist! Please contact your Administrator."), FATAL_ERROR_DIALOG);
-		}
-
-		$channel= "gch_".$channel;
-		$ret = &$_SESSION[$channel][$name];
-		return($ret);
-	}
-
-	public static function &global_get($name)
-	{
-		$ret = &$_SESSION[$name];
-		return($ret);
-	}
-
-	public static function delete($name)
-	{
-		$channel= "";
-		if (isset($_POST['_channel_'])){
-			$channel= $_POST['_channel_'];
-		}
-
-		/* Global fallback if not set */
-		if ($channel == ""){
-			if(isset($_SESSION[$name])){
-				unset($_SESSION[$name]);
-			}
-		} else {
-			if(isset($_SESSION[$channel][$name])){
-				unset($_SESSION[$channel][$name]);
-			}
-		}
-	}
-
-	public static function global_delete($name)
-	{
-		if($_SESSION[$name]){
-			unset($_SESSION[$name]);
-		}
-	}
-
-	public static function un_set($name)
-	{
-		return(session::delete($name));
-	}
-
-	public static function global_un_set($name)
-	{
-		return(session::global_delete($name));
-	}
-
-	public static function start()
-	{
-		/* Set cookie lifetime to one day (The parameter is in seconds ) */
-		session_set_cookie_params(24*60*60);
-
-		/* Set cache limter to one day (parameter is minute !!)*/
-		session_cache_expire(60*24);  // default is 180
-
-		/* Set session max lifetime, to prevent the garbage collector to delete session before timeout.
-		   !! The garbage collector is a cron job on debian systems, the cronjob will fetch the timeout from
-		   the php.ini, so if you use debian, you must hardcode session.gc_maxlifetime in your php.ini */
-		ini_set("session.gc_maxlifetime",24*60*60);
-		session_name("GOsa");
-		session_start();
-
-		/* Check for changed browsers and bail out */
-		if (isset($_SESSION['HTTP_USER_AGENT']))
-		{
-			if ($_SESSION['HTTP_USER_AGENT'] !=  md5($_SERVER['HTTP_USER_AGENT'])) {
-				session_destroy();
-		                session_name("GOsa");
-				session_start();
-			}
-		} else {
-			$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
-		}
-
-		/* Regenerate ID to increase security */
-		if (!isset($_SESSION['started'])){
-			session_regenerate_id();
-			$_SESSION['started'] = true;
-		}
-	}
-
-	public static function destroy()
-	{
-		@session_destroy();
-	}
-
-	public static function set_lifetime($seconds = -1)
-	{
-		echo "Not implemented yet";
-	}
-
-	public static function &get_all()
-	{
-		$ret = &$_SESSION;
-		return($ret);
-	}
+    public static function get_session_size()
+    {
+
+    }
+
+    public static function get_element_size()
+    {
+
+    }
+
+    public static function add_channel($name)
+    {
+        /* If there's already such kind of channel, skip... */
+        if (isset($_SESSION[$name])){
+            return (FALSE);
+        }
+
+        /* Allocate it... */
+        $_SESSION[$name]= array();
+        $_POST["_channel_"]= $name;
+        return (TRUE);
+    }
+
+    public static function remove_channel($name)
+    {
+        /* If there's already such kind of channel, skip... */
+        if (isset($_SESSION[$name])){
+            unset($_SESSION[$name]);
+            if (isset($_POST["_channel_"])){
+                unset($_POST["_channel_"]);
+            }
+            return (TRUE);
+        }
+
+        return (FALSE);
+    }
+
+    public static function is_set($name)
+    {
+        $channel= "";
+        if (isset($_POST['_channel_'])){
+            $channel= $_POST['_channel_'];
+        }
+
+        /* Global fallback if not set */
+        if ($channel == ""){
+            return(isset($_SESSION[$name]));
+        }
+
+        /* Sanity check */
+        if (!session::channel_exists($channel)){
+            msg_dialog::display(_("Internal error"), _("Requested channel does not exist!"), FATAL_ERROR_DIALOG);
+        }
+
+        $channel= "gch_".$channel;
+        return(isset($_SESSION[$channel][$name]));
+    }
+
+    public static function global_is_set($name)
+    {
+        return(isset($_SESSION[$name]));
+    }
+
+    public static function set($name,$value)
+    {
+        $channel= "";
+        if (isset($_POST['_channel_'])){
+            $channel= $_POST['_channel_'];
+        }
+
+        /* Global fallback if not set */
+        if ($channel == ""){
+            $_SESSION[$name] = $value;
+        } else {
+            /* Sanity check */
+            if (!session::channel_exists($channel)){
+                msg_dialog::display(_("Internal error"), _("Requested channel does not exist!"), FATAL_ERROR_DIALOG);
+            }
+            $_SESSION[$channel][$name] = $value;
+        }
+    }
+
+    public static function global_set($name,$value)
+    {
+        $_SESSION[$name] = $value;
+    }
+
+    public static function &get($name)
+    {
+        $channel= "";
+        if (isset($_POST['_channel_'])){
+            $channel= $_POST['_channel_'];
+        }
+
+        /* Global fallback if not set */
+        if ($channel == ""){
+            $ret = &$_SESSION[$name];
+            return($ret);
+        }
+
+        /* Sanity check */
+        if (!session::channel_exists($channel)){
+            msg_dialog::display(_("Internal error"), _("Requested channel does not exist!"), FATAL_ERROR_DIALOG);
+        }
+
+        $channel= "gch_".$channel;
+        $ret = &$_SESSION[$channel][$name];
+        return($ret);
+    }
+
+    public static function &global_get($name)
+    {
+        $ret = &$_SESSION[$name];
+        return($ret);
+    }
+
+    public static function delete($name)
+    {
+        $channel= "";
+        if (isset($_POST['_channel_'])){
+            $channel= $_POST['_channel_'];
+        }
+
+        /* Global fallback if not set */
+        if ($channel == ""){
+            if(isset($_SESSION[$name])){
+                unset($_SESSION[$name]);
+            }
+        } else {
+            if(isset($_SESSION[$channel][$name])){
+                unset($_SESSION[$channel][$name]);
+            }
+        }
+    }
+
+    public static function global_delete($name)
+    {
+        if($_SESSION[$name]){
+            unset($_SESSION[$name]);
+        }
+    }
+
+    public static function un_set($name)
+    {
+        return(session::delete($name));
+    }
+
+    public static function global_un_set($name)
+    {
+        return(session::global_delete($name));
+    }
+
+    public static function start()
+    {
+        /* Set cookie lifetime to one day (The parameter is in seconds ) */
+        session_set_cookie_params(24*60*60);
+
+        /* Set cache limter to one day (parameter is minute !!)*/
+        session_cache_expire(60*24);  // default is 180
+
+        /* Set session max lifetime, to prevent the garbage collector to delete session before timeout.
+           !! The garbage collector is a cron job on debian systems, the cronjob will fetch the timeout from
+           the php.ini, so if you use debian, you must hardcode session.gc_maxlifetime in your php.ini */
+        ini_set("session.gc_maxlifetime",24*60*60);
+        session_name("GOsa");
+        session_start();
+
+        /* Check for changed browsers and bail out */
+        if (isset($_SESSION['HTTP_USER_AGENT']))
+        {
+            if ($_SESSION['HTTP_USER_AGENT'] !=  md5($_SERVER['HTTP_USER_AGENT'])) {
+                session_destroy();
+                session_name("GOsa");
+                session_start();
+            }
+        } else {
+            $_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
+        }
+
+        /* Regenerate ID to increase security */
+        if (!isset($_SESSION['started'])){
+            session_regenerate_id();
+            $_SESSION['started'] = true;
+        }
+    }
+
+    public static function destroy()
+    {
+        @session_destroy();
+    }
+
+    public static function set_lifetime($seconds = -1)
+    {
+        echo "Not implemented yet";
+    }
+
+    public static function &get_all()
+    {
+        $ret = &$_SESSION;
+        return($ret);
+    }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/include/class_socketClient.inc b/gosa-core/include/class_socketClient.inc
index b0e54bc..ace1ba4 100644
--- a/gosa-core/include/class_socketClient.inc
+++ b/gosa-core/include/class_socketClient.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_socketClient.inc 11021 2008-05-27 10:19:46Z cajus $$
+ * ID: $$Id: class_socketClient.inc 17830 2010-04-26 08:38:12Z cajus $$
  *
  * 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
@@ -57,7 +57,7 @@ class Socket_Client
   public function setEncryptionKey($key)
   {
     if(!function_exists("mcrypt_get_iv_size")){
-      $this->set_error(_("The mcrypt module was not found. Please install php5-mcrypt."));
+      $this->set_error(msgPool::missingext("mcrypt"));
       $this->ckey = "";
       $this->b_encrypt = FALSE;
     }
@@ -105,7 +105,7 @@ class Socket_Client
     $this->handle = @fsockopen($this->host, $this->port, $this->errno, $this->errstr, $this->timeout);
     if(!$this->handle){
       $this->handle = NULL;
-      $this->set_error(sprintf(_("Socket connection to host '%s:%s' failed: %s"),$this->host,$this->port,$this->errstr));
+      $this->set_error(sprintf(_("Socket connection to %s:%s failed: %s"), bold($this->host), bold($this->port), $this->errstr));
     }else{
       $this->b_data_send = TRUE;
 
@@ -188,7 +188,7 @@ class Socket_Client
         }
       }
       if((microtime(TRUE) - $start) > $this->timeout ){     
-        $this->set_error(sprintf(_("Socket timeout of %s seconds reached."),$this->timeout));     
+        $this->set_error(sprintf(_("Socket timeout of %s seconds reached!"), bold($this->timeout)));     
         break;
       }
     }
diff --git a/gosa-core/include/class_sortableListing.inc b/gosa-core/include/class_sortableListing.inc
index c7bd476..3489b24 100644
--- a/gosa-core/include/class_sortableListing.inc
+++ b/gosa-core/include/class_sortableListing.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2010 GONICUS GmbH
  *
- * ID: $$Id: class_sortableListing.inc 19025 2010-07-20 10:13:34Z hickert $$
+ * ID: $$Id: class_sortableListing.inc 20160 2010-10-26 12:17:17Z hickert $$
  *
  * 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
@@ -25,573 +25,593 @@ define ('LIST_MARKED', 1);
 define ('LIST_DISABLED', 2);
 
 class sortableListing {
-  private $header= null;
-  private $colspecs= null;
-  private $reorderable= true;
-  private $width= "400px";
-  private $height= "100px";
-  private $cssclass= "";
-  private $id;
-
-  private $data= array();
-  private $keys= array();
-  private $modes= array();
-  private $displayData= array();
-  private $columns= 0;
-  private $deleteable= false;
-  private $editable= false;
-  private $colorAlternate= false;
-  private $instantDelete= true;
-  private $action;
-  private $mapping;
-  private $current_mapping;
-  private $active_index;
-  private $scrollPosition= 0;
-  private $sortColumn= 0;
-  private $sortDirection= array();
-
-  private $acl= "";
-  private $modified= false;
-
-  public function sortableListing($data= array(), $displayData= null, $reorderable= false)
-  {
-    global $config;
-
-    // Save data to display
-    $this->setListData($data, $displayData);
-
-    // Get list of used IDs 
-    if(!session::is_set('sortableListing_USED_IDS')){
-        session::set('sortableListing_USED_IDS',array());
-    }
-    $usedIds = session::get('sortableListing_USED_IDS');
+    private $header= null;
+    private $colspecs= null;
+    private $reorderable= true;
+    private $width= "400px";
+    private $height= "100px";
+    private $cssclass= "";
+    private $id;
+
+    private $sortingEnabled= true;
+    private $data= array();
+    private $keys= array();
+    private $modes= array();
+    private $displayData= array();
+    private $columns= 0;
+    private $deleteable= false;
+    private $editable= false;
+    private $colorAlternate= false;
+    private $instantDelete= true;
+    private $action;
+    private $mapping;
+    private $current_mapping;
+    private $active_index;
+    private $scrollPosition= 0;
+    private $sortColumn= 0;
+    private $sortDirection= array();
+
+    private $acl= "";
+    private $modified= false;
+
+	
+    public function sortableListing($data= array(), $displayData= null, $reorderable= false)
+    {
+        global $config;
+
+        // Save data to display
+        $this->setListData($data, $displayData);
+
+        // Get list of used IDs 
+        if(!session::is_set('sortableListing_USED_IDS')){
+            session::set('sortableListing_USED_IDS',array());
+        }
+        $usedIds = session::get('sortableListing_USED_IDS');
 
-    // Generate instance wide unique ID
-    $id = "";
-    while($id == "" || in_array($id, $usedIds)){
+        // Generate instance wide unique ID
+        $id = "";
+        while($id == "" || in_array($id, $usedIds)){
 
-        // Wait 1 msec to ensure that we definately get a new id
-        if($id != "") usleep(1);
-        $tmp= gettimeofday();
-        $id =  'l'.md5(microtime().$tmp['sec']);
-    }
+            // Wait 1 msec to ensure that we definately get a new id
+            if($id != "") usleep(1);
+            $tmp= gettimeofday();
+            $id =  'l'.md5(microtime().$tmp['sec']);
+        }
 
-    // Only keep the last 10 list IDsi
-    $usedIds = array_slice($usedIds, count($usedIds) -10, 10);
-    $usedIds[] = $id;
-    session::set('sortableListing_USED_IDS',$usedIds);
-    $this->id = $id;
+        // Only keep the last 10 list IDsi
+        $usedIds = array_slice($usedIds, count($usedIds) -10, 10);
+        $usedIds[] = $id;
+        session::set('sortableListing_USED_IDS',$usedIds);
+        $this->id = $id;
 
-    // Set reorderable flag
-    $this->reorderable= $reorderable;
-    if (!$reorderable) {
-      $this->sortData();
-    }
-  }
-
-  public function setReorderable($bool)
-  {
-    $this->reorderable= $bool;
-  }
-   
-  public function setDefaultSortColumn($id)
-  {
-    $this->sortColumn = $id;
-  }
-
-  public function setListData($data, $displayData= null)
-  {
-    // Save data to display
-    $this->setData($data);
-    if (!$displayData) {
-      $displayData= array();
-      foreach ($data as $key => $value) {
-        $displayData[$key]= array("data" => array($value));
-      }
+        // Set reorderable flag
+        $this->reorderable= $reorderable;
+        if (!$reorderable) {
+            $this->sortData();
+        }
     }
-    $this->setDisplayData($displayData);
-  }
-
 
-  private function setData($data)
-  {
-    $this->data= $data;
-  }
-
-
-  private function setDisplayData($data)
-  {
-    if (!is_array($data)) {
-      trigger_error ("sortableList needs an array as data!");
+    public function setReorderable($bool)
+    {
+        $this->reorderable= $bool;
     }
 
-    // Transfer information
-    $this->displayData= array();
-    $this->modes= array();
-    $this->mapping= array();
-    foreach ($data as $key => $value) {
-      $this->displayData[]= $value['data'];
-      if (isset($value['mode'])) {
-        $this->modes[]= $value['mode'];
-      }
+    public function setDefaultSortColumn($id)
+    {
+        $this->sortColumn = $id;
     }
-    $this->keys= array_keys($data);
 
-    // Create initial mapping
-    if(count($this->keys)){
-      $this->mapping= range(0, abs(count($this->keys)-1));
+	/*
+	* 
+	* Examples
+	* DatenARray ($data)
+	* @param: array( arbitrary object, arbitrary object)
+	* Datenarray will be manipulated by add, del and sort operations. According to this it will be returned from this widget.
+	* The index of a data entry must correspond to the entry of the "display array" following.
+	* DisplayArray ($displyData)
+	* @param: array("eins" array( "data"=> array("Uno", "2", "x" ) , "zwei" array( "data"=> array("Due", "3", "y" ))) ;
+	* label pointing on a list of columns that will be shown in the list.
+	*/
+    public function setListData($data, $displayData= null)
+    {
+        // Save data to display
+        $this->setData($data);
+        if (!$displayData) {
+            $displayData= array();
+            foreach ($data as $key => $value) {
+                $displayData[$key]= array("data" => array($value));
+            }
+        }
+        $this->setDisplayData($displayData);
     }
-    $this->current_mapping= $this->mapping;
-
-    // Find the number of coluns
-    reset($this->displayData);
-    $first= current($this->displayData);
-    if (is_array($first)) {
-      $this->columns= count($first);
-    } else {
-      $this->columns= 1;
+
+	//setting flat data 
+    private function setData($data)
+    {
+        $this->data= $data;
     }
 
-    // Preset sort orders to 'down'
-    for ($column= 0; $column<$this->columns; $column++) {
-        if(!isset($this->sortDirection[$column])){
-            $this->sortDirection[$column]= true;
+	// collecting the display data -
+    private function setDisplayData($data)
+    {
+        if (!is_array($data)) {
+            trigger_error ("sortableList needs an array as data!");
         }
-    }
-  }
 
+        // Transfer information
+        $this->displayData= array();
+        $this->modes= array();
+        $this->mapping= array();
+        foreach ($data as $key => $value) {
+            $this->displayData[]= $value['data'];
+            if (isset($value['mode'])) {
+                $this->modes[]= $value['mode'];
+            }
+        }
+        $this->keys= array_keys($data);
 
-  public function setWidth($width)
-  {
-    $this->width= $width;
-  }
+        // Create initial mapping
+        if(count($this->keys)){
+            $this->mapping= range(0, abs(count($this->keys)-1));
+        }
+        $this->current_mapping= $this->mapping;
 
+        // Find the number of coluns
+        reset($this->displayData);
+        $first= current($this->displayData);
+        if (is_array($first)) {
+            $this->columns= count($first);
+        } else {
+            $this->columns= 1;
+        }
 
-  public function setInstantDelete($flag)
-  {
-    $this->instantDelete= $flag;
-  }
+        // Preset sort orders to 'down'
+        for ($column= 0; $column<$this->columns; $column++) {
+            if(!isset($this->sortDirection[$column])){
+                $this->sortDirection[$column]= true;
+            }
+        }
+    }
 
 
-  public function setColorAlternate($flag)
-  {
-    $this->colorAlternate= $flag;
-  }
+    public function setWidth($width)
+    {
+        $this->width= $width;
+    }
 
 
-  public function setEditable($flag)
-  {
-    $this->editable= $flag;
-  }
+    public function setInstantDelete($flag)
+    {
+        $this->instantDelete= $flag;
+    }
 
 
-  public function setDeleteable($flag)
-  {
-    $this->deleteable= $flag;
-  }
+    public function setColorAlternate($flag)
+    {
+        $this->colorAlternate= $flag;
+    }
 
 
-  public function setHeight($height)
-  {
-    $this->height= $height;
-  }
+    public function setEditable($flag)
+    {
+        $this->editable= $flag;
+    }
 
 
-  public function setCssClass($css)
-  {
-    $this->cssclass= $css;
-  }
+    public function setDeleteable($flag)
+    {
+        $this->deleteable= $flag;
+    }
 
 
-  public function setHeader($header)
-  {
-    $this->header= $header;
-  }
+    public function setHeight($height)
+    {
+        $this->height= $height;
+    }
 
 
-  public function setColspecs($specs)
-  {
-    $this->colspecs= $specs;
-  }
+    public function setCssClass($css)
+    {
+        $this->cssclass= $css;
+    }
 
 
-  public function render()
-  {
-      $result= "<div class='sortableListContainer' id='scroll_".$this->id."' style='min-width:".$this->width.";height: ".$this->height."'>\n";
-      $result.= "<table summary='"._("Sortable list")."' border='0' cellpadding='0' cellspacing='0' width='100%' style='width:100%' ".(!empty($this->cssclass)?" class='".$this->cssclass."'":"").">\n";
-      $action_width= 0;
-      if (strpos($this->acl, 'w') === false) {
-          $edit_image= $this->editable?"<img class='center' src='images/lists/edit-grey.png' alt='"._("Edit")."'>":"";
-      } else {
-          $edit_image= $this->editable?"<input class='center' type='image' src='images/lists/edit.png' alt='"._("Edit")."' name='%ID' id='%ID'  title='"._("Edit this entry")."'>":"";
-      }
-      if (strpos($this->acl, 'd') === false) {
-          $delete_image= $this->deleteable?"<img class='center' src='images/lists/trash-grey.png' alt='"._("Delete")."'>":"";
-      } else {
-          $delete_image= $this->deleteable?"<input class='center' type='image' src='images/lists/trash.png' alt='"._("Delete")."' name='%ID'    title='"._("Delete this entry")."'>":"";
-      }
+    public function setHeader($header)
+    {
+        $this->header= $header;
+    }
 
-    // Do we need colspecs?
-    $action_width= ($this->editable?30:0) + ($this->deleteable?30:0);
-    if ($this->colspecs) {
-      $result.= " <colgroup>\n";
-      for ($i= 0; $i<$this->columns; $i++) {
-        if(isset($this->colspecs[$i]) && $this->colspecs[$i] != '*'){
-          $result.= "  <col style='width:".($this->colspecs[$i])."'>\n";
-        }else{
-          $result.= "  <col>\n";
-        }
-      }
 
-      // Extend by another column if we've actions specified
-      if ($action_width) {
-        $result.= "  <col style='width:".$action_width."px' >\n";
-      }
-      $result.= " </colgroup>\n";
+    public function setColspecs($specs)
+    {
+        $this->colspecs= $specs;
     }
 
-    // Do we need a header?
-    if ($this->header) {
-      $result.= " <thead>\n  <tr>\n";
-      $first= " style='border-left:0'";
-      for ($i= 0; $i<$this->columns; $i++) {
-        $link= "href='?plug=".$_GET['plug']."&PID=".$this->id."&act=SORT_$i'";
-        $sorter= "";
-        if ($i == $this->sortColumn){
-            $sorter= " <img border='0' title='".($this->sortDirection[$i]?_("Up"):_("Down"))."' 
-                src='images/lists/sort-".($this->sortDirection[$i]?"up":"down").".png' align='top'>";
-        }
 
-        if ($this->reorderable) {
-          $result.= "   <th$first>".(isset($this->header[$i])?$this->header[$i]:"")."</th>";
+    public function render()
+    {
+        $result= "<div class='sortableListContainer' id='scroll_".$this->id."' style='min-width:".$this->width.";height: ".$this->height."'>\n";
+        $result.= "<table summary='"._("Sortable list")."' border='0' cellpadding='0' cellspacing='0' width='100%' style='width:100%' ".(!empty($this->cssclass)?" class='".$this->cssclass."'":"").">\n";
+        $action_width= 0;
+        if (strpos($this->acl, 'w') === false) {
+            $edit_image= $this->editable?image("images/lists/edit-grey.png"):"";
         } else {
-          $result.= "   <th$first><a $link>".(isset($this->header[$i])?$this->header[$i]:"")."</a>$sorter</th>";
-        }
-        $first= "";
-      }
-      if ($action_width) {
-        $result.= "<th> </th>";
-      }
-      $result.= "\n  </tr>\n </thead>\n";
-    }
+            $edit_image= $this->editable?image('images/lists/edit.png', "%ID", _("Edit this entry")):"";
+        }
+        if (strpos($this->acl, 'w') === false) {
+            $delete_image= $this->deleteable?image('images/lists/trash-grey.png'):"";
+        } else {
+            $delete_image= $this->deleteable?image('images/lists/trash.png', "%ID", _("Delete this entry")):"";
+        }
+
+        // Do we need colspecs?
+        $action_width= ($this->editable?30:0) + ($this->deleteable?30:0);
+        if ($this->colspecs) {
+            $result.= " <colgroup>\n";
+            for ($i= 0; $i<$this->columns; $i++) {
+                if(isset($this->colspecs[$i]) && $this->colspecs[$i] != '*'){
+                    $result.= "  <col style='width:".($this->colspecs[$i])."'>\n";
+                }else{
+                    $result.= "  <col>\n";
+                }
+            }
 
-    // Render table body if we've read permission
-    $result.= " <tbody id='".$this->id."'>\n";
-    $reorderable= $this->reorderable?"":" style='cursor:default'";
-    if (strpos($this->acl, 'r') !== false) {
-      foreach ($this->mapping as $nr => $row) {
-        $editable= $this->editable?" onClick='$(\"edit_".$this->id."_$nr\").click()'":"";
-
-        $id= "";
-        if (isset($this->modes[$row])) {
-          switch ($this->modes[$row]) {
-            case LIST_DISABLED:
-              $id= " sortableListItemDisabled";
-              $editable= "";
-              break;
-            case LIST_MARKED:
-              $id= " sortableListItemMarked";
-              break;
-          }
-        }
-
-        $result.= "  <tr class='sortableListItem".((($nr&1)||!$this->colorAlternate)?'':'Odd')."$id' id='item_".$this->id."_$nr'$reorderable>\n";
-        $first= " style='border:0'";
-
-        foreach ($this->displayData[$row] as $column) {
-
-            // Do NOT use the onClick statement for columns that contain links or buttons.
-            if(preg_match("<.*type=.submit..*>", $column) || preg_match("<a.*href=.*>", $column)){
-                $result.= "   <td$first>".$column."</td>\n";
-            }else{
-                $result.= "   <td$editable$first>".$column."</td>\n";
+            // Extend by another column if we've actions specified
+            if ($action_width) {
+                $result.= "  <col style='width:".$action_width."px' >\n";
             }
-            $first= "";
+            $result.= " </colgroup>\n";
         }
 
-        if ($action_width) {
-          $result.= "<td>".str_replace('%ID', "edit_".$this->id."_$nr", $edit_image).
-                           str_replace('%ID', "del_".$this->id."_$nr", $delete_image)."</td>";
+        // Do we need a header?
+        if ($this->header) {
+            $result.= " <thead>\n  <tr>\n";
+            $first= " style='border-left:0'";
+            for ($i= 0; $i<$this->columns; $i++) {
+                $link= "href='?plug=".$_GET['plug']."&PID=".$this->id."&act=SORT_$i'";
+                $sorter= "";
+                if ($i == $this->sortColumn){
+                    $sorter= " ".image("images/lists/sort-".($this->sortDirection[$i]?"up":"down").".png", null, $this->sortDirection[$i]?_("Sort ascending"):_("Sort descending"));
+                }
+
+                if ($this->reorderable) {
+                    $result.= "   <th$first>".(isset($this->header[$i])?$this->header[$i]:"")."</th>";
+                } else {
+                    $result.= "   <th$first><a $link>".(isset($this->header[$i])?$this->header[$i]:"")."</a>$sorter</th>";
+                }
+                $first= "";
+            }
+            if ($action_width) {
+                $result.= "<th> </th>";
+            }
+            $result.= "\n  </tr>\n </thead>\n";
         }
 
-        $result.= "  </tr>\n";
-      }
-    }
+        // Render table body if we've read permission
+        $result.= " <tbody id='".$this->id."'>\n";
+        $reorderable= $this->reorderable?"":" style='cursor:default'";
+        if (strpos($this->acl, 'r') !== false) {
+            foreach ($this->mapping as $nr => $row) {
+                $editable= $this->editable?" onClick='$(\"edit_".$this->id."_$nr\").click()'":"";
+
+                $id= "";
+                if (isset($this->modes[$row])) {
+                    switch ($this->modes[$row]) {
+                        case LIST_DISABLED:
+                            $id= " sortableListItemDisabled";
+                            $editable= "";
+                            break;
+                        case LIST_MARKED:
+                            $id= " sortableListItemMarked";
+                            break;
+                    }
+                }
+
+                $result.= "  <tr class='sortableListItem".((($nr&1)||!$this->colorAlternate)?'':'Odd')."$id' id='item_".$this->id."_$nr'$reorderable>\n";
+                $first= " style='border:0'";
+
+                foreach ($this->displayData[$row] as $column) {
+
+                    // Do NOT use the onClick statement for columns that contain links or buttons.
+                    if(preg_match("<.*type=.submit..*>", $column) || preg_match("<a.*href=.*>", $column)){
+                        $result.= "   <td$first>".$column."</td>\n";
+                    }else{
+                        $result.= "   <td$editable$first>".$column."</td>\n";
+                    }
+                    $first= "";
+                }
+
+                if ($action_width) {
+                    $result.= "<td>".str_replace('%ID', "edit_".$this->id."_$nr", $edit_image).
+                        str_replace('%ID', "del_".$this->id."_$nr", $delete_image)."</td>";
+                }
+
+                $result.= "  </tr>\n";
+            }
+        }
 
-    // Add spacer
-    $result.= "  <tr class='sortableListItemFill' style='height:100%'><td style='border:0'></td>";
-    $num= $action_width?$this->columns:$this->columns-1;
-    for ($i= 0; $i<$num; $i++) {
-      $result.= "<td class='sortableListItemFill'></td>";
-    }
-    $result.= "</tr>\n";
+        // Add spacer
+        $result.= "  <tr class='sortableListItemFill' style='height:100%'><td style='border:0'></td>";
+        $num= $action_width?$this->columns:$this->columns-1;
+        for ($i= 0; $i<$num; $i++) {
+            $result.= "<td class='sortableListItemFill'></td>";
+        }
+        $result.= "</tr>\n";
 
-    $result.= " </tbody>\n</table>\n</div>\n";
+        $result.= " </tbody>\n</table>\n</div>\n";
 #    $result.= " <input type='hidden' name='PID' value='".$this->id."' id='PID'>\n";
-    $result.= " <input type='hidden' name='position_".$this->id."' id='position_".$this->id."'>\n";
-    $result.= " <input type='hidden' name='reorder_".$this->id."' id='reorder_".$this->id."'>\n";
-
-    // Append script stuff if needed
-    $result.= '<script type="text/javascript" language="javascript">';
-    if ($this->reorderable) {
-      $result.= ' function updateOrder(){';
-      $result.= '    var ampcharcode= \'%26\';';
-      $result.= '    var serializeOpts = Sortable.serialize(\''.$this->id.'\')+"='.$this->id.'";';
-      $result.= '    $("reorder_'.$this->id.'").value= serializeOpts;';
-      $result.= '    document.mainform.submit();';
-      $result.= ' }';
-      $result.= 'Position.includeScrollOffsets = true;';
-      $result.= ' Sortable.create(\''.$this->id.'\',{tag:\'tr\', ghosting:false, constraint:\'vertical\', scroll:\'scroll_'.$this->id.'\',onUpdate : updateOrder});';
+        $result.= " <input type='hidden' name='position_".$this->id."' id='position_".$this->id."'>\n";
+        $result.= " <input type='hidden' name='reorder_".$this->id."' id='reorder_".$this->id."'>\n";
+
+        // Append script stuff if needed
+        $result.= '<script type="text/javascript" language="javascript">';
+        if ($this->reorderable) {
+            $result.= ' function updateOrder(){';
+                $result.= '    var ampcharcode= \'%26\';';
+                $result.= '    var serializeOpts = Sortable.serialize(\''.$this->id.'\')+"='.$this->id.'";';
+                $result.= '    $("reorder_'.$this->id.'").value= serializeOpts;';
+                $result.= '    document.mainform.submit();';
+                $result.= ' }';
+                $result.= 'Position.includeScrollOffsets = true;';
+                $result.= ' Sortable.create(\''.$this->id.'\',{tag:\'tr\', ghosting:false, constraint:\'vertical\', scroll:\'scroll_'.$this->id.'\',onUpdate : updateOrder});';
+        }
+        $result.= '$("scroll_'.$this->id.'").scrollTop= '.$this->scrollPosition.';';
+        $result.= 'var box = $("scroll_'.$this->id.'").onscroll= function() {$("position_'.$this->id.'").value= this.scrollTop;}';
+        $result.= '</script>';
+
+        return $result;
     }
-    $result.= '$("scroll_'.$this->id.'").scrollTop= '.$this->scrollPosition.';';
-    $result.= 'var box = $("scroll_'.$this->id.'").onscroll= function() {$("position_'.$this->id.'").value= this.scrollTop;}';
-    $result.= '</script>';
 
-    return $result;
-  }
 
+    public function update()
+    {
 
-  public function update()
-  {
+        // Filter GET with "act" attributes
+        if (!$this->reorderable){
+            if(isset($_GET['act']) && isset($_GET['PID']) && $this->id == $_GET['PID']) {
 
-    // Filter GET with "act" attributes
-    if (!$this->reorderable){
-      if(isset($_GET['act']) && isset($_GET['PID']) && $this->id == $_GET['PID']) {
-    
-        $key= validate($_GET['act']);
-        if (preg_match('/^SORT_([0-9]+)$/', $key, $match)) {
+                $key= validate($_GET['act']);
+                if (preg_match('/^SORT_([0-9]+)$/', $key, $match)) {
 
-          // Switch to new column or invert search order?
-          $column= $match[1];
-          if ($this->sortColumn != $column) {
-            $this->sortColumn= $column;
-          } else {
-            $this->sortDirection[$column]= !$this->sortDirection[$column];
-          }
+                    // Switch to new column or invert search order?
+                    $column= $match[1];
+                    if ($this->sortColumn != $column) {
+                        $this->sortColumn= $column;
+                    } else {
+                        $this->sortDirection[$column]= !$this->sortDirection[$column];
+                    }
 
+                }
+            }
+
+            // Update mapping according to sort parameters
+            $this->sortData();
         }
-      }
-  
-      // Update mapping according to sort parameters
-      $this->sortData();
     }
-  }
 
 
-  public function save_object()
-  {
-    // Do not do anything if this is not our PID, or there's even no PID available...
-    if(isset($_REQUEST['PID']) && $_REQUEST['PID'] != $this->id) {
-      return;
-    }
+    public function save_object()
+    {
+        // Do not do anything if this is not our PID, or there's even no PID available...
+        if(isset($_REQUEST['PID']) && $_REQUEST['PID'] != $this->id) {
+            return;
+        }
 
-    // Do not do anything if we're not posted - or have no permission
-    if (strpos($this->acl, 'w') !== false && isset($_POST['reorder_'.$this->id])){
+        // Do not do anything if we're not posted - or have no permission
+        if (strpos($this->acl, 'w') !== false && isset($_POST['reorder_'.$this->id])){
 
-      if (isset($_POST['position_'.$this->id]) && is_numeric($_POST['position_'.$this->id])) {
-        $this->scrollPosition= $_POST['position_'.$this->id];
-      }
+            if (isset($_POST['position_'.$this->id]) && is_numeric($_POST['position_'.$this->id])) {
+                $this->scrollPosition= get_post('position_'.$this->id);
+            }
 
-      // Move requested?
-      $move= $_POST['reorder_'.$this->id];
-      if ($move != "") {
-        preg_match_all('/=([0-9]+)[&=]/', $move, $matches);
-        $this->action= "reorder";
-        $tmp= array();
-        foreach ($matches[1] as $id => $row) {
-          $tmp[$id]= $this->mapping[$row];
+            // Move requested?
+            $move= get_post('reorder_'.$this->id);
+            if ($move != "") {
+                preg_match_all('/=([0-9]+)[&=]/', $move, $matches);
+                $this->action= "reorder";
+                $tmp= array();
+                foreach ($matches[1] as $id => $row) {
+                    $tmp[$id]= $this->mapping[$row];
+                }
+                $this->mapping= $tmp;
+                $this->current_mapping= $matches[1];
+                $this->modified= true;
+                return;
+            }
         }
-        $this->mapping= $tmp;
-        $this->current_mapping= $matches[1];
-        $this->modified= true;
-        return;
-      }
-    }
-
-    // Delete requested?
-    $this->action = "";
-    if (strpos($this->acl, 'd') !== false){
-      foreach ($_POST as $key => $value) {
-        if (preg_match('/^del_'.$this->id.'_([0-9]+)_x$/', $key, $matches)) {
-          $this->active_index= $this->mapping[$matches[1]];
-
-          // Ignore request if mode requests it
-          if (isset($this->modes[$this->active_index]) && $this->modes[$this->active_index] == LIST_DISABLED) {
-            $this->active_index= null;
-            continue;
-          }
 
-          // Set action
-          $this->action= "delete";
+        // Delete requested?
+        $this->action = "";
+        if (strpos($this->acl, 'd') !== false){
+            foreach ($_POST as $key => $value) {
+                $value = get_post($key);
+                if (preg_match('/^del_'.$this->id.'_([0-9]+)$/', $key, $matches)) {
+                    $this->active_index= $this->mapping[$matches[1]];
+
+                    // Ignore request if mode requests it
+                    if (isset($this->modes[$this->active_index]) && $this->modes[$this->active_index] == LIST_DISABLED) {
+                        $this->active_index= null;
+                        continue;
+                    }
+
+                    // Set action
+                    $this->action= "delete";
+
+                    // Remove value if requested
+                    if ($this->instantDelete) {
+                        $this->deleteEntry($this->active_index);
+                    }
+                }
+            }
+        }
 
-          // Remove value if requested
-          if ($this->instantDelete) {
-            $this->deleteEntry($this->active_index);
-          }
+        // Edit requested?
+        if (strpos($this->acl, 'w') !== false){
+            foreach ($_POST as $key => $value) {
+                $value = get_post($key);
+                if (preg_match('/^edit_'.$this->id.'_([0-9]+)$/', $key, $matches)) {
+                    $this->active_index= $this->mapping[$matches[1]];
+
+                    // Ignore request if mode requests it
+                    if (isset($this->modes[$this->active_index]) && $this->modes[$this->active_index] == LIST_DISABLED) {
+                        $this->active_index= null;
+                        continue;
+                    }
+
+                    $this->action= "edit";
+                }
+            }
         }
-      }
     }
 
-    // Edit requested?
-    if (strpos($this->acl, 'w') !== false){
-      foreach ($_POST as $key => $value) {
-        if (preg_match('/^edit_'.$this->id.'_([0-9]+)_x$/', $key, $matches)) {
-          $this->active_index= $this->mapping[$matches[1]];
 
-          // Ignore request if mode requests it
-          if (isset($this->modes[$this->active_index]) && $this->modes[$this->active_index] == LIST_DISABLED) {
-            $this->active_index= null;
-            continue;
-          }
+    public function getAction()
+    {
+        // Do not do anything if we're not posted
+        if(!isset($_POST['reorder_'.$this->id])) {
+            return;
+        }
 
-          $this->action= "edit";
+        // For reordering, return current mapping
+        if ($this->action == 'reorder') {
+            return array("targets" => $this->current_mapping, "mapping" => $this->mapping, "action" => $this->action);
         }
-      }
-    }
-  }
 
+        // Edit and delete
+        $result= array("targets" => array($this->active_index), "action" => $this->action);
 
-  public function getAction()
-  {
-    // Do not do anything if we're not posted
-    if(!isset($_POST['reorder_'.$this->id])) {
-      return;
+        return $result;
     }
 
-    // For reordering, return current mapping
-    if ($this->action == 'reorder') {
-      return array("targets" => $this->current_mapping, "mapping" => $this->mapping, "action" => $this->action);
+
+    private function deleteEntry($id)
+    {
+        // Remove mapping
+        $index= array_search($id, $this->mapping);
+        if ($index !== false) {
+            unset($this->mapping[$index]);
+            $this->mapping= array_values($this->mapping);
+            $this->modified= true;
+        }
     }
 
-    // Edit and delete
-    $result= array("targets" => array($this->active_index), "action" => $this->action);
 
-    return $result;
-  }
+    public function getMaintainedData()
+    {
+        $tmp= array();
+        foreach ($this->mapping as $src => $dst) {
+            $realKey  = $this->keys[$dst];
+            $tmp[$realKey] = $this->data[$realKey];
+        }
+        return $tmp;
+    }
 
 
-  private function deleteEntry($id)
-  {
-    // Remove mapping
-    $index= array_search($id, $this->mapping);
-    if ($index !== false) {
-      unset($this->mapping[$index]);
-      $this->mapping= array_values($this->mapping);
-      $this->modified= true;
+    public function isModified()
+    {
+        return $this->modified;
     }
-  }
 
 
-  public function getMaintainedData()
-  {
-    $tmp= array();
-    foreach ($this->mapping as $src => $dst) {
-      $realKey  = $this->keys[$dst];
-      $tmp[$realKey] = $this->data[$realKey];
+    public function setAcl($acl)
+    {
+        $this->acl= $acl;
     }
-    return $tmp;
-  }
 
 
-  public function isModified()
-  {
-    return $this->modified;
-  }
+    public function sortingEnabled($bool = TRUE)
+    {
+        $this->sortingEnabled= $bool;
+    }
 
 
-  public function setAcl($acl)
-  {
-    $this->acl= $acl;
-  }
+    public function sortData()
+    {
+        if(!$this->sortingEnabled || !count($this->data)) return;
 
+        // Extract data
+        $tmp= array();
+        foreach($this->displayData as $item) {
+            if (isset($item[$this->sortColumn])){
+                $tmp[]= $item[$this->sortColumn];
+            } else {
+                $tmp[]= "";
+            }
+        }
 
-  public function sortData()
-  {
-    if(!count($this->data)) return;
+        // Sort entries
+        if ($this->sortDirection[$this->sortColumn]) {
+            asort($tmp);
+        } else {
+            arsort($tmp);
+        }
 
-    // Extract data
-    $tmp= array();
-    foreach($this->displayData as $item) {
-      if (isset($item[$this->sortColumn])){
-        $tmp[]= $item[$this->sortColumn];
-      } else {
-        $tmp[]= "";
-      }
+        // Adapt mapping accordingly
+        $this->mapping= array();
+        foreach ($tmp as $key => $value) {
+            $this->mapping[]= $key;
+        }
     }
 
-    // Sort entries
-    if ($this->sortDirection[$this->sortColumn]) {
-      asort($tmp);
-    } else {
-      arsort($tmp);
-    }
 
-    // Adapt mapping accordingly
-    $this->mapping= array();
-    foreach ($tmp as $key => $value) {
-      $this->mapping[]= $key;
-    }
-  }
-
-
-  public function addEntry($entry, $displayEntry= null, $key= null)
-  {
-    // Only add if not already there
-    if (!$key) {
-      if (in_array($entry, $this->data)) {
-        return;
-      }
-    } else {
-      if (isset($this->data[$key])) {
-        return;
-      }
-    }
+    public function addEntry($entry, $displayEntry= null, $key= null)
+    {
+        // Only add if not already there
+        if (!$key) {
+            if (in_array($entry, $this->data)) {
+                return;
+            }
+        } else {
+            if (isset($this->data[$key])) {
+                return;
+            }
+        }
 
-    // Prefill with default value if not specified
-    if (!$displayEntry) {
-      $displayEntry= array('data' => array($entry));
-    }
+        // Prefill with default value if not specified
+        if (!$displayEntry) {
+            $displayEntry= array('data' => array($entry));
+        }
 
-    // Append to data and mapping
-    if ($key) {
-      $this->data[$key]= $entry;
-      $this->keys[]= $key;
-    } else {
-      $this->data[]= $entry;
-      $this->keys[]= count($this->mapping);
-    }
-    $this->displayData[]= $displayEntry['data'];
-    $this->mapping[]= count($this->mapping);
-    $this->modified= true;
-
-    // Find the number of coluns
-    reset($this->displayData);
-    $first= current($this->displayData);
-    if (is_array($first)) {
-        $this->columns= count($first);
-    } else {
-        $this->columns= 1;
-    }
+        // Append to data and mapping
+        if ($key) {
+            $this->data[$key]= $entry;
+            $this->keys[]= $key;
+        } else {
+            $this->data[]= $entry;
+            $this->keys[]= count($this->mapping);
+        }
+        $this->displayData[]= $displayEntry['data'];
+        $this->mapping[]= count($this->mapping);
+        $this->modified= true;
 
-    // Preset sort orders to 'down'
-    for ($column= 0; $column<$this->columns; $column++) {
-        if(!isset($this->sortDirection[$column])){
-            $this->sortDirection[$column]= true;
+        // Find the number of coluns
+        reset($this->displayData);
+        $first= current($this->displayData);
+        if (is_array($first)) {
+            $this->columns= count($first);
+        } else {
+            $this->columns= 1;
+        }
+
+        // Preset sort orders to 'down'
+        for ($column= 0; $column<$this->columns; $column++) {
+            if(!isset($this->sortDirection[$column])){
+                $this->sortDirection[$column]= true;
+            }
         }
-    }
 
 
-    // Sort data after we've added stuff
-    $this->sortData();
-  }
+        // Sort data after we've added stuff
+        $this->sortData();
+    }
 
 
-  public function getKey($index) {
-    return isset($this->keys[$index])?$this->keys[$index]:null;
-  }
+    public function getKey($index) {
+        return isset($this->keys[$index])?$this->keys[$index]:null;
+    }
 
-  public function getData($index) {
-    $realkey = $this->keys[$index];
-    return($this->data[$realkey]);
-  }
+    public function getData($index) {
+        $realkey = $this->keys[$index];
+        return($this->data[$realkey]);
+    }
 }
diff --git a/gosa-core/include/class_stats.inc b/gosa-core/include/class_stats.inc
new file mode 100644
index 0000000..7ec0498
--- /dev/null
+++ b/gosa-core/include/class_stats.inc
@@ -0,0 +1,428 @@
+<?php
+
+class stats 
+{
+
+    static protected $lastCpuLoad = "";
+    static protected $lastCpuLoadTimestamp = 0;
+
+    static protected $tableName = "stats";
+
+    static protected $lastHandle = NULL;
+    static protected $statsEnabled = FALSE;
+
+
+    /*! \brief     This method tries to connect the GOsa-stats database and 
+     *              then returns a database handle on success else NULL.
+     *
+     *             (The GOsa-stats database has to be enabled : statsDatabaseEnabled/statsDatabaseDirectory)
+     *
+     *             This database will then contain information about the use of GOsa,
+     *              no customer data will be stored.
+     *
+     *  @return     handle      Returns a sqlite database handle.
+     */
+    static function getDatabaseHandle($filename = '')
+    {
+        // We cannot log while the path to store logs in is empty.
+        global $config;
+
+        // Check if Logging is enabled
+        if(!is_object($config) || ! $config instanceOf config){
+            return(NULL);
+        }
+
+        $path = $config->get_cfg_value('core', 'statsDatabaseDirectory');
+        if(empty($path)){
+            return(NULL);
+        }
+
+        // Check if path exists, if not try to create it
+        if(!is_dir($path) ){
+            $res = @mkdir($path);
+            if(!$res){
+                return(NULL);
+            }
+        }
+
+        // Append a date suffix to the database file, to prevent huge and unusable database files.
+        if($filename == ''){
+            $filename = date('Y-m-d');
+        }
+        $tableFile = $path.'/'.$filename;
+
+        // Try to return last valid handle.
+        if(file_exists($tableFile) && 
+                isset(stats::$lastHandle[$filename]) && 
+                stats::$lastHandle[$filename] != NULL &&
+                is_resource(stats::$lastHandle[$filename])){
+            return(stats::$lastHandle[$filename]);
+        }
+
+        // Get statsFile property 
+        stats::$statsEnabled = $config->boolValueIsTrue('core', 'statsDatabaseEnabled');
+        if(!stats::$statsEnabled){
+            return(NULL);
+        }
+
+        // Check for SQLite extension
+        if(!stats::checkSQLiteExtension()){
+            return(NULL);
+        }
+
+        // Check if we are able to read/write the given database file.
+        if(!is_writeable($path) && !is_writeable(dirname($tableFile))){
+            return(NULL);
+        }
+
+        // Try to create database, if it exists just open it.
+        $handle = sqlite_open($tableFile, 0666, $error);
+        if($handle){
+            stats::createDatabaseOnDemand($handle);
+        }
+        stats::$lastHandle[$filename] = $handle;
+        return($handle);
+    }
+
+
+    /*! \brief      Returns a list of all created stat files
+     *  @return     Array   A list of all currently stored stat files.
+     */
+    static function getLocalStatFiles()
+    {
+        $res = array();
+
+        // Check if we're creating logs right now.
+        if(stats::getDatabaseHandle()){
+            global $config;
+
+            // Walk through all files found in the storage path
+            $path = $config->get_cfg_value('core', 'statsDatabaseDirectory');
+            $dir = opendir($path);
+            while($file = readdir($dir)){
+                if(is_file($path.'/'.$file) && !preg_match('/.old$/', $file)) {
+                    $res[] = $file;
+                }
+            }
+        } 
+        return($res);   
+    }
+
+
+    /*! \brief      Check whether the qlite extension is available or not.
+     *  @return     boolean     TRUE on success else FALSE
+     */  
+    static function checkSQLiteExtension()
+    {
+        return(function_exists('sqlite_popen'));
+    }
+
+
+    /*! \brief      Drops the current stats table and thus enforces a recreation.
+     *  @param      handle      The database handle to use.
+     */  
+    static function dropTable($handle)
+    {
+        $TABLE_NAME = stats::$tableName;
+        $query = "DROP TABLE '{$TABLE_NAME}'";
+        $ret = sqlite_query($query, $handle);
+        stats::$lastHandle = NULL;
+        stats::getDatabaseHandle();
+    }
+
+
+    /*! \brief      Returns the currently used amount of memory form the PHP process.
+     *  @return     int     The amount of bytes used for the PHP process.
+     */  
+    static function get_memory_usage()
+    {
+        return(memory_get_usage());
+    }
+
+
+    /*! \brief      Returns the current CPU load. 
+     *              The result will be cached and one updated every 5 seconds.
+     *  @return     float       The current 'cpu_load'.
+     */  
+    static function get_cpu_load()
+    {
+        $cur = time();
+        if(empty(stats::$lastCpuLoad) || (($cur - stats::$lastCpuLoadTimestamp) >= 5 )){
+            list($one, $five, $ten) =preg_split("/ /",shell_exec('cat /proc/loadavg'));
+            stats::$lastCpuLoad = $one;
+            stats::$lastCpuLoadTimestamp = $cur;
+        }
+        return(stats::$lastCpuLoad);
+    }
+
+
+    /*! \brief      This method checks if the 'stats' table is already present,
+     *               if it is not then it will be created.
+     *  @param      handle      The sqlite database handle
+     */  
+    static function createDatabaseOnDemand($handle)
+    {
+        $TABLE_NAME = stats::$tableName;
+
+        // List Tables an check if there is already everything we need,
+        //  if not create it.
+        $query = "SELECT name FROM sqlite_master WHERE type='table' and name='{$TABLE_NAME}'";
+        $ret = sqlite_query($query, $handle);
+        if(!count(sqlite_fetch_all($ret))){
+            $query = "
+                CREATE TABLE {$TABLE_NAME} (
+                        ID              INTEGER PRIMARY KEY,
+                        ACTID           INTEGER,
+                        TYPE            TEXT,
+                        PLUGIN          TEXT,
+                        CATEGORY        TEXT,
+                        ACTION          TEXT,
+                        UUID            TEXT,
+                        TIMESTAMP       INTEGER,
+                        MTIMESTAMP      REAL,
+                        DURATION        REAL,
+                        RENDER_TIME     REAL,
+                        AMOUNT          INTEGER,
+                        MEMORY_USAGE    INTEGER,
+                        CPU_LOAD        FLOAT,
+                        INFO            BLOB
+                        )";
+            $ret = sqlite_query($query, $handle);
+        }
+    }
+
+
+    /*! \brief      Creates a new 'stats' table entry.
+     *              -> Logs a GOsa action/activity in the sqlite stats table.
+     *  @param      string  type        The action type, e.g. ldap/plugin/management
+     *  @param      string  plugin      The plugin name, e.g. userManagement/user/posixAccount
+     *  @param      string  category    The plugin category e.g. users/servers/groups
+     *  @param      string  action      The action done e.g. edit/view/open/move
+     *  @param      int     amount      The amount, e.g. for multiple edit
+     *  @param      float   duration    The elapsed time.
+     *  @param      string  info        Some infos form the action, e.g. the used hashing mehtod for pwd changes.
+     */  
+    static function log($type, $plugin, $category, $action, $amount = 1, $duration = 0, $info ='')
+    {
+        global $config;
+        global $clicks;
+        global $overallRenderTimer;
+
+        // Get database handle, if it is invalid (NULL) return without creating stats
+        $res = stats::getDatabaseHandle();
+        if(!$res) return;
+
+        // Ensure that 'clicks' and 'overallRenderTimer' are present and set correctly, 
+        //  if not simply create them with dummy values... 
+        //   -- 'clicks' is a counter wich is set in main.php -> Number of page reloads 
+        //   -- 'overallRenderTimer' is set in main.php -> timestamp of rendering start.
+        if(!isset($clicks) || empty($clicks)) $clicks = 0;
+        if(!isset($overallRenderTimer)){
+            $renderTime = 0;
+        }else{
+            $renderTime = microtime(TRUE) - $overallRenderTimer;
+
+            // Now set the overallRenderTimer to the current timestamp - else 
+            //  we will not be able to sum up the render time in a single SQL statement.
+            $overallRenderTimer = microtime(TRUE);
+        }
+
+        // Prepare values to be useable within a database
+        $uuid = $config->getInstanceUUID();
+        $type           = sqlite_escape_string($type);
+        $plugin         = sqlite_escape_string($plugin);
+        $action         = sqlite_escape_string($action);
+        $timestamp      = time();
+        $mtimestamp     = number_format(microtime(TRUE), 4,'.','');
+        $amount         = sqlite_escape_string($amount);
+        $duration       = sqlite_escape_string(number_format($duration, 4,'.',''));
+        $renderTime     = sqlite_escape_string(number_format($renderTime, 4,'.',''));
+        $info           = sqlite_escape_string($info);
+        $clicks         = sqlite_escape_string($clicks);
+        $memory_usage   = sqlite_escape_string(stats::get_memory_usage());
+        $cpu_load       = sqlite_escape_string(number_format(stats::get_cpu_load(),4,'.',''));
+
+        // Clean up category, which usally comes from acl_category and may still contain 
+        //  some special chars like /
+        $tmp = array();
+        foreach($category as $cat){
+            $tmp[] = trim($cat, '\/,; ');
+        }
+        $category = sqlite_escape_string(implode($tmp, ', '));
+
+        // Create insert statement.
+        $TABLE_NAME = stats::$tableName;
+        $query = "
+            INSERT INTO {$TABLE_NAME}
+        (ACTID, TYPE, PLUGIN, CATEGORY, ACTION, UUID, MTIMESTAMP, TIMESTAMP, 
+         AMOUNT, DURATION, RENDER_TIME, MEMORY_USAGE, CPU_LOAD, INFO) 
+            VALUES 
+            ('{$clicks}','{$type}','{$plugin}','{$category}','{$action}','{$uuid}',
+             '{$mtimestamp}','{$timestamp}','{$amount}','{$duration}','{$renderTime}',
+             '{$memory_usage}','{$cpu_load}','{$info}')";
+        sqlite_query($query, $res);
+    }
+
+
+    /*! \brief      Closes all sqlite handles opened by this class
+     */ 
+    static function closeHandles()
+    {
+        foreach(stats::lastHandle as $handle){
+            if($handle && is_resource($handle)){
+                sqlite_close($handle);
+            }
+        }
+    }
+
+
+    /*! \brief      This method returns all entries of the GOsa-stats table.
+     *              You can limit the result by setting the from/to parameter (timestamp).
+     *  @param      int     from    The timestamp to start the result from. 
+     *  @param      int     to      The timestamp to end the request.
+     *  @return     array           An array containing the requested entries.
+     */  
+    static function generateStatisticDump($filename)
+    {
+        // Get database connection
+        $TABLE_NAME = stats::$tableName;
+        $handle = stats::getDatabaseHandle($filename);
+        if(!$handle) return;        
+
+        $query = 
+            "  SELECT ".
+            "      TYPE, PLUGIN, CATEGORY, ACTION, ".
+            "      UUID, DATE(TIMESTAMP, 'unixepoch') as date, ".
+            "      AVG(DURATION), AVG(RENDER_TIME), SUM(AMOUNT), ".
+            "      AVG(MEMORY_USAGE), AVG(CPU_LOAD), INFO ".
+            "  FROM ".
+            "      stats ".
+            "  GROUP BY ".
+            "      TYPE, PLUGIN, CATEGORY, ACTION, UUID, date, INFO ".
+            "  ORDER BY ".
+            "      ID ";
+
+        // Create Filter and start query
+        $ret = sqlite_array_query($query, $handle, SQLITE_ASSOC);
+        return($ret);
+    }
+
+
+    static function removeStatsFile($filename)
+    {
+        // Get statsFile property 
+        global $config;
+        $path = $config->get_cfg_value('core', 'statsDatabaseDirectory');
+        stats::$statsEnabled = $config->boolValueIsTrue('core', 'statsDatabaseEnabled');
+        if(!stats::$statsEnabled){
+            return(NULL);
+        }
+
+        // We cannot log while the path to store logs in is empty.
+        if(empty($path)){
+            return(NULL);
+        }
+
+        // Check if file exists and then remove it
+        if(isset(stats::$lastHandle[$filename]) && is_resource(stats::$lastHandle[$filename])){
+            sqlite_close(stats::$lastHandle[$filename]);
+        }
+        if(file_exists($path.'/'.$filename)){
+            #unlink($path.'/'.$filename);
+            rename($path.'/'.$filename,  $path.'/'.$filename.".old");
+        }
+    }
+
+    
+    static function getLdapObjectCount($config, $statisticConformResult = FALSE, $date = "")    
+    {
+        $ldap = $config->get_ldap_link();
+        $ldap->cd($config->current['BASE']);
+        
+        // A list of objectClasses to search for, indexed by their 
+        //  object-category
+        $ocsToSearchFor = array(
+                "department" => array("gosaDepartment"),
+                "devices" => array("gotoDevice"),
+                "fai" => array("FAIobject"),
+                "gofaxlist" => array("goFaxRBlock","goFaxSBlock"),
+                "gofonconference" => array("goFonConference"),
+                "phone" => array("goFonHardware"),
+                "gofonmacro" => array("goFonMacro"),
+                "users" => array("gosaAccount"),
+                "acls" => array("gosaAcl","gosaRole"),
+                "application" => array("gosaApplication"),
+                "ogroups" => array("gosaGroupOfNames"),
+                "roles" => array("organizationalRole"),
+                "server" => array("goServer"),
+                "printer" => array("gotoPrinter"),
+                "terminal" => array("gotoTerminal"),
+                "workstation" => array("gotoWorkstation"),
+                "winworkstation" => array("sambaSamAccount"),
+                "incoming" => array("goHard"),
+                "component" => array("ieee802Device"),
+                "mimetypes" => array("gotoMimeType"),
+                "groups" => array("posixGroup"),
+                "sudo" => array("sudoRole"));
+
+        // Build up a filter which contains all objectClass combined by OR.
+        // We will later sum up the results using PHP.
+        $filter = "";
+        $categoryCounter = array();
+        foreach($ocsToSearchFor as $category => $ocs){
+            foreach($ocs as $oc){
+                $filter.= "(objectClass={$oc})";
+            }
+            $categoryCounter[$category] = 0;
+        }
+        $filter = "(|{$filter})";
+
+        // Initiate the ldap query
+        $res = $ldap->search($filter, array('objectClass'));
+        if($ldap->success()) {
+
+            // Count number of results per category
+            while($entry = $ldap->fetch()){
+                foreach($ocsToSearchFor as $category => $ocs){
+                    if(count(array_intersect($ocs, $entry['objectClass']))){
+                        $categoryCounter[$category] ++;
+                        break; 
+                    }
+                }
+            }
+        }
+        arsort($categoryCounter);
+
+        // Do we have to return the result as SQL INSERT statement?
+        if($statisticConformResult){ 
+            $uuid           = $config->getInstanceUUID();
+            $type           = 'objectCount';
+            $plugin         = '';
+            $action         = '';
+            $date           = (empty($date))?date('Y-m-d'):$date;
+            $memory_usage   = sqlite_escape_string(stats::get_memory_usage());
+            $cpu_load       = sqlite_escape_string(number_format(stats::get_cpu_load(),4,'.',''));
+            $sql = array();
+            foreach($categoryCounter as $category => $amount){
+                $sql[] = array(
+                        "type" => $type,
+                        "plugin" => $plugin,
+                        "category" => $category,
+                        "action" => $action,
+                        "uuid" => $uuid,
+                        "date" => $date,
+                        "duration" => 0,
+                        "render_time" => 0,
+                        "amount" => $amount,
+                        "mem_usage" => $memory_usage,
+                        "load" => $cpu_load,
+                        "info" => '');
+            }
+            return($sql);
+        }else{
+            return($categoryCounter); 
+        }
+    }
+}
+
+?>
diff --git a/gosa-core/include/class_tabs.inc b/gosa-core/include/class_tabs.inc
index b162183..aeb3da6 100644
--- a/gosa-core/include/class_tabs.inc
+++ b/gosa-core/include/class_tabs.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_tabs.inc 15380 2010-01-27 14:03:19Z cajus $$
+ * ID: $$Id: class_tabs.inc 20620 2011-03-14 09:08:30Z hickert $$
  *
  * 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
@@ -42,6 +42,21 @@ class tabs
   var $read_only = FALSE; // Used when the entry is opened as "readonly" due to locks.
   var $hide_refs = FALSE;
   var $hide_acls = FALSE;
+
+  // Normally 'save_object()' is called automatically when 'execute()' is called, but 
+  //  sometimes we do not want this behaviour, e.g. when a tab is opened readonly.
+  // If we call save_object for a 'read-only' tab, values may get lost.
+  var $skip_save_object = FALSE; 
+
+
+  /*! \brief    Enables or disables to automatic call to 'save_object' for a plugin,
+   *             when 'execute()' is called.
+   */
+  function enableAutoSaveObject($bool)
+  {
+    $this->skip_save_object = ($bool == FALSE);
+  }
+    
   
   function tabs(&$config, $data, $dn, $acl_category= "", $hide_refs = FALSE, $hide_acls = FALSE)
   {
@@ -54,7 +69,7 @@ class tabs
     if(!count($data)) {
       $data[] = array("CLASS" => 'plugin',"NAME" => 'Error');
       msg_dialog::display(_("Error"),
-        sprintf(_("No plugin definitions found to initialize '%s', please check your configuration file."),get_class($this)),
+        sprintf(_("No plugin definition for %s found: please check the configuration file!"), bold(get_class($this))),
         "ERROR_DIALOG");
     }
 
@@ -63,8 +78,12 @@ class tabs
     foreach ($data as &$tab){
 
       if (!plugin_available($tab['CLASS'])){
+        if($this->config->boolValueIsTrue("core","developmentMode")){
+            trigger_error(sprintf("Unknown class %s!", bold($tab['CLASS'])));
+        }
       	continue;
       }
+      if ($this->current == "")  $this->current= $tab['CLASS'];
 
       $this->by_name[$tab['CLASS']]= $tab['NAME'];
 
@@ -79,12 +98,13 @@ class tabs
       $this->read_only |= $this->by_object[$tab['CLASS']]->read_only;
       $this->by_object[$tab['CLASS']]->parent= &$this;
       $this->by_object[$tab['CLASS']]->set_acl_category($this->acl_category);
-
-      /* Initialize current */
-      if ($this->current == ""){
-        $this->current= $tab['CLASS'];
-      }
     }
+
+    // Try to set the current tab to the posted value
+    if(isset($_GET['pluginTab'])){
+        $tab = $_GET['pluginTab'];
+        if(isset($this->by_name[$tab])) $this->current = $tab;
+    } 
   }
 
  
@@ -112,13 +132,17 @@ class tabs
 
   function execute()
   {
-    /* Ensure that the currently selected tab is valid. */
-    if(!isset($this->by_name[$this->current])) $this->current = key($this->by_name);
+    // Ensure that the currently selected tab is valid.
+    if(!isset($this->by_name[$this->current])) {
+      $this->current = key($this->by_name);
+    }
+
+    pathNavigator::registerPlugin($this);
 
-    /* Rotate current to last */
+    // Rotate current to last 
     $this->last= $this->current;
 
-    /* Look for pressed tab button */
+    // Look for pressed tab button
     foreach ($this->by_object as $class => &$obj){
       if (isset($_POST[$class]) || (isset($_POST['arg']) && $_POST['arg'] == "$class")){
         $this->current= $class;
@@ -126,32 +150,50 @@ class tabs
       }
     }
 
-    /* Save last tab object */
-    if ($this->last == $this->current){
-      $this->save_object(TRUE);
-    } else {
-      $this->save_object(FALSE);
+    // Save last tab object
+    if(!$this->skip_save_object){
+        if ($this->last == $this->current){
+          $this->save_object(TRUE);
+        } else {
+          $this->save_object(FALSE);
+        }
     }
 
-    /* Show object */
-    $display = "<table summary=\"\" cellpadding=4 cellspacing=0 border=0 style=\"width:100%; background-color:#F8F8F8; border-style:solid; border-color:#AAA; border-top-width:0px; border-bottom-width:1px; border-left-width:1px; border-right-width:1px;\">\n";
-    $display.= "<tr><td>\n";
-
     /* If multiple edit is enabled for this tab, 
        we have tho display different templates */
     if(!$this->multiple_support_active){
-      $display.= $this->by_object[$this->current]->execute();
+      $display= $this->by_object[$this->current]->execute();
     }else{
-      $display.= $this->by_object[$this->current]->multiple_execute();
+      $display= $this->by_object[$this->current]->multiple_execute();
     }
-    $modal_dialog = $this->by_object[$this->current]->is_modal_dialog();
-    
-    /* Build tab line */
-    $modal = TRUE;
-    $tabs= $this->gen_tabs($modal_dialog);
+    $tabs= $this->gen_tabs();
+
+    if($this->is_modal_dialog()){
+        $display =   
+            "\n        <div class='plugin'>".
+            "\n          {$display}".
+            "\n        </div>";
+    }else{
+
+        $display =   
+            "\n        {$tabs}".
+            "\n        <input type='hidden' name='arg' value=''>".
+            "\n        <div class='tab-content'>".
+            "\n          {$display}".
+            "\n        </div>";
+    }
+
+    // Detect if we've modifications right now.
+    // - A plugin state has to be changed, this is not a goo solution, but
+    //   currently it does what we want. 
+    //   (It would be better to ask the plugins if something has changed)
+    $this->isPluginModified |= isset($_POST['modify_state']);
 
-    /* Footer for tabbed dialog */
-    $display = $tabs.$display."</td></tr></table>";
+    // - Capture the plugins modification status.
+    foreach ($this->by_name as $class => $name){
+        $this->isPluginModified |= (isset($this->by_object[$class]->is_modified)) && $this->by_object[$class]->is_modified;
+    }
+    $display="<input type='hidden' id='pluginModified' name='pluginModified' value='{$this->isPluginModified}'>".$display;
 
     return ($display);
   }
@@ -190,65 +232,42 @@ class tabs
     }
   }
 
-  function gen_tabs($disabled = FALSE)
+
+  function is_modal_dialog()
   {
-    $display ="";
-    if(!$disabled){
-      $display.= "<input type=\"hidden\" name=\"arg\" value=\"\">";
-    }
-    $display.= "<table summary=\"\" cellpadding=0 cellspacing=0 border=0 style=\"width:100%;\"><tr>";
-    $index= 0;
-    $style= array("tab_left", "tab_active", "tab_near_active", "tab_right");
-    foreach ($this->by_name as $class => $name){
+    return($this->by_object[$this->current]->is_modal_dialog());
+  }
 
-      /* Activate right tabs with style "tab_right"
-         Activate near current with style "tab_near_active" */
-      if ($index == 2 || $index == 1){
-        $index++;
-      }
+  function gen_tabs()
+  {
+    if($this->is_modal_dialog()) return("");
 
-      /* Activate current tab with style "tab_active " */
-      if ($class == $this->current){
-        $index++;
-      }
+    $display = "\n  <div class='tabs'>";
+    $display.= "\n    <ul>";
 
-      /* Paint tab */
-      $display.= "<td style=\"vertical-align:bottom;width:1px;white-space:nowrap;\">";
+    foreach ($this->by_name as $class => $name){
 
-      /* Shorten string if its too long for the tab headers*/
+      // Shorten string if its too long for the tab headers
       $title= _($name);
       if (mb_strlen($title, 'UTF-8') > 28){
         $title= mb_substr($title,0, 25, 'UTF-8')."...";
       }
 
-      /* nobr causes w3c warnings so we use   to keep the tab name in one line */
+      // nobr causes w3c warnings so we use   to keep the tab name in one line 
       $title= str_replace(" "," ",$title);
 
-      /* Take care about notifications */
+      // Take care about notifications 
       $obj = $this->by_object[$class];
+      $tabClass = ($this->current == $class) ? "current" :"";
       if ( $this->by_object[$class]->pl_notify && ($obj->is_account || $obj->ignore_account)){
-        $notify= "id=\"notify\"";
-      } else {
-        $notify= "";
-      }
-
-      if($disabled){
-        $display.= "<div ".$notify." class=\"$style[$index]\" 
-          style=' font-family:arial,helvetica,sans-serif;
-                  font-weight:bold;
-                  font-size:13px; 
-                  color: gray;'
-          title=\"$title\">".$title."</div>";
-      }elseif (session::global_get('js')==FALSE){	
-        $display.= "<div ".$notify." class=\"$style[$index]\"><input type=\"submit\" name=\"$class\"".
-          " class=\"$style[$index]\" value=\"$title\"></div></td>";
-      } else {			 
-        $display.= "<div ".$notify." class=\"$style[$index]\"><a class=\"$style[$index]\" onclick=\"return true;\" href=\"javascript:document.mainform.arg.value='$class';document.mainform.submit();\">$title</a></div></td>";
+        $tabClass .= " info";
       }
+      if(!empty($tabClass)) $tabClass="class='{$tabClass}'";
+      $onClick = "document.mainform.arg.value='{$class}'; document.mainform.submit();";
+      $display.= "\n      <li {$tabClass} onClick=\"{$onClick}\">{$title}</li>";
     }
-    $display.= "<td style=\"vertical-align:bottom;\">\n";
-    $display.= "<div class=\"tab_border\"> </div></td></tr></table>";
-
+    $display.="\n    </ul>";
+    $display.="\n  </div>";
     return($display);
   }
 
@@ -265,7 +284,7 @@ class tabs
     foreach (array_reverse($this->by_object) as $key => $obj){
       $reason= $obj->allow_remove();
       if ($reason != ""){
-        msg_dialog::display(_("Warning"), sprintf(_("Delete process has been canceled by plugin '%s': %s"), $key, $reason), WARNING_DIALOG);
+        msg_dialog::display(_("Warning"), sprintf(_("Delete process has been canceled by plugin %s: %s"), bold($key), $reason), WARNING_DIALOG);
         return;
       }
     }
@@ -386,7 +405,7 @@ class tabs
         }else{
           if(!empty($tmp['string'])){
             $ret .= $tmp['string'];
-            $ret .= "<p class='seperator'> </p>";
+            $ret .= "<hr>";
           }
         }
       }
@@ -406,6 +425,7 @@ class tabs
       $this->by_name['reference']= _("References");
       $this->by_object['reference']= new reference($this->config, $this->dn);
       $this->by_object['reference']->parent= &$this;
+      $this->by_object['reference']->set_acl_category($this->acl_category);
     }
   }
 
@@ -460,6 +480,14 @@ class tabs
     }
     return(TRUE);
   }
+
+  function setReadOnly($s = TRUE)
+  {
+    foreach($this->by_object as $name => $obj){
+      $this->by_object[$name]->read_only = $s;
+    }
+    $this->read_only = $s;
+  }
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/include/class_userFilter.inc b/gosa-core/include/class_userFilter.inc
new file mode 100644
index 0000000..b1ee822
--- /dev/null
+++ b/gosa-core/include/class_userFilter.inc
@@ -0,0 +1,286 @@
+<?php
+
+class userFilter extends plugin 
+{
+  public $pathTitle= "Filter";
+
+  public $filters = array();
+  
+  public $objectclasses = array('gosaProperties');
+  public $attributes = array('gosaUserDefinedFilter');
+  public $gosaUserDefinedFilter = array();
+  private $listing = NULL;
+
+  /*! \brief    Returns true if we are able to read and write userFilters 
+   *            (schema has to be present, gosaProperties)
+   */
+  static function userFilteringAvailable()
+  {
+    if(!session::is_set('userFilter::userFilteringAvailable')){
+      global $config;
+      $ldap = $config->get_ldap_link();
+      $ocs = $ldap->get_objectclasses();
+      session::set('userFilter::userFilteringAvailable', isset($ocs['gosaProperties']));
+    }
+    return(session::get('userFilter::userFilteringAvailable'));
+  }
+  
+ 
+  /*! \brief  Initiates the filter editing dialog.
+   */ 
+  function __construct($config, $listing)
+  {
+    // Initialize this plugin with the users dn to gather user defined filters.
+    $ui = get_userinfo();
+    plugin::plugin($config, $ui->dn);
+    $this->listing = &$listing;
+    $filter= $this->listing->getFilter();
+
+    // Load list of filters
+    if(isset($this->attrs['gosaUserDefinedFilter'])){
+      for($i=0; $i< $this->attrs['gosaUserDefinedFilter']['count']; $i++){
+        $tmp = userFilter::explodeFilterString($this->attrs['gosaUserDefinedFilter'][$i]);
+        if(isset($tmp['tag'])){
+          $this->filters[$tmp['tag']]= $tmp; 
+        }
+      }
+    }
+
+    // Create the filter list
+    $this->filterWidget= new sortableListing($this->filters, $this->convertFilterList());
+    $this->filterWidget->setDeleteable(true);
+    $this->filterWidget->setEditable(true);
+    $this->filterWidget->setWidth("100%");
+    $this->filterWidget->setHeight("270px");
+    $this->filterWidget->setHeader(array(_("Parent filter"),_("Name"),_("Description"),_("Category"),_("Options"),""));
+    $this->filterWidget->setColspecs(array('80px', '100px', '200px', '120px','150px'));
+    $this->filterWidget->setAcl($ui->get_permissions($ui->dn,'users/user','gosaUserDefinedFilter'));
+  }
+
+  
+  /*! \brief    Parses a filter string into an array.
+   */
+  static function explodeFilterString($filterStr)
+  {
+    list($parent,$categories, $name, $description, $filterList, $flags) = preg_split('/;/', $filterStr);
+
+    // Ensure that we no empty category in our category list.
+    if(empty($categories)){
+      $categories = array();
+    }else{
+      $categories = preg_split('/,/', $categories);
+    }
+
+    // Ensure that we no empty entry in out flags list.
+    if(empty($flags)){
+      $flags = array();
+    }else{
+      $flags = preg_split('/,/', $flags);
+    }
+
+    // Get filters and their backends 
+    $queries = array();
+    foreach(preg_split('/,/', $filterList) as $data){
+      if(!empty($data)){
+        list($filter, $backend) = preg_split('/:/', $data);
+        $queries[] =  array('backend' => $backend, 'filter' => base64_decode($filter));
+      }
+    }
+
+    // build up filter entry.
+    $tmp = array(
+        'parent' => $parent, 
+        'tag' => $name, 
+        'categories' => $categories,
+        'description' => base64_decode($description),
+        'query' => $queries,
+        'flags' => $flags);
+
+    return($tmp);
+  }
+  
+
+  /*! \brief    Converts the list of filters ($this->filters) into data which is useable
+   *             for the sortableList object ($this->filterWidget).
+   *  @return   Array   An array containg data useable for sortableLists ($this->filterWidget)
+   */
+  function convertFilterList()
+  { 
+    $data = array();
+    foreach($this->filters as $name => $filter){
+      $data[$name] = array('data' =>
+          array(
+            $filter['parent'],
+            $filter['tag'],
+            htmlentities($filter['description'], ENT_COMPAT, 'UTF-8'),
+            implode(", ",$filter['categories']),
+            implode(", ",$filter['flags'])));
+    }
+    return($data); 
+  }
+
+
+  /*! \brief    Display the user-filter overview as HTML content.
+   *  @return   string    HTML-content showing the user-filter editing dialog.
+   */
+  function execute()
+  {
+    plugin::execute();
+    
+    // Let the filter widget update itself
+    $this->filterWidget->update();
+
+    // Cancel filter modifications (edit dialog)
+    if(isset($_POST['cancelFilterSettings'])){
+      $this->dialog = NULL;
+    }
+
+    // Save modified filter entries (edit dialog)
+    if(isset($_POST['saveFilterSettings']) && $this->dialog instanceOf userFilterEditor){
+      $this->dialog->save_object();
+      $msgs = $this->dialog->check();
+      if(count($msgs)){
+        msg_dialog::displayChecks($msgs);
+      }else{
+        $orig_name = $this->dialog->getOriginalName();
+        $new_name = $this->dialog->getCurrentName();
+
+        // The object was renamed and
+        if($orig_name != $new_name && isset($this->filters[$new_name])){
+          $msgs = array(msgPool::duplicated(_("Name")));
+          msg_dialog::displayChecks($msgs);
+        }else{
+
+          // Remove old entry if filter was renamed
+          if($orig_name != "" && isset($this->filters[$orig_name])){
+            unset($this->filters[$orig_name]);
+          }
+          
+          // Now append the new filter object.
+          $this->filters[$new_name] = $this->dialog->save();
+          $this->dialog = NULL;
+          $this->filterWidget->setListData($this->filters, $this->convertFilterList());
+          $this->filterWidget->update();
+        }
+      }
+    }
+
+    // Act on edit requests 
+    $this->filterWidget->save_object();
+    $action = $this->filterWidget->getAction();
+    if($action['action'] == 'edit' && count($action['targets']) == 1){
+      $key= $this->filterWidget->getKey($action['targets'][0]);
+      if(isset($this->filters[$key])){
+        $this->dialog=new userFilterEditor($this->filters[$key], $this->listing);
+      }
+    }
+
+    // Act on new requests
+    if(isset($_POST['addFilter'])){
+      $this->dialog=new userFilterEditor(array(), $this->listing);
+    }
+
+    // Act on remove requests 
+    $action = $this->filterWidget->getAction();
+    if($action['action'] == 'delete' && count($action['targets']) == 1){
+      $key= $this->filterWidget->getKey($action['targets'][0]);
+      if(isset($this->filters[$key])){
+        unset($this->filters[$key]);
+        $this->filterWidget->update();
+      }
+    }
+
+    // Display edit dialog
+    if($this->dialog instanceOf userFilterEditor){
+      $this->dialog->save_object();
+      return($this->dialog->execute());
+    }
+
+    $smarty = get_smarty();
+    $smarty->assign("list", $this->filterWidget->render());
+    return($smarty->fetch(get_template_path('userFilter.tpl', FALSE)));
+  }
+
+
+  /*! \brief    Returns user defined filter for a given list of categories,
+   *             if no categories were specified all enabled filters will be returned.
+   */
+  static function getFilter($category=array())
+  {
+    global $config;
+
+    $ldap=$config->get_ldap_link();
+    $ui = get_userinfo();
+    $ldap->cd($config->current['BASE']);
+    $ldap->search("(&(objectClass=gosaProperties)(gosaUserDefinedFilter=*))",array('gosaUserDefinedFilter'));
+    $filter = array();
+    while($attrs = $ldap->fetch()){
+      for($i=0; $i < $attrs['gosaUserDefinedFilter']['count']; $i++){
+        $tmp = userFilter::explodeFilterString($attrs['gosaUserDefinedFilter'][$i]);
+        if(!isset($tmp['tag'])) continue;
+          
+        // Remove line breaks from the filter, which may were added for better reading. 
+        foreach($tmp['query'] as $key => $query){
+          $c = preg_split('/\n/',$query['filter']);
+          foreach($c as $cKey => $str) $c[$cKey] = trim($str);
+          $tmp['query'][$key]['filter'] = mb_convert_encoding(implode($c),'UTF-8');
+        }
+ 
+        // The filter is visible if it is shared or if is one of our own creations.
+        //  ... and enabled.
+        $visible = in_array('enable', $tmp['flags']) && 
+          ($attrs['dn'] == $ui->dn || in_array('share', $tmp['flags']));
+         
+        // Add filter if it matches the category list
+        if($visible && (count($category) == 0 || array_intersect($category, $tmp['categories']))){ 
+          $filter[$tmp['tag']] = $tmp;
+        }
+      }
+    }
+    return($filter);
+  }
+
+
+  /*! \brief    Write user-filter modifications back to the ldap.  
+   */
+  function save()
+  {
+    // Build up new list of filters 
+    $attrs = array();
+    foreach($this->filters as $filter){
+      $tmp = $filter['parent'].";";
+      $tmp.= implode(',', $filter['categories']).";";
+      $tmp.= $filter['tag'].";";
+      $tmp.= base64_encode($filter['description']).";";
+
+      // Add queries 
+      foreach($filter['query'] as $query){
+         $tmp.= base64_encode($query['filter']).":".$query['backend'].",";
+      }
+      $tmp = trim($tmp,",").";";
+      $tmp.= implode(',', $filter['flags']);
+      $attrs[] = $tmp;
+    }
+    $this->gosaUserDefinedFilter = $attrs;
+
+    plugin::save();
+
+    $ldap = $this->config->get_ldap_link();
+    $ldap->cd($this->dn);
+    $ldap->modify($this->attrs);
+    
+    new log("modify","users/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+
+    if (!$ldap->success()){
+      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_MOD, get_class()));
+    }
+  }  
+
+  
+  /*! \brief    Do not save any posted values here.
+   */
+  function save_object(){}
+}
+
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>
diff --git a/gosa-core/include/class_userFilterEditor.inc b/gosa-core/include/class_userFilterEditor.inc
new file mode 100644
index 0000000..5cfc7c0
--- /dev/null
+++ b/gosa-core/include/class_userFilterEditor.inc
@@ -0,0 +1,286 @@
+<?php
+
+class userFilterEditor extends plugin 
+{
+    public $pathTitle= "Edit";
+
+    // The original entry else array(), allows us to perform existence checks.
+    public $entry = array();
+
+    // The values
+    public $name = "";
+    public $description = "";
+    public $parent = "";
+    public $selectedCategories = array();
+    public $share = FALSE;
+    public $enabled = TRUE;
+    public $queries = array();
+
+    public $listing = NULL;
+
+    // The list of all categories mangaged by the current filter object.
+    // Used in the grop-down box.
+    public $orig_name = "";
+    public $backends = array('LDAP','LDAPBlacklist', 'SYSTEMS', 'FAI', 'GroupLDAP','ACL', 'OPSIPackages','APPLICATIONS','MIMETYPES','CONFIGPROPERTIES');  
+
+
+    /*! \brief    Instantiate the filter editing dialog. 
+     *            Parses the filter info into editable data.
+     */
+    function __construct($entry, $listing)
+    {
+
+        $this->listing = &$listing;
+        if($entry){
+            $this->entry = $entry;
+            $this->parent = $entry['parent'];
+            $this->name = $entry['tag'];
+            $this->description = $entry['description'];
+
+            foreach($entry['query'] as $query){
+                $query['filter'] = userFilterEditor::_autoIndentFilter($query['filter'], "  ");
+                $this->queries[] = $query;
+            }
+            $this->selectedCategories = $entry['categories'];
+            $this->share = in_array("share",$entry['flags']);
+            $this->enable = in_array("enable",$entry['flags']);
+        }
+        $this->orig_name = $this->name;
+
+        // Create statistic table entry
+        $this->initTime = microtime(TRUE);
+        stats::log('plugin', $class = get_class($this), $category = array($this->acl_category),  $action = 'open',
+                $amount = 1, $duration = (microtime(TRUE) - $this->initTime));
+    }
+
+
+    /*! \brief    Automatic indent indentation for filters.
+     */
+    static function _autoIndentFilter($str, $indent = " ")
+    {
+        // Remove line breaks and escaped brackets 
+        $str = preg_replace('/[\t ]*\n[\t ]*/', "", $str);
+        $str = preg_replace('/\\\\\\(/', "::OPEN::", $str);
+                $str = preg_replace('/\\\\\\)/', "::CLOSE::", $str);
+
+        // Add a line break infront of every bracket 
+        $str = preg_replace('/\\(/', "\n(", $str);
+                $str = preg_replace('/\\)/', ")\n", $str);
+
+        // Split by linebreaks
+        $lines = preg_split("/\n/", $str);
+        $str = "";
+        $i = 0;
+
+        // Walk trough search blocks 
+        foreach($lines as $line){
+            $line = trim($line);
+            if(empty($line)) continue;
+
+            // Go back one level in indentation  
+            if(!preg_match("/\\(.*\\)/", $line) && preg_match('/\\)$/', $line)){
+                $i --;
+            }
+
+            $str.= "\n";
+            $str = str_pad($str,strlen($str)+$i, $indent); 
+            $str.= $line;
+
+            // Go one level deeper in indentation 
+            if(!preg_match("/\\(.*\\)/", $line) && preg_match('/^\\(/', $line)){
+                    $i ++;
+                    }
+                    }
+                    $str = preg_replace('/::OPEN::/', '\(', $str);
+                    $str = preg_replace('/::CLOSE::/', '\)', $str);
+                    return($str);
+                    }
+
+
+                    /*! \brief    Retunrs the filters original name 
+                     *  @param    The original name of the filter (if none was given 
+                     *             an empty string is returned)
+                     */
+                    function getOriginalName()
+                    {
+                    return($this->orig_name);
+                    }
+
+
+                    /*! \brief    Retunrs the filters name.
+                     *  @param    The name of the filter
+                     */
+                    function getCurrentName()
+                    {
+                        return($this->name);
+                    }
+
+
+                    /*! \brief    Generates the <HTML> content, to edit the filter settings.
+                     *  @return   String  HTML form.
+                     */
+                    function execute()
+                    {
+                        plugin::execute();
+
+                        $smarty = get_smarty();
+
+                        // Build up HTML compliant html output
+                        $queries = array();
+                        foreach($this->queries as $key => $query){
+                            $query['filter'] =  htmlentities($query['filter'],ENT_COMPAT,'UTF-8');
+                            $queries[$key] = $query; 
+                        }  
+
+                        // Build up list of hard coded filters 
+                        $filter= $this->listing->getFilter();
+
+                        $smarty->assign("fixedFilters", array_keys($filter->searches));
+                        $smarty->assign('parent', $this->parent);
+                        $smarty->assign('backends', $this->backends);
+                        $smarty->assign('name', htmlentities($this->name,ENT_COMPAT,'UTF-8'));
+                        $smarty->assign('queries', $queries);
+                        $smarty->assign('share', $this->share);
+                        $smarty->assign('enable', $this->enabled);
+                        $smarty->assign('description', htmlentities($this->description,ENT_COMPAT,'UTF-8'));
+                        $smarty->assign('selectedCategories', $this->selectedCategories);
+                        $smarty->assign('availableCategories', array_unique($this->listing->categories));
+                        return($smarty->fetch(get_template_path('userFilterEditor.tpl', FALSE)));
+                    }
+
+
+                    /*! \brief    Keep values entered in the input form of the dialog. (POST/GET)
+                     */
+                    function save_object()
+                    {
+                        if(isset($_POST['userFilterEditor'])){
+
+                            // Get posted strings
+                            foreach(array('name','description', 'parent') as $attr){
+                                if(isset($_POST[$attr])){
+                                    $this->$attr = get_post($attr);
+                                }
+                            }
+
+                            // Filter needs special handling, it may contain charactes like < and >
+                            //  wich are stipped out by get_post() && validate()
+                            foreach($this->queries as $key => $query){
+                                if(isset($_POST['filter_'.$key])){
+                                    $f = get_post('filter_'.$key);
+                                    $this->queries[$key]['filter'] = $f;
+                                    $this->queries[$key]['backend'] = get_post('backend_'.$key);
+                                }
+                            }
+
+                            foreach($this->queries as $key => $query){
+                                if(isset($_POST['removeQuery_'.$key])){
+                                    unset($this->queries[$key]);
+                                    $this->queries = array_values($this->queries);
+                                }   
+                            }
+
+                            // Get posted flags 
+                            $this->share = isset($_POST['shareFilter']);
+                            $this->enable = isset($_POST['enableFilter']);
+
+                            // Get additional category  
+                            if(isset($_POST['addCategory'])){
+                                if(isset($_POST['manualCategory']) && !empty($_POST['manualCategory'])){
+                                    $this->selectedCategories[] = get_post('manualCategory');
+                                }elseif(isset($_POST['availableCategory']) && !empty($_POST['availableCategory'])){
+                                    $this->selectedCategories[] = get_post('availableCategory');
+                                }
+                                $this->selectedCategories = array_unique($this->selectedCategories);
+                            }
+
+                            // Remove categories
+                            if(isset($_POST['delCategory']) && isset($_POST['usedCategory'])){
+                                foreach($_POST['usedCategory'] as $cat){
+                                    if(isset($this->selectedCategories[$cat])) unset($this->selectedCategories[$cat]);
+                                }
+                            }
+
+                            // Add new query 
+                            if(isset($_POST['addQuery'])){
+
+                                $filter= $this->listing->getFilter();
+                                $backend = 'LDAP';
+                                $query = "(objectClass=*)";
+                                if(isset($filter->searches[$this->parent])){
+
+                                    $tmp = $filter->searches[$this->parent];  
+                                    if(isset($tmp['query'][count($this->queries)])){
+                                        $query = $tmp['query'][count($this->queries)]['filter'];
+                                        $backend = $tmp['query'][count($this->queries)]['backend'];
+                                    }elseif(isset($tmp['query']['filter'])){
+                                        $query = $tmp['query']['filter'];
+                                        $backend = $tmp['query']['backend'];
+                                    }
+                                }
+
+                                $this->queries[] = array('backend'=> $backend, 'filter' => userFilterEditor::_autoIndentFilter($query,"  "));
+                            }
+                        }
+                    }
+
+
+                    /*! \brief    Validate user input 
+                     *  @return   Array   An Array containing potential error messages
+                     */
+                    function check()
+                    {
+                        $msgs = plugin::check();
+
+                        // Check if the name is given
+                        if(empty($this->name)){
+                            $msgs[] = msgPool::required(_("Name"));
+                        }elseif(preg_match("/[^a-z0-9]/i", $this->name)){
+
+                            // Check for a valid name, no special chars here - in particular no ; 
+                            $msgs[] = msgPool::invalid(_("Name"), $this->name,"/[a-z0-9]/i");
+                        }  
+
+                        // Description is a must value.
+                        if(empty($this->description)){
+                            $msgs[] = msgPool::required(_("Description"));
+                        }
+
+                        // Count the number of opening and closing brackets - exclude escaped ones.
+                        foreach($this->queries as $key => $query){
+                            $f = preg_replace('/\\\\[\(\)]/',"",$query['filter']);
+                            $o = substr_count($f, '(');
+                            $c = substr_count($f, ')');
+                            if($o != $c){
+                                $msgs[] = sprintf(_("Error in filter #%s: %s opening and %s closing brackets detected!"), bold($key+1), bold($o), bold($c));
+                            }
+                        }
+
+                        return($msgs);
+                    }
+
+
+                    /*! \brief    Transforms the entered values into a filter object (array) which is useable
+                     *             for the userFilter overview dialog.
+                     *  @return   Returns transformed filter data.
+                     */
+                    function save()
+                    {
+                        $ret= array();
+                        $ret['parent'] = $this->parent;
+                        $ret['tag'] = $this->name;
+                        $ret['description'] = $this->description;
+                        $ret['categories'] = $this->selectedCategories;
+                        $ret['query'] = $this->queries;
+                        $ret['flags'] = array();
+                        if($this->share){
+                            $ret['flags'][] = "share";
+                        }
+                        if($this->enable){
+                            $ret['flags'][] = "enable";
+                        }
+                        return($ret);
+                    }
+}
+
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>
diff --git a/gosa-core/include/class_userinfo.inc b/gosa-core/include/class_userinfo.inc
index d541e3b..b835a96 100644
--- a/gosa-core/include/class_userinfo.inc
+++ b/gosa-core/include/class_userinfo.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_userinfo.inc 17912 2010-04-28 13:45:23Z hickert $$
+ * ID: $$Id: class_userinfo.inc 20629 2011-03-24 10:56:10Z hickert $$
  *
  * 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
@@ -37,7 +37,7 @@ class userinfo
   var $ocMapping= array();
   var $groups= array();
   var $result_cache =array();
-  var $ignoreACL = FALSE;
+  var $ignoreACL = NULL;
   var $ACLperPath = array();
   var $ACLperPath_usesFilter = array();
 
@@ -77,8 +77,6 @@ class userinfo
     $this->uid= $attrs['uid'][0];
     $this->ip= $_SERVER['REMOTE_ADDR'];
 
-    $this->ignoreACL = ($this->config->get_cfg_value("ignoreAcl") == $this->dn);
-
     /* Initialize ACL_CACHE */
     $this->reset_acl_cache();
   }
@@ -93,6 +91,7 @@ class userinfo
   function loadACL()
   {
     $this->ACL= array();    
+    $this->allACLs= array();    
     $this->groups= array();    
     $this->result_cache =array();
     $this->reset_acl_cache();
@@ -172,7 +171,7 @@ class userinfo
             }
 
             /* User inside the members? */
-            if (preg_replace('/^U:/', '', $grp) == $this->dn){
+            if (mb_strtoupper(preg_replace('/^U:/', '', $grp)) == mb_strtoupper($this->dn)){
               $interresting= TRUE;
             }
 
@@ -180,6 +179,7 @@ class userinfo
             if (preg_match('/^G:\*/',  $grp)){
               $interresting= TRUE;
             }
+            $this->allACLs[$dn][$idx]= $type;
           }
         }
 
@@ -225,10 +225,12 @@ class userinfo
           
             /* Remove all acl entries which are especially for the current user (self acl)
              */
-            foreach($acl_set['acl'] as $object => $object_acls){
-              if(isset($object_acls[0]) && strpos($object_acls[0],"s")){
-                unset($without_self_acl[$sdn][$dn][$acl_id]['acl'][$object]);
-              }
+            if(isset($acl_set['acl'])){ 
+                foreach($acl_set['acl'] as $object => $object_acls){
+                    if(isset($object_acls[0]) && strpos($object_acls[0],"s") !== FALSE){
+                        unset($without_self_acl[$sdn][$dn][$acl_id]['acl'][$object]);
+                    }
+                }
             }
           }
         }
@@ -258,7 +260,7 @@ class userinfo
 
   function get_category_permissions($dn, $category, $any_acl = FALSE)
   {
-    return(@$this->get_permissions($dn,$category.'/0',""));
+    return($this->get_permissions($dn,$category.'/0',""));
   }
 
   
@@ -359,6 +361,31 @@ class userinfo
       return($ret);
     }
 
+    /* Check for correct category and class values... */
+    if(strpos($object,'/') !== FALSE){
+      list($aclCategory, $aclClass) = preg_split("!/!", $object);
+    }else{
+      $aclCategory = $object;
+    }
+
+    if($this->config->boolValueIsTrue("core","developmentMode")){
+
+        if(!isset($this->ocMapping[$aclCategory])){
+            trigger_error("Invalid ACL category '".$aclCategory."'! ({$object})");
+            return("");
+        }elseif(isset($aclClass) && !in_array($aclClass, $this->ocMapping[$aclCategory])){
+            trigger_error("Invalid ACL class '".$aclClass."'! ({$object})");
+            return("");
+        }
+        if(isset($aclClass) && $aclClass != '0' && class_available($aclClass)){
+            $plInfo = call_user_func(array($aclClass, 'plInfo'));
+            if(!empty($attribute) && !isset($plInfo['plProvidedAcls'][$attribute])){
+                trigger_error("Invalid ACL attribute '".$attribute."'! ({$object})");
+                return("");
+            }
+        }
+    }
+
     /* Detect the set of ACLs we have to check for this object 
      */
     $adn = $dn;
@@ -420,12 +447,6 @@ class userinfo
         /* Inspect this ACL, place the result into ACL */
         foreach ($ACL[$cpath] as $subacl){
 
-          /* Reset? Just clean the ACL and turn over to the next one... */
-          if ($subacl['type'] == 'reset'){
-            $acl= $this->cleanACL($acl, TRUE);
-            continue;
-          }
-
           if($subacl['type'] == "role") {
             echo "role skipped";
             continue;
@@ -442,6 +463,12 @@ class userinfo
             }
           }
 
+          /* Reset? Just clean the ACL and turn over to the next one... */
+          if ($subacl['type'] == 'reset'){
+            $acl= $this->cleanACL($acl, TRUE);
+            continue;
+          }
+
           /* Self ACLs? 
            */
           if($dn != $this->dn && isset($subacl['acl'][$object][0]) && (strpos($subacl['acl'][$object][0],"s") !== FALSE)){
@@ -471,6 +498,12 @@ class userinfo
           }
 
           /* Global ACL? */
+          if (isset($subacl['acl']['all/all'][0])){
+            $acl= $this->mergeACL($acl, $subacl['type'], $subacl['acl']['all/all'][0]);
+            continue;
+          }
+
+          /* Global ACL? - Old style global ACL - Was removed since class_core.inc was created */
           if (isset($subacl['acl']['all'][0])){
             $acl= $this->mergeACL($acl, $subacl['type'], $subacl['acl']['all'][0]);
             continue;
@@ -571,15 +604,17 @@ class userinfo
       foreach($this->ACL as $dn => $infos){
         foreach($infos as $info){
           $found = FALSE;
-          foreach($info['acl'] as $cat => $data){
-
-            /* Skip self acls? */
-            if($skip_self_acls && isset($data['0']) && (strpos($data['0'], "s") !== FALSE)) continue;
-            if(preg_match("/^".preg_quote($mod, '/')."/",$cat)){
-              $found =TRUE;
-              break;
-            }
-          } 
+          if(isset($info['acl'])){
+              foreach($info['acl'] as $cat => $data){
+
+                  /* Skip self acls? */
+                  if($skip_self_acls && isset($data['0']) && (strpos($data['0'], "s") !== FALSE)) continue;
+                  if(preg_match("/^".preg_quote($mod, '/')."/",$cat)){
+                      $found =TRUE;
+                      break;
+                  }
+              } 
+        } 
 
           if($found && !isset($this->config->idepartments[$dn])){
             while(!isset($this->config->idepartments[$dn]) && strpos($dn, ",")){
@@ -708,7 +743,9 @@ class userinfo
             }
           }
         }else{
-          trigger_error("Invalid type of category ".$category);
+            if($this->config->boolValueIsTrue("core","developmentMode")){
+                trigger_error("Invalid type of category ".$category);
+            }
           $acl = "";
         }
         $this->result_cache['has_complete_category_acls'][$dn][$category] = $acl;
@@ -725,6 +762,9 @@ class userinfo
    */ 
   function ignore_acl_for_current_user()
   {
+    if($this->ignoreACL === NULL){
+        $this->ignoreACL = ($this->config->get_cfg_value("core","ignoreAcl") == $this->dn);
+    }
     return($this->ignoreACL);
   }
 
diff --git a/gosa-core/include/functions.inc b/gosa-core/include/functions.inc
index 82a01e1..699acc7 100644
--- a/gosa-core/include/functions.inc
+++ b/gosa-core/include/functions.inc
@@ -23,6 +23,10 @@
 /*! \file
  * Common functions and named definitions. */
 
+/* Define globals for revision comparing */
+$svn_path = '$HeadURL: https://oss.gonicus.de/repositories/gosa/tags/2.7.1/gosa-core/include/functions.inc $';
+$svn_revision = '$Revision: 20628 $';
+
 /* Configuration file location */
 if(!isset($_SERVER['CONFIG_DIR'])){
   define ("CONFIG_DIR", "/etc/gosa");
@@ -68,10 +72,6 @@ define('DES_CBC_MD5',3);
 define('DES3_CBC_MD5',5);
 define('DES3_CBC_SHA1',16);
 
-/* Define globals for revision comparing */
-$svn_path = '$HeadURL: https://oss.gonicus.de/repositories/gosa/tags/2.6.11/gosa-core/include/functions.inc $';
-$svn_revision = '$Revision: 19051 $';
-
 /* Include required files */
 require_once("class_location.inc");
 require_once ("functions_debug.inc");
@@ -89,13 +89,13 @@ define ("DEBUG_ACL",    128); /*! Debug level for ACL infos */
 define ("DEBUG_SI",     256); /*! Debug level for communication with gosa-si */
 define ("DEBUG_MAIL",   512); /*! Debug level for all about mail (mailAccounts, imap, sieve etc.) */
 define ("DEBUG_FAI",   1024); // FAI (incomplete)
-
+define ("DEBUG_RPC",   2048); /*! Debug level for communication with remote procedures */
 
 // Define shadow states
-define ("POSIX_ACCOUNT_EXPIRED", 1); 
-define ("POSIX_WARN_ABOUT_EXPIRATION", 2); 
-define ("POSIX_FORCE_PASSWORD_CHANGE", 4); 
-define ("POSIX_DISALLOW_PASSWORD_CHANGE", 8); 
+define ("POSIX_ACCOUNT_EXPIRED", 1);
+define ("POSIX_WARN_ABOUT_EXPIRATION", 2);
+define ("POSIX_FORCE_PASSWORD_CHANGE", 4);
+define ("POSIX_DISALLOW_PASSWORD_CHANGE", 8);
 
 /* Rewrite german 'umlauts' and spanish 'accents'
    to get better results */
@@ -119,6 +119,23 @@ $REWRITE= array( "ä" => "ae",
     "ñ" => "ny",
     "Ñ" => "Ny" );
 
+/*! \brief Cyrillic (russian) fonetic transliteration (converts russian letters to ASCII and backward according to GOST 7.79-2000 )
+ *  \param  string 'str' Source string in russian codepage
+ *  \return string Translitered string value.
+ */
+function cyrillic2ascii($str) {
+    $ru = array('а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ',  'ъ', 'ы', 'ь', 'э', 'ю', 'я',
+                'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'H', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ',  'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 
+                'ґ', 'є', 'ї', 'Ґ', 'Є', 'Ї'
+    );
+    $en = array('a', 'b', 'v', 'g', 'd', 'e', 'jo','zh','z', 'i', 'jj','k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'kh','c', 'ch','sh','shh','"', 'y', '\'','eh','ju','ja',
+                'A', 'B', 'V', 'G', 'D', 'E', 'Jo','Je','Z', 'I', 'Jj','K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'Kh','C', 'CH','SH','Shh','"', 'Y', '\'','Eh','Ju','Ja',
+                'g', 'ye','yi','G', 'Ye','Yi'
+    );
+
+    return str_replace($ru, $en, $str);
+}
+
 
 /*! \brief Does autoloading for classes used in GOsa.
  *
@@ -131,14 +148,14 @@ function __gosa_autoload($class_name) {
     global $class_mapping, $BASE_DIR;
 
     if ($class_mapping === NULL){
-	    echo sprintf(_("Fatal error: no class locations defined - please run '%s' to fix this"), "<b>update-gosa</b>");
+	    echo sprintf(_("Fatal error: no class locations defined - please run %s to fix this"), bold("update-gosa"));
 	    exit;
     }
 
     if (isset($class_mapping["$class_name"])){
       require_once($BASE_DIR."/".$class_mapping["$class_name"]);
     } else {
-      echo sprintf(_("Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"), $class_name, "<b>update-gosa</b>");
+      echo sprintf(_("Fatal error: cannot instantiate class %s - try running %s to fix this"), bold($class_name), bold("update-gosa"));
       exit;
     }
 }
@@ -151,8 +168,14 @@ spl_autoload_register('__gosa_autoload');
  */
 function class_available($name)
 {
-  global $class_mapping;
-  return(isset($class_mapping[$name]));
+  global $class_mapping, $config;
+    
+  $disabled = array();
+  if($config instanceOf config && $config->configRegistry instanceOf configRegistry){
+    $disabled = $config->configRegistry->getDisabledPlugins();
+  }
+
+  return(isset($class_mapping[$name]) && !isset($disabled[$name]));
 }
 
 
@@ -191,9 +214,9 @@ function make_seed() {
 }
 
 
-/*! \brief Debug level action 
+/*! \brief DEBUG level action 
  *
- * Print a DEBUG level if specified debug level of the level matches the 
+ * print a DEBUG level if specified debug level of the level matches the 
  * the configured debug level.
  *
  * \param int 'level' The log level of the message (should use the constants,
@@ -210,21 +233,26 @@ function make_seed() {
  * */
 function DEBUG($level, $line, $function, $file, $data, $info="")
 {
-  if (session::global_get('DEBUGLEVEL') & $level){
-    $output= "DEBUG[$level] ";
-    if ($function != ""){
-      $output.= "($file:$function():$line) - $info: ";
-    } else {
-      $output.= "($file:$line) - $info: ";
+    global $config;
+    $debugLevel = 0;
+    if($config instanceOf config){
+        $debugLevel = $config->get_cfg_value('core', 'debugLevel');
     }
-    echo $output;
-    if (is_array($data)){
-      print_a($data);
-    } else {
-      echo "'$data'";
+    if ($debugLevel & $level){
+        $output= "DEBUG[$level] ";
+        if ($function != ""){
+            $output.= "($file:$function():$line) - $info: ";
+        } else {
+            $output.= "($file:$line) - $info: ";
+        }
+        echo $output;
+        if (is_array($data)){
+            print_a($data);
+        } else {
+            echo "'$data'";
+        }
+        echo "<br>";
     }
-    echo "<br>";
-  }
 }
 
 
@@ -252,8 +280,8 @@ function get_browser_language()
   }
 
   /* Check for global language settings in gosa.conf */
-  if (isset ($config) && $config->get_cfg_value('language') != ""){
-    $lang = $config->get_cfg_value('language');
+  if (isset ($config) && $config->get_cfg_value("core",'language') != ""){
+    $lang = $config->get_cfg_value("core",'language');
     if(!preg_match("/utf/i",$lang)){
       $lang .= ".UTF-8";
     }
@@ -315,7 +343,7 @@ function get_template_path($filename= '', $plugin= FALSE, $path= "")
 
   /* Set theme */
   if (isset ($config)){
-	$theme= $config->get_cfg_value("theme", "default");
+	$theme= $config->get_cfg_value("core","theme");
   } else {
   	$theme= "default";
   }
@@ -452,7 +480,7 @@ function ldap_init ($server, $base, $binddn='', $pass='')
   /* Sadly we've no proper return values here. Use the error message instead. */
   if (!$ldap->success()){
     msg_dialog::display(_("Fatal error"),
-        sprintf(_("FATAL: Error when connecting the LDAP. Server said '%s'."), $ldap->get_error()),
+        sprintf(_("Error while connecting to LDAP: %s"), $ldap->get_error()),
         FATAL_ERROR_DIALOG);
     exit();
   }
@@ -473,7 +501,7 @@ function process_htaccess ($username, $kerberos= FALSE)
   
     $config->set_current($name);
     $mode= "kerberos";
-    if ($config->get_cfg_value("useSaslForKerberos") == "true"){
+    if ($config->get_cfg_value("core","useSaslForKerberos") == "true"){
       $mode= "sasl";
     }
 
@@ -523,7 +551,7 @@ function ldap_login_user_htaccess ($username)
   $ldap->search("(&(objectClass=gosaAccount)(uid=$username))", array("uid"));
   /* Found no uniq match? Strange, because we did above... */
   if ($ldap->count() != 1) {
-    msg_dialog::display(_("LDAP error"), _("Username / UID is not unique inside the LDAP tree!"), FATAL_ERROR_DIALOG);
+    msg_dialog::display(_("LDAP error"), _("User ID is not unique!"), FATAL_ERROR_DIALOG);
     return (NULL);
   }
   $attrs= $ldap->fetch();
@@ -535,6 +563,7 @@ function ldap_login_user_htaccess ($username)
   /* Bail out if we have login restrictions set, for security reasons
      the message is the same than failed user/pw */
   if (!$ui->loginAllowed()){
+    new log("security","login","",array(),"Login restriction for user \"$username\", login not permitted");
     return (NULL);
   }
 
@@ -576,8 +605,8 @@ function ldap_login_user ($username, $password)
   $ldap->cd($config->current['BASE']);
   $allowed_attributes = array("uid","mail");
   $verify_attr = array();
-  if($config->get_cfg_value("loginAttribute") != ""){
-    $tmp = explode(",", $config->get_cfg_value("loginAttribute")); 
+  if($config->get_cfg_value("core","loginAttribute") != ""){
+    $tmp = explode(",", $config->get_cfg_value("core","loginAttribute")); 
     foreach($tmp as $attr){
       if(in_array($attr,$allowed_attributes)){
         $verify_attr[] = $attr;
@@ -608,7 +637,7 @@ function ldap_login_user ($username, $password)
 
             /* found more than one matching id */
     default:
-            msg_dialog::display(_("Internal error"), _("Username / UID is not unique inside the LDAP tree. Please contact your Administrator."), FATAL_ERROR_DIALOG);
+            msg_dialog::display(_("Internal error"), _("User ID is not unique!"), FATAL_ERROR_DIALOG);
             return (NULL);
   }
 
@@ -631,6 +660,7 @@ function ldap_login_user ($username, $password)
   /* Bail out if we have login restrictions set, for security reasons
      the message is the same than failed user/pw */
   if (!$ui->loginAllowed()){
+    new log("security","login","",array(),"Login restriction for user \"$username\", login not permitted");
     return (NULL);
   }
 
@@ -657,27 +687,26 @@ function ldap_login_user ($username, $password)
  * @param Object    The GOsa configuration object.
  * @param String    The 'dn' of the user to test the account status for.
  * @param String    The 'uid' of the user we're going to test.
- * @return Const 
+ * @return Const
  *                  POSIX_ACCOUNT_EXPIRED           - If the account is expired.
  *                  POSIX_WARN_ABOUT_EXPIRATION     - If the account is going to expire.
  *                  POSIX_FORCE_PASSWORD_CHANGE     - The password has to be changed.
  *                  POSIX_DISALLOW_PASSWORD_CHANGE  - The password cannot be changed right now.
- * 
- * 
- * 
- *      shadowLastChange       
+ *
+ *
+ *
+ *      shadowLastChange
  *      |
  *      |---- shadowMin --->    |       <-- shadowMax --
  *      |                       |       |
- *      |------- shadowWarning ->       | 
+ *      |------- shadowWarning ->       |
  *                                      |-- shadowInactive --> DEACTIVATED
  *                                      |
  *                                      EXPIRED
- *                           
+ *
  */
 function ldap_expired_account($config, $userdn, $uid)
 {
-
     // Skip this for the admin account, we do not want to lock him out.
     if($uid == 'admin') return(0);
 
@@ -687,26 +716,36 @@ function ldap_expired_account($config, $userdn, $uid)
     $attrs= $ldap->fetch();
     $current= floor(date("U") /60 /60 /24);
 
-    // Fetch required attributes 
+    // Fetch required attributes
     foreach(array('shadowExpire','shadowLastChange','shadowMax','shadowMin',
-                'shadowInactive','shadowWarning') as $attr){
+                'shadowInactive','shadowWarning','sambaKickoffTime') as $attr){
         $$attr = (isset($attrs[$attr][0]))? $attrs[$attr][0] : null;
     }
 
 
+    // Check if the account has reached its kick off limitations.
+    // ---------------------------------------------------------
+    // Once the accout reaches the kick off limit it has expired.
+    if($sambaKickoffTime !== null){
+        if(time() >= $sambaKickoffTime){
+            return(POSIX_ACCOUNT_EXPIRED);
+        }
+    }
+
+
     // Check if the account has expired.
     // ---------------------------------
     // An account is locked/expired once its expiration date has reached (shadowExpire).
-    // If the optional attribute (shadowInactive) is set, we've to postpone 
+    // If the optional attribute (shadowInactive) is set, we've to postpone
     //  the account expiration by the amount of days specified in (shadowInactive).
-    if($shadowExpire != null && $shadowExpire >= $current){
+    if($shadowExpire != null && $shadowExpire <= $current){
 
         // The account seems to be expired, but we've to check 'shadowInactive' additionally.
         // ShadowInactive specifies an amount of days we've to reprieve the user.
         // It some kind of x days' grace.
         if($shadowInactive == null || $current > $shadowExpire + $shadowInactive){
 
-            // Finally we've detect that the account is deactivated. 
+            // Finally we've detect that the account is deactivated.
             return(POSIX_ACCOUNT_EXPIRED);
         }
     }
@@ -715,16 +754,16 @@ function ldap_expired_account($config, $userdn, $uid)
     // --------------------------------------
     // We've to warn the user in the case of an expiring account.
     // An account is going to expire when it reaches its expiration date (shadowExpire).
-    // The user has to be warned, if the days left till expiration, match the 
+    // The user has to be warned, if the days left till expiration, match the
     //  configured warning period (shadowWarning)
     // --> shadowWarning: Warn x days before account expiration.
     if($shadowExpire != null && $shadowWarning != null){
 
-        // Check if the account is still active and not already expired. 
+        // Check if the account is still active and not already expired.
         if($shadowExpire >= $current){
 
-            // Check if we've to warn the user by comparing the remaining 
-            //  number of days till expiration with the configured amount 
+            // Check if we've to warn the user by comparing the remaining
+            //  number of days till expiration with the configured amount
             //  of days in shadowWarning.
             if(($shadowExpire - $current) <= $shadowWarning){
                 return(POSIX_WARN_ABOUT_EXPIRATION);
@@ -732,7 +771,7 @@ function ldap_expired_account($config, $userdn, $uid)
         }
     }
 
-    // -- I guess this is the correct detection, isn't it?
+    // -- I guess this is the correct detection, isn't it? 
     if($shadowLastChange != null && $shadowWarning != null && $shadowMax != null){
         $daysRemaining = ($shadowLastChange + $shadowMax) - $current ;
         if($daysRemaining > 0 && $daysRemaining <= $shadowWarning){
@@ -741,13 +780,12 @@ function ldap_expired_account($config, $userdn, $uid)
     }
 
 
-
     // Check if we've to force the user to change his password.
     // --------------------------------------------------------
-    // A password change is enforced when the password is older than 
+    // A password change is enforced when the password is older than
     //  the configured amount of days (shadowMax).
-    // The age of the current password (shadowLastChange) plus the maximum 
-    //  amount amount of days (shadowMax) has to be smaller than the 
+    // The age of the current password (shadowLastChange) plus the maximum
+    //  amount amount of days (shadowMax) has to be smaller than the
     //  current timestamp.
     if($shadowLastChange != null && $shadowMax != null){
 
@@ -758,9 +796,9 @@ function ldap_expired_account($config, $userdn, $uid)
     }
 
 
-    // Check if we've to freeze the users password. 
+    // Check if we've to freeze the users password.
     // --------------------------------------------
-    // Once a user has changed his password, he cannot change it again 
+    // Once a user has changed his password, he cannot change it again
     //  for a given amount of days (shadowMin).
     // We should not allow to change the password within GOsa too.
     if($shadowLastChange != null && $shadowMin != null){
@@ -769,12 +807,13 @@ function ldap_expired_account($config, $userdn, $uid)
         if(($shadowLastChange + $shadowMin) >= $current){
             return(POSIX_DISALLOW_PASSWORD_CHANGE);
         }
-    }    
+    }
 
     return(0);
 }
 
 
+
 /*! \brief Add a lock for object(s)
  *
  * Adds a lock by the specified user for one ore multiple objects.
@@ -812,17 +851,17 @@ function add_lock($object, $user)
 
   /* Just a sanity check... */
   if ($object == "" || $user == ""){
-    msg_dialog::display(_("Internal error"), _("Error while adding a lock. Contact the developers!"), ERROR_DIALOG);
+    msg_dialog::display(_("Internal error"), _("Error while locking entry!"), ERROR_DIALOG);
     return;
   }
 
   /* Check for existing entries in lock area */
   $ldap= $config->get_ldap_link();
-  $ldap->cd ($config->get_cfg_value("config"));
+  $ldap->cd ($config->get_cfg_value("core","config"));
   $ldap->search("(&(objectClass=gosaLockEntry)(gosaUser=$user)(gosaObject=".base64_encode($object)."))",
       array("gosaUser"));
   if (!$ldap->success()){
-    msg_dialog::display(_("Configuration error"), sprintf(_("Cannot create locking information in LDAP tree. Please contact your administrator!")."<br><br>"._('LDAP server returned: %s'), "<br><br><i>".$ldap->get_error()."</i>"), ERROR_DIALOG);
+    msg_dialog::display(_("Configuration error"), sprintf(_("Cannot store lock information in LDAP!")."<br><br>"._('Error: %s'), "<br><br><i>".$ldap->get_error()."</i>"), ERROR_DIALOG);
     return;
   }
 
@@ -830,14 +869,14 @@ function add_lock($object, $user)
   if ($ldap->count() == 0){
     $attrs= array();
     $name= md5($object);
-    $ldap->cd("cn=$name,".$config->get_cfg_value("config"));
+    $ldap->cd("cn=$name,".$config->get_cfg_value("core","config"));
     $attrs["objectClass"] = "gosaLockEntry";
     $attrs["gosaUser"] = $user;
     $attrs["gosaObject"] = base64_encode($object);
     $attrs["cn"] = "$name";
     $ldap->add($attrs);
     if (!$ldap->success()){
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), "cn=$name,".$config->get_cfg_value("config"), 0, ERROR_DIALOG));
+      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), "cn=$name,".$config->get_cfg_value("core","config"), 0, ERROR_DIALOG));
       return;
     }
   }
@@ -879,7 +918,7 @@ function del_lock ($object)
 
   /* Check for existance and remove the entry */
   $ldap= $config->get_ldap_link();
-  $ldap->cd ($config->get_cfg_value("config"));
+  $ldap->cd ($config->get_cfg_value("core","config"));
   $ldap->search ("(&(objectClass=gosaLockEntry)(gosaObject=".base64_encode($object)."))", array("gosaObject"));
   $attrs= $ldap->fetch();
   if ($ldap->getDN() != "" && $ldap->success()){
@@ -906,7 +945,7 @@ function del_user_locks($userdn)
 
   /* Get LDAP ressources */ 
   $ldap= $config->get_ldap_link();
-  $ldap->cd ($config->get_cfg_value("config"));
+  $ldap->cd ($config->get_cfg_value("core","config"));
 
   /* Remove all objects of this user, drop errors silently in this case. */
   $ldap->search("(&(objectClass=gosaLockEntry)(gosaUser=$userdn))", array("gosaUser"));
@@ -930,7 +969,7 @@ function get_lock ($object)
 
   /* Sanity check */
   if ($object == ""){
-    msg_dialog::display(_("Internal error"), _("Error while adding a lock. Contact the developers!"), ERROR_DIALOG);
+    msg_dialog::display(_("Internal error"), _("Error while locking entry!"), ERROR_DIALOG);
     return("");
   }
 
@@ -940,7 +979,7 @@ function get_lock ($object)
   /* Get LDAP link, check for presence of the lock entry */
   $user= "";
   $ldap= $config->get_ldap_link();
-  $ldap->cd ($config->get_cfg_value("config"));
+  $ldap->cd ($config->get_cfg_value("core","config"));
   $ldap->search("(&(objectClass=gosaLockEntry)(gosaObject=".base64_encode($object)."))", array("gosaUser"));
   if (!$ldap->success()){
     msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), "", LDAP_SEARCH, ERROR_DIALOG));
@@ -950,9 +989,6 @@ function get_lock ($object)
   /* Check for broken locking information in LDAP */
   if ($ldap->count() > 1){
 
-    /* Hmm. We're removing broken LDAP information here and issue a warning. */
-    msg_dialog::display(_("Warning"), _("Found multiple locks for object to be locked. This should not happen - cleaning up multiple references."), WARNING_DIALOG);
-
     /* Clean up these references now... */
     while ($attrs= $ldap->fetch()){
       $ldap->rmdir($attrs['dn']);
@@ -993,7 +1029,7 @@ function get_multiple_locks($objects)
   /* Get LDAP link, check for presence of the lock entry */
   $user= "";
   $ldap= $config->get_ldap_link();
-  $ldap->cd ($config->get_cfg_value("config"));
+  $ldap->cd ($config->get_cfg_value("core","config"));
   $ldap->search($filter, array("gosaUser","gosaObject"));
   if (!$ldap->success()){
     msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), "", LDAP_SEARCH, ERROR_DIALOG));
@@ -1077,7 +1113,7 @@ function get_sub_list($filter, $category,$sub_deps, $base= "", $attributes= arra
       // log($action,$objecttype,$object,$changes_array = array(),$result = "") 
       new log("debug","all",__FILE__,$attributes,
           sprintf("get_sub_list(): Falling back to get_list(), due to empty sub_bases parameter.".
-            " This may slow down GOsa. Search was: '%s'",$filter));
+            " This may slow down GOsa. Used filter: %s", $filter));
     }
     $tmp = get_list($filter, $category,$base,$attributes,$flags);
     return($tmp);
@@ -1255,9 +1291,9 @@ function check_sizelimit()
   /* Eventually show dialog */
   if (session::is_set('limit_exceeded') && session::get('limit_exceeded')){
     $smarty= get_smarty();
-    $smarty->assign('warning', sprintf(_("The size limit of %d entries is exceed!"),
+    $smarty->assign('warning', sprintf(_("The current size limit of %d entries is exceeded!"),
           session::global_get('size_limit')));
-    $smarty->assign('limit_message', sprintf(_("Set the new size limit to %s and show me this message if the limit still exceeds"), '<input type="text" name="new_limit" maxlength="10" size="5" value="'.(session::global_get('size_limit') +100).'">'));
+    $smarty->assign('limit_message', sprintf(_("Set the size limit to %s"), '<input type="text" name="new_limit" maxlength="10" size="5" value="'.(session::global_get('size_limit') +100).'">'));
     return($smarty->fetch(get_template_path('sizelimit.tpl')));
   }
 
@@ -1269,12 +1305,12 @@ function print_sizelimit_warning()
 {
   if (session::global_is_set('size_limit') && session::global_get('size_limit') >= 10000000 ||
       (session::is_set('limit_exceeded') && session::get('limit_exceeded'))){
-    $config= "<input type='submit' name='edit_sizelimit' value="._("Configure").">";
+    $config= "<button type='submit' name='edit_sizelimit'>"._("Configure")."</button>";
   } else {
     $config= "";
   }
   if (session::is_set('limit_exceeded') && session::get('limit_exceeded')){
-    return ("("._("incomplete").") $config");
+    return ("("._("list is incomplete").") $config");
   }
   return ("");
 }
@@ -1289,7 +1325,7 @@ function eval_sizelimit()
     if (tests::is_id($_POST['new_limit']) &&
         isset($_POST['action']) && $_POST['action']=="newlimit"){
 
-      session::global_set('size_limit', validate($_POST['new_limit']));
+      session::global_set('size_limit', get_post('new_limit'));
       session::set('size_ignore', FALSE);
     }
 
@@ -1422,74 +1458,42 @@ function get_sub_department($value)
  * Example:
  * \code
  * # Determine LDAP base where systems are stored
- * $base = get_ou('systemRDN') . $this->config->current['BASE'];
+ * $base = get_ou("systemManagement", "systemRDN") . $this->config->current['BASE'];
  * $ldap->cd($base);
  * \endcode
  * */
-function get_ou($name)
+function get_ou($class,$name)
 {
-  global $config;
+    global $config;
 
-  $map = array( 
-                "roleRDN"      => "ou=roles,",
-                "ogroupRDN"      => "ou=groups,",
-                "applicationRDN" => "ou=apps,",
-                "systemRDN"     => "ou=systems,",
-                "serverRDN"      => "ou=servers,ou=systems,",
-                "terminalRDN"    => "ou=terminals,ou=systems,",
-                "workstationRDN" => "ou=workstations,ou=systems,",
-                "printerRDN"     => "ou=printers,ou=systems,",
-                "phoneRDN"       => "ou=phones,ou=systems,",
-                "componentRDN"   => "ou=netdevices,ou=systems,",
-                "sambaMachineAccountRDN"   => "ou=winstation,",
-
-                "faxBlocklistRDN"   => "ou=gofax,ou=systems,",
-                "systemIncomingRDN"    => "ou=incoming,",
-                "aclRoleRDN"     => "ou=aclroles,",
-                "phoneMacroRDN"       => "ou=macros,ou=asterisk,ou=configs,ou=systems,",
-                "phoneConferenceRDN"  => "ou=conferences,ou=asterisk,ou=configs,ou=systems,",
-
-                "faiBaseRDN"         => "ou=fai,ou=configs,ou=systems,",
-                "faiScriptRDN"   => "ou=scripts,",
-                "faiHookRDN"     => "ou=hooks,",
-                "faiTemplateRDN" => "ou=templates,",
-                "faiVariableRDN" => "ou=variables,",
-                "faiProfileRDN"  => "ou=profiles,",
-                "faiPackageRDN"  => "ou=packages,",
-                "faiPartitionRDN"=> "ou=disk,",
-
-                "sudoRDN"       => "ou=sudoers,",
-
-                "deviceRDN"      => "ou=devices,",
-                "mimetypeRDN"    => "ou=mime,");
-
-  /* Preset ou... */
-  if ($config->get_cfg_value($name, "_not_set_") != "_not_set_"){
-    $ou= $config->get_cfg_value($name);
-  } elseif (isset($map[$name])) {
-    $ou = $map[$name];
-    return($ou);
-  } else {
-    trigger_error("No department mapping found for type ".$name);
-    return "";
-  }
- 
-  if ($ou != ""){
-    if (!preg_match('/^[^=]+=[^=]+/', $ou)){
-      $ou = @LDAP::convert("ou=$ou");
-    } else {
-      $ou = @LDAP::convert("$ou");
+    if(!$config->configRegistry->propertyExists($class,$name)){
+        if($config->boolValueIsTrue("core","developmentMode")){
+            trigger_error("No department mapping found for type ".$name);
+        }
+        return "";
     }
 
-    if(preg_match("/".preg_quote($config->current['BASE'], '/')."$/",$ou)){
-      return($ou);
-    }else{
-      return("$ou,");
+    $ou = $config->configRegistry->getPropertyValue($class,$name);
+    if ($ou != ""){
+        if (!preg_match('/^[^=]+=[^=]+/', $ou)){
+            $ou = @LDAP::convert("ou=$ou");
+        } else {
+            $ou = @LDAP::convert("$ou");
+        }
+
+        if(preg_match("/".preg_quote($config->current['BASE'], '/')."$/",$ou)){
+            return($ou);
+        }else{
+            if(!preg_match("/,$/", $ou)){
+                return("$ou,");
+            }else{
+                return($ou);
+            }
+        }
+
+    } else {
+        return "";
     }
-  
-  } else {
-    return "";
-  }
 }
 
 
@@ -1499,7 +1503,7 @@ function get_ou($name)
  * */
 function get_people_ou()
 {
-  return (get_ou("userRDN"));
+  return (get_ou("core", "userRDN"));
 }
 
 
@@ -1509,7 +1513,7 @@ function get_people_ou()
  */
 function get_groups_ou()
 {
-  return (get_ou("groupRDN"));
+  return (get_ou("core", "groupRDN"));
 }
 
 
@@ -1519,7 +1523,7 @@ function get_groups_ou()
  */
 function get_winstations_ou()
 {
-  return (get_ou("sambaMachineAccountRDN"));
+  return (get_ou("wingeneric", "sambaMachineAccountRDN"));
 }
 
 
@@ -1561,7 +1565,7 @@ function strict_uid_mode()
   global $config;
 
   if (isset($config)){
-    return ($config->get_cfg_value("strictNamingRules") == "true");
+    return ($config->get_cfg_value("core","strictNamingRules") == "true");
   }
   return (TRUE);
 }
@@ -1652,15 +1656,7 @@ function gen_locked_message($user, $dn, $allow_readonly = FALSE)
   /* Prepare and show template */
   $smarty= get_smarty();
   $smarty->assign("allow_readonly",$allow_readonly);
-  if(is_array($dn)){
-    $msg = "<pre>";
-    foreach($dn as $sub_dn){
-      $msg .= "\n".$sub_dn.", ";
-    }
-    $msg = preg_replace("/, $/","</pre>",$msg);
-  }else{
-    $msg = $dn;
-  }
+  $msg= msgPool::buildList($dn);
 
   $smarty->assign ("dn", $msg);
   if ($remove){
@@ -1668,7 +1664,8 @@ function gen_locked_message($user, $dn, $allow_readonly = FALSE)
   } else {
     $smarty->assign ("action", _("Edit anyway"));
   }
-  $smarty->assign ("message", sprintf(_("You're going to edit the LDAP entry/entries %s"), "<b>".$msg."</b>", ""));
+
+  $smarty->assign ("message", _("These entries are currently locked:"). $msg);
 
   return ($smarty->fetch (get_template_path('islocked.tpl')));
 }
@@ -1775,6 +1772,7 @@ function dn2base($dn)
  * */
 function check_command($cmdline)
 {
+  return(TRUE);  
   $cmd= preg_replace("/ .*$/", "", $cmdline);
 
   /* Check if command exists in filesystem */
@@ -1930,18 +1928,6 @@ function range_selector($dcnt,$start,$range=25,$post_var=false)
 }
 
 
-/*! \brief Generate HTML for the 'Apply filter' button */
-function apply_filter()
-{
-  $apply= "";
-
-  $apply= ''.
-    '<table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;"><tr><td width="100%" align="right">'.
-    '<input type="submit" name="apply" value="'._("Apply filter").'"></td></tr></table>';
-
-  return ($apply);
-}
-
 
 /*! \brief Generate HTML for the 'Back' button */
 function back_to_main()
@@ -2024,179 +2010,6 @@ function netmask_to_bits($netmask)
 }
 
 
-/*! \brief Recursion helper for gen_id() */
-function recurse($rule, $variables)
-{
-  $result= array();
-
-  if (!count($variables)){
-    return array($rule);
-  }
-
-  reset($variables);
-  $key= key($variables);
-  $val= current($variables);
-  unset ($variables[$key]);
-
-  foreach($val as $possibility){
-    $nrule= str_replace("{$key}", $possibility, $rule);
-    $result= array_merge($result, recurse($nrule, $variables));
-  }
-
-  return ($result);
-}
-
-
-/*! \brief Expands user ID based on possible rules
- *
- *  Unroll given rule string by filling in attributes.
- *
- * \param string 'rule' The rule string from gosa.conf.
- * \param array 'attributes' A dictionary of attribute/value mappings
- * \return string Expanded string, still containing the id keyword.
- */
-function expand_id($rule, $attributes)
-{
-  /* Check for id rule */
-  if(preg_match('/^id(:|#|!)\d+$/',$rule)){
-    return (array("{$rule}"));
-  }
-
-  /* Check for clean attribute */
-  if (preg_match('/^%[a-zA-Z0-9]+$/', $rule)){
-    $rule= preg_replace('/^%/', '', $rule);
-    $val= rewrite(str_replace(' ', '', strtolower($attributes[$rule])));
-    return (array($val));
-  }
-
-  /* Check for attribute with parameters */
-  if (preg_match('/^%[a-zA-Z0-9]+\[[0-9-]+\]$/', $rule)){
-    $param= preg_replace('/^[^[]+\[([^]]+)]$/', '\\1', $rule);
-    $part= preg_replace('/^%/', '', preg_replace('/\[.*$/', '', $rule));
-    $val= rewrite(str_replace(' ', '', strtolower($attributes[$part])));
-    $start= preg_replace ('/-.*$/', '', $param);
-    $stop = preg_replace ('/^[^-]+-/', '', $param);
-
-    /* Assemble results */
-    $result= array();
-    for ($i= $start; $i<= $stop; $i++){
-      $result[]= substr($val, 0, $i);
-    }
-    return ($result);
-  }
-
-  echo "Error in idGenerator string: don't know how to handle rule $rule.\n";
-  return (array($rule));
-}
-
-
-/*! \brief Generate a list of uid proposals based on a rule
- *
- *  Unroll given rule string by filling in attributes and replacing
- *  all keywords.
- *
- * \param string 'rule' The rule string from gosa.conf.
- * \param array 'attributes' A dictionary of attribute/value mappings
- * \return array List of valid not used uids
- */
-function gen_uids($rule, $attributes)
-{
-  global $config;
-
-  /* Search for keys and fill the variables array with all 
-     possible values for that key. */
-  $part= "";
-  $trigger= false;
-  $stripped= "";
-  $variables= array();
-
-  for ($pos= 0, $l= strlen($rule); $pos < $l; $pos++){
-
-    if ($rule[$pos] == "{" ){
-      $trigger= true;
-      $part= "";
-      continue;
-    }
-
-    if ($rule[$pos] == "}" ){
-      $variables[$pos]= expand_id($part, $attributes);
-      $stripped.= "{".$pos."}";
-      $trigger= false;
-      continue;
-    }
-
-    if ($trigger){
-      $part.= $rule[$pos];
-    } else {
-      $stripped.= $rule[$pos];
-    }
-  }
-
-  /* Recurse through all possible combinations */
-  $proposed= recurse($stripped, $variables);
-
-  /* Get list of used ID's */
-  $ldap= $config->get_ldap_link();
-  $ldap->cd($config->current['BASE']);
-
-  /* Remove used uids and watch out for id tags */
-  $ret= array();
-  foreach($proposed as $uid){
-
-    /* Check for id tag and modify uid if needed */
-    if(preg_match('/\{id(:|!)\d+}/',$uid, $m)){
-      $size= preg_replace('/^.*{id(:|!)(\d+)}.*$/', '\\2', $uid);
-
-      $start= $m[1]==":"?0:-1;
-      for ($i= $start, $p= pow(10,$size)-1; $i < $p; $i++){
-        if ($i == -1) {
-          $number= "";
-        } else {
-          $number= sprintf("%0".$size."d", $i+1);
-        }
-        $res= preg_replace('/{id(:|!)\d+}/', $number, $uid);
-
-        $ldap->search("(uid=".preg_replace('/[{}]/', '', $res).")",array('dn'));
-        if($ldap->count() == 0){
-          $uid= $res;
-          break;
-        }
-      }
-
-      /* Remove link if nothing has been found */
-      $uid= preg_replace('/{id(:|!)\d+}/', '', $uid);
-    }
-
-    if(preg_match('/\{id#\d+}/',$uid)){
-      $size= preg_replace('/^.*{id#(\d+)}.*$/', '\\1', $uid);
-
-      while (true){
-        mt_srand((double) microtime()*1000000);
-        $number= sprintf("%0".$size."d", mt_rand(0, pow(10, $size)-1));
-        $res= preg_replace('/{id#(\d+)}/', $number, $uid);
-        $ldap->search("(uid=".preg_replace('/[{}]/', '', $res).")",array('dn'));
-        if($ldap->count() == 0){
-          $uid= $res;
-          break;
-        }
-      }
-
-      /* Remove link if nothing has been found */
-      $uid= preg_replace('/{id#\d+}/', '', $uid);
-    }
-
-    /* Don't assign used ones */
-    $ldap->search("(uid=".preg_replace('/[{}]/', '', $uid).")",array('dn'));
-    if($ldap->count() == 0){
-      /* Add uid, but remove {} first. These are invalid anyway. */
-      $ret[]= preg_replace('/[{}]/', '', $uid);
-    }
-  }
-
-  return(array_unique($ret));
-}
-
-
 /*! \brief Convert various data sizes to bytes
  *
  * Given a certain value in the format n(g|m|k), where n
@@ -2246,38 +2059,6 @@ function in_array_ics($value, $items)
 }
 
 
-/*! \brief Generate a clickable alphabet */
-function generate_alphabet($count= 10)
-{
-  $characters= _("*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
-  $alphabet= "";
-  $c= 0;
-
-  /* Fill cells with charaters */
-  for ($i= 0, $l= mb_strlen($characters, 'UTF8'); $i<$l; $i++){
-    if ($c == 0){
-      $alphabet.= "<tr>";
-    }
-
-    $ch = mb_substr($characters, $i, 1, "UTF8");
-    $alphabet.= "<td><a class=\"alphaselect\" href=\"main.php?plug=".
-      validate($_GET['plug'])."&search=".$ch."\"> ".$ch." </a></td>";
-
-    if ($c++ == $count){
-      $alphabet.= "</tr>";
-      $c= 0;
-    }
-  }
-
-  /* Fill remaining cells */
-  while ($c++ <= $count){
-    $alphabet.= "<td> </td>";
-  }
-
-  return ($alphabet);
-}
-
-
 /*! \brief Removes malicious characters from a (POST) string. */
 function validate($string)
 {
@@ -2310,12 +2091,12 @@ function get_gosa_version()
     if(preg_match("#/branches/#i", $svn_path)){
         $release = preg_replace("/branches[\/]*/i","",$release);
         $release = preg_replace("/\//","",$release) ;
-        return (sprintf(_("GOsa %s snapshot (Rev %s)"),$release , $revision));
+        return (sprintf(_("GOsa %s snapshot (Rev %s)"),$release , bold($revision)));
     }
 
     // The trunk version
     if(preg_match("#/trunk/#i", $svn_path)){
-        return (sprintf(_("GOsa development snapshot (Rev %s)"), $revision));
+        return (sprintf(_("GOsa development snapshot (Rev %s)"), bold($revision)));
     }
 
     return (sprintf(_("GOsa $release"), $revision));
@@ -2411,14 +2192,10 @@ function clean_smarty_compile_dir($directory)
               is_writable($directory."/".$file)) {
             // delete file
             if(!unlink($directory."/".$file)) {
-              msg_dialog::display(_("Internal error"), sprintf(_("File '%s' could not be deleted."), $directory."/".$file), ERROR_DIALOG);
+              msg_dialog::display(_("Internal error"), sprintf(_("File %s cannot be deleted!"), bold($directory."/".$file)), ERROR_DIALOG);
               // This should never be reached
             }
-          } elseif(is_dir($directory."/".$file) &&
-              is_writable($directory."/".$file)) {
-            // Just recursively delete it
-            rmdirRecursive($directory."/".$file);
-          }
+          } 
         }
         // We should now create a fresh revision file
         clean_smarty_compile_dir($directory);
@@ -2445,7 +2222,7 @@ function create_revision($revision_file, $revision)
     }
     fclose($fh);
   } else {
-    msg_dialog::display(_("Internal error"), _("Cannot write to revision file!"), ERROR_DIALOG);
+    msg_dialog::display(_("Internal error"), _("Cannot write revision file!"), ERROR_DIALOG);
   }
 
   return $result;
@@ -2465,7 +2242,7 @@ function compare_revision($revision_file, $revision)
         $result= true;
       }
     } else {
-      msg_dialog::display(_("Internal error"), _("Cannot write to revision file!"), ERROR_DIALOG);
+      msg_dialog::display(_("Internal error"), _("Cannot write revision file!"), ERROR_DIALOG);
     }
     // Close file
     fclose($fh);
@@ -2484,11 +2261,64 @@ function compare_revision($revision_file, $revision)
  * \param int 'percentage' Value to display
  * \param int 'width' width of the resulting output
  * \param int 'height' height of the resulting output
- * \param boolean 'showvalue' weither to show the percentage in the progressbar or not
+ * \param boolean 'showtext' weither to show the percentage in the progressbar or not
  * */
-function progressbar($percentage,$width=100,$height=15,$showvalue=false)
+function progressbar($percentage, $width= 200, $height= 14, $showText= false, $colorize= true, $id= "")
 {
-  return("<img src='progress.php?x=$width&y=$height&p=$percentage'>");
+  $text= "";
+  $class= "";
+  $style= "width:${width}px;height:${height}px;";
+
+  // Fix percentage range
+  $percentage= floor($percentage);
+  if ($percentage > 100) {
+    $percentage= 100;
+  }
+  if ($percentage < 0) {
+    $percentage= 0;
+  }
+
+  // Only show text if we're above 10px height
+  if ($showText && $height>10){
+    $text= $percentage."%";
+  }
+
+  // Set font size
+  $style.= "font-size:".($height-3)."px;";
+
+  // Set color
+  if ($colorize){
+    if ($percentage < 70) {
+      $class= " progress-low";
+    } elseif ($percentage < 80) {
+      $class= " progress-mid";
+    } elseif ($percentage < 90) {
+      $class= " progress-high";
+    } else {
+      $class= " progress-full";
+    }
+  }
+  
+  // Apply gradients
+  $hoffset= floor($height / 2) + 4;
+  $woffset= floor(($width+5) * (100-$percentage) / 100);
+  foreach (array("-moz-box-shadow", "-webkit-box-shadow", "box-shadow") as $type) {
+    $style.="$type:
+                   0 0 2px rgba(255, 255, 255, 0.4) inset,
+                   0 4px 6px rgba(255, 255, 255, 0.4) inset,
+                   0 ".$hoffset."px 0 -2px rgba(255, 255, 255, 0.2) inset,
+                   -".$woffset."px 0 0 -2px rgba(255, 255, 255, 0.2) inset,
+                   -".($woffset+1)."px 0 0 -2px rgba(0, 0, 0, 0.6) inset,
+                   0pt ".($hoffset+1)."px 8px rgba(0, 0, 0, 0.3) inset,
+                   0pt 1px 0px rgba(0, 0, 0, 0.2);";
+  }
+
+  // Set ID
+  if ($id != ""){
+    $id= "id='$id'";
+  }
+
+  return "<div class='progress$class' $id style='$style'>$text</div>";
 }
 
 
@@ -2670,10 +2500,10 @@ function get_base_from_hook($dn, $attrib)
 {
   global $config;
 
-  if ($config->get_cfg_value("baseIdHook") != ""){
+  if ($config->get_cfg_value("core","baseIdHook") != ""){
     
     /* Call hook script - if present */
-    $command= $config->get_cfg_value("baseIdHook");
+    $command= $config->get_cfg_value("core","baseIdHook");
 
     if ($command != ""){
       $command.= " '".LDAP::fix($dn)."' $attrib";
@@ -2684,17 +2514,17 @@ function get_base_from_hook($dn, $attrib)
           return ($output[0]);
         } else {
           msg_dialog::display(_("Warning"), _("'baseIdHook' is not available. Using default base!"), WARNING_DIALOG);
-          return ($config->get_cfg_value("uidNumberBase"));
+          return ($config->get_cfg_value("core","uidNumberBase"));
         }
       } else {
         msg_dialog::display(_("Warning"), _("'baseIdHook' is not available. Using default base!"), WARNING_DIALOG);
-        return ($config->get_cfg_value("uidNumberBase"));
+        return ($config->get_cfg_value("core","uidNumberBase"));
       }
 
     } else {
 
       msg_dialog::display(_("Warning"), _("'baseIdHook' is not available. Using default base!"), WARNING_DIALOG);
-      return ($config->get_cfg_value("uidNumberBase"));
+      return ($config->get_cfg_value("core","uidNumberBase"));
 
     }
   }
@@ -2717,7 +2547,7 @@ function check_schema($cfg,$rfc2307bis = FALSE)
   $ldap = new ldapMultiplexer(new LDAP($cfg['admin'],$cfg['password'],$cfg['connection'] ,FALSE, $cfg['tls']));
   $objectclasses = $ldap->get_objectclasses();
   if(count($objectclasses) == 0){
-    msg_dialog::display(_("LDAP warning"), _("Cannot get schema information from server. No schema check possible!"), WARNING_DIALOG);
+    msg_dialog::display(_("Warning"), _("Cannot read schema information from LDAP. Schema validation is not possible!"), WARNING_DIALOG);
   }
 
   /* This is the default block used for each entry.
@@ -2729,28 +2559,28 @@ function check_schema($cfg,$rfc2307bis = FALSE)
       "STATUS"           => FALSE,
       "IS_MUST_HAVE"     => FALSE,
       "MSG"              => "",
-      "INFO"             => "");#_("There is currently no information specified for this schema extension."));
+      "INFO"             => "");
 
   /* The gosa base schema */
   $checks['gosaObject'] = $def_check;
   $checks['gosaObject']['REQUIRED_VERSION'] = "2.6.1";
-  $checks['gosaObject']['SCHEMA_FILES']     = array("gosa-samba3.schema","gosa-samba2.schema");
+  $checks['gosaObject']['SCHEMA_FILES']     = array("gosa-samba3.schema");
   $checks['gosaObject']['CLASSES_REQUIRED'] = array("gosaObject");
   $checks['gosaObject']['IS_MUST_HAVE']     = TRUE;
 
   /* GOsa Account class */
   $checks["gosaAccount"]["REQUIRED_VERSION"]= "2.6.6";
-  $checks["gosaAccount"]["SCHEMA_FILES"]    = array("gosa-samba3.schema","gosa-samba2.schema");
+  $checks["gosaAccount"]["SCHEMA_FILES"]    = array("gosa-samba3.schema");
   $checks["gosaAccount"]["CLASSES_REQUIRED"]= array("gosaAccount");
   $checks["gosaAccount"]["IS_MUST_HAVE"]    = TRUE;
-  $checks["gosaAccount"]["INFO"]            = _("Used to store account specific informations.");
+  $checks["gosaAccount"]["INFO"]            = _("This class is used to make users appear in GOsa.");
 
   /* GOsa lock entry, used to mark currently edited objects as 'in use' */
   $checks["gosaLockEntry"]["REQUIRED_VERSION"] = "2.6.1";
-  $checks["gosaLockEntry"]["SCHEMA_FILES"]     = array("gosa-samba3.schema","gosa-samba2.schema");
+  $checks["gosaLockEntry"]["SCHEMA_FILES"]     = array("gosa-samba3.schema");
   $checks["gosaLockEntry"]["CLASSES_REQUIRED"] = array("gosaLockEntry");
   $checks["gosaLockEntry"]["IS_MUST_HAVE"]     = TRUE;
-  $checks["gosaLockEntry"]["INFO"]             = _("Used to lock currently edited entries to avoid multiple changes at the same time.");
+  $checks["gosaLockEntry"]["INFO"]             = _("This class is used to lock entries in order to prevent multiple edits at a time.");
 
   /* Some other checks */
   foreach(array(
@@ -2795,18 +2625,18 @@ function check_schema($cfg,$rfc2307bis = FALSE)
       if(!isset($objectclasses[$name])){
         if($value['IS_MUST_HAVE']){
           $checks[$name]['STATUS'] = FALSE;
-          $checks[$name]['MSG']    = sprintf(_("Missing required object class '%s'!"),$class);
+          $checks[$name]['MSG']    = sprintf(_("Required object class %s is missing!"), bold($class));
         } else {
           $checks[$name]['STATUS'] = TRUE;
-          $checks[$name]['MSG']    = sprintf(_("Missing optional object class '%s'!"),$class);
+          $checks[$name]['MSG']    = sprintf(_("Optional object class %s is missing!"), bold($class));
         }
       }elseif(!check_schema_version($objectclasses[$name],$value['REQUIRED_VERSION'])){
         $checks[$name]['STATUS'] = FALSE;
 
-        $checks[$name]['MSG'] = sprintf(_("Version mismatch for required object class '%s' (!=%s)!"), $class,                           $value['REQUIRED_VERSION']);
+        $checks[$name]['MSG'] = sprintf(_("Wrong version of required object class %s (!=%s) detected!"), bold($class), bold($value['REQUIRED_VERSION']));
       }else{
         $checks[$name]['STATUS'] = TRUE;
-        $checks[$name]['MSG'] = sprintf(_("Class(es) available"));
+        $checks[$name]['MSG'] = sprintf(_("Class available"));
       }
     }
   }
@@ -2828,13 +2658,13 @@ function check_schema($cfg,$rfc2307bis = FALSE)
 
     if($rfc2307bis && isset($tmp['posixGroup']['STRUCTURAL'])){
       $checks['posixGroup']['STATUS']           = FALSE;
-      $checks['posixGroup']['MSG']              = _("You have enabled the rfc2307bis option on the 'ldap setup' step, but your schema    configuration do not support this option.");
-      $checks['posixGroup']['INFO']             = _("In order to use rfc2307bis conform groups the objectClass 'posixGroup' must be      AUXILIARY");
+      $checks['posixGroup']['MSG']              = _("RFC2307bis schema is enabled, but the current LDAP configuration does not support it!");
+      $checks['posixGroup']['INFO']             = _("To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY.");
     }
     if(!$rfc2307bis && !isset($tmp['posixGroup']['STRUCTURAL'])){
       $checks['posixGroup']['STATUS']           = FALSE;
-      $checks['posixGroup']['MSG']              = _("Your schema is configured to support the rfc2307bis group, but you have disabled this option on the 'ldap setup' step.");
-      $checks['posixGroup']['INFO']             = _("The objectClass 'posixGroup' must be STRUCTURAL");
+      $checks['posixGroup']['MSG']              = _("RFC2307bis schema is disabled, but the current LDAP configuration supports it!");
+      $checks['posixGroup']['INFO']             = _("To correct this, the objectClass 'posixGroup' must be STRUCTURAL.");
     }
   }
 
@@ -2852,6 +2682,7 @@ function get_languages($languages_in_own_language = FALSE,$strip_region_tag = FA
         "en_US" => "English",
         "nl_NL" => "Dutch",
         "pl_PL" => "Polish",
+        "pt_BR" => "Brazilian Portuguese",
         #"sv_SE" => "Swedish",
         "zh_CN" => "Chinese",
         "vi_VN" => "Vietnamese",
@@ -2865,6 +2696,7 @@ function get_languages($languages_in_own_language = FALSE,$strip_region_tag = FA
         "en_US" => _("English"),
         "nl_NL" => _("Dutch"),
         "pl_PL" => _("Polish"),
+        "pt_BR" => _("Brazilian Portuguese"),
         #"sv_SE" => _("Swedish"),
         "zh_CN" => _("Chinese"),
         "vi_VN" => _("Vietnamese"),
@@ -2917,18 +2749,74 @@ function get_languages($languages_in_own_language = FALSE,$strip_region_tag = FA
  * */
 function get_post($name)
 {
+    if(!isset($_POST[$name])){
+        trigger_error("Requested POST value (".$name.") does not exists, you should add a check to prevent this message.");
+        return(FALSE);
+    }
+
+    // Handle Posted Arrays
+    $tmp = array();
+    if(is_array($_POST[$name]) && !is_string($_POST[$name])){
+        foreach($_POST[$name] as $key => $val){
+            if(get_magic_quotes_gpc()){
+                $val = stripcslashes($val);
+            }
+            $tmp[$key] = $val;
+        } 
+        return($tmp);
+    }else{
+
+        if(get_magic_quotes_gpc()){
+            $val = stripcslashes($_POST[$name]);
+        }else{
+            $val = $_POST[$name];
+        }
+    }
+  return($val);
+}
+
+
+/*! \brief Returns contents of the given POST variable and check magic quotes settings
+ *
+ * Depending on the magic quotes settings this returns a stripclashed'ed version of
+ * a certain POST variable.
+ *
+ * \param string 'name' the POST var to return ($_POST[$name])
+ * \return string
+ * */
+function get_binary_post($name)
+{
   if(!isset($_POST[$name])){
     trigger_error("Requested POST value (".$name.") does not exists, you should add a check to prevent this message.");
     return(FALSE);
   }
 
+  $p = str_replace('\0', '', $_POST[$name]);
   if(get_magic_quotes_gpc()){
-    return(stripcslashes(validate($_POST[$name])));
+    return(stripcslashes($p));
   }else{
-    return(validate($_POST[$name]));
+    return($_POST[$p]);
   }
 }
 
+function set_post($value)
+{
+    // Take care of array, recursivly convert each array entry.
+    if(is_array($value)){
+        foreach($value as $key => $val){
+            $value[$key] = set_post($val);
+        }
+        return($value);
+    }
+    
+    // Do not touch boolean values, we may break them.
+    if($value === TRUE || $value === FALSE ) return($value);
+
+    // Return a fixed string which can then be used in HTML fields without 
+    //  breaking the layout or the values. This allows to use '"<> in input fields.
+    return(htmlentities($value, ENT_QUOTES, 'utf-8'));
+}
+
 
 /*! \brief Return class name in correct case */
 function get_correct_class_name($cls)
@@ -2945,134 +2833,213 @@ function get_correct_class_name($cls)
 }
 
 
-/*! \brief Change the password of a given DN
- * 
- * Change the password of a given DN with the specified hash.
- *
- * \param string 'dn' the DN whose password shall be changed
- * \param string 'password' the password
- * \param int mode
- * \param string 'hash' which hash to use to encrypt it, default is empty
- * for cleartext storage.
- * \return boolean TRUE on success FALSE on error
+/*! \brief  Change the password for a given object ($dn).
+ *          This method uses the specified hashing method to generate a new password
+ *           for the object and it also takes care of sambaHashes, if enabled.
+ *          Finally the postmodify hook of the class 'user' will be called, if it is set.
+ *
+ * @param   String   The DN whose password shall be changed.
+ * @param   String   The new password.
+ * @param   Boolean  Skip adding samba hashes to the target (sambaNTPassword,sambaLMPassword)
+ * @param   String   The hashin method to use, default is the global configured default.
+ * @param   String   The users old password, this allows script based rollback mechanisms,
+ *                    the prehook will then be called witch switched newPassword/oldPassword. 
+ * @return  Boolean  TRUE on success else FALSE.
  */
-function change_password ($dn, $password, $mode=0, $hash= "")
+function change_password ($dn, $password, $mode=FALSE, $hash= "", $old_password = "", &$message = "")
 {
-  global $config;
-  $newpass= "";
-
-  /* Convert to lower. Methods are lowercase */
-  $hash= strtolower($hash);
-
-  // Get all available encryption Methods
-
-  // NON STATIC CALL :)
-  $methods = new passwordMethod(session::get('config'),$dn);
-  $available = $methods->get_available_methods();
+    global $config;
+    $newpass= "";
 
-  // read current password entry for $dn, to detect the encryption Method
-  $ldap       = $config->get_ldap_link();
-  $ldap->cat ($dn, array("shadowLastChange", "userPassword", "uid"));
-  $attrs      = $ldap->fetch ();
-
-  /* Is ensure that clear passwords will stay clear */
-  if($hash == "" && isset($attrs['userPassword'][0]) && !preg_match ("/^{([^}]+)}(.+)/", $attrs['userPassword'][0])){
-    $hash = "clear";
-  }
-
-  // Detect the encryption Method
-  if ( (isset($attrs['userPassword'][0]) &&  preg_match ("/^{([^}]+)}(.+)/", $attrs['userPassword'][0], $matches)) ||  $hash != ""){
-
-    /* Check for supported algorithm */
+    // Not sure, why this is here, but maybe some encryption methods require it.
     mt_srand((double) microtime()*1000000);
 
-    /* Extract used hash */
-    if ($hash == ""){
-      $test = passwordMethod::get_method($attrs['userPassword'][0],$dn);
-    } else {
-      $test = new $available[$hash]($config,$dn);
-      $test->set_hash($hash);
-    }
-
-  } else {
-    // User MD5 by default
-    $hash= "md5";
-    $test = new  $available['md5']($config, $dn);
-  }
-
-  if($test instanceOf passwordMethod){
+    // Get a list of all available password encryption methods.
+    $methods = new passwordMethod(session::get('config'),$dn);
+    $available = $methods->get_available_methods();
 
-    $deactivated = $test->is_locked($config,$dn);
+    // Fetch the current object data, to be able to detect the current hashing method
+    //  and to be able to rollback changes once has an error occured.
+    $ldap = $config->get_ldap_link();
+    $ldap->cat ($dn, array("shadowLastChange", "userPassword","sambaNTPassword","sambaLMPassword", "uid"));
+    $attrs = $ldap->fetch ();
+    $initialAttrs = $attrs;
+
+    // If no hashing method is enforced, then detect what method we've to use.
+    $hash = strtolower($hash);
+    if(empty($hash)){
+
+        // Do we need clear-text password for this object?
+        if(isset($attrs['userPassword'][0]) && !preg_match ("/^{([^}]+)}(.+)/", $attrs['userPassword'][0])){
+            $hash = "clear";
+            $test = new $available[$hash]($config,$dn);
+            $test->set_hash($hash);
+        }
 
-    /* Feed password backends with information */
-    $test->dn= $dn;
-    $test->attrs= $attrs;
-    $newpass= $test->generate_hash($password);
+        // If we've still no valid hashing method detected, then try to extract if from the userPassword attribute.
+        elseif(isset($attrs['userPassword'][0]) && preg_match ("/^{([^}]+)}(.+)/", $attrs['userPassword'][0], $matches)){
+            $test = passwordMethod::get_method($attrs['userPassword'][0],$dn);
+            $hash = $test->get_hash_name();
+        }
 
-    // Update shadow timestamp?
-    if (isset($attrs["shadowLastChange"][0])){
-      $shadow= (int)(date("U") / 86400);
-    } else {
-      $shadow= 0;
+        // No current password was found and no hash is enforced, so we've to use the config default here.
+        $hash = $config->get_cfg_value('core','passwordDefaultHash');
+        $test = new $available[$hash]($config,$dn);
+        $test->set_hash($hash);
+    }else{
+        $test = new $available[$hash]($config,$dn);
+        $test->set_hash($hash);
     }
 
-    // Write back modified entry
-    $ldap->cd($dn);
-    $attrs= array();
+    // We've now a valid password-method-handle and can create the new password hash or don't we?
+    if(!$test instanceOf passwordMethod){
+        $message = _("Cannot detect password hash!");
+    }else{
 
-    // Not for groups
-    if ($mode == 0){
+        // Feed password backends with object information. 
+        $test->dn = $dn;
+        $test->attrs = $attrs;
+        $newpass= $test->generate_hash($password);
 
-        // Create SMB Password
-        if ($config->get_cfg_value('sambaHashHook', NULL)) { 
+        // Do we have to append samba attributes too?
+        // - sambaNTPassword / sambaLMPassword
+        $tmp = $config->get_cfg_value('core','sambaHashHook');
+        $attrs= array();
+        if (!$mode && !empty($tmp)){
             $attrs= generate_smb_nt_hash($password);
-
+            $shadow = (isset($attrs["shadowLastChange"][0]))?(int)(date("U") / 86400):0;
             if ($shadow != 0){
                 $attrs['shadowLastChange']= $shadow;
             }
         }
-    }
-
-    $attrs['userPassword']= array();
-    $attrs['userPassword']= $newpass;
 
-    $ldap->modify($attrs);
+        // Write back the new password hash 
+        $ldap->cd($dn);
+        $attrs['userPassword']= $newpass;
 
-    /* Read ! if user was deactivated */
-    if($deactivated){
-      $test->lock_account($config,$dn);
-    }
+        // Prepare a special attribute list, which will be used for event hook calls
+        $attrsEvent = array();
+        foreach($initialAttrs as $name => $value){
+            if(!is_numeric($name))
+                $attrsEvent[$name] = escapeshellarg($value[0]);
+        }
+        $attrsEvent['dn'] = escapeshellarg($initialAttrs['dn']);
+        foreach($attrs as $name => $value){
+            $attrsEvent[$name] = escapeshellarg($value);
+        }
+        $attrsEvent['current_password'] = escapeshellarg($old_password);
+        $attrsEvent['new_password'] = escapeshellarg($password);
+
+        // Call the premodify hook now
+        $passwordPlugin = new password($config,$dn);
+        plugin::callHook($passwordPlugin, 'PREMODIFY', $attrsEvent, $output,$retCode,$error, $directlyPrintError = FALSE);
+        if($retCode === 0 && count($output)){
+            $message = sprintf(_("Pre-event hook reported a problem: %s. Password change canceled!"),implode($output));
+            return(FALSE);
+        }
 
-    new log("modify","users/passwordMethod",$dn,array_keys($attrs),$ldap->get_error());
+        // Perform ldap operations
+        $ldap->modify($attrs);
 
-    if (!$ldap->success()) {
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD, ERROR_DIALOG));
-    } else {
+        // Check if the object was locked before, if it was, lock it again!
+        $deactivated = $test->is_locked($config,$dn);
+        if($deactivated){
+            $test->lock_account($config,$dn);
+        }
 
-      /* Run backend method for change/create */
-      if(!$test->set_password($password)){
-        return(FALSE);
-      }
+        // Check if everything went fine and then call the post event hooks.
+        // If an error occures, then try to rollback the complete actions done.
+        $preRollback = FALSE;
+        $ldapRollback = FALSE;
+        $success = TRUE;
+        if (!$ldap->success()) {
+            new log("modify","users/passwordMethod",$dn,array(),"Password change - ldap modifications! - FAILED");
+            $success =FALSE;
+            $message = msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD);
+            $preRollback  =TRUE;
+        } else {
 
-      /* Find postmodify entries for this class */
-      $command= $config->search("password", "POSTMODIFY",array('menu'));
+            // Now call the passwordMethod change mechanism.
+            if(!$test->set_password($password)){
+                $ldapRollback = TRUE;
+                $preRollback  =TRUE;
+                $success = FALSE;
+                new log("modify","users/passwordMethod",$dn,array(),"Password change - set_password! - FAILED");
+                $message = _("Password change failed!");
+            }else{
+        
+                // Execute the password hook
+                plugin::callHook($passwordPlugin, 'POSTMODIFY', $attrsEvent, $output,$retCode,$error, $directlyPrintError = FALSE);
+                if($retCode === 0){
+                    if(count($output)){
+                        new log("modify","users/passwordMethod",$dn,array(),"Password change - Post modify hook reported! - FAILED!");
+                        $message = sprintf(_("Post-event hook reported a problem: %s. Password change canceled!"),implode($output));
+                        $ldapRollback = TRUE;
+                        $preRollback = TRUE;
+                        $success = FALSE;
+                    }else{
+                        #new log("modify","users/passwordMethod",$dn,array(),"Password change - successfull!");
+                    }
+                }else{
+                    $ldapRollback = TRUE;
+                    $preRollback = TRUE;
+                    $success = FALSE;
+                    new log("modify","users/passwordMethod",$dn,array(),"Password change - postmodify hook execution! - FAILED");
+                    new log("modify","users/passwordMethod",$dn,array(),$error);
+
+                    // Call password method again and send in old password to 
+                    //  keep the database consistency
+                    $test->set_password($old_password);
+                }
+            }
+        }
 
-      if ($command != ""){
-        /* Walk through attribute list */
-        $command= preg_replace("/%userPassword/", $password, $command);
-        $command= preg_replace("/%dn/", $dn, $command);
+        // Setting the password in the ldap database or further operation failed, we should now execute 
+        //  the plugins pre-event hook, using switched passwords, new/old password.
+        // This ensures that passwords which were set outside of GOsa, will be reset to its 
+        //  starting value.
+        if($preRollback){
+            new log("modify","users/passwordMethod",$dn,array(),"Rolling back premodify hook!");
+            $oldpass= $test->generate_hash($old_password);
+            $attrsEvent['current_password'] = escapeshellarg($password);
+            $attrsEvent['new_password'] = escapeshellarg($old_password);
+            foreach(array("userPassword","sambaNTPassword","sambaLMPassword") as $attr){
+                if(isset($initialAttrs[$attr][0])) $attrsEvent[$attr] = $initialAttrs[$attr][0];
+            }
+            
+            plugin::callHook($passwordPlugin, 'PREMODIFY', $attrsEvent, $output,$retCode,$error, $directlyPrintError = FALSE);
+            if($retCode === 0 && count($output)){
+                $message = sprintf(_("Pre-event hook reported a problem: %s. Password change canceled!"),implode($output));
+                new log("modify","users/passwordMethod",$dn,array(),"Rolling back premodify hook! - FAILED!");
+            }
+        }
+        
+        // We've written the password to the ldap database, but executing the postmodify hook failed.
+        // Now, we've to rollback all password related ldap operations.
+        if($ldapRollback){
+            new log("modify","users/passwordMethod",$dn,array(),"Rolling back ldap modifications!");
+            $attrs = array();
+            foreach(array("userPassword","sambaNTPassword","sambaLMPassword") as $attr){
+                if(isset($initialAttrs[$attr][0])) $attrs[$attr] = $initialAttrs[$attr][0];
+            }
+            $ldap->cd($dn);
+            $ldap->modify($attrs);
+            if(!$ldap->success()){
+                $message = msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD);
+                new log("modify","users/passwordMethod",$dn,array(),"Rolling back ldap modifications! - FAILED");
+            }
+        }
 
-        if (check_command($command)){
-          @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Execute");
-          exec($command);
-        } else {
-          $message= sprintf(_("Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."), $command, "password");
-          msg_dialog::display(_("Configuration error"), $message, ERROR_DIALOG);
+        // Log action.
+        if($success){
+            stats::log('global', 'global', array('users'),  $action = 'change_password', $amount = 1, 0, $test->get_hash());
+            new log("modify","users/passwordMethod",$dn,array(),"Password change - successfull!");
+        }else{
+            new log("modify","users/passwordMethod",$dn,array(),"Password change - FAILED!");
         }
-      }
+
+        return($success);
     }
-    return(TRUE);
-  }
 }
 
 
@@ -3089,8 +3056,19 @@ function generate_smb_nt_hash($password)
 {
   global $config;
 
-  # Try to use gosa-si?
-  if ($config->get_cfg_value("gosaSupportURI") != ""){
+  // First try to retrieve values via RPC 
+  if ($config->get_cfg_value("core","gosaRpcServer") != ""){
+
+    $rpc = $config->getRpcHandle();
+    $hash = $rpc->mksmbhash($password);
+    if(!$rpc->success()){
+        msg_dialog::display(_("Error"),msgPool::rpcError($rpc->get_error()),ERROR_DIALOG);
+        return("");
+    }
+
+  }elseif ($config->get_cfg_value("core","gosaSupportURI") != ""){
+
+    // Try using gosa-si
   	$res= gosaSupportDaemon::send("gosa_gen_smb_hash", "GOSA", array("password" => $password), TRUE);
     if (isset($res['XML']['HASH'])){
     	$hash= $res['XML']['HASH'];
@@ -3099,11 +3077,13 @@ function generate_smb_nt_hash($password)
     }
 
     if ($hash == "") {
-      msg_dialog::display(_("Configuration error"), _("Cannot generate samba hash!"), ERROR_DIALOG);
+      msg_dialog::display(_("Configuration error"), _("Cannot generate SAMBA hash!"), ERROR_DIALOG);
       return ("");
     }
   } else {
-	  $tmp= $config->get_cfg_value('sambaHashHook')." ".escapeshellarg($password);
+	  $tmp = $config->get_cfg_value("core",'sambaHashHook');
+      $tmp = preg_replace("/%userPassword/", escapeshellarg($password), $tmp);
+      $tmp = preg_replace("/%password/", escapeshellarg($password), $tmp);
 	  @DEBUG (DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, $tmp, "Execute");
 
 	  exec($tmp, $ar);
@@ -3112,7 +3092,7 @@ function generate_smb_nt_hash($password)
 	  $hash= current($ar);
 
     if ($hash == "") {
-      msg_dialog::display(_("Configuration error"), sprintf(_("Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"),$config->get_cfg_value('sambaHashHook')), ERROR_DIALOG);
+      msg_dialog::display(_("Configuration error"), sprintf(_("Generating SAMBA hash by running %s failed: check %s!"), bold($config->get_cfg_value("core",'sambaHashHook'), bold("sambaHashHook"))), ERROR_DIALOG);
       return ("");
     }
   }
@@ -3146,7 +3126,7 @@ function getEntryCSN($dn)
   }
 
   /* Get attribute that we should use as serial number */
-  $attr= $config->get_cfg_value("modificationDetectionAttribute");
+  $attr= $config->get_cfg_value("core","modificationDetectionAttribute");
   if($attr != ""){
     $ldap = $config->get_ldap_link();
     $ldap->cat($dn,array($attr));
@@ -3304,9 +3284,6 @@ function update_accessTo($from,$to)
   while($attrs = $ldap->fetch()){
     $new_attrs = array("accessTo" => array());
     $dn = $attrs['dn'];
-    for($i = 0 ; $i < $attrs['objectClass']['count']; $i++){
-      $new_attrs['objectClass'][] =  $attrs['objectClass'][$i];
-    }
     for($i = 0 ; $i < $attrs['accessTo']['count']; $i++){
       if($attrs['accessTo'][$i] == $from){
         if(!empty($to)){
@@ -3386,14 +3363,14 @@ function get_next_id($attrib, $dn)
 {
   global $config;
 
-  switch ($config->get_cfg_value("idAllocationMethod", "traditional")){
+  switch ($config->get_cfg_value("core","idAllocationMethod")){
     case "pool":
       return get_next_id_pool($attrib);
     case "traditional":
       return get_next_id_traditional($attrib, $dn);
   }
 
-  msg_dialog::display(_("Error"), _("Cannot allocate a free ID:")." "._("unknown idAllocation method!"), ERROR_DIALOG);
+  msg_dialog::display(_("Error"), _("Cannot allocate free ID:")." "._("unknown idAllocation method!"), ERROR_DIALOG);
   return null;
 }
 
@@ -3402,12 +3379,12 @@ function get_next_id_pool($attrib) {
   global $config;
 
   /* Fill informational values */
-  $min= $config->get_cfg_value("${attrib}PoolMin", 10000);
-  $max= $config->get_cfg_value("${attrib}PoolMax", 40000);
+  $min= $config->get_cfg_value("core","${attrib}PoolMin");
+  $max= $config->get_cfg_value("core","${attrib}PoolMax");
 
   /* Sanity check */
   if ($min >= $max) {
-    msg_dialog::display(_("Error"), _("Cannot allocate a free ID:")." ".sprintf(_("%sPoolMin >= %sPoolMax!"), $attrib), ERROR_DIALOG);
+    msg_dialog::display(_("Error"), _("Cannot allocate free ID:")." ".sprintf(_("%sPoolMin >= %sPoolMax!"), bold($attrib), bold($attrib)), ERROR_DIALOG);
     return null;
   }
 
@@ -3426,8 +3403,8 @@ function get_next_id_pool($attrib) {
     /* If it does not exist, create one with these defaults */
     if ($ldap->count() == 0) {
       /* Fill informational values */
-      $minUserId= $config->get_cfg_value("uidPoolMin", 10000);
-      $minGroupId= $config->get_cfg_value("gidPoolMin", 10000);
+      $minUserId= $config->get_cfg_value("core","uidNumberPoolMin");
+      $minGroupId= $config->get_cfg_value("core","gidNumberPoolMin");
 
       /* Add as default */
       $attrs= array("objectClass" => array("organizationalUnit", "sambaUnixIdPool"));
@@ -3445,7 +3422,7 @@ function get_next_id_pool($attrib) {
     }
     /* Bail out if it's not unique */
     if ($ldap->count() != 1) {
-      msg_dialog::display(_("Error"), _("Cannot allocate a free ID:")." "._("sambaUnixIdPool is not unique!"), ERROR_DIALOG);
+      msg_dialog::display(_("Error"), _("Cannot allocate free ID:")." "._("sambaUnixIdPool is not unique!"), ERROR_DIALOG);
       return null;
     }
 
@@ -3457,11 +3434,11 @@ function get_next_id_pool($attrib) {
 
     /* Sanity check */
     if ($newAttr >= $max) {
-      msg_dialog::display(_("Error"), _("Cannot allocate a free ID:")." "._("no ID available!"), ERROR_DIALOG);
+      msg_dialog::display(_("Error"), _("Cannot allocate free ID:")." "._("no ID available!"), ERROR_DIALOG);
       return null;
     }
     if ($newAttr < $min) {
-      msg_dialog::display(_("Error"), _("Cannot allocate a free ID:")." "._("no ID available!"), ERROR_DIALOG);
+      msg_dialog::display(_("Error"), _("Cannot allocate free ID:")." "._("no ID available!"), ERROR_DIALOG);
       return null;
     }
 
@@ -3476,7 +3453,7 @@ function get_next_id_pool($attrib) {
     $ldap->cd($dn);
     $ldap->modify(array($attrib => $newAttr));
     if ($ldap->error != "Success") {
-      msg_dialog::display(_("Error"), _("Cannot allocate a free ID:")." ".$ldap->get_error(), ERROR_DIALOG);
+      msg_dialog::display(_("Error"), _("Cannot allocate free ID:")." ".$ldap->get_error(), ERROR_DIALOG);
       return null;
     } else {
       return $oldAttr;
@@ -3485,7 +3462,7 @@ function get_next_id_pool($attrib) {
 
   /* Bail out if we had problems getting the next id */
   if (!$tries) {
-    msg_dialog::display(_("Error"), _("Cannot allocate a free ID:")." "._("maximum tries exceeded!"), ERROR_DIALOG);
+    msg_dialog::display(_("Error"), _("Cannot allocate free ID:")." "._("maximum number of tries exceeded!"), ERROR_DIALOG);
   }
 
   return $id;
@@ -3517,10 +3494,10 @@ function get_next_id_traditional($attrib, $dn)
 
   /* get the ranges */
   $tmp = array('0'=> 1000);
-  if (preg_match('/posixAccount/', $oc) && $config->get_cfg_value("uidNumberBase") != ""){
-    $tmp= explode('-',$config->get_cfg_value("uidNumberBase"));
-  } elseif($config->get_cfg_value("gidNumberBase") != ""){
-    $tmp= explode('-',$config->get_cfg_value("gidNumberBase"));
+  if (preg_match('/posixAccount/', $oc) && $config->get_cfg_value("core","uidNumberBase") != ""){
+    $tmp= explode('-',$config->get_cfg_value("core","uidNumberBase"));
+  } elseif($config->get_cfg_value("core","gidNumberBase") != ""){
+    $tmp= explode('-',$config->get_cfg_value("core","gidNumberBase"));
   }
 
   /* Set hwm to max if not set - for backward compatibility */
@@ -3531,7 +3508,7 @@ function get_next_id_traditional($attrib, $dn)
     $hwm= pow(2,32);
   }
   /* Find out next free id near to UID_BASE */
-  if ($config->get_cfg_value("baseIdHook") == ""){
+  if ($config->get_cfg_value("core","baseIdHook") == ""){
     $base= $lwm;
   } else {
     /* Call base hook */
@@ -3545,7 +3522,7 @@ function get_next_id_traditional($attrib, $dn)
 
   /* Should not happen */
   if ($id == $hwm){
-    msg_dialog::display(_("Error"), _("Cannot allocate a free ID!"), ERROR_DIALOG);
+    msg_dialog::display(_("Error"), _("Cannot allocate free ID!"), ERROR_DIALOG);
     exit;
   }
 }
@@ -3564,5 +3541,402 @@ function mark($needle, $haystack, $ignorecase= true)
   return $result.$haystack;
 }
 
+
+/* Return an image description using the path */
+function image($path, $action= "", $title= "", $align= "middle")
+{
+  global $config;
+  global $BASE_DIR;
+  $label= null;
+
+  // Bail out, if there's no style file
+  if(!session::global_is_set("img-styles")){
+
+    // Get theme
+    if (isset ($config)){
+      $theme= $config->get_cfg_value("core","theme");
+    } else {
+
+      // Fall back to default theme
+      $theme= "default";
+    }
+
+    if (!file_exists("$BASE_DIR/ihtml/themes/$theme/img.styles")){
+      die ("No img.style for this theme found!");
+    }
+
+    session::global_set('img-styles', unserialize(file_get_contents("$BASE_DIR/ihtml/themes/$theme/img.styles")));
+  }
+  $styles= session::global_get('img-styles');
+
+  /* Extract labels from path */
+  if (preg_match("/\.png\[(.*)\]$/", $path, $matches)) {
+    $label= $matches[1];
+  }
+
+  $lbl= "";
+  if ($label) {
+    if (isset($styles["images/label-".$label.".png"])) {
+      $lbl= "<div style='".$styles["images/label-".$label.".png"]."'></div>";
+    } else {
+      die("Invalid label specified: $label\n");
+    }
+
+    $path= preg_replace("/\[.*\]$/", "", $path);
+  }
+
+  // Non middle layout?
+  if ($align == "middle") {
+    $align= "";
+  } else {
+    $align= ";vertical-align:$align";
+  }
+
+  // Clickable image or not?
+  if ($title != "") {
+    $title= "title='$title'";
+  }
+  if ($action == "") {
+    return "<div class='img' $title style='".$styles[$path]."$align'>$lbl</div>";
+  } else {
+    return "<input type='submit' class='img' id='$action' value='' name='$action' $title style='".$styles[$path]."$align'>";
+  }
+}
+
+/*! \brief    Encodes a complex string to be useable in HTML posts.
+ */
+function postEncode($str)
+{
+  return(preg_replace("/=/","_", base64_encode($str)));
+}
+
+/*! \brief    Decodes a string encoded by postEncode
+ */
+function postDecode($str)
+{
+  return(base64_decode(preg_replace("/_/","=", $str)));
+}
+
+
+/*! \brief    Generate styled output
+ */
+function bold($str)
+{
+  return "<span class='highlight'>$str</span>";
+}
+
+
+
+/*! \brief  Detect the special character handling for the currently used ldap database. 
+ *          For example some convert , to \2C or " to \22.
+ *         
+ *  @param      Config  The GOsa configuration object.
+ *  @return     Array   An array containing a character mapping the use.
+ */
+function detectLdapSpecialCharHandling()
+{
+    // The list of chars to test for
+    global $config;
+    if(!$config) return(NULL);
+
+    // In the DN we've to use escaped characters, but the object name (o)
+    //  has the be un-escaped.
+    $name = 'GOsaLdapEncoding_,_"_(_)_+_/';
+    $dnName = 'GOsaLdapEncoding_\,_\"_(_)_\+_/';
+   
+    // Prapare name to be useable in filters
+    $fixed= normalizeLdap(str_replace('\\\\', '\\\\\\', $name));
+    $filterName = str_replace('\\,', '\\\\,', $fixed);
+ 
+    // Create the target dn
+    $oDN = "o={$dnName},".$config->current['BASE'];
+
+    // Get ldap connection and check if we've already created the character 
+    //  detection object. 
+    $ldapCID = ldap_connect($config->current['SERVER']);
+    ldap_set_option($ldapCID, LDAP_OPT_PROTOCOL_VERSION, 3);
+    ldap_bind($ldapCID, $config->current['ADMINDN'],$config->current['ADMINPASSWORD']);
+    $res = ldap_list($ldapCID, $config->current['BASE'], 
+            "(&(o=".$filterName.")(objectClass=organization))",
+            array('dn'));
+
+    // If we haven't created the character-detection object, then create it now.
+    $cnt = ldap_count_entries($ldapCID, $res);
+    if(!$cnt){
+        $obj = array();
+        $obj['objectClass'] = array('top','organization');
+        $obj['o'] = $name;
+        $obj['description'] = 'GOsa character encoding test-object.';
+        if(!@ldap_add($ldapCID, $oDN, $obj)){
+            trigger_error("GOsa couldn't detect the special character handling used by your ldap!");
+            return(NULL);
+        }
+    }
+    
+    // Read the character-handling detection entry from the ldap.
+    $res = ldap_list($ldapCID, $config->current['BASE'],
+            "(&(o=".$filterName.")(objectClass=organization))",
+            array('dn','o'));
+    $cnt = ldap_count_entries($ldapCID, $res);
+    if($cnt != 1 || !$res){
+        trigger_error("GOsa couldn't detect the special character handling used by your ldap!");
+        return(NULL);
+    }else{
+
+        // Get the character handling entry from the ldap and check how the 
+        //  values were written. Compare them with what
+        //  we've initially intended to write and create a mapping out 
+        //  of the results.
+        $re = ldap_first_entry($ldapCID, $res);
+        $attrs = ldap_get_attributes($ldapCID, $re);
+   
+        // Extract the interessting characters out of the dn and the 
+        //  initially used $name for the entry. 
+        $mapDNstr = preg_replace("/^o=GOsaLdapEncoding_([^,]*),.*$/","\\1", trim(ldap_get_dn($ldapCID, $re)));
+        $mapDN = preg_split("/_/", $mapDNstr,0, PREG_SPLIT_NO_EMPTY);
+
+        $mapNameStr = preg_replace("/^GOsaLdapEncoding_/","",$dnName);
+        $mapName = preg_split("/_/", $mapNameStr,0, PREG_SPLIT_NO_EMPTY);
+
+        // Create a mapping out of the results.
+        $map = array();
+        foreach($mapName as $key => $entry){
+            $map[$entry] = $mapDN[$key];
+        }
+        return($map);
+    }
+    return(NULL);
+}
+
+
+/*! \brief  Replaces placeholder in a given string.
+ *          For example:
+ *            '%uid at gonicus.de'         Replaces '%uid' with 'uid'.
+ *            '{%uid[0]@gonicus.de}'    Replaces '%uid[0]' with the first char of 'uid'.
+ *            '%uid[2-4]@gonicus.de'    Replaces '%uid[2-4]' with three chars from 'uid' starting from the second.
+ *      
+ *          The surrounding {} in example 2 are optional.
+ *
+ *  @param  String  The string to perform the action on.
+ *  @param  Array   An array of replacements.
+ *  @return     The resulting string.
+ */
+function fillReplacements($str, $attrs, $shellArg = FALSE, $default = "")
+{
+    // Search for '{%...[n-m]}
+    // Get all matching parts of the given string and sort them by
+    //  length, to avoid replacing strings like '%uidNumber' with 'uid'
+    //  instead of 'uidNumber'; The longest tring at first.
+    preg_match_all('/(\{?%([a-z0-9_]+)(\[(([0-9_]+)(\-([0-9_]+))?)\])?\}?)/i', $str ,$matches, PREG_SET_ORDER);
+    $hits = array();
+    foreach($matches as $match){
+        $hits[strlen($match[2]).$match[0]] = $match;
+    }
+    krsort($hits);
+
+    // Add lower case placeholders to avoid errors
+    foreach($attrs as $key => $attr) $attrs[strtolower($key)] = $attr;
+
+    // Replace the placeholder in the given string now.
+    foreach($hits as $match){
+
+        // Avoid errors about undefined index.
+        $name = strtolower($match[2]);
+        if(!isset($attrs[$name])) $attrs[$name] = $default;
+
+        // Calculate the replacement
+        $start = (isset($match[5])) ? $match[5] : 0;
+        $end = strlen($attrs[$name]);
+        if(isset($match[5]) && !isset($match[7])){
+            $end = 1;
+        }elseif(isset($match[5]) && isset($match[7])){
+            $end = ($match[7]-$start+1);
+        }
+        $value  = substr($attrs[$name], $start, $end);
+
+        // Use values which are valid for shell execution?
+        if($shellArg) $value = escapeshellarg($value);
+
+        // Replace the placeholder within the string.
+        $str = preg_replace("/".preg_quote($match[0],'/')."/", $value, $str);
+    }
+    return($str);
+}
+
+
+/*! \brief Generate a list of uid proposals based on a rule
+ *
+ *  Unroll given rule string by filling in attributes and replacing
+ *  all keywords.
+ *
+ * \param string 'rule' The rule string from gosa.conf.
+ * \param array 'attributes' A dictionary of attribute/value mappings
+ * \return array List of valid not used uids
+ */
+function gen_uids($rule, $attributes)
+{
+    global $config;
+    $ldap = $config->get_ldap_link();
+    $ldap->cd($config->current['BASE']);
+
+    @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $rule, "Processing");
+    
+    // Strip out non ascii chars
+    foreach($attributes as $name => $value){
+        if ( $config->get_cfg_value("core", "forceTranslit") == "true" ) {
+             $value = cyrillic2ascii($value);
+        } else {
+             $value = iconv('UTF-8', 'US-ASCII//TRANSLIT', $value);
+        }
+        $value = preg_replace('/[^(\x20-\x7F)]*/','',$value);
+        $attributes[$name] = strtolower($value);
+    }
+    
+    @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $attributes, "Prepare");
+
+    // Search for '{%...[n-m]}
+    // Get all matching parts of the given string and sort them by
+    //  length, to avoid replacing strings like '%uidNumber' with 'uid'
+    //  instead of 'uidNumber'; The longest tring at first.
+    preg_match_all('/(\{?%([a-z0-9]+)(\[(([0-9]+)(\-([0-9]+))?)\])?\}?)/i', $rule ,$matches, PREG_SET_ORDER);
+    $replacements = array(); 
+    foreach($matches as $match){
+        
+        // No start position given, then add the complete value
+        if(!isset($match[5])){
+            $replacements[$match[0]][] = $attributes[$match[2]];
+    
+        // Start given but no end, so just add a single character
+        }elseif(!isset($match[7])){
+            if(isset($attributes[$match[2]][$match[5]])){
+                $tmp = " ".$attributes[$match[2]];
+                $replacements[$match[0]][] = trim($tmp[$match[5]]);
+            }
+
+        // Add all values in range
+        }else{
+            $str = "";
+            for($i=$match[5]; $i<= $match[7]; $i++){
+                if(isset($attributes[$match[2]][$i])){
+                    $tmp = " ".$attributes[$match[2]];
+                    $str .= $tmp[$i];
+                    $replacements[$match[0]][] = trim($str);
+                }
+            }
+        }
+    }
+
+    // Create proposal array
+    $rules = array($rule);
+    foreach($replacements as $tag => $values){
+        $rules = gen_uid_proposals($rules, $tag, $values);
+    }
+    
+
+    // Search for id tags {id:3} / {id#3}
+    preg_match_all('/\{id(#|:)([0-9])+\}/i', $rule, $matches, PREG_SET_ORDER);
+    $idReplacements = array();
+    foreach($matches as $match){
+        if(count($match) != 3) continue;
+
+        // Generate random number 
+        if($match[1] == '#'){
+            foreach($rules as $id => $ruleStr){
+                $genID = rand(pow(10,$match[2] -1),pow(10, ($match[2])) - 1);
+                $rules[$id] = preg_replace("/".preg_quote($match[0],'/')."/", $genID,$ruleStr);
+            }
+        }
+    
+        // Search for next free id 
+        if($match[1] == ':'){
+
+            // Walk through rules and replace all occurences of {id:..}
+            foreach($rules as $id => $ruleStr){
+                $genID = 0;
+                $start = TRUE;
+                while($start || $ldap->count()){
+                    $start = FALSE;
+                    $number= sprintf("%0".$match[2]."d", $genID);
+                    $testRule = preg_replace("/".preg_quote($match[0],'/')."/",$number,$ruleStr); 
+                    $ldap->search('uid='.normalizeLdap($testRule));
+                    $genID ++;
+                }
+                $rules[$id] = preg_replace("/".preg_quote($match[0],'/')."/",$number,$ruleStr);
+            }
+        }
+    }
+
+    // Create result set by checking which uid is already used and which is free.
+    $ret = array();
+    foreach($rules as $rule){
+        $ldap->search('uid='.normalizeLdap($rule));
+        if(!$ldap->count()){
+            $ret[] =  $rule;
+        }
+    }
+   
+    return($ret);
+}
+
+
+function gen_uid_proposals(&$rules, $tag, $values)
+{
+    $newRules = array();
+    foreach($rules as $rule){
+        foreach($values as $value){
+            $newRules[] = preg_replace("/".preg_quote($tag,'/')."/", $value, $rule); 
+        }
+    }
+    return($newRules);
+}
+
+
+function gen_uuid() 
+{
+    return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
+        // 32 bits for "time_low"
+        mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ),
+
+        // 16 bits for "time_mid"
+        mt_rand( 0, 0xffff ),
+
+        // 16 bits for "time_hi_and_version",
+        // four most significant bits holds version number 4
+        mt_rand( 0, 0x0fff ) | 0x4000,
+
+        // 16 bits, 8 bits for "clk_seq_hi_res",
+        // 8 bits for "clk_seq_low",
+        // two most significant bits holds zero and one for variant DCE1.1
+        mt_rand( 0, 0x3fff ) | 0x8000,
+
+        // 48 bits for "node"
+        mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff )
+    );
+}
+
+function gosa_file_name($filename)
+{
+    $tempfile = tempnam(sys_get_temp_dir(), 'GOsa'); 
+    if(move_uploaded_file($filename, $tempfile)){ 
+       return( $tempfile);
+    }
+}
+
+function gosa_file($filename)
+{
+    $tempfile = tempnam(sys_get_temp_dir(), 'GOsa'); 
+    if(move_uploaded_file($filename, $tempfile)){ 
+       return file( $tempfile );
+    }
+}
+
+function gosa_fopen($filename, $mode)
+{
+    $tempfile = tempnam(sys_get_temp_dir(), 'GOsa'); 
+    if(move_uploaded_file($filename, $tempfile)){ 
+       return fopen( $tempfile, $mode );
+    }
+}
+
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/include/functions_helpviewer.inc b/gosa-core/include/functions_helpviewer.inc
index 861afaa..b133b3d 100644
--- a/gosa-core/include/functions_helpviewer.inc
+++ b/gosa-core/include/functions_helpviewer.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: functions_helpviewer.inc 15296 2010-01-26 08:27:39Z cajus $$
+ * ID: $$Id: functions_helpviewer.inc 19290 2010-07-29 16:21:26Z cajus $$
  *
  * 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
@@ -42,9 +42,9 @@ class parseXml
     $xmldata= fread($fh, 100000);
     fclose($fh);
     if(!xml_parse($this->parser, chop($xmldata))){
-        print(sprintf(_("XML error in guide.xml: %s at line %d"),
-            xml_error_string(xml_get_error_code($this->parser)),
-            xml_get_current_line_number($this->parser)));
+        print(sprintf(_("XML error in guide.xml: %s at line %s"),
+            bold(xml_error_string(xml_get_error_code($this->parser))),
+            bold(xml_get_current_line_number($this->parser))));
         exit;
     }
     return($this->entries);
@@ -85,7 +85,7 @@ function genIndex()
     if($exists){
       $str .= "<p style='padding-left:20px;'><a href='?plug=".$id."'><b>"._($name)."</b></a></p>";
     }else{
-      $str .= "<p style='padding-left:20px;'><b>"._($name)."</b> ("._("No help available for this plugin.").")</p>";
+      $str .= "<p style='padding-left:20px;'><b>"._($name)."</b> ("._("No help available for this plug-in.").")</p>";
     }
   }
   return (utf8_decode($str));
@@ -386,8 +386,8 @@ function searchlist($arr,$res,$maxresults)
   /* appending footer message for resultlist */
   $ret.= "<br>
               ".sprintf(_("%s results for your search with the keyword %s"), 
-                            "<b>".count($topten)."</b>", 
-                            "<b>".session::get('parsed_search_keyword')."</b>");
+                            bold(count($topten)), 
+                            bold(session::get('parsed_search_keyword')));
   $ret.="<br>
         <br>";
   return($ret);
@@ -458,9 +458,7 @@ function createResultEntry($entry,$res,$name,$max)
              </tr>
              <tr>
               <td colspan=2>
-                <b>
-                  ".(sprintf(_("%s%% hit rate in file %s"),$percentage,$name))."
-                </b>
+                  ".(sprintf(_("%s%% hit rate in file %s"), bold($percentage), bold($name)))."
               </td>
             </tr>
           </table>
diff --git a/gosa-core/include/pChart/CO2.csv b/gosa-core/include/pChart/CO2.csv
new file mode 100644
index 0000000..6bbe3d0
--- /dev/null
+++ b/gosa-core/include/pChart/CO2.csv
@@ -0,0 +1,37 @@
+Year,Jan.,Feb.,March,April,May,June,July,Aug.,Sept.,Oct.,Nov.,Dec.,Annual
+1967,322.33,322.5,323.04,324.42,325,324.09,322.55,320.92,319.26,319.39,320.72,321.96,322.18
+1968,322.57,323.15,323.89,325.02,325.57,325.36,324.14,322.11,320.33,320.25,321.32,322.9,323.05
+1969,324,324.42,325.64,326.66,327.38,326.7,325.89,323.67,322.38,321.78,322.85,324.12,324.62
+1970,325.06,325.98,326.93,328.13,328.07,327.66,326.35,324.69,323.1,323.07,324.01,325.13,325.68
+1971,326.17,326.68,327.18,327.78,328.92,328.57,327.37,325.43,323.36,323.56,324.8,326.01,326.32
+1972,326.77,327.63,327.75,329.72,330.07,329.09,328.05,326.32,324.84,325.2,326.5,327.55,327.46
+1973,328.54,329.56,330.3,331.5,332.48,332.07,330.87,329.31,327.51,327.18,328.16,328.64,329.68
+1974,329.35,330.71,331.48,332.65,333.09,332.25,331.18,329.4,327.44,327.37,328.46,329.58,330.25
+1975,330.4,331.41,332.04,333.31,333.96,333.59,331.91,330.06,328.56,328.34,329.49,330.76,331.15
+1976,331.74,332.56,333.5,334.58,334.87,334.34,333.05,330.94,329.3,328.94,330.31,331.68,332.15
+1977,332.92,333.42,334.7,336.07,336.74,336.27,334.93,332.75,331.58,331.16,332.4,333.85,333.9
+1978,334.97,335.39,336.64,337.76,338.01,337.89,336.54,334.68,332.76,332.54,333.92,334.95,335.5
+1979,336.23,336.76,337.96,338.89,339.47,339.29,337.73,336.09,333.91,333.86,335.29,336.73,336.85
+1980,338.01,338.36,340.08,340.77,341.46,341.17,339.56,337.6,335.88,336.01,337.1,338.21,338.69
+1981,339.23,340.47,341.38,342.51,342.91,342.25,340.49,338.43,336.69,336.85,338.36,339.61,339.93
+1982,340.75,341.61,342.7,343.56,344.13,343.35,342.06,339.82,337.97,337.86,339.26,340.49,341.13
+1983,341.37,342.52,343.1,344.94,345.75,345.32,343.99,342.39,339.86,339.99,341.16,342.99,342.78
+1984,343.7,344.51,345.28,347.08,347.43,346.79,345.4,343.28,341.07,341.35,342.98,344.22,344.42
+1985,344.97,346,347.43,348.35,348.93,348.25,346.56,344.69,343.09,342.8,344.24,345.56,345.9
+1986,346.29,346.96,347.86,349.55,350.21,349.54,347.94,345.91,344.86,344.17,345.66,346.9,347.15
+1987,348.02,348.47,349.42,350.99,351.84,351.25,349.52,348.1,346.44,346.36,347.81,348.96,348.93
+1988,350.43,351.72,352.22,353.59,354.22,353.79,352.39,350.44,348.72,348.88,350.07,351.34,351.48
+1989,352.76,353.07,353.68,355.42,355.67,355.13,353.9,351.67,349.8,349.99,351.3,352.53,352.91
+1990,353.66,354.7,355.39,356.2,357.16,356.22,354.82,352.91,350.96,351.18,352.83,354.21,354.19
+1991,354.72,355.75,357.16,358.6,359.34,358.24,356.17,354.03,352.16,352.21,353.75,354.99,355.59
+1992,355.98,356.72,357.81,359.15,359.66,359.25,357.03,355,353.01,353.31,354.16,355.4,356.37
+1993,356.7,357.16,358.38,359.46,360.28,359.6,357.57,355.52,353.7,353.98,355.33,356.8,357.04
+1994,358.36,358.91,359.97,361.26,361.68,360.95,359.55,357.49,355.84,355.99,357.58,359.04,358.88
+1995,359.96,361,361.64,363.45,363.79,363.26,361.9,359.46,358.06,357.75,359.56,360.7,360.88
+1996,362.05,363.25,364.03,364.72,365.41,364.97,363.65,361.49,359.46,359.6,360.76,362.33,362.64
+1997,363.18,364,364.57,366.35,366.79,365.62,364.47,362.51,360.19,360.77,362.43,364.28,363.76
+1998,365.32,366.15,367.31,368.61,369.3,368.87,367.64,365.77,363.9,364.23,365.46,366.97,366.63
+1999,368.15,368.86,369.58,371.12,370.97,370.33,369.25,366.91,364.6,365.09,366.63,367.96,368.29
+2000,369.08,369.4,370.45,371.59,371.75,371.62,370.04,368.04,366.54,366.63,368.2,369.43,369.4
+2001,370.17,371.39,372,372.75,373.88,373.17,371.48,369.42,367.83,367.96,369.55,371.1,370.89
+2002,372.29,372.94,373.38,374.71,375.4,375.26,373.87,371.35,370.57,370.1,371.93,373.63,372.95
diff --git a/gosa-core/include/pChart/Example1.php b/gosa-core/include/pChart/Example1.php
new file mode 100644
index 0000000..bc23043
--- /dev/null
+++ b/gosa-core/include/pChart/Example1.php
@@ -0,0 +1,45 @@
+<?php   
+ /*
+     Example1 : A simple line chart
+ */
+
+ // Standard inclusions      
+ include("pChart/pData.class");   
+ include("pChart/pChart.class");   
+  
+ // Dataset definition    
+ $DataSet = new pData;   
+ $DataSet->ImportFromCSV("Sample/bulkdata.csv",",",array(1,2,3),FALSE,0);   
+ $DataSet->AddAllSeries();   
+ $DataSet->SetAbsciseLabelSerie();   
+ $DataSet->SetSerieName("January","Serie1");   
+ $DataSet->SetSerieName("February","Serie2");   
+ $DataSet->SetSerieName("March","Serie3");   
+ $DataSet->SetYAxisName("Average age");
+ $DataSet->SetYAxisUnit("�s");
+  
+ // Initialise the graph   
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);   
+ $Test->setGraphArea(70,30,680,200);   
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);   
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);   
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);   
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+  
+ // Draw the 0 line   
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);   
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);   
+  
+ // Draw the line graph
+ $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());   
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);   
+  
+ // Finish the graph   
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);   
+ $Test->drawLegend(75,35,$DataSet->GetDataDescription(),255,255,255);   
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);   
+ $Test->drawTitle(60,22,"example 1",50,50,50,585);   
+ $Test->Render("example1.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example10.php b/gosa-core/include/pChart/Example10.php
new file mode 100644
index 0000000..7e48d94
--- /dev/null
+++ b/gosa-core/include/pChart/Example10.php
@@ -0,0 +1,34 @@
+<?php
+ /*
+     Example10 : A 3D exploded pie graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(10,2,3,5,3),"Serie1");
+ $DataSet->AddPoint(array("January","February","March","April","May"),"Serie2");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie("Serie2");
+
+ // Initialise the graph
+ $Test = new pChart(420,250);
+ $Test->drawFilledRoundedRectangle(7,7,413,243,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,415,245,5,230,230,230);
+ $Test->createColorGradientPalette(195,204,56,223,110,41,5);
+
+ // Draw the pie chart
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->AntialiasQuality = 0;
+ $Test->drawPieGraph($DataSet->GetData(),$DataSet->GetDataDescription(),180,130,110,PIE_PERCENTAGE_LABEL,FALSE,50,20,5);
+ $Test->drawPieLegend(330,15,$DataSet->GetData(),$DataSet->GetDataDescription(),250,250,250);
+
+ // Write the title
+ $Test->setFontProperties("Fonts/MankSans.ttf",10);
+ $Test->drawTitle(10,20,"Sales per month",100,100,100);
+
+ $Test->Render("example10.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example11.php b/gosa-core/include/pChart/Example11.php
new file mode 100644
index 0000000..be15e32
--- /dev/null
+++ b/gosa-core/include/pChart/Example11.php
@@ -0,0 +1,50 @@
+<?php
+ /*
+     Example11 : Using the pCache class
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+ include("pChart/pCache.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(1,4,3,2,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7),"Serie1");
+ $DataSet->AddPoint(array(1,4,2,6,2,3,0,1,5,1,2,4,5,2,1,0,6,4,2),"Serie2");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetSerieName("January","Serie1");
+ $DataSet->SetSerieName("February","Serie2");
+
+ // Cache definition 
+ $Cache = new pCache();
+ $Cache->GetFromCache("Graph1",$DataSet->GetData());
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(50,30,585,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the cubic curve graph
+ $Test->drawCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription());
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(50,22,"Example 1",50,50,50,585);
+
+ // Render the graph
+ $Cache->WriteToCache("Graph1",$DataSet->GetData(),$Test);
+ $Test->Render("example1.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example12.php b/gosa-core/include/pChart/Example12.php
new file mode 100644
index 0000000..dc003ab
--- /dev/null
+++ b/gosa-core/include/pChart/Example12.php
@@ -0,0 +1,45 @@
+<?php
+ /*
+     Example12 : A true bar graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4),"Serie1");
+ $DataSet->AddPoint(array(3,3,-4,1,-2,2,1,0,-1,6,3),"Serie2");
+ $DataSet->AddPoint(array(4,1,2,-1,-4,-2,3,2,1,2,2),"Serie3");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetSerieName("January","Serie1");
+ $DataSet->SetSerieName("February","Serie2");
+ $DataSet->SetSerieName("March","Serie3");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(50,30,680,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the bar graph
+ $Test->drawBarGraph($DataSet->GetData(),$DataSet->GetDataDescription(),TRUE,80);
+
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(596,150,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(50,22,"Example 12",50,50,50,585);
+ $Test->Render("example12.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example13.php b/gosa-core/include/pChart/Example13.php
new file mode 100644
index 0000000..28638c8
--- /dev/null
+++ b/gosa-core/include/pChart/Example13.php
@@ -0,0 +1,32 @@
+<?php
+ /*
+     Example13: A 2D exploded pie graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(10,2,3,5,3),"Serie1");
+ $DataSet->AddPoint(array("Jan","Feb","Mar","Apr","May"),"Serie2");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie("Serie2");
+
+ // Initialise the graph
+ $Test = new pChart(300,200);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawFilledRoundedRectangle(7,7,293,193,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,295,195,5,230,230,230);
+
+ // Draw the pie chart
+ $Test->AntialiasQuality = 0;
+ $Test->setShadowProperties(2,2,200,200,200);
+ $Test->drawFlatPieGraphWithShadow($DataSet->GetData(),$DataSet->GetDataDescription(),120,100,60,PIE_PERCENTAGE,8);
+ $Test->clearShadow();
+
+ $Test->drawPieLegend(230,15,$DataSet->GetData(),$DataSet->GetDataDescription(),250,250,250);
+
+ $Test->Render("example13.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example14.php b/gosa-core/include/pChart/Example14.php
new file mode 100644
index 0000000..1b7225e
--- /dev/null
+++ b/gosa-core/include/pChart/Example14.php
@@ -0,0 +1,33 @@
+<?php
+ /*
+     Example14: A smooth flat pie graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(10,2,3,5,3),"Serie1");
+ $DataSet->AddPoint(array("Jan","Feb","Mar","Apr","May"),"Serie2");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie("Serie2");
+
+ // Initialise the graph
+ $Test = new pChart(300,200);
+ $Test->loadColorPalette("Sample/softtones.txt");
+ $Test->drawFilledRoundedRectangle(7,7,293,193,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,295,195,5,230,230,230);
+
+ // This will draw a shadow under the pie chart
+ $Test->drawFilledCircle(122,102,70,200,200,200);
+
+ // Draw the pie chart
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->AntialiasQuality = 0;
+ $Test->drawBasicPieGraph($DataSet->GetData(),$DataSet->GetDataDescription(),120,100,70,PIE_PERCENTAGE,255,255,218);
+ $Test->drawPieLegend(230,15,$DataSet->GetData(),$DataSet->GetDataDescription(),250,250,250);
+
+ $Test->Render("example14.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example15.php b/gosa-core/include/pChart/Example15.php
new file mode 100644
index 0000000..57b52ce
--- /dev/null
+++ b/gosa-core/include/pChart/Example15.php
@@ -0,0 +1,68 @@
+<?php   
+ /*
+     Example15 : Playing with line style & pictures inclusion
+ */
+
+ // Standard inclusions      
+ include("pChart/pData.class");   
+ include("pChart/pChart.class");   
+  
+ // Dataset definition    
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(10,9.4,7.7,5,1.7,-1.7,-5,-7.7,-9.4,-10,-9.4,-7.7,-5,-1.8,1.7),"Serie1");
+ $DataSet->AddPoint(array(0,3.4,6.4,8.7,9.8,9.8,8.7,6.4,3.4,0,-3.4,-6.4,-8.6,-9.8,-9.9),"Serie2");
+ $DataSet->AddPoint(array(7.1,9.1,10,9.7,8.2,5.7,2.6,-0.9,-4.2,-7.1,-9.1,-10,-9.7,-8.2,-5.8),"Serie3");
+ $DataSet->AddPoint(array("Jan","Jan","Jan","Feb","Feb","Feb","Mar","Mar","Mar","Apr","Apr","Apr","May","May","May"),"Serie4");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie("Serie4");
+ $DataSet->SetSerieName("Max Average","Serie1");
+ $DataSet->SetSerieName("Min Average","Serie2");
+ $DataSet->SetSerieName("Temperature","Serie3");
+ $DataSet->SetYAxisName("Temperature");
+ $DataSet->SetXAxisName("Month of the year");
+  
+ // Initialise the graph   
+ $Test = new pChart(700,230);
+ $Test->reportWarnings("GD");
+ $Test->setFixedScale(-12,12,5);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);   
+ $Test->setGraphArea(65,30,570,185);   
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);   
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);   
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE,3);   
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line   
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);   
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);   
+  
+ // Draw the area
+ $DataSet->RemoveSerie("Serie4");
+ $Test->drawArea($DataSet->GetData(),"Serie1","Serie2",239,238,227,50);
+ $DataSet->RemoveSerie("Serie3");
+ $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());   
+
+ // Draw the line graph
+ $Test->setLineStyle(1,6);
+ $DataSet->RemoveAllSeries();
+ $DataSet->AddSerie("Serie3");
+ $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());   
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);   
+
+ // Write values on Serie3
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);   
+ $Test->writeValues($DataSet->GetData(),$DataSet->GetDataDescription(),"Serie3");   
+  
+ // Finish the graph   
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);   
+ $Test->drawLegend(590,90,$DataSet->GetDataDescription(),255,255,255);   
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);   
+ $Test->drawTitle(60,22,"example 15",50,50,50,585);
+
+ // Add an image
+ $Test->drawFromPNG("Sample/logo.png",584,35);
+
+ // Render the chart
+ $Test->Render("example15.png");   
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example16.php b/gosa-core/include/pChart/Example16.php
new file mode 100644
index 0000000..8c69858
--- /dev/null
+++ b/gosa-core/include/pChart/Example16.php
@@ -0,0 +1,42 @@
+<?php
+ /*
+     Example16 : Importing CSV data
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->ImportFromCSV("Sample/CO2.csv",",",array(1,2,3,4),TRUE,0);
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetYAxisName("CO2 concentrations");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->reportWarnings("GD");
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(60,30,680,180);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,90,2);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the line graph
+ $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);   
+ $Test->drawLegend(70,40,$DataSet->GetDataDescription(),255,255,255);   
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(60,22,"CO2 concentrations at Mauna Loa",50,50,50,585);
+ $Test->Render("example16.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example17.php b/gosa-core/include/pChart/Example17.php
new file mode 100644
index 0000000..5b769e9
--- /dev/null
+++ b/gosa-core/include/pChart/Example17.php
@@ -0,0 +1,48 @@
+<?php   
+ /*
+     Example17 : Playing with axis
+ */
+
+ // Standard inclusions
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+  
+ // Dataset definition
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(100,320,200,10,43),"Serie1");
+ $DataSet->AddPoint(array(23,432,43,153,234),"Serie2");
+ $DataSet->AddPoint(array(1217541600,1217628000,1217714400,1217800800,1217887200),"Serie3");
+ $DataSet->AddSerie("Serie1");
+ $DataSet->AddSerie("Serie2");
+ $DataSet->SetAbsciseLabelSerie("Serie3");
+ $DataSet->SetSerieName("Incoming","Serie1");
+ $DataSet->SetSerieName("Outgoing","Serie2");
+ $DataSet->SetYAxisName("Call duration");
+ $DataSet->SetYAxisFormat("time");
+ $DataSet->SetXAxisFormat("date");
+
+ // Initialise the graph   
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(85,30,650,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+ 
+ // Draw the 0 line   
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+  
+ // Draw the line graph
+ $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);
+  
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(90,35,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(60,22,"example 17",50,50,50,585);
+ $Test->Render("example17.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example18.php b/gosa-core/include/pChart/Example18.php
new file mode 100644
index 0000000..5728898
--- /dev/null
+++ b/gosa-core/include/pChart/Example18.php
@@ -0,0 +1,55 @@
+<?php
+ /*
+     Example18 : Missing values
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(2,5,7,"","",5,6,4,8,4,"",2,5,6,4,5,6,7,6),"Serie1");
+ $DataSet->AddPoint(array(-1,-3,-1,-2,-4,-1,"",-4,-5,-3,-2,-2,-3,-3,-5,-4,-3,-1,""),"Serie2");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetSerieName("Raw #1","Serie1");
+ $DataSet->SetSerieName("Raw #2","Serie2");
+ $DataSet->SetYAxisName("Response time");
+ $DataSet->SetXAxisName("Sample #ID");
+
+ //print_r($DataSet->GetData());
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(55,30,585,185);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the line graph
+ $DataSet->RemoveSerie("Serie2");
+ $Test->drawFilledLineGraph($DataSet->GetData(),$DataSet->GetDataDescription(),60,TRUE);   
+
+ // Draw the curve graph
+ $DataSet->RemoveSerie("Serie1");
+ $DataSet->AddSerie("Serie2");
+ $Test->setShadowProperties(2,2,200,200,200,50);
+ $Test->drawCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription());
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);   
+ $Test->clearShadow();
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(50,22,"Example 18",50,50,50,585);
+ $Test->Render("example18.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example19.php b/gosa-core/include/pChart/Example19.php
new file mode 100644
index 0000000..cc430b5
--- /dev/null
+++ b/gosa-core/include/pChart/Example19.php
@@ -0,0 +1,44 @@
+<?php
+ /*
+     Example19 : Error reporting
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(10,4,3,2,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7),"Serie1");
+ $DataSet->AddPoint(array(1,4,2,6,2,3,0,1,-5,1,2,4,5,2,1,0,6,4,30),"Serie2");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetXAxisName("Samples");
+ $DataSet->SetYAxisName("Temperature");
+ $DataSet->SetSerieName("January","Serie1");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->reportWarnings("GD");
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(60,30,585,185);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the cubic curve graph
+ $Test->drawCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription());
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(50,22,"Example 19",50,50,50,585);
+ $Test->Render("example19.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example2.php b/gosa-core/include/pChart/Example2.php
new file mode 100644
index 0000000..5aa0605
--- /dev/null
+++ b/gosa-core/include/pChart/Example2.php
@@ -0,0 +1,43 @@
+<?php
+ /*
+     Example2 : A cubic curve graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(1,4,3,4,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7),"Serie1");
+ $DataSet->AddPoint(array(1,4,2,6,2,3,0,1,5,1,2,4,5,2,1,0,6,4,2),"Serie2");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetSerieName("January","Serie1");
+ $DataSet->SetSerieName("February","Serie2");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFixedScale(-2,8);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(50,30,585,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the cubic curve graph
+ $Test->drawCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription());
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(50,22,"Example 2",50,50,50,585);
+ $Test->Render("example2.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example20.php b/gosa-core/include/pChart/Example20.php
new file mode 100644
index 0000000..5f26321
--- /dev/null
+++ b/gosa-core/include/pChart/Example20.php
@@ -0,0 +1,44 @@
+<?php
+ /*
+     Example20 : A stacked bar graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4),"Serie1");
+ $DataSet->AddPoint(array(3,3,-4,1,-2,2,1,0,-1,6,3),"Serie2");
+ $DataSet->AddPoint(array(4,1,2,-1,-4,-2,3,2,1,2,2),"Serie3");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetSerieName("January","Serie1");
+ $DataSet->SetSerieName("February","Serie2");
+ $DataSet->SetSerieName("March","Serie3");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(50,30,680,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_ADDALL,150,150,150,TRUE,0,2,TRUE);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the bar graph
+ $Test->drawStackedBarGraph($DataSet->GetData(),$DataSet->GetDataDescription(),100);
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(596,150,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(50,22,"Example 20",50,50,50,585);
+ $Test->Render("example20.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example21.php b/gosa-core/include/pChart/Example21.php
new file mode 100644
index 0000000..a0c12ec
--- /dev/null
+++ b/gosa-core/include/pChart/Example21.php
@@ -0,0 +1,53 @@
+<?php
+ /*
+     Example21 : Playing with background
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(9,9,9,10,10,11,12,14,16,17,18,18,19,19,18,15,12,10,9),"Serie1");
+ $DataSet->AddPoint(array(10,11,11,12,12,13,14,15,17,19,22,24,23,23,22,20,18,16,14),"Serie2");
+ $DataSet->AddPoint(array(4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22),"Serie3");
+ $DataSet->AddAllSeries();
+ $DataSet->RemoveSerie("Serie3");
+ $DataSet->SetAbsciseLabelSerie("Serie3");
+ $DataSet->SetSerieName("January","Serie1");
+ $DataSet->SetSerieName("February","Serie2");
+ $DataSet->SetYAxisName("Temperature");
+ $DataSet->SetYAxisUnit("�C");
+ $DataSet->SetXAxisUnit("h");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->drawGraphAreaGradient(132,153,172,50,TARGET_BACKGROUND);
+
+ // Graph area setup
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(60,20,585,180);
+ $Test->drawGraphArea(213,217,221,FALSE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,213,217,221,TRUE,0,2);
+ $Test->drawGraphAreaGradient(162,183,202,50);
+ $Test->drawGrid(4,TRUE,230,230,230,20);
+
+ // Draw the line chart
+ $Test->setShadowProperties(3,3,0,0,0,30,4);
+ $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
+ $Test->clearShadow();
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),4,2,-1,-1,-1,TRUE);
+
+ // Draw the legend
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(605,142,$DataSet->GetDataDescription(),236,238,240,52,58,82);
+
+ // Draw the title
+ $Title = "Average Temperatures during the first months of 2008  ";
+ $Test->drawTextBox(0,210,700,230,$Title,0,255,255,255,ALIGN_RIGHT,TRUE,0,0,0,30);
+
+ // Render the picture
+ $Test->addBorder(2);
+ $Test->Render("example21.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example22.php b/gosa-core/include/pChart/Example22.php
new file mode 100644
index 0000000..ea2a735
--- /dev/null
+++ b/gosa-core/include/pChart/Example22.php
@@ -0,0 +1,50 @@
+<?php   
+ /*
+     Example22 : Customizing plot graphs
+ */
+
+ // Standard inclusions
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+  
+ // Dataset definition
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(60,70,90,110,100,90),"Serie1");
+ $DataSet->AddPoint(array(40,50,60,80,70,60),"Serie2");
+ $DataSet->AddPoint(array("Jan","Feb","Mar","Apr","May","Jun"),"Serie3");
+ $DataSet->AddSerie("Serie1");
+ $DataSet->AddSerie("Serie2");
+ $DataSet->SetAbsciseLabelSerie("Serie3");
+ $DataSet->SetSerieName("Company A","Serie1");
+ $DataSet->SetSerieName("Company B","Serie2");
+ $DataSet->SetYAxisName("Product sales");
+ $DataSet->SetYAxisUnit("k");
+ $DataSet->SetSerieSymbol("Serie1","Sample/Point_Asterisk.gif");
+ $DataSet->SetSerieSymbol("Serie2","Sample/Point_Cd.gif");
+
+ // Initialise the graph   
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(65,30,650,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+  
+ // Draw the title
+ $Test->setFontProperties("Fonts/pf_arma_five.ttf",6);
+ $Title = "Comparative product sales for company A & B  ";
+ $Test->drawTextBox(65,30,650,45,$Title,0,255,255,255,ALIGN_RIGHT,TRUE,0,0,0,30);
+  
+ // Draw the line graph
+ $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);
+  
+ // Draw the legend
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(80,60,$DataSet->GetDataDescription(),255,255,255);
+
+ // Render the chart
+ $Test->Render("example22.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example23.php b/gosa-core/include/pChart/Example23.php
new file mode 100644
index 0000000..778ebbb
--- /dev/null
+++ b/gosa-core/include/pChart/Example23.php
@@ -0,0 +1,49 @@
+<?php
+ /*
+     Example23 : Playing with background bis
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(9,9,9,10,10,11,12,14,16,17,18,18,19,19,18,15,12,10,9),"Serie1");
+ $DataSet->AddPoint(array(10,11,11,12,12,13,14,15,17,19,22,24,23,23,22,20,18,16,14),"Serie2");
+ $DataSet->AddPoint(array(4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22),"Serie3");
+ $DataSet->AddAllSeries();
+ $DataSet->RemoveSerie("Serie3");
+ $DataSet->SetAbsciseLabelSerie("Serie3");
+ $DataSet->SetSerieName("January","Serie1");
+ $DataSet->SetSerieName("February","Serie2");
+ $DataSet->SetYAxisName("Temperature");
+ $DataSet->SetYAxisUnit("�C");
+ $DataSet->SetXAxisUnit("h");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->drawGraphAreaGradient(132,173,131,50,TARGET_BACKGROUND);
+
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(120,20,675,190);
+ $Test->drawGraphArea(213,217,221,FALSE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_ADDALL,213,217,221,TRUE,0,2,TRUE);
+ $Test->drawGraphAreaGradient(163,203,167,50);
+ $Test->drawGrid(4,TRUE,230,230,230,20);
+
+ // Draw the bar chart
+ $Test->drawStackedBarGraph($DataSet->GetData(),$DataSet->GetDataDescription(),70);
+
+ // Draw the title
+ $Title = "  Average Temperatures during\r\n  the first months of 2008  ";
+ $Test->drawTextBox(0,0,50,230,$Title,90,255,255,255,ALIGN_BOTTOM_CENTER,TRUE,0,0,0,30);
+
+ // Draw the legend
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(610,10,$DataSet->GetDataDescription(),236,238,240,52,58,82);
+
+ // Render the picture
+ $Test->addBorder(2);
+ $Test->Render("example23.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example24.php b/gosa-core/include/pChart/Example24.php
new file mode 100644
index 0000000..f894690
--- /dev/null
+++ b/gosa-core/include/pChart/Example24.php
@@ -0,0 +1,53 @@
+<?php
+ /*
+     Example24 : X versus Y chart
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+
+ // Compute the points
+ for($i=0;$i<=360;$i=$i+10)
+  {
+   $DataSet->AddPoint(cos($i*3.14/180)*80+$i,"Serie1");
+   $DataSet->AddPoint(sin($i*3.14/180)*80+$i,"Serie2");
+  }
+
+ $DataSet->SetSerieName("Trigonometric function","Serie1");
+ $DataSet->AddSerie("Serie1");
+ $DataSet->AddSerie("Serie2");
+ $DataSet->SetXAxisName("X Axis");
+ $DataSet->SetYAxisName("Y Axis");
+
+ // Initialise the graph
+ $Test = new pChart(300,300);
+ $Test->drawGraphAreaGradient(0,0,0,-100,TARGET_BACKGROUND);
+
+ // Prepare the graph area
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(55,30,270,230);
+ $Test->drawXYScale($DataSet->GetData(),$DataSet->GetDataDescription(),"Serie1","Serie2",213,217,221,TRUE,45);
+ $Test->drawGraphArea(213,217,221,FALSE);
+ $Test->drawGraphAreaGradient(30,30,30,-50);
+ $Test->drawGrid(4,TRUE,230,230,230,20);
+
+ // Draw the chart
+ $Test->setShadowProperties(2,2,0,0,0,60,4);
+ $Test->drawXYGraph($DataSet->GetData(),$DataSet->GetDataDescription(),"Serie1","Serie2",0);
+ $Test->clearShadow();
+
+ // Draw the title
+ $Title = "Drawing X versus Y charts trigonometric functions  ";
+ $Test->drawTextBox(0,280,300,300,$Title,0,255,255,255,ALIGN_RIGHT,TRUE,0,0,0,30);
+
+ // Draw the legend
+ $Test->setFontProperties("Fonts/pf_arma_five.ttf",6);
+ $DataSet->RemoveSerie("Serie2");
+ $Test->drawLegend(160,5,$DataSet->GetDataDescription(),0,0,0,0,0,0,255,255,255,FALSE);
+
+ $Test->Render("example24.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example25.php b/gosa-core/include/pChart/Example25.php
new file mode 100644
index 0000000..1d991ba
--- /dev/null
+++ b/gosa-core/include/pChart/Example25.php
@@ -0,0 +1,55 @@
+<?php
+ /*
+     Example25 : Playing with shadow
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(9,9,9,10,10,11,12,14,16,17,18,18,19,19,18,15,12,10,9),"Serie1");
+ $DataSet->AddPoint(array(10,11,11,12,12,13,14,15,17,19,22,24,23,23,22,20,18,16,14),"Serie2");
+ $DataSet->AddPoint(array(4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22),"Serie3");
+ $DataSet->AddAllSeries();
+ $DataSet->RemoveSerie("Serie3");
+ $DataSet->SetAbsciseLabelSerie("Serie3");
+ $DataSet->SetSerieName("January","Serie1");
+ $DataSet->SetSerieName("February","Serie2");
+ $DataSet->SetYAxisName("Temperature");
+ $DataSet->SetYAxisUnit("�C");
+ $DataSet->SetXAxisUnit("h");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->drawGraphAreaGradient(90,90,90,90,TARGET_BACKGROUND);
+ $Test->setFixedScale(0,40,4);
+
+ // Graph area setup
+ $Test->setFontProperties("Fonts/pf_arma_five.ttf",6);
+ $Test->setGraphArea(60,40,680,200);
+ $Test->drawGraphArea(200,200,200,FALSE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,200,200,200,TRUE,0,2);
+ $Test->drawGraphAreaGradient(40,40,40,-50);
+ $Test->drawGrid(4,TRUE,230,230,230,10);
+
+ // Draw the line chart
+ $Test->setShadowProperties(3,3,0,0,0,30,4);
+ $Test->drawCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription());
+ $Test->clearShadow();
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,0,-1,-1,-1,TRUE);
+
+ // Write the title
+ $Test->setFontProperties("Fonts/MankSans.ttf",18);
+ $Test->setShadowProperties(1,1,0,0,0);
+ $Test->drawTitle(0,0,"Average temperatures",255,255,255,700,30,TRUE);
+ $Test->clearShadow();
+
+ // Draw the legend
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(610,5,$DataSet->GetDataDescription(),0,0,0,0,0,0,255,255,255,FALSE);
+
+ // Render the picture
+ $Test->Render("example25.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example26.php b/gosa-core/include/pChart/Example26.php
new file mode 100644
index 0000000..320a2ec
--- /dev/null
+++ b/gosa-core/include/pChart/Example26.php
@@ -0,0 +1,69 @@
+<?php
+ /*
+     Example26 : Two Y axis / shadow demonstration
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(110,101,118,108,110,106,104),"Serie1");
+ $DataSet->AddPoint(array(700,2705,2041,1712,2051,846,903),"Serie2");
+ $DataSet->AddPoint(array("03 Oct","02 Oct","01 Oct","30 Sep","29 Sep","28 Sep","27 Sep"),"Serie3");
+ $DataSet->AddSerie("Serie1");
+ $DataSet->SetAbsciseLabelSerie("Serie3");
+ $DataSet->SetSerieName("SourceForge Rank","Serie1");
+ $DataSet->SetSerieName("Web Hits","Serie2");
+
+ // Initialise the graph
+ $Test = new pChart(660,230);
+ $Test->drawGraphAreaGradient(90,90,90,90,TARGET_BACKGROUND);
+
+ // Prepare the graph area
+ $Test->setFontProperties("fonts/tahoma.ttf",8);
+ $Test->setGraphArea(60,40,595,190);
+
+ // Initialise graph area
+ $Test->setFontProperties("fonts/tahoma.ttf",8);
+
+ // Draw the SourceForge Rank graph
+ $DataSet->SetYAxisName("Sourceforge Rank");
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,213,217,221,TRUE,0,0);
+ $Test->drawGraphAreaGradient(40,40,40,-50);
+ $Test->drawGrid(4,TRUE,230,230,230,10);
+ $Test->setShadowProperties(3,3,0,0,0,30,4);
+ $Test->drawCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription());
+ $Test->clearShadow();
+ $Test->drawFilledCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription(),.1,30);
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);
+
+ // Clear the scale
+ $Test->clearScale();
+
+ // Draw the 2nd graph
+ $DataSet->RemoveSerie("Serie1");
+ $DataSet->AddSerie("Serie2");
+ $DataSet->SetYAxisName("Web Hits");
+ $Test->drawRightScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,213,217,221,TRUE,0,0);
+ $Test->drawGrid(4,TRUE,230,230,230,10);
+ $Test->setShadowProperties(3,3,0,0,0,30,4);
+ $Test->drawCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription());
+ $Test->clearShadow();
+ $Test->drawFilledCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription(),.1,30);
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);
+
+ // Write the legend (box less)
+ $Test->setFontProperties("fonts/tahoma.ttf",8);
+ $Test->drawLegend(530,5,$DataSet->GetDataDescription(),0,0,0,0,0,0,255,255,255,FALSE);
+
+ // Write the title
+ $Test->setFontProperties("fonts/MankSans.ttf",18);
+ $Test->setShadowProperties(1,1,0,0,0);
+ $Test->drawTitle(0,0,"SourceForge ranking summary",255,255,255,660,30,TRUE);
+ $Test->clearShadow();
+
+ // Render the picture
+ $Test->Render("example26.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example3.php b/gosa-core/include/pChart/Example3.php
new file mode 100644
index 0000000..0677be2
--- /dev/null
+++ b/gosa-core/include/pChart/Example3.php
@@ -0,0 +1,42 @@
+<?php
+ /*
+     Example3 : an overlayed bar graph, uggly no?
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4,-3,2,-3,3,5,1,0,7),"Serie1");
+ $DataSet->AddPoint(array(0,3,-4,1,-2,2,1,0,-1,6,3,-4,1,-4,2,4,0,-1,6),"Serie2");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetSerieName("January","Serie1");
+ $DataSet->SetSerieName("February","Serie2");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(50,30,585,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the bar graph
+ $Test->drawOverlayBarGraph($DataSet->GetData(),$DataSet->GetDataDescription());
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(50,22,"Example 3",50,50,50,585);
+ $Test->Render("example3.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example4.php b/gosa-core/include/pChart/Example4.php
new file mode 100644
index 0000000..278cd26
--- /dev/null
+++ b/gosa-core/include/pChart/Example4.php
@@ -0,0 +1,45 @@
+<?php
+ /*
+     Example4 : Showing how to draw area
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->ImportFromCSV("Sample/datawithtitle.csv",",",array(1,2,3),TRUE,0);
+ $DataSet->AddSerie("Serie2");
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->removeSerieName("Serie1");
+ $DataSet->removeSerieName("Serie3");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(60,30,680,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the area
+ $Test->drawArea($DataSet->GetData(),"Serie1","Serie3",239,238,227,50);
+
+ // Draw the line graph
+ $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(65,35,$DataSet->GetDataDescription(),250,250,250);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(60,22,"Example 4",50,50,50,585);
+ $Test->Render("example4.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example5.php b/gosa-core/include/pChart/Example5.php
new file mode 100644
index 0000000..d643b5a
--- /dev/null
+++ b/gosa-core/include/pChart/Example5.php
@@ -0,0 +1,42 @@
+<?php
+ /*
+     Example5 : A limits graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4,-3,2,-3,3,5,1,0,7),"Serie1");
+ $DataSet->AddPoint(array(2,5,7,5,1,5,6,4,8,4,0,2,5,6,4,5,6,7,6),"Serie2");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetSerieName("January","Serie1");
+ $DataSet->SetSerieName("February","Serie2");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(50,30,585,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the limit graph
+ $Test->drawLimitsGraph($DataSet->GetData(),$DataSet->GetDataDescription(),180,180,180);
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(50,22,"Example 5",50,50,50,585);
+ $Test->Render("example5.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example6.php b/gosa-core/include/pChart/Example6.php
new file mode 100644
index 0000000..689f297
--- /dev/null
+++ b/gosa-core/include/pChart/Example6.php
@@ -0,0 +1,39 @@
+<?php
+ /*
+     Example6 : A simple filled line graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->ImportFromCSV("Sample/datawithtitle.csv",",",array(1,2,3),TRUE,0);
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(60,30,680,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the filled line graph
+ $Test->drawFilledLineGraph($DataSet->GetData(),$DataSet->GetDataDescription(),50,TRUE);
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(65,35,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(60,22,"Example 6",50,50,50,585);
+ $Test->Render("example6.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example7.php b/gosa-core/include/pChart/Example7.php
new file mode 100644
index 0000000..d4e05ed
--- /dev/null
+++ b/gosa-core/include/pChart/Example7.php
@@ -0,0 +1,42 @@
+<?php
+ /*
+     Example7 : A filled cubic curve graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(1,4,3,2,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7),"Serie1");
+ $DataSet->AddPoint(array(1,4,2,6,2,3,0,1,5,1,2,4,5,2,1,0,6,4,2),"Serie2");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetSerieName("January","Serie1");
+ $DataSet->SetSerieName("February","Serie2");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(50,30,585,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the cubic curve graph
+ $Test->drawFilledCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription(),.1,50);
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(50,22,"Example 7",50,50,50,585);
+ $Test->Render("example7.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example8.php b/gosa-core/include/pChart/Example8.php
new file mode 100644
index 0000000..f6cb98f
--- /dev/null
+++ b/gosa-core/include/pChart/Example8.php
@@ -0,0 +1,41 @@
+<?php
+ /*
+     Example8 : A radar graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array("Memory","Disk","Network","Slots","CPU"),"Label");
+ $DataSet->AddPoint(array(1,2,3,4,3),"Serie1");
+ $DataSet->AddPoint(array(1,4,2,6,2),"Serie2");
+ $DataSet->AddSerie("Serie1");
+ $DataSet->AddSerie("Serie2");
+ $DataSet->SetAbsciseLabelSerie("Label");
+
+
+ $DataSet->SetSerieName("Reference","Serie1");
+ $DataSet->SetSerieName("Tested computer","Serie2");
+
+ // Initialise the graph
+ $Test = new pChart(400,400);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawFilledRoundedRectangle(7,7,393,393,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,395,395,5,230,230,230);
+ $Test->setGraphArea(30,30,370,370);
+ $Test->drawFilledRoundedRectangle(30,30,370,370,5,255,255,255);
+ $Test->drawRoundedRectangle(30,30,370,370,5,220,220,220);
+
+ // Draw the radar graph
+ $Test->drawRadarAxis($DataSet->GetData(),$DataSet->GetDataDescription(),TRUE,20,120,120,120,230,230,230);
+ $Test->drawFilledRadar($DataSet->GetData(),$DataSet->GetDataDescription(),50,20);
+
+ // Finish the graph
+ $Test->drawLegend(15,15,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(0,22,"Example 8",50,50,50,400);
+ $Test->Render("example8.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Example9.php b/gosa-core/include/pChart/Example9.php
new file mode 100644
index 0000000..aa2a6cc
--- /dev/null
+++ b/gosa-core/include/pChart/Example9.php
@@ -0,0 +1,49 @@
+<?php
+ /*
+     Example9 : Showing how to use labels
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(0,70,70,0,0,70,70,0,0,70),"Serie1");
+ $DataSet->AddPoint(array(0.5,2,4.5,8,12.5,18,24.5,32,40.5,50),"Serie2");
+
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetSerieName("January","Serie1");
+ $DataSet->SetSerieName("February","Serie2");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(50,30,585,200);
+ $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the line graph
+ $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);
+
+ // Set labels
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setLabel($DataSet->GetData(),$DataSet->GetDataDescription(),"Serie1","2","Daily incomes",221,230,174);
+ $Test->setLabel($DataSet->GetData(),$DataSet->GetDataDescription(),"Serie2","6","Production break",239,233,195);
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(50,22,"Example 9",50,50,50,585);
+ $Test->Render("example9.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/GeosansLight.ttf b/gosa-core/include/pChart/GeosansLight.ttf
new file mode 100644
index 0000000..055932a
Binary files /dev/null and b/gosa-core/include/pChart/GeosansLight.ttf differ
diff --git a/gosa-core/include/pChart/HomePage3.php b/gosa-core/include/pChart/HomePage3.php
new file mode 100644
index 0000000..e6b0fca
--- /dev/null
+++ b/gosa-core/include/pChart/HomePage3.php
@@ -0,0 +1,70 @@
+<?php
+ /*
+     Example21 : A single stacked bar graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(1,2,5),"Serie1");
+ $DataSet->AddPoint(array(3,2,2),"Serie2");
+ $DataSet->AddPoint(array(3,4,1),"Serie3");
+ $DataSet->AddPoint(array("A#~1","A#~2","A#~3"),"Labels");
+ $DataSet->AddAllSeries();
+ $DataSet->RemoveSerie("Labels");
+ $DataSet->SetAbsciseLabelSerie("Labels");
+ $DataSet->SetSerieName("Alpha","Serie1");
+ $DataSet->SetSerieName("Beta","Serie2");
+ $DataSet->SetSerieName("Gama","Serie3");
+ $DataSet->SetXAxisName("Samples IDs");
+ $DataSet->SetYAxisName("Test Marker");
+ $DataSet->SetYAxisUnit("�m");
+
+ // Initialise the graph
+ $Test = new pChart(380,400);
+ $Test->drawGraphAreaGradient(90,90,90,90,TARGET_BACKGROUND);
+
+ // Graph area setup
+ $Test->setFontProperties("Fonts/pf_arma_five.ttf",6);
+ $Test->setGraphArea(110,180,350,360);
+ $Test->drawGraphArea(213,217,221,FALSE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_ADDALLSTART0,213,217,221,TRUE,0,2,TRUE);
+ $Test->drawGraphAreaGradient(40,40,40,-50);
+ $Test->drawGrid(4,TRUE,230,230,230,5);
+
+ // Draw the title   
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Title = "  Average growth size for selected\r\n  DNA samples  ";   
+ $Test->setLineStyle(2);
+ $Test->drawLine(51,-2,51,402,0,0,0);   
+ $Test->setLineStyle(1);
+ $Test->drawTextBox(0,0,50,400,$Title,90,255,255,255,ALIGN_BOTTOM_CENTER,TRUE,0,0,0,30);   
+ $Test->setFontProperties("Fonts/pf_arma_five.ttf",6);
+
+ // Draw the bar graph
+ $Test->drawStackedBarGraph($DataSet->GetData(),$DataSet->GetDataDescription(),70);
+
+ // Second chart
+ $DataSet->SetXAxisName("");
+ $Test->clearScale();
+ $Test->setGraphArea(110,20,350,140);
+ $Test->drawGraphArea(213,217,221,FALSE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_START0,213,217,221,TRUE,0,2);
+ $Test->drawGraphAreaGradient(40,40,40,-50);
+ $Test->drawGrid(4,TRUE,230,230,230,5);
+
+ // Draw the line chart
+ $Test->setShadowProperties(0,3,0,0,0,30,4);
+ $Test->drawFilledCubicCurve($DataSet->GetData(),$DataSet->GetDataDescription(),.1,40);
+ $Test->clearShadow();
+
+ // Write the legend
+ $Test->drawLegend(-2,3,$DataSet->GetDataDescription(),0,0,0,0,0,0,255,255,255,FALSE);
+
+ // Finish the graph
+ $Test->addBorder(1);
+ $Test->Render("HomePage2.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/MankSans.ttf b/gosa-core/include/pChart/MankSans.ttf
new file mode 100644
index 0000000..a6146a9
Binary files /dev/null and b/gosa-core/include/pChart/MankSans.ttf differ
diff --git a/gosa-core/include/pChart/Naked.php b/gosa-core/include/pChart/Naked.php
new file mode 100644
index 0000000..0699611
--- /dev/null
+++ b/gosa-core/include/pChart/Naked.php
@@ -0,0 +1,34 @@
+<?php
+ /*
+     Naked: Naked and easy!
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(1,4,3,2,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7));
+ $DataSet->AddSerie();
+ $DataSet->SetSerieName("Sample data","Serie1");
+
+ // Initialise the graph
+ $Test = new pChart(700,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->setGraphArea(40,30,680,200);
+ $Test->drawGraphArea(252,252,252,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
+ $Test->drawGrid(4,TRUE,230,230,230,70);
+
+ // Draw the line graph
+ $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
+ $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(45,35,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(60,22,"My pretty graph",50,50,50,585);
+ $Test->Render("Naked.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/Point_Asterisk.gif b/gosa-core/include/pChart/Point_Asterisk.gif
new file mode 100644
index 0000000..f75e9b8
Binary files /dev/null and b/gosa-core/include/pChart/Point_Asterisk.gif differ
diff --git a/gosa-core/include/pChart/Point_Cd.gif b/gosa-core/include/pChart/Point_Cd.gif
new file mode 100644
index 0000000..814c642
Binary files /dev/null and b/gosa-core/include/pChart/Point_Cd.gif differ
diff --git a/gosa-core/include/pChart/Sav143.tmp b/gosa-core/include/pChart/Sav143.tmp
new file mode 100644
index 0000000..e69de29
diff --git a/gosa-core/include/pChart/Silkscreen.ttf b/gosa-core/include/pChart/Silkscreen.ttf
new file mode 100644
index 0000000..ae4425d
Binary files /dev/null and b/gosa-core/include/pChart/Silkscreen.ttf differ
diff --git a/gosa-core/include/pChart/SmallGraph.php b/gosa-core/include/pChart/SmallGraph.php
new file mode 100644
index 0000000..5e0aa79
--- /dev/null
+++ b/gosa-core/include/pChart/SmallGraph.php
@@ -0,0 +1,30 @@
+<?php
+ /*
+     SmallGraph: Let's go fast, draw small!
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4,-3,2,-3,3,5,1,0,7),"Serie1");
+ $DataSet->AddAllSeries();
+ $DataSet->SetAbsciseLabelSerie();
+ $DataSet->SetSerieName("January","Serie1");
+
+ // Initialise the graph
+ $Test = new pChart(100,30);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawFilledRoundedRectangle(2,2,98,28,2,230,230,230);
+ $Test->setGraphArea(5,5,95,25);
+ $Test->drawGraphArea(255,255,255);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,220,220,220,FALSE);
+
+ // Draw the line graph
+ $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
+
+ // Finish the graph
+ $Test->Render("SmallGraph.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/SmallStacked.php b/gosa-core/include/pChart/SmallStacked.php
new file mode 100644
index 0000000..a7dedb8
--- /dev/null
+++ b/gosa-core/include/pChart/SmallStacked.php
@@ -0,0 +1,48 @@
+<?php
+ /*
+     Example21 : A single stacked bar graph
+ */
+
+ // Standard inclusions   
+ include("pChart/pData.class");
+ include("pChart/pChart.class");
+
+ // Dataset definition 
+ $DataSet = new pData;
+ $DataSet->AddPoint(1,"Serie1");
+ $DataSet->AddPoint(3,"Serie2");
+ $DataSet->AddPoint(3,"Serie3");
+ $DataSet->AddPoint("A#~1","Labels");
+ $DataSet->AddAllSeries();
+ $DataSet->RemoveSerie("Labels");
+ $DataSet->SetAbsciseLabelSerie("Labels");
+ $DataSet->SetSerieName("Alpha","Serie1");
+ $DataSet->SetSerieName("Beta","Serie2");
+ $DataSet->SetSerieName("Gama","Serie3");
+ $DataSet->SetYAxisName("Test Marker");
+ $DataSet->SetYAxisUnit("�m");
+
+ // Initialise the graph
+ $Test = new pChart(210,230);
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->setGraphArea(65,30,125,200);
+ $Test->drawFilledRoundedRectangle(7,7,203,223,5,240,240,240);
+ $Test->drawRoundedRectangle(5,5,205,225,5,230,230,230);
+ $Test->drawGraphArea(255,255,255,TRUE);
+ $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_ADDALLSTART0,150,150,150,TRUE,0,2,TRUE);
+ $Test->drawGrid(4,TRUE,230,230,230,50);
+
+ // Draw the 0 line
+ $Test->setFontProperties("Fonts/tahoma.ttf",6);
+ $Test->drawTreshold(0,143,55,72,TRUE,TRUE);
+
+ // Draw the bar graph
+ $Test->drawStackedBarGraph($DataSet->GetData(),$DataSet->GetDataDescription(),50);
+
+ // Finish the graph
+ $Test->setFontProperties("Fonts/tahoma.ttf",8);
+ $Test->drawLegend(135,150,$DataSet->GetDataDescription(),255,255,255);
+ $Test->setFontProperties("Fonts/tahoma.ttf",10);
+ $Test->drawTitle(0,22,"Sample size",50,50,50,210);
+ $Test->Render("SmallStacked.png");
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/buildAll.cmd b/gosa-core/include/pChart/buildAll.cmd
new file mode 100644
index 0000000..f22b1f7
--- /dev/null
+++ b/gosa-core/include/pChart/buildAll.cmd
@@ -0,0 +1,63 @@
+ECHO OFF
+CLS
+ECHO Processing all examples
+ECHO.
+ECHO  [01/28] A simple line chart
+ php -q %~dp0Example1.php
+ECHO  [02/28] A cubic curve graph
+ php -q %~dp0Example2.php
+ECHO  [03/28] An overlayed bar graph
+ php -q %~dp0Example3.php
+ECHO  [04/28] Showing how to draw area
+ php -q %~dp0Example4.php
+ECHO  [05/28] A limits graph
+ php -q %~dp0Example5.php
+ECHO  [06/28] A simple filled line graph
+ php -q %~dp0Example6.php
+ECHO  [07/28] A filled cubic curve graph
+ php -q %~dp0Example7.php
+ECHO  [08/28] A radar graph
+ php -q %~dp0Example8.php
+ECHO  [09/28] Showing how to use labels
+ php -q %~dp0Example9.php
+ECHO  [10/28] A 3D exploded pie graph
+ php -q %~dp0Example10.php
+ECHO  [11/28] A true bar graph
+ php -q %~dp0Example12.php
+ECHO  [12/28] A 2D exploded pie graph
+ php -q %~dp0Example13.php
+ECHO  [13/28] A smooth flat pie graph
+ php -q %~dp0Example14.php
+ECHO  [14/28] Playing with line style and pictures inclusion
+ php -q %~dp0Example15.php
+ECHO  [15/28] Importing CSV data
+ php -q %~dp0Example16.php
+ECHO  [16/28] Playing with axis
+ php -q %~dp0Example17.php
+ECHO  [17/28] Missing values
+ php -q %~dp0Example18.php
+ECHO  [18/28] Error reporting
+ php -q %~dp0Example19.php
+ECHO  [19/28] Stacked bar graph
+ php -q %~dp0Example20.php
+ECHO  [20/28] Playing with background
+ php -q %~dp0Example21.php
+ECHO  [21/28] Customizing plot charts
+ php -q %~dp0Example22.php
+ECHO  [22/28] Playing with background - Bis
+ php -q %~dp0Example23.php
+ECHO  [23/28] X Versus Y chart
+ php -q %~dp0Example24.php
+ECHO  [24/28] Using shadows
+ php -q %~dp0Example25.php
+ECHO  [25/28] Two Y axis / shadow demonstration
+ php -q %~dp0Example26.php
+ECHO  [26/28] Naked and easy!
+ php -q %~dp0Naked.php
+ECHO  [27/28] Let's go fast, draw small!
+ php -q %~dp0SmallGraph.php
+ECHO  [28/28] A Small stacked chart
+ php -q %~dp0SmallStacked.php
+ECHO.
+ECHO Rendering complete!
+PAUSE
diff --git a/gosa-core/include/pChart/bulkdata.csv b/gosa-core/include/pChart/bulkdata.csv
new file mode 100644
index 0000000..8672331
--- /dev/null
+++ b/gosa-core/include/pChart/bulkdata.csv
@@ -0,0 +1,20 @@
+1,0,1,0.5
+2,1.204119983,4,2
+3,4.294091292,9,4.5
+4,9.632959861,16,8
+5,17.47425011,25,12.5
+6,28.01344501,36,18
+7,41.40980396,49,24.5
+8,57.79775917,64,32
+9,77.29364326,81,40.5
+10,100,100,50
+11,126.0085149,121,60.5
+12,155.4020994,144,72
+13,188.2564265,169,84.5
+14,224.641095,196,98
+15,264.6205333,225,112.5
+16,308.2547156,256,128
+17,355.5997383,289,144.5
+18,406.7082917,324,162
+19,461.6300499,361,180.5
+20,520.4119983,400,200
diff --git a/gosa-core/include/pChart/datawithtitle.csv b/gosa-core/include/pChart/datawithtitle.csv
new file mode 100644
index 0000000..9761949
--- /dev/null
+++ b/gosa-core/include/pChart/datawithtitle.csv
@@ -0,0 +1,21 @@
+Zob,January,February,March
+1,0,1,0.5
+2,1.204119983,4,2
+3,4.294091292,9,4.5
+4,9.632959861,16,8
+5,17.47425011,25,12.5
+6,28.01344501,36,18
+7,41.40980396,49,24.5
+8,57.79775917,64,32
+9,77.29364326,81,40.5
+10,100,100,50
+11,126.0085149,121,60.5
+12,155.4020994,144,72
+13,188.2564265,169,84.5
+14,224.641095,196,98
+15,264.6205333,225,112.5
+16,308.2547156,256,128
+17,355.5997383,289,144.5
+18,406.7082917,324,162
+19,461.6300499,361,180.5
+20,520.4119983,400,200
diff --git a/gosa-core/include/pChart/logo.png b/gosa-core/include/pChart/logo.png
new file mode 100644
index 0000000..8df1e4b
Binary files /dev/null and b/gosa-core/include/pChart/logo.png differ
diff --git a/gosa-core/include/pChart/pCache.class b/gosa-core/include/pChart/pCache.class
new file mode 100644
index 0000000..454bbad
--- /dev/null
+++ b/gosa-core/include/pChart/pCache.class
@@ -0,0 +1,119 @@
+<?php
+ /*
+     pCache - Faster renderding using data cache
+     Copyright (C) 2008 Jean-Damien POGOLOTTI
+     Version  1.1.2 last updated on 06/17/08
+
+     http://pchart.sourceforge.net
+
+     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 1,2,3 of the License, or
+     (at your option) any later version.
+
+     This program 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 General Public License for more details.
+
+     You should have received a copy of the GNU General Public License
+     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+     Class initialisation :
+      pCache($CacheFolder="Cache/")
+     Cache management :
+      IsInCache($Data)
+      GetFromCache($ID,$Data)
+      WriteToCache($ID,$Data,$Picture)
+      DeleteFromCache($ID,$Data)
+      ClearCache()
+     Inner functions :
+      GetHash($ID,$Data)
+ */
+
+ /* pCache class definition */
+ class pCache
+  {
+   var $HashKey     = "";
+   var $CacheFolder = "Cache/";
+
+   /* Create the pCache object */
+   function pCache($CacheFolder="Cache/")
+    {
+     $this->CacheFolder = $CacheFolder;
+    }
+
+   /* This function is clearing the cache folder */
+   function ClearCache()
+    {
+     if ($handle = opendir($this->CacheFolder))
+      {
+       while (false !== ($file = readdir($handle)))
+        {
+         if ( $file != "." && $file != ".." )
+          unlink($this->CacheFolder.$file);
+        }
+       closedir($handle);
+      }
+    }
+
+   /* This function is checking if we have an offline version of this chart */
+   function IsInCache($ID,$Data,$Hash="")
+    {
+     if ( $Hash == "" )
+      $Hash = $this->GetHash($ID,$Data);
+
+     if ( file_exists($this->CacheFolder.$Hash) )
+      return(TRUE);
+     else
+      return(FALSE);
+    }
+
+   /* This function is making a copy of drawn chart in the cache folder */
+   function WriteToCache($ID,$Data,$Picture)
+    {
+     $Hash     = $this->GetHash($ID,$Data);
+     $FileName = $this->CacheFolder.$Hash;
+
+     imagepng($Picture->Picture,$FileName);
+    }
+
+   /* This function is removing any cached copy of this chart */
+   function DeleteFromCache($ID,$Data)
+    {
+     $Hash     = $this->GetHash($ID,$Data);
+     $FileName = $this->CacheFolder.$Hash;
+
+     if ( file_exists($FileName ) )
+      unlink($FileName);
+    }
+
+   /* This function is retrieving the cached picture if applicable */
+   function GetFromCache($ID,$Data)
+    {
+     $Hash     = $this->GetHash($ID,$Data);
+     if ( $this->IsInCache("","",$Hash ) )
+      {
+       $FileName = $this->CacheFolder.$Hash;
+
+       header('Content-type: image/png');
+       @readfile($FileName);
+       exit();
+      }
+    }
+
+   /* This function is building the graph unique hash key */
+   function GetHash($ID,$Data)
+    {
+     $mKey = "$ID";
+     foreach($Data as $key => $Values)
+      {
+       $tKey = "";
+       foreach($Values as $Serie => $Value)
+        $tKey = $tKey.$Serie.$Value;
+       $mKey = $mKey.md5($tKey);
+      }
+     return(md5($mKey));
+    }
+  }
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/pChart.1.27d.rar b/gosa-core/include/pChart/pChart.1.27d.rar
new file mode 100644
index 0000000..3fa26d4
Binary files /dev/null and b/gosa-core/include/pChart/pChart.1.27d.rar differ
diff --git a/gosa-core/include/pChart/pChart.class b/gosa-core/include/pChart/pChart.class
new file mode 100644
index 0000000..2b3303e
--- /dev/null
+++ b/gosa-core/include/pChart/pChart.class
@@ -0,0 +1,3489 @@
+<?php
+ /*
+     pChart - a PHP class to build charts!
+     Copyright (C) 2008 Jean-Damien POGOLOTTI
+     Version  1.27d last updated on 09/30/08
+
+     http://pchart.sourceforge.net
+
+     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 1,2,3 of the License, or
+     (at your option) any later version.
+
+     This program 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 General Public License for more details.
+
+     You should have received a copy of the GNU General Public License
+     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+     Class initialisation :
+      pChart($XSize,$YSize)
+     Draw methods :
+      drawBackground($R,$G,$B)
+      drawRectangle($X1,$Y1,$X2,$Y2,$R,$G,$B)
+      drawFilledRectangle($X1,$Y1,$X2,$Y2,$R,$G,$B,$DrawBorder=TRUE,$Alpha=100)
+      drawRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,$R,$G,$B)
+      drawFilledRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,$R,$G,$B)
+      drawCircle($Xc,$Yc,$Height,$R,$G,$B,$Width=0)
+      drawFilledCircle($Xc,$Yc,$Height,$R,$G,$B,$Width=0)
+      drawEllipse($Xc,$Yc,$Height,$Width,$R,$G,$B)
+      drawFilledEllipse($Xc,$Yc,$Height,$Width,$R,$G,$B)
+      drawLine($X1,$Y1,$X2,$Y2,$R,$G,$B,$GraphFunction=FALSE)
+      drawDottedLine($X1,$Y1,$X2,$Y2,$DotSize,$R,$G,$B)
+      drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B)
+      drawFromPNG($FileName,$X,$Y,$Alpha=100)
+      drawFromGIF($FileName,$X,$Y,$Alpha=100)
+      drawFromJPG($FileName,$X,$Y,$Alpha=100)
+     Graph setup methods :
+      addBorder($Width=3,$R=0,$G=0,$B=0)
+      clearScale()
+      clearShadow()
+      createColorGradientPalette($R1,$G1,$B1,$R2,$G2,$B2,$Shades)
+      drawGraphArea($R,$G,$B,$Stripe=FALSE)
+      drawScale($Data,$DataDescription,$ScaleMode,$R,$G,$B,$DrawTicks=TRUE,$Angle=0,$Decimals=1,$WithMargin=FALSE,$SkipLabels=1,$RightScale=FALSE)
+      drawRightScale($Data,$DataDescription,$ScaleMode,$R,$G,$B,$DrawTicks=TRUE,$Angle=0,$Decimals=1,$WithMargin=FALSE,$SkipLabels=1)
+      drawXYScale($Data,$DataDescription,$YSerieName,$XSerieName,$R,$G,$B,$WithMargin=0,$Angle=0,$Decimals=1)
+      drawGrid($LineWidth,$Mosaic=TRUE,$R=220,$G=220,$B=220,$Alpha=100)
+      drawLegend($XPos,$YPos,$DataDescription,$R,$G,$B,$Rs=-1,$Gs=-1,$Bs=-1,$Rt=0,$Gt=0,$Bt=0,$Border=FALSE)
+      drawPieLegend($XPos,$YPos,$Data,$DataDescription,$R,$G,$B)
+      drawTitle($XPos,$YPos,$Value,$R,$G,$B,$XPos2=-1,$YPos2=-1,$Shadow=FALSE)
+      drawTreshold($Value,$R,$G,$B,$ShowLabel=FALSE,$ShowOnRight=FALSE,$TickWidth=4,$FreeText=NULL)
+      drawArea($Data,$Serie1,$Serie2,$R,$G,$B,$Alpha = 50)
+      drawRadarAxis($Data,$DataDescription,$Mosaic=TRUE,$BorderOffset=10,$A_R=60,$A_G=60,$A_B=60,$S_R=200,$S_G=200,$S_B=200,$MaxValue=-1)
+      drawGraphAreaGradient($R,$G,$B,$Decay,$Target=TARGET_GRAPHAREA)
+      drawTextBox($X1,$Y1,$X2,$Y2,$Text,$Angle=0,$R=255,$G=255,$B=255,$Align=ALIGN_LEFT,$Shadow=TRUE,$BgR=-1,$BgG=-1,$BgB=-1,$Alpha=100)
+      getLegendBoxSize($DataDescription)
+      loadColorPalette($FileName,$Delimiter=",")
+      reportWarnings($Interface="CLI")
+      setGraphArea($X1,$Y1,$X2,$Y2)
+      setLabel($Data,$DataDescription,$SerieName,$ValueName,$Caption,$R=210,$G=210,$B=210)
+      setColorPalette($ID,$R,$G,$B)
+      setCurrency($Currency)
+      setDateFormat($Format)
+      setFontProperties($FontName,$FontSize)
+      setLineStyle($Width=1,$DotSize=0)
+      setFixedScale($VMin,$VMax,$Divisions=5,$VXMin=0,$VXMin=0,$XDivisions=5)
+      setShadowProperties($XDistance=1,$YDistance=1,$R=60,$G=60,$B=60,$Alpha)
+      writeValues($Data,$DataDescription,$Series)
+    Graphs methods :
+      drawPlotGraph($Data,$DataDescription,$BigRadius=5,$SmallRadius=2,$R2=-1,$G2=-1,$B2=-1,$Shadow=FALSE)
+      drawXYPlotGraph($Data,$DataDescription,$YSerieName,$XSerieName,$PaletteID=0,$BigRadius=5,$SmallRadius=2,$R2=-1,$G2=-1,$B2=-1)
+      drawLineGraph($Data,$DataDescription,$SerieName="")
+      drawXYGraph($Data,$DataDescription,$YSerieName,$XSerieName,$PaletteID=0)
+      drawFilledLineGraph($Data,$DataDescription,$Alpha=100,$AroundZero=FALSE)
+      drawCubicCurve($Data,$DataDescription,$Accuracy=.1,$SerieName="")
+      drawFilledCubicCurve($Data,$DataDescription,$Accuracy=.1,$Alpha=100,$AroundZero=FALSE)
+      drawOverlayBarGraph($Data,$DataDescription,$Alpha=50)
+      drawBarGraph($Data,$DataDescription,$Shadow=FALSE)
+      drawStackedBarGraph($Data,$DataDescription,$Alpha=50,$Contiguous=FALSE)
+      drawLimitsGraph($Data,$DataDescription,$R=0,$G=0,$B=0)
+      drawRadar($Data,$DataDescription,$BorderOffset=10,$MaxValue=-1)
+      drawFilledRadar($Data,$DataDescription,$Alpha=50,$BorderOffset=10,$MaxValue=-1)
+      drawBasicPieGraph($Data,$DataDescription,$XPos,$YPos,$Radius=100,$DrawLabels=PIE_NOLABEL,$R=255,$G=255,$B=255,$Decimals=0)
+      drawFlatPieGraph($Data,$DataDescription,$XPos,$YPos,$Radius=100,$DrawLabels=PIE_NOLABEL,$SpliceDistance=0,$Decimals = 0)
+      drawFlatPieGraphWithShadow($Data,$DataDescription,$XPos,$YPos,$Radius=100,$DrawLabels=PIE_NOLABEL,$SpliceDistance=0,$Decimals = 0)
+      drawPieGraph($Data,$DataDescription,$XPos,$YPos,$Radius=100,$DrawLabels=PIE_NOLABEL,$EnhanceColors=TRUE,$Skew=60,$SpliceHeight=20,$SpliceDistance=0,$Decimals=0)
+     Other methods :
+      setImageMap($Mode=TRUE,$GraphID="MyGraph")
+      getImageMap($MapName,$Flush=TRUE)
+      Render($FileName)
+      Stroke()
+ */
+ 
+ /* Declare some script wide constants */
+ define("SCALE_NORMAL",1);
+ define("SCALE_ADDALL",2);
+ define("SCALE_START0",3);
+ define("SCALE_ADDALLSTART0",4);
+ define("PIE_PERCENTAGE", 1);
+ define("PIE_LABELS",2);
+ define("PIE_NOLABEL",3);
+ define("PIE_PERCENTAGE_LABEL", 4);
+ define("TARGET_GRAPHAREA",1);
+ define("TARGET_BACKGROUND",2);
+ define("ALIGN_TOP_LEFT",1);
+ define("ALIGN_TOP_CENTER",2);
+ define("ALIGN_TOP_RIGHT",3);
+ define("ALIGN_LEFT",4);
+ define("ALIGN_CENTER",5);
+ define("ALIGN_RIGHT",6);
+ define("ALIGN_BOTTOM_LEFT",7);
+ define("ALIGN_BOTTOM_CENTER",8);
+ define("ALIGN_BOTTOM_RIGHT",9);
+
+ /* pChart class definition */
+ class pChart
+  {
+   /* Palettes definition */
+   var $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46),
+                        "1"=>array("R"=>224,"G"=>100,"B"=>46),
+                        "2"=>array("R"=>224,"G"=>214,"B"=>46),
+                        "3"=>array("R"=>46,"G"=>151,"B"=>224),
+                        "4"=>array("R"=>176,"G"=>46,"B"=>224),
+                        "5"=>array("R"=>224,"G"=>46,"B"=>117),
+                        "6"=>array("R"=>92,"G"=>224,"B"=>46),
+                        "7"=>array("R"=>224,"G"=>176,"B"=>46));
+
+   /* Some static vars used in the class */
+   var $XSize          = NULL;
+   var $YSize          = NULL;
+   var $Picture        = NULL;
+   var $ImageMap       = NULL;
+
+   /* Error management */
+   var $ErrorReporting = FALSE;
+   var $ErrorInterface = "CLI";
+   var $Errors         = NULL;
+   var $ErrorFontName  = "Fonts/pf_arma_five.ttf";
+   var $ErrorFontSize  = 6;
+
+   /* vars related to the graphing area */
+   var $GArea_X1        = NULL;
+   var $GArea_Y1        = NULL;
+   var $GArea_X2        = NULL;
+   var $GArea_Y2        = NULL;
+   var $GAreaXOffset    = NULL;
+   var $VMax            = NULL;
+   var $VMin            = NULL;
+   var $VXMax           = NULL;
+   var $VXMin           = NULL;
+   var $Divisions       = NULL;
+   var $XDivisions      = NULL;
+   var $DivisionHeight  = NULL;
+   var $XDivisionHeight = NULL;
+   var $DivisionCount   = NULL;
+   var $XDivisionCount  = NULL;
+   var $DivisionRatio   = NULL;
+   var $XDivisionRatio  = NULL;
+   var $DivisionWidth   = NULL;
+   var $DataCount       = NULL;
+   var $Currency        = "\$";
+
+   /* Text format related vars */
+   var $FontName       = NULL;
+   var $FontSize       = NULL;
+   var $DateFormat     = "d/m/Y";
+
+   /* Lines format related vars */
+   var $LineWidth      = 1;
+   var $LineDotSize    = 0;
+
+   /* Layer related vars */
+   var $Layers         = NULL;
+
+   /* Set antialias quality : 0 is maximum, 100 minimum*/
+   var $AntialiasQuality = 0;
+
+   /* Shadow settings */
+   var $ShadowActive    = FALSE;
+   var $ShadowXDistance = 1;
+   var $ShadowYDistance = 1;
+   var $ShadowRColor    = 60;
+   var $ShadowGColor    = 60;
+   var $ShadowBColor    = 60;
+   var $ShadowAlpha     = 50;
+   var $ShadowBlur      = 0;
+
+   /* Image Map settings */
+   var $BuildMap         = FALSE;
+   var $MapFunction      = NULL;
+   var $tmpFolder        = "tmp/";
+   var $MapID            = NULL;
+
+   /* This function create the background picture */
+   function pChart($XSize,$YSize)
+    {
+     $this->XSize   = $XSize;
+     $this->YSize   = $YSize;
+     $this->Picture = imagecreatetruecolor($XSize,$YSize);
+
+     $C_White =$this->AllocateColor($this->Picture,255,255,255);
+     imagefilledrectangle($this->Picture,0,0,$XSize,$YSize,$C_White);
+     imagecolortransparent($this->Picture,$C_White);
+
+     $this->setFontProperties("tahoma.ttf",8);
+    }
+
+  /* Set if warnings should be reported */
+  function reportWarnings($Interface="CLI")
+   {
+    $this->ErrorReporting = TRUE;
+    $this->ErrorInterface = $Interface;
+    }
+
+   /* Set the font properties */
+   function setFontProperties($FontName,$FontSize)
+    {
+     $this->FontName = $FontName;
+     $this->FontSize = $FontSize;
+    }
+
+   /* Set the shadow properties */
+   function setShadowProperties($XDistance=1,$YDistance=1,$R=60,$G=60,$B=60,$Alpha=50,$Blur=0)
+    {
+     $this->ShadowActive    = TRUE;
+     $this->ShadowXDistance = $XDistance;
+     $this->ShadowYDistance = $YDistance;
+     $this->ShadowRColor    = $R;
+     $this->ShadowGColor    = $G;
+     $this->ShadowBColor    = $B;
+     $this->ShadowAlpha     = $Alpha;
+     $this->ShadowBlur      = $Blur;
+    }
+
+   /* Remove shadow option */
+   function clearShadow()
+    {
+     $this->ShadowActive = FALSE;
+    }
+ 
+   /* Set Palette color */
+   function setColorPalette($ID,$R,$G,$B)
+    {
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     $this->Palette[$ID]["R"] = $R;
+     $this->Palette[$ID]["G"] = $G;
+     $this->Palette[$ID]["B"] = $B;
+    }
+
+   /* Create a color palette shading from one color to another */
+   function createColorGradientPalette($R1,$G1,$B1,$R2,$G2,$B2,$Shades)
+    {
+     $RFactor = ($R2-$R1)/$Shades;
+     $GFactor = ($G2-$G1)/$Shades;
+     $BFactor = ($B2-$B1)/$Shades;
+
+     for($i=0;$i<=$Shades-1;$i++)
+      {
+       $this->Palette[$i]["R"] = $R1+$RFactor*$i;
+       $this->Palette[$i]["G"] = $G1+$GFactor*$i;
+       $this->Palette[$i]["B"] = $B1+$BFactor*$i;
+      }
+    }
+
+   /* Load Color Palette from file */
+   function loadColorPalette($FileName,$Delimiter=",")
+    {
+     $handle  = @fopen($FileName,"r");
+     $ColorID = 0;
+     if ($handle)
+      {
+       while (!feof($handle))
+        {
+         $buffer = fgets($handle, 4096);
+         $buffer = str_replace(chr(10),"",$buffer);
+         $buffer = str_replace(chr(13),"",$buffer);
+         $Values = split($Delimiter,$buffer);
+         if ( count($Values) == 3 )
+          {
+           $this->Palette[$ColorID]["R"] = $Values[0];
+           $this->Palette[$ColorID]["G"] = $Values[1];
+           $this->Palette[$ColorID]["B"] = $Values[2];
+           $ColorID++;
+          }
+        }
+      }
+    }
+
+   /* Set line style */
+  function setLineStyle($Width=1,$DotSize=0)
+   {
+    $this->LineWidth   = $Width;
+    $this->LineDotSize = $DotSize;
+   }
+
+   /* Set currency symbol */
+   function setCurrency($Currency)
+    {
+     $this->Currency = $Currency;
+    }
+
+   /* Set the graph area location */
+   function setGraphArea($X1,$Y1,$X2,$Y2)
+    {
+     $this->GArea_X1 = $X1;
+     $this->GArea_Y1 = $Y1;
+     $this->GArea_X2 = $X2;
+     $this->GArea_Y2 = $Y2;
+    }
+
+   /* Prepare the graph area */
+   function drawGraphArea($R,$G,$B,$Stripe=FALSE)
+    {
+     $this->drawFilledRectangle($this->GArea_X1,$this->GArea_Y1,$this->GArea_X2,$this->GArea_Y2,$R,$G,$B,FALSE);
+     $this->drawRectangle($this->GArea_X1,$this->GArea_Y1,$this->GArea_X2,$this->GArea_Y2,$R-40,$G-40,$B-40);
+
+     if ( $Stripe )
+      {
+       $R2 = $R-15; if ( $R2 < 0 ) { $R2 = 0; }
+       $G2 = $R-15; if ( $G2 < 0 ) { $G2 = 0; }
+       $B2 = $R-15; if ( $B2 < 0 ) { $B2 = 0; }
+
+       $LineColor =$this->AllocateColor($this->Picture,$R2,$G2,$B2);
+       $SkewWidth = $this->GArea_Y2-$this->GArea_Y1-1;
+
+       for($i=$this->GArea_X1-$SkewWidth;$i<=$this->GArea_X2;$i=$i+4)
+        {
+         $X1 = $i;            $Y1 = $this->GArea_Y2;
+         $X2 = $i+$SkewWidth; $Y2 = $this->GArea_Y1;
+
+
+         if ( $X1 < $this->GArea_X1 )
+          { $X1 = $this->GArea_X1; $Y1 = $this->GArea_Y1 + $X2 - $this->GArea_X1 + 1; }
+
+         if ( $X2 >= $this->GArea_X2 )
+          { $Y2 = $this->GArea_Y1 + $X2 - $this->GArea_X2 +1; $X2 = $this->GArea_X2 - 1; }
+// * Fixed in 1.27 *         { $X2 = $this->GArea_X2 - 1; $Y2 = $this->GArea_Y2 - ($this->GArea_X2 - $X1); }
+
+         imageline($this->Picture,$X1,$Y1,$X2,$Y2+1,$LineColor);
+        }
+      }
+    }
+
+   /* Allow you to clear the scale : used if drawing multiple charts */
+   function clearScale()
+    {
+     $this->VMin       = NULL;
+     $this->VMax       = NULL;
+     $this->VXMin      = NULL;
+     $this->VXMax      = NULL;
+     $this->Divisions  = NULL;
+     $this->XDivisions = NULL;    }
+
+   /* Allow you to fix the scale, use this to bypass the automatic scaling */
+   function setFixedScale($VMin,$VMax,$Divisions=5,$VXMin=0,$VXMax=0,$XDivisions=5)
+    {
+     $this->VMin      = $VMin;
+     $this->VMax      = $VMax;
+     $this->Divisions = $Divisions;
+
+     if ( !$VXMin == 0 )
+      {
+       $this->VXMin      = $VXMin;
+       $this->VXMax      = $VXMax;
+       $this->XDivisions = $XDivisions;
+      }
+    }
+
+   /* Wrapper to the drawScale() function allowing a second scale to be drawn */
+   function drawRightScale($Data,$DataDescription,$ScaleMode,$R,$G,$B,$DrawTicks=TRUE,$Angle=0,$Decimals=1,$WithMargin=FALSE,$SkipLabels=1)
+    {
+     $this->drawScale($Data,$DataDescription,$ScaleMode,$R,$G,$B,$DrawTicks,$Angle,$Decimals,$WithMargin,$SkipLabels,TRUE);
+    }
+
+   /* Compute and draw the scale */
+   function drawScale($Data,$DataDescription,$ScaleMode,$R,$G,$B,$DrawTicks=TRUE,$Angle=0,$Decimals=1,$WithMargin=FALSE,$SkipLabels=1,$RightScale=FALSE)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateData("drawScale",$Data);
+
+     $C_TextColor         =$this->AllocateColor($this->Picture,$R,$G,$B);
+
+     $this->drawLine($this->GArea_X1,$this->GArea_Y1,$this->GArea_X1,$this->GArea_Y2,$R,$G,$B);
+     $this->drawLine($this->GArea_X1,$this->GArea_Y2,$this->GArea_X2,$this->GArea_Y2,$R,$G,$B);
+
+     if ( $this->VMin == NULL && $this->VMax == NULL)
+      {
+       if (isset($DataDescription["Values"][0]))
+        {
+         $this->VMin = $Data[0][$DataDescription["Values"][0]];
+         $this->VMax = $Data[0][$DataDescription["Values"][0]];
+        }
+       else { $this->VMin = 2147483647; $this->VMax = -2147483647; }
+
+       /* Compute Min and Max values */
+       if ( $ScaleMode == SCALE_NORMAL || $ScaleMode == SCALE_START0 )
+        {
+         if ( $ScaleMode == SCALE_START0 ) { $this->VMin = 0; }
+
+         foreach ( $Data as $Key => $Values )
+          {
+           foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+            {
+             if (isset($Data[$Key][$ColName]))
+              {
+               $Value = $Data[$Key][$ColName];
+
+               if ( is_numeric($Value) )
+                {
+                 if ( $this->VMax < $Value) { $this->VMax = $Value; }
+                 if ( $this->VMin > $Value) { $this->VMin = $Value; }
+                }
+              }
+            }
+          }
+        }
+       elseif ( $ScaleMode == SCALE_ADDALL || $ScaleMode == SCALE_ADDALLSTART0 ) /* Experimental */
+        {
+         if ( $ScaleMode == SCALE_ADDALLSTART0 ) { $this->VMin = 0; }
+
+         foreach ( $Data as $Key => $Values )
+          {
+           $Sum = 0;
+           foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+            {
+             if (isset($Data[$Key][$ColName]))
+              {
+               $Value = $Data[$Key][$ColName];
+               if ( is_numeric($Value) )
+                $Sum  += $Value;
+              }
+            }
+           if ( $this->VMax < $Sum) { $this->VMax = $Sum; }
+           if ( $this->VMin > $Sum) { $this->VMin = $Sum; }
+          }
+        }
+
+       if ( $this->VMax > preg_replace('/\.[0-9]+/','',$this->VMax) )
+        $this->VMax = preg_replace('/\.[0-9]+/','',$this->VMax)+1;
+
+       /* If all values are the same */
+       if ( $this->VMax == $this->VMin )
+        {
+         if ( $this->VMax >= 0 ) { $this->VMax++; }
+         else { $this->VMin--; }
+        }
+
+       $DataRange = $this->VMax - $this->VMin;
+       if ( $DataRange == 0 ) { $DataRange = .1; }
+
+       /* Compute automatic scaling */
+       $ScaleOk = FALSE; $Factor = 1;
+       $MinDivHeight = 25; $MaxDivs = ($this->GArea_Y2 - $this->GArea_Y1) / $MinDivHeight;
+
+       if ( $this->VMin == 0 && $this->VMax == 0 )
+        { $this->VMin = 0; $this->VMax = 2; $Scale = 1; $Divisions = 2;}
+       elseif ($MaxDivs > 1)
+        {
+         while(!$ScaleOk)
+          {
+           $Scale1 = ( $this->VMax - $this->VMin ) / $Factor;
+           $Scale2 = ( $this->VMax - $this->VMin ) / $Factor / 2;
+           $Scale4 = ( $this->VMax - $this->VMin ) / $Factor / 4;
+
+           if ( $Scale1 > 1 && $Scale1 <= $MaxDivs && !$ScaleOk) { $ScaleOk = TRUE; $Divisions = floor($Scale1); $Scale = 1;}
+           if ( $Scale2 > 1 && $Scale2 <= $MaxDivs && !$ScaleOk) { $ScaleOk = TRUE; $Divisions = floor($Scale2); $Scale = 2;}
+           if (!$ScaleOk)
+            {
+             if ( $Scale2 > 1 ) { $Factor = $Factor * 10; }
+             if ( $Scale2 < 1 ) { $Factor = $Factor / 10; }
+            }
+          }
+
+         if ( floor($this->VMax / $Scale / $Factor) != $this->VMax / $Scale / $Factor)
+          {
+           $GridID     = floor ( $this->VMax / $Scale / $Factor) + 1;
+           $this->VMax = $GridID * $Scale * $Factor;
+           $Divisions++;
+          }
+
+         if ( floor($this->VMin / $Scale / $Factor) != $this->VMin / $Scale / $Factor)
+          {
+           $GridID     = floor( $this->VMin / $Scale / $Factor);
+           $this->VMin = $GridID * $Scale * $Factor;
+           $Divisions++;
+          }
+        }
+       else /* Can occurs for small graphs */
+        $Scale = 1;
+
+       if ( !isset($Divisions) )
+        $Divisions = 2;
+
+       if ($Scale == 1 && $Divisions%2 == 1)
+        $Divisions--;
+      }
+     else
+      $Divisions = $this->Divisions;
+
+     $this->DivisionCount = $Divisions;
+
+     $DataRange = $this->VMax - $this->VMin;
+     if ( $DataRange == 0 ) { $DataRange = .1; }
+
+     $this->DivisionHeight = ( $this->GArea_Y2 - $this->GArea_Y1 ) / $Divisions;
+     $this->DivisionRatio  = ( $this->GArea_Y2 - $this->GArea_Y1 ) / $DataRange;
+
+     $this->GAreaXOffset  = 0;
+     if ( count($Data) > 1 )
+      {
+       if ( $WithMargin == FALSE )
+        $this->DivisionWidth = ( $this->GArea_X2 - $this->GArea_X1 ) / (count($Data)-1);
+       else
+        {
+         $this->DivisionWidth = ( $this->GArea_X2 - $this->GArea_X1 ) / (count($Data));
+         $this->GAreaXOffset  = $this->DivisionWidth / 2;
+        }
+      }
+     else
+      {
+       $this->DivisionWidth = $this->GArea_X2 - $this->GArea_X1;
+       $this->GAreaXOffset  = $this->DivisionWidth / 2;
+      }
+
+     $this->DataCount = count($Data);
+
+     if ( $DrawTicks == FALSE )
+      return(0);
+
+     $YPos = $this->GArea_Y2; $XMin = NULL;
+     for($i=1;$i<=$Divisions+1;$i++)
+      {
+       if ( $RightScale )
+        $this->drawLine($this->GArea_X2,$YPos,$this->GArea_X2+5,$YPos,$R,$G,$B);
+       else
+        $this->drawLine($this->GArea_X1,$YPos,$this->GArea_X1-5,$YPos,$R,$G,$B);
+
+       $Value     = $this->VMin + ($i-1) * (( $this->VMax - $this->VMin ) / $Divisions);
+       $Value     = round($Value * pow(10,$Decimals)) / pow(10,$Decimals);
+       if ( $DataDescription["Format"]["Y"] == "number" )
+        $Value = $Value.$DataDescription["Unit"]["Y"];
+       if ( $DataDescription["Format"]["Y"] == "time" )
+        $Value = $this->ToTime($Value);        
+       if ( $DataDescription["Format"]["Y"] == "date" )
+        $Value = $this->ToDate($Value);        
+       if ( $DataDescription["Format"]["Y"] == "metric" )
+        $Value = $this->ToMetric($Value);        
+       if ( $DataDescription["Format"]["Y"] == "currency" )
+        $Value = $this->ToCurrency($Value);        
+
+       $Position  = imageftbbox($this->FontSize,0,$this->FontName,$Value);
+       $TextWidth = $Position[2]-$Position[0];
+
+       if ( $RightScale )
+        {
+         imagettftext($this->Picture,$this->FontSize,0,$this->GArea_X2+10,$YPos+($this->FontSize/2),$C_TextColor,$this->FontName,$Value);
+         if ( $XMin < $this->GArea_X2+15+$TextWidth || $XMin == NULL ) { $XMin = $this->GArea_X2+15+$TextWidth; }
+        }
+       else
+        {
+         imagettftext($this->Picture,$this->FontSize,0,$this->GArea_X1-10-$TextWidth,$YPos+($this->FontSize/2),$C_TextColor,$this->FontName,$Value);
+         if ( $XMin > $this->GArea_X1-10-$TextWidth || $XMin == NULL ) { $XMin = $this->GArea_X1-10-$TextWidth; }
+        }
+
+       $YPos = $YPos - $this->DivisionHeight;
+      }
+
+     /* Write the Y Axis caption if set */ 
+     if ( isset($DataDescription["Axis"]["Y"]) )
+      {
+       $Position   = imageftbbox($this->FontSize,90,$this->FontName,$DataDescription["Axis"]["Y"]);
+       $TextHeight = abs($Position[1])+abs($Position[3]);
+       $TextTop    = (($this->GArea_Y2 - $this->GArea_Y1) / 2) + $this->GArea_Y1 + ($TextHeight/2);
+
+       if ( $RightScale )
+        imagettftext($this->Picture,$this->FontSize,90,$XMin+$this->FontSize,$TextTop,$C_TextColor,$this->FontName,$DataDescription["Axis"]["Y"]);
+       else
+        imagettftext($this->Picture,$this->FontSize,90,$XMin-$this->FontSize,$TextTop,$C_TextColor,$this->FontName,$DataDescription["Axis"]["Y"]);
+      }
+
+     /* Horizontal Axis */
+     $XPos = $this->GArea_X1 + $this->GAreaXOffset;
+     $ID = 1; $YMax = NULL;
+     foreach ( $Data as $Key => $Values )
+      {
+       if ( $ID % $SkipLabels == 0 )
+        {
+         $this->drawLine(floor($XPos),$this->GArea_Y2,floor($XPos),$this->GArea_Y2+5,$R,$G,$B);
+         $Value      = $Data[$Key][$DataDescription["Position"]];
+         if ( $DataDescription["Format"]["X"] == "number" )
+          $Value = $Value.$DataDescription["Unit"]["X"];
+         if ( $DataDescription["Format"]["X"] == "time" )
+          $Value = $this->ToTime($Value);        
+         if ( $DataDescription["Format"]["X"] == "date" )
+          $Value = $this->ToDate($Value);        
+         if ( $DataDescription["Format"]["X"] == "metric" )
+          $Value = $this->ToMetric($Value);        
+         if ( $DataDescription["Format"]["X"] == "currency" )
+          $Value = $this->ToCurrency($Value);        
+
+         $Position   = imageftbbox($this->FontSize,$Angle,$this->FontName,$Value);
+         $TextWidth  = abs($Position[2])+abs($Position[0]);
+         $TextHeight = abs($Position[1])+abs($Position[3]);
+
+         if ( $Angle == 0 )
+          {
+           $YPos = $this->GArea_Y2+18;
+           imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)-floor($TextWidth/2),$YPos,$C_TextColor,$this->FontName,$Value);
+          }
+         else
+          {
+           $YPos = $this->GArea_Y2+10+$TextHeight;
+           if ( $Angle <= 90 )
+            imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)-$TextWidth+5,$YPos,$C_TextColor,$this->FontName,$Value);
+           else
+            imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)+$TextWidth+5,$YPos,$C_TextColor,$this->FontName,$Value);
+          }
+         if ( $YMax < $YPos || $YMax == NULL ) { $YMax = $YPos; }
+        }
+
+       $XPos = $XPos + $this->DivisionWidth;
+       $ID++;
+      }
+
+    /* Write the X Axis caption if set */ 
+    if ( isset($DataDescription["Axis"]["X"]) )
+      {
+       $Position   = imageftbbox($this->FontSize,90,$this->FontName,$DataDescription["Axis"]["X"]);
+       $TextWidth  = abs($Position[2])+abs($Position[0]);
+       $TextLeft   = (($this->GArea_X2 - $this->GArea_X1) / 2) + $this->GArea_X1 + ($TextWidth/2);
+       imagettftext($this->Picture,$this->FontSize,0,$TextLeft,$YMax+$this->FontSize+5,$C_TextColor,$this->FontName,$DataDescription["Axis"]["X"]);
+      }
+    }
+
+   /* Compute and draw the scale for X/Y charts */
+   function drawXYScale($Data,$DataDescription,$YSerieName,$XSerieName,$R,$G,$B,$WithMargin=0,$Angle=0,$Decimals=1)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateData("drawScale",$Data);
+
+     $C_TextColor =$this->AllocateColor($this->Picture,$R,$G,$B);
+
+     $this->drawLine($this->GArea_X1,$this->GArea_Y1,$this->GArea_X1,$this->GArea_Y2,$R,$G,$B);
+     $this->drawLine($this->GArea_X1,$this->GArea_Y2,$this->GArea_X2,$this->GArea_Y2,$R,$G,$B);
+
+     /* Process Y scale */
+     if ( $this->VMin == NULL && $this->VMax == NULL)
+      {
+       $this->VMin = $Data[0][$YSerieName];
+       $this->VMax = $Data[0][$YSerieName];
+
+       foreach ( $Data as $Key => $Values )
+        {
+         if (isset($Data[$Key][$YSerieName]))
+          {
+           $Value = $Data[$Key][$YSerieName];
+           if ( $this->VMax < $Value) { $this->VMax = $Value; }
+           if ( $this->VMin > $Value) { $this->VMin = $Value; }
+          }
+        }
+
+       if ( $this->VMax > preg_replace('/\.[0-9]+/','',$this->VMax) )
+        $this->VMax = preg_replace('/\.[0-9]+/','',$this->VMax)+1;
+
+       $DataRange = $this->VMax - $this->VMin;
+       if ( $DataRange == 0 ) { $DataRange = .1; }
+
+       /* Compute automatic scaling */
+       $ScaleOk = FALSE; $Factor = 1;
+       $MinDivHeight = 25; $MaxDivs = ($this->GArea_Y2 - $this->GArea_Y1) / $MinDivHeight;
+
+       if ( $this->VMin == 0 && $this->VMax == 0 )
+        { $this->VMin = 0; $this->VMax = 2; $Scale = 1; $Divisions = 2;}
+       elseif ($MaxDivs > 1)
+        {
+         while(!$ScaleOk)
+          {
+           $Scale1 = ( $this->VMax - $this->VMin ) / $Factor;
+           $Scale2 = ( $this->VMax - $this->VMin ) / $Factor / 2;
+           $Scale4 = ( $this->VMax - $this->VMin ) / $Factor / 4;
+
+           if ( $Scale1 > 1 && $Scale1 <= $MaxDivs && !$ScaleOk) { $ScaleOk = TRUE; $Divisions = floor($Scale1); $Scale = 1;}
+           if ( $Scale2 > 1 && $Scale2 <= $MaxDivs && !$ScaleOk) { $ScaleOk = TRUE; $Divisions = floor($Scale2); $Scale = 2;}
+           if (!$ScaleOk)
+            {
+             if ( $Scale2 > 1 ) { $Factor = $Factor * 10; }
+             if ( $Scale2 < 1 ) { $Factor = $Factor / 10; }
+            }
+          }
+
+         if ( floor($this->VMax / $Scale / $Factor) != $this->VMax / $Scale / $Factor)
+          {
+           $GridID     = floor ( $this->VMax / $Scale / $Factor) + 1;
+           $this->VMax = $GridID * $Scale * $Factor;
+           $Divisions++;
+          }
+
+         if ( floor($this->VMin / $Scale / $Factor) != $this->VMin / $Scale / $Factor)
+          {
+           $GridID     = floor( $this->VMin / $Scale / $Factor);
+           $this->VMin = $GridID * $Scale * $Factor;
+           $Divisions++;
+          }
+        }
+       else /* Can occurs for small graphs */
+        $Scale = 1;
+
+       if ( !isset($Divisions) )
+        $Divisions = 2;
+
+       if ( $this->isRealInt(($this->VMax-$this->VMin)/($Divisions-1)))
+        $Divisions--;
+       elseif ( $this->isRealInt(($this->VMax-$this->VMin)/($Divisions+1)))
+        $Divisions++;
+      }
+     else
+      $Divisions = $this->Divisions;
+
+     $this->DivisionCount = $Divisions;
+
+     $DataRange = $this->VMax - $this->VMin;
+     if ( $DataRange == 0 ) { $DataRange = .1; }
+
+     $this->DivisionHeight = ( $this->GArea_Y2 - $this->GArea_Y1 ) / $Divisions;
+     $this->DivisionRatio  = ( $this->GArea_Y2 - $this->GArea_Y1 ) / $DataRange;
+
+     $YPos = $this->GArea_Y2; $XMin = NULL;
+     for($i=1;$i<=$Divisions+1;$i++)
+      {
+       $this->drawLine($this->GArea_X1,$YPos,$this->GArea_X1-5,$YPos,$R,$G,$B);
+       $Value     = $this->VMin + ($i-1) * (( $this->VMax - $this->VMin ) / $Divisions);
+       $Value     = round($Value * pow(10,$Decimals)) / pow(10,$Decimals);
+       if ( $DataDescription["Format"]["Y"] == "number" )
+        $Value = $Value.$DataDescription["Unit"]["Y"];
+       if ( $DataDescription["Format"]["Y"] == "time" )
+        $Value = $this->ToTime($Value);        
+       if ( $DataDescription["Format"]["Y"] == "date" )
+        $Value = $this->ToDate($Value);        
+       if ( $DataDescription["Format"]["Y"] == "metric" )
+        $Value = $this->ToMetric($Value);        
+       if ( $DataDescription["Format"]["Y"] == "currency" )
+        $Value = $this->ToCurrency($Value);        
+
+       $Position  = imageftbbox($this->FontSize,0,$this->FontName,$Value);
+       $TextWidth = $Position[2]-$Position[0];
+       imagettftext($this->Picture,$this->FontSize,0,$this->GArea_X1-10-$TextWidth,$YPos+($this->FontSize/2),$C_TextColor,$this->FontName,$Value);
+
+       if ( $XMin > $this->GArea_X1-10-$TextWidth || $XMin == NULL ) { $XMin = $this->GArea_X1-10-$TextWidth; }
+
+       $YPos = $YPos - $this->DivisionHeight;
+      }
+
+     /* Process X scale */
+     if ( $this->VXMin == NULL && $this->VXMax == NULL)
+      {
+       $this->VXMin = $Data[0][$XSerieName];
+       $this->VXMax = $Data[0][$XSerieName];
+
+       foreach ( $Data as $Key => $Values )
+        {
+         if (isset($Data[$Key][$XSerieName]))
+          {
+           $Value = $Data[$Key][$XSerieName];
+           if ( $this->VXMax < $Value) { $this->VXMax = $Value; }
+           if ( $this->VXMin > $Value) { $this->VXMin = $Value; }
+          }
+        }
+
+       if ( $this->VXMax > preg_replace('/\.[0-9]+/','',$this->VXMax) )
+        $this->VXMax = preg_replace('/\.[0-9]+/','',$this->VXMax)+1;
+
+       $DataRange = $this->VMax - $this->VMin;
+       if ( $DataRange == 0 ) { $DataRange = .1; }
+
+       /* Compute automatic scaling */
+       $ScaleOk = FALSE; $Factor = 1;
+       $MinDivWidth = 25; $MaxDivs = ($this->GArea_X2 - $this->GArea_X1) / $MinDivWidth;
+
+       if ( $this->VXMin == 0 && $this->VXMax == 0 )
+        { $this->VXMin = 0; $this->VXMax = 2; $Scale = 1; $XDivisions = 2;}
+       elseif ($MaxDivs > 1)
+        {
+         while(!$ScaleOk)
+          {
+           $Scale1 = ( $this->VXMax - $this->VXMin ) / $Factor;
+           $Scale2 = ( $this->VXMax - $this->VXMin ) / $Factor / 2;
+           $Scale4 = ( $this->VXMax - $this->VXMin ) / $Factor / 4;
+
+           if ( $Scale1 > 1 && $Scale1 <= $MaxDivs && !$ScaleOk) { $ScaleOk = TRUE; $XDivisions = floor($Scale1); $Scale = 1;}
+           if ( $Scale2 > 1 && $Scale2 <= $MaxDivs && !$ScaleOk) { $ScaleOk = TRUE; $XDivisions = floor($Scale2); $Scale = 2;}
+           if (!$ScaleOk)
+            {
+             if ( $Scale2 > 1 ) { $Factor = $Factor * 10; }
+             if ( $Scale2 < 1 ) { $Factor = $Factor / 10; }
+            }
+          }
+
+         if ( floor($this->VXMax / $Scale / $Factor) != $this->VXMax / $Scale / $Factor)
+          {
+           $GridID     = floor ( $this->VXMax / $Scale / $Factor) + 1;
+           $this->VXMax = $GridID * $Scale * $Factor;
+           $XDivisions++;
+          }
+
+         if ( floor($this->VXMin / $Scale / $Factor) != $this->VXMin / $Scale / $Factor)
+          {
+           $GridID     = floor( $this->VXMin / $Scale / $Factor);
+           $this->VXMin = $GridID * $Scale * $Factor;
+           $XDivisions++;
+          }
+        }
+       else /* Can occurs for small graphs */
+        $Scale = 1;
+
+       if ( !isset($XDivisions) )
+        $XDivisions = 2;
+
+       if ( $this->isRealInt(($this->VXMax-$this->VXMin)/($XDivisions-1)))
+        $XDivisions--;
+       elseif ( $this->isRealInt(($this->VXMax-$this->VXMin)/($XDivisions+1)))
+        $XDivisions++;
+      }
+     else
+      $XDivisions = $this->XDivisions;
+
+     $this->XDivisionCount = $Divisions;
+     $this->DataCount      = $Divisions + 2;
+
+     $XDataRange = $this->VXMax - $this->VXMin;
+     if ( $XDataRange == 0 ) { $XDataRange = .1; }
+
+     $this->DivisionWidth   = ( $this->GArea_X2 - $this->GArea_X1 ) / $XDivisions;
+     $this->XDivisionRatio  = ( $this->GArea_X2 - $this->GArea_X1 ) / $XDataRange;
+
+     $XPos = $this->GArea_X1; $YMax = NULL;
+     for($i=1;$i<=$XDivisions+1;$i++)
+      {
+       $this->drawLine($XPos,$this->GArea_Y2,$XPos,$this->GArea_Y2+5,$R,$G,$B);
+
+       $Value     = $this->VXMin + ($i-1) * (( $this->VXMax - $this->VXMin ) / $XDivisions);
+       $Value     = round($Value * pow(10,$Decimals)) / pow(10,$Decimals);
+       if ( $DataDescription["Format"]["Y"] == "number" )
+        $Value = $Value.$DataDescription["Unit"]["Y"];
+       if ( $DataDescription["Format"]["Y"] == "time" )
+        $Value = $this->ToTime($Value);        
+       if ( $DataDescription["Format"]["Y"] == "date" )
+        $Value = $this->ToDate($Value);        
+       if ( $DataDescription["Format"]["Y"] == "metric" )
+        $Value = $this->ToMetric($Value);        
+       if ( $DataDescription["Format"]["Y"] == "currency" )
+        $Value = $this->ToCurrency($Value);        
+
+       $Position   = imageftbbox($this->FontSize,$Angle,$this->FontName,$Value);
+       $TextWidth  = abs($Position[2])+abs($Position[0]);
+       $TextHeight = abs($Position[1])+abs($Position[3]);
+
+       if ( $Angle == 0 )
+        {
+         $YPos = $this->GArea_Y2+18;
+         imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)-floor($TextWidth/2),$YPos,$C_TextColor,$this->FontName,$Value);
+        }
+       else
+        {
+         $YPos = $this->GArea_Y2+10+$TextHeight;
+         if ( $Angle <= 90 )
+          imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)-$TextWidth+5,$YPos,$C_TextColor,$this->FontName,$Value);
+         else
+          imagettftext($this->Picture,$this->FontSize,$Angle,floor($XPos)+$TextWidth+5,$YPos,$C_TextColor,$this->FontName,$Value);
+         }
+
+       if ( $YMax < $YPos || $YMax == NULL ) { $YMax = $YPos; }
+
+       $XPos = $XPos + $this->DivisionWidth;
+      }
+
+     /* Write the Y Axis caption if set */ 
+     if ( isset($DataDescription["Axis"]["Y"]) )
+      {
+       $Position   = imageftbbox($this->FontSize,90,$this->FontName,$DataDescription["Axis"]["Y"]);
+       $TextHeight = abs($Position[1])+abs($Position[3]);
+       $TextTop    = (($this->GArea_Y2 - $this->GArea_Y1) / 2) + $this->GArea_Y1 + ($TextHeight/2);
+       imagettftext($this->Picture,$this->FontSize,90,$XMin-$this->FontSize,$TextTop,$C_TextColor,$this->FontName,$DataDescription["Axis"]["Y"]);
+      }
+
+     /* Write the X Axis caption if set */ 
+     if ( isset($DataDescription["Axis"]["X"]) )
+      {
+       $Position   = imageftbbox($this->FontSize,90,$this->FontName,$DataDescription["Axis"]["X"]);
+       $TextWidth  = abs($Position[2])+abs($Position[0]);
+       $TextLeft   = (($this->GArea_X2 - $this->GArea_X1) / 2) + $this->GArea_X1 + ($TextWidth/2);
+       imagettftext($this->Picture,$this->FontSize,0,$TextLeft,$YMax+$this->FontSize+5,$C_TextColor,$this->FontName,$DataDescription["Axis"]["X"]);
+      }
+    }
+
+   /* Compute and draw the scale */
+   function drawGrid($LineWidth,$Mosaic=TRUE,$R=220,$G=220,$B=220,$Alpha=100)
+    {
+     /* Draw mosaic */
+     if ( $Mosaic )
+      {
+       $LayerWidth  = $this->GArea_X2-$this->GArea_X1;
+       $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
+
+       $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
+       $C_White         =$this->AllocateColor($this->Layers[0],255,255,255);
+       imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
+       imagecolortransparent($this->Layers[0],$C_White);
+
+       $C_Rectangle =$this->AllocateColor($this->Layers[0],250,250,250);
+
+       $YPos  = $LayerHeight; //$this->GArea_Y2-1;
+       $LastY = $YPos;
+       for($i=0;$i<=$this->DivisionCount;$i++)
+        {
+         $LastY = $YPos;
+         $YPos  = $YPos - $this->DivisionHeight;
+
+         if ( $YPos <= 0 ) { $YPos = 1; }
+
+         if ( $i % 2 == 0 )
+          {
+           imagefilledrectangle($this->Layers[0],1,$YPos,$LayerWidth-1,$LastY,$C_Rectangle);
+          }
+        }
+       imagecopymerge($this->Picture,$this->Layers[0],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$LayerHeight,$Alpha);
+       imagedestroy($this->Layers[0]);
+      }
+
+     /* Horizontal lines */
+     $YPos = $this->GArea_Y2 - $this->DivisionHeight;
+     for($i=1;$i<=$this->DivisionCount;$i++)
+      {
+       if ( $YPos > $this->GArea_Y1 && $YPos < $this->GArea_Y2 )
+        $this->drawDottedLine($this->GArea_X1,$YPos,$this->GArea_X2,$YPos,$LineWidth,$R,$G,$B);
+        
+       $YPos = $YPos - $this->DivisionHeight;
+      }
+
+     /* Vertical lines */
+     if ( $this->GAreaXOffset == 0 )
+      { $XPos = $this->GArea_X1 + $this->DivisionWidth + $this->GAreaXOffset; $ColCount = $this->DataCount-2; }
+     else
+      { $XPos = $this->GArea_X1 + $this->GAreaXOffset; $ColCount = floor( ($this->GArea_X2 - $this->GArea_X1) / $this->DivisionWidth ); }
+
+     for($i=1;$i<=$ColCount;$i++)
+      {
+       if ( $XPos > $this->GArea_X1 && $XPos < $this->GArea_X2 )
+        $this->drawDottedLine(floor($XPos),$this->GArea_Y1,floor($XPos),$this->GArea_Y2,$LineWidth,$R,$G,$B);
+       $XPos = $XPos + $this->DivisionWidth;
+      }
+    }
+
+   /* retrieve the legends size */
+   function getLegendBoxSize($DataDescription)
+    {
+     if ( !isset($DataDescription["Description"]) )
+      return(-1);
+
+     /* <-10->[8]<-4->Text<-10-> */
+     $MaxWidth = 0; $MaxHeight = 8;
+     foreach($DataDescription["Description"] as $Key => $Value)
+      {
+       $Position   = imageftbbox($this->FontSize,0,$this->FontName,$Value);
+       $TextWidth  = $Position[2]-$Position[0];
+       $TextHeight = $Position[1]-$Position[7];
+       if ( $TextWidth > $MaxWidth) { $MaxWidth = $TextWidth; }
+       $MaxHeight = $MaxHeight + $TextHeight + 4;
+      }
+     $MaxHeight = $MaxHeight - 3;
+     $MaxWidth  = $MaxWidth + 32;
+
+     return(array($MaxWidth,$MaxHeight));
+    }
+
+   /* Draw the data legends */
+   function drawLegend($XPos,$YPos,$DataDescription,$R,$G,$B,$Rs=-1,$Gs=-1,$Bs=-1,$Rt=0,$Gt=0,$Bt=0,$Border=TRUE)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawLegend",$DataDescription);
+
+     if ( !isset($DataDescription["Description"]) )
+      return(-1);
+
+     $C_TextColor =$this->AllocateColor($this->Picture,$Rt,$Gt,$Bt);
+
+     /* <-10->[8]<-4->Text<-10-> */
+     $MaxWidth = 0; $MaxHeight = 8;
+     foreach($DataDescription["Description"] as $Key => $Value)
+      {
+       $Position   = imageftbbox($this->FontSize,0,$this->FontName,$Value);
+       $TextWidth  = $Position[2]-$Position[0];
+       $TextHeight = $Position[1]-$Position[7];
+       if ( $TextWidth > $MaxWidth) { $MaxWidth = $TextWidth; }
+       $MaxHeight = $MaxHeight + $TextHeight + 4;
+      }
+     $MaxHeight = $MaxHeight - 5;
+     $MaxWidth  = $MaxWidth + 32;
+
+     if ( $Rs == -1 || $Gs == -1 || $Bs == -1 )
+      { $Rs = $R-30; $Gs = $G-30; $Bs = $B-30; }
+
+     if ( $Border )
+      {
+       $this->drawFilledRoundedRectangle($XPos+1,$YPos+1,$XPos+$MaxWidth+1,$YPos+$MaxHeight+1,5,$Rs,$Gs,$Bs);
+       $this->drawFilledRoundedRectangle($XPos,$YPos,$XPos+$MaxWidth,$YPos+$MaxHeight,5,$R,$G,$B);
+      }
+
+     $YOffset = 4 + $this->FontSize; $ID = 0;
+     foreach($DataDescription["Description"] as $Key => $Value)
+      {
+       $this->drawFilledRoundedRectangle($XPos+10,$YPos+$YOffset-4,$XPos+14,$YPos+$YOffset-4,2,$this->Palette[$ID]["R"],$this->Palette[$ID]["G"],$this->Palette[$ID]["B"]);
+       imagettftext($this->Picture,$this->FontSize,0,$XPos+22,$YPos+$YOffset,$C_TextColor,$this->FontName,$Value);
+
+       $Position   = imageftbbox($this->FontSize,0,$this->FontName,$Value);
+       $TextHeight = $Position[1]-$Position[7];
+
+       $YOffset = $YOffset + $TextHeight + 4;
+       $ID++;
+      }
+    }
+
+   /* Draw the data legends */
+   function drawPieLegend($XPos,$YPos,$Data,$DataDescription,$R,$G,$B)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawPieLegend",$DataDescription,FALSE);
+     $this->validateData("drawPieLegend",$Data);
+
+     if ( !isset($DataDescription["Position"]) )
+      return(-1);
+
+     $C_TextColor =$this->AllocateColor($this->Picture,0,0,0);
+
+     /* <-10->[8]<-4->Text<-10-> */
+     $MaxWidth = 0; $MaxHeight = 8;
+     foreach($Data as $Key => $Value)
+      {
+       $Value2 = $Value[$DataDescription["Position"]];
+       $Position  = imageftbbox($this->FontSize,0,$this->FontName,$Value2);
+       $TextWidth = $Position[2]-$Position[0];
+       $TextHeight = $Position[1]-$Position[7];
+       if ( $TextWidth > $MaxWidth) { $MaxWidth = $TextWidth; }
+
+       $MaxHeight = $MaxHeight + $TextHeight + 4;
+      }
+     $MaxHeight = $MaxHeight - 3;
+     $MaxWidth  = $MaxWidth + 32;
+
+     $this->drawFilledRoundedRectangle($XPos+1,$YPos+1,$XPos+$MaxWidth+1,$YPos+$MaxHeight+1,5,$R-30,$G-30,$B-30);
+     $this->drawFilledRoundedRectangle($XPos,$YPos,$XPos+$MaxWidth,$YPos+$MaxHeight,5,$R,$G,$B);
+
+     $YOffset = 4 + $this->FontSize; $ID = 0;
+     foreach($Data as $Key => $Value)
+      {
+       $Value2     = $Value[$DataDescription["Position"]];
+       $Position   = imageftbbox($this->FontSize,0,$this->FontName,$Value2);
+       $TextHeight = $Position[1]-$Position[7];
+       $this->drawFilledRectangle($XPos+10,$YPos+$YOffset-6,$XPos+14,$YPos+$YOffset-2,$this->Palette[$ID]["R"],$this->Palette[$ID]["G"],$this->Palette[$ID]["B"]);
+
+       imagettftext($this->Picture,$this->FontSize,0,$XPos+22,$YPos+$YOffset,$C_TextColor,$this->FontName,$Value2);
+       $YOffset = $YOffset + $TextHeight + 4;
+       $ID++;
+      }
+    }
+
+   /* Draw the graph title */
+   function drawTitle($XPos,$YPos,$Value,$R,$G,$B,$XPos2=-1,$YPos2=-1,$Shadow=FALSE)
+    {
+     $C_TextColor = $this->AllocateColor($this->Picture,$R,$G,$B);
+
+     if ( $XPos2 != -1 )
+      {
+       $Position  = imageftbbox($this->FontSize,0,$this->FontName,$Value);
+       $TextWidth = $Position[2]-$Position[0];
+       $XPos      = floor(( $XPos2 - $XPos - $TextWidth ) / 2 ) + $XPos;
+      }
+
+     if ( $YPos2 != -1 )
+      {
+       $Position   = imageftbbox($this->FontSize,0,$this->FontName,$Value);
+       $TextHeight = $Position[5]-$Position[3];
+       $YPos       = floor(( $YPos2 - $YPos - $TextHeight ) / 2 ) + $YPos;
+      }
+
+     if ( $Shadow )
+      {
+       $C_ShadowColor = $this->AllocateColor($this->Picture,$this->ShadowRColor,$this->ShadowGColor,$this->ShadowBColor);
+       imagettftext($this->Picture,$this->FontSize,0,$XPos+$this->ShadowXDistance,$YPos+$this->ShadowYDistance,$C_ShadowColor,$this->FontName,$Value);     
+      }
+
+     imagettftext($this->Picture,$this->FontSize,0,$XPos,$YPos,$C_TextColor,$this->FontName,$Value);     
+    }
+
+   /* Draw a text box with text align & alpha properties */
+   function drawTextBox($X1,$Y1,$X2,$Y2,$Text,$Angle=0,$R=255,$G=255,$B=255,$Align=ALIGN_LEFT,$Shadow=TRUE,$BgR=-1,$BgG=-1,$BgB=-1,$Alpha=100)
+    {
+     $Position   = imageftbbox($this->FontSize,$Angle,$this->FontName,$Text);
+     $TextWidth  = $Position[2]-$Position[0];
+     $TextHeight = $Position[5]-$Position[3];
+     $AreaWidth  = $X2 - $X1;
+     $AreaHeight = $Y2 - $Y1;
+
+     if ( $BgR != -1 && $BgG != -1 && $BgB != -1 )
+      $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$BgR,$BgG,$BgB,FALSE,$Alpha);
+
+     if ( $Align == ALIGN_TOP_LEFT )      { $X = $X1+1; $Y = $Y1+$this->FontSize+1; }
+     if ( $Align == ALIGN_TOP_CENTER )    { $X = $X1+($AreaWidth/2)-($TextWidth/2); $Y = $Y1+$this->FontSize+1; }
+     if ( $Align == ALIGN_TOP_RIGHT )     { $X = $X2-$TextWidth-1; $Y = $Y1+$this->FontSize+1; }
+     if ( $Align == ALIGN_LEFT )          { $X = $X1+1; $Y = $Y1+($AreaHeight/2)-($TextHeight/2); }
+     if ( $Align == ALIGN_CENTER )        { $X = $X1+($AreaWidth/2)-($TextWidth/2); $Y = $Y1+($AreaHeight/2)-($TextHeight/2); }
+     if ( $Align == ALIGN_RIGHT )         { $X = $X2-$TextWidth-1; $Y = $Y1+($AreaHeight/2)-($TextHeight/2); }
+     if ( $Align == ALIGN_BOTTOM_LEFT )   { $X = $X1+1; $Y = $Y2-1; }
+     if ( $Align == ALIGN_BOTTOM_CENTER ) { $X = $X1+($AreaWidth/2)-($TextWidth/2); $Y = $Y2-1; }
+     if ( $Align == ALIGN_BOTTOM_RIGHT )  { $X = $X2-$TextWidth-1; $Y = $Y2-1; }
+
+     $C_TextColor   =$this->AllocateColor($this->Picture,$R,$G,$B);
+     $C_ShadowColor =$this->AllocateColor($this->Picture,0,0,0);
+     if ( $Shadow )
+      imagettftext($this->Picture,$this->FontSize,$Angle,$X+1,$Y+1,$C_ShadowColor,$this->FontName,$Text);     
+
+     imagettftext($this->Picture,$this->FontSize,$Angle,$X,$Y,$C_TextColor,$this->FontName,$Text);     
+    }
+
+   /* Compute and draw the scale */
+   function drawTreshold($Value,$R,$G,$B,$ShowLabel=FALSE,$ShowOnRight=FALSE,$TickWidth=4,$FreeText=NULL)
+    {
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     $C_TextColor =$this->AllocateColor($this->Picture,$R,$G,$B);
+     $Y = $this->GArea_Y2 - ($Value - $this->VMin) * $this->DivisionRatio;
+
+     if ( $Y <= $this->GArea_Y1 || $Y >= $this->GArea_Y2 )
+      return(-1);
+
+     if ( $TickWidth == 0 )
+      $this->drawLine($this->GArea_X1,$Y,$this->GArea_X2,$Y,$R,$G,$B);
+     else
+      $this->drawDottedLine($this->GArea_X1,$Y,$this->GArea_X2,$Y,$TickWidth,$R,$G,$B);
+
+     if ( $ShowLabel )
+      {
+       if ( $FreeText == NULL )
+        { $Label = $Value; } else { $Label = $FreeText; }
+
+       if ( $ShowOnRight )
+        imagettftext($this->Picture,$this->FontSize,0,$this->GArea_X2+2,$Y+($this->FontSize/2),$C_TextColor,$this->FontName,$Label);
+       else
+        imagettftext($this->Picture,$this->FontSize,0,$this->GArea_X1+2,$Y-($this->FontSize/2),$C_TextColor,$this->FontName,$Label);
+      }
+    }
+
+   /* This function put a label on a specific point */
+   function setLabel($Data,$DataDescription,$SerieName,$ValueName,$Caption,$R=210,$G=210,$B=210)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("setLabel",$DataDescription);
+     $this->validateData("setLabel",$Data);
+     $ShadowFactor = 100;
+     $C_Label      =$this->AllocateColor($this->Picture,$R,$G,$B);
+     $C_Shadow     =$this->AllocateColor($this->Picture,$R-$ShadowFactor,$G-$ShadowFactor,$B-$ShadowFactor);
+     $C_TextColor  =$this->AllocateColor($this->Picture,0,0,0);
+
+     $Cp = 0; $Found = FALSE;
+     foreach ( $Data as $Key => $Value )
+      {
+       if ( $Data[$Key][$DataDescription["Position"]] == $ValueName )
+        { $NumericalValue = $Data[$Key][$SerieName]; $Found = TRUE; }
+       if ( !$Found )
+        $Cp++;
+      }
+
+     $XPos = $this->GArea_X1 + $this->GAreaXOffset + ( $this->DivisionWidth * $Cp ) + 2;
+     $YPos = $this->GArea_Y2 - ($NumericalValue - $this->VMin) * $this->DivisionRatio;
+
+     $Position   = imageftbbox($this->FontSize,0,$this->FontName,$Caption);
+     $TextHeight = $Position[3] - $Position[5];
+     $TextWidth  = $Position[2]-$Position[0] + 2;
+     $TextOffset = floor($TextHeight/2);
+
+     // Shadow
+     $Poly = array($XPos+1,$YPos+1,$XPos + 9,$YPos - $TextOffset,$XPos + 8,$YPos + $TextOffset + 2);
+     imagefilledpolygon($this->Picture,$Poly,3,$C_Shadow);
+     $this->drawLine($XPos,$YPos+1,$XPos + 9,$YPos - $TextOffset - .2,$R-$ShadowFactor,$G-$ShadowFactor,$B-$ShadowFactor);
+     $this->drawLine($XPos,$YPos+1,$XPos + 9,$YPos + $TextOffset + 2.2,$R-$ShadowFactor,$G-$ShadowFactor,$B-$ShadowFactor);
+     $this->drawFilledRectangle($XPos + 9,$YPos - $TextOffset-.2,$XPos + 13 + $TextWidth,$YPos + $TextOffset + 2.2,$R-$ShadowFactor,$G-$ShadowFactor,$B-$ShadowFactor);
+
+     // Label background
+     $Poly = array($XPos,$YPos,$XPos + 8,$YPos - $TextOffset - 1,$XPos + 8,$YPos + $TextOffset + 1);
+     imagefilledpolygon($this->Picture,$Poly,3,$C_Label);
+     $this->drawLine($XPos-1,$YPos,$XPos + 8,$YPos - $TextOffset - 1.2,$R,$G,$B);
+     $this->drawLine($XPos-1,$YPos,$XPos + 8,$YPos + $TextOffset + 1.2,$R,$G,$B);
+     $this->drawFilledRectangle($XPos + 8,$YPos - $TextOffset - 1.2,$XPos + 12 + $TextWidth,$YPos + $TextOffset + 1.2,$R,$G,$B);
+
+     imagettftext($this->Picture,$this->FontSize,0,$XPos + 10,$YPos + $TextOffset,$C_TextColor,$this->FontName,$Caption);
+    }
+
+   /* This function draw a plot graph */
+   function drawPlotGraph($Data,$DataDescription,$BigRadius=5,$SmallRadius=2,$R2=-1,$G2=-1,$B2=-1,$Shadow=FALSE)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawPlotGraph",$DataDescription);
+     $this->validateData("drawPlotGraph",$Data);
+
+     $GraphID = 0;
+     $Ro = $R2; $Go = $G2; $Bo = $B2;
+
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       $ID = 0;
+       foreach ( $DataDescription["Description"] as $keyI => $ValueI )
+        { if ( $keyI == $ColName ) { $ColorID = $ID; }; $ID++; }
+
+       $R = $this->Palette[$ColorID]["R"];
+       $G = $this->Palette[$ColorID]["G"];
+       $B = $this->Palette[$ColorID]["B"];
+       $R2 = $Ro; $G2 = $Go; $B2 = $Bo;
+
+       if ( isset($DataDescription["Symbol"][$ColName]) )
+        {
+         $Is_Alpha = ((ord ( file_get_contents ($DataDescription["Symbol"][$ColName], false, null, 25, 1)) & 6) & 4) == 4;
+
+         $Infos       = getimagesize($DataDescription["Symbol"][$ColName]);
+         $ImageWidth  = $Infos[0];
+         $ImageHeight = $Infos[1];
+         $Symbol      = imagecreatefromgif($DataDescription["Symbol"][$ColName]);
+        }
+
+       $XPos  = $this->GArea_X1 + $this->GAreaXOffset;
+       $Hsize = round($BigRadius/2);
+       $R3 = -1; $G3 = -1; $B3 = -1;
+       foreach ( $Data as $Key => $Values )
+        {
+         $Value = $Data[$Key][$ColName];
+         $YPos  = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
+
+         /* Save point into the image map if option activated */
+         if ( $this->BuildMap )
+          $this->addToImageMap($XPos-$Hsize,$YPos-$Hsize,$XPos+1+$Hsize,$YPos+$Hsize+1,$DataDescription["Description"][$ColName],$Data[$Key][$ColName].$DataDescription["Unit"]["Y"],"Plot");
+
+         if ( is_numeric($Value) )
+          {
+           if ( !isset($DataDescription["Symbol"][$ColName]) )
+            {
+
+             if ( $Shadow )
+              {
+               if ( $R3 !=-1 && $G3 !=-1 && $B3 !=-1 )
+                $this->drawFilledCircle($XPos+2,$YPos+2,$BigRadius,$R3,$G3,$B3);
+               else
+                {
+                 $R3 = $this->Palette[$ColorID]["R"]-20; if ( $R3 < 0 ) { $R3 = 0; }
+                 $G3 = $this->Palette[$ColorID]["G"]-20; if ( $G3 < 0 ) { $G3 = 0; }
+                 $B3 = $this->Palette[$ColorID]["B"]-20; if ( $B3 < 0 ) { $B3 = 0; }
+                 $this->drawFilledCircle($XPos+2,$YPos+2,$BigRadius,$R3,$G3,$B3);
+                }
+              }
+
+             $this->drawFilledCircle($XPos+1,$YPos+1,$BigRadius,$R,$G,$B);
+
+             if ( $SmallRadius != 0 )
+              {
+               if ( $R2 !=-1 && $G2 !=-1 && $B2 !=-1 )
+                $this->drawFilledCircle($XPos+1,$YPos+1,$SmallRadius,$R2,$G2,$B2);
+               else
+                {
+                 $R2 = $this->Palette[$ColorID]["R"]-15; if ( $R2 < 0 ) { $R2 = 0; }
+                 $G2 = $this->Palette[$ColorID]["G"]-15; if ( $G2 < 0 ) { $G2 = 0; }
+                 $B2 = $this->Palette[$ColorID]["B"]-15; if ( $B2 < 0 ) { $B2 = 0; }
+
+                 $this->drawFilledCircle($XPos+1,$YPos+1,$SmallRadius,$R2,$G2,$B2);
+                }
+              }
+            }
+           else
+            {
+             imagecopymerge($this->Picture,$Symbol,$XPos+1-$ImageWidth/2,$YPos+1-$ImageHeight/2,0,0,$ImageWidth,$ImageHeight,100);
+            }
+          }
+
+         $XPos = $XPos + $this->DivisionWidth;
+        }
+       $GraphID++;
+      }
+    }
+
+   /* This function draw a plot graph in an X/Y space */
+   function drawXYPlotGraph($Data,$DataDescription,$YSerieName,$XSerieName,$PaletteID=0,$BigRadius=5,$SmallRadius=2,$R2=-1,$G2=-1,$B2=-1,$Shadow=TRUE)
+    {
+     $R = $this->Palette[$PaletteID]["R"];
+     $G = $this->Palette[$PaletteID]["G"];
+     $B = $this->Palette[$PaletteID]["B"];
+     $R3 = -1; $G3 = -1; $B3 = -1;
+
+     $YLast = -1; $XLast = -1;
+     foreach ( $Data as $Key => $Values )
+      {
+       if ( isset($Data[$Key][$YSerieName]) && isset($Data[$Key][$XSerieName]) )
+        {
+         $X = $Data[$Key][$XSerieName];
+         $Y = $Data[$Key][$YSerieName];
+
+         $Y = $this->GArea_Y2 - (($Y-$this->VMin) * $this->DivisionRatio);
+         $X = $this->GArea_X1 + (($X-$this->VXMin) * $this->XDivisionRatio);
+
+
+         if ( $Shadow )
+          {
+           if ( $R3 !=-1 && $G3 !=-1 && $B3 !=-1 )
+            $this->drawFilledCircle($X+2,$Y+2,$BigRadius,$R3,$G3,$B3);
+           else
+            {
+             $R3 = $this->Palette[$PaletteID]["R"]-20; if ( $R < 0 ) { $R = 0; }
+             $G3 = $this->Palette[$PaletteID]["G"]-20; if ( $G < 0 ) { $G = 0; }
+             $B3 = $this->Palette[$PaletteID]["B"]-20; if ( $B < 0 ) { $B = 0; }
+             $this->drawFilledCircle($X+2,$Y+2,$BigRadius,$R3,$G3,$B3);
+            }
+          }
+
+         $this->drawFilledCircle($X+1,$Y+1,$BigRadius,$R,$G,$B);
+
+         if ( $R2 !=-1 && $G2 !=-1 && $B2 !=-1 )
+          $this->drawFilledCircle($X+1,$Y+1,$SmallRadius,$R2,$G2,$B2);
+         else
+          {
+           $R2 = $this->Palette[$PaletteID]["R"]+20; if ( $R > 255 ) { $R = 255; }
+           $G2 = $this->Palette[$PaletteID]["G"]+20; if ( $G > 255 ) { $G = 255; }
+           $B2 = $this->Palette[$PaletteID]["B"]+20; if ( $B > 255 ) { $B = 255; }
+           $this->drawFilledCircle($X+1,$Y+1,$SmallRadius,$R2,$G2,$B2);
+          }
+        }
+      }
+
+    }
+
+   /* This function draw an area between two series */
+   function drawArea($Data,$Serie1,$Serie2,$R,$G,$B,$Alpha = 50)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateData("drawArea",$Data);
+
+     $LayerWidth  = $this->GArea_X2-$this->GArea_X1;
+     $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
+
+     $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
+     $C_White         =$this->AllocateColor($this->Layers[0],255,255,255);
+     imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
+     imagecolortransparent($this->Layers[0],$C_White);
+
+     $C_Graph =$this->AllocateColor($this->Layers[0],$R,$G,$B);
+
+     $XPos     = $this->GAreaXOffset;
+     $LastXPos = -1;
+     foreach ( $Data as $Key => $Values )
+      {
+       $Value1 = $Data[$Key][$Serie1];
+       $Value2 = $Data[$Key][$Serie2];
+       $YPos1  = $LayerHeight - (($Value1-$this->VMin) * $this->DivisionRatio);
+       $YPos2  = $LayerHeight - (($Value2-$this->VMin) * $this->DivisionRatio);
+
+       if ( $LastXPos != -1 )
+        {
+         $Points   = "";
+         $Points[] = $LastXPos; $Points[] = $LastYPos1;
+         $Points[] = $LastXPos; $Points[] = $LastYPos2;
+         $Points[] = $XPos; $Points[] = $YPos2;
+         $Points[] = $XPos; $Points[] = $YPos1;
+
+         imagefilledpolygon($this->Layers[0],$Points,4,$C_Graph);
+        }
+
+       $LastYPos1 = $YPos1;
+       $LastYPos2 = $YPos2;
+       $LastXPos  = $XPos;
+
+       $XPos = $XPos + $this->DivisionWidth;
+      }
+
+     imagecopymerge($this->Picture,$this->Layers[0],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$LayerHeight,$Alpha);
+     imagedestroy($this->Layers[0]);
+    }
+
+
+   /* This function write the values of the specified series */
+   function writeValues($Data,$DataDescription,$Series)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("writeValues",$DataDescription);
+     $this->validateData("writeValues",$Data);
+
+     if ( !is_array($Series) ) { $Series = array($Series); }     
+
+     foreach($Series as $Key => $Serie)
+      {
+       $ID = 0;
+       foreach ( $DataDescription["Description"] as $keyI => $ValueI )
+        { if ( $keyI == $Serie ) { $ColorID = $ID; }; $ID++; }
+
+       $XPos  = $this->GArea_X1 + $this->GAreaXOffset;
+       $XLast = -1;
+       foreach ( $Data as $Key => $Values )
+        {
+         if ( isset($Data[$Key][$Serie]) && is_numeric($Data[$Key][$Serie]))
+          {
+           $Value = $Data[$Key][$Serie];
+           $YPos = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
+
+           $Positions = imagettfbbox($this->FontSize,0,$this->FontName,$Value);
+           $Width  = $Positions[2] - $Positions[6]; $XOffset = $XPos - ($Width/2); 
+           $Height = $Positions[3] - $Positions[7]; $YOffset = $YPos - 4;
+
+           $C_TextColor =$this->AllocateColor($this->Picture,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"]);
+           imagettftext($this->Picture,$this->FontSize,0,$XOffset,$YOffset,$C_TextColor,$this->FontName,$Value);
+          }
+         $XPos = $XPos + $this->DivisionWidth;
+        }
+
+      }
+    }
+
+   /* This function draw a line graph */
+   function drawLineGraph($Data,$DataDescription,$SerieName="")
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawLineGraph",$DataDescription);
+     $this->validateData("drawLineGraph",$Data);
+
+     $GraphID = 0;
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       $ID = 0;
+       foreach ( $DataDescription["Description"] as $keyI => $ValueI )
+        { if ( $keyI == $ColName ) { $ColorID = $ID; }; $ID++; }
+
+       if ( $SerieName == "" || $SerieName == $ColName )
+        {
+         $XPos  = $this->GArea_X1 + $this->GAreaXOffset;
+         $XLast = -1;
+         foreach ( $Data as $Key => $Values )
+          {
+           if ( isset($Data[$Key][$ColName]))
+            {
+             $Value = $Data[$Key][$ColName];
+             $YPos = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
+
+             /* Save point into the image map if option activated */
+             if ( $this->BuildMap )
+              $this->addToImageMap($XPos-3,$YPos-3,$XPos+3,$YPos+3,$DataDescription["Description"][$ColName],$Data[$Key][$ColName].$DataDescription["Unit"]["Y"],"Line");
+
+             if (!is_numeric($Value)) { $XLast = -1; }
+             if ( $XLast != -1 )
+              $this->drawLine($XLast,$YLast,$XPos,$YPos,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"],TRUE);
+
+             $XLast = $XPos;
+             $YLast = $YPos;
+             if (!is_numeric($Value)) { $XLast = -1; }
+            }
+           $XPos = $XPos + $this->DivisionWidth;
+          }
+         $GraphID++;
+        }
+      }
+    }
+
+   /* This function draw a line graph */
+   function drawXYGraph($Data,$DataDescription,$YSerieName,$XSerieName,$PaletteID=0)
+    {
+     $YLast = -1; $XLast = -1;
+     foreach ( $Data as $Key => $Values )
+      {
+       if ( isset($Data[$Key][$YSerieName]) && isset($Data[$Key][$XSerieName]) )
+        {
+         $X = $Data[$Key][$XSerieName];
+         $Y = $Data[$Key][$YSerieName];
+
+         $Y = $this->GArea_Y2 - (($Y-$this->VMin) * $this->DivisionRatio);
+         $X = $this->GArea_X1 + (($X-$this->VXMin) * $this->XDivisionRatio);
+
+         if ($XLast != -1 && $YLast != -1)
+          {
+           $this->drawLine($XLast,$YLast,$X,$Y,$this->Palette[$PaletteID]["R"],$this->Palette[$PaletteID]["G"],$this->Palette[$PaletteID]["B"],TRUE);
+          }
+
+         $XLast = $X;
+         $YLast = $Y;
+        }
+      }
+    }
+
+   /* This function draw a cubic curve */
+   function drawCubicCurve($Data,$DataDescription,$Accuracy=.1,$SerieName="")
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawCubicCurve",$DataDescription);
+     $this->validateData("drawCubicCurve",$Data);
+
+     $GraphID = 0;
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       if ( $SerieName == "" || $SerieName == $ColName )
+        {
+         $XIn = ""; $Yin = ""; $Yt = ""; $U = "";
+         $XIn[0] = 0; $YIn[0] = 0;
+
+         $ID = 0;
+         foreach ( $DataDescription["Description"] as $keyI => $ValueI )
+          { if ( $keyI == $ColName ) { $ColorID = $ID; }; $ID++; }
+
+         $Index = 1;
+         $XLast = -1; $Missing = "";
+         foreach ( $Data as $Key => $Values )
+          {
+           if ( isset($Data[$Key][$ColName]) )
+            {
+             $Value = $Data[$Key][$ColName];
+             $XIn[$Index] = $Index;
+             $YIn[$Index] = $Value;
+             if ( !is_numeric($Value) ) { $Missing[$Index] = TRUE; }
+             $Index++;
+            }
+          }
+         $Index--;
+
+         $Yt[0] = 0;
+         $Yt[1] = 0;
+         $U[1]  = 0;
+         for($i=2;$i<=$Index-1;$i++)
+          {
+           $Sig    = ($XIn[$i] - $XIn[$i-1]) / ($XIn[$i+1] - $XIn[$i-1]);
+           $p      = $Sig * $Yt[$i-1] + 2;
+           $Yt[$i] = ($Sig - 1) / $p;
+           $U[$i]  = ($YIn[$i+1] - $YIn[$i]) / ($XIn[$i+1] - $XIn[$i]) - ($YIn[$i] - $YIn[$i-1]) / ($XIn[$i] - $XIn[$i-1]);
+           $U[$i]  = (6 * $U[$i] / ($XIn[$i+1] - $XIn[$i-1]) - $Sig * $U[$i-1]) / $p;
+          }
+
+         $qn = 0;
+         $un = 0;
+         $Yt[$Index] = ($un - $qn * $U[$Index-1]) / ($qn * $Yt[$Index-1] + 1);
+
+         for($k=$Index-1;$k>=1;$k--)
+          $Yt[$k] = $Yt[$k] * $Yt[$k+1] + $U[$k];
+
+         $XPos  = $this->GArea_X1 + $this->GAreaXOffset;
+         for($X=1;$X<=$Index;$X=$X+$Accuracy)
+          {
+           $klo = 1;
+           $khi = $Index;
+           $k   = $khi - $klo;
+           while($k > 1)
+            {
+             $k = $khi - $klo;
+             If ( $XIn[$k] >= $X )
+              $khi = $k;
+             else
+              $klo = $k;
+            }
+           $klo = $khi - 1;
+
+           $h     = $XIn[$khi] - $XIn[$klo];
+           $a     = ($XIn[$khi] - $X) / $h;
+           $b     = ($X - $XIn[$klo]) / $h;
+           $Value = $a * $YIn[$klo] + $b * $YIn[$khi] + (($a*$a*$a - $a) * $Yt[$klo] + ($b*$b*$b - $b) * $Yt[$khi]) * ($h*$h) / 6;
+
+           $YPos = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
+
+           if ( $XLast != -1 && !isset($Missing[floor($X)]) && !isset($Missing[floor($X+1)]) )
+            $this->drawLine($XLast,$YLast,$XPos,$YPos,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"],TRUE);
+
+           $XLast = $XPos;
+           $YLast = $YPos;
+           $XPos  = $XPos + $this->DivisionWidth * $Accuracy;
+          }
+
+         // Add potentialy missing values
+         $XPos  = $XPos - $this->DivisionWidth * $Accuracy;
+         if ( $XPos < ($this->GArea_X2 - $this->GAreaXOffset) )
+          {
+           $YPos = $this->GArea_Y2 - (($YIn[$Index]-$this->VMin) * $this->DivisionRatio);
+           $this->drawLine($XLast,$YLast,$this->GArea_X2-$this->GAreaXOffset,$YPos,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"],TRUE);
+          }
+
+         $GraphID++;
+        }
+      }
+    }
+
+   /* This function draw a filled cubic curve */
+   function drawFilledCubicCurve($Data,$DataDescription,$Accuracy=.1,$Alpha=100,$AroundZero=FALSE)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawFilledCubicCurve",$DataDescription);
+     $this->validateData("drawFilledCubicCurve",$Data);
+
+     $LayerWidth  = $this->GArea_X2-$this->GArea_X1;
+     $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
+     $YZero = $LayerHeight - ((0-$this->VMin) * $this->DivisionRatio);
+     if ( $YZero > $LayerHeight ) { $YZero = $LayerHeight; }
+
+     $GraphID = 0;
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       $XIn = ""; $Yin = ""; $Yt = ""; $U = "";
+       $XIn[0] = 0; $YIn[0] = 0;
+
+       $ID = 0;
+       foreach ( $DataDescription["Description"] as $keyI => $ValueI )
+        { if ( $keyI == $ColName ) { $ColorID = $ID; }; $ID++; }
+
+       $Index = 1;
+       $XLast = -1; $Missing = "";
+       foreach ( $Data as $Key => $Values )
+        {
+         $Value = $Data[$Key][$ColName];
+         $XIn[$Index] = $Index;
+         $YIn[$Index] = $Value;
+         if ( !is_numeric($Value) ) { $Missing[$Index] = TRUE; }
+         $Index++;
+        }
+       $Index--;
+ 
+       $Yt[0] = 0;
+       $Yt[1] = 0;
+       $U[1]  = 0;
+       for($i=2;$i<=$Index-1;$i++)
+        {
+         $Sig    = ($XIn[$i] - $XIn[$i-1]) / ($XIn[$i+1] - $XIn[$i-1]);
+         $p      = $Sig * $Yt[$i-1] + 2;
+         $Yt[$i] = ($Sig - 1) / $p;
+         $U[$i]  = ($YIn[$i+1] - $YIn[$i]) / ($XIn[$i+1] - $XIn[$i]) - ($YIn[$i] - $YIn[$i-1]) / ($XIn[$i] - $XIn[$i-1]);
+         $U[$i]  = (6 * $U[$i] / ($XIn[$i+1] - $XIn[$i-1]) - $Sig * $U[$i-1]) / $p;
+        }
+
+       $qn = 0;
+       $un = 0;
+       $Yt[$Index] = ($un - $qn * $U[$Index-1]) / ($qn * $Yt[$Index-1] + 1);
+
+       for($k=$Index-1;$k>=1;$k--)
+        $Yt[$k] = $Yt[$k] * $Yt[$k+1] + $U[$k];
+
+       $Points   = "";
+       $Points[] = $this->GAreaXOffset;
+       $Points[] = $LayerHeight;
+
+       $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
+       $C_White         =$this->AllocateColor($this->Layers[0],255,255,255);
+       imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
+       imagecolortransparent($this->Layers[0],$C_White);
+
+       $YLast = NULL;
+       $XPos  = $this->GAreaXOffset; $PointsCount = 2;
+       for($X=1;$X<=$Index;$X=$X+$Accuracy)
+        {
+         $klo = 1;
+         $khi = $Index;
+         $k   = $khi - $klo;
+         while($k > 1)
+          {
+           $k = $khi - $klo;
+           If ( $XIn[$k] >= $X )
+            $khi = $k;
+           else
+            $klo = $k;
+          }
+         $klo = $khi - 1;
+
+         $h     = $XIn[$khi] - $XIn[$klo];
+         $a     = ($XIn[$khi] - $X) / $h;
+         $b     = ($X - $XIn[$klo]) / $h;
+         $Value = $a * $YIn[$klo] + $b * $YIn[$khi] + (($a*$a*$a - $a) * $Yt[$klo] + ($b*$b*$b - $b) * $Yt[$khi]) * ($h*$h) / 6;
+
+         $YPos = $LayerHeight - (($Value-$this->VMin) * $this->DivisionRatio);
+
+         if ( $YLast != NULL && $AroundZero && !isset($Missing[floor($X)]) && !isset($Missing[floor($X+1)]))
+          {
+           $aPoints   = "";
+           $aPoints[] = $XLast;
+           $aPoints[] = $YLast;
+           $aPoints[] = $XPos;
+           $aPoints[] = $YPos;
+           $aPoints[] = $XPos;
+           $aPoints[] = $YZero;
+           $aPoints[] = $XLast;
+           $aPoints[] = $YZero;
+
+           $C_Graph =$this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"]);
+           imagefilledpolygon($this->Layers[0],$aPoints,4,$C_Graph);
+          }
+
+         if ( !isset($Missing[floor($X)]) || $YLast == NULL )
+          {
+           $PointsCount++;
+           $Points[] = $XPos;
+           $Points[] = $YPos;
+          }
+         else
+          {
+           $PointsCount++; $Points[] = $XLast; $Points[] = $LayerHeight;
+          }
+
+         $YLast = $YPos; $XLast = $XPos; 
+         $XPos  = $XPos + $this->DivisionWidth * $Accuracy;
+        }
+
+       // Add potentialy missing values
+       $XPos  = $XPos - $this->DivisionWidth * $Accuracy;
+       if ( $XPos < ($LayerWidth-$this->GAreaXOffset) )
+        {
+         $YPos = $LayerHeight - (($YIn[$Index]-$this->VMin) * $this->DivisionRatio);
+
+         if ( $YLast != NULL && $AroundZero )
+          {
+           $aPoints   = "";
+           $aPoints[] = $XLast;
+           $aPoints[] = $YLast;
+           $aPoints[] = $LayerWidth-$this->GAreaXOffset;
+           $aPoints[] = $YPos;
+           $aPoints[] = $LayerWidth-$this->GAreaXOffset;
+           $aPoints[] = $YZero;
+           $aPoints[] = $XLast;
+           $aPoints[] = $YZero;
+
+           $C_Graph =$this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"]);
+           imagefilledpolygon($this->Layers[0],$aPoints,4,$C_Graph);
+          }
+
+         if ( $YIn[$klo] != "" && $YIn[$khi] != "" || $YLast == NULL )
+          {
+           $PointsCount++;
+           $Points[] = $LayerWidth-$this->GAreaXOffset;
+           $Points[] = $YPos;
+          }
+        }
+
+       $Points[] = $LayerWidth-$this->GAreaXOffset;
+       $Points[] = $LayerHeight;
+
+       if ( !$AroundZero )
+        {
+         $C_Graph =$this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"]);
+         imagefilledpolygon($this->Layers[0],$Points,$PointsCount,$C_Graph);
+        }
+
+       imagecopymerge($this->Picture,$this->Layers[0],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$LayerHeight,$Alpha);
+       imagedestroy($this->Layers[0]);
+
+       $this->drawCubicCurve($Data,$DataDescription,$Accuracy,$ColName);
+
+       $GraphID++;
+      }
+    }
+
+   /* This function draw a filled line graph */
+   function drawFilledLineGraph($Data,$DataDescription,$Alpha=100,$AroundZero=FALSE)
+    {
+     $Empty = -2147483647;
+
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawFilledLineGraph",$DataDescription);
+     $this->validateData("drawFilledLineGraph",$Data);
+
+     $LayerWidth  = $this->GArea_X2-$this->GArea_X1;
+     $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
+
+     $GraphID = 0;
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       $ID = 0;
+       foreach ( $DataDescription["Description"] as $keyI => $ValueI )
+        { if ( $keyI == $ColName ) { $ColorID = $ID; }; $ID++; }
+
+       $aPoints   = "";
+       $aPoints[] = $this->GAreaXOffset;
+       $aPoints[] = $LayerHeight;
+
+       $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
+       $C_White         = $this->AllocateColor($this->Layers[0],255,255,255);
+       imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
+       imagecolortransparent($this->Layers[0],$C_White);
+
+       $XPos  = $this->GAreaXOffset;
+       $XLast = -1; $PointsCount = 2;
+       $YZero = $LayerHeight - ((0-$this->VMin) * $this->DivisionRatio);
+       if ( $YZero > $LayerHeight ) { $YZero = $LayerHeight; }
+
+       $YLast = $Empty;
+       foreach ( $Data as $Key => $Values )
+        {
+         $Value = $Data[$Key][$ColName];
+         $YPos = $LayerHeight - (($Value-$this->VMin) * $this->DivisionRatio);
+
+         /* Save point into the image map if option activated */
+         if ( $this->BuildMap )
+          $this->addToImageMap($XPos-3,$YPos-3,$XPos+3,$YPos+3,$DataDescription["Description"][$ColName],$Data[$Key][$ColName].$DataDescription["Unit"]["Y"],"FLine");
+
+         if ( !is_numeric($Value) )
+          {
+           $PointsCount++;
+           $aPoints[] = $XLast;
+           $aPoints[] = $LayerHeight;
+
+           $YLast = $Empty;
+          }
+         else
+          {
+           $PointsCount++;
+           if ( $YLast <> $Empty )
+            { $aPoints[] = $XPos; $aPoints[] = $YPos; }
+           else
+            { $PointsCount++; $aPoints[] = $XPos; $aPoints[] = $LayerHeight; $aPoints[] = $XPos; $aPoints[] = $YPos; }
+
+           if ($YLast <> $Empty && $AroundZero)
+            {
+             $Points   = "";
+             $Points[] = $XLast; $Points[] = $YLast;
+             $Points[] = $XPos;
+             $Points[] = $YPos;
+             $Points[] = $XPos;
+             $Points[] = $YZero;
+             $Points[] = $XLast;
+             $Points[] = $YZero;
+
+             $C_Graph = $this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"]);
+             imagefilledpolygon($this->Layers[0],$Points,4,$C_Graph);
+            }
+           $YLast = $YPos;
+          }
+
+         $XLast = $XPos;
+         $XPos  = $XPos + $this->DivisionWidth;
+        }
+       $aPoints[] = $LayerWidth - $this->GAreaXOffset;
+       $aPoints[] = $LayerHeight;
+
+       if ( $AroundZero == FALSE )
+        {
+         $C_Graph = $this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"]);
+         imagefilledpolygon($this->Layers[0],$aPoints,$PointsCount,$C_Graph);
+        }
+
+       imagecopymerge($this->Picture,$this->Layers[0],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$LayerHeight,$Alpha);
+       imagedestroy($this->Layers[0]);
+       $GraphID++;
+       $this->drawLineGraph($Data,$DataDescription,$ColName);
+      }
+    }
+
+   /* This function draw a bar graph */
+   function drawOverlayBarGraph($Data,$DataDescription,$Alpha=50)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawOverlayBarGraph",$DataDescription);
+     $this->validateData("drawOverlayBarGraph",$Data);
+
+     $LayerWidth  = $this->GArea_X2-$this->GArea_X1;
+     $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
+
+     $GraphID = 0;
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       $ID = 0;
+       foreach ( $DataDescription["Description"] as $keyI => $ValueI )
+        { if ( $keyI == $ColName ) { $ColorID = $ID; }; $ID++; }
+
+       $this->Layers[$GraphID] = imagecreatetruecolor($LayerWidth,$LayerHeight);
+       $C_White                = $this->AllocateColor($this->Layers[$GraphID],255,255,255);
+       $C_Graph                = $this->AllocateColor($this->Layers[$GraphID],$this->Palette[$GraphID]["R"],$this->Palette[$GraphID]["G"],$this->Palette[$GraphID]["B"]);
+       imagefilledrectangle($this->Layers[$GraphID],0,0,$LayerWidth,$LayerHeight,$C_White);
+       imagecolortransparent($this->Layers[$GraphID],$C_White);
+
+       $XWidth = $this->DivisionWidth / 4;
+       $XPos   = $this->GAreaXOffset;
+       $YZero  = $LayerHeight - ((0-$this->VMin) * $this->DivisionRatio);
+       $XLast  = -1; $PointsCount = 2;
+       foreach ( $Data as $Key => $Values )
+        {
+         if ( isset($Data[$Key][$ColName]) )
+          {
+           $Value = $Data[$Key][$ColName];
+           if ( is_numeric($Value) )
+            {
+             $YPos  = $LayerHeight - (($Value-$this->VMin) * $this->DivisionRatio);
+
+             imagefilledrectangle($this->Layers[$GraphID],$XPos-$XWidth,$YPos,$XPos+$XWidth,$YZero,$C_Graph);
+
+             $X1 = floor($XPos - $XWidth + $this->GArea_X1); $Y1 = floor($YPos+$this->GArea_Y1) + .2;
+             $X2 = floor($XPos + $XWidth + $this->GArea_X1); $Y2 = $this->GArea_Y2 - ((0-$this->VMin) * $this->DivisionRatio);
+             if ( $X1 <= $this->GArea_X1 ) { $X1 = $this->GArea_X1 + 1; }
+             if ( $X2 >= $this->GArea_X2 ) { $X2 = $this->GArea_X2 - 1; }
+
+             /* Save point into the image map if option activated */
+             if ( $this->BuildMap )
+              $this->addToImageMap($X1,min($Y1,$Y2),$X2,max($Y1,$Y2),$DataDescription["Description"][$ColName],$Data[$Key][$ColName].$DataDescription["Unit"]["Y"],"oBar");
+
+             $this->drawLine($X1,$Y1,$X2,$Y1,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"],TRUE);
+            }
+          }
+         $XPos = $XPos + $this->DivisionWidth;
+        }
+
+       $GraphID++;
+      }
+
+     for($i=0;$i<=($GraphID-1);$i++)
+      {
+       imagecopymerge($this->Picture,$this->Layers[$i],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$LayerHeight,$Alpha);
+       imagedestroy($this->Layers[$i]);
+      }
+    }
+
+   /* This function draw a bar graph */
+   function drawBarGraph($Data,$DataDescription,$Shadow=FALSE,$Alpha=100)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawBarGraph",$DataDescription);
+     $this->validateData("drawBarGraph",$Data);
+
+     $GraphID      = 0;
+     $Series       = count($DataDescription["Values"]);
+     $SeriesWidth  = $this->DivisionWidth / ($Series+1);
+     $SerieXOffset = $this->DivisionWidth / 2 - $SeriesWidth / 2;
+
+     $YZero  = $this->GArea_Y2 - ((0-$this->VMin) * $this->DivisionRatio);
+     if ( $YZero > $this->GArea_Y2 ) { $YZero = $this->GArea_Y2; }
+
+     $SerieID = 0;
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       $ID = 0;
+       foreach ( $DataDescription["Description"] as $keyI => $ValueI )
+        { if ( $keyI == $ColName ) { $ColorID = $ID; }; $ID++; }
+
+       $XPos  = $this->GArea_X1 + $this->GAreaXOffset - $SerieXOffset + $SeriesWidth * $SerieID;
+       $XLast = -1;
+       foreach ( $Data as $Key => $Values )
+        {
+         if ( isset($Data[$Key][$ColName]))
+          {
+           if ( is_numeric($Data[$Key][$ColName]) )
+            {
+             $Value = $Data[$Key][$ColName];
+             $YPos = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
+
+             /* Save point into the image map if option activated */
+             if ( $this->BuildMap )
+              {
+               $this->addToImageMap($XPos+1,min($YZero,$YPos),$XPos+$SeriesWidth-1,max($YZero,$YPos),$DataDescription["Description"][$ColName],$Data[$Key][$ColName].$DataDescription["Unit"]["Y"],"Bar");
+              }
+           
+             if ( $Shadow && $Alpha == 100 )
+              $this->drawRectangle($XPos+1,$YZero,$XPos+$SeriesWidth-1,$YPos,25,25,25,TRUE,$Alpha);
+
+             $this->drawFilledRectangle($XPos+1,$YZero,$XPos+$SeriesWidth-1,$YPos,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"],TRUE,$Alpha);
+            }
+          }
+         $XPos = $XPos + $this->DivisionWidth;
+        }
+       $SerieID++;
+      }
+    }
+
+   /* This function draw a stacked bar graph */
+   function drawStackedBarGraph($Data,$DataDescription,$Alpha=50,$Contiguous=FALSE)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawBarGraph",$DataDescription);
+     $this->validateData("drawBarGraph",$Data);
+
+     $GraphID      = 0;
+     $Series       = count($DataDescription["Values"]);
+     if ( $Contiguous )
+      $SeriesWidth  = $this->DivisionWidth;
+     else
+      $SeriesWidth  = $this->DivisionWidth * .8;
+
+     $YZero  = $this->GArea_Y2 - ((0-$this->VMin) * $this->DivisionRatio);
+     if ( $YZero > $this->GArea_Y2 ) { $YZero = $this->GArea_Y2; }
+
+     $SerieID = 0; $LastValue = "";
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       $ID = 0;
+       foreach ( $DataDescription["Description"] as $keyI => $ValueI )
+        { if ( $keyI == $ColName ) { $ColorID = $ID; }; $ID++; }
+
+       $XPos  = $this->GArea_X1 + $this->GAreaXOffset - $SeriesWidth / 2;
+       $XLast = -1; 
+       foreach ( $Data as $Key => $Values )
+        {
+         if ( isset($Data[$Key][$ColName]))
+          {
+           if ( is_numeric($Data[$Key][$ColName]) )
+            {
+             $Value = $Data[$Key][$ColName];
+
+             if ( isset($LastValue[$Key]) )
+              {
+               $YPos    = $this->GArea_Y2 - ((($Value+$LastValue[$Key])-$this->VMin) * $this->DivisionRatio);
+               $YBottom = $this->GArea_Y2 - (($LastValue[$Key]-$this->VMin) * $this->DivisionRatio);
+               $LastValue[$Key] += $Value;
+              }
+             else
+              {
+               $YPos    = $this->GArea_Y2 - (($Value-$this->VMin) * $this->DivisionRatio);
+               $YBottom = $YZero;
+               $LastValue[$Key] = $Value;
+              }
+
+             /* Save point into the image map if option activated */
+             if ( $this->BuildMap )
+              $this->addToImageMap($XPos+1,min($YBottom,$YPos),$XPos+$SeriesWidth-1,max($YBottom,$YPos),$DataDescription["Description"][$ColName],$Data[$Key][$ColName].$DataDescription["Unit"]["Y"],"sBar");
+
+             $this->drawFilledRectangle($XPos+1,$YBottom,$XPos+$SeriesWidth-1,$YPos,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"],TRUE,$Alpha);
+            }
+          }
+         $XPos = $XPos + $this->DivisionWidth;
+        }
+       $SerieID++;
+      }
+    }
+
+   /* This function draw a limits bar graphs */
+   function drawLimitsGraph($Data,$DataDescription,$R=0,$G=0,$B=0)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawLimitsGraph",$DataDescription);
+     $this->validateData("drawLimitsGraph",$Data);
+
+     $XWidth = $this->DivisionWidth / 4;
+     $XPos   = $this->GArea_X1 + $this->GAreaXOffset;
+
+     foreach ( $Data as $Key => $Values )
+      {
+       $Min     = $Data[$Key][$DataDescription["Values"][0]];
+       $Max     = $Data[$Key][$DataDescription["Values"][0]];
+       $GraphID = 0; $MaxID = 0; $MinID = 0;
+       foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+        {
+         if ( isset($Data[$Key][$ColName]) )
+          {
+           if ( $Data[$Key][$ColName] > $Max && is_numeric($Data[$Key][$ColName]))
+            { $Max = $Data[$Key][$ColName]; $MaxID = $GraphID; }
+          }
+         if ( isset($Data[$Key][$ColName]) && is_numeric($Data[$Key][$ColName]))
+          {
+           if ( $Data[$Key][$ColName] < $Min )
+            { $Min = $Data[$Key][$ColName]; $MinID = $GraphID; }
+           $GraphID++;
+          }
+        }
+
+       $YPos = $this->GArea_Y2 - (($Max-$this->VMin) * $this->DivisionRatio);
+       $X1 = floor($XPos - $XWidth); $Y1 = floor($YPos) - .2;
+       $X2 = floor($XPos + $XWidth);
+       if ( $X1 <= $this->GArea_X1 ) { $X1 = $this->GArea_X1 + 1; }
+       if ( $X2 >= $this->GArea_X2 ) { $X2 = $this->GArea_X2 - 1; }
+
+       $YPos = $this->GArea_Y2 - (($Min-$this->VMin) * $this->DivisionRatio);
+       $Y2 = floor($YPos) + .2;
+
+       $this->drawLine(floor($XPos)-.2,$Y1+1,floor($XPos)-.2,$Y2-1,$R,$G,$B,TRUE);
+       $this->drawLine(floor($XPos)+.2,$Y1+1,floor($XPos)+.2,$Y2-1,$R,$G,$B,TRUE);
+       $this->drawLine($X1,$Y1,$X2,$Y1,$this->Palette[$MaxID]["R"],$this->Palette[$MaxID]["G"],$this->Palette[$MaxID]["B"],FALSE);
+       $this->drawLine($X1,$Y2,$X2,$Y2,$this->Palette[$MinID]["R"],$this->Palette[$MinID]["G"],$this->Palette[$MinID]["B"],FALSE);
+
+       $XPos = $XPos + $this->DivisionWidth;
+      }
+    }
+
+   /* This function draw radar axis centered on the graph area */
+   function drawRadarAxis($Data,$DataDescription,$Mosaic=TRUE,$BorderOffset=10,$A_R=60,$A_G=60,$A_B=60,$S_R=200,$S_G=200,$S_B=200,$MaxValue=-1)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawRadarAxis",$DataDescription);
+     $this->validateData("drawRadarAxis",$Data);
+
+     $C_TextColor = $this->AllocateColor($this->Picture,$A_R,$A_G,$A_B);
+
+     /* Draw radar axis */
+     $Points  = count($Data);
+     $Radius  = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2 - $BorderOffset;
+     $XCenter = ( $this->GArea_X2 - $this->GArea_X1 ) / 2 + $this->GArea_X1;
+     $YCenter = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2 + $this->GArea_Y1;
+
+     /* Search for the max value */
+     if ( $MaxValue == -1 )
+      {
+       foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+        {
+         foreach ( $Data as $Key => $Values )
+          {
+           if ( isset($Data[$Key][$ColName]))
+            if ( $Data[$Key][$ColName] > $MaxValue ) { $MaxValue = $Data[$Key][$ColName]; }
+          }
+        }
+      }
+
+     /* Draw the mosaic */
+     if ( $Mosaic )
+      {
+       $RadiusScale = $Radius / $MaxValue;
+       for ( $t=1; $t<=$MaxValue-1; $t++)
+        {
+         $TRadius  = $RadiusScale * $t;
+         $LastX1   = -1;
+
+         for ( $i=0; $i<=$Points; $i++)
+          {
+           $Angle = -90 + $i * 360/$Points;
+           $X1 = cos($Angle * 3.1418 / 180 ) * $TRadius + $XCenter;
+           $Y1 = sin($Angle * 3.1418 / 180 ) * $TRadius + $YCenter;
+           $X2 = cos($Angle * 3.1418 / 180 ) * ($TRadius+$RadiusScale) + $XCenter;
+           $Y2 = sin($Angle * 3.1418 / 180 ) * ($TRadius+$RadiusScale) + $YCenter;
+
+           if ( $t % 2 == 1 && $LastX1 != -1)
+            {
+             $Plots   = "";
+             $Plots[] = $X1; $Plots[] = $Y1;
+             $Plots[] = $X2; $Plots[] = $Y2;
+             $Plots[] = $LastX2; $Plots[] = $LastY2;
+             $Plots[] = $LastX1; $Plots[] = $LastY1;
+
+             $C_Graph = $this->AllocateColor($this->Picture,250,250,250);
+             imagefilledpolygon($this->Picture,$Plots,(count($Plots)+1)/2,$C_Graph);
+            }
+
+           $LastX1 = $X1; $LastY1= $Y1;
+           $LastX2 = $X2; $LastY2= $Y2;
+          }
+        }
+      }
+
+
+     /* Draw the spider web */
+     for ( $t=1; $t<=$MaxValue; $t++)
+      {
+       $TRadius = ( $Radius / $MaxValue ) * $t;
+       $LastX   = -1;
+
+       for ( $i=0; $i<=$Points; $i++)
+        {
+         $Angle = -90 + $i * 360/$Points;
+         $X = cos($Angle * 3.1418 / 180 ) * $TRadius + $XCenter;
+         $Y = sin($Angle * 3.1418 / 180 ) * $TRadius + $YCenter;
+
+         if ( $LastX != -1 )
+          $this->drawDottedLine($LastX,$LastY,$X,$Y,4,$S_R,$S_G,$S_B);
+
+         $LastX = $X; $LastY= $Y;
+        }
+      }
+
+     /* Draw the axis */
+     for ( $i=0; $i<=$Points; $i++)
+      {
+       $Angle = -90 + $i * 360/$Points;
+       $X = cos($Angle * 3.1418 / 180 ) * $Radius + $XCenter;
+       $Y = sin($Angle * 3.1418 / 180 ) * $Radius + $YCenter;
+
+       $this->drawLine($XCenter,$YCenter,$X,$Y,$A_R,$A_G,$A_B);
+
+       $XOffset = 0; $YOffset = 0;
+       if (isset($Data[$i][$DataDescription["Position"]]))
+        {
+         $Label = $Data[$i][$DataDescription["Position"]];
+
+         $Positions = imagettfbbox($this->FontSize,0,$this->FontName,$Label);
+         $Width  = $Positions[2] - $Positions[6];
+         $Height = $Positions[3] - $Positions[7];
+
+         if ( $Angle >= 0 && $Angle <= 90 )
+          $YOffset = $Height;
+
+         if ( $Angle > 90 && $Angle <= 180 )
+          { $YOffset = $Height; $XOffset = -$Width; }
+
+         if ( $Angle > 180 && $Angle <= 270 )
+          { $XOffset = -$Width; }
+
+         imagettftext($this->Picture,$this->FontSize,0,$X+$XOffset,$Y+$YOffset,$C_TextColor,$this->FontName,$Label);
+        }
+      }
+
+     /* Write the values */
+     for ( $t=1; $t<=$MaxValue; $t++)
+      {
+       $TRadius = ( $Radius / $MaxValue ) * $t;
+
+       $Angle = -90 + 360 / $Points;
+       $X1 = $XCenter;
+       $Y1 = $YCenter - $TRadius;
+       $X2 = cos($Angle * 3.1418 / 180 ) * $TRadius + $XCenter;
+       $Y2 = sin($Angle * 3.1418 / 180 ) * $TRadius + $YCenter;
+
+       $XPos = floor(($X2-$X1)/2) + $X1;
+       $YPos = floor(($Y2-$Y1)/2) + $Y1;
+
+       $Positions = imagettfbbox($this->FontSize,0,$this->FontName,$t);
+       $X = $XPos - ( $X+$Positions[2] - $X+$Positions[6] ) / 2;
+       $Y = $YPos + $this->FontSize;
+
+       $this->drawFilledRoundedRectangle($X+$Positions[6]-2,$Y+$Positions[7]-1,$X+$Positions[2]+4,$Y+$Positions[3]+1,2,240,240,240);
+       $this->drawRoundedRectangle($X+$Positions[6]-2,$Y+$Positions[7]-1,$X+$Positions[2]+4,$Y+$Positions[3]+1,2,220,220,220);
+       imagettftext($this->Picture,$this->FontSize,0,$X,$Y,$C_TextColor,$this->FontName,$t);
+      }
+    }
+
+   /* This function draw a radar graph centered on the graph area */
+   function drawRadar($Data,$DataDescription,$BorderOffset=10,$MaxValue=-1)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawRadar",$DataDescription);
+     $this->validateData("drawRadar",$Data);
+
+     $Points  = count($Data);
+     $Radius  = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2 - $BorderOffset;
+     $XCenter = ( $this->GArea_X2 - $this->GArea_X1 ) / 2 + $this->GArea_X1;
+     $YCenter = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2 + $this->GArea_Y1;
+
+     /* Search for the max value */
+     if ( $MaxValue == -1 )
+      {
+       foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+        {
+         foreach ( $Data as $Key => $Values )
+          {
+           if ( isset($Data[$Key][$ColName]))
+            if ( $Data[$Key][$ColName] > $MaxValue ) { $MaxValue = $Data[$Key][$ColName]; }
+          }
+        }
+      }
+
+     $GraphID = 0;
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       $ID = 0;
+       foreach ( $DataDescription["Description"] as $keyI => $ValueI )
+        { if ( $keyI == $ColName ) { $ColorID = $ID; }; $ID++; }
+
+       $Angle = -90;
+       $XLast = -1;
+       foreach ( $Data as $Key => $Values )
+        {
+         if ( isset($Data[$Key][$ColName]))
+          {
+           $Value    = $Data[$Key][$ColName];
+           $Strength = ( $Radius / $MaxValue ) * $Value;
+
+           $XPos = cos($Angle * 3.1418 / 180 ) * $Strength + $XCenter;
+           $YPos = sin($Angle * 3.1418 / 180 ) * $Strength + $YCenter;
+
+           if ( $XLast != -1 )
+            $this->drawLine($XLast,$YLast,$XPos,$YPos,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"]);
+
+           if ( $XLast == -1 )
+            { $FirstX = $XPos; $FirstY = $YPos; }
+
+           $Angle = $Angle + (360/$Points);
+           $XLast = $XPos;
+           $YLast = $YPos;
+          }
+        }
+       $this->drawLine($XPos,$YPos,$FirstX,$FirstY,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"]);
+       $GraphID++;
+      }
+    }
+
+   /* This function draw a radar graph centered on the graph area */
+   function drawFilledRadar($Data,$DataDescription,$Alpha=50,$BorderOffset=10,$MaxValue=-1)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawFilledRadar",$DataDescription);
+     $this->validateData("drawFilledRadar",$Data);
+
+     $Points      = count($Data);
+     $LayerWidth  = $this->GArea_X2-$this->GArea_X1;
+     $LayerHeight = $this->GArea_Y2-$this->GArea_Y1;
+     $Radius      = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2 - $BorderOffset;
+     $XCenter     = ( $this->GArea_X2 - $this->GArea_X1 ) / 2;
+     $YCenter     = ( $this->GArea_Y2 - $this->GArea_Y1 ) / 2;
+
+     /* Search for the max value */
+     if ( $MaxValue == -1 )
+      {
+       foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+        {
+         foreach ( $Data as $Key => $Values )
+          {
+           if ( isset($Data[$Key][$ColName]))
+            if ( $Data[$Key][$ColName] > $MaxValue && is_numeric($Data[$Key][$ColName])) { $MaxValue = $Data[$Key][$ColName]; }
+          }
+        }
+      }
+
+     $GraphID = 0;
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       $ID = 0;
+       foreach ( $DataDescription["Description"] as $keyI => $ValueI )
+        { if ( $keyI == $ColName ) { $ColorID = $ID; }; $ID++; }
+
+       $Angle = -90;
+       $XLast = -1;
+       $Plots = "";
+       foreach ( $Data as $Key => $Values )
+        {
+         if ( isset($Data[$Key][$ColName]))
+          {
+           $Value    = $Data[$Key][$ColName];
+           if ( !is_numeric($Value) ) { $Value = 0; }
+           $Strength = ( $Radius / $MaxValue ) * $Value;
+
+           $XPos = cos($Angle * 3.1418 / 180 ) * $Strength + $XCenter;
+           $YPos = sin($Angle * 3.1418 / 180 ) * $Strength + $YCenter;
+
+           $Plots[] = $XPos;
+           $Plots[] = $YPos;
+
+           $Angle = $Angle + (360/$Points);
+           $XLast = $XPos;
+           $YLast = $YPos;
+          }
+        }
+
+       if (isset($Plots[0]))
+        {
+         $Plots[] = $Plots[0];
+         $Plots[] = $Plots[1];
+
+         $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
+         $C_White         = $this->AllocateColor($this->Layers[0],255,255,255);
+         imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
+         imagecolortransparent($this->Layers[0],$C_White);
+
+         $C_Graph = $this->AllocateColor($this->Layers[0],$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"]);
+         imagefilledpolygon($this->Layers[0],$Plots,(count($Plots)+1)/2,$C_Graph);
+
+         imagecopymerge($this->Picture,$this->Layers[0],$this->GArea_X1,$this->GArea_Y1,0,0,$LayerWidth,$LayerHeight,$Alpha);
+         imagedestroy($this->Layers[0]);
+
+         for($i=0;$i<=count($Plots)-4;$i=$i+2)
+          $this->drawLine($Plots[$i]+$this->GArea_X1,$Plots[$i+1]+$this->GArea_Y1,$Plots[$i+2]+$this->GArea_X1,$Plots[$i+3]+$this->GArea_Y1,$this->Palette[$ColorID]["R"],$this->Palette[$ColorID]["G"],$this->Palette[$ColorID]["B"]);
+        }
+
+       $GraphID++;
+      }
+    }
+
+   /* This function draw a flat pie chart */
+   function drawBasicPieGraph($Data,$DataDescription,$XPos,$YPos,$Radius=100,$DrawLabels=PIE_NOLABEL,$R=255,$G=255,$B=255,$Decimals=0)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawBasicPieGraph",$DataDescription,FALSE);
+     $this->validateData("drawBasicPieGraph",$Data);
+
+     /* Determine pie sum */
+     $Series = 0; $PieSum = 0;
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       if ( $ColName != $DataDescription["Position"] )
+        {
+         $Series++;
+         foreach ( $Data as $Key => $Values )
+          {
+           if ( isset($Data[$Key][$ColName]))
+            $PieSum = $PieSum + $Data[$Key][$ColName]; $iValues[] = $Data[$Key][$ColName]; $iLabels[] = $Data[$Key][$DataDescription["Position"]];
+          }
+        }
+      }
+
+     /* Validate serie */
+     if ( $Series != 1 )
+      RaiseFatal("Pie chart can only accept one serie of data.");
+
+     $SpliceRatio         = 360 / $PieSum;
+     $SplicePercent       = 100 / $PieSum;
+
+     /* Calculate all polygons */
+     $Angle    = 0; $TopPlots = "";
+     foreach($iValues as $Key => $Value)
+      {
+       $TopPlots[$Key][] = $XPos;
+       $TopPlots[$Key][] = $YPos;
+
+       /* Process labels position & size */
+       $Caption = "";
+       if ( !($DrawLabels == PIE_NOLABEL) )
+        {
+         $TAngle   = $Angle+($Value*$SpliceRatio/2);
+         if ($DrawLabels == PIE_PERCENTAGE)
+          $Caption  = (round($Value * pow(10,$Decimals) * $SplicePercent)/pow(10,$Decimals))."%";
+         elseif ($DrawLabels == PIE_LABELS)
+          $Caption  = $iLabels[$Key];
+         elseif ($DrawLabels == PIE_PERCENTAGE_LABEL)
+          $Caption  = $iLabels[$Key]."\r\n".(round($Value * pow(10,$Decimals) * $SplicePercent)/pow(10,$Decimals))."%";
+         elseif ($DrawLabels == PIE_PERCENTAGE_LABEL)
+          $Caption  = $iLabels[$Key]."\r\n".(round($Value * pow(10,$Decimals) * $SplicePercent)/pow(10,$Decimals))."%";
+
+         $Position   = imageftbbox($this->FontSize,0,$this->FontName,$Caption);
+         $TextWidth  = $Position[2]-$Position[0];
+         $TextHeight = abs($Position[1])+abs($Position[3]);
+
+         $TX = cos(($TAngle) * 3.1418 / 180 ) * ($Radius+10) + $XPos;
+
+         if ( $TAngle > 0 && $TAngle < 180 )
+          $TY = sin(($TAngle) * 3.1418 / 180 ) * ($Radius+10) + $YPos + 4;
+         else
+          $TY = sin(($TAngle) * 3.1418 / 180 ) * ($Radius+4) + $YPos - ($TextHeight/2);
+
+         if ( $TAngle > 90 && $TAngle < 270 )
+          $TX = $TX - $TextWidth;
+
+         $C_TextColor = $this->AllocateColor($this->Picture,70,70,70);
+         imagettftext($this->Picture,$this->FontSize,0,$TX,$TY,$C_TextColor,$this->FontName,$Caption);
+        }
+
+       /* Process pie slices */
+       for($iAngle=$Angle;$iAngle<=$Angle+$Value*$SpliceRatio;$iAngle=$iAngle+.5)
+        {
+         $TopX = cos($iAngle * 3.1418 / 180 ) * $Radius + $XPos;
+         $TopY = sin($iAngle * 3.1418 / 180 ) * $Radius + $YPos;
+
+         $TopPlots[$Key][] = $TopX; 
+         $TopPlots[$Key][] = $TopY;
+        }
+
+       $TopPlots[$Key][] = $XPos;
+       $TopPlots[$Key][] = $YPos;
+
+       $Angle = $iAngle;
+      }
+     $PolyPlots = $TopPlots;
+
+     /* Set array values type to float --- PHP Bug with imagefilledpolygon casting to integer */
+     foreach ($TopPlots as $Key => $Value)
+      { foreach ($TopPlots[$Key] as $Key2 => $Value2) { settype($TopPlots[$Key][$Key2],"float"); } }
+
+     /* Draw Top polygons */
+     foreach ($PolyPlots as $Key => $Value)
+      { 
+       $C_GraphLo = $this->AllocateColor($this->Picture,$this->Palette[$Key]["R"],$this->Palette[$Key]["G"],$this->Palette[$Key]["B"]);
+       imagefilledpolygon($this->Picture,$PolyPlots[$Key],(count($PolyPlots[$Key])+1)/2,$C_GraphLo);
+      }
+
+     $this->drawCircle($XPos-.5,$YPos-.5,$Radius,$R,$G,$B);
+     $this->drawCircle($XPos-.5,$YPos-.5,$Radius+.5,$R,$G,$B);
+
+     /* Draw Top polygons */
+     foreach ($TopPlots as $Key => $Value)
+      { 
+       for($j=0;$j<=count($TopPlots[$Key])-4;$j=$j+2)
+        $this->drawLine($TopPlots[$Key][$j],$TopPlots[$Key][$j+1],$TopPlots[$Key][$j+2],$TopPlots[$Key][$j+3],$R,$G,$B);
+      }
+    }
+
+   function drawFlatPieGraphWithShadow($Data,$DataDescription,$XPos,$YPos,$Radius=100,$DrawLabels=PIE_NOLABEL,$SpliceDistance=0,$Decimals=0)
+    {
+     $this->drawFlatPieGraph($Data,$DataDescription,$XPos+$this->ShadowXDistance,$YPos+$this->ShadowYDistance,$Radius,PIE_NOLABEL,$SpliceDistance,$Decimals,TRUE);
+     $this->drawFlatPieGraph($Data,$DataDescription,$XPos,$YPos,$Radius,$DrawLabels,$SpliceDistance,$Decimals,FALSE);
+    }
+
+   /* This function draw a flat pie chart */
+   function drawFlatPieGraph($Data,$DataDescription,$XPos,$YPos,$Radius=100,$DrawLabels=PIE_NOLABEL,$SpliceDistance=0,$Decimals=0,$AllBlack=FALSE)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawFlatPieGraph",$DataDescription,FALSE);
+     $this->validateData("drawFlatPieGraph",$Data);
+
+     $ShadowStatus = $this->ShadowActive ; $this->ShadowActive = FALSE;
+
+     /* Determine pie sum */
+     $Series = 0; $PieSum = 0;
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       if ( $ColName != $DataDescription["Position"] )
+        {
+         $Series++;
+         foreach ( $Data as $Key => $Values )
+          {
+           if ( isset($Data[$Key][$ColName]))
+            $PieSum = $PieSum + $Data[$Key][$ColName]; $iValues[] = $Data[$Key][$ColName]; $iLabels[] = $Data[$Key][$DataDescription["Position"]];
+          }
+        }
+      }
+
+     /* Validate serie */
+     if ( $Series != 1 )
+      {
+       RaiseFatal("Pie chart can only accept one serie of data.");
+       return(0);
+      }
+
+     $SpliceRatio   = 360 / $PieSum;
+     $SplicePercent = 100 / $PieSum;
+
+     /* Calculate all polygons */
+     $Angle = 0; $TopPlots = "";
+     foreach($iValues as $Key => $Value)
+      {
+       $XOffset = cos(($Angle+($Value/2*$SpliceRatio)) * 3.1418 / 180 ) * $SpliceDistance;
+       $YOffset = sin(($Angle+($Value/2*$SpliceRatio)) * 3.1418 / 180 ) * $SpliceDistance;
+
+       $TopPlots[$Key][] = round($XPos + $XOffset);
+       $TopPlots[$Key][] = round($YPos + $YOffset);
+
+       if ( $AllBlack )
+        { $Rc = $this->ShadowRColor; $Gc = $this->ShadowGColor; $Bc = $this->ShadowBColor; }
+       else
+        { $Rc = $this->Palette[$Key]["R"]; $Gc = $this->Palette[$Key]["G"]; $Bc = $this->Palette[$Key]["B"]; }
+
+       $XLineLast = ""; $YLineLast = "";
+
+       /* Process labels position & size */
+       $Caption = "";
+       if ( !($DrawLabels == PIE_NOLABEL) )
+        {
+         $TAngle   = $Angle+($Value*$SpliceRatio/2);
+         if ($DrawLabels == PIE_PERCENTAGE)
+          $Caption  = (round($Value * pow(10,$Decimals) * $SplicePercent)/pow(10,$Decimals))."%";
+         elseif ($DrawLabels == PIE_LABELS)
+          $Caption  = $iLabels[$Key];
+         elseif ($DrawLabels == PIE_PERCENTAGE_LABEL)
+          $Caption  = $iLabels[$Key]."\r\n".(round($Value * pow(10,$Decimals) * $SplicePercent)/pow(10,$Decimals))."%";
+         elseif ($DrawLabels == PIE_PERCENTAGE_LABEL)
+          $Caption  = $iLabels[$Key]."\r\n".(round($Value * pow(10,$Decimals) * $SplicePercent)/pow(10,$Decimals))."%";
+
+         $Position   = imageftbbox($this->FontSize,0,$this->FontName,$Caption);
+         $TextWidth  = $Position[2]-$Position[0];
+         $TextHeight = abs($Position[1])+abs($Position[3]);
+
+         $TX = cos(($TAngle) * 3.1418 / 180 ) * ($Radius+10+$SpliceDistance) + $XPos;
+
+         if ( $TAngle > 0 && $TAngle < 180 )
+          $TY = sin(($TAngle) * 3.1418 / 180 ) * ($Radius+10+$SpliceDistance) + $YPos + 4;
+         else
+          $TY = sin(($TAngle) * 3.1418 / 180 ) * ($Radius+$SpliceDistance+4) + $YPos - ($TextHeight/2);
+
+         if ( $TAngle > 90 && $TAngle < 270 )
+          $TX = $TX - $TextWidth;
+
+         $C_TextColor = $this->AllocateColor($this->Picture,70,70,70);
+         imagettftext($this->Picture,$this->FontSize,0,$TX,$TY,$C_TextColor,$this->FontName,$Caption);
+        }
+
+       /* Process pie slices */
+       if ( !$AllBlack )
+        $LineColor = $this->AllocateColor($this->Picture,$Rc,$Gc,$Bc);
+       else
+        $LineColor = $this->AllocateColor($this->Picture,$Rc,$Gc,$Bc);
+
+       $XLineLast = ""; $YLineLast = "";
+       for($iAngle=$Angle;$iAngle<=$Angle+$Value*$SpliceRatio;$iAngle=$iAngle+.5)
+        {
+         $PosX = cos($iAngle * 3.1418 / 180 ) * $Radius + $XPos + $XOffset;
+         $PosY = sin($iAngle * 3.1418 / 180 ) * $Radius + $YPos + $YOffset;
+
+         $TopPlots[$Key][] = round($PosX); $TopPlots[$Key][] = round($PosY);
+
+         if ( $iAngle == $Angle || $iAngle == $Angle+$Value*$SpliceRatio || $iAngle +.5 > $Angle+$Value*$SpliceRatio)
+          $this->drawLine($XPos+$XOffset,$YPos+$YOffset,$PosX,$PosY,$Rc,$Gc,$Bc);
+
+         if ( $XLineLast != "" )
+          $this->drawLine($XLineLast,$YLineLast,$PosX,$PosY,$Rc,$Gc,$Bc);
+
+         $XLineLast = $PosX; $YLineLast = $PosY;
+        }
+
+       $TopPlots[$Key][] = round($XPos + $XOffset);  $TopPlots[$Key][] = round($YPos + $YOffset);
+
+       $Angle = $iAngle;
+      }
+     $PolyPlots = $TopPlots;
+
+     /* Draw Top polygons */
+     foreach ($PolyPlots as $Key => $Value)
+      { 
+       if ( !$AllBlack )
+        $C_GraphLo = $this->AllocateColor($this->Picture,$this->Palette[$Key]["R"],$this->Palette[$Key]["G"],$this->Palette[$Key]["B"]);
+       else
+        $C_GraphLo = $this->AllocateColor($this->Picture,$this->ShadowRColor,$this->ShadowGColor,$this->ShadowBColor);
+
+       imagefilledpolygon($this->Picture,$PolyPlots[$Key],(count($PolyPlots[$Key])+1)/2,$C_GraphLo);
+      }
+     $this->ShadowActive = $ShadowStatus;
+    }
+
+   /* This function draw a pseudo-3D pie chart */
+   function drawPieGraph($Data,$DataDescription,$XPos,$YPos,$Radius=100,$DrawLabels=PIE_NOLABEL,$EnhanceColors=TRUE,$Skew=60,$SpliceHeight=20,$SpliceDistance=0,$Decimals=0)
+    {
+     /* Validate the Data and DataDescription array */
+     $this->validateDataDescription("drawPieGraph",$DataDescription,FALSE);
+     $this->validateData("drawPieGraph",$Data);
+
+     /* Determine pie sum */
+     $Series = 0; $PieSum = 0; $rPieSum = 0;
+     foreach ( $DataDescription["Values"] as $Key2 => $ColName )
+      {
+       if ( $ColName != $DataDescription["Position"] )
+        {
+         $Series++;
+         foreach ( $Data as $Key => $Values )
+          if ( isset($Data[$Key][$ColName]))
+           {
+            if ( $Data[$Key][$ColName] == 0 )
+             { $iValues[] = 0; $rValues[] = 0; $iLabels[] = $Data[$Key][$DataDescription["Position"]]; }
+              // Removed : $PieSum++; $rValues[] = 1;
+            else
+             { $PieSum += $Data[$Key][$ColName]; $iValues[] = $Data[$Key][$ColName]; $iLabels[] = $Data[$Key][$DataDescription["Position"]]; $rValues[] = $Data[$Key][$ColName]; $rPieSum += $Data[$Key][$ColName];}
+           }
+        }
+      }
+
+     /* Validate serie */
+     if ( $Series != 1 )
+      RaiseFatal("Pie chart can only accept one serie of data.");
+
+     $SpliceDistanceRatio = $SpliceDistance;
+     $SkewHeight          = ($Radius * $Skew) / 100;
+     $SpliceRatio         = (360 - $SpliceDistanceRatio * count($iValues) ) / $PieSum;
+     $SplicePercent       = 100 / $PieSum;
+     $rSplicePercent      = 100 / $rPieSum;
+
+     /* Calculate all polygons */
+     $Angle    = 0; $CDev = 5;
+     $TopPlots = ""; $BotPlots = "";
+     $aTopPlots = ""; $aBotPlots = "";
+     foreach($iValues as $Key => $Value)
+      {
+       $XCenterPos = cos(($Angle-$CDev+($Value*$SpliceRatio+$SpliceDistanceRatio)/2) * 3.1418 / 180 ) * $SpliceDistance + $XPos;
+       $YCenterPos = sin(($Angle-$CDev+($Value*$SpliceRatio+$SpliceDistanceRatio)/2) * 3.1418 / 180 ) * $SpliceDistance + $YPos;
+       $XCenterPos2 = cos(($Angle+$CDev+($Value*$SpliceRatio+$SpliceDistanceRatio)/2) * 3.1418 / 180 ) * $SpliceDistance + $XPos;
+       $YCenterPos2 = sin(($Angle+$CDev+($Value*$SpliceRatio+$SpliceDistanceRatio)/2) * 3.1418 / 180 ) * $SpliceDistance + $YPos;
+
+       $TopPlots[$Key][] = round($XCenterPos); $BotPlots[$Key][] = round($XCenterPos);
+       $TopPlots[$Key][] = round($YCenterPos); $BotPlots[$Key][] = round($YCenterPos + $SpliceHeight);
+       $aTopPlots[$Key][] = $XCenterPos; $aBotPlots[$Key][] = $XCenterPos;
+       $aTopPlots[$Key][] = $YCenterPos; $aBotPlots[$Key][] = $YCenterPos + $SpliceHeight;
+
+       /* Process labels position & size */
+       $Caption = "";
+       if ( !($DrawLabels == PIE_NOLABEL) )
+        {
+         $TAngle   = $Angle+($Value*$SpliceRatio/2);
+         if ($DrawLabels == PIE_PERCENTAGE)
+          $Caption  = (round($rValues[$Key] * pow(10,$Decimals) * $rSplicePercent)/pow(10,$Decimals))."%";
+         elseif ($DrawLabels == PIE_LABELS)
+          $Caption  = $iLabels[$Key];
+         elseif ($DrawLabels == PIE_PERCENTAGE_LABEL)
+          $Caption  = $iLabels[$Key]."\r\n".(round($Value * pow(10,$Decimals) * $SplicePercent)/pow(10,$Decimals))."%";
+
+         $Position   = imageftbbox($this->FontSize,0,$this->FontName,$Caption);
+         $TextWidth  = $Position[2]-$Position[0];
+         $TextHeight = abs($Position[1])+abs($Position[3]);
+
+         $TX = cos(($TAngle) * 3.1418 / 180 ) * ($Radius + 10)+ $XPos;
+
+         if ( $TAngle > 0 && $TAngle < 180 )
+          $TY = sin(($TAngle) * 3.1418 / 180 ) * ($SkewHeight + 10) + $YPos + $SpliceHeight + 4;
+         else
+          $TY = sin(($TAngle) * 3.1418 / 180 ) * ($SkewHeight + 4) + $YPos - ($TextHeight/2);
+
+         if ( $TAngle > 90 && $TAngle < 270 )
+          $TX = $TX - $TextWidth;
+
+         $C_TextColor = $this->AllocateColor($this->Picture,70,70,70);
+         imagettftext($this->Picture,$this->FontSize,0,$TX,$TY,$C_TextColor,$this->FontName,$Caption);
+        }
+
+       /* Process pie slices */
+       for($iAngle=$Angle;$iAngle<=$Angle+$Value*$SpliceRatio;$iAngle=$iAngle+.5)
+        {
+         $TopX = cos($iAngle * 3.1418 / 180 ) * $Radius + $XPos;
+         $TopY = sin($iAngle * 3.1418 / 180 ) * $SkewHeight + $YPos;
+
+         $TopPlots[$Key][] = round($TopX); $BotPlots[$Key][] = round($TopX);
+         $TopPlots[$Key][] = round($TopY); $BotPlots[$Key][] = round($TopY + $SpliceHeight);
+         $aTopPlots[$Key][] = $TopX; $aBotPlots[$Key][] = $TopX;
+         $aTopPlots[$Key][] = $TopY; $aBotPlots[$Key][] = $TopY + $SpliceHeight;
+        }
+
+       $TopPlots[$Key][] = round($XCenterPos2); $BotPlots[$Key][] = round($XCenterPos2);
+       $TopPlots[$Key][] = round($YCenterPos2); $BotPlots[$Key][] = round($YCenterPos2 + $SpliceHeight);
+       $aTopPlots[$Key][] = $XCenterPos2; $aBotPlots[$Key][] = $XCenterPos2;
+       $aTopPlots[$Key][] = $YCenterPos2; $aBotPlots[$Key][] = $YCenterPos2 + $SpliceHeight;
+
+       $Angle = $iAngle + $SpliceDistanceRatio;
+      }
+
+     /* Draw Bottom polygons */
+     foreach($iValues as $Key => $Value)
+      {
+       $C_GraphLo = $this->AllocateColor($this->Picture,$this->Palette[$Key]["R"],$this->Palette[$Key]["G"],$this->Palette[$Key]["B"],-20);
+       imagefilledpolygon($this->Picture,$BotPlots[$Key],(count($BotPlots[$Key])+1)/2,$C_GraphLo);
+
+       if ( $EnhanceColors ) { $En = -10; } else { $En = 0; }
+ 
+       for($j=0;$j<=count($aBotPlots[$Key])-4;$j=$j+2)
+        $this->drawLine($aBotPlots[$Key][$j],$aBotPlots[$Key][$j+1],$aBotPlots[$Key][$j+2],$aBotPlots[$Key][$j+3],$this->Palette[$Key]["R"]+$En,$this->Palette[$Key]["G"]+$En,$this->Palette[$Key]["B"]+$En);
+      }
+
+     /* Draw pie layers */
+     if ( $EnhanceColors ) { $ColorRatio = 30 / $SpliceHeight; } else { $ColorRatio = 25 / $SpliceHeight; }
+     for($i=$SpliceHeight-1;$i>=1;$i--)
+      {
+       foreach($iValues as $Key => $Value)
+        {
+         $C_GraphLo = $this->AllocateColor($this->Picture,$this->Palette[$Key]["R"],$this->Palette[$Key]["G"],$this->Palette[$Key]["B"],-10);
+         $Plots = ""; $Plot = 0;
+         foreach($TopPlots[$Key] as $Key2 => $Value2)
+          {
+           $Plot++;
+           if ( $Plot % 2 == 1 )
+            $Plots[] = $Value2;
+           else
+            $Plots[] = $Value2+$i;
+          }
+         imagefilledpolygon($this->Picture,$Plots,(count($Plots)+1)/2,$C_GraphLo);
+
+         $Index       = count($Plots);
+         if ($EnhanceColors ) {$ColorFactor = -20 + ($SpliceHeight - $i) * $ColorRatio; } else { $ColorFactor = 0; }
+
+         $this->drawAntialiasPixel($Plots[0],$Plots[1],$this->Palette[$Key]["R"]+$ColorFactor,$this->Palette[$Key]["G"]+$ColorFactor,$this->Palette[$Key]["B"]+$ColorFactor);
+         $this->drawAntialiasPixel($Plots[2],$Plots[3],$this->Palette[$Key]["R"]+$ColorFactor,$this->Palette[$Key]["G"]+$ColorFactor,$this->Palette[$Key]["B"]+$ColorFactor);
+         $this->drawAntialiasPixel($Plots[$Index-4],$Plots[$Index-3],$this->Palette[$Key]["R"]+$ColorFactor,$this->Palette[$Key]["G"]+$ColorFactor,$this->Palette[$Key]["B"]+$ColorFactor);
+        }
+      }
+
+     /* Draw Top polygons */
+     for($Key=count($iValues)-1;$Key>=0;$Key--)
+      { 
+       $C_GraphLo = $this->AllocateColor($this->Picture,$this->Palette[$Key]["R"],$this->Palette[$Key]["G"],$this->Palette[$Key]["B"]);
+       imagefilledpolygon($this->Picture,$TopPlots[$Key],(count($TopPlots[$Key])+1)/2,$C_GraphLo);
+
+       if ( $EnhanceColors ) { $En = 10; } else { $En = 0; }
+       for($j=0;$j<=count($aTopPlots[$Key])-4;$j=$j+2)
+        $this->drawLine($aTopPlots[$Key][$j],$aTopPlots[$Key][$j+1],$aTopPlots[$Key][$j+2],$aTopPlots[$Key][$j+3],$this->Palette[$Key]["R"]+$En,$this->Palette[$Key]["G"]+$En,$this->Palette[$Key]["B"]+$En);
+      }
+    }
+
+   /* This function can be used to set the background color */
+   function drawBackground($R,$G,$B)
+    {
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     $C_Background = $this->AllocateColor($this->Picture,$R,$G,$B);
+     imagefilledrectangle($this->Picture,0,0,$this->XSize,$this->YSize,$C_Background);
+    }
+
+   /* This function can be used to set the background color */
+   function drawGraphAreaGradient($R,$G,$B,$Decay,$Target=TARGET_GRAPHAREA)
+    {
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     if ( $Target == TARGET_GRAPHAREA )  { $X1 = $this->GArea_X1+1; $X2 = $this->GArea_X2-1; $Y1 = $this->GArea_Y1+1; $Y2 = $this->GArea_Y2; }
+     if ( $Target == TARGET_BACKGROUND ) { $X1 = 0; $X2 = $this->XSize; $Y1 = 0; $Y2 = $this->YSize; }
+
+     /* Positive gradient */
+     if ( $Decay > 0 )
+      {
+       $YStep = ($Y2 - $Y1 - 2) / $Decay;
+       for($i=0;$i<=$Decay;$i++)
+        {
+         $R-=1;$G-=1;$B-=1;
+         $Yi1 = $Y1 + ( $i * $YStep );
+         $Yi2 = ceil( $Yi1 + ( $i * $YStep ) + $YStep );
+         if ( $Yi2 >= $Yi2 ) { $Yi2 = $Y2-1; }
+
+         $C_Background = $this->AllocateColor($this->Picture,$R,$G,$B);
+         imagefilledrectangle($this->Picture,$X1,$Yi1,$X2,$Yi2,$C_Background);
+        }
+      }
+
+     /* Negative gradient */
+     if ( $Decay < 0 )
+      {
+       $YStep = ($Y2 - $Y1 - 2) / -$Decay;
+       $Yi1   = $Y1; $Yi2   = $Y1+$YStep;
+       for($i=-$Decay;$i>=0;$i--)
+        {
+         $R+=1;$G+=1;$B+=1;
+         $C_Background = $this->AllocateColor($this->Picture,$R,$G,$B);
+         imagefilledrectangle($this->Picture,$X1,$Yi1,$X2,$Yi2,$C_Background);
+
+         $Yi1+= $YStep;
+         $Yi2+= $YStep;
+         if ( $Yi2 >= $Yi2 ) { $Yi2 = $Y2-1; }
+        }
+      }
+    }
+
+   /* This function create a rectangle with antialias */
+   function drawRectangle($X1,$Y1,$X2,$Y2,$R,$G,$B)
+    {
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     $C_Rectangle = $this->AllocateColor($this->Picture,$R,$G,$B);
+
+     $X1=$X1-.2;$Y1=$Y1-.2;
+     $X2=$X2+.2;$Y2=$Y2+.2;
+     $this->drawLine($X1,$Y1,$X2,$Y1,$R,$G,$B);
+     $this->drawLine($X2,$Y1,$X2,$Y2,$R,$G,$B);
+     $this->drawLine($X2,$Y2,$X1,$Y2,$R,$G,$B);
+     $this->drawLine($X1,$Y2,$X1,$Y1,$R,$G,$B);
+    }
+
+   /* This function create a filled rectangle with antialias */
+   function drawFilledRectangle($X1,$Y1,$X2,$Y2,$R,$G,$B,$DrawBorder=TRUE,$Alpha=100,$NoFallBack=FALSE)
+    {
+     if ( $X2 < $X1 ) { list($X1, $X2) = array($X2, $X1); }
+     if ( $Y2 < $Y1 ) { list($Y1, $Y2) = array($Y2, $Y1); }
+
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     if ( $Alpha == 100 )
+      {
+       /* Process shadows */
+       if ( $this->ShadowActive && !$NoFallBack )
+        {
+         $this->drawFilledRectangle($X1+$this->ShadowXDistance,$Y1+$this->ShadowYDistance,$X2+$this->ShadowXDistance,$Y2+$this->ShadowYDistance,$this->ShadowRColor,$this->ShadowGColor,$this->ShadowBColor,FALSE,$this->ShadowAlpha,TRUE);
+         if ( $this->ShadowBlur != 0 )
+          {
+           $AlphaDecay = ($this->ShadowAlpha / $this->ShadowBlur);
+
+           for($i=1; $i<=$this->ShadowBlur; $i++)
+            $this->drawFilledRectangle($X1+$this->ShadowXDistance-$i/2,$Y1+$this->ShadowYDistance-$i/2,$X2+$this->ShadowXDistance-$i/2,$Y2+$this->ShadowYDistance-$i/2,$this->ShadowRColor,$this->ShadowGColor,$this->ShadowBColor,FALSE,$this->ShadowAlpha-$AlphaDecay*$i,TRUE);
+           for($i=1; $i<=$this->ShadowBlur; $i++)
+            $this->drawFilledRectangle($X1+$this->ShadowXDistance+$i/2,$Y1+$this->ShadowYDistance+$i/2,$X2+$this->ShadowXDistance+$i/2,$Y2+$this->ShadowYDistance+$i/2,$this->ShadowRColor,$this->ShadowGColor,$this->ShadowBColor,FALSE,$this->ShadowAlpha-$AlphaDecay*$i,TRUE);
+          }
+        }
+
+       $C_Rectangle = $this->AllocateColor($this->Picture,$R,$G,$B);
+       imagefilledrectangle($this->Picture,round($X1),round($Y1),round($X2),round($Y2),$C_Rectangle);
+      }
+     else
+      {
+       $LayerWidth  = abs($X2-$X1)+2;
+       $LayerHeight = abs($Y2-$Y1)+2;
+
+       $this->Layers[0] = imagecreatetruecolor($LayerWidth,$LayerHeight);
+       $C_White         = $this->AllocateColor($this->Layers[0],255,255,255);
+       imagefilledrectangle($this->Layers[0],0,0,$LayerWidth,$LayerHeight,$C_White);
+       imagecolortransparent($this->Layers[0],$C_White);
+
+       $C_Rectangle = $this->AllocateColor($this->Layers[0],$R,$G,$B);
+       imagefilledrectangle($this->Layers[0],round(1),round(1),round($LayerWidth-1),round($LayerHeight-1),$C_Rectangle);
+
+       imagecopymerge($this->Picture,$this->Layers[0],round(min($X1,$X2)-1),round(min($Y1,$Y2)-1),0,0,$LayerWidth,$LayerHeight,$Alpha);
+       imagedestroy($this->Layers[0]);
+      }
+
+     if ( $DrawBorder )
+      {
+       $ShadowSettings = $this->ShadowActive; $this->ShadowActive = FALSE;
+       $this->drawRectangle($X1,$Y1,$X2,$Y2,$R,$G,$B);
+       $this->ShadowActive = $ShadowSettings;
+      }
+    }
+
+   /* This function create a rectangle with rounded corners and antialias */
+   function drawRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,$R,$G,$B)
+    {
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     $C_Rectangle = $this->AllocateColor($this->Picture,$R,$G,$B);
+
+     $Step = 90 / ((3.1418 * $Radius)/2);
+
+     for($i=0;$i<=90;$i=$i+$Step)
+      {
+       $X = cos(($i+180)*3.1418/180) * $Radius + $X1 + $Radius;
+       $Y = sin(($i+180)*3.1418/180) * $Radius + $Y1 + $Radius;
+       $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
+
+       $X = cos(($i-90)*3.1418/180) * $Radius + $X2 - $Radius;
+       $Y = sin(($i-90)*3.1418/180) * $Radius + $Y1 + $Radius;
+       $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
+
+       $X = cos(($i)*3.1418/180) * $Radius + $X2 - $Radius;
+       $Y = sin(($i)*3.1418/180) * $Radius + $Y2 - $Radius;
+       $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
+
+       $X = cos(($i+90)*3.1418/180) * $Radius + $X1 + $Radius;
+       $Y = sin(($i+90)*3.1418/180) * $Radius + $Y2 - $Radius;
+       $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
+      }
+
+     $X1=$X1-.2;$Y1=$Y1-.2;
+     $X2=$X2+.2;$Y2=$Y2+.2;
+     $this->drawLine($X1+$Radius,$Y1,$X2-$Radius,$Y1,$R,$G,$B);
+     $this->drawLine($X2,$Y1+$Radius,$X2,$Y2-$Radius,$R,$G,$B);
+     $this->drawLine($X2-$Radius,$Y2,$X1+$Radius,$Y2,$R,$G,$B);
+     $this->drawLine($X1,$Y2-$Radius,$X1,$Y1+$Radius,$R,$G,$B);
+    }
+
+   /* This function create a filled rectangle with rounded corners and antialias */
+   function drawFilledRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,$R,$G,$B)
+    {
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     $C_Rectangle = $this->AllocateColor($this->Picture,$R,$G,$B);
+
+     $Step = 90 / ((3.1418 * $Radius)/2);
+
+     for($i=0;$i<=90;$i=$i+$Step)
+      {
+       $Xi1 = cos(($i+180)*3.1418/180) * $Radius + $X1 + $Radius;
+       $Yi1 = sin(($i+180)*3.1418/180) * $Radius + $Y1 + $Radius;
+
+       $Xi2 = cos(($i-90)*3.1418/180) * $Radius + $X2 - $Radius;
+       $Yi2 = sin(($i-90)*3.1418/180) * $Radius + $Y1 + $Radius;
+
+       $Xi3 = cos(($i)*3.1418/180) * $Radius + $X2 - $Radius;
+       $Yi3 = sin(($i)*3.1418/180) * $Radius + $Y2 - $Radius;
+
+       $Xi4 = cos(($i+90)*3.1418/180) * $Radius + $X1 + $Radius;
+       $Yi4 = sin(($i+90)*3.1418/180) * $Radius + $Y2 - $Radius;
+
+       imageline($this->Picture,$Xi1,$Yi1,$X1+$Radius,$Yi1,$C_Rectangle);
+       imageline($this->Picture,$X2-$Radius,$Yi2,$Xi2,$Yi2,$C_Rectangle);
+       imageline($this->Picture,$X2-$Radius,$Yi3,$Xi3,$Yi3,$C_Rectangle);
+       imageline($this->Picture,$Xi4,$Yi4,$X1+$Radius,$Yi4,$C_Rectangle);
+
+       $this->drawAntialiasPixel($Xi1,$Yi1,$R,$G,$B);
+       $this->drawAntialiasPixel($Xi2,$Yi2,$R,$G,$B);
+       $this->drawAntialiasPixel($Xi3,$Yi3,$R,$G,$B);
+       $this->drawAntialiasPixel($Xi4,$Yi4,$R,$G,$B);
+      }
+
+     imagefilledrectangle($this->Picture,$X1,$Y1+$Radius,$X2,$Y2-$Radius,$C_Rectangle);
+     imagefilledrectangle($this->Picture,$X1+$Radius,$Y1,$X2-$Radius,$Y2,$C_Rectangle);
+
+     $X1=$X1-.2;$Y1=$Y1-.2;
+     $X2=$X2+.2;$Y2=$Y2+.2;
+     $this->drawLine($X1+$Radius,$Y1,$X2-$Radius,$Y1,$R,$G,$B);
+     $this->drawLine($X2,$Y1+$Radius,$X2,$Y2-$Radius,$R,$G,$B);
+     $this->drawLine($X2-$Radius,$Y2,$X1+$Radius,$Y2,$R,$G,$B);
+     $this->drawLine($X1,$Y2-$Radius,$X1,$Y1+$Radius,$R,$G,$B);
+    }
+
+   /* This function create a circle with antialias */
+   function drawCircle($Xc,$Yc,$Height,$R,$G,$B,$Width=0)
+    {
+     if ( $Width == 0 ) { $Width = $Height; }
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     $C_Circle = $this->AllocateColor($this->Picture,$R,$G,$B);
+     $Step     = 360 / (2 * 3.1418 * max($Width,$Height));
+
+     for($i=0;$i<=360;$i=$i+$Step)
+      {
+       $X = cos($i*3.1418/180) * $Height + $Xc;
+       $Y = sin($i*3.1418/180) * $Width + $Yc;
+       $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
+      }
+    }
+
+   /* This function create a filled circle/ellipse with antialias */
+   function drawFilledCircle($Xc,$Yc,$Height,$R,$G,$B,$Width=0)
+    {
+     if ( $Width == 0 ) { $Width = $Height; }
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     $C_Circle = $this->AllocateColor($this->Picture,$R,$G,$B);
+     $Step     = 360 / (2 * 3.1418 * max($Width,$Height));
+
+     for($i=90;$i<=270;$i=$i+$Step)
+      {
+       $X1 = cos($i*3.1418/180) * $Height + $Xc;
+       $Y1 = sin($i*3.1418/180) * $Width + $Yc;
+       $X2 = cos((180-$i)*3.1418/180) * $Height + $Xc;
+       $Y2 = sin((180-$i)*3.1418/180) * $Width + $Yc;
+
+       $this->drawAntialiasPixel($X1-1,$Y1-1,$R,$G,$B);
+       $this->drawAntialiasPixel($X2-1,$Y2-1,$R,$G,$B);
+
+       if ( ($Y1-1) > $Yc - max($Width,$Height) )
+        imageline($this->Picture,$X1,$Y1-1,$X2-1,$Y2-1,$C_Circle);
+      }
+    }
+
+   /* This function will draw a filled ellipse */
+   function drawEllipse($Xc,$Yc,$Height,$Width,$R,$G,$B)
+    { $this->drawCircle($Xc,$Yc,$Height,$R,$G,$B,$Width); }
+
+   /* This function will draw an ellipse */
+   function drawFilledEllipse($Xc,$Yc,$Height,$Width,$R,$G,$B)
+    { $this->drawFilledCircle($Xc,$Yc,$Height,$R,$G,$B,$Width); }
+
+   /* This function create a line with antialias */
+   function drawLine($X1,$Y1,$X2,$Y2,$R,$G,$B,$GraphFunction=FALSE)
+    {
+     if ( $this->LineDotSize > 1 ) { $this->drawDottedLine($X1,$Y1,$X2,$Y2,$this->LineDotSize,$R,$G,$B,$GraphFunction); return(0); }
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     $Distance = sqrt(($X2-$X1)*($X2-$X1)+($Y2-$Y1)*($Y2-$Y1));  
+     if ( $Distance == 0 )
+      return(-1);
+     $XStep = ($X2-$X1) / $Distance;
+     $YStep = ($Y2-$Y1) / $Distance;
+
+     for($i=0;$i<=$Distance;$i++)
+      {
+       $X = $i * $XStep + $X1;
+       $Y = $i * $YStep + $Y1;
+
+       if ( ($X >= $this->GArea_X1 && $X <= $this->GArea_X2 && $Y >= $this->GArea_Y1 && $Y <= $this->GArea_Y2) || !$GraphFunction )
+        {
+         if ( $this->LineWidth == 1 )
+          $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
+         else
+          {
+           $StartOffset = -($this->LineWidth/2); $EndOffset = ($this->LineWidth/2);
+           for($j=$StartOffset;$j<=$EndOffset;$j++)
+            $this->drawAntialiasPixel($X+$j,$Y+$j,$R,$G,$B);
+          }
+        }
+      }
+    }
+
+   /* This function create a line with antialias */
+   function drawDottedLine($X1,$Y1,$X2,$Y2,$DotSize,$R,$G,$B,$GraphFunction=FALSE)
+    {
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     $Distance = sqrt(($X2-$X1)*($X2-$X1)+($Y2-$Y1)*($Y2-$Y1));  
+
+     $XStep = ($X2-$X1) / $Distance;
+     $YStep = ($Y2-$Y1) / $Distance;
+
+     $DotIndex = 0;
+     for($i=0;$i<=$Distance;$i++)
+      {
+       $X = $i * $XStep + $X1;
+       $Y = $i * $YStep + $Y1;
+
+       if ( $DotIndex <= $DotSize)
+        {
+         if ( ($X >= $this->GArea_X1 && $X <= $this->GArea_X2 && $Y >= $this->GArea_Y1 && $Y <= $this->GArea_Y2) || !$GraphFunction )
+          {
+           if ( $this->LineWidth == 1 )
+            $this->drawAntialiasPixel($X,$Y,$R,$G,$B);
+           else
+            {
+             $StartOffset = -($this->LineWidth/2); $EndOffset = ($this->LineWidth/2);
+             for($j=$StartOffset;$j<=$EndOffset;$j++)
+              $this->drawAntialiasPixel($X+$j,$Y+$j,$R,$G,$B);
+            }
+          }
+        }
+
+       $DotIndex++;
+       if ( $DotIndex == $DotSize * 2 )
+        $DotIndex = 0;        
+      }
+    }
+
+   /* Load a PNG file and draw it over the chart */
+   function drawFromPNG($FileName,$X,$Y,$Alpha=100)
+    { $this->drawFromPicture(1,$FileName,$X,$Y,$Alpha); }
+
+   /* Load a GIF file and draw it over the chart */
+   function drawFromGIF($FileName,$X,$Y,$Alpha=100)
+    { $this->drawFromPicture(2,$FileName,$X,$Y,$Alpha); }
+
+   /* Load a JPEG file and draw it over the chart */
+   function drawFromJPG($FileName,$X,$Y,$Alpha=100)
+    { $this->drawFromPicture(3,$FileName,$X,$Y,$Alpha); }
+
+   /* Generic loader function for external pictures */
+   function drawFromPicture($PicType,$FileName,$X,$Y,$Alpha=100)
+    {
+     if ( file_exists($FileName))
+      {
+       $Infos  = getimagesize($FileName);
+       $Width  = $Infos[0];
+       $Height = $Infos[1];
+       if ( $PicType == 1 ) { $Raster = imagecreatefrompng($FileName); }
+       if ( $PicType == 2 ) { $Raster = imagecreatefromgif($FileName); }
+       if ( $PicType == 3 ) { $Raster = imagecreatefromjpeg($FileName); }
+
+       imagecopymerge($this->Picture,$Raster,$X,$Y,0,0,$Width,$Height,$Alpha);
+       imagedestroy($Raster);
+      }
+    }
+
+   /* Draw an alpha pixel */
+   function drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B)
+    {
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     if ( $X < 0 || $Y < 0 || $X >= $this->XSize || $Y >= $this->YSize )
+      return(-1);
+
+     $RGB2 = imagecolorat($this->Picture, $X, $Y);
+     $R2   = ($RGB2 >> 16) & 0xFF;
+     $G2   = ($RGB2 >> 8) & 0xFF;
+     $B2   = $RGB2 & 0xFF;
+
+     $iAlpha = (100 - $Alpha)/100;
+     $Alpha  = $Alpha / 100;
+
+     $Ra   = floor($R*$Alpha+$R2*$iAlpha);
+     $Ga   = floor($G*$Alpha+$G2*$iAlpha);
+     $Ba   = floor($B*$Alpha+$B2*$iAlpha);
+
+     $C_Aliased = $this->AllocateColor($this->Picture,$Ra,$Ga,$Ba);
+     imagesetpixel($this->Picture,$X,$Y,$C_Aliased);
+    }
+
+   /* Color helper */
+   function AllocateColor($Picture,$R,$G,$B,$Factor=0)
+    {
+     $R = $R + $Factor;
+     $G = $G + $Factor;
+     $B = $B + $Factor;
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     return(imagecolorallocate($Picture,$R,$G,$B));
+    }
+
+   /* Add a border to the picture */
+   function addBorder($Size=3,$R=0,$G=0,$B=0)
+    {
+     $Width  = $this->XSize+2*$Size;
+     $Height = $this->YSize+2*$Size;
+
+     $Resampled    = imagecreatetruecolor($Width,$Height);
+     $C_Background = $this->AllocateColor($Resampled,$R,$G,$B);
+     imagefilledrectangle($Resampled,0,0,$Width,$Height,$C_Background);
+
+     imagecopy($Resampled,$this->Picture,$Size,$Size,0,0,$this->XSize,$this->YSize);
+     imagedestroy($this->Picture);
+
+     $this->XSize = $Width;
+     $this->YSize = $Height;
+
+     $this->Picture = imagecreatetruecolor($this->XSize,$this->YSize);
+     $C_White = $this->AllocateColor($this->Picture,255,255,255);
+     imagefilledrectangle($this->Picture,0,0,$this->XSize,$this->YSize,$C_White);
+     imagecolortransparent($this->Picture,$C_White);
+     imagecopy($this->Picture,$Resampled,0,0,0,0,$this->XSize,$this->YSize);
+    }
+
+   /* Render the current picture to a file */
+   function Render($FileName)
+    {
+     if ( $this->ErrorReporting )
+      $this->printErrors($this->ErrorInterface);
+
+     /* Save image map if requested */
+     if ( $this->BuildMap )
+      $this->SaveImageMap();
+
+     imagepng($this->Picture,$FileName);
+    }
+
+   /* Render the current picture to STDOUT */
+   function Stroke()
+    {
+     if ( $this->ErrorReporting )
+      $this->printErrors("GD");
+
+     /* Save image map if requested */
+     if ( $this->BuildMap )
+      $this->SaveImageMap();
+
+     header('Content-type: image/png');
+     imagepng($this->Picture);
+    }
+
+   /* Private functions for internal processing */
+   function drawAntialiasPixel($X,$Y,$R,$G,$B,$Alpha=100,$NoFallBack=FALSE)
+    {
+     /* Process shadows */
+     if ( $this->ShadowActive && !$NoFallBack )
+      {
+       $this->drawAntialiasPixel($X+$this->ShadowXDistance,$Y+$this->ShadowYDistance,$this->ShadowRColor,$this->ShadowGColor,$this->ShadowBColor,$this->ShadowAlpha,TRUE);
+       if ( $this->ShadowBlur != 0 )
+        {
+         $AlphaDecay = ($this->ShadowAlpha / $this->ShadowBlur);
+
+         for($i=1; $i<=$this->ShadowBlur; $i++)
+          $this->drawAntialiasPixel($X+$this->ShadowXDistance-$i/2,$Y+$this->ShadowYDistance-$i/2,$this->ShadowRColor,$this->ShadowGColor,$this->ShadowBColor,$this->ShadowAlpha-$AlphaDecay*$i,TRUE);
+         for($i=1; $i<=$this->ShadowBlur; $i++)
+          $this->drawAntialiasPixel($X+$this->ShadowXDistance+$i/2,$Y+$this->ShadowYDistance+$i/2,$this->ShadowRColor,$this->ShadowGColor,$this->ShadowBColor,$this->ShadowAlpha-$AlphaDecay*$i,TRUE);
+        }
+      }
+
+     if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
+     if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
+     if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
+
+     $Plot = "";
+     $Xi   = floor($X);
+     $Yi   = floor($Y);
+
+     if ( $Xi == $X && $Yi == $Y)
+      {
+       if ( $Alpha == 100 )
+        {
+         $C_Aliased = $this->AllocateColor($this->Picture,$R,$G,$B);
+         imagesetpixel($this->Picture,$X,$Y,$C_Aliased);
+        }
+       else
+        $this->drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B);
+      }
+     else
+      {
+       $Alpha1 = (((1 - ($X - floor($X))) * (1 - ($Y - floor($Y))) * 100) / 100) * $Alpha;
+       if ( $Alpha1 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi,$Alpha1,$R,$G,$B); }
+
+       $Alpha2 = ((($X - floor($X)) * (1 - ($Y - floor($Y))) * 100) / 100) * $Alpha;
+       if ( $Alpha2 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi,$Alpha2,$R,$G,$B); }
+
+       $Alpha3 = (((1 - ($X - floor($X))) * ($Y - floor($Y)) * 100) / 100) * $Alpha;
+       if ( $Alpha3 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi+1,$Alpha3,$R,$G,$B); }
+
+       $Alpha4 = ((($X - floor($X)) * ($Y - floor($Y)) * 100) / 100) * $Alpha;
+       if ( $Alpha4 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi+1,$Alpha4,$R,$G,$B); }
+      }
+    }
+
+   /* Validate data contained in the description array */
+   function validateDataDescription($FunctionName,&$DataDescription,$DescriptionRequired=TRUE)
+    {
+     if (!isset($DataDescription["Position"]))
+      {
+       $this->Errors[] = "[Warning] ".$FunctionName." - Y Labels are not set.";
+       $DataDescription["Position"] = "Name";
+      }
+
+     if ( $DescriptionRequired )
+      {
+       if (!isset($DataDescription["Description"]))
+        {
+         $this->Errors[] = "[Warning] ".$FunctionName." - Series descriptions are not set.";
+         foreach($DataDescription["Values"] as $key => $Value)
+          {
+           $DataDescription["Description"][$Value] = $Value;
+          }
+        }
+
+       if (count($DataDescription["Description"]) < count($DataDescription["Values"]))
+        {
+         $this->Errors[] = "[Warning] ".$FunctionName." - Some series descriptions are not set.";
+         foreach($DataDescription["Values"] as $key => $Value)
+          {
+           if ( !isset($DataDescription["Description"][$Value]))
+            $DataDescription["Description"][$Value] = $Value;
+          }
+        }
+      }
+    }
+
+   /* Validate data contained in the data array */
+   function validateData($FunctionName,&$Data)
+    {
+     $DataSummary = array();
+
+     foreach($Data as $key => $Values)
+      {
+       foreach($Values as $key2 => $Value)
+        {
+         if (!isset($DataSummary[$key2]))
+          $DataSummary[$key2] = 1;
+         else
+          $DataSummary[$key2]++;
+        }
+      }
+
+     if ( max($DataSummary) == 0 )
+      $this->Errors[] = "[Warning] ".$FunctionName." - No data set.";
+
+     foreach($DataSummary as $key => $Value)
+      {
+       if ($Value < max($DataSummary))
+        {
+         $this->Errors[] = "[Warning] ".$FunctionName." - Missing data in serie ".$key.".";
+        }
+      }
+    }
+
+   /* Print all error messages on the CLI or graphically */
+   function printErrors($Mode="CLI")
+    {
+     if (count($this->Errors) == 0)
+      return(0);
+
+     if ( $Mode == "CLI" )
+      {
+       foreach($this->Errors as $key => $Value)
+        echo $Value."\r\n";
+      }
+     elseif ( $Mode == "GD" )
+      {
+       $this->setLineStyle($Width=1);
+       $MaxWidth = 0;
+       foreach($this->Errors as $key => $Value)
+        {
+         $Position  = imageftbbox($this->ErrorFontSize,0,$this->ErrorFontName,$Value);
+         $TextWidth = $Position[2]-$Position[0];
+         if ( $TextWidth > $MaxWidth ) { $MaxWidth = $TextWidth; }
+        }
+       $this->drawFilledRoundedRectangle($this->XSize-($MaxWidth+20),$this->YSize-(20+(($this->ErrorFontSize+4)*count($this->Errors))),$this->XSize-10,$this->YSize-10,6,233,185,185);
+       $this->drawRoundedRectangle($this->XSize-($MaxWidth+20),$this->YSize-(20+(($this->ErrorFontSize+4)*count($this->Errors))),$this->XSize-10,$this->YSize-10,6,193,145,145);
+
+       $C_TextColor = $this->AllocateColor($this->Picture,133,85,85);
+       $YPos        = $this->YSize - (18 + (count($this->Errors)-1) * ($this->ErrorFontSize + 4));
+       foreach($this->Errors as $key => $Value)
+        {
+         imagettftext($this->Picture,$this->ErrorFontSize,0,$this->XSize-($MaxWidth+15),$YPos,$C_TextColor,$this->ErrorFontName,$Value);
+         $YPos = $YPos + ($this->ErrorFontSize + 4);
+        }
+      }
+    }
+
+   /* Activate the image map creation process */
+   function setImageMap($Mode=TRUE,$GraphID="MyGraph")
+    {
+     $this->BuildMap = $Mode;
+     $this->MapID    = $GraphID;
+    }
+
+   /* Add a box into the image map */
+   function addToImageMap($X1,$Y1,$X2,$Y2,$SerieName,$Value,$CallerFunction)
+    {
+     if ( $this->MapFunction == NULL || $this->MapFunction == $CallerFunction )
+      {
+       $this->ImageMap[]  = round($X1).",".round($Y1).",".round($X2).",".round($Y2).",".$SerieName.",".$Value;
+       $this->MapFunction = $CallerFunction;
+      }
+    }
+
+   /* Load and cleanup the image map from disk */
+   function getImageMap($MapName,$Flush=TRUE)
+    {
+     /* Strip HTML query strings */
+     $Values   = $this->tmpFolder.$MapName;
+     $Value    = split("\?",$Values);
+     $FileName = $Value[0];
+
+     if ( file_exists($FileName) )
+      {
+       $Handle     = fopen($FileName, "r");
+       $MapContent = fread($Handle, filesize($FileName));
+       fclose($Handle);
+       echo $MapContent;
+
+       if ( $Flush )
+        unlink($FileName);
+
+       exit();
+      }
+     else
+      {
+       header("HTTP/1.0 404 Not Found");
+       exit();
+      }
+    }
+
+   /* Save the image map to the disk */
+   function SaveImageMap()
+    {
+     if ( !$this->BuildMap ) { return(-1); }
+
+     if ( $this->ImageMap == NULL )
+      {
+       $this->Errors[] = "[Warning] SaveImageMap - Image map is empty.";
+       return(-1);
+      }
+
+     $Handle = fopen($this->tmpFolder.$this->MapID, 'w');
+     if ( !$Handle )
+      {
+       $this->Errors[] = "[Warning] SaveImageMap - Cannot save the image map.";
+       return(-1);
+      }
+     else
+      {
+       foreach($this->ImageMap as $Key => $Value)
+        fwrite($Handle, htmlentities($Value)."\r");
+      }
+     fclose ($Handle);
+    }
+
+   /* Convert seconds to a time format string */
+   function ToTime($Value)
+    {
+     $Hour   = floor($Value/3600);
+     $Minute = floor(($Value - $Hour*3600)/60);
+     $Second = floor($Value - $Hour*3600 - $Minute*60);
+
+     if (strlen($Hour) == 1 )   { $Hour = "0".$Hour; }
+     if (strlen($Minute) == 1 ) { $Minute = "0".$Minute; }
+     if (strlen($Second) == 1 ) { $Second = "0".$Second; }
+
+     return($Hour.":".$Minute.":".$Second);
+    }
+
+   /* Convert to metric system */
+   function ToMetric($Value)
+    {
+     $Go = floor($Value/1000000000);
+     $Mo = floor(($Value - $Go*1000000000)/1000000);
+     $Ko = floor(($Value - $Go*1000000000 - $Mo*1000000)/1000);
+     $o  = floor($Value - $Go*1000000000 - $Mo*1000000 - $Ko*1000);
+
+     if ($Go != 0)   { return($Go.".".$Mo."g"); }
+     if ($Mo != 0)   { return($Mo.".".$ko."m"); }
+     if ($Ko != 0)   { return($Ko.".".$o)."k"; }
+     return($o);
+    }
+
+   /* Convert to curency */
+   function ToCurrency($Value)
+    {
+     $Go = floor($Value/1000000000);
+     $Mo = floor(($Value - $Go*1000000000)/1000000);
+     $Ko = floor(($Value - $Go*1000000000 - $Mo*1000000)/1000);
+     $o  = floor($Value - $Go*1000000000 - $Mo*1000000 - $Ko*1000);
+
+     if ( strlen($o) == 1 ) { $o = "00".$o; }
+     if ( strlen($o) == 2 ) { $o = "0".$o; }
+
+     $ResultString = $o;
+     if ( $Ko != 0 ) { $ResultString = $Ko.".".$ResultString; }
+     if ( $Mo != 0 ) { $ResultString = $Mo.".".$ResultString; }
+     if ( $Go != 0 ) { $ResultString = $Go.".".$ResultString; }
+
+     $ResultString = $this->Currency.$ResultString;
+     return($ResultString);
+    }
+
+   /* Set date format for axis labels */
+   function setDateFormat($Format)
+    {
+     $this->DateFormat = $Format;
+    }
+
+   /* Convert TS to a date format string */
+   function ToDate($Value)
+    {
+     return(date($this->DateFormat,$Value));
+    }
+
+   /* Check if a number is a full integer (for scaling) */
+   function isRealInt($Value)
+    {
+     if ($Value == floor($Value))
+      return(TRUE);
+     return(FALSE);
+    }
+  }
+
+ function RaiseFatal($Message)
+  {
+   echo "[FATAL] ".$Message."\r\n";
+   exit();
+  }
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/pData.class b/gosa-core/include/pChart/pData.class
new file mode 100644
index 0000000..8e1938d
--- /dev/null
+++ b/gosa-core/include/pChart/pData.class
@@ -0,0 +1,260 @@
+<?php
+ /*
+     pData - Simplifying data population for pChart
+     Copyright (C) 2008 Jean-Damien POGOLOTTI
+     Version  1.13 last updated on 08/17/08
+
+     http://pchart.sourceforge.net
+
+     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 1,2,3 of the License, or
+     (at your option) any later version.
+
+     This program 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 General Public License for more details.
+
+     You should have received a copy of the GNU General Public License
+     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+     Class initialisation :
+      pData()
+     Data populating methods :
+      ImportFromCSV($FileName,$Delimiter=",",$DataColumns=-1,$HasHeader=FALSE,$DataName=-1)
+      AddPoint($Value,$Serie="Serie1",$Description="")
+     Series manipulation methods :
+      AddSerie($SerieName="Serie1")
+      AddAllSeries()
+      RemoveSerie($SerieName="Serie1")
+      SetAbsciseLabelSerie($SerieName = "Name")
+      SetSerieName($Name,$SerieName="Serie1")
+  +   SetSerieSymbol($Name,$Symbol)
+      SetXAxisName($Name="X Axis")
+      SetYAxisName($Name="Y Axis")
+      SetXAxisFormat($Format="number")
+      SetYAxisFormat($Format="number")
+      SetXAxisUnit($Unit="")
+      SetYAxisUnit($Unit="")
+      removeSerieName($SerieName)
+      removeAllSeries()
+     Data retrieval methods :
+      GetData()
+      GetDataDescription()
+ */
+
+ /* pData class definition */
+ class pData
+  {
+   var $Data;
+   var $DataDescription;
+
+   function pData()
+    {
+     $this->Data                           = "";
+     $this->DataDescription                = "";
+     $this->DataDescription["Position"]    = "Name";
+     $this->DataDescription["Format"]["X"] = "number";
+     $this->DataDescription["Format"]["Y"] = "number";
+     $this->DataDescription["Unit"]["X"]   = NULL;
+     $this->DataDescription["Unit"]["Y"]   = NULL;
+    }
+
+   function ImportFromCSV($FileName,$Delimiter=",",$DataColumns=-1,$HasHeader=FALSE,$DataName=-1)
+    {
+     $handle = @fopen($FileName,"r");
+     if ($handle)
+      {
+       $HeaderParsed = FALSE;
+       while (!feof($handle))
+        {
+         $buffer = fgets($handle, 4096);
+         $buffer = str_replace(chr(10),"",$buffer);
+         $buffer = str_replace(chr(13),"",$buffer);
+         $Values = split($Delimiter,$buffer);
+
+         if ( $buffer != "" )
+          {
+           if ( $HasHeader == TRUE && $HeaderParsed == FALSE )
+            {
+             if ( $DataColumns == -1 )
+              {
+               $ID = 1;
+               foreach($Values as $key => $Value)
+                { $this->SetSerieName($Value,"Serie".$ID); $ID++; }
+              }
+             else
+              {
+               $SerieName = "";
+
+               foreach($DataColumns as $key => $Value)
+                $this->SetSerieName($Values[$Value],"Serie".$Value);
+              }
+             $HeaderParsed = TRUE;
+            }
+           else
+            {
+             if ( $DataColumns == -1 )
+              {
+               $ID = 1;
+               foreach($Values as $key => $Value)
+                { $this->AddPoint(intval($Value),"Serie".$ID); $ID++; }
+              }
+             else
+              {
+               $SerieName = "";
+               if ( $DataName != -1 )
+                $SerieName = $Values[$DataName];
+
+               foreach($DataColumns as $key => $Value)
+                $this->AddPoint($Values[$Value],"Serie".$Value,$SerieName);
+              }
+            }
+          }
+        }
+       fclose($handle);
+      }
+    }
+
+   function AddPoint($Value,$Serie="Serie1",$Description="")
+    {
+     if (is_array($Value) && count($Value) == 1)
+      $Value = $Value[0];
+
+     $ID = 0;
+     for($i=0;$i<=count($this->Data);$i++)
+      { if(isset($this->Data[$i][$Serie])) { $ID = $i+1; } }
+
+     if ( count($Value) == 1 )
+      {
+       $this->Data[$ID][$Serie] = $Value;
+       if ( $Description != "" )
+        $this->Data[$ID]["Name"] = $Description;
+       elseif (!isset($this->Data[$ID]["Name"]))
+        $this->Data[$ID]["Name"] = $ID;
+      }
+     else
+      {
+       foreach($Value as $key => $Val)
+        {
+         $this->Data[$ID][$Serie] = $Val;
+         if (!isset($this->Data[$ID]["Name"]))
+          $this->Data[$ID]["Name"] = $ID;
+         $ID++;
+        }
+      }
+    }
+
+   function AddSerie($SerieName="Serie1")
+    {
+     if ( !isset($this->DataDescription["Values"]) )
+      {
+       $this->DataDescription["Values"][] = $SerieName;
+      }
+     else
+      {
+       $Found = FALSE;
+       foreach($this->DataDescription["Values"] as $key => $Value )
+        if ( $Value == $SerieName ) { $Found = TRUE; }
+
+       if ( !$Found )
+        $this->DataDescription["Values"][] = $SerieName;
+      }
+    }
+
+   function AddAllSeries()
+    {
+     unset($this->DataDescription["Values"]);
+
+     if ( isset($this->Data[0]) )
+      {
+       foreach($this->Data[0] as $Key => $Value)
+        {
+         if ( $Key != "Name" )
+          $this->DataDescription["Values"][] = $Key;
+        }
+      }
+    }
+
+   function RemoveSerie($SerieName="Serie1")
+    {
+     if ( !isset($this->DataDescription["Values"]) )
+      return(0);
+
+     $Found = FALSE;
+     foreach($this->DataDescription["Values"] as $key => $Value )
+      {
+       if ( $Value == $SerieName )
+        unset($this->DataDescription["Values"][$key]);
+      }
+    }
+
+   function SetAbsciseLabelSerie($SerieName = "Name")
+    {
+     $this->DataDescription["Position"] = $SerieName;
+    }
+
+   function SetSerieName($Name,$SerieName="Serie1")
+    {
+     $this->DataDescription["Description"][$SerieName] = $Name;
+    }
+
+   function SetXAxisName($Name="X Axis")
+    {
+     $this->DataDescription["Axis"]["X"] = $Name;
+    }
+
+   function SetYAxisName($Name="Y Axis")
+    {
+     $this->DataDescription["Axis"]["Y"] = $Name;
+    }
+
+   function SetXAxisFormat($Format="number")
+    {
+     $this->DataDescription["Format"]["X"] = $Format;
+    }
+
+   function SetYAxisFormat($Format="number")
+    {
+     $this->DataDescription["Format"]["Y"] = $Format;
+    }
+
+   function SetXAxisUnit($Unit="")
+    {
+     $this->DataDescription["Unit"]["X"] = $Unit;
+    }
+
+   function SetYAxisUnit($Unit="")
+    {
+     $this->DataDescription["Unit"]["Y"] = $Unit;
+    }
+
+   function SetSerieSymbol($Name,$Symbol)
+    {
+     $this->DataDescription["Symbol"][$Name] = $Symbol;
+    }
+
+   function removeSerieName($SerieName)
+    {
+     if ( isset($this->DataDescription["Description"][$SerieName]) )
+      unset($this->DataDescription["Description"][$SerieName]);
+    }
+
+   function removeAllSeries()
+    {
+     foreach($this->DataDescription["Values"] as $Key => $Value)
+      unset($this->DataDescription["Values"][$Key]);
+    }
+
+   function GetData()
+    {
+     return($this->Data);
+    }
+
+   function GetDataDescription()
+    {
+     return($this->DataDescription);
+    }
+  }
+?>
\ No newline at end of file
diff --git a/gosa-core/include/pChart/pf_arma_five.ttf b/gosa-core/include/pChart/pf_arma_five.ttf
new file mode 100644
index 0000000..db04ec3
Binary files /dev/null and b/gosa-core/include/pChart/pf_arma_five.ttf differ
diff --git a/gosa-core/include/pChart/softtones.txt b/gosa-core/include/pChart/softtones.txt
new file mode 100644
index 0000000..ca941ca
--- /dev/null
+++ b/gosa-core/include/pChart/softtones.txt
@@ -0,0 +1,5 @@
+168,188,56
+188,208,76
+208,228,96
+228,245,116
+248,255,136
diff --git a/gosa-core/include/pChart/tahoma.ttf b/gosa-core/include/pChart/tahoma.ttf
new file mode 100644
index 0000000..59b14a2
Binary files /dev/null and b/gosa-core/include/pChart/tahoma.ttf differ
diff --git a/gosa-core/include/pChart/tones.txt b/gosa-core/include/pChart/tones.txt
new file mode 100644
index 0000000..5016263
--- /dev/null
+++ b/gosa-core/include/pChart/tones.txt
@@ -0,0 +1,5 @@
+94,48,0
+201,34,0
+247,143,1
+255,238,208
+90,181,110
diff --git a/gosa-core/include/password-methods/class_password-methods.inc b/gosa-core/include/password-methods/class_password-methods.inc
index d4c551f..0f28220 100644
--- a/gosa-core/include/password-methods/class_password-methods.inc
+++ b/gosa-core/include/password-methods/class_password-methods.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_password-methods.inc 18920 2010-07-02 14:55:25Z hickert $$
+ * ID: $$Id: class_password-methods.inc 20518 2010-12-03 14:23:06Z hickert $$
  *
  * 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
@@ -22,307 +22,394 @@
 
 class passwordMethod
 {
-  var $config = false;
-  var $attrs= array();
-  var $display = FALSE;
-  var $hash= "";
-  var $lockable = TRUE;
-
-  // Konstructor
-  function passwordMethod($config, $dn="")
-  {
-  }
-
-  function create_template_hash($attrs)
-  {
-    if($this->get_hash_name() == ""){
-      return("{crypt}N0T$3T4N0W");
-    }else{
-      return('{'.$this->get_hash().'}').'N0T$3T4N0W';
+    var $config = false;
+    var $attrs= array();
+    var $display = FALSE;
+    var $hash= "";
+    var $lockable = TRUE;
+
+    // Konstructor
+    function passwordMethod($config, $dn)
+    {
     }
-  }
-
-  function get_hash_name()
-  {
-  }
-
-
-  function is_locked($config,$dn = "")
-  {
-    if(!$this->lockable) return FALSE;
-
-    /* Get current password hash */
-    $pwd ="";
-    if(!empty($dn)){
-      $ldap = $config->get_ldap_link();
-      $ldap->cd($config->current['BASE']);
-      $ldap->cat($dn);
-      $attrs = $ldap->fetch();
-      if(isset($attrs['userPassword'][0])){
-        $pwd = $attrs['userPassword'][0];
-      }
-    }elseif(isset($this->attrs['userPassword'][0])){
-      $pwd = $this->attrs['userPassword'][0];
+
+    function create_template_hash($attrs)
+    {
+        if($this->get_hash_name() == ""){
+            return("{crypt}N0T$3T4N0W");
+        }else{
+            return('{'.$this->get_hash().'}').'N0T$3T4N0W';
+        }
     }
-    return(preg_match("/^[^\}]*+\}!/",$pwd));
-  }
-
-
-  function lock_account($config,$dn = "")
-  {
-    if(!$this->lockable) return FALSE;
-
-    /* Get current password hash */
-    $pwd ="";
-    $ldap = $config->get_ldap_link();
-    $ldap->cd($config->current['BASE']);
-    if(!empty($dn)){
-      $ldap->cat($dn);
-      $attrs = $ldap->fetch();
-      if(isset($attrs['userPassword'][0])){
-        $pwd = $attrs['userPassword'][0];
-      }
-    }elseif(isset($this->attrs['userPassword'][0])){
-      $pwd = $this->attrs['userPassword'][0];
-      $dn = $this->attrs['dn'];
+
+    function get_hash_name()
+    {
     }
 
-    /* We can only lock/unlock non-empty passwords */
-    if(!empty($pwd)){
 
-      /* Check if this entry is already locked. */
-      if(preg_match("/^[^\}]*+\}!/",$pwd)){
-        return(TRUE);
-      }     
-      
-      /* Lock entry */
-      $pwd = preg_replace("/(^[^\}]+\})(.*$)/","\\1!\\2",$pwd);
-      $ldap->cd($dn);
-      $ldap->modify(array("userPassword" => $pwd));
-      return($ldap->success());
-    }
-    return(FALSE);
-  }
-
-
-  function unlock_account($config,$dn = "")
-  {
-    if(!$this->lockable) return FALSE;
-
-    /* Get current password hash */
-    $pwd ="";
-    $ldap = $config->get_ldap_link();
-    $ldap->cd($config->current['BASE']);
-    if(!empty($dn)){
-      $ldap->cat($dn);
-      $attrs = $ldap->fetch();
-      if(isset($attrs['userPassword'][0])){
-        $pwd = $attrs['userPassword'][0];
-      }
-    }elseif(isset($this->attrs['userPassword'][0])){
-      $pwd = $this->attrs['userPassword'][0];
-      $dn = $this->attrs['dn'];
+    function is_locked($config,$dn = "")
+    {
+        if(!$this->lockable) return FALSE;
+
+        /* Get current password hash */
+        $pwd ="";
+        if(!empty($dn)){
+            $ldap = $config->get_ldap_link();
+            $ldap->cd($config->current['BASE']);
+            $ldap->cat($dn);
+            $attrs = $ldap->fetch();
+            if(isset($attrs['userPassword'][0])){
+                $pwd = $attrs['userPassword'][0];
+            }
+        }elseif(isset($this->attrs['userPassword'][0])){
+            $pwd = $this->attrs['userPassword'][0];
+        }
+        return(preg_match("/^[^\}]*+\}!/",$pwd));
     }
 
-    /* We can only lock/unlock non-empty passwords */
-    if(!empty($pwd)){
-
-      /* Check if this entry is already locked. */
-      if(!preg_match("/^[^\}]*+\}!/",$pwd)){
-        return (TRUE);
-      }     
-      
-      /* Lock entry */
-      $pwd = preg_replace("/(^[^\}]+\})!(.*$)/","\\1\\2",$pwd);
-      $ldap->cd($dn);
-      $ldap->modify(array("userPassword" => $pwd));
-      return($ldap->success());
+
+
+    /*! \brief       Locks an account (gosaAccount) by added a '!' as prefix to the password hashes.
+     *               This makes logins impossible, due to the fact that the hash becomes invalid.
+     *                 userPassword: {SHA}!q02NKl9IChNwZEAJxzRdmB6E
+     *                 sambaLMPassword: !EBD223B61F8C259AD3B435B51404EE
+     *                 sambaNTPassword: !98BB35737013AAF181D0FE9FDA09E
+     */               
+    function lock_account($config,$dn = "")
+    {
+        if(!$this->lockable) return FALSE;
+
+        /* Get current password hash */
+        $userPassword = $sambaLMPassword = $sambaNTPassword = "";
+        $ldap = $config->get_ldap_link();
+        $ldap->cd($config->current['BASE']);
+        if(!empty($dn)){
+            $ldap->cat($dn,array('sambaLMPassword','sambaNTPassword','userPassword'));
+            $attrs = $ldap->fetch();
+            $userPassword = (isset($attrs['userPassword'][0])) ? $attrs['userPassword'][0]: "";
+            $sambaLMPassword = (isset($attrs['sambaLMPassword'][0])) ? $attrs['sambaLMPassword'][0]: "";
+            $sambaNTPassword = (isset($attrs['sambaNTPassword'][0])) ? $attrs['sambaNTPassword'][0]: "";
+        }elseif(isset($this->attrs['userPassword'][0])){
+            $dn = $this->attrs['dn'];
+            $userPassword = (isset($this->attrs['userPassword'][0])) ? $this->attrs['userPassword'][0]: "";
+            $sambaLMPassword = (isset($this->attrs['sambaLMPassword'][0])) ? $this->attrs['sambaLMPassword'][0]: "";
+            $sambaNTPassword = (isset($this->attrs['sambaNTPassword'][0])) ? $this->attrs['sambaNTPassword'][0]: "";
+        }
+
+        /* We can only lock/unlock non-empty passwords */
+        if(!empty($userPassword)){
+
+            /* Check if this entry is already locked. */
+            if(preg_match("/^[^\}]*+\}!/",$userPassword)){
+                return(TRUE);
+            }     
+
+            /* Lock entry */
+            $userPassword = preg_replace("/(^[^\}]+\})(.*$)/","\\1!\\2",$userPassword);
+
+            // Only lock samba hashes if samba passwords are enabled
+            $smbPasswdEnabled = trim($config->get_cfg_value('core','sambaHashHook')) != "";
+            if($smbPasswdEnabled){
+                $sambaLMPassword = preg_replace("/^[!]*(.*$)/","!\\1",$sambaLMPassword);
+                $sambaNTPassword = preg_replace("/^[!]*(.*$)/","!\\1",$sambaNTPassword);
+            }
+
+            // Call external lock hook
+            $res = $ldap->cat($dn);
+            $hookAttrs = array();
+            foreach($ldap->fetch() as $name => $value){
+                if(is_numeric($name)) continue;
+                if(isset($value[0])) $hookAttrs[$name] = $value[0];
+                if(isset($value) && is_string($value)) $hookAttrs[$name] = $value;
+            }
+            $pwdClass = new password($config, $dn);
+            $pwdClass->callHook($pwdClass, 'PRELOCK',$hookAttrs, $ret);
+
+            // Update the ldap entry
+            $ldap->cd($dn);
+            $attrs = array();
+            $attrs['userPassword'] = $userPassword;
+    
+            // Updated samba hashes if samba hashing is enabled
+            if($smbPasswdEnabled){
+                $attrs['sambaLMPassword'] = $sambaLMPassword;
+                $attrs['sambaNTPassword'] = $sambaNTPassword;
+            }
+
+            $ldap->modify($attrs);
+            if($ldap->success()){
+
+                // Call the password post-lock hook, if defined.
+                $pwdClass->callHook($pwdClass, 'POSTLOCK',$hookAttrs, $ret);
+            }
+            return($ldap->success());
+            
+        }
+        return(FALSE);
     }
-    return(FALSE);
-  }
-
-
-  // this function returns all loaded classes for password encryption
-  static function get_available_methods()
-  {
-    global $class_mapping, $config;
-    $ret =false;
-    $i =0;
-
-    /* Only */
-    if(!session::is_set("passwordMethod::get_available_methods")){
-      foreach($class_mapping as $class => $path) {
-        if(preg_match('/passwordMethod/i', $class) && !preg_match("/^passwordMethod$/i", $class)){
-          $name = preg_replace ("/passwordMethod/i", "", $class);
-          $test = new $class($config, "");
-          if($test->is_available()) {
-            $plugs= $test->get_hash_name();
-            if (!is_array($plugs)){
-              $plugs= array($plugs);
+
+
+    /*! \brief       Unlocks an account (gosaAccount) which was locked by 'lock_account()'.
+     *               For details about the locking mechanism see 'lock_account()'.
+     */               
+    function unlock_account($config,$dn = "")
+    {
+        if(!$this->lockable) return FALSE;
+
+        /* Get current password hash */
+        $userPassword = $sambaLMPassword = $sambaNTPassword = "";
+        $ldap = $config->get_ldap_link();
+        $ldap->cd($config->current['BASE']);
+        if(!empty($dn)){
+            $ldap->cat($dn,array('sambaLMPassword','sambaNTPassword','userPassword'));
+            $attrs = $ldap->fetch();
+            $userPassword = (isset($attrs['userPassword'][0])) ? $attrs['userPassword'][0]: "";
+            $sambaLMPassword = (isset($attrs['sambaLMPassword'][0])) ? $attrs['sambaLMPassword'][0]: "";
+            $sambaNTPassword = (isset($attrs['sambaNTPassword'][0])) ? $attrs['sambaNTPassword'][0]: "";
+        }elseif(isset($this->attrs['userPassword'][0])){
+            $dn = $this->attrs['dn'];
+            $userPassword = (isset($this->attrs['userPassword'][0])) ? $this->attrs['userPassword'][0]: "";
+            $sambaLMPassword = (isset($this->attrs['sambaLMPassword'][0])) ? $this->attrs['sambaLMPassword'][0]: "";
+            $sambaNTPassword = (isset($this->attrs['sambaNTPassword'][0])) ? $this->attrs['sambaNTPassword'][0]: "";
+        }
+
+
+        /* We can only lock/unlock non-empty passwords */
+        if(!empty($userPassword)){
+
+            /* Check if this entry is already locked. */
+            if(!preg_match("/^[^\}]*+\}!/",$userPassword)){
+                return (TRUE);
+            }     
+
+            /* Lock entry */
+
+            $userPassword = preg_replace("/(^[^\}]+\})!(.*$)/","\\1\\2",$userPassword);
+
+            // Update samba hashes only if its enabled.
+            $smbPasswdEnabled = trim($config->get_cfg_value('core','sambaHashHook')) != "";
+            if($smbPasswdEnabled){
+                $sambaLMPassword = preg_replace("/^[!]*(.*$)/","\\1",$sambaLMPassword);
+                $sambaNTPassword = preg_replace("/^[!]*(.*$)/","\\1",$sambaNTPassword);
+            }
+
+            // Call external lock hook
+            $res = $ldap->cat($dn);
+            $hookAttrs = array();
+            foreach($ldap->fetch() as $name => $value){
+                if(is_numeric($name)) continue;
+                if(isset($value[0])) $hookAttrs[$name] = $value[0];
+                if(isset($value) && is_string($value)) $hookAttrs[$name] = $value;
+            }
+            $pwdClass = new password($config, $dn);
+            $pwdClass->callHook($pwdClass, 'PREUNLOCK',$hookAttrs, $ret);
+
+            // Lock the account by modifying the password hash. 
+            $ldap->cd($dn);
+
+            // Update the ldap entry
+            $attrs = array();
+            $attrs['userPassword'] = $userPassword;
+
+            // Updated samba hashes if samba hashing is enabled
+            if($smbPasswdEnabled){
+                $attrs['sambaLMPassword'] = $sambaLMPassword;
+                $attrs['sambaNTPassword'] = $sambaNTPassword;
+            }
+
+            $ldap->modify($attrs);
+
+            if($ldap->success()){
+
+                // Call the password post-lock hook, if defined.
+                $pwdClass = new password($config, $dn);
+                $pwdClass->callHook($pwdClass, 'POSTUNLOCK',$hookAttrs, $ret);
             }
+            return($ldap->success());
+        }
+        return(FALSE);
+    }
 
-            foreach ($plugs as $plugname){
-
-              $cfg = $test->is_configurable();
-
-              $ret['name'][$i]= $plugname;
-              $ret['class'][$i]=$class;
-              $ret['is_configurable'][$i]= $cfg;
-              $ret['object'][$i]= $test;
-              $ret['desc'][$i] = $test->get_description();
-              $ret[$i]['name']  = $plugname;
-              $ret[$i]['class'] = $class;
-              $ret[$i]['object']= $test;
-              $ret[$i]['is_configurable']= $cfg;
-              $ret[$i]['desc'] = $test->get_description();
-              $ret[$plugname]=$class;                    
-              $i++;
+
+    // this function returns all loaded classes for password encryption
+    static function get_available_methods()
+    {
+        global $class_mapping, $config;
+        $ret =false;
+        $i =0;
+
+        /* Only */
+        if(!session::is_set("passwordMethod::get_available_methods")){
+            foreach($class_mapping as $class => $path) {
+                if(preg_match('/passwordMethod/i', $class) && !preg_match("/^passwordMethod$/i", $class)){
+                    $name = preg_replace ("/passwordMethod/i", "", $class);
+                    $test = new $class($config, "");
+                    if($test->is_available()) {
+                        $plugs= $test->get_hash_name();
+                        if (!is_array($plugs)){
+                            $plugs= array($plugs);
+                        }
+
+                        foreach ($plugs as $plugname){
+
+                            $cfg = $test->is_configurable();
+
+                            $ret['name'][$i]= $plugname;
+                            $ret['class'][$i]=$class;
+                            $ret['is_configurable'][$i]= $cfg;
+                            $ret['object'][$i]= $test;
+                            $ret['desc'][$i] = $test->get_description();
+                            $ret[$i]['name']  = $plugname;
+                            $ret[$i]['class'] = $class;
+                            $ret[$i]['object']= $test;
+                            $ret[$i]['is_configurable']= $cfg;
+                            $ret[$i]['desc'] = $test->get_description();
+                            $ret[$plugname]=$class;                    
+                            $i++;
+                        }
+                    }
+                }
             }
-          }
+            session::set("passwordMethod::get_available_methods",$ret);
         }
-      }
-      session::set("passwordMethod::get_available_methods",$ret);
+        return(session::get("passwordMethod::get_available_methods"));
     }
-    return(session::get("passwordMethod::get_available_methods"));
-  }
-  
 
-  function get_description()
-  {
-    return("");
-  }
 
+    function get_description()
+    {
+        return("");
+    }
 
-  // Method to let password backends remove additional information besides
-  // the userPassword attribute
-  function remove_from_parent()
-  {
-  }
 
+    // Method to let password backends remove additional information besides
+    // the userPassword attribute
+    function remove_from_parent()
+    {
+    }
 
-  // Method to let passwords backends manage additional information
-  // besides the userAttribute entry
-  function set_password($password)
-  {
-    return(TRUE);
-  }
 
+    // Method to let passwords backends manage additional information
+    // besides the userAttribute entry
+    function set_password($password)
+    {
+        return(TRUE);
+    }
 
-  // Return true if this password method provides a configuration dialog
-  function is_configurable()
-  {
-    return FALSE;
-  }
 
+    // Return true if this password method provides a configuration dialog
+    function is_configurable()
+    {
+        return FALSE;
+    }
 
-  // Provide a subdialog to configure a password method
-  function configure()
-  {
-    return "";
-  }
 
-  
-  // Save information to LDAP
-  function save($dn)
-  {
-  }
+    // Provide a subdialog to configure a password method
+    function configure()
+    {
+        return "";
+    }
 
 
-  // Try to find out if it's our hash...
-  static function get_method($password_hash,$dn = "")
-  {
-    global $config;
+    // Save information to LDAP
+    function save($dn)
+    {
+    }
 
-    $methods= passwordMethod::get_available_methods();
 
-    foreach ($methods['class'] as $class){
+    // Try to find out if it's our hash...
+    static function get_method($password_hash,$dn = "")
+    {
+        global $config;
 
-        $test = new $class($config,$dn);
+        $methods= passwordMethod::get_available_methods();
+
+        foreach ($methods['class'] as $class){
+
+            $test = new $class($config,$dn);
 #        All listed methods are available. 
 #        if(!$test->is_available())continue;
-        $method= $test->_extract_method($password_hash);
-        if ($method != ""){
-          $test->set_hash($method);
-          return $test;
+            $method= $test->_extract_method($password_hash);
+            if ($method != ""){
+                $test->set_hash($method);
+                return $test;
+            }
         }
+
+        msg_dialog::display(_("Error"), _("Cannot find a suitable password method for the current hash!"), ERROR_DIALOG);
+
+        return NULL;
     }
 
-    msg_dialog::display(_("Error"), _("Cannot find a suitable password method for the current hash!"), ERROR_DIALOG);
 
-    return NULL;
-  }
+    function _extract_method($password_hash)
+    {
+        $hash= $this->get_hash_name();
+        if (preg_match("/^\{$hash\}/i", $password_hash)){
+            return $hash;
+        }
+
+        return "";
+    }
 
 
-  function _extract_method($password_hash)
-  {
-    $hash= $this->get_hash_name();
-    if (preg_match("/^\{$hash\}/i", $password_hash)){
-      return $hash;
+    static function make_hash($password, $hash)
+    {
+        global $config;
+
+        $methods= passwordMethod::get_available_methods();
+        $tmp= new $methods[$hash]($config);
+        $tmp->set_hash($hash);
+        return $tmp->generate_hash($password);
     }
 
-    return "";
-  }
-
-
-  static function make_hash($password, $hash)
-  {
-    global $config;
-
-    $methods= passwordMethod::get_available_methods();
-    $tmp= new $methods[$hash]($config);
-    $tmp->set_hash($hash);
-    return $tmp->generate_hash($password);
-  }
-
-
-  function set_hash($hash)
-  {
-    $this->hash= $hash;
-  }
-
-
-  function get_hash()
-  {
-    return $this->hash;
-  }
-
-  function adapt_from_template($dn)
-  {
-    return($this);
-  }
-
-  static function getPasswordProposal($config)
-  {
-      if($config->get_cfg_value('passwordProposalHook','') != ''){
-          $command = $config->get_cfg_value('passwordProposalHook','');
-
-          if (check_command($command)){
-
-              @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,$command,"Execute");
-              exec($command, $arr, $returnCode);
-              $returnOutput = $arr;
-
-              if($returnCode != 0){
-                  $str = implode("\n",$arr);
-                  @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Execution failed code: ".$returnCode);
-                  $message= msgPool::cmdexecfailed($cmd,$command, get_class($plugin));
-                  msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
-              }elseif(is_array($arr)){
-                  $str = implode("\n",$arr);
-                  @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Result: ".$str);
-                  if(count($arr) && !empty($arr[0])){
-                      return($arr[0]);
-                  }
-
-              }
-          } else {
-              $message= msgPool::cmdinvalid($cmd,$command, get_class($plugin));
-              msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
-          }
-
-      }
-      return('');
-  }
+
+    function set_hash($hash)
+    {
+        $this->hash= $hash;
+    }
+
+
+    function get_hash()
+    {
+        return $this->hash;
+    }
+
+    function adapt_from_template($dn)
+    {
+        return($this);
+    }
+
+
+    static function is_harmless($password)
+    {
+        global $config;
+
+        if ($config->boolValueIsTrue("core","strictPasswordRules")) {
+            // Do we have UTF8 characters in the password?
+            return ($password == utf8_decode($password));
+        }
+
+        return(true);
+    }
+
+
+    static function getPasswordProposal($config)
+    {
+        if($config->configRegistry->propertyExists('core', 'passwordProposalHook')){
+            $value = $config->configRegistry->getPropertyValue('core', 'passwordProposalHook');
+            $core = new core($config);
+
+            // No execute the hook and fetch the results.
+            plugin::callHook($core, 'passwordProposalHook', $addAttrs= array(), $ret);
+            if(count($ret) && !empty($ret[0])){
+                return($ret[0]);
+            }
+        }
+        return('');
+    }
+
+
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/include/php_setup.inc b/gosa-core/include/php_setup.inc
index c074f6d..63172b4 100644
--- a/gosa-core/include/php_setup.inc
+++ b/gosa-core/include/php_setup.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: php_setup.inc 15555 2010-02-01 14:17:02Z hickert $$
+ * ID: $$Id: php_setup.inc 20298 2010-11-19 14:35:01Z hickert $$
  *
  * 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
@@ -29,7 +29,10 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
   // To avoid recursion - restore original error handler.
   restore_error_handler();
 
-  /* Return if error reporting is set to zero */
+  /* Return if error reporting is set to zero 
+   * Also exclude statements prefixed with @ - Comment out the block below to see suppressed errors. 
+   * e.g. @call_function_but_hide_errors()
+   */
   if (error_reporting() == 0){
     set_error_handler('gosaRaiseError', E_WARNING |  E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_STRICT) ;
     return;
@@ -50,7 +53,7 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
   }
 
   /* Error messages are hidden in GOsa, so we only send them to the logging class and abort here */
-  if(isset($config->data) && $config->get_cfg_value("displayerrors") != "true"){
+  if(isset($config->data) && $config->get_cfg_value("core","displayErrors") != "true"){
 
     /* Write to syslog */
     if(class_exists("log") && !preg_match("/No such object/",$errstr)){
@@ -66,6 +69,12 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
     new log("debug","all",$errfile,array(),"Type:".$errno.", Message:".$errstr.", File:".$errfile.", Line: ".$errline);
   }
 
+  // Log errors in usage DB
+  if(class_exists('stats') && !preg_match("/No such object/",$errstr)){
+      stats::log('error', $class = 'ERROR', $category = array(),  $action = __FUNCTION__, 
+              $amount = 1, $duration = 0, $errno);
+  }
+
   /* Create header as needed */
   if ($error_collector == ""){
 
@@ -91,24 +100,18 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
     if (session::is_set('js') && session::get('js')==FALSE){
       $error_collector= "<div>";
     } else {
-      $error_collector= "
-        <table summary=\"\" width=\"100%\" style='background-color:#E0E0E0;border-bottom:1px solid black;z-index:150;'>
+        $error_collector= "
+        <table summary=\"\" class='error-collector'>
           <tr>
-            <td>
-              <img alt=\"\" align=\"middle\" src='".get_template_path('images/warning.png')."'> 
-              <font style='font-size:14px;font-weight:bold'>".
-                _("Generating this page caused the PHP interpreter to raise some errors!")."
-              </font>
-            </td>
-            <td align=right>
-              <a href=\"mailto:gosa-bugs at oss.gonicus.de?subject=GOsa%20bugreport&body=%BUGBODY%\">
-                <img border='0' src='images/mailto.png' title='"._("Send bug report to the GOsa Team")."' class='center' alt=''> "._("Send bugreport")."
-              </a>
-            </td>
-            <td align=right>
-              <button onClick=\"$('errorbox').toggle();\">".
-                _("Toggle information")."
-              </button>
+           <td style='width:32px'>".image('images/toolbar-warning.png')."</td>
+           <td><span>"._("Generating this page caused the PHP interpreter to raise some errors!")."</span></td>
+           <td align='right'>
+            <a href=\"mailto:gosa-bugs at oss.gonicus.de?subject=GOsa%20bugreport&body=%BUGBODY%\">
+                ".image('images/mailto.png')." "._("Send bug report")."
+            </a>
+           </td>
+           <td align='right'>
+            <button onClick=\"$('errorbox').toggle();\">"._("Toggle details")."</button>
             </td>
           </tr>
         </table>
@@ -184,7 +187,7 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
         $line="";
       }
       $color= ($index&1)?'#404040':'606060';
-      $error_collector.= "<tr style='background-color:$color'><td style='padding-left:20px' width=\"30%\">"._("Trace")."[$index]: $loc</td>";
+      $error_collector.= "<tr style='background-color:$color'><td style='padding-left:20px' width=\"30%\">"._("Traceback")."[$index]: $loc</td>";
       $error_collector.= "<td>"._("File").": $file ("._('Line')." $line)</td><td width=\"10%\">"._("Type").": $type</td></tr>";
       $error_collector.= "<tr style='background-color:$color'><td colspan=3 style='padding-left:20px;'>"._("Arguments").": $args</td></tr>";
 
@@ -289,7 +292,14 @@ require("smarty/Smarty.class.php");
 $smarty = new Smarty;
 $smarty->template_dir = $BASE_DIR.'/ihtml/';
 $smarty->caching= false;
-$smarty->php_handling= SMARTY_PHP_REMOVE;
+
+// To be able to switch between smarty version 2/3                                                                      
+if(defined('SMARTY_PHP_REMOVE')){                                                                                       
+    $smarty->php_handling= SMARTY_PHP_REMOVE;                                                                           
+}else{                                                                                                                  
+    $smarty->php_handling= Smarty::PHP_REMOVE;                                                                          
+}                                                                                                                       
+
 
 /* Global FPDF define */
 define('FPDF_FONTPATH', '/usr/share/php/fpdf/font/');
diff --git a/gosa-core/include/smarty/Smarty.class.php b/gosa-core/include/smarty/Smarty.class.php
deleted file mode 100644
index 6f28857..0000000
--- a/gosa-core/include/smarty/Smarty.class.php
+++ /dev/null
@@ -1,545 +0,0 @@
-<?php
-
-/**
-* Project:     Smarty: the PHP compiling template engine
-* File:        Smarty.class.php
-* SVN:         $Id: Smarty.class.php 3420 2009-12-29 20:12:11Z Uwe.Tews $
-* 
-* 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 (at your option) 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
-* 
-* For questions, help, comments, discussion, etc., please join the
-* Smarty mailing list. Send a blank e-mail to
-* smarty-discussion-subscribe at googlegroups.com
-* 
-* @link http://www.smarty.net/
-* @copyright 2008 New Digital Group, Inc.
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @author Uwe Tews 
-* @package Smarty
-* @version 3-SVN$Rev: 3286 $
-*/
-
-/**
-* define shorthand directory separator constant
-*/
-if (!defined('DS')) {
-    define('DS', DIRECTORY_SEPARATOR);
-} 
-
-/**
-* set SMARTY_DIR to absolute path to Smarty library files.
-* Sets SMARTY_DIR only if user application has not already defined it.
-*/
-if (!defined('SMARTY_DIR')) {
-    define('SMARTY_DIR', dirname(__FILE__) . DS);
-} 
-
-/**
-* set SMARTY_SYSPLUGINS_DIR to absolute path to Smarty internal plugins.
-* Sets SMARTY_SYSPLUGINS_DIR only if user application has not already defined it.
-*/
-if (!defined('SMARTY_SYSPLUGINS_DIR')) {
-    define('SMARTY_SYSPLUGINS_DIR', SMARTY_DIR . 'sysplugins' . DS);
-} 
-if (!defined('SMARTY_PLUGINS_DIR')) {
-    define('SMARTY_PLUGINS_DIR', SMARTY_DIR . 'plugins' . DS);
-} 
-if (!defined('SMARTY_RESOURCE_CHAR_SET')) {
-    define('SMARTY_RESOURCE_CHAR_SET', 'UTF-8');
-} 
-if (!defined('SMARTY_RESOURCE_DATE_FORMAT')) {
-    define('SMARTY_RESOURCE_DATE_FORMAT', '%b %e, %Y');
-} 
-
-/**
-* define variable scopes
-*/
-define('SMARTY_LOCAL_SCOPE', 0);
-define('SMARTY_PARENT_SCOPE', 1);
-define('SMARTY_ROOT_SCOPE', 2);
-define('SMARTY_GLOBAL_SCOPE', 3);
-
-/**
-* define caching modes
-*/
-define('SMARTY_CACHING_OFF', 0);
-define('SMARTY_CACHING_LIFETIME_CURRENT', 1);
-define('SMARTY_CACHING_LIFETIME_SAVED', 2);
-
-/**
-* This determines how Smarty handles "<?php ... ?>" tags in templates.
-* possible values:
-*/
-define('SMARTY_PHP_PASSTHRU', 0); //-> print tags as plain text
-define('SMARTY_PHP_QUOTE', 1); //-> escape tags as entities
-define('SMARTY_PHP_REMOVE', 2); //-> escape tags as entities
-define('SMARTY_PHP_ALLOW', 3); //-> escape tags as entities
-
-/**
-* register the class autoloader
-*/
-if (!defined('SMARTY_SPL_AUTOLOAD')) {
-    define('SMARTY_SPL_AUTOLOAD', 0);
-} 
-
-if (SMARTY_SPL_AUTOLOAD && set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false) {
-    $registeredAutoLoadFunctions = spl_autoload_functions();
-    if (!isset($registeredAutoLoadFunctions['spl_autoload'])) {
-        spl_autoload_register();
-    } 
-} else {
-    spl_autoload_register('smartyAutoload');
-} 
-
-/**
-* This is the main Smarty class
-*/
-class Smarty extends Smarty_Internal_Data {
-    // smarty version
-    const SMARTY_VERSION = 'Smarty3-b7'; 
-    // auto literal on delimiters with whitspace
-    public $auto_literal = true; 
-    // display error on not assigned variables
-    public $error_unassigned = false; 
-    // template directory
-    public $template_dir = null; 
-    // default template handler
-    public $default_template_handler_func = null; 
-    // compile directory
-    public $compile_dir = null; 
-    // plugins directory
-    public $plugins_dir = null; 
-    // cache directory
-    public $cache_dir = null; 
-    // config directory
-    public $config_dir = null; 
-    // force template compiling?
-    public $force_compile = false; 
-    // check template for modifications?
-    public $compile_check = true; 
-    // use sub dirs for compiled/cached files?
-    public $use_sub_dirs = false; 
-    // compile_error?
-    public $compile_error = false; 
-    // caching enabled
-    public $caching = false; 
-    // merge compiled includea
-    public $merge_compiled_includes = false; 
-    // cache lifetime
-    public $cache_lifetime = 3600; 
-    // force cache file creation
-    public $force_cache = false; 
-    // cache_id
-    public $cache_id = null; 
-    // compile_id
-    public $compile_id = null; 
-    // template delimiters
-    public $left_delimiter = "{";
-    public $right_delimiter = "}"; 
-    // security
-    public $security_class = 'Smarty_Security';
-    public $php_handling = SMARTY_PHP_PASSTHRU;
-    public $allow_php_tag = false;
-    public $allow_php_templates = false;
-    public $security = false;
-    public $security_policy = null;
-    public $security_handler = null;
-    public $direct_access_security = true; 
-    // debug mode
-    public $debugging = false;
-    public $debugging_ctrl = 'URL';
-    public $smarty_debug_id = 'SMARTY_DEBUG';
-    public $debug_tpl = null; 
-    // When set, smarty does uses this value as error_reporting-level.
-    public $error_reporting = null; 
-    // config var settings
-    public $config_overwrite = true; //Controls whether variables with the same name overwrite each other.
-    public $config_booleanize = true; //Controls whether config values of on/true/yes and off/false/no get converted to boolean
-    public $config_read_hidden = true; //Controls whether hidden config sections/vars are read from the file.                                              
-    // config vars
-    public $config_vars = array(); 
-    // assigned tpl vars
-    public $tpl_vars = array(); 
-    // assigned global tpl vars
-    public $global_tpl_vars = array(); 
-    // dummy parent object
-    public $parent = null; 
-    // global template functions
-    public $template_functions = array(); 
-    // resource type used if none given
-    public $default_resource_type = 'file'; 
-    // caching type
-    public $caching_type = 'file'; 
-    // internal cache resource types
-    public $cache_resource_types = array('file'); 
-    // config type
-    public $default_config_type = 'file'; 
-    // exception handler: array('ExceptionClass','ExceptionMethod');
-    public $exception_handler = null; 
-    // cached template objects
-    public $template_objects = null; 
-    // check If-Modified-Since headers
-    public $cache_modified_check = false; 
-    // registered plugins
-    public $registered_plugins = array(); 
-    // plugin search order
-    public $plugin_search_order = array('function', 'block', 'compiler', 'class'); 
-    // registered objects
-    public $registered_objects = array(); 
-    // registered filters
-    public $registered_filters = array(); 
-    // autoload filter
-    public $autoload_filters = array(); 
-    // status of filter on variable output
-    public $variable_filter = true; 
-    // global internal smarty  vars
-    public $_smarty_vars = array(); 
-    // start time for execution time calculation
-    public $start_time = 0; 
-    // default file permissions
-    public $_file_perms = 0644; 
-    // default dir permissions
-    public $_dir_perms = 0771; 
-    // smarty object reference
-    public $smarty = null;
-
-    /**
-    * Class constructor, initializes basic smarty properties
-    */
-    public function __construct() {
-        // self reference needed by other classes methods
-        $this->smarty = $this;
-
-        if (is_callable('mb_internal_encoding')) {
-            mb_internal_encoding(SMARTY_RESOURCE_CHAR_SET);
-        } 
-        $this->start_time = $this->_get_time(); 
-        // set exception handler
-        if (!empty($this->exception_handler))
-        set_exception_handler($this->exception_handler); 
-        // set default dirs
-        $this->template_dir = array('.' . DS . 'templates' . DS);
-        $this->compile_dir = '.' . DS . 'templates_c' . DS;
-        $this->plugins_dir = array(SMARTY_PLUGINS_DIR);
-        $this->cache_dir = '.' . DS . 'cache' . DS;
-        $this->config_dir = '.' . DS . 'configs' . DS;
-        $this->debug_tpl = SMARTY_DIR . 'debug.tpl';
-        if (!$this->debugging && $this->debugging_ctrl == 'URL') {
-            if (isset($_SERVER['QUERY_STRING'])) {
-                $_query_string = $_SERVER['QUERY_STRING'];
-            } 
-            else {
-                $_query_string = '';
-            } 
-            if (false !== strpos($_query_string, $this->smarty_debug_id)) {
-                if (false !== strpos($_query_string, $this->smarty_debug_id . '=on')) {
-                    // enable debugging for this browser session
-                    setcookie('SMARTY_DEBUG', true);
-                    $this->debugging = true;
-                } 
-                elseif (false !== strpos($_query_string, $this->smarty_debug_id . '=off')) {
-                    // disable debugging for this browser session
-                    setcookie('SMARTY_DEBUG', false);
-                    $this->debugging = false;
-                } 
-                else {
-                    // enable debugging for this page
-                    $this->debugging = true;
-                } 
-            } 
-            else {
-                if (isset($_COOKIE['SMARTY_DEBUG'])) {
-                    $this->debugging = true;
-                } 
-            } 
-        } 
-        $this->assign_global('SCRIPT_NAME', $_SERVER['SCRIPT_NAME']);
-    } 
-
-    /**
-    * Class destructor
-    */
-    public function __destruct() {
-        // restore to previous exception handler, if any
-        if (!empty($this->exception_handler))
-        restore_exception_handler();
-    } 
-
-    /**
-    * fetches a rendered Smarty template
-    * 
-    * @param string $template the resource handle of the template file or template object
-    * @param mixed $cache_id cache id to be used with this template
-    * @param mixed $compile_id compile id to be used with this template
-    * @param object $ |null $parent next higher level of Smarty variables
-    * @return string rendered template output
-    */
-    public function fetch($template, $cache_id = null, $compile_id = null, $parent = null) {
-        if (is_object($cache_id)) {
-            $parent = $cache_id;
-            $cache_id = null;
-        } 
-        if ($parent === null) {
-            // get default Smarty data object
-            $parent = $this;
-        } 
-        // create template object if necessary
-        ($template instanceof $this->template_class)? $_template = $template :
-        $_template = $this->createTemplate ($template, $cache_id, $compile_id, $parent);
-        $_smarty_old_error_level = $this->debugging ? error_reporting() : error_reporting(isset($this->error_reporting)
-            ? $this->error_reporting : error_reporting() &~E_NOTICE); 
-        // return redered template
-        if (isset($this->autoload_filters['output']) || isset($this->registered_filters['output'])) {
-            $_output = Smarty_Internal_Filter_Handler::runFilter('output', $_template->getRenderedTemplate(), $this);
-        } 
-        else {
-            $_output = $_template->getRenderedTemplate();
-        } 
-        $_template->rendered_content = null;
-        error_reporting($_smarty_old_error_level);
-        return $_output;
-    } 
-
-    /**
-    * displays a Smarty template
-    * 
-    * @param string $ |object $template the resource handle of the template file  or template object
-    * @param mixed $cache_id cache id to be used with this template
-    * @param mixed $compile_id compile id to be used with this template
-    * @param object $parent next higher level of Smarty variables
-    */
-    public function display($template, $cache_id = null, $compile_id = null, $parent = null) {
-        // display template
-        echo $this->fetch ($template, $cache_id, $compile_id, $parent); 
-        // debug output
-        if ($this->debugging) {
-            Smarty_Internal_Debug::display_debug($this);
-        } 
-        return true;
-    } 
-
-    /**
-    * test if cache i valid
-    * 
-    * @param string $ |object $template the resource handle of the template file or template object
-    * @param mixed $cache_id cache id to be used with this template
-    * @param mixed $compile_id compile id to be used with this template
-    * @return boolean cache status
-    */
-    public function is_cached($template, $cache_id = null, $compile_id = null) {
-        if (!($template instanceof $this->template_class)) {
-            $template = $this->createTemplate ($template, $cache_id, $compile_id, $this);
-        } 
-        // return cache status of template
-        return $template->isCached();
-    } 
-
-    /**
-    * Loads security class and enables security
-    */
-    public function enableSecurity() {
-        if (isset($this->security_class)) {
-            $this->security_policy = new $this->security_class;
-            $this->security_handler = new Smarty_Internal_Security_Handler($this);
-            $this->security = true;
-        } 
-        else {
-            throw new Exception('Property security_class is not defined');
-        } 
-    } 
-
-    /**
-    * Set template directory
-    * 
-    * @param string $ |array $template_dir folder(s) of template sorces
-    */
-    public function setTemplateDir($template_dir) {
-        $this->template_dir = (array)$template_dir;
-        return;
-    } 
-    /**
-    * Adds template directory(s) to existing ones
-    * 
-    * @param string $ |array $template_dir folder(s) of template sources
-    */
-    public function addTemplateDir($template_dir) {
-        $this->template_dir = array_merge((array)$this->template_dir, (array)$template_dir);
-        $this->template_dir = array_unique($this->template_dir);
-        return;
-    } 
-    /**
-    * Set compile directory
-    * 
-    * @param string $compile_dir folder of compiled template sources
-    */
-    public function setCompileDir($compile_dir) {
-        $this->compile_dir = $compile_dir;
-        return;
-    } 
-    /**
-    * Set cache directory
-    * 
-    * @param string $cache_dir folder of cache files
-    */
-    public function setCacheDir($cache_dir) {
-        $this->cache_dir = $cache_dir;
-        return;
-    } 
-    /**
-    * Enable Caching
-    */
-    public function enableCaching() {
-        $this->caching = SMARTY_CACHING_LIFETIME_CURRENT;
-        return;
-    } 
-    /**
-    * Set caching life time
-    * 
-    * @param integer $lifetime lifetime of cached file in seconds
-    */
-    public function setCacheLifetime($lifetime) {
-        $this->cache_lifetime = $lifetime;
-        return;
-    } 
-    /**
-    * Takes unknown classes and loads plugin files for them
-    * class name format: Smarty_PluginType_PluginName
-    * plugin filename format: plugintype.pluginname.php
-    * 
-    * @param string $plugin_name class plugin name to load
-    * @return string|boolean filepath of loaded file or false
-    */
-    public function loadPlugin($plugin_name, $check = true) {
-        // if function or class exists, exit silently (already loaded)
-        if ($check && (is_callable($plugin_name) || class_exists($plugin_name, false)))
-        return true; 
-        // Plugin name is expected to be: Smarty_[Type]_[Name]
-        $_plugin_name = strtolower($plugin_name);
-        $_name_parts = explode('_', $_plugin_name, 3); 
-        // class name must have three parts to be valid plugin
-        if (count($_name_parts) < 3 || $_name_parts[0] !== 'smarty') {
-            throw new Exception("plugin {$plugin_name} is not a valid name format");
-            return false;
-        } 
-        // if type is "internal", get plugin from sysplugins
-        if ($_name_parts[1] == 'internal') {
-            $file = SMARTY_SYSPLUGINS_DIR . $_plugin_name . '.php';
-            if (file_exists($file)) {
-                require_once($file);
-                return $file;
-            } 
-            else {
-                return false;
-            } 
-        } 
-        // plugin filename is expected to be: [type].[name].php
-        $_plugin_filename = "{$_name_parts[1]}.{$_name_parts[2]}.php"; 
-        // loop through plugin dirs and find the plugin
-        foreach((array)$this->plugins_dir as $_plugin_dir) {
-            if (strpos('/\\', substr($_plugin_dir, -1)) === false) {
-                $_plugin_dir .= DS;
-            } 
-            $file = $_plugin_dir . $_plugin_filename;
-            if (file_exists($file)) {
-                require_once($file);
-                return $file;
-            } 
-        } 
-        // no plugin loaded
-        return false;
-    } 
-
-    /**
-    * Sets the exception handler for Smarty.
-    * 
-    * @param mixed $handler function name or array with object/method names
-    * @return string previous exception handler
-    */
-    public function setExceptionHandler($handler) {
-        $this->exception_handler = $handler;
-        return set_exception_handler($handler);
-    } 
-
-    /**
-    * Loads cache resource.
-    * 
-    * @return object of cache resource
-    */
-    public function loadCacheResource($type = null) {
-        if (!isset($type)) {
-            $type = $this->caching_type;
-        } 
-        // already loaded?
-        if (isset($this->cache_resource_objects[$type])) {
-            return $this->cache_resource_objects[$type];
-        } 
-        if (in_array($type, $this->cache_resource_types)) {
-            $cache_resource_class = 'Smarty_Internal_CacheResource_' . ucfirst($type);
-            return $this->cache_resource_objects[$type] = new $cache_resource_class($this);
-        } 
-        else {
-            // try plugins dir
-            $cache_resource_class = 'Smarty_CacheResource_' . ucfirst($type);
-            if ($this->loadPlugin($cache_resource_class)) {
-                return $this->cache_resource_objects[$type] = new $cache_resource_class($this);
-            } 
-            else {
-                throw new Exception("Unable to load cache resource '{$type}'");
-            } 
-        } 
-    } 
-
-    /**
-    * trigger Smarty error
-    * 
-    * @param string $error_msg 
-    * @param integer $error_type 
-    */
-    public function trigger_error($error_msg, $error_type = E_USER_WARNING) {
-        throw new Exception("Smarty error: $error_msg");
-    } 
-
-    /**
-    * Takes unknown class methods and lazy loads sysplugin files for them
-    * class name format: Smarty_Method_MethodName
-    * plugin filename format: method.methodname.php
-    * 
-    * @param string $name unknown methode name
-    * @param array $args aurgument array
-    */
-    public function __call($name, $args) {
-        $name = strtolower($name);
-        if ($name == 'smarty') {
-            throw new Exception('Please use parent::__construct() to call parent constuctor');
-        } 
-        $function_name = 'smarty_method_' . $name;
-        if (!is_callable($function_name)) {
-            if (!file_exists(SMARTY_SYSPLUGINS_DIR . $function_name . '.php')) {
-                throw new Exception('Undefined Smarty method "' . $name . '"');
-            } 
-            require_once(SMARTY_SYSPLUGINS_DIR . $function_name . '.php');
-        } 
-        return call_user_func_array($function_name, array_merge(array($this), $args));
-    } 
-} 
-
-function smartyAutoload($class) {
-    $_class = strtolower($class);
-    if (substr($_class, 0, 16) === 'smarty_internal_' || $_class == 'smarty_security') {
-        include SMARTY_SYSPLUGINS_DIR . $_class . '.php';
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/debug.tpl b/gosa-core/include/smarty/debug.tpl
deleted file mode 100644
index 9fd46b1..0000000
--- a/gosa-core/include/smarty/debug.tpl
+++ /dev/null
@@ -1,136 +0,0 @@
-{capture assign=debug_output}
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-    <title>Smarty Debug Console</title>
-<style type="text/css">
-{literal}
-body, h1, h2, td, th, p {
-    font-family: sans-serif;
-    font-weight: normal;
-    font-size: 0.9em;
-    margin: 1px;
-    padding: 0;
-}
-
-h1 {
-    margin: 0;
-    text-align: left;
-    padding: 2px;
-    background-color: #f0c040;
-    color:  black;
-    font-weight: bold;
-    font-size: 1.2em;
- }
-
-h2 {
-    background-color: #9B410E;
-    color: white;
-    text-align: left;
-    font-weight: bold;
-    padding: 2px;
-    border-top: 1px solid black;
-}
-
-body {
-    background: black; 
-}
-
-p, table, div {
-    background: #f0ead8;
-} 
-
-p {
-    margin: 0;
-    font-style: italic;
-    text-align: center;
-}
-
-table {
-    width: 100%;
-}
-
-th, td {
-    font-family: monospace;
-    vertical-align: top;
-    text-align: left;
-    width: 50%;
-}
-
-td {
-    color: green;
-}
-
-.odd {
-    background-color: #eeeeee;
-}
-
-.even {
-    background-color: #fafafa;
-}
-
-.exectime {
-    font-size: 0.8em;
-    font-style: italic;
-}
-
-#table_assigned_vars th {
-    color: blue;
-}
-
-#table_config_vars th {
-    color: maroon;
-}
-{/literal}
-</style>
-</head>
-<body>
-
-<h1>Smarty Debug Console  -  Total Time {$execution_time|string_format:"%.5f"}</h1>
-
-<h2>included templates & config files (load time in seconds)</h2>
-
-<div>
-{foreach $template_data as $template}
-  <font color=brown>{$template.name}</font>
-  <span class="exectime">
-   (compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"})
-  </span>
-  <br>
-{/foreach}
-</div>
-
-<h2>assigned template variables</h2>
-
-<table id="table_assigned_vars">
-    {foreach $assigned_vars as $vars}
-       <tr class="{if $vars at iteration % 2 eq 0}odd{else}even{/if}">   
-       <th>${$vars at key|escape:'html'}</th>
-       <td>{$vars|debug_print_var}</td></tr>
-    {/foreach}
-</table>
-
-<h2>assigned config file variables (outer template scope)</h2>
-
-<table id="table_config_vars">
-    {foreach $config_vars as $vars}
-       <tr class="{if $vars at iteration % 2 eq 0}odd{else}even{/if}">   
-       <th>{$vars at key|escape:'html'}</th>
-       <td>{$vars|debug_print_var}</td></tr>
-    {/foreach}
-
-</table>
-</body>
-</html>
-{/capture}
-<script type="text/javascript">
-{literal}    if ( self.name == '' ) {
-       var title = 'Console';
-      }
-    else {
-       var title = 'Console_' + self.name;
-      }{/literal}
-    _smarty_console = window.open("",title.value,"width=680,height=600,resizable,scrollbars=yes");
-    _smarty_console.document.write("{$debug_output|escape:'javascript'}");
-    _smarty_console.document.close();
-</script>
diff --git a/gosa-core/include/smarty/plugins/block.php.php b/gosa-core/include/smarty/plugins/block.php.php
deleted file mode 100644
index d1de740..0000000
--- a/gosa-core/include/smarty/plugins/block.php.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/**
-* Smarty plugin to execute PHP code
-* 
-* @package Smarty
-* @subpackage PluginsBlock
-* @author Uwe Tews 
-*/
-
-/**
-* Smarty {php}{/php} block plugin
-* 
-* @param string $content contents of the block
-* @param object $smarty Smarty object
-* @param boolean $ &$repeat repeat flag
-* @param object $template template object
-* @return string content re-formatted
-*/
-function smarty_block_php($params, $content, $smarty, &$repeat, $template)
-{ 
-    if (!$smarty->allow_php_tag) {
-        throw new Exception("{php} is deprecated, set allow_php_tag = true to enable");
-    } 
-    eval($content);
-    return '';
-}
-?>
diff --git a/gosa-core/include/smarty/plugins/block.render.php b/gosa-core/include/smarty/plugins/block.render.php
index 83a8fea..47e9a82 100644
--- a/gosa-core/include/smarty/plugins/block.render.php
+++ b/gosa-core/include/smarty/plugins/block.render.php
@@ -14,7 +14,7 @@ function smarty_block_render($params, $text, &$smarty)
 	}
 
 	/* Debug output */
-	if (session::is_set('DEBUGLEVEL') && session::get('DEBUGLEVEL') & DEBUG_ACL ){
+	if (session::is_set('debugLevel') && session::get('debugLevel') & DEBUG_ACL ){
 		echo "<font color='blue' size='2'> ".$acl."</font>";
 	}
 
@@ -72,7 +72,7 @@ function smarty_block_render($params, $text, &$smarty)
 	/* Disable objects, but keep those active that have mode=read_active */
 	if(!(isset($params['mode']) && ($params['mode']=='read_active') && preg_match("/(r|w)/",$acl))){
 
-		/* Disable options && greyout divlists */
+		/* Disable options && greyout lists */
 		$from 	= array("/class=['\"]list1nohighlight['\"]/i",
 				"/class=['\"]list0['\"]/i",
 				"/class=['\"]list1['\"]/i",
diff --git a/gosa-core/include/smarty/plugins/block.textformat.php b/gosa-core/include/smarty/plugins/block.textformat.php
deleted file mode 100644
index f578bfb..0000000
--- a/gosa-core/include/smarty/plugins/block.textformat.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-/**
-* Smarty plugin to format text blocks
-*
-* @package Smarty
-* @subpackage PluginsBlock
-*/
-
-/**
-* Smarty {textformat}{/textformat} block plugin
-* 
-* Type:     block function<br>
-* Name:     textformat<br>
-* Purpose:  format text a certain way with preset styles
-*            or custom wrap/indent settings<br>
-* 
-* @link http://smarty.php.net/manual/en/language.function.textformat.php {textformat}
-       (Smarty online manual)
-* @param array $params parameters
-* <pre>
-* Params:   style: string (email)
-*            indent: integer (0)
-*            wrap: integer (80)
-*            wrap_char string ("\n")
-*            indent_char: string (" ")
-*            wrap_boundary: boolean (true)
-* </pre>
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param string $content contents of the block
-* @param object $smarty Smarty object
-* @param boolean &$repeat repeat flag
-* @param object $template template object
-* @return string content re-formatted
-*/
-function smarty_block_textformat($params, $content, $smarty, &$repeat, $template)
-{
-    if (is_null($content)) {
-        return;
-    } 
-
-    $style = null;
-    $indent = 0;
-    $indent_first = 0;
-    $indent_char = ' ';
-    $wrap = 80;
-    $wrap_char = "\n";
-    $wrap_cut = false;
-    $assign = null;
-
-    foreach ($params as $_key => $_val) {
-        switch ($_key) {
-            case 'style':
-            case 'indent_char':
-            case 'wrap_char':
-            case 'assign':
-                $$_key = (string)$_val;
-                break;
-
-            case 'indent':
-            case 'indent_first':
-            case 'wrap':
-                $$_key = (int)$_val;
-                break;
-
-            case 'wrap_cut':
-                $$_key = (bool)$_val;
-                break;
-
-            default:
-                $smarty->trigger_error("textformat: unknown attribute '$_key'");
-        } 
-    } 
-
-    if ($style == 'email') {
-        $wrap = 72;
-    } 
-    // split into paragraphs
-    $_paragraphs = preg_split('![\r\n][\r\n]!', $content);
-    $_output = '';
-
-    for($_x = 0, $_y = count($_paragraphs); $_x < $_y; $_x++) {
-        if ($_paragraphs[$_x] == '') {
-            continue;
-        } 
-        // convert mult. spaces & special chars to single space
-        $_paragraphs[$_x] = preg_replace(array('!\s+!', '!(^\s+)|(\s+$)!'), array(' ', ''), $_paragraphs[$_x]); 
-        // indent first line
-        if ($indent_first > 0) {
-            $_paragraphs[$_x] = str_repeat($indent_char, $indent_first) . $_paragraphs[$_x];
-        } 
-        // wordwrap sentences
-        $_paragraphs[$_x] = wordwrap($_paragraphs[$_x], $wrap - $indent, $wrap_char, $wrap_cut); 
-        // indent lines
-        if ($indent > 0) {
-            $_paragraphs[$_x] = preg_replace('!^!m', str_repeat($indent_char, $indent), $_paragraphs[$_x]);
-        } 
-    } 
-    $_output = implode($wrap_char . $wrap_char, $_paragraphs);
-    
-    return $assign ? $template->assign($assign, $_output) : $_output;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/function.counter.php b/gosa-core/include/smarty/plugins/function.counter.php
deleted file mode 100644
index 88e49d8..0000000
--- a/gosa-core/include/smarty/plugins/function.counter.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsFunction
- */
-
-
-/**
- * Smarty {counter} function plugin
- *
- * Type:     function<br>
- * Name:     counter<br>
- * Purpose:  print out a counter value
- * @author Monte Ohrt <monte at ohrt dot com>
- * @link http://smarty.php.net/manual/en/language.function.counter.php {counter}
- *       (Smarty online manual)
- * @param array $params parameters
- * @param object $smarty Smarty object
- * @param object $template template object
- * @return string|null
- */
-function smarty_function_counter($params, $smarty, $template)
-{
-
-    $name = (isset($params['name'])) ? $params['name'] : 'default';
-    if (!isset($template->plugin_data['counter'][$name])) {
-        $template->plugin_data['counter'][$name] = array(
-            'start'=>1,
-            'skip'=>1,
-            'direction'=>'up',
-            'count'=>1
-            );
-    }
-    $counter = &$template->plugin_data['counter'][$name];
-
-    if (isset($params['start'])) {
-        $counter['start'] = $counter['count'] = (int)$params['start'];
-    }
-
-    if (!empty($params['assign'])) {
-        $counter['assign'] = $params['assign'];
-    }
-
-    if (isset($counter['assign'])) {
-        $template->assign($counter['assign'], $counter['count']);
-    }
-    
-    if (isset($params['print'])) {
-        $print = (bool)$params['print'];
-    } else {
-        $print = empty($counter['assign']);
-    }
-
-    if ($print) {
-        $retval = $counter['count'];
-    } else {
-        $retval = null;
-    }
-
-    if (isset($params['skip'])) {
-        $counter['skip'] = $params['skip'];
-    }
-    
-    if (isset($params['direction'])) {
-        $counter['direction'] = $params['direction'];
-    }
-
-    if ($counter['direction'] == "down")
-        $counter['count'] -= $counter['skip'];
-    else
-        $counter['count'] += $counter['skip'];
-    
-    return $retval;
-    
-}
-
-?>
diff --git a/gosa-core/include/smarty/plugins/function.cycle.php b/gosa-core/include/smarty/plugins/function.cycle.php
deleted file mode 100644
index f1cb46b..0000000
--- a/gosa-core/include/smarty/plugins/function.cycle.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsFunction
- */
-
-/**
- * Smarty {cycle} function plugin
- *
- * Type:     function<br>
- * Name:     cycle<br>
- * Date:     May 3, 2002<br>
- * Purpose:  cycle through given values<br>
- *
- * Examples:<br>
- * <pre>
- * {cycle values="#eeeeee,#d0d0d0d"}
- * {cycle name=row values="one,two,three" reset=true}
- * {cycle name=row}
- * </pre>
- * @link http://smarty.php.net/manual/en/language.function.cycle.php {cycle}
- *       (Smarty online manual)
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author credit to Mark Priatel <mpriatel at rogers.com>
- * @author credit to Gerard <gerard at interfold.com>
- * @author credit to Jason Sweat <jsweat_php at yahoo.com>
- * @param array $params parameters
- * Input:
- *         - name = name of cycle (optional)
- *         - values = comma separated list of values to cycle,
- *                    or an array of values to cycle
- *                    (this can be left out for subsequent calls)
- *         - reset = boolean - resets given var to true
- *         - print = boolean - print var or not. default is true
- *         - advance = boolean - whether or not to advance the cycle
- *         - delimiter = the value delimiter, default is ","
- *         - assign = boolean, assigns to template var instead of
- *                    printed.
- * @param object $smarty Smarty object
- * @param object $template template object
- * @return string|null
- */
-function smarty_function_cycle($params, $smarty, $template)
-{
-    $name = (empty($params['name'])) ? 'default' : $params['name'];
-    $print = (isset($params['print'])) ? (bool)$params['print'] : true;
-    $advance = (isset($params['advance'])) ? (bool)$params['advance'] : true;
-    $reset = (isset($params['reset'])) ? (bool)$params['reset'] : false;
-            
-    if (!in_array('values', array_keys($params))) {
-        if(!isset($template->plugin_data['cycle'][$name]['values'])) {
-            trigger_error("cycle: missing 'values' parameter",E_USER_WARNING);
-            return;
-        }
-    } else {
-        if(isset($template->plugin_data['cycle'][$name]['values'])
-            && $template->plugin_data['cycle'][$name]['values'] != $params['values'] ) {
-            $template->plugin_data['cycle'][$name]['index'] = 0;
-        }
-        $template->plugin_data['cycle'][$name]['values'] = $params['values'];
-    }
-
-    if (isset($params['delimiter'])) {
-      $template->plugin_data['cycle'][$name]['delimiter'] = $params['delimiter'];
-    } elseif (!isset($template->plugin_data['cycle'][$name]['delimiter'])) {
-      $template->plugin_data['cycle'][$name]['delimiter'] = ',';
-    }
-    
-    if(is_array($template->plugin_data['cycle'][$name]['values'])) {
-        $cycle_array = $template->plugin_data['cycle'][$name]['values'];
-    } else {
-        $cycle_array = explode($template->plugin_data['cycle'][$name]['delimiter'],$template->plugin_data['cycle'][$name]['values']);
-    }
-    
-    if(!isset($template->plugin_data['cycle'][$name]['index']) || $reset ) {
-        $template->plugin_data['cycle'][$name]['index'] = 0;
-    }
-    
-    if (isset($params['assign'])) {
-        $print = false;
-        $template->assign($params['assign'], $cycle_array[$template->plugin_data['cycle'][$name]['index']]);
-    }
-        
-    if($print) {
-        $retval = $cycle_array[$template->plugin_data['cycle'][$name]['index']];
-    } else {
-        $retval = null;
-    }
-
-    if($advance) {
-        if ( $template->plugin_data['cycle'][$name]['index'] >= count($cycle_array) -1 ) {
-            $template->plugin_data['cycle'][$name]['index'] = 0;
-        } else {
-            $template->plugin_data['cycle'][$name]['index']++;
-        }
-    }
-    
-    return $retval;
-}
-?>
diff --git a/gosa-core/include/smarty/plugins/function.factory.php b/gosa-core/include/smarty/plugins/function.factory.php
new file mode 100644
index 0000000..10b15ff
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.factory.php
@@ -0,0 +1,37 @@
+<?php
+
+function smarty_function_factory($params, &$smarty)
+{
+
+    // Capture params
+    foreach(array('type','id','name','title','value','maxlength',
+                'onfocus','onclick','onkeyup') as $var){
+        $$var = (isset($params[$var]))? $params[$var] : "";
+        $tmp  = "{$var}Ready";
+        $$tmp = (isset($params[$var]))? "{$var}=\"{$params[$var]}\"" : "";
+    }
+
+    $disabled = (isset($params['disabled']))? 'disabled' : "";
+
+
+    $str = "";
+    switch($type){
+
+        // Generate a password input field, with CapsLock detection.
+        case 'password' :
+
+            // Maxlength has a default of 40 characters
+            $maxlengthReady = (empty($maxlength))?'maxlength="40"': $maxlengthReady; 
+            $str .= "<input {$nameReady} {$idReady} {$valueReady} {$maxlengthReady}
+            {$titleReady} {$onfocusReady} {$onkeyupReady} {$disabled} type='password'
+            onkeypress=\"
+                if (capslock(event)){
+                    $('{$id}').style.backgroundImage='url(images/caps.png)'
+                } else {
+                    $('{$id}').style.backgroundImage= ''
+                }\">";
+    }
+    return($str);
+}
+  
+?>
diff --git a/gosa-core/include/smarty/plugins/function.fetch.php b/gosa-core/include/smarty/plugins/function.fetch.php
deleted file mode 100644
index 391ff1b..0000000
--- a/gosa-core/include/smarty/plugins/function.fetch.php
+++ /dev/null
@@ -1,217 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsFunction
- */
-
-
-/**
- * Smarty {fetch} plugin
- *
- * Type:     function<br>
- * Name:     fetch<br>
- * Purpose:  fetch file, web or ftp data and display results
- * @link http://smarty.php.net/manual/en/language.function.fetch.php {fetch}
- *       (Smarty online manual)
- * @author Monte Ohrt <monte at ohrt dot com>
- * @param array $params parameters
- * @param object $smarty Smarty object
- * @param object $template template object
- * @return string|null if the assign parameter is passed, Smarty assigns the
- *                     result to a template variable
- */
-function smarty_function_fetch($params, $smarty, $template)
-{
-    if (empty($params['file'])) {
-        trigger_error("[plugin] fetch parameter 'file' cannot be empty",E_USER_NOTICE);
-        return;
-    }
-
-    $content = '';
-    if ($template->security && !preg_match('!^(http|ftp)://!i', $params['file'])) {
-        if(!$smarty->security_handler->isTrustedResourceDir($params['file'])) {
-            return;
-        }
-        
-        // fetch the file
-        if($fp = @fopen($params['file'],'r')) {
-            while(!feof($fp)) {
-                $content .= fgets ($fp,4096);
-            }
-            fclose($fp);
-        } else {
-            trigger_error('[plugin] fetch cannot read file \'' . $params['file'] . '\'',E_USER_NOTICE);
-            return;
-        }
-    } else {
-        // not a local file
-        if(preg_match('!^http://!i',$params['file'])) {
-            // http fetch
-            if($uri_parts = parse_url($params['file'])) {
-                // set defaults
-                $host = $server_name = $uri_parts['host'];
-                $timeout = 30;
-                $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*";
-                $agent = "Smarty Template Engine ".$smarty->_version;
-                $referer = "";
-                $uri = !empty($uri_parts['path']) ? $uri_parts['path'] : '/';
-                $uri .= !empty($uri_parts['query']) ? '?' . $uri_parts['query'] : '';
-                $_is_proxy = false;
-                if(empty($uri_parts['port'])) {
-                    $port = 80;
-                } else {
-                    $port = $uri_parts['port'];
-                }
-                if(!empty($uri_parts['user'])) {
-                    $user = $uri_parts['user'];
-                }
-                if(!empty($uri_parts['pass'])) {
-                    $pass = $uri_parts['pass'];
-                }
-                // loop through parameters, setup headers
-                foreach($params as $param_key => $param_value) {
-                    switch($param_key) {
-                        case "file":
-                        case "assign":
-                        case "assign_headers":
-                            break;
-                        case "user":
-                            if(!empty($param_value)) {
-                                $user = $param_value;
-                            }
-                            break;
-                        case "pass":
-                            if(!empty($param_value)) {
-                                $pass = $param_value;
-                            }
-                            break;
-                        case "accept":
-                            if(!empty($param_value)) {
-                                $accept = $param_value;
-                            }
-                            break;
-                        case "header":
-                            if(!empty($param_value)) {
-                                if(!preg_match('![\w\d-]+: .+!',$param_value)) {
-                                    trigger_error("[plugin] invalid header format '".$param_value."'",E_USER_NOTICE);
-                                    return;
-                                } else {
-                                    $extra_headers[] = $param_value;
-                                }
-                            }
-                            break;
-                        case "proxy_host":
-                            if(!empty($param_value)) {
-                                $proxy_host = $param_value;
-                            }
-                            break;
-                        case "proxy_port":
-                            if(!preg_match('!\D!', $param_value)) {
-                                $proxy_port = (int) $param_value;
-                            } else {
-                                trigger_error("[plugin] invalid value for attribute '".$param_key."'",E_USER_NOTICE);
-                                return;
-                            }
-                            break;
-                        case "agent":
-                            if(!empty($param_value)) {
-                                $agent = $param_value;
-                            }
-                            break;
-                        case "referer":
-                            if(!empty($param_value)) {
-                                $referer = $param_value;
-                            }
-                            break;
-                        case "timeout":
-                            if(!preg_match('!\D!', $param_value)) {
-                                $timeout = (int) $param_value;
-                            } else {
-                                trigger_error("[plugin] invalid value for attribute '".$param_key."'",E_USER_NOTICE);
-                                return;
-                            }
-                            break;
-                        default:
-                            trigger_error("[plugin] unrecognized attribute '".$param_key."'",E_USER_NOTICE);
-                            return;
-                    }
-                }
-                if(!empty($proxy_host) && !empty($proxy_port)) {
-                    $_is_proxy = true;
-                    $fp = fsockopen($proxy_host,$proxy_port,$errno,$errstr,$timeout);
-                } else {
-                    $fp = fsockopen($server_name,$port,$errno,$errstr,$timeout);
-                }
-
-                if(!$fp) {
-                    trigger_error("[plugin] unable to fetch: $errstr ($errno)",E_USER_NOTICE);
-                    return;
-                } else {
-                    if($_is_proxy) {
-                        fputs($fp, 'GET ' . $params['file'] . " HTTP/1.0\r\n");
-                    } else {
-                        fputs($fp, "GET $uri HTTP/1.0\r\n");
-                    }
-                    if(!empty($host)) {
-                        fputs($fp, "Host: $host\r\n");
-                    }
-                    if(!empty($accept)) {
-                        fputs($fp, "Accept: $accept\r\n");
-                    }
-                    if(!empty($agent)) {
-                        fputs($fp, "User-Agent: $agent\r\n");
-                    }
-                    if(!empty($referer)) {
-                        fputs($fp, "Referer: $referer\r\n");
-                    }
-                    if(isset($extra_headers) && is_array($extra_headers)) {
-                        foreach($extra_headers as $curr_header) {
-                            fputs($fp, $curr_header."\r\n");
-                        }
-                    }
-                    if(!empty($user) && !empty($pass)) {
-                        fputs($fp, "Authorization: BASIC ".base64_encode("$user:$pass")."\r\n");
-                    }
-
-                    fputs($fp, "\r\n");
-                    while(!feof($fp)) {
-                        $content .= fgets($fp,4096);
-                    }
-                    fclose($fp);
-                    $csplit = preg_split("!\r\n\r\n!",$content,2);
-
-                    $content = $csplit[1];
-
-                    if(!empty($params['assign_headers'])) {
-                        $template->assign($params['assign_headers'],preg_split("!\r\n!",$csplit[0]));
-                    }
-                }
-            } else {
-                trigger_error("[plugin fetch] unable to parse URL, check syntax",E_USER_NOTICE);
-                return;
-            }
-        } else {
-            // ftp fetch
-            if($fp = @fopen($params['file'],'r')) {
-                while(!feof($fp)) {
-                    $content .= fgets ($fp,4096);
-                }
-                fclose($fp);
-            } else {
-                trigger_error('[plugin] fetch cannot read file \'' . $params['file'] .'\'',E_USER_NOTICE);
-                return;
-            }
-        }
-
-    }
-
-
-    if (!empty($params['assign'])) {
-        $template->assign($params['assign'],$content);
-    } else {
-        return $content;
-    }
-}
-
-?>
diff --git a/gosa-core/include/smarty/plugins/function.html_checkboxes.php b/gosa-core/include/smarty/plugins/function.html_checkboxes.php
deleted file mode 100644
index ac72f3f..0000000
--- a/gosa-core/include/smarty/plugins/function.html_checkboxes.php
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsFunction
- */
-
-
-/**
- * Smarty {html_checkboxes} function plugin
- *
- * File:       function.html_checkboxes.php<br>
- * Type:       function<br>
- * Name:       html_checkboxes<br>
- * Date:       24.Feb.2003<br>
- * Purpose:    Prints out a list of checkbox input types<br>
- * Examples:
- * <pre>
- * {html_checkboxes values=$ids output=$names}
- * {html_checkboxes values=$ids name='box' separator='<br>' output=$names}
- * {html_checkboxes values=$ids checked=$checked separator='<br>' output=$names}
- * </pre>
- * @link http://smarty.php.net/manual/en/language.function.html.checkboxes.php {html_checkboxes}
- *      (Smarty online manual)
- * @author     Christopher Kvarme <christopher.kvarme at flashjab.com>
- * @author credits to Monte Ohrt <monte at ohrt dot com>
- * @version    1.0
- * @param array $params parameters
- * Input:<br>
- *           - name       (optional) - string default "checkbox"
- *           - values     (required) - array
- *           - options    (optional) - associative array
- *           - checked    (optional) - array default not set
- *           - separator  (optional) - ie <br> or  
- *           - output     (optional) - the output next to each checkbox
- *           - assign     (optional) - assign the output as an array to this variable
- * @param object $smarty Smarty object
- * @param object $template template object
- * @return string
- * @uses smarty_function_escape_special_chars()
- */
-function smarty_function_html_checkboxes($params, $smarty, $template)
-{
-    require_once(SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php');
-    //$smarty->loadPlugin('Smarty_shared_escape_special_chars');
-
-    $name = 'checkbox';
-    $values = null;
-    $options = null;
-    $selected = null;
-    $separator = '';
-    $labels = true;
-    $output = null;
-
-    $extra = '';
-
-    foreach($params as $_key => $_val) {
-        switch($_key) {
-            case 'name':
-            case 'separator':
-                $$_key = $_val;
-                break;
-
-            case 'labels':
-                $$_key = (bool)$_val;
-                break;
-
-            case 'options':
-                $$_key = (array)$_val;
-                break;
-
-            case 'values':
-            case 'output':
-                $$_key = array_values((array)$_val);
-                break;
-
-            case 'checked':
-            case 'selected':
-                $selected = array_map('strval', array_values((array)$_val));
-                break;
-
-            case 'checkboxes':
-                trigger_error('html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead', E_USER_WARNING);
-                $options = (array)$_val;
-                break;
-
-            case 'assign':
-                break;
-
-            default:
-                if(!is_array($_val)) {
-                    $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"';
-                } else {
-                    trigger_error("html_checkboxes: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
-                }
-                break;
-        }
-    }
-
-    if (!isset($options) && !isset($values))
-        return ''; /* raise error here? */
-
-    settype($selected, 'array');
-    $_html_result = array();
-
-    if (isset($options)) {
-
-        foreach ($options as $_key=>$_val)
-            $_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels);
-
-
-    } else {
-        foreach ($values as $_i=>$_key) {
-            $_val = isset($output[$_i]) ? $output[$_i] : '';
-            $_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels);
-        }
-
-    }
-
-    if(!empty($params['assign'])) {
-        $template->assign($params['assign'], $_html_result);
-    } else {
-        return implode("\n",$_html_result);
-    }
-
-}
-
-function smarty_function_html_checkboxes_output($name, $value, $output, $selected, $extra, $separator, $labels) {
-    $_output = '';
-    if ($labels) $_output .= '<label>';
-    $_output .= '<input type="checkbox" name="'
-        . smarty_function_escape_special_chars($name) . '[]" value="'
-        . smarty_function_escape_special_chars($value) . '"';
-
-    if (in_array((string)$value, $selected)) {
-        $_output .= ' checked="checked"';
-    }
-    $_output .= $extra . ' />' . $output;
-    if ($labels) $_output .= '</label>';
-    $_output .=  $separator;
-
-    return $_output;
-}
-
-?>
diff --git a/gosa-core/include/smarty/plugins/function.html_image.php b/gosa-core/include/smarty/plugins/function.html_image.php
deleted file mode 100644
index 3f031dc..0000000
--- a/gosa-core/include/smarty/plugins/function.html_image.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsFunction
-*/
-
-/**
-* Smarty {html_image} function plugin
-* 
-* Type:     function<br>
-* Name:     html_image<br>
-* Date:     Feb 24, 2003<br>
-* Purpose:  format HTML tags for the image<br>
-* Examples: {html_image file="/images/masthead.gif"}
-* Output:   <img src="/images/masthead.gif" width=400 height=23>
-* 
-* @link http://smarty.php.net/manual/en/language.function.html.image.php {html_image}
-      (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @author credits to Duda <duda at big.hu> 
-* @version 1.0
-* @param array $params parameters
-* Input:<br>
-*          - file = file (and path) of image (required)
-*          - height = image height (optional, default actual height)
-*          - width = image width (optional, default actual width)
-*          - basedir = base directory for absolute paths, default
-*                      is environment variable DOCUMENT_ROOT
-*          - path_prefix = prefix for path output (optional, default empty)
-* @param object $smarty Smarty object
-* @param object $template template object
-* @return string 
-* @uses smarty_function_escape_special_chars()
-*/
-function smarty_function_html_image($params, $smarty, $template)
-{
-    require_once(SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php');
-    //$smarty->loadPlugin('Smarty_shared_escape_special_chars');
-
-    $alt = '';
-    $file = '';
-    $height = '';
-    $width = '';
-    $extra = '';
-    $prefix = '';
-    $suffix = '';
-    $path_prefix = '';
-    $server_vars = ($smarty->request_use_auto_globals) ? $_SERVER : $GLOBALS['HTTP_SERVER_VARS'];
-    $basedir = isset($server_vars['DOCUMENT_ROOT']) ? $server_vars['DOCUMENT_ROOT'] : '';
-    foreach($params as $_key => $_val) {
-        switch ($_key) {
-            case 'file':
-            case 'height':
-            case 'width':
-            case 'dpi':
-            case 'path_prefix':
-            case 'basedir':
-                $$_key = $_val;
-                break;
-
-            case 'alt':
-                if (!is_array($_val)) {
-                    $$_key = smarty_function_escape_special_chars($_val);
-                } else {
-                    throw new Exception ("html_image: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
-                } 
-                break;
-
-            case 'link':
-            case 'href':
-                $prefix = '<a href="' . $_val . '">';
-                $suffix = '</a>';
-                break;
-
-            default:
-                if (!is_array($_val)) {
-                    $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
-                } else {
-                    throw new Exception ("html_image: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
-                } 
-                break;
-        } 
-    } 
-
-    if (empty($file)) {
-        trigger_error("html_image: missing 'file' parameter", E_USER_NOTICE);
-        return;
-    } 
-
-    if (substr($file, 0, 1) == '/') {
-        $_image_path = $basedir . $file;
-    } else {
-        $_image_path = $file;
-    } 
-
-    if (!isset($params['width']) || !isset($params['height'])) {
-        if (!$_image_data = @getimagesize($_image_path)) {
-            if (!file_exists($_image_path)) {
-                trigger_error("html_image: unable to find '$_image_path'", E_USER_NOTICE);
-                return;
-            } else if (!is_readable($_image_path)) {
-                trigger_error("html_image: unable to read '$_image_path'", E_USER_NOTICE);
-                return;
-            } else {
-                trigger_error("html_image: '$_image_path' is not a valid image file", E_USER_NOTICE);
-                return;
-            } 
-        } 
-        if ($template->security) {
-            if (!$smarty->security_handler->isTrustedResourceDir($_image_path)) {
-                return;
-            } 
-        } 
-
-        if (!isset($params['width'])) {
-            $width = $_image_data[0];
-        } 
-        if (!isset($params['height'])) {
-            $height = $_image_data[1];
-        } 
-    } 
-
-    if (isset($params['dpi'])) {
-        if (strstr($server_vars['HTTP_USER_AGENT'], 'Mac')) {
-            $dpi_default = 72;
-        } else {
-            $dpi_default = 96;
-        } 
-        $_resize = $dpi_default / $params['dpi'];
-        $width = round($width * $_resize);
-        $height = round($height * $_resize);
-    } 
-
-    return $prefix . '<img src="' . $path_prefix . $file . '" alt="' . $alt . '" width="' . $width . '" height="' . $height . '"' . $extra . ' />' . $suffix;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/function.html_options.php b/gosa-core/include/smarty/plugins/function.html_options.php
deleted file mode 100644
index 69f56e8..0000000
--- a/gosa-core/include/smarty/plugins/function.html_options.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsFunction
-*/
-
-/**
-* Smarty {html_options} function plugin
-* 
-* Type:     function<br>
-* Name:     html_options<br>
-* Purpose:  Prints the list of <option> tags generated from
-*            the passed parameters
-* 
-* @link http://smarty.php.net/manual/en/language.function.html.options.php {html_image}
-      (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param array $params parameters
-* Input:<br>
-*            - name       (optional) - string default "select"
-*            - values     (required if no options supplied) - array
-*            - options    (required if no values supplied) - associative array
-*            - selected   (optional) - string default not set
-*            - output     (required if not options supplied) - array
-* @param object $smarty Smarty object
-* @param object $template template object
-* @return string 
-* @uses smarty_function_escape_special_chars()
-*/
-
-function smarty_function_html_options($params, $smarty, $template)
-{
-    require_once(SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php');
-    //$smarty->loadPlugin('Smarty_shared_escape_special_chars');
-
-    $name = null;
-    $values = null;
-    $options = null;
-    $selected = array();
-    $output = null;
-
-    $extra = '';
-
-    foreach($params as $_key => $_val) {
-        switch ($_key) {
-            case 'name':
-                $$_key = (string)$_val;
-                break;
-
-            case 'options':
-                $$_key = (array)$_val;
-                break;
-
-            case 'values':
-            case 'output':
-                $$_key = array_values((array)$_val);
-                break;
-
-            case 'selected':
-                $$_key = array_map('strval', array_values((array)$_val));
-                break;
-
-            default:
-                if (!is_array($_val)) {
-                    $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
-                } else {
-                    trigger_error("html_options: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
-                } 
-                break;
-        } 
-    } 
-
-    if (!isset($options) && !isset($values))
-        return '';
-    /* raise error here? */
-
-    $_html_result = '';
-
-    if (isset($options)) {
-        foreach ($options as $_key => $_val)
-        $_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected);
-    } else {
-        foreach ($values as $_i => $_key) {
-            $_val = isset($output[$_i]) ? $output[$_i] : '';
-            $_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected);
-        } 
-    } 
-
-    if (!empty($name)) {
-        $_html_result = '<select name="' . $name . '"' . $extra . '>' . "\n" . $_html_result . '</select>' . "\n";
-    } 
-
-    return $_html_result;
-} 
-
-function smarty_function_html_options_optoutput($key, $value, $selected)
-{
-    if (!is_array($value)) {
-        $_html_result = '<option label="' . smarty_function_escape_special_chars($value) . '" value="' .
-        smarty_function_escape_special_chars($key) . '"';
-        if (in_array((string)$key, $selected))
-            $_html_result .= ' selected="selected"';
-        $_html_result .= '>' . smarty_function_escape_special_chars($value) . '</option>' . "\n";
-    } else {
-        $_html_result = smarty_function_html_options_optgroup($key, $value, $selected);
-    } 
-    return $_html_result;
-} 
-
-function smarty_function_html_options_optgroup($key, $values, $selected)
-{
-    $optgroup_html = '<optgroup label="' . smarty_function_escape_special_chars($key) . '">' . "\n";
-    foreach ($values as $key => $value) {
-        $optgroup_html .= smarty_function_html_options_optoutput($key, $value, $selected);
-    } 
-    $optgroup_html .= "</optgroup>\n";
-    return $optgroup_html;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/function.html_radios.php b/gosa-core/include/smarty/plugins/function.html_radios.php
deleted file mode 100644
index c7f72bf..0000000
--- a/gosa-core/include/smarty/plugins/function.html_radios.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsFunction
-*/
-
-/**
-* Smarty {html_radios} function plugin
-* 
-* File:       function.html_radios.php<br>
-* Type:       function<br>
-* Name:       html_radios<br>
-* Date:       24.Feb.2003<br>
-* Purpose:    Prints out a list of radio input types<br>
-* Examples:
-* <pre>
-* {html_radios values=$ids output=$names}
-* {html_radios values=$ids name='box' separator='<br>' output=$names}
-* {html_radios values=$ids checked=$checked separator='<br>' output=$names}
-* </pre>
-* 
-* @link http://smarty.php.net/manual/en/language.function.html.radios.php {html_radios}
-      (Smarty online manual)
-* @author Christopher Kvarme <christopher.kvarme at flashjab.com> 
-* @author credits to Monte Ohrt <monte at ohrt dot com> 
-* @version 1.0
-* @param array $params parameters
-* Input:<br>
-*            - name       (optional) - string default "radio"
-*            - values     (required) - array
-*            - options    (optional) - associative array
-*            - checked    (optional) - array default not set
-*            - separator  (optional) - ie <br> or  
-*            - output     (optional) - the output next to each radio button
-*            - assign     (optional) - assign the output as an array to this variable
-* @param object $smarty Smarty object
-* @param object $template template object
-* @return string 
-* @uses smarty_function_escape_special_chars()
-*/
-function smarty_function_html_radios($params, $smarty, $template)
-{
-    require_once(SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php');
-    //$smarty->loadPlugin('Smarty_shared_escape_special_chars');
-
-    $name = 'radio';
-    $values = null;
-    $options = null;
-    $selected = null;
-    $separator = '';
-    $labels = true;
-    $label_ids = false;
-    $output = null;
-    $extra = '';
-
-    foreach($params as $_key => $_val) {
-        switch ($_key) {
-            case 'name':
-            case 'separator':
-                $$_key = (string)$_val;
-                break;
-
-            case 'checked':
-            case 'selected':
-                if (is_array($_val)) {
-                    trigger_error('html_radios: the "' . $_key . '" attribute cannot be an array', E_USER_WARNING);
-                } else {
-                    $selected = (string)$_val;
-                } 
-                break;
-
-            case 'labels':
-            case 'label_ids':
-                $$_key = (bool)$_val;
-                break;
-
-            case 'options':
-                $$_key = (array)$_val;
-                break;
-
-            case 'values':
-            case 'output':
-                $$_key = array_values((array)$_val);
-                break;
-
-            case 'radios':
-                trigger_error('html_radios: the use of the "radios" attribute is deprecated, use "options" instead', E_USER_WARNING);
-                $options = (array)$_val;
-                break;
-
-            case 'assign':
-                break;
-
-            default:
-                if (!is_array($_val)) {
-                    $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
-                } else {
-                    trigger_error("html_radios: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
-                } 
-                break;
-        } 
-    } 
-
-    if (!isset($options) && !isset($values))
-        return '';
-    /* raise error here? */
-
-    $_html_result = array();
-
-    if (isset($options)) {
-        foreach ($options as $_key => $_val)
-        $_html_result[] = smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids);
-    } else {
-        foreach ($values as $_i => $_key) {
-            $_val = isset($output[$_i]) ? $output[$_i] : '';
-            $_html_result[] = smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids);
-        } 
-    } 
-
-    if (!empty($params['assign'])) {
-        $template->assign($params['assign'], $_html_result);
-    } else {
-        return implode("\n", $_html_result);
-    } 
-} 
-
-function smarty_function_html_radios_output($name, $value, $output, $selected, $extra, $separator, $labels, $label_ids)
-{
-    $_output = '';
-    if ($labels) {
-        if ($label_ids) {
-            $_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!', '_', $name . '_' . $value));
-            $_output .= '<label for="' . $_id . '">';
-        } else {
-            $_output .= '<label>';
-        } 
-    } 
-    $_output .= '<input type="radio" name="'
-     . smarty_function_escape_special_chars($name) . '" value="'
-     . smarty_function_escape_special_chars($value) . '"';
-
-    if ($labels && $label_ids) $_output .= ' id="' . $_id . '"';
-
-    if ((string)$value == $selected) {
-        $_output .= ' checked="checked"';
-    } 
-    $_output .= $extra . ' />' . $output;
-    if ($labels) $_output .= '</label>';
-    $_output .= $separator;
-
-    return $_output;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/function.html_select_date.php b/gosa-core/include/smarty/plugins/function.html_select_date.php
deleted file mode 100644
index 7001f88..0000000
--- a/gosa-core/include/smarty/plugins/function.html_select_date.php
+++ /dev/null
@@ -1,333 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsFunction
-*/
-
-/**
-* Smarty {html_select_date} plugin
-* 
-* Type:     function<br>
-* Name:     html_select_date<br>
-* Purpose:  Prints the dropdowns for date selection.
-* 
-* ChangeLog:<br>
-*            - 1.0 initial release
-*            - 1.1 added support for +/- N syntax for begin
-*                 and end year values. (Monte)
-*            - 1.2 added support for yyyy-mm-dd syntax for
-*                 time value. (Jan Rosier)
-*            - 1.3 added support for choosing format for
-*                 month values (Gary Loescher)
-*            - 1.3.1 added support for choosing format for
-*                 day values (Marcus Bointon)
-*            - 1.3.2 support negative timestamps, force year
-*              dropdown to include given date unless explicitly set (Monte)
-*            - 1.3.4 fix behaviour of 0000-00-00 00:00:00 dates to match that
-*              of 0000-00-00 dates (cybot, boots)
-* 
-* @link http://smarty.php.net/manual/en/language.function.html.select.date.php {html_select_date}
-      (Smarty online manual)
-* @version 1.3.4
-* @author Andrei Zmievski 
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param array $params parameters
-* @param object $smarty Smarty object
-* @param object $template template object
-* @return string 
-*/
-function smarty_function_html_select_date($params, $smarty, $template)
-{
-    require_once(SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php');
-    require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
-    require_once(SMARTY_PLUGINS_DIR . 'function.html_options.php');
-    //$smarty->loadPlugin('Smarty_shared_escape_special_chars');
-    //$smarty->loadPlugin('Smarty_shared_make_timestamp');
-    //$smarty->loadPlugin('Smarty_function_html_options');
-
-    /* Default values. */
-    $prefix = "Date_";
-    $start_year = strftime("%Y");
-    $end_year = $start_year;
-    $display_days = true;
-    $display_months = true;
-    $display_years = true;
-    $month_format = "%B";
-    /* Write months as numbers by default  GL */
-    $month_value_format = "%m";
-    $day_format = "%02d";
-    /* Write day values using this format MB */
-    $day_value_format = "%d";
-    $year_as_text = false;
-    /* Display years in reverse order? Ie. 2000,1999,.... */
-    $reverse_years = false;
-    /* Should the select boxes be part of an array when returned from PHP?
-       e.g. setting it to "birthday", would create "birthday[Day]",
-       "birthday[Month]" & "birthday[Year]". Can be combined with prefix */
-    $field_array = null;
-    /* <select size>'s of the different <select> tags.
-       If not set, uses default dropdown. */
-    $day_size = null;
-    $month_size = null;
-    $year_size = null;
-    /* Unparsed attributes common to *ALL* the <select>/<input> tags.
-       An example might be in the template: all_extra ='class ="foo"'. */
-    $all_extra = null;
-    /* Separate attributes for the tags. */
-    $day_extra = null;
-    $month_extra = null;
-    $year_extra = null;
-    /* Order in which to display the fields.
-       "D" -> day, "M" -> month, "Y" -> year. */
-    $field_order = 'MDY';
-    /* String printed between the different fields. */
-    $field_separator = "\n";
-    $time = time();
-    $all_empty = null;
-    $day_empty = null;
-    $month_empty = null;
-    $year_empty = null;
-    $extra_attrs = '';
-
-    foreach ($params as $_key => $_value) {
-        switch ($_key) {
-            case 'prefix':
-            case 'time':
-            case 'start_year':
-            case 'end_year':
-            case 'month_format':
-            case 'day_format':
-            case 'day_value_format':
-            case 'field_array':
-            case 'day_size':
-            case 'month_size':
-            case 'year_size':
-            case 'all_extra':
-            case 'day_extra':
-            case 'month_extra':
-            case 'year_extra':
-            case 'field_order':
-            case 'field_separator':
-            case 'month_value_format':
-            case 'month_empty':
-            case 'day_empty':
-            case 'year_empty':
-                $$_key = (string)$_value;
-                break;
-
-            case 'all_empty':
-                $$_key = (string)$_value;
-                $day_empty = $month_empty = $year_empty = $all_empty;
-                break;
-
-            case 'display_days':
-            case 'display_months':
-            case 'display_years':
-            case 'year_as_text':
-            case 'reverse_years':
-                $$_key = (bool)$_value;
-                break;
-
-            default:
-                if (!is_array($_value)) {
-                    $extra_attrs .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_value) . '"';
-                } else {
-                    trigger_error("html_select_date: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
-                } 
-                break;
-        } 
-    } 
-
-    if (preg_match('!^-\d+$!', $time)) {
-        // negative timestamp, use date()
-        $time = date('Y-m-d', $time);
-    } 
-    // If $time is not in format yyyy-mm-dd
-    if (preg_match('/^(\d{0,4}-\d{0,2}-\d{0,2})/', $time, $found)) {
-        $time = $found[1];
-    } else {
-        // use smarty_make_timestamp to get an unix timestamp and
-        // strftime to make yyyy-mm-dd
-        $time = strftime('%Y-%m-%d', smarty_make_timestamp($time));
-    } 
-    // Now split this in pieces, which later can be used to set the select
-    $time = explode("-", $time); 
-    // make syntax "+N" or "-N" work with start_year and end_year
-    if (preg_match('!^(\+|\-)\s*(\d+)$!', $end_year, $match)) {
-        if ($match[1] == '+') {
-            $end_year = strftime('%Y') + $match[2];
-        } else {
-            $end_year = strftime('%Y') - $match[2];
-        } 
-    } 
-    if (preg_match('!^(\+|\-)\s*(\d+)$!', $start_year, $match)) {
-        if ($match[1] == '+') {
-            $start_year = strftime('%Y') + $match[2];
-        } else {
-            $start_year = strftime('%Y') - $match[2];
-        } 
-    } 
-    if (strlen($time[0]) > 0) {
-        if ($start_year > $time[0] && !isset($params['start_year'])) {
-            // force start year to include given date if not explicitly set
-            $start_year = $time[0];
-        } 
-        if ($end_year < $time[0] && !isset($params['end_year'])) {
-            // force end year to include given date if not explicitly set
-            $end_year = $time[0];
-        } 
-    } 
-
-    $field_order = strtoupper($field_order);
-
-    $html_result = $month_result = $day_result = $year_result = "";
-
-    $field_separator_count = -1;
-    if ($display_months) {
-        $field_separator_count++;
-        $month_names = array();
-        $month_values = array();
-        if (isset($month_empty)) {
-            $month_names[''] = $month_empty;
-            $month_values[''] = '';
-        } 
-        for ($i = 1; $i <= 12; $i++) {
-            $month_names[$i] = strftime($month_format, mktime(0, 0, 0, $i, 1, 2000));
-            $month_values[$i] = strftime($month_value_format, mktime(0, 0, 0, $i, 1, 2000));
-        } 
-
-        $month_result .= '<select name=';
-        if (null !== $field_array) {
-            $month_result .= '"' . $field_array . '[' . $prefix . 'Month]"';
-        } else {
-            $month_result .= '"' . $prefix . 'Month"';
-        } 
-        if (null !== $month_size) {
-            $month_result .= ' size="' . $month_size . '"';
-        } 
-        if (null !== $month_extra) {
-            $month_result .= ' ' . $month_extra;
-        } 
-        if (null !== $all_extra) {
-            $month_result .= ' ' . $all_extra;
-        } 
-        $month_result .= $extra_attrs . '>' . "\n";
-
-        $month_result .= smarty_function_html_options(array('output' => $month_names,
-                'values' => $month_values,
-                'selected' => (int)$time[1] ? strftime($month_value_format, mktime(0, 0, 0, (int)$time[1], 1, 2000)) : '',
-                'print_result' => false),
-            $smarty, $template);
-        $month_result .= '</select>';
-    } 
-
-    if ($display_days) {
-        $field_separator_count++;
-        $days = array();
-        if (isset($day_empty)) {
-            $days[''] = $day_empty;
-            $day_values[''] = '';
-        } 
-        for ($i = 1; $i <= 31; $i++) {
-            $days[] = sprintf($day_format, $i);
-            $day_values[] = sprintf($day_value_format, $i);
-        } 
-
-        $day_result .= '<select name=';
-        if (null !== $field_array) {
-            $day_result .= '"' . $field_array . '[' . $prefix . 'Day]"';
-        } else {
-            $day_result .= '"' . $prefix . 'Day"';
-        } 
-        if (null !== $day_size) {
-            $day_result .= ' size="' . $day_size . '"';
-        } 
-        if (null !== $all_extra) {
-            $day_result .= ' ' . $all_extra;
-        } 
-        if (null !== $day_extra) {
-            $day_result .= ' ' . $day_extra;
-        } 
-        $day_result .= $extra_attrs . '>' . "\n";
-        $day_result .= smarty_function_html_options(array('output' => $days,
-                'values' => $day_values,
-                'selected' => $time[2],
-                'print_result' => false),
-            $smarty, $template);
-        $day_result .= '</select>';
-    } 
-
-    if ($display_years) {
-        $field_separator_count++;
-        if (null !== $field_array) {
-            $year_name = $field_array . '[' . $prefix . 'Year]';
-        } else {
-            $year_name = $prefix . 'Year';
-        } 
-        if ($year_as_text) {
-            $year_result .= '<input type="text" name="' . $year_name . '" value="' . $time[0] . '" size="4" maxlength="4"';
-            if (null !== $all_extra) {
-                $year_result .= ' ' . $all_extra;
-            } 
-            if (null !== $year_extra) {
-                $year_result .= ' ' . $year_extra;
-            } 
-            $year_result .= ' />';
-        } else {
-            $years = range((int)$start_year, (int)$end_year);
-            if ($reverse_years) {
-                rsort($years, SORT_NUMERIC);
-            } else {
-                sort($years, SORT_NUMERIC);
-            } 
-            $yearvals = $years;
-            if (isset($year_empty)) {
-                array_unshift($years, $year_empty);
-                array_unshift($yearvals, '');
-            } 
-            $year_result .= '<select name="' . $year_name . '"';
-            if (null !== $year_size) {
-                $year_result .= ' size="' . $year_size . '"';
-            } 
-            if (null !== $all_extra) {
-                $year_result .= ' ' . $all_extra;
-            } 
-            if (null !== $year_extra) {
-                $year_result .= ' ' . $year_extra;
-            } 
-            $year_result .= $extra_attrs . '>' . "\n";
-            $year_result .= smarty_function_html_options(array('output' => $years,
-                    'values' => $yearvals,
-                    'selected' => $time[0],
-                    'print_result' => false),
-                $smarty, $template);
-            $year_result .= '</select>';
-        } 
-    } 
-    // Loop thru the field_order field
-    for ($i = 0; $i <= 2; $i++) {
-        $c = substr($field_order, $i, 1);
-        switch ($c) {
-            case 'D':
-                $html_result .= $day_result;
-                break;
-
-            case 'M':
-                $html_result .= $month_result;
-                break;
-
-            case 'Y':
-                $html_result .= $year_result;
-                break;
-        } 
-        // Add the field seperator
-        if ($i < $field_separator_count) {
-            $html_result .= $field_separator;
-        } 
-    } 
-
-    return $html_result;
-} 
-?>
diff --git a/gosa-core/include/smarty/plugins/function.html_select_time.php b/gosa-core/include/smarty/plugins/function.html_select_time.php
deleted file mode 100644
index 51d307a..0000000
--- a/gosa-core/include/smarty/plugins/function.html_select_time.php
+++ /dev/null
@@ -1,197 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsFunction
-*/
-
-/**
-* Smarty {html_select_time} function plugin
-* 
-* Type:     function<br>
-* Name:     html_select_time<br>
-* Purpose:  Prints the dropdowns for time selection
-* 
-* @link http://smarty.php.net/manual/en/language.function.html.select.time.php {html_select_time}
-          (Smarty online manual)
-* @author Roberto Berto <roberto at berto.net> 
-* @credits Monte Ohrt <monte AT ohrt DOT com>
-* @param array $params parameters
-* @param object $smarty Smarty object
-* @param object $template template object
-* @return string 
-* @uses smarty_make_timestamp()
-*/
-function smarty_function_html_select_time($params, $smarty, $template)
-{
-    require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
-    require_once(SMARTY_PLUGINS_DIR . 'function.html_options.php');
-    //$smarty->loadPlugin('Smarty_shared_make_timestamp');
-    //$smarty->loadPlugin('Smarty_function_html_options');
-
-    /* Default values. */
-    $prefix = "Time_";
-    $time = time();
-    $display_hours = true;
-    $display_minutes = true;
-    $display_seconds = true;
-    $display_meridian = true;
-    $use_24_hours = true;
-    $minute_interval = 1;
-    $second_interval = 1;
-    /* Should the select boxes be part of an array when returned from PHP?
-       e.g. setting it to "birthday", would create "birthday[Hour]",
-       "birthday[Minute]", "birthday[Seconds]" & "birthday[Meridian]".
-       Can be combined with prefix. */
-    $field_array = null;
-    $all_extra = null;
-    $hour_extra = null;
-    $minute_extra = null;
-    $second_extra = null;
-    $meridian_extra = null;
-
-    foreach ($params as $_key => $_value) {
-        switch ($_key) {
-            case 'prefix':
-            case 'time':
-            case 'field_array':
-            case 'all_extra':
-            case 'hour_extra':
-            case 'minute_extra':
-            case 'second_extra':
-            case 'meridian_extra':
-                $$_key = (string)$_value;
-                break;
-
-            case 'display_hours':
-            case 'display_minutes':
-            case 'display_seconds':
-            case 'display_meridian':
-            case 'use_24_hours':
-                $$_key = (bool)$_value;
-                break;
-
-            case 'minute_interval':
-            case 'second_interval':
-                $$_key = (int)$_value;
-                break;
-
-            default:
-                trigger_error("[html_select_time] unknown parameter $_key", E_USER_WARNING);
-        } 
-    } 
-
-    $time = smarty_make_timestamp($time);
-
-    $html_result = '';
-
-    if ($display_hours) {
-        $hours = $use_24_hours ? range(0, 23) : range(1, 12);
-        $hour_fmt = $use_24_hours ? '%H' : '%I';
-        for ($i = 0, $for_max = count($hours); $i < $for_max; $i++)
-        $hours[$i] = sprintf('%02d', $hours[$i]);
-        $html_result .= '<select name=';
-        if (null !== $field_array) {
-            $html_result .= '"' . $field_array . '[' . $prefix . 'Hour]"';
-        } else {
-            $html_result .= '"' . $prefix . 'Hour"';
-        } 
-        if (null !== $hour_extra) {
-            $html_result .= ' ' . $hour_extra;
-        } 
-        if (null !== $all_extra) {
-            $html_result .= ' ' . $all_extra;
-        } 
-        $html_result .= '>' . "\n";
-        $html_result .= smarty_function_html_options(array('output' => $hours,
-                'values' => $hours,
-                'selected' => strftime($hour_fmt, $time),
-                'print_result' => false),
-            $smarty, $template);
-        $html_result .= "</select>\n";
-    } 
-
-    if ($display_minutes) {
-        $all_minutes = range(0, 59);
-        for ($i = 0, $for_max = count($all_minutes); $i < $for_max; $i += $minute_interval)
-        $minutes[] = sprintf('%02d', $all_minutes[$i]);
-        $selected = intval(floor(strftime('%M', $time) / $minute_interval) * $minute_interval);
-        $html_result .= '<select name=';
-        if (null !== $field_array) {
-            $html_result .= '"' . $field_array . '[' . $prefix . 'Minute]"';
-        } else {
-            $html_result .= '"' . $prefix . 'Minute"';
-        } 
-        if (null !== $minute_extra) {
-            $html_result .= ' ' . $minute_extra;
-        } 
-        if (null !== $all_extra) {
-            $html_result .= ' ' . $all_extra;
-        } 
-        $html_result .= '>' . "\n";
-
-        $html_result .= smarty_function_html_options(array('output' => $minutes,
-                'values' => $minutes,
-                'selected' => $selected,
-                'print_result' => false),
-            $smarty, $template);
-        $html_result .= "</select>\n";
-    } 
-
-    if ($display_seconds) {
-        $all_seconds = range(0, 59);
-        for ($i = 0, $for_max = count($all_seconds); $i < $for_max; $i += $second_interval)
-        $seconds[] = sprintf('%02d', $all_seconds[$i]);
-        $selected = intval(floor(strftime('%S', $time) / $second_interval) * $second_interval);
-        $html_result .= '<select name=';
-        if (null !== $field_array) {
-            $html_result .= '"' . $field_array . '[' . $prefix . 'Second]"';
-        } else {
-            $html_result .= '"' . $prefix . 'Second"';
-        } 
-
-        if (null !== $second_extra) {
-            $html_result .= ' ' . $second_extra;
-        } 
-        if (null !== $all_extra) {
-            $html_result .= ' ' . $all_extra;
-        } 
-        $html_result .= '>' . "\n";
-
-        $html_result .= smarty_function_html_options(array('output' => $seconds,
-                'values' => $seconds,
-                'selected' => $selected,
-                'print_result' => false),
-            $smarty, $template);
-        $html_result .= "</select>\n";
-    } 
-
-    if ($display_meridian && !$use_24_hours) {
-        $html_result .= '<select name=';
-        if (null !== $field_array) {
-            $html_result .= '"' . $field_array . '[' . $prefix . 'Meridian]"';
-        } else {
-            $html_result .= '"' . $prefix . 'Meridian"';
-        } 
-
-        if (null !== $meridian_extra) {
-            $html_result .= ' ' . $meridian_extra;
-        } 
-        if (null !== $all_extra) {
-            $html_result .= ' ' . $all_extra;
-        } 
-        $html_result .= '>' . "\n";
-
-        $html_result .= smarty_function_html_options(array('output' => array('AM', 'PM'),
-                'values' => array('am', 'pm'),
-                'selected' => strtolower(strftime('%p', $time)),
-                'print_result' => false),
-            $smarty, $template);
-        $html_result .= "</select>\n";
-    } 
-
-    return $html_result;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/function.html_table.php b/gosa-core/include/smarty/plugins/function.html_table.php
deleted file mode 100644
index 198b03c..0000000
--- a/gosa-core/include/smarty/plugins/function.html_table.php
+++ /dev/null
@@ -1,176 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsFunction
-*/
-
-/**
-* Smarty {html_table} function plugin
-* 
-* Type:     function<br>
-* Name:     html_table<br>
-* Date:     Feb 17, 2003<br>
-* Purpose:  make an html table from an array of data<br>
-* 
-* 
-* Examples:
-* <pre>
-* {table loop=$data}
-* {table loop=$data cols=4 tr_attr='"bgcolor=red"'}
-* {table loop=$data cols="first,second,third" tr_attr=$colors}
-* </pre>
-* 
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @author credit to Messju Mohr <messju at lammfellpuschen dot de> 
-* @author credit to boots <boots dot smarty at yahoo dot com> 
-* @version 1.1
-* @link http://smarty.php.net/manual/en/language.function.html.table.php {html_table}
-          (Smarty online manual)
-* @param array $params parameters
-* Input:<br>
-*          - loop = array to loop through
-*          - cols = number of columns, comma separated list of column names
-*                   or array of column names
-*          - rows = number of rows
-*          - table_attr = table attributes
-*          - th_attr = table heading attributes (arrays are cycled)
-*          - tr_attr = table row attributes (arrays are cycled)
-*          - td_attr = table cell attributes (arrays are cycled)
-*          - trailpad = value to pad trailing cells with
-*          - caption = text for caption element 
-*          - vdir = vertical direction (default: "down", means top-to-bottom)
-*          - hdir = horizontal direction (default: "right", means left-to-right)
-*          - inner = inner loop (default "cols": print $loop line by line,
-*                    $loop will be printed column by column otherwise)
-* @param object $smarty Smarty object
-* @param object $template template object
-* @return string 
-*/
-function smarty_function_html_table($params, $smarty, $template)
-{
-    $table_attr = 'border="1"';
-    $tr_attr = '';
-    $th_attr = '';
-    $td_attr = '';
-    $cols = $cols_count = 3;
-    $rows = 3;
-    $trailpad = ' ';
-    $vdir = 'down';
-    $hdir = 'right';
-    $inner = 'cols';
-    $caption = '';
-
-    if (!isset($params['loop'])) {
-        trigger_error("html_table: missing 'loop' parameter",E_USER_WARNING);
-        return;
-    } 
-
-    foreach ($params as $_key => $_value) {
-        switch ($_key) {
-            case 'loop':
-                $$_key = (array)$_value;
-                break;
-
-            case 'cols':
-                if (is_array($_value) && !empty($_value)) {
-                    $cols = $_value;
-                    $cols_count = count($_value);
-                } elseif (!is_numeric($_value) && is_string($_value) && !empty($_value)) {
-                    $cols = explode(',', $_value);
-                    $cols_count = count($cols);
-                } elseif (!empty($_value)) {
-                    $cols_count = (int)$_value;
-                } else {
-                    $cols_count = $cols;
-                } 
-                break;
-
-            case 'rows':
-                $$_key = (int)$_value;
-                break;
-
-            case 'table_attr':
-            case 'trailpad':
-            case 'hdir':
-            case 'vdir':
-            case 'inner':
-            case 'caption':
-                $$_key = (string)$_value;
-                break;
-
-            case 'tr_attr':
-            case 'td_attr':
-            case 'th_attr':
-                $$_key = $_value;
-                break;
-        } 
-    } 
-
-    $loop_count = count($loop);
-    if (empty($params['rows'])) {
-        /* no rows specified */
-        $rows = ceil($loop_count / $cols_count);
-    } elseif (empty($params['cols'])) {
-        if (!empty($params['rows'])) {
-            /* no cols specified, but rows */
-            $cols_count = ceil($loop_count / $rows);
-        } 
-    } 
-
-    $output = "<table $table_attr>\n";
-
-    if (!empty($caption)) {
-        $output .= '<caption>' . $caption . "</caption>\n";
-    } 
-
-    if (is_array($cols)) {
-        $cols = ($hdir == 'right') ? $cols : array_reverse($cols);
-        $output .= "<thead><tr>\n";
-
-        for ($r = 0; $r < $cols_count; $r++) {
-            $output .= '<th' . smarty_function_html_table_cycle('th', $th_attr, $r) . '>';
-            $output .= $cols[$r];
-            $output .= "</th>\n";
-        } 
-        $output .= "</tr></thead>\n";
-    } 
-
-    $output .= "<tbody>\n";
-    for ($r = 0; $r < $rows; $r++) {
-        $output .= "<tr" . smarty_function_html_table_cycle('tr', $tr_attr, $r) . ">\n";
-        $rx = ($vdir == 'down') ? $r * $cols_count : ($rows-1 - $r) * $cols_count;
-
-        for ($c = 0; $c < $cols_count; $c++) {
-            $x = ($hdir == 'right') ? $rx + $c : $rx + $cols_count-1 - $c;
-            if ($inner != 'cols') {
-                /* shuffle x to loop over rows*/
-                $x = floor($x / $cols_count) + ($x % $cols_count) * $rows;
-            } 
-
-            if ($x < $loop_count) {
-                $output .= "<td" . smarty_function_html_table_cycle('td', $td_attr, $c) . ">" . $loop[$x] . "</td>\n";
-            } else {
-                $output .= "<td" . smarty_function_html_table_cycle('td', $td_attr, $c) . ">$trailpad</td>\n";
-            } 
-        } 
-        $output .= "</tr>\n";
-    } 
-    $output .= "</tbody>\n";
-    $output .= "</table>\n";
-
-    return $output;
-} 
-
-function smarty_function_html_table_cycle($name, $var, $no)
-{
-    if (!is_array($var)) {
-        $ret = $var;
-    } else {
-        $ret = $var[$no % count($var)];
-    } 
-
-    return ($ret) ? ' ' . $ret : '';
-} 
-?>
diff --git a/gosa-core/include/smarty/plugins/function.image.php b/gosa-core/include/smarty/plugins/function.image.php
new file mode 100644
index 0000000..3d12073
--- /dev/null
+++ b/gosa-core/include/smarty/plugins/function.image.php
@@ -0,0 +1,25 @@
+<?php
+
+function smarty_function_image($params, &$smarty)
+{
+  $path = (isset($params['path']))? $params['path'] :"";
+  $action = (isset($params['action']))? $params['action'] :"";
+  $title = (isset($params['title']))? $params['title'] :"";
+  $align = (isset($params['align']))? $params['align'] :"";
+  //print_a(array($path,$label,$action,$title,$align));
+
+  if(isset($params['acl'])){
+    if(!preg_match("/w/", $params['acl'])){
+      $path = preg_replace("/\.png/","-grey.png", $path);
+      $action = "";
+    }
+  }
+
+  if(!empty($align)){
+    echo image($path,$action,$title,$align);
+  }else{
+    echo image($path,$action,$title);
+  }
+}
+  
+?>
diff --git a/gosa-core/include/smarty/plugins/function.mailto.php b/gosa-core/include/smarty/plugins/function.mailto.php
deleted file mode 100644
index 29a87c6..0000000
--- a/gosa-core/include/smarty/plugins/function.mailto.php
+++ /dev/null
@@ -1,157 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsFunction
-*/
-
-/**
-* Smarty {mailto} function plugin
-* 
-* Type:     function<br>
-* Name:     mailto<br>
-* Date:     May 21, 2002
-* Purpose:  automate mailto address link creation, and optionally
-*            encode them.<br>
-* 
-* Examples:
-* <pre>
-* {mailto address="me at domain.com"}
-* {mailto address="me at domain.com" encode="javascript"}
-* {mailto address="me at domain.com" encode="hex"}
-* {mailto address="me at domain.com" subject="Hello to you!"}
-* {mailto address="me at domain.com" cc="you at domain.com,they at domain.com"}
-* {mailto address="me at domain.com" extra='class="mailto"'}
-* </pre>
-* 
-* @link http://smarty.php.net/manual/en/language.function.mailto.php {mailto}
-          (Smarty online manual)
-* @version 1.2
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @author credits to Jason Sweat (added cc, bcc and subject functionality) 
-* @param array $params parameters
-* Input:<br>
-*          - address = e-mail address
-*          - text = (optional) text to display, default is address
-*          - encode = (optional) can be one of:
-*                 * none : no encoding (default)
-*                 * javascript : encode with javascript
-*                 * javascript_charcode : encode with javascript charcode
-*                 * hex : encode with hexidecimal (no javascript)
-*          - cc = (optional) address(es) to carbon copy
-*          - bcc = (optional) address(es) to blind carbon copy
-*          - subject = (optional) e-mail subject
-*          - newsgroups = (optional) newsgroup(s) to post to
-*          - followupto = (optional) address(es) to follow up to
-*          - extra = (optional) extra tags for the href link
-* @param object $smarty Smarty object
-* @param object $template template object
-* @return string 
-*/
-function smarty_function_mailto($params, $smarty, $template)
-{
-    $extra = '';
-
-    if (empty($params['address'])) {
-        trigger_error("mailto: missing 'address' parameter",E_USER_WARNING);
-        return;
-    } else {
-        $address = $params['address'];
-    } 
-
-    $text = $address; 
-    // netscape and mozilla do not decode %40 (@) in BCC field (bug?)
-    // so, don't encode it.
-    $search = array('%40', '%2C');
-    $replace = array('@', ',');
-    $mail_parms = array();
-    foreach ($params as $var => $value) {
-        switch ($var) {
-            case 'cc':
-            case 'bcc':
-            case 'followupto':
-                if (!empty($value))
-                    $mail_parms[] = $var . '=' . str_replace($search, $replace, rawurlencode($value));
-                break;
-
-            case 'subject':
-            case 'newsgroups':
-                $mail_parms[] = $var . '=' . rawurlencode($value);
-                break;
-
-            case 'extra':
-            case 'text':
-                $$var = $value;
-
-            default:
-        } 
-    } 
-
-    $mail_parm_vals = '';
-    for ($i = 0; $i < count($mail_parms); $i++) {
-        $mail_parm_vals .= (0 == $i) ? '?' : '&';
-        $mail_parm_vals .= $mail_parms[$i];
-    } 
-    $address .= $mail_parm_vals;
-
-    $encode = (empty($params['encode'])) ? 'none' : $params['encode'];
-    if (!in_array($encode, array('javascript', 'javascript_charcode', 'hex', 'none'))) {
-        trigger_error("mailto: 'encode' parameter must be none, javascript or hex",E_USER_WARNING);
-        return;
-    } 
-
-    if ($encode == 'javascript') {
-        $string = 'document.write(\'<a href="mailto:' . $address . '" ' . $extra . '>' . $text . '</a>\');';
-
-        $js_encode = '';
-        for ($x = 0; $x < strlen($string); $x++) {
-            $js_encode .= '%' . bin2hex($string[$x]);
-        } 
-
-        return '<script type="text/javascript">eval(unescape(\'' . $js_encode . '\'))</script>';
-    } elseif ($encode == 'javascript_charcode') {
-        $string = '<a href="mailto:' . $address . '" ' . $extra . '>' . $text . '</a>';
-
-        for($x = 0, $y = strlen($string); $x < $y; $x++) {
-            $ord[] = ord($string[$x]);
-        } 
-
-        $_ret = "<script type=\"text/javascript\" language=\"javascript\">\n";
-        $_ret .= "<!--\n";
-        $_ret .= "{document.write(String.fromCharCode(";
-        $_ret .= implode(',', $ord);
-        $_ret .= "))";
-        $_ret .= "}\n";
-        $_ret .= "//-->\n";
-        $_ret .= "</script>\n";
-
-        return $_ret;
-    } elseif ($encode == 'hex') {
-        preg_match('!^(.*)(\?.*)$!', $address, $match);
-        if (!empty($match[2])) {
-            trigger_error("mailto: hex encoding does not work with extra attributes. Try javascript.",E_USER_WARNING);
-            return;
-        } 
-        $address_encode = '';
-        for ($x = 0; $x < strlen($address); $x++) {
-            if (preg_match('!\w!', $address[$x])) {
-                $address_encode .= '%' . bin2hex($address[$x]);
-            } else {
-                $address_encode .= $address[$x];
-            } 
-        } 
-        $text_encode = '';
-        for ($x = 0; $x < strlen($text); $x++) {
-            $text_encode .= '&#x' . bin2hex($text[$x]) . ';';
-        } 
-
-        $mailto = "mailto:";
-        return '<a href="' . $mailto . $address_encode . '" ' . $extra . '>' . $text_encode . '</a>';
-    } else {
-        // no encoding
-        return '<a href="mailto:' . $address . '" ' . $extra . '>' . $text . '</a>';
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/function.math.php b/gosa-core/include/smarty/plugins/function.math.php
deleted file mode 100644
index d7ac9f8..0000000
--- a/gosa-core/include/smarty/plugins/function.math.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/**
- * Smarty plugin
- *
- * This plugin is only for Smarty2 BC
- * @package Smarty
- * @subpackage PluginsFunction
- */
-
-
-/**
- * Smarty {math} function plugin
- *
- * Type:     function<br>
- * Name:     math<br>
- * Purpose:  handle math computations in template<br>
- * @link http://smarty.php.net/manual/en/language.function.math.php {math}
- *          (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param array $params parameters
- * @param object $smarty Smarty object
- * @param object $template template object
- * @return string|null
- */
-function smarty_function_math($params, $smarty, $template)
-{
-    // be sure equation parameter is present
-    if (empty($params['equation'])) {
-        trigger_error("math: missing equation parameter",E_USER_WARNING);
-        return;
-    }
-
-    $equation = $params['equation'];
-
-    // make sure parenthesis are balanced
-    if (substr_count($equation,"(") != substr_count($equation,")")) {
-        trigger_error("math: unbalanced parenthesis",E_USER_WARNING);
-        return;
-    }
-
-    // match all vars in equation, make sure all are passed
-    preg_match_all("!(?:0x[a-fA-F0-9]+)|([a-zA-Z][a-zA-Z0-9_]+)!",$equation, $match);
-    $allowed_funcs = array('int','abs','ceil','cos','exp','floor','log','log10',
-                           'max','min','pi','pow','rand','round','sin','sqrt','srand','tan');
-    
-    foreach($match[1] as $curr_var) {
-        if ($curr_var && !in_array($curr_var, array_keys($params)) && !in_array($curr_var, $allowed_funcs)) {
-            trigger_error("math: function call $curr_var not allowed",E_USER_WARNING);
-            return;
-        }
-    }
-
-    foreach($params as $key => $val) {
-        if ($key != "equation" && $key != "format" && $key != "assign") {
-            // make sure value is not empty
-            if (strlen($val)==0) {
-                trigger_error("math: parameter $key is empty",E_USER_WARNING);
-                return;
-            }
-            if (!is_numeric($val)) {
-                trigger_error("math: parameter $key: is not numeric",E_USER_WARNING);
-                return;
-            }
-            $equation = preg_replace("/\b$key\b/", " \$params['$key'] ", $equation);
-        }
-    }
-
-    eval("\$smarty_math_result = ".$equation.";");
-
-    if (empty($params['format'])) {
-        if (empty($params['assign'])) {
-            return $smarty_math_result;
-        } else {
-            $template->assign($params['assign'],$smarty_math_result);
-        }
-    } else {
-        if (empty($params['assign'])){
-            printf($params['format'],$smarty_math_result);
-        } else {
-            $template->assign($params['assign'],sprintf($params['format'],$smarty_math_result));
-        }
-    }
-}
-?>
diff --git a/gosa-core/include/smarty/plugins/function.popup.php b/gosa-core/include/smarty/plugins/function.popup.php
deleted file mode 100644
index e683556..0000000
--- a/gosa-core/include/smarty/plugins/function.popup.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsFunction
- */
-
-
-/**
- * Smarty {popup} function plugin
- *
- * Type:     function<br>
- * Name:     popup<br>
- * Purpose:  make text pop up in windows via overlib
- * @link http://smarty.php.net/manual/en/language.function.popup.php {popup}
- *          (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param array $params parameters
- * @param object $smarty Smarty object
- * @param object $template template object
- * @return string
- */
-function smarty_function_popup($params, $smarty, $template)
-{
-    $append = '';
-    foreach ($params as $_key=>$_value) {
-        switch ($_key) {
-            case 'text':
-            case 'trigger':
-            case 'function':
-            case 'inarray':
-                $$_key = (string)$_value;
-                if ($_key == 'function' || $_key == 'inarray')
-                    $append .= ',' . strtoupper($_key) . ",'$_value'";
-                break;
-
-            case 'caption':
-            case 'closetext':
-            case 'status':
-                $append .= ',' . strtoupper($_key) . ",'" . str_replace("'","\'",$_value) . "'";
-                break;
-
-            case 'fgcolor':
-            case 'bgcolor':
-            case 'textcolor':
-            case 'capcolor':
-            case 'closecolor':
-            case 'textfont':
-            case 'captionfont':
-            case 'closefont':
-            case 'fgbackground':
-            case 'bgbackground':
-            case 'caparray':
-            case 'capicon':
-            case 'background':
-            case 'frame':
-                $append .= ',' . strtoupper($_key) . ",'$_value'";
-                break;
-
-            case 'textsize':
-            case 'captionsize':
-            case 'closesize':
-            case 'width':
-            case 'height':
-            case 'border':
-            case 'offsetx':
-            case 'offsety':
-            case 'snapx':
-            case 'snapy':
-            case 'fixx':
-            case 'fixy':
-            case 'padx':
-            case 'pady':
-            case 'timeout':
-            case 'delay':
-                $append .= ',' . strtoupper($_key) . ",$_value";
-                break;
-
-            case 'sticky':
-            case 'left':
-            case 'right':
-            case 'center':
-            case 'above':
-            case 'below':
-            case 'noclose':
-            case 'autostatus':
-            case 'autostatuscap':
-            case 'fullhtml':
-            case 'hauto':
-            case 'vauto':
-            case 'mouseoff':
-            case 'followmouse':
-            case 'closeclick':
-            case 'wrap':
-                if ($_value) $append .= ',' . strtoupper($_key);
-                break;
-
-            default:
-                trigger_error("[popup] unknown parameter $_key", E_USER_WARNING);
-        }
-    }
-
-    if (empty($text) && !isset($inarray) && empty($function)) {
-        trigger_error("overlib: attribute 'text' or 'inarray' or 'function' required",E_USER_WARNING);
-        return false;
-    }
-
-    if (empty($trigger)) { $trigger = "onmouseover"; }
-
-    $retval = $trigger . '="return overlib(\''.preg_replace(array("!'!",'!"!',"![\r\n]!"),array("\'","\'",'\r'),$text).'\'';
-    $retval .= $append . ');"';
-    if ($trigger == 'onmouseover')
-       $retval .= ' onmouseout="nd();"';
-
-
-    return $retval;
-}
-?>
diff --git a/gosa-core/include/smarty/plugins/function.popup_init.php b/gosa-core/include/smarty/plugins/function.popup_init.php
deleted file mode 100644
index ae58037..0000000
--- a/gosa-core/include/smarty/plugins/function.popup_init.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsFunction
- */
-
-
-/**
- * Smarty {popup_init} function plugin
- *
- * Type:     function<br>
- * Name:     popup_init<br>
- * Purpose:  initialize overlib
- * @link http://smarty.php.net/manual/en/language.function.popup.init.php {popup_init}
- *          (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param array $params parameters
- * @param object $smarty Smarty object
- * @param object $template template object
- * @return string 
- */
-function smarty_function_popup_init($params, $smarty, $template)
-{
-    $zindex = 1000;
-    
-    if (!empty($params['zindex'])) {
-        $zindex = $params['zindex'];
-    }
-    
-    if (!empty($params['src'])) {
-        return '<div id="overDiv" style="position:absolute; visibility:hidden; z-index:'.$zindex.';"></div>' . "\n"
-         . '<script type="text/javascript" language="JavaScript" src="'.$params['src'].'"></script>' . "\n";
-    } else {
-        trigger_error("popup_init: missing src parameter",E_USER_WARNING);
-    }
-}
-
-/* vim: set expandtab: */
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.capitalize.php b/gosa-core/include/smarty/plugins/modifier.capitalize.php
deleted file mode 100644
index acff0bc..0000000
--- a/gosa-core/include/smarty/plugins/modifier.capitalize.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifier
- */
-
-
-/**
- * Smarty capitalize modifier plugin
- *
- * Type:     modifier<br>
- * Name:     capitalize<br>
- * Purpose:  capitalize words in the string
- * @link http://smarty.php.net/manual/en/language.modifiers.php#LANGUAGE.MODIFIER.CAPITALIZE
- *      capitalize (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param string
- * @return string
- */
-function smarty_modifier_capitalize($string, $uc_digits = false)
-{
-    smarty_modifier_capitalize_ucfirst(null, $uc_digits);
-    return preg_replace_callback('!\'?\b\w(\w|\')*\b!', 'smarty_modifier_capitalize_ucfirst', $string);
-}
-
-function smarty_modifier_capitalize_ucfirst($string, $uc_digits = null)
-{
-    static $_uc_digits = false;
-    
-    if(isset($uc_digits)) {
-        $_uc_digits = $uc_digits;
-        return;
-    }
-    
-    if(substr($string[0],0,1) != "'" && !preg_match("!\d!",$string[0]) || $_uc_digits)
-        return ucfirst($string[0]);
-    else
-        return $string[0];
-}
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.cat.php b/gosa-core/include/smarty/plugins/modifier.cat.php
deleted file mode 100644
index 1b932d0..0000000
--- a/gosa-core/include/smarty/plugins/modifier.cat.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifier
- */
-
-
-/**
- * Smarty cat modifier plugin
- *
- * Type:     modifier<br>
- * Name:     cat<br>
- * Date:     Feb 24, 2003
- * Purpose:  catenate a value to a variable
- * Input:    string to catenate
- * Example:  {$var|cat:"foo"}
- * @link http://smarty.php.net/manual/en/language.modifier.cat.php cat
- *          (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @version 1.0
- * @param string
- * @param string
- * @return string
- */
-function smarty_modifier_cat($string, $cat)
-{
-    return $string . $cat;
-}
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.count_characters.php b/gosa-core/include/smarty/plugins/modifier.count_characters.php
deleted file mode 100644
index 6d52465..0000000
--- a/gosa-core/include/smarty/plugins/modifier.count_characters.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifier
- */
-
-
-/**
- * Smarty count_characters modifier plugin
- *
- * Type:     modifier<br>
- * Name:     count_characteres<br>
- * Purpose:  count the number of characters in a text
- * @link http://smarty.php.net/manual/en/language.modifier.count.characters.php
- *          count_characters (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param string $string input string
- * @param boolean $include_spaces include whitespace in the character count
- * @return integer number of characters
- */
-function smarty_modifier_count_characters($string, $include_spaces = false)
-{
-    if ($include_spaces)
-       return(strlen($string));
-
-    return preg_match_all("/[^\s]/",$string, $match);
-}
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.count_paragraphs.php b/gosa-core/include/smarty/plugins/modifier.count_paragraphs.php
deleted file mode 100644
index 441da09..0000000
--- a/gosa-core/include/smarty/plugins/modifier.count_paragraphs.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifier
- */
-
-
-/**
- * Smarty count_paragraphs modifier plugin
- *
- * Type:     modifier<br>
- * Name:     count_paragraphs<br>
- * Purpose:  count the number of paragraphs in a text
- * @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
- *          count_paragraphs (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param string
- * @return integer
- */
-function smarty_modifier_count_paragraphs($string)
-{
-    // count \r or \n characters
-    return count(preg_split('/[\r\n]+/', $string));
-}
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.count_sentences.php b/gosa-core/include/smarty/plugins/modifier.count_sentences.php
deleted file mode 100644
index 7783c92..0000000
--- a/gosa-core/include/smarty/plugins/modifier.count_sentences.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifier
- */
-
-
-/**
- * Smarty count_sentences modifier plugin
- *
- * Type:     modifier<br>
- * Name:     count_sentences
- * Purpose:  count the number of sentences in a text
- * @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
- *          count_sentences (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param string
- * @return integer
- */
-function smarty_modifier_count_sentences($string)
-{
-    // find periods with a word before but not after.
-    return preg_match_all('/[^\s]\.(?!\w)/', $string, $match);
-}
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.count_words.php b/gosa-core/include/smarty/plugins/modifier.count_words.php
deleted file mode 100644
index 1079d8f..0000000
--- a/gosa-core/include/smarty/plugins/modifier.count_words.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifier
- */
-
-
-/**
- * Smarty count_words modifier plugin
- *
- * Type:     modifier<br>
- * Name:     count_words<br>
- * Purpose:  count the number of words in a text
- * @link http://smarty.php.net/manual/en/language.modifier.count.words.php
- *          count_words (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param string
- * @return integer
- */
-function smarty_modifier_count_words($string)
-{
-    return str_word_count($string);
-}
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.date_format.php b/gosa-core/include/smarty/plugins/modifier.date_format.php
deleted file mode 100644
index 950a195..0000000
--- a/gosa-core/include/smarty/plugins/modifier.date_format.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsModifier
-*/
-
-/**
-* Smarty date_format modifier plugin
-* 
-* Type:     modifier<br>
-* Name:     date_format<br>
-* Purpose:  format datestamps via strftime<br>
-* Input:<br>
-*          - string: input date string
-*          - format: strftime format for output
-*          - default_date: default date if $string is empty
-* 
-* @link http://smarty.php.net/manual/en/language.modifier.date.format.php date_format (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param string $ 
-* @param string $ 
-* @param string $ 
-* @return string |void
-* @uses smarty_make_timestamp()
-*/
-function smarty_modifier_date_format($string, $format = SMARTY_RESOURCE_DATE_FORMAT, $default_date = '',$formatter='auto')
-{
-    /**
-    * Include the {@link shared.make_timestamp.php} plugin
-    */
-    require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
-    if ($string != '') {
-        $timestamp = smarty_make_timestamp($string);
-    } elseif ($default_date != '') {
-        $timestamp = smarty_make_timestamp($default_date);
-    } else {
-        return;
-    } 
-    if($formatter=='strftime'||($formatter=='auto'&&strpos($format,'%')!==false)) {
-        if (DS == '\\') {
-            $_win_from = array('%D', '%h', '%n', '%r', '%R', '%t', '%T');
-            $_win_to = array('%m/%d/%y', '%b', "\n", '%I:%M:%S %p', '%H:%M', "\t", '%H:%M:%S');
-            if (strpos($format, '%e') !== false) {
-                $_win_from[] = '%e';
-                $_win_to[] = sprintf('%\' 2d', date('j', $timestamp));
-            } 
-            if (strpos($format, '%l') !== false) {
-                $_win_from[] = '%l';
-                $_win_to[] = sprintf('%\' 2d', date('h', $timestamp));
-            } 
-            $format = str_replace($_win_from, $_win_to, $format);
-        } 
-        return strftime($format, $timestamp);
-    } else {
-        return date($format, $timestamp);
-    }
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.debug_print_var.php b/gosa-core/include/smarty/plugins/modifier.debug_print_var.php
deleted file mode 100644
index f0f83d2..0000000
--- a/gosa-core/include/smarty/plugins/modifier.debug_print_var.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage Debug
-*/
-
-/**
-* Smarty debug_print_var modifier plugin
-* 
-* Type:     modifier<br>
-* Name:     debug_print_var<br>
-* Purpose:  formats variable contents for display in the console
-* 
-* @link http://smarty.php.net/manual/en/language.modifier.debug.print.var.php debug_print_var (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param array $ |object
-* @param integer $ 
-* @param integer $ 
-* @return string 
-*/
-function smarty_modifier_debug_print_var ($var, $depth = 0, $length = 40)
-{
-    $_replace = array("\n" => '<i>\n</i>',
-        "\r" => '<i>\r</i>',
-        "\t" => '<i>\t</i>'
-        );
-
-    switch (gettype($var)) {
-        case 'array' :
-            $results = '<b>Array (' . count($var) . ')</b>';
-            foreach ($var as $curr_key => $curr_val) {
-                $results .= '<br>' . str_repeat(' ', $depth * 2)
-                 . '<b>' . strtr($curr_key, $_replace) . '</b> => '
-                 . smarty_modifier_debug_print_var($curr_val, ++$depth, $length);
-                $depth--;
-            } 
-            break;
-        case 'object' :
-            $object_vars = get_object_vars($var);
-            $results = '<b>' . get_class($var) . ' Object (' . count($object_vars) . ')</b>';
-            foreach ($object_vars as $curr_key => $curr_val) {
-                $results .= '<br>' . str_repeat(' ', $depth * 2)
-                 . '<b> ->' . strtr($curr_key, $_replace) . '</b> = '
-                 . smarty_modifier_debug_print_var($curr_val, ++$depth, $length);
-                $depth--;
-            } 
-            break;
-        case 'boolean' :
-        case 'NULL' :
-        case 'resource' :
-            if (true === $var) {
-                $results = 'true';
-            } elseif (false === $var) {
-                $results = 'false';
-            } elseif (null === $var) {
-                $results = 'null';
-            } else {
-                $results = htmlspecialchars((string) $var);
-            } 
-            $results = '<i>' . $results . '</i>';
-            break;
-        case 'integer' :
-        case 'float' :
-            $results = htmlspecialchars((string) $var);
-            break;
-        case 'string' :
-            $results = strtr($var, $_replace);
-            if (strlen($var) > $length) {
-                $results = substr($var, 0, $length - 3) . '...';
-            } 
-            $results = htmlspecialchars('"' . $results . '"');
-            break;
-        case 'unknown type' :
-        default :
-            $results = strtr((string) $var, $_replace);
-            if (strlen($results) > $length) {
-                $results = substr($results, 0, $length - 3) . '...';
-            } 
-            $results = htmlspecialchars($results);
-    } 
-
-    return $results;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.default.php b/gosa-core/include/smarty/plugins/modifier.default.php
deleted file mode 100644
index 2622d07..0000000
--- a/gosa-core/include/smarty/plugins/modifier.default.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifier
- */
-
-
-/**
- * Smarty default modifier plugin
- *
- * Type:     modifier<br>
- * Name:     default<br>
- * Purpose:  designate default value for empty variables
- * @link http://smarty.php.net/manual/en/language.modifier.default.php
- *          default (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param string
- * @param string
- * @return string
- */
-function smarty_modifier_default($string, $default = '')
-{
-    if (!isset($string) || $string === '')
-        return $default;
-    else
-        return $string;
-}
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.escape.php b/gosa-core/include/smarty/plugins/modifier.escape.php
deleted file mode 100644
index 0e58d8b..0000000
--- a/gosa-core/include/smarty/plugins/modifier.escape.php
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsModifier
-*/
-
-/**
-* Smarty escape modifier plugin
-* 
-* Type:     modifier<br>
-* Name:     escape<br>
-* Purpose:  escape string for output
-* 
-* @link http://smarty.php.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param string $string input string
-* @param string $esc_type escape type
-* @param string $char_set character set
-* @return string escaped input string
-*/
-function smarty_modifier_escape($string, $esc_type = 'html', $char_set = SMARTY_RESOURCE_CHAR_SET)
-{
-    switch ($esc_type) {
-        case 'html':
-            return htmlspecialchars($string, ENT_QUOTES, $char_set);
-
-        case 'htmlall':
-            return htmlentities($string, ENT_QUOTES, $char_set);
-
-        case 'url':
-            return rawurlencode($string);
-
-        case 'urlpathinfo':
-            return str_replace('%2F', '/', rawurlencode($string));
-
-        case 'quotes': 
-            // escape unescaped single quotes
-            return preg_replace("%(?<!\\\\)'%", "\\'", $string);
-
-        case 'hex': 
-            // escape every character into hex
-            $return = '';
-            for ($x = 0; $x < strlen($string); $x++) {
-                $return .= '%' . bin2hex($string[$x]);
-            } 
-            return $return;
-
-        case 'hexentity':
-            $return = '';
-            for ($x = 0; $x < strlen($string); $x++) {
-                $return .= '&#x' . bin2hex($string[$x]) . ';';
-            } 
-            return $return;
-
-        case 'decentity':
-            $return = '';
-            for ($x = 0; $x < strlen($string); $x++) {
-                $return .= '&#' . ord($string[$x]) . ';';
-            } 
-            return $return;
-
-        case 'javascript': 
-            // escape quotes and backslashes, newlines, etc.
-            return strtr($string, array('\\' => '\\\\', "'" => "\\'", '"' => '\\"', "\r" => '\\r', "\n" => '\\n', '</' => '<\/'));
-
-        case 'mail': 
-            // safe way to display e-mail address on a web page
-            if ($smarty->has_mb) {
-                return mb_str_replace(array('@', '.'), array(' [AT] ', ' [DOT] '), $string);
-            } else {
-                return str_replace(array('@', '.'), array(' [AT] ', ' [DOT] '), $string);
-            } 
-
-        case 'nonstd': 
-            // escape non-standard chars, such as ms document quotes
-            $_res = '';
-            for($_i = 0, $_len = strlen($string); $_i < $_len; $_i++) {
-                $_ord = ord(substr($string, $_i, 1)); 
-                // non-standard char, escape it
-                if ($_ord >= 126) {
-                    $_res .= '&#' . $_ord . ';';
-                } else {
-                    $_res .= substr($string, $_i, 1);
-                } 
-            } 
-            return $_res;
-
-        default:
-            return $string;
-    } 
-    if (!function_exists("mb_str_replace")) {
-        // simulate the missing PHP mb_str_replace function
-        function mb_str_replace($needle, $replacement, $haystack)
-        {
-            $needle_len = mb_strlen($needle);
-            $replacement_len = mb_strlen($replacement);
-            $pos = mb_strpos($haystack, $needle, 0);
-            while ($pos !== false) {
-                $haystack = mb_substr($haystack, 0, $pos) . $replacement
-                 . mb_substr($haystack, $pos + $needle_len);
-                $pos = mb_strpos($haystack, $needle, $pos + $replacement_len);
-            } 
-            return $haystack;
-        } 
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.indent.php b/gosa-core/include/smarty/plugins/modifier.indent.php
deleted file mode 100644
index 4f2f9d8..0000000
--- a/gosa-core/include/smarty/plugins/modifier.indent.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifier
- */
-
-
-/**
- * Smarty indent modifier plugin
- *
- * Type:     modifier<br>
- * Name:     indent<br>
- * Purpose:  indent lines of text
- * @link http://smarty.php.net/manual/en/language.modifier.indent.php
- *          indent (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param string
- * @param integer
- * @param string
- * @return string
- */
-function smarty_modifier_indent($string,$chars=4,$char=" ")
-{
-    return preg_replace('!^!m',str_repeat($char,$chars),$string);
-}
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.lower.php b/gosa-core/include/smarty/plugins/modifier.lower.php
deleted file mode 100644
index 34a609e..0000000
--- a/gosa-core/include/smarty/plugins/modifier.lower.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsModifier
-*/
-
-/**
-* Smarty lower modifier plugin
-* 
-* Type:     modifier<br>
-* Name:     lower<br>
-* Purpose:  convert string to lowercase
-* 
-* @link http://smarty.php.net/manual/en/language.modifier.lower.php lower (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param string $ 
-* @return string 
-*/
-function smarty_modifier_lower($string)
-{
-    if (function_exists('mb_strtolower')) {
-        return mb_strtolower($string);
-    } else {
-        return strtolower($string);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.noprint.php b/gosa-core/include/smarty/plugins/modifier.noprint.php
deleted file mode 100644
index 3e9df06..0000000
--- a/gosa-core/include/smarty/plugins/modifier.noprint.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifier
- */
-
-
-/**
- * Smarty noprint modifier plugin
- *
- * Type:     modifier<br>
- * Name:     noprint<br>
- * Purpose:  return an empty string
- * @author   Uwe Tews
- * @param string
- * @return string
- */
-function smarty_modifier_noprint($string)
-{
-    return '';
-}
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.regex_replace.php b/gosa-core/include/smarty/plugins/modifier.regex_replace.php
deleted file mode 100644
index 100b58c..0000000
--- a/gosa-core/include/smarty/plugins/modifier.regex_replace.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage plugins
- */
-
-
-/**
- * Smarty regex_replace modifier plugin
- *
- * Type:     modifier<br>
- * Name:     regex_replace<br>
- * Purpose:  regular expression search/replace
- * @link http://smarty.php.net/manual/en/language.modifier.regex.replace.php
- *          regex_replace (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param string
- * @param string|array
- * @param string|array
- * @return string
- */
-function smarty_modifier_regex_replace($string, $search, $replace)
-{
-    if(is_array($search)) {
-      foreach($search as $idx => $s)
-        $search[$idx] = _smarty_regex_replace_check($s);
-    } else {
-      $search = _smarty_regex_replace_check($search);
-    }       
-
-    return preg_replace($search, $replace, $string);
-}
-
-function _smarty_regex_replace_check($search)
-{
-    if (($pos = strpos($search,"\0")) !== false)
-      $search = substr($search,0,$pos);
-    if (preg_match('!([a-zA-Z\s]+)$!s', $search, $match) && (strpos($match[1], 'e') !== false)) {
-        /* remove eval-modifier from $search */
-        $search = substr($search, 0, -strlen($match[1])) . preg_replace('![e\s]+!', '', $match[1]);
-    }
-    return $search;
-}
-
-/* vim: set expandtab: */
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.replace.php b/gosa-core/include/smarty/plugins/modifier.replace.php
deleted file mode 100644
index 5f70979..0000000
--- a/gosa-core/include/smarty/plugins/modifier.replace.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsModifier
-*/
-
-/**
-* Smarty replace modifier plugin
-* 
-* Type:     modifier<br>
-* Name:     replace<br>
-* Purpose:  simple search/replace
-* 
-* @link http://smarty.php.net/manual/en/language.modifier.replace.php replace (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @author Uwe Tews 
-* @param string $ 
-* @param string $ 
-* @param string $ 
-* @return string 
-*/
-function smarty_modifier_replace($string, $search, $replace)
-{
-    if (!function_exists("mb_str_replace")) {
-        // simulate the missing PHP mb_str_replace function
-        function mb_str_replace($needle, $replacement, $haystack)
-        {
-            $needle_len = mb_strlen($needle);
-            $replacement_len = mb_strlen($replacement);
-            $pos = mb_strpos($haystack, $needle, 0);
-            while ($pos !== false) {
-                $haystack = mb_substr($haystack, 0, $pos) . $replacement
-                 . mb_substr($haystack, $pos + $needle_len);
-                $pos = mb_strpos($haystack, $needle, $pos + $replacement_len);
-            } 
-            return $haystack;
-        } 
-    } 
-    if (function_exists('mb_substr')) {
-        return mb_str_replace($search, $replace, $string);
-    } else {
-        return str_replace($search, $replace, $string);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.spacify.php b/gosa-core/include/smarty/plugins/modifier.spacify.php
deleted file mode 100644
index d2593ec..0000000
--- a/gosa-core/include/smarty/plugins/modifier.spacify.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsModifier
-*/
-
-/**
-* Smarty spacify modifier plugin
-* 
-* Type:     modifier<br>
-* Name:     spacify<br>
-* Purpose:  add spaces between characters in a string
-* 
-* @link http://smarty.php.net/manual/en/language.modifier.spacify.php spacify (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param string $ 
-* @param string $ 
-* @return string 
-*/
-function smarty_modifier_spacify($string, $spacify_char = ' ')
-{
-    return implode($spacify_char, preg_split('//', $string, -1));
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.string_format.php b/gosa-core/include/smarty/plugins/modifier.string_format.php
deleted file mode 100644
index fd96c8b..0000000
--- a/gosa-core/include/smarty/plugins/modifier.string_format.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsModifier
-*/
-
-/**
-* Smarty string_format modifier plugin
-* 
-* Type:     modifier<br>
-* Name:     string_format<br>
-* Purpose:  format strings via sprintf
-* 
-* @link http://smarty.php.net/manual/en/language.modifier.string.format.php string_format (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param string $string input string 
-* @param string $format format string 
-* @return string formatted string
-*/
-    function smarty_modifier_string_format($string, $format)
-    {
-        return sprintf($format, $string);
-    } 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.strip.php b/gosa-core/include/smarty/plugins/modifier.strip.php
deleted file mode 100644
index 39f0f9f..0000000
--- a/gosa-core/include/smarty/plugins/modifier.strip.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsModifier
-*/
-
-/**
-* Smarty strip modifier plugin
-* 
-* Type:     modifier<br>
-* Name:     strip<br>
-* Purpose:  Replace all repeated spaces, newlines, tabs
-*             with a single space or supplied replacement string.<br>
-* Example:  {$var|strip} {$var|strip:" "}
-* Date:     September 25th, 2002
-* 
-* @link http://smarty.php.net/manual/en/language.modifier.strip.php strip (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @version 1.0
-* @param string $ 
-* @param string $ 
-* @return string 
-*/
-function smarty_modifier_strip($text, $replace = ' ')
-{
-        return preg_replace('!\s+!', $replace, $text);
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.strip_tags.php b/gosa-core/include/smarty/plugins/modifier.strip_tags.php
deleted file mode 100644
index 6af08b2..0000000
--- a/gosa-core/include/smarty/plugins/modifier.strip_tags.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsModifier
-*/
-
-/**
-* Smarty strip_tags modifier plugin
-* 
-* Type:     modifier<br>
-* Name:     strip_tags<br>
-* Purpose:  strip html tags from text
-* 
-* @link http://smarty.php.net/manual/en/language.modifier.strip.tags.php strip_tags (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param string $ 
-* @param boolean $ 
-* @return string 
-*/
-function smarty_modifier_strip_tags($string, $replace_with_space = true)
-{
-    if ($replace_with_space) {
-            return preg_replace('!<[^>]*?>!', ' ', $string);
-    } else {
-        return strip_tags($string);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.truncate.php b/gosa-core/include/smarty/plugins/modifier.truncate.php
deleted file mode 100644
index 943a8ab..0000000
--- a/gosa-core/include/smarty/plugins/modifier.truncate.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsModifier
-*/
-
-/**
-* Smarty truncate modifier plugin
-* 
-* Type:     modifier<br>
-* Name:     truncate<br>
-* Purpose:  Truncate a string to a certain length if necessary,
-*             optionally splitting in the middle of a word, and
-*             appending the $etc string or inserting $etc into the middle.
-* 
-* @link http://smarty.php.net/manual/en/language.modifier.truncate.php truncate (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param string $string input string
-* @param integer $length lenght of truncated text
-* @param string $etc end string
-* @param boolean $break_words truncate at word boundary
-* @param boolean $middle truncate in the middle of text
-* @return string truncated string
-*/
-function smarty_modifier_truncate($string, $length = 80, $etc = '...',
-    $break_words = false, $middle = false)
-{
-    if ($length == 0)
-        return '';
-
-    if (is_callable('mb_strlen')) {
-        if (mb_strlen($string) > $length) {
-            $length -= min($length, mb_strlen($etc));
-            if (!$break_words && !$middle) {
-                $string = mb_ereg_replace('/\s+?(\S+)?$/', '', mb_substr($string, 0, $length + 1), 'p');
-            } 
-            if (!$middle) {
-                return mb_substr($string, 0, $length) . $etc;
-            } else {
-                return mb_substr($string, 0, $length / 2) . $etc . mb_substr($string, - $length / 2);
-            } 
-        } else {
-            return $string;
-        } 
-    } else {
-        if (strlen($string) > $length) {
-            $length -= min($length, strlen($etc));
-            if (!$break_words && !$middle) {
-                $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length + 1));
-            } 
-            if (!$middle) {
-                return substr($string, 0, $length) . $etc;
-            } else {
-                return substr($string, 0, $length / 2) . $etc . substr($string, - $length / 2);
-            } 
-        } else {
-            return $string;
-        } 
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.upper.php b/gosa-core/include/smarty/plugins/modifier.upper.php
deleted file mode 100644
index fefa854..0000000
--- a/gosa-core/include/smarty/plugins/modifier.upper.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsModifier
-*/
-
-/**
-* Smarty upper modifier plugin
-* 
-* Type:     modifier<br>
-* Name:     upper<br>
-* Purpose:  convert string to uppercase
-* 
-* @link http://smarty.php.net/manual/en/language.modifier.upper.php upper (Smarty online manual)
-* @author Monte Ohrt <monte at ohrt dot com> 
-* @param string $ 
-* @return string 
-*/
-function smarty_modifier_upper($string)
-{
-    if (function_exists('mb_strtoupper')) {
-        return mb_strtoupper($string);
-    } else {
-        return strtoupper($string);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/plugins/modifier.wordwrap.php b/gosa-core/include/smarty/plugins/modifier.wordwrap.php
deleted file mode 100644
index 92a79de..0000000
--- a/gosa-core/include/smarty/plugins/modifier.wordwrap.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifier
- */
-
-
-/**
- * Smarty wordwrap modifier plugin
- *
- * Type:     modifier<br>
- * Name:     wordwrap<br>
- * Purpose:  wrap a string of text at a given length
- * @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php
- *          wordwrap (Smarty online manual)
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param string
- * @param integer
- * @param string
- * @param boolean
- * @return string
- */
-function smarty_modifier_wordwrap($string,$length=80,$break="\n",$cut=false)
-{
-    return wordwrap($string,$length,$break,$cut);
-}
-
-?>
diff --git a/gosa-core/include/smarty/plugins/outputfilter.trimwhitespace.php b/gosa-core/include/smarty/plugins/outputfilter.trimwhitespace.php
deleted file mode 100644
index ce5fde9..0000000
--- a/gosa-core/include/smarty/plugins/outputfilter.trimwhitespace.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsFilter
- */
-
-/**
- * Smarty trimwhitespace outputfilter plugin
- *
- * File:     outputfilter.trimwhitespace.php<br>
- * Type:     outputfilter<br>
- * Name:     trimwhitespace<br>
- * Date:     Jan 25, 2003<br>
- * Purpose:  trim leading white space and blank lines from
- *           template source after it gets interpreted, cleaning
- *           up code and saving bandwidth. Does not affect
- *           <<PRE>></PRE> and <SCRIPT></SCRIPT> blocks.<br>
- * Install:  Drop into the plugin directory, call
- *           <code>$smarty->load_filter('output','trimwhitespace');</code>
- *           from application.
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @author Contributions from Lars Noschinski <lars at usenet.noschinski.de>
- * @version  1.3
- * @param string $source input string
- * @param object &$smarty Smarty object
- * @return string filtered output
- */
-function smarty_outputfilter_trimwhitespace($source, $smarty)
-{
-    // Pull out the script blocks
-    preg_match_all("!<script[^>]*?>.*?</script>!is", $source, $match);
-    $_script_blocks = $match[0];
-    $source = preg_replace("!<script[^>]*?>.*?</script>!is",
-                           '@@@SMARTY:TRIM:SCRIPT@@@', $source);
-
-    // Pull out the pre blocks
-    preg_match_all("!<pre[^>]*?>.*?</pre>!is", $source, $match);
-    $_pre_blocks = $match[0];
-    $source = preg_replace("!<pre[^>]*?>.*?</pre>!is",
-                           '@@@SMARTY:TRIM:PRE@@@', $source);
-    
-    // Pull out the textarea blocks
-    preg_match_all("!<textarea[^>]*?>.*?</textarea>!is", $source, $match);
-    $_textarea_blocks = $match[0];
-    $source = preg_replace("!<textarea[^>]*?>.*?</textarea>!is",
-                           '@@@SMARTY:TRIM:TEXTAREA@@@', $source);
-
-    // remove all leading spaces, tabs and carriage returns NOT
-    // preceeded by a php close tag.
-    $source = trim(preg_replace('/((?<!\?>)\n)[\s]+/m', '\1', $source));
-
-    // replace textarea blocks
-    smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:TEXTAREA@@@",$_textarea_blocks, $source);
-
-    // replace pre blocks
-    smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:PRE@@@",$_pre_blocks, $source);
-
-    // replace script blocks
-    smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:SCRIPT@@@",$_script_blocks, $source);
-
-    return $source;
-}
-
-function smarty_outputfilter_trimwhitespace_replace($search_str, $replace, &$subject) {
-    $_len = strlen($search_str);
-    $_pos = 0;
-    for ($_i=0, $_count=count($replace); $_i<$_count; $_i++)
-        if (($_pos=strpos($subject, $search_str, $_pos))!==false)
-            $subject = substr_replace($subject, $replace[$_i], $_pos, $_len);
-        else
-            break;
-
-}
-
-?>
diff --git a/gosa-core/include/smarty/plugins/shared.escape_special_chars.php b/gosa-core/include/smarty/plugins/shared.escape_special_chars.php
deleted file mode 100644
index f7142f9..0000000
--- a/gosa-core/include/smarty/plugins/shared.escape_special_chars.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-/**
- * Smarty shared plugin
- * @package Smarty
- * @subpackage PluginsShared
- */
-
-
-/**
- * escape_special_chars common function
- *
- * Function: smarty_function_escape_special_chars<br>
- * Purpose:  used by other smarty functions to escape
- *           special chars except for already escaped ones
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param string
- * @return string
- */
-function smarty_function_escape_special_chars($string)
-{
-    if(!is_array($string)) {
-        $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
-        $string = htmlspecialchars($string);
-        $string = str_replace(array('%%%SMARTY_START%%%','%%%SMARTY_END%%%'), array('&',';'), $string);
-    }
-    return $string;
-}
-
-/* vim: set expandtab: */
-
-?>
diff --git a/gosa-core/include/smarty/plugins/shared.make_timestamp.php b/gosa-core/include/smarty/plugins/shared.make_timestamp.php
deleted file mode 100644
index 4e652ad..0000000
--- a/gosa-core/include/smarty/plugins/shared.make_timestamp.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/**
- * Smarty shared plugin
- * @package Smarty
- * @subpackage PluginsShared
- */
-
-
-/**
- * Function: smarty_make_timestamp<br>
- * Purpose:  used by other smarty functions to make a timestamp
- *           from a string.
- * @author   Monte Ohrt <monte at ohrt dot com>
- * @param string $string
- * @return string
- */
-function smarty_make_timestamp($string)
-{
-    if(empty($string)) {
-        // use "now":
-        $time = time();
-
-    } elseif (preg_match('/^\d{14}$/', $string)) {
-        // it is mysql timestamp format of YYYYMMDDHHMMSS?            
-        $time = mktime(substr($string, 8, 2),substr($string, 10, 2),substr($string, 12, 2),
-                       substr($string, 4, 2),substr($string, 6, 2),substr($string, 0, 4));
-        
-    } elseif (is_numeric($string)) {
-        // it is a numeric string, we handle it as timestamp
-        $time = (int)$string;
-        
-    } else {
-        // strtotime should handle it
-        $time = strtotime($string);
-        if ($time == -1 || $time === false) {
-            // strtotime() was not able to parse $string, use "now":
-            $time = time();
-        }
-    }
-    return $time;
-
-}
-?>
diff --git a/gosa-core/include/smarty/plugins/variablefilter.htmlspecialchars.php b/gosa-core/include/smarty/plugins/variablefilter.htmlspecialchars.php
deleted file mode 100644
index 08a5783..0000000
--- a/gosa-core/include/smarty/plugins/variablefilter.htmlspecialchars.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage PluginsFilter
-*/
-
-/**
-* Smarty htmlspecialchars variablefilter plugin
-* 
-* @param string $source input string
-* @param object $ &$smarty Smarty object
-* @return string filtered output
-*/
-function smarty_variablefilter_htmlspecialchars($source, &$smarty)
-{
-    return htmlspecialchars($source, ENT_QUOTES);
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_cacheresource_file.php b/gosa-core/include/smarty/sysplugins/smarty_internal_cacheresource_file.php
deleted file mode 100644
index c2614c3..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_cacheresource_file.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin CacheResource File
-* 
-* Implements the file system as resource for the HTML cache
-* Version ussing nocache inserts
-* 
-* @package Smarty
-* @subpackage Cacher
-* @author Uwe Tews 
-*/
-
-/**
-* This class does contain all necessary methods for the HTML cache on file system
-*/
-class Smarty_Internal_CacheResource_File {
-    function __construct($smarty)
-    {
-        $this->smarty = $smarty;
-    } 
-    /**
-    * Returns the filepath of the cached template output
-    * 
-    * @param object $_template current template
-    * @return string the cache filepath
-    */
-    public function getCachedFilepath($_template)
-    {
-        $_source_file_path = str_replace(':', '.', $_template->getTemplateFilepath());
-        $_cache_id = isset($_template->cache_id) ? preg_replace('![^\w\|]+!', '_', $_template->cache_id) : null;
-        $_compile_id = isset($_template->compile_id) ? preg_replace('![^\w\|]+!', '_', $_template->compile_id) : null; 
-        $_filepath = $_template->templateUid; 
-        // if use_sub_dirs, break file into directories
-        if ($this->smarty->use_sub_dirs) {
-            $_filepath = substr($_filepath, 0, 2) . DS
-             . substr($_filepath, 2, 2) . DS
-             . substr($_filepath, 4, 2) . DS
-             . $_filepath;
-        } 
-        $_compile_dir_sep = $this->smarty->use_sub_dirs ? DS : '^';
-        if (isset($_cache_id)) {
-            $_cache_id = str_replace('|', $_compile_dir_sep, $_cache_id) . $_compile_dir_sep;
-        } else {
-            $_cache_id = '';
-        } 
-        if (isset($_compile_id)) {
-            $_compile_id = $_compile_id . $_compile_dir_sep;
-        } else {
-            $_compile_id = '';
-        } 
-        $_cache_dir = $this->smarty->cache_dir;
-        if (strpos('/\\', substr($_cache_dir, -1)) === false) {
-            $_cache_dir .= DS;
-        } 
-        return $_cache_dir . $_cache_id . $_compile_id . $_filepath . '.' . basename($_source_file_path) . '.php';
-    } 
-
-    /**
-    * Returns the timpestamp of the cached template output
-    * 
-    * @param object $_template current template
-    * @return integer |booelan the template timestamp or false if the file does not exist
-    */
-    public function getCachedTimestamp($_template)
-    { 
-        // return @filemtime ($_template->getCachedFilepath());
-        return ($_template->getCachedFilepath() && file_exists($_template->getCachedFilepath())) ? filemtime($_template->getCachedFilepath()) : false ;
-    } 
-
-    /**
-    * Returns the cached template output
-    * 
-    * @param object $_template current template
-    * @return string |booelan the template content or false if the file does not exist
-    */
-    public function getCachedContents($_template)
-    {
-        ob_start();
-        $_smarty_tpl = $_template;
-        include $_template->getCachedFilepath();
-        return ob_get_clean();
-    } 
-
-    /**
-    * Writes the rendered template output to cache file
-    * 
-    * @param object $_template current template
-    * @return boolean status
-    */
-    public function writeCachedContent($_template, $content)
-    {
-        if (!$_template->resource_object->isEvaluated) {
-            if (Smarty_Internal_Write_File::writeFile($_template->getCachedFilepath(), $content, $this->smarty) === true) {
-                $_template->cached_timestamp = filemtime($_template->getCachedFilepath());
-                return true;
-            } 
-        } 
-        return false;
-    } 
-
-    /**
-    * Empty cache folder
-    * 
-    * @param integer $exp_time expiration time
-    * @return integer number of cache files deleted
-    */
-    public function clearAll($exp_time = null)
-    {
-        return $this->clear(null, null, null, $exp_time);
-    } 
-    /**
-    * Empty cache for a specific template
-    * 
-    * @param string $resource_name template name
-    * @param string $cache_id cache id
-    * @param string $compile_id compile id
-    * @param integer $exp_time expiration time
-    * @return integer number of cache files deleted
-    */
-    public function clear($resource_name, $cache_id, $compile_id, $exp_time)
-    {
-        $_cache_id = isset($cache_id) ? preg_replace('![^\w\|]+!', '_', $cache_id) : null;
-        $_compile_id = isset($compile_id) ? preg_replace('![^\w\|]+!', '_', $compile_id) : null;
-        $_dir_sep = $this->smarty->use_sub_dirs ? '/' : '^';
-        $_compile_id_offset = $this->smarty->use_sub_dirs ? 3 : 0;
-        $_dir = rtrim($this->smarty->cache_dir, '/\\') . DS;
-        $_dir_length = strlen($_dir);
-        if (isset($_cache_id)) {
-            $_cache_id_parts = explode('|', $_cache_id);
-            $_cache_id_parts_count = count($_cache_id_parts);
-        } 
-        $_count = 0;
-        $_cacheDirs = new RecursiveDirectoryIterator($_dir);
-        $_cache = new RecursiveIteratorIterator($_cacheDirs, RecursiveIteratorIterator::CHILD_FIRST);
-        foreach ($_cache as $_file) {
-            if (strpos($_file, '.svn') !== false) continue; 
-            // directory ?
-            if ($_file->isDir()) {
-                if (!$_cache->isDot()) {
-                    // delete folder if empty
-                    @rmdir($_file->getPathname());
-                } 
-            } else {
-                $_parts = explode($_dir_sep, str_replace('\\', '/', substr((string)$_file, $_dir_length)));
-                $_parts_count = count($_parts); 
-                // check name
-                if (isset($resource_name)) {
-                    $_filename_parts = explode('.', $_parts[$_parts_count-1]);
-                    $_resourcename_parts = explode('.', $resource_name . '.php');
-                    if (count($_filename_parts)-1 != count($_resourcename_parts)) {
-                        continue;
-                    } 
-                    for ($i = 0; $i < count($_resourcename_parts); $i++) {
-                        if ($_filename_parts[$i + 1] != $_resourcename_parts[$i]) continue 2;
-                    } 
-                }
-                // check compile id
-                if (isset($_compile_id) && $_parts[$_parts_count-2 - $_compile_id_offset] != $_compile_id) {
-                    continue;
-                } 
-                // check cache id
-                if (isset($_cache_id)) {
-                    // count of cache id parts
-                    $_parts_count = (isset($_compile_id)) ? $_parts_count - 2 - $_compile_id_offset : $_parts_count - 1 - $_compile_id_offset;
-                    if ($_parts_count < $_cache_id_parts_count) {
-                        continue;
-                    } 
-                    for ($i = 0; $i < $_cache_id_parts_count; $i++) {
-                        if ($_parts[$i] != $_cache_id_parts[$i]) continue 2;
-                    } 
-                } 
-                // expired ?
-                if (isset($exp_time) && time() - @filemtime($_file) < $exp_time) {
-                    continue;
-                } 
-                $_count += @unlink((string) $_file) ? 1 : 0;
-            } 
-        } 
-        return $_count;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_append.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_append.php
deleted file mode 100644
index d60d808..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_append.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile Append
-* 
-* Compiles the {append} tag
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Append Class
-*/
-class Smarty_Internal_Compile_Append extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {append} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('var', 'value');
-        $this->optional_attributes = array('scope', 'nocache', 'index');
-
-        $_nocache = 'null';
-        $_scope = 'null'; 
-        // check for nocache attribute before _get_attributes because
-        // it shall not controll caching of the compiled code, but is a parameter
-        if (isset($args['nocache'])) {
-            if ($args['nocache'] == 'true') {
-                $_nocache = 'true';
-                $_nocache_boolean = true;
-            } 
-            unset($args['nocache']);
-        } 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        if (isset($_attr['scope'])) {
-            if ($_attr['scope'] == '\'parent\'') {
-                $_scope = SMARTY_PARENT_SCOPE;
-            } elseif ($_attr['scope'] == '\'root\'') {
-                $_scope = SMARTY_ROOT_SCOPE;
-           } elseif ($_attr['scope'] == '\'global\'') {
-                $_scope = SMARTY_GLOBAL_SCOPE;
-            } 
-        } 
-        // compiled output
-        if (isset($_attr['index'])) {
-            return "<?php \$_smarty_tpl->append($_attr[var],array($_attr[index] => $_attr[value]),true,$_nocache,$_scope);?>";
-        } else {
-            return "<?php \$_smarty_tpl->append($_attr[var],$_attr[value],false,$_nocache,$_scope);?>";
-        } 
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_assign.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_assign.php
deleted file mode 100644
index 57c4ce7..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_assign.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile Assign
-* 
-* Compiles the {assign} tag
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Assign Class
-*/
-class Smarty_Internal_Compile_Assign extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {assign} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('var', 'value');
-        $this->optional_attributes = array('scope', 'nocache', 'smarty_internal_index');
-
-        $_nocache = 'null';
-        $_scope = 'null'; 
-        // check for nocache attribute before _get_attributes because
-        // it shall not controll caching of the compiled code, but is a parameter
-        if (isset($args['nocache'])) {
-            if ($args['nocache'] == 'true') {
-                $_nocache = 'true';
-                $_nocache_boolean = true;
-            } 
-            unset($args['nocache']);
-        } 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        if (isset($_attr['scope'])) {
-            if ($_attr['scope'] == '\'parent\'') {
-                $_scope = SMARTY_PARENT_SCOPE;
-            } elseif ($_attr['scope'] == '\'root\'') {
-                $_scope = SMARTY_ROOT_SCOPE;
-           } elseif ($_attr['scope'] == '\'global\'') {
-                $_scope = SMARTY_GLOBAL_SCOPE;
-            } 
-        } 
-        // compiled output
-        if (isset($_attr['smarty_internal_index'])) {
-            if ($_attr['smarty_internal_index'] == '') {
-                return "<?php \$_smarty_tpl->append($_attr[var],$_attr[value],false,$_nocache,$_scope);?>";
-            } else {
-                return "<?php \$_tmp$_attr[smarty_internal_index] = $_attr[value]; \$_smarty_tpl->append($_attr[var],\$_tmp,true,$_nocache,$_scope); unset (\$_tmp);?>";
-            } 
-        } else {
-            return "<?php \$_smarty_tpl->assign($_attr[var],$_attr[value],$_nocache,$_scope);?>";
-        } 
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_block.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_block.php
deleted file mode 100644
index 45bca20..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_block.php
+++ /dev/null
@@ -1,108 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Block
-* 
-* Compiles the {block}{/block} tags
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Block Class
-*/
-class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {block} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return boolean true
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('name');
-        $this->optional_attributes = array('assign','nocache'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-        $save = array($_attr, $compiler->template->extracted_compiled_code, $compiler->template->extract_code, $this->compiler->nocache);
-        $this->_open_tag('block', $save);
-        if (isset($_attr['nocache'])) {
-            if ($_attr['nocache'] == 'true') {
-                $compiler->nocache = true;
-            } 
-        } 
-
-        $compiler->template->extract_code = true;
-        $compiler->template->extracted_compiled_code = '';
-        $compiler->has_code = false;
-        return true;
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile BlockClose Class
-*/
-class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {/block} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->smarty = $compiler->smarty;
-        $this->compiler->has_code = true; 
-        // turn off block code extraction
-        $compiler->template->extract_code = false; 
-        // check and get attributes
-        $this->optional_attributes = array('name');
-        $_attr = $this->_get_attributes($args);
-        $saved_data = $this->_close_tag(array('block')); 
-        // if name does match to opening tag
-        if (isset($_attr['name']) && $saved_data[0]['name'] != $_attr['name']) {
-            $this->compiler->trigger_template_error('mismatching name attributes "' . $saved_data[0]['name'] . '" and "' . $_attr['name'] . '"');
-        } 
-        $_name = trim($saved_data[0]['name'], "\"'");
-        if (isset($this->smarty->block_data[$_name])) {
-            $_tpl = $this->smarty->createTemplate('string:' . $this->smarty->block_data[$_name]['source'], null, null, $compiler->template);
-            $_tpl->properties['nocache_hash'] = $compiler->template->properties['nocache_hash'];
-            $_tpl->template_filepath = $this->smarty->block_data[$_name]['file'];
-            if ($compiler->nocache) {
-                $_tpl->forceNocache = 2;
-            } else {
-                $_tpl->forceNocache = 1;
-            } 
-            $_tpl->suppressHeader = true;
-            $_tpl->suppressFileDependency = true;
-            if (strpos($this->smarty->block_data[$_name]['source'], '%%%%SMARTY_PARENT%%%%') !== false) {
-                $_output = str_replace('%%%%SMARTY_PARENT%%%%', $compiler->template->extracted_compiled_code, $_tpl->getCompiledTemplate());
-            } elseif ($this->smarty->block_data[$_name]['mode'] == 'prepend') {
-                $_output = $_tpl->getCompiledTemplate() . $compiler->template->extracted_compiled_code;
-            } elseif ($this->smarty->block_data[$_name]['mode'] == 'append') {
-                $_output = $compiler->template->extracted_compiled_code . $_tpl->getCompiledTemplate();
-            } elseif (!empty($this->smarty->block_data[$_name])) {
-                $_output = $_tpl->getCompiledTemplate();
-            } 
-            $compiler->template->properties['file_dependency'] = array_merge($compiler->template->properties['file_dependency'], $_tpl->properties['file_dependency']);
-            $compiler->template->properties['function'] = array_merge($compiler->template->properties['function'], $_tpl->properties['function']);
-            $compiler->template->required_plugins['compiled'] = array_merge($compiler->template->required_plugins['compiled'], $_tpl->required_plugins['compiled']);
-            $compiler->template->required_plugins['cache'] = array_merge($compiler->template->required_plugins['cache'], $_tpl->required_plugins['cache']);
-            unset($_tpl);
-        } else {
-            $_output = $compiler->template->extracted_compiled_code;
-        } 
-        $compiler->template->extracted_compiled_code = $saved_data[1];
-        $compiler->template->extract_code = $saved_data[2];
-        $compiler->nocache = $saved_data[3]; 
-        // $_output content has already nocache code processed
-        $compiler->suppressNocacheProcessing = true;
-        return $_output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_call.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_call.php
deleted file mode 100644
index 6fd8aa8..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_call.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile Function_Call
-* 
-* Compiles the calls of user defined tags defined by {function}
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Function_Call Class
-*/
-class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles the calls of user defined tags defined by {function}
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('name');
-        $this->optional_attributes = array('_any'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args); 
-        // save posible attributes
-        if (isset($_attr['assign'])) {
-            // output will be stored in a smarty variable instead of beind displayed
-            $_assign = $_attr['assign'];
-        } 
-        // set flag (compiled code of {function} must be included in cache file
-        if ($this->compiler->nocache || $this->compiler->tag_nocache) {
-            $nocache = 'true';
-        } else {
-            $nocache = 'false';
-        } 
-        // create template object
-        $_output = "<?php \$_template = new Smarty_Internal_Function_Call_Handler ({$_attr['name']}, \$_smarty_tpl->smarty, \$_smarty_tpl, {$nocache});\n"; 
-        // delete {include} standard attributes
-        unset($_attr['name'], $_attr['assign']); 
-        // remaining attributes must be assigned as smarty variable
-        if (!empty($_attr)) {
-            // create variables
-            foreach ($_attr as $_key => $_value) {
-                $_output .= "\$_template->assign('$_key',$_value);\n";
-            } 
-        } 
-        // was there an assign attribute
-        if (isset($_assign)) {
-            $_output .= "\$_smarty_tpl->assign({$_assign},\$_template->getRenderedTemplate());\n";
-        } else {
-            $_output .= "echo \$_template->getRenderedTemplate();\n";
-        } 
-        $_output .= 'unset($_template);?>';
-        return $_output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_capture.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_capture.php
deleted file mode 100644
index 752cb3a..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_capture.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Capture
-* 
-* Compiles the {capture} tag
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Capture Class
-*/
-class Smarty_Internal_Compile_Capture extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {capture} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->optional_attributes = array('name', 'assign', 'append'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        $buffer = isset($_attr['name']) ? $_attr['name'] : "'default'";
-        $assign = isset($_attr['assign']) ? $_attr['assign'] : null;
-        $append = isset($_attr['append']) ? $_attr['append'] : null;
-
-        $this->compiler->_capture_stack[] = array($buffer, $assign, $append);
-
-        $_output = "<?php ob_start(); ?>";
-
-        return $_output;
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Captureclose Class
-*/
-class Smarty_Internal_Compile_CaptureClose extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {/capture} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        list($buffer, $assign, $append) = array_pop($this->compiler->_capture_stack);
-
-        $_output = "<?php ";
-        if (isset($assign)) {
-            $_output .= " \$_smarty_tpl->assign($assign, ob_get_contents());";
-        } 
-        if (isset($append)) {
-            $_output .= " \$_smarty_tpl->append($append, ob_get_contents());";
-        } 
-        $_output .= " \$_smarty_tpl->smarty->_smarty_vars['capture'][$buffer]=ob_get_clean();?>";
-        return $_output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_config_load.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_config_load.php
deleted file mode 100644
index 0dd1ba8..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_config_load.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile Config Load
-* 
-* Compiles the {config load} tag
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Config Load Class
-*/
-class Smarty_Internal_Compile_Config_Load extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {config_load} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('file');
-        $this->optional_attributes = array('section', 'scope'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args); 
-        // save posible attributes
-        $conf_file = $_attr['file'];
-        if (isset($_attr['section'])) {
-            $section = $_attr['section'];
-        } else {
-            $section = 'null';
-        } 
-        $scope = '$_smarty_tpl->smarty';
-        if (isset($_attr['scope'])) {
-            if ($_attr['scope'] == '\'local\'') {
-                $scope = '$_smarty_tpl';
-            } elseif ($_attr['scope'] == '\'parent\'') {
-                $scope = '$_smarty_tpl->parent';
-            } 
-        } 
-
-        // create config object
-        $_output = "<?php  \$_config = new Smarty_Internal_Config($conf_file, \$_smarty_tpl->smarty, \$_smarty_tpl);";
-        $_output .= "\$_config->loadConfigVars($section, $scope); ?>";
-        return $_output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_debug.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_debug.php
deleted file mode 100644
index 8ff9671..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_debug.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php 
-/**
-* Smarty Internal Plugin Compile Debug
-*
-* Compiles the {debug} tag 
-* It opens a window the the Smarty Debugging Console
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
-/**
-* Smarty Internal Plugin Compile Debug Class
-*/ 
-class Smarty_Internal_Compile_Debug extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {debug} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        // display debug template
-        $_output = "<?php \$_smarty_tpl->smarty->loadPlugin('Smarty_Internal_Debug'); Smarty_Internal_Debug::display_debug(\$_smarty_tpl->smarty); ?>";
-        return $_output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_eval.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_eval.php
deleted file mode 100644
index 6f17de7..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_eval.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile Eval
-*
-* Compiles the {eval} tag 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
-/**
-* Smarty Internal Plugin Compile Eval Class
-*/ 
-class Smarty_Internal_Compile_Eval extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {eval} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        $this->required_attributes = array('var');
-        $this->optional_attributes = array('assign'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args); 
-        if (isset($_attr['assign'])) {
-              // output will be stored in a smarty variable instead of beind displayed
-            $_assign = $_attr['assign'];
-        }
-  
-        // create template object
-        $_output = "\$_template = new {$compiler->smarty->template_class}('string:'.".$_attr['var'].", \$_smarty_tpl->smarty, \$_smarty_tpl);"; 
-        //was there an assign attribute? 
-        if (isset($_assign)) {
-            $_output .= "\$_smarty_tpl->assign($_assign,\$_template->getRenderedTemplate());";
-        } else {
-            $_output .= "echo \$_template->getRenderedTemplate();";
-        } 
-        return "<?php $_output ?>";
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_extends.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_extends.php
deleted file mode 100644
index cf4a187..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_extends.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile extend
-* 
-* Compiles the {extends} tag
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile extend Class
-*/
-class Smarty_Internal_Compile_Extends extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {extends} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->smarty = $compiler->smarty;
-        $this->_rdl = preg_quote($this->smarty->right_delimiter);
-        $this->_ldl = preg_quote($this->smarty->left_delimiter);
-        $this->required_attributes = array('file'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-        $_smarty_tpl = $compiler->template; 
-        // $include_file = '';
-        eval('$include_file = ' . $_attr['file'] . ';'); 
-        // create template object
-        $_template = new $compiler->smarty->template_class($include_file, $this->smarty, $compiler->template); 
-        // save file dependency
-        $compiler->template->properties['file_dependency'][sha1($_template->getTemplateFilepath())] = array($_template->getTemplateFilepath(), $_template->getTemplateTimestamp());
-        $_old_source = $compiler->template->template_source;
-        if (preg_match_all("!({$this->_ldl}block(.+?){$this->_rdl})!", $_old_source, $s, PREG_OFFSET_CAPTURE) !=
-                preg_match_all("!({$this->_ldl}/block(.*?){$this->_rdl})!", $_old_source, $c, PREG_OFFSET_CAPTURE)) {
-            $this->compiler->trigger_template_error('unmatched {block} {/block} pairs');
-        } 
-        $block_count = count($s[0]);
-        for ($i = 0; $i < $block_count; $i++) {
-            $block_content = str_replace($this->smarty->left_delimiter . '$smarty.parent' . $this->smarty->right_delimiter, '%%%%SMARTY_PARENT%%%%',
-                substr($_old_source, $s[0][$i][1] + strlen($s[0][$i][0]), $c[0][$i][1] - $s[0][$i][1] - strlen($s[0][$i][0])));
-            $this->saveBlockData($block_content, $s[0][$i][0], $compiler->template);
-        } 
-        $compiler->template->template_source = $_template->getTemplateSource();
-        $compiler->template->template_filepath = $_template->getTemplateFilepath();
-        $compiler->abort_and_recompile = true;
-        return ' ';
-    } 
-
-    protected function saveBlockData($block_content, $block_tag, $template)
-    {
-        if (0 == preg_match("!(.?)(name=)(.*?)(?=(\s|{$this->_rdl}))!", $block_tag, $_match)) {
-            $this->compiler->trigger_template_error("\"" . $block_tag . "\" missing name attribute");
-        } else {
-            $_name = trim($_match[3], '\'"');
-            if (isset($this->smarty->block_data[$_name])) {
-                if (strpos($this->smarty->block_data[$_name]['source'], '%%%%SMARTY_PARENT%%%%') !== false) {
-                    $this->smarty->block_data[$_name]['source'] =
-                    str_replace('%%%%SMARTY_PARENT%%%%', $block_content, $this->smarty->block_data[$_name]['source']);
-                } elseif ($this->smarty->block_data[$_name]['mode'] == 'prepend') {
-                    $this->smarty->block_data[$_name]['source'] .= $block_content;
-                } elseif ($this->smarty->block_data[$_name]['mode'] == 'append') {
-                    $this->smarty->block_data[$_name]['source'] = $block_content . $this->smarty->block_data[$_name]['source'];
-                } 
-            } else {
-                $this->smarty->block_data[$_name]['source'] = $block_content;
-            } 
-            if (preg_match('/(.?)(append)(.*)/', $block_tag, $_match) != 0) {
-                $this->smarty->block_data[$_name]['mode'] = 'append';
-            } elseif (preg_match('/(.?)(prepend)(.*)/', $block_tag, $_match) != 0) {
-                $this->smarty->block_data[$_name]['mode'] = 'prepend';
-            } else {
-                $this->smarty->block_data[$_name]['mode'] = 'replace';
-            } 
-            $this->smarty->block_data[$_name]['file'] = $template->getTemplateFilepath();
-        } 
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_for.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_for.php
deleted file mode 100644
index 7b9889e..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_for.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile For
-* 
-* Compiles the {for} {forelse} {/for} tags
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile For Class
-*/
-class Smarty_Internal_Compile_For extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {for} tag
-    * 
-    * Smarty 3 does implement two different sytaxes:
-    * 
-    * - {for $var in $array}
-    * For looping over arrays or iterators
-    * 
-    * - {for $x=0; $x<$y; $x++}
-    * For general loops
-    * 
-    * The parser is gereration different sets of attribute by which this compiler can 
-    * determin which syntax is used.
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        // {for $x=0; $x<$y; $x++} syntax
-        if (isset($args['ifexp'])) {
-            $this->required_attributes = array('ifexp', 'start', 'loop', 'varloop');
-        } else {
-            $this->required_attributes = array('start', 'to');
-            $this->optional_attributes = array('step', 'max');
-        } 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        $this->_open_tag('for', array('for', $this->compiler->nocache)); 
-        // maybe nocache because of nocache variables
-        $this->compiler->nocache = $this->compiler->nocache | $this->compiler->tag_nocache;
-
-        $output = "<?php ";
-        if (isset($_attr['ifexp'])) {
-            foreach ($_attr['start'] as $_statement) {
-                $output .= " \$_smarty_tpl->tpl_vars[$_statement[var]] = new Smarty_Variable;";
-                $output .= " \$_smarty_tpl->tpl_vars[$_statement[var]]->value = $_statement[value];\n";
-            } 
-            $output .= "  if ($_attr[ifexp]){ for (\$_foo=true;$_attr[ifexp]; \$_smarty_tpl->tpl_vars[$_attr[varloop]]->value$_attr[loop]){\n";
-        } else {
-            $_statement = $_attr['start'];
-            $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]] = new Smarty_Variable;";
-            if (isset($_attr['step'])) {
-                $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->step = $_attr[step];";
-            } else {
-                $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->step = ($_attr[to] - ($_statement[value]) < 0) ? -1 : 1;";
-            } 
-            if (isset($_attr['max'])) {
-                $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->total = (int)min(ceil((\$_smarty_tpl->tpl_vars[$_statement[var]]->step > 0 ? $_attr[to]+1 - $_statement[value] : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$_statement[var]]->step)),$_attr[max]);\n";
-            } else {
-                $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->total = (int)ceil((\$_smarty_tpl->tpl_vars[$_statement[var]]->step > 0 ? $_attr[to]+1 - $_statement[value] : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$_statement[var]]->step));\n";
-            } 
-            $output .= "if (\$_smarty_tpl->tpl_vars[$_statement[var]]->total > 0){\n";
-            $output .= "for (\$_smarty_tpl->tpl_vars[$_statement[var]]->value = $_statement[value], \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration = 1;\$_smarty_tpl->tpl_vars[$_statement[var]]->iteration <= \$_smarty_tpl->tpl_vars[$_statement[var]]->total;\$_smarty_tpl->tpl_vars[$_statement[var]]->value += \$_smarty_tpl->tpl_vars[$_statement[var]]->step, \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration++){\n";
-            $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->first = \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration == 1;";
-            $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->last = \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration == \$_smarty_tpl->tpl_vars[$_statement[var]]->total;";
-        } 
-        $output .= "?>"; 
-        // return compiled code
-        return $output;
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Forelse Class
-*/
-class Smarty_Internal_Compile_Forelse extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {forelse} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        list($_open_tag, $nocache) = $this->_close_tag(array('for'));
-        $this->_open_tag('forelse', array('forelse', $nocache));
-        return "<?php }} else { ?>";
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Forclose Class
-*/
-class Smarty_Internal_Compile_Forclose extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {/for} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args); 
-        // must endblock be nocache?
-        if ($this->compiler->nocache) {
-            $this->compiler->tag_nocache = true;
-        } 
-
-        list($_open_tag, $this->compiler->nocache) = $this->_close_tag(array('for', 'forelse'));
-        if ($_open_tag == 'forelse')
-            return "<?php }  ?>";
-        else
-            return "<?php }} ?>";
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_foreach.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_foreach.php
deleted file mode 100644
index 09801fd..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_foreach.php
+++ /dev/null
@@ -1,192 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Foreach
-* 
-* Compiles the {foreach} {foreachelse} {/foreach} tags
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Foreach Class
-*/
-class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {foreach} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('from', 'item');
-        $this->optional_attributes = array('name', 'key');
-        $tpl = $compiler->template; 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        $this->_open_tag('foreach', array('foreach',$this->compiler->nocache));
-		// maybe nocache because of nocache variables
-		$this->compiler->nocache = $this->compiler->nocache | $this->compiler->tag_nocache;
-
-        $from = $_attr['from'];
-        $item = $_attr['item'];
-
-        if (isset($_attr['key'])) {
-            $key = $_attr['key'];
-        } else {
-            $key = null;
-        } 
-
-        if (isset($_attr['name'])) {
-            $name = $_attr['name'];
-            $has_name = true;
-            $SmartyVarName = '$smarty.foreach.' . trim($name,'\'"') . '.';
-        } else {
-            $name = null;
-            $has_name = false;
-        } 
-        $ItemVarName = '$' . trim($item,'\'"') . '@';
-        // evaluates which Smarty variables and properties have to be computed
-        if ($has_name) {
-            $usesSmartyFirst = strpos($tpl->template_source, $SmartyVarName . 'first') !== false;
-            $usesSmartyLast = strpos($tpl->template_source, $SmartyVarName . 'last') !== false;
-            $usesSmartyIndex = strpos($tpl->template_source, $SmartyVarName . 'index') !== false;
-            $usesSmartyIteration = strpos($tpl->template_source, $SmartyVarName . 'iteration') !== false;
-            $usesSmartyShow = strpos($tpl->template_source, $SmartyVarName . 'show') !== false;
-            $usesSmartyTotal = $usesSmartyLast || strpos($tpl->template_source, $SmartyVarName . 'total') !== false;
-        } else {
-            $usesSmartyFirst = false;
-            $usesSmartyLast = false;
-            $usesSmartyTotal = false;
-        }
-
-        $usesPropFirst = $usesSmartyFirst || strpos($tpl->template_source, $ItemVarName . 'first') !== false;
-        $usesPropLast = $usesSmartyLast || strpos($tpl->template_source, $ItemVarName . 'last') !== false;
-        $usesPropIndex = $usesPropFirst || strpos($tpl->template_source, $ItemVarName . 'index') !== false;
-        $usesPropIteration = $usesPropLast || strpos($tpl->template_source, $ItemVarName . 'iteration') !== false;
-        $usesPropShow = strpos($tpl->template_source, $ItemVarName . 'show') !== false;
-        $usesPropTotal = $usesSmartyTotal || $usesPropLast || strpos($tpl->template_source, $ItemVarName . 'total') !== false; 
-        // generate output code
-        $output = "<?php ";
-        $output .= " \$_smarty_tpl->tpl_vars[$item] = new Smarty_Variable;\n";
-        if ($key != null) {
-            $output .= " \$_smarty_tpl->tpl_vars[$key] = new Smarty_Variable;\n";
-        } 
-        $output .= " \$_from = $from; if (!is_array(\$_from) && !is_object(\$_from)) { settype(\$_from, 'array');}\n";
-        if ($usesPropTotal) {
-            $output .= " \$_smarty_tpl->tpl_vars[$item]->total=count(\$_from);\n";
-        } 
-        if ($usesPropIteration) {
-            $output .= " \$_smarty_tpl->tpl_vars[$item]->iteration=0;\n";
-        } 
-        if ($usesPropIndex) {
-            $output .= " \$_smarty_tpl->tpl_vars[$item]->index=-1;\n";
-        } 
-        if ($has_name) {
-            if ($usesSmartyTotal) {
-                $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['total'] = \$_smarty_tpl->tpl_vars[$item]->total;\n";
-            } 
-            if ($usesSmartyIteration) {
-                $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['iteration']=0;\n";
-            } 
-            if ($usesSmartyIndex) {
-                $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['index']=-1;\n";
-            } 
-        } 
-        $output .= "if (count(\$_from) > 0){\n";
-        $output .= "    foreach (\$_from as \$_smarty_tpl->tpl_vars[$item]->key => \$_smarty_tpl->tpl_vars[$item]->value){\n";
-        if ($key != null) {
-            $output .= " \$_smarty_tpl->tpl_vars[$key]->value = \$_smarty_tpl->tpl_vars[$item]->key;\n";
-        } 
-        if ($usesPropIteration) {
-            $output .= " \$_smarty_tpl->tpl_vars[$item]->iteration++;\n";
-        } 
-        if ($usesPropIndex) {
-            $output .= " \$_smarty_tpl->tpl_vars[$item]->index++;\n";
-        } 
-        if ($usesPropFirst) {
-            $output .= " \$_smarty_tpl->tpl_vars[$item]->first = \$_smarty_tpl->tpl_vars[$item]->index === 0;\n";
-        } 
-        if ($usesPropLast) {
-            $output .= " \$_smarty_tpl->tpl_vars[$item]->last = \$_smarty_tpl->tpl_vars[$item]->iteration === \$_smarty_tpl->tpl_vars[$item]->total;\n";
-        } 
-        if ($has_name) {
-            if ($usesSmartyFirst) {
-                $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['first'] = \$_smarty_tpl->tpl_vars[$item]->first;\n";
-            } 
-            if ($usesSmartyIteration) {
-                $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['iteration']++;\n";
-            } 
-            if ($usesSmartyIndex) {
-                $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['index']++;\n";
-            } 
-            if ($usesSmartyLast) {
-                $output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['last'] = \$_smarty_tpl->tpl_vars[$item]->last;\n";
-            } 
-        } 
-        $output .= "?>";
-
-        return $output;
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Foreachelse Class
-*/ 
-class Smarty_Internal_Compile_Foreachelse extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {foreachelse} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        list($_open_tag, $nocache) = $this->_close_tag(array('foreach'));
-        $this->_open_tag('foreachelse',array('foreachelse', $nocache));
-
-        return "<?php }} else { ?>";
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Foreachclose Class
-*/ 
-class Smarty_Internal_Compile_Foreachclose extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {/foreach} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-		// must endblock be nocache?
-		if ($this->compiler->nocache) {
-               $this->compiler->tag_nocache = true;
-        }
-
-        list($_open_tag, $this->compiler->nocache) = $this->_close_tag(array('foreach', 'foreachelse'));
-
-        if ($_open_tag == 'foreachelse')
-            return "<?php } ?>";
-        else
-            return "<?php }} ?>";
-    } 
-}
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_function.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_function.php
deleted file mode 100644
index 23fc27d..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_function.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Function
-* 
-* Compiles the {function} {/function} tags
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Function Class
-*/
-class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {function} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return boolean true
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('name');
-        $this->optional_attributes = array('_any'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-        $save = array($_attr, $compiler->template->extracted_compiled_code, $compiler->template->extract_code,
-            $compiler->template->has_nocache_code, $compiler->template->required_plugins);
-        $this->_open_tag('function', $save);
-        $_name = trim($_attr['name'], "'\"");
-        unset($_attr['name']);
-        foreach ($_attr as $_key => $_data) {
-            $compiler->template->properties['function'][$_name]['parameter'][$_key] = $_data;
-        } 
-        // make function known for recursive calls
-        $this->compiler->smarty->template_functions[$_name]['compiled'] = ''; 
-        // Init temporay context
-        $compiler->template->required_plugins = array('compiled' => array(), 'cache' => array());
-        $compiler->template->extract_code = true;
-        $compiler->template->extracted_compiled_code = '';
-        $compiler->template->has_nocache_code = false;
-        $compiler->has_code = false;
-        return true;
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Functionclose Class
-*/
-class Smarty_Internal_Compile_Functionclose extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {/function} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return boolean true
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->compiler->has_code = false;
-        $_attr = $this->_get_attributes($args);
-        $saved_data = $this->_close_tag(array('function'));
-        $_name = trim($saved_data[0]['name'], "'"); 
-        // build plugin include code
-        $plugins_string = '';
-        if (!empty($compiler->template->required_plugins['compiled'])) {
-            $plugins_string = '<?php ';
-            foreach($compiler->template->required_plugins['compiled'] as $plugin_name => $data) {
-                $plugin = 'smarty_' . $data['type'] . '_' . $plugin_name;
-                $plugins_string .= "if (!is_callable('{$plugin}')) include '{$data['file']}';\n";
-            } 
-            $plugins_string .= '?>';
-        } 
-        if (!empty($compiler->template->required_plugins['cache'])) {
-            $plugins_string .= "<?php echo '/*%%SmartyNocache:{$compiler->template->properties['nocache_hash']}%%*/<?php ";
-            foreach($compiler->template->required_plugins['cache'] as $plugin_name => $data) {
-                $plugin = 'smarty_' . $data['type'] . '_' . $plugin_name;
-                $plugins_string .= "if (!is_callable(\'{$plugin}\')) include \'{$data['file']}\';\n";
-            } 
-            $plugins_string .= "?>/*/%%SmartyNocache:{$compiler->template->properties['nocache_hash']}%%*/';?>\n";
-        } 
-        $compiler->template->properties['function'][$_name]['compiled'] = $plugins_string . $compiler->template->extracted_compiled_code;
-        $compiler->template->properties['function'][$_name]['nocache_hash'] = $compiler->template->properties['nocache_hash'];
-        $compiler->template->properties['function'][$_name]['has_nocache_code'] = $compiler->template->has_nocache_code;
-//        $compiler->template->properties['function'][$_name]['plugins'] = $compiler->template->required_plugins;
-        $this->compiler->smarty->template_functions[$_name] = $compiler->template->properties['function'][$_name];
-        // restore old compiler status
-        $compiler->template->extracted_compiled_code = $saved_data[1];
-        $compiler->template->extract_code = $saved_data[2];
-        $compiler->template->has_nocache_code = $saved_data[3];
-        $compiler->template->required_plugins = $saved_data[4];
-        return true;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_if.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_if.php
deleted file mode 100644
index 9d05f42..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_if.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile If
-* 
-* Compiles the {if} {else} {elseif} {/if} tags
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile If Class
-*/
-class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {if} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('if condition'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-        $this->_open_tag('if',array(1,$compiler->tag_nocache));
-        if (is_array($args['if condition'])) {
-            $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[".$args['if condition']['var']."])) \$_smarty_tpl->tpl_vars[".$args['if condition']['var']."] = new Smarty_Variable;";
-            $_output .= "if (\$_smarty_tpl->tpl_vars[".$args['if condition']['var']."]->value = ".$args['if condition']['value']."){?>";
-            return $_output;
-        } else {
-            return "<?php if ({$args['if condition']}){?>";
-        } 
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Else Class
-*/
-class Smarty_Internal_Compile_Else extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {else} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        list($nesting, $compiler->tag_nocache) = $this->_close_tag(array('if', 'elseif'));
-        $this->_open_tag('else',array($nesting,$compiler->tag_nocache));
-
-        return "<?php }else{ ?>";
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile ElseIf Class
-*/
-class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {elseif} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('if condition'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        list($nesting, $compiler->tag_nocache) = $this->_close_tag(array('if', 'elseif'));
-
-        if (empty($this->compiler->prefix_code)) {
-            $this->_open_tag('elseif', array($nesting, $compiler->tag_nocache));
-            return "<?php }elseif({$args['if condition']}){?>";
-        } else {
-            $tmp = '';
-            foreach ($this->compiler->prefix_code as $code) $tmp .= $code;
-            $this->compiler->prefix_code = array();
-            $this->_open_tag('elseif', array($nesting + 1, $compiler->tag_nocache));
-            return "<?php }else{?>{$tmp}<?php if ({$args['if condition']}){?>";
-        } 
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Ifclose Class
-*/
-class Smarty_Internal_Compile_Ifclose extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {/if} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        list($nesting, $compiler->tag_nocache) = $this->_close_tag(array('if', 'else', 'elseif'));
-        $tmp = '';
-        for ($i = 0; $i < $nesting ; $i++) $tmp .= '}';
-        return "<?php {$tmp}?>";
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_include.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_include.php
deleted file mode 100644
index f82f038..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_include.php
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile Include
-* 
-* Compiles the {include} tag
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Include Class
-*/
-class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {include} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('file');
-        $this->optional_attributes = array('_any'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args); 
-        // save posible attributes
-        $include_file = $_attr['file'];
-        $has_compiled_template = false;
-        if ($compiler->smarty->merge_compiled_includes || isset($_attr['inline'])) {
-            // check if compiled code can be merged (contains no variable part)
-            if (!$compiler->has_variable_string && (substr_count($include_file, '"') == 2 or substr_count($include_file, "'") == 2) and substr_count($include_file, '(') == 0) {
-                eval("\$tmp = $include_file;");
-                if ($this->compiler->template->template_resource != $tmp) {
-                    $tpl = $compiler->smarty->createTemplate ($tmp, $compiler->template->cache_id, $compiler->template->compile_id, $compiler->template);
-                    if ($this->compiler->template->caching) {
-                        // needs code for cached page but no cache file
-                        $tpl->caching = 9999;
-                    } 
-                    if ($tpl->resource_object->usesCompiler && $tpl->isExisting()) {
-                        // make sure that template is up to date and merge template properties
-                        $tpl->renderTemplate(); 
-                        // compiled code for {function} tags
-                        $compiler->template->properties['function'] = array_merge($compiler->template->properties['function'], $tpl->properties['function']);
-                        // get compiled code
-                        $compiled_tpl = $tpl->getCompiledTemplate(); 
-                        // remove header code
-                        $compiled_tpl = preg_replace("/(<\?php \/\*%%SmartyHeaderCode:{$tpl->properties['nocache_hash']}%%\*\/(.+?)\/\*\/%%SmartyHeaderCode%%\*\/\?>\n)/s", '', $compiled_tpl);
-                        if ($tpl->has_nocache_code) {
-                            // replace nocache_hash
-                            $compiled_tpl = preg_replace("/{$tpl->properties['nocache_hash']}/", $compiler->template->properties['nocache_hash'], $compiled_tpl);
-                            $compiler->template->has_nocache_code = true;
-                        } 
-                        $has_compiled_template = true;
-                    } 
-                } 
-            } 
-        } 
-
-        if (isset($_attr['assign'])) {
-            // output will be stored in a smarty variable instead of beind displayed
-            $_assign = $_attr['assign'];
-        } 
-
-        $_parent_scope = SMARTY_LOCAL_SCOPE;
-        if (isset($_attr['scope'])) {
-            if ($_attr['scope'] == '\'parent\'') {
-                $_parent_scope = SMARTY_PARENT_SCOPE;
-            } elseif ($_attr['scope'] == '\'root\'') {
-                $_parent_scope = SMARTY_ROOT_SCOPE;
-            } elseif ($_attr['scope'] == '\'global\'') {
-                $_parent_scope = SMARTY_GLOBAL_SCOPE;
-            } 
-        } 
-        $_caching = 'null'; 
-        // default for included templates
-        if ($this->compiler->template->caching && !$this->compiler->nocache) {
-            $_caching = 9999;
-        } 
-        /*
-        * if the {include} tag provides individual parameter for caching
-        * it will not be included into the common cache file and treated like
-        * a nocache section
-        */
-        if (isset($_attr['cache_lifetime'])) {
-            $_cache_lifetime = $_attr['cache_lifetime'];
-            $this->compiler->tag_nocache = true;
-            $_caching = SMARTY_CACHING_LIFETIME_CURRENT;
-        } else {
-            $_cache_lifetime = 'null';
-        } 
-        if (isset($_attr['nocache'])) {
-            if ($_attr['nocache'] == 'true') {
-                $this->compiler->tag_nocache = true;
-                $_caching = SMARTY_CACHING_OFF;
-            } 
-        } 
-        if (isset($_attr['caching'])) {
-            if ($_attr['caching'] == 'true') {
-                $_caching = SMARTY_CACHING_LIFETIME_CURRENT;
-            } else {
-                $this->compiler->tag_nocache = true;
-                $_caching = SMARTY_CACHING_OFF;
-            } 
-        } 
-        // create template object
-        $_output = "<?php \$_template = new {$compiler->smarty->template_class}($include_file, \$_smarty_tpl->smarty, \$_smarty_tpl, \$_smarty_tpl->cache_id, \$_smarty_tpl->compile_id, $_caching, $_cache_lifetime);\n"; 
-        // delete {include} standard attributes
-        unset($_attr['file'], $_attr['assign'], $_attr['cache_lifetime'], $_attr['nocache'], $_attr['caching'], $_attr['scope'], $_attr['inline']); 
-        // remaining attributes must be assigned as smarty variable
-        if (!empty($_attr)) {
-            if ($_parent_scope == SMARTY_LOCAL_SCOPE) {
-                // create variables
-                foreach ($_attr as $_key => $_value) {
-                    $_output .= "\$_template->assign('$_key',$_value);";
-                } 
-            } else {
-                $this->compiler->trigger_template_error('variable passing not allowed in parent/global scope');
-            } 
-        } 
-        // was there an assign attribute
-        if (isset($_assign)) {
-            $_output .= "\$_smarty_tpl->assign($_assign,\$_template->getRenderedTemplate());?>";
-        } else {
-            if ($has_compiled_template && !($compiler->template->caching && ($this->compiler->tag_nocache || $this->compiler->nocache))) {
-                $_output .= "\$_template->properties['nocache_hash']  = '{$compiler->template->properties['nocache_hash']}';\n";
-                $_output .= "\$_tpl_stack[] = \$_smarty_tpl; \$_smarty_tpl = \$_template;?>\n";
-                $_output .= $compiled_tpl;
-                $_output .= "<?php \$_smarty_tpl->updateParentVariables($_parent_scope);?>\n";
-                $_output .= "<?php /*  End of included template \"" . $tpl->getTemplateFilepath() . "\" */ ?>\n";
-                $_output .= "<?php \$_smarty_tpl = array_pop(\$_tpl_stack);?>";
-            } else {
-                $_output .= " echo \$_template->getRenderedTemplate();?>";
-                $_output .= "<?php \$_template->updateParentVariables($_parent_scope);?>";
-            } 
-        } 
-        $_output .= "<?php unset(\$_template);?>\n";
-        return $_output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_include_php.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_include_php.php
deleted file mode 100644
index e71f978..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_include_php.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile Include PHP
-* 
-* Compiles the {include_php} tag
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Insert Class
-*/
-class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {include_php} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('file');
-        $this->optional_attributes = array('once', 'assign'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        $_output = '<?php '; 
-
-        $_smarty_tpl = $compiler->template; 
-        eval('$_file = ' . $_attr['file'] . ';'); 
-        
-        $_file = realpath($_file);
-
-        if ($this->compiler->smarty->security) {
-            $this->compiler->smarty->security_handler->isTrustedPHPDir($_file);
-        } 
-
-        if ($_file === false) {
-            $this->compiler->trigger_template_error('include_php: file "' . $_attr['file'] . '" is not readable');
-        } 
-
-        if ($this->compiler->smarty->security) {
-            $this->compiler->smarty->security_handler->isTrustedPHPDir($_file);
-        } 
-        if (isset($_attr['assign'])) {
-            // output will be stored in a smarty variable instead of being displayed
-            $_assign = $_attr['assign'];
-        } 
-        $_once = '_once';
-        if (isset($_attr['once'])) {
-            if ($_attr['once'] == 'false') {
-                $_once = '';
-            } 
-        } 
-
-        if (isset($_assign)) {
-            return "<?php ob_start(); include{$_once} ('{$_file}'); \$_smarty_tpl->assign({$_assign},ob_get_contents()); ob_end_clean();?>";
-        } else {
-            return "<?php include{$_once} ('{$_file}');?>\n";
-        } 
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_insert.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_insert.php
deleted file mode 100644
index 189fe6d..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_insert.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile Insert
-* 
-* Compiles the {insert} tag
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Insert Class
-*/
-class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {insert} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('name');
-        $this->optional_attributes = array('_any'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args); 
-        // this tag must not be cached
-        $this->compiler->tag_nocache = true;
-        $_smarty_tpl = $compiler->template;
-
-        $_output = '<?php '; 
-        // save posible attributes
-        eval('$_name = ' . $_attr['name'] . ';');
-        $_function = "insert_{$_name}";
-        if (isset($_attr['assign'])) {
-            // output will be stored in a smarty variable instead of beind displayed
-            $_assign = $_attr['assign']; 
-            // create variable to make shure that the compiler knows about its nocache status
-            $this->compiler->template->tpl_vars[trim($_attr['assign'], "'")] = new Smarty_Variable(null, true);
-        } 
-        if (isset($_attr['script'])) {
-            // script which must be included
-            $_smarty_tpl = $compiler->template;
-            eval('$_script = ' . $_attr['script'] . ';');
-            if (!file_exists($_script)) {
-                $this->compiler->trigger_template_error("{insert} missing script file '{$_script}'");
-            } 
-            // code for script file loading
-            $_output .= "require_once {$_script} ;";
-            require_once $_script;
-            if (!is_callable($_function)) {
-                $this->compiler->trigger_template_error(" {insert} function '{$_name}' is not callable");
-            } 
-        } else {
-            if (!is_callable($_function)) {
-                if (!$_function = $this->compiler->getPlugin($_name, 'insert')) {
-                    $this->compiler->trigger_template_error("{insert} no function or plugin found for '{$_name}'");
-                } 
-            } 
-        } 
-        // delete {insert} standard attributes
-        unset($_attr['name'], $_attr['assign'], $_attr['script']); 
-        // convert attributes into parameter array string
-        $_paramsArray = array();
-        foreach ($_attr as $_key => $_value) {
-            $_paramsArray[] = "'$_key' => $_value";
-        } 
-        $_params = 'array(' . implode(", ", $_paramsArray) . ')'; 
-        // call insert
-        if (isset($_assign)) {
-            $_output .= "\$_smarty_tpl->assign({$_assign} , {$_function} ({$_params},\$_smarty_tpl->smarty,\$_smarty_tpl), true);?>";
-        } else {
-            $this->compiler->has_output = true;
-            $_output .= "echo {$_function}({$_params},\$_smarty_tpl->smarty,\$_smarty_tpl);?>";
-        } 
-        return $_output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_ldelim.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_ldelim.php
deleted file mode 100644
index c809990..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_ldelim.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile Ldelim
-*
-* Compiles the {ldelim} tag 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
-/**
-* Smarty Internal Plugin Compile Ldelim Class
-*/ 
-class Smarty_Internal_Compile_Ldelim extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {ldelim} tag
-    *
-    * This tag does output the left delimiter 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        $_attr = $this->_get_attributes($args);
-        // this tag does not return compiled code
-        $this->compiler->has_code = true;
-        return $this->compiler->smarty->left_delimiter;
-    } 
-} 
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_nocache.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_nocache.php
deleted file mode 100644
index ebeef9d..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_nocache.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile Nocache
-*
-* Compiles the {nocache} {/nocache} tags 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
-/**
-* Smarty Internal Plugin Compile Nocache Class
-*/ 
-class Smarty_Internal_Compile_Nocache extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {nocache} tag
-    *
-    * This tag does not generate compiled output. It only sets a compiler flag 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        $_attr = $this->_get_attributes($args);
-        // enter nocache mode
-        $this->compiler->nocache = true;
-        // this tag does not return compiled code
-        $this->compiler->has_code = false;
-        return true;
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Nocacheclose Class
-*/ 
-class Smarty_Internal_Compile_Nocacheclose extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {/nocache} tag
-    *
-    * This tag does not generate compiled output. It only sets a compiler flag 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        $_attr = $this->_get_attributes($args);
-        // leave nocache mode
-        $this->compiler->nocache = false;
-        // this tag does not return compiled code
-        $this->compiler->has_code = false;
-        return true;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_block_plugin.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_block_plugin.php
deleted file mode 100644
index 030f3a2..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_block_plugin.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Block Plugin
-* 
-* Compiles code for the execution of block plugin
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Block Plugin Class
-*/
-class Smarty_Internal_Compile_Private_Block_Plugin extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the execution of block plugin
-    * 
-    * @param array $args array with attributes from parser
-    * @param string $tag name of block function
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler, $tag, $function)
-    {
-        $this->compiler = $compiler;
-        if (strlen($tag) < 6 || substr_compare($tag, 'close', -5, 5) != 0) {
-            // opening tag of block plugin
-            $this->required_attributes = array();
-            $this->optional_attributes = array('_any'); 
-            // check and get attributes
-            $_attr = $this->_get_attributes($args); 
-            // convert attributes into parameter array string
-            $_paramsArray = array();
-            foreach ($_attr as $_key => $_value) {
-                if (is_int($_key)) {
-                    $_paramsArray[] = "$_key=>$_value";
-                } else {
-                    $_paramsArray[] = "'$_key'=>$_value";
-                } 
-            } 
-            $_params = 'array(' . implode(",", $_paramsArray) . ')';
-
-            $this->_open_tag($tag, array($_params, $this->compiler->nocache)); 
-            // maybe nocache because of nocache variables or nocache plugin
-            $this->compiler->nocache = $this->compiler->nocache | $this->compiler->tag_nocache; 
-            // compile code
-            if (is_array($function)) {
-                $output = '<?php $_block_repeat=true; call_user_func_array(array(\'' . $function[0] . '\',\'' . $function[1] . '\'),(array(' . $_params . ', null, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl));while ($_block_repeat) { ob_start();?>';
-            } else {
-                $output = '<?php $_block_repeat=true; ' . $function . '(' . $_params . ', null, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl);while ($_block_repeat) { ob_start();?>';
-            } 
-        } else {
-            // must endblock be nocache?
-            if ($this->compiler->nocache) {
-                $this->compiler->tag_nocache = true;
-            } 
-            // closing tag of block plugin, restore nocache
-            list($_params, $this->compiler->nocache) = $this->_close_tag(substr($tag, 0, -5)); 
-            // This tag does create output
-            $this->compiler->has_output = true; 
-            // compile code
-            if (is_array($function)) {
-            var_dump('error');
-                $output = '<?php $_block_content = ob_get_clean(); $_block_repeat=false; echo call_user_func_array(array(\'' . $function[0] . '\',\'' . $function[1] . '\'),(array(' . $_params . ', $_block_content, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl)); }?>';
-            } else {
-                $output = '<?php $_block_content = ob_get_clean(); $_block_repeat=false; echo ' . $function . '(' . $_params . ', $_block_content, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl); }?>';
-            } 
-        } 
-        return $output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_function_plugin.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_function_plugin.php
deleted file mode 100644
index 129b5d7..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_function_plugin.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Function Plugin
-* 
-* Compiles code for the execution of function plugin
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Function Plugin Class
-*/
-class Smarty_Internal_Compile_Private_Function_Plugin extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the execution of function plugin
-    * 
-    * @param array $args array with attributes from parser
-    * @param string $tag name of function
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler, $tag, $function)
-    {
-        $this->compiler = $compiler; 
-        // This tag does create output
-        $this->compiler->has_output = true;
-
-        $this->required_attributes = array();
-        $this->optional_attributes = array('_any'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args); 
-        // convert attributes into parameter array string
-        $_paramsArray = array();
-        foreach ($_attr as $_key => $_value) {
-            if (is_int($_key)) {
-                $_paramsArray[] = "$_key=>$_value";
-            } else {
-                $_paramsArray[] = "'$_key'=>$_value";
-            } 
-        } 
-        $_params = 'array(' . implode(",", $_paramsArray) . ')'; 
-        // compile code
-        if (is_array($function)) {
-            $output = '<?php echo call_user_func_array(array(\'' . $function[0] . '\',\'' . $function[1] . '\'),(array(' . $_params . ',$_smarty_tpl->smarty,$_smarty_tpl));?>';
-        } else {
-            $output = '<?php echo ' . $function . '(' . $_params . ',$_smarty_tpl->smarty,$_smarty_tpl);?>';
-        } 
-        return $output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_modifier.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_modifier.php
deleted file mode 100644
index c4fbfa5..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_modifier.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Modifier
-* 
-* Compiles code for modifier execution
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Modifier Class
-*/
-class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for modifier execution
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->smarty = $this->compiler->smarty;
-        $this->required_attributes = array('modifier', 'params'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args); 
-        // check for registered modifier
-        if (isset($compiler->smarty->registered_plugins['modifier'][$_attr['modifier']])) {
-            $function = $compiler->smarty->registered_plugins['modifier'][$_attr['modifier']][0];
-            if (!is_array($function)) {
-                $output = "{$function}({$_attr['params']})";
-            } else if (is_object($function[0])) {
-                $output = 'call_user_func_array($_smarty_tpl->smarty->registered_plugins[\'modifier\'][\'' . $_attr['modifier'] . '\'][0],array(' . $_attr['params'] . '))';
-            } else {
-                $output = 'call_user_func_array(array(\'' . $function[0] . '\',\'' . $function[1] . '\'),array(' . $_attr['params'] . '))';
-            } 
-        // check for plugin modifier
-        } else if ($function = $this->compiler->getPlugin($_attr['modifier'], 'modifier')) {
-            if (!is_array($function)) {
-                $output = "{$function}({$_attr['params']})";
-            } else {
-                $output = 'call_user_func_array(array(\'' . $function[0] . '\',\'' . $function[1] . '\'),array(' . $_attr['params'] . '))';
-            } 
-            // check if trusted PHP function
-        } else if (is_callable($_attr['modifier'])) {
-            // check if modifier allowed
-            if (!$this->compiler->template->security || $this->smarty->security_handler->isTrustedModifier($_attr['modifier'], $this->compiler)) {
-                $output = "{$_attr['modifier']}({$_attr['params']})";
-            } 
-        } else {
-            $this->compiler->trigger_template_error ("unknown modifier \"" . $_attr['modifier'] . "\"");
-        } 
-        return $output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_object_block_function.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_object_block_function.php
deleted file mode 100644
index 03c2d34..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_object_block_function.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Object Block Function
-* 
-* Compiles code for registered objects as block function
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Object Block Function Class
-*/
-class Smarty_Internal_Compile_Private_Object_Block_Function extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the execution of block plugin
-    * 
-    * @param array $args array with attributes from parser
-    * @param string $tag name of block function
-    * @param string $methode name of methode to call
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler, $tag, $methode)
-    {
-        $this->compiler = $compiler;
-        if (strlen($tag) < 5 || substr_compare($tag, 'close', -5, 5) != 0) {
-            // opening tag of block plugin
-            $this->required_attributes = array();
-            $this->optional_attributes = array('_any'); 
-            // check and get attributes
-            $_attr = $this->_get_attributes($args); 
-            // convert attributes into parameter array string
-            $_paramsArray = array();
-            foreach ($_attr as $_key => $_value) {
-                if (is_int($_key)) {
-                    $_paramsArray[] = "$_key=>$_value";
-                } else {
-                    $_paramsArray[] = "'$_key'=>$_value";
-                } 
-            } 
-            $_params = 'array(' . implode(",", $_paramsArray) . ')';
-
-            $this->_open_tag($tag . '->' . $methode, $_params); 
-            // compile code
-            $output = '<?php $_block_repeat=true; $_smarty_tpl->smarty->registered_objects[\'' . $tag . '\'][0]->' . $methode . '(' . $_params . ', null, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl);while ($_block_repeat) { ob_start();?>';
-        } else {
-            // closing tag of block plugin
-            $_params = $this->_close_tag(substr($tag, 0, -5) . '->' . $methode); 
-            // This tag does create output
-            $this->compiler->has_output = true; 
-            // compile code
-            $output = '<?php $_block_content = ob_get_contents(); ob_end_clean(); $_block_repeat=false; echo $_smarty_tpl->smarty->registered_objects[\'' . substr($tag, 0, -5) . '\'][0]->' . $methode . '(' . $_params . ', $_block_content, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl); }?>';
-        } 
-        return $output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_object_function.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_object_function.php
deleted file mode 100644
index 573f604..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_object_function.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Object Funtion
-* 
-* Compiles code for registered objects as function
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Object Function Class
-*/
-class Smarty_Internal_Compile_Private_Object_Function extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the execution of function plugin
-    * 
-    * @param array $args array with attributes from parser
-    * @param string $tag name of function
-    * @param string $methode name of methode to call
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler, $tag, $methode)
-    {
-        $this->compiler = $compiler; 
-        // This tag does create output
-        $this->compiler->has_output = true;
-
-        $this->required_attributes = array();
-        $this->optional_attributes = array('_any'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args); 
-        // convert attributes into parameter array string
-        if ($this->compiler->smarty->registered_objects[$tag][2]) {
-            $_paramsArray = array();
-            foreach ($_attr as $_key => $_value) {
-                if (is_int($_key)) {
-                    $_paramsArray[] = "$_key=>$_value";
-                } else {
-                    $_paramsArray[] = "'$_key'=>$_value";
-                } 
-            } 
-            $_params = 'array(' . implode(",", $_paramsArray) . ')';
-            $output = "<?php echo \$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$methode}({$_params},\$_smarty_tpl->smarty,\$_smarty_tpl);?>";
-        } else {
-            $_params = implode(",", $_attr);
-            $output = "<?php echo \$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$methode}({$_params});?>";
-        } 
-        return $output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_print_expression.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_print_expression.php
deleted file mode 100644
index 7cfe473..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_print_expression.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Print Expression
-* 
-* Compiles any tag which will output an expression or variable
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Print Expression Class
-*/
-class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for gererting output from any expression
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('value');
-        $this->optional_attributes = array('assign', 'nocache', 'filter', 'nofilter'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        if (isset($_attr['nocache'])) {
-            if ($_attr['nocache'] == 'true') {
-                $this->compiler->tag_nocache = true;
-            } 
-        } 
-
-        if (!isset($_attr['filter'])) {
-            $_attr['filter'] = 'null';
-        } 
-        if (isset($_attr['nofilter'])) {
-            if ($_attr['nofilter'] == 'true') {
-                $_attr['filter'] = 'false';
-            } 
-        } 
-
-        if (isset($_attr['assign'])) {
-            // assign output to variable
-            $output = '<?php $_smarty_tpl->assign(' . $_attr['assign'] . ',' . $_attr['value'] . ');?>';
-        } else {
-            // display value
-            $this->compiler->has_output = true;
-            if (isset($this->compiler->smarty->registered_filters['variable'])) {
-                $output = '<?php echo Smarty_Internal_Filter_Handler::runFilter(\'variable\', ' . $_attr['value'] . ',$this->smarty, ' . $_attr['filter'] . ');?>';
-            } else {
-                $output = '<?php echo ' . $_attr['value'] . ';?>';
-            } 
-        } 
-        return $output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_block.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_block.php
deleted file mode 100644
index 218ec0e..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_block.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Registered Block
-* 
-* Compiles code for the execution of a registered block function
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Registered Block Class
-*/
-class Smarty_Internal_Compile_Private_Registered_Block extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the execution of a block function
-    * 
-    * @param array $args array with attributes from parser
-    * @param string $tag name of block function
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler, $tag)
-    {
-        $this->compiler = $compiler;
-        if (strlen($tag) < 6 || substr_compare($tag, 'close', -5, 5) != 0) {
-            // opening tag of block plugin
-            $this->required_attributes = array();
-            $this->optional_attributes = array('_any'); 
-            // check and get attributes
-            $_attr = $this->_get_attributes($args); 
-            // convert attributes into parameter array string
-            $_paramsArray = array();
-            foreach ($_attr as $_key => $_value) {
-                if (is_int($_key)) {
-                    $_paramsArray[] = "$_key=>$_value";
-                } else {
-                    $_paramsArray[] = "'$_key'=>$_value";
-                } 
-            } 
-            $_params = 'array(' . implode(",", $_paramsArray) . ')';
-
-            $this->_open_tag($tag, array($_params, $this->compiler->nocache)); 
-            // maybe nocache because of nocache variables or nocache plugin
-            $this->compiler->nocache = !$compiler->smarty->registered_plugins['block'][$tag][1] | $this->compiler->nocache | $this->compiler->tag_nocache;
-            $function = $compiler->smarty->registered_plugins['block'][$tag][0]; 
-            // compile code
-            if (!is_array($function)) {
-                $output = '<?php $_block_repeat=true; ' . $function . '(' . $_params . ', null, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl);while ($_block_repeat) { ob_start();?>';
-            } else if (is_object($function[0])) {
-                $output = '<?php $_block_repeat=true; call_user_func_array($_smarty_tpl->smarty->registered_plugins[\'block\'][\'' . $tag . '\'][0],array(' . $_params . ', null, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl));while ($_block_repeat) { ob_start();?>';
-            } else {
-                $output = '<?php $_block_repeat=true; call_user_func_array(array(\'' . $function[0] . '\',\'' . $function[1] . '\'),array(' . $_params . ', null, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl));while ($_block_repeat) { ob_start();?>';
-            } 
-        } else {
-            // must endblock be nocache?
-            if ($this->compiler->nocache) {
-                $this->compiler->tag_nocache = true;
-            } 
-            $base_tag = substr($tag, 0, -5); 
-            // closing tag of block plugin, restore nocache
-            list($_params, $this->compiler->nocache) = $this->_close_tag($base_tag); 
-            // This tag does create output
-            $this->compiler->has_output = true;
-            $function = $compiler->smarty->registered_plugins['block'][$base_tag][0]; 
-            // compile code
-            if (!is_array($function)) {
-                $output = '<?php $_block_content = ob_get_clean(); $_block_repeat=false; echo ' . $function . '(' . $_params . ', $_block_content, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl); }?>';
-            } else if (is_object($function[0])) {
-                $output = '<?php $_block_content = ob_get_clean(); $_block_repeat=false; echo call_user_func_array($_smarty_tpl->smarty->registered_plugins[\'block\'][\'' . $base_tag . '\'][0],array(' . $_params . ', $_block_content, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl)); }?>';
-            } else {
-                $output = '<?php $_block_content = ob_get_clean(); $_block_repeat=false; echo call_user_func_array(array(\'' . $function[0] . '\',\'' . $function[1] . '\'),array(' . $_params . ', $_block_content, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl)); }?>';
-            } 
-        } 
-        return $output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_function.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_function.php
deleted file mode 100644
index e38ee4b..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_registered_function.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Registered Function
-* 
-* Compiles code for the execution of a registered function
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Registered Function Class
-*/
-class Smarty_Internal_Compile_Private_Registered_Function extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the execution of a registered function
-    * 
-    * @param array $args array with attributes from parser
-    * @param string $tag name of function
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler, $tag)
-    {
-        $this->compiler = $compiler; 
-        // This tag does create output
-        $this->compiler->has_output = true;
-
-        $this->required_attributes = array();
-        $this->optional_attributes = array('_any'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args); 
-        // not cachable?
-        $this->compiler->tag_nocache = !$compiler->smarty->registered_plugins['function'][$tag][1]; 
-        // convert attributes into parameter array string
-        $_paramsArray = array();
-        foreach ($_attr as $_key => $_value) {
-            if (is_int($_key)) {
-                $_paramsArray[] = "$_key=>$_value";
-            } else {
-                $_paramsArray[] = "'$_key'=>$_value";
-            } 
-        } 
-        $_params = 'array(' . implode(",", $_paramsArray) . ')'; 
-        // compile code
-        $output = '<?php echo call_user_func_array($_smarty_tpl->smarty->registered_plugins[\'function\'][\'' . $tag . '\'][0],array(' . $_params . ',$_smarty_tpl->smarty,$_smarty_tpl));?>';
-        return $output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_special_variable.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_special_variable.php
deleted file mode 100644
index 1f473bc..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_special_variable.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Special Smarty Variable
-* 
-* Compiles the special $smarty variables
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile special Smarty Variable Class
-*/
-class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the speical $smarty variables
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $_index = explode(',', str_replace(array(']['), array(','), substr($args, 1, strlen($args)-2)));
-        $compiled_ref = ' ';
-        $variable = trim($_index[0], "'");
-        switch ($variable) {
-            case 'foreach':
-                return "\$_smarty_tpl->getVariable('smarty')->value$args";
-            case 'section':
-                return "\$_smarty_tpl->getVariable('smarty')->value$args";
-            case 'capture':
-                return "\$_smarty_tpl->smarty->_smarty_vars$args";
-            case 'now':
-                return 'time()';
-            case 'cookies':
-                if ($compiler->smarty->security && !$compiler->smarty->security_policy->allow_super_globals) {
-                    $compiler->trigger_template_error("(secure mode) super globals not permitted");
-                    break;
-                } 
-                $compiled_ref = '$_COOKIE';
-                break;
-
-            case 'get':
-            case 'post':
-            case 'env':
-            case 'server':
-            case 'session':
-            case 'request':
-                if ($compiler->smarty->security && !$compiler->smarty->security_policy->allow_super_globals) {
-                    $compiler->trigger_template_error("(secure mode) super globals not permitted");
-                    break;
-                } 
-                $compiled_ref = '$_'.strtoupper($variable);
-                break;
-
-            case 'template':
-                $_template_name = basename($compiler->template->getTemplateFilepath());
-                return "'$_template_name'";
-
-            case 'current_dir':
-                $_template_dir_name = dirname($compiler->template->getTemplateFilepath());
-                return "'$_template_dir_name'";
-
-            case 'version':
-                $_version = Smarty::SMARTY_VERSION;
-                return "'$_version'";
-
-            case 'const':
-                if ($compiler->smarty->security && !$compiler->smarty->security_policy->allow_constants) {
-                    $compiler->trigger_template_error("(secure mode) constants not permitted");
-                    break;
-                } 
-                return '@' . trim($_index[1], "'");
-
-            case 'config':
-                return "\$_smarty_tpl->getConfigVariable($_index[1])";
-            case 'ldelim':
-                $_ldelim = $compiler->smarty->left_delimiter;
-                return "'$_ldelim'";
-
-            case 'rdelim':
-                $_rdelim = $compiler->smarty->right_delimiter;
-                return "'$_rdelim'";
-
-            default:
-                $compiler->trigger_template_error('$smarty.' . trim($_index[0], "'") . ' is invalid');
-                break;
-        } 
-        if (isset($_index[1])) {
-            array_shift($_index);
-            foreach ($_index as $_ind) {
-                $compiled_ref = $compiled_ref . "[$_ind]";
-            } 
-        } 
-        return $compiled_ref;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_rdelim.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_rdelim.php
deleted file mode 100644
index 88c4e1e..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_rdelim.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Compile Rdelim
-*
-* Compiles the {rdelim} tag 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
-/**
-* Smarty Internal Plugin Compile Rdelim Class
-*/ 
-class Smarty_Internal_Compile_Rdelim extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {rdelim} tag
-    *
-    * This tag does output the right delimiter 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        $_attr = $this->_get_attributes($args);
-        // this tag does not return compiled code
-        $this->compiler->has_code = true;
-        return $this->compiler->smarty->right_delimiter;
-    } 
-} 
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_section.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_section.php
deleted file mode 100644
index 0de506a..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_section.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile Section
-* 
-* Compiles the {section} {sectionelse} {/section} tags
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile Section Class
-*/
-class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {section} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('name', 'loop');
-        $this->optional_attributes = array('start', 'step', 'max', 'show'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        $this->_open_tag('section', array('section',$this->compiler->nocache));
-		// maybe nocache because of nocache variables
-		$this->compiler->nocache = $this->compiler->nocache | $this->compiler->tag_nocache;
-
-        $output = "<?php ";
-
-        $section_name = $_attr['name'];
-        
-        $output .= "unset(\$_smarty_tpl->tpl_vars['smarty']->value['section'][$section_name]);\n";
-        $section_props = "\$_smarty_tpl->tpl_vars['smarty']->value['section'][$section_name]";
-
-        foreach ($_attr as $attr_name => $attr_value) {
-            switch ($attr_name) {
-                case 'loop':
-                    $output .= "{$section_props}['loop'] = is_array(\$_loop=$attr_value) ? count(\$_loop) : max(0, (int)\$_loop); unset(\$_loop);\n";
-                    break;
-
-                case 'show':
-                    if (is_bool($attr_value))
-                        $show_attr_value = $attr_value ? 'true' : 'false';
-                    else
-                        $show_attr_value = "(bool)$attr_value";
-                    $output .= "{$section_props}['show'] = $show_attr_value;\n";
-                    break;
-
-                case 'name':
-                    $output .= "{$section_props}['$attr_name'] = $attr_value;\n";
-                    break;
-
-                case 'max':
-                case 'start':
-                    $output .= "{$section_props}['$attr_name'] = (int)$attr_value;\n";
-                    break;
-
-                case 'step':
-                    $output .= "{$section_props}['$attr_name'] = ((int)$attr_value) == 0 ? 1 : (int)$attr_value;\n";
-                    break;
-            } 
-        } 
-
-        if (!isset($_attr['show']))
-            $output .= "{$section_props}['show'] = true;\n";
-
-        if (!isset($_attr['loop']))
-            $output .= "{$section_props}['loop'] = 1;\n";
-
-        if (!isset($_attr['max']))
-            $output .= "{$section_props}['max'] = {$section_props}['loop'];\n";
-        else
-            $output .= "if ({$section_props}['max'] < 0)\n" . "    {$section_props}['max'] = {$section_props}['loop'];\n";
-
-        if (!isset($_attr['step']))
-            $output .= "{$section_props}['step'] = 1;\n";
-
-        if (!isset($_attr['start']))
-            $output .= "{$section_props}['start'] = {$section_props}['step'] > 0 ? 0 : {$section_props}['loop']-1;\n";
-        else {
-            $output .= "if ({$section_props}['start'] < 0)\n" . "    {$section_props}['start'] = max({$section_props}['step'] > 0 ? 0 : -1, {$section_props}['loop'] + {$section_props}['start']);\n" . "else\n" . "    {$section_props}['start'] = min({$section_props}['start'], {$section_props}['step'] > 0 ? {$section_props}['loop'] : {$section_props}['loop']-1);\n";
-        } 
-
-        $output .= "if ({$section_props}['show']) {\n";
-        if (!isset($_attr['start']) && !isset($_attr['step']) && !isset($_attr['max'])) {
-            $output .= "    {$section_props}['total'] = {$section_props}['loop'];\n";
-        } else {
-            $output .= "    {$section_props}['total'] = min(ceil(({$section_props}['step'] > 0 ? {$section_props}['loop'] - {$section_props}['start'] : {$section_props}['start']+1)/abs({$section_props}['step'])), {$section_props}['max']);\n";
-        } 
-        $output .= "    if ({$section_props}['total'] == 0)\n" . "        {$section_props}['show'] = false;\n" . "} else\n" . "    {$section_props}['total'] = 0;\n";
-
-        $output .= "if ({$section_props}['show']):\n";
-        $output .= "
-            for ({$section_props}['index'] = {$section_props}['start'], {$section_props}['iteration'] = 1;
-                 {$section_props}['iteration'] <= {$section_props}['total'];
-                 {$section_props}['index'] += {$section_props}['step'], {$section_props}['iteration']++):\n";
-        $output .= "{$section_props}['rownum'] = {$section_props}['iteration'];\n";
-        $output .= "{$section_props}['index_prev'] = {$section_props}['index'] - {$section_props}['step'];\n";
-        $output .= "{$section_props}['index_next'] = {$section_props}['index'] + {$section_props}['step'];\n";
-        $output .= "{$section_props}['first']      = ({$section_props}['iteration'] == 1);\n";
-        $output .= "{$section_props}['last']       = ({$section_props}['iteration'] == {$section_props}['total']);\n";
-
-        $output .= "?>";
-        return $output;
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Sectionelse Class
-*/
-class Smarty_Internal_Compile_Sectionelse extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {sectionelse} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
-        list($_open_tag, $nocache) = $this->_close_tag(array('section'));
-        $this->_open_tag('sectionelse',array('sectionelse', $nocache));
-
-        return "<?php endfor; else: ?>";
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Sectionclose Class
-*/
-class Smarty_Internal_Compile_Sectionclose extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {/section} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-
- 		// must endblock be nocache?
-		if ($this->compiler->nocache) {
-                 $this->compiler->tag_nocache = true;
-        }
-
-        list($_open_tag, $this->compiler->nocache) = $this->_close_tag(array('section', 'sectionelse'));
-
-        if ($_open_tag == 'sectionelse')
-            return "<?php endif; ?>";
-        else
-            return "<?php endfor; endif; ?>";
-    } 
-} 
-
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_while.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_while.php
deleted file mode 100644
index 6dc1804..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_while.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Compile While
-* 
-* Compiles the {while} tag
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Compile While Class
-*/
-class Smarty_Internal_Compile_While extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {while} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler;
-        $this->required_attributes = array('if condition'); 
-        // check and get attributes
-        $_attr = $this->_get_attributes($args);
-        $this->_open_tag('while', $this->compiler->nocache);
-
-        // maybe nocache because of nocache variables
-		$this->compiler->nocache = $this->compiler->nocache | $this->compiler->tag_nocache;
-
-		
-        if (is_array($args['if condition'])) {
-            $_output = " <?php if (!isset(\$_smarty_tpl->tpl_vars[".$args['if condition']['var']."])) \$_smarty_tpl->tpl_vars[".$args['if condition']['var']."] = new Smarty_Variable;\n";
-            $_output .= " while (\$_smarty_tpl->tpl_vars[".$args['if condition']['var']."]->value = ".$args['if condition']['value'].") {\n ?>";
-            return $_output;
-        } else {
-            return '<?php while (' . $args['if condition'] . ') { ?>';
-        } 
-    } 
-} 
-
-/**
-* Smarty Internal Plugin Compile Whileclose Class
-*/
-class Smarty_Internal_Compile_Whileclose extends Smarty_Internal_CompileBase {
-    /**
-    * Compiles code for the {/while} tag
-    * 
-    * @param array $args array with attributes from parser
-    * @param object $compiler compiler object
-    * @return string compiled code
-    */
-    public function compile($args, $compiler)
-    {
-        $this->compiler = $compiler; 
- 		// must endblock be nocache?
-		if ($this->compiler->nocache) {
-                 $this->compiler->tag_nocache = true;
-        }
-        $this->compiler->nocache = $this->_close_tag(array('while'));
-        return "<?php }?>";
-    } 
-} 
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compilebase.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compilebase.php
deleted file mode 100644
index 7a398f5..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_compilebase.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin CompileBase
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-
-/**
-* This class does extend all internal compile plugins
-*/
-//abstract class Smarty_Internal_CompileBase implements TagCompilerInterface 
-abstract class Smarty_Internal_CompileBase 
-{
-    function __construct()
-    {
-        // initialize valid attributes
-        $this->required_attributes = array();
-        $this->optional_attributes = array();
-    } 
-
-    /**
-    * This function checks if the attributes passed are valid
-    * 
-    * The attributes passed for the tag to compile are checked against the list of required and 
-    * optional attributes. Required attributes must be present. Optional attributes are check against
-    * against the corresponding list. The keyword '_any' specifies that any attribute will be accepted 
-    * as valid
-    * 
-    * @todo More generallized handling of the nocache attributes in compile plugins
-    * @param array $args attributes applied to the tag
-    * @return array attributes for further processing
-    */
-    function _get_attributes ($args)
-    { 
-        // check if all required attributes present
-        foreach ($this->required_attributes as $attr) {
-            if (!array_key_exists($attr, $args)) {
-                $this->compiler->trigger_template_error("missing \"" . $attr . "\" attribute");
-            } 
-        } 
-        // check for unallowed attributes
-        if ($this->optional_attributes != array('_any')) {
-            $tmp_array = array_merge($this->required_attributes, $this->optional_attributes);
-            foreach ($args as $key => $dummy) {
-                 if (!in_array($key, $tmp_array) && $key !== 0) {
-                   $this->compiler->trigger_template_error("unexpected \"" . $key . "\" attribute");
-                } 
-            } 
-        } 
-
-        return $args;
-    } 
-
-    /**
-    * Push opening tag name on stack
-    * 
-    * Optionally additional data can be saved on stack
-    * 
-    * @param string $open_tag the opening tag's name
-    * @param anytype $data optional data which shall be saved on stack
-    */
-    function _open_tag($open_tag, $data = null)
-    {
-        array_push($this->compiler->_tag_stack, array($open_tag, $data));
-    } 
-
-    /**
-    * Pop closing tag
-    * 
-    * Raise an error if this stack-top doesn't match with expected opening tags
-    * 
-    * @param array $ |string $expected_tag the expected opening tag names
-    * @return anytype the opening tag's name or saved data
-    */
-    function _close_tag($expected_tag)
-    {
-        if (count($this->compiler->_tag_stack) > 0) {
-            // get stacked info
-            list($_open_tag, $_data) = array_pop($this->compiler->_tag_stack); 
-            // open tag must match with the expected ones
-            if (in_array($_open_tag, (array)$expected_tag)) {
-                if (is_null($_data)) {
-                    // return opening tag
-                    return $_open_tag;
-                } else {
-                    // return restored data
-                    return $_data;
-                } 
-            } 
-            // wrong nesting of tags
-            $this->compiler->trigger_template_error("unclosed {" . $_open_tag . "} tag");
-            return;
-        } 
-        // wrong nesting of tags
-        $this->compiler->trigger_template_error("unexpected closing tag");
-        return;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_config.php b/gosa-core/include/smarty/sysplugins/smarty_internal_config.php
deleted file mode 100644
index 31b4108..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_config.php
+++ /dev/null
@@ -1,260 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Config
-* 
-* Main class for config variables
-* 
-* @ignore 
-* @package Smarty
-* @subpackage Config
-* @author Uwe Tews 
-*/
-class Smarty_Internal_Config {
-    static $config_objects = array();
-
-    public function __construct($config_resource, $smarty, $template = null)
-    {
-        $this->template = $template;
-        $this->smarty = $smarty;
-        $this->config_resource = $config_resource;
-        $this->config_resource_type = null;
-        $this->config_resource_name = null;
-        $this->config_filepath = null;
-        $this->config_timestamp = null;
-        $this->config_source = null;
-        $this->compiled_config = null;
-        $this->compiled_filepath = null;
-        $this->compiled_timestamp = null;
-        $this->mustCompile = null;
-        $this->compiler_object = null; 
-        // parse config resource name
-        if (!$this->parseConfigResourceName ($config_resource)) {
-            throw new Exception ("Unable to parse config resource '{$config_resource}'");
-        } 
-    } 
-
-    public function getConfigFilepath ()
-    {
-        return $this->config_filepath === null ?
-        $this->config_filepath = $this->buildConfigFilepath() :
-        $this->config_filepath;
-    } 
-
-    public function getTimestamp ()
-    {
-        return $this->config_timestamp === null ?
-        $this->config_timestamp = filemtime($this->getConfigFilepath()) :
-        $this->config_timestamp;
-    } 
-
-    private function parseConfigResourceName($config_resource)
-    {
-        if (empty($config_resource))
-            return false;
-        if (strpos($config_resource, ':') === false) {
-            // no resource given, use default
-            $this->config_resource_type = $this->smarty->default_config_type;
-            $this->config_resource_name = $config_resource;
-        } else {
-            // get type and name from path
-            list($this->config_resource_type, $this->config_resource_name) = explode(':', $config_resource, 2);
-            if (strlen($this->config_resource_type) == 1) {
-                // 1 char is not resource type, but part of filepath
-                $this->config_resource_type = $this->smarty->default_config_type;
-                $this->config_resource_name = $config_resource;
-            } else {
-                $this->config_resource_type = strtolower($this->config_resource_type);
-            } 
-        } 
-        return true;
-    } 
-
-    /*
-     * get system filepath to config
-     */
-    public function buildConfigFilepath ()
-    {
-        foreach((array)$this->smarty->config_dir as $_config_dir) {
-            if (strpos('/\\', substr($_config_dir, -1)) === false) {
-                $_config_dir .= DS;
-            } 
-
-            $_filepath = $_config_dir . $this->config_resource_name;
-            if (file_exists($_filepath))
-                return $_filepath;
-        } 
-        // check for absolute path
-        if (file_exists($this->config_resource_name))
-            return $this->config_resource_name;
-        // no tpl file found
-        throw new Exception("Unable to load config file \"{$this->config_resource_name}\"");
-        return false;
-    } 
-    /**
-    * Read config file source
-    * 
-    * @return string content of source file
-    */
-    /**
-    * Returns the template source code
-    * 
-    * The template source is being read by the actual resource handler
-    * 
-    * @return string the template source
-    */
-    public function getConfigSource ()
-    {
-        if ($this->config_source === null) {
-            if ($this->readConfigSource($this) === false) {
-                throw new Exception("Unable to load config file \"{$this->config_resource_name}\"");
-            } 
-        } 
-        return $this->config_source;
-    } 
-    public function readConfigSource()
-    { 
-        // read source file
-        if (file_exists($this->getConfigFilepath())) {
-            $this->config_source = file_get_contents($this->getConfigFilepath());
-            return true;
-        } else {
-            return false;
-        } 
-    } 
-
-    /**
-    * Returns the compiled  filepath
-    * 
-    * @return string the compiled filepath
-    */
-    public function getCompiledFilepath ()
-    {
-        return $this->compiled_filepath === null ?
-        ($this->compiled_filepath = $this->buildCompiledFilepath()) :
-        $this->compiled_filepath;
-    } 
-    public function buildCompiledFilepath()
-    {
-        $_flag = (int)$this->smarty->config_read_hidden + (int)$this->smarty->config_booleanize * 2 +
-        (int)$this->smarty->config_overwrite * 4;
-        $_filepath = sha1($this->config_resource_name . $_flag); 
-        // if use_sub_dirs, break file into directories
-        if ($this->smarty->use_sub_dirs) {
-            $_filepath = substr($_filepath, 0, 2) . DS
-             . substr($_filepath, 2, 2) . DS
-             . substr($_filepath, 4, 2) . DS
-             . $_filepath;
-        } 
-        $_compile_dir = $this->smarty->compile_dir;
-        if (substr($_compile_dir, -1) != DS) {
-            $_compile_dir .= DS;
-        } 
-        return $_compile_dir . $_filepath . '.' . basename($this->config_resource_name) . '.config' . '.php';
-    } 
-    /**
-    * Returns the timpestamp of the compiled file
-    * 
-    * @return integer the file timestamp
-    */
-    public function getCompiledTimestamp ()
-    {
-        return $this->compiled_timestamp === null ?
-        ($this->compiled_timestamp = (file_exists($this->getCompiledFilepath())) ? filemtime($this->getCompiledFilepath()) : false) :
-        $this->compiled_timestamp;
-    } 
-    /**
-    * Returns if the current config file must be compiled 
-    * 
-    * It does compare the timestamps of config source and the compiled config and checks the force compile configuration
-    * 
-    * @return boolean true if the file must be compiled
-    */
-    public function mustCompile ()
-    {
-        return $this->mustCompile === null ?
-        $this->mustCompile = ($this->smarty->force_compile || $this->getCompiledTimestamp () !== $this->getTimestamp ()):
-        $this->mustCompile;
-    } 
-    /**
-    * Returns the compiled config file 
-    * 
-    * It checks if the config file must be compiled or just read the compiled version
-    * 
-    * @return string the compiled config file
-    */
-    public function getCompiledConfig ()
-    {
-        if ($this->compiled_config === null) {
-            // see if template needs compiling.
-            if ($this->mustCompile()) {
-                $this->compileConfigSource();
-            } else {
-                $this->compiled_config = file_get_contents($this->getCompiledFilepath());
-            } 
-        } 
-        return $this->compiled_config;
-    } 
-
-    /**
-    * Compiles the config files
-    */
-    public function compileConfigSource ()
-    { 
-        // compile template
-        if (!is_object($this->compiler_object)) {
-            // load compiler
-            $this->compiler_object = new Smarty_Internal_Config_File_Compiler($this->smarty);
-        } 
-        // call compiler
-        if ($this->compiler_object->compileSource($this)) {
-            // compiling succeded
-            // write compiled template
-            Smarty_Internal_Write_File::writeFile($this->getCompiledFilepath(), $this->getCompiledConfig(), $this->smarty); 
-            // make template and compiled file timestamp match
-            touch($this->getCompiledFilepath(), $this->getTimestamp());
-        } else {
-            // error compiling template
-            throw new Exception("Error compiling template {$this->getConfigFilepath ()}");
-            return false;
-        } 
-    } 
-
-    /*
-     * load config variables
-    *
-    * @param mixed $sections array of section names, single section or null
-    * @param object $scope global,parent or local
-    */
-    public function loadConfigVars ($sections = null, $scope)
-    {
-        if (isset($this->template)) {
-            $this->template->properties['file_dependency'][sha1($this->getConfigFilepath())] = array($this->getConfigFilepath(), $this->getTimestamp());
-        } else {
-            $this->smarty->properties['file_dependency'][sha1($this->getConfigFilepath())] = array($this->getConfigFilepath(), $this->getTimestamp());
-        } 
-        $config_data = unserialize($this->getCompiledConfig()); 
-        // var_dump($config_data);
-        // copy global config vars
-        foreach ($config_data['vars'] as $variable => $value) {
-            if ($this->smarty->config_overwrite || !isset($scope->config_vars[$variable])) {
-                $scope->config_vars[$variable] = $value;
-            } else {
-                $scope->config_vars[$variable] = array_merge((array)$scope->config_vars[$variable], (array)$value);
-            } 
-        } 
-        // scan sections
-        foreach ($config_data['sections'] as $this_section => $dummy) {
-            if ($sections == null || in_array($this_section, (array)$sections)) {
-                foreach ($config_data['sections'][$this_section]['vars'] as $variable => $value) {
-                    if ($this->smarty->config_overwrite || !isset($scope->config_vars[$variable])) {
-                        $scope->config_vars[$variable] = $value;
-                    } else {
-                        $scope->config_vars[$variable] = array_merge((array)$scope->config_vars[$variable], (array)$value);
-                    } 
-                } 
-            } 
-        } 
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_config_file_compiler.php b/gosa-core/include/smarty/sysplugins/smarty_internal_config_file_compiler.php
deleted file mode 100644
index 1547911..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_config_file_compiler.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Config File Compiler
-* 
-* This is the config file compiler class. It calls the lexer and parser to
-* perform the compiling.
-* 
-* @package Smarty
-* @subpackage Config
-* @author Uwe Tews 
-*/
-/**
-* Main config file compiler class
-*/
-class Smarty_Internal_Config_File_Compiler {
-   public $compile_error= false;
-   /**
-    * Initialize compiler
-    */
-    public function __construct($smarty)
-    {
-        $this->smarty = $smarty; 
-        // get required plugins
-        $this->smarty->loadPlugin('Smarty_Internal_Configfilelexer');
-        $this->smarty->loadPlugin('Smarty_Internal_Configfileparser');
-        $this->config_data['sections'] = array();
-        $this->config_data['vars'] = array();
-    } 
-
-    /**
-    * Methode to compile a Smarty template
-    * 
-    * @param  $template template object to compile
-    * @return bool true if compiling succeeded, false if it failed
-    */
-    public function compileSource($config)
-    {
-        /* here is where the compiling takes place. Smarty
-       tags in the templates are replaces with PHP code,
-       then written to compiled files. */ 
-       $this->config = $config; 
-       // get config file source
-        $_content = $config->getConfigSource()."\n";
-        // on empty template just return
-        if ($_content == '') {
-            return true;
-        } 
-        // init the lexer/parser to compile the config file
-        $lex = new Smarty_Internal_Configfilelexer($_content, $this->smarty);
-        $parser = new Smarty_Internal_Configfileparser($lex, $this); 
-        // $parser->PrintTrace();
-        // get tokens from lexer and parse them
-        while ($lex->yylex()) {
-            // echo "<br>Parsing  {$parser->yyTokenName[$lex->token]} Token {$lex->value} Line {$lex->line} \n";
-            $parser->doParse($lex->token, $lex->value);
-        } 
-        // finish parsing process
-        $parser->doParse(0, 0);
-
-        $config->compiled_config = serialize($this->config_data);
-        if (!$this->compile_error) {
-            return true;
-        } else {
-            // compilation error
-            return false;
-        } 
-    } 
-    /**
-    * display compiler error messages without dying
-    * 
-    * If parameter $args is empty it is a parser detected syntax error.
-    * In this case the parser is called to obtain information about exspected tokens.
-    * 
-    * If parameter $args contains a string this is used as error message
-    * 
-    * @todo output exact position of parse error in source line
-    * @param  $args string individual error message or null
-    */
-    public function trigger_config_file_error($args = null)
-    {
-        $this->lex = Smarty_Internal_Configfilelexer::instance();
-        $this->parser = Smarty_Internal_Configfileparser::instance(); 
-        // get template source line which has error
-        $line = $this->lex->line;
-        if (isset($args)) {
-//            $line--;
-        } 
-        $match = preg_split("/\n/", $this->lex->data);
-        $error_text = "Syntax error in config file '{$this->config->getConfigFilepath()}' on line {$line} '{$match[$line-1]}' ";
-        if (isset($args)) {
-            // individual error message
-            $error_text .= $args;
-        } else {
-            // exspected token from parser
-            foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) {
-                $exp_token = $this->parser->yyTokenName[$token];
-                if (isset($this->lex->smarty_token_names[$exp_token])) {
-                    // token type from lexer
-                    $expect[] = '"' . $this->lex->smarty_token_names[$exp_token] . '"';
-                } else {
-                    // otherwise internal token name
-                    $expect[] = $this->parser->yyTokenName[$token];
-                } 
-            } 
-            // output parser error message
-            $error_text .= ' - Unexpected "' . $this->lex->value . '", expected one of: ' . implode(' , ', $expect);
-        } 
-        throw new Exception($error_text);
-        // set error flag
-        $this->compile_error = true;
-    } 
-
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_configfilelexer.php b/gosa-core/include/smarty/sysplugins/smarty_internal_configfilelexer.php
deleted file mode 100644
index 50d9fd6..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_configfilelexer.php
+++ /dev/null
@@ -1,526 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Configfilelexer
-*
-* This is the lexer to break the config file source into tokens 
-* @package Smarty
-* @subpackage Config
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Configfilelexer
-*/
-class Smarty_Internal_Configfilelexer
-{
-
-    public $data;
-    public $counter;
-    public $token;
-    public $value;
-    public $node;
-    public $line;
-    private $state = 1;
-    public $smarty_token_names = array (		// Text for parser error messages
-   				);
-    				
-    				
-    function __construct($data, $smarty)
-    {
-        // set instance object
-        self::instance($this); 
-        $this->data = $data . "\n"; //now all lines are \n-terminated
-        $this->counter = 0;
-        $this->line = 1;
-        $this->smarty = $smarty; 
-     }
-    public static function &instance($new_instance = null)
-    {
-        static $instance = null;
-        if (isset($new_instance) && is_object($new_instance))
-            $instance = $new_instance;
-        return $instance;
-    } 
-
-
-
-    private $_yy_state = 1;
-    private $_yy_stack = array();
-
-    function yylex()
-    {
-        return $this->{'yylex' . $this->_yy_state}();
-    }
-
-    function yypushstate($state)
-    {
-        array_push($this->_yy_stack, $this->_yy_state);
-        $this->_yy_state = $state;
-    }
-
-    function yypopstate()
-    {
-        $this->_yy_state = array_pop($this->_yy_stack);
-    }
-
-    function yybegin($state)
-    {
-        $this->_yy_state = $state;
-    }
-
-
-
-
-    function yylex1()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-              3 => 0,
-              4 => 0,
-              5 => 0,
-              6 => 0,
-              7 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^(#)|^(\\[)|^(\\])|^(=)|^([ \t\r]+)|^(\n)|^([0-9]*[a-zA-Z_]\\w*)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state START');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r1_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const START = 1;
-    function yy_r1_1($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_COMMENTSTART;
-    $this->yypushstate(self::COMMENT);
-    }
-    function yy_r1_2($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_OPENB;
-    $this->yypushstate(self::SECTION);
-    }
-    function yy_r1_3($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_CLOSEB;
-    }
-    function yy_r1_4($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_EQUAL;
-    $this->yypushstate(self::VALUE);
-    }
-    function yy_r1_5($yy_subpatterns)
-    {
-
-    return false;
-    }
-    function yy_r1_6($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE;
-    }
-    function yy_r1_7($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_ID;
-    }
-
-
-
-    function yylex2()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-              3 => 0,
-              4 => 0,
-              5 => 0,
-              6 => 0,
-              7 => 0,
-              8 => 0,
-              9 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^([ \t\r]+)|^(\\d+\\.\\d+(?=[ \t\r]*[\n#]))|^(\\d+(?=[ \t\r]*[\n#]))|^('[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(?=[ \t\r]*[\n#]))|^(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"(?=[ \t\r]*[\n#]))|^(\"\"\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"\"\"(?=[ \t\r]*[\n#]))|^([a-zA-Z]+(?=[ \t\r]*[\n#]))|^([^\n]+?(?=[ \t\r]*\n))|^(\n)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state VALUE');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r2_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const VALUE = 2;
-    function yy_r2_1($yy_subpatterns)
-    {
-
-    return false;
-    }
-    function yy_r2_2($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_FLOAT;
-    $this->yypopstate();
-    }
-    function yy_r2_3($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_INT;
-    $this->yypopstate();
-    }
-    function yy_r2_4($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_SINGLE_QUOTED_STRING;
-    $this->yypopstate();
-    }
-    function yy_r2_5($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_DOUBLE_QUOTED_STRING;
-    $this->yypopstate();
-    }
-    function yy_r2_6($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_DOUBLE_QUOTED_STRING;
-    $this->yypopstate();
-    }
-    function yy_r2_7($yy_subpatterns)
-    {
-
-    if (!$this->smarty->config_booleanize || !in_array(strtolower($this->value), Array("true", "false", "on", "off", "yes", "no")) ) {
-        $this->yypopstate();
-        $this->yypushstate(self::NAKED_STRING_VALUE);
-        return true; //reprocess in new state
-    } else {
-        $this->token = Smarty_Internal_Configfileparser::TPC_BOOL;
-        $this->yypopstate();
-    }
-    }
-    function yy_r2_8($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
-    $this->yypopstate();
-    }
-    function yy_r2_9($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
-    $this->value = "";
-    $this->yypopstate();
-    }
-
-
-
-    function yylex3()
-    {
-        $tokenMap = array (
-              1 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^([^\n]+?(?=[ \t\r]*\n))/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state NAKED_STRING_VALUE');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r3_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const NAKED_STRING_VALUE = 3;
-    function yy_r3_1($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
-    $this->yypopstate();
-    }
-
-
-
-    function yylex4()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-              3 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^([ \t\r]+)|^([^\n]+?(?=[ \t\r]*\n))|^(\n)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state COMMENT');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r4_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const COMMENT = 4;
-    function yy_r4_1($yy_subpatterns)
-    {
-
-    return false;
-    }
-    function yy_r4_2($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
-    }
-    function yy_r4_3($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE;
-    $this->yypopstate();
-    }
-
-
-
-    function yylex5()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^(\\.)|^(.*?(?=[\.=[\]\r\n]))/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state SECTION');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r5_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const SECTION = 5;
-    function yy_r5_1($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_DOT;
-    }
-    function yy_r5_2($yy_subpatterns)
-    {
-
-    $this->token = Smarty_Internal_Configfileparser::TPC_SECTION;
-    $this->yypopstate();
-    }
-
-
-}
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_configfileparser.php b/gosa-core/include/smarty/sysplugins/smarty_internal_configfileparser.php
deleted file mode 100644
index 3621a48..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_configfileparser.php
+++ /dev/null
@@ -1,864 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Configfileparser
-*
-* This is the config file parser.
-* It is generated from the internal.configfileparser.y file
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
-
-class TPC_yyToken implements ArrayAccess
-{
-    public $string = '';
-    public $metadata = array();
-
-    function __construct($s, $m = array())
-    {
-        if ($s instanceof TPC_yyToken) {
-            $this->string = $s->string;
-            $this->metadata = $s->metadata;
-        } else {
-            $this->string = (string) $s;
-            if ($m instanceof TPC_yyToken) {
-                $this->metadata = $m->metadata;
-            } elseif (is_array($m)) {
-                $this->metadata = $m;
-            }
-        }
-    }
-
-    function __toString()
-    {
-        return $this->_string;
-    }
-
-    function offsetExists($offset)
-    {
-        return isset($this->metadata[$offset]);
-    }
-
-    function offsetGet($offset)
-    {
-        return $this->metadata[$offset];
-    }
-
-    function offsetSet($offset, $value)
-    {
-        if ($offset === null) {
-            if (isset($value[0])) {
-                $x = ($value instanceof TPC_yyToken) ?
-                    $value->metadata : $value;
-                $this->metadata = array_merge($this->metadata, $x);
-                return;
-            }
-            $offset = count($this->metadata);
-        }
-        if ($value === null) {
-            return;
-        }
-        if ($value instanceof TPC_yyToken) {
-            if ($value->metadata) {
-                $this->metadata[$offset] = $value->metadata;
-            }
-        } elseif ($value) {
-            $this->metadata[$offset] = $value;
-        }
-    }
-
-    function offsetUnset($offset)
-    {
-        unset($this->metadata[$offset]);
-    }
-}
-
-class TPC_yyStackEntry
-{
-    public $stateno;       /* The state-number */
-    public $major;         /* The major token value.  This is the code
-                     ** number for the token at this stack level */
-    public $minor; /* The user-supplied minor token value.  This
-                     ** is the value of the token  */
-};
-
-
-#line 12 "smarty_internal_configfileparser.y"
-class Smarty_Internal_Configfileparser#line 79 "smarty_internal_configfileparser.php"
-{
-#line 14 "smarty_internal_configfileparser.y"
-
-    // states whether the parse was successful or not
-    public $successful = true;
-    public $retvalue = 0;
-    private $lex;
-    private $internalError = false;
-
-    function __construct($lex, $compiler) {
-        // set instance object
-        self::instance($this); 
-        $this->lex = $lex;
-        $this->smarty = $compiler->smarty; 
-        $this->compiler = $compiler;
-    }
-    public static function &instance($new_instance = null)
-    {
-        static $instance = null;
-        if (isset($new_instance) && is_object($new_instance))
-            $instance = $new_instance;
-        return $instance;
-    }
-
-    private function parse_bool($str) {
-        if (in_array(strtolower($str) ,array('on','yes','true'))) {
-            $res = true;
-        } else {
-            assert(in_array(strtolower($str), array('off','no','false')));
-            $res = false;
-        }
-        return $res;
-    }
-
-    private static $escapes_single = Array('\\' => '\\',
-                                          '\'' => '\'');
-    private static function parse_single_quoted_string($qstr) {
-        $escaped_string = substr($qstr, 1, strlen($qstr)-2); //remove outer quotes
-
-        $ss = preg_split('/(\\\\.)/', $escaped_string, -1, PREG_SPLIT_DELIM_CAPTURE);
-
-        $str = "";
-        foreach ($ss as $s) {
-            if (strlen($s) === 2 && $s[0] === '\\') {
-                if (isset(self::$escapes_single[$s[1]])) {
-                    $s = self::$escapes_single[$s[1]];
-                }
-             }
-
-             $str .= $s;
-        }
-
-        return $str;
-    }
-
-    private static function parse_double_quoted_string($qstr) {
-        $inner_str = substr($qstr, 1, strlen($qstr)-2);
-        return stripcslashes($inner_str);
-    }
-
-    private static function parse_tripple_double_quoted_string($qstr) {
-        $inner_str = substr($qstr, 3, strlen($qstr)-6);
-        return stripcslashes($inner_str);
-    }
-
-    private function set_var(Array $var, Array &$target_array) {
-        $key = $var["key"];
-        $value = $var["value"];
-
-        if ($this->smarty->config_overwrite || !isset($target_array['vars'][$key])) {
-            $target_array['vars'][$key] = $value;
-        } else {
-            settype($target_array['vars'][$key], 'array');
-            $target_array['vars'][$key][] = $value;
-        }
-    }
-
-    private function add_global_vars(Array $vars) {
-        if (!isset($this->compiler->config_data['vars'])) {
-	    $this->compiler->config_data['vars'] = Array();
-        }
-        foreach ($vars as $var) {
-            $this->set_var($var, $this->compiler->config_data);
-        }
-    }
-
-    private function add_section_vars($section_name, Array $vars) {
-        if (!isset($this->compiler->config_data['sections'][$section_name]['vars'])) {
-            $this->compiler->config_data['sections'][$section_name]['vars'] = Array();
-        }
-        foreach ($vars as $var) {
-            $this->set_var($var, $this->compiler->config_data['sections'][$section_name]);
-        }
-    }
-#line 175 "smarty_internal_configfileparser.php"
-
-    const TPC_OPENB                          =  1;
-    const TPC_SECTION                        =  2;
-    const TPC_CLOSEB                         =  3;
-    const TPC_DOT                            =  4;
-    const TPC_ID                             =  5;
-    const TPC_EQUAL                          =  6;
-    const TPC_FLOAT                          =  7;
-    const TPC_INT                            =  8;
-    const TPC_BOOL                           =  9;
-    const TPC_SINGLE_QUOTED_STRING           = 10;
-    const TPC_DOUBLE_QUOTED_STRING           = 11;
-    const TPC_TRIPPLE_DOUBLE_QUOTED_STRING   = 12;
-    const TPC_NAKED_STRING                   = 13;
-    const TPC_NEWLINE                        = 14;
-    const TPC_COMMENTSTART                   = 15;
-    const YY_NO_ACTION = 54;
-    const YY_ACCEPT_ACTION = 53;
-    const YY_ERROR_ACTION = 52;
-
-    const YY_SZ_ACTTAB = 35;
-static public $yy_action = array(
- /*     0 */    26,   27,   21,   30,   29,   28,   31,   16,   53,    8,
- /*    10 */    19,    2,   20,   11,   24,   23,   20,   11,   17,   15,
- /*    20 */     3,   14,   13,   18,    4,    6,    5,    1,   12,   22,
- /*    30 */     9,   47,   10,   25,    7,
-    );
-    static public $yy_lookahead = array(
- /*     0 */     7,    8,    9,   10,   11,   12,   13,    5,   17,   18,
- /*    10 */    14,   20,   14,   15,   22,   23,   14,   15,    2,    2,
- /*    20 */    20,    4,   13,   14,    6,    3,    3,   20,    1,   24,
- /*    30 */    22,   25,   22,   21,   19,
-);
-    const YY_SHIFT_USE_DFLT = -8;
-    const YY_SHIFT_MAX = 17;
-    static public $yy_shift_ofst = array(
- /*     0 */    -8,    2,    2,    2,   -7,   -2,   -2,   27,   -8,   -8,
- /*    10 */    -8,    9,   17,   -4,   16,   23,   18,   22,
-);
-    const YY_REDUCE_USE_DFLT = -10;
-    const YY_REDUCE_MAX = 10;
-    static public $yy_reduce_ofst = array(
- /*     0 */    -9,   -8,   -8,   -8,    5,   10,    8,   12,   15,    0,
- /*    10 */     7,
-);
-    static public $yyExpectedTokens = array(
-        /* 0 */ array(),
-        /* 1 */ array(5, 14, 15, ),
-        /* 2 */ array(5, 14, 15, ),
-        /* 3 */ array(5, 14, 15, ),
-        /* 4 */ array(7, 8, 9, 10, 11, 12, 13, ),
-        /* 5 */ array(14, 15, ),
-        /* 6 */ array(14, 15, ),
-        /* 7 */ array(1, ),
-        /* 8 */ array(),
-        /* 9 */ array(),
-        /* 10 */ array(),
-        /* 11 */ array(13, 14, ),
-        /* 12 */ array(2, 4, ),
-        /* 13 */ array(14, ),
-        /* 14 */ array(2, ),
-        /* 15 */ array(3, ),
-        /* 16 */ array(6, ),
-        /* 17 */ array(3, ),
-        /* 18 */ array(),
-        /* 19 */ array(),
-        /* 20 */ array(),
-        /* 21 */ array(),
-        /* 22 */ array(),
-        /* 23 */ array(),
-        /* 24 */ array(),
-        /* 25 */ array(),
-        /* 26 */ array(),
-        /* 27 */ array(),
-        /* 28 */ array(),
-        /* 29 */ array(),
-        /* 30 */ array(),
-        /* 31 */ array(),
-);
-    static public $yy_default = array(
- /*     0 */    40,   36,   33,   37,   52,   52,   52,   32,   35,   40,
- /*    10 */    40,   52,   52,   52,   52,   52,   52,   52,   50,   51,
- /*    20 */    49,   44,   41,   39,   38,   34,   42,   43,   47,   46,
- /*    30 */    45,   48,
-);
-    const YYNOCODE = 26;
-    const YYSTACKDEPTH = 100;
-    const YYNSTATE = 32;
-    const YYNRULE = 20;
-    const YYERRORSYMBOL = 16;
-    const YYERRSYMDT = 'yy0';
-    const YYFALLBACK = 0;
-    static public $yyFallback = array(
-    );
-    static function Trace($TraceFILE, $zTracePrompt)
-    {
-        if (!$TraceFILE) {
-            $zTracePrompt = 0;
-        } elseif (!$zTracePrompt) {
-            $TraceFILE = 0;
-        }
-        self::$yyTraceFILE = $TraceFILE;
-        self::$yyTracePrompt = $zTracePrompt;
-    }
-
-    static function PrintTrace()
-    {
-        self::$yyTraceFILE = fopen('php://output', 'w');
-        self::$yyTracePrompt = '<br>';
-    }
-
-    static public $yyTraceFILE;
-    static public $yyTracePrompt;
-    public $yyidx;                    /* Index of top element in stack */
-    public $yyerrcnt;                 /* Shifts left before out of the error */
-    public $yystack = array();  /* The parser's stack */
-
-    public $yyTokenName = array( 
-  '$',             'OPENB',         'SECTION',       'CLOSEB',      
-  'DOT',           'ID',            'EQUAL',         'FLOAT',       
-  'INT',           'BOOL',          'SINGLE_QUOTED_STRING',  'DOUBLE_QUOTED_STRING',
-  'TRIPPLE_DOUBLE_QUOTED_STRING',  'NAKED_STRING',  'NEWLINE',       'COMMENTSTART',
-  'error',         'start',         'global_vars',   'sections',    
-  'var_list',      'section',       'newline',       'var',         
-  'value',       
-    );
-
-    static public $yyRuleName = array(
- /*   0 */ "start ::= global_vars sections",
- /*   1 */ "global_vars ::= var_list",
- /*   2 */ "sections ::= sections section",
- /*   3 */ "sections ::=",
- /*   4 */ "section ::= OPENB SECTION CLOSEB newline var_list",
- /*   5 */ "section ::= OPENB DOT SECTION CLOSEB newline var_list",
- /*   6 */ "var_list ::= var_list newline",
- /*   7 */ "var_list ::= var_list var",
- /*   8 */ "var_list ::=",
- /*   9 */ "var ::= ID EQUAL value",
- /*  10 */ "value ::= FLOAT",
- /*  11 */ "value ::= INT",
- /*  12 */ "value ::= BOOL",
- /*  13 */ "value ::= SINGLE_QUOTED_STRING",
- /*  14 */ "value ::= DOUBLE_QUOTED_STRING",
- /*  15 */ "value ::= TRIPPLE_DOUBLE_QUOTED_STRING",
- /*  16 */ "value ::= NAKED_STRING",
- /*  17 */ "newline ::= NEWLINE",
- /*  18 */ "newline ::= COMMENTSTART NEWLINE",
- /*  19 */ "newline ::= COMMENTSTART NAKED_STRING NEWLINE",
-    );
-
-    function tokenName($tokenType)
-    {
-        if ($tokenType === 0) {
-            return 'End of Input';
-        }
-        if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
-            return $this->yyTokenName[$tokenType];
-        } else {
-            return "Unknown";
-        }
-    }
-
-    static function yy_destructor($yymajor, $yypminor)
-    {
-        switch ($yymajor) {
-            default:  break;   /* If no destructor action specified: do nothing */
-        }
-    }
-
-    function yy_pop_parser_stack()
-    {
-        if (!count($this->yystack)) {
-            return;
-        }
-        $yytos = array_pop($this->yystack);
-        if (self::$yyTraceFILE && $this->yyidx >= 0) {
-            fwrite(self::$yyTraceFILE,
-                self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
-                    "\n");
-        }
-        $yymajor = $yytos->major;
-        self::yy_destructor($yymajor, $yytos->minor);
-        $this->yyidx--;
-        return $yymajor;
-    }
-
-    function __destruct()
-    {
-        while ($this->yyidx >= 0) {
-            $this->yy_pop_parser_stack();
-        }
-        if (is_resource(self::$yyTraceFILE)) {
-            fclose(self::$yyTraceFILE);
-        }
-    }
-
-    function yy_get_expected_tokens($token)
-    {
-        $state = $this->yystack[$this->yyidx]->stateno;
-        $expected = self::$yyExpectedTokens[$state];
-        if (in_array($token, self::$yyExpectedTokens[$state], true)) {
-            return $expected;
-        }
-        $stack = $this->yystack;
-        $yyidx = $this->yyidx;
-        do {
-            $yyact = $this->yy_find_shift_action($token);
-            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
-                // reduce action
-                $done = 0;
-                do {
-                    if ($done++ == 100) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        // too much recursion prevents proper detection
-                        // so give up
-                        return array_unique($expected);
-                    }
-                    $yyruleno = $yyact - self::YYNSTATE;
-                    $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
-                    $nextstate = $this->yy_find_reduce_action(
-                        $this->yystack[$this->yyidx]->stateno,
-                        self::$yyRuleInfo[$yyruleno]['lhs']);
-                    if (isset(self::$yyExpectedTokens[$nextstate])) {
-                        $expected += self::$yyExpectedTokens[$nextstate];
-                            if (in_array($token,
-                                  self::$yyExpectedTokens[$nextstate], true)) {
-                            $this->yyidx = $yyidx;
-                            $this->yystack = $stack;
-                            return array_unique($expected);
-                        }
-                    }
-                    if ($nextstate < self::YYNSTATE) {
-                        // we need to shift a non-terminal
-                        $this->yyidx++;
-                        $x = new TPC_yyStackEntry;
-                        $x->stateno = $nextstate;
-                        $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
-                        $this->yystack[$this->yyidx] = $x;
-                        continue 2;
-                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        // the last token was just ignored, we can't accept
-                        // by ignoring input, this is in essence ignoring a
-                        // syntax error!
-                        return array_unique($expected);
-                    } elseif ($nextstate === self::YY_NO_ACTION) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        // input accepted, but not shifted (I guess)
-                        return $expected;
-                    } else {
-                        $yyact = $nextstate;
-                    }
-                } while (true);
-            }
-            break;
-        } while (true);
-        return array_unique($expected);
-    }
-
-    function yy_is_expected_token($token)
-    {
-        if ($token === 0) {
-            return true; // 0 is not part of this
-        }
-        $state = $this->yystack[$this->yyidx]->stateno;
-        if (in_array($token, self::$yyExpectedTokens[$state], true)) {
-            return true;
-        }
-        $stack = $this->yystack;
-        $yyidx = $this->yyidx;
-        do {
-            $yyact = $this->yy_find_shift_action($token);
-            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
-                // reduce action
-                $done = 0;
-                do {
-                    if ($done++ == 100) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        // too much recursion prevents proper detection
-                        // so give up
-                        return true;
-                    }
-                    $yyruleno = $yyact - self::YYNSTATE;
-                    $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
-                    $nextstate = $this->yy_find_reduce_action(
-                        $this->yystack[$this->yyidx]->stateno,
-                        self::$yyRuleInfo[$yyruleno]['lhs']);
-                    if (isset(self::$yyExpectedTokens[$nextstate]) &&
-                          in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        return true;
-                    }
-                    if ($nextstate < self::YYNSTATE) {
-                        // we need to shift a non-terminal
-                        $this->yyidx++;
-                        $x = new TPC_yyStackEntry;
-                        $x->stateno = $nextstate;
-                        $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
-                        $this->yystack[$this->yyidx] = $x;
-                        continue 2;
-                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        if (!$token) {
-                            // end of input: this is valid
-                            return true;
-                        }
-                        // the last token was just ignored, we can't accept
-                        // by ignoring input, this is in essence ignoring a
-                        // syntax error!
-                        return false;
-                    } elseif ($nextstate === self::YY_NO_ACTION) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        // input accepted, but not shifted (I guess)
-                        return true;
-                    } else {
-                        $yyact = $nextstate;
-                    }
-                } while (true);
-            }
-            break;
-        } while (true);
-        $this->yyidx = $yyidx;
-        $this->yystack = $stack;
-        return true;
-    }
-
-   function yy_find_shift_action($iLookAhead)
-    {
-        $stateno = $this->yystack[$this->yyidx]->stateno;
-     
-        /* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
-        if (!isset(self::$yy_shift_ofst[$stateno])) {
-            // no shift actions
-            return self::$yy_default[$stateno];
-        }
-        $i = self::$yy_shift_ofst[$stateno];
-        if ($i === self::YY_SHIFT_USE_DFLT) {
-            return self::$yy_default[$stateno];
-        }
-        if ($iLookAhead == self::YYNOCODE) {
-            return self::YY_NO_ACTION;
-        }
-        $i += $iLookAhead;
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
-              self::$yy_lookahead[$i] != $iLookAhead) {
-            if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
-                   && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
-                if (self::$yyTraceFILE) {
-                    fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
-                        $this->yyTokenName[$iLookAhead] . " => " .
-                        $this->yyTokenName[$iFallback] . "\n");
-                }
-                return $this->yy_find_shift_action($iFallback);
-            }
-            return self::$yy_default[$stateno];
-        } else {
-            return self::$yy_action[$i];
-        }
-    }
-
-    function yy_find_reduce_action($stateno, $iLookAhead)
-    {
-        /* $stateno = $this->yystack[$this->yyidx]->stateno; */
-
-        if (!isset(self::$yy_reduce_ofst[$stateno])) {
-            return self::$yy_default[$stateno];
-        }
-        $i = self::$yy_reduce_ofst[$stateno];
-        if ($i == self::YY_REDUCE_USE_DFLT) {
-            return self::$yy_default[$stateno];
-        }
-        if ($iLookAhead == self::YYNOCODE) {
-            return self::YY_NO_ACTION;
-        }
-        $i += $iLookAhead;
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
-              self::$yy_lookahead[$i] != $iLookAhead) {
-            return self::$yy_default[$stateno];
-        } else {
-            return self::$yy_action[$i];
-        }
-    }
-
-    function yy_shift($yyNewState, $yyMajor, $yypMinor)
-    {
-        $this->yyidx++;
-        if ($this->yyidx >= self::YYSTACKDEPTH) {
-            $this->yyidx--;
-            if (self::$yyTraceFILE) {
-                fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
-            }
-            while ($this->yyidx >= 0) {
-                $this->yy_pop_parser_stack();
-            }
-            return;
-        }
-        $yytos = new TPC_yyStackEntry;
-        $yytos->stateno = $yyNewState;
-        $yytos->major = $yyMajor;
-        $yytos->minor = $yypMinor;
-        array_push($this->yystack, $yytos);
-        if (self::$yyTraceFILE && $this->yyidx > 0) {
-            fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
-                $yyNewState);
-            fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
-            for($i = 1; $i <= $this->yyidx; $i++) {
-                fprintf(self::$yyTraceFILE, " %s",
-                    $this->yyTokenName[$this->yystack[$i]->major]);
-            }
-            fwrite(self::$yyTraceFILE,"\n");
-        }
-    }
-
-    static public $yyRuleInfo = array(
-  array( 'lhs' => 17, 'rhs' => 2 ),
-  array( 'lhs' => 18, 'rhs' => 1 ),
-  array( 'lhs' => 19, 'rhs' => 2 ),
-  array( 'lhs' => 19, 'rhs' => 0 ),
-  array( 'lhs' => 21, 'rhs' => 5 ),
-  array( 'lhs' => 21, 'rhs' => 6 ),
-  array( 'lhs' => 20, 'rhs' => 2 ),
-  array( 'lhs' => 20, 'rhs' => 2 ),
-  array( 'lhs' => 20, 'rhs' => 0 ),
-  array( 'lhs' => 23, 'rhs' => 3 ),
-  array( 'lhs' => 24, 'rhs' => 1 ),
-  array( 'lhs' => 24, 'rhs' => 1 ),
-  array( 'lhs' => 24, 'rhs' => 1 ),
-  array( 'lhs' => 24, 'rhs' => 1 ),
-  array( 'lhs' => 24, 'rhs' => 1 ),
-  array( 'lhs' => 24, 'rhs' => 1 ),
-  array( 'lhs' => 24, 'rhs' => 1 ),
-  array( 'lhs' => 22, 'rhs' => 1 ),
-  array( 'lhs' => 22, 'rhs' => 2 ),
-  array( 'lhs' => 22, 'rhs' => 3 ),
-    );
-
-    static public $yyReduceMap = array(
-        0 => 0,
-        2 => 0,
-        3 => 0,
-        17 => 0,
-        18 => 0,
-        19 => 0,
-        1 => 1,
-        4 => 4,
-        5 => 5,
-        6 => 6,
-        7 => 7,
-        8 => 8,
-        9 => 9,
-        10 => 10,
-        11 => 11,
-        12 => 12,
-        13 => 13,
-        14 => 14,
-        15 => 15,
-        16 => 16,
-    );
-#line 127 "smarty_internal_configfileparser.y"
-    function yy_r0(){ $this->_retvalue = null;     }
-#line 645 "smarty_internal_configfileparser.php"
-#line 130 "smarty_internal_configfileparser.y"
-    function yy_r1(){ $this->add_global_vars($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = null;     }
-#line 648 "smarty_internal_configfileparser.php"
-#line 136 "smarty_internal_configfileparser.y"
-    function yy_r4(){ $this->add_section_vars($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = null;     }
-#line 651 "smarty_internal_configfileparser.php"
-#line 137 "smarty_internal_configfileparser.y"
-    function yy_r5(){ if ($this->smarty->config_read_hidden) { $this->add_section_vars($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + 0]->minor); } $this->_retvalue = null;     }
-#line 654 "smarty_internal_configfileparser.php"
-#line 140 "smarty_internal_configfileparser.y"
-    function yy_r6(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;     }
-#line 657 "smarty_internal_configfileparser.php"
-#line 141 "smarty_internal_configfileparser.y"
-    function yy_r7(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor, Array($this->yystack[$this->yyidx + 0]->minor));     }
-#line 660 "smarty_internal_configfileparser.php"
-#line 142 "smarty_internal_configfileparser.y"
-    function yy_r8(){ $this->_retvalue = Array();     }
-#line 663 "smarty_internal_configfileparser.php"
-#line 146 "smarty_internal_configfileparser.y"
-    function yy_r9(){ $this->_retvalue = Array("key" => $this->yystack[$this->yyidx + -2]->minor, "value" => $this->yystack[$this->yyidx + 0]->minor);     }
-#line 666 "smarty_internal_configfileparser.php"
-#line 148 "smarty_internal_configfileparser.y"
-    function yy_r10(){ $this->_retvalue = (float) $this->yystack[$this->yyidx + 0]->minor;     }
-#line 669 "smarty_internal_configfileparser.php"
-#line 149 "smarty_internal_configfileparser.y"
-    function yy_r11(){ $this->_retvalue = (int) $this->yystack[$this->yyidx + 0]->minor;     }
-#line 672 "smarty_internal_configfileparser.php"
-#line 150 "smarty_internal_configfileparser.y"
-    function yy_r12(){ $this->_retvalue = $this->parse_bool($this->yystack[$this->yyidx + 0]->minor);     }
-#line 675 "smarty_internal_configfileparser.php"
-#line 151 "smarty_internal_configfileparser.y"
-    function yy_r13(){ $this->_retvalue = self::parse_single_quoted_string($this->yystack[$this->yyidx + 0]->minor);     }
-#line 678 "smarty_internal_configfileparser.php"
-#line 152 "smarty_internal_configfileparser.y"
-    function yy_r14(){ $this->_retvalue = self::parse_double_quoted_string($this->yystack[$this->yyidx + 0]->minor);     }
-#line 681 "smarty_internal_configfileparser.php"
-#line 153 "smarty_internal_configfileparser.y"
-    function yy_r15(){ $this->_retvalue = self::parse_tripple_double_quoted_string($this->yystack[$this->yyidx + 0]->minor);     }
-#line 684 "smarty_internal_configfileparser.php"
-#line 154 "smarty_internal_configfileparser.y"
-    function yy_r16(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;     }
-#line 687 "smarty_internal_configfileparser.php"
-
-    private $_retvalue;
-
-    function yy_reduce($yyruleno)
-    {
-        $yymsp = $this->yystack[$this->yyidx];
-        if (self::$yyTraceFILE && $yyruleno >= 0 
-              && $yyruleno < count(self::$yyRuleName)) {
-            fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
-                self::$yyTracePrompt, $yyruleno,
-                self::$yyRuleName[$yyruleno]);
-        }
-
-        $this->_retvalue = $yy_lefthand_side = null;
-        if (array_key_exists($yyruleno, self::$yyReduceMap)) {
-            // call the action
-            $this->_retvalue = null;
-            $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
-            $yy_lefthand_side = $this->_retvalue;
-        }
-        $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
-        $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
-        $this->yyidx -= $yysize;
-        for($i = $yysize; $i; $i--) {
-            // pop all of the right-hand side parameters
-            array_pop($this->yystack);
-        }
-        $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
-        if ($yyact < self::YYNSTATE) {
-            if (!self::$yyTraceFILE && $yysize) {
-                $this->yyidx++;
-                $x = new TPC_yyStackEntry;
-                $x->stateno = $yyact;
-                $x->major = $yygoto;
-                $x->minor = $yy_lefthand_side;
-                $this->yystack[$this->yyidx] = $x;
-            } else {
-                $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
-            }
-        } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
-            $this->yy_accept();
-        }
-    }
-
-    function yy_parse_failed()
-    {
-        if (self::$yyTraceFILE) {
-            fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
-        }
-        while ($this->yyidx >= 0) {
-            $this->yy_pop_parser_stack();
-        }
-    }
-
-    function yy_syntax_error($yymajor, $TOKEN)
-    {
-#line 120 "smarty_internal_configfileparser.y"
-
-    $this->internalError = true;
-    $this->yymajor = $yymajor;
-    $this->compiler->trigger_config_file_error();
-#line 750 "smarty_internal_configfileparser.php"
-    }
-
-    function yy_accept()
-    {
-        if (self::$yyTraceFILE) {
-            fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
-        }
-        while ($this->yyidx >= 0) {
-            $stack = $this->yy_pop_parser_stack();
-        }
-#line 112 "smarty_internal_configfileparser.y"
-
-    $this->successful = !$this->internalError;
-    $this->internalError = false;
-    $this->retvalue = $this->_retvalue;
-    //echo $this->retvalue."\n\n";
-#line 768 "smarty_internal_configfileparser.php"
-    }
-
-    function doParse($yymajor, $yytokenvalue)
-    {
-        $yyerrorhit = 0;   /* True if yymajor has invoked an error */
-        
-        if ($this->yyidx === null || $this->yyidx < 0) {
-            $this->yyidx = 0;
-            $this->yyerrcnt = -1;
-            $x = new TPC_yyStackEntry;
-            $x->stateno = 0;
-            $x->major = 0;
-            $this->yystack = array();
-            array_push($this->yystack, $x);
-        }
-        $yyendofinput = ($yymajor==0);
-        
-        if (self::$yyTraceFILE) {
-            fprintf(self::$yyTraceFILE, "%sInput %s\n",
-                self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
-        }
-        
-        do {
-            $yyact = $this->yy_find_shift_action($yymajor);
-            if ($yymajor < self::YYERRORSYMBOL &&
-                  !$this->yy_is_expected_token($yymajor)) {
-                // force a syntax error
-                $yyact = self::YY_ERROR_ACTION;
-            }
-            if ($yyact < self::YYNSTATE) {
-                $this->yy_shift($yyact, $yymajor, $yytokenvalue);
-                $this->yyerrcnt--;
-                if ($yyendofinput && $this->yyidx >= 0) {
-                    $yymajor = 0;
-                } else {
-                    $yymajor = self::YYNOCODE;
-                }
-            } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
-                $this->yy_reduce($yyact - self::YYNSTATE);
-            } elseif ($yyact == self::YY_ERROR_ACTION) {
-                if (self::$yyTraceFILE) {
-                    fprintf(self::$yyTraceFILE, "%sSyntax Error!\n",
-                        self::$yyTracePrompt);
-                }
-                if (self::YYERRORSYMBOL) {
-                    if ($this->yyerrcnt < 0) {
-                        $this->yy_syntax_error($yymajor, $yytokenvalue);
-                    }
-                    $yymx = $this->yystack[$this->yyidx]->major;
-                    if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){
-                        if (self::$yyTraceFILE) {
-                            fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n",
-                                self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
-                        }
-                        $this->yy_destructor($yymajor, $yytokenvalue);
-                        $yymajor = self::YYNOCODE;
-                    } else {
-                        while ($this->yyidx >= 0 &&
-                                 $yymx != self::YYERRORSYMBOL &&
-        ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
-                              ){
-                            $this->yy_pop_parser_stack();
-                        }
-                        if ($this->yyidx < 0 || $yymajor==0) {
-                            $this->yy_destructor($yymajor, $yytokenvalue);
-                            $this->yy_parse_failed();
-                            $yymajor = self::YYNOCODE;
-                        } elseif ($yymx != self::YYERRORSYMBOL) {
-                            $u2 = 0;
-                            $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
-                        }
-                    }
-                    $this->yyerrcnt = 3;
-                    $yyerrorhit = 1;
-                } else {
-                    if ($this->yyerrcnt <= 0) {
-                        $this->yy_syntax_error($yymajor, $yytokenvalue);
-                    }
-                    $this->yyerrcnt = 3;
-                    $this->yy_destructor($yymajor, $yytokenvalue);
-                    if ($yyendofinput) {
-                        $this->yy_parse_failed();
-                    }
-                    $yymajor = self::YYNOCODE;
-                }
-            } else {
-                $this->yy_accept();
-                $yymajor = self::YYNOCODE;
-            }            
-        } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
-    }
-}
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_data.php b/gosa-core/include/smarty/sysplugins/smarty_internal_data.php
deleted file mode 100644
index 61b9b52..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_data.php
+++ /dev/null
@@ -1,413 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Data
-* 
-* This file contains the basic classes and methodes for template and variable creation
-* 
-* @package Smarty
-* @subpackage Templates
-* @author Uwe Tews 
-*/
-
-/**
-* Base class with template and variable methodes
-*/
-class Smarty_Internal_Data {
-    // class used for templates
-    public $template_class = 'Smarty_Internal_Template';
-
-    /**
-    * assigns a Smarty variable
-    * 
-    * @param array $ |string $tpl_var the template variable name(s)
-    * @param mixed $value the value to assign
-    * @param boolean $nocache if true any output of this variable will be not cached
-    * @param boolean $scope the scope the variable will have  (local,parent or root)
-    */
-    public function assign($tpl_var, $value = null, $nocache = false, $scope = SMARTY_LOCAL_SCOPE)
-    {
-        if (is_array($tpl_var)) {
-            foreach ($tpl_var as $_key => $_val) {
-                if ($_key != '') {
-                    $this->tpl_vars[$_key] = new Smarty_variable($_val, $nocache, $scope);
-                } 
-            } 
-        } else {
-            if ($tpl_var != '') {
-                $this->tpl_vars[$tpl_var] = new Smarty_variable($value, $nocache, $scope);
-            } 
-        } 
-    } 
-    /**
-    * assigns a global Smarty variable
-    * 
-    * @param string $varname the global variable name
-    * @param mixed $value the value to assign
-    * @param boolean $nocache if true any output of this variable will be not cached
-    */
-    public function assign_global($varname, $value = null, $nocache = false)
-    {
-        if ($varname != '') {
-            $this->smarty->global_tpl_vars[$varname] = new Smarty_variable($value, $nocache);
-        } 
-    } 
-    /**
-    * assigns values to template variables by reference
-    * 
-    * @param string $tpl_var the template variable name
-    * @param mixed $ &$value the referenced value to assign
-    * @param boolean $nocache if true any output of this variable will be not cached
-    * @param boolean $scope the scope the variable will have  (local,parent or root)
-    */
-    public function assign_by_ref($tpl_var, &$value, $nocache = false, $scope = SMARTY_LOCAL_SCOPE)
-    {
-        if ($tpl_var != '') {
-            $this->tpl_vars[$tpl_var] = new Smarty_variable(null, $nocache, $scope);
-            $this->tpl_vars[$tpl_var]->value = &$value;
-        } 
-    } 
-    /**
-    * appends values to template variables
-    * 
-    * @param array $ |string $tpl_var the template variable name(s)
-    * @param mixed $value the value to append
-    * @param boolean $merge flag if array elements shall be merged
-    * @param boolean $nocache if true any output of this variable will be not cached
-    * @param boolean $scope the scope the variable will have  (local,parent or root)
-    */
-    public function append($tpl_var, $value = null, $merge = false, $nocache = false, $scope = SMARTY_LOCAL_SCOPE)
-    {
-        if (is_array($tpl_var)) {
-            // $tpl_var is an array, ignore $value
-            foreach ($tpl_var as $_key => $_val) {
-                if ($_key != '') {
-                    if (!isset($this->tpl_vars[$_key])) {
-                        $tpl_var_inst = $this->getVariable($_key, null, true, false);
-                        if ($tpl_var_inst instanceof Undefined_Smarty_Variable) {
-                            $this->tpl_vars[$_key] = new Smarty_variable(null, $nocache, $scope);
-                        } else {
-                            $this->tpl_vars[$_key] = clone $tpl_var_inst;
-                            if ($scope != SMARTY_LOCAL_SCOPE) {
-                                $this->tpl_vars[$_key]->scope = $scope;
-                            } 
-                        } 
-                    } 
-                    if (!(is_array($this->tpl_vars[$_key]->value) || $this->tpl_vars[$_key]->value instanceof ArrayAccess)) {
-                        settype($this->tpl_vars[$_key]->value, 'array');
-                    } 
-                    if ($merge && is_array($_val)) {
-                        foreach($_val as $_mkey => $_mval) {
-                            $this->tpl_vars[$_key]->value[$_mkey] = $_mval;
-                        } 
-                    } else {
-                        $this->tpl_vars[$_key]->value[] = $_val;
-                    } 
-                } 
-            } 
-        } else {
-            if ($tpl_var != '' && isset($value)) {
-                if (!isset($this->tpl_vars[$tpl_var])) {
-                    $tpl_var_inst = $this->getVariable($tpl_var, null, true, false);
-                    if ($tpl_var_inst instanceof Undefined_Smarty_Variable) {
-                        $this->tpl_vars[$tpl_var] = new Smarty_variable(null, $nocache, $scope);
-                    } else {
-                        $this->tpl_vars[$tpl_var] = clone $tpl_var_inst;
-                        if ($scope != SMARTY_LOCAL_SCOPE) {
-                            $this->tpl_vars[$tpl_var]->scope = $scope;
-                        } 
-                    } 
-                } 
-                if (!(is_array($this->tpl_vars[$tpl_var]->value) || $this->tpl_vars[$tpl_var]->value instanceof ArrayAccess)) {
-                    settype($this->tpl_vars[$tpl_var]->value, 'array');
-                } 
-                if ($merge && is_array($value)) {
-                    foreach($value as $_mkey => $_mval) {
-                        $this->tpl_vars[$tpl_var]->value[$_mkey] = $_mval;
-                    } 
-                } else {
-                    $this->tpl_vars[$tpl_var]->value[] = $value;
-                } 
-            } 
-        } 
-    } 
-
-    /**
-    * appends values to template variables by reference
-    * 
-    * @param string $tpl_var the template variable name
-    * @param mixed $ &$value the referenced value to append
-    * @param boolean $merge flag if array elements shall be merged
-    */
-    public function append_by_ref($tpl_var, &$value, $merge = false)
-    {
-        if ($tpl_var != '' && isset($value)) {
-            if (!isset($this->tpl_vars[$tpl_var])) {
-                $this->tpl_vars[$tpl_var] = new Smarty_variable();
-            } 
-            if (!@is_array($this->tpl_vars[$tpl_var]->value)) {
-                settype($this->tpl_vars[$tpl_var]->value, 'array');
-            } 
-            if ($merge && is_array($value)) {
-                foreach($value as $_key => $_val) {
-                    $this->tpl_vars[$tpl_var]->value[$_key] = &$value[$_key];
-                } 
-            } else {
-                $this->tpl_vars[$tpl_var]->value[] = &$value;
-            } 
-        } 
-    } 
-
-
-    /**
-    * clear the given assigned template variable.
-    * 
-    * @param string $ |array $tpl_var the template variable(s) to clear
-    */
-    public function clear_assign($tpl_var)
-    {
-        if (is_array($tpl_var)) {
-            foreach ($tpl_var as $curr_var) {
-                unset($this->tpl_vars[$curr_var]);
-            } 
-        } else {
-            unset($this->tpl_vars[$tpl_var]);
-        } 
-    } 
-
-    /**
-    * clear all the assigned template variables.
-    */
-    public function clear_all_assign()
-    {
-        $this->tpl_vars = array();
-    } 
-
-    /**
-    * load a config file, optionally load just selected sections
-    * 
-    * @param string $config_file filename
-    * @param mixed $sections array of section names, single section or null
-    */
-    public function config_load($config_file, $sections = null)
-    { 
-        // load Config class
-        $config = new Smarty_Internal_Config($config_file, $this->smarty);
-        $config->loadConfigVars($sections, $this);
-    } 
-
-    /**
-    * gets the object of a Smarty variable
-    * 
-    * @param string $variable the name of the Smarty variable
-    * @param object $_ptr optional pointer to data object
-    * @param boolean $search_parents search also in parent data
-    * @return object the object of the variable
-    */
-    public function getVariable($variable, $_ptr = null, $search_parents = true, $error_enable = true)
-    {
-        if ($_ptr === null) {
-            $_ptr = $this;
-        } while ($_ptr !== null) {
-            if (isset($_ptr->tpl_vars[$variable])) {
-                // found it, return it
-                return $_ptr->tpl_vars[$variable];
-            } 
-            // not found, try at parent
-            if ($search_parents) {
-                $_ptr = $_ptr->parent;
-            } else {
-                $_ptr = null;
-            } 
-        } 
-        if (isset($this->smarty->global_tpl_vars[$variable])) {
-            // found it, return it
-            return $this->smarty->global_tpl_vars[$variable];
-        } 
-        if ($this->smarty->error_unassigned && $error_enable) {
-            throw new Exception('Undefined Smarty variable "' . $variable . '"');
-        } else {
-            return new Undefined_Smarty_Variable;
-        } 
-    } 
-    /**
-    * gets  a config variable
-    * 
-    * @param string $variable the name of the config variable
-    * @return mixed the value of the config variable
-    */
-    public function getConfigVariable($variable)
-    {
-        $_ptr = $this;
-        while ($_ptr !== null) {
-            if (isset($_ptr->config_vars[$variable])) {
-                // found it, return it
-                return $_ptr->config_vars[$variable];
-            } 
-            // not found, try at parent
-            $_ptr = $_ptr->parent;
-        } 
-        if ($this->smarty->error_unassigned) {
-            throw new Exception('Undefined config variable "' . $variable . '"');
-        } else {
-            return '';
-        } 
-    } 
-    /**
-    * gets  a stream variable
-    * 
-    * @param string $variable the stream of the variable
-    * @return mixed the value of the stream variable
-    */
-    public function getStreamVariable($variable)
-    {
-        $_result = '';
-        if ($fp = fopen($variable, 'r+')) {
-            while (!feof($fp)) {
-                $_result .= fgets($fp);
-            } 
-            fclose($fp);
-            return $_result;
-        } 
-
-        if ($this->smarty->$error_unassigned) {
-            throw new Exception('Undefined stream variable "' . $variable . '"');
-        } else {
-            return '';
-        } 
-    } 
-
-    /**
-    * creates a template object
-    * 
-    * @param string $template the resource handle of the template file
-    * @param object $parent next higher level of Smarty variables
-    * @param mixed $cache_id cache id to be used with this template
-    * @param mixed $compile_id compile id to be used with this template
-    * @returns object template object
-    */
-    public function createTemplate($template, $cache_id = null, $compile_id = null, $parent = null)
-    {
-        if (is_object($cache_id) || is_array($cache_id)) {
-            $parent = $cache_id;
-            $cache_id = null;
-        } 
-        if (is_array($parent)) {
-            $data = $parent;
-            $parent = null;
-        } else {
-            $data = null;
-        } 
-        if (!is_object($template)) {
-            // we got a template resource
-            // already in template cache?
-            $_templateId = crc32($template . $cache_id . $compile_id);
-            if (isset($this->smarty->template_objects[$_templateId]) && $this->smarty->caching) {
-                // return cached template object
-                $tpl = $this->smarty->template_objects[$_templateId];
-            } else {
-                // create new template object
-                $tpl = new $this->template_class($template, $this->smarty, $parent, $cache_id, $compile_id);
-            } 
-        } else {
-            // just return a copy of template class
-            $tpl = $template;
-        } 
-        // fill data if present
-        if (is_array($data)) {
-            // set up variable values
-            foreach ($data as $_key => $_val) {
-                $tpl->tpl_vars[$_key] = new Smarty_variable($_val);
-            } 
-        } 
-        return $tpl;
-    } 
-
-    /**
-    * return current time
-    * 
-    * @returns double current time
-    */
-    function _get_time()
-    {
-        $_mtime = microtime();
-        $_mtime = explode(" ", $_mtime);
-        return (double)($_mtime[1]) + (double)($_mtime[0]);
-    } 
-} 
-
-/**
-* class for the Smarty data object
-* 
-* The Smarty data object will hold Smarty variables in the current scope
-* 
-* @param object $parent tpl_vars next higher level of Smarty variables
-*/
-class Smarty_Data extends Smarty_Internal_Data {
-    // array of variable objects
-    public $tpl_vars = array(); 
-    // back pointer to parent object
-    public $parent = null; 
-    // config vars
-    public $config_vars = array();
-    /**
-    * create Smarty data object
-    */
-    public function __construct ($_parent = null)
-    {
-        if (is_object($_parent)) {
-            // when object set up back pointer
-            $this->parent = $_parent;
-        } elseif (is_array($_parent)) {
-            // set up variable values
-            foreach ($_parent as $_key => $_val) {
-                $this->tpl_vars[$_key] = new Smarty_variable($_val);
-            } 
-        } else {
-            throw new Exception("Wrong type for template variables");
-        } 
-    } 
-} 
-/**
-* class for the Smarty variable object
-* 
-* This class defines the Smarty variable object
-*/
-class Smarty_Variable {
-    // template variable
-    public $value;
-    public $nocache;
-    public $scope;
-    /**
-    * create Smarty variable object
-    * 
-    * @param mixed $value the value to assign
-    * @param boolean $nocache if true any output of this variable will be not cached
-    * @param boolean $scope the scope the variable will have  (local,parent or root)
-    */
-    public function __construct ($value = null, $nocache = false, $scope = SMARTY_LOCAL_SCOPE)
-    {
-        $this->value = $value;
-        $this->nocache = $nocache;
-        $this->scope = $scope;
-    } 
-} 
-
-/**
-* class for undefined variable object
-* 
-* This class defines an object for undefined variable handling
-*/
-class Undefined_Smarty_Variable {
-    // return always false
-    public function __get ($name)
-    {
-        if ($name == 'nocache') {
-            return false;
-        } else {
-            return null;
-        } 
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_debug.php b/gosa-core/include/smarty/sysplugins/smarty_internal_debug.php
deleted file mode 100644
index 9df0942..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_debug.php
+++ /dev/null
@@ -1,129 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Debug
-* 
-* Class to collect data for the Smarty Debugging Consol
-* 
-* @package Smarty
-* @subpackage Debug
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Debug Class
-*/
-class Smarty_Internal_Debug extends Smarty_Internal_Data {
-    // template data
-    static $template_data = array();
-
-    /**
-    * Start logging of compile time
-    */
-    public static function start_compile($template)
-    {
-        $key = self::get_key($template);
-        self::$template_data[$key]['start_time'] = self::get_time();
-    } 
-
-    /**
-    * End logging of compile time
-    */
-    public static function end_compile($template)
-    {
-        $key = self::get_key($template);
-        self::$template_data[$key]['compile_time'] += self::get_time() - self::$template_data[$key]['start_time'];
-    } 
-
-    /**
-    * Start logging of render time
-    */
-    public static function start_render($template)
-    {
-        $key = self::get_key($template);
-        self::$template_data[$key]['start_time'] = self::get_time();
-    } 
-
-    /**
-    * End logging of compile time
-    */
-    public static function end_render($template)
-    {
-        $key = self::get_key($template);
-        self::$template_data[$key]['render_time'] += self::get_time() - self::$template_data[$key]['start_time'];
-    } 
-
-    /**
-    * Start logging of cache time
-    */
-    public static function start_cache($template)
-    {
-        $key = self::get_key($template);
-        self::$template_data[$key]['start_time'] = self::get_time();
-    } 
-
-    /**
-    * End logging of cache time
-    */
-    public static function end_cache($template)
-    {
-        $key = self::get_key($template);
-        self::$template_data[$key]['cache_time'] += self::get_time() - self::$template_data[$key]['start_time'];
-    } 
-    /**
-    * Opens a window for the Smarty Debugging Consol and display the data
-    */
-    public static function display_debug($smarty)
-    { 
-        // prepare information of assigned variables
-        $_assigned_vars = $smarty->tpl_vars;
-        ksort($_assigned_vars);
-        $_config_vars = $smarty->config_vars;
-        ksort($_config_vars);
-        $_template = new Smarty_Template ($smarty->debug_tpl, $smarty);
-        $_template->caching = false;
-        $_template->force_compile = false;
-        $_template->security = false;
-        $_template->cache_id = null;
-        $_template->compile_id = null;
-        $_template->assign('template_data', self::$template_data);
-        $_template->assign('assigned_vars', $_assigned_vars);
-        $_template->assign('config_vars', $_config_vars);
-        $_template->assign('execution_time', $smarty->_get_time() - $smarty->start_time);
-        echo $smarty->fetch($_template);
-    } 
-
-    /**
-    * get_key
-    */
-    static function get_key($template)
-    {
-        // calculate Uid if not already done
-        if ($template->templateUid == '') {
-            $template->getTemplateFilepath();
-        } 
-        $key = $template->templateUid;
-        if (isset(self::$template_data[$key])) {
-            return $key;
-        } else {
-            self::$template_data[$key]['name'] = $template->getTemplateFilepath();
-            self::$template_data[$key]['compile_time'] = 0;
-            self::$template_data[$key]['render_time'] = 0;
-            self::$template_data[$key]['cache_time'] = 0;
-            return $key;
-        } 
-    } 
-
-    /**
-    * return current time
-    * 
-    * @returns double current time
-    */
-    static function get_time()
-    {
-        $_mtime = microtime();
-        $_mtime = explode(" ", $_mtime);
-        return (double)($_mtime[1]) + (double)($_mtime[0]);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_filter_handler.php b/gosa-core/include/smarty/sysplugins/smarty_internal_filter_handler.php
deleted file mode 100644
index 1d81636..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_filter_handler.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Filter Handler
-* 
-* Smarty filter handler class
-* 
-* @package Smarty
-* @subpackage PluginsInternal
-* @author Uwe Tews 
-*/
-
-/**
-* Class for filter processing
-*/
-class Smarty_Internal_Filter_Handler {
-    /**
-    * Run filters over content
-    * 
-    * The filters will be lazy loaded if required
-    * class name format: Smarty_FilterType_FilterName
-    * plugin filename format: filtertype.filtername.php
-    * Smarty2 filter plugins could be used
-    * 
-    * @param string $type the type of filter ('pre','post','output' or 'variable') which shall run
-    * @param string $content the content which shall be processed by the filters
-    * @return string the filtered content
-    */
-    static function runFilter($type, $content, $smarty, $flag = null)
-    {
-        $output = $content;
-        if ($type != 'variable' || ($smarty->variable_filter && $flag !== false) || $flag === true) {
-            // loop over autoload filters of specified type
-            if (!empty($smarty->autoload_filters[$type])) {
-                foreach ((array)$smarty->autoload_filters[$type] as $name) {
-                    $plugin_name = "Smarty_{$type}filter_{$name}";
-                    if ($smarty->loadPlugin($plugin_name)) {
-                        // use class plugin if found
-                        if (class_exists($plugin_name, false)) {
-                            // loaded class of filter plugin
-                            $output = call_user_func_array(array($plugin_name, 'execute'), array($output, $smarty));
-                        } elseif (function_exists($plugin_name)) {
-                            // use loaded Smarty2 style plugin
-                            $output = call_user_func_array($plugin_name, array($output, $smarty));
-                        } 
-                    } else {
-                        // nothing found, throw exception
-                        throw new Exception("Unable to load filter {$plugin_name}");
-                    } 
-                } 
-            } 
-            // loop over registerd filters of specified type
-            if (!empty($smarty->registered_filters[$type])) {
-                foreach ($smarty->registered_filters[$type] as $key => $name) {
-                    $output = call_user_func_array($smarty->registered_filters[$type][$key], array($output, $smarty));
-                } 
-            } 
-        } 
-        // return filtered output
-        return $output;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_function_call_handler.php b/gosa-core/include/smarty/sysplugins/smarty_internal_function_call_handler.php
deleted file mode 100644
index cdbd3fa..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_function_call_handler.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Function Call Handler
-* 
-* @package Smarty
-* @subpackage Security
-* @author Uwe Tews 
-*/
-/**
-* This class does call function defined with the {function} tag
-*/
-class Smarty_Internal_Function_Call_Handler extends Smarty_Internal_Template {
-    function __construct($name, $smarty, $parent, $nocache)
-    {
-        parent::__construct('string:', $smarty, $parent);
-        if (!isset($this->smarty->template_functions[$name])) {
-            throw new Exception("Call to undefined template function \"{$name}\" in template \"{$parent->template_resource}\"");
-        } 
-        $this->called_nocache = $nocache;
-        $this->mustCompile = false;
-        if ($nocache) {
-            $smarty->template_functions[$name]['called_nocache'] = true;
-            $this->properties['function'][$name]['called_nocache'] = true;
-        } 
-        $this->properties['nocache_hash'] = $smarty->template_functions[$name]['nocache_hash']; 
-        // load compiled function
-        if ($nocache) {
-            // if called in nocache mode convert nocache code to real code
-            $this->compiled_template = preg_replace(array("!(<\?php echo ')?/\*/?%%SmartyNocache:{$this->smarty->template_functions[$name]['nocache_hash']}%%\*/(';\?>)?!", "!\\\'!"), array('', "'"), $smarty->template_functions[$name]['compiled']);
-        } else {
-            $this->compiled_template = $smarty->template_functions[$name]['compiled'];
-        } 
-        // assign default paramter
-        if (isset($smarty->template_functions[$name]['parameter'])) {
-            $_smarty_tpl = $this;
-            foreach ($smarty->template_functions[$name]['parameter'] as $_key => $_value) {
-                $this->assign($_key, eval("return {$_value};"));
-            } 
-        } 
-        // set flag if {function} contains nocache code
-        if ($smarty->template_functions[$name]['has_nocache_code']) {
-            $this->has_nocache_code = true;
-        } 
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_extends.php b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_extends.php
deleted file mode 100644
index b796de7..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_extends.php
+++ /dev/null
@@ -1,186 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Resource Extends
-* 
-* Implements the file system as resource for Smarty which does extend a chain of template files templates
-* 
-* @package Smarty
-* @subpackage TemplateResources
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Resource Extends
-*/
-class Smarty_Internal_Resource_Extends {
-    public function __construct($smarty)
-    {
-        $this->smarty = $smarty;
-        $this->_rdl = preg_quote($smarty->right_delimiter);
-        $this->_ldl = preg_quote($smarty->left_delimiter);
-    } 
-    // classes used for compiling Smarty templates from file resource
-    public $compiler_class = 'Smarty_Internal_SmartyTemplateCompiler';
-    public $template_lexer_class = 'Smarty_Internal_Templatelexer';
-    public $template_parser_class = 'Smarty_Internal_Templateparser'; 
-    // properties
-    public $usesCompiler = true;
-    public $isEvaluated = false;
-    public $allFilepaths = array();
-
-    /**
-    * Return flag if template source is existing
-    * 
-    * @param object $_template template object
-    * @return boolean result
-    */
-    public function isExisting($_template)
-    {
-        if ($_template->getTemplateFilepath() === false) {
-            return false;
-        } else {
-            return true;
-        } 
-    } 
-    /**
-    * Get filepath to template source
-    * 
-    * @param object $_template template object
-    * @return string filepath to template source file
-    */
-    public function getTemplateFilepath($_template)
-    {
-        $sha1String = '';
-        $_files = explode('|', $_template->resource_name);
-        foreach ($_files as $_file) {
-            $_filepath = $_template->buildTemplateFilepath ($_file);
-            if ($_filepath !== false) {
-                if ($_template->security) {
-                    $_template->smarty->security_handler->isTrustedResourceDir($_filepath);
-                } 
-            } 
-            $sha1String .= $_filepath;
-            $this->allFilepaths[] = $_filepath;
-        } 
-        $_template->templateUid = sha1($sha1String);
-        return $_filepath;
-    } 
-
-    /**
-    * Get timestamp to template source
-    * 
-    * @param object $_template template object
-    * @return integer timestamp of template source file
-    */
-    public function getTemplateTimestamp($_template)
-    {
-        return filemtime($_template->getTemplateFilepath());
-    } 
-
-    /**
-    * Read template source from file
-    * 
-    * @param object $_template template object
-    * @return string content of template source file
-    */
-    public function getTemplateSource($_template)
-    {
-        $this->template = $_template;
-        $_files = array_reverse($this->allFilepaths);
-        foreach ($_files as $_filepath) {
-            // read template file
-            if ($_filepath === false) {
-                throw new Exception("Unable to load template 'file : {$_file}'");
-            } 
-            if ($_filepath != $_files[0]) {
-                $_template->properties['file_dependency'][sha1($_filepath)] = array($_filepath, filemtime($_filepath));
-            } 
-            $_template->template_filepath = $_filepath;
-            $_content = file_get_contents($_filepath);
-            if ($_filepath != $_files[count($_files)-1]) {
-                if (preg_match_all("!({$this->_ldl}block(.+?){$this->_rdl})!", $_content, $_open, PREG_OFFSET_CAPTURE) !=
-                        preg_match_all("!({$this->_ldl}/block(.*?){$this->_rdl})!", $_content, $_close, PREG_OFFSET_CAPTURE)) {
-                    $this->smarty->trigger_error('unmatched {block} {/block} pairs');
-                } 
-                $_block_count = count($_open[0]);
-                for ($_i = 0; $_i < $_block_count; $_i++) {
-                    $_block_content = str_replace($this->smarty->left_delimiter . '$smarty.parent' . $this->smarty->right_delimiter, '%%%%SMARTY_PARENT%%%%',
-                        substr($_content, $_open[0][$_i][1] + strlen($_open[0][$_i][0]), $_close[0][$_i][1] - $_open[0][$_i][1] - strlen($_open[0][$_i][0])));
-                    $this->saveBlockData($_block_content, $_open[0][$_i][0], $_filepath);
-                } 
-            } else {
-                $_template->template_source = $_content;
-                return true;
-            } 
-        } 
-        // $_template->template_filepath = $saved_filepath;
-    } 
-    protected function saveBlockData($block_content, $block_tag, $_filepath)
-    {
-        if (0 == preg_match("!(.?)(name=)(.*?)(?=(\s|{$this->_rdl}))!", $block_tag, $_match)) {
-            $this->smarty->trigger_error("'{$block_tag}' missing name attribute");
-        } else {
-            $_name = trim($_match[3], '\'"');
-            if (isset($this->smarty->block_data[$_name])) {
-                if (strpos($this->smarty->block_data[$_name]['source'], '%%%%SMARTY_PARENT%%%%') !== false) {
-                    $this->smarty->block_data[$_name]['source'] =
-                    str_replace('%%%%SMARTY_PARENT%%%%', $block_content, $this->smarty->block_data[$_name]['source']);
-                } elseif ($this->smarty->block_data[$_name]['mode'] == 'prepend') {
-                    $this->smarty->block_data[$_name]['source'] .= $block_content;
-                } elseif ($this->smarty->block_data[$_name]['mode'] == 'append') {
-                    $this->smarty->block_data[$_name]['source'] = $block_content . $this->smarty->block_data[$_name]['source'];
-                } 
-            } else {
-                $this->smarty->block_data[$_name]['source'] = $block_content;
-            } 
-            if (preg_match('/(.?)(append)(.*)/', $block_tag, $_match) != 0) {
-                $this->smarty->block_data[$_name]['mode'] = 'append';
-            } elseif (preg_match('/(.?)(prepend)(.*)/', $block_tag, $_match) != 0) {
-                $this->smarty->block_data[$_name]['mode'] = 'prepend';
-            } else {
-                $this->smarty->block_data[$_name]['mode'] = 'replace';
-            } 
-            $this->smarty->block_data[$_name]['file'] = $_filepath;
-        } 
-    } 
-
-    /**
-    * Get filepath to compiled template
-    * 
-    * @param object $_template template object
-    * @return string return path to compiled template
-    */
-    public function getCompiledFilepath($_template)
-    {
-        $_compile_id = isset($_template->compile_id) ? preg_replace('![^\w\|]+!', '_', $_template->compile_id) : null;
-        $_files = explode('|', $_template->resource_name); 
-        // calculate Uid if not already done
-        if ($_template->templateUid == '') {
-            $_template->getTemplateFilepath();
-        } 
-        $_filepath = $_template->templateUid; 
-        // if use_sub_dirs, break file into directories
-        if ($_template->smarty->use_sub_dirs) {
-            $_filepath = substr($_filepath, 0, 2) . DS
-             . substr($_filepath, 2, 2) . DS
-             . substr($_filepath, 4, 2) . DS
-             . $_filepath;
-        } 
-        $_compile_dir_sep = $_template->smarty->use_sub_dirs ? DS : '^';
-        if (isset($_compile_id)) {
-            $_filepath = $_compile_id . $_compile_dir_sep . $_filepath;
-        } 
-        if ($_template->caching) {
-            $_cache = '.cache';
-        } else {
-            $_cache = '';
-        } 
-        $_compile_dir = $_template->smarty->compile_dir;
-        if (substr($_compile_dir, -1) != DS) {
-            $_compile_dir .= DS;
-        } 
-        return $_compile_dir . $_filepath . '.' . $_template->resource_type . '.' . basename($_files[count($_files)-1]) . $_cache . '.php';
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_file.php b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_file.php
deleted file mode 100644
index b84f580..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_file.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Resource File
-* 
-* Implements the file system as resource for Smarty templates
-* 
-* @package Smarty
-* @subpackage TemplateResources
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Resource File
-*/
-class Smarty_Internal_Resource_File {
-    public function __construct($smarty)
-    {
-        $this->smarty = $smarty;
-    } 
-    // classes used for compiling Smarty templates from file resource
-    public $compiler_class = 'Smarty_Internal_SmartyTemplateCompiler';
-    public $template_lexer_class = 'Smarty_Internal_Templatelexer';
-    public $template_parser_class = 'Smarty_Internal_Templateparser'; 
-    // properties
-    public $usesCompiler = true;
-    public $isEvaluated = false;
-
-    /**
-    * Return flag if template source is existing
-    * 
-    * @return boolean true
-    */
-    public function isExisting($template)
-    {
-        if ($template->getTemplateFilepath() === false) {
-            return false;
-        } else {
-            return true;
-        } 
-    } 
-
-    /**
-    * Get filepath to template source
-    * 
-    * @param object $_template template object
-    * @return string filepath to template source file
-    */
-    public function getTemplateFilepath($_template)
-    {
-        $_filepath = $_template->buildTemplateFilepath ();
-
-        if ($_filepath !== false) {
-            if ($_template->security) {
-                $_template->smarty->security_handler->isTrustedResourceDir($_filepath);
-            } 
-        } 
-        $_template->templateUid = sha1($_filepath);
-        return $_filepath;
-    } 
-
-    /**
-    * Get timestamp to template source
-    * 
-    * @param object $_template template object
-    * @return integer timestamp of template source file
-    */
-    public function getTemplateTimestamp($_template)
-    {
-        return filemtime($_template->getTemplateFilepath());
-    } 
-
-    /**
-    * Read template source from file
-    * 
-    * @param object $_template template object
-    * @return string content of template source file
-    */
-    public function getTemplateSource($_template)
-    { 
-        // read template file
-        if (file_exists($_template->getTemplateFilepath())) {
-            $_template->template_source = file_get_contents($_template->getTemplateFilepath());
-            return true;
-        } else {
-            return false;
-        } 
-    } 
-
-    /**
-    * Get filepath to compiled template
-    * 
-    * @param object $_template template object
-    * @return string return path to compiled template
-    */
-    public function getCompiledFilepath($_template)
-    {
-        $_compile_id = isset($_template->compile_id) ? preg_replace('![^\w\|]+!', '_', $_template->compile_id) : null;
-        // calculate Uid if not already done
-        if ($_template->templateUid == '') {
-            $_template->getTemplateFilepath();
-        } 
-        $_filepath = $_template->templateUid; 
-        // if use_sub_dirs, break file into directories
-        if ($_template->smarty->use_sub_dirs) {
-            $_filepath = substr($_filepath, 0, 2) . DS
-             . substr($_filepath, 2, 2) . DS
-             . substr($_filepath, 4, 2) . DS
-             . $_filepath;
-        } 
-        $_compile_dir_sep = $_template->smarty->use_sub_dirs ? DS : '^';
-        if (isset($_compile_id)) {
-            $_filepath = $_compile_id . $_compile_dir_sep . $_filepath;
-        } 
-        if ($_template->caching) {
-            $_cache = '.cache';
-        } else {
-            $_cache = '';
-        } 
-        $_compile_dir = $_template->smarty->compile_dir;
-        if (strpos('/\\', substr($_compile_dir, -1)) === false) {
-            $_compile_dir .= DS;
-        } 
-        return $_compile_dir . $_filepath . '.' . $_template->resource_type . '.' . basename($_template->resource_name) . $_cache . '.php';
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_php.php b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_php.php
deleted file mode 100644
index 93176c3..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_php.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Resource PHP
-* 
-* Implements the file system as resource for PHP templates
-* 
-* @package Smarty
-* @subpackage TemplateResources
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Resource PHP
-*/
-class Smarty_Internal_Resource_PHP {
-    /**
-    * Class constructor, enable short open tags
-    */
-    public function __construct($smarty)
-    {
-        $this->smarty = $smarty;
-        ini_set('short_open_tag', '1');
-    } 
-    // properties
-    public $usesCompiler = false;
-    public $isEvaluated = false;
-
-    /**
-    * Return flag if template source is existing
-    * 
-    * @return boolean true
-    */
-    public function isExisting($template)
-    {
-        if ($template->getTemplateFilepath() === false) {
-            return false;
-        } else {
-            return true;
-        } 
-    } 
-
-    /**
-    * Get filepath to template source
-    * 
-    * @param object $_template template object
-    * @return string filepath to template source file
-    */
-    public function getTemplateFilepath($_template)
-    {
-        $_filepath = $_template->buildTemplateFilepath ();
-
-        if ($_template->security) {
-            $_template->smarty->security_handler->isTrustedResourceDir($_filepath);
-        } 
-        $_template->templateUid = sha1($_filepath);
-        return $_filepath;
-    } 
-
-    /**
-    * Get timestamp to template source
-    * 
-    * @param object $_template template object
-    * @return integer timestamp of template source file
-    */
-    public function getTemplateTimestamp($_template)
-    {
-        return filemtime($_template->getTemplateFilepath());
-    } 
-
-    /**
-    * Read template source from file
-    * 
-    * @param object $_template template object
-    * @return string content of template source file
-    */
-    public function getTemplateSource($_template)
-    {
-        if (file_exists($_template->getTemplateFilepath())) {
-            $_template->template_source = file_get_contents($_template->getTemplateFilepath());
-            return true;
-        } else {
-            return false;
-        } 
-    } 
-
-
-    /**
-    * Get filepath to compiled template
-    * 
-    * @param object $_template template object
-    * @return boolean return false as compiled template is not stored
-    */
-    public function getCompiledFilepath($_template)
-    { 
-        // no filepath for PHP templates
-        return false;
-    } 
-
-    /**
-    * renders the PHP template
-    */
-    public function renderUncompiled($_smarty_template)
-    {
-        if (!$this->smarty->allow_php_templates) {
-            throw new Exception("PHP templates are disabled");
-        } 
-        if ($this->getTemplateFilepath($_smarty_template) === false) {
-            throw new Exception("Unable to load template \"{$_smarty_template->resource_type} : {$_smarty_template->resource_name}\"");
-        } 
-        // prepare variables
-        $_smarty_ptr = $_smarty_template;
-        do {
-            foreach ($_smarty_ptr->tpl_vars as $_smarty_var => $_smarty_var_object) {
-                if (isset($_smarty_var_object->value)) {
-                    $$_smarty_var = $_smarty_var_object->value;
-                } 
-            } 
-            $_smarty_ptr = $_smarty_ptr->parent;
-        } while ($_smarty_ptr != null);
-        unset ($_smarty_var, $_smarty_var_object, $_smarty_ptr); 
-        // include PHP template
-        include($this->getTemplateFilepath($_smarty_template));
-        return;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_registered.php b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_registered.php
deleted file mode 100644
index 36a09cd..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_registered.php
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Resource Registered
-* 
-* Implements the registered resource for Smarty template
-* 
-* @package Smarty
-* @subpackage TemplateResources
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Resource Registered
-*/
-
-class Smarty_Internal_Resource_Registered {
-    public function __construct($smarty)
-    {
-        $this->smarty = $smarty;
-    } 
-    // classes used for compiling Smarty templates from file resource
-    public $compiler_class = 'Smarty_Internal_SmartyTemplateCompiler';
-    public $template_lexer_class = 'Smarty_Internal_Templatelexer';
-    public $template_parser_class = 'Smarty_Internal_Templateparser';
-    // properties
-    public $usesCompiler = true;
-    public $isEvaluated = false;
-
-    /**
-    * Return flag if template source is existing
-    * 
-    * @return boolean true
-    */
-    public function isExisting($_template)
-    {
-        if (is_integer($this->getTemplateTimestamp($_template))) {
-            return true;
-        } else {
-            return false;
-        } 
-    } 
-    /**
-    * Get filepath to template source
-    * 
-    * @param object $_template template object
-    * @return string return 'string' as template source is not a file
-    */
-    public function getTemplateFilepath($_template)
-    { 
-        // no filepath for strings
-        // return "string" for compiler error messages
-           $_filepath = $_template->resource_type .':'.$_template->resource_name;
-        $_template->templateUid = sha1($_filepath);
-        return $_filepath;
- } 
-
-    /**
-    * Get timestamp to template source
-    * 
-    * @param object $_template template object
-    * @return boolean false as string resources have no timestamp
-    */
-    public function getTemplateTimestamp($_template)
-    { 
-        // return timestamp
-        $time_stamp = false;
-        call_user_func_array($this->smarty->_plugins['resource'][$_template->resource_type][0][1],
-            array($_template->resource_name, &$time_stamp, $this->smarty));
-        return is_numeric($time_stamp) ? (int)$time_stamp : $time_stamp;
-    } 
-    /**
-    * Get timestamp to template source by type and name
-    * 
-    * @param object $_template template object
-    * @return boolean false as string resources have no timestamp
-    */
-    public function getTemplateTimestampTypeName($_resource_type, $_resource_name)
-    { 
-        // return timestamp
-        $time_stamp = false;
-        call_user_func_array($this->smarty->_plugins['resource'][$_resource_type][0][1],
-            array($_resource_name, &$time_stamp, $this->smarty));
-        return is_numeric($time_stamp) ? (int)$time_stamp : $time_stamp;
-    } 
-
-    /**
-    * Retuen template source from resource name
-    * 
-    * @param object $_template template object
-    * @return string content of template source
-    */
-    public function getTemplateSource($_template)
-    { 
-        // return template string
-        return call_user_func_array($this->smarty->_plugins['resource'][$_template->resource_type][0][0],
-            array($_template->resource_name, &$_template->template_source, $this->smarty));
-    } 
-
-    /**
-    * Get filepath to compiled template
-    * 
-    * @param object $_template template object
-    * @return boolean return false as compiled template is not stored
-    */
-    public function getCompiledFilepath($_template)
-    { 
-        $_compile_id =  isset($_template->compile_id) ? preg_replace('![^\w\|]+!','_',$_template->compile_id) : null;
-        // calculate Uid if not already done
-        if ($_template->templateUid == '') {
-            $_template->getTemplateFilepath();
-        } 
-        $_filepath = $_template->templateUid; 
-        // if use_sub_dirs, break file into directories
-        if ($_template->smarty->use_sub_dirs) {
-            $_filepath = substr($_filepath, 0, 2) . DS
-             . substr($_filepath, 2, 2) . DS
-             . substr($_filepath, 4, 2) . DS
-             . $_filepath;
-        } 
-        $_compile_dir_sep = $_template->smarty->use_sub_dirs ? DS : '^';
-        if (isset($_compile_id)) {
-            $_filepath = $_compile_id . $_compile_dir_sep . $_filepath;
-        } 
-        if ($_template->caching) {
-            $_cache = '.cache';
-        } else {
-            $_cache = '';
-        } 
-        $_compile_dir = $_template->smarty->compile_dir;
-        if (strpos('/\\', substr($_compile_dir, -1)) === false) {
-            $_compile_dir .= DS;
-        } 
-        return $_compile_dir . $_filepath . '.' . $_template->resource_type . '.' . basename($_template->resource_name) . $_cache . '.php';
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_stream.php b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_stream.php
deleted file mode 100644
index 2024a3a..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_stream.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Resource Stream
-* 
-* Implements the streams as resource for Smarty template
-* 
-* @package Smarty
-* @subpackage TemplateResources
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Resource Stream
-*/
-
-class Smarty_Internal_Resource_Stream {
-    public function __construct($smarty)
-    {
-        $this->smarty = $smarty;
-    } 
-    // classes used for compiling Smarty templates from file resource
-    public $compiler_class = 'Smarty_Internal_SmartyTemplateCompiler';
-    public $template_lexer_class = 'Smarty_Internal_Templatelexer';
-    public $template_parser_class = 'Smarty_Internal_Templateparser';
-    // properties
-    public $usesCompiler = true;
-    public $isEvaluated = true;
-
-    /**
-    * Return flag if template source is existing
-    * 
-    * @return boolean true
-    */
-    public function isExisting($template)
-    {
-        if ($template->getTemplateSource() == '') {
-            return false;
-        } else {
-            return true;
-        } 
-    } 
-    /**
-    * Get filepath to template source
-    * 
-    * @param object $_template template object
-    * @return string return 'string' as template source is not a file
-    */
-    public function getTemplateFilepath($_template)
-    { 
-        // no filepath for strings
-        // return resource name for compiler error messages
-        return str_replace(':', '://', $_template->template_resource);
-    } 
-
-    /**
-    * Get timestamp to template source
-    * 
-    * @param object $_template template object
-    * @return boolean false as string resources have no timestamp
-    */
-    public function getTemplateTimestamp($_template)
-    { 
-        // strings must always be compiled and have no timestamp
-        return false;
-    } 
-
-    /**
-    * Retuen template source from resource name
-    * 
-    * @param object $_template template object
-    * @return string content of template source
-    */
-    public function getTemplateSource($_template)
-    { 
-        // return template string
-        $_template->template_source = '';
-        $fp = fopen(str_replace(':', '://', $_template->template_resource),'r+');
-        while (!feof($fp)) {
-            $_template->template_source .= fgets($fp);
-        } 
-        fclose($fp);
-
-        return true;
-    } 
-
-    /**
-    * Get filepath to compiled template
-    * 
-    * @param object $_template template object
-    * @return boolean return false as compiled template is not stored
-    */
-    public function getCompiledFilepath($_template)
-    { 
-        // no filepath for strings
-        return false;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_string.php b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_string.php
deleted file mode 100644
index ad519b3..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_string.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Resource String
-* 
-* Implements the strings as resource for Smarty template
-* 
-* @package Smarty
-* @subpackage TemplateResources
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Resource String
-*/
-
-class Smarty_Internal_Resource_String {
-    public function __construct($smarty)
-    {
-        $this->smarty = $smarty;
-    } 
-    // classes used for compiling Smarty templates from file resource
-    public $compiler_class = 'Smarty_Internal_SmartyTemplateCompiler';
-    public $template_lexer_class = 'Smarty_Internal_Templatelexer';
-    public $template_parser_class = 'Smarty_Internal_Templateparser';
-    // properties
-    public $usesCompiler = true;
-    public $isEvaluated = true;
-
-    /**
-    * Return flag if template source is existing
-    * 
-    * @return boolean true
-    */
-    public function isExisting($template)
-    {
-        return true;
-    } 
-
-    /**
-    * Get filepath to template source
-    * 
-    * @param object $_template template object
-    * @return string return 'string' as template source is not a file
-    */
-    public function getTemplateFilepath($_template)
-    { 
-        // no filepath for strings
-        // return "string" for compiler error messages
-        return 'string';
-    } 
-
-    /**
-    * Get timestamp to template source
-    * 
-    * @param object $_template template object
-    * @return boolean false as string resources have no timestamp
-    */
-    public function getTemplateTimestamp($_template)
-    { 
-        // strings must always be compiled and have no timestamp
-        return false;
-    } 
-
-    /**
-    * Retuen template source from resource name
-    * 
-    * @param object $_template template object
-    * @return string content of template source
-    */
-    public function getTemplateSource($_template)
-    { 
-        // return template string
-        $_template->template_source = $_template->resource_name;
-        return true;
-    } 
-
-    /**
-    * Get filepath to compiled template
-    * 
-    * @param object $_template template object
-    * @return boolean return false as compiled template is not stored
-    */
-    public function getCompiledFilepath($_template)
-    { 
-        // no filepath for strings
-        return false;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_security_handler.php b/gosa-core/include/smarty/sysplugins/smarty_internal_security_handler.php
deleted file mode 100644
index f433e9e..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_security_handler.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Security Handler
-* 
-* @package Smarty
-* @subpackage Security
-* @author Uwe Tews 
-*/
-/**
-* This class contains all methods for security checking
-*/
-class Smarty_Internal_Security_Handler {
-    function __construct($smarty)
-    {
-        $this->smarty = $smarty;
-    } 
-    /**
-    * Check if PHP function is trusted.
-    * 
-    * @param string $function_name 
-    * @param object $compiler compiler object
-    * @return boolean true if function is trusted
-    */
-    function isTrustedPhpFunction($function_name, $compiler)
-    {
-        if (empty($this->smarty->security_policy->php_functions) || in_array($function_name, $this->smarty->security_policy->php_functions)) {
-            return true;
-        } else {
-            $compiler->trigger_template_error ("PHP function \"" . $function_name . "\" not allowed by security setting");
-            return false;
-        } 
-    } 
-
-    /**
-    * Check if modifier is trusted.
-    * 
-    * @param string $modifier_name 
-    * @param object $compiler compiler object
-    * @return boolean true if modifier is trusted
-    */
-    function isTrustedModifier($modifier_name, $compiler)
-    {
-        if (empty($this->smarty->security_policy->modifiers) || in_array($modifier_name, $this->smarty->security_policy->modifiers)) {
-            return true;
-        } else {
-            $compiler->trigger_template_error ("modifier \"" . $modifier_name . "\" not allowed by security setting");
-            return false;
-        } 
-    } 
-    /**
-    * Check if stream is trusted.
-    * 
-    * @param string $stream_name 
-    * @param object $compiler compiler object
-    * @return boolean true if stream is trusted
-    */
-    function isTrustedStream($stream_name)
-    {
-        if (empty($this->smarty->security_policy->streams) || in_array($stream_name, $this->smarty->security_policy->streams)) {
-            return true;
-        } else {
-            throw new Exception ("stream \"" . $stream_name . "\" not allowed by security setting");
-            return false;
-        } 
-    } 
-
-    /**
-    * Check if directory of file resource is trusted.
-    * 
-    * @param string $filepath 
-    * @param object $compiler compiler object
-    * @return boolean true if directory is trusted
-    */
-    function isTrustedResourceDir($filepath)
-    {
-        $_rp = realpath($filepath);
-        if (isset($this->smarty->template_dir)) {
-            foreach ((array)$this->smarty->template_dir as $curr_dir) {
-                if (($_cd = realpath($curr_dir)) !== false &&
-                        strncmp($_rp, $_cd, strlen($_cd)) == 0 &&
-                        (strlen($_rp) == strlen($_cd) || substr($_rp, strlen($_cd), 1) == DS)) {
-                    return true;
-                } 
-            } 
-        } 
-        if (!empty($this->smarty->security_policy->secure_dir)) {
-            foreach ((array)$this->smarty->security_policy->secure_dir as $curr_dir) {
-                if (($_cd = realpath($curr_dir)) !== false) {
-                    if ($_cd == $_rp) {
-                        return true;
-                    } elseif (strncmp($_rp, $_cd, strlen($_cd)) == 0 &&
-                            (strlen($_rp) == strlen($_cd) || substr($_rp, strlen($_cd), 1) == DS)) {
-                        return true;
-                    } 
-                } 
-            } 
-        } 
-
-        throw new Exception ("directory \"" . $_rp . "\" not allowed by security setting");
-        return false;
-    } 
-    /**
-    * Check if directory of file resource is trusted.
-    * 
-    * @param string $filepath 
-    * @param object $compiler compiler object
-    * @return boolean true if directory is trusted
-    */
-    function isTrustedPHPDir($filepath)
-    {
-        $_rp = realpath($filepath);
-        if (!empty($this->smarty->security_policy->trusted_dir)) {
-            foreach ((array)$this->smarty->security_policy->trusted_dir as $curr_dir) {
-                if (($_cd = realpath($curr_dir)) !== false) {
-                    if ($_cd == $_rp) {
-                        return true;
-                    } elseif (strncmp($_rp, $_cd, strlen($_cd)) == 0 &&
-                            substr($_rp, strlen($_cd), 1) == DS) {
-                        return true;
-                    } 
-                } 
-            } 
-        } 
-
-        throw new Exception ("directory \"" . $_rp . "\" not allowed by security setting");
-        return false;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_smartytemplatecompiler.php b/gosa-core/include/smarty/sysplugins/smarty_internal_smartytemplatecompiler.php
deleted file mode 100644
index 2246f03..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_smartytemplatecompiler.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Smarty Template Compiler Base
-* 
-* This file contains the basic classes and methodes for compiling Smarty templates with lexer/parser
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Class SmartyTemplateCompiler
-*/
-class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCompilerBase {
-    /**
-    * Initialize compiler
-    */
-    public function __construct($lexer_class, $parser_class, $smarty)
-    {
-        $this->smarty = $smarty;
-        parent::__construct(); 
-        // get required plugins
-        $this->lexer_class = $lexer_class;
-        $this->parser_class = $parser_class;
-    } 
-
-    /**
-    * Methode to compile a Smarty template
-    * 
-    * @param  $_content template source
-    * @return bool true if compiling succeeded, false if it failed
-    */
-    protected function doCompile($_content)
-    {
-        /* here is where the compiling takes place. Smarty
-       tags in the templates are replaces with PHP code,
-       then written to compiled files. */ 
-        // init the lexer/parser to compile the template
-        $this->lex = new $this->lexer_class($_content, $this);
-        $this->parser = new $this->parser_class($this->lex, $this); 
-        if (isset($this->smarty->_parserdebug)) $this->parser->PrintTrace();
-        // get tokens from lexer and parse them
-        while ($this->lex->yylex() && !$this->abort_and_recompile) {
-            if (isset($this->smarty->_parserdebug)) echo "<pre>Line {$this->lex->line} Parsing  {$this->parser->yyTokenName[$this->lex->token]} Token ".htmlentities($this->lex->value)."</pre>";
-            $this->parser->doParse($this->lex->token, $this->lex->value);
-        } 
-
-        if ($this->abort_and_recompile) {
-            // exit here on abort
-            return false;
-        } 
-        // finish parsing process
-        $this->parser->doParse(0, 0); 
-        // check for unclosed tags
-        if (count($this->_tag_stack) > 0) {
-            // get stacked info
-            list($_open_tag, $_data) = array_pop($this->_tag_stack);
-            $this->trigger_template_error("unclosed {" . $_open_tag . "} tag");
-        } 
-
-        if (!$this->compile_error) {
-            // return compiled code
-            // return str_replace(array("? >\n<?php","? ><?php"), array('',''), $this->parser->retvalue);
-            return $this->parser->retvalue;
-        } else {
-            // compilation error
-            return false;
-        } 
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_template.php b/gosa-core/include/smarty/sysplugins/smarty_internal_template.php
deleted file mode 100644
index fab9d08..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_template.php
+++ /dev/null
@@ -1,810 +0,0 @@
-<?php
-
-/**
-* Smarty Internal Plugin Template
-* 
-* This file contains the Smarty template engine
-* 
-* @package Smarty
-* @subpackage Templates
-* @author Uwe Tews 
-*/
-
-/**
-* Main class with template data structures and methods
-*/
-class Smarty_Internal_Template extends Smarty_Internal_Data {
-    // object cache
-    public $compiler_object = null;
-    public $cacher_object = null; 
-    // Smarty parameter
-    public $cache_id = null;
-    public $compile_id = null;
-    public $caching = null;
-    public $cache_lifetime = null;
-    public $cacher_class = null;
-    public $caching_type = null;
-    public $force_compile = null;
-    public $forceNocache = false; 
-    // Template resource
-    public $template_resource = null;
-    public $resource_type = null;
-    public $resource_name = null;
-    public $resource_object = null;
-    private $isExisting = null;
-    public $templateUid = '';
-    // Template source
-    public $template_filepath = null;
-    public $template_source = null;
-    private $template_timestamp = null; 
-    // Compiled template
-    private $compiled_filepath = null;
-    public $compiled_template = null;
-    private $compiled_timestamp = null;
-    public $mustCompile = null;
-    public $suppressHeader = false;
-    public $suppressFileDependency = false;
-    public $extract_code = false;
-    public $extracted_compiled_code = '';
-    public $has_nocache_code = false; 
-    // Rendered content
-    public $rendered_content = null; 
-    // Cache file
-    private $cached_filepath = null;
-    public $cached_timestamp = null;
-    private $isCached = null;
-    private $cache_resource_object = null;
-    private $cacheFileChecked = false; 
-    // template variables
-    public $tpl_vars = array();
-    public $parent = null;
-    public $config_vars = array(); 
-    // storage for plugin
-    public $plugin_data = array(); 
-    // special properties
-    public $properties = array ('file_dependency' => array(),
-        'nocache_hash' => '',
-        'function' => array()); 
-    // storage for block data
-    public $block_data = array(); 
-    // required plugins
-    public $required_plugins = array('compiled' => array(), 'cache' => array());
-
-    /**
-    * Create template data object
-    * 
-    * Some of the global Smarty settings copied to template scope
-    * It load the required template resources and cacher plugins
-    * 
-    * @param string $template_resource template resource string
-    * @param object $_parent back pointer to parent object with variables or null
-    * @param mixed $_cache_id cache id or null
-    * @param mixed $_compile_id compile id or null
-    */
-    public function __construct($template_resource, $smarty, $_parent = null, $_cache_id = null, $_compile_id = null, $_caching = null, $_cache_lifetime = null)
-    {
-        $this->smarty = &$smarty; 
-        // Smarty parameter
-        $this->cache_id = $_cache_id === null ? $this->smarty->cache_id : $_cache_id;
-        $this->compile_id = $_compile_id === null ? $this->smarty->compile_id : $_compile_id;
-        $this->force_compile = $this->smarty->force_compile;
-        $this->caching = $_caching === null ? $this->smarty->caching : $_caching;
-        if ($this->caching === true) $this->caching = SMARTY_CACHING_LIFETIME_CURRENT;
-        $this->cache_lifetime = $_cache_lifetime === null ?$this->smarty->cache_lifetime : $_cache_lifetime;
-        $this->force_cache = $this->smarty->force_cache;
-        $this->security = $this->smarty->security;
-        $this->parent = $_parent; 
-        // dummy local smarty variable
-        $this->tpl_vars['smarty'] = new Smarty_Variable; 
-        // Template resource
-        $this->template_resource = $template_resource; 
-        // parse resource name
-        if (!$this->parseResourceName ($template_resource, $this->resource_type, $this->resource_name, $this->resource_object)) {
-            throw new Exception ("Unable to parse resource name \"{$template_resource}\"");
-        } 
-        // load cache resource
-        if (!$this->resource_object->isEvaluated && ($this->caching == SMARTY_CACHING_LIFETIME_CURRENT || $this->caching == SMARTY_CACHING_LIFETIME_SAVED)) {
-            $this->cache_resource_object = $this->smarty->loadCacheResource();
-        } 
-    } 
-
-    /**
-    * Returns the template filepath
-    * 
-    * The template filepath is determined by the actual resource handler
-    * 
-    * @return string the template filepath
-    */
-    public function getTemplateFilepath ()
-    {
-        return $this->template_filepath === null ?
-        $this->template_filepath = $this->resource_object->getTemplateFilepath($this) :
-        $this->template_filepath;
-    } 
-
-    /**
-    * Returns the timpestamp of the template source
-    * 
-    * The template timestamp is determined by the actual resource handler
-    * 
-    * @return integer the template timestamp
-    */
-    public function getTemplateTimestamp ()
-    {
-        return $this->template_timestamp === null ?
-        $this->template_timestamp = $this->resource_object->getTemplateTimestamp($this) :
-        $this->template_timestamp;
-    } 
-
-    /**
-    * Returns the template source code
-    * 
-    * The template source is being read by the actual resource handler
-    * 
-    * @return string the template source
-    */
-    public function getTemplateSource ()
-    {
-        if ($this->template_source === null) {
-            if (!$this->resource_object->getTemplateSource($this)) {
-                throw new Exception("Unable to read template {$this->resource_type} '{$this->resource_name}'");
-            } 
-        } 
-        return $this->template_source;
-    } 
-
-    /**
-    * Returns if the  template is existing
-    * 
-    * The status is determined by the actual resource handler
-    * 
-    * @return boolean true if the template exists
-    */
-    public function isExisting ($error = false)
-    {
-        if ($this->isExisting === null) {
-            $this->isExisting = $this->resource_object->isExisting($this);
-        } 
-        if (!$this->isExisting && $error) {
-            throw new Exception("Unable to load template {$this->resource_type} '{$this->resource_name}'");
-        } 
-        return $this->isExisting;
-    } 
-
-    /**
-    * Returns if the current template must be compiled by the Smarty compiler
-    * 
-    * It does compare the timestamps of template source and the compiled templates and checks the force compile configuration
-    * 
-    * @return boolean true if the template must be compiled
-    */
-    public function mustCompile ()
-    {
-        $this->isExisting(true);
-        if ($this->mustCompile === null) {
-            $this->mustCompile = ($this->resource_object->usesCompiler && ($this->force_compile || $this->resource_object->isEvaluated || $this->getCompiledTimestamp () === false || 
-                    // ($this->smarty->compile_check && $this->getCompiledTimestamp () !== $this->getTemplateTimestamp ())));
-                    ($this->smarty->compile_check && $this->getCompiledTimestamp () < $this->getTemplateTimestamp ())));
-        } 
-        return $this->mustCompile;
-    } 
-
-    /**
-    * Returns the compiled template filepath
-    * 
-    * @return string the template filepath
-    */
-    public function getCompiledFilepath ()
-    {
-        return $this->compiled_filepath === null ?
-        ($this->compiled_filepath = !$this->resource_object->isEvaluated ? $this->resource_object->getCompiledFilepath($this) : false) :
-        $this->compiled_filepath;
-    } 
-
-    /**
-    * Returns the timpestamp of the compiled template
-    * 
-    * @return integer the template timestamp
-    */
-    public function getCompiledTimestamp ()
-    {
-        return $this->compiled_timestamp === null ?
-        ($this->compiled_timestamp = (!$this->resource_object->isEvaluated && file_exists($this->getCompiledFilepath())) ? filemtime($this->getCompiledFilepath()) : false) :
-        $this->compiled_timestamp;
-    } 
-
-    /**
-    * Returns the compiled template 
-    * 
-    * It checks if the template must be compiled or just read from the template resource
-    * 
-    * @return string the compiled template
-    */
-    public function getCompiledTemplate ()
-    {
-        if ($this->compiled_template === null) {
-            // see if template needs compiling.
-            if ($this->mustCompile()) {
-                $this->compileTemplateSource();
-            } else {
-                if ($this->compiled_template === null) {
-                    $this->compiled_template = !$this->resource_object->isEvaluated && $this->resource_object->usesCompiler ? file_get_contents($this->getCompiledFilepath()) : false;
-                } 
-            } 
-        } 
-        return $this->compiled_template;
-    } 
-
-    /**
-    * Compiles the template
-    * 
-    * If the template is not evaluated the compiled template is saved on disk
-    */
-    public function compileTemplateSource ()
-    {
-        if (!$this->resource_object->isEvaluated) {
-            $this->properties['file_dependency'] = array();
-            $this->properties['file_dependency'][$this->templateUid] = array($this->getTemplateFilepath(), $this->getTemplateTimestamp());
-        } 
-        if ($this->smarty->debugging) {
-            Smarty_Internal_Debug::start_compile($this);
-        } 
-        // compile template
-        if (!is_object($this->compiler_object)) {
-            // load compiler
-            $this->smarty->loadPlugin($this->resource_object->compiler_class);
-            $this->compiler_object = new $this->resource_object->compiler_class($this->resource_object->template_lexer_class, $this->resource_object->template_parser_class, $this->smarty);
-        } 
-        // call compiler
-        if ($this->compiler_object->compileTemplate($this)) {
-            // compiling succeded
-            if (!$this->resource_object->isEvaluated) {
-                // write compiled template
-                Smarty_Internal_Write_File::writeFile($this->getCompiledFilepath(), $this->compiled_template, $this->smarty); 
-            } 
-        } else {
-            // error compiling template
-            throw new Exception("Error compiling template {$this->getTemplateFilepath ()}");
-            return false;
-        } 
-        if ($this->smarty->debugging) {
-            Smarty_Internal_Debug::end_compile($this);
-        } 
-    } 
-
-    /**
-    * Returns the filepath of the cached template output
-    * 
-    * The filepath is determined by the actual cache resource
-    * 
-    * @return string the cache filepath
-    */
-    public function getCachedFilepath ()
-    {
-        return $this->cached_filepath === null ?
-        $this->cached_filepath = ($this->resource_object->isEvaluated || !($this->caching == SMARTY_CACHING_LIFETIME_CURRENT || $this->caching == SMARTY_CACHING_LIFETIME_SAVED)) ? false : $this->cache_resource_object->getCachedFilepath($this) :
-        $this->cached_filepath;
-    } 
-
-    /**
-    * Returns the timpestamp of the cached template output
-    * 
-    * The timestamp is determined by the actual cache resource
-    * 
-    * @return integer the template timestamp
-    */
-    public function getCachedTimestamp ()
-    {
-        return $this->cached_timestamp === null ?
-        $this->cached_timestamp = ($this->resource_object->isEvaluated || !($this->caching == SMARTY_CACHING_LIFETIME_CURRENT || $this->caching == SMARTY_CACHING_LIFETIME_SAVED)) ? false : $this->cache_resource_object->getCachedTimestamp($this) :
-        $this->cached_timestamp;
-    } 
-
-    /**
-    * Returns the cached template output
-    * 
-    * @return string |booelan the template content or false if the file does not exist
-    */
-    public function getCachedContent ()
-    {
-        return $this->rendered_content === null ?
-        $this->rendered_content = ($this->resource_object->isEvaluated || !($this->caching == SMARTY_CACHING_LIFETIME_CURRENT || $this->caching == SMARTY_CACHING_LIFETIME_SAVED)) ? false : $this->cache_resource_object->getCachedContents($this) :
-        $this->rendered_content;
-    } 
-
-    /**
-    * Writes the cached template output
-    */
-    public function writeCachedContent ($content)
-    {
-        if ($this->resource_object->isEvaluated || !($this->caching == SMARTY_CACHING_LIFETIME_CURRENT || $this->caching == SMARTY_CACHING_LIFETIME_SAVED)) {
-            // don't write cache file
-            return false;
-        } 
-        $this->properties['cache_lifetime'] = $this->cache_lifetime;
-        return $this->cache_resource_object->writeCachedContent($this, $this->createPropertyHeader(true) . $content);
-    } 
-
-    /**
-    * Checks of a valid version redered HTML output is in the cache
-    * 
-    * If the cache is valid the contents is stored in the template object
-    * 
-    * @return boolean true if cache is valid
-    */
-    public function isCached ()
-    {
-        if ($this->isCached === null) {
-            $this->isCached = false;
-            if (($this->caching == SMARTY_CACHING_LIFETIME_CURRENT || $this->caching == SMARTY_CACHING_LIFETIME_SAVED) && !$this->resource_object->isEvaluated && !$this->force_compile && !$this->force_cache) {
-                $cachedTimestamp = $this->getCachedTimestamp();
-                if ($cachedTimestamp === false) {
-                    return $this->isCached;
-                } 
-                if ($this->caching === SMARTY_CACHING_LIFETIME_SAVED || ($this->caching == SMARTY_CACHING_LIFETIME_CURRENT && (time() <= ($cachedTimestamp + $this->cache_lifetime) || $this->cache_lifetime < 0))) {
-                    if ($this->smarty->debugging) {
-                        Smarty_Internal_Debug::start_cache($this);
-                    } 
-                    $this->rendered_content = $this->cache_resource_object->getCachedContents($this);
-                    if ($this->smarty->debugging) {
-                        Smarty_Internal_Debug::end_cache($this);
-                    } 
-                    if ($this->cacheFileChecked) {
-                        $this->isCached = true;
-                        return $this->isCached;
-                    } 
-                    $this->cacheFileChecked = true;
-                    if ($this->caching === SMARTY_CACHING_LIFETIME_SAVED && $this->properties['cache_lifetime'] > 0 && (time() > ($this->getCachedTimestamp() + $this->properties['cache_lifetime']))) {
-                        $this->rendered_content = null;
-                        return $this->isCached;
-                    } 
-                    if (!empty($this->properties['file_dependency']) && $this->smarty->compile_check) {
-                        foreach ($this->properties['file_dependency'] as $_file_to_check) {
-                            $this->getResourceTypeName($_file_to_check[0], $resource_type, $resource_name);
-                            If ($resource_type == 'file') {
-                                $mtime = filemtime($_file_to_check[0]);
-                            } else {
-                                $resource_handler = $this->loadTemplateResourceHandler($resource_type);
-                                $mtime = $resource_handler->getTemplateTimestampTypeName($resource_type, $resource_name);
-                            } 
-                            // If ($mtime > $this->getCachedTimestamp()) {
-                            If ($mtime > $_file_to_check[1]) {
-                                $this->rendered_content = null;
-                                return $this->isCached;
-                            } 
-                        } 
-                    } 
-                    $this->isCached = true;
-                } 
-            } 
-        } 
-        return $this->isCached;
-    } 
-
-    /**
-    * Render the output using the compiled template or the PHP template source
-    * 
-    * The rendering process is accomplished by just including the PHP files.
-    * The only exceptions are evaluated templates (string template). Their code has 
-    * to be evaluated
-    */
-    public function renderTemplate ()
-    {
-        if ($this->resource_object->usesCompiler) {
-            if ($this->mustCompile() && $this->compiled_template === null) {
-                $this->compileTemplateSource();
-            } 
-            if ($this->smarty->debugging) {
-                Smarty_Internal_Debug::start_render($this);
-            } 
-            $_smarty_tpl = $this;
-            ob_start();
-            if ($this->resource_object->isEvaluated) {
-                eval("?>" . $this->compiled_template);
-            } else {
-                include($this->getCompiledFilepath ()); 
-                // check file dependencies at compiled code
-                if ($this->smarty->compile_check) {
-                    if (!empty($this->properties['file_dependency'])) {
-                        $this->mustCompile = false;
-                        foreach ($this->properties['file_dependency'] as $_file_to_check) {
-                            $this->getResourceTypeName($_file_to_check[0], $resource_type, $resource_name);
-                            If ($resource_type == 'file') {
-                                $mtime = filemtime($_file_to_check[0]);
-                            } else {
-                                $resource_handler = $this->loadTemplateResourceHandler($resource_type);
-                                $mtime = $resource_handler->getTemplateTimestampTypeName($resource_type, $resource_name);
-                            } 
-                            // If ($mtime != $_file_to_check[1]) {
-                            If ($mtime > $_file_to_check[1]) {
-                                $this->mustCompile = true;
-                                break;
-                            } 
-                        } 
-                        if ($this->mustCompile) {
-                            // recompile and render again
-                            ob_get_clean();
-                            $this->compileTemplateSource();
-                            ob_start();
-                            include($this->getCompiledFilepath ());
-                        } 
-                    } 
-                } 
-            } 
-        } else {
-            if (is_callable(array($this->resource_object, 'renderUncompiled'))) {
-                if ($this->smarty->debugging) {
-                    Smarty_Internal_Debug::start_render($this);
-                } 
-                ob_start();
-                $this->resource_object->renderUncompiled($this);
-            } else {
-                throw new Exception("Resource '$this->resource_type' must have 'renderUncompiled' methode");
-            } 
-        } 
-        $this->rendered_content = ob_get_clean();
-        if (!$this->resource_object->isEvaluated && empty($this->properties['file_dependency'][$this->templateUid])) {
-            $this->properties['file_dependency'][$this->templateUid] = array($this->getTemplateFilepath(), $this->getTemplateTimestamp());
-        } 
-        if ($this->parent instanceof Smarty_Template or $this->parent instanceof Smarty_Internal_Template) {
-            $this->parent->properties['file_dependency'] = array_merge($this->parent->properties['file_dependency'], $this->properties['file_dependency']);
-            $this->parent->required_plugins['compiled'] = array_merge($this->parent->required_plugins['compiled'], $this->required_plugins['compiled']);
-            $this->parent->required_plugins['cache'] = array_merge($this->parent->required_plugins['cache'], $this->required_plugins['cache']);
-        } 
-        if ($this->smarty->debugging) {
-            Smarty_Internal_Debug::end_render($this);
-        } 
-        // write to cache when nessecary
-        if (!$this->resource_object->isEvaluated && ($this->caching == SMARTY_CACHING_LIFETIME_SAVED || $this->caching == SMARTY_CACHING_LIFETIME_CURRENT)) {
-            if ($this->smarty->debugging) {
-                Smarty_Internal_Debug::start_cache($this);
-            } 
-            $this->properties['has_nocache_code'] = false; 
-            // get text between non-cached items
-            $cache_split = preg_split("!/\*%%SmartyNocache:{$this->properties['nocache_hash']}%%\*\/(.+?)/\*/%%SmartyNocache:{$this->properties['nocache_hash']}%%\*/!s", $this->rendered_content); 
-            // get non-cached items
-            preg_match_all("!/\*%%SmartyNocache:{$this->properties['nocache_hash']}%%\*\/(.+?)/\*/%%SmartyNocache:{$this->properties['nocache_hash']}%%\*/!s", $this->rendered_content, $cache_parts);
-            $output = ''; 
-            // loop over items, stitch back together
-            foreach($cache_split as $curr_idx => $curr_split) {
-                // escape PHP tags in template content
-                $output .= preg_replace('/(<%|%>|<\?php|<\?|\?>)/', '<?php echo \'$1\'; ?>', $curr_split);
-                if (isset($cache_parts[0][$curr_idx])) {
-                    $this->properties['has_nocache_code'] = true; 
-                    // remove nocache tags from cache output
-                    $output .= preg_replace("!/\*/?%%SmartyNocache:{$this->properties['nocache_hash']}%%\*/!", '', $cache_parts[0][$curr_idx]);
-                } 
-            } 
-            // rendering (must be done before writing cache file because of {function} nocache handling)
-            $_smarty_tpl = $this;
-            ob_start();
-            eval("?>" . $output);
-            $this->rendered_content = ob_get_clean(); 
-            // write cache file content
-            $this->writeCachedContent($output); 
-            if ($this->smarty->debugging) {
-                Smarty_Internal_Debug::end_cache($this);
-            } 
-        } else {
-            // var_dump('renderTemplate', $this->has_nocache_code, $this->template_resource, $this->properties['nocache_hash'], $this->parent->properties['nocache_hash'], $this->rendered_content);
-            if ($this->has_nocache_code && !empty($this->properties['nocache_hash']) && !empty($this->parent->properties['nocache_hash'])) {
-                // replace nocache_hash
-                $this->rendered_content = preg_replace("/{$this->properties['nocache_hash']}/", $this->parent->properties['nocache_hash'], $this->rendered_content);
-                $this->parent->has_nocache_code = $this->has_nocache_code;
-            } 
-        } 
-    } 
-
-    /**
-    * Returns the rendered HTML output 
-    * 
-    * If the cache is valid the cached content is used, otherwise
-    * the output is rendered from the compiled template or PHP template source
-    * 
-    * @return string rendered HTML output
-    */
-    public function getRenderedTemplate ()
-    { 
-        // disable caching for evaluated code
-        if ($this->resource_object->isEvaluated) {
-            $this->caching = false;
-        } 
-        // checks if template exists
-        $this->isExisting(true); 
-        // read from cache or render
-        if ($this->rendered_content === null && !$this->isCached()) {
-            // render template (not loaded and not in cache)
-            $this->renderTemplate();
-        } 
-        $this->updateParentVariables();
-        $this->isCached = null;
-        return $this->rendered_content;
-    } 
-
-    /**
-    * Parse a template resource in its name and type
-    * Load required resource handler
-    * 
-    * @param string $template_resource template resource specification
-    * @param string $resource_type return resource type
-    * @param string $resource_name return resource name
-    * @param object $resource_handler return resource handler object
-    */
-    public function parseResourceName($template_resource, &$resource_type, &$resource_name, &$resource_handler)
-    {
-        if (empty($template_resource))
-            return false;
-        $this->getResourceTypeName($template_resource, $resource_type, $resource_name);
-        $resource_handler = $this->loadTemplateResourceHandler($resource_type); 
-        // cache template object under a unique ID
-        // do not cache string resources
-        // *****        if ($resource_type != 'string' && $this->smarty->caching) {
-        if ($resource_type != 'string') {
-            $this->smarty->template_objects[crc32($this->template_resource . $this->cache_id . $this->compile_id)] = $this;
-        } 
-        return true;
-    } 
-
-    /**
-    * get system filepath to template
-    */
-    public function buildTemplateFilepath ($file = null)
-    {
-        if ($file == null) {
-            $file = $this->resource_name;
-        } 
-        foreach((array)$this->smarty->template_dir as $_template_dir) {
-            if (strpos('/\\', substr($_template_dir, -1)) === false) {
-                $_template_dir .= DS;
-            } 
-
-            $_filepath = $_template_dir . $file;
-            if (file_exists($_filepath))
-                return $_filepath;
-        } 
-        if (file_exists($file)) return $file; 
-        // no tpl file found
-        if (!empty($this->smarty->default_template_handler_func)) {
-            if (!is_callable($this->smarty->default_template_handler_func)) {
-                throw new Exception("Default template handler not callable");
-            } else {
-                $_return = call_user_func_array($this->smarty->default_template_handler_func,
-                    array($this->resource_type, $this->resource_name, &$this->template_source, &$this->template_timestamp, $this));
-                if (is_string($_return)) {
-                    return $_return;
-                } elseif ($_return === true) {
-                    return $file;
-                } 
-            } 
-        } 
-        // throw new Exception("Unable to load template \"{$file}\"");
-        return false;
-    } 
-
-    /**
-    * Update Smarty variables in other scopes
-    */
-    public function updateParentVariables ($scope = SMARTY_LOCAL_SCOPE)
-    {
-        $has_root = false;
-        foreach ($this->tpl_vars as $_key => $_variable) {
-            $_variable_scope = $this->tpl_vars[$_key]->scope;
-            if ($scope == SMARTY_LOCAL_SCOPE && $_variable_scope == SMARTY_LOCAL_SCOPE) {
-                continue;
-            } 
-            if (isset($this->parent) && ($scope == SMARTY_PARENT_SCOPE || $_variable_scope == SMARTY_PARENT_SCOPE)) {
-                if (isset($this->parent->tpl_vars[$_key])) {
-                    // variable is already defined in parent, copy value
-                    $this->parent->tpl_vars[$_key]->value = $this->tpl_vars[$_key]->value;
-                } else {
-                    // create variable in parent
-                    $this->parent->tpl_vars[$_key] = clone $_variable;
-                    $this->parent->tpl_vars[$_key]->scope = SMARTY_LOCAL_SCOPE;
-                } 
-            } 
-            if ($scope == SMARTY_ROOT_SCOPE || $_variable_scope == SMARTY_ROOT_SCOPE) {
-                if ($this->parent == null) {
-                    continue;
-                } 
-                if (!$has_root) {
-                    // find  root
-                    $root_ptr = $this;
-                    while ($root_ptr->parent != null) {
-                        $root_ptr = $root_ptr->parent;
-                        $has_root = true;
-                    } 
-                } 
-                if (isset($root_ptr->tpl_vars[$_key])) {
-                    // variable is already defined in root, copy value
-                    $root_ptr->tpl_vars[$_key]->value = $this->tpl_vars[$_key]->value;
-                } else {
-                    // create variable in root
-                    $root_ptr->tpl_vars[$_key] = clone $_variable;
-                    $root_ptr->tpl_vars[$_key]->scope = SMARTY_LOCAL_SCOPE;
-                } 
-            } 
-            if ($scope == SMARTY_GLOBAL_SCOPE || $_variable_scope == SMARTY_GLOBAL_SCOPE) {
-                if (isset($this->smarty->global_tpl_vars[$_key])) {
-                    // variable is already defined in root, copy value
-                    $this->smarty->global_tpl_vars[$_key]->value = $this->tpl_vars[$_key]->value;
-                } else {
-                    // create variable in root
-                    $this->smarty->global_tpl_vars[$_key] = clone $_variable;
-                } 
-                $this->smarty->global_tpl_vars[$_key]->scope = SMARTY_LOCAL_SCOPE;
-            } 
-        } 
-    } 
-
-    /**
-    * Split a template resource in its name and type
-    * 
-    * @param string $template_resource template resource specification
-    * @param string $resource_type return resource type
-    * @param string $resource_name return resource name
-    */
-    private function getResourceTypeName ($template_resource, &$resource_type, &$resource_name)
-    {
-        if (strpos($template_resource, ':') === false) {
-            // no resource given, use default
-            $resource_type = $this->smarty->default_resource_type;
-            $resource_name = $template_resource;
-        } else {
-            // get type and name from path
-            list($resource_type, $resource_name) = explode(':', $template_resource, 2);
-            if (strlen($resource_type) == 1) {
-                // 1 char is not resource type, but part of filepath
-                $resource_type = 'file';
-                $resource_name = $template_resource;
-            } else {
-                $resource_type = strtolower($resource_type);
-            } 
-        } 
-    } 
-
-    /**
-    * Load template resource handler by type
-    * 
-    * @param string $resource_type template resource type
-    * @return object resource handler object
-    */
-    private function loadTemplateResourceHandler ($resource_type)
-    { 
-        // try registered resource
-        if (isset($this->smarty->_plugins['resource'][$resource_type])) {
-            return new Smarty_Internal_Resource_Registered($this->smarty);
-        } else {
-            // try sysplugins dir
-            if (in_array($resource_type, array('file', 'string', 'extends', 'php', 'registered', 'stream'))) {
-                $_resource_class = 'Smarty_Internal_Resource_' . $resource_type;
-                return new $_resource_class($this->smarty);
-            } else {
-                // try plugins dir
-                $_resource_class = 'Smarty_Resource_' . $resource_type;
-                if ($this->smarty->loadPlugin($_resource_class)) {
-                    if (class_exists($_resource_class, false)) {
-                        return new $_resource_class($this->smarty);
-                    } else {
-                        $this->smarty->register_resource($resource_type,
-                            array("smarty_resource_{$resource_type}_source",
-                                "smarty_resource_{$resource_type}_timestamp",
-                                "smarty_resource_{$resource_type}_secure",
-                                "smarty_resource_{$resource_type}_trusted"));
-                        return new Smarty_Internal_Resource_Registered($this->smarty);
-                    } 
-                } else {
-                    // try streams
-                    $_known_stream = stream_get_wrappers();
-                    if (in_array($resource_type, $_known_stream)) {
-                        // is known stream
-                        if ($this->smarty->security) {
-                            $this->smarty->security_handler->isTrustedStream($resource_type);
-                        } 
-                        return new Smarty_Internal_Resource_Stream($this->smarty);
-                    } else {
-                        throw new Exception('Unkown resource type \'' . $resource_type . '\'');
-                    } 
-                } 
-            } 
-        } 
-    } 
-
-    /**
-    * Create property header
-    */
-    public function createPropertyHeader ($cache = false)
-    {
-        $plugins_string = ''; 
-        // include code for plugins
-        if (!$cache) {
-            if (!empty($this->required_plugins['compiled'])) {
-                $plugins_string = '<?php ';
-                foreach($this->required_plugins['compiled'] as $plugin_name => $data) {
-                    $plugin = 'smarty_' . $data['type'] . '_' . $plugin_name;
-                    $plugins_string .= "if (!is_callable('{$plugin}')) include '{$data['file']}';\n";
-                } 
-                $plugins_string .= '?>';
-            } 
-            if (!empty($this->required_plugins['cache'])) {
-                $this->has_nocache_code = true;
-                $plugins_string .= "<?php echo '/*%%SmartyNocache:{$this->properties['nocache_hash']}%%*/<?php ";
-                foreach($this->required_plugins['cache'] as $plugin_name => $data) {
-                    $plugin = 'smarty_' . $data['type'] . '_' . $plugin_name;
-                    $plugins_string .= "if (!is_callable(\'{$plugin}\')) include \'{$data['file']}\';\n";
-                } 
-                $plugins_string .= "?>/*/%%SmartyNocache:{$this->properties['nocache_hash']}%%*/';?>\n";
-            } 
-        } 
-        // build property code
-        $this->properties['has_nocache_code'] = $this->has_nocache_code;
-        $properties_string = "<?php /*%%SmartyHeaderCode:{$this->properties['nocache_hash']}%%*/" ;
-        if ($this->smarty->direct_access_security) {
-            $properties_string .= "if(!defined('SMARTY_DIR')) exit('no direct access allowed');\n";
-        } 
-        if ($cache) {
-            // remove compiled code of{function} definition
-            unset($this->properties['function']);
-            if (!empty($this->smarty->template_functions)) {
-                // copy code of {function} tags called in nocache mode
-                foreach ($this->smarty->template_functions as $name => $function_data) {
-                    if (isset($function_data['called_nocache'])) {
-                        unset($function_data['called_nocache'], $this->smarty->template_functions[$name]['called_nocache']);
-                        $this->properties['function'][$name] = $function_data;
-                    } 
-                } 
-            } 
-        } 
-        $properties_string .= "\$_smarty_tpl->decodeProperties(" . var_export($this->properties, true) . "); /*/%%SmartyHeaderCode%%*/?>\n";
-        return $properties_string . $plugins_string;
-    } 
-
-    /**
-    * Decode saved properties from compiled template and cache files
-    */
-    public function decodeProperties ($properties)
-    {
-        $this->has_nocache_code = $properties['has_nocache_code'];
-        $this->properties['nocache_hash'] = $properties['nocache_hash'];
-        if (isset($properties['cache_lifetime'])) {
-            $this->properties['cache_lifetime'] = $properties['cache_lifetime'];
-        } 
-        if (isset($properties['file_dependency'])) {
-            $this->properties['file_dependency'] = array_merge($this->properties['file_dependency'], $properties['file_dependency']);
-        } 
-        if (!empty($properties['function'])) {
-            $this->properties['function'] = array_merge($this->properties['function'], $properties['function']);
-            $this->smarty->template_functions = array_merge($this->smarty->template_functions, $properties['function']);
-        } 
-    } 
-
-    /**
-    * wrapper for display
-    */
-    public function display ()
-    {
-        return $this->smarty->display($this);
-    } 
-
-    /**
-    * wrapper for fetch
-    */
-    public function fetch ()
-    {
-        return $this->smarty->fetch($this);
-    } 
-    /**
-    * wrapper for is_cached
-    */
-    public function is_cached ()
-    {
-        return $this->iscached($this);
-    } 
-} 
-
-/**
-* wrapper for template class
-*/
-class Smarty_Template extends Smarty_Internal_Template {
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_templatecompilerbase.php b/gosa-core/include/smarty/sysplugins/smarty_internal_templatecompilerbase.php
deleted file mode 100644
index 68e3efd..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_templatecompilerbase.php
+++ /dev/null
@@ -1,404 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Smarty Template Compiler Base
-* 
-* This file contains the basic classes and methodes for compiling Smarty templates with lexer/parser
-* 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Main compiler class
-*/
-class Smarty_Internal_TemplateCompilerBase {
-    // hash for nocache sections
-    private $nocache_hash = null; 
-    // suppress generation of nocache code
-    public $suppressNocacheProcessing = false;
-    // compile tag objects
-    static $_tag_objects = array(); 
-    // tag stack
-    public $_tag_stack = array(); 
-    // current template
-    public $template = null; 
-    // required plugins
-    public $required_plugins_call = array(); 
-
-    /**
-    * Initialize compiler
-    */
-    public function __construct()
-    {
-        $this->nocache_hash = str_replace('.', '-', uniqid(rand(), true));
-    } 
-    // abstract function doCompile($_content);
-    /**
-    * Methode to compile a Smarty template
-    * 
-    * @param  $template template object to compile
-    * @return bool true if compiling succeeded, false if it failed
-    */
-    public function compileTemplate($template)
-    {
-        if (empty($template->properties['nocache_hash'])) {
-            $template->properties['nocache_hash'] = $this->nocache_hash;
-        } else {
-            $this->nocache_hash = $template->properties['nocache_hash'];
-        } 
-        /* here is where the compiling takes place. Smarty
-       tags in the templates are replaces with PHP code,
-       then written to compiled files. */
-        // flag for nochache sections
-        $this->nocache = false;
-        $this->tag_nocache = false; 
-        // assume successfull compiling
-        $this->compile_error = false; 
-        // save template object in compiler class
-        $this->template = $template;
-        $this->smarty->_current_file = $this->template->getTemplateFilepath(); 
-        // template header code
-        $template_header = '';
-        if (!$template->suppressHeader) {
-            $template_header .= "<?php /* Smarty version " . Smarty::SMARTY_VERSION . ", created on " . strftime("%Y-%m-%d %H:%M:%S") . "\n";
-            $template_header .= "         compiled from \"" . $this->template->getTemplateFilepath() . "\" */ ?>\n";
-        } 
-
-        do {
-            // flag for aborting current and start recompile
-            $this->abort_and_recompile = false; 
-            // get template source
-            $_content = $template->getTemplateSource(); 
-            // run prefilter if required
-            if (isset($this->smarty->autoload_filters['pre']) || isset($this->smarty->registered_filters['pre'])) {
-                $_content = Smarty_Internal_Filter_Handler::runFilter('pre', $_content, $this->smarty);
-            } 
-            // on empty template just return header
-            if ($_content == '') {
-                if ($template->suppressFileDependency) {
-                    $template->compiled_template = '';
-                } else {
-                    $template->compiled_template = $template_header . $template->createPropertyHeader();
-                } 
-                return true;
-            } 
-            // call compiler
-            $_compiled_code = $this->doCompile($_content);
-        } while ($this->abort_and_recompile);
-        if (!$this->compile_error) {
-            // return compiled code to template object
-            if ($template->suppressFileDependency) {
-                $template->compiled_template = $_compiled_code;
-            } else {
-                $template->compiled_template = $template_header . $template->createPropertyHeader() . $_compiled_code;
-            } 
-            // run postfilter if required
-            if (isset($this->smarty->autoload_filters['post']) || isset($this->smarty->registered_filters['post'])) {
-                $template->compiled_template = Smarty_Internal_Filter_Handler::runFilter('post', $template->compiled_template, $this->smarty);
-            } 
-            return true;
-        } else {
-            // compilation error
-            return false;
-        } 
-    } 
-
-    /**
-    * Compile Tag
-    * 
-    * This is a call back from the lexer/parser
-    * It executes the required compile plugin for the Smarty tag
-    * 
-    * @param string $tag tag name
-    * @param array $args array with tag attributes
-    * @return string compiled code
-    */
-    public function compileTag($tag, $args)
-    { 
-        // $args contains the attributes parsed and compiled by the lexer/parser
-        // assume that tag does compile into code, but creates no HTML output
-        $this->has_code = true;
-        $this->has_output = false; 
-        // compile the smarty tag (required compile classes to compile the tag are autoloaded)
-        if (($_output = $this->callTagCompiler($tag, $args)) === false) {
-            if (isset($this->smarty->template_functions[$tag])) {
-                // template defined by {template} tag
-                $args['name'] = "'" . $tag . "'";
-                $_output = $this->callTagCompiler('call', $args);
-            } 
-        } 
-        if ($_output !== false) {
-            if ($_output !== true) {
-                // did we get compiled code
-                if ($this->has_code) {
-                    // Does it create output?
-                    if ($this->has_output) {
-                        $_output .= "\n";
-                    } 
-                    // return compiled code
-                    return $_output;
-                } 
-            } 
-            // tag did not produce compiled code
-            return '';
-        } else {
-            // not an internal compiler tag
-            if (strlen($tag) < 6 || substr_compare($tag, 'close', -5, 5) != 0) {
-                // check if tag is a registered object
-                if (isset($this->smarty->registered_objects[$tag]) && isset($args['object_methode'])) {
-                    $methode = $args['object_methode'];
-                    unset ($args['object_methode']);
-                    if (!in_array($methode, $this->smarty->registered_objects[$tag][3]) &&
-                            (empty($this->smarty->registered_objects[$tag][1]) || in_array($methode, $this->smarty->registered_objects[$tag][1]))) {
-                        return $this->callTagCompiler('private_object_function', $args, $tag, $methode);
-                    } elseif (in_array($methode, $this->smarty->registered_objects[$tag][3])) {
-                        return $this->callTagCompiler('private_object_block_function', $args, $tag, $methode);
-                    } else {
-                        return $this->trigger_template_error ('unallowed methode "' . $methode . '" in registered object "' . $tag . '"', $this->lex->taglineno);
-                    } 
-                } 
-                // check if tag is registered
-                foreach (array('compiler', 'function', 'block') as $type) {
-                    if (isset($this->smarty->registered_plugins[$type][$tag])) {
-                        // if compiler function plugin call it now
-                        if ($type == 'compiler') {
-                            if (!$this->smarty->registered_plugins[$type][$tag][1]) {
-                                $this->tag_nocache = true;
-                            } 
-                            return call_user_func_array($this->smarty->registered_plugins[$type][$tag][0], array($args, $this));
-                        } 
-                        // compile registered function or block function
-                        if ($type == 'function' || $type == 'block') {
-                            return $this->callTagCompiler('private_registered_' . $type, $args, $tag);
-                        } 
-                    } 
-                } 
-                // check plugins from plugins folder
-                foreach ($this->smarty->plugin_search_order as $plugin_type) {
-                    if ($plugin_type == 'compiler' && $this->smarty->loadPlugin('smarty_compiler_' . $tag)) {
-                        $plugin = 'smarty_compiler_' . $tag;
-                        if (class_exists($plugin, false)) {
-                            $plugin = array(new $plugin, 'compile');
-                        } 
-                        if (is_callable($plugin)) {
-                            return call_user_func_array($plugin, array($args, $this));
-                        } else {
-                            throw new Exception("Plugin \"{$tag}\" not callable");
-                        } 
-                    } else {
-                        if ($function = $this->getPlugin($tag, $plugin_type)) {
-                            return $this->callTagCompiler('private_' . $plugin_type . '_plugin', $args, $tag, $function);
-                        } 
-                    } 
-                } 
-            } else {
-                // compile closing tag of block function
-                $base_tag = substr($tag, 0, -5); 
-                // check if closing tag is a registered object
-                if (isset($this->smarty->registered_objects[$base_tag]) && isset($args['object_methode'])) {
-                    $methode = $args['object_methode'];
-                    unset ($args['object_methode']);
-                    if (in_array($methode, $this->smarty->registered_objects[$base_tag][3])) {
-                        return $this->callTagCompiler('private_object_block_function', $args, $tag, $methode);
-                    } else {
-                        return $this->trigger_template_error ('unallowed closing tag methode "' . $methode . '" in registered object "' . $base_tag . '"', $this->lex->taglineno);
-                    } 
-                } 
-                // registered block tag ?
-                if (isset($this->smarty->registered_plugins['block'][$base_tag])) {
-                    return $this->callTagCompiler('private_registered_block', $args, $tag);
-                } 
-                // block plugin?
-                if ($function = $this->getPlugin($base_tag, 'block')) {
-                    return $this->callTagCompiler('private_block_plugin', $args, $tag, $function);
-                } 
-                if ($this->smarty->loadPlugin('smarty_compiler_' . $tag)) {
-                    $plugin = 'smarty_compiler_' . $tag;
-                    if (class_exists($plugin, false)) {
-                        $plugin = array(new $plugin, 'compile');
-                    } 
-                    if (is_callable($plugin)) {
-                        return call_user_func_array($plugin, array($args, $this));
-                    } else {
-                        throw new Exception("Plugin \"{$tag}\" not callable");
-                    } 
-                } 
-            } 
-            $this->trigger_template_error ("unknown tag \"" . $tag . "\"", $this->lex->taglineno);
-        } 
-    } 
-
-    /**
-    * lazy loads internal compile plugin for tag and calls the compile methode
-    * 
-    * compile objects cached for reuse.
-    * class name format:  Smarty_Internal_Compile_TagName
-    * plugin filename format: Smarty_Internal_Tagname.php
-    * 
-    * @param  $tag string tag name
-    * @param  $args array with tag attributes
-    * @param  $param1 optional parameter
-    * @param  $param2 optional parameter
-    * @param  $param3 optional parameter
-    * @return string compiled code
-    */
-    public function callTagCompiler($tag, $args, $param1 = null, $param2 = null, $param3 = null)
-    { 
-        // re-use object if already exists
-        if (isset(self::$_tag_objects[$tag])) {
-            // compile this tag
-            return call_user_func(array(self::$_tag_objects[$tag], 'compile'), $args, $this, $param1, $param2, $param3);
-        } 
-        // lazy load internal compiler plugin
-        $class_name = 'Smarty_Internal_Compile_' . $tag;
-        if ($this->smarty->loadPlugin($class_name)) {
-            // use plugin if found
-            self::$_tag_objects[$tag] = new $class_name; 
-            // compile this tag
-            return call_user_func(array(self::$_tag_objects[$tag], 'compile'), $args, $this, $param1, $param2, $param3);
-        } 
-        // no internal compile plugin for this tag
-        return false;
-    } 
-
-    /**
-    * Check for plugins and return function name
-    * 
-    * @param  $pugin_name string name of plugin or function
-    * @param  $type string type of plugin
-    * @return string call name of function
-    */
-    public function getPlugin($plugin_name, $type)
-    {
-        if (isset($this->template->required_plugins_call[$plugin_name][$type])) {
-            if ($this->template->caching && ($this->nocache || $this->tag_nocache)) {
-                if (isset($this->template->required_plugins['compiled'][$plugin_name])) {
-                    $this->template->required_plugins['cache'][$plugin_name] = $this->template->required_plugins['compiled'][$plugin_name];
-                } 
-            } else {
-                if (isset($this->template->required_plugins['cache'][$plugin_name])) {
-                    $this->template->required_plugins['compiled'][$plugin_name] = $this->template->required_plugins['compiled'][$plugin_name];
-                } 
-            } 
-            if ($type == 'modifier') {
-                $this->template->saved_modifer[$plugin_name] = true;
-            } 
-            return $this->template->required_plugins_call[$plugin_name][$type];
-        } 
-        // loop through plugin dirs and find the plugin
-        $plugin = 'smarty_' . $type . '_' . $plugin_name;
-        $found = false;
-        foreach((array)$this->smarty->plugins_dir as $_plugin_dir) {
-            $file = rtrim($_plugin_dir, '/\\') . DS . $type . '.' . $plugin_name . '.php';
-            if (file_exists($file)) {
-                // require_once($file);
-                $found = true;
-                break;
-            } 
-        } 
-        if ($found) {
-            // if (is_callable($plugin)) {
-            $this->template->required_plugins_call[$plugin_name][$type] = $plugin;
-            if ($this->template->caching && ($this->nocache || $this->tag_nocache)) {
-                $this->template->required_plugins['cache'][$plugin_name]['file'] = $file;
-                $this->template->required_plugins['cache'][$plugin_name]['type'] = $type;
-            } else {
-                $this->template->required_plugins['compiled'][$plugin_name]['file'] = $file;
-                $this->template->required_plugins['compiled'][$plugin_name]['type'] = $type;
-            } 
-            if ($type == 'modifier') {
-                $this->template->saved_modifer[$plugin_name] = true;
-            } 
-
-            return $plugin;
-        } 
-        if (is_callable($plugin)) {
-            // plugin function is defined in the script
-            return $plugin;
-        } 
-        return false;
-    } 
-    /**
-    * Inject inline code for nocache template sections
-    * 
-    * This method gets the content of each template element from the parser.
-    * If the content is compiled code and it should be not cached the code is injected
-    * into the rendered output.
-    * 
-    * @param string $content content of template element
-    * @param boolean $tag_nocache true if the parser detected a nocache situation
-    * @param boolean $is_code true if content is compiled code
-    * @return string content
-    */
-    public function processNocacheCode ($content, $is_code)
-    { 
-        // If the template is not evaluated and we have a nocache section and or a nocache tag
-        if ($is_code && !empty($content)) {
-            // generate replacement code
-            if ((!$this->template->resource_object->isEvaluated || $this->template->forceNocache) && $this->template->caching && !$this->suppressNocacheProcessing &&
-                    ($this->nocache || $this->tag_nocache || $this->template->forceNocache == 2)) {
-                $this->tag_nocache = false;
-                $this->template->has_nocache_code = true;
-                $_output = str_replace("'", "\'", $content);
-                $_output = "<?php echo '/*%%SmartyNocache:{$this->nocache_hash}%%*/" . $_output . "/*/%%SmartyNocache:{$this->nocache_hash}%%*/';?>"; 
-                // make sure we include modifer plugins for nocache code
-                if (isset($this->template->saved_modifer)) {
-                    foreach ($this->template->saved_modifer as $plugin_name => $dummy) {
-                        if (isset($this->template->required_plugins['compiled'][$plugin_name])) {
-                            $this->template->required_plugins['cache'][$plugin_name] = $this->template->required_plugins['compiled'][$plugin_name];
-                        } 
-                    } 
-                    unset($this->template->saved_modifer);
-                } 
-            } else {
-                $_output = $content;
-            } 
-        } else {
-            $_output = $content;
-        } 
-        $this->suppressNocacheProcessing = false;
-        return $_output;
-    } 
-    /**
-    * display compiler error messages without dying
-    * 
-    * If parameter $args is empty it is a parser detected syntax error.
-    * In this case the parser is called to obtain information about expected tokens.
-    * 
-    * If parameter $args contains a string this is used as error message
-    * 
-    * @param  $args string individual error message or null
-    */
-    public function trigger_template_error($args = null, $line = null)
-    { 
-        // get template source line which has error
-        if (!isset($line)) {
-            $line = $this->lex->line;
-        } 
-        $match = preg_split("/\n/", $this->lex->data);
-        $error_text = 'Syntax Error in template "' . $this->template->getTemplateFilepath() . '"  on line ' . $line . ' "' . $match[$line-1] . '" ';
-        if (isset($args)) {
-            // individual error message
-            $error_text .= $args;
-        } else {
-            // expected token from parser
-            foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) {
-                $exp_token = $this->parser->yyTokenName[$token];
-                if (isset($this->lex->smarty_token_names[$exp_token])) {
-                    // token type from lexer
-                    $expect[] = '"' . $this->lex->smarty_token_names[$exp_token] . '"';
-                } else {
-                    // otherwise internal token name
-                    $expect[] = $this->parser->yyTokenName[$token];
-                } 
-            } 
-            // output parser error message
-            $error_text .= ' - Unexpected "' . $this->lex->value . '", expected one of: ' . implode(' , ', $expect);
-        } 
-        throw new Exception($error_text); 
-        // set error flag
-        $this->compile_error = true;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_templatelexer.php b/gosa-core/include/smarty/sysplugins/smarty_internal_templatelexer.php
deleted file mode 100644
index fb25984..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_templatelexer.php
+++ /dev/null
@@ -1,1831 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Templatelexer
-*
-* This is the lexer to break the template source into tokens 
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews 
-*/
-/**
-* Smarty Internal Plugin Templatelexer
-*/
-class Smarty_Internal_Templatelexer
-{
-    public $data;
-    public $counter;
-    public $token;
-    public $value;
-    public $node;
-    public $line;
-    public $taglineno;
-    public $state = 1;
-    public $strip = false;
-    private $heredoc_id_stack = Array();
-    public $smarty_token_names = array (		// Text for parser error messages
-    				'IDENTITY'	=> '===',
-    				'NONEIDENTITY'	=> '!==',
-    				'EQUALS'	=> '==',
-    				'NOTEQUALS'	=> '!=',
-    				'GREATEREQUAL' => '(>=,ge)',
-    				'LESSEQUAL' => '(<=,le)',
-    				'GREATERTHAN' => '(>,gt)',
-    				'LESSTHAN' => '(<,lt)',
-    				'MOD' => '(%,mod)',
-    				'NOT'			=> '(!,not)',
-    				'LAND'		=> '(&&,and)',
-    				'LOR'			=> '(||,or)',
-    				'LXOR'			=> 'xor',
-    				'OPENP'		=> '(',
-    				'CLOSEP'	=> ')',
-    				'OPENB'		=> '[',
-    				'CLOSEB'	=> ']',
-    				'PTR'			=> '->',
-    				'APTR'		=> '=>',
-    				'EQUAL'		=> '=',
-    				'NUMBER'	=> 'number',
-    				'UNIMATH'	=> '+" , "-',
-    				'MATH'		=> '*" , "/" , "%',
-    				'INCDEC'	=> '++" , "--',
-    				'SPACE'		=> ' ',
-    				'DOLLAR'	=> '$',
-    				'SEMICOLON' => ';',
-    				'COLON'		=> ':',
-    				'DOUBLECOLON'		=> '::',
-    				'AT'		=> '@',
-    				'HATCH'		=> '#',
-    				'QUOTE'		=> '"',
-    				'BACKTICK'		=> '`',
-    				'VERT'		=> '|',
-    				'DOT'			=> '.',
-    				'COMMA'		=> '","',
-    				'ANDSYM'		=> '"&"',
-    				'QMARK'		=> '"?"',
-    				'ID'			=> 'identifier',
-    				'OTHER'		=> 'text',
-     				'FAKEPHPSTARTTAG'	=> 'Fake PHP start tag',
-     				'PHPSTARTTAG'	=> 'PHP start tag',
-     				'PHPENDTAG'	=> 'PHP end tag',
- 						'LITERALSTART'  => 'Literal start',
- 						'LITERALEND'    => 'Literal end',
-    				'LDELSLASH' => 'closing tag',
-    				'COMMENT' => 'comment',
-     				'LITERALEND' => 'literal close',
-    				'AS' => 'as',
-    				'TO' => 'to',
-    				'NULL' => 'null',
-    				'BOOLEAN' => 'boolean'
-    				);
-    				
-    				
-    function __construct($data,$compiler)
-    {
-        // set instance object
-        self::instance($this); 
-        $this->data = preg_replace("/(\r\n|\r|\n)/", "\n", $data);
-        $this->counter = 0;
-        $this->line = 1;
-        $this->smarty = $compiler->smarty;
-        $this->compiler = $compiler;
-        $this->ldel = preg_quote($this->smarty->left_delimiter,'/'); 
-        $this->rdel = preg_quote($this->smarty->right_delimiter,'/');
-        $this->smarty_token_names['LDEL'] =	$this->smarty->left_delimiter;
-        $this->smarty_token_names['RDEL'] =	$this->smarty->right_delimiter;
-     }
-    public static function &instance($new_instance = null)
-    {
-        static $instance = null;
-        if (isset($new_instance) && is_object($new_instance))
-            $instance = $new_instance;
-        return $instance;
-    } 
-
-
-
-    private $_yy_state = 1;
-    private $_yy_stack = array();
-
-    function yylex()
-    {
-        return $this->{'yylex' . $this->_yy_state}();
-    }
-
-    function yypushstate($state)
-    {
-        array_push($this->_yy_stack, $this->_yy_state);
-        $this->_yy_state = $state;
-    }
-
-    function yypopstate()
-    {
-        $this->_yy_state = array_pop($this->_yy_stack);
-    }
-
-    function yybegin($state)
-    {
-        $this->_yy_state = $state;
-    }
-
-
-
-    function yylex1()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 1,
-              4 => 0,
-              5 => 0,
-              6 => 0,
-              7 => 0,
-              8 => 0,
-              9 => 0,
-              10 => 0,
-              11 => 0,
-              12 => 0,
-              13 => 2,
-              16 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^(\\{\\})|^(".$this->ldel."\\*([\S\s]*?)\\*".$this->rdel.")|^(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|^([\t ]*[\r\n]+[\t ]*)|^(".$this->ldel."strip".$this->rdel.")|^(".$this->ldel."\/strip".$this->rdel.")|^(".$this->ldel."literal".$this->rdel.")|^(".$this->ldel."\\s{1,}\/)|^(".$this->ldel."\\s{1,})|^(".$this->ldel."\/)|^(".$this->ldel.")|^(([\S\s]*?)([\t ]*[\r\n]+[\t ]*|".$this->ldel."|<\\?))|^([\S\s]+)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state TEXT');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r1_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const TEXT = 1;
-    function yy_r1_1($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-    }
-    function yy_r1_2($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_COMMENT;
-    }
-    function yy_r1_4($yy_subpatterns)
-    {
-
-  if (in_array($this->value, Array('<?', '<?=', '<?php'))) {
-    $this->token = Smarty_Internal_Templateparser::TP_PHPSTARTTAG;
-        $this->yypushstate(self::PHP);
-  } else {
-    $this->token = Smarty_Internal_Templateparser::TP_FAKEPHPSTARTTAG;
-    $this->value = substr($this->value, 0, 2);
-  }
-     }
-    function yy_r1_5($yy_subpatterns)
-    {
-
-  if ($this->strip) {
-     return false;
-  } else {
-     $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-  }
-    }
-    function yy_r1_6($yy_subpatterns)
-    {
-
-  $this->strip = true;
-  return false;
-    }
-    function yy_r1_7($yy_subpatterns)
-    {
-
-  $this->strip = false;
-  return false;
-    }
-    function yy_r1_8($yy_subpatterns)
-    {
-
-   $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART;
-   $this->yypushstate(self::LITERAL);
-    }
-    function yy_r1_9($yy_subpatterns)
-    {
-
-  if ($this->smarty->auto_literal) {
-     $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-  } else {
-     $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-  }
-    }
-    function yy_r1_10($yy_subpatterns)
-    {
-
-  if ($this->smarty->auto_literal) {
-     $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-  } else {
-     $this->token = Smarty_Internal_Templateparser::TP_LDEL;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-  }
-    }
-    function yy_r1_11($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-    }
-    function yy_r1_12($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LDEL;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-    }
-    function yy_r1_13($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-  if (substr($this->value,-2) == '<?') {
-     $this->value = substr($this->value,0,-2);
-  } elseif (substr($this->value,-strlen($this->smarty->left_delimiter)) == $this->smarty->left_delimiter){
-     $this->value = substr($this->value,0,-strlen($this->smarty->left_delimiter));
-  } else {
-     $this->value = rtrim($this->value);
-  }
-  if (strlen($this->value) == 0) {
-     return true;		// rescan
-  }
-    }
-    function yy_r1_16($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-    }
-
-
-    function yylex2()
-    {
-        $tokenMap = array (
-              1 => 1,
-              3 => 0,
-              4 => 0,
-              5 => 0,
-              6 => 0,
-              7 => 0,
-              8 => 0,
-              9 => 0,
-              10 => 0,
-              11 => 1,
-              13 => 1,
-              15 => 0,
-              16 => 0,
-              17 => 0,
-              18 => 0,
-              19 => 0,
-              20 => 1,
-              22 => 1,
-              24 => 1,
-              26 => 1,
-              28 => 1,
-              30 => 1,
-              32 => 1,
-              34 => 1,
-              36 => 1,
-              38 => 1,
-              40 => 1,
-              42 => 0,
-              43 => 0,
-              44 => 0,
-              45 => 0,
-              46 => 0,
-              47 => 0,
-              48 => 0,
-              49 => 0,
-              50 => 0,
-              51 => 0,
-              52 => 3,
-              56 => 0,
-              57 => 0,
-              58 => 0,
-              59 => 0,
-              60 => 0,
-              61 => 0,
-              62 => 0,
-              63 => 1,
-              65 => 1,
-              67 => 1,
-              69 => 0,
-              70 => 0,
-              71 => 0,
-              72 => 0,
-              73 => 0,
-              74 => 0,
-              75 => 0,
-              76 => 0,
-              77 => 0,
-              78 => 0,
-              79 => 0,
-              80 => 0,
-              81 => 0,
-              82 => 1,
-              84 => 0,
-              85 => 0,
-              86 => 0,
-              87 => 0,
-              88 => 0,
-              89 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^((\\\\\"|\\\\'))|^('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|^(".$this->ldel."\\s{1,}\/)|^(".$this->ldel."\\s{1,})|^(\\s{1,}".$this->rdel.")|^(".$this->ldel."\/)|^(".$this->ldel.")|^(".$this->rdel.")|^(\\s+is\\s+in\\s+)|^(\\s+(AS|as)\\s+)|^(\\s+(to)\\s+)|^(\\s+instanceof\\s+)|^(true|TRUE|True|false|FALSE|False)|^(null|NULL|Null)|^(\\s*===\\s*)|^(\\s*!==\\s*)|^(\\s*==\\s*|\\s+(EQ|eq)\\s+)|^(\\s*!=\\s*|\\s*<>\\s*|\\s+(NE|NEQ|ne|neq)\\s+)|^(\\s*>=\\s*|\\s+(GE|GTE|ge|gt [...]
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state SMARTY');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r2_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const SMARTY = 2;
-    function yy_r2_1($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-    }
-    function yy_r2_3($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_SINGLEQUOTESTRING;
-    }
-    function yy_r2_4($yy_subpatterns)
-    {
-
-  if ($this->smarty->auto_literal) {
-     $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-  } else {
-     $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-  }
-    }
-    function yy_r2_5($yy_subpatterns)
-    {
-
-  if ($this->smarty->auto_literal) {
-     $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-  } else {
-     $this->token = Smarty_Internal_Templateparser::TP_LDEL;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-  }
-    }
-    function yy_r2_6($yy_subpatterns)
-    {
-
-  if ($this->smarty->auto_literal) {
-     $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-  } else {
-     $this->token = Smarty_Internal_Templateparser::TP_RDEL;
-     $this->yypopstate();
-  }
-    }
-    function yy_r2_7($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-    }
-    function yy_r2_8($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LDEL;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-    }
-    function yy_r2_9($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_RDEL;
-     $this->yypopstate();
-    }
-    function yy_r2_10($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ISIN;
-    }
-    function yy_r2_11($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_AS;
-    }
-    function yy_r2_13($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_TO;
-    }
-    function yy_r2_15($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_INSTANCEOF;
-    }
-    function yy_r2_16($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_BOOLEAN;
-    }
-    function yy_r2_17($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_NULL;
-    }
-    function yy_r2_18($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_IDENTITY;
-    }
-    function yy_r2_19($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_NONEIDENTITY;
-    }
-    function yy_r2_20($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_EQUALS;
-    }
-    function yy_r2_22($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_NOTEQUALS;
-    }
-    function yy_r2_24($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_GREATEREQUAL;
-    }
-    function yy_r2_26($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LESSEQUAL;
-    }
-    function yy_r2_28($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_GREATERTHAN;
-    }
-    function yy_r2_30($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LESSTHAN;
-    }
-    function yy_r2_32($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_MOD;
-    }
-    function yy_r2_34($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_NOT;
-    }
-    function yy_r2_36($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LAND;
-    }
-    function yy_r2_38($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LOR;
-    }
-    function yy_r2_40($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LXOR;
-    }
-    function yy_r2_42($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ISODDBY;
-    }
-    function yy_r2_43($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ISNOTODDBY;
-    }
-    function yy_r2_44($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ISODD;
-    }
-    function yy_r2_45($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ISNOTODD;
-    }
-    function yy_r2_46($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ISEVENBY;
-    }
-    function yy_r2_47($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ISNOTEVENBY;
-    }
-    function yy_r2_48($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ISEVEN;
-    }
-    function yy_r2_49($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ISNOTEVEN;
-    }
-    function yy_r2_50($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ISDIVBY;
-    }
-    function yy_r2_51($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ISNOTDIVBY;
-    }
-    function yy_r2_52($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_TYPECAST;
-    }
-    function yy_r2_56($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_OPENP;
-    }
-    function yy_r2_57($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_CLOSEP;
-    }
-    function yy_r2_58($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_OPENB;
-    }
-    function yy_r2_59($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_CLOSEB;
-    }
-    function yy_r2_60($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PTR; 
-    }
-    function yy_r2_61($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_APTR;
-    }
-    function yy_r2_62($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_EQUAL;
-    }
-    function yy_r2_63($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_INCDEC;
-    }
-    function yy_r2_65($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_UNIMATH;
-    }
-    function yy_r2_67($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_MATH;
-    }
-    function yy_r2_69($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_DOLLAR;
-    }
-    function yy_r2_70($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_SEMICOLON;
-    }
-    function yy_r2_71($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_DOUBLECOLON;
-    }
-    function yy_r2_72($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_COLON;
-    }
-    function yy_r2_73($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_AT;
-    }
-    function yy_r2_74($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_HATCH;
-    }
-    function yy_r2_75($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
-  $this->yypushstate(self::DOUBLEQUOTEDSTRING);
-    }
-    function yy_r2_76($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
-  $this->yypopstate();
-    }
-    function yy_r2_77($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_VERT;
-    }
-    function yy_r2_78($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_DOT;
-    }
-    function yy_r2_79($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_COMMA;
-    }
-    function yy_r2_80($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ANDSYM;
-    }
-    function yy_r2_81($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_QMARK;
-    }
-    function yy_r2_82($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_IF;
-    }
-    function yy_r2_84($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_FOREACH;
-    }
-    function yy_r2_85($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_FOR;
-    }
-    function yy_r2_86($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_ID;
-    }
-    function yy_r2_87($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_INTEGER;
-    }
-    function yy_r2_88($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_SPACE;
-    }
-    function yy_r2_89($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-    }
-
-
-    function yylex3()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 1,
-              4 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^(\\?>)|^([\s\S]+?(\\?>|\/\\*|'|\"|<<<\\s*'?\\w+'?\r?\n|\/\/|#))|^([\S\s]+)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state PHP');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r3_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const PHP = 3;
-    function yy_r3_1($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHPENDTAG;
-  $this->yypopstate();
-    }
-    function yy_r3_2($yy_subpatterns)
-    {
-
-   switch ($yy_subpatterns[0]) {
-   case '?>':
-      $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE;
-      $this->value = substr($this->value, 0, -2);
-      break;
-   case "'":
-      $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE;
-      $this->yypushstate(self::PHP_SINGLE_QUOTED_STRING);
-      break;
-   case '"':
-      $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE_START_DOUBLEQUOTE;
-      $this->yypushstate(self::PHP_DOUBLE_QUOTED_STRING);
-      break;
-   case '/*':
-      $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE;
-      $this->yypushstate(self::PHP_ML_COMMENT);
-      break;
-   case '//':
-   case '#':
-      $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE;
-      $this->yypushstate(self::PHP_SL_COMMENT);
-      break;
-   default:
-      $res = preg_match('/\A<<<\s*\'?(\w+)(\'?)\r?\n\z/', $yy_subpatterns[0], $matches);
-      assert($res === 1);
-      $is_nowdoc = $matches[2] === "'";
-      $this->token = $is_nowdoc
-        ? Smarty_Internal_Templateparser::TP_PHP_NOWDOC_START
-        : Smarty_Internal_Templateparser::TP_PHP_HEREDOC_START;
-      $this->heredoc_id_stack[] = $matches[1];
-      $this->yypushstate($is_nowdoc ? self::PHP_NOWDOC : self::PHP_HEREDOC);
-      break;
-   }
-    }
-    function yy_r3_4($yy_subpatterns)
-    {
-
-  $this->compiler->trigger_template_error ("missing PHP end tag");
-    }
-
-
-    function yylex4()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^([\s\S]*\\*\/)|^([\S\s]+)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state PHP_ML_COMMENT');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r4_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const PHP_ML_COMMENT = 4;
-    function yy_r4_1($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE;  
-  $this->yypopstate();
-    }
-    function yy_r4_2($yy_subpatterns)
-    {
-
-  $this->compiler->trigger_template_error("missing PHP comment end */");
-    }
-
-
-    function yylex5()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^(.+?(?=\\?>|\n))|^([\S\s]+)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state PHP_SL_COMMENT');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r5_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const PHP_SL_COMMENT = 5;
-    function yy_r5_1($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE;  
-  $this->yypopstate();
-    }
-    function yy_r5_2($yy_subpatterns)
-    {
-
-  /* this can happen for "//?>" */
-  $this->yypopstate();
-  return true;
-    }
-
-
-    function yylex6()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^([^\n]*\n)|^([\S\s]+)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state PHP_NOWDOC');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r6_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const PHP_NOWDOC = 6;
-    function yy_r6_1($yy_subpatterns)
-    {
-
-  $heredoc_id = $this->heredoc_id_stack[sizeof($this->heredoc_id_stack)-1];
-  if (   $this->value === $heredoc_id."\n"
-      || $this->value === $heredoc_id."\r\n"
-      || $this->value === $heredoc_id.";\n"
-      || $this->value === $heredoc_id.";\r\n"
-     ) {
-    $this->token = Smarty_Internal_Templateparser::TP_PHP_NOWDOC_END;
-    array_pop($this->heredoc_id_stack);
-    $this->yypopstate();
-  } else {
-    $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_CONTENT;
-  }
-    }
-    function yy_r6_2($yy_subpatterns)
-    {
-
-  $this->compiler->trigger_template_error("missing PHP NOWDOC end");
-    }
-
-
-    function yylex7()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-              3 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^(\\{\\$|\\{\\$)|^([^\n]*\n)|^([\S\s]+)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state PHP_HEREDOC');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r7_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const PHP_HEREDOC = 7;
-    function yy_r7_1($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_EMBED_START;
-  $this->yypushstate(self::PHP_RETURNING_TO_HEREDOC_FROM_EMBEDDED);    
-  $this->yypushstate(self::PHP_DOUBLE_QUOTED_STRING_EMBEDDED);    
-    }
-    function yy_r7_2($yy_subpatterns)
-    {
-
-  $heredoc_id = $this->heredoc_id_stack[sizeof($this->heredoc_id_stack)-1];
-  if (   $this->value === $heredoc_id."\n"
-      || $this->value === $heredoc_id."\r\n"
-      || $this->value === $heredoc_id.";\n"
-      || $this->value === $heredoc_id.";\r\n"
-     ) {
-    $this->token = Smarty_Internal_Templateparser::TP_PHP_HEREDOC_END;
-    array_pop($this->heredoc_id_stack);
-    $this->yypopstate();
-  } else {
-    $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_CONTENT;
-    if (preg_match('/(.*?)(\{\$\|\$\{)/', $this->value, $matches)) {
-      $this->value = $matches[1];
-    }
-  }
-    }
-    function yy_r7_3($yy_subpatterns)
-    {
-
-  $this->compiler->trigger_template_error("missing PHP HEREDOC end");
-    }
-
-
-    function yylex8()
-    {
-        $tokenMap = array (
-              1 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^([^\n]*\n)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state PHP_RETURNING_TO_HEREDOC_FROM_EMBEDDED');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r8_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const PHP_RETURNING_TO_HEREDOC_FROM_EMBEDDED = 8;
-    function yy_r8_1($yy_subpatterns)
-    {
-
-  $this->yypopstate();
-  $heredoc_id = $this->heredoc_id_stack[sizeof($this->heredoc_id_stack)-1];
-  if (   $this->value === $heredoc_id."\n"
-      || $this->value === $heredoc_id."\r\n"
-      || $this->value === $heredoc_id.";\n"
-      || $this->value === $heredoc_id.";\r\n"
-     ) {
-    //Make sure it isn't interpreted as HEREDOC end.
-    $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_CONTENT;
-  } else {
-    return true; //retry in PHP_HEREDOC state
-  }
-    }
-
-
-    function yylex9()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^((?:[^\\\\']|\\\\.)*')|^([\S\s]+)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state PHP_SINGLE_QUOTED_STRING');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r9_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const PHP_SINGLE_QUOTED_STRING = 9;
-    function yy_r9_1($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE;  
-  $this->yypopstate();
-    }
-    function yy_r9_2($yy_subpatterns)
-    {
-
-  $this->compiler->trigger_template_error("missing PHP single quoted string end");
-    }
-
-
-    function yylex10()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-              3 => 0,
-              4 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^(\\{\\$|\\{\\$)|^(\")|^((?:\\\\.|[^\"\\\\])+?(?=\"|\\{\\$|\\$\\{))|^([\S\s]+)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state PHP_DOUBLE_QUOTED_STRING');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r10_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const PHP_DOUBLE_QUOTED_STRING = 10;
-    function yy_r10_1($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_EMBED_START;
-  $this->yypushstate(self::PHP_DOUBLE_QUOTED_STRING_EMBEDDED);
-    }
-    function yy_r10_2($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE_DOUBLEQUOTE;
-  $this->yypopstate();
-    }
-    function yy_r10_3($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_CONTENT;
-    }
-    function yy_r10_4($yy_subpatterns)
-    {
-
-  $this->compiler->trigger_template_error("missing PHP double quoted string end");
-    }
-
-
-    function yylex11()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-              3 => 0,
-              4 => 0,
-              5 => 0,
-              6 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^(\")|^(')|^(<<<\\s*\\w+\r?\n)|^(<<<\\s*'\\w+'\r?\n)|^(\\})|^([^'\"}]+?(?='|\"|\\}|<<<\\s*'?\\w+'?\r?\n))/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state PHP_DOUBLE_QUOTED_STRING_EMBEDDED');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r11_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const PHP_DOUBLE_QUOTED_STRING_EMBEDDED = 11;
-    function yy_r11_1($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE_START_DOUBLEQUOTE;
-  $this->yypushstate(self::PHP_DOUBLE_QUOTED_STRING);
-    }
-    function yy_r11_2($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE;
-  $this->yypushstate(self::PHP_SINGLE_QUOTED_STRING);
-    }
-    function yy_r11_3($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_HEREDOC_START;
-  $res = preg_match('/\A\<\<\<\s*(\w+)\r?\n\z/', $this->value, $matches);
-  assert($res === 1);
-  $this->heredoc_id_stack[] = $matches[1];
-  $this->yypushstate(self::PHP_HEREDOC);
-    }
-    function yy_r11_4($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_NOWDOC_START;
-  $res = preg_match('/\A\<\<\<\s*\'(\w+)\'\r?\n\z/', $this->value, $matches);
-  assert($res === 1);
-  $this->heredoc_id_stack[] = $matches[1];
-  $this->yypushstate(self::PHP_NOWDOC);
-    }
-    function yy_r11_5($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_DQ_EMBED_END;
-  $this->yypopstate();
-    }
-    function yy_r11_6($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_PHP_CODE;
-    }
-
-
-
-    function yylex12()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-              3 => 0,
-              4 => 0,
-              5 => 1,
-              7 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^(".$this->ldel."literal".$this->rdel.")|^(".$this->ldel."\/literal".$this->rdel.")|^(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|^(\\?>)|^([\S\s]+?(".$this->ldel."\/?literal".$this->rdel."|<\\?))|^([\S\s]+)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state LITERAL');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r12_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const LITERAL = 12;
-    function yy_r12_1($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART;
-  $this->yypushstate(self::LITERAL);
-    }
-    function yy_r12_2($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LITERALEND;
-  $this->yypopstate();
-    }
-    function yy_r12_3($yy_subpatterns)
-    {
-
-  if (in_array($this->value, Array('<?', '<?=', '<?php'))) {
-    $this->token = Smarty_Internal_Templateparser::TP_PHPSTARTTAG;
-   } else {
-    $this->token = Smarty_Internal_Templateparser::TP_FAKEPHPSTARTTAG;
-    $this->value = substr($this->value, 0, 2);
-   }
-    }
-    function yy_r12_4($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
-    }
-    function yy_r12_5($yy_subpatterns)
-    {
-
-  $lenght_literal = strlen($this->smarty->left_delimiter.$this->smarty->right_delimiter)+7;
-  if (substr($this->value,-2,2) === '<?') {
-    $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
-    $this->value = substr($this->value,0,-2);
-  } else if (substr($this->value,-$lenght_literal,$lenght_literal) === $this->smarty->left_delimiter.'literal'.$this->smarty->right_delimiter) {
-    $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
-    $this->value = substr($this->value,0,-$lenght_literal);
-  } else {
-    assert(substr($this->value,-$lenght_literal-1,$lenght_literal+1) === $this->smarty->left_delimiter.'/literal'.$this->smarty->right_delimiter);
-    $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
-    $this->value = substr($this->value,0,-$lenght_literal-1);
-  }
-    }
-    function yy_r12_7($yy_subpatterns)
-    {
-
-  $this->compiler->trigger_template_error ("missing or misspelled literal closing tag");
-    }
-
-
-    function yylex13()
-    {
-        $tokenMap = array (
-              1 => 0,
-              2 => 0,
-              3 => 0,
-              4 => 0,
-              5 => 0,
-              6 => 0,
-              7 => 0,
-              8 => 0,
-              9 => 2,
-              12 => 0,
-            );
-        if ($this->counter >= strlen($this->data)) {
-            return false; // end of input
-        }
-        $yy_global_pattern = "/^(".$this->ldel."\\s{1,}\/)|^(".$this->ldel."\\s{1,})|^(".$this->ldel."\/)|^(".$this->ldel.")|^(\")|^(`\\$)|^(\\$\\w+)|^(\\$)|^(([\S\s]*?)(".$this->ldel."|\\$|`\\$|\\\\\\\\|[^\\\\]\"))|^([\S\s]+)/";
-
-        do {
-            if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
-                $yysubmatches = $yymatches;
-                $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
-                if (!count($yymatches)) {
-                    throw new Exception('Error: lexing failed because a rule matched' .
-                        'an empty string.  Input "' . substr($this->data,
-                        $this->counter, 5) . '... state DOUBLEQUOTEDSTRING');
-                }
-                next($yymatches); // skip global match
-                $this->token = key($yymatches); // token number
-                if ($tokenMap[$this->token]) {
-                    // extract sub-patterns for passing to lex function
-                    $yysubmatches = array_slice($yysubmatches, $this->token + 1,
-                        $tokenMap[$this->token]);
-                } else {
-                    $yysubmatches = array();
-                }
-                $this->value = current($yymatches); // token value
-                $r = $this->{'yy_r13_' . $this->token}($yysubmatches);
-                if ($r === null) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    // accept this token
-                    return true;
-                } elseif ($r === true) {
-                    // we have changed state
-                    // process this token in the new state
-                    return $this->yylex();
-                } elseif ($r === false) {
-                    $this->counter += strlen($this->value);
-                    $this->line += substr_count($this->value, "\n");
-                    if ($this->counter >= strlen($this->data)) {
-                        return false; // end of input
-                    }
-                    // skip this token
-                    continue;
-                }            } else {
-                throw new Exception('Unexpected input at line' . $this->line .
-                    ': ' . $this->data[$this->counter]);
-            }
-            break;
-        } while (true);
-
-    } // end function
-
-
-    const DOUBLEQUOTEDSTRING = 13;
-    function yy_r13_1($yy_subpatterns)
-    {
-
-  if ($this->smarty->auto_literal) {
-     $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-  } else {
-     $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-  }
-    }
-    function yy_r13_2($yy_subpatterns)
-    {
-
-  if ($this->smarty->auto_literal) {
-     $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-  } else {
-     $this->token = Smarty_Internal_Templateparser::TP_LDEL;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-  }
-    }
-    function yy_r13_3($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-    }
-    function yy_r13_4($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_LDEL;
-     $this->yypushstate(self::SMARTY);
-     $this->taglineno = $this->line;
-    }
-    function yy_r13_5($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
-  $this->yypopstate();
-    }
-    function yy_r13_6($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
-  $this->value = substr($this->value,0,-1);
-  $this->yypushstate(self::SMARTY);
-  $this->taglineno = $this->line;
-    }
-    function yy_r13_7($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_DOLLARID;
-    }
-    function yy_r13_8($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-    }
-    function yy_r13_9($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-  if (substr($this->value,-strlen($this->smarty->left_delimiter)) == $this->smarty->left_delimiter) {
-     $this->value = substr($this->value,0,-strlen($this->smarty->left_delimiter));
-  } elseif (substr($this->value,-2) == '`$') {
-    $this->value = substr($this->value,0,-2);  
-  } elseif (strpbrk(substr($this->value,-1),'"$') !== false) {
-    $this->value = substr($this->value,0,-1);
-  } 
-  if (strlen($this->value) == 0) {
-     return true;		// rescan
-  }
-    }
-    function yy_r13_12($yy_subpatterns)
-    {
-
-  $this->token = Smarty_Internal_Templateparser::TP_OTHER;
-    }
-
-}
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_templateparser.php b/gosa-core/include/smarty/sysplugins/smarty_internal_templateparser.php
deleted file mode 100644
index 3ad0602..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_templateparser.php
+++ /dev/null
@@ -1,2684 +0,0 @@
-<?php
-/**
-* Smarty Internal Plugin Templateparser
-*
-* This is the template parser.
-* It is generated from the internal.templateparser.y file
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
-
-class TP_yyToken implements ArrayAccess
-{
-    public $string = '';
-    public $metadata = array();
-
-    function __construct($s, $m = array())
-    {
-        if ($s instanceof TP_yyToken) {
-            $this->string = $s->string;
-            $this->metadata = $s->metadata;
-        } else {
-            $this->string = (string) $s;
-            if ($m instanceof TP_yyToken) {
-                $this->metadata = $m->metadata;
-            } elseif (is_array($m)) {
-                $this->metadata = $m;
-            }
-        }
-    }
-
-    function __toString()
-    {
-        return $this->_string;
-    }
-
-    function offsetExists($offset)
-    {
-        return isset($this->metadata[$offset]);
-    }
-
-    function offsetGet($offset)
-    {
-        return $this->metadata[$offset];
-    }
-
-    function offsetSet($offset, $value)
-    {
-        if ($offset === null) {
-            if (isset($value[0])) {
-                $x = ($value instanceof TP_yyToken) ?
-                    $value->metadata : $value;
-                $this->metadata = array_merge($this->metadata, $x);
-                return;
-            }
-            $offset = count($this->metadata);
-        }
-        if ($value === null) {
-            return;
-        }
-        if ($value instanceof TP_yyToken) {
-            if ($value->metadata) {
-                $this->metadata[$offset] = $value->metadata;
-            }
-        } elseif ($value) {
-            $this->metadata[$offset] = $value;
-        }
-    }
-
-    function offsetUnset($offset)
-    {
-        unset($this->metadata[$offset]);
-    }
-}
-
-class TP_yyStackEntry
-{
-    public $stateno;       /* The state-number */
-    public $major;         /* The major token value.  This is the code
-                     ** number for the token at this stack level */
-    public $minor; /* The user-supplied minor token value.  This
-                     ** is the value of the token  */
-};
-
-
-#line 12 "smarty_internal_templateparser.y"
-class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php"
-{
-#line 14 "smarty_internal_templateparser.y"
-
-    // states whether the parse was successful or not
-    public $successful = true;
-    public $retvalue = 0;
-    private $lex;
-    private $internalError = false;
-
-    function __construct($lex, $compiler) {
-        // set instance object
-        self::instance($this); 
-        $this->lex = $lex;
-        $this->compiler = $compiler;
-        $this->smarty = $this->compiler->smarty;
-        $this->template = $this->compiler->template;
-        if ($this->template->security && isset($this->smarty->security_handler)) {
-              $this->sec_obj = $this->smarty->security_policy;
-        } else {
-              $this->sec_obj = $this->smarty;
-        }
-        $this->compiler->has_variable_string = false;
-				$this->compiler->prefix_code = array();
-				$this->prefix_number = 0;
-    }
-    public static function &instance($new_instance = null)
-    {
-        static $instance = null;
-        if (isset($new_instance) && is_object($new_instance))
-            $instance = $new_instance;
-        return $instance;
-    }
-
-    public static function escape_start_tag($tag_text) {
-       $tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, -1 , $count); //Escape tag
-       assert($tag !== false && $count === 1);
-       return $tag;
-    }
-
-    public static function escape_end_tag($tag_text) {
-       assert($tag_text === '?>');
-       return '?<?php ?>>';
-    }
-
-    
-#line 126 "smarty_internal_templateparser.php"
-
-    const TP_COMMENT                        =  1;
-    const TP_PHPSTARTTAG                    =  2;
-    const TP_PHPENDTAG                      =  3;
-    const TP_OTHER                          =  4;
-    const TP_FAKEPHPSTARTTAG                =  5;
-    const TP_PHP_CODE                       =  6;
-    const TP_PHP_CODE_START_DOUBLEQUOTE     =  7;
-    const TP_PHP_CODE_DOUBLEQUOTE           =  8;
-    const TP_PHP_HEREDOC_START              =  9;
-    const TP_PHP_HEREDOC_END                = 10;
-    const TP_PHP_NOWDOC_START               = 11;
-    const TP_PHP_NOWDOC_END                 = 12;
-    const TP_PHP_DQ_CONTENT                 = 13;
-    const TP_PHP_DQ_EMBED_START             = 14;
-    const TP_PHP_DQ_EMBED_END               = 15;
-    const TP_LITERALSTART                   = 16;
-    const TP_LITERALEND                     = 17;
-    const TP_LITERAL                        = 18;
-    const TP_LDEL                           = 19;
-    const TP_RDEL                           = 20;
-    const TP_DOLLAR                         = 21;
-    const TP_ID                             = 22;
-    const TP_EQUAL                          = 23;
-    const TP_FOREACH                        = 24;
-    const TP_PTR                            = 25;
-    const TP_IF                             = 26;
-    const TP_SPACE                          = 27;
-    const TP_UNIMATH                        = 28;
-    const TP_FOR                            = 29;
-    const TP_SEMICOLON                      = 30;
-    const TP_INCDEC                         = 31;
-    const TP_TO                             = 32;
-    const TP_AS                             = 33;
-    const TP_APTR                           = 34;
-    const TP_LDELSLASH                      = 35;
-    const TP_INTEGER                        = 36;
-    const TP_COMMA                          = 37;
-    const TP_COLON                          = 38;
-    const TP_MATH                           = 39;
-    const TP_ANDSYM                         = 40;
-    const TP_OPENP                          = 41;
-    const TP_CLOSEP                         = 42;
-    const TP_QMARK                          = 43;
-    const TP_NOT                            = 44;
-    const TP_TYPECAST                       = 45;
-    const TP_DOT                            = 46;
-    const TP_BOOLEAN                        = 47;
-    const TP_NULL                           = 48;
-    const TP_SINGLEQUOTESTRING              = 49;
-    const TP_QUOTE                          = 50;
-    const TP_DOUBLECOLON                    = 51;
-    const TP_AT                             = 52;
-    const TP_HATCH                          = 53;
-    const TP_OPENB                          = 54;
-    const TP_CLOSEB                         = 55;
-    const TP_VERT                           = 56;
-    const TP_ISIN                           = 57;
-    const TP_ISDIVBY                        = 58;
-    const TP_ISNOTDIVBY                     = 59;
-    const TP_ISEVEN                         = 60;
-    const TP_ISNOTEVEN                      = 61;
-    const TP_ISEVENBY                       = 62;
-    const TP_ISNOTEVENBY                    = 63;
-    const TP_ISODD                          = 64;
-    const TP_ISNOTODD                       = 65;
-    const TP_ISODDBY                        = 66;
-    const TP_ISNOTODDBY                     = 67;
-    const TP_INSTANCEOF                     = 68;
-    const TP_EQUALS                         = 69;
-    const TP_NOTEQUALS                      = 70;
-    const TP_GREATERTHAN                    = 71;
-    const TP_LESSTHAN                       = 72;
-    const TP_GREATEREQUAL                   = 73;
-    const TP_LESSEQUAL                      = 74;
-    const TP_IDENTITY                       = 75;
-    const TP_NONEIDENTITY                   = 76;
-    const TP_MOD                            = 77;
-    const TP_LAND                           = 78;
-    const TP_LOR                            = 79;
-    const TP_LXOR                           = 80;
-    const TP_BACKTICK                       = 81;
-    const TP_DOLLARID                       = 82;
-    const YY_NO_ACTION = 613;
-    const YY_ACCEPT_ACTION = 612;
-    const YY_ERROR_ACTION = 611;
-
-    const YY_SZ_ACTTAB = 1771;
-static public $yy_action = array(
- /*     0 */    19,   25,   98,   62,  192,  106,  376,  210,  202,   48,
- /*    10 */   224,  228,   42,  214,   22,  188,  129,  225,  330,   95,
- /*    20 */   202,   92,   11,   96,  143,   52,   50,   22,  300,  301,
- /*    30 */   312,   61,   97,  282,   65,   14,   19,  143,  100,  194,
- /*    40 */   344,  339,  202,  340,  141,   48,  612,   59,  273,  332,
- /*    50 */   335,  202,  129,  225,   60,  346,  345,   51,   26,  304,
- /*    60 */    28,   52,   50,  226,  300,  301,  312,   61,   47,   49,
- /*    70 */    65,   14,  264,   19,    9,   89,  209,  253,  344,  339,
- /*    80 */   328,  340,   48,  229,  267,   27,  362,  100,  157,  129,
- /*    90 */   225,    2,   60,   30,  345,   26,  317,   33,   52,   50,
- /*   100 */   202,  300,  301,  312,   61,  285,  240,   65,   14,   19,
- /*   110 */    22,   89,  209,   30,  310,  254,  317,   32,   48,   65,
- /*   120 */   143,   51,  269,  326,  266,  129,  225,  217,  258,  476,
- /*   130 */    51,    5,   47,   49,    8,   50,  476,  300,  301,  312,
- /*   140 */    61,   47,   49,   65,   14,   19,  216,   89,  199,   64,
- /*   150 */    22,  274,  324,  277,   48,  236,  275,  239,  475,  214,
- /*   160 */   143,  129,  225,   30,  368,  214,  317,   26,  187,  303,
- /*   170 */    52,   50,  351,  300,  301,  312,   61,    1,  218,   65,
- /*   180 */    14,   19,  303,  100,  203,  150,   30,  369,  202,  317,
- /*   190 */    48,  186,  100,  241,  127,   22,   30,  129,  225,  317,
- /*   200 */   304,  248,  256,   26,  202,  143,   52,   50,  391,  300,
- /*   210 */   301,  312,   61,  289,   39,   65,   14,   19,  191,  100,
- /*   220 */   213,   40,  109,    4,   65,   56,   48,   30,   22,  216,
- /*   230 */   317,   32,  287,  129,  225,  138,  270,  479,  143,   26,
- /*   240 */   386,  186,   52,   50,  479,  300,  301,  312,   61,  202,
- /*   250 */   304,   65,   14,   19,   29,  100,  200,   56,   30,  367,
- /*   260 */    30,  317,   48,  317,   39,  406,  313,    3,   10,  129,
- /*   270 */   207,   30,  370,  214,  317,   26,   23,  303,   52,   50,
- /*   280 */   156,  300,  301,  312,   61,   53,  186,   65,   14,   19,
- /*   290 */   293,   89,  193,  221,  352,  304,  388,  177,   48,  246,
- /*   300 */   320,  214,  319,  109,  350,  129,  225,  144,   56,  242,
- /*   310 */    63,   16,  303,  186,    8,   50,  147,  300,  301,  312,
- /*   320 */    61,  386,  304,   65,   14,   19,  186,  103,  209,  192,
- /*   330 */   202,  304,  281,  153,   48,  327,   83,   42,  293,  190,
- /*   340 */    41,  129,  225,  306,   53,  238,   90,    5,  304,   39,
- /*   350 */     8,   50,  164,  300,  301,  312,   61,  214,  202,   65,
- /*   360 */    14,   19,  186,   89,  209,   78,  271,  304,   43,  152,
- /*   370 */    48,  333,  332,  335,  220,  185,  350,  129,  225,  306,
- /*   380 */   262,  349,   63,   16,  304,   39,    8,   50,  146,  300,
- /*   390 */   301,  312,   61,   35,  348,   65,   14,   19,    9,  100,
- /*   400 */   213,  140,  404,  304,  261,  374,   48,  189,  360,  214,
- /*   410 */   373,  202,  214,  129,  225,  214,  304,  214,    9,   26,
- /*   420 */   202,   45,   52,   50,  245,  300,  301,  312,   61,  260,
- /*   430 */    90,   65,   31,  400,  396,  395,  397,  398,  399,  380,
- /*   440 */   379,  361,    6,    7,  296,  359,   13,   12,  358,  354,
- /*   450 */    18,   17,  342,  169,   68,   44,  202,  101,  290,  214,
- /*   460 */   168,  135,  353,  355,  356,   19,   30,  100,  208,  317,
- /*   470 */   375,  372,  268,  378,   48,   85,  304,  214,  214,  366,
- /*   480 */   214,  129,  225,  279,  278,  223,  214,   26,  306,  391,
- /*   490 */    52,   50,   66,  300,  301,  312,   61,   21,  173,   65,
- /*   500 */   133,    6,    7,  296,  359,   13,   12,  358,  354,   18,
- /*   510 */    17,  365,  389,  214,  391,  384,  186,  305,  214,  214,
- /*   520 */   181,  353,  355,  356,  214,  319,    6,    7,  296,  359,
- /*   530 */    13,   12,  358,  354,   18,   17,  364,  155,  323,   24,
- /*   540 */   322,  178,  202,  377,  357,  214,  353,  355,  356,  130,
- /*   550 */   214,  214,    6,    7,  296,  359,   13,   12,  358,  354,
- /*   560 */    18,   17,   30,  391,  252,  211,  159,  371,  314,  311,
- /*   570 */   142,  283,  353,  355,  356,  214,  214,  154,  214,  136,
- /*   580 */     6,    7,  296,  359,   13,   12,  358,  354,   18,   17,
- /*   590 */   215,   82,  304,   30,  304,  390,  247,  341,  331,   82,
- /*   600 */   353,  355,  356,  255,  214,    6,    7,  296,  359,   13,
- /*   610 */    12,  358,  354,   18,   17,  214,   70,  202,   45,  235,
- /*   620 */    90,  325,   90,  250,   82,  353,  355,  356,  128,  362,
- /*   630 */   400,  396,  395,  397,  398,  399,  380,  379,  361,  251,
- /*   640 */   205,  107,  391,  202,   45,  145,    6,    7,  296,  359,
- /*   650 */    13,   12,  358,  354,   18,   17,  400,  396,  395,  397,
- /*   660 */   398,  399,  380,  379,  361,  131,  353,  355,  356,    6,
- /*   670 */     7,  296,  359,   13,   12,  358,  354,   18,   17,  391,
- /*   680 */   334,   80,  299,  338,  347,   73,  132,  477,  257,  353,
- /*   690 */   355,  356,  175,  165,  477,   60,  475,  319,   19,  387,
- /*   700 */   391,  322,  387,  214,  151,  163,  180,  234,  304,  233,
- /*   710 */   302,  319,  233,  109,  129,  158,  109,   38,   88,  304,
- /*   720 */   304,  237,  315,  202,   45,  309,  321,  336,  309,  394,
- /*   730 */   304,  386,  202,   45,  386,  276,  400,  396,  395,  397,
- /*   740 */   398,  399,  380,  379,  361,  400,  396,  395,  397,  398,
- /*   750 */   399,  380,  379,  361,  403,  387,   34,   81,  337,   79,
- /*   760 */   318,  214,  387,  197,  183,  233,   74,  272,  124,  109,
- /*   770 */   401,  391,  233,  391,  227,   36,  109,  392,   93,  295,
- /*   780 */   201,  309,  294,  240,  405,   53,  294,  386,  309,   28,
- /*   790 */   202,   45,  363,  102,  386,  329,   71,   20,  111,  381,
- /*   800 */   229,   20,  263,  400,  396,  395,  397,  398,  399,  380,
- /*   810 */   379,  361,  387,  129,    1,   99,   23,  129,  265,  343,
- /*   820 */   204,  320,  233,   55,  105,   57,  109,   43,  280,  214,
- /*   830 */   160,  108,  292,   46,  392,  322,  219,  201,  309,  286,
- /*   840 */   387,  230,  306,  382,  386,   91,   15,  336,  249,  363,
- /*   850 */   233,   77,  284,  117,  109,  336,  336,  243,  336,   37,
- /*   860 */   288,  336,  392,   37,  288,  201,  309,  336,  387,  336,
- /*   870 */   336,  336,  386,  336,  336,  336,  249,  363,  233,   54,
- /*   880 */   110,   58,  109,  336,  336,  336,  336,  336,  336,  336,
- /*   890 */   392,  336,  336,  201,  309,  336,  387,  336,  336,  336,
- /*   900 */   386,  336,  336,  336,  249,  363,  233,   77,  336,  125,
- /*   910 */   109,  336,  336,  336,  336,  336,  336,  336,  392,  336,
- /*   920 */   336,  201,  309,  336,  336,  336,  387,  336,  386,  336,
- /*   930 */   336,  336,  336,  363,  249,  336,  233,   77,  336,  113,
- /*   940 */   109,  336,  336,  336,  336,  387,  336,  336,  392,  336,
- /*   950 */   336,  201,  309,  291,  387,  233,  336,  336,  386,  109,
- /*   960 */   336,  336,  259,  363,  233,   77,  336,  126,  109,  336,
- /*   970 */   336,  309,  336,  336,  336,  336,  392,  386,  336,  201,
- /*   980 */   309,  336,  387,  336,  336,  336,  386,  336,  336,  336,
- /*   990 */   249,  363,  233,   77,  336,  122,  109,  336,  336,  336,
- /*  1000 */   336,  336,  336,  336,  392,  336,  336,  201,  309,  336,
- /*  1010 */   387,  336,  336,  336,  386,  336,  336,  336,  249,  363,
- /*  1020 */   233,   77,  336,  115,  109,  336,  336,  336,  336,  336,
- /*  1030 */   336,  336,  392,  336,  336,  201,  309,  336,  336,  336,
- /*  1040 */   387,  336,  386,  336,  336,  336,  336,  363,  249,  336,
- /*  1050 */   233,   76,  336,  116,  109,  336,  336,  336,  336,  387,
- /*  1060 */   336,  336,  392,  336,  336,  201,  309,  297,  387,  233,
- /*  1070 */   336,  336,  386,  109,  336,  336,  249,  363,  233,   77,
- /*  1080 */   336,  120,  109,  336,  336,  309,  336,  336,  336,  336,
- /*  1090 */   392,  386,  336,  201,  309,  336,  387,  336,  336,  336,
- /*  1100 */   386,  336,  336,  336,  249,  363,  233,   77,  336,  123,
- /*  1110 */   109,  336,  336,  336,  336,  336,  336,  336,  392,  336,
- /*  1120 */   336,  201,  309,  336,  387,  336,  336,  336,  386,  336,
- /*  1130 */   336,  336,  244,  363,  233,  179,  336,  336,  109,  336,
- /*  1140 */   336,  336,  336,  336,  336,  336,  392,  336,  336,  201,
- /*  1150 */   309,  336,  336,  336,  336,  336,  386,  336,  336,  336,
- /*  1160 */   387,  336,  336,  336,  206,  393,  336,  336,  249,  336,
- /*  1170 */   233,   77,  336,  118,  109,  336,  336,  336,  336,  387,
- /*  1180 */   336,  336,  392,  336,  336,  201,  309,  316,  387,  233,
- /*  1190 */   336,  336,  386,  109,  336,  336,  249,  363,  233,   77,
- /*  1200 */   336,  121,  109,  336,  336,  309,  336,  336,  336,  336,
- /*  1210 */   392,  386,  336,  201,  309,  336,  387,  336,  336,  336,
- /*  1220 */   386,  336,  336,  336,  249,  363,  233,   76,  336,  114,
- /*  1230 */   109,  336,  336,  336,  336,  336,  336,  336,  392,  336,
- /*  1240 */   336,  201,  309,  336,  387,  336,  336,  336,  386,  336,
- /*  1250 */   336,  336,  249,  363,  233,   77,  336,  119,  109,  336,
- /*  1260 */   336,  336,  336,  336,  336,  336,  392,  336,  336,  201,
- /*  1270 */   309,  336,  336,  336,  387,  336,  386,  336,  336,  336,
- /*  1280 */   336,  363,  249,  336,  233,   75,  336,  112,  109,  336,
- /*  1290 */   336,  336,  336,  336,  336,  336,  392,  336,  336,  201,
- /*  1300 */   309,  336,  387,  336,  336,  336,  386,  336,  336,  336,
- /*  1310 */   244,  363,  233,  179,  336,  387,  109,  336,  336,  336,
- /*  1320 */   336,  336,  336,  307,  392,  233,  161,  201,  309,  109,
- /*  1330 */   336,  336,  336,  336,  386,  336,  336,  392,  336,  336,
- /*  1340 */   201,  309,  387,  385,  222,  336,  336,  386,  336,  336,
- /*  1350 */   307,  336,  233,  161,  336,  336,  109,  336,  336,  336,
- /*  1360 */   336,  336,  387,  336,  392,  336,  336,  201,  309,  336,
- /*  1370 */   307,  231,  233,  161,  386,  387,  109,  336,  336,  336,
- /*  1380 */   336,  336,  336,  307,  392,  233,  161,  201,  309,  109,
- /*  1390 */   336,  383,  336,  336,  386,  336,  336,  392,  387,  336,
- /*  1400 */   201,  309,  336,  387,  232,  336,   87,  386,   86,   67,
- /*  1410 */   104,   87,   94,   84,   72,  104,  336,   94,  336,  336,
- /*  1420 */   392,  336,  336,  201,  309,  392,  336,  336,  201,  309,
- /*  1430 */   386,  387,  336,  336,  336,  386,  336,  336,  336,  307,
- /*  1440 */   387,  212,  137,  336,  336,  109,  336,  336,  307,  336,
- /*  1450 */   233,  184,  336,  392,  109,  336,  201,  309,  336,  387,
- /*  1460 */   336,  336,  392,  386,  336,  201,  309,  307,  336,  233,
- /*  1470 */   176,  336,  386,  109,  336,  336,  336,  336,  336,  387,
- /*  1480 */   336,  392,  336,  336,  201,  309,  336,  307,  387,  233,
- /*  1490 */   134,  386,  336,  109,  336,  336,  307,  336,  233,  172,
- /*  1500 */   336,  392,  109,  336,  201,  309,  336,  336,  387,  336,
- /*  1510 */   392,  386,  336,  201,  309,  336,  307,  387,  233,  170,
- /*  1520 */   386,  336,  109,  336,  336,  307,  336,  233,  149,  336,
- /*  1530 */   392,  109,  336,  201,  309,  336,  387,  336,  336,  392,
- /*  1540 */   386,  336,  201,  309,  307,  387,  233,  174,  336,  386,
- /*  1550 */   109,  336,  336,  307,  336,  233,  166,  336,  392,  109,
- /*  1560 */   336,  201,  309,  336,  336,  336,  336,  392,  386,  336,
- /*  1570 */   201,  309,  387,  336,  336,  336,  336,  386,  336,  336,
- /*  1580 */   307,  387,  233,  167,  336,  336,  109,  336,  336,  307,
- /*  1590 */   336,  233,  171,  336,  392,  109,  336,  201,  309,  336,
- /*  1600 */   336,  387,  336,  392,  386,  336,  201,  309,  336,  307,
- /*  1610 */   387,  233,  162,  386,  336,  109,  336,  336,  307,  336,
- /*  1620 */   233,  148,  336,  392,  109,  336,  201,  309,  336,  336,
- /*  1630 */   387,  336,  392,  386,  336,  201,  309,  336,  307,  336,
- /*  1640 */   233,   69,  386,  387,  109,  336,  336,  336,  336,  336,
- /*  1650 */   387,  307,  392,  233,  182,  201,  309,  109,  298,  336,
- /*  1660 */   233,  336,  386,  336,  109,  392,  336,  336,  201,  309,
- /*  1670 */   387,  336,  336,  336,  336,  386,  309,  336,  307,  387,
- /*  1680 */   233,  139,  386,  336,  109,  336,  336,  307,  336,  233,
- /*  1690 */   336,  336,  392,  109,  336,  201,  309,  336,  387,  387,
- /*  1700 */   336,  392,  386,  336,  198,  309,  307,  308,  233,  233,
- /*  1710 */   336,  386,  109,  109,  336,  336,  336,  336,  387,  336,
- /*  1720 */   392,  336,  336,  196,  309,  309,  307,  336,  233,  336,
- /*  1730 */   386,  386,  109,  336,  336,  336,  336,  336,  387,  336,
- /*  1740 */   392,  336,  336,  195,  309,  336,  402,  336,  233,  336,
- /*  1750 */   386,  336,  109,  336,  336,  336,  336,  336,  336,  336,
- /*  1760 */   336,  336,  336,  336,  309,  336,  336,  336,  336,  336,
- /*  1770 */   386,
-    );
-    static public $yy_lookahead = array(
- /*     0 */    19,   37,   21,   22,   46,   24,   20,   26,   56,   28,
- /*    10 */    29,   25,   54,   27,   41,   20,   35,   36,    6,    7,
- /*    20 */    56,    9,   41,   11,   51,   44,   45,   41,   47,   48,
- /*    30 */    49,   50,   21,   81,   53,   54,   19,   51,   21,   22,
- /*    40 */     2,    3,   56,    5,   96,   28,   84,   85,   86,   87,
- /*    50 */    88,   56,   35,   36,   16,   17,   18,   28,   41,  111,
- /*    60 */    23,   44,   45,   22,   47,   48,   49,   50,   39,   40,
- /*    70 */    53,   54,   55,   19,  126,   21,   22,   36,    2,    3,
- /*    80 */    10,    5,   28,   46,   55,   19,   42,   21,   22,   35,
- /*    90 */    36,   23,   16,   19,   18,   41,   22,   23,   44,   45,
- /*   100 */    56,   47,   48,   49,   50,   31,   38,   53,   54,   19,
- /*   110 */    41,   21,   22,   19,  122,   46,   22,   23,   28,   53,
- /*   120 */    51,   28,   20,    8,   55,   35,   36,   21,   22,   20,
- /*   130 */    28,   41,   39,   40,   44,   45,   27,   47,   48,   49,
- /*   140 */    50,   39,   40,   53,   54,   19,   52,   21,   22,   22,
- /*   150 */    41,   24,   20,   26,   28,   33,   29,   25,   20,   27,
- /*   160 */    51,   35,   36,   19,   20,   27,   22,   41,   20,   31,
- /*   170 */    44,   45,   22,   47,   48,   49,   50,   23,   34,   53,
- /*   180 */    54,   19,   31,   21,   22,   96,   19,   20,   56,   22,
- /*   190 */    28,  102,   21,   22,  107,   41,   19,   35,   36,   22,
- /*   200 */   111,   34,   52,   41,   56,   51,   44,   45,  121,   47,
- /*   210 */    48,   49,   50,   20,  125,   53,   54,   19,   97,   21,
- /*   220 */    22,   34,  101,   23,   53,   25,   28,   19,   41,   52,
- /*   230 */    22,   23,   81,   35,   36,   96,  115,   20,   51,   41,
- /*   240 */   119,  102,   44,   45,   27,   47,   48,   49,   50,   56,
- /*   250 */   111,   53,   54,   19,   19,   21,   22,   25,   19,   20,
- /*   260 */    19,   22,   28,   22,  125,   20,   20,   27,   28,   35,
- /*   270 */    36,   19,   20,   27,   22,   41,   41,   31,   44,   45,
- /*   280 */    96,   47,   48,   49,   50,   68,  102,   53,   54,   19,
- /*   290 */    87,   21,   22,   52,   20,  111,   20,  117,   28,   97,
- /*   300 */   120,   27,  122,  101,   88,   35,   36,   96,   25,   93,
- /*   310 */    94,   41,   31,  102,   44,   45,   96,   47,   48,   49,
- /*   320 */    50,  119,  111,   53,   54,   19,  102,   21,   22,   46,
- /*   330 */    56,  111,  129,   96,   28,   13,   14,   54,   87,  102,
- /*   340 */    38,   35,   36,  123,   68,   91,   92,   41,  111,  125,
- /*   350 */    44,   45,   96,   47,   48,   49,   50,   27,   56,   53,
- /*   360 */    54,   19,  102,   21,   22,  114,   20,  111,   38,   96,
- /*   370 */    28,   86,   87,   88,   33,  102,   88,   35,   36,  123,
- /*   380 */   129,   93,   94,   41,  111,  125,   44,   45,   96,   47,
- /*   390 */    48,   49,   50,   38,   17,   53,   54,   19,  126,   21,
- /*   400 */    22,   96,   20,  111,   20,   20,   28,  102,   20,   27,
- /*   410 */    20,   56,   27,   35,   36,   27,  111,   27,  126,   41,
- /*   420 */    56,   57,   44,   45,   22,   47,   48,   49,   50,   91,
- /*   430 */    92,   53,   34,   69,   70,   71,   72,   73,   74,   75,
- /*   440 */    76,   77,   58,   59,   60,   61,   62,   63,   64,   65,
- /*   450 */    66,   67,   20,   30,  103,   19,   56,   21,   22,   27,
- /*   460 */    37,   96,   78,   79,   80,   19,   19,   21,   22,   22,
- /*   470 */    20,   20,   36,   20,   28,  107,  111,   27,   27,   20,
- /*   480 */    27,   35,   36,   47,   48,   42,   27,   41,  123,  121,
- /*   490 */    44,   45,  118,   47,   48,   49,   50,   37,   30,   53,
- /*   500 */   107,   58,   59,   60,   61,   62,   63,   64,   65,   66,
- /*   510 */    67,   20,   20,   27,  121,   55,  102,   20,   27,   27,
- /*   520 */   117,   78,   79,   80,   27,  122,   58,   59,   60,   61,
- /*   530 */    62,   63,   64,   65,   66,   67,   42,  118,   20,   41,
- /*   540 */   121,  103,   56,   20,   20,   27,   78,   79,   80,  107,
- /*   550 */    27,   27,   58,   59,   60,   61,   62,   63,   64,   65,
- /*   560 */    66,   67,   19,  121,   42,   22,  118,   20,   20,   20,
- /*   570 */   118,   20,   78,   79,   80,   27,   27,   96,   27,   96,
- /*   580 */    58,   59,   60,   61,   62,   63,   64,   65,   66,   67,
- /*   590 */    89,   90,  111,   19,  111,   22,   22,   20,   89,   90,
- /*   600 */    78,   79,   80,   42,   27,   58,   59,   60,   61,   62,
- /*   610 */    63,   64,   65,   66,   67,   27,  103,   56,   57,   91,
- /*   620 */    92,   91,   92,   89,   90,   78,   79,   80,  107,   42,
- /*   630 */    69,   70,   71,   72,   73,   74,   75,   76,   77,  104,
- /*   640 */   105,   42,  121,   56,   57,  118,   58,   59,   60,   61,
- /*   650 */    62,   63,   64,   65,   66,   67,   69,   70,   71,   72,
- /*   660 */    73,   74,   75,   76,   77,  107,   78,   79,   80,   58,
- /*   670 */    59,   60,   61,   62,   63,   64,   65,   66,   67,  121,
- /*   680 */     1,    2,   36,    4,    5,  103,  107,   20,  108,   78,
- /*   690 */    79,   80,  117,   96,   27,   16,   20,  122,   19,   87,
- /*   700 */   121,  121,   87,   27,   96,   96,  117,   95,  111,   97,
- /*   710 */    95,  122,   97,  101,   35,   96,  101,   32,   21,  111,
- /*   720 */   111,  109,   22,   56,   57,  113,   22,    3,  113,   42,
- /*   730 */   111,  119,   56,   57,  119,   20,   69,   70,   71,   72,
- /*   740 */    73,   74,   75,   76,   77,   69,   70,   71,   72,   73,
- /*   750 */    74,   75,   76,   77,   20,   87,   43,  107,   15,  107,
- /*   760 */    22,   27,   87,   95,   22,   97,   98,   99,  100,  101,
- /*   770 */    95,  121,   97,  121,   22,   43,  101,  109,   21,   20,
- /*   780 */   112,  113,    4,   38,  109,   68,    4,  119,  113,   23,
- /*   790 */    56,   57,  124,   21,  119,   12,   22,   19,   27,   53,
- /*   800 */    46,   19,   55,   69,   70,   71,   72,   73,   74,   75,
- /*   810 */    76,   77,   87,   35,   23,   21,   41,   35,   42,  111,
- /*   820 */    95,  120,   97,   98,   99,  100,  101,   38,   50,   27,
- /*   830 */   118,  115,   50,   27,  109,  121,  110,  112,  113,   27,
- /*   840 */    87,  106,  123,   53,  119,   21,  106,  130,   95,  124,
- /*   850 */    97,   98,  104,  100,  101,  130,  130,  104,  130,   81,
- /*   860 */    82,  130,  109,   81,   82,  112,  113,  130,   87,  130,
- /*   870 */   130,  130,  119,  130,  130,  130,   95,  124,   97,   98,
- /*   880 */    99,  100,  101,  130,  130,  130,  130,  130,  130,  130,
- /*   890 */   109,  130,  130,  112,  113,  130,   87,  130,  130,  130,
- /*   900 */   119,  130,  130,  130,   95,  124,   97,   98,  130,  100,
- /*   910 */   101,  130,  130,  130,  130,  130,  130,  130,  109,  130,
- /*   920 */   130,  112,  113,  130,  130,  130,   87,  130,  119,  130,
- /*   930 */   130,  130,  130,  124,   95,  130,   97,   98,  130,  100,
- /*   940 */   101,  130,  130,  130,  130,   87,  130,  130,  109,  130,
- /*   950 */   130,  112,  113,   95,   87,   97,  130,  130,  119,  101,
- /*   960 */   130,  130,   95,  124,   97,   98,  130,  100,  101,  130,
- /*   970 */   130,  113,  130,  130,  130,  130,  109,  119,  130,  112,
- /*   980 */   113,  130,   87,  130,  130,  130,  119,  130,  130,  130,
- /*   990 */    95,  124,   97,   98,  130,  100,  101,  130,  130,  130,
- /*  1000 */   130,  130,  130,  130,  109,  130,  130,  112,  113,  130,
- /*  1010 */    87,  130,  130,  130,  119,  130,  130,  130,   95,  124,
- /*  1020 */    97,   98,  130,  100,  101,  130,  130,  130,  130,  130,
- /*  1030 */   130,  130,  109,  130,  130,  112,  113,  130,  130,  130,
- /*  1040 */    87,  130,  119,  130,  130,  130,  130,  124,   95,  130,
- /*  1050 */    97,   98,  130,  100,  101,  130,  130,  130,  130,   87,
- /*  1060 */   130,  130,  109,  130,  130,  112,  113,   95,   87,   97,
- /*  1070 */   130,  130,  119,  101,  130,  130,   95,  124,   97,   98,
- /*  1080 */   130,  100,  101,  130,  130,  113,  130,  130,  130,  130,
- /*  1090 */   109,  119,  130,  112,  113,  130,   87,  130,  130,  130,
- /*  1100 */   119,  130,  130,  130,   95,  124,   97,   98,  130,  100,
- /*  1110 */   101,  130,  130,  130,  130,  130,  130,  130,  109,  130,
- /*  1120 */   130,  112,  113,  130,   87,  130,  130,  130,  119,  130,
- /*  1130 */   130,  130,   95,  124,   97,   98,  130,  130,  101,  130,
- /*  1140 */   130,  130,  130,  130,  130,  130,  109,  130,  130,  112,
- /*  1150 */   113,  130,  130,  130,  130,  130,  119,  130,  130,  130,
- /*  1160 */    87,  130,  130,  130,  127,  128,  130,  130,   95,  130,
- /*  1170 */    97,   98,  130,  100,  101,  130,  130,  130,  130,   87,
- /*  1180 */   130,  130,  109,  130,  130,  112,  113,   95,   87,   97,
- /*  1190 */   130,  130,  119,  101,  130,  130,   95,  124,   97,   98,
- /*  1200 */   130,  100,  101,  130,  130,  113,  130,  130,  130,  130,
- /*  1210 */   109,  119,  130,  112,  113,  130,   87,  130,  130,  130,
- /*  1220 */   119,  130,  130,  130,   95,  124,   97,   98,  130,  100,
- /*  1230 */   101,  130,  130,  130,  130,  130,  130,  130,  109,  130,
- /*  1240 */   130,  112,  113,  130,   87,  130,  130,  130,  119,  130,
- /*  1250 */   130,  130,   95,  124,   97,   98,  130,  100,  101,  130,
- /*  1260 */   130,  130,  130,  130,  130,  130,  109,  130,  130,  112,
- /*  1270 */   113,  130,  130,  130,   87,  130,  119,  130,  130,  130,
- /*  1280 */   130,  124,   95,  130,   97,   98,  130,  100,  101,  130,
- /*  1290 */   130,  130,  130,  130,  130,  130,  109,  130,  130,  112,
- /*  1300 */   113,  130,   87,  130,  130,  130,  119,  130,  130,  130,
- /*  1310 */    95,  124,   97,   98,  130,   87,  101,  130,  130,  130,
- /*  1320 */   130,  130,  130,   95,  109,   97,   98,  112,  113,  101,
- /*  1330 */   130,  130,  130,  130,  119,  130,  130,  109,  130,  130,
- /*  1340 */   112,  113,   87,  128,  116,  130,  130,  119,  130,  130,
- /*  1350 */    95,  130,   97,   98,  130,  130,  101,  130,  130,  130,
- /*  1360 */   130,  130,   87,  130,  109,  130,  130,  112,  113,  130,
- /*  1370 */    95,  116,   97,   98,  119,   87,  101,  130,  130,  130,
- /*  1380 */   130,  130,  130,   95,  109,   97,   98,  112,  113,  101,
- /*  1390 */   130,  116,  130,  130,  119,  130,  130,  109,   87,  130,
- /*  1400 */   112,  113,  130,   87,  116,  130,   95,  119,   97,   98,
- /*  1410 */    99,   95,  101,   97,   98,   99,  130,  101,  130,  130,
- /*  1420 */   109,  130,  130,  112,  113,  109,  130,  130,  112,  113,
- /*  1430 */   119,   87,  130,  130,  130,  119,  130,  130,  130,   95,
- /*  1440 */    87,   97,   98,  130,  130,  101,  130,  130,   95,  130,
- /*  1450 */    97,   98,  130,  109,  101,  130,  112,  113,  130,   87,
- /*  1460 */   130,  130,  109,  119,  130,  112,  113,   95,  130,   97,
- /*  1470 */    98,  130,  119,  101,  130,  130,  130,  130,  130,   87,
- /*  1480 */   130,  109,  130,  130,  112,  113,  130,   95,   87,   97,
- /*  1490 */    98,  119,  130,  101,  130,  130,   95,  130,   97,   98,
- /*  1500 */   130,  109,  101,  130,  112,  113,  130,  130,   87,  130,
- /*  1510 */   109,  119,  130,  112,  113,  130,   95,   87,   97,   98,
- /*  1520 */   119,  130,  101,  130,  130,   95,  130,   97,   98,  130,
- /*  1530 */   109,  101,  130,  112,  113,  130,   87,  130,  130,  109,
- /*  1540 */   119,  130,  112,  113,   95,   87,   97,   98,  130,  119,
- /*  1550 */   101,  130,  130,   95,  130,   97,   98,  130,  109,  101,
- /*  1560 */   130,  112,  113,  130,  130,  130,  130,  109,  119,  130,
- /*  1570 */   112,  113,   87,  130,  130,  130,  130,  119,  130,  130,
- /*  1580 */    95,   87,   97,   98,  130,  130,  101,  130,  130,   95,
- /*  1590 */   130,   97,   98,  130,  109,  101,  130,  112,  113,  130,
- /*  1600 */   130,   87,  130,  109,  119,  130,  112,  113,  130,   95,
- /*  1610 */    87,   97,   98,  119,  130,  101,  130,  130,   95,  130,
- /*  1620 */    97,   98,  130,  109,  101,  130,  112,  113,  130,  130,
- /*  1630 */    87,  130,  109,  119,  130,  112,  113,  130,   95,  130,
- /*  1640 */    97,   98,  119,   87,  101,  130,  130,  130,  130,  130,
- /*  1650 */    87,   95,  109,   97,   98,  112,  113,  101,   95,  130,
- /*  1660 */    97,  130,  119,  130,  101,  109,  130,  130,  112,  113,
- /*  1670 */    87,  130,  130,  130,  130,  119,  113,  130,   95,   87,
- /*  1680 */    97,   98,  119,  130,  101,  130,  130,   95,  130,   97,
- /*  1690 */   130,  130,  109,  101,  130,  112,  113,  130,   87,   87,
- /*  1700 */   130,  109,  119,  130,  112,  113,   95,   95,   97,   97,
- /*  1710 */   130,  119,  101,  101,  130,  130,  130,  130,   87,  130,
- /*  1720 */   109,  130,  130,  112,  113,  113,   95,  130,   97,  130,
- /*  1730 */   119,  119,  101,  130,  130,  130,  130,  130,   87,  130,
- /*  1740 */   109,  130,  130,  112,  113,  130,   95,  130,   97,  130,
- /*  1750 */   119,  130,  101,  130,  130,  130,  130,  130,  130,  130,
- /*  1760 */   130,  130,  130,  130,  113,  130,  130,  130,  130,  130,
- /*  1770 */   119,
-);
-    const YY_SHIFT_USE_DFLT = -49;
-    const YY_SHIFT_MAX = 260;
-    static public $yy_shift_ofst = array(
- /*     0 */   679,  270,  342,  306,  342,   90,   90,   90,   90,   90,
- /*    10 */    90,   90,   90,   90,  126,   90,   90,   90,   90,  -19,
- /*    20 */   -19,  126,   54,   54,   54,   54,   54,   54,   54,   54,
- /*    30 */    54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
- /*    40 */    54,   54,   17,  162,  198,  198,  234,  378,  378,  378,
- /*    50 */   378,  378,  378,  446,  676,  734,   66,  588,  588,  679,
- /*    60 */    38,  782,  -14,   76,  132,  171,  283,  274,  330,  486,
- /*    70 */   330,  486,  486,  330,  667,  587,  561,  364,  778,   74,
- /*    80 */    12,   94,   12,   12,  138,  177,  246,  577,  447,  574,
- /*    90 */   322,  447,  322,  447,  200,  322,  322,  447,  543,  447,
- /*   100 */   447,  447,  447,  574,  802,  802,  806,  232,  232,  232,
- /*   110 */   802,  824,  494,  384,  522,  468,  443,  547,  611,  611,
- /*   120 */   611,  611,  611,  611,  611,  611,  611,  167,  144,  127,
- /*   130 */   239,  208,  241,  252,  302,  390,  432,  -48,  382,   -5,
- /*   140 */   385,  388,  -42,  106,  551,  -42,  450,  497,  193,   44,
- /*   150 */   491,  492,  518,  523,  549,  -42,  548,  235,  524,  -42,
- /*   160 */   -42,  -36,  355,  459,  453,  451,  148,  400,  824,  812,
- /*   170 */   400,  400,  400,  812,  400,  232,  400,  232,  789,  400,
- /*   180 */   232,  232,  400,  498,  400,  -49,  -49,  -49,  -49,  -49,
- /*   190 */   -49,  -49,  436,  109,   69,   29,  102,  217,   93,  187,
- /*   200 */   154,   93,  150,  -27,  276,  423,  460,   37,  -27,  -27,
- /*   210 */   240,   68,  151,  -27,   41,  743,  738,  742,  757,  715,
- /*   220 */   697,  704,  687,  732,  771,  754,  791,  747,  774,  646,
- /*   230 */   772,  776,  599,  281,  341,   70,   11,  122,  115,  402,
- /*   240 */   573,  790,  377,  245,  398,  346,  746,  745,  794,  717,
- /*   250 */   724,  685,  732,  766,  752,  713,  700,  759,  775,  717,
- /*   260 */   783,
-);
-    const YY_REDUCE_USE_DFLT = -53;
-    const YY_REDUCE_MAX = 191;
-    static public $yy_reduce_ofst = array(
- /*     0 */   -38,  668,  725,  753,  781, 1187,  895, 1157,  867,  809,
- /*    10 */   839,  953,  981, 1101, 1037,  923, 1129, 1009, 1073, 1316,
- /*    20 */  1311, 1215, 1228, 1255, 1288, 1275, 1430, 1458, 1556, 1583,
- /*    30 */  1523, 1449, 1485, 1494, 1514, 1421, 1392, 1344, 1543, 1353,
- /*    40 */  1372, 1401, 1631, 1592, 1611,  675,  612, 1612,  615,  858,
- /*    50 */   972, 1092, 1563, 1651,   89,  139,  121,  -52,  292,  285,
- /*    60 */   216,  251,  305,  288,  273,  202,  180,  184,  220,  211,
- /*    70 */   256,  237,  184,  365,  260,  224,  260,  224,  203,  580,
- /*    80 */   534,  419,  509,  501,  481,  419,  481,  483,  521,  368,
- /*    90 */   530,  558,  528,  442,  403,  254,  338,   87,  368,  393,
- /*   100 */   368,  579,  652,  650,  608,  619,  597,  575,  589,  403,
- /*   110 */   609,  535,  272,  272,  272,  272,  272,  272,  272,  272,
- /*   120 */   272,  272,  272,  272,  272,  272,  272,  714,  714,  726,
- /*   130 */   714,  714,  714,  714,  414,  708,  708,  414,  708,  414,
- /*   140 */   708,  708,  701,  716,  708,  701,  708,  708,  414,  414,
- /*   150 */   708,  708,  708,  708,  708,  701,  708,  712,  708,  701,
- /*   160 */   701,  414,  414,  708,  708,  708,  414,  414,  748,  740,
- /*   170 */   414,  414,  414,  735,  414,   -8,  414,   -8,  719,  414,
- /*   180 */    -8,   -8,  414,  374,  414,  351,  438,  448,  527,  582,
- /*   190 */   513,  452,
-);
-    static public $yyExpectedTokens = array(
-        /* 0 */ array(1, 2, 4, 5, 16, 19, 35, ),
-        /* 1 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 2 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 3 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 4 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 5 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 6 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 7 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 8 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 9 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 10 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 11 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 12 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 13 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 14 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 15 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 16 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 17 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 18 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 19 */ array(19, 21, 22, 24, 26, 28, 29, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 20 */ array(19, 21, 22, 24, 26, 28, 29, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 21 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 22 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 23 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 24 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 25 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 26 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 27 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 28 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 29 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 30 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 31 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 32 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 33 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 34 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 35 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 36 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 37 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 38 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 39 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 40 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 41 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 42 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, 55, ),
-        /* 43 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 44 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 45 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 46 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, 54, ),
-        /* 47 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, ),
-        /* 48 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, ),
-        /* 49 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, ),
-        /* 50 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, ),
-        /* 51 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, ),
-        /* 52 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, ),
-        /* 53 */ array(19, 21, 22, 28, 35, 36, 41, 44, 45, 47, 48, 49, 50, 53, ),
-        /* 54 */ array(20, 27, 56, 57, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
-        /* 55 */ array(20, 27, 56, 57, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
-        /* 56 */ array(19, 21, 22, 53, ),
-        /* 57 */ array(27, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 58 */ array(27, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 59 */ array(1, 2, 4, 5, 16, 19, 35, ),
-        /* 60 */ array(2, 3, 5, 16, 17, 18, ),
-        /* 61 */ array(4, 19, 35, 50, 81, 82, ),
-        /* 62 */ array(20, 25, 27, 41, 51, 56, ),
-        /* 63 */ array(2, 3, 5, 16, 18, ),
-        /* 64 */ array(20, 25, 27, 56, ),
-        /* 65 */ array(21, 22, 53, ),
-        /* 66 */ array(25, 46, 54, ),
-        /* 67 */ array(20, 27, 56, ),
-        /* 68 */ array(27, 38, ),
-        /* 69 */ array(27, 56, ),
-        /* 70 */ array(27, 38, ),
-        /* 71 */ array(27, 56, ),
-        /* 72 */ array(27, 56, ),
-        /* 73 */ array(27, 38, ),
-        /* 74 */ array(20, 27, 56, 57, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
-        /* 75 */ array(42, 56, 57, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
-        /* 76 */ array(42, 56, 57, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
-        /* 77 */ array(56, 57, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
-        /* 78 */ array(4, 19, 35, 50, 81, 82, ),
-        /* 79 */ array(19, 22, 23, 31, ),
-        /* 80 */ array(6, 7, 9, 11, ),
-        /* 81 */ array(19, 22, 23, 52, ),
-        /* 82 */ array(6, 7, 9, 11, ),
-        /* 83 */ array(6, 7, 9, 11, ),
-        /* 84 */ array(20, 27, 31, ),
-        /* 85 */ array(19, 22, 52, ),
-        /* 86 */ array(20, 27, 31, ),
-        /* 87 */ array(20, 27, ),
-        /* 88 */ array(19, 22, ),
-        /* 89 */ array(19, 22, ),
-        /* 90 */ array(13, 14, ),
-        /* 91 */ array(19, 22, ),
-        /* 92 */ array(13, 14, ),
-        /* 93 */ array(19, 22, ),
-        /* 94 */ array(23, 25, ),
-        /* 95 */ array(13, 14, ),
-        /* 96 */ array(13, 14, ),
-        /* 97 */ array(19, 22, ),
-        /* 98 */ array(19, 22, ),
-        /* 99 */ array(19, 22, ),
-        /* 100 */ array(19, 22, ),
-        /* 101 */ array(19, 22, ),
-        /* 102 */ array(19, 22, ),
-        /* 103 */ array(19, 22, ),
-        /* 104 */ array(27, ),
-        /* 105 */ array(27, ),
-        /* 106 */ array(27, ),
-        /* 107 */ array(25, ),
-        /* 108 */ array(25, ),
-        /* 109 */ array(25, ),
-        /* 110 */ array(27, ),
-        /* 111 */ array(21, ),
-        /* 112 */ array(42, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 113 */ array(20, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 114 */ array(42, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 115 */ array(30, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 116 */ array(42, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 117 */ array(20, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 118 */ array(58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 119 */ array(58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 120 */ array(58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 121 */ array(58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 122 */ array(58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 123 */ array(58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 124 */ array(58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 125 */ array(58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 126 */ array(58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 80, ),
-        /* 127 */ array(19, 20, 22, 34, ),
-        /* 128 */ array(19, 20, 22, 34, ),
-        /* 129 */ array(22, 24, 26, 29, ),
-        /* 130 */ array(19, 20, 22, ),
-        /* 131 */ array(19, 22, 23, ),
-        /* 132 */ array(19, 22, 52, ),
-        /* 133 */ array(19, 20, 22, ),
-        /* 134 */ array(38, 56, ),
-        /* 135 */ array(20, 27, ),
-        /* 136 */ array(20, 27, ),
-        /* 137 */ array(56, 81, ),
-        /* 138 */ array(20, 27, ),
-        /* 139 */ array(20, 56, ),
-        /* 140 */ array(20, 27, ),
-        /* 141 */ array(20, 27, ),
-        /* 142 */ array(46, 54, ),
-        /* 143 */ array(21, 22, ),
-        /* 144 */ array(20, 27, ),
-        /* 145 */ array(46, 54, ),
-        /* 146 */ array(20, 27, ),
-        /* 147 */ array(20, 27, ),
-        /* 148 */ array(20, 56, ),
-        /* 149 */ array(42, 56, ),
-        /* 150 */ array(20, 27, ),
-        /* 151 */ array(20, 27, ),
-        /* 152 */ array(20, 27, ),
-        /* 153 */ array(20, 27, ),
-        /* 154 */ array(20, 27, ),
-        /* 155 */ array(46, 54, ),
-        /* 156 */ array(20, 27, ),
-        /* 157 */ array(19, 41, ),
-        /* 158 */ array(20, 27, ),
-        /* 159 */ array(46, 54, ),
-        /* 160 */ array(46, 54, ),
-        /* 161 */ array(37, 56, ),
-        /* 162 */ array(38, 56, ),
-        /* 163 */ array(20, 27, ),
-        /* 164 */ array(20, 27, ),
-        /* 165 */ array(20, 27, ),
-        /* 166 */ array(20, 56, ),
-        /* 167 */ array(56, ),
-        /* 168 */ array(21, ),
-        /* 169 */ array(27, ),
-        /* 170 */ array(56, ),
-        /* 171 */ array(56, ),
-        /* 172 */ array(56, ),
-        /* 173 */ array(27, ),
-        /* 174 */ array(56, ),
-        /* 175 */ array(25, ),
-        /* 176 */ array(56, ),
-        /* 177 */ array(25, ),
-        /* 178 */ array(38, ),
-        /* 179 */ array(56, ),
-        /* 180 */ array(25, ),
-        /* 181 */ array(25, ),
-        /* 182 */ array(56, ),
-        /* 183 */ array(41, ),
-        /* 184 */ array(56, ),
-        /* 185 */ array(),
-        /* 186 */ array(),
-        /* 187 */ array(),
-        /* 188 */ array(),
-        /* 189 */ array(),
-        /* 190 */ array(),
-        /* 191 */ array(),
-        /* 192 */ array(19, 21, 22, 36, 47, 48, ),
-        /* 193 */ array(20, 27, 41, 51, ),
-        /* 194 */ array(41, 46, 51, 55, ),
-        /* 195 */ array(28, 39, 40, 55, ),
-        /* 196 */ array(20, 28, 39, 40, ),
-        /* 197 */ array(20, 27, 68, ),
-        /* 198 */ array(28, 39, 40, ),
-        /* 199 */ array(34, 41, 51, ),
-        /* 200 */ array(23, 41, 51, ),
-        /* 201 */ array(28, 39, 40, ),
-        /* 202 */ array(22, 52, ),
-        /* 203 */ array(41, 51, ),
-        /* 204 */ array(20, 68, ),
-        /* 205 */ array(30, 37, ),
-        /* 206 */ array(37, 55, ),
-        /* 207 */ array(23, 46, ),
-        /* 208 */ array(41, 51, ),
-        /* 209 */ array(41, 51, ),
-        /* 210 */ array(27, 28, ),
-        /* 211 */ array(23, 38, ),
-        /* 212 */ array(31, 81, ),
-        /* 213 */ array(41, 51, ),
-        /* 214 */ array(22, 36, ),
-        /* 215 */ array(15, ),
-        /* 216 */ array(22, ),
-        /* 217 */ array(22, ),
-        /* 218 */ array(21, ),
-        /* 219 */ array(20, ),
-        /* 220 */ array(21, ),
-        /* 221 */ array(22, ),
-        /* 222 */ array(42, ),
-        /* 223 */ array(43, ),
-        /* 224 */ array(27, ),
-        /* 225 */ array(46, ),
-        /* 226 */ array(23, ),
-        /* 227 */ array(55, ),
-        /* 228 */ array(22, ),
-        /* 229 */ array(36, ),
-        /* 230 */ array(21, ),
-        /* 231 */ array(42, ),
-        /* 232 */ array(42, ),
-        /* 233 */ array(31, ),
-        /* 234 */ array(33, ),
-        /* 235 */ array(10, ),
-        /* 236 */ array(21, ),
-        /* 237 */ array(33, ),
-        /* 238 */ array(8, ),
-        /* 239 */ array(22, ),
-        /* 240 */ array(22, ),
-        /* 241 */ array(53, ),
-        /* 242 */ array(17, ),
-        /* 243 */ array(20, ),
-        /* 244 */ array(34, ),
-        /* 245 */ array(20, ),
-        /* 246 */ array(53, ),
-        /* 247 */ array(38, ),
-        /* 248 */ array(21, ),
-        /* 249 */ array(68, ),
-        /* 250 */ array(3, ),
-        /* 251 */ array(32, ),
-        /* 252 */ array(43, ),
-        /* 253 */ array(23, ),
-        /* 254 */ array(22, ),
-        /* 255 */ array(43, ),
-        /* 256 */ array(22, ),
-        /* 257 */ array(20, ),
-        /* 258 */ array(41, ),
-        /* 259 */ array(68, ),
-        /* 260 */ array(12, ),
-        /* 261 */ array(),
-        /* 262 */ array(),
-        /* 263 */ array(),
-        /* 264 */ array(),
-        /* 265 */ array(),
-        /* 266 */ array(),
-        /* 267 */ array(),
-        /* 268 */ array(),
-        /* 269 */ array(),
-        /* 270 */ array(),
-        /* 271 */ array(),
-        /* 272 */ array(),
-        /* 273 */ array(),
-        /* 274 */ array(),
-        /* 275 */ array(),
-        /* 276 */ array(),
-        /* 277 */ array(),
-        /* 278 */ array(),
-        /* 279 */ array(),
-        /* 280 */ array(),
-        /* 281 */ array(),
-        /* 282 */ array(),
-        /* 283 */ array(),
-        /* 284 */ array(),
-        /* 285 */ array(),
-        /* 286 */ array(),
-        /* 287 */ array(),
-        /* 288 */ array(),
-        /* 289 */ array(),
-        /* 290 */ array(),
-        /* 291 */ array(),
-        /* 292 */ array(),
-        /* 293 */ array(),
-        /* 294 */ array(),
-        /* 295 */ array(),
-        /* 296 */ array(),
-        /* 297 */ array(),
-        /* 298 */ array(),
-        /* 299 */ array(),
-        /* 300 */ array(),
-        /* 301 */ array(),
-        /* 302 */ array(),
-        /* 303 */ array(),
-        /* 304 */ array(),
-        /* 305 */ array(),
-        /* 306 */ array(),
-        /* 307 */ array(),
-        /* 308 */ array(),
-        /* 309 */ array(),
-        /* 310 */ array(),
-        /* 311 */ array(),
-        /* 312 */ array(),
-        /* 313 */ array(),
-        /* 314 */ array(),
-        /* 315 */ array(),
-        /* 316 */ array(),
-        /* 317 */ array(),
-        /* 318 */ array(),
-        /* 319 */ array(),
-        /* 320 */ array(),
-        /* 321 */ array(),
-        /* 322 */ array(),
-        /* 323 */ array(),
-        /* 324 */ array(),
-        /* 325 */ array(),
-        /* 326 */ array(),
-        /* 327 */ array(),
-        /* 328 */ array(),
-        /* 329 */ array(),
-        /* 330 */ array(),
-        /* 331 */ array(),
-        /* 332 */ array(),
-        /* 333 */ array(),
-        /* 334 */ array(),
-        /* 335 */ array(),
-        /* 336 */ array(),
-        /* 337 */ array(),
-        /* 338 */ array(),
-        /* 339 */ array(),
-        /* 340 */ array(),
-        /* 341 */ array(),
-        /* 342 */ array(),
-        /* 343 */ array(),
-        /* 344 */ array(),
-        /* 345 */ array(),
-        /* 346 */ array(),
-        /* 347 */ array(),
-        /* 348 */ array(),
-        /* 349 */ array(),
-        /* 350 */ array(),
-        /* 351 */ array(),
-        /* 352 */ array(),
-        /* 353 */ array(),
-        /* 354 */ array(),
-        /* 355 */ array(),
-        /* 356 */ array(),
-        /* 357 */ array(),
-        /* 358 */ array(),
-        /* 359 */ array(),
-        /* 360 */ array(),
-        /* 361 */ array(),
-        /* 362 */ array(),
-        /* 363 */ array(),
-        /* 364 */ array(),
-        /* 365 */ array(),
-        /* 366 */ array(),
-        /* 367 */ array(),
-        /* 368 */ array(),
-        /* 369 */ array(),
-        /* 370 */ array(),
-        /* 371 */ array(),
-        /* 372 */ array(),
-        /* 373 */ array(),
-        /* 374 */ array(),
-        /* 375 */ array(),
-        /* 376 */ array(),
-        /* 377 */ array(),
-        /* 378 */ array(),
-        /* 379 */ array(),
-        /* 380 */ array(),
-        /* 381 */ array(),
-        /* 382 */ array(),
-        /* 383 */ array(),
-        /* 384 */ array(),
-        /* 385 */ array(),
-        /* 386 */ array(),
-        /* 387 */ array(),
-        /* 388 */ array(),
-        /* 389 */ array(),
-        /* 390 */ array(),
-        /* 391 */ array(),
-        /* 392 */ array(),
-        /* 393 */ array(),
-        /* 394 */ array(),
-        /* 395 */ array(),
-        /* 396 */ array(),
-        /* 397 */ array(),
-        /* 398 */ array(),
-        /* 399 */ array(),
-        /* 400 */ array(),
-        /* 401 */ array(),
-        /* 402 */ array(),
-        /* 403 */ array(),
-        /* 404 */ array(),
-        /* 405 */ array(),
-        /* 406 */ array(),
-);
-    static public $yy_default = array(
- /*     0 */   611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
- /*    10 */   611,  611,  611,  611,  596,  611,  611,  611,  611,  611,
- /*    20 */   611,  611,  554,  554,  554,  554,  611,  611,  611,  611,
- /*    30 */   611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
- /*    40 */   611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
- /*    50 */   611,  611,  611,  611,  564,  564,  611,  475,  475,  407,
- /*    60 */   611,  611,  611,  429,  611,  611,  516,  611,  475,  475,
- /*    70 */   475,  475,  475,  475,  564,  564,  564,  564,  611,  611,
- /*    80 */   417,  526,  417,  417,  497,  526,  497,  490,  611,  611,
- /*    90 */   423,  611,  423,  611,  519,  423,  423,  611,  611,  611,
- /*   100 */   611,  611,  611,  611,  475,  475,  475,  512,  511,  519,
- /*   110 */   475,  611,  611,  611,  611,  611,  611,  611,  577,  570,
- /*   120 */   574,  573,  569,  578,  478,  568,  562,  611,  611,  611,
- /*   130 */   611,  611,  527,  611,  611,  611,  611,  611,  611,  611,
- /*   140 */   611,  611,  546,  611,  611,  548,  611,  611,  611,  611,
- /*   150 */   611,  611,  611,  611,  611,  524,  611,  526,  611,  547,
- /*   160 */   545,  553,  611,  611,  611,  611,  611,  485,  611,  610,
- /*   170 */   496,  458,  495,  610,  597,  514,  598,  517,  489,  599,
- /*   180 */   513,  542,  482,  526,  565,  558,  558,  526,  526,  558,
- /*   190 */   558,  526,  611,  486,  611,  611,  611,  490,  559,  486,
- /*   200 */   481,  487,  611,  560,  490,  611,  611,  502,  579,  486,
- /*   210 */   611,  540,  497,  611,  611,  611,  611,  611,  611,  611,
- /*   220 */   611,  611,  611,  611,  611,  502,  481,  611,  611,  611,
- /*   230 */   611,  611,  611,  497,  611,  611,  611,  611,  611,  611,
- /*   240 */   611,  611,  611,  611,  490,  611,  611,  540,  611,  490,
- /*   250 */   611,  483,  563,  611,  611,  507,  611,  611,  515,  490,
- /*   260 */   611,  455,  601,  535,  537,  551,  534,  536,  532,  533,
- /*   270 */   549,  472,  480,  408,  469,  468,  466,  467,  531,  530,
- /*   280 */   509,  600,  603,  460,  484,  459,  609,  602,  604,  541,
- /*   290 */   529,  493,  510,  607,  608,  457,  571,  500,  499,  503,
- /*   300 */   504,  505,  498,  501,  474,  471,  557,  490,  491,  506,
- /*   310 */   544,  437,  508,  605,  438,  555,  492,  540,  520,  543,
- /*   320 */   525,  528,  539,  470,  465,  422,  419,  424,  420,  421,
- /*   330 */   418,  416,  410,  409,  411,  412,  413,  425,  414,  434,
- /*   340 */   433,  435,  436,  473,  432,  431,  426,  415,  427,  428,
- /*   350 */   430,  556,  606,  590,  576,  591,  592,  444,  575,  572,
- /*   360 */   443,  589,  507,  561,  563,  445,  446,  462,  461,  463,
- /*   370 */   464,  454,  449,  452,  448,  447,  450,  451,  453,  588,
- /*   380 */   587,  523,  522,  552,  593,  595,  521,  518,  440,  439,
- /*   390 */   488,  538,  494,  594,  550,  583,  582,  584,  585,  586,
- /*   400 */   581,  567,  580,  441,  442,  566,  456,
-);
-    const YYNOCODE = 131;
-    const YYSTACKDEPTH = 100;
-    const YYNSTATE = 407;
-    const YYNRULE = 204;
-    const YYERRORSYMBOL = 83;
-    const YYERRSYMDT = 'yy0';
-    const YYFALLBACK = 0;
-    static public $yyFallback = array(
-    );
-    static function Trace($TraceFILE, $zTracePrompt)
-    {
-        if (!$TraceFILE) {
-            $zTracePrompt = 0;
-        } elseif (!$zTracePrompt) {
-            $TraceFILE = 0;
-        }
-        self::$yyTraceFILE = $TraceFILE;
-        self::$yyTracePrompt = $zTracePrompt;
-    }
-
-    static function PrintTrace()
-    {
-        self::$yyTraceFILE = fopen('php://output', 'w');
-        self::$yyTracePrompt = '<br>';
-    }
-
-    static public $yyTraceFILE;
-    static public $yyTracePrompt;
-    public $yyidx;                    /* Index of top element in stack */
-    public $yyerrcnt;                 /* Shifts left before out of the error */
-    public $yystack = array();  /* The parser's stack */
-
-    public $yyTokenName = array( 
-  '$',             'COMMENT',       'PHPSTARTTAG',   'PHPENDTAG',   
-  'OTHER',         'FAKEPHPSTARTTAG',  'PHP_CODE',      'PHP_CODE_START_DOUBLEQUOTE',
-  'PHP_CODE_DOUBLEQUOTE',  'PHP_HEREDOC_START',  'PHP_HEREDOC_END',  'PHP_NOWDOC_START',
-  'PHP_NOWDOC_END',  'PHP_DQ_CONTENT',  'PHP_DQ_EMBED_START',  'PHP_DQ_EMBED_END',
-  'LITERALSTART',  'LITERALEND',    'LITERAL',       'LDEL',        
-  'RDEL',          'DOLLAR',        'ID',            'EQUAL',       
-  'FOREACH',       'PTR',           'IF',            'SPACE',       
-  'UNIMATH',       'FOR',           'SEMICOLON',     'INCDEC',      
-  'TO',            'AS',            'APTR',          'LDELSLASH',   
-  'INTEGER',       'COMMA',         'COLON',         'MATH',        
-  'ANDSYM',        'OPENP',         'CLOSEP',        'QMARK',       
-  'NOT',           'TYPECAST',      'DOT',           'BOOLEAN',     
-  'NULL',          'SINGLEQUOTESTRING',  'QUOTE',         'DOUBLECOLON', 
-  'AT',            'HATCH',         'OPENB',         'CLOSEB',      
-  'VERT',          'ISIN',          'ISDIVBY',       'ISNOTDIVBY',  
-  'ISEVEN',        'ISNOTEVEN',     'ISEVENBY',      'ISNOTEVENBY', 
-  'ISODD',         'ISNOTODD',      'ISODDBY',       'ISNOTODDBY',  
-  'INSTANCEOF',    'EQUALS',        'NOTEQUALS',     'GREATERTHAN', 
-  'LESSTHAN',      'GREATEREQUAL',  'LESSEQUAL',     'IDENTITY',    
-  'NONEIDENTITY',  'MOD',           'LAND',          'LOR',         
-  'LXOR',          'BACKTICK',      'DOLLARID',      'error',       
-  'start',         'template',      'template_element',  'smartytag',   
-  'literal',       'php_code',      'php_code_element',  'php_dq_contents',
-  'php_dq_content',  'literal_elements',  'literal_element',  'value',       
-  'attributes',    'variable',      'expr',          'ternary',     
-  'ifexprs',       'varindexed',    'modifier',      'modparameters',
-  'statement',     'statements',    'optspace',      'varvar',      
-  'foraction',     'array',         'specialclose',  'attribute',   
-  'exprs',         'function',      'doublequoted',  'method',      
-  'params',        'objectchain',   'arrayindex',    'object',      
-  'indexdef',      'varvarele',     'objectelement',  'modparameter',
-  'ifexpr',        'ifcond',        'lop',           'arrayelements',
-  'arrayelement',  'doublequotedcontent',
-    );
-
-    static public $yyRuleName = array(
- /*   0 */ "start ::= template",
- /*   1 */ "template ::= template_element",
- /*   2 */ "template ::= template template_element",
- /*   3 */ "template_element ::= smartytag",
- /*   4 */ "template_element ::= COMMENT",
- /*   5 */ "template_element ::= literal",
- /*   6 */ "template_element ::= PHPSTARTTAG php_code PHPENDTAG",
- /*   7 */ "template_element ::= OTHER",
- /*   8 */ "template_element ::= FAKEPHPSTARTTAG",
- /*   9 */ "php_code ::= php_code_element php_code",
- /*  10 */ "php_code ::=",
- /*  11 */ "php_code_element ::= PHP_CODE",
- /*  12 */ "php_code_element ::= PHP_CODE_START_DOUBLEQUOTE php_dq_contents PHP_CODE_DOUBLEQUOTE",
- /*  13 */ "php_code_element ::= PHP_HEREDOC_START php_dq_contents PHP_HEREDOC_END",
- /*  14 */ "php_code_element ::= PHP_NOWDOC_START php_dq_contents PHP_NOWDOC_END",
- /*  15 */ "php_dq_contents ::= php_dq_content php_dq_contents",
- /*  16 */ "php_dq_contents ::=",
- /*  17 */ "php_dq_content ::= PHP_DQ_CONTENT",
- /*  18 */ "php_dq_content ::= PHP_DQ_EMBED_START php_code PHP_DQ_EMBED_END",
- /*  19 */ "literal ::= LITERALSTART LITERALEND",
- /*  20 */ "literal ::= LITERALSTART literal_elements LITERALEND",
- /*  21 */ "literal_elements ::= literal_element literal_elements",
- /*  22 */ "literal_elements ::=",
- /*  23 */ "literal_element ::= literal",
- /*  24 */ "literal_element ::= LITERAL",
- /*  25 */ "literal_element ::= PHPSTARTTAG",
- /*  26 */ "literal_element ::= FAKEPHPSTARTTAG",
- /*  27 */ "literal_element ::= PHPENDTAG",
- /*  28 */ "smartytag ::= LDEL value RDEL",
- /*  29 */ "smartytag ::= LDEL value attributes RDEL",
- /*  30 */ "smartytag ::= LDEL variable attributes RDEL",
- /*  31 */ "smartytag ::= LDEL expr attributes RDEL",
- /*  32 */ "smartytag ::= LDEL ternary attributes RDEL",
- /*  33 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL",
- /*  34 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL",
- /*  35 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL",
- /*  36 */ "smartytag ::= LDEL DOLLAR ID EQUAL ifexprs attributes RDEL",
- /*  37 */ "smartytag ::= LDEL DOLLAR ID EQUAL ternary attributes RDEL",
- /*  38 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL",
- /*  39 */ "smartytag ::= LDEL varindexed EQUAL ternary attributes RDEL",
- /*  40 */ "smartytag ::= LDEL varindexed EQUAL ifexprs attributes RDEL",
- /*  41 */ "smartytag ::= LDEL ID attributes RDEL",
- /*  42 */ "smartytag ::= LDEL FOREACH attributes RDEL",
- /*  43 */ "smartytag ::= LDEL ID RDEL",
- /*  44 */ "smartytag ::= LDEL ID PTR ID attributes RDEL",
- /*  45 */ "smartytag ::= LDEL ID modifier modparameters attributes RDEL",
- /*  46 */ "smartytag ::= LDEL ID PTR ID modifier modparameters attributes RDEL",
- /*  47 */ "smartytag ::= LDEL IF SPACE ifexprs RDEL",
- /*  48 */ "smartytag ::= LDEL IF UNIMATH ifexprs RDEL",
- /*  49 */ "smartytag ::= LDEL IF SPACE statement RDEL",
- /*  50 */ "smartytag ::= LDEL FOR SPACE statements SEMICOLON optspace ifexprs SEMICOLON optspace DOLLAR varvar foraction RDEL",
- /*  51 */ "foraction ::= EQUAL expr",
- /*  52 */ "foraction ::= INCDEC",
- /*  53 */ "smartytag ::= LDEL FOR SPACE statement TO expr attributes RDEL",
- /*  54 */ "smartytag ::= LDEL FOREACH SPACE value AS DOLLAR varvar RDEL",
- /*  55 */ "smartytag ::= LDEL FOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar RDEL",
- /*  56 */ "smartytag ::= LDEL FOREACH SPACE array AS DOLLAR varvar RDEL",
- /*  57 */ "smartytag ::= LDEL FOREACH SPACE array AS DOLLAR varvar APTR DOLLAR varvar RDEL",
- /*  58 */ "smartytag ::= LDELSLASH ID RDEL",
- /*  59 */ "smartytag ::= LDELSLASH specialclose RDEL",
- /*  60 */ "specialclose ::= IF",
- /*  61 */ "specialclose ::= FOR",
- /*  62 */ "specialclose ::= FOREACH",
- /*  63 */ "smartytag ::= LDELSLASH ID attributes RDEL",
- /*  64 */ "smartytag ::= LDELSLASH ID modifier modparameters attributes RDEL",
- /*  65 */ "smartytag ::= LDELSLASH ID PTR ID RDEL",
- /*  66 */ "attributes ::= attributes attribute",
- /*  67 */ "attributes ::= attribute",
- /*  68 */ "attributes ::=",
- /*  69 */ "attribute ::= SPACE ID EQUAL ID",
- /*  70 */ "attribute ::= SPACE ID EQUAL expr",
- /*  71 */ "attribute ::= SPACE ID EQUAL ifexprs",
- /*  72 */ "attribute ::= SPACE ID EQUAL value",
- /*  73 */ "attribute ::= SPACE ID EQUAL ternary",
- /*  74 */ "attribute ::= SPACE ID",
- /*  75 */ "attribute ::= SPACE INTEGER EQUAL expr",
- /*  76 */ "statements ::= statement",
- /*  77 */ "statements ::= statements COMMA statement",
- /*  78 */ "statement ::= DOLLAR varvar EQUAL expr",
- /*  79 */ "expr ::= ID",
- /*  80 */ "expr ::= exprs",
- /*  81 */ "expr ::= DOLLAR ID COLON ID",
- /*  82 */ "expr ::= expr modifier modparameters",
- /*  83 */ "exprs ::= value",
- /*  84 */ "exprs ::= exprs MATH value",
- /*  85 */ "exprs ::= exprs UNIMATH value",
- /*  86 */ "exprs ::= exprs ANDSYM value",
- /*  87 */ "exprs ::= array",
- /*  88 */ "ternary ::= OPENP ifexprs CLOSEP QMARK expr COLON expr",
- /*  89 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
- /*  90 */ "value ::= variable",
- /*  91 */ "value ::= UNIMATH value",
- /*  92 */ "value ::= NOT value",
- /*  93 */ "value ::= TYPECAST value",
- /*  94 */ "value ::= variable INCDEC",
- /*  95 */ "value ::= INTEGER",
- /*  96 */ "value ::= INTEGER DOT INTEGER",
- /*  97 */ "value ::= BOOLEAN",
- /*  98 */ "value ::= NULL",
- /*  99 */ "value ::= function",
- /* 100 */ "value ::= OPENP expr CLOSEP",
- /* 101 */ "value ::= SINGLEQUOTESTRING",
- /* 102 */ "value ::= QUOTE doublequoted QUOTE",
- /* 103 */ "value ::= QUOTE QUOTE",
- /* 104 */ "value ::= ID DOUBLECOLON method",
- /* 105 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP",
- /* 106 */ "value ::= ID DOUBLECOLON method objectchain",
- /* 107 */ "value ::= ID DOUBLECOLON DOLLAR ID OPENP params CLOSEP objectchain",
- /* 108 */ "value ::= ID DOUBLECOLON ID",
- /* 109 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex",
- /* 110 */ "value ::= ID DOUBLECOLON DOLLAR ID arrayindex objectchain",
- /* 111 */ "value ::= smartytag",
- /* 112 */ "variable ::= varindexed",
- /* 113 */ "variable ::= DOLLAR varvar AT ID",
- /* 114 */ "variable ::= object",
- /* 115 */ "variable ::= HATCH ID HATCH",
- /* 116 */ "variable ::= HATCH variable HATCH",
- /* 117 */ "varindexed ::= DOLLAR varvar arrayindex",
- /* 118 */ "arrayindex ::= arrayindex indexdef",
- /* 119 */ "arrayindex ::=",
- /* 120 */ "indexdef ::= DOT DOLLAR varvar",
- /* 121 */ "indexdef ::= DOT DOLLAR varvar AT ID",
- /* 122 */ "indexdef ::= DOT ID",
- /* 123 */ "indexdef ::= DOT BOOLEAN",
- /* 124 */ "indexdef ::= DOT NULL",
- /* 125 */ "indexdef ::= DOT INTEGER",
- /* 126 */ "indexdef ::= DOT LDEL exprs RDEL",
- /* 127 */ "indexdef ::= OPENB ID CLOSEB",
- /* 128 */ "indexdef ::= OPENB ID DOT ID CLOSEB",
- /* 129 */ "indexdef ::= OPENB exprs CLOSEB",
- /* 130 */ "indexdef ::= OPENB CLOSEB",
- /* 131 */ "varvar ::= varvarele",
- /* 132 */ "varvar ::= varvar varvarele",
- /* 133 */ "varvarele ::= ID",
- /* 134 */ "varvarele ::= LDEL expr RDEL",
- /* 135 */ "object ::= varindexed objectchain",
- /* 136 */ "objectchain ::= objectelement",
- /* 137 */ "objectchain ::= objectchain objectelement",
- /* 138 */ "objectelement ::= PTR ID arrayindex",
- /* 139 */ "objectelement ::= PTR variable arrayindex",
- /* 140 */ "objectelement ::= PTR LDEL expr RDEL arrayindex",
- /* 141 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
- /* 142 */ "objectelement ::= PTR method",
- /* 143 */ "function ::= ID OPENP params CLOSEP",
- /* 144 */ "method ::= ID OPENP params CLOSEP",
- /* 145 */ "params ::= expr COMMA params",
- /* 146 */ "params ::= expr",
- /* 147 */ "params ::=",
- /* 148 */ "modifier ::= VERT AT ID",
- /* 149 */ "modifier ::= VERT ID",
- /* 150 */ "modparameters ::= modparameters modparameter",
- /* 151 */ "modparameters ::=",
- /* 152 */ "modparameter ::= COLON exprs",
- /* 153 */ "modparameter ::= COLON ID",
- /* 154 */ "ifexprs ::= ifexpr",
- /* 155 */ "ifexprs ::= NOT ifexprs",
- /* 156 */ "ifexprs ::= OPENP ifexprs CLOSEP",
- /* 157 */ "ifexpr ::= expr",
- /* 158 */ "ifexpr ::= expr ifcond expr",
- /* 159 */ "ifexpr ::= expr ISIN array",
- /* 160 */ "ifexpr ::= expr ISIN value",
- /* 161 */ "ifexpr ::= ifexprs lop ifexprs",
- /* 162 */ "ifexpr ::= ifexprs ISDIVBY ifexprs",
- /* 163 */ "ifexpr ::= ifexprs ISNOTDIVBY ifexprs",
- /* 164 */ "ifexpr ::= ifexprs ISEVEN",
- /* 165 */ "ifexpr ::= ifexprs ISNOTEVEN",
- /* 166 */ "ifexpr ::= ifexprs ISEVENBY ifexprs",
- /* 167 */ "ifexpr ::= ifexprs ISNOTEVENBY ifexprs",
- /* 168 */ "ifexpr ::= ifexprs ISODD",
- /* 169 */ "ifexpr ::= ifexprs ISNOTODD",
- /* 170 */ "ifexpr ::= ifexprs ISODDBY ifexprs",
- /* 171 */ "ifexpr ::= ifexprs ISNOTODDBY ifexprs",
- /* 172 */ "ifexpr ::= value INSTANCEOF ID",
- /* 173 */ "ifexpr ::= value INSTANCEOF value",
- /* 174 */ "ifcond ::= EQUALS",
- /* 175 */ "ifcond ::= NOTEQUALS",
- /* 176 */ "ifcond ::= GREATERTHAN",
- /* 177 */ "ifcond ::= LESSTHAN",
- /* 178 */ "ifcond ::= GREATEREQUAL",
- /* 179 */ "ifcond ::= LESSEQUAL",
- /* 180 */ "ifcond ::= IDENTITY",
- /* 181 */ "ifcond ::= NONEIDENTITY",
- /* 182 */ "ifcond ::= MOD",
- /* 183 */ "lop ::= LAND",
- /* 184 */ "lop ::= LOR",
- /* 185 */ "lop ::= LXOR",
- /* 186 */ "array ::= OPENB arrayelements CLOSEB",
- /* 187 */ "arrayelements ::= arrayelement",
- /* 188 */ "arrayelements ::= arrayelements COMMA arrayelement",
- /* 189 */ "arrayelements ::=",
- /* 190 */ "arrayelement ::= value APTR expr",
- /* 191 */ "arrayelement ::= ID APTR expr",
- /* 192 */ "arrayelement ::= expr",
- /* 193 */ "doublequoted ::= doublequoted doublequotedcontent",
- /* 194 */ "doublequoted ::= doublequotedcontent",
- /* 195 */ "doublequotedcontent ::= BACKTICK variable BACKTICK",
- /* 196 */ "doublequotedcontent ::= BACKTICK expr BACKTICK",
- /* 197 */ "doublequotedcontent ::= DOLLARID",
- /* 198 */ "doublequotedcontent ::= LDEL variable RDEL",
- /* 199 */ "doublequotedcontent ::= LDEL expr RDEL",
- /* 200 */ "doublequotedcontent ::= smartytag",
- /* 201 */ "doublequotedcontent ::= OTHER",
- /* 202 */ "optspace ::= SPACE",
- /* 203 */ "optspace ::=",
-    );
-
-    function tokenName($tokenType)
-    {
-        if ($tokenType === 0) {
-            return 'End of Input';
-        }
-        if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
-            return $this->yyTokenName[$tokenType];
-        } else {
-            return "Unknown";
-        }
-    }
-
-    static function yy_destructor($yymajor, $yypminor)
-    {
-        switch ($yymajor) {
-            default:  break;   /* If no destructor action specified: do nothing */
-        }
-    }
-
-    function yy_pop_parser_stack()
-    {
-        if (!count($this->yystack)) {
-            return;
-        }
-        $yytos = array_pop($this->yystack);
-        if (self::$yyTraceFILE && $this->yyidx >= 0) {
-            fwrite(self::$yyTraceFILE,
-                self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
-                    "\n");
-        }
-        $yymajor = $yytos->major;
-        self::yy_destructor($yymajor, $yytos->minor);
-        $this->yyidx--;
-        return $yymajor;
-    }
-
-    function __destruct()
-    {
-        while ($this->yyidx >= 0) {
-            $this->yy_pop_parser_stack();
-        }
-        if (is_resource(self::$yyTraceFILE)) {
-            fclose(self::$yyTraceFILE);
-        }
-    }
-
-    function yy_get_expected_tokens($token)
-    {
-        $state = $this->yystack[$this->yyidx]->stateno;
-        $expected = self::$yyExpectedTokens[$state];
-        if (in_array($token, self::$yyExpectedTokens[$state], true)) {
-            return $expected;
-        }
-        $stack = $this->yystack;
-        $yyidx = $this->yyidx;
-        do {
-            $yyact = $this->yy_find_shift_action($token);
-            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
-                // reduce action
-                $done = 0;
-                do {
-                    if ($done++ == 100) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        // too much recursion prevents proper detection
-                        // so give up
-                        return array_unique($expected);
-                    }
-                    $yyruleno = $yyact - self::YYNSTATE;
-                    $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
-                    $nextstate = $this->yy_find_reduce_action(
-                        $this->yystack[$this->yyidx]->stateno,
-                        self::$yyRuleInfo[$yyruleno]['lhs']);
-                    if (isset(self::$yyExpectedTokens[$nextstate])) {
-                        $expected += self::$yyExpectedTokens[$nextstate];
-                            if (in_array($token,
-                                  self::$yyExpectedTokens[$nextstate], true)) {
-                            $this->yyidx = $yyidx;
-                            $this->yystack = $stack;
-                            return array_unique($expected);
-                        }
-                    }
-                    if ($nextstate < self::YYNSTATE) {
-                        // we need to shift a non-terminal
-                        $this->yyidx++;
-                        $x = new TP_yyStackEntry;
-                        $x->stateno = $nextstate;
-                        $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
-                        $this->yystack[$this->yyidx] = $x;
-                        continue 2;
-                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        // the last token was just ignored, we can't accept
-                        // by ignoring input, this is in essence ignoring a
-                        // syntax error!
-                        return array_unique($expected);
-                    } elseif ($nextstate === self::YY_NO_ACTION) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        // input accepted, but not shifted (I guess)
-                        return $expected;
-                    } else {
-                        $yyact = $nextstate;
-                    }
-                } while (true);
-            }
-            break;
-        } while (true);
-        return array_unique($expected);
-    }
-
-    function yy_is_expected_token($token)
-    {
-        if ($token === 0) {
-            return true; // 0 is not part of this
-        }
-        $state = $this->yystack[$this->yyidx]->stateno;
-        if (in_array($token, self::$yyExpectedTokens[$state], true)) {
-            return true;
-        }
-        $stack = $this->yystack;
-        $yyidx = $this->yyidx;
-        do {
-            $yyact = $this->yy_find_shift_action($token);
-            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
-                // reduce action
-                $done = 0;
-                do {
-                    if ($done++ == 100) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        // too much recursion prevents proper detection
-                        // so give up
-                        return true;
-                    }
-                    $yyruleno = $yyact - self::YYNSTATE;
-                    $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
-                    $nextstate = $this->yy_find_reduce_action(
-                        $this->yystack[$this->yyidx]->stateno,
-                        self::$yyRuleInfo[$yyruleno]['lhs']);
-                    if (isset(self::$yyExpectedTokens[$nextstate]) &&
-                          in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        return true;
-                    }
-                    if ($nextstate < self::YYNSTATE) {
-                        // we need to shift a non-terminal
-                        $this->yyidx++;
-                        $x = new TP_yyStackEntry;
-                        $x->stateno = $nextstate;
-                        $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
-                        $this->yystack[$this->yyidx] = $x;
-                        continue 2;
-                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        if (!$token) {
-                            // end of input: this is valid
-                            return true;
-                        }
-                        // the last token was just ignored, we can't accept
-                        // by ignoring input, this is in essence ignoring a
-                        // syntax error!
-                        return false;
-                    } elseif ($nextstate === self::YY_NO_ACTION) {
-                        $this->yyidx = $yyidx;
-                        $this->yystack = $stack;
-                        // input accepted, but not shifted (I guess)
-                        return true;
-                    } else {
-                        $yyact = $nextstate;
-                    }
-                } while (true);
-            }
-            break;
-        } while (true);
-        $this->yyidx = $yyidx;
-        $this->yystack = $stack;
-        return true;
-    }
-
-   function yy_find_shift_action($iLookAhead)
-    {
-        $stateno = $this->yystack[$this->yyidx]->stateno;
-     
-        /* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
-        if (!isset(self::$yy_shift_ofst[$stateno])) {
-            // no shift actions
-            return self::$yy_default[$stateno];
-        }
-        $i = self::$yy_shift_ofst[$stateno];
-        if ($i === self::YY_SHIFT_USE_DFLT) {
-            return self::$yy_default[$stateno];
-        }
-        if ($iLookAhead == self::YYNOCODE) {
-            return self::YY_NO_ACTION;
-        }
-        $i += $iLookAhead;
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
-              self::$yy_lookahead[$i] != $iLookAhead) {
-            if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
-                   && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
-                if (self::$yyTraceFILE) {
-                    fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
-                        $this->yyTokenName[$iLookAhead] . " => " .
-                        $this->yyTokenName[$iFallback] . "\n");
-                }
-                return $this->yy_find_shift_action($iFallback);
-            }
-            return self::$yy_default[$stateno];
-        } else {
-            return self::$yy_action[$i];
-        }
-    }
-
-    function yy_find_reduce_action($stateno, $iLookAhead)
-    {
-        /* $stateno = $this->yystack[$this->yyidx]->stateno; */
-
-        if (!isset(self::$yy_reduce_ofst[$stateno])) {
-            return self::$yy_default[$stateno];
-        }
-        $i = self::$yy_reduce_ofst[$stateno];
-        if ($i == self::YY_REDUCE_USE_DFLT) {
-            return self::$yy_default[$stateno];
-        }
-        if ($iLookAhead == self::YYNOCODE) {
-            return self::YY_NO_ACTION;
-        }
-        $i += $iLookAhead;
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
-              self::$yy_lookahead[$i] != $iLookAhead) {
-            return self::$yy_default[$stateno];
-        } else {
-            return self::$yy_action[$i];
-        }
-    }
-
-    function yy_shift($yyNewState, $yyMajor, $yypMinor)
-    {
-        $this->yyidx++;
-        if ($this->yyidx >= self::YYSTACKDEPTH) {
-            $this->yyidx--;
-            if (self::$yyTraceFILE) {
-                fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
-            }
-            while ($this->yyidx >= 0) {
-                $this->yy_pop_parser_stack();
-            }
-            return;
-        }
-        $yytos = new TP_yyStackEntry;
-        $yytos->stateno = $yyNewState;
-        $yytos->major = $yyMajor;
-        $yytos->minor = $yypMinor;
-        array_push($this->yystack, $yytos);
-        if (self::$yyTraceFILE && $this->yyidx > 0) {
-            fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
-                $yyNewState);
-            fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
-            for($i = 1; $i <= $this->yyidx; $i++) {
-                fprintf(self::$yyTraceFILE, " %s",
-                    $this->yyTokenName[$this->yystack[$i]->major]);
-            }
-            fwrite(self::$yyTraceFILE,"\n");
-        }
-    }
-
-    static public $yyRuleInfo = array(
-  array( 'lhs' => 84, 'rhs' => 1 ),
-  array( 'lhs' => 85, 'rhs' => 1 ),
-  array( 'lhs' => 85, 'rhs' => 2 ),
-  array( 'lhs' => 86, 'rhs' => 1 ),
-  array( 'lhs' => 86, 'rhs' => 1 ),
-  array( 'lhs' => 86, 'rhs' => 1 ),
-  array( 'lhs' => 86, 'rhs' => 3 ),
-  array( 'lhs' => 86, 'rhs' => 1 ),
-  array( 'lhs' => 86, 'rhs' => 1 ),
-  array( 'lhs' => 89, 'rhs' => 2 ),
-  array( 'lhs' => 89, 'rhs' => 0 ),
-  array( 'lhs' => 90, 'rhs' => 1 ),
-  array( 'lhs' => 90, 'rhs' => 3 ),
-  array( 'lhs' => 90, 'rhs' => 3 ),
-  array( 'lhs' => 90, 'rhs' => 3 ),
-  array( 'lhs' => 91, 'rhs' => 2 ),
-  array( 'lhs' => 91, 'rhs' => 0 ),
-  array( 'lhs' => 92, 'rhs' => 1 ),
-  array( 'lhs' => 92, 'rhs' => 3 ),
-  array( 'lhs' => 88, 'rhs' => 2 ),
-  array( 'lhs' => 88, 'rhs' => 3 ),
-  array( 'lhs' => 93, 'rhs' => 2 ),
-  array( 'lhs' => 93, 'rhs' => 0 ),
-  array( 'lhs' => 94, 'rhs' => 1 ),
-  array( 'lhs' => 94, 'rhs' => 1 ),
-  array( 'lhs' => 94, 'rhs' => 1 ),
-  array( 'lhs' => 94, 'rhs' => 1 ),
-  array( 'lhs' => 94, 'rhs' => 1 ),
-  array( 'lhs' => 87, 'rhs' => 3 ),
-  array( 'lhs' => 87, 'rhs' => 4 ),
-  array( 'lhs' => 87, 'rhs' => 4 ),
-  array( 'lhs' => 87, 'rhs' => 4 ),
-  array( 'lhs' => 87, 'rhs' => 4 ),
-  array( 'lhs' => 87, 'rhs' => 6 ),
-  array( 'lhs' => 87, 'rhs' => 6 ),
-  array( 'lhs' => 87, 'rhs' => 7 ),
-  array( 'lhs' => 87, 'rhs' => 7 ),
-  array( 'lhs' => 87, 'rhs' => 7 ),
-  array( 'lhs' => 87, 'rhs' => 6 ),
-  array( 'lhs' => 87, 'rhs' => 6 ),
-  array( 'lhs' => 87, 'rhs' => 6 ),
-  array( 'lhs' => 87, 'rhs' => 4 ),
-  array( 'lhs' => 87, 'rhs' => 4 ),
-  array( 'lhs' => 87, 'rhs' => 3 ),
-  array( 'lhs' => 87, 'rhs' => 6 ),
-  array( 'lhs' => 87, 'rhs' => 6 ),
-  array( 'lhs' => 87, 'rhs' => 8 ),
-  array( 'lhs' => 87, 'rhs' => 5 ),
-  array( 'lhs' => 87, 'rhs' => 5 ),
-  array( 'lhs' => 87, 'rhs' => 5 ),
-  array( 'lhs' => 87, 'rhs' => 13 ),
-  array( 'lhs' => 108, 'rhs' => 2 ),
-  array( 'lhs' => 108, 'rhs' => 1 ),
-  array( 'lhs' => 87, 'rhs' => 8 ),
-  array( 'lhs' => 87, 'rhs' => 8 ),
-  array( 'lhs' => 87, 'rhs' => 11 ),
-  array( 'lhs' => 87, 'rhs' => 8 ),
-  array( 'lhs' => 87, 'rhs' => 11 ),
-  array( 'lhs' => 87, 'rhs' => 3 ),
-  array( 'lhs' => 87, 'rhs' => 3 ),
-  array( 'lhs' => 110, 'rhs' => 1 ),
-  array( 'lhs' => 110, 'rhs' => 1 ),
-  array( 'lhs' => 110, 'rhs' => 1 ),
-  array( 'lhs' => 87, 'rhs' => 4 ),
-  array( 'lhs' => 87, 'rhs' => 6 ),
-  array( 'lhs' => 87, 'rhs' => 5 ),
-  array( 'lhs' => 96, 'rhs' => 2 ),
-  array( 'lhs' => 96, 'rhs' => 1 ),
-  array( 'lhs' => 96, 'rhs' => 0 ),
-  array( 'lhs' => 111, 'rhs' => 4 ),
-  array( 'lhs' => 111, 'rhs' => 4 ),
-  array( 'lhs' => 111, 'rhs' => 4 ),
-  array( 'lhs' => 111, 'rhs' => 4 ),
-  array( 'lhs' => 111, 'rhs' => 4 ),
-  array( 'lhs' => 111, 'rhs' => 2 ),
-  array( 'lhs' => 111, 'rhs' => 4 ),
-  array( 'lhs' => 105, 'rhs' => 1 ),
-  array( 'lhs' => 105, 'rhs' => 3 ),
-  array( 'lhs' => 104, 'rhs' => 4 ),
-  array( 'lhs' => 98, 'rhs' => 1 ),
-  array( 'lhs' => 98, 'rhs' => 1 ),
-  array( 'lhs' => 98, 'rhs' => 4 ),
-  array( 'lhs' => 98, 'rhs' => 3 ),
-  array( 'lhs' => 112, 'rhs' => 1 ),
-  array( 'lhs' => 112, 'rhs' => 3 ),
-  array( 'lhs' => 112, 'rhs' => 3 ),
-  array( 'lhs' => 112, 'rhs' => 3 ),
-  array( 'lhs' => 112, 'rhs' => 1 ),
-  array( 'lhs' => 99, 'rhs' => 7 ),
-  array( 'lhs' => 99, 'rhs' => 7 ),
-  array( 'lhs' => 95, 'rhs' => 1 ),
-  array( 'lhs' => 95, 'rhs' => 2 ),
-  array( 'lhs' => 95, 'rhs' => 2 ),
-  array( 'lhs' => 95, 'rhs' => 2 ),
-  array( 'lhs' => 95, 'rhs' => 2 ),
-  array( 'lhs' => 95, 'rhs' => 1 ),
-  array( 'lhs' => 95, 'rhs' => 3 ),
-  array( 'lhs' => 95, 'rhs' => 1 ),
-  array( 'lhs' => 95, 'rhs' => 1 ),
-  array( 'lhs' => 95, 'rhs' => 1 ),
-  array( 'lhs' => 95, 'rhs' => 3 ),
-  array( 'lhs' => 95, 'rhs' => 1 ),
-  array( 'lhs' => 95, 'rhs' => 3 ),
-  array( 'lhs' => 95, 'rhs' => 2 ),
-  array( 'lhs' => 95, 'rhs' => 3 ),
-  array( 'lhs' => 95, 'rhs' => 7 ),
-  array( 'lhs' => 95, 'rhs' => 4 ),
-  array( 'lhs' => 95, 'rhs' => 8 ),
-  array( 'lhs' => 95, 'rhs' => 3 ),
-  array( 'lhs' => 95, 'rhs' => 5 ),
-  array( 'lhs' => 95, 'rhs' => 6 ),
-  array( 'lhs' => 95, 'rhs' => 1 ),
-  array( 'lhs' => 97, 'rhs' => 1 ),
-  array( 'lhs' => 97, 'rhs' => 4 ),
-  array( 'lhs' => 97, 'rhs' => 1 ),
-  array( 'lhs' => 97, 'rhs' => 3 ),
-  array( 'lhs' => 97, 'rhs' => 3 ),
-  array( 'lhs' => 101, 'rhs' => 3 ),
-  array( 'lhs' => 118, 'rhs' => 2 ),
-  array( 'lhs' => 118, 'rhs' => 0 ),
-  array( 'lhs' => 120, 'rhs' => 3 ),
-  array( 'lhs' => 120, 'rhs' => 5 ),
-  array( 'lhs' => 120, 'rhs' => 2 ),
-  array( 'lhs' => 120, 'rhs' => 2 ),
-  array( 'lhs' => 120, 'rhs' => 2 ),
-  array( 'lhs' => 120, 'rhs' => 2 ),
-  array( 'lhs' => 120, 'rhs' => 4 ),
-  array( 'lhs' => 120, 'rhs' => 3 ),
-  array( 'lhs' => 120, 'rhs' => 5 ),
-  array( 'lhs' => 120, 'rhs' => 3 ),
-  array( 'lhs' => 120, 'rhs' => 2 ),
-  array( 'lhs' => 107, 'rhs' => 1 ),
-  array( 'lhs' => 107, 'rhs' => 2 ),
-  array( 'lhs' => 121, 'rhs' => 1 ),
-  array( 'lhs' => 121, 'rhs' => 3 ),
-  array( 'lhs' => 119, 'rhs' => 2 ),
-  array( 'lhs' => 117, 'rhs' => 1 ),
-  array( 'lhs' => 117, 'rhs' => 2 ),
-  array( 'lhs' => 122, 'rhs' => 3 ),
-  array( 'lhs' => 122, 'rhs' => 3 ),
-  array( 'lhs' => 122, 'rhs' => 5 ),
-  array( 'lhs' => 122, 'rhs' => 6 ),
-  array( 'lhs' => 122, 'rhs' => 2 ),
-  array( 'lhs' => 113, 'rhs' => 4 ),
-  array( 'lhs' => 115, 'rhs' => 4 ),
-  array( 'lhs' => 116, 'rhs' => 3 ),
-  array( 'lhs' => 116, 'rhs' => 1 ),
-  array( 'lhs' => 116, 'rhs' => 0 ),
-  array( 'lhs' => 102, 'rhs' => 3 ),
-  array( 'lhs' => 102, 'rhs' => 2 ),
-  array( 'lhs' => 103, 'rhs' => 2 ),
-  array( 'lhs' => 103, 'rhs' => 0 ),
-  array( 'lhs' => 123, 'rhs' => 2 ),
-  array( 'lhs' => 123, 'rhs' => 2 ),
-  array( 'lhs' => 100, 'rhs' => 1 ),
-  array( 'lhs' => 100, 'rhs' => 2 ),
-  array( 'lhs' => 100, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 1 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 2 ),
-  array( 'lhs' => 124, 'rhs' => 2 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 2 ),
-  array( 'lhs' => 124, 'rhs' => 2 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 124, 'rhs' => 3 ),
-  array( 'lhs' => 125, 'rhs' => 1 ),
-  array( 'lhs' => 125, 'rhs' => 1 ),
-  array( 'lhs' => 125, 'rhs' => 1 ),
-  array( 'lhs' => 125, 'rhs' => 1 ),
-  array( 'lhs' => 125, 'rhs' => 1 ),
-  array( 'lhs' => 125, 'rhs' => 1 ),
-  array( 'lhs' => 125, 'rhs' => 1 ),
-  array( 'lhs' => 125, 'rhs' => 1 ),
-  array( 'lhs' => 125, 'rhs' => 1 ),
-  array( 'lhs' => 126, 'rhs' => 1 ),
-  array( 'lhs' => 126, 'rhs' => 1 ),
-  array( 'lhs' => 126, 'rhs' => 1 ),
-  array( 'lhs' => 109, 'rhs' => 3 ),
-  array( 'lhs' => 127, 'rhs' => 1 ),
-  array( 'lhs' => 127, 'rhs' => 3 ),
-  array( 'lhs' => 127, 'rhs' => 0 ),
-  array( 'lhs' => 128, 'rhs' => 3 ),
-  array( 'lhs' => 128, 'rhs' => 3 ),
-  array( 'lhs' => 128, 'rhs' => 1 ),
-  array( 'lhs' => 114, 'rhs' => 2 ),
-  array( 'lhs' => 114, 'rhs' => 1 ),
-  array( 'lhs' => 129, 'rhs' => 3 ),
-  array( 'lhs' => 129, 'rhs' => 3 ),
-  array( 'lhs' => 129, 'rhs' => 1 ),
-  array( 'lhs' => 129, 'rhs' => 3 ),
-  array( 'lhs' => 129, 'rhs' => 3 ),
-  array( 'lhs' => 129, 'rhs' => 1 ),
-  array( 'lhs' => 129, 'rhs' => 1 ),
-  array( 'lhs' => 106, 'rhs' => 1 ),
-  array( 'lhs' => 106, 'rhs' => 0 ),
-    );
-
-    static public $yyReduceMap = array(
-        0 => 0,
-        5 => 0,
-        11 => 0,
-        17 => 0,
-        23 => 0,
-        24 => 0,
-        60 => 0,
-        61 => 0,
-        62 => 0,
-        83 => 0,
-        90 => 0,
-        95 => 0,
-        97 => 0,
-        98 => 0,
-        99 => 0,
-        101 => 0,
-        114 => 0,
-        187 => 0,
-        1 => 1,
-        2 => 2,
-        3 => 3,
-        4 => 4,
-        6 => 6,
-        7 => 7,
-        8 => 8,
-        9 => 9,
-        15 => 9,
-        21 => 9,
-        91 => 9,
-        93 => 9,
-        94 => 9,
-        10 => 10,
-        16 => 10,
-        19 => 10,
-        22 => 10,
-        12 => 12,
-        13 => 12,
-        14 => 12,
-        18 => 12,
-        20 => 20,
-        25 => 25,
-        26 => 25,
-        27 => 27,
-        28 => 28,
-        29 => 29,
-        30 => 29,
-        31 => 29,
-        32 => 29,
-        33 => 33,
-        34 => 33,
-        35 => 35,
-        36 => 35,
-        37 => 35,
-        38 => 38,
-        39 => 38,
-        40 => 38,
-        41 => 41,
-        42 => 41,
-        43 => 43,
-        44 => 44,
-        45 => 45,
-        46 => 46,
-        47 => 47,
-        49 => 47,
-        48 => 48,
-        50 => 50,
-        51 => 51,
-        52 => 52,
-        67 => 52,
-        146 => 52,
-        192 => 52,
-        53 => 53,
-        54 => 54,
-        55 => 55,
-        56 => 56,
-        57 => 57,
-        58 => 58,
-        59 => 58,
-        63 => 63,
-        64 => 64,
-        65 => 65,
-        66 => 66,
-        68 => 68,
-        69 => 69,
-        70 => 70,
-        71 => 70,
-        72 => 70,
-        73 => 70,
-        75 => 70,
-        74 => 74,
-        76 => 76,
-        77 => 77,
-        78 => 78,
-        79 => 79,
-        80 => 80,
-        87 => 80,
-        131 => 80,
-        154 => 80,
-        194 => 80,
-        201 => 80,
-        202 => 80,
-        81 => 81,
-        82 => 82,
-        84 => 84,
-        85 => 84,
-        86 => 84,
-        88 => 88,
-        89 => 88,
-        92 => 92,
-        96 => 96,
-        100 => 100,
-        102 => 102,
-        103 => 103,
-        104 => 104,
-        105 => 105,
-        106 => 106,
-        107 => 107,
-        108 => 108,
-        109 => 109,
-        110 => 110,
-        111 => 111,
-        112 => 112,
-        113 => 113,
-        115 => 115,
-        116 => 116,
-        117 => 117,
-        118 => 118,
-        193 => 118,
-        119 => 119,
-        151 => 119,
-        120 => 120,
-        121 => 121,
-        122 => 122,
-        123 => 122,
-        124 => 122,
-        125 => 125,
-        126 => 126,
-        129 => 126,
-        127 => 127,
-        128 => 128,
-        130 => 130,
-        203 => 130,
-        132 => 132,
-        133 => 133,
-        134 => 134,
-        156 => 134,
-        135 => 135,
-        136 => 136,
-        137 => 137,
-        138 => 138,
-        139 => 139,
-        140 => 140,
-        141 => 141,
-        142 => 142,
-        143 => 143,
-        144 => 144,
-        145 => 145,
-        147 => 147,
-        148 => 148,
-        149 => 148,
-        150 => 150,
-        152 => 152,
-        153 => 153,
-        155 => 155,
-        157 => 157,
-        158 => 158,
-        161 => 158,
-        172 => 158,
-        159 => 159,
-        160 => 160,
-        162 => 162,
-        163 => 163,
-        164 => 164,
-        169 => 164,
-        165 => 165,
-        168 => 165,
-        166 => 166,
-        171 => 166,
-        167 => 167,
-        170 => 167,
-        173 => 173,
-        174 => 174,
-        175 => 175,
-        176 => 176,
-        177 => 177,
-        178 => 178,
-        179 => 179,
-        180 => 180,
-        181 => 181,
-        182 => 182,
-        183 => 183,
-        184 => 184,
-        185 => 185,
-        186 => 186,
-        188 => 188,
-        189 => 189,
-        190 => 190,
-        191 => 191,
-        195 => 195,
-        198 => 195,
-        196 => 196,
-        197 => 197,
-        199 => 199,
-        200 => 200,
-    );
-#line 81 "smarty_internal_templateparser.y"
-    function yy_r0(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;     }
-#line 2044 "smarty_internal_templateparser.php"
-#line 87 "smarty_internal_templateparser.y"
-    function yy_r1(){if ($this->template->extract_code == false) {
-                                                  $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
-                                               } else {
-                                                 // store code in extract buffer
-                                                  $this->template->extracted_compiled_code .= $this->yystack[$this->yyidx + 0]->minor;
-                                               } 
-                                                 }
-#line 2053 "smarty_internal_templateparser.php"
-#line 95 "smarty_internal_templateparser.y"
-    function yy_r2(){if ($this->template->extract_code == false) {
-                                                             $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
-                                                           } else {
-                                                             // store code in extract buffer
-                                                             $this->template->extracted_compiled_code .= $this->yystack[$this->yyidx + 0]->minor;
-                                                             $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
-                                                           } 
-                                                              }
-#line 2063 "smarty_internal_templateparser.php"
-#line 108 "smarty_internal_templateparser.y"
-    function yy_r3(){
-                                          if ($this->compiler->has_code) {
-                                            $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array();
-                                            $this->_retvalue = $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true);
-                                         } else { $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;}  $this->compiler->has_variable_string = false;    }
-#line 2070 "smarty_internal_templateparser.php"
-#line 115 "smarty_internal_templateparser.y"
-    function yy_r4(){ $this->_retvalue = '';    }
-#line 2073 "smarty_internal_templateparser.php"
-#line 121 "smarty_internal_templateparser.y"
-    function yy_r6(){
-                                      if ($this->sec_obj->php_handling == SMARTY_PHP_PASSTHRU) {
-					                             $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + -2]->minor) . str_replace('<?','<?',$this->yystack[$this->yyidx + -1]->minor) . '?<??>>';
-                                      } elseif ($this->sec_obj->php_handling == SMARTY_PHP_QUOTE) {
-                                       $this->_retvalue = $this->compiler->processNocacheCode(htmlspecialchars($this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'?>', ENT_QUOTES), false);
-                                      }elseif ($this->sec_obj->php_handling == SMARTY_PHP_ALLOW) {
-                                       $this->_retvalue = $this->compiler->processNocacheCode('<?php'.$this->yystack[$this->yyidx + -1]->minor.'?>', true);
-                                      }elseif ($this->sec_obj->php_handling == SMARTY_PHP_REMOVE) {
-                                       $this->_retvalue = '';
-                                      }
-                                         }
-#line 2086 "smarty_internal_templateparser.php"
-#line 135 "smarty_internal_templateparser.y"
-    function yy_r7(){if ($this->lex->strip) {
-                                       $this->_retvalue = preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor);	
-                                     } else {
-                                       $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;	
-                                     }
-                                        }
-#line 2094 "smarty_internal_templateparser.php"
-#line 141 "smarty_internal_templateparser.y"
-    function yy_r8(){if ($this->lex->strip) {
-                                       $this->_retvalue = preg_replace('![\$this->yystack[$this->yyidx + 0]->minor ]*[\r\n]+[\$this->yystack[$this->yyidx + 0]->minor ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));	
-                                     } else {
-                                       $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor);	
-                                     }
-                                        }
-#line 2102 "smarty_internal_templateparser.php"
-#line 150 "smarty_internal_templateparser.y"
-    function yy_r9(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;     }
-#line 2105 "smarty_internal_templateparser.php"
-#line 151 "smarty_internal_templateparser.y"
-    function yy_r10(){ $this->_retvalue = '';     }
-#line 2108 "smarty_internal_templateparser.php"
-#line 154 "smarty_internal_templateparser.y"
-    function yy_r12(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;     }
-#line 2111 "smarty_internal_templateparser.php"
-#line 167 "smarty_internal_templateparser.y"
-    function yy_r20(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;     }
-#line 2114 "smarty_internal_templateparser.php"
-#line 174 "smarty_internal_templateparser.y"
-    function yy_r25(){ $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor);     }
-#line 2117 "smarty_internal_templateparser.php"
-#line 176 "smarty_internal_templateparser.y"
-    function yy_r27(){ $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor);     }
-#line 2120 "smarty_internal_templateparser.php"
-#line 184 "smarty_internal_templateparser.y"
-    function yy_r28(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array('value'=>$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2123 "smarty_internal_templateparser.php"
-#line 185 "smarty_internal_templateparser.y"
-    function yy_r29(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2126 "smarty_internal_templateparser.php"
-#line 196 "smarty_internal_templateparser.y"
-    function yy_r33(){ $this->_retvalue = $this->compiler->compileTag('assign',array('value'=>$this->yystack[$this->yyidx + -1]->minor,'var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'"));    }
-#line 2129 "smarty_internal_templateparser.php"
-#line 198 "smarty_internal_templateparser.y"
-    function yy_r35(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor,'var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'"),$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2132 "smarty_internal_templateparser.php"
-#line 201 "smarty_internal_templateparser.y"
-    function yy_r38(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array('value'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2135 "smarty_internal_templateparser.php"
-#line 205 "smarty_internal_templateparser.y"
-    function yy_r41(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor);    }
-#line 2138 "smarty_internal_templateparser.php"
-#line 207 "smarty_internal_templateparser.y"
-    function yy_r43(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array());    }
-#line 2141 "smarty_internal_templateparser.php"
-#line 209 "smarty_internal_templateparser.y"
-    function yy_r44(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,array_merge(array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2144 "smarty_internal_templateparser.php"
-#line 211 "smarty_internal_templateparser.y"
-    function yy_r45(){  $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
-                                                                                    $this->_retvalue .= $this->compiler->compileTag('private_modifier',array('modifier'=>$this->yystack[$this->yyidx + -3]->minor,'params'=>'ob_get_clean()'.$this->yystack[$this->yyidx + -2]->minor)).'?>';
-                                                                                     }
-#line 2149 "smarty_internal_templateparser.php"
-#line 215 "smarty_internal_templateparser.y"
-    function yy_r46(){  $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array_merge(array('object_methode'=>$this->yystack[$this->yyidx + -4]->minor),$this->yystack[$this->yyidx + -1]->minor)).'<?php echo ';
-                                                                                               $this->_retvalue .= $this->compiler->compileTag('private_modifier',array('modifier'=>$this->yystack[$this->yyidx + -3]->minor,'params'=>'ob_get_clean()'.$this->yystack[$this->yyidx + -2]->minor)).'?>';
-                                                                                                }
-#line 2154 "smarty_internal_templateparser.php"
-#line 219 "smarty_internal_templateparser.y"
-    function yy_r47(){ $this->_retvalue = $this->compiler->compileTag(($this->yystack[$this->yyidx + -3]->minor == 'else if')? 'elseif' : $this->yystack[$this->yyidx + -3]->minor,array('if condition'=>$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2157 "smarty_internal_templateparser.php"
-#line 220 "smarty_internal_templateparser.y"
-    function yy_r48(){ $this->_retvalue = $this->compiler->compileTag(($this->yystack[$this->yyidx + -3]->minor == 'else if')? 'elseif' : $this->yystack[$this->yyidx + -3]->minor,array('if condition'=>trim($this->yystack[$this->yyidx + -2]->minor).$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2160 "smarty_internal_templateparser.php"
-#line 223 "smarty_internal_templateparser.y"
-    function yy_r50(){
-                                                             $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -11]->minor,array('start'=>$this->yystack[$this->yyidx + -9]->minor,'ifexp'=>$this->yystack[$this->yyidx + -6]->minor,'varloop'=>$this->yystack[$this->yyidx + -2]->minor,'loop'=>$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2164 "smarty_internal_templateparser.php"
-#line 225 "smarty_internal_templateparser.y"
-    function yy_r51(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2167 "smarty_internal_templateparser.php"
-#line 226 "smarty_internal_templateparser.y"
-    function yy_r52(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;    }
-#line 2170 "smarty_internal_templateparser.php"
-#line 227 "smarty_internal_templateparser.y"
-    function yy_r53(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array_merge(array('start'=>$this->yystack[$this->yyidx + -4]->minor,'to'=>$this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2173 "smarty_internal_templateparser.php"
-#line 230 "smarty_internal_templateparser.y"
-    function yy_r54(){
-                                                            $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2177 "smarty_internal_templateparser.php"
-#line 232 "smarty_internal_templateparser.y"
-    function yy_r55(){
-                                                            $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -9]->minor,array('from'=>$this->yystack[$this->yyidx + -7]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor,'key'=>$this->yystack[$this->yyidx + -4]->minor));    }
-#line 2181 "smarty_internal_templateparser.php"
-#line 234 "smarty_internal_templateparser.y"
-    function yy_r56(){ 
-                                                            $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -6]->minor,array('from'=>$this->yystack[$this->yyidx + -4]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2185 "smarty_internal_templateparser.php"
-#line 236 "smarty_internal_templateparser.y"
-    function yy_r57(){ 
-                                                            $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -9]->minor,array('from'=>$this->yystack[$this->yyidx + -7]->minor,'item'=>$this->yystack[$this->yyidx + -1]->minor,'key'=>$this->yystack[$this->yyidx + -4]->minor));    }
-#line 2189 "smarty_internal_templateparser.php"
-#line 240 "smarty_internal_templateparser.y"
-    function yy_r58(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array());    }
-#line 2192 "smarty_internal_templateparser.php"
-#line 245 "smarty_internal_templateparser.y"
-    function yy_r63(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',$this->yystack[$this->yyidx + -1]->minor);    }
-#line 2195 "smarty_internal_templateparser.php"
-#line 246 "smarty_internal_templateparser.y"
-    function yy_r64(){  $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
-                                                                                         $this->_retvalue .= $this->compiler->compileTag('private_modifier',array('modifier'=>$this->yystack[$this->yyidx + -3]->minor,'params'=>'ob_get_clean()'.$this->yystack[$this->yyidx + -2]->minor)).'?>';
-                                                                                          }
-#line 2200 "smarty_internal_templateparser.php"
-#line 250 "smarty_internal_templateparser.y"
-    function yy_r65(){  $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor));    }
-#line 2203 "smarty_internal_templateparser.php"
-#line 257 "smarty_internal_templateparser.y"
-    function yy_r66(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor);    }
-#line 2206 "smarty_internal_templateparser.php"
-#line 261 "smarty_internal_templateparser.y"
-    function yy_r68(){ $this->_retvalue = array();    }
-#line 2209 "smarty_internal_templateparser.php"
-#line 264 "smarty_internal_templateparser.y"
-    function yy_r69(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'");    }
-#line 2212 "smarty_internal_templateparser.php"
-#line 265 "smarty_internal_templateparser.y"
-    function yy_r70(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor);    }
-#line 2215 "smarty_internal_templateparser.php"
-#line 269 "smarty_internal_templateparser.y"
-    function yy_r74(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor=>'true');    }
-#line 2218 "smarty_internal_templateparser.php"
-#line 276 "smarty_internal_templateparser.y"
-    function yy_r76(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);    }
-#line 2221 "smarty_internal_templateparser.php"
-#line 277 "smarty_internal_templateparser.y"
-    function yy_r77(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor;    }
-#line 2224 "smarty_internal_templateparser.php"
-#line 279 "smarty_internal_templateparser.y"
-    function yy_r78(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor);    }
-#line 2227 "smarty_internal_templateparser.php"
-#line 285 "smarty_internal_templateparser.y"
-    function yy_r79(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\'';     }
-#line 2230 "smarty_internal_templateparser.php"
-#line 286 "smarty_internal_templateparser.y"
-    function yy_r80(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;    }
-#line 2233 "smarty_internal_templateparser.php"
-#line 288 "smarty_internal_templateparser.y"
-    function yy_r81(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')';    }
-#line 2236 "smarty_internal_templateparser.php"
-#line 289 "smarty_internal_templateparser.y"
-    function yy_r82(){  $this->_retvalue = $this->compiler->compileTag('private_modifier',array('modifier'=>$this->yystack[$this->yyidx + -1]->minor,'params'=>$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor));     }
-#line 2239 "smarty_internal_templateparser.php"
-#line 294 "smarty_internal_templateparser.y"
-    function yy_r84(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor;     }
-#line 2242 "smarty_internal_templateparser.php"
-#line 307 "smarty_internal_templateparser.y"
-    function yy_r88(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2245 "smarty_internal_templateparser.php"
-#line 316 "smarty_internal_templateparser.y"
-    function yy_r92(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor;     }
-#line 2248 "smarty_internal_templateparser.php"
-#line 321 "smarty_internal_templateparser.y"
-    function yy_r96(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;     }
-#line 2251 "smarty_internal_templateparser.php"
-#line 331 "smarty_internal_templateparser.y"
-    function yy_r100(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")";     }
-#line 2254 "smarty_internal_templateparser.php"
-#line 335 "smarty_internal_templateparser.y"
-    function yy_r102(){ $_s = str_replace(array('."".','.""'),array('.',''),'"'.$this->yystack[$this->yyidx + -1]->minor.'"'); 
-                                                    if (substr($_s,0,3) == '"".') {
-                                                      $this->_retvalue = substr($_s,3);
-                                                    } else {
-                                                      $this->_retvalue = $_s;
-                                                    }
-                                                      }
-#line 2263 "smarty_internal_templateparser.php"
-#line 342 "smarty_internal_templateparser.y"
-    function yy_r103(){ $this->_retvalue = "''";     }
-#line 2266 "smarty_internal_templateparser.php"
-#line 344 "smarty_internal_templateparser.y"
-    function yy_r104(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor;     }
-#line 2269 "smarty_internal_templateparser.php"
-#line 345 "smarty_internal_templateparser.y"
-    function yy_r105(){ $this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -1]->minor .')';     }
-#line 2272 "smarty_internal_templateparser.php"
-#line 347 "smarty_internal_templateparser.y"
-    function yy_r106(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor.'::'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;     }
-#line 2275 "smarty_internal_templateparser.php"
-#line 348 "smarty_internal_templateparser.y"
-    function yy_r107(){ $this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -4]->minor .'\')->value;?>'; $this->_retvalue = $this->yystack[$this->yyidx + -7]->minor.'::$_tmp'.$this->prefix_number.'('. $this->yystack[$this->yyidx + -2]->minor .')'.$this->yystack[$this->yyidx + 0]->minor;     }
-#line 2278 "smarty_internal_templateparser.php"
-#line 350 "smarty_internal_templateparser.y"
-    function yy_r108(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2281 "smarty_internal_templateparser.php"
-#line 352 "smarty_internal_templateparser.y"
-    function yy_r109(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor.'::$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2284 "smarty_internal_templateparser.php"
-#line 354 "smarty_internal_templateparser.y"
-    function yy_r110(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.'::$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2287 "smarty_internal_templateparser.php"
-#line 356 "smarty_internal_templateparser.y"
-    function yy_r111(){ $this->prefix_number++; $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number;     }
-#line 2290 "smarty_internal_templateparser.php"
-#line 365 "smarty_internal_templateparser.y"
-    function yy_r112(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { $this->_retvalue =  $this->compiler->compileTag('private_special_variable',$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);} else {
-                                                         $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor['var'] .')->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"), null, true, false)->nocache;}    }
-#line 2294 "smarty_internal_templateparser.php"
-#line 368 "smarty_internal_templateparser.y"
-    function yy_r113(){ $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache;    }
-#line 2297 "smarty_internal_templateparser.php"
-#line 372 "smarty_internal_templateparser.y"
-    function yy_r115(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')';    }
-#line 2300 "smarty_internal_templateparser.php"
-#line 373 "smarty_internal_templateparser.y"
-    function yy_r116(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')';    }
-#line 2303 "smarty_internal_templateparser.php"
-#line 376 "smarty_internal_templateparser.y"
-    function yy_r117(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor);    }
-#line 2306 "smarty_internal_templateparser.php"
-#line 382 "smarty_internal_templateparser.y"
-    function yy_r118(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2309 "smarty_internal_templateparser.php"
-#line 384 "smarty_internal_templateparser.y"
-    function yy_r119(){return;    }
-#line 2312 "smarty_internal_templateparser.php"
-#line 388 "smarty_internal_templateparser.y"
-    function yy_r120(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor .')->value]'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + 0]->minor', null, true, false)->nocache;    }
-#line 2315 "smarty_internal_templateparser.php"
-#line 389 "smarty_internal_templateparser.y"
-    function yy_r121(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor.']'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache;    }
-#line 2318 "smarty_internal_templateparser.php"
-#line 392 "smarty_internal_templateparser.y"
-    function yy_r122(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']";    }
-#line 2321 "smarty_internal_templateparser.php"
-#line 396 "smarty_internal_templateparser.y"
-    function yy_r125(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]";    }
-#line 2324 "smarty_internal_templateparser.php"
-#line 397 "smarty_internal_templateparser.y"
-    function yy_r126(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]";    }
-#line 2327 "smarty_internal_templateparser.php"
-#line 399 "smarty_internal_templateparser.y"
-    function yy_r127(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable','[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']';    }
-#line 2330 "smarty_internal_templateparser.php"
-#line 400 "smarty_internal_templateparser.y"
-    function yy_r128(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable','[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']';    }
-#line 2333 "smarty_internal_templateparser.php"
-#line 404 "smarty_internal_templateparser.y"
-    function yy_r130(){$this->_retvalue = '';    }
-#line 2336 "smarty_internal_templateparser.php"
-#line 412 "smarty_internal_templateparser.y"
-    function yy_r132(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2339 "smarty_internal_templateparser.php"
-#line 414 "smarty_internal_templateparser.y"
-    function yy_r133(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\'';    }
-#line 2342 "smarty_internal_templateparser.php"
-#line 417 "smarty_internal_templateparser.y"
-    function yy_r134(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')';    }
-#line 2345 "smarty_internal_templateparser.php"
-#line 422 "smarty_internal_templateparser.y"
-    function yy_r135(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue =  $this->compiler->compileTag('private_special_variable',$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor;} else {
-                                                         $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor['var'],"'"), null, true, false)->nocache;}    }
-#line 2349 "smarty_internal_templateparser.php"
-#line 425 "smarty_internal_templateparser.y"
-    function yy_r136(){$this->_retvalue  = $this->yystack[$this->yyidx + 0]->minor;     }
-#line 2352 "smarty_internal_templateparser.php"
-#line 427 "smarty_internal_templateparser.y"
-    function yy_r137(){$this->_retvalue  = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;     }
-#line 2355 "smarty_internal_templateparser.php"
-#line 429 "smarty_internal_templateparser.y"
-    function yy_r138(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2358 "smarty_internal_templateparser.php"
-#line 430 "smarty_internal_templateparser.y"
-    function yy_r139(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';    }
-#line 2361 "smarty_internal_templateparser.php"
-#line 431 "smarty_internal_templateparser.y"
-    function yy_r140(){ $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';    }
-#line 2364 "smarty_internal_templateparser.php"
-#line 432 "smarty_internal_templateparser.y"
-    function yy_r141(){ $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';    }
-#line 2367 "smarty_internal_templateparser.php"
-#line 434 "smarty_internal_templateparser.y"
-    function yy_r142(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2370 "smarty_internal_templateparser.php"
-#line 440 "smarty_internal_templateparser.y"
-    function yy_r143(){if (!$this->template->security || $this->smarty->security_handler->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) {
-																					            if ($this->yystack[$this->yyidx + -3]->minor == 'isset' || $this->yystack[$this->yyidx + -3]->minor == 'empty' || $this->yystack[$this->yyidx + -3]->minor == 'array' || is_callable($this->yystack[$this->yyidx + -3]->minor)) {
-																					                $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")";
-																					            } else {
-                                                       $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\"");
-                                                      }
-                                                    }    }
-#line 2379 "smarty_internal_templateparser.php"
-#line 451 "smarty_internal_templateparser.y"
-    function yy_r144(){ $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $this->yystack[$this->yyidx + -1]->minor .")";    }
-#line 2382 "smarty_internal_templateparser.php"
-#line 455 "smarty_internal_templateparser.y"
-    function yy_r145(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.",".$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2385 "smarty_internal_templateparser.php"
-#line 459 "smarty_internal_templateparser.y"
-    function yy_r147(){ return;    }
-#line 2388 "smarty_internal_templateparser.php"
-#line 464 "smarty_internal_templateparser.y"
-    function yy_r148(){ $this->_retvalue =  $this->yystack[$this->yyidx + 0]->minor;    }
-#line 2391 "smarty_internal_templateparser.php"
-#line 477 "smarty_internal_templateparser.y"
-    function yy_r150(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2394 "smarty_internal_templateparser.php"
-#line 481 "smarty_internal_templateparser.y"
-    function yy_r152(){$this->_retvalue = ','.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2397 "smarty_internal_templateparser.php"
-#line 482 "smarty_internal_templateparser.y"
-    function yy_r153(){$this->_retvalue = ',\''.$this->yystack[$this->yyidx + 0]->minor.'\'';    }
-#line 2400 "smarty_internal_templateparser.php"
-#line 489 "smarty_internal_templateparser.y"
-    function yy_r155(){$this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2403 "smarty_internal_templateparser.php"
-#line 494 "smarty_internal_templateparser.y"
-    function yy_r157(){$this->_retvalue =$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2406 "smarty_internal_templateparser.php"
-#line 495 "smarty_internal_templateparser.y"
-    function yy_r158(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2409 "smarty_internal_templateparser.php"
-#line 496 "smarty_internal_templateparser.y"
-    function yy_r159(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')';    }
-#line 2412 "smarty_internal_templateparser.php"
-#line 497 "smarty_internal_templateparser.y"
-    function yy_r160(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')';    }
-#line 2415 "smarty_internal_templateparser.php"
-#line 499 "smarty_internal_templateparser.y"
-    function yy_r162(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')';    }
-#line 2418 "smarty_internal_templateparser.php"
-#line 500 "smarty_internal_templateparser.y"
-    function yy_r163(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')';    }
-#line 2421 "smarty_internal_templateparser.php"
-#line 501 "smarty_internal_templateparser.y"
-    function yy_r164(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')';    }
-#line 2424 "smarty_internal_templateparser.php"
-#line 502 "smarty_internal_templateparser.y"
-    function yy_r165(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')';    }
-#line 2427 "smarty_internal_templateparser.php"
-#line 503 "smarty_internal_templateparser.y"
-    function yy_r166(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')';    }
-#line 2430 "smarty_internal_templateparser.php"
-#line 504 "smarty_internal_templateparser.y"
-    function yy_r167(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')';    }
-#line 2433 "smarty_internal_templateparser.php"
-#line 510 "smarty_internal_templateparser.y"
-    function yy_r173(){$this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>'; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number;    }
-#line 2436 "smarty_internal_templateparser.php"
-#line 512 "smarty_internal_templateparser.y"
-    function yy_r174(){$this->_retvalue = '==';    }
-#line 2439 "smarty_internal_templateparser.php"
-#line 513 "smarty_internal_templateparser.y"
-    function yy_r175(){$this->_retvalue = '!=';    }
-#line 2442 "smarty_internal_templateparser.php"
-#line 514 "smarty_internal_templateparser.y"
-    function yy_r176(){$this->_retvalue = '>';    }
-#line 2445 "smarty_internal_templateparser.php"
-#line 515 "smarty_internal_templateparser.y"
-    function yy_r177(){$this->_retvalue = '<';    }
-#line 2448 "smarty_internal_templateparser.php"
-#line 516 "smarty_internal_templateparser.y"
-    function yy_r178(){$this->_retvalue = '>=';    }
-#line 2451 "smarty_internal_templateparser.php"
-#line 517 "smarty_internal_templateparser.y"
-    function yy_r179(){$this->_retvalue = '<=';    }
-#line 2454 "smarty_internal_templateparser.php"
-#line 518 "smarty_internal_templateparser.y"
-    function yy_r180(){$this->_retvalue = '===';    }
-#line 2457 "smarty_internal_templateparser.php"
-#line 519 "smarty_internal_templateparser.y"
-    function yy_r181(){$this->_retvalue = '!==';    }
-#line 2460 "smarty_internal_templateparser.php"
-#line 520 "smarty_internal_templateparser.y"
-    function yy_r182(){$this->_retvalue = '%';    }
-#line 2463 "smarty_internal_templateparser.php"
-#line 522 "smarty_internal_templateparser.y"
-    function yy_r183(){$this->_retvalue = '&&';    }
-#line 2466 "smarty_internal_templateparser.php"
-#line 523 "smarty_internal_templateparser.y"
-    function yy_r184(){$this->_retvalue = '||';    }
-#line 2469 "smarty_internal_templateparser.php"
-#line 524 "smarty_internal_templateparser.y"
-    function yy_r185(){$this->_retvalue = ' XOR ';    }
-#line 2472 "smarty_internal_templateparser.php"
-#line 529 "smarty_internal_templateparser.y"
-    function yy_r186(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')';    }
-#line 2475 "smarty_internal_templateparser.php"
-#line 531 "smarty_internal_templateparser.y"
-    function yy_r188(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor;     }
-#line 2478 "smarty_internal_templateparser.php"
-#line 532 "smarty_internal_templateparser.y"
-    function yy_r189(){ return;     }
-#line 2481 "smarty_internal_templateparser.php"
-#line 533 "smarty_internal_templateparser.y"
-    function yy_r190(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2484 "smarty_internal_templateparser.php"
-#line 534 "smarty_internal_templateparser.y"
-    function yy_r191(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor;    }
-#line 2487 "smarty_internal_templateparser.php"
-#line 543 "smarty_internal_templateparser.y"
-    function yy_r195(){if (substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '\'' || substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '@') {
-                                                                 $this->_retvalue = '".'.$this->yystack[$this->yyidx + -1]->minor.'."'; $this->compiler->has_variable_string = true;
-                                                                } else {
-                                                                 $this->_retvalue = '{'.$this->yystack[$this->yyidx + -1]->minor.'}'; $this->compiler->has_variable_string = true;
-                                                                }
-                                                                   }
-#line 2495 "smarty_internal_templateparser.php"
-#line 549 "smarty_internal_templateparser.y"
-    function yy_r196(){$this->_retvalue = '{'.$this->yystack[$this->yyidx + -1]->minor.'}'; $this->compiler->has_variable_string = true;    }
-#line 2498 "smarty_internal_templateparser.php"
-#line 550 "smarty_internal_templateparser.y"
-    function yy_r197(){$this->_retvalue = '{$_smarty_tpl->getVariable(\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\')->value}'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"), null, true, false)->nocache; $this->compiler->has_variable_string = true;    }
-#line 2501 "smarty_internal_templateparser.php"
-#line 557 "smarty_internal_templateparser.y"
-    function yy_r199(){ $this->_retvalue = '".('.$this->yystack[$this->yyidx + -1]->minor.')."'; $this->compiler->has_variable_string = true;    }
-#line 2504 "smarty_internal_templateparser.php"
-#line 558 "smarty_internal_templateparser.y"
-    function yy_r200(){ $this->prefix_number++; $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '{$_tmp'.$this->prefix_number.'}'; $this->compiler->has_variable_string = true;    }
-#line 2507 "smarty_internal_templateparser.php"
-
-    private $_retvalue;
-
-    function yy_reduce($yyruleno)
-    {
-        $yymsp = $this->yystack[$this->yyidx];
-        if (self::$yyTraceFILE && $yyruleno >= 0 
-              && $yyruleno < count(self::$yyRuleName)) {
-            fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
-                self::$yyTracePrompt, $yyruleno,
-                self::$yyRuleName[$yyruleno]);
-        }
-
-        $this->_retvalue = $yy_lefthand_side = null;
-        if (array_key_exists($yyruleno, self::$yyReduceMap)) {
-            // call the action
-            $this->_retvalue = null;
-            $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
-            $yy_lefthand_side = $this->_retvalue;
-        }
-        $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
-        $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
-        $this->yyidx -= $yysize;
-        for($i = $yysize; $i; $i--) {
-            // pop all of the right-hand side parameters
-            array_pop($this->yystack);
-        }
-        $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
-        if ($yyact < self::YYNSTATE) {
-            if (!self::$yyTraceFILE && $yysize) {
-                $this->yyidx++;
-                $x = new TP_yyStackEntry;
-                $x->stateno = $yyact;
-                $x->major = $yygoto;
-                $x->minor = $yy_lefthand_side;
-                $this->yystack[$this->yyidx] = $x;
-            } else {
-                $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
-            }
-        } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
-            $this->yy_accept();
-        }
-    }
-
-    function yy_parse_failed()
-    {
-        if (self::$yyTraceFILE) {
-            fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
-        }
-        while ($this->yyidx >= 0) {
-            $this->yy_pop_parser_stack();
-        }
-    }
-
-    function yy_syntax_error($yymajor, $TOKEN)
-    {
-#line 71 "smarty_internal_templateparser.y"
-
-    $this->internalError = true;
-    $this->yymajor = $yymajor;
-    $this->compiler->trigger_template_error();
-#line 2570 "smarty_internal_templateparser.php"
-    }
-
-    function yy_accept()
-    {
-        if (self::$yyTraceFILE) {
-            fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
-        }
-        while ($this->yyidx >= 0) {
-            $stack = $this->yy_pop_parser_stack();
-        }
-#line 63 "smarty_internal_templateparser.y"
-
-    $this->successful = !$this->internalError;
-    $this->internalError = false;
-    $this->retvalue = $this->_retvalue;
-    //echo $this->retvalue."\n\n";
-#line 2588 "smarty_internal_templateparser.php"
-    }
-
-    function doParse($yymajor, $yytokenvalue)
-    {
-        $yyerrorhit = 0;   /* True if yymajor has invoked an error */
-        
-        if ($this->yyidx === null || $this->yyidx < 0) {
-            $this->yyidx = 0;
-            $this->yyerrcnt = -1;
-            $x = new TP_yyStackEntry;
-            $x->stateno = 0;
-            $x->major = 0;
-            $this->yystack = array();
-            array_push($this->yystack, $x);
-        }
-        $yyendofinput = ($yymajor==0);
-        
-        if (self::$yyTraceFILE) {
-            fprintf(self::$yyTraceFILE, "%sInput %s\n",
-                self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
-        }
-        
-        do {
-            $yyact = $this->yy_find_shift_action($yymajor);
-            if ($yymajor < self::YYERRORSYMBOL &&
-                  !$this->yy_is_expected_token($yymajor)) {
-                // force a syntax error
-                $yyact = self::YY_ERROR_ACTION;
-            }
-            if ($yyact < self::YYNSTATE) {
-                $this->yy_shift($yyact, $yymajor, $yytokenvalue);
-                $this->yyerrcnt--;
-                if ($yyendofinput && $this->yyidx >= 0) {
-                    $yymajor = 0;
-                } else {
-                    $yymajor = self::YYNOCODE;
-                }
-            } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
-                $this->yy_reduce($yyact - self::YYNSTATE);
-            } elseif ($yyact == self::YY_ERROR_ACTION) {
-                if (self::$yyTraceFILE) {
-                    fprintf(self::$yyTraceFILE, "%sSyntax Error!\n",
-                        self::$yyTracePrompt);
-                }
-                if (self::YYERRORSYMBOL) {
-                    if ($this->yyerrcnt < 0) {
-                        $this->yy_syntax_error($yymajor, $yytokenvalue);
-                    }
-                    $yymx = $this->yystack[$this->yyidx]->major;
-                    if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){
-                        if (self::$yyTraceFILE) {
-                            fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n",
-                                self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
-                        }
-                        $this->yy_destructor($yymajor, $yytokenvalue);
-                        $yymajor = self::YYNOCODE;
-                    } else {
-                        while ($this->yyidx >= 0 &&
-                                 $yymx != self::YYERRORSYMBOL &&
-        ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
-                              ){
-                            $this->yy_pop_parser_stack();
-                        }
-                        if ($this->yyidx < 0 || $yymajor==0) {
-                            $this->yy_destructor($yymajor, $yytokenvalue);
-                            $this->yy_parse_failed();
-                            $yymajor = self::YYNOCODE;
-                        } elseif ($yymx != self::YYERRORSYMBOL) {
-                            $u2 = 0;
-                            $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
-                        }
-                    }
-                    $this->yyerrcnt = 3;
-                    $yyerrorhit = 1;
-                } else {
-                    if ($this->yyerrcnt <= 0) {
-                        $this->yy_syntax_error($yymajor, $yytokenvalue);
-                    }
-                    $this->yyerrcnt = 3;
-                    $this->yy_destructor($yymajor, $yytokenvalue);
-                    if ($yyendofinput) {
-                        $this->yy_parse_failed();
-                    }
-                    $yymajor = self::YYNOCODE;
-                }
-            } else {
-                $this->yy_accept();
-                $yymajor = self::YYNOCODE;
-            }            
-        } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
-    }
-}
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_write_file.php b/gosa-core/include/smarty/sysplugins/smarty_internal_write_file.php
deleted file mode 100644
index 5c756f1..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_internal_write_file.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/**
-* Smarty write file plugin
-* 
-* @package Smarty
-* @subpackage PluginsInternal
-* @author Monte Ohrt 
-*/
-/**
-* Smarty Internal Write File Class
-*/
-class Smarty_Internal_Write_File {
-    /**
-    * Writes file in a save way to disk
-    * 
-    * @param string $_filepath complete filepath
-    * @param string $_contents file content
-    * @return boolean true
-    */
-    public static function writeFile($_filepath, $_contents, $smarty)
-    {
-        $old_umask = umask(0);
-        $_dirpath = dirname($_filepath); 
-        // if subdirs, create dir structure
-        if ($_dirpath !== '.' && !file_exists($_dirpath)) {
-            mkdir($_dirpath, $smarty->_dir_perms, true);
-        } 
-        // write to tmp file, then move to overt file lock race condition
-        $_tmp_file = tempnam($_dirpath, 'wrt');
-
-        if (!file_put_contents($_tmp_file, $_contents)) {
-            umask($old_umask);
-            throw new Exception("unable to write file {$_tmp_file}");
-            return false;
-        } 
-        // remove original file
-        if (file_exists($_filepath))
-            @unlink($_filepath); 
-        // rename tmp file
-        rename($_tmp_file, $_filepath); 
-        // set file permissions
-        chmod($_filepath, $smarty->_file_perms);
-        umask($old_umask);
-        return true;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method__get_filter_name.php b/gosa-core/include/smarty/sysplugins/smarty_method__get_filter_name.php
deleted file mode 100644
index 9bc18fb..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method__get_filter_name.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/**
-* Smarty method _get_filter_name
-* 
-* Return internal filter name
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Return internal filter name
-* 
-* @param object $smarty 
-* @param callback $function 
-*/
-function Smarty_Method__get_filter_name($smarty, $function)
-{
-		if (is_array($function)) {
-			$_class_name = (is_object($function[0]) ?
-				get_class($function[0]) : $function[0]);
-			return $_class_name . '_' . $function[1];
-		}
-		else {
-			return $function;
-		}
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_addpluginsdir.php b/gosa-core/include/smarty/sysplugins/smarty_method_addpluginsdir.php
deleted file mode 100644
index 24eb113..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_addpluginsdir.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
-* Smarty method addPluginsDir
-* 
-* Adds directory of plugin files
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Adds directory of plugin files
-* 
-* @param object $smarty 
-* @param string $ |array $ plugins folder
-* @return 
-*/
-function  Smarty_Method_AddPluginsDir($smarty, $plugins_dir)
-{
-    $smarty->plugins_dir = array_merge((array)$smarty->plugins_dir, (array)$plugins_dir);
-    $smarty->plugins_dir = array_unique($smarty->plugins_dir);
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_clear_all_assign.php b/gosa-core/include/smarty/sysplugins/smarty_method_clear_all_assign.php
deleted file mode 100644
index 9809f03..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_clear_all_assign.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/**
-* Smarty method Clear_All_Assign
-* 
-* Deletes all assigned Smarty variables at current level
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Delete Smarty variables
-* 
-* @param object $smarty 
-* @param object $data_object object which holds tpl_vars
-*/
-function  Smarty_Method_Clear_All_Assign($smarty, $data_object = null)
-{
-    if (isset($data_object)) {
-        $ptr = $data_object;
-    } else {
-        $ptr = $smarty;
-    } 
-    $ptr->tpl_vars = array();
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_clear_all_cache.php b/gosa-core/include/smarty/sysplugins/smarty_method_clear_all_cache.php
deleted file mode 100644
index 2d26315..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_clear_all_cache.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/**
-* Smarty method Clear_All_Cache
-* 
-* Empties the cache folder
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Empty cache folder
-* 
-* @param object $smarty 
-* @param integer $exp_time expiration time
-* @param string $type resource type
-* @return integer number of cache files deleted
-*/
-function  Smarty_Method_Clear_All_Cache($smarty, $exp_time = null, $type = null)
-{ 
-    // load cache resource
-    $cacheResource = $smarty->loadCacheResource($type);
-
-    return $cacheResource->clearAll($exp_time);
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_clear_assign.php b/gosa-core/include/smarty/sysplugins/smarty_method_clear_assign.php
deleted file mode 100644
index 1f1fe0b..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_clear_assign.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/**
-* Smarty method Clear_Assign
-* 
-* Deletes a assigned Smarty variable or array of variables at current level
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Delete a Smarty variable or array of variables
-* 
-* @param object $smarty 
-* @param string $ |array $varname variable name or array of variable names
-* @param object $data_object object which holds tpl_vars
-*/
-function  Smarty_Method_Clear_Assign($smarty, $varname, $data_object = null)
-{
-    foreach ((array)$varname as $variable) {
-        if (isset($data_object)) {
-            $ptr = $data_object;
-        } else {
-            $ptr = $smarty;
-        } while ($ptr != null) {
-            if (isset($ptr->tpl_vars[$variable])) {
-                unset($ptr->tpl_vars[$variable]);
-            } 
-            $ptr = $ptr->parent;
-        } 
-    } 
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_clear_cache.php b/gosa-core/include/smarty/sysplugins/smarty_method_clear_cache.php
deleted file mode 100644
index 59b79d7..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_clear_cache.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/**
-* Smarty method Clear_Cache
-* 
-* Empties the cache for a specific template
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Empty cache for a specific template
-* 
-* @param object $smarty 
-* @param string $template_name template name
-* @param string $cache_id cache id
-* @param string $compile_id compile id
-* @param integer $exp_time expiration time
-* @param string $type resource type
-* @return integer number of cache files deleted
-*/
-function  Smarty_Method_Clear_Cache($smarty, $template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null)
-{ 
-   // load cache resource
-    $cacheResource = $smarty->loadCacheResource($type);
-
-    return $cacheResource->clear($template_name, $cache_id, $compile_id, $exp_time);
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_clear_compiled_tpl.php b/gosa-core/include/smarty/sysplugins/smarty_method_clear_compiled_tpl.php
deleted file mode 100644
index f57f985..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_clear_compiled_tpl.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/**
-* Smarty method Clear_Compiled_Tpl
-* 
-* Deletes compiled template files
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Delete compiled template file
-* 
-* @param string $resource_name template name
-* @param string $compile_id compile id
-* @param integer $exp_time expiration time
-* @return integer number of template files deleted
-*/
-function  Smarty_Method_Clear_Compiled_Tpl($smarty, $resource_name = null, $compile_id = null, $exp_time = null)
-{
-    $_compile_id =  isset($compile_id) ? preg_replace('![^\w\|]+!','_',$compile_id) : null;
-    $_dir_sep = $smarty->use_sub_dirs ? DS : '^';
-    if (isset($resource_name)) {
-        $_resource_part_1 = $resource_name . '.php';
-        $_resource_part_2 = $resource_name . '.cache' . '.php';
-    } else {
-        $_resource_part = '';
-    } 
-    $_dir = $smarty->compile_dir;
-    if ($smarty->use_sub_dirs && isset($_compile_id)) {
-        $_dir .= $_compile_id . $_dir_sep;
-    } 
-    if (isset($_compile_id)) {
-        $_compile_id_part = $smarty->compile_dir . $_compile_id . $_dir_sep;
-    } 
-    $_count = 0;
-    $_compileDirs = new RecursiveDirectoryIterator($_dir);
-    $_compile = new RecursiveIteratorIterator($_compileDirs, RecursiveIteratorIterator::CHILD_FIRST);
-    foreach ($_compile as $_file) {
-        if (strpos($_file, '.svn') !== false) continue;
-        if ($_file->isDir()) {
-            if (!$_compile->isDot()) {
-                // delete folder if empty
-                @rmdir($_file->getPathname());
-            } 
-        } else {
-            if ((!isset($_compile_id) || (strlen((string)$_file) > strlen($_compile_id_part) && substr_compare((string)$_file, $_compile_id_part, 0, strlen($_compile_id_part)) == 0)) &&
-                    (!isset($resource_name) || (strlen((string)$_file) > strlen($_resource_part_1) && substr_compare((string)$_file, $_resource_part_1, - strlen($_resource_part_1), strlen($_resource_part_1)) == 0) ||
-                        (strlen((string)$_file) > strlen($_resource_part_2) && substr_compare((string)$_file, $_resource_part_2, - strlen($_resource_part_2), strlen($_resource_part_2)) == 0))) {
-                if (isset($exp_time)) {
-                    if (time() - @filemtime($_file) >= $exp_time) {
-                        $_count += @unlink((string) $_file) ? 1 : 0;
-                    } 
-                } else {
-                    $_count += @unlink((string) $_file) ? 1 : 0;
-                } 
-            } 
-        } 
-    } 
-    return $_count;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_clear_config.php b/gosa-core/include/smarty/sysplugins/smarty_method_clear_config.php
deleted file mode 100644
index 3c752e0..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_clear_config.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/**
-* Smarty method Get_Config_Vars
-* 
-* Returns a single or all global config variables
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Deassigns a single or all global config variables
-* 
-* @param object $smarty 
-* @param string $varname variable name or null
-*/
-function  Smarty_Method_Clear_Config($smarty, $varname = null)
-{
-    if (isset($varname)) {
-        unset($smarty->config_vars[$varname]);
-        return;
-    } else {
-        $smarty->config_vars = array();
-        return;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_compile_directory.php b/gosa-core/include/smarty/sysplugins/smarty_method_compile_directory.php
deleted file mode 100644
index 48ffff7..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_compile_directory.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/**
-* Smarty method compile_dir
-* 
-* Compiles all template files in an given directory
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Compile all template files
-* 
-* @param string $dir_name name of directories
-* @return integer number of template files deleted
-*/
-function  Smarty_Method_Compile_Directory($smarty, $extention = '.tpl', $force_compile = false, $time_limit = 0, $max_errors = null)
-{
-    function _get_time()
-    {
-        $_mtime = microtime();
-        $_mtime = explode(" ", $_mtime);
-        return (double)($_mtime[1]) + (double)($_mtime[0]);
-    } 
-    // set default directory
-    if ($dir_name === null) {
-        $dir_name = $smarty->template_dir;
-    } 
-    // switch off time limit
-    if (function_exists('set_time_limit')) {
-        @set_time_limit($time_limit);
-    } 
-    $smarty->force_compile = $force_compile;
-    $_count = 0;
-    $_error_count = 0; 
-    // loop over array of template directories
-    foreach((array)$smarty->template_dir as $_dir) {
-        $_compileDirs = new RecursiveDirectoryIterator($_dir);
-        $_compile = new RecursiveIteratorIterator($_compileDirs);
-        foreach ($_compile as $_fileinfo) {
-            if (strpos($_fileinfo, '.svn') !== false) continue;
-            $_file = $_fileinfo->getFilename();
-            if (!substr_compare($_file, $extention, - strlen($extention)) == 0) continue;
-            if ($_fileinfo->getPath() == substr($_dir, 0, -1)) {
-                $_template_file = $_file;
-            } else {
-                $_template_file = substr($_fileinfo->getPath(), strlen($_dir)) . '\\' . $_file;
-            } 
-            echo '<br>', $_dir, '---', $_template_file;
-            flush();
-            $_start_time = _get_time();
-            try {
-                $_tpl = $smarty->createTemplate($_template_file);
-                $_tpl->getCompiledTemplate();
-            } 
-            catch (Exception $e) {
-                echo 'Error: ', $e->getMessage(), "<br><br>";
-                $_error_count++;
-            } 
-            echo ' done in  ', _get_time() - $_start_time, ' seconds';
-            if ($max_errors !== null && $_error_count == $max_errors) {
-                echo '<br><br>too many errors';
-                exit();
-            } 
-        } 
-    } 
-    return $_count;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_disablecachemodifycheck.php b/gosa-core/include/smarty/sysplugins/smarty_method_disablecachemodifycheck.php
deleted file mode 100644
index aac8fab..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_disablecachemodifycheck.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/**
-* Smarty method DisableCacheModifyCheck
-* 
-* Disable cache modify check
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* 
-* Disable cache modify check
-*/
-function  Smarty_Method_DisableCacheModifyCheck($smarty)
-    {
-        $smarty->cache_modified_check = false;
-        return ;
-    } 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_disablecaching.php b/gosa-core/include/smarty/sysplugins/smarty_method_disablecaching.php
deleted file mode 100644
index ba5097a..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_disablecaching.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method DisableCaching
-* 
-* Disable caching
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Disable caching
-*/
-function  Smarty_Method_DisableCaching()
-{
-    $this->smarty->caching = false;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_disablecompilecheck.php b/gosa-core/include/smarty/sysplugins/smarty_method_disablecompilecheck.php
deleted file mode 100644
index f18514f..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_disablecompilecheck.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/**
-* Smarty method DisableCompileCheck
-* 
-* Disable compile checking
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Disable compile checking
-* 
-* @param object $smarty 
-*/
-function  Smarty_Method_DisableCompileCheck($smarty)
-{
-    $smarty->compile_check = false;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigbooleanize.php b/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigbooleanize.php
deleted file mode 100644
index fa7a434..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigbooleanize.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method DisableConfigBooleanize
-* 
-* Disable config booleanize mode
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Disable config booleanize mode
-*/
-function  Smarty_Method_DisableConfigBooleanize($smarty)
-{
-    $this->smarty->config_booleanize = false;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigoverwrite.php b/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigoverwrite.php
deleted file mode 100644
index d37cea4..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigoverwrite.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method DisableConfigOverwrite
-* 
-* Disable config overwrite mode
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Disable config overwrite mode
-*/
-function  Smarty_Method_DisableConfigOverwrite($smarty)
-{
-    $smarty->config_overwrite = false;
-    return ;
-} 
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigreadhidden.php b/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigreadhidden.php
deleted file mode 100644
index e5001d6..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_disableconfigreadhidden.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method DisableConfigReadHidden
-* 
-* Disable config read hidden mode
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Disable config read hidden mode
-*/
-function  Smarty_Method_DisableConfigReadHidden ($smarty)
-{
-    $this->smarty->config_read_hidden = false;
-    return;
-} 
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_disabledebugging.php b/gosa-core/include/smarty/sysplugins/smarty_method_disabledebugging.php
deleted file mode 100644
index 3cfccd7..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_disabledebugging.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method DisableDebugging
-* 
-* Disable debugging
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Disable debugging
-*/
-function  Smarty_Method_DisableDebugging($smarty)
-{
-    $smarty->debugging = false;
-    return;
-} 
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_disabledebuggingurlctrl.php b/gosa-core/include/smarty/sysplugins/smarty_method_disabledebuggingurlctrl.php
deleted file mode 100644
index fa149db..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_disabledebuggingurlctrl.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method DisableDebuggingUrlCtrl
-* 
-* Disable possibility to Disable debugging by SMARTY_DEBUG attribute
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Disable possibility to Disable debugging by SMARTY_DEBUG attribute
-*/
-function  Smarty_Method_DisableDebuggingUrlCtrl($smarty)
-    {
-        $smarty->debugging_ctrl = 'none';
-        return;
-    } 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_disabledefaulttimezone.php b/gosa-core/include/smarty/sysplugins/smarty_method_disabledefaulttimezone.php
deleted file mode 100644
index 3aef9cb..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_disabledefaulttimezone.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method DisableDefaultTimezone
-* 
-* Disable setting of default timezone
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Disable setting of default timezone
-*/
-function  Smarty_Method_DisableDefaultTimezone($smarty)
-{
-    $smarty->set_timezone = false;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_disableforcecompile.php b/gosa-core/include/smarty/sysplugins/smarty_method_disableforcecompile.php
deleted file mode 100644
index 7dab167..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_disableforcecompile.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method DisableForceCompile
-* 
-* Disable forced compiling
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Disable forced compiling
-*/
-function  Smarty_Method_DisableForceCompile($smarty)
-{
-    $smarty->force_compile = false;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_disablevariablefilter.php b/gosa-core/include/smarty/sysplugins/smarty_method_disablevariablefilter.php
deleted file mode 100644
index 173bdfe..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_disablevariablefilter.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method DisableVariableFilter
-* 
-* Disable  filter on variable output
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Disable filter on variable output
-*/
-function  Smarty_Method_DisableVariableFilter($smarty)
-{
-    $smarty->variable_filter = false;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_enablecachemodifycheck.php b/gosa-core/include/smarty/sysplugins/smarty_method_enablecachemodifycheck.php
deleted file mode 100644
index 31dbbeb..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_enablecachemodifycheck.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method EnableCacheModifyCheck
-* 
-* Enable cache modify check
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Enable cache modify check
-*/
-function  Smarty_Method_EnableCacheModifyCheck($smarty)
-{
-    $smarty->cache_modified_check = true;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_enablecompilecheck.php b/gosa-core/include/smarty/sysplugins/smarty_method_enablecompilecheck.php
deleted file mode 100644
index 23cd283..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_enablecompilecheck.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method EnableCompileCheck
-* 
-* Enable compile checking
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Enable compile checking
-*/
-function  Smarty_Method_EnableCompileCheck($smarty)
-{
-    $smarty->compile_check = true;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigbooleanize.php b/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigbooleanize.php
deleted file mode 100644
index ab7bd14..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigbooleanize.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method EnableConfigBooleanize
-* 
-* Enable config booleanize mode
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Enable config booleanize mode
-*/
-function  Smarty_Method_EnableConfigBooleanize($smarty)
-{
-    $smarty->config_booleanize = true;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigoverwrite.php b/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigoverwrite.php
deleted file mode 100644
index 7f0cc71..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigoverwrite.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method EnableConfigOverwrite
-* 
-* Enable config overwrite mode
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Enable config overwrite mode
-*/
-function  Smarty_Method_EnableConfigOverwrite($smarty)
-{
-    $smarty->config_overwrite = true;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigreadhidden.php b/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigreadhidden.php
deleted file mode 100644
index 982d0fd..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_enableconfigreadhidden.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method EnableConfigReadHidden
-* 
-* Enable config read hidden mode
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Enable config read hidden mode
-*/
-function  Smarty_Method_EnableConfigReadHidden($smarty)
-{
-    $this->smarty->config_read_hidden = true;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_enabledebugging.php b/gosa-core/include/smarty/sysplugins/smarty_method_enabledebugging.php
deleted file mode 100644
index 3f3cc90..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_enabledebugging.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method EnableDebugging
-* 
-* Enable debugging
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Enable debugging
-*/
-function  Smarty_Method_EnableDebugging($smarty)
-{
-    $this->smarty->debugging = true;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_enabledebuggingurlctrl.php b/gosa-core/include/smarty/sysplugins/smarty_method_enabledebuggingurlctrl.php
deleted file mode 100644
index 0743270..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_enabledebuggingurlctrl.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method EnableDebuggingUrlCtrl
-* 
-* Enable possibility to enable debugging by SMARTY_DEBUG attribute
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Enable possibility to enable debugging by SMARTY_DEBUG attribute
-*/
-function  Smarty_Method_EnableDebuggingUrlCtrl($smarty)
-{
-    $smarty->debugging_ctrl = 'URL';
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_enabledefaulttimezone.php b/gosa-core/include/smarty/sysplugins/smarty_method_enabledefaulttimezone.php
deleted file mode 100644
index e5a7f27..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_enabledefaulttimezone.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method EnableDefaultTimezone
-* 
-* Enable setting of default timezone
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Enable setting of default timezone
-*/
-function  Smarty_Method_EnableDefaultTimezone($smarty)
-{
-    $this->smarty->set_timezone = true;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_enableforcecompile.php b/gosa-core/include/smarty/sysplugins/smarty_method_enableforcecompile.php
deleted file mode 100644
index f78fc91..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_enableforcecompile.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method EnableForceCompile
-* 
-* Enable forced compiling
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Enable forced compiling
-*/
-function  Smarty_Method_EnableForceCompile($smarty)
-{
-    $smarty->force_compile = true;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_enablevariablefilter.php b/gosa-core/include/smarty/sysplugins/smarty_method_enablevariablefilter.php
deleted file mode 100644
index 6abe923..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_enablevariablefilter.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
-* Smarty method EnableVariableFilter
-* 
-* Enable  filter on variable output
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Enable filter on variable output
-*/
-function  Smarty_Method_EnableVariableFilter($smarty)
-{
-    $smarty->variable_filter = true;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_get_config_vars.php b/gosa-core/include/smarty/sysplugins/smarty_method_get_config_vars.php
deleted file mode 100644
index 9bbf4b5..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_get_config_vars.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/**
-* Smarty method Get_Config_Vars
-* 
-* Returns a single or all global config variables
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Returns a single or all global config variables
-*/
-
-/**
-* Returns a single or all global config variables
-* 
-* @param string $varname variable name or null
-* @return string variable value or or array of variables
-*/
-function  Smarty_Method_Get_Config_Vars($smarty, $varname = null)
-{
-    if (isset($varname)) {
-        if (isset($smarty->config_vars[$varname])) {
-            return $smarty->config_vars[$varname];
-        } else {
-            return '';
-        } 
-    } else {
-        return $smarty->config_vars;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_get_global.php b/gosa-core/include/smarty/sysplugins/smarty_method_get_global.php
deleted file mode 100644
index 539e082..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_get_global.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/**
-* Smarty method Get_Global
-* 
-* Returns a single or all global variables
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Returns a single or all global  variables
-* 
-* @param object $smarty 
-* @param string $varname variable name or null
-* @return string variable value or or array of variables
-*/
-function  Smarty_Method_Get_Global($smarty, $varname = null)
-{
-    if (isset($varname)) {
-        if (isset($smarty->global_tpl_vars[$varname])) {
-            return $smarty->global_tpl_vars[$varname]->value;
-        } else {
-            return '';
-        } 
-    } else {
-        $_result = array();
-        foreach ($smarty->global_tpl_vars AS $key => $var) {
-            $_result[$key] = $var->value;
-        } 
-        return $_result;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_get_registered_object.php b/gosa-core/include/smarty/sysplugins/smarty_method_get_registered_object.php
deleted file mode 100644
index 147a1f3..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_get_registered_object.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/**
-* Smarty method Get_Registered_Object
-* 
-* Registers a PHP object
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Returns a reference to a registered object
-*/
-
-/**
-* return a reference to a registered object
-* 
-* @param string $name 
-* @return object 
-*/
-function  Smarty_Method_Get_Registered_Object($smarty, $name)
-{
-    if (!isset($smarty->registered_objects[$name]))
-        throw new Exception("'$name' is not a registered object");
-
-    if (!is_object($smarty->registered_objects[$name][0]))
-        throw new Exception("registered '$name' is not an object");
-
-    return $smarty->registered_objects[$name][0];
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_get_template_vars.php b/gosa-core/include/smarty/sysplugins/smarty_method_get_template_vars.php
deleted file mode 100644
index 9bfdbd8..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_get_template_vars.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/**
-* Smarty method Get_Template_Vars
-* 
-* Returns a single or all template variables
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Returns a single or all template variables
-*/
-
-/**
-* Returns a single or all template variables
-* 
-* @param string $varname variable name or null
-* @return string variable value or or array of variables
-*/
-function  Smarty_Method_Get_Template_Vars($smarty, $varname = null, $_ptr = null, $search_parents = true)
-{
-    if (isset($varname)) {
-        $_var = $smarty->getVariable($varname, $_ptr, $search_parents);
-        if (is_object($_var)) {
-            return $_var->value;
-        } else {
-            return null;
-        } 
-    } else {
-        $_result = array();
-        if ($_ptr === null) {
-            $_ptr = $smarty;
-        } while ($_ptr !== null) {
-            foreach ($_ptr->tpl_vars AS $key => $var) {
-                $_result[$key] = $var->value;
-            } 
-            // not found, try at parent
-            if ($search_parents) {
-                $_ptr = $_ptr->parent;
-            } else {
-                $_ptr = null;
-            } 
-        } 
-        if ($search_parents) {
-            foreach ($smarty->global_tpl_vars AS $key => $var) {
-                $_result[$key] = $var->value;
-            } 
-        } 
-        return $_result;
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_getcachedir.php b/gosa-core/include/smarty/sysplugins/smarty_method_getcachedir.php
deleted file mode 100644
index 47ed877..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_getcachedir.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
-* Smarty method GetCacheDir
-* 
-* Returns directory of cache files
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Returns directory of cache files
-*/
-
-/**
-* Returns directory of cache files
-* 
-* @return array cache folder
-*/
-function  Smarty_Method_GetCacheDir($smarty)
-{
-    return $this->smarty->cache_dir;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_getcachelifetime.php b/gosa-core/include/smarty/sysplugins/smarty_method_getcachelifetime.php
deleted file mode 100644
index 0db4fc7..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_getcachelifetime.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/**
-* Smarty method GetCacheLifetime
-* 
-* Returns lifetime of cache files
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Smarty class getCacheLifetime
-* 
-* Returns lifetime of cache files
-*/
-/**
-* Returns lifetime of cache files
-* 
-* @return integer cache file lifetime
-*/
-function  Smarty_Method_GetCacheLifetime($smarty)
-{
-    return $smarty->cache_lifetime;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_getcompiledir.php b/gosa-core/include/smarty/sysplugins/smarty_method_getcompiledir.php
deleted file mode 100644
index 929da27..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_getcompiledir.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
-* Smarty method GetCompileDir
-* 
-* Returns directory of compiled templates
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Returns directory of compiled templates
-*/
-
-/**
-* Returns directory of compiled templates
-* 
-* @return array compiled template folder
-*/
-function  Smarty_Method_GetCompileDir($smarty)
-{
-    return $this->smarty->compile_dir;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_getconfigdir.php b/gosa-core/include/smarty/sysplugins/smarty_method_getconfigdir.php
deleted file mode 100644
index 79e55b6..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_getconfigdir.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
-* Smarty method GetConfigDir
-* 
-* Returns directory of config files
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Returns directory of config files
-*/
-
-/**
-* Returns directory of config files
-* 
-* @return array config folder
-*/
-function  Smarty_Method_GetConfigDir($smarty)
-{
-    return $smarty->config_dir;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_getdebugtemplate.php b/gosa-core/include/smarty/sysplugins/smarty_method_getdebugtemplate.php
deleted file mode 100644
index 8109169..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_getdebugtemplate.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
-* Smarty method GetDebugTemplate
-* 
-* Returns debug template filepath
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Returns debug template filepath
-*/
-
-/**
-* Returns directory of cache files
-* 
-* @return string debug template filepath
-*/
-function  Smarty_Method_GetDebugTemplate($smarty)
-{
-    return $smarty->debug_tpl;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_getpluginsdir.php b/gosa-core/include/smarty/sysplugins/smarty_method_getpluginsdir.php
deleted file mode 100644
index 6fa98a3..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_getpluginsdir.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
-* Smarty method GetPluginsDir
-* 
-* Returns directory of plugins
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Returns directory of plugins
-*/
-
-/**
-* Returns directory of plugins
-* 
-* @return array plugins folder
-*/
-function  Smarty_Method_GetPluginsDir($smarty)
-{
-    return $smarty->plugins_dir;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_gettemplatedir.php b/gosa-core/include/smarty/sysplugins/smarty_method_gettemplatedir.php
deleted file mode 100644
index 2fa1df8..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_gettemplatedir.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
-* Smarty method GetTemplateDir
-* 
-* Returns template directory
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Returns template directory
-*/
-
-/**
-* Returns template directory
-* 
-* @return array template folders
-*/
-function  Smarty_Method_GetTemplateDir($smarty)
-{
-    return $smarty->template_dir;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_getvariablefilter.php b/gosa-core/include/smarty/sysplugins/smarty_method_getvariablefilter.php
deleted file mode 100644
index 9d7d0c4..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_getvariablefilter.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/**
-* Smarty method GetVariableFilter
-* 
-* get status of filter on variable output
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Smarty class getVariableFilter
-* 
-* get status of filter on variable output
-*/
-function  Smarty_Method_GetVariableFilter($smarty)
-{
-    return $smarty->variable_filter;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_iscachemodifycheck.php b/gosa-core/include/smarty/sysplugins/smarty_method_iscachemodifycheck.php
deleted file mode 100644
index 4e93b17..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_iscachemodifycheck.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method IsCacheModifyCheck
-* 
-* is cache modify check
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* is cache modify check
-*/
-function  Smarty_Method_IsCacheModifyCheck()
-{
-    return $smarty->cache_modified_check;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_iscaching.php b/gosa-core/include/smarty/sysplugins/smarty_method_iscaching.php
deleted file mode 100644
index e27bd0a..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_iscaching.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method IsCaching
-* 
-* is caching
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* is caching
-*/
-function  Smarty_Method_IsCaching($smarty)
-{
-    return $smarty->caching;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_iscompilecheck.php b/gosa-core/include/smarty/sysplugins/smarty_method_iscompilecheck.php
deleted file mode 100644
index 904ad4c..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_iscompilecheck.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method IsCompileCheck
-* 
-* is compile checking
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* is compile checking
-*/
-function  Smarty_Method_IsCompileCheck($smarty)
-{
-    return $smarty->compile_check;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_isconfigbooleanize.php b/gosa-core/include/smarty/sysplugins/smarty_method_isconfigbooleanize.php
deleted file mode 100644
index 605474b..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_isconfigbooleanize.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method IsConfigBooleanize
-* 
-* is config booleanize mode
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* is config booleanize mode
-*/
-function  Smarty_Method_IsConfigBooleanize($smarty)
-{
-    return $smarty->config_booleanize;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_isconfigoverwrite.php b/gosa-core/include/smarty/sysplugins/smarty_method_isconfigoverwrite.php
deleted file mode 100644
index fb10f0e..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_isconfigoverwrite.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method IsConfigOverwrite
-* 
-* is config overwrite mode
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* is config overwrite mode
-*/
-function  Smarty_Method_IsConfigOverwrite($smarty)
-{
-    return $smarty->config_overwrite;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_isconfigreadhidden.php b/gosa-core/include/smarty/sysplugins/smarty_method_isconfigreadhidden.php
deleted file mode 100644
index e13c84d..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_isconfigreadhidden.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method IsConfigReadHidden
-* 
-* is config read hidden mode
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* 
-* is config read hidden mode
-*/
-function  Smarty_Method_IsConfigReadHidden($smarty)
-    {
-        return $smarty->config_read_hidden;
-    } 
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_isdebugging.php b/gosa-core/include/smarty/sysplugins/smarty_method_isdebugging.php
deleted file mode 100644
index 9d36eb4..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_isdebugging.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method IsDebugging
-* 
-* is debugging
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* is debugging
-*/
-function  Smarty_Method_IsDebugging($smarty)
-{
-    return $smarty->debugging;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_isdebuggingurlctrl.php b/gosa-core/include/smarty/sysplugins/smarty_method_isdebuggingurlctrl.php
deleted file mode 100644
index 5487cd1..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_isdebuggingurlctrl.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method IsDebuggingUrlCtrl
-* 
-* is possibility to is debugging by SMARTY_DEBUG attribute
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* is possibility to is debugging by SMARTY_DEBUG attribute
-*/
-function  Smarty_Method_IsDebuggingUrlCtrl($smarty)
-{
-    return $smarty->debugging_ctrl != 'none';
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_isdefaulttimezone.php b/gosa-core/include/smarty/sysplugins/smarty_method_isdefaulttimezone.php
deleted file mode 100644
index dd22117..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_isdefaulttimezone.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
-* Smarty method IsDefaultTimezone
-* 
-* is setting of default timezone
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* is setting of default timezone
-*/
-function  Smarty_Method_IsDefaultTimezone($smarty)
-{
-    return $smarty->set_timezone = false;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_isforcecompile.php b/gosa-core/include/smarty/sysplugins/smarty_method_isforcecompile.php
deleted file mode 100644
index 94c62a0..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_isforcecompile.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/**
-* Smarty method IsForceCompile
-* 
-* is forced compiling
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* 
-* is forced compiling
-*/
-function  Smarty_Method_IsForceCompile($smarty)
-    {
-        return $smarty->force_compile;
-    } 
-
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_load_filter.php b/gosa-core/include/smarty/sysplugins/smarty_method_load_filter.php
deleted file mode 100644
index cb82ea1..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_load_filter.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/**
-* Smarty method Load_Filter
-* 
-* Loads a filter plugin
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* load a filter of specified type and name
-* 
-* @param string $type filter type
-* @param string $name filter name
-*/
-function  Smarty_Method_Load_Filter($smarty, $type, $name)
-{
-    $_plugin = "smarty_{$type}filter_{$name}";
-    $_filter_name = $_plugin;
-    if ($smarty->loadPlugin($_plugin)) {
-        if (class_exists($_plugin, false)) {
-            $_plugin = array($_plugin, 'execute');
-        } 
-        if (is_callable($_plugin)) {
-            $smarty->registered_filters[$type][$_filter_name] = $_plugin;
-            return;
-        } 
-    } 
-    throw new Exception("{$type}filter \"{$name}\" not callable");
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_register_block.php b/gosa-core/include/smarty/sysplugins/smarty_method_register_block.php
deleted file mode 100644
index 466f8c3..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_register_block.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/**
-* Smarty method Register_Block
-* 
-* Registers a PHP function as Smarty block function plugin
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Register a PHP function as Smarty block function plugin
-*/
-
-/**
-* Registers block function to be used in templates
-* 
-* @param string $block_tag name of template block
-* @param string $block_impl PHP function to register
-* @param boolean $cacheable if true (default) this fuction is cachable
-*/
-function  Smarty_Method_Register_Block($smarty, $block_tag, $block_impl, $cacheable = true, $cache_attr = array())
-{
-    if (isset($smarty->registered_plugins['block'][$block_tag])) {
-        throw new Exception("Plugin tag \"{$block_tag}\" already registered");
-    } elseif (!is_callable($block_impl)) {
-        throw new Exception("Plugin \"{$block_tag}\" not callable");
-    } else {
-        $smarty->registered_plugins['block'][$block_tag] =
-        array($block_impl, $cacheable, $cache_attr);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_register_compiler_function.php b/gosa-core/include/smarty/sysplugins/smarty_method_register_compiler_function.php
deleted file mode 100644
index b338504..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_register_compiler_function.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/**
-* Smarty method Register_Compiler_Function
-* 
-* Registers a PHP function as Smarty compiler function plugin
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Register a PHP function as Smarty compiler function plugin
-*/
-
-/**
-* Registers compiler function
-* 
-* @param string $compiler_tag of template function
-* @param string $compiler_impl name of PHP function to register
-*/
-function  Smarty_Method_Register_Compiler_Function($smarty, $compiler_tag, $compiler_impl, $cacheable = true)
-{
-    if (isset($smarty->registered_plugins['compiler'][$compiler_tag])) {
-        throw new Exception("Plugin tag \"{$compiler_tag}\" already registered");
-    } elseif (!is_callable($compiler_impl)) {
-        throw new Exception("Plugin \"{$compiler_tag}\" not callable");
-    } else {
-        $smarty->registered_plugins['compiler'][$compiler_tag] =
-        array($compiler_impl, $cacheable);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_register_function.php b/gosa-core/include/smarty/sysplugins/smarty_method_register_function.php
deleted file mode 100644
index fbdb781..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_register_function.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/**
-* Smarty method Register_Function
-* 
-* Registers a PHP function as Smarty function plugin
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Registers custom function to be used in templates
-* 
-* @param object $smarty 
-* @param string $function_tag the name of the template function
-* @param string $function_impl the name of the PHP function to register
-* @param boolean $cacheable if true (default) this fuction is cachable
-*/
-function  Smarty_Method_Register_Function($smarty, $function_tag, $function_impl, $cacheable = true, $cache_attr = array())
-{
-    if (isset($smarty->registered_plugins['function'][$function_tag])) {
-        throw new Exception("Plugin tag \"{$function_tag}\" already registered");
-    } elseif (!is_callable($function_impl)) {
-        throw new Exception("Plugin \"{$function_tag}\" not callable");
-    } else {
-        $smarty->registered_plugins['function'][$function_tag] =
-        array($function_impl, $cacheable, $cache_attr);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_register_modifier.php b/gosa-core/include/smarty/sysplugins/smarty_method_register_modifier.php
deleted file mode 100644
index 022f4f3..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_register_modifier.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/**
-* Smarty method Register_Modifier
-* 
-* Registers a PHP function as Smarty modifier plugin
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Registers modifier to be used in templates
-* 
-* @param object $smarty 
-* @param string $modifier name of template modifier
-* @param string $modifier_impl name of PHP function to register
-*/
-function  Smarty_Method_Register_Modifier($smarty, $modifier, $modifier_impl)
-{
-    if (isset($smarty->registered_plugins['modifier'][$modifier])) {
-        throw new Exception("Plugin \"{$modifier}\" already registered");
-    } elseif (!is_callable($modifier_impl)) {
-        throw new Exception("Plugin \"{$modifier}\" not callable");
-    } else {
-        $smarty->registered_plugins['modifier'][$modifier] =
-        array($modifier_impl);
-    } 
-} 
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_register_object.php b/gosa-core/include/smarty/sysplugins/smarty_method_register_object.php
deleted file mode 100644
index a4d0e60..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_register_object.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/**
-* Smarty method Register_Object
-* 
-* Registers a PHP object
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Registers object to be used in templates
-* 
-* @param object $smarty 
-* @param string $object name of template object
-* @param object $ &$object_impl the referenced PHP object to register
-* @param null $ |array $allowed list of allowed methods (empty = all)
-* @param boolean $smarty_args smarty argument format, else traditional
-* @param null $ |array $block_functs list of methods that are block format
-*/
-function  Smarty_Method_Register_Object($smarty, $object, $object_impl, $allowed = array(), $smarty_args = true, $block_methods = array())
-{ 
-    // test if allowed methodes callable
-    if (!empty($allowed)) {
-        foreach ((array)$allowed as $methode) {
-            if (!is_callable(array($object_impl, $methode))) {
-                throw new Exception("Undefined methode '$methode' in registered object");
-            } 
-        } 
-    } 
-    // test if block methodes callable
-    if (!empty($block_methods)) {
-        foreach ((array)$block_methods as $methode) {
-            if (!is_callable(array($object_impl, $methode))) {
-                throw new Exception("Undefined methode '$methode' in registered object");
-            } 
-        } 
-    } 
-    // register the object
-    $smarty->registered_objects[$object] =
-    array($object_impl, (array)$allowed, (boolean)$smarty_args, (array)$block_methods);
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_register_outputfilter.php b/gosa-core/include/smarty/sysplugins/smarty_method_register_outputfilter.php
deleted file mode 100644
index 4601264..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_register_outputfilter.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/**
-* Smarty method Register_Outputfilter
-* 
-* Registers a PHP function as outputfilter
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Registers an output filter function to apply
-* to a template output
-* 
-* @param object $smarty 
-* @param callback $function 
-*/
-function  Smarty_Method_Register_Outputfilter($smarty, $function)
-{
-    $smarty->registered_filters['output'][$smarty->_get_filter_name($function)] = $function;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_register_postfilter.php b/gosa-core/include/smarty/sysplugins/smarty_method_register_postfilter.php
deleted file mode 100644
index 1d8c2e7..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_register_postfilter.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/**
-* Smarty method Register_Postfilter
-* 
-* Registers a PHP function as postfilter
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Registers a postfilter function to apply
-* to a compiled template after compilation
-* 
-* @param object $smarty 
-* @param callback $function 
-*/
-function  Smarty_Method_Register_Postfilter($smarty, $function)
-{
-    $smarty->registered_filters['post'][$smarty->_get_filter_name($function)] = $function;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_register_prefilter.php b/gosa-core/include/smarty/sysplugins/smarty_method_register_prefilter.php
deleted file mode 100644
index 781700d..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_register_prefilter.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/**
-* Smarty method Register_Prefilter
-* 
-* Registers a PHP function as prefilter
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Registers a prefilter function to apply
-* to a template before compiling
-* 
-* @param object $smarty 
-* @param callback $function 
-*/
-function  Smarty_Method_Register_Prefilter($smarty, $function)
-{
-    $smarty->registered_filters['pre'][$smarty->_get_filter_name($function)] = $function;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_register_resource.php b/gosa-core/include/smarty/sysplugins/smarty_method_register_resource.php
deleted file mode 100644
index 09f5e89..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_register_resource.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/**
-* Smarty method Register_Resource
-* 
-* Registers a Smarty template resource
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Registers a resource to fetch a template
-* 
-* @param object $smarty 
-* @param string $type name of resource
-* @param array $functions array of functions to handle resource
-*/
-function  Smarty_Method_Register_Resource($smarty, $type, $functions)
-{
-    if (count($functions) == 4) {
-        $smarty->_plugins['resource'][$type] =
-        array($functions, false);
-    } elseif (count($functions) == 5) {
-        $smarty->_plugins['resource'][$type] =
-        array(array(array(&$functions[0], $functions[1]) , array(&$functions[0], $functions[2]) , array(&$functions[0], $functions[3]) , array(&$functions[0], $functions[4])) , false);
-    } else {
-        throw new Exception("malformed function-list for '$type' in register_resource");
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_register_variablefilter.php b/gosa-core/include/smarty/sysplugins/smarty_method_register_variablefilter.php
deleted file mode 100644
index 3052d34..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_register_variablefilter.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/**
-* Smarty method Register_Variablefilter
-* 
-* Registers a PHP function as an output filter for variables
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Registers an output filter function which
-* runs over any variable output
-* 
-* @param object $smarty 
-* @param callback $function 
-*/
-function  Smarty_Method_Register_Variablefilter($smarty, $function)
-{
-    $smarty->registered_filters['variable'][$smarty->_get_filter_name($function)] = $function;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_registerdefaultpluginhandler.php b/gosa-core/include/smarty/sysplugins/smarty_method_registerdefaultpluginhandler.php
deleted file mode 100644
index fe1e25b..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_registerdefaultpluginhandler.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/**
-* Smarty method RegisterDefaultPluginhandlerHandler
-* 
-* Registers a default plugin handler
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Registers a default plugin handler
-* 
-* @param object $smarty 
-* @param string $ |array $plugin class/methode name
-*/
-function  Smarty_Method_RegisterDefaultPluginHandler($smarty, $plugin)
-{
-    if (is_callable($plugin)) {
-        $smarty->default_plugin_handler_func = $plugin;
-    } else {
-        throw new Exception('Default plugin handler "' . $plugin . '" not callable');
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_registerdefaulttemplatehandler.php b/gosa-core/include/smarty/sysplugins/smarty_method_registerdefaulttemplatehandler.php
deleted file mode 100644
index 1b716af..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_registerdefaulttemplatehandler.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/**
-* Smarty method RegisterDefaultTemplateHandler
-* 
-* Registers a default template handler
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Registers a default template handler
-* 
-* @param object $smarty 
-* @param string $ |array $function class/methode name
-*/
-function  Smarty_Method_RegisterDefaultTemplateHandler($smarty, $function)
-{
-    if (is_callable($function)) {
-        $smarty->default_template_handler_func = $function;
-    } else {
-        throw new Exception('Default template handler "' . $function . '" not callable');
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_setconfigdir.php b/gosa-core/include/smarty/sysplugins/smarty_method_setconfigdir.php
deleted file mode 100644
index 6e501f6..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_setconfigdir.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/**
-* Smarty method SetConfigDir
-* 
-* Sets directory of config files
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Sets directory of config files
-* 
-* @param object $smarty 
-* @param string $ config folder
-* @return 
-*/
-function  Smarty_Method_SetConfigDir($smarty, $config_dir)
-{
-    $this->smarty->config_dir = $config_dir;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_setdebugtemplate.php b/gosa-core/include/smarty/sysplugins/smarty_method_setdebugtemplate.php
deleted file mode 100644
index 4e9cc1f..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_setdebugtemplate.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/**
-* Smarty method SetDebugTemplate
-* 
-* Sets debug template filepath
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Sets debug template filepath
-*/
-
-/**
-* Sets debug template filepath
-* 
-* @param string $ array debug template filepath
-*/
-function  Smarty_Method_SetDebugTemplate($smarty, $debug_tpl)
-{
-    $smarty->debug_tpl = $debug_tpl;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_setpluginsdir.php b/gosa-core/include/smarty/sysplugins/smarty_method_setpluginsdir.php
deleted file mode 100644
index 57ed8f2..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_setpluginsdir.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/**
-* Smarty method SetPluginsDir
-* 
-* Sets directory of plugin files
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Sets directory of plugin files
-*/
-
-/**
-* Sets directory of plugin files
-* 
-* @param string $ plugins folder
-* @return 
-*/
-function  Smarty_Method_SetPluginsDir($smarty, $plugins_dir)
-{
-    $smarty->plugins_dir = (array)$plugins_dir;
-    return;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_template_exists.php b/gosa-core/include/smarty/sysplugins/smarty_method_template_exists.php
deleted file mode 100644
index 8ece1ae..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_template_exists.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/**
-* Smarty method Template_Exists
-* 
-* Checks if a template resource exists
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Checks if a template resource exists
-*/
-
-/**
-* Check if a template resource exists
-* 
-* @param string $resource_name template name
-* @return boolean status
-*/
-function  Smarty_Method_Template_Exists($smarty, $resource_name)
-{ 
-    // create template object
-    $tpl = new $smarty->template_class($resource_name, $smarty); 
-    // check if it does exists 
-        return $tpl->isExisting();
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_test.php b/gosa-core/include/smarty/sysplugins/smarty_method_test.php
deleted file mode 100644
index 53f8594..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_test.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-/**
-* Smarty plugin
-* 
-* @ignore 
-* @package Smarty
-* @subpackage plugins
-*/
-
-function  Smarty_Method_Test($smarty)
-{
-    echo "<PRE>\n";
-
-    echo "Smarty Installation test...\n";
-
-    echo "Testing template directory...\n";
-
-    foreach((array)$smarty->template_dir as $template_dir) {
-        if (!is_dir($template_dir))
-            echo "FAILED: $template_dir is not a directory.\n";
-        elseif (!is_readable($template_dir))
-            echo "FAILED: $template_dir is not readable.\n";
-        else
-            echo "$template_dir is OK.\n";
-    } 
-
-    echo "Testing compile directory...\n";
-
-    if (!is_dir($smarty->compile_dir))
-        echo "FAILED: $smarty->compile_dir is not a directory.\n";
-    elseif (!is_readable($smarty->compile_dir))
-        echo "FAILED: $smarty->compile_dir is not readable.\n";
-    elseif (!is_writable($smarty->compile_dir))
-        echo "FAILED: $smarty->compile_dir is not writable.\n";
-    else
-        echo "{$smarty->compile_dir} is OK.\n";
-
-    echo "Testing plugins directory...\n";
-
-    foreach((array)$smarty->plugins_dir as $plugin_dir) {
-        if (!is_dir($plugin_dir))
-            echo "FAILED: $plugin_dir is not a directory.\n";
-        elseif (!is_readable($plugin_dir))
-            echo "FAILED: $plugin_dir is not readable.\n";
-        else
-            echo "$plugin_dir is OK.\n";
-    } 
-
-    echo "Testing cache directory...\n";
-
-    if (!is_dir($smarty->cache_dir))
-        echo "FAILED: $smarty->cache_dir is not a directory.\n";
-    elseif (!is_readable($smarty->cache_dir))
-        echo "FAILED: $smarty->cache_dir is not readable.\n";
-    elseif (!is_writable($smarty->cache_dir))
-        echo "FAILED: $smarty->cache_dir is not writable.\n";
-    else
-        echo "{$smarty->cache_dir} is OK.\n";
-
-    echo "Testing configs directory...\n";
-
-    if (!is_dir($smarty->config_dir))
-        echo "FAILED: $smarty->config_dir is not a directory.\n";
-    elseif (!is_readable($smarty->config_dir))
-        echo "FAILED: $smarty->config_dir is not readable.\n";
-    else
-        echo "{$smarty->config_dir} is OK.\n";
-
-    echo "Tests complete.\n";
-
-    echo "</PRE>\n";
-
-    return true;
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_block.php b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_block.php
deleted file mode 100644
index d1fecb7..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_block.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/**
-* Smarty method Unregister_Block
-* 
-* Unregister a Smarty block function plugin
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Unregister a Smarty block function plugin
-*/
-
-/**
-* Unregisters block function
-* 
-* @param string $block_tag name of template function
-*/
-function  Smarty_Method_Unregister_Block($smarty, $block_tag)
-{
-    if (isset($smarty->registered_plugins['block'][$block_tag])) {
-        unset($smarty->registered_plugins['block'][$block_tag]);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_compiler_function.php b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_compiler_function.php
deleted file mode 100644
index 049214b..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_compiler_function.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/**
-* Smarty method Unregister_Compiler_Function
-* 
-* Unregister a Smarty compiler function plugin
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Unregister a Smarty compiler function plugin
-*/
-
-/**
-* Unregisters compiler function
-* 
-* @param string $compiler_tag name of template function
-*/
-function  Smarty_Method_Unregister_Compiler_Function($smarty, $compiler_tag)
-{
-    if (isset($smarty->registered_plugins['compiler'][$compiler_tag])) {
-        unset($smarty->registered_plugins['compiler'][$compiler_tag]);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_function.php b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_function.php
deleted file mode 100644
index f91b9bb..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_function.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/**
-* Smarty method Unregister_Function
-* 
-* Unregister a Smarty function plugin
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Unregister a Smarty function plugin
-*/
-
-/**
-* Unregisters custom function
-* 
-* @param string $function_tag name of template function
-*/
-function  Smarty_Method_Unregister_Function($smarty, $function_tag)
-{
-    if (isset($smarty->registered_plugins['function'][$function_tag])) {
-        unset($smarty->registered_plugins['function'][$function_tag]);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_modifier.php b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_modifier.php
deleted file mode 100644
index 46191c9..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_modifier.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/**
-* Smarty method Unregister_Modifier
-* 
-* Unregister a Smarty modifier plugin
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Unregister a Smarty modifier plugin
-*/
-
-/**
-* Unregisters modifier
-* 
-* @param string $modifier name of template modifier
-*/
-function  Smarty_Method_Unregister_Modifier($smarty, $modifier)
-{
-    if (isset($smarty->registered_plugins['modifier'][$modifier])) {
-        unset($smarty->registered_plugins['modifier'][$modifier]);
-    } 
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_object.php b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_object.php
deleted file mode 100644
index 0be5c25..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_object.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/**
-* Smarty method Unregister_Object
-* 
-* Unregister a PHP object
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* 
-* Unregister a PHP object
-*/
-
-    /**
-    * Unregisters object
-    * 
-    * @param string $object name of template object
-    */
-     function  Smarty_Method_Unregister_Object($smarty, $object)
-    {
-        unset($smarty->registered_objects[$object]);
-    } 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_outputfilter.php b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_outputfilter.php
deleted file mode 100644
index b71a779..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_outputfilter.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/**
-* Smarty method Unregister_Outputfilter
-* 
-* Unregister a outputfilter
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Unregister a outputfilter
-*/
-
-/**
-* Registers an output filter function to apply
-* to a template output
-* 
-* @param callback $function 
-*/
-function  Smarty_Method_Unregister_Outputfilter($smarty, $function)
-{
-    unset($smarty->registered_filters['output'][$smarty->_get_filter_name($function)]);
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_postfilter.php b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_postfilter.php
deleted file mode 100644
index 17aa49b..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_postfilter.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
-* Smarty method Unregister_Postfilter
-* 
-* Unregister a postfilter
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Unregister a postfilter
-*/
-
-/**
-* Unregisters a postfilter function
-* 
-* @param callback $function 
-*/
-function  Smarty_Method_Unregister_Postfilter($smarty, $function)
-{
-    unset($smarty->registered_filters['post'][$smarty->_get_filter_name($function)]);
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_prefilter.php b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_prefilter.php
deleted file mode 100644
index b77eaf6..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_prefilter.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
-* Smarty method Unregister_Prefilter
-* 
-* Unregister a prefilter
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Unregister a prefilter
-*/
-
-/**
-* Unregisters a prefilter function
-* 
-* @param callback $function 
-*/
-function  Smarty_Method_Unregister_Prefilter($smarty, $function)
-{
-    unset($smarty->registered_filters['pre'][$smarty->_get_filter_name($function)]);
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_resource.php b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_resource.php
deleted file mode 100644
index b17875a..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_resource.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
-* Smarty method Unregister_Resource
-* 
-* Unregister a template resource
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Unregister a template resource
-*/
-
-/**
-* Unregisters a resource
-* 
-* @param string $type name of resource
-*/
-function  Smarty_Method_Unregister_Resource($smarty, $type)
-{
-    unset($smarty->plugins['resource'][$type]);
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_variablefilter.php b/gosa-core/include/smarty/sysplugins/smarty_method_unregister_variablefilter.php
deleted file mode 100644
index 032943b..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_method_unregister_variablefilter.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-/**
-* Smarty method Unregister_Variablefilter
-* 
-* Unregister a variablefilter
-* 
-* @package Smarty
-* @subpackage SmartyMethod
-* @author Uwe Tews 
-*/
-
-/**
-* Unregister a variablefilter
-*/
-
-/**
-* Unregisters a variablefilter function
-* 
-* @param callback $function 
-*/
-function  Smarty_Method_Unregister_Variablefilter($smarty, $function)
-{
-    unset($smarty->registered_filters['variable'][$smarty->_get_filter_name($function)]);
-} 
-
-?>
diff --git a/gosa-core/include/smarty/sysplugins/smarty_security.php b/gosa-core/include/smarty/sysplugins/smarty_security.php
deleted file mode 100644
index 2c99fbc..0000000
--- a/gosa-core/include/smarty/sysplugins/smarty_security.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/**
-* Smarty plugin
-* 
-* @package Smarty
-* @subpackage Security
-* @author Uwe Tews 
-*/ 
-
-/**
-* This class does contain the security settings
-*/
-class Smarty_Security {
-    /**
-    * This determines how Smarty handles "<?php ... ?>" tags in templates.
-    * possible values:
-    * <ul>
-    *   <li>SMARTY_PHP_PASSTHRU -> echo PHP tags as they are</li>
-    *   <li>SMARTY_PHP_QUOTE    -> escape tags as entities</li>
-    *   <li>SMARTY_PHP_REMOVE   -> remove php tags</li>
-    *   <li>SMARTY_PHP_ALLOW    -> execute php tags</li>
-    * </ul>
-    * 
-    * @var integer 
-    */
-    public $php_handling = SMARTY_PHP_PASSTHRU;
-
-    /**
-    * This is the list of template directories that are considered secure.
-    * One directory per array element. 
-    * $template_dir is in this list implicitly.
-    * 
-    * @var array 
-    */
-    public $secure_dir = array();
-
-
-    /**
-    * This is an array of directories where trusted php scripts reside.
-    * {@link $security} is disabled during their inclusion/execution.
-    * 
-    * @var array 
-    */
-    public $trusted_dir = array();
-
-
-    /**
-    * This is an array of trusted PHP functions.
-    *
-    * If empty all functions are allowed.
-    * If set to 'none' none is allowed.
-    * @var array 
-    */
-    public $php_functions = array('isset', 'empty',
-            'count', 'sizeof','in_array', 'is_array','time','nl2br');
-
-    /**
-    * This is an array of trusted modifers.
-    *
-    * If empty all modifiers are allowed.
-    * If set to 'none' none is allowed.
-    * @var array 
-    */
-    public $modifiers = array('escape','count');
-
-    /**
-    * This is an array of trusted streams.
-    *
-    * If empty all streams are allowed.
-    * If set to 'none' none is allowed.
-    * @var array 
-    */
-    public $streams = array('file');
-    /**
-    + flag if constants can be accessed from template
-    */
-    public $allow_constants = true;
-    /**
-    + flag if super globals can be accessed from template
-    */
-    public $allow_super_globals = true;
-    /**
-    + flag if {php} tag can be executed
-    */
-    public $allow_php_tag = false;
-} 
-
-?>
diff --git a/gosa-core/include/utils/class_msgPool.inc b/gosa-core/include/utils/class_msgPool.inc
index d58debb..16be599 100644
--- a/gosa-core/include/utils/class_msgPool.inc
+++ b/gosa-core/include/utils/class_msgPool.inc
@@ -10,50 +10,33 @@ define ("LDAP_AUTH",   6);
 class msgPool
 {
 
-  public static function selectToView($type,$o_type = "")
-  {
-    if($o_type == ""){
-      return(sprintf(_("Select to list objects of type '%s'."),$type));
-    }elseif($o_type == "contains"){
-      return(sprintf(_("Select to list objects containig '%s'."),$type));
-    }elseif($o_type == "enabled"){
-      return(sprintf(_("Select to list objects that have '%s' enabled"),$type));
-    }elseif($o_type == "subsearch"){
-      return(_("Select to search within subtrees"));
-    }elseif($o_type == "subsearch_small"){
-      return(_("Search in subtrees"));
-    }
-
-  }
-
-
   public static function deleteInfo($name= "",$type = "")
   {
     if ($name == "") { 
       if($type == ""){
         return (_("This object will be deleted!"));
       }else{
-        return (sprintf(_("This '%s' object will be deleted!"), $type));
+        return (sprintf(_("This %s object will be deleted!"), bold($type)));
       }
     }
     if (!is_array($name)){
       if($type == ""){
-        return (sprintf(_("This object will be deleted: %s"), "<br><br><i>$name</i>"));
+        return (sprintf(_("This object will be deleted: %s"), "<br><br>$name"));
       }else{
-        return (sprintf(_("This '%s' object will be deleted: %s"),$type, "<br><br><i>$name</i>"));
+        return (sprintf(_("This %s object will be deleted: %s"), bold($type), "<br><br>$name"));
       }
     }
     if (count($name) == 1){
       if($type == ""){
         return (_("This object will be deleted:")."<br>".msgPool::buildList($name));
       }else{
-        return (sprintf(_("This '%s' object will be deleted:"),$type). "<br>".msgPool::buildList($name));
+        return (sprintf(_("This %s object will be deleted:"), bold($type)). "<br>".msgPool::buildList($name));
       }
     }
     if($type == ""){
-      return (sprintf(_("These objects will be deleted: %s"), "<br>".msgPool::buildList($name)));
+      return (sprintf(_("These objects will be deleted: %s"), "<br><br>".msgPool::buildList($name)));
     }else{
-      return (sprintf(_("These '%s' objects will be deleted: %s"),$type, "<br>".msgPool::buildList($name)));
+      return (sprintf(_("These %s objects will be deleted: %s"), bold($type), "<br>".msgPool::buildList($name)));
     }
   }
 
@@ -65,7 +48,7 @@ class msgPool
     }
 
     if (!is_array($name)){
-      return (_("You have no permission to delete the object:")."<br><br><i>$name</i>");
+      return (_("You have no permission to delete the object:")."<br><br>$name");
     }
 
     if (count($name) == 1){
@@ -83,7 +66,7 @@ class msgPool
     }
 
     if (!is_array($name)){
-      return (_("You have no permission to create the object:")."<br><br><i>$name</i>");
+      return (_("You have no permission to create the object:")."<br><br>$name");
     }
 
     if (count($name) == 1){
@@ -101,7 +84,7 @@ class msgPool
     }
 
     if (!is_array($name)){
-      return (_("You have no permission to modify the object:")."<br><br><i>$name</i>");
+      return (_("You have no permission to modify the object:")."<br><br>$name");
     }
 
     if (count($name) == 1){
@@ -119,7 +102,7 @@ class msgPool
     }
 
     if (!is_array($name)){
-      return (_("You have no permission to view the object:")."<br><br><i>$name</i>");
+      return (_("You have no permission to view the object:")."<br><br>$name");
     }
 
     if (count($name) == 1){
@@ -137,7 +120,7 @@ class msgPool
     }
 
     if (!is_array($name)){
-      return (_("You have no permission to move the object:")."<br><br><i>$name</i>");
+      return (_("You have no permission to move the object:")."<br><br>$name");
     }
 
     if (count($name) == 1){
@@ -151,67 +134,67 @@ class msgPool
   public static function dbconnect($name, $error= "", $dbinfo= "")
   {
     if ($error != ""){
-      $error= "<br><br><i>"._("Error").":</i> ".$error;
+      $error= "<br><br>"._("Error").": ".bold($error);
     }
     if ($dbinfo != ""){
-      $error.= "<br><br><i>"._("Connection information").":</i> ".$dbinfo;
+      $error.= "<br><br>"._("Connection information").": ".bold($dbinfo);
     }
-    return (sprintf(_("Cannot connect to %s database!"), $name).$error);
+    return (sprintf(_("Cannot connect to %s database!"), bold($name)).$error);
   }
 
 
   public static function dbselect($name, $error= "", $dbinfo= "")
   {
     if ($error != ""){
-      $error= "<br><br><i>"._("Error").":</i> ".$error;
+      $error= "<br><br>"._("Error").": ".bold($error);
     }
     if ($dbinfo != ""){
-      $error.= "<br><br><i>"._("Connection information").":</i> ".$dbinfo;
+      $error.= "<br><br>"._("Connection information").": ".bold($dbinfo);
     }
-    return (sprintf(_("Cannot select %s database!"), $name).$error);
+    return (sprintf(_("Cannot select %s database!"), bold($name)).$error);
   }
 
 
   public static function noserver($name)
   {
-    return (sprintf(_("No %s server defined!"), $name));
+    return (sprintf(_("No %s server defined!"), bold($name)));
   }
 
 
   public static function dbquery($name, $error= "", $dbinfo= "")
   {
     if ($error != ""){
-      $error= "<br><br><i>"._("Error").":</i> ".$error;
+      $error= "<br><br>"._("Error").": ".bold($error);
     }
     if ($dbinfo != ""){
-      $error.= "<br><br><i>"._("Connection information").":</i> ".$dbinfo;
+      $error.= "<br><br>"._("Connection information").": ".bold($dbinfo);
     }
-    return (sprintf(_("Cannot query %s database!"), $name).$error);
+    return (sprintf(_("Cannot query %s database!"), bold($name)).$error);
   }
 
 
   public static function reserved($name)
   {
-    return (sprintf(_("The field '%s' contains a reserved keyword!"), $name));
+    return (sprintf(_("The field %s contains a reserved keyword!"), bold($name)));
   }
 
 
   public static function cmdnotfound($type, $plugin)
   {
-    return (sprintf(_("Command specified as %s hook for plugin '%s' does not exist!"), $type, $plugin));
+    return (sprintf(_("Command specified as %s hook for plugin %s does not exist!"), bold($type), bold($plugin)));
   }
 
 
   public static function cmdinvalid($type, $command = "",$plugin="")
   {
     if(empty($command)){
-      return (sprintf(_("'%s' command is invalid!"), $type));
+      return (sprintf(_("%s command is invalid!"), bold($type)));
     }elseif($command != "" && $plugin != ""){
-      return (sprintf(_("'%s' command (%s) for plugin %s is invalid!"), $type,$command,$plugin));
+      return (sprintf(_("%s command (%s) for plugin %s is invalid!"), bold($type), bold($command) ,bold($plugin)));
     }elseif($plugin != "" && $command =""){
-      return (sprintf(_("'%s' command for plugin %s is invalid!"), $type,$plugin));
+      return (sprintf(_("%s command for plugin %s is invalid!"), bold($type), bold($plugin)));
     }else{
-      return (sprintf(_("'%s' command (%s) is invalid!"), $type,$command));
+      return (sprintf(_("%s command (%s) is invalid!"), bold($type), bold($command)));
     }
   }
 
@@ -219,13 +202,13 @@ class msgPool
   public static function cmdexecfailed($type, $command = "",$plugin="")
   {
     if(empty($command)){
-      return (sprintf(_("Cannot execute '%s' command!"), $type));
+      return (sprintf(_("Cannot execute %s command!"), bold($type)));
     }elseif($command != "" && $plugin != ""){
-      return (sprintf(_("Cannot execute '%s' command (%s) for plugin %s!"), $type,$command,$plugin));
+      return (sprintf(_("Cannot execute %s command (%s) for plugin %s!"), bold($type), bold($command), bold($plugin)));
     }elseif($plugin != "" && $command =""){
-      return (sprintf(_("Cannot execute '%s' command for plugin %s!"), $type,$plugin));
+      return (sprintf(_("Cannot execute %s command for plugin %s!"), bold($type), bold($plugin)));
     }else{
-      return (sprintf(_("Cannot execute '%s' command (%s)!"), $type,$command));
+      return (sprintf(_("Cannot execute %s command (%s)!"), bold($type), bold($command)));
     }
   }
 
@@ -233,9 +216,9 @@ class msgPool
   public static function toobig($name, $min= "")
   {
     if ($min == ""){
-      return (sprintf(_("Value for '%s' is too large!"), $name));
+      return (sprintf(_("Value for %s is too large!"), bold($name)));
     } else {
-      return (sprintf(_("'%s' must be smaller than %s!"), $name, $min));
+      return (sprintf(_("%s must be smaller than %s!"), bold($name), bold($min)));
     }
   }
 
@@ -243,28 +226,28 @@ class msgPool
   public static function toosmall($name, $min= "")
   {
     if ($min == ""){
-      return (sprintf(_("Value for '%s' is too small!"), $name));
+      return (sprintf(_("Value for %s is too small!"), bold($name)));
     } else {
-      return (sprintf(_("'%s' must be %d or above!"), $name, $min));
+      return (sprintf(_("%s must be %s or above!"), bold($name), bold($min)));
     }
   }
 
 
   public static function depends($name1, $name2)
   {
-    return (sprintf(_("'%s' depends on '%s' - please provide both values!"), $name1, $name2));
+    return (sprintf(_("%s depends on %s - please provide both values!"), bold($name1), bold($name2)));
   }
 
 
   public static function duplicated($name)
   {
-    return (sprintf(_("There is already an entry with this '%s' attribute in the system!"), $name));
+    return (sprintf(_("There is already an entry with this %s attribute in the system!"), bold($name)));
   }
 
 
   public static function required($name)
   {
-    return (sprintf(_("The required field '%s' is empty!"), $name));
+    return (sprintf(_("The required field %s is empty!"), bold($name)));
   }
 
 
@@ -272,7 +255,7 @@ class msgPool
   {
     /* Stylize example */
     if ($example != ""){
-      $example= "<br><br><i>"._("Example").":</i> ".$example;
+      $example= "<br><br>"._("Example").": ".bold($example);
     }
 
     /* If validChars are posted, take data and paint all invalid
@@ -292,18 +275,18 @@ class msgPool
         }
       }
 
-      return sprintf(_("The Field '%s' contains invalid characters"), $name).". ".
-        (strlen($mismatch)==1?sprintf(_("'%s' is not allowed:"), $mismatch):sprintf(_("'%s' are not allowed!"), $mismatch)).
+      return sprintf(_("The Field %s contains invalid characters"), bold($name)).". ".
+        (strlen($mismatch)==1?sprintf(_("%s is not allowed:"), bold($mismatch)):sprintf(_("%s are not allowed!"), bold($mismatch))).
         "<br><br> \"$result\"$example";
     } else {
-      return sprintf(_("The Field '%s' contains invalid characters!"), $name)."!$example";
+      return sprintf(_("The Field %s contains invalid characters!"), bold($name))."!$example";
     }
   }
 
 
   public static function missingext($name)
   {
-    return sprintf(_("Missing %s PHP extension!"), $name);
+    return sprintf(_("Missing %s PHP extension!"), bold($name));
   }
 
 
@@ -315,7 +298,7 @@ class msgPool
 
   public static function okButton()
   {
-    return sprintf(_("Ok"));
+    return sprintf(_("OK"));
   }
 
 
@@ -363,12 +346,12 @@ class msgPool
 
   public static function buildList($data)
   {
-    $objects= "<ul>";
+    $objects= "<ul class='object-list'>";
     foreach ($data as $key => $value){
       if (is_numeric($key)){
-        $objects.= "<li>\n<i>$value</i></li>";
+        $objects.= "<li>\n".LDAP::makeReadable($value)."</li>";
       } else {
-        $objects.= "<li>\n$value (<i>$key</i>)</li>";
+        $objects.= "<li>\n$value <span>".LDAP::makeReadable($key)."</span></li>";
       }
     }
     $objects.= "</ul>";
@@ -377,23 +360,23 @@ class msgPool
 
   public static function noValidExtension($name)
   {
-    return sprintf(_("This account has no valid %s extensions!"), $name);
+    return sprintf(_("This account has no valid %s extensions!"), bold($name));
   }
 
   public static function featuresEnabled($name, $depends= "")
   {
     if ($depends == ""){
-      return sprintf(_("This account has %s settings enabled. You can disable them by clicking below."), $name);
+      return sprintf(_("This account has %s settings enabled. You can disable them by clicking below."), bold($name));
     } else {
       if (count($depends) == 1){
-        return sprintf(_("This account has %s settings enabled. To disable them, you'll need to remove the %s settings first!"), $name, $depends);
+        return sprintf(_("This account has %s settings enabled. To disable them, you'll need to remove the %s settings first!"), bold($name), bold($depends));
       } else {
         $deps= "";
         foreach ($depends as $dep){
           $deps.= "$dep / ";
         }
         $deps= preg_replace("/ \/ $/", "", $deps);
-        return sprintf(_("This account has %s settings enabled. To disable them, you'll need to remove the %s settings first!"), $name, $deps);
+        return sprintf(_("This account has %s settings enabled. To disable them, you'll need to remove the %s settings first!"), bold($name), bold($deps));
       }
     }
   }
@@ -402,17 +385,17 @@ class msgPool
   public static function featuresDisabled($name, $depends= "")
   {
     if ($depends == ""){
-      return sprintf(_("This account has %s settings disabled. You can enable them by clicking below."), $name);
+      return sprintf(_("This account has %s settings disabled. You can enable them by clicking below."), bold($name));
     } else {
       if (count($depends) == 1){
-        return sprintf(_("This account has %s settings disabled. To enable them, you'll need to add the %s settings first!"), $name, $depends);
+        return sprintf(_("This account has %s settings disabled. To enable them, you'll need to add the %s settings first!"), bold($name), bold($depends));
       } else {
         $deps= "";
         foreach ($depends as $dep){
           $deps.= "$dep / ";
         }
         $deps= preg_replace("/ \/ $/", "", $deps);
-        return sprintf(_("This account has %s settings disabled. To enable them, you'll need to add the %s settings first!"), $name, $deps);
+        return sprintf(_("This account has %s settings disabled. To enable them, you'll need to add the %s settings first!"), bold($name), bold($deps));
       }
     }
   }
@@ -454,7 +437,7 @@ class msgPool
   {
     /* Assign headline depending on type */
     $headline= _("MySQL operation failed!");
-    return $headline."<br><br><i>"._("Error").":</i> ".$error;
+    return $headline."<br><br>"._("Error").": ".bold($error);
   }
 
 
@@ -465,17 +448,18 @@ class msgPool
         _("delete operation"), _("search operation"), _("authentication"));
 
     if (isset($typemap[$type])){
-      $headline= sprintf(_("LDAP %s failed!"), $typemap[$type]);
+      $headline= sprintf(_("LDAP %s failed!"), bold($typemap[$type]));
     } else {
       $headline= _("LDAP operation failed!");
     }
 
     /* Fill DN information */
+    $dn_info="";
     if ($dn != ""){
-      $dn_info= "<br><br><i>"._("Object").":</i> ".LDAP::fix($dn);
+      $dn_info= "<br><br>"._("Object").": ".bold(LDAP::fix($dn));
     }
 
-    return $headline.$dn_info."<br><br><i>"._("Error").":</i> ".$error;
+    return $headline.$dn_info."<br><br>"._("Error").": ".bold($error);
   }
 
 
@@ -485,7 +469,7 @@ class msgPool
       return _("Upload failed!");
     }
 
-    return sprintf(_("Upload failed: %s"), "<br><br><i>$reason</i>");
+    return sprintf(_("Upload failed: %s"), "<br><br>".bold($reason));
   }
 
 
@@ -494,88 +478,97 @@ class msgPool
     if ($error == ""){
       return _("Communication failure with the infrastructure service!");
     }
-    return sprintf(_("Communication failure with the infrastructure service: %s"), "<br><br>"._("Error").": ".$error);
+    return sprintf(_("Communication failure with the infrastructure service: %s"), "<br><br>".$error);
+  }
+
+
+  public static function rpcError($error= "")
+  {
+    if ($error == ""){
+      return _("Communication failure with the GOsa-NG service!");
+    }
+    return sprintf(_("Communication failure with the GOsa-NG service: %s"), "<br><br>".$error);
   }
 
 
   public static function stillInUse($type, $objects= array())
   {
     if (!is_array($objects)){
-      return sprintf(_("This '%s' is still in use by this object: %s"), $type, "<br><br>".$objects);
+      return sprintf(_("This %s is still in use by this object: %s"), bold($type), "<br><br>".$objects);
     }
     if (count($objects) == 1){
-      return sprintf(_("This '%s' is still in use by this object: %s"), $type, "<br>".msgPool::buildList($objects));
+      return sprintf(_("This %s is still in use by this object: %s"), bold($type), "<br>".msgPool::buildList($objects));
     }
     if (count($objects) == 0){
-      return sprintf(_("This '%s' is still in use."), $type);
+      return sprintf(_("This %s is still in use."), bold($type));
     }
-    return sprintf(_("This '%s' is still in use by these objects: %s"), $type, "<br>".msgPool::buildList($objects));
+    return sprintf(_("This %s is still in use by these objects: %s"), bold($type), "<br>".msgPool::buildList($objects));
   }
 
 
   public static function fileDoesNotExist($file)
   {
-    return sprintf(_("File '%s' does not exist!"), $file);
+    return sprintf(_("File %s does not exist!"), bold($file));
   }
 
 
   public static function cannotReadFile($file)
   {
-    return sprintf(_("Cannot open file '%s' for reading!"), $file);
+    return sprintf(_("Cannot open file %s for reading!"), bold($file));
   }
 
 
   public static function cannotWriteFile($file)
   {
-    return sprintf(_("Cannot open file '%s' for writing!"), $file);
+    return sprintf(_("Cannot open file %s for writing!"), bold($file));
   }
 
 
   public static function invalidConfigurationAttribute($attr)
   {
-    return sprintf(_("The value for '%s' is currently unconfigured or invalid, please check your configuration file!"), $attr);
+    return sprintf(_("The value for %s is currently unconfigured or invalid, please check your configuration file!"), bold($attr));
   }
 
 
   public static function cannotDeleteFile($file)
   {
-    return sprintf(_("Cannot delete file '%s'!"), $file);
+    return sprintf(_("Cannot delete file %s!"), bold($file));
   }
 
 
   public static function cannotCreateFolder($path)
   {
-    return sprintf(_("Cannot create folder '%s'!"), $path);
+    return sprintf(_("Cannot create folder %s!"), bold($path));
   }
 
 
   public static function cannotDeleteFolder($path)
   {
-    return sprintf(_("Cannot delete folder '%s'!"), $path);
+    return sprintf(_("Cannot delete folder %s!"), bold($path));
   }
 
 
   public static function checkingFor($what)
   {
-    return sprintf(_("Checking for %s support"), $what);
+    return sprintf(_("Checking for %s support"), bold($what));
   }
 
 
   public static function installPhpModule($what)
   {
-    return sprintf(_("Install and activate the %s PHP module."), $what);
+    return sprintf(_("Install and activate the %s PHP module."), bold($what));
   }
 
 
   public static function class_not_found($plugin)
   {
-    return (sprintf(_("Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa setup?"), $plugin));
+    return (sprintf(_("Cannot initialize class %s! Maybe there is a plugin missing in your gosa setup?"), bold($plugin)));
   }
 
 
   public static function check_base()
   {
-    return _("The supplied base is not valid and has been reset to the previous value!");
+    return _("The supplied base is not valid and has been reset to its previous value!");
   }
 
 }
diff --git a/gosa-core/include/utils/class_tests.inc b/gosa-core/include/utils/class_tests.inc
index 2073d49..6b2e283 100644
--- a/gosa-core/include/utils/class_tests.inc
+++ b/gosa-core/include/utils/class_tests.inc
@@ -40,7 +40,8 @@ class tests {
       return (TRUE);
     }
 
-    return preg_match ("/^[\/0-9 ()+*-]+$/", $nr);
+    // We require at least one numeric character in the number string.
+    return preg_match ("/^[\/0-9 ()+*-]*[0-9]{1}[\/0-9 ()+*-]*$/", $nr);
   }
 
 
@@ -204,10 +205,10 @@ class tests {
       return (TRUE);
     }
     if ($template){
-      return preg_match ("/^[._a-z0-9%-]+@[_a-z0-9-]+(\.[a-z0-9-]+)(\.[a-z0-9-]+)*$/i",
+      return preg_match ("/^[._a-z0-9{\[\]}%\+-]+@[_a-{}\[\]%z0-9-]+(\.[a-z0-9-]+)(\.[a-z0-9-]+)*$/i",
           $address);
     } else {
-      return preg_match ("/^[._a-z0-9-]+@[_a-z0-9-]+(\.[a-z0-9i-]+)(\.[a-z0-9-]+)*$/i",
+      return preg_match ("/^[._a-z0-9\+-]+@[_a-z0-9-]+(\.[a-z0-9i-]+)(\.[a-z0-9-]+)*$/i",
           $address);
     }
   }
@@ -285,13 +286,40 @@ class tests {
     }
 
     #TODO: use $lang to check date format
-    if (!preg_match("/([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})/", $date, $matches)) {
+    if (!preg_match("/^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})$/", $date, $matches)) {
       return false;
     }
 
     return checkdate($matches[2],$matches[1],$matches[3]);
   }
-
+  /*
+   * Compares two dates
+   * @param $dataA as String in german dateformat
+   * @param $dataB as String in german dateformat
+   * @return float or false on error
+   * 
+   * * <0 => a<b
+   * 0 => a=b
+   * >0 => a>b
+   */
+ public static function compareDate($dateA, $dateB){
+	 /*
+	  * TODO:
+	  * use $lang to check date format	
+	  */ 
+ 	$tstampA = strtotime($dateA);
+ 	if($tstampA === false){
+ 		trigger_error("Given date can not be converted to timestamp(".$dataA.") in function tests::compareDate.");
+ 		return false;	
+ 	}
+ 	$tstampB = strtotime($dateB);
+ 	if($tstampB === false){
+ 		trigger_error("Given date can not be converted to timestamp(".$dataB.") in function tests::compareDate.");
+ 		return false;	
+ 	}
+ 	
+	return $tstampA-$tstampB;
+ }
   /* \brief Check if the specified IP address $address is inside the given network */
   public static function is_in_ip_range($from, $to, $address)
   {
diff --git a/gosa-core/include/utils/class_timezone.inc b/gosa-core/include/utils/class_timezone.inc
index 7fcd7d5..516c889 100644
--- a/gosa-core/include/utils/class_timezone.inc
+++ b/gosa-core/include/utils/class_timezone.inc
@@ -38,13 +38,13 @@ class timezone {
     }
 
     /* Is there a timezone configured in the gosa configuration (gosa.conf) */
-    if ($config->get_cfg_value("timezone") != ""){
+    if ($config->get_cfg_value("core","timezone") != ""){
 
       /* Get zonename */
-      $tz = $config->get_cfg_value("timezone");
+      $tz = $config->get_cfg_value("core","timezone");
 
       if(!@date_default_timezone_set($tz)){
-        msg_dialog::display(_("Configuration error"), sprintf(_("The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate correct timezone offset."), $tz), ERROR_DIALOG);
+        msg_dialog::display(_("Configuration error"), sprintf(_("The configured timezone %s is not valid!"), bold($tz)), ERROR_DIALOG);
       }
       $tz_delta = date("Z", $stamp);
       $tz_delta = $tz_delta / 3600 ;
diff --git a/gosa-core/include/utils/class_xml.inc b/gosa-core/include/utils/class_xml.inc
index 5824e80..01d5a4a 100644
--- a/gosa-core/include/utils/class_xml.inc
+++ b/gosa-core/include/utils/class_xml.inc
@@ -31,23 +31,23 @@ class xml {
     if (!$xml->schemaValidate($schema)) {
       $errors = libxml_get_errors();
       foreach ($errors as $error) {
-        $str= "";
+        $estr= "";
         switch ($error->level) {
             case LIBXML_ERR_WARNING:
-                $str= _("Warning")." ".$error->code.": ";
+                $estr= _("Warning")." ".$error->code.":";
                 break;
             case LIBXML_ERR_ERROR:
-                $str= _("Error")." ".$error->code.": ";
+                $estr= _("Error")." ".$error->code.":";
                 break;
             case LIBXML_ERR_FATAL:
-                $str= _("Fatal error")." ".$error->code.": ";
+                $estr= _("Fatal error")." ".$error->code.":";
                 break;
         }
-        $str.= trim($error->message);
         if ($error->file) {
-            $str.= " "._("in")." ".$error->file;
+          $str= sprintf("%s %s in %s", $estr, trim($error->message), $error->file);
+        } else {
+          $str= sprintf("%s %s in %s on line %s", $estr, trim($error->message), $error->file, $error->line);
         }
-        $str.= " "._("on line")." ".$error->line;
         msg_dialog::display(_("XML error"), $str, ERROR_DIALOG);
       }
       libxml_clear_errors();
diff --git a/gosa-core/locale/core/de/LC_MESSAGES/messages.po b/gosa-core/locale/core/de/LC_MESSAGES/messages.po
index ab2635d..04b6857 100644
--- a/gosa-core/locale/core/de/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/de/LC_MESSAGES/messages.po
@@ -6,2534 +6,2588 @@
 #
 #
 # Alfred Schroeder <schroeder at GONICUS.de>, 2004.
-# Cajus Pollmeier <pollmeier at gonicus.de>, 2004, 2005, 2006, 2008, 2009.
+# Cajus Pollmeier <pollmeier at gonicus.de>, 2004, 2005, 2006, 2008, 2009, 2010.
 # Jan Wenzel <jan.wenzel at gonicus.de>, 2004,2005, 2008.
 # Stefan Koehler <stefan.koehler at GONICUS.de>, 2005.
 msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-09 20:24+0200\n"
-"PO-Revision-Date: 2009-10-05 15:19+0200\n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
+"PO-Revision-Date: 2010-11-24 16:25+0100\n"
 "Last-Translator: Cajus Pollmeier <pollmeier at gonicus.de>\n"
-"Language-Team: de <kde-i18n-de at kde.org>\n"
+"Language-Team: German <kde-i18n-de at kde.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Lokalize 1.0\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: ihtml/themes/default/remove.tpl:2 ihtml/themes/default/msg_dialog.tpl:59
-#: ihtml/themes/default/msg_dialog.tpl:106 ihtml/themes/default/islocked.tpl:6
-#: ihtml/themes/default/conflict.tpl:6 html/password.php:280 html/index.php:57
-#: html/index.php:63 html/index.php:406 html/index.php:412
-#: include/functions.inc:954 include/functions.inc:2686
-#: include/functions.inc:2690 include/functions.inc:2696
-#: include/class_tabs.inc:268 include/utils/class_xml.inc:37
-#: plugins/admin/ogroups/remove.tpl:2 plugins/admin/groups/remove.tpl:2
-#: plugins/admin/groups/class_group.inc:994 plugins/admin/users/remove.tpl:2
-#: plugins/admin/departments/remove.tpl:2
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#: plugins/admin/acl/remove.tpl:2
-#: plugins/personal/posix/class_posixAccount.inc:793
-#: plugins/personal/posix/class_posixAccount.inc:946
-#: setup/class_setupStep_Migrate.inc:261 setup/class_setupStep_Migrate.inc:313
-#: setup/class_setupStep_Migrate.inc:446 setup/class_setupStep_Migrate.inc:523
-#: setup/class_setupStep_Migrate.inc:661 setup/class_setupStep_Migrate.inc:804
-#: setup/class_setupStep_Migrate.inc:2573
-#: setup/class_setupStep_Migrate.inc:2726
-#: setup/class_setupStep_Migrate.inc:3058 setup/setup_checks.tpl:32
-#: setup/setup_checks.tpl:93
-msgid "Warning"
-msgstr "Warnung"
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
+msgstr "unkonfiguriert"
 
-#: ihtml/themes/default/remove.tpl:6
-msgid ""
-"This may be used by several groups. Please double check if your really want "
-"to do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Dieser Eintrag wird unter Umständen von verschiedenen Gruppen genutzt. Bitte "
-"überprüfen Sie genau was Sie tun, da GOsa keine Möglichkeit hat, die Daten "
-"wiederherzustellen."
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
+msgid "Permission"
+msgstr "Berechtigung"
 
-#: ihtml/themes/default/remove.tpl:9 plugins/admin/ogroups/remove.tpl:10
-#: plugins/admin/groups/remove.tpl:10 plugins/admin/users/remove.tpl:10
-#: plugins/admin/acl/remove.tpl:10
-msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-"Wenn Sie sicher sind, drücken Sie 'Entfernen' um fortzufahren oder "
-"'Abbrechen' zum Abbruch."
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
+msgid "Permission error"
+msgstr "Berechtigungsfehler"
 
-#: ihtml/themes/default/remove.tpl:15
-#: ihtml/themes/default/copyPasteDialog.tpl:21
-#: ihtml/themes/default/acl.tpl:128 ihtml/themes/default/acl.tpl:142
-#: ihtml/themes/default/snapshotdialog.tpl:44
-#: ihtml/themes/default/snapshotdialog.tpl:89
-#: ihtml/themes/default/msg_dialog.tpl:79
-#: ihtml/themes/default/msg_dialog.tpl:139
-#: ihtml/themes/default/msg_dialog.tpl:144
-#: ihtml/themes/default/islocked.tpl:19 include/utils/class_msgPool.inc:312
-#: setup/setup_migrate.tpl:163 setup/setup_migrate.tpl:214
-#: setup/setup_migrate.tpl:261 setup/setup_migrate.tpl:326
-#: setup/setup_migrate.tpl:382 setup/setup_migrate.tpl:435
-#: setup/setup_migrate.tpl:480 setup/setup_migrate.tpl:523
-#: setup/setup_migrate.tpl:567 setup/setup_ldap.tpl:17
+#: include/class_management.inc:487
+#, php-format
+msgid "You are not allowed to create a snapshot for %s!"
+msgstr "Ihnen ist es nicht erlaubt, einen Snapshot für %s zu erstellen!"
+
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
 #, php-format
-msgid "Cancel"
-msgstr "Abbrechen"
+msgid "Error"
+msgstr "Fehler"
+
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
+msgstr "Ihnen ist es nicht erlaubt, einen Snapshot für %s wiederherzustellen!"
 
-#: ihtml/themes/default/login.tpl:10
-msgid "GOsa login screen"
-msgstr "GOsa Anmeldefenster"
+#: include/class_management.inc:549
+#, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
+msgstr "Ihnen ist es nicht erlaubt, einen Snapshot von %s zu entfernen!"
 
-#: ihtml/themes/default/login.tpl:27
-msgid "Login screen"
-msgstr "Anmeldefenster"
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
+msgid "Internal error"
+msgstr "Interner Fehler"
 
-#: ihtml/themes/default/login.tpl:34
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
 msgid ""
-"Please use your username and your password to log into the site "
-"administration system."
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
 msgstr ""
-"Nutzen Sie Ihren Benutzernamen und Ihr Passwort, um sich an der Verwaltung "
-"des Standorts anzumelden."
-
-#: ihtml/themes/default/login.tpl:42 ihtml/themes/default/login.tpl:44
-#: ihtml/themes/default/password.tpl:69 ihtml/themes/default/password.tpl:71
-msgid "Username"
-msgstr "Benutzername"
-
-#: ihtml/themes/default/login.tpl:47 ihtml/themes/default/login.tpl:49
-#: ihtml/themes/default/password.tpl:40
-#: plugins/personal/generic/paste_generic.tpl:20
-#: plugins/personal/password/class_password.inc:26 setup/setup_config2.tpl:237
-#: setup/setup_config2.tpl:282 setup/setup_migrate.tpl:299
-msgid "Password"
-msgstr "Passwort"
-
-#: ihtml/themes/default/login.tpl:52 ihtml/themes/default/login.tpl:53
-#: ihtml/themes/default/password.tpl:60 ihtml/themes/default/password.tpl:62
-msgid "Directory"
-msgstr "Verzeichnis"
-
-#: ihtml/themes/default/login.tpl:77 ihtml/themes/default/login.tpl:80
-msgid "Sign in"
-msgstr "Anmelden"
-
-#: ihtml/themes/default/login.tpl:78
-msgid "Click here to log in"
-msgstr "Hier klicken zum Anmelden"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:1
-msgid "Copy & paste wizard"
-msgstr "Kopieren & Einfügen - Assistent"
+"Kann das Karteireiter-Plugin nicht instanzieren. Das Basis-Plugin (%s) ist "
+"nicht verfügbar!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:7
+#: include/class_management.inc:669
+#, php-format
 msgid ""
-"Some values need to be unique in the complete directory while some "
-"combinations make no sense. GOsa shows the relevant attributes. Please "
-"maintain the values below to fullfill the policies."
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
 msgstr ""
-"Bestimmte Werte müssen im gesamten Verzeichnis eindeutig sein, während "
-"andere Kombinationen keinen Sinn ergeben. GOsa zeigt die relevanten "
-"Attribute. Bitte verwalten Sie die Werte, die unten angezeigt werden, um die "
-"Auflagen zu erfüllen."
+"Es wurde keine TAB-Definition für '%s' in der Konfigurationsdatei gefunden.:"
+"kann keine Plugin-Instanz erzeugen!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:9
-msgid "Remember that some properties like taken snapshots will not be copied!"
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Configuration error"
+msgstr "Konfigurationsfehler"
+
+#: include/class_pluglist.inc:147
+msgid "The configuration format has changed: please run the setup again!"
 msgstr ""
-"Beachten Sie, dass manche Einstellungen wie z.B. erstellte Snapshots nicht "
-"kopiert werden!"
+"Das Konfigurationsformat hat sich geändert: bitte starten Sie das Setup "
+"erneut!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:10
+#: include/class_pluglist.inc:304
 msgid ""
-"Or if you copy or cut an entry within GOsa and delete the source object, you "
-"may get errors while pasting this object again!"
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
 msgstr ""
-"Oder wenn sie einen Eintrag in GOsa kopieren oder ausschneiden und das "
-"Quellobjekt entfernen, werden Sie wahrscheinlich wieder eine Fehlermeldung "
-"erhalten, wenn Sie das Objekt einfügen!"
+"Sie bearbeiten gerade einen Datenbankeintrag. Sollen die Daten verworfen "
+"werden?"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:330
-#, php-format
-msgid "Save"
-msgstr "Speichern"
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
+msgid "Unknown"
+msgstr "Unbekannt"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:24
-msgid "Cancel all"
-msgstr "Alle abbrechen"
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
+msgstr "Dieses objekt wird gelöscht!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:30
-msgid "Operation complete"
-msgstr "Vorgang abgeschlossen"
+#: include/utils/class_msgPool.inc:19
+#, php-format
+msgid "This %s object will be deleted!"
+msgstr "Dieses %s-Objekt wird gelöscht!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:32
-#: setup/class_setupStep_Finish.inc:37
-msgid "Finish"
-msgstr "Speichern"
+#: include/utils/class_msgPool.inc:24
+#, php-format
+msgid "This object will be deleted: %s"
+msgstr "Dieses Objekt wird gelöscht: %s"
 
-#: ihtml/themes/default/sizelimit.tpl:3
-msgid ""
-"The size limit option makes LDAP operations faster and saves the LDAP server "
-"from getting too much load. The easiest way to handle big databases without "
-"long timeouts would be to limit your search to smaller values and use "
-"filters to get the entries you are looking for."
-msgstr ""
-"Die Größenbeschränkung sorgt dafür, daß die LDAP-Operationen schneller "
-"durchgeführt werden können und verringern die Last auf dem LDAP-Server. Der "
-"einfachste Weg, große Datenbanken ohne große Zeitüberschreitungen zu "
-"bearbeiten ist es Filter zu verwenden und die Größenbeschränkungen auf einen "
-"sinnvollen Wert einzustellen."
+#: include/utils/class_msgPool.inc:26
+#, php-format
+msgid "This %s object will be deleted: %s"
+msgstr "Dieses %s-Objekt wird gelöscht: %s"
 
-#: ihtml/themes/default/sizelimit.tpl:6
-msgid "Please choose the way to react for this session"
-msgstr "Bitte entscheiden Sie, wie für diese Sitzung verfahren werden soll"
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
+msgstr "Dieses Objekt wird gelöscht:"
 
-#: ihtml/themes/default/sizelimit.tpl:9
-msgid "ignore this error and show all entries the LDAP server returns"
-msgstr ""
-"Ignoriere diesen Fehler und zeige alle vom LDAP-Server gelieferten Einträge"
+#: include/utils/class_msgPool.inc:33
+#, php-format
+msgid "This %s object will be deleted:"
+msgstr "Dieses %s-Objekt wird gelöscht:"
 
-#: ihtml/themes/default/sizelimit.tpl:10
-msgid ""
-"ignore this error and show all entries that fit into the defined sizelimit "
-"and let me use filters instead"
-msgstr ""
-"Ignoriere diesen Fehler und zeige alle Einträge, die innerhalb der "
-"Größenbeschränkung liegen"
+#: include/utils/class_msgPool.inc:37
+#, php-format
+msgid "These objects will be deleted: %s"
+msgstr "Diese Objekte werden gelöscht: %s"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
+#: include/utils/class_msgPool.inc:39
 #, php-format
-msgid "Set"
-msgstr "Setzen"
+msgid "These %s objects will be deleted: %s"
+msgstr "Diese %s-Objekte werden gelöscht: %s"
 
-#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
-msgid "Assigned ACL for current entry"
-msgstr "Zugewiesene ACL für aktuellen Eintrag"
+#: include/utils/class_msgPool.inc:47
+msgid "You have no permission to delete this object!"
+msgstr "Sie sind nicht berechtigt dieses Objekt zu löschen!"
 
-#: ihtml/themes/default/acl.tpl:12 plugins/admin/acl/acl_role.tpl:38
-msgid "New ACL"
-msgstr "Neue ACL"
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
+msgid "You have no permission to delete the object:"
+msgstr "Sie sind nicht berechtigt dieses Objekt zu löschen:"
 
-#: ihtml/themes/default/acl.tpl:17 plugins/admin/acl/acl_role.tpl:44
-msgid "ACL type"
-msgstr "ACL-Typ"
+#: include/utils/class_msgPool.inc:58
+msgid "You have no permission to delete these objects:"
+msgstr "Sie sind nicht berechtigt dieses Objekte zu löschen:"
 
-#: ihtml/themes/default/acl.tpl:19 ihtml/themes/default/acl.tpl:24
-#: plugins/admin/acl/acl_role.tpl:44
-msgid "Select an acl type"
-msgstr "Wählen Sie einen ACL-Typ"
+#: include/utils/class_msgPool.inc:65
+msgid "You have no permission to create this object!"
+msgstr "Sie sind nicht berechtigt diese Objekt anzulegen!"
 
-#: ihtml/themes/default/acl.tpl:29 ihtml/themes/default/acl.tpl:52
-#: ihtml/themes/default/acl.tpl:125 ihtml/themes/default/acl.tpl:140
-#: include/utils/class_msgPool.inc:324 setup/setup_migrate.tpl:161
-#: setup/setup_migrate.tpl:212 setup/setup_migrate.tpl:260
-#: setup/setup_migrate.tpl:325 setup/setup_migrate.tpl:380
-#: setup/setup_migrate.tpl:433 setup/setup_migrate.tpl:478
-#: setup/setup_migrate.tpl:521 setup/setup_migrate.tpl:565
-#: setup/setup_ldap.tpl:16
-#, php-format
-msgid "Apply"
-msgstr "Anwenden"
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
+msgid "You have no permission to create the object:"
+msgstr "Sie sind nicht berechtigt dieses Objekt anzulegen:"
 
-#: ihtml/themes/default/acl.tpl:36
-msgid "Additional filter options"
-msgstr "Zusätzliche Filteroptionen"
+#: include/utils/class_msgPool.inc:76
+msgid "You have no permission to create these objects:"
+msgstr "Sie sind nicht berechtigt diese Objekte anzulegen:"
 
-#: ihtml/themes/default/acl.tpl:47
-msgid "Use members from"
-msgstr "Verwende Mitglieder von"
+#: include/utils/class_msgPool.inc:83
+msgid "You have no permission to modify this object!"
+msgstr "Sie sind nicht berechtigt dieses Objekt zu verändern!"
 
-#: ihtml/themes/default/acl.tpl:61
-msgid "Available members"
-msgstr "Verfügbare Mitglieder"
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
+msgid "You have no permission to modify the object:"
+msgstr "Sie sind nicht berechtigt dieses Objekt zu verändern:"
 
-#: ihtml/themes/default/acl.tpl:63 ihtml/themes/default/acl.tpl:68
-msgid "List message possible targets"
-msgstr "Zeige mögliche Empfänger dieser Nachricht"
+#: include/utils/class_msgPool.inc:94
+msgid "You have no permission to modify these objects:"
+msgstr "Sie sind nicht berechtigt diese Objekte zu verändern:"
 
-#: ihtml/themes/default/acl.tpl:82 include/class_acl.inc:1090
-msgid "Members"
-msgstr "Mitglieder"
+#: include/utils/class_msgPool.inc:101
+msgid "You have no permission to view this object!"
+msgstr "Sie sind nicht berechtigt dieses Objekt zu öffnen!"
 
-#: ihtml/themes/default/acl.tpl:84 ihtml/themes/default/acl.tpl:90
-msgid "List message recipients"
-msgstr "Zeige Nachrichtenempfänger"
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
+msgid "You have no permission to view the object:"
+msgstr "Sie sind nicht berechtigt dieses Objekt zu öffnen:"
 
-#: ihtml/themes/default/acl.tpl:104 plugins/admin/acl/acl_role.tpl:49
-msgid "List of available ACL categories"
-msgstr "Liste verfügbarer ACL-Kategorien"
+#: include/utils/class_msgPool.inc:112
+msgid "You have no permission to view these objects:"
+msgstr "Sie sind nicht berechtigt diese Objekte zu öffnen:"
 
-#: ihtml/themes/default/acl.tpl:112
-msgid "ACL for this object"
-msgstr "ACL für dieses Objekt"
+#: include/utils/class_msgPool.inc:119
+msgid "You have no permission to move this object!"
+msgstr "Sie sind nicht berechtigt dieses Objekt zu verschieben!"
 
-#: ihtml/themes/default/acl.tpl:118
-msgid "Available roles"
-msgstr "Verfügbare Rollen"
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
+msgid "You have no permission to move the object:"
+msgstr "Sie sind nicht berechtigt dieses Objekt zu verschieben:"
 
-#: ihtml/themes/default/accountexpired.tpl:15
-msgid "Your password has expired. Please choose a new one!"
-msgstr "Ihr Passwort ist abgelaufen. Geben Sie bitte ein neues ein!"
+#: include/utils/class_msgPool.inc:130
+msgid "You have no permission to move these objects:"
+msgstr "Sie sind nicht berechtigt diese Objekte zu verschieben:"
 
-#: ihtml/themes/default/accountexpired.tpl:23
-#: ihtml/themes/default/accountexpired.tpl:27
-msgid "Old password"
-msgstr "Altes Passwort"
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
+msgid "Connection information"
+msgstr "Verbindungs-Information"
 
-#: ihtml/themes/default/accountexpired.tpl:32
-#: ihtml/themes/default/accountexpired.tpl:36
-#: ihtml/themes/default/password.tpl:82 ihtml/themes/default/password.tpl:83
-#: html/password.php:196 plugins/admin/users/password.tpl:17
-#: plugins/admin/users/password.tpl:53
-#: plugins/admin/users/class_userManagement.inc:319
-#: plugins/personal/generic/password.tpl:22
-#: plugins/personal/generic/password.tpl:65
-#: plugins/personal/password/password.tpl:27
-#: plugins/personal/password/password.tpl:70
-msgid "New password"
-msgstr "Neues Passwort"
+#: include/utils/class_msgPool.inc:142
+#, php-format
+msgid "Cannot connect to %s database!"
+msgstr "Kann keine Verbindung zur %s Datenbank aufbauen!"
 
-#: ihtml/themes/default/accountexpired.tpl:41
-#: ihtml/themes/default/accountexpired.tpl:45
-msgid "Verify password"
-msgstr "Passwort überprüfen"
+#: include/utils/class_msgPool.inc:154
+#, php-format
+msgid "Cannot select %s database!"
+msgstr "Kann die Datenbank %s nicht auswählen!"
 
-#: ihtml/themes/default/accountexpired.tpl:51
-#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
-msgid "Change password"
-msgstr "Passwort ändern"
+#: include/utils/class_msgPool.inc:160
+#, php-format
+msgid "No %s server defined!"
+msgstr "Kein Server für %s definiert!"
 
-#: ihtml/themes/default/accountexpired.tpl:52
-#: ihtml/themes/default/password.tpl:102
-msgid "Click here to change your password"
-msgstr "Hier klicken, um Ihr Passwort zu ändern"
+#: include/utils/class_msgPool.inc:172
+#, php-format
+msgid "Cannot query %s database!"
+msgstr "Kann die Datenbank %s nicht abfragen!"
 
-#: ihtml/themes/default/logout-close.tpl:5
-msgid "Your GOsa session has been closed!"
-msgstr "Ihre GOsa-Sitzung wurde geschlossen!"
+#: include/utils/class_msgPool.inc:178
+#, php-format
+msgid "The field %s contains a reserved keyword!"
+msgstr "Das Feld %s enthält ein reserviertes Schlüsselwort!"
 
-#: ihtml/themes/default/logout-close.tpl:7
-msgid ""
-"Please close this browser window and clean the authentication caches to "
-"avoid an automatic re-authentication by your browser."
-msgstr ""
-"Bitte schliessen Sie dieses Browserfenster und leeren den "
-"Authentisierungscache um eine automatische Wiederanmeldung des Browsers zu "
-"verhindern."
+#: include/utils/class_msgPool.inc:184
+#, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
+msgstr "Der als %s angegebene Hook für Modul %s existiert nicht!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:3
-msgid "Restoring object snapshots"
-msgstr "Stelle Objekt-Snapshots wieder her"
+#: include/utils/class_msgPool.inc:191
+#, php-format
+msgid "%s command is invalid!"
+msgstr "Das Kommando %s ist ungültig!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:6
-msgid ""
-"This procedure will restore a snapshot of the selected object. It will "
-"replace the existing object after pressing the restore button."
-msgstr ""
-"Dieser Vorgang stellt einen Snaphot des gewählten Objekts wieder her. Er "
-"wird dabei das vorhandene überschreiben, nachdem Sie den Wiederherstellen-"
-"Knopf gedrückt haben."
+#: include/utils/class_msgPool.inc:193
+#, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
+msgstr "Das Kommando %s (%s) für Modul %s ist ungültig!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:9
-msgid ""
-"Remember that DNS configuration and database entries could not be restored. "
-"For some objects it is only nescessary to open and save them again (goFon), "
-"but some entries must be recreated manually (glpi)."
-msgstr ""
-"Beachten Sie, dass die DNS-Konfiguration mitsamt den Datenbankeinträgen "
-"nicht wiederhergestellt werden kann.Für manche Objekte reicht es bereits, "
-"sie zu öffnen und zu speichen (GOfon), andere Einträge müssen manuell "
-"erstellt werden (glpi)."
+#: include/utils/class_msgPool.inc:195
+#, php-format
+msgid "%s command for plugin %s is invalid!"
+msgstr "Das Kommando %s für Modul %s ist ungültig!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:12
-msgid ""
-"Don't forget to check references to other objects, for example does the "
-"selected printer still exists ?"
-msgstr ""
-"Vergessen Sie nicht, Verweise auf andere Objekte zu überprüfen, bspw. ob der "
-"gewählte Drucker noch existiert."
+#: include/utils/class_msgPool.inc:197
+#, php-format
+msgid "%s command (%s) is invalid!"
+msgstr "Das Kommando %s (%s) ist ungültig!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:20
-#: ihtml/themes/default/snapshotdialog.tpl:62 include/class_acl.inc:777
-#: include/class_acl.inc:784 include/class_acl.inc:791
-#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
-#: plugins/admin/departments/class_department.inc:621
-msgid "Object"
-msgstr "Objekt"
+#: include/utils/class_msgPool.inc:205
+#, php-format
+msgid "Cannot execute %s command!"
+msgstr "Kann %s Kommando nicht ausführen!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:29
-msgid "There is no snapshot available that could be restored"
-msgstr "Es ist kein Snapshot verfügbar, der wiederhergestellt werden kann"
+#: include/utils/class_msgPool.inc:207
+#, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
+msgstr "Kann %s Kommando (%s) für Modul %s nicht ausführen!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:31
-msgid "Choose a snapshot and click the folder image, to restore the snapshot"
-msgstr ""
-"Wählen Sie einen Snapshot und klicken Sie auf das Ordner-Bild, um diesen "
-"wiederherzustellen."
+#: include/utils/class_msgPool.inc:209
+#, php-format
+msgid "Cannot execute %s command for plugin %s!"
+msgstr "Kann %s Kommando für Modul %s nicht ausführen!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:49
-msgid "Creating object snapshots"
-msgstr "Erstelle Objekte-Snapshots"
+#: include/utils/class_msgPool.inc:211
+#, php-format
+msgid "Cannot execute %s command (%s)!"
+msgstr "Kann %s Kommando (%s) nicht ausführen!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:52
-msgid ""
-"This procedure will create a snapshot of the selected object. It will be "
-"stored inside a special branch of your directory system and can be restored "
-"later on."
-msgstr ""
-"Dieser Vorgang wird einen Snapshot des gewählten Objekts erzeugen. Er wird "
-"innerhalb eines speziellen Zweiges Ihres Verzeichnisses gespeichert und kann "
-"später wieder hergestellt werden."
+#: include/utils/class_msgPool.inc:219
+#, php-format
+msgid "Value for %s is too large!"
+msgstr "Der Wert für %s ist zu groß!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:55
-msgid ""
-"Remember that database entries, DNS configurations and possibly created "
-"zones in server extensions will not be stored in the snapshot."
-msgstr ""
-"Beachten Sie, dass Datenbankeinträge, DNS-Konfigurationen und evtl. "
-"erstellte Zonen in den Server-Erweiterungen nicht im Snapshot gespeichert "
-"werden."
+#: include/utils/class_msgPool.inc:221
+#, php-format
+msgid "%s must be smaller than %s!"
+msgstr "%s muß kleiner sein als %s!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:70
-msgid "Timestamp"
-msgstr "Zeitstempel"
+#: include/utils/class_msgPool.inc:229
+#, php-format
+msgid "Value for %s is too small!"
+msgstr "Der Wert für %s ist zu kein!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:79
-msgid "Reason for generating this snapshot"
-msgstr "Grund für das Erzeugen dieses Snapshots"
+#: include/utils/class_msgPool.inc:231
+#, php-format
+msgid "%s must be %s or above!"
+msgstr "%s muß größer oder gleich %s sein!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:87
-#: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:561
-#: plugins/admin/departments/class_department.inc:643
-msgid "Continue"
-msgstr "Fortsetzen"
+#: include/utils/class_msgPool.inc:238
+#, php-format
+msgid "%s depends on %s - please provide both values!"
+msgstr "%s hängt von %s ab - bitte geben Sie beide Werte an!"
 
-#: ihtml/themes/default/msg_dialog.tpl:57
-#: ihtml/themes/default/msg_dialog.tpl:104 html/index.php:224
-#: html/index.php:228 include/class_management.inc:448
-#: include/class_management.inc:584 include/class_management.inc:916
-#: include/password-methods/class_password-methods.inc:250
-#: include/password-methods/class_password-methods.inc:309
-#: include/password-methods/class_password-methods.inc:320
-#: include/class_listing.inc:480 include/functions.inc:3393
-#: include/functions.inc:3407 include/functions.inc:3437
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485 include/functions.inc:3545
-#: include/class_tabs.inc:56 include/class_plugin.inc:670
-#: include/class_plugin.inc:712 include/class_plugin.inc:755
-#: include/class_plugin.inc:1642 include/utils/class_xml.inc:40
-#: include/utils/class_msgPool.inc:154 include/utils/class_msgPool.inc:166
-#: include/utils/class_msgPool.inc:184 include/utils/class_msgPool.inc:457
-#: include/utils/class_msgPool.inc:478 include/utils/class_msgPool.inc:497
-#: include/class_gosaSupportDaemon.inc:1184
-#: include/class_gosaSupportDaemon.inc:1204
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:377 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:469
-#: plugins/admin/groups/class_group.inc:539
-#: plugins/admin/groups/class_group.inc:545
-#: plugins/admin/groups/class_group.inc:753
-#: plugins/admin/groups/class_group.inc:894
-#: plugins/admin/groups/class_group.inc:899
-#: plugins/admin/groups/class_group.inc:1221
-#: plugins/admin/departments/class_department.inc:311
-#: plugins/admin/acl/class_aclRole.inc:681
-#: plugins/personal/generic/class_user.inc:297
-#: plugins/personal/generic/class_user.inc:408
-#: plugins/personal/generic/class_user.inc:503
-#: plugins/personal/generic/class_user.inc:801
-#: plugins/personal/generic/class_user.inc:1190
-#: plugins/personal/generic/class_user.inc:1197
-#: plugins/personal/generic/class_user.inc:1215
-#: plugins/personal/generic/class_user.inc:1485
-#: plugins/personal/generic/class_user.inc:1783
-#: setup/class_setupStep_Migrate.inc:1201 setup/setup_checks.tpl:30
-#: setup/setup_checks.tpl:91
+#: include/utils/class_msgPool.inc:244
 #, php-format
-msgid "Error"
-msgstr "Fehler"
+msgid "There is already an entry with this %s attribute in the system!"
+msgstr "Es existiert bereits ein Eintrag mit diesem %s Attribut im System!"
 
-#: ihtml/themes/default/msg_dialog.tpl:61
-#: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
-msgid "Information"
-msgstr "Information"
+#: include/utils/class_msgPool.inc:250
+#, php-format
+msgid "The required field %s is empty!"
+msgstr "Das Pflicht-Feld %s ist leer!"
 
-#: ihtml/themes/default/msg_dialog.tpl:76
-#: ihtml/themes/default/msg_dialog.tpl:78
-#: ihtml/themes/default/msg_dialog.tpl:134
-#: ihtml/themes/default/msg_dialog.tpl:137
-#: ihtml/themes/default/msg_dialog.tpl:142 include/utils/class_msgPool.inc:318
-#: setup/class_setupStep_Migrate.inc:267 setup/class_setupStep_Migrate.inc:319
-#: setup/class_setupStep_Migrate.inc:380 setup/class_setupStep_Migrate.inc:453
-#: setup/class_setupStep_Migrate.inc:530 setup/class_setupStep_Migrate.inc:604
-#: setup/class_setupStep_Migrate.inc:657 setup/class_setupStep_Migrate.inc:800
-#: setup/class_setupStep_Migrate.inc:1046
-#: setup/class_setupStep_Migrate.inc:2013
-#: setup/class_setupStep_Migrate.inc:2157
-#: setup/class_setupStep_Migrate.inc:2579
-#: setup/class_setupStep_Migrate.inc:2733
-#: setup/class_setupStep_Migrate.inc:3063 setup/setup_checks.tpl:27
-#: setup/setup_checks.tpl:87
-#, php-format
-msgid "Ok"
-msgstr "Ok"
-
-#: ihtml/themes/default/password.tpl:6
-msgid "Change your password"
-msgstr "Ihr Passwort ändern"
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
+msgstr "Beispiel"
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Success"
-msgstr "Erfolg"
+#: include/utils/class_msgPool.inc:278
+#, php-format
+msgid "The Field %s contains invalid characters"
+msgstr "Das Feld %s enthält ungültige Zeichen"
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Your password has been changed successfully."
-msgstr "Ihr Passwort wurde erfolgreich geändert."
+#: include/utils/class_msgPool.inc:279
+#, php-format
+msgid "%s is not allowed:"
+msgstr "%s ist nicht erlaubt:"
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:198
-#: plugins/admin/users/class_userManagement.inc:390
-#: plugins/personal/password/class_password.inc:128
-#: plugins/personal/password/class_password.inc:131
-#: plugins/personal/password/class_password.inc:134
-#: plugins/personal/password/class_password.inc:137
-#: plugins/personal/password/class_password.inc:140
-#: plugins/personal/password/class_password.inc:143
-#: plugins/personal/password/class_password.inc:157
-#: plugins/personal/password/class_password.inc:163
-msgid "Password change"
-msgstr "Passwort-Änderung"
+#: include/utils/class_msgPool.inc:279
+#, php-format
+msgid "%s are not allowed!"
+msgstr "%s sind nicht erlaubt!"
 
-#: ihtml/themes/default/password.tpl:53
-msgid ""
-"This dialog provides a simple way to change your password. Enter the current "
-"password and the new password (twice) in the fields below and press the "
-"'Change' button."
-msgstr ""
-"Dieser Dialog ermöglicht Ihnen auf einfache Weise, Ihr Passwort zu ändern. "
-"Geben Sie das aktuelle Passwort und zweimal das neue Passwort in den Feldern "
-"unterhalb ein und drücken Sie den 'Ändern'-Knopf."
+#: include/utils/class_msgPool.inc:282
+#, php-format
+msgid "The Field %s contains invalid characters!"
+msgstr "Das Feld %s enthält ungültige Zeichen!"
 
-#: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/generic/password.tpl:17
-#: plugins/personal/generic/password.tpl:44
-#: plugins/personal/password/password.tpl:22
-#: plugins/personal/password/password.tpl:49
-msgid "Current password"
-msgstr "Momentanes Passwort"
+#: include/utils/class_msgPool.inc:289
+#, php-format
+msgid "Missing %s PHP extension!"
+msgstr "Fehlenden %s PHP-Erweiterung!"
 
-#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:87
-msgid "New password repeated"
-msgstr "Neues Passwort (Wiederholung)"
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
+#: ihtml/themes/default/copyPasteDialog.tpl:21
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
+msgstr "Abbrechen"
 
-#: ihtml/themes/default/password.tpl:90
-#: plugins/personal/generic/password.tpl:32
-#: plugins/personal/generic/password.tpl:75
-#: plugins/personal/password/password.tpl:37
-#: plugins/personal/password/password.tpl:80
-msgid "Password strength"
-msgstr "Passwort-Stärke"
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
+#: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
+#: ihtml/themes/default/msg_dialog.tpl:139
+#: ihtml/themes/default/msg_dialog.tpl:144
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
+#, php-format
+msgid "OK"
+msgstr "OK"
 
-#: ihtml/themes/default/password.tpl:101
-msgid "Change"
-msgstr "Ändern"
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
+msgstr "Anwenden"
 
-#: ihtml/themes/default/islocked.tpl:2
-msgid "Locking conflict detected"
-msgstr "Ein Zugriffskonflikt wurde festgestellt"
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
+msgstr "Speichern"
 
-#: ihtml/themes/default/islocked.tpl:9
-msgid ""
-"If this lock detection is false, the other person has obviously closed the "
-"webbrowser during the edit operation. You may want to take over the lock by "
-"pressing the 'Edit anyway' button."
-msgstr ""
-"Wenn diese Anzeige eines Zugriffskonflikts fehlerhaft ist, hat eine andere "
-"Person offenbar während der Bearbeitung eines Eintrages einfach den "
-"Webbrowser geschlossen. In einem solchen Fall können Sie den Konflikt durch "
-"einen Klick auf Trotzdem bearbeiten übergehen."
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
+msgstr "Hinzufügen"
 
-#: ihtml/themes/default/islocked.tpl:16
-msgid "Read only"
-msgstr "Nur anschauen"
+#: include/utils/class_msgPool.inc:319
+#, php-format
+msgid "Add %s"
+msgstr "%s hinzufügen"
 
-#: ihtml/themes/default/help.tpl:9
-msgid "GOsa help viewer"
-msgstr "GOsa Hilfe-Browser"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
+msgstr "Entfernen"
 
-#: ihtml/themes/default/help.tpl:15
-msgid "Index"
-msgstr "Index"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete %s"
+msgstr "%s löschen"
 
-#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:13
-msgid "Search"
-msgstr "Suchen"
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
+msgstr "Setzen"
 
-#: ihtml/themes/default/logout.tpl:5
-msgid "Your GOsa session has expired!"
-msgstr "Die Gültigkeit ihrer GOsa-Sitzung ist abgelaufen!"
+#: include/utils/class_msgPool.inc:331
+#, php-format
+msgid "Set %s"
+msgstr "%s einstellen"
 
-#: ihtml/themes/default/logout.tpl:7
-msgid ""
-"The last interaction with the GOsa web interface has been some time ago in "
-"the past. For security reasons, the session has been closed. To continue "
-"with administrative tasks, please sign in again."
-msgstr ""
-"Die letzte in der Web-Applikation durchgeführte Aktion liegt einige Zeit in "
-"der Vergangenheit. Aus Sicherheitsgründen wurde die Sitzung geschlossen. Um "
-"mit der Administration fortzufahren, melden Sie sich bitte erneut an."
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit..."
+msgstr "Bearbeiten..."
 
-#: ihtml/themes/default/logout.tpl:10
-msgid "Sign in again"
-msgstr "Erneut anmelden"
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit %s..."
+msgstr "%s bearbeiten..."
+
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
+msgstr "Zurück"
 
-#: ihtml/themes/default/conflict.tpl:2
-msgid "Session conflict detected"
-msgstr "Ein Sitzungskonflikt wurde festgestellt"
+#: include/utils/class_msgPool.inc:363
+#, php-format
+msgid "This account has no valid %s extensions!"
+msgstr "Dieses Konto besitzt keine gültigen %s-Einstellungen."
 
-#: ihtml/themes/default/conflict.tpl:6
+#: include/utils/class_msgPool.inc:369
+#, php-format
 msgid ""
-"Probably there's another active instance of your session. Multiple window "
-"operation is technical not possible and heavily depends on the browser "
-"you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is "
-"possible. Pressing the Logout button will close this session."
+"This account has %s settings enabled. You can disable them by clicking below."
 msgstr ""
-"Vermutlich existiert eine andere aktive Instanz Ihrer Sitzung. Das Arbeiten "
-"mit mehreren Fenstern ist technisch so nicht möglich und hängt stark vom "
-"eingesetzten Browser ab. Die Verwendung unterschiedlicher Browser zur "
-"gleichen Zeit (z.B. IE und Mozilla) ist möglich. Das Drücken von 'Abmelden' "
-"schließt diese Sitzung."
+"Dieses Konto besitzt aktivierte %s-Einstellungen. Sie können diese durch "
+"einen Klick auf die untere Schaltfläche deaktivieren."
 
-#: ihtml/themes/default/conflict.tpl:10
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, php-format
 msgid ""
-"Ignoring this message will change/destroy the data you're currently editing, "
-"so please close multiple windows and log in again."
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
 msgstr ""
-"Falls Sie trotzdem fortfahren, können einige Daten der momentan bearbeiteten "
-"Dialoge verlorengehen. Deshalb schließen Sie bitte die verschiedenen Fenster "
-"und melden sich neu an."
+"Dieses Konto besitzt aktivierte %s-Erweiterungen. Um sie zu deaktivieren, "
+"müssen Sie zunächst die %s Einstellungen entfernen!"
 
-#: ihtml/themes/default/conflict.tpl:14
-msgid "Logout"
-msgstr "Abmelden"
+#: include/utils/class_msgPool.inc:388
+#, php-format
+msgid ""
+"This account has %s settings disabled. You can enable them by clicking below."
+msgstr ""
+"Dieses Konto hat keine %s-Einstellungen aktiviert. Sie können Sie durch "
+"einen Klick auf die Schaltfläche aktivieren."
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-#: ihtml/themes/default/framework.tpl:20 ihtml/themes/default/framework.tpl:24
-#: include/class_pluglist.inc:212
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, php-format
 msgid ""
-"You are currently editing a database entry. Do you want to dismiss the "
-"changes?"
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
 msgstr ""
-"Sie bearbeiten gerade einen Datenbankeintrag. Sollen die Daten verworfen "
-"werden?"
+"Dieses Konto besitzt aktuell keine aktivierten %s-Einstellungen. Um sie zu "
+"aktivieren, müssen Sie zunächst die %s Erweiterungen hinzufügen!"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-msgid "Main"
-msgstr "Hauptmenü"
+#: include/utils/class_msgPool.inc:406
+#, php-format
+msgid "Add %s settings"
+msgstr "%s Einstellungen hinzufügen"
 
-#: ihtml/themes/default/framework.tpl:16
-msgid "Help"
-msgstr "Hilfe"
+#: include/utils/class_msgPool.inc:412
+#, php-format
+msgid "Remove %s settings"
+msgstr "%s Einstellungen entfernen"
 
-#: ihtml/themes/default/framework.tpl:21 ihtml/themes/default/framework.tpl:25
-msgid "Sign out"
-msgstr "Abmelden"
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
+msgstr ""
+"Betätigen sie den 'Bearbeiten'-Schalter unten um Informationen in diesem "
+"Dialog zu ändern"
 
-#: ihtml/themes/default/framework.tpl:29
-msgid "Signed in:"
-msgstr "Angemeldet:"
+#: include/utils/class_msgPool.inc:424
+msgid "January"
+msgstr "Januar"
 
-#: ihtml/themes/default/framework.tpl:32
-msgid "GOsa main menu"
-msgstr "GOsa Hauptmenü"
+#: include/utils/class_msgPool.inc:424
+msgid "February"
+msgstr "Februar"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:454
-#: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:433
-msgid "Fatal error"
-msgstr "Schwerer Fehler"
+#: include/utils/class_msgPool.inc:424
+msgid "March"
+msgstr "März"
 
-#: html/password.php:58 html/index.php:144
-#, php-format
-msgid "GOsa configuration %s/%s is not readable. Aborted."
-msgstr "Die GOsa-Konfigurationsdatei %s/%s ist nicht lesbar. Abgebrochen."
+#: include/utils/class_msgPool.inc:424
+msgid "April"
+msgstr "April"
 
-#: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:268
-#: include/password-methods/class_password-methods-ssha.inc:51
-#: include/password-methods/class_password-methods-sha.inc:48
-#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:58
-#: include/class_SnapshotHandler.inc:76 include/functions.inc:825
-#: include/functions.inc:3067 include/functions.inc:3099
-#: include/functions.inc:3112 include/utils/class_timezone.inc:47
-#: include/class_config.inc:155 include/class_config.inc:695
-#: include/class_config.inc:1146 include/class_config.inc:1159
-#: include/class_config.inc:1177 include/class_pluglist.inc:182
-#: include/class_CopyPasteHandler.inc:119
-#: include/class_CopyPasteHandler.inc:128
-#: include/class_CopyPasteHandler.inc:177
-#: include/class_CopyPasteHandler.inc:186
-#: include/class_CopyPasteHandler.inc:194
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:667
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Configuration error"
-msgstr "Konfigurationsfehler"
+#: include/utils/class_msgPool.inc:425
+msgid "May"
+msgstr "Mai"
 
-#: html/password.php:74 html/index.php:165 html/setup.php:66
-#, php-format
-msgid "Directory '%s' specified as compile directory is not accessible!"
-msgstr ""
-"Auf das als Compile-Verzeichnis angegegebene Verzeichnis '%s' kann nicht "
-"zugegriffen werden!"
+#: include/utils/class_msgPool.inc:425
+msgid "June"
+msgstr "Juni"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:593
-msgid "Password method"
-msgstr "Passwort-Methode"
+#: include/utils/class_msgPool.inc:425
+msgid "July"
+msgstr "Juli"
 
-#: html/password.php:159
-msgid "Error: Password method not available!"
-msgstr "Fehler: Passwort-Methode ist nicht verfügbar!"
+#: include/utils/class_msgPool.inc:425
+msgid "August"
+msgstr "August"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:316
-#: plugins/personal/password/class_password.inc:132
-msgid ""
-"The passwords you've entered as 'New password' and 'Repeated new password' "
-"do not match."
-msgstr ""
-"Die Passwörter, die Sie als 'Neues Passwort' und 'Neues Passwort "
-"(Wiederholung)' eingegeben haben sind nicht identisch."
+#: include/utils/class_msgPool.inc:425
+msgid "September"
+msgstr "September"
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:138
-msgid "The password used as new and current are too similar."
-msgstr "Das alte und neue Passwort sind sich zu ähnlich."
+#: include/utils/class_msgPool.inc:426
+msgid "October"
+msgstr "Oktober"
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:141
-msgid "The password used as new is to short."
-msgstr ""
-"Das Passwort, welches Sie als 'Neues Passwort' eingegeben haben, ist zu kurz."
+#: include/utils/class_msgPool.inc:426
+msgid "November"
+msgstr "November"
 
-#: html/password.php:215 plugins/admin/groups/userSelect/user-list.xml:56
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
-#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
-#: plugins/personal/generic/class_user.inc:1313
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1345
-#: plugins/personal/generic/class_user.inc:1347
-#: plugins/personal/generic/generic.tpl:82
-#: plugins/personal/generic/paste_generic.tpl:15
-msgid "Login"
-msgstr "Kennung"
+#: include/utils/class_msgPool.inc:426
+msgid "December"
+msgstr "Dezember"
 
-#: html/password.php:224 html/index.php:321
-msgid "Please check the username/password combination."
-msgstr "Bitte überprüfen Sie die Kombination von Benutzernamen und Passwort."
+#: include/utils/class_msgPool.inc:432
+msgid "Sunday"
+msgstr "Sonntag"
 
-#: html/password.php:228
-msgid "You have no permissions to change your password."
-msgstr "Sie haben keine Berechtigung ihr Passwort zu ändern."
-
-#: html/password.php:249
-msgid "External password changer reported a problem: "
-msgstr "Das externe Passwort-Änderungsprogramm hat einen Fehler gemeldet:"
-
-#: html/password.php:280 html/index.php:406
-msgid "Session will not be encrypted."
-msgstr "Die Sitzung ist nicht verschlüsselt."
-
-#: html/password.php:280 html/index.php:406
-msgid "Enter SSL session"
-msgstr "SSL Sitzung"
-
-#: html/index.php:57
-msgid "Session is not encrypted!"
-msgstr "Die Sitzung ist nicht verschlüsselt!"
-
-#: html/index.php:64
-msgid ""
-"The session lifetime configured in your gosa.conf will be overridden by php."
-"ini settings."
-msgstr ""
-"Die Konfiguration der Gültigkeitsdauer einer Sitzung in Ihrer gosa.conf wird "
-"von der Einstellung in der php.ini überschrieben."
-
-#: html/index.php:165
-msgid "Smarty error"
-msgstr "Smarty-Fehler"
+#: include/utils/class_msgPool.inc:432
+msgid "Monday"
+msgstr "Montag"
 
-#: html/index.php:216
-msgid "There is a problem with the authentication setup!"
-msgstr "Es gab ein Problem mit der Authentisierungseinrichtung!"
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
+msgstr "Dienstag"
 
-#: html/index.php:224
-msgid "Cannot find a valid user for the current authentication setup!"
-msgstr ""
-"Es konnte kein gültiger Benutzer für die aktuell eingerichtete "
-"Authentisierung gefunden werden!"
+#: include/utils/class_msgPool.inc:432
+msgid "Wednesday"
+msgstr "Mittwoch"
 
-#: html/index.php:228
-msgid "User information is not unique accross the configured LDAP trees!"
-msgstr ""
-"Die Benutzerinformation ist für die konfigurierten LDAP-Bäume nicht "
-"eindeutig!"
-
-#: html/index.php:254 html/index.php:265 html/index.php:278
-#: include/class_SnapshotHandler.inc:124 include/class_SnapshotHandler.inc:281
-#: include/class_SnapshotHandler.inc:329 include/class_SnapshotHandler.inc:333
-#: include/class_SnapshotHandler.inc:348 include/class_SnapshotHandler.inc:383
-#: include/class_SnapshotHandler.inc:438 include/class_SnapshotHandler.inc:503
-#: include/class_SnapshotHandler.inc:518 include/class_acl.inc:1233
-#: include/class_acl.inc:1329 include/functions.inc:483
-#: include/functions.inc:518 include/functions.inc:526
-#: include/functions.inc:571 include/functions.inc:840
-#: include/functions.inc:889 include/functions.inc:946
-#: include/functions.inc:999 include/functions.inc:3046
-#: include/functions.inc:3319 include/class_plugin.inc:1319
-#: include/class_plugin.inc:1368 include/class_plugin.inc:1372
-#: include/class_plugin.inc:1388 include/class_plugin.inc:1428
-#: include/class_plugin.inc:1486 include/class_plugin.inc:1552
-#: include/class_plugin.inc:1567 include/class_ldap.inc:756
-#: include/class_ldap.inc:1222 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:888
-#: plugins/admin/ogroups/class_ogroup.inc:902
-#: plugins/admin/groups/class_group.inc:697
-#: plugins/admin/groups/class_group.inc:1018
-#: plugins/admin/departments/class_department.inc:279
-#: plugins/admin/departments/class_department.inc:476
-#: plugins/admin/departments/class_department.inc:750
-#: plugins/admin/departments/class_department.inc:781
-#: plugins/admin/acl/class_aclRole.inc:613
-#: plugins/admin/acl/class_aclRole.inc:653
-#: plugins/admin/acl/class_aclRole.inc:667
-#: plugins/personal/generic/class_user.inc:716
-#: plugins/personal/generic/class_user.inc:1112
-#: plugins/personal/posix/class_posixAccount.inc:631
-#: plugins/personal/posix/class_posixAccount.inc:963
-#: setup/class_setupStep_Migrate.inc:1212
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#: setup/class_setupStep_Migrate.inc:2143
-#: setup/class_setupStep_Migrate.inc:2440
-#: setup/class_setupStep_Migrate.inc:2444
-#: setup/class_setupStep_Migrate.inc:2634
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
-#: setup/class_setupStep_Migrate.inc:3118
-#: setup/class_setupStep_Migrate.inc:3132
-msgid "LDAP error"
-msgstr "LDAP-Fehler"
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
+msgstr "Donnerstag"
 
-#: html/index.php:265
-msgid "Cannot detect information about the installed LDAP schema!"
-msgstr "Kann Information über das installierte LDAP-Schema nicht ermitteln!"
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
+msgstr "Freitag"
 
-#: html/index.php:278
-msgid "Your LDAP setup contains old schema definitions:"
-msgstr "Ihre LDAP-Einrichtung enthält veraltete Schema-Definitionen:"
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
+msgstr "Samstag"
 
-#: html/index.php:299
-msgid "Please specify a valid username!"
-msgstr "Bitte geben Sie einen gültigen Benutzernamen ein!"
+#: include/utils/class_msgPool.inc:439
+msgid "MySQL operation failed!"
+msgstr "MySQL-Operation fehlgeschlagen!"
 
-#: html/index.php:302
-msgid "Please specify your password!"
-msgstr "Bitte geben Sie Ihr Passwort ein!"
+#: include/utils/class_msgPool.inc:447
+msgid "read operation"
+msgstr "Lese-Operation"
 
-#: html/index.php:314
-msgid "Authentication error"
-msgstr "Authentifizierungsfehler"
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
+msgstr "Hinzufügeoperation"
 
-#: html/index.php:314
-msgid "Cannot retrieve user information for htaccess authentication!"
-msgstr ""
-"Konnte Benutzerinformation für htaccess-Authentisierung nicht beziehen!"
+#: include/utils/class_msgPool.inc:447
+msgid "modify operation"
+msgstr "Änderungs-Operation"
 
-#: html/index.php:369
-msgid "Account locked. Please contact your system administrator!"
-msgstr "Das Konto ist gesperrt. Bitte benachrichtigen Sie den Administrator!"
+#: include/utils/class_msgPool.inc:448
+msgid "delete operation"
+msgstr "Lösch-Operation"
 
-#: html/index.php:412
-msgid ""
-"Your browser has cookies disabled. Please enable cookies and reload this "
-"page before logging in!"
-msgstr ""
-"Ihr Browser hat Cookies deaktiviert. Bitte aktivieren Sie zunächst Cookies "
-"und laden anschliessend diese Seite neu, bevor Sie sich anmelden!"
+#: include/utils/class_msgPool.inc:448
+msgid "search operation"
+msgstr "Such-Operation"
 
-#: html/setup.php:66
-msgid "Smarty"
-msgstr "Smarty"
+#: include/utils/class_msgPool.inc:448
+msgid "authentication"
+msgstr "Authentifizierung"
 
-#: html/main.php:148
+#: include/utils/class_msgPool.inc:451
 #, php-format
-msgid "Cannot locate file '%s' - please run '%s' to fix this"
-msgstr ""
-"Konnte Datei '%s' nicht finden - bitte führen Sie '%s' aus um das Problem zu "
-"beseitigen"
-
-#: html/main.php:167
-msgid "PHP configuration"
-msgstr "PHP-Konfiguration"
-
-#: html/main.php:168
-msgid ""
-"FATAL: Register globals is on. GOsa will refuse to login unless this is "
-"fixed by an administrator."
-msgstr ""
-"FATAL: 'Register globals' ist im PHP aktiviert. GOsa läßt keine Anmeldung "
-"zu, bis dies von einem Administrator behoben wurde."
-
-#: html/main.php:198
-msgid "Your password is about to expire, please change your password!"
-msgstr "Ihr Passwort ist fast abgelaufen, bitte setzen Sie ein neues!"
+msgid "LDAP %s failed!"
+msgstr "LDAP %s fehlgeschlagen!"
 
-#: html/main.php:268
-msgid "Running out of memory!"
-msgstr "Der verfügbare Arbeitsspeicher wird knapp!"
+#: include/utils/class_msgPool.inc:453
+msgid "LDAP operation failed!"
+msgstr "LDAP-Operation fehlgeschlagen"
 
-#: html/main.php:325
-msgid "User ACL checks disabled"
-msgstr "Prüfung der Benutzer-ACLs deaktiviert"
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
+msgstr "Objekt"
 
-#: html/main.php:373
-msgid "Plugin"
-msgstr "Erweiterung"
+#: include/utils/class_msgPool.inc:469
+msgid "Upload failed!"
+msgstr "Übertragung fehlgeschlagen!"
 
-#: html/main.php:374
+#: include/utils/class_msgPool.inc:472
 #, php-format
-msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
-msgstr "FATAL: Es kann kein Plugin für die Definition '%s' gefunden werden!"
+msgid "Upload failed: %s"
+msgstr "Übertragung fehlgeschlagen: %s"
 
-#: html/main.php:388
-msgid "Configuration Error"
-msgstr "Konfigurationsfehler"
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
+msgstr "Kommunikationsfehler mit dem Infrastruktur Dienst!"
 
-#: html/main.php:389
+#: include/utils/class_msgPool.inc:481
 #, php-format
-msgid ""
-"FATAL: not all POST variables have been transfered by PHP - please inform "
-"your administrator!"
-msgstr ""
-"FATAL: es wurden nicht alle POST-Variablen von PHP übertragen - bitte "
-"informieren Sie den Administrator!"
-
-#: html/helpviewer.php:64
-msgid "Help browser"
-msgstr "Hilfe-Browser"
-
-#: html/helpviewer.php:118
-msgid "There is no helpfile specified for this class"
-msgstr "Für diese Klasse wurde keine Hilfedatei angegeben"
-
-#: html/helpviewer.php:194 include/functions_helpviewer.inc:97
-msgid "previous"
-msgstr "Vorherige"
+msgid "Communication failure with the infrastructure service: %s"
+msgstr "Kommunikationsfehler mit dem Infrastruktur Dienst: %s"
 
-#: html/helpviewer.php:198 include/functions_helpviewer.inc:101
-msgid "next"
-msgstr "Nächste"
+#: include/utils/class_msgPool.inc:488
+msgid "Communication failure with the GOsa-NG service!"
+msgstr "Kommunikationsfehler mit dem GOsa-NG Dienst!"
 
-#: html/helpviewer.php:269
+#: include/utils/class_msgPool.inc:490
 #, php-format
-msgid "Helpdir '%s' is not accessible, can't read any helpfiles."
-msgstr ""
-"Auf das Hilfeverzeichnis '%s' kann nicht zugegriffen werden - kann daher "
-"keine Hilfedateien lesen."
-
-#: include/class_management.inc:32 include/class_management.inc:33
-#: plugins/personal/posix/class_posixAccount.inc:237
-msgid "unconfigured"
-msgstr "unkonfiguriert"
-
-#: include/class_management.inc:145
-msgid "Filter error"
-msgstr "Filter Fehler"
-
-#: include/class_management.inc:145
-msgid "The filter is incomplete!"
-msgstr "Der Filter ist unvollständig!"
-
-#: include/class_management.inc:292 include/class_management.inc:427
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1590
-#: include/class_plugin.inc:1602 include/class_plugin.inc:1617
-#: include/class_plugin.inc:1630
-#: plugins/admin/users/class_userManagement.inc:236
-#: plugins/admin/users/class_userManagement.inc:744
-msgid "Permission"
-msgstr "Berechtigung"
-
-#: include/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:702
-#: plugins/admin/users/class_userManagement.inc:706
-#: plugins/admin/acl/class_aclManagement.inc:98
-msgid "Permission error"
-msgstr "Berechtigungsfehler"
+msgid "Communication failure with the GOsa-NG service: %s"
+msgstr "Kommunikationsfehler mit dem GOsa-NG Dienst: %s"
 
-#: include/class_management.inc:427 include/class_plugin.inc:1590
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
 #, php-format
-msgid "You are not allowed to create a snapshot for %s."
-msgstr "Ihnen ist es nicht erlaubt, einen Snapshot für %s zu erstellen."
+msgid "This %s is still in use by this object: %s"
+msgstr "Dieses %s wird noch von diesem Objekt benutzt: %s"
 
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1602
-#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
+#: include/utils/class_msgPool.inc:503
 #, php-format
-msgid "You are not allowed to restore a snapshot for %s."
-msgstr "Ihnen ist es nicht erlaubt, einen Snapshot für %s wiederherzustellen."
+msgid "This %s is still in use."
+msgstr "Dieses %s ist noch in Benutzung."
 
-#: include/class_management.inc:584
+#: include/utils/class_msgPool.inc:505
 #, php-format
-msgid ""
-"No tab declaration for '%s' found in your configuration file. Cannot create "
-"plugin instance!"
-msgstr ""
-"Es wurde keine TAB-Definition für '%s' in der Konfigurationsdatei gefunden. "
-"Kann keine Plugin-Instanz erzeugen!"
+msgid "This %s is still in use by these objects: %s"
+msgstr "Dieses %s ist noch von den folgenden Objekten benutzt: %s"
 
-#: include/class_socketClient.inc:60
-msgid "The mcrypt module was not found. Please install php5-mcrypt."
-msgstr ""
-"Das mcrypt-Modul wurde nicht gefunden. Bitte installieren Sie php5-mcrypt."
-
-#: include/class_socketClient.inc:108
+#: include/utils/class_msgPool.inc:511
 #, php-format
-msgid "Socket connection to host '%s:%s' failed: %s"
-msgstr "Die Socket-Verbindung zum Host '%s:%s' ist fehlgeschlagen: %s"
+msgid "File %s does not exist!"
+msgstr "Die Datei %s existiert nicht!"
 
-#: include/class_socketClient.inc:191
+#: include/utils/class_msgPool.inc:517
 #, php-format
-msgid "Socket timeout of %s seconds reached."
-msgstr "Socket-Timeout von %s Sekunden erreicht."
-
-#: include/password-methods/class_password-methods.inc:250
-msgid "Cannot find a suitable password method for the current hash!"
-msgstr ""
-"Es konnte keine passende Passwort-Methode für den aktuellen Hash gefunden "
-"werden!"
+msgid "Cannot open file %s for reading!"
+msgstr "Kann Datei %s nicht zum Lesen öffnen!"
 
-#: include/class_SnapshotHandler.inc:46 include/class_SnapshotHandler.inc:77
-#: include/class_config.inc:1147 include/class_config.inc:1178
+#: include/utils/class_msgPool.inc:523
 #, php-format
-msgid ""
-"The snapshot functionality is enabled, but the required variable '%s' is not "
-"set."
-msgstr ""
-"Die Snapshot-Funktionalität ist aktiviert, aber die erforderliche Variable '%"
-"s' ist nicht gesetzt."
+msgid "Cannot open file %s for writing!"
+msgstr "Kann Datei %s nicht zum Schreiben öffnen!"
 
-#: include/class_SnapshotHandler.inc:59 include/class_config.inc:1160
+#: include/utils/class_msgPool.inc:529
 #, php-format
 msgid ""
-"The snapshot functionality is enabled, but the required compression module "
-"is missing. Please install '%s'."
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
 msgstr ""
-"Die Snapshot-Funktionalität ist aktiviert, aber das erforderliche Modul '%s' "
-"ist nicht verfügbar. Bitte installieren Sie '%s'."
-
-#: include/class_acl.inc:27
-msgid "Access control"
-msgstr "Zugriffskontrolle"
-
-#: include/class_acl.inc:28 plugins/admin/acl/class_aclManagement.inc:26
-msgid "Manage access control lists"
-msgstr "Zugriffskontrolllisten verwalten"
-
-#: include/class_acl.inc:120 include/class_acl.inc:581
-#: include/class_acl.inc:1009
-#, php-format
-msgid "All users"
-msgstr "Alle Benutzer"
-
-#: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
-msgid "All categories"
-msgstr "Alle Kategorien"
-
-#: include/class_acl.inc:222
-msgid "Reset ACLs"
-msgstr "ACLs zurücksetzen"
-
-#: include/class_acl.inc:223 plugins/admin/acl/class_aclRole.inc:135
-msgid "One level"
-msgstr "Diese Ebene"
-
-#: include/class_acl.inc:224 include/class_acl.inc:229
-#: plugins/admin/acl/class_aclRole.inc:136
-msgid "Current object"
-msgstr "Aktuelles Objekt"
-
-#: include/class_acl.inc:225 plugins/admin/acl/class_aclRole.inc:137
-msgid "Complete subtree"
-msgstr "Vollständiger Teilbaum"
-
-#: include/class_acl.inc:226 plugins/admin/acl/class_aclRole.inc:138
-msgid "Complete subtree (permanent)"
-msgstr "Vollständiger Teilbaum (permanent)"
+"Der Wert für %s ist momentan nicht konfiguriert oder ungültig. Bitte prüfen "
+"Sie Ihre Konfigurationsdatei!"
 
-#: include/class_acl.inc:227 include/class_acl.inc:230
-msgid "Use ACL defined in role"
-msgstr "Verwende ACL aus Rollendefinition"
-
-#: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1674
-#: setup/class_setupStep_Migrate.inc:1040
-msgid "Users"
-msgstr "Benutzer"
-
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
-#: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1043
-msgid "Groups"
-msgstr "Gruppen"
-
-#: include/class_acl.inc:496 include/class_listing.inc:242
-#: include/class_listing.inc:999 include/class_listing.inc:1001
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:372
-msgid "Up"
-msgstr "Auf"
-
-#: include/class_acl.inc:498 include/class_listing.inc:242
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:374
-msgid "Down"
-msgstr "Ab"
-
-#: include/class_acl.inc:503 include/class_acl.inc:551
-#: include/class_sortableListing.inc:192 include/class_sortableListing.inc:194
-#: plugins/admin/ogroups/ogroup-list.xml:91
-#: plugins/admin/groups/group-list.xml:108
-#: plugins/admin/users/user-list.xml:114
-#: plugins/admin/departments/dep-list.xml:172
-#: plugins/admin/acl/class_aclRole.inc:377
-#: plugins/admin/acl/class_aclRole.inc:426 plugins/admin/acl/acl-list.xml:131
-msgid "Edit"
-msgstr "Bearbeiten"
-
-#: include/class_acl.inc:503 include/class_acl.inc:507
-#: include/class_acl.inc:1265 include/class_acl.inc:1266
-#: include/class_acl.inc:1271 include/class_tabs.inc:401
-#: plugins/admin/acl/tabs_acl.inc:28 plugins/admin/acl/class_aclRole.inc:378
-#: plugins/admin/acl/class_aclRole.inc:382
-#: plugins/admin/acl/class_aclRole.inc:762
-msgid "ACL"
-msgstr "Zugriffsregeln"
-
-#: include/class_acl.inc:507 include/class_acl.inc:555
-#: include/class_sortableListing.inc:197 include/class_sortableListing.inc:199
-#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
-#: plugins/admin/acl/class_aclRole.inc:430
+#: include/utils/class_msgPool.inc:535
 #, php-format
-msgid "Delete"
-msgstr "Entfernen"
+msgid "Cannot delete file %s!"
+msgstr "Kann Datei %s nicht löschen!"
 
-#: include/class_acl.inc:543
-msgid "No ACL settings for this category!"
-msgstr "Keine ACL-Einstellungen für diese Kategorie!"
-
-#: include/class_acl.inc:545
+#: include/utils/class_msgPool.inc:541
 #, php-format
-msgid "Contains ACLs for these objects: %s"
-msgstr "Enthält ACLs für diese Objekte: %s"
-
-#: include/class_acl.inc:551 include/class_acl.inc:555
-msgid "category ACL"
-msgstr "ACL Kategorie"
+msgid "Cannot create folder %s!"
+msgstr "Kann den Ordner %s nicht anlegen!"
 
-#: include/class_acl.inc:608
+#: include/utils/class_msgPool.inc:547
 #, php-format
-msgid "Edit ACL for '%s' - scope is '%s'"
-msgstr "ACL für '%s' bearbeiten - Gültigkeitsbereich ist '%s'"
-
-#: include/class_acl.inc:618 plugins/admin/acl/class_aclRole.inc:460
-msgid "All objects in current subtree"
-msgstr "Alle Objekte im aktuellen Teilbaum"
-
-#: include/class_acl.inc:779 include/class_acl.inc:786
-msgid "Show/hide advanced settings"
-msgstr "Zeige/verstecke erweiterte Einstellungen"
-
-#: include/class_acl.inc:803
-msgid "Create objects"
-msgstr "Erstelle Objekte"
-
-#: include/class_acl.inc:804
-msgid "Move objects"
-msgstr "Objekte verschieben"
-
-#: include/class_acl.inc:805
-msgid "Remove objects"
-msgstr "Objekte entfernen"
-
-#: include/class_acl.inc:807
-msgid "Grant permission to owner"
-msgstr "Berechtigungen für Eigentümer einräumen"
-
-#: include/class_acl.inc:811 include/class_acl.inc:916
-#: include/class_acl.inc:920
-msgid "read"
-msgstr "lesen"
-
-#: include/class_acl.inc:812 include/class_acl.inc:918
-#: include/class_acl.inc:921
-msgid "write"
-msgstr "schreiben"
-
-#: include/class_acl.inc:816
-msgid "Complete object"
-msgstr "Vollständiges Objekt"
-
-#: include/class_acl.inc:960 include/class_session.inc:76
-#: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:611 include/functions.inc:815
-#: include/functions.inc:933 include/functions.inc:1331
-#: include/functions.inc:2414 include/functions.inc:2448
-#: include/functions.inc:2468 include/class_ldap.inc:693
-#: include/class_ldap.inc:744 include/class_log.inc:87
-#: include/class_CopyPasteHandler.inc:160
-#: include/class_CopyPasteHandler.inc:274
-msgid "Internal error"
-msgstr "Interner Fehler"
+msgid "Cannot delete folder %s!"
+msgstr "Kann den Ordner %s nicht löschen!"
 
-#: include/class_acl.inc:960
+#: include/utils/class_msgPool.inc:553
 #, php-format
-msgid "Unkown ACL type '%s'!"
-msgstr "Unbekannter ACL-Typ '%s'!"
+msgid "Checking for %s support"
+msgstr "Prüfe auf %s-Unterstützung"
 
-#: include/class_acl.inc:1005
+#: include/utils/class_msgPool.inc:559
 #, php-format
-msgid "Unknown entry '%s'!"
-msgstr "Unbekannter Eintrag '%s'!"
+msgid "Install and activate the %s PHP module."
+msgstr "Installieren und aktivieren Sie das %s PHP-Modul."
 
-#: include/class_acl.inc:1069 include/class_acl.inc:1071
+#: include/utils/class_msgPool.inc:565
 #, php-format
-msgid "Role: %s"
-msgstr "Rolle: %s"
+msgid ""
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
+msgstr ""
+"Die Klasse %s kann nicht initialisiert werden! Vielleicht fehlt ein Modul in "
+"Ihren GOsa-Einstellungen?"
 
-#: include/class_acl.inc:1071
-msgid "unknown role"
-msgstr "unbekannte rolle"
+#: include/utils/class_msgPool.inc:571
+msgid ""
+"The supplied base is not valid and has been reset to its previous value!"
+msgstr ""
+"Die angegebene Basis ist ungültig. Der alte Wert wurde wieder hergestellt!"
 
-#: include/class_acl.inc:1079
+#: include/utils/class_timezone.inc:47
 #, php-format
-msgid "Contains settings for these objects: %s"
-msgstr "Enthält Einstellungen für diese Objekte: %s"
-
-#: include/class_acl.inc:1096
-msgid "inactive"
-msgstr "inaktiv"
+msgid "The configured timezone %s is not valid!"
+msgstr "Die eingestellte Zeitsone %s ist ungültig!"
+
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
+msgstr "Warnung"
 
-#: include/class_acl.inc:1096
-msgid "No members"
-msgstr "Keine Mitglieder"
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+msgid "Fatal error"
+msgstr "Schwerer Fehler"
 
-#: include/class_acl.inc:1266
-msgid "Access control list"
-msgstr "Zugriffskontrollliste"
+#: include/utils/class_xml.inc:51
+msgid "XML error"
+msgstr "XML-Fehler"
 
-#: include/class_acl.inc:1271
-msgid "ACL roles"
-msgstr "ACL-Rollen"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
+msgstr "Aufsteigend sortieren"
 
-#: include/class_session.inc:76 include/class_session.inc:101
-#: include/class_session.inc:127
-msgid "Requested channel does not exist! Please contact your Administrator."
-msgstr ""
-"Der angeforderte Kanal existiert nicht! Bitte benachrichtigen Sie Ihren "
-"Administrator."
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
+msgstr "Absteigend sortieren"
 
-#: include/class_listing.inc:301 setup/setup_migrate.tpl:93
-#: setup/setup_migrate.tpl:149 setup/setup_migrate.tpl:201
-#: setup/setup_migrate.tpl:368 setup/setup_migrate.tpl:421
-#: setup/setup_migrate.tpl:464 setup/setup_migrate.tpl:507
-#: setup/setup_migrate.tpl:551
+#: include/class_listing.inc:319
 msgid "Select all"
 msgstr "Alle auswählen"
 
-#: include/class_listing.inc:522
+#: include/class_listing.inc:578
 msgid "created by"
 msgstr "Angelegt von"
 
-#: include/class_listing.inc:991
-msgid "Go to root department"
-msgstr "Gehe zur Wurzel-Abteilung"
-
-#: include/class_listing.inc:991 include/class_listing.inc:993
-#: include/class_baseSelector.inc:159
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
 msgid "Root"
 msgstr "Wurzel"
 
-#: include/class_listing.inc:999
-msgid "Go up one department"
-msgstr "Eine Abteilung nach oben"
-
-#: include/class_listing.inc:1007
-msgid "Go to users department"
-msgstr "Gehe zur Abteilung des Benutzers"
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
+msgstr "Zur übergeordneten Ebene wechseln"
 
-#: include/class_listing.inc:1007 include/class_listing.inc:1009
-msgid "Home"
-msgstr "Heimat"
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
+msgstr "Zur Ebene des momentanen Benutzers wechseln"
 
-#: include/class_listing.inc:1014
+#: include/class_listing.inc:1079
 msgid "Reload list"
 msgstr "Liste neu laden"
 
-#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
-msgid "Submit"
-msgstr "Übertragen"
-
-#: include/class_listing.inc:1109 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:64
-#: plugins/admin/groups/group-list.xml:79 plugins/admin/users/user-list.xml:78
-#: plugins/admin/departments/dep-list.xml:87 plugins/admin/acl/acl-list.xml:65
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
 msgid "Actions"
 msgstr "Aktionen"
 
-#: include/class_listing.inc:1380 include/class_listing.inc:1430
-#: include/class_plugin.inc:2114
+#: include/class_listing.inc:1453
 msgid "Copy"
 msgstr "Kopieren"
 
-#: include/class_listing.inc:1386 include/class_listing.inc:1420
-#: include/class_plugin.inc:2118
+#: include/class_listing.inc:1459
 msgid "Cut"
 msgstr "Ausschneiden"
 
-#: include/class_listing.inc:1394 include/class_listing.inc:1396
-#: include/class_plugin.inc:2125 include/class_plugin.inc:2128
-#: include/class_CopyPasteHandler.inc:570
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
 msgid "Paste"
 msgstr "Einfügen"
 
-#: include/class_listing.inc:1420 include/class_plugin.inc:2072
+#: include/class_listing.inc:1492
 msgid "Cut this entry"
 msgstr "Diesen Eintrag ausschneiden"
 
-#: include/class_listing.inc:1430 include/class_plugin.inc:2080
+#: include/class_listing.inc:1501
 msgid "Copy this entry"
 msgstr "Diesen Eintrag kopieren"
 
-#: include/class_listing.inc:1462 include/class_listing.inc:1464
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
 msgid "Restore snapshots"
 msgstr "Abzug wiederherstellen"
 
-#: include/class_listing.inc:1478
+#: include/class_listing.inc:1549
 msgid "Export list"
 msgstr "Liste exportieren"
 
-#: include/class_listing.inc:1513 include/class_listing.inc:1514
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
 msgid "Restore snapshot"
 msgstr "Abzug wiederherstellen"
 
-#: include/class_listing.inc:1523 include/class_plugin.inc:2053
-msgid "Create snapshot"
-msgstr "Snapshot erstellen"
-
-#: include/class_listing.inc:1524 include/class_plugin.inc:2054
-msgid "Create a new snapshot from this object"
+#: include/class_listing.inc:1591
+msgid "Create new snapshot for this object"
 msgstr "Erstelle einen neuen Snapshot dieses Objekts"
 
-#: include/class_sortableListing.inc:194
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
+msgid "Parent filter"
+msgstr "Stamm-Filter"
+
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
+msgstr "Name"
+
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
+msgstr "Beschreibung"
+
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
+msgstr "Kategorie"
+
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+msgid "Options"
+msgstr "Optionen"
+
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
+msgid "LDAP error"
+msgstr "LDAP-Fehler"
+
+#: include/class_log.inc:87
+#, php-format
+msgid "Logging failed: %s"
+msgstr "Protokollieren fehlgeschlagen: %s"
+
+#: include/class_log.inc:102
+#, php-format
+msgid "Invalid option %s specified!"
+msgstr "Ungültige Option %s angegeben!"
+
+#: include/class_log.inc:106
+msgid "Specified 'objectType' is empty or invalid!"
+msgstr "Der angegebene Objekt-Typ ist leer oder ungültig!"
+
+#: include/class_multi_plug.inc:362
+msgid "You are currently editing multiple entries."
+msgstr "Sie bearbeiten momentan mehrere Einträge."
+
+#: include/class_multi_plug.inc:394
+msgid "Reset password"
+msgstr "Passwort zurücksetzen"
+
+#: include/class_multi_plug.inc:394
+msgid "The user password has been reset. Please set a new password!"
+msgstr ""
+"Das Nutzer-Passwort wurde zurückgesetzt. Bitte setzen Sie ein neues Passwort!"
+
+#: include/class_tabs.inc:72
+#, php-format
+msgid "No plugin definition for %s found: please check the configuration file!"
+msgstr ""
+"Es wurde keine Plugin-Definition gefunden um %s zu Initialisieren: bitte "
+"prüfen Sie Ihre Konfigurationsdatei!"
+
+#: include/class_tabs.inc:287
+#, php-format
+msgid "Delete process has been canceled by plugin %s: %s"
+msgstr "Der Lösch-Vorgang wurde durch das plugin %s abgebrochen: %s"
+
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
+msgstr "Zugriffsregeln"
+
+#: include/class_tabs.inc:425
+msgid "References"
+msgstr "Referenzen"
+
+#: include/functions_helpviewer.inc:45
+#, php-format
+msgid "XML error in guide.xml: %s at line %s"
+msgstr "XML-Fehler in der Datei guide.xml: %s in Zeile %s"
+
+#: include/functions_helpviewer.inc:88
+msgid "No help available for this plug-in."
+msgstr "Für dieses Modul ist keine Hilfe verfügbar."
+
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
+msgstr "Vorherige"
+
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
+msgid "next"
+msgstr "Nächste"
+
+#: include/functions_helpviewer.inc:388
+#, php-format
+msgid "%s results for your search with the keyword %s"
+msgstr "%s Ergebnisse für Ihre Suche nach %s"
+
+#: include/functions_helpviewer.inc:461
+#, php-format
+msgid "%s%% hit rate in file %s"
+msgstr "%s%% Trefferquote in Datei %s"
+
+#: include/class_msg_dialog.inc:124
+msgid "Please fix the above error and reload the page."
+msgstr "Bitte beheben Sie obigen Fehler und laden die Seite neu."
+
+#: include/class_plugin.inc:581
+msgid ""
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
+msgstr ""
+"Das momentane Objekt wurde während der Bearbeitung verändert. Wenn Sie es "
+"speichern, sind diese Änderungen verloren!"
+
+#: include/class_plugin.inc:1411
+#, php-format
+msgid "Changing ACL DN from %s to %s"
+msgstr "Ändere ACL-DN von %s nach %s"
+
+#: include/class_SnapShotDialog.inc:55
+msgid "Date"
+msgstr "Datum"
+
+#: include/class_SnapShotDialog.inc:94
+#, php-format
+msgid "You are about to delete the snapshot %s."
+msgstr "Sie sind dabei den Snapshot %s zu entfernen."
+
+#: include/class_SnapShotDialog.inc:143
+msgid "Delete snapshot"
+msgstr "Snapshot entfernen"
+
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+msgid "Y-m-d, H:i:s"
+msgstr "Y-m-d, H:i:s"
+
+#: include/class_pathNavigator.inc:86
+msgid "Welcome to GOsa"
+msgstr "Willkommen bei GOsa"
+
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
+msgstr ""
+"Es konnte keine passende Passwort-Methode für den aktuellen Hash gefunden "
+"werden!"
+
+#: include/class_sortableListing.inc:234
+msgid "Sortable list"
+msgstr "Sortierbare Liste"
+
+#: include/class_sortableListing.inc:239
 msgid "Edit this entry"
 msgstr "Diesen Eintrag bearbeiten"
 
-#: include/class_sortableListing.inc:199
+#: include/class_sortableListing.inc:244
 msgid "Delete this entry"
 msgstr "Diesen Eintrag entfernen"
 
-#: include/functions.inc:134
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+msgid "unknown"
+msgstr "unbekannt"
+
+#: include/class_configRegistry.inc:197
 #, php-format
-msgid "Fatal error: no class locations defined - please run '%s' to fix this"
+msgid "%s has version %s but %s is required!"
+msgstr "%s ist in Version %s vorhanden, benötigt wird aber %s!"
+
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
+msgstr "Die folgenden Objektklassen fehlen:"
+
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+msgid "The following object classes are outdated:"
+msgstr "Die folgenden Objektklassen sind veraltet:"
+
+#: include/class_configRegistry.inc:252
+msgid ""
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
 msgstr ""
-"Schwerer Fehler: keine Klassenfundorte definiert - bitte führen Sie '%s' "
-"aus, um das Problem zu beheben"
+"Module die eine oder mehrere der oben aufgelisteten Klassen benötigen werden "
+"deaktiviert solange die Objektklassen nicht aktualisiert sind."
+
+#: include/class_configRegistry.inc:254
+msgid "Schema validation error"
+msgstr "Fehler beim Validieren des Schemas"
 
-#: include/functions.inc:141
+#: include/class_configRegistry.inc:689
 #, php-format
-msgid ""
-"Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+msgid "The value %s specified for %s:%s needs to be a bool value!"
+msgstr "Der Wert %s welcher für %s:%s angegeben wurde, muss boolesch sein!"
+
+#: include/class_configRegistry.inc:704
+#, php-format
+msgid "The value %s specified for %s:%s needs to be a string!"
 msgstr ""
-"Schwerer Fehler: Kann Klasse '%s' nicht instanziieren - bitte führen Sie '%"
-"s' aus um das Problem zu beheben"
+"Der Wert %s welcher für %s:%s angegeben wurde, muss eine Zeichenkette sein!"
+
+#: include/class_configRegistry.inc:719
+#, php-format
+msgid "The value %s specified for %s:%s needs to be numeric!"
+msgstr "Der Wert %s welcher für %s:%s angegeben wurde, muss nummerisch sein!"
+
+#: include/class_configRegistry.inc:734
+#, php-format
+msgid "The path %s specified for %s:%s is invalid!"
+msgstr "Der Pfad %s, welcher für %s:%s angegeben ist, ist ungültig!"
+
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
+msgstr "Der Ordner %s, welcher für %s:%s angegeben ist, existiert nicht!"
+
+#: include/class_configRegistry.inc:755
+#, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
+msgstr "Der Ordner %s, welcher für %s:%s angegeben wurde ist nicht lesbar!"
+
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
+#, php-format
+msgid "The file %s specified for %s:%s is not writeable!"
+msgstr "Die Datei %s, welche für %s:%s angegeben wurde ist nicht schreibbar!"
+
+#: include/class_configRegistry.inc:802
+#, php-format
+msgid "The folder %s specified for %s:%s is not writeable!"
+msgstr "Der Ordner %s, welche für %s:%s angegeben wurde ist nicht schreibbar!"
+
+#: include/class_configRegistry.inc:820
+#, php-format
+msgid "The file %s specified for %s:%s does not exists!"
+msgstr "Die Datei %s, welche für %s:%s angegeben wurde, existiert nicht!"
+
+#: include/class_configRegistry.inc:825
+#, php-format
+msgid "The file %s specified for %s:%s is not readable!"
+msgstr "Die Datei %s, welche für %s:%s angegeben wurde ist nicht lesbar!"
+
+#: include/class_configRegistry.inc:841
+#, php-format
+msgid "The command %s specified for %s:%s is invalid!"
+msgstr "Das Kommando %s, welche für %s:%s angegeben wurde ist ungültig!"
+
+#: include/class_configRegistry.inc:856
+#, php-format
+msgid "The DN %s specified for %s:%s is invalid!"
+msgstr "Die DN %s, welche für %s:%s angegeben wurde ist ungültig!"
 
-#: include/functions.inc:455
+#: include/class_configRegistry.inc:871
 #, php-format
-msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+msgid "The RDN %s specified for %s:%s is invalid!"
+msgstr "Die RDN %s, welche für %s:%s angegeben wurde ist ungültig!"
+
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
 msgstr ""
-"FATAL: Fehler beim Verbinden mit dem LDAP-Server. Die Meldung lautet '%s'."
+"Der PHP-Interpreter meldete einen oder mehrere Fehler beim Erzeugen dieser "
+"Seite!"
+
+#: include/php_setup.inc:110
+msgid "Send bug report"
+msgstr "Fehlerbericht senden"
 
-#: include/functions.inc:526
-msgid "Username / UID is not unique inside the LDAP tree!"
-msgstr "Der Benutzername / die UID ist nicht eindeutig für den LDAP-Baum."
+#: include/php_setup.inc:114
+msgid "Toggle details"
+msgstr "Details zeigen/verstecken"
 
-#: include/functions.inc:611
-msgid ""
-"Username / UID is not unique inside the LDAP tree. Please contact your "
-"Administrator."
+#: include/php_setup.inc:123
+msgid "PHP error"
+msgstr "PHP Fehler"
+
+#: include/php_setup.inc:142
+msgid "class"
+msgstr "Klasse"
+
+#: include/php_setup.inc:148
+msgid "function"
+msgstr "Funktion"
+
+#: include/php_setup.inc:153
+msgid "static"
+msgstr "statisch"
+
+#: include/php_setup.inc:157
+msgid "method"
+msgstr "Methode"
+
+#: include/php_setup.inc:190
+msgid "Traceback"
+msgstr "Ablaufverfolgung"
+
+#: include/php_setup.inc:191
+msgid "File"
+msgstr "Datei"
+
+#: include/php_setup.inc:191
+msgid "Line"
+msgstr "Zeile"
+
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+msgid "Type"
+msgstr "Typ"
+
+#: include/php_setup.inc:192
+msgid "Arguments"
+msgstr "Argumente"
+
+#: include/class_certificate.inc:73
+msgid "Certificate is empty!"
+msgstr "Zertifikat ist leer!"
+
+#: include/class_certificate.inc:100
+msgid "Cannot load certificate: only PEM and DER are supported!"
+msgstr "Zertifikat kann nicht geladen werden: nur PEM/DER sind unterstützt!"
+
+#: include/class_certificate.inc:115
+msgid "Cannot extract information for non PEM certificates!"
 msgstr ""
-"Der Benutzername / die UID ist nicht eindeutig für den LDAP-Baum. Bitte "
-"kontaktieren Sie Ihren Administrator."
+"Zertifikatinformationen können nur für PEM Zertifikate ermittelt werden!"
+
+#: include/class_certificate.inc:219
+msgid "No valid certificate loaded!"
+msgstr "Kein gültiges Zertifikat geladen!"
+
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+msgid "Requested channel does not exist!"
+msgstr "Der angeforderte Channel existiert nicht!"
 
-#: include/functions.inc:815 include/functions.inc:933
-msgid "Error while adding a lock. Contact the developers!"
+#: include/functions.inc:151
+#, php-format
+msgid "Fatal error: no class locations defined - please run %s to fix this"
 msgstr ""
-"Fehler beim Setzen einer Sperre. Bitte kontaktieren Sie die Entwickler!"
+"Schwerer Fehler: keine class locations definiert - bitte führen Sie %s aus, "
+"um das Problem zu beheben"
 
-#: include/functions.inc:825
+#: include/functions.inc:158
 #, php-format
-msgid ""
-"Cannot create locking information in LDAP tree. Please contact your "
-"administrator!"
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
 msgstr ""
-"Kann Sperrinformation für LDAP-Baum nicht erzeugen. Bitte kontaktieren Sie "
-"Ihren Administrator!"
+"Schwerer Fehler: kann Klasse %s nicht instanziieren - bitte führen Sie %s "
+"aus um das Problem zu beheben"
 
-#: include/functions.inc:825
+#: include/functions.inc:483
 #, php-format
-msgid "LDAP server returned: %s"
-msgstr "Der LDAP-Server meldete: %s"
+msgid "Error while connecting to LDAP: %s"
+msgstr "Fehler beim Verbinden mit dem LDAP-Server: %s"
 
-#: include/functions.inc:954
-msgid ""
-"Found multiple locks for object to be locked. This should not happen - "
-"cleaning up multiple references."
-msgstr ""
-"Mehrere Sperren für das zu sperrende Objekt gefunden. Dies sollte nicht "
-"passieren - räume mehrere Referenzen auf."
+#: include/functions.inc:554 include/functions.inc:640
+msgid "User ID is not unique!"
+msgstr "Benutzerkennung ist nicht eindeutig!"
+
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
+msgstr "Fehler beim Sperren des Eintrags!"
+
+#: include/functions.inc:864
+#, php-format
+msgid "Cannot store lock information in LDAP!"
+msgstr "Kann Sperr-Information nicht im LDAP speichern!"
+
+#: include/functions.inc:864
+#, php-format
+msgid "Error: %s"
+msgstr "Fehler: %s"
 
-#: include/functions.inc:1258
+#: include/functions.inc:1294
 #, php-format
-msgid "The size limit of %d entries is exceed!"
+msgid "The current size limit of %d entries is exceeded!"
 msgstr "Die Größenbeschränkung von %d Einträgen ist überschritten!"
 
-#: include/functions.inc:1260
+#: include/functions.inc:1296
 #, php-format
-msgid ""
-"Set the new size limit to %s and show me this message if the limit still "
-"exceeds"
-msgstr ""
-"Verwende eine neue Größenbeschränkung von %s Einträgen und zeige diese "
-"Meldung bei Überschreitung wieder an"
+msgid "Set the size limit to %s"
+msgstr "Setze Grössenlimitieren auf %s"
 
-#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
 msgid "Configure"
 msgstr "Konfigurieren"
 
-#: include/functions.inc:1277
-msgid "incomplete"
-msgstr "unvollständig"
+#: include/functions.inc:1313
+msgid "list is incomplete"
+msgstr "Liste ist unvollständig"
 
-#: include/functions.inc:1667
+#: include/functions.inc:1663
 msgid "Continue anyway"
 msgstr "Trotzdem Fortsetzen"
 
-#: include/functions.inc:1669
+#: include/functions.inc:1665
 msgid "Edit anyway"
 msgstr "Trotzdem bearbeiten"
 
-#: include/functions.inc:1671
-#, php-format
-msgid "You're going to edit the LDAP entry/entries %s"
-msgstr "Sie bearbeiten gerade den/die LDAP Eintrag/Einträge %s"
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
+msgstr "Diese Einträge sind momentan gesperrt:"
 
-#: include/functions.inc:1911
+#: include/functions.inc:1909
 msgid "Entries per page"
 msgstr "Einträge pro Seite"
 
-#: include/functions.inc:1940 include/class_filter.inc:315
-msgid "Apply filter"
-msgstr "Filter anwenden"
-
-#: include/functions.inc:2252 include/class_filter.inc:281
-msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-
-#: include/functions.inc:2306
+#: include/functions.inc:2087
 #, php-format
 msgid "GOsa %s"
 msgstr "GOsa %s"
 
-#: include/functions.inc:2313
+#: include/functions.inc:2094
+#, php-format
 msgid "GOsa %s snapshot (Rev %s)"
-msgstr "GOsa Schnappschuss (Rev %s)"
+msgstr "GOsa %s Entwicklerversion (Rev %s)"
 
-#: include/functions.inc:2318
+#: include/functions.inc:2099
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "GOsa Entwicklerversion (Rev %s)"
 
-#: include/functions.inc:2414
+#: include/functions.inc:2195
 #, php-format
-msgid "File '%s' could not be deleted."
-msgstr "Die Datei '%s' konnte nicht entfernt werden."
+msgid "File %s cannot be deleted!"
+msgstr "Datei %s konnte nicht entfernt werden!"
 
-#: include/functions.inc:2448 include/functions.inc:2468
-msgid "Cannot write to revision file!"
+#: include/functions.inc:2225 include/functions.inc:2245
+msgid "Cannot write revision file!"
 msgstr "Kann nicht in Revisions-Datei schreiben!"
 
-#: include/functions.inc:2686 include/functions.inc:2690
-#: include/functions.inc:2696
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr "'baseIdHook' ist nicht verfügbar. Verwende die Standard-Basis!"
 
-#: include/functions.inc:2720
-msgid "LDAP warning"
-msgstr "LDAP-Warnung"
-
-#: include/functions.inc:2720
-msgid "Cannot get schema information from server. No schema check possible!"
+#: include/functions.inc:2550
+msgid ""
+"Cannot read schema information from LDAP. Schema validation is not possible!"
 msgstr ""
 "Kann die Schema-Informationen nicht vom Server beziehen. Keine Schemaprüfung "
 "möglich!"
 
-#: include/functions.inc:2746
-msgid "Used to store account specific informations."
-msgstr "Verwendet, um kontenbezogene Informationen zu speichern."
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
+msgstr "Diese Klasse wird verwendet um Benutzer in GOsa sichtbar zu machen."
 
-#: include/functions.inc:2753
+#: include/functions.inc:2583
 msgid ""
-"Used to lock currently edited entries to avoid multiple changes at the same "
+"This class is used to lock entries in order to prevent multiple edits at a "
 "time."
 msgstr ""
-"Verwenden, um die momentan bearbeiteten Einträge für andere zu sperren (um "
-"gleichzeitige Änderungen zu verhindern)."
+"Diese Klasse wird verwendet um Mehrfachbearbeitungen von Einträgen zu "
+"verhindern."
 
-#: include/functions.inc:2798
+#: include/functions.inc:2628
 #, php-format
-msgid "Missing required object class '%s'!"
-msgstr "Die benötigte Objektklasse '%s' fehlt!"
+msgid "Required object class %s is missing!"
+msgstr "Die benötigte Objektklasse %s fehlt!"
 
-#: include/functions.inc:2801
+#: include/functions.inc:2631
 #, php-format
-msgid "Missing optional object class '%s'!"
-msgstr "Die optionale Objektklasse '%s' fehlt!"
+msgid "Optional object class %s is missing!"
+msgstr "Die optionale Objektklasse %s fehlt!"
 
-#: include/functions.inc:2806
+#: include/functions.inc:2636
 #, php-format
-msgid "Version mismatch for required object class '%s' (!=%s)!"
-msgstr "Falsche·Version·der·benötigten·Objektklasse·'%s'·(!=%s)!"
+msgid "Wrong version of required object class %s (!=%s) detected!"
+msgstr "Falsche·Version·der·benötigten·Objektklasse·%s·(!=%s)!"
 
-#: include/functions.inc:2809
+#: include/functions.inc:2639
 #, php-format
-msgid "Class(es) available"
-msgstr "Verfügbare Klasse(n)"
+msgid "Class available"
+msgstr "Klasse verfügbar"
 
-#: include/functions.inc:2831
+#: include/functions.inc:2661
 msgid ""
-"You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
-"schema    configuration do not support this option."
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
 msgstr ""
-"Sie haben die rfc2307bis-Option in der LDAP-Einrichtung aktiviert, aber Ihre "
-"Schema-Konfiguration unterstützt dies nicht."
+"Das RFC2307bis Schema ist aktiv, die momentanen LDAP-Einstellungen "
+"unterstützen es aber nicht!"
 
-#: include/functions.inc:2832
+#: include/functions.inc:2662
 msgid ""
-"In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
-"be      AUXILIARY"
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
 msgstr ""
-"Um rfc2307bis-konforme Gruppen verwenden zu können, muss die Objektklasse "
+"Um RFC2307bis-konforme Gruppen verwenden zu können, muss die Objektklasse "
 "'posixGroup' AUXILIARY sein"
 
-#: include/functions.inc:2836
+#: include/functions.inc:2666
 msgid ""
-"Your schema is configured to support the rfc2307bis group, but you have "
-"disabled this option on the 'ldap setup' step."
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
 msgstr ""
-"Ihre Schemakonfiguration ist für rfc2307bis-Gruppen eingerichtet, aber Sie "
-"haben die Unterstützung im LDAP-Einrichtungsschritt ausgeschaltet."
+"Das RFC2307bis Schema ist inaktiv, die momentanen LDAP-Einstellungen setzen "
+"es aber voraus!"
 
-#: include/functions.inc:2837
-msgid "The objectClass 'posixGroup' must be STRUCTURAL"
-msgstr "Die Objektklasse 'posixGroup' muss STRUCTURAL sein"
+#: include/functions.inc:2667
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
+msgstr ""
+"Um das Problem zu beheben, muss die Objektklasse 'posixGroup' STRUCTURAL "
+"sein."
 
-#: include/functions.inc:2861
+#: include/functions.inc:2692
 msgid "German"
 msgstr "Deutsch"
 
-#: include/functions.inc:2862
+#: include/functions.inc:2693
 msgid "French"
 msgstr "Französisch"
 
-#: include/functions.inc:2863
+#: include/functions.inc:2694
 msgid "Italian"
 msgstr "Italienisch"
 
-#: include/functions.inc:2864
+#: include/functions.inc:2695
 msgid "Spanish"
 msgstr "Spanisch"
 
-#: include/functions.inc:2865
+#: include/functions.inc:2696
 msgid "English"
 msgstr "Englisch"
 
-#: include/functions.inc:2866
+#: include/functions.inc:2697
 msgid "Dutch"
 msgstr "Niederländisch"
 
-#: include/functions.inc:2867
+#: include/functions.inc:2698
 msgid "Polish"
 msgstr "Polnisch"
 
-#: include/functions.inc:2869
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
+msgstr "Portugiesisches Brasilianisch"
+
+#: include/functions.inc:2701
 msgid "Chinese"
 msgstr "Chinesisch"
 
-#: include/functions.inc:2870
+#: include/functions.inc:2702
 msgid "Vietnamese"
 msgstr "Vietnamesisch"
 
-#: include/functions.inc:2871
+#: include/functions.inc:2703
 msgid "Russian"
 msgstr "Russisch"
 
-#: include/functions.inc:3066
+#: include/functions.inc:2896
+msgid "Cannot detect password hash!"
+msgstr "Kann die Passwortverschlüsselung nicht bestimmen!"
+
+#: include/functions.inc:2937 include/functions.inc:3012
 #, php-format
-msgid ""
-"Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
 msgstr ""
-"Das in POSTMODIFY angegebene Kommando '%s' (Modul '%s') scheint nicht zu "
-"existieren."
+"Der Pre-event Hook meldete ein Problem: %s. Die Passwortänderung wurde "
+"abgebrochen!"
 
-#: include/functions.inc:3099
-msgid "Cannot generate samba hash!"
-msgstr "Kann Samba-Hash nicht erzeugen!"
+#: include/functions.inc:2968
+msgid "Password change failed!"
+msgstr "Passwort-Änderung ist fehlgeschlagen!"
 
-#: include/functions.inc:3112
+#: include/functions.inc:2976
 #, php-format
-msgid ""
-"Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
 msgstr ""
-"Kann keinen SAMBA-Hash generieren: die Ausführung von '%s' ist "
-"fehlgeschlagen, prüfen Sie den 'sambaHashHook'!"
+"Post-event Hook meldete ein Problem: %s. Die Passwortänderung wurde "
+"abgebrochen!"
+
+#: include/functions.inc:3080
+msgid "Cannot generate SAMBA hash!"
+msgstr "Kann Samba-Hash nicht erzeugen!"
 
-#: include/functions.inc:3393 include/functions.inc:3407
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485
-msgid "Cannot allocate a free ID:"
+#: include/functions.inc:3095
+#, php-format
+msgid "Generating SAMBA hash by running %s failed: check %s!"
+msgstr "SAMBA-Hash Generierung mittels %s ist fehlgeschlagen: prüfen Sie %s!"
+
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
+msgid "Cannot allocate free ID:"
 msgstr "Konnte keine freie ID allozieren:"
 
-#: include/functions.inc:3393
+#: include/functions.inc:3373
 msgid "unknown idAllocation method!"
 msgstr "unbekannte idAllocation-Methode!"
 
-#: include/functions.inc:3407
+#: include/functions.inc:3387
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr "%sPoolMin >= %sPoolMax!"
 
-#: include/functions.inc:3437
+#: include/functions.inc:3417
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "kann sambaUnixIdPool-Eintrag nicht anlegen!"
 
-#: include/functions.inc:3445
+#: include/functions.inc:3425
 msgid "sambaUnixIdPool is not unique!"
 msgstr "sambaUnixIdPool ist nicht eindeutig!"
 
-#: include/functions.inc:3457 include/functions.inc:3461
+#: include/functions.inc:3437 include/functions.inc:3441
 msgid "no ID available!"
 msgstr "keine ID verfügbar!"
 
-#: include/functions.inc:3485
-msgid "maximum tries exceeded!"
+#: include/functions.inc:3465
+msgid "maximum number of tries exceeded!"
 msgstr "maximale Anzahl von Versuchen abgelaufen!"
 
-#: include/functions.inc:3545
-msgid "Cannot allocate a free ID!"
+#: include/functions.inc:3525
+msgid "Cannot allocate free ID!"
 msgstr "Konnte keine freie ID allozieren!"
 
-#: include/class_tabs.inc:57
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
+msgstr "Suchen"
+
+#: include/class_filter.inc:226
+msgid "Search filter"
+msgstr "Suchfilter"
+
+#: include/class_filter.inc:444
+msgid "Search in subtrees"
+msgstr "Suche in Teilbäumen"
+
+#: include/class_filter.inc:449
+msgid "Edit filters"
+msgstr "Filter bearbeiten"
+
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
+msgstr "Leistungswarnung"
+
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
 #, php-format
-msgid ""
-"No plugin definitions found to initialize '%s', please check your "
-"configuration file."
+msgid "LDAP performance is poor: last query took %.2fs!"
 msgstr ""
-"Es wurde keine Plugin-Definition gefunden um '%s' zu Initialisieren. Bitte "
-"prüfen Sie Ihre Konfigurationsdatei!"
+"Die LDAP-Leistung ist mangelhaft: die letzte Abfrage dauerte etwa %.2fs!"
 
-#: include/class_tabs.inc:268
+#: include/class_ldap.inc:784
 #, php-format
-msgid "Delete process has been canceled by plugin '%s': %s"
-msgstr "Der Lösch-Vorgang wurde durch das plugin '%s' beendet: %s"
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
+msgstr ""
+"Kann Teilbäume mit RDN %s nicht automatisch erzeugen: keine Objektklasse "
+"gefunden!"
 
-#: include/class_tabs.inc:406
-msgid "References"
-msgstr "Referenzen"
+#: include/class_ldap.inc:835
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
+msgstr ""
+"Kann Teilbäume mit RDN %s nicht automatisch erzeugen: nicht unterstützt"
 
-#: include/class_SnapShotDialog.inc:82
+#: include/class_ldap.inc:922
 #, php-format
-msgid "You're about to delete the snapshot '%s'."
-msgstr "Sie sind dabei den Snapshot '%s' zu entfernen."
+msgid "while operating on %s using LDAP server %s"
+msgstr "während der Arbeit mit %s auf dem LDAP-Server %s"
 
-#: include/class_SnapShotDialog.inc:137
-msgid "Remove snapshot"
-msgstr "Snapshot entfernen."
+#: include/class_ldap.inc:924
+#, php-format
+msgid "while operating on LDAP server %s"
+msgstr "während der Arbeit auf LDAP-Server '%s'"
 
-#: include/class_SnapShotDialog.inc:139 include/class_SnapShotDialog.inc:159
-msgid "Y-m-d, H:i:s"
-msgstr "Y-m-d, H:i:s"
+#: include/class_ldap.inc:977
+#, php-format
+msgid "Command line programm %s is missing!"
+msgstr "Kommandozeilenprogramm %s fehlt!"
 
-#: include/class_SnapShotDialog.inc:171
-#: plugins/generic/references/contents.tpl:11
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
-#: plugins/admin/ogroups/class_ogroup.inc:977
-#: plugins/admin/ogroups/generic.tpl:15
-#: plugins/admin/ogroups/ogroup-list.xml:49
-#: plugins/admin/groups/generic.tpl:24
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:66
-#: plugins/admin/groups/class_group.inc:1184
-#: plugins/admin/departments/dep-list.xml:79
-#: plugins/admin/departments/locality.tpl:19
-#: plugins/admin/departments/generic.tpl:19
-#: plugins/admin/departments/class_domain.inc:63
-#: plugins/admin/departments/class_domain.inc:91
-#: plugins/admin/departments/class_localityGeneric.inc:64
-#: plugins/admin/departments/class_localityGeneric.inc:92
-#: plugins/admin/departments/class_organizationGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_countryGeneric.inc:63
-#: plugins/admin/departments/class_countryGeneric.inc:92
-#: plugins/admin/departments/class_dcObject.inc:63
-#: plugins/admin/departments/class_dcObject.inc:91
-#: plugins/admin/departments/domain.tpl:19
-#: plugins/admin/departments/country.tpl:19
-#: plugins/admin/departments/dcObject.tpl:19
-#: plugins/admin/departments/class_department.inc:359
-#: plugins/admin/departments/class_department.inc:666
-#: plugins/admin/departments/organization.tpl:19
-#: plugins/admin/acl/class_aclRole.inc:735 plugins/admin/acl/acl-list.xml:57
-#: plugins/admin/acl/acl_role.tpl:17
-#: plugins/personal/posix/trustSelect/trust-list.xml:64
-#: plugins/personal/posix/groupSelect/group-list.xml:49
-msgid "Description"
-msgstr "Beschreibung"
+#: include/class_ldap.inc:1138
+#, php-format
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
+msgstr ""
+"Fehlerhafte DN %s:  ein Block für den Import muss mit 'dn:...' beginnen in "
+"Zeile %s"
 
-#: include/exporter/class_cvsExporter.inc:48
-msgid "CSV"
-msgstr "CSV"
+#: include/class_ldap.inc:1167
+#, php-format
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
+msgstr ""
+"Fehler beim Importieren von DN %s: bitte überprüfen Sie die LDIF-Datei ab "
+"Zeile %s!"
 
-#: include/exporter/class_PDF.inc:24
-msgid "Page"
-msgstr "Seite"
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
+msgid "All"
+msgstr "Alle"
 
-#: include/exporter/class_pdfExporter.inc:18
-msgid "No PDF export possible: there is no FPDF library installed."
-msgstr "Kein PDF-Export möglich: FPDF-Bibliothek ist nicht installiert."
+#: include/class_core.inc:114
+msgid "All objects"
+msgstr "Alle Objekte"
 
-#: include/exporter/class_pdfExporter.inc:145
-msgid "PDF"
-msgstr "PDF"
+#: include/class_core.inc:132
+msgid "Traditional"
+msgstr "Traditionell"
 
-#: include/class_multi_plug.inc:362
-msgid "You are currently editing mutliple entries."
-msgstr "Sie bearbeiten momentan mehrere Einträge."
+#: include/class_core.inc:132
+msgid "Use samba pool"
+msgstr "Samba-Pool verwenden"
 
-#: include/class_multi_plug.inc:391
-msgid "Password reset"
-msgstr "Passwort Rücksetzung"
+#: include/class_core.inc:164 include/class_core.inc:167
+msgid "hours"
+msgstr "Stunden"
 
-#: include/class_multi_plug.inc:391
-msgid "The user password was resetted, please set a new password value!"
-msgstr "Das Nutzer-Passwort wurde zurückgesetzt, bitte setzen Sie ein Neues!"
+#: include/class_core.inc:184
+msgid "None"
+msgstr "Keine"
 
-#: include/class_certificate.inc:73
-msgid "Certificate is empty!"
-msgstr "Zertifikat ist leer!"
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
+msgid "Automatic"
+msgstr "Automatisch"
 
-#: include/class_certificate.inc:100
-msgid "Cannot load certificate - only PEM/DER is supported!"
-msgstr "Zertifikat kann nicht geladen werden - nur PEM/DER sind unterstützt!"
+#: include/class_core.inc:200
+msgid "User value"
+msgstr "Benutzer-Wert"
 
-#: include/class_certificate.inc:115
-msgid "Cannot extract information for non PEM certificates!"
-msgstr ""
-"Zertifikatinformationen können nur für PEM Zertifikate ermittelt werden!"
+#: include/class_core.inc:209
+msgid "Core"
+msgstr "Kern"
 
-#: include/class_certificate.inc:219
-msgid "No valid certificate loaded!"
-msgstr "Kein gültiges Zertifikat geladen!"
+#: include/class_core.inc:210
+msgid "GOsa core plugin"
+msgstr "GOsa Core-Modul"
 
-#: include/php_setup.inc:100
-msgid "Generating this page caused the PHP interpreter to raise some errors!"
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
 msgstr ""
-"Der PHP-Interpreter meldete einen oder mehrere Fehler beim Erzeugen dieser "
-"Seite!"
+"Aktiviert htaccess anstelle von LDAP-Authentifizierungen. Dies kann dazu "
+"benutzt werden um Authentifizierungsmechanismen wie Kerberos für GOsa zu "
+"verwenden"
 
-#: include/php_setup.inc:105
-msgid "Send bug report to the GOsa Team"
-msgstr "Sende Fehlerbericht an das GOsa Team"
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
+msgstr "Aktiviert die GOsa Nutzungsstatistik."
 
-#: include/php_setup.inc:105
-msgid "Send bugreport"
-msgstr "Fehlerbericht senden"
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
+msgstr "Datenbankdatei für die GOsa Nutzungsstatistik."
 
-#: include/php_setup.inc:110
-msgid "Toggle information"
-msgstr "Zeige/Verstecke Informationen"
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
+msgstr ""
+"Aktiviert die GOsa Ereignis-Protokollierung. Setzen Sie es auf 'An' um GOsa "
+"jede Nutzeraktion via Syslog protokollieren zu lassen. In Kombination mit "
+"dem rsyslog Plugin mit aktiviertem MySQL, können Sie diese Events in GOsa "
+"durchsuchen."
 
-#: include/php_setup.inc:120
-msgid "PHP error"
-msgstr "PHP Fehler"
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
+msgstr ""
+"Aktiviert eine Statusleiste am unteren Rand von Listen. Diese enthalten eine "
+"Zusammenfassung über Art und Anzahl der aufgelisteten Objekte."
 
-#: include/php_setup.inc:139
-msgid "class"
-msgstr "Klasse"
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
+msgstr "Gibt die minimale Länge von neu eingegebenen Passwörtern an."
 
-#: include/php_setup.inc:145
-msgid "function"
-msgstr "Funktion"
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
+msgstr ""
+"Gibt die minimale Anzahl von Zeichen an, die sich zwischen neuem und altem "
+"Passwort unterscheiden müssen."
 
-#: include/php_setup.inc:150
-msgid "static"
-msgstr "statisch"
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
+msgstr ""
+"Befehl zum Erzeugen von Passwortvorschlägen. Ist ein Befehl angegeben, kann "
+"der Benutzer ein automatisches Passwort wählen oder ein selbst angegebenes "
+"setzen."
 
-#: include/php_setup.inc:154
-msgid "method"
-msgstr "Methode"
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
+msgstr ""
+"Aktiviert die Anzeige von PHP-Fehlermeldungen am oberen Seitenrand. Diese "
+"Option sollte in Produktionsumgebungen de-aktiviert sein, um zu verhindern "
+"dass sensible Daten angezeigt werden."
 
-#: include/php_setup.inc:187
-msgid "Trace"
-msgstr "Ablaufverfolgung"
+#: include/class_core.inc:319
+#, php-format
+msgid "Related option"
+msgstr "Verwandte Einstellung"
 
-#: include/php_setup.inc:188
-msgid "File"
-msgstr "Datei"
+#: include/class_core.inc:329
+msgid ""
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
+msgstr ""
+"Anzeigen von Meldungen die bei der Plugin-Entwicklung hilfreich sein können. "
+"Achtung: diese Einstellung kann im Bezug auf ACLs fehlerhafte Meldungen "
+"erzeugen."
 
-#: include/php_setup.inc:188
-msgid "Line"
-msgstr "Zeile"
+#: include/class_core.inc:340
+msgid ""
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
+msgstr ""
+"Aktiviert LDAP-Schema-Prüfungen während der Anmeldung. Es wird empfohlen "
+"diese Einstellung zu aktivieren, da sie zusätzlich eine effektivere Methode "
+"zum Erzeugen von fehlenden Unterbäumen aktiviert."
 
-#: include/php_setup.inc:188
-msgid "Type"
-msgstr "Typ"
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
+msgstr ""
+"Aktiviert Kopieren und Einfügen für die meisten von GOsa verwalteten Objekte."
 
-#: include/php_setup.inc:189
-msgid "Arguments"
-msgstr "Argumente"
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
+msgstr ""
+"Aktiviert PHP-Sicherheitsprüfungen für deaktivierte register_global "
+"Einstellungen."
 
-#: include/class_filter.inc:322 include/utils/class_msgPool.inc:24
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#: plugins/personal/posix/posix_groups.tpl:68
-msgid "Search in subtrees"
-msgstr "Suche in Teilbäumen"
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
+msgstr "Aktiviert automatische Umleitungen auf HTTPS basierte Administration."
 
-#: include/class_plugin.inc:521
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
+msgstr "Aktiviert die Protokollierung von detailierten LDAP-Operationen."
+
+#: include/class_core.inc:390
+msgid "Enable LDAP referral chasing."
+msgstr "Aktiviert das Verfolgen von LDAP-Referrals."
+
+#: include/class_core.inc:400
 msgid ""
-"The object has changed since opened in GOsa. All changes that may be done by "
-"others get lost if you save this entry!"
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
 msgstr ""
-"Das Objekt wurde verändert nachdem es in GOsa geöffnet wurde. Bitte stellen "
-"Sie sicher, dass niemand wichtige Änderungen vorgenommen hat, die verloren "
-"gehen, wenn Sie diesen Eintrag speichern!"
+"Git eine LDAP-Element-Filter-Begrenzung an. Ist die Begrenzung nicht 0, "
+"optimiert GOsa Gruppenanfragen durch das zusammenfügen mehrerer einzelner "
+"Anfragen in eine einzige. Bei einigen LDAP-Servern (z.B. Sun DS) führt dies "
+"allerdings zu Problemen."
 
-#: include/class_plugin.inc:1844
-msgid "Changing ACL dn"
-msgstr "Ändere ACL dn"
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
+msgstr ""
+"Gibt die maximale Anzahl von Einträgen an, die GOsa vom LDAP-Server "
+"anfordert. Bei Überschreitung wird eine Warnung angezeigt."
 
-#: include/class_plugin.inc:1844
-msgid "from"
-msgstr "von"
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
+msgstr "Deaktiviert Prüfungen der LDAP-Sizelimits."
 
-#: include/class_plugin.inc:1845 setup/class_setupStep_Migrate.inc:1250
-#: setup/class_setupStep_Migrate.inc:1300
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "to"
-msgstr "an"
+#: include/class_core.inc:430
+msgid "Enable warnings for non encrypted connections."
+msgstr "Aktiviert Warnungen bei nicht verschlüsselten Verbindungen."
 
-#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
-msgid "Restore"
-msgstr "Wiederherstellen"
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
+msgstr "Aktiviert die Kompression von PPD-Dateien."
 
-#: include/class_plugin.inc:2072
-msgid "cut"
-msgstr "Ausschneiden"
+#: include/class_core.inc:451
+msgid ""
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
+msgstr ""
+"DN des Benutzers für den ACL-Prüfungen ausgesetzt werden sollen. Einzige "
+"Anwendung sollte die Wiederherstellung von Administrator ACLs sein."
 
-#: include/class_plugin.inc:2080
-msgid "copy"
-msgstr "Kopieren"
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
+msgstr "Speicherpfad für PPD-Dateien."
 
-#: include/functions_helpviewer.inc:45
-#, php-format
-msgid "XML error in guide.xml: %s at line %d"
-msgstr "XML-Fehler in der Datei guide.xml: %s in Zeile %d"
+#: include/class_core.inc:472
+msgid ""
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
+msgstr ""
+"Anzahl der Sekunden, ab denen eine LDAP-Abfrage als gescheitert behandelt "
+"wird."
 
-#: include/functions_helpviewer.inc:88
-msgid "No help available for this plugin."
-msgstr "Für dieses Modul ist keine Hilfe verfügbar."
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
+msgstr "Aktiviert das Speichern von Benutzerfiltern in Browser-Cookies."
 
-#: include/functions_helpviewer.inc:388
-#, php-format
-msgid "%s results for your search with the keyword %s"
-msgstr "%s Ergebnisse für Ihre Suche nach %s"
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
+msgstr "Aktiviert Webseiten-Komprimierung."
 
-#: include/functions_helpviewer.inc:462
-#, php-format
-msgid "%s%% hit rate in file %s"
-msgstr "%s%% Trefferquote in Datei %s"
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
+msgstr ""
+"LDAP-Attribut welches für das Feststellen von Änderungen verwendet wird."
 
-#: include/utils/class_timezone.inc:47
-#, php-format
+#: include/class_core.inc:514
 msgid ""
-"The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate "
-"correct timezone offset."
+"ISO language code which is used to override the automatic language detection."
 msgstr ""
-"Die Einstellung '%s' der Zeitzone in Ihrer gosa.conf ist ungültig. Kann "
-"Zeitzonen-Versatz nicht berechnen."
+"ISO-Sprach-Code, welcher die automatische Spracherkennung ausser Kraft setzt."
 
-#: include/utils/class_xml.inc:48
-msgid "in"
-msgstr "in"
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
+msgstr "Zu benutzendes CSS- und Template-Theme"
 
-#: include/utils/class_xml.inc:50
-msgid "on line"
-msgstr "in Zeile"
+#: include/class_core.inc:535
+msgid ""
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
+msgstr ""
+"Anzahl der Sekunden nach denen eine inaktive Sitzung abläuft. Dies kann bei "
+"einigen Systemen durch einen php.ini/crontab Machnismus ausser Kraft gesetzt "
+"werden."
 
-#: include/utils/class_xml.inc:51
-msgid "XML error"
-msgstr "XML-Fehler"
+#: include/class_core.inc:545
+msgid "Template engine compile directory."
+msgstr "Compilier-Verzeichnis des Template-Engines"
 
-#: include/utils/class_msgPool.inc:16
+#: include/class_core.inc:555
 #, php-format
-msgid "Select to list objects of type '%s'."
-msgstr "Auswählen um Objekte des Typs '%s' aufzulisten."
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
+msgstr ""
+"Logische UND-Verknüpfung von integer-Werten die die Debug-Ausgaben auf jeder "
+"Seite steuern: %s"
 
-#: include/utils/class_msgPool.inc:18
-#, php-format
-msgid "Select to list objects containig '%s'."
-msgstr "Wählen Sie dies um Objekte aufzulisten die '%s' enthalten."
+#: include/class_core.inc:576
+msgid ""
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
+msgstr ""
+"Befehl zum Erzeugen bon Samba NT-/LM-Hashes. Dies wird zur Synchronisierung "
+"von Passworten verwendet (falls Sie keinen anderen Dienst verwenden)."
 
-#: include/utils/class_msgPool.inc:20
-#, php-format
-msgid "Select to list objects that have '%s' enabled"
-msgstr "Auswählen um Objekte des Typs '%s' aufzulisten"
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
+msgstr "Standard-Hash zur Verwendung bei neu erzeugten Benutzerpasswörtern."
 
-#: include/utils/class_msgPool.inc:22
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-msgid "Select to search within subtrees"
-msgstr "Wählen Sie diese Option um auch in Teilbäumen zu suchen"
+#: include/class_core.inc:596
+msgid ""
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
+msgstr ""
+"Aktiviert die Prüfung von problematischen Unicode-Zeichen in Passwörtern."
 
-#: include/utils/class_msgPool.inc:34
-msgid "This object will be deleted!"
-msgstr "Dieses objekt wird gelöscht!"
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
+msgstr ""
+"Gibt an ob die Benutzer-DN im cn- oder uid-Stil generiert werden soll. Ist "
+"die Erzeugung komplizierter, nutzen Sie die 'accountRDN' Einstellung."
 
-#: include/utils/class_msgPool.inc:36
-#, php-format
-msgid "This '%s' object will be deleted!"
-msgstr "Dieses '%s'-Objekt wird gelöscht!"
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
+msgstr "Ort an dem Benutzer innerhalb von Abteilungen angelegt werden sollen."
 
-#: include/utils/class_msgPool.inc:41
-#, php-format
-msgid "This object will be deleted: %s"
-msgstr "Dieses Objekt wird gelöscht: %s"
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
+msgstr "Ort an dem Gruppen innerhalb von Abteilungen angelegt werden sollen."
 
-#: include/utils/class_msgPool.inc:43
-#, php-format
-msgid "This '%s' object will be deleted: %s"
-msgstr "Dieses '%s'-Objekt wird gelöscht: %s"
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
+"Zählbasis für Gruppen-IDs. Soll dies dynamisch erfolgen, nutzen Sie die  "
+"'nextIdHook' Einstellung."
 
-#: include/utils/class_msgPool.inc:48
-msgid "This object will be deleted:"
-msgstr "Dieses Objekt wird gelöscht:"
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
+"Zählbasis für Benutzer-IDs. Soll dies dynamisch erfolgen, nutzen Sie die  "
+"'nextIdHook' Einstellung."
 
-#: include/utils/class_msgPool.inc:50
-#, php-format
-msgid "This '%s' object will be deleted:"
-msgstr "Dieses '%s'-Objekt wird gelöscht:"
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
+msgstr "Niedrigste zuweisbare Gruppen-Id, wenn idAllocationMethod 'pool' ist."
 
-#: include/utils/class_msgPool.inc:54
-#, php-format
-msgid "These objects will be deleted: %s"
-msgstr "Diese Objekte werden gelöscht: %s"
+#: include/class_core.inc:667
+msgid ""
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
+msgstr "Höchste zuweisbare Gruppen-Id, wenn idAllocationMethod 'pool' ist."
 
-#: include/utils/class_msgPool.inc:56
-#, php-format
-msgid "These '%s' objects will be deleted: %s"
-msgstr "Diese '%s'-Objekte werden gelöscht: %s"
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr "Niedrigste zuweisbare Benutzer-Id, wenn idAllocationMethod 'pool' ist."
 
-#: include/utils/class_msgPool.inc:64
-msgid "You have no permission to delete this object!"
-msgstr "Sie sind nicht berechtigt dieses Objekt zu löschen!"
+#: include/class_core.inc:687
+msgid ""
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr "Höchste zuweisbare Benutzer-Id, wenn idAllocationMethod 'pool' ist."
 
-#: include/utils/class_msgPool.inc:68 include/utils/class_msgPool.inc:72
-msgid "You have no permission to delete the object:"
-msgstr "Sie sind nicht berechtigt dieses Objekt zu löschen:"
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
+msgstr ""
+"Zählbasis für Benutzer-IDs. Soll dies dynamisch erfolgen, nutzen Sie die  "
+"'baseIdHook' Einstellung."
 
-#: include/utils/class_msgPool.inc:75
-msgid "You have no permission to delete these objects:"
-msgstr "Sie sind nicht berechtigt dieses Objekte zu löschen:"
+#: include/class_core.inc:707
+msgid "Connection URL for use with the gosa-ng service."
+msgstr "Verbindungs-URL für den gosa-ng Dienst."
 
-#: include/utils/class_msgPool.inc:82
-msgid "You have no permission to create this object!"
-msgstr "Sie sind nicht berechtigt diese Objekt anzulegen!"
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
+msgstr "Benutzername zum Verbinden zum 'gosaRpcServer'."
 
-#: include/utils/class_msgPool.inc:86 include/utils/class_msgPool.inc:90
-msgid "You have no permission to create the object:"
-msgstr "Sie sind nicht berechtigt dieses Objekt anzulegen:"
+#: include/class_core.inc:727
+msgid "Password used to connect to the 'gosaRpcServer'."
+msgstr "Passwort zum Verbinden zum 'gosaRpcServer'."
 
-#: include/utils/class_msgPool.inc:93
-msgid "You have no permission to create these objects:"
-msgstr "Sie sind nicht berechtigt diese Objekte anzulegen:"
+#: include/class_core.inc:737
+msgid "Connection URI for use with the gosa-si service (obsolete)."
+msgstr "Verbindungs URI für den gosa-si Dienst (abgekündigt)."
 
-#: include/utils/class_msgPool.inc:100
-msgid "You have no permission to modify this object!"
-msgstr "Sie sind nicht berechtigt dieses Objekt zu verändern!"
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
+msgstr ""
+"Anzahl der Sekunden nach denen eine gosa-si Verbindung als 'tot' betrachtet "
+"wird."
 
-#: include/utils/class_msgPool.inc:104 include/utils/class_msgPool.inc:108
-msgid "You have no permission to modify the object:"
-msgstr "Sie sind nicht berechtigt dieses Objekt zu verändern:"
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
+msgstr "Für das Login verwendete Benutzer-Attribut."
 
-#: include/utils/class_msgPool.inc:111
-msgid "You have no permission to modify these objects:"
-msgstr "Sie sind nicht berechtigt diese Objekte zu verändern:"
+#: include/class_core.inc:769
+msgid "Local time zone."
+msgstr "Lokale Zeitzone"
 
-#: include/utils/class_msgPool.inc:118
-msgid "You have no permission to view this object!"
-msgstr "Sie sind nicht berechtigt dieses Objekt zu öffnen!"
+#: include/class_core.inc:779
+msgid ""
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
+msgstr ""
+"Markieren von Administrativen-Einheiten. Dies kann in Verbindung mit ACLs "
+"verwendet werden (abgekündigt)."
 
-#: include/utils/class_msgPool.inc:122 include/utils/class_msgPool.inc:126
-msgid "You have no permission to view the object:"
-msgstr "Sie sind nicht berechtigt dieses Objekt zu öffnen:"
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
+msgstr ""
+"Aktiviert die Verwendung von {sasl} anstelle von {kerberos} für Benutzer-"
+"Realms."
 
-#: include/utils/class_msgPool.inc:129
-msgid "You have no permission to view these objects:"
-msgstr "Sie sind nicht berechtigt diese Objekte zu öffnen:"
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
+msgstr ""
+"Aktiviert Gruppen im Stil von RFC 2307bis. Dies kombiniert 'member' und "
+"'memberUid'-Einträge."
 
-#: include/utils/class_msgPool.inc:136
-msgid "You have no permission to move this object!"
-msgstr "Sie sind nicht berechtigt dieses Objekt zu verschieben!"
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
+msgstr ""
+"Aktiviert das Hinzufügen des Persönlichen Titels zur Benutzer-DN (nur in "
+"Verbindung mit accountPrimaryAttribute)."
 
-#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:144
-msgid "You have no permission to move the object:"
-msgstr "Sie sind nicht berechtigt dieses Objekt zu verschieben:"
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
+msgstr ""
+"Skript welches zum Auffinden der nächsten freien Gruppen- oder Benutzer-ID "
+"verwendet wird."
 
-#: include/utils/class_msgPool.inc:147
-msgid "You have no permission to move these objects:"
-msgstr "Sie sind nicht berechtigt diese Objekte zu verschieben:"
+#: include/class_core.inc:828
+msgid ""
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
+msgstr ""
+"Beschreibende Zeichenkette für den automatischen ID-Generator. Nähere "
+"Angaben finden Sie in der FAQ."
 
-#: include/utils/class_msgPool.inc:157 include/utils/class_msgPool.inc:169
-#: include/utils/class_msgPool.inc:187
-msgid "Connection information"
-msgstr "Verbindungs-Information"
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
+msgstr "Aktiviert eine strenge Überprüfung von Benutzer- und Gruppennamen."
 
-#: include/utils/class_msgPool.inc:159
-#, php-format
-msgid "Cannot connect to %s database!"
-msgstr "Kann keine Verbindung zur %s Datenbank aufbauen!"
+#: include/class_core.inc:848
+msgid ""
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
+msgstr ""
+"Niedrigste für Benutzer oder Gruppen zuweisbare numerische ID (nur verfügbar "
+"wenn idAllocationMethod 'traditional' ist)."
 
-#: include/utils/class_msgPool.inc:171
-#, php-format
-msgid "Cannot select %s database!"
-msgstr "Kann die Datenbank %s nicht auswählen!"
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
+msgstr "Attribut für die Primäre Mail-Adresse."
 
-#: include/utils/class_msgPool.inc:177
-#, php-format
-msgid "No %s server defined!"
-msgstr "Kein Server für %s definiert!"
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
+msgstr "Namensraum für gemeinsam verwendete Ordner."
 
-#: include/utils/class_msgPool.inc:189
-#, php-format
-msgid "Cannot query %s database!"
-msgstr "Kann die Datenbank %s nicht abfragen!"
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
+msgstr ""
+"Regel zum erzeugen von Benutzer-Ordnern. Nähere Angaben finden Sie in der "
+"FAQ."
 
-#: include/utils/class_msgPool.inc:195
-#, php-format
-msgid "The field '%s' contains a reserved keyword!"
-msgstr "Das Feld '%s' enthält ein reserviertes Schlüsselwort!"
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
+msgstr "Regel zum erzeugen von Ordnern. Nähere Angaben finden Sie in der FAQ."
 
-#: include/utils/class_msgPool.inc:201
-#, php-format
-msgid "Command specified as %s hook for plugin '%s' does not exist!"
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
 msgstr ""
-"Das als '%s'-Erweiterung angegebene Kommando für Modul '%s' existiert nicht!"
+"Anzahl der Sekunden nach denen eine IMAP-Verbindung als 'tot' behandelt wird."
 
-#: include/utils/class_msgPool.inc:208
-#, php-format
-msgid "'%s' command is invalid!"
-msgstr "'%s'-Kommando ist ungültig!"
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
+msgstr "Klassenname der zu verwendenden Mail-Methode."
 
-#: include/utils/class_msgPool.inc:210
-#, php-format
-msgid "'%s' command (%s) for plugin %s is invalid!"
-msgstr "'%s' Kommando (%s) für Modul %s ist ungültig!"
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
+msgstr ""
+"Verwende Slashes anstelle von Punkten als Namensraumstrenner bei Cyrus IMAP."
 
-#: include/utils/class_msgPool.inc:212
-#, php-format
-msgid "'%s' command for plugin %s is invalid!"
-msgstr "'%s' Kommando für Modul %s ist ungültig!"
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
+msgstr ""
+"Verzeichnis welches Urlaubs-Vorlagen enthält. Nähere Angaben finden Sie in "
+"der FAQ."
 
-#: include/utils/class_msgPool.inc:214
-#, php-format
-msgid "'%s' command (%s) is invalid!"
-msgstr "'%s' Kommando (%s) ist ungültig!"
+#: include/class_core.inc:940
+msgid "Enable TLS for LDAP connections."
+msgstr "Aktiviert TLS für LDAP-Verbindungen."
 
-#: include/utils/class_msgPool.inc:222
-#, php-format
-msgid "Cannot execute '%s' command!"
-msgstr "Kann '%s' Kommando nicht ausführen!"
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
+msgstr "Aktiviert IVBB, welches von deutschen Behörden verwendet wird."
 
-#: include/utils/class_msgPool.inc:224
-#, php-format
-msgid "Cannot execute '%s' command (%s) for plugin %s!"
-msgstr "Kann '%s' Kommando (%s) für Modul %s nicht ausführen!"
+#: include/class_core.inc:960
+msgid ""
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
+msgstr ""
+"Aktiviert die Verwaltung von sambaIdmapEntry Objekten um die Performance bei "
+"einigen Samba-Versionen zu erhöhen."
 
-#: include/utils/class_msgPool.inc:226
-#, php-format
-msgid "Cannot execute '%s' command for plugin %s!"
-msgstr "Kann '%s' Kommando für Modul %s nicht ausführen!"
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
+msgstr "Aktiviert Ablaufprüfungen bei Benutzerkonten."
 
-#: include/utils/class_msgPool.inc:228
-#, php-format
-msgid "Cannot execute '%s' command (%s)!"
-msgstr "Kann '%s' Kommando (%s) nicht ausführen!"
+#: include/class_core.inc:980
+msgid ""
+"String containing the SID for Samba setups without the Domain object in LDAP."
+msgstr ""
+"Zeichenkette mit der SID von Samba-Einrichtungen ohne Domain-Objekt im LDAP."
 
-#: include/utils/class_msgPool.inc:236
-#, php-format
-msgid "Value for '%s' is too large!"
-msgstr "Der Wert für '%s' ist zu groß!"
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
+msgstr ""
+"Zeichenkette mit der RID-Basis von Samba-Einrichtungen ohne Domain-Objekt im "
+"LDAP."
 
-#: include/utils/class_msgPool.inc:238
-#, php-format
-msgid "'%s' must be smaller than %s!"
-msgstr "'%s' muß kleiner sein als %s!"
+#: include/class_core.inc:1000
+msgid "Enable manual object snapshots."
+msgstr "Aktiviert manuelle Objekt-Schnappschüsse."
 
-#: include/utils/class_msgPool.inc:246
-#, php-format
-msgid "Value for '%s' is too small!"
-msgstr "Der Wert für '%s' ist zu kein!"
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
+msgstr "Basis DN für die Ablage vpn Schnappschüssen."
 
-#: include/utils/class_msgPool.inc:248
-#, php-format
-msgid "'%s' must be %d or above!"
-msgstr "'%s' muß größer oder gleich %d sein!"
+#: include/class_core.inc:1020
+msgid "DN of the snapshot administrator."
+msgstr "DN des Schnappschuss-Administrators."
 
-#: include/utils/class_msgPool.inc:255
-#, php-format
-msgid "'%s' depends on '%s' - please provide both values!"
-msgstr "'%s' hängt von '%s' ab - bitte geben Sie beide Werte an!"
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
+msgstr "Passwort des Schnappschuss-Administrators."
 
-#: include/utils/class_msgPool.inc:261
-#, php-format
-msgid "There is already an entry with this '%s' attribute in the system!"
-msgstr "Es existiert bereits ein Eintrag mit diesem '%s' Attribut im System!"
+#: include/class_core.inc:1041
+msgid ""
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
+msgstr ""
+"Zu verwendende Methode für die Benutzer- und Gruppen-ID Generierung. "
+"Hinweis: nur 'traditional' ist aufgrund von Einschränkungen von PHP sicher."
 
-#: include/utils/class_msgPool.inc:267
-#, php-format
-msgid "The required field '%s' is empty!"
-msgstr "Das Pflicht-Feld '%s' ist leer!"
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
+msgstr "URI des für Schnappschüsse zu verwendenden Servers."
 
-#: include/utils/class_msgPool.inc:275
-msgid "Example"
-msgstr "Beispiel"
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
+msgstr "Transliteration für die UID-Generierung mit kyrillische Zeichen aktivieren."
 
-#: include/utils/class_msgPool.inc:295
+#: include/class_config.inc:168
 #, php-format
-msgid "The Field '%s' contains invalid characters"
-msgstr "Das Feld '%s' enthält ungültige Zeichen"
+msgid "XML error in gosa.conf: %s at line %d"
+msgstr "XML-Fehler in der Datei gosa.conf: %s in Zeile %d"
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' is not allowed:"
-msgstr "'%s' ist nicht erlaubt:"
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
+msgstr "Kann nicht mit dem LDAP-Server verbinden!"
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' are not allowed!"
-msgstr "'%s' sind nicht erlaubt!"
+#: include/class_config.inc:711
+msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+msgstr "sambaSID und/oder sambaRidBase fehlen in der Konfiguration!"
 
-#: include/utils/class_msgPool.inc:299
-#, php-format
-msgid "The Field '%s' contains invalid characters!"
-msgstr "Das Feld '%s' enthält ungültige Zeichen!"
+#: include/class_config.inc:1130
+msgid "Configuration"
+msgstr "Konfiguration"
 
-#: include/utils/class_msgPool.inc:306
-#, php-format
-msgid "Missing %s PHP extension!"
-msgstr "Fehlenden %s PHP-Erweiterung!"
+#: include/class_config.inc:1130
+msgid ""
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
+msgstr ""
+"Die von Ihnen verwendete Konfigurationsdatei scheint veraltet zu sein. Bitte "
+"entfernen Sie diese Datei und starten Sie das GOsa-Setup erneut."
 
-#: include/utils/class_msgPool.inc:336
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
-#: plugins/personal/generic/generic.tpl:251
-#: plugins/personal/generic/generic.tpl:269
-#: setup/class_setupStep_Migrate.inc:2869
+#: include/class_config.inc:1172 include/class_config.inc:1203
 #, php-format
-msgid "Add"
-msgstr "Hinzufügen"
+msgid ""
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
+msgstr ""
+"Die Snapshot-Funktionalität ist aktiviert, aber die erforderliche Variable "
+"%s ist nicht gesetzt."
 
-#: include/utils/class_msgPool.inc:336
+#: include/class_config.inc:1185
 #, php-format
-msgid "Add %s"
-msgstr "%s hinzufügen"
+msgid ""
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
+msgstr ""
+"Die Snapshot-Funktionalität ist aktiviert, aber das erforderliche "
+"compression Modul ist nicht verfügbar. Bitte installieren Sie %s."
 
-#: include/utils/class_msgPool.inc:342
-#, php-format
-msgid "Delete %s"
-msgstr "%s löschen"
+#: include/exporter/class_PDF.inc:24
+msgid "Page"
+msgstr "Seite"
 
-#: include/utils/class_msgPool.inc:348
-#, php-format
-msgid "Set %s"
-msgstr "%s einstellen"
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
+msgstr "CSV"
+
+#: include/exporter/class_pdfExporter.inc:18
+msgid "No PDF export possible: there is no FPDF library installed."
+msgstr "Kein PDF-Export möglich: FPDF-Bibliothek ist nicht installiert."
+
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
+msgstr "PDF"
 
-#: include/utils/class_msgPool.inc:354
+#: include/class_jsonRPC.inc:38
 #, php-format
-msgid "Edit..."
-msgstr "Bearbeiten..."
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
+msgstr "Die RPC-Verbindung (%s) für %s:%s ist ungültig: %s"
 
-#: include/utils/class_msgPool.inc:354
+#: include/class_jsonRPC.inc:330
 #, php-format
-msgid "Edit %s..."
-msgstr "%s bearbeiten..."
+msgid "Unknown HTTP status code %s!"
+msgstr "Unbekannter HTTP Status-Code %s!"
 
-#: include/utils/class_msgPool.inc:360
-msgid "Back"
-msgstr "Zurück"
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
+msgstr "Übertragen"
 
-#: include/utils/class_msgPool.inc:380
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
 #, php-format
-msgid "This account has no valid %s extensions!"
-msgstr "Dieses Konto besitzt keine gültigen %s-Einstellungen."
+msgid "Copy and paste failed!"
+msgstr "Kopieren & Einfügen ist fehlgeschlagen!"
 
-#: include/utils/class_msgPool.inc:386
+#: include/class_CopyPasteHandler.inc:118
 #, php-format
-msgid ""
-"This account has %s settings enabled. You can disable them by clicking below."
-msgstr ""
-"Dieses Konto besitzt aktivierte %s-Einstellungen. Sie können diese durch "
-"einen Klick auf die untere Schaltfläche deaktivieren."
+msgid "Cannot set permission for %s"
+msgstr "Kann Berechtigungen für %s nicht setzen"
 
-#: include/utils/class_msgPool.inc:389 include/utils/class_msgPool.inc:396
+#: include/class_CopyPasteHandler.inc:159
 #, php-format
-msgid ""
-"This account has %s settings enabled. To disable them, you'll need to remove "
-"the %s settings first!"
-msgstr ""
-"Dieses Konto besitzt aktivierte %s-Erweiterungen. Um sie zu deaktivieren, "
-"müssen Sie zunächst die %s Einstellungen entfernen!"
+msgid "'%s' is no valid LDAP object"
+msgstr "%s ist kein gültiges LDAP-Objekt"
 
-#: include/utils/class_msgPool.inc:405
+#: include/class_CopyPasteHandler.inc:176
 #, php-format
-msgid ""
-"This account has %s settings disabled. You can enable them by clicking below."
-msgstr ""
-"Dieses Konto hat keine %s-Einstellungen aktiviert. Sie können Sie durch "
-"einen Klick auf die Schaltfläche aktivieren."
+msgid "No write permission in '%s'"
+msgstr "Keine Schreibberechtigung in '%s'"
 
-#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
+#: include/class_CopyPasteHandler.inc:193
 #, php-format
-msgid ""
-"This account has %s settings disabled. To enable them, you'll need to add "
-"the %s settings first!"
-msgstr ""
-"Dieses Konto besitzt aktuell keine aktivierten %s-Einstellungen. Um sie zu "
-"aktivieren, müssen Sie zunächst die %s Erweiterungen hinzufügen!"
+msgid "Cannot set permission for '%s'"
+msgstr "Kann Berechtigungen für '%s' nicht setzen"
 
-#: include/utils/class_msgPool.inc:423
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
-msgid "Add %s settings"
-msgstr "%s Einstellungen hinzufügen"
+msgid "These objects will be pasted: %s"
+msgstr "Diese Objekte werden eingefügt: %s"
 
-#: include/utils/class_msgPool.inc:429
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
-msgid "Remove %s settings"
-msgstr "%s Einstellungen entfernen"
+msgid "This object will be pasted: %s"
+msgstr "Dieses Objekt wird eingefügt: %s"
 
-#: include/utils/class_msgPool.inc:435
-msgid "Click the 'Edit' button below to change informations in this dialog"
-msgstr ""
-"Betätigen sie den 'Bearbeiten'-Schalter unten um Informationen in diesem "
-"Dialog zu ändern"
+#: include/class_CopyPasteHandler.inc:573
+msgid "Cannot paste"
+msgstr "Kann nicht einfügen"
 
-#: include/utils/class_msgPool.inc:441
-msgid "January"
-msgstr "Januar"
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
+msgid "Access control"
+msgstr "Zugriffskontrolle"
 
-#: include/utils/class_msgPool.inc:441
-msgid "February"
-msgstr "Februar"
+#: include/class_acl.inc:28
+msgid "Manage access control lists"
+msgstr "Zugriffskontrolllisten verwalten"
 
-#: include/utils/class_msgPool.inc:441
-msgid "March"
-msgstr "März"
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, php-format
+msgid "All users"
+msgstr "Alle Benutzer"
 
-#: include/utils/class_msgPool.inc:441
-msgid "April"
-msgstr "April"
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
+msgstr "ACLs zurücksetzen"
 
-#: include/utils/class_msgPool.inc:442
-msgid "May"
-msgstr "Mai"
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
+msgid "One level"
+msgstr "Diese Ebene"
 
-#: include/utils/class_msgPool.inc:442
-msgid "June"
-msgstr "Juni"
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
+msgid "Current object"
+msgstr "Aktuelles Objekt"
 
-#: include/utils/class_msgPool.inc:442
-msgid "July"
-msgstr "Juli"
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
+msgid "Complete subtree"
+msgstr "Vollständiger Teilbaum"
 
-#: include/utils/class_msgPool.inc:442
-msgid "August"
-msgstr "August"
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
+msgstr "Vollständiger Teilbaum (permanent)"
 
-#: include/utils/class_msgPool.inc:442
-msgid "September"
-msgstr "September"
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+msgid "Use ACL defined in role"
+msgstr "Verwende ACL aus Rollendefinition"
 
-#: include/utils/class_msgPool.inc:443
-msgid "October"
-msgstr "Oktober"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
+msgstr "Benutzer"
 
-#: include/utils/class_msgPool.inc:443
-msgid "November"
-msgstr "November"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
+msgstr "Gruppen"
 
-#: include/utils/class_msgPool.inc:443
-msgid "December"
-msgstr "Dezember"
+#: include/class_acl.inc:254
+msgid "Section"
+msgstr "Sektion"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Sunday"
-msgstr "Sonntag"
+#: include/class_acl.inc:264
+msgid "Used"
+msgstr "Benutzt"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Monday"
-msgstr "Montag"
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
+msgid "Member"
+msgstr "Mitglied"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Tuesday"
-msgstr "Dienstag"
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
+msgid "Permissions"
+msgstr "Berechtigungen"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Wednesday"
-msgstr "Mittwoch"
+#: include/class_acl.inc:574
+msgid "No ACL settings for this category!"
+msgstr "Keine ACL-Einstellungen für diese Kategorie!"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Thursday"
-msgstr "Donnerstag"
+#: include/class_acl.inc:577
+#, php-format
+msgid "ACLs for: %s"
+msgstr "ACLs für: %s"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Friday"
-msgstr "Freitag"
+#: include/class_acl.inc:583 include/class_acl.inc:587
+msgid "category ACL"
+msgstr "ACL Kategorie"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Saturday"
-msgstr "Samstag"
+#: include/class_acl.inc:639
+#, php-format
+msgid "Edit ACL for '%s' with scope '%s'"
+msgstr "ACL für '%s' bearbeiten - Gültigkeitsbereich ist '%s'"
 
-#: include/utils/class_msgPool.inc:456
-msgid "MySQL operation failed!"
-msgstr "MySQL-Operation fehlgeschlagen!"
+#: include/class_acl.inc:801 include/class_acl.inc:808
+msgid "Show/hide advanced settings"
+msgstr "Zeige/verstecke erweiterte Einstellungen"
 
-#: include/utils/class_msgPool.inc:464
-msgid "read operation"
-msgstr "Lese-Operation"
+#: include/class_acl.inc:819
+msgid "Create objects"
+msgstr "Erstelle Objekte"
 
-#: include/utils/class_msgPool.inc:464
-msgid "add operation"
-msgstr "Hinzufügeoperation"
+#: include/class_acl.inc:820
+msgid "Move objects"
+msgstr "Objekte verschieben"
 
-#: include/utils/class_msgPool.inc:464
-msgid "modify operation"
-msgstr "Änderungs-Operation"
+#: include/class_acl.inc:821
+msgid "Remove objects"
+msgstr "Objekte entfernen"
 
-#: include/utils/class_msgPool.inc:465
-msgid "delete operation"
-msgstr "Lösch-Operation"
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
+msgstr "Änderungen auf das eigene (Benutzer-)Objekt beschränken"
 
-#: include/utils/class_msgPool.inc:465
-msgid "search operation"
-msgstr "Such-Operation"
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
+msgstr "lesen"
 
-#: include/utils/class_msgPool.inc:465
-msgid "authentication"
-msgstr "Authentifizierung"
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
+msgstr "schreiben"
 
-#: include/utils/class_msgPool.inc:468
-#, php-format
-msgid "LDAP %s failed!"
-msgstr "LDAP %s fehlgeschlagen!"
+#: include/class_acl.inc:832
+msgid "Complete object"
+msgstr "Vollständiges Objekt"
 
-#: include/utils/class_msgPool.inc:470
-msgid "LDAP operation failed!"
-msgstr "LDAP-Operation fehlgeschlagen"
+#: include/class_acl.inc:984
+#, php-format
+msgid "Unknown ACL type '%s'!"
+msgstr "Unbekannter ACL-Typ '%s'!"
 
-#: include/utils/class_msgPool.inc:485
-msgid "Upload failed!"
-msgstr "Übertragung fehlgeschlagen!"
-
-#: include/utils/class_msgPool.inc:488
-#, php-format
-msgid "Upload failed: %s"
-msgstr "Übertragung fehlgeschlagen: %s"
-
-#: include/utils/class_msgPool.inc:495
-msgid "Communication failure with the infrastructure service!"
-msgstr "Kommunikationsfehler mit dem Infrastruktur Dienst!"
-
-#: include/utils/class_msgPool.inc:497
-#, php-format
-msgid "Communication failure with the infrastructure service: %s"
-msgstr "Kommunikationsfehler mit dem Infrastruktur Dienst: %s"
-
-#: include/utils/class_msgPool.inc:504 include/utils/class_msgPool.inc:507
-#, php-format
-msgid "This '%s' is still in use by this object: %s"
-msgstr "Dieses '%s' ist noch in Gebrauch dieses Objekts: %s"
-
-#: include/utils/class_msgPool.inc:510
+#: include/class_acl.inc:1029
 #, php-format
-msgid "This '%s' is still in use."
-msgstr "Dieses '%s' ist noch in Benutzung."
-
-#: include/utils/class_msgPool.inc:512
-#, php-format
-msgid "This '%s' is still in use by these objects: %s"
-msgstr "Dieses '%s' ist noch in Gebrauch dieser Objekte: %s"
+msgid "Unknown entry '%s'!"
+msgstr "Unbekannter Eintrag '%s'!"
 
-#: include/utils/class_msgPool.inc:518
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
 #, php-format
-msgid "File '%s' does not exist!"
-msgstr "Die Datei '%s' existiert nicht!"
+msgid "ACL role: %s"
+msgstr "ACL-Rolle: %s"
 
-#: include/utils/class_msgPool.inc:524
-#, php-format
-msgid "Cannot open file '%s' for reading!"
-msgstr "Kann Datei '%s' nicht zum Lesen öffnen!"
+#: include/class_acl.inc:1095
+msgid "unknown ACL role"
+msgstr "unbekannte ACL-Rolle"
 
-#: include/utils/class_msgPool.inc:530
+#: include/class_acl.inc:1103
 #, php-format
-msgid "Cannot open file '%s' for writing!"
-msgstr "Kann Datei '%s' nicht zum Schreiben öffnen!"
+msgid "Contains settings for these objects: %s"
+msgstr "Enthält Einstellungen für diese Objekte: %s"
 
-#: include/utils/class_msgPool.inc:536
-#, php-format
-msgid ""
-"The value for '%s' is currently unconfigured or invalid, please check your "
-"configuration file!"
-msgstr ""
-"Der Wert für '%s' ist momentan nicht konfiguriert oder ungültig. Bitte "
-"prüfen Sie Ihre Konfigurationsdatei!"
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+msgid "Members"
+msgstr "Mitglieder"
 
-#: include/utils/class_msgPool.inc:542
-#, php-format
-msgid "Cannot delete file '%s'!"
-msgstr "Kann Datei '%s' nicht löschen!"
+#: include/class_acl.inc:1120
+msgid "inactive"
+msgstr "inaktiv"
 
-#: include/utils/class_msgPool.inc:548
-#, php-format
-msgid "Cannot create folder '%s'!"
-msgstr "Kann den Ordner '%s' nicht anlegen!"
+#: include/class_acl.inc:1120
+msgid "No members"
+msgstr "Keine Mitglieder"
 
-#: include/utils/class_msgPool.inc:554
-#, php-format
-msgid "Cannot delete folder '%s'!"
-msgstr "Kann den Ordner '%s' nicht löschen!"
+#: include/class_acl.inc:1291
+msgid "Access control list"
+msgstr "Zugriffskontrollliste"
 
-#: include/utils/class_msgPool.inc:560
-#, php-format
-msgid "Checking for %s support"
-msgstr "Prüfe auf %s-Unterstützung"
+#: include/class_acl.inc:1297
+msgid "ACL roles"
+msgstr "ACL-Rollen"
 
-#: include/utils/class_msgPool.inc:566
-#, php-format
-msgid "Install and activate the %s PHP module."
-msgstr "Installieren und aktivieren Sie das %s PHP-Modul."
+#: include/class_acl.inc:1300
+msgid "ACL Entries"
+msgstr "ACL-Einträge"
 
-#: include/utils/class_msgPool.inc:572
+#: include/class_socketClient.inc:108
 #, php-format
-msgid ""
-"Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
-"setup?"
-msgstr ""
-"Die Klasse '%s' kann nicht initialisiert werden! Vielleicht fehlt ein Modul "
-"in Ihren GOsa-Einstellungen?"
-
-#: include/utils/class_msgPool.inc:578
-msgid ""
-"The supplied base is not valid and has been reset to the previous value!"
-msgstr ""
-"Die angegebene Basis ist ungültig. Der alte Wert wurde wieder hergestellt!"
-
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-msgid "Performance warning"
-msgstr "Leistungswarnung"
+msgid "Socket connection to %s:%s failed: %s"
+msgstr "Die Socket-Verbindung zum Host %s:%s ist fehlgeschlagen: %s"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
+#: include/class_socketClient.inc:191
 #, php-format
-msgid "LDAP performance is poor: last query took about %.2fs!"
-msgstr ""
-"Die LDAP-Leistung ist mangelhaft: Die letzte Abfrage dauerte etwa %.2f "
-"Sekunden!"
+msgid "Socket timeout of %s seconds reached!"
+msgstr "Socket-Timeout von %s Sekunden erreicht!"
 
-#: include/class_ldap.inc:693
+#: include/class_userFilterEditor.inc:254
 #, php-format
-msgid ""
-"Cannot automatically create subtrees with RDN '%s': no object class found!"
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
 msgstr ""
-"Kann Teilbäume mit RDN '%s' nicht automatisch erzeugen: keine Objektklasse "
+"Bitte prüfen Sie den Filter #%s: %s öffnende und %sschliessende Klammern "
 "gefunden!"
 
-#: include/class_ldap.inc:744
-#, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': not supported"
-msgstr ""
-"Kann Teilbäume mit RDN '%s' nicht automatisch erzeugen: nicht unterstützt"
-
-#: include/class_ldap.inc:831
-#, php-format
-msgid "while operating on '%s' using LDAP server '%s'"
-msgstr "während der Arbeit mit '%s' auf dem LDAP-Server '%s'"
-
-#: include/class_ldap.inc:833
-#, php-format
-msgid "while operating on LDAP server %s"
-msgstr "während der Arbeit auf LDAP-Server '%s'"
-
-#: include/class_ldap.inc:1055
-#, php-format
-msgid ""
-"This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
-"in line %s"
-msgstr ""
-"Dies ist keine valide DN: '%s'.  Ein Block für den Import sollte mit "
-"'dn:...' beginnen in Zeile %s"
-
-#: include/class_ldap.inc:1084
-#, php-format
-msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
-msgstr ""
-"Fehler beim Importieren von dn: '%s', bitte überprüfen Sie die LDIF-Datei ab "
-"Zeile %s!"
-
-#: include/class_log.inc:87
-#, php-format
-msgid "Logging failed: %s"
-msgstr "Protokollieren fehlgeschlagen: %s"
-
-#: include/class_log.inc:102
-#, php-format
-msgid "Invalid option '%s' specified!"
-msgstr "Ungültige Option '%s' angegeben!"
-
-#: include/class_log.inc:106
-msgid "Specified objectType is empty or invalid!"
-msgstr "Der angegebene Objekt-Typ ist leer oder ungültig!"
-
 #: include/class_gosaSupportDaemon.inc:112
 msgid "GOsa support daemon"
 msgstr "GOsa support daemon"
@@ -2552,2203 +2606,2250 @@ msgstr "Kann keine Abbruch-Nachricht für den Eintrag %s versenden!"
 msgid "Cannot remove entry %s!"
 msgstr "Kann Eintrag %s nicht entfernen!"
 
-#: include/class_config.inc:152
-#, php-format
-msgid "XML error in gosa.conf: %s at line %d"
-msgstr "XML-Fehler in der Datei gosa.conf: %s in Zeile %d"
-
-#: include/class_config.inc:318
-msgid "Cannot bind to LDAP. Please contact the system administrator."
-msgstr ""
-"Kann nicht mit dem LDAP-Server verbinden. Bitte benachrichtigen Sie den "
-"Administrator."
-
-#: include/class_config.inc:695
-msgid "sambaSID and/or sambaRidBase missing in the configuration!"
-msgstr "sambaSID und/oder sambaRidBase fehlen in der Konfiguration!"
-
-#: include/class_config.inc:1105
-msgid "Configuration"
-msgstr "Konfiguration"
-
-#: include/class_config.inc:1105
+#: include/class_GOsaRegistration.inc:127
 msgid ""
-"The configuration file you are using seems to be outdated. Please move the "
-"GOsa configuration file away to run the GOsa setup again."
-msgstr ""
-"Die von Ihnen verwendete Konfigurationsdatei scheint veraltet zu sein. Bitte "
-"entfernen Sie diese Datei und starten Sie das GOsa-Setup."
-
-#: include/class_pluglist.inc:58
-msgid "All objects in this category"
-msgstr "Keine Objekte dieser Kategorie"
-
-#: include/class_pluglist.inc:183
-msgid "The configuration format has changed. Please re-run setup!"
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
 msgstr ""
-"Das Konfigurationsformat hat sich geändert. Bitte durchlaufen Sie erneut die "
-"Einrichtung!"
-
-#: include/class_pluglist.inc:202 include/class_pluglist.inc:203
-#: include/class_pluglist.inc:316
-#: plugins/admin/departments/class_department.inc:145
-#: plugins/personal/generic/class_user.inc:273
-#: plugins/personal/generic/class_user.inc:1872
-msgid "Unknown"
-msgstr "Unbekannt"
-
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#, php-format
-msgid "Copy and paste failed!"
-msgstr "Kopieren & Einfügen ist fehlgeschlagen!"
+"UNIX-Zeitstempel für die nächste GOsa-Registrierungsfrage (-1 zum "
+"Deaktivieren)"
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:193
-#, php-format
-msgid "Cannot set permission for '%s'"
-msgstr "Kann Berechtigungen für '%s' nicht setzen"
-
-#: include/class_CopyPasteHandler.inc:159
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
 #, php-format
-msgid "'%s' is no vaild LDAP object"
-msgstr "'%s' ist kein gültiges LDAP-Objekt"
+msgid ""
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
+msgstr ""
+"Die Snapshot-Funktionalität ist aktiviert, aber die erforderliche Variable "
+"%s ist nicht gesetzt!"
 
-#: include/class_CopyPasteHandler.inc:176
+#: include/class_SnapshotHandler.inc:58
 #, php-format
-msgid "No write permission in '%s'"
-msgstr "Keine Schreibberechtigung in '%s'"
+msgid ""
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
+msgstr ""
+"Die Snapshot-Funktionalität ist aktiviert, aber das erforderliche PHP "
+"compression Modul ist nicht verfügbar: %s!"
 
-#: include/class_CopyPasteHandler.inc:396
-#, php-format
-msgid "These objects will be pasted: %s"
-msgstr "Diese Objekte werden eingefügt: %s"
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
+msgid "Filter editor"
+msgstr "Filter-Editor"
 
-#: include/class_CopyPasteHandler.inc:420
-#, php-format
-msgid "This object will be pasted: %s"
-msgstr "Dieses Objekt wird eingefügt: %s"
+#: ihtml/themes/default/userFilterEditor.tpl:8
+msgid "Filter properties"
+msgstr "Filtereinstellungen"
 
-#: include/class_CopyPasteHandler.inc:572
-msgid "Cannot paste"
-msgstr "Kann nicht einfügen"
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+msgid "Public visible"
+msgstr "Öffentlich sichtbar"
 
-#: include/class_msg_dialog.inc:124
-msgid "Please fix the above error and reload the page."
-msgstr "Bitte beheben Sie obigen Fehler und laden die Seite neu."
+#: ihtml/themes/default/userFilterEditor.tpl:45
+msgid "Enabled"
+msgstr "Aktiviert"
 
-#: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:966
-#: plugins/admin/groups/class_group.inc:1174
-#: plugins/admin/users/class_userManagement.inc:870
-#: plugins/admin/departments/class_department.inc:656
-#: plugins/personal/generic/class_user.inc:37
-#: plugins/personal/generic/class_user.inc:1668
-#: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
-msgid "Generic"
-msgstr "Allgemein"
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
+msgstr "Kategorien in denen der Filter sichtbar ist"
 
-#: plugins/generic/references/class_reference.inc:43
-#: plugins/personal/posix/class_posixAccount.inc:37
-msgid "UNIX"
-msgstr "UNIX"
-
-#: plugins/generic/references/class_reference.inc:45
-#: plugins/admin/ogroups/tabs_ogroups.inc:148
-#: plugins/admin/groups/class_groupManagement.inc:164
-#: plugins/admin/users/class_userManagement.inc:877
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
-msgid "Mail"
-msgstr "Mail"
+#: ihtml/themes/default/userFilterEditor.tpl:69
+msgid "Query"
+msgstr "Abfrage"
 
-#: plugins/generic/references/class_reference.inc:47
-#: plugins/generic/references/class_reference.inc:49
-#: plugins/admin/groups/class_groupManagement.inc:172
-#: plugins/admin/users/class_userManagement.inc:882
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:78
-msgid "Samba"
-msgstr "Samba"
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+msgid "Assigned ACL for current entry"
+msgstr "Zugewiesene ACL für aktuellen Eintrag"
 
-#: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:894
-msgid "FAX"
-msgstr "Fax"
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
+msgid "New ACL"
+msgstr "Neue ACL"
 
-#: plugins/generic/references/class_reference.inc:53
-msgid "Proxy"
-msgstr "Proxy"
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
+msgid "ACL type"
+msgstr "ACL-Typ"
 
-#: plugins/generic/references/class_reference.inc:55
-msgid "FTP"
-msgstr "FTP"
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+msgid "Select an ACL type"
+msgstr "Wählen Sie einen ACL-Typ"
 
-#: plugins/generic/references/class_reference.inc:57
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
-#: plugins/admin/ogroups/class_ogroupManagement.inc:184
-#: plugins/admin/ogroups/ogroup-list.xml:79
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
-#: plugins/admin/groups/group-list.xml:15
-#: plugins/admin/groups/group-list.xml:96
-#: plugins/personal/posix/groupSelect/group-list.xml:15
-msgid "Group"
-msgstr "Gruppe"
+#: ihtml/themes/default/acl.tpl:40
+msgid "Additional filter options"
+msgstr "Zusätzliche Filteroptionen"
 
-#: plugins/generic/references/class_reference.inc:59
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
-#: plugins/admin/ogroups/class_ogroupManagement.inc:186
-#: plugins/admin/departments/dep-list.xml:55
-#: plugins/admin/departments/dep-list.xml:71
-#: plugins/admin/departments/dep-list.xml:138
-#: plugins/admin/departments/class_departmentManagement.inc:249
-#: plugins/personal/generic/class_user.inc:1695
-#: plugins/personal/generic/generic.tpl:307
-msgid "Department"
-msgstr "Abteilung"
+#: ihtml/themes/default/acl.tpl:54
+msgid "Member selection"
+msgstr "Mitglieder-Auswahl"
 
-#: plugins/generic/references/class_reference.inc:61
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
-#: plugins/admin/ogroups/class_ogroupManagement.inc:188
-#: plugins/admin/groups/class_groupManagement.inc:180
-#: plugins/admin/users/class_userManagement.inc:898
-#: plugins/admin/departments/generic.tpl:106
-#: plugins/admin/departments/class_department.inc:370
-#: plugins/admin/departments/organization.tpl:105
-#: plugins/personal/generic/class_user.inc:1356
-#: plugins/personal/generic/class_user.inc:1819
-#: plugins/personal/generic/generic.tpl:398
-#: plugins/personal/generic/generic.tpl:579
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:86
-msgid "Phone"
-msgstr "Telefon"
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
+msgstr "Verwende Mitglieder von"
 
-#: plugins/generic/references/class_reference.inc:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:185
-msgid "Application"
-msgstr "Anwendung"
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+msgid "List message possible targets"
+msgstr "Zeige mögliche Empfänger dieser Nachricht"
 
-#: plugins/generic/references/class_reference.inc:65
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
-#: plugins/admin/ogroups/class_ogroupManagement.inc:187
-#: plugins/personal/posix/trustSelect/trust-list.xml:14
-#: setup/setup_config2.tpl:219 setup/setup_config2.tpl:264
-msgid "Server"
-msgstr "Server"
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
+msgstr "Zeige Nachrichtenempfänger"
 
-#: plugins/generic/references/class_reference.inc:67
-msgid "Thin Client"
-msgstr "Thin Client"
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+msgid "List of available ACL categories"
+msgstr "Liste verfügbarer ACL-Kategorien"
 
-#: plugins/generic/references/class_reference.inc:69
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
-#: plugins/admin/ogroups/class_ogroupManagement.inc:189
-#: plugins/personal/posix/trustSelect/trust-list.xml:22
-msgid "Workstation"
-msgstr "Arbeitsstation"
+#: ihtml/themes/default/acl.tpl:120
+msgid "ACL for this object"
+msgstr "ACL für dieses Objekt"
 
-#: plugins/generic/references/class_reference.inc:71
-#: plugins/admin/ogroups/ogroup-list.xml:15
-msgid "Object group"
-msgstr "Objektgruppe"
+#: ihtml/themes/default/acl.tpl:126
+msgid "Available roles"
+msgstr "Verfügbare Rollen"
 
-#: plugins/generic/references/class_reference.inc:73
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
-#: plugins/admin/ogroups/class_ogroupManagement.inc:192
-msgid "Printer"
-msgstr "Drucker"
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+msgid "Attention"
+msgstr "Achtung"
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Object name"
-msgstr "Objektname"
+#: ihtml/themes/default/removeEntries.tpl:14
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
+msgstr ""
+"Wenn Sie sicher sind, drücken Sie 'Entfernen' um fortzufahren oder "
+"'Abbrechen' zum Abbruch."
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Contents"
-msgstr "Inhalt"
+#: ihtml/themes/default/userFilter.tpl:1
+msgid "List of defined filters"
+msgstr "Liste der definierten Filter"
 
-#: plugins/generic/references/contents.tpl:18
-msgid "This object has no relationship to other objects."
-msgstr "Dieses Objekt hat keine Referenzen zu anderen Objekten."
+#: ihtml/themes/default/snapshotdialog.tpl:3
+msgid "Restoring object snapshots"
+msgstr "Stelle Objekt-Snapshots wieder her"
 
-#: plugins/generic/welcome/main.inc:26
-#, php-format
-msgid "Welcome %s!"
-msgstr "Willkommen %s!"
+#: ihtml/themes/default/snapshotdialog.tpl:6
+msgid ""
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
+msgstr ""
+"Dieser Vorgang stellt einen Snaphot des gewählten Objekts wieder her. Er "
+"wird dabei das vorhandene überschreiben, nachdem Sie den Wiederherstellen-"
+"Knopf gedrückt haben."
 
-#: plugins/generic/welcome/welcome.tpl:4
+#: ihtml/themes/default/snapshotdialog.tpl:9
 msgid ""
-"This is the GOsa main menu. You can select your tasks from the menu on the "
-"left, or by choosing one of the pictograms below. All changes apply directly "
-"to your companies LDAP server."
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
 msgstr ""
-"Dies ist das GOsa Hauptmenü. Wählen Sie die gewünschte Option aus dem Menü "
-"links oder durch die Auswahl eines Piktogrammes unten. Alle Änderungen "
-"werden direkt in den LDAP-Server Ihres Unternehmens eingepflegt."
+"Beachten Sie, dass die DNS-Konfiguration mitsamt den Datenbankeinträgen "
+"nicht wiederhergestellt werden kann. Sie müssen manuell erstellt werden."
 
-#: plugins/generic/welcome/welcome.tpl:8
+#: ihtml/themes/default/snapshotdialog.tpl:12
 msgid ""
-"Use 'Sign out' on the upper left to close the connection and 'Main' to get "
-"back to the pictogram view."
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
 msgstr ""
-"Benutzen Sie 'Abmelden' oben links, um die Arbeit mit GOsa zu beenden und "
-"'Hauptmenü', um wieder in diese Ansicht zurückzugelangen."
+"Vergessen Sie nicht, Verweise auf andere Objekte zu überprüfen, bspw. ob der "
+"gewählte Drucker noch existiert."
 
-#: plugins/generic/welcome/welcome.tpl:15
-msgid "The GOsa team"
-msgstr "Das GOsa Team"
+#: ihtml/themes/default/snapshotdialog.tpl:29
+msgid "There is no snapshot available that can be restored"
+msgstr "Es ist kein Snapshot verfügbar, der wiederhergestellt werden kann"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
-#: plugins/admin/groups/userSelect/user-list.xml:10
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
-#: plugins/personal/posix/trustSelect/trust-list.xml:10
-#: plugins/personal/posix/groupSelect/group-list.xml:11
-msgid "Please select the desired entries"
-msgstr "Bitte wählen Sie die gewünschten Einträge"
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+msgstr ""
+"Wählen Sie einen Snapshot und klicken Sie auf das Ordner-Bild, um diesen "
+"wiederherzustellen."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
-#: plugins/admin/ogroups/class_ogroupManagement.inc:191
-#: plugins/personal/posix/trustSelect/trust-list.xml:30
-msgid "Terminal"
-msgstr "Terminal"
+#: ihtml/themes/default/snapshotdialog.tpl:50
+msgid "Creating object snapshots"
+msgstr "Erstelle Objekte-Snapshots"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:183
-#: plugins/admin/groups/userSelect/user-list.xml:14
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
-#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
-#: setup/setup_config2.tpl:228 setup/setup_config2.tpl:273
-msgid "User"
-msgstr "Benutzer"
+#: ihtml/themes/default/snapshotdialog.tpl:53
+msgid ""
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
+msgstr ""
+"Dieser Vorgang wird einen Snapshot des gewählten Objekts erzeugen. Er wird "
+"innerhalb eines speziellen Zweiges Ihres Verzeichnisses gespeichert und kann "
+"später wieder hergestellt werden."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:29
-#: plugins/admin/ogroups/class_ogroup.inc:768
-#: plugins/admin/ogroups/class_ogroup.inc:783
-#: plugins/admin/ogroups/class_ogroup.inc:787
-#: plugins/admin/ogroups/class_ogroup.inc:975
-#: plugins/admin/ogroups/ogroup-filter.tpl:29
-#: plugins/admin/ogroups/ogroup-list.xml:41
-#: plugins/admin/groups/userSelect/user-filter.tpl:17
-#: plugins/admin/groups/group-filter.tpl:21
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:17
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:21
-#: plugins/admin/groups/group-list.xml:58
-#: plugins/admin/groups/class_group.inc:1045
-#: plugins/admin/groups/class_group.inc:1056
-#: plugins/admin/groups/class_group.inc:1058
-#: plugins/admin/groups/class_group.inc:1075
-#: plugins/admin/groups/class_group.inc:1089
-#: plugins/admin/groups/class_group.inc:1096
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:538
-#: plugins/admin/users/class_userManagement.inc:585
-#: plugins/admin/users/user-filter.tpl:24
-#: plugins/admin/departments/class_domain.inc:47
-#: plugins/admin/departments/class_domain.inc:49
-#: plugins/admin/departments/class_domain.inc:54
-#: plugins/admin/departments/class_domain.inc:56
-#: plugins/admin/departments/class_domain.inc:58
-#: plugins/admin/departments/class_domain.inc:90
-#: plugins/admin/departments/dep-filter.tpl:13
-#: plugins/admin/departments/class_localityGeneric.inc:48
-#: plugins/admin/departments/class_localityGeneric.inc:50
-#: plugins/admin/departments/class_localityGeneric.inc:55
-#: plugins/admin/departments/class_localityGeneric.inc:57
-#: plugins/admin/departments/class_localityGeneric.inc:59
-#: plugins/admin/departments/class_organizationGeneric.inc:79
-#: plugins/admin/departments/class_organizationGeneric.inc:81
-#: plugins/admin/departments/class_organizationGeneric.inc:86
-#: plugins/admin/departments/class_organizationGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:90
-#: plugins/admin/departments/class_countryGeneric.inc:47
-#: plugins/admin/departments/class_countryGeneric.inc:49
-#: plugins/admin/departments/class_countryGeneric.inc:54
-#: plugins/admin/departments/class_countryGeneric.inc:56
-#: plugins/admin/departments/class_countryGeneric.inc:58
-#: plugins/admin/departments/class_dcObject.inc:47
-#: plugins/admin/departments/class_dcObject.inc:49
-#: plugins/admin/departments/class_dcObject.inc:54
-#: plugins/admin/departments/class_dcObject.inc:56
-#: plugins/admin/departments/class_dcObject.inc:58
-#: plugins/admin/departments/class_dcObject.inc:90
-#: plugins/admin/departments/class_department.inc:349
-#: plugins/admin/departments/class_department.inc:351
-#: plugins/admin/departments/class_department.inc:356
-#: plugins/admin/departments/class_department.inc:363
-#: plugins/admin/departments/class_department.inc:367
-#: plugins/admin/acl/class_aclRole.inc:733
-#: plugins/admin/acl/class_aclRole.inc:745
-#: plugins/admin/acl/class_aclRole.inc:755 plugins/admin/acl/acl-list.xml:49
-#: plugins/admin/acl/paste_role.tpl:4 plugins/admin/acl/acl-filter.tpl:21
-#: plugins/admin/acl/acl_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1336
-#: plugins/personal/generic/class_user.inc:1378
-#: plugins/personal/generic/class_user.inc:1834
-#: plugins/personal/posix/trustSelect/trust-list.xml:56
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:23
-#: plugins/personal/posix/groupSelect/group-filter.tpl:21
-#: plugins/personal/posix/groupSelect/group-list.xml:41
-#: setup/setup_migrate.tpl:283 setup/setup_feedback.tpl:31
-msgid "Name"
-msgstr "Name"
+#: ihtml/themes/default/snapshotdialog.tpl:56
+msgid ""
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
+msgstr ""
+"Beachten Sie, dass Datenbankeinträge, DNS-Konfigurationen und evtl. "
+"erstellte Zonen in den Server-Erweiterungen nicht im Snapshot gespeichert "
+"werden."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
-#: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:976
-#: plugins/admin/ogroups/generic.tpl:26
-#: plugins/admin/groups/userSelect/user-list.tpl:13
-#: plugins/admin/groups/generic.tpl:39
-#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:13
-#: plugins/admin/groups/group-list.tpl:13
-#: plugins/admin/groups/class_group.inc:1185
-#: plugins/admin/users/user-list.tpl:13
-#: plugins/admin/departments/locality.tpl:28
-#: plugins/admin/departments/generic.tpl:39
-#: plugins/admin/departments/class_domain.inc:92
-#: plugins/admin/departments/class_localityGeneric.inc:94
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/admin/departments/class_countryGeneric.inc:94
-#: plugins/admin/departments/class_dcObject.inc:93
-#: plugins/admin/departments/domain.tpl:28
-#: plugins/admin/departments/country.tpl:28
-#: plugins/admin/departments/dcObject.tpl:28
-#: plugins/admin/departments/class_department.inc:668
-#: plugins/admin/departments/dep-list.tpl:13
-#: plugins/admin/departments/organization.tpl:39
-#: plugins/admin/acl/acl-list.tpl:13 plugins/admin/acl/class_aclRole.inc:734
-#: plugins/admin/acl/acl_role.tpl:27
-#: plugins/personal/generic/class_user.inc:1688
-#: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/posix/trustSelect/trust-list.tpl:13
-#: plugins/personal/posix/groupSelect/group-list.tpl:13
-#: setup/setup_ldap.tpl:55
-msgid "Base"
-msgstr "Basis"
+#: ihtml/themes/default/snapshotdialog.tpl:71
+msgid "Time stamp"
+msgstr "Zeitstempel"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:3
-#: plugins/admin/ogroups/ogroup-filter.tpl:3
-#: plugins/admin/groups/userSelect/user-filter.tpl:3
-#: plugins/admin/groups/group-filter.tpl:3
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:3
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:3
-#: plugins/admin/users/user-filter.tpl:3
-#: plugins/admin/departments/dep-filter.tpl:3
-#: plugins/admin/acl/acl-filter.tpl:3
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:3
-#: plugins/personal/posix/groupSelect/group-filter.tpl:3
-msgid "Filter"
-msgstr "Filter"
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
+msgstr "Grund für das Erzeugen dieses Snapshots"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:11
-msgid "Show department"
-msgstr "Zeige Abteilungen"
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
+msgstr "Fortsetzen"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:12
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:11
-msgid "Show users"
-msgstr "Zeige Benutzer"
+#: ihtml/themes/default/password.tpl:5
+msgid "Change your password"
+msgstr "Ändern des Passwortes"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:12
-msgid "Show groups"
-msgstr "Zeige Gruppen"
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
+msgstr "Ihr Passwort wurde erfolgreich geändert."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:15
-msgid "Show server"
-msgstr "Zeige Server"
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
+msgid "Password change"
+msgstr "Passwort-Änderung"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:16
-msgid "Show workstation"
-msgstr "Zeige Arbeitsstationen"
+#: ihtml/themes/default/password.tpl:72
+msgid ""
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
+msgstr ""
+"Bitte geben Sie das momentane, sowie (zweimalig) das neue Passwort in den "
+"Feldern unten ein und betätigen Sie die 'Passwort setzen' Schaltfläche."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:17
-msgid "Show terminal"
-msgstr "Zeige Terminals"
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
+msgstr "Passwort ändern"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:19
-msgid "Show printer"
-msgstr "Zeige Drucker"
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
+msgstr "Verzeichnis"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:20
-msgid "Show phone"
-msgstr "Zeige Telefone"
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
+msgid "User name"
+msgstr "Benutzername"
 
-#: plugins/admin/ogroups/remove.tpl:6
-msgid ""
-"Please double check if you really want to do this since there is no way for "
-"GOsa to get your data back."
-msgstr ""
-"Bitte überprüfen Sie genau was Sie tun, weil GOsa keine Möglichkeit hat, die "
-"Daten wiederherzustellen."
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
+msgstr "Momentanes Passwort"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:972
-msgid "Object groups"
-msgstr "Objektgruppen"
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
+msgstr "Neues Passwort"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:26
-msgid "Manage object groups"
-msgstr "Objektgruppen verwalten"
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
+msgstr "Neues Passwort (Wiederholung)"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:115
-#: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:204
-msgid "Infrastructure error"
-msgstr "Infrastruktur Fehler"
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
+msgid "Password strength"
+msgstr "Passwort-Stärke"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:182
-msgid "Templates"
-msgstr "Vorlagen"
+#: ihtml/themes/default/password.tpl:131
+msgid "Click here to change your password"
+msgstr "Klicken Sie hier um Ihr Passwort zu ändern"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:190
-msgid "Windows Install"
-msgstr "Windows Installation"
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
+msgstr "Passwort setzen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:238
-msgid "You cannot combine terminals and workstations in one object group!"
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
+msgstr "Ein Zugriffskonflikt wurde festgestellt"
+
+#: ihtml/themes/default/islocked.tpl:14
+msgid ""
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
 msgstr ""
-"Sie können Terminals und Arbeitsstationen nicht zu einer Objektgruppe "
-"zusammenfassen!"
+"Wenn diese Anzeige eines Zugriffskonflikts fehlerhaft ist, hat eine andere "
+"Person offenbar während der Bearbeitung eines Eintrages einfach den "
+"Webbrowser geschlossen. In einem solchen Fall können Sie den Konflikt durch "
+"einen Klick auf Trotzdem bearbeiten übergehen."
 
-#: plugins/admin/ogroups/class_ogroup.inc:354
-#: plugins/admin/users/class_userManagement.inc:463
-#: plugins/admin/users/class_userManagement.inc:497
-#: plugins/admin/users/class_userManagement.inc:528
-msgid "none"
-msgstr "keine"
+#: ihtml/themes/default/islocked.tpl:23
+msgid "Read only"
+msgstr "Nur anschauen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:356
-msgid "too many different objects!"
-msgstr "zu viele unterschiedliche Objekte!"
+#: ihtml/themes/default/copyPasteDialog.tpl:1
+msgid "Copy & paste wizard"
+msgstr "Kopieren & Einfügen - Assistent"
 
-#: plugins/admin/ogroups/class_ogroup.inc:358
-msgid "users"
-msgstr "Benutzer"
+#: ihtml/themes/default/copyPasteDialog.tpl:7
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
+msgstr ""
+"Bestimmte Werte müssen im gesamten Verzeichnis eindeutig sein, während "
+"andere Kombinationen keinen Sinn ergeben. GOsa zeigt die relevanten "
+"Attribute. Bitte ändern Sie die Werte, die unten angezeigt werden, um die "
+"Auflagen zu erfüllen."
 
-#: plugins/admin/ogroups/class_ogroup.inc:359
-msgid "groups"
-msgstr "Gruppen"
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
+msgstr ""
+"Beachten Sie, dass manche Einstellungen wie z.B. erstellte Snapshots nicht "
+"kopiert werden!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:360
-msgid "applications"
-msgstr "Anwendungen"
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
+msgstr ""
+"Oder wenn sie einen Eintrag in GOsa kopieren oder ausschneiden und das "
+"Quellobjekt entfernen, werden Sie wahrscheinlich wieder eine Fehlermeldung "
+"erhalten, wenn Sie das Objekt einfügen!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:361
-msgid "departments"
-msgstr "Abteilungen"
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+msgid "Cancel all"
+msgstr "Alle abbrechen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:362
-msgid "servers"
-msgstr "Server"
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+msgid "Operation complete"
+msgstr "Vorgang abgeschlossen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:363
-msgid "workstations"
-msgstr "Arbeitsstationen"
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
+msgstr "Speichern"
 
-#: plugins/admin/ogroups/class_ogroup.inc:364
-msgid "winstations"
-msgstr "Windows-Arbeitsstationen"
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
+msgstr "Die Gültigkeit ihrer GOsa-Sitzung ist abgelaufen!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:365
-msgid "terminals"
-msgstr "Terminals"
+#: ihtml/themes/default/logout.tpl:9
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
+msgstr ""
+"Die letzte in der Web-Applikation durchgeführte Aktion liegt einige Zeit in "
+"der Vergangenheit. Aus Sicherheitsgründen wurde die Sitzung geschlossen. Um "
+"mit der Administration fortzufahren, melden Sie sich bitte erneut an."
 
-#: plugins/admin/ogroups/class_ogroup.inc:366
-msgid "phones"
-msgstr "Telefone"
+#: ihtml/themes/default/logout.tpl:16
+msgid "Login again"
+msgstr "Erneut anmelden"
 
-#: plugins/admin/ogroups/class_ogroup.inc:367
-msgid "printers"
-msgstr "Drucker"
+#: ihtml/themes/default/login.tpl:31
+msgid "Login to GOsa"
+msgstr "GOsa Anmeldung"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-#: setup/setup_config2.tpl:143
-msgid "disabled"
-msgstr "deaktiviert"
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
+msgstr "Passwort"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-msgid "full access"
-msgstr "Vollzugriff"
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
+msgstr "Wählen Sie das Verzeichnis auf dem gearbeitet werden soll"
 
-#: plugins/admin/ogroups/class_ogroup.inc:413
-#: plugins/admin/groups/class_group.inc:434
-#: plugins/personal/posix/class_posixAccount.inc:574
-msgid "allow access to these hosts"
-msgstr "erlaube Zugriff auf diese Hosts"
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
+msgstr "Hier klicken zum Anmelden"
 
-#: plugins/admin/ogroups/class_ogroup.inc:601
-msgid "Non existing dn:"
-msgstr "Unbekannte dn:"
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+msgid "Log in"
+msgstr "Anmelden"
 
-#: plugins/admin/ogroups/class_ogroup.inc:758
-#, php-format
+#: ihtml/themes/default/sizelimit.tpl:3
 msgid ""
-"These systems are already configured by other object groups and cannot be "
-"added:"
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
 msgstr ""
-"Die folgenden Systeme sind bereits für die Konfiguration über eine "
-"Objektgruppe vorgeseheb und können nicht hinzugefügt werden:"
+"Die Größenbeschränkung sorgt dafür, daß die LDAP-Operationen schneller "
+"durchgeführt werden können und verringern die Last auf dem LDAP-Server. Der "
+"einfachste Weg, große Datenbanken ohne große Zeitüberschreitungen zu "
+"bearbeiten ist es Filter zu verwenden und die Größenbeschränkungen auf einen "
+"sinnvollen Wert einzustellen."
 
-#: plugins/admin/ogroups/class_ogroup.inc:792
-msgid "You can combine two different object types at maximum, only!"
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
+msgstr "Bitte entscheiden Sie, wie für diese Sitzung verfahren werden soll"
+
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
 msgstr ""
-"Sie können maximal zwei verschiedene Objekttypen miteinander kombinieren!"
+"Ignoriere diesen Fehler und zeige alle vom LDAP-Server gelieferten Einträge"
 
-#: plugins/admin/ogroups/class_ogroup.inc:967
-msgid "Object group generic"
-msgstr "Objektgruppe (Allgemein)"
+#: ihtml/themes/default/sizelimit.tpl:11
+msgid ""
+"ignore this error and show all entries that fit into the defined size limit"
+msgstr ""
+"ignoriere diesen Fehler und zeige alle Einträge, die innerhalb der "
+"Größenbeschränkung liegen"
 
-#: plugins/admin/ogroups/class_ogroup.inc:978
-msgid "Sytem trust"
-msgstr "System-Vertrauen"
+#: ihtml/themes/default/infoPage.tpl:4
+msgid "User information"
+msgstr "Benutzer-Information"
 
-#: plugins/admin/ogroups/class_ogroup.inc:979
-msgid "Member"
-msgstr "Mitglied"
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
+msgstr "Benutzer-ID"
 
-#: plugins/admin/ogroups/generic.tpl:7
-#: plugins/admin/ogroups/paste_generic.tpl:4
-#: plugins/admin/groups/generic.tpl:11
-#: plugins/admin/groups/paste_generic.tpl:5
-msgid "Group name"
-msgstr "Gruppenname"
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+msgid "Surname"
+msgstr "Nachname"
 
-#: plugins/admin/ogroups/generic.tpl:10
-msgid "Name of the group"
-msgstr "Name der Gruppe"
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+msgid "Given name"
+msgstr "Vorname"
 
-#: plugins/admin/ogroups/generic.tpl:18 plugins/admin/groups/generic.tpl:28
-msgid "Descriptive text for this group"
-msgstr "Beschreibender Text für diese Gruppe"
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
+msgstr "Titel"
 
-#: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1191
-#: plugins/personal/posix/generic.tpl:139
-msgid "System trust"
-msgstr "System-Vertrauen"
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
+msgstr "Akademischer Titel"
 
-#: plugins/admin/ogroups/generic.tpl:37 plugins/admin/groups/generic.tpl:160
-#: plugins/admin/groups/generic.tpl:194 plugins/personal/posix/generic.tpl:141
-#: plugins/personal/posix/generic.tpl:169
-msgid "Trust mode"
-msgstr "Vertrauens-Modus"
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
+msgstr "Private Adresse"
 
-#: plugins/admin/ogroups/generic.tpl:65
-msgid "Member objects"
-msgstr "Zusammengefasste Objekte"
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
+msgstr "Geburtsdatum"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:133
-msgid "Phone queue"
-msgstr "Warteschlange"
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
+msgstr "Mail"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:160
-msgid "Systems"
-msgstr "Systeme"
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
+msgid "Home phone number"
+msgstr "Telefonnummer (privat)"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:171
-#: plugins/admin/ogroups/tabs_ogroups.inc:194
-msgid "Startup"
-msgstr "Start"
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
+msgstr "Organisation"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:182
-#: plugins/admin/ogroups/tabs_ogroups.inc:203
-msgid "Devices"
-msgstr "Geräte"
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
+msgid "Organizational Unit"
+msgstr "Organisationseinheit"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:213
-msgid "FAI summary"
-msgstr "FAI-Übersicht"
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
+msgstr "Ort"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:222
-#: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:890
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
-msgid "Environment"
-msgstr "Umgebung"
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
+msgstr "Straße"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:241
-msgid "Applications"
-msgstr "Anwendungen"
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
+msgid "Department number"
+msgstr "Abteilungsnummer"
 
-#: plugins/admin/ogroups/paste_generic.tpl:7
-msgid "Please enter the new object group name"
-msgstr "Bitte geben Sie einen Namen für die neue Objektgruppe ein"
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
+msgid "Employee number"
+msgstr "Personalnummer"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:11
-msgid "user groups"
-msgstr "Benutzergruppen"
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
+msgstr "Anstellungsart"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:12
-msgid "nested groups"
-msgstr "verschachtelte Gruppen"
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+msgid "User settings"
+msgstr "Benutzer-Einstellungen"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:13
-msgid "application groups"
-msgstr "Anwendungsgruppen"
+#: ihtml/themes/default/infoPage.tpl:55
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
+msgstr ""
+"Sie haben keine Berechtigungen Einstellungen zu ändern. Bitte kontaktieren "
+"Sie Ihren Administrator."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:14
-msgid "department groups"
-msgstr "Abteilungsgruppen"
+#: ihtml/themes/default/infoPage.tpl:61
+msgid "Administrative contact"
+msgstr "Kontakt zu Ihrem Administrator"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:15
-msgid "server groups"
-msgstr "Servergruppen"
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
+msgstr "Das GOsa Team"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:16
-msgid "workstation groups"
-msgstr "Gruppen von Arbeitsstationen"
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
+msgstr "Titel der Fehlermeldung"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:17
-msgid "windows workstation groups"
-msgstr "Gruppen von Windows Arbeitsstationen"
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
+msgid "Error message"
+msgstr "Fehlermeldung"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:18
-msgid "terminal groups"
-msgstr "Gruppen von Terminals"
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
+msgstr "Reiner LDAP-Eintrag"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:19
-msgid "printer groups"
-msgstr "Druckergruppen"
+#: ihtml/themes/default/framework.tpl:9
+msgid "Log out"
+msgstr "Abmelden"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:20
-msgid "phone groups"
-msgstr "Telefongruppen"
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
+msgstr ""
+"Sie bearbeiten gerade einen Datenbankeintrag. Sollen die Daten verworfen "
+"werden?"
 
-#: plugins/admin/ogroups/ogroup-list.xml:11
-msgid "List of object groups"
-msgstr "Liste von Objektgruppen"
+#: ihtml/themes/default/framework.tpl:22
+#, php-format
+msgid "Session expires in %d!"
+msgstr "Die Sitzung läuft in %d ab!"
 
-#: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:74 plugins/admin/users/user-list.xml:73
-#: plugins/admin/departments/locality.tpl:8
-#: plugins/admin/departments/generic.tpl:7
-#: plugins/admin/departments/domain.tpl:8
-#: plugins/admin/departments/country.tpl:8
-#: plugins/admin/departments/dcObject.tpl:8
-#: plugins/admin/departments/organization.tpl:7
-msgid "Properties"
-msgstr "Eigenschaften"
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
+msgstr "GOsa Hilfe-Browser"
 
-#: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:90 plugins/admin/users/user-list.xml:89
-#: plugins/admin/departments/dep-list.xml:98 plugins/admin/acl/acl-list.xml:76
-#: setup/class_setupStep_Migrate.inc:1036
-#: setup/class_setupStep_Migrate.inc:1052
-msgid "Create"
-msgstr "Anlegen"
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
+msgstr "Index"
 
-#: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-list.xml:115
-#: plugins/admin/users/user-list.xml:121
-#: plugins/admin/departments/dep-list.xml:160
-#: plugins/admin/departments/dep-list.xml:181
-#: plugins/admin/acl/acl-list.xml:95 plugins/admin/acl/acl-list.xml:144
-#: plugins/personal/generic/generic_certs.tpl:21
-#: plugins/personal/generic/generic_certs.tpl:45
-#: plugins/personal/generic/generic_certs.tpl:69
-#: setup/class_setupStep_Migrate.inc:2870
-msgid "Remove"
-msgstr "Entfernen"
+#: ihtml/themes/default/logout-close.tpl:5
+msgid "Your GOsa session has been closed!"
+msgstr "Ihre GOsa-Sitzung wurde geschlossen!"
 
-#: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:123
-#: plugins/admin/users/user-list.xml:156
-msgid "Send message"
-msgstr "Nachricht senden"
+#: ihtml/themes/default/logout-close.tpl:7
+msgid ""
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
+msgstr ""
+"Bitte schliessen Sie dieses Browserfenster und leeren den "
+"Authentisierungscache um eine automatische Wiederanmeldung des Browsers zu "
+"verhindern."
 
-#: plugins/admin/ogroups/ogroup-list.xml:142
-msgid "Edit object group"
-msgstr "Objektgruppe bearbeiten"
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+msgid "LDAP inspection"
+msgstr "LDAP-Inspektion"
 
-#: plugins/admin/ogroups/ogroup-list.xml:155
-msgid "Remove object group"
-msgstr "Objektgruppe löschen"
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
+msgstr "Untersuche Ihr LDAP-Verzeichnis auf GOsa-Kompatibilität"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:6
-msgid "Select objects to add"
-msgstr "Wählen Sie die hinzuzufügenden Objekte"
+#: setup/class_setupStep_Migrate.inc:59
+msgid "Checking for root object"
+msgstr "Prüfe auf Wurzelobjekt"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:20
-#: plugins/admin/groups/trust_machines.tpl:19
-#: plugins/personal/posix/posix_groups.tpl:21
-msgid "Filters"
-msgstr "Filter"
+#: setup/class_setupStep_Migrate.inc:65
+msgid "Inspecting object classes in root object"
+msgstr "Prüfe Objekt-Klassen des Wurzelobjektes"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:36
-msgid "Display objects of department"
-msgstr "Zeige die Objekte der Abteilung"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:37
-#: plugins/admin/ogroups/trust_machines.tpl:27
-#: plugins/admin/groups/trust_machines.tpl:26
-#: plugins/personal/posix/posix_groups.tpl:35
-#: plugins/personal/posix/trust_machines.tpl:27
-msgid "Choose the department the search will be based on"
-msgstr "Wählen Sie die Abteilung, auf die die Suchfunktion angewandt wird"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:40
-msgid "Display objects matching"
-msgstr "Zeige die Objekte, auf die Folgendes passt"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:41
-msgid "Regular expression for matching object names"
-msgstr "Regulärer Ausdruck zum Erkennen von Objekt-Namen"
-
-#: plugins/admin/ogroups/trust_machines.tpl:6
-#: plugins/admin/groups/trust_machines.tpl:6
-#: plugins/personal/posix/trust_machines.tpl:6
-msgid "Select systems to add"
-msgstr "Wählen Sie die hinzuzufügenden Systeme"
-
-#: plugins/admin/ogroups/trust_machines.tpl:26
-#: plugins/admin/groups/trust_machines.tpl:25
-#: plugins/personal/posix/trust_machines.tpl:26
-msgid "Display systems of department"
-msgstr "Zeige die Systeme der Abteilung"
-
-#: plugins/admin/ogroups/trust_machines.tpl:30
-#: plugins/admin/groups/trust_machines.tpl:29
-#: plugins/personal/posix/trust_machines.tpl:30
-msgid "Display systems matching"
-msgstr "Zeige die Systeme, auf die das Folgende passt"
-
-#: plugins/admin/ogroups/trust_machines.tpl:31
-#: plugins/admin/groups/trust_machines.tpl:30
-#: plugins/personal/posix/trust_machines.tpl:31
-msgid "Regular expression for matching addresses"
-msgstr "Regulärer Ausdruck zum Erkennen von Mail-Adressen"
-
-#: plugins/admin/groups/remove.tpl:6
-msgid ""
-"This may be a primary user group. Please double check if you really want to "
-"do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Bitte prüfen Sie, ob Sie die Aktion wirklich durchführen möchten, da GOsa "
-"die Daten nicht wiederherstellen kann."
+#: setup/class_setupStep_Migrate.inc:71
+msgid "Checking permission for LDAP database"
+msgstr "Prüfe Berechtigungen auf die LDAP-Datenbank"
 
-#: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:541
-#: plugins/admin/users/user-list.xml:57
-#: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1375
-#: plugins/personal/generic/class_user.inc:1680
-#: plugins/personal/generic/class_user.inc:1831
-msgid "Given name"
-msgstr "Vorname"
+#: setup/class_setupStep_Migrate.inc:78
+msgid "Checking for super administrator"
+msgstr "Prüfe auf Superadministrator"
 
-#: plugins/admin/groups/userSelect/user-list.xml:48
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
-#: plugins/admin/users/user-list.xml:49
-#: plugins/personal/generic/class_user.inc:1679
-msgid "Surname"
-msgstr "Nachname"
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+msgid "LDAP query failed"
+msgstr "LDAP-Abfrage fehlgeschlagen."
 
-#: plugins/admin/groups/generic.tpl:14 plugins/personal/generic/generic.tpl:52
-#: plugins/personal/generic/generic.tpl:73
-#: plugins/personal/generic/generic.tpl:89
-msgid "Multiple edit"
-msgstr "Mehrfach bearbeiten"
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
+msgstr "Wahrscheinlich fehlt das Wurzelobjekt."
 
-#: plugins/admin/groups/generic.tpl:17
-#: plugins/admin/groups/paste_generic.tpl:8
-msgid "Posix name of the group"
-msgstr "UNIX-Name der Gruppe"
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
+msgstr "Fehlgeschlagen"
 
-#: plugins/admin/groups/generic.tpl:59
-#: plugins/admin/groups/paste_generic.tpl:13
-msgid "Normally IDs are autogenerated, select to specify manually"
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
+#, php-format
+msgid ""
+"The specified user '%s' does not have full access to your LDAP database."
 msgstr ""
-"Normalerweise werden IDs automatisch generiert. Auswählen um dies zu umgehen"
-
-#: plugins/admin/groups/generic.tpl:62
-#: plugins/admin/groups/paste_generic.tpl:15
-msgid "Force GID"
-msgstr "Erzwinge GID"
+"Der angegebene Benutzer '%s' hat keinen Vollzugriff auf Ihre LDAP-Datenbank."
 
-#: plugins/admin/groups/generic.tpl:65
-#: plugins/admin/groups/paste_generic.tpl:18
-msgid "Forced ID number"
-msgstr "Erzwungene ID-Nummer"
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
+msgstr "Es gibt keinen GOsa Administrator in Ihrem LDAP."
 
-#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
-msgid "Select to create a samba conform group"
-msgstr "Auswählen, um eine sambakonforme Gruppe zu erzeugen"
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
+msgstr "Anlegen"
 
-#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
-msgid "in domain"
-msgstr "in der Domain"
+#: setup/class_setupStep_Migrate.inc:377
+msgid "Migration error"
+msgstr "Migrationsfehler"
 
-#: plugins/admin/groups/generic.tpl:131
-msgid "Members are in a phone pickup group"
-msgstr "Mitglieder sind in einer Telefon-Gruppe"
+#: setup/class_setupStep_Migrate.inc:377
+#, php-format
+msgid "Cannot add ACL for user '%s':"
+msgstr "Kann ACL für Benutzer '%s' nicht hinzufügen:"
 
-#: plugins/admin/groups/generic.tpl:146
-msgid "Members are in a nagios group"
-msgstr "Mitglieder sind in einer Nagios-Gruppe"
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
+msgid "Input error"
+msgstr "Eingabefehler"
 
-#: plugins/admin/groups/generic.tpl:236
-msgid "Group members"
-msgstr "Gruppenmitglieder"
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
+msgstr "UID"
 
-#: plugins/admin/groups/generic.tpl:243
-msgid "In all groups"
-msgstr "In allen Gruppen"
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Password error"
+msgstr "Passwortfehler"
 
-#: plugins/admin/groups/generic.tpl:246
-msgid "Not in all groups"
-msgstr "Nicht in allen Gruppen"
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Provided passwords do not match!"
+msgstr "Die angegebenen Passwörter stimmen nicht überein!"
 
-#: plugins/admin/groups/group-filter.tpl:11
-#: plugins/personal/posix/groupSelect/group-filter.tpl:11
-msgid "Show primary groups"
-msgstr "Zeige primäre Gruppen"
+#: setup/class_setupStep_Migrate.inc:425
+msgid "Specify a valid user ID!"
+msgstr "Geben Sie eine gültige Benutzer ID an!"
 
-#: plugins/admin/groups/group-filter.tpl:12
-#: plugins/personal/posix/groupSelect/group-filter.tpl:12
-msgid "Show samba groups"
-msgstr "Zeige Samba Gruppen"
+#: setup/class_setupStep_Migrate.inc:450
+#, php-format
+msgid "Adding an administrative user failed: object '%s' already exists!"
+msgstr ""
+"Hinzufügen eines administrativen Benutzers fehlgeschlagen: Objekt '%s' "
+"existiert bereits!"
 
-#: plugins/admin/groups/group-filter.tpl:13
-#: plugins/personal/posix/groupSelect/group-filter.tpl:13
-msgid "Show mail groups"
-msgstr "Zeige Mail Gruppen"
+#: setup/class_setupStep_Migrate.inc:662
+msgid ""
+"The LDAP root object is missing. It is required to use your LDAP service."
+msgstr ""
+"Das LDAP Wurzelobjekt fehlt. Es wird für den Betrieb des LDAP-Dienstes "
+"benötigt."
 
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:79
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:85
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr "Benutzer wählen"
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
+msgid "Try to create root object"
+msgstr "Versuche, das Wurzelobjekt zu erzeugen"
 
-#: plugins/admin/groups/paste_generic.tpl:1
-msgid "Group settings"
-msgstr "Gruppen-Einstellungen"
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
+msgstr ""
+"Das Wurzelobjekt konnte nicht erstellt werden, Sie sollten dies manuell "
+"erledigen."
 
-#: plugins/admin/groups/group-list.xml:11
-msgid "List of groups"
-msgstr "Liste der Gruppen"
+#: setup/class_setupStep_Migrate.inc:730
+#, php-format
+msgid "Missing GOsa object class '%s'!"
+msgstr "Die GOsa-Objektklasse '%s' fehlt!"
 
-#: plugins/admin/groups/group-list.xml:23
-msgid "Group submenu entry"
-msgstr "Gruppen-Untermenüs"
+#: setup/class_setupStep_Migrate.inc:731
+msgid "Please check your installation."
+msgstr "Bitte überprüfen Sie Ihre Installation."
 
-#: plugins/admin/groups/group-list.xml:31
-msgid "Group menu entry"
-msgstr "Gruppen-Menüs"
+#: setup/class_setupStep_Migrate.inc:752
+#, php-format
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
+msgstr ""
+"Die strukturelle Objekt-Typ Ihres Wurzel-Objektes kann nicht konvertiert "
+"werden. Bitte fügen Sie die Objekt-Klasse '%s' manuell hinzu."
 
-#: plugins/admin/groups/group-list.xml:155
-msgid "Edit group"
-msgstr "Gruppe bearbeiten"
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
+msgid "Migrate"
+msgstr "Migrieren"
 
-#: plugins/admin/groups/group-list.xml:168
-msgid "Remove group"
-msgstr "Gruppe löschen"
+#: setup/setup_checks.tpl:2
+msgid ""
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
+msgstr ""
+"Dieser Schritt prüft ob ihre PHP-Umgebung die notwendigen Module eingebunden "
+"hat, sowie richtig konfiguriert ist."
 
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Cannot find group SID in your configuration!"
-msgstr "Kann keine Gruppen-SID in Ihrer Konfiguration finden!"
+#: setup/setup_checks.tpl:5
+msgid "Inspection"
+msgstr "Inspektion"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Samba group"
-msgstr "Samba-Gruppe"
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
+msgstr "PHP Modul- und Erweiterungsprüfung"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain admins"
-msgstr "Domänen-Administratoren"
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
+msgstr "Grundlegende Prüfungen"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain users"
-msgstr "Domänen-Benutzer"
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
+msgstr ""
+"GOsa kann nicht ausgeführt werden, wenn das Problem nicht behoben wird."
 
-#: plugins/admin/groups/class_group.inc:401
-msgid "Domain guests"
-msgstr "Domänen-Gäste"
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
+msgstr "GOsa wird verwendbar sein, ohne dies zu beheben."
 
-#: plugins/admin/groups/class_group.inc:406
-#, php-format
-msgid "Special group (%d)"
-msgstr "Spezielle Gruppe (%d)"
+#: setup/setup_checks.tpl:50
+msgid "PHP setup configuration"
+msgstr "Konfiguration der PHP-Umgebung"
 
-#: plugins/admin/groups/class_group.inc:540
-#, php-format
-msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+#: setup/setup_checks.tpl:50
+msgid "show information"
+msgstr "zeige Information"
+
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
+msgstr "Erweiterte Prüfungen"
+
+#: setup/class_setupStep_Finish.inc:40
+msgid "Write configuration file"
+msgstr "Schreibe Konfigurationsdatei"
+
+#: setup/class_setupStep_Finish.inc:41
+msgid "Finish - write the configuration file"
+msgstr "Abschluß - Schreiben der Konfigurationsdatei"
+
+#: setup/class_setupStep_Finish.inc:106
+msgid ""
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
 msgstr ""
-"Die UID '%s' konnte nicht zur Gruppe '%s' hinzugefügt werden: Benutzer-"
-"Objekt nicht gefunden!"
+"Ihre Konfigurationsdatei ist momentan für jeden lesbar. Bitte ändern Sie die "
+"Zugriffsrechte!"
 
-#: plugins/admin/groups/class_group.inc:546
+#: setup/class_setupStep_Finish.inc:108
+msgid "The configuration is currently not readable or it does not exists."
+msgstr "Die Konfiguration ist momentan nicht lesbar oder existiert nicht."
+
+#: setup/class_setupStep_Finish.inc:117
 #, php-format
-msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+msgid ""
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
 msgstr ""
-"Die UID '%s' konnte nicht zur Gruppe '%s' hinzugefügt werden: UID ist "
-"bereits vorhanden!"
+"Nachdem Sie die Konfigurationsdatei unter %s abgelegt haben, muß "
+"sichergestellt werden, daß der Webserver auf %s zugreifen kann, normale "
+"Nutzer aber nicht. Führen Sie diese Kommandos aus, um die obigen "
+"Voraussetzungen zu erfüllen:"
+
+#: setup/class_setupStep_Ldap.inc:54
+msgid "LDAP setup"
+msgstr "LDAP-Einrichtung"
 
-#: plugins/admin/groups/class_group.inc:624
-msgid "! unknown UID"
-msgstr "! unbekannte UID"
+#: setup/class_setupStep_Ldap.inc:55
+msgid "LDAP connection setup"
+msgstr "Einrichten der LDAP-Verbindung"
 
-#: plugins/admin/groups/class_group.inc:667
-#, php-format
-msgid "Search returned too many results. Not displaying more than %s entries!"
+#: setup/class_setupStep_Ldap.inc:56
+msgid ""
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
 msgstr ""
-"Die Suche ergab zu viele Treffer. Es werden nicht mehr als %s Einträge "
-"angezeigt!"
+"Dieser Dialog richtet die grundlegende Konfiguration der LDAP-Verbindung für "
+"GOsa ein."
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+msgid "No"
+msgstr "nein"
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+msgid "Yes"
+msgstr "ja"
 
-#: plugins/admin/groups/class_group.inc:894
+#: setup/class_setupStep_Ldap.inc:113
 #, php-format
-msgid "Cannot find any SID for '%s'!"
-msgstr "Kann keine SID für '%s' finden!"
+msgid "Anonymous bind to server '%s' failed!"
+msgstr "Anonyme Anmeldung an server '%s' ist fehlgeschlagen!"
 
-#: plugins/admin/groups/class_group.inc:899
+#: setup/class_setupStep_Ldap.inc:115
 #, php-format
-msgid "Cannot find any RIDBASE for '%s'!"
-msgstr "Kann keine RIDBASE für '%s' finden!"
+msgid "Bind as user '%s' failed!"
+msgstr "Verbindung als Benutzer '%s' ist fehlgeschlagen!"
 
-#: plugins/admin/groups/class_group.inc:994
+#: setup/class_setupStep_Ldap.inc:120
 #, php-format
-msgid "The gidNumber '%s' is already in use by %s!"
-msgstr "Die Gruppen ID-Nummer '%s' wird bereits von %s verwendet!"
+msgid "Anonymous bind to server '%s' succeeded."
+msgstr "Verbindung als anonymer Benutzer zu Server '%s' war erfolgreich."
 
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1108
-#: plugins/admin/groups/class_group.inc:1187
-#: plugins/personal/posix/class_posixAccount.inc:1045
-#: plugins/personal/posix/class_posixAccount.inc:1048
-#: plugins/personal/posix/generic.tpl:74
-#: plugins/personal/posix/paste_generic.tpl:45
-msgid "GID"
-msgstr "GID"
+#: setup/class_setupStep_Ldap.inc:121
+msgid "Please specify user and password!"
+msgstr "Bitte geben Sie Ihren Benutzer und das zugehörige Passwort ein!"
 
-#: plugins/admin/groups/class_group.inc:1175
-msgid "Generic group settings"
-msgstr "Allgemeine Gruppeneinstellungen"
+#: setup/class_setupStep_Ldap.inc:123
+#, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
+msgstr "Verbindung als Benutzer '%s' zu Server '%s' war erfolgreich!"
 
-#: plugins/admin/groups/class_group.inc:1189
-msgid "Samba group type"
-msgstr "Samba-Gruppentyp"
+#: setup/class_setupStep_Feedback.inc:94
+msgid "UNIX accounts/groups"
+msgstr "UNIX Konten/Gruppen"
 
-#: plugins/admin/groups/class_group.inc:1190
-msgid "Samba domain name"
-msgstr "Samba Domänen-Name"
+#: setup/class_setupStep_Feedback.inc:96
+msgid "Samba management"
+msgstr "Samba-Verwaltung"
 
-#: plugins/admin/groups/class_group.inc:1192
-msgid "Phone pickup group"
-msgstr "Gesprächs-Annahme Gruppe"
+#: setup/class_setupStep_Feedback.inc:98
+msgid "Mail system management"
+msgstr "Mailsystem-Verwaltung"
 
-#: plugins/admin/groups/class_group.inc:1193
-msgid "Nagios group"
-msgstr "Nagios-Gruppe"
+#: setup/class_setupStep_Feedback.inc:100
+msgid "FAX system administration"
+msgstr "Faxsystem-Verwaltung"
 
-#: plugins/admin/groups/class_group.inc:1195
-msgid "Group member"
-msgstr "Gruppenmitglieder"
+#: setup/class_setupStep_Feedback.inc:102
+msgid "Asterisk administration"
+msgstr "Asterisk-Verwaltung"
 
-#: plugins/admin/groups/class_groupManagement.inc:26
-msgid "Group administration"
-msgstr "Gruppenverwaltung"
+#: setup/class_setupStep_Feedback.inc:104
+msgid "System inventory"
+msgstr "System-Inventar"
 
-#: plugins/admin/groups/class_groupManagement.inc:156
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:62
-msgid "Posix"
-msgstr "Posix"
+#: setup/class_setupStep_Feedback.inc:106
+msgid "System/Configuration management"
+msgstr "System-/Konfigurationsverwaltung"
 
-#: plugins/admin/groups/class_groupManagement.inc:157
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:63
-msgid "Edit posix properties"
-msgstr "POSIX-Eigenschaften bearbeiten"
+#: setup/class_setupStep_Feedback.inc:108
+msgid "Address book"
+msgstr "Adressbuch"
 
-#: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:879
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
-msgid "Edit mail properties"
-msgstr "Mail-Einstellungen bearbeiten"
+#: setup/class_setupStep_Feedback.inc:114
+msgid "Feedback"
+msgstr "Rückmeldung"
 
-#: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:883
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
-msgid "Edit samba properties"
-msgstr "Samba-Einstellungen bearbeiten"
+#: setup/class_setupStep_Feedback.inc:115
+msgid "Get notifications or send feedback"
+msgstr "Erhalte Benachrichtungen oder sende Rückmeldung"
 
-#: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:899
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
-msgid "Edit phone properties"
-msgstr "Telefon-Einstellungen bearbeiten"
+#: setup/class_setupStep_Feedback.inc:116
+msgid "Notification and feedback"
+msgstr "Benachrichtigung und Rückmeldung"
 
-#: plugins/admin/groups/class_groupManagement.inc:188
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:94
-msgid "Menu"
-msgstr "Menü"
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
+msgid "Setup error"
+msgstr "Einrichtungsfehler"
 
-#: plugins/admin/groups/class_groupManagement.inc:189
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:95
-msgid "Edit start menu properties"
-msgstr "Startmenü-Einstellungen bearbeiten"
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Feedback error"
+msgstr "Fehler beim Rückmelden"
 
-#: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:891
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
-msgid "Edit environment properties"
-msgstr "Umgebungs-Einstellungen bearbeiten"
+#: setup/class_setupStep_Feedback.inc:140
+#, php-format
+msgid "Cannot send feedback to '%s': %s"
+msgstr "Kann Rückmeldung nicht an '%s' senden: %s"
 
-#: plugins/admin/users/remove.tpl:6 plugins/admin/acl/remove.tpl:6
-msgid ""
-"This includes all account data, system access rules, imap settings, etc. for "
-"this user. Please double check if your really want to do this since there is "
-"no way for GOsa to get your data back."
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
-"Dies umfasst alle Konto-Informationen, Zugriffsregeln, IMAP-Einstellungen, "
-"etc. dieses Benutzers. Bitte prüfen Sie genau, da es keine Möglichkeit für "
-"GOsa gibt, die Daten wiederherzustellen. "
+"Kann Rückmeldung nicht senden: Der Dienst ist vorübergehend nicht verfügbar"
 
-#: plugins/admin/users/password.tpl:4
+#: setup/class_setupStep_Feedback.inc:181
+msgid "Please specify a valid email address."
+msgstr "Bitte geben Sie eine gültige E-Mail-Adresse ein."
+
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
-"To change the user password use the fields below. The changes take effect "
-"immediately. Please memorize the new password, because the user wouldn't be "
-"able to login without it."
+"You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
-"Um das Benutzer-Passwort zu ändern, nutzen Sie die Felder unten. Die "
-"Änderungen werden sofort wirksam. Merken Sie sich das Passwort, da sich der "
-"Benutzer ohne dieses Passwort nicht anmelden kann."
+"Sie müssen mindestens eine der beiden Optionen auswählen, Abonnement der "
+"Mailingliste oder Senden einer Rückmeldung."
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/generic/password.tpl:8
-#: plugins/personal/password/password.tpl:8
+#: setup/setup_license.tpl:3
 msgid ""
-"Changing the password affects your authentification on mail, proxy, samba "
-"and unix services."
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
 msgstr ""
-"Das Ändern des Passwortes wirkt sich auf ihre Authentifizierung bei Mail-, "
-"Proxy-, Samba- und Unix-Diensten aus."
-
-#: plugins/admin/users/password.tpl:21 plugins/admin/users/password.tpl:57
-#: plugins/personal/generic/password.tpl:27
-#: plugins/personal/generic/password.tpl:70
-#: plugins/personal/password/password.tpl:32
-#: plugins/personal/password/password.tpl:75
-msgid "Repeat new password"
-msgstr "Neues Passwort (Wiederholung)"
-
-#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
-msgid "Strength"
-msgstr "Stärke"
+"GOsa wird unter der GNU General Public License V2 entwickelt. Bitte "
+"akzeptieren Sie die untenstehenden Lizenzbedingungen."
 
-#: plugins/admin/users/password.tpl:35
-msgid "Password input dialog"
-msgstr "Dialog zur Passwort-Eingabe"
-
-#: plugins/admin/users/password.tpl:39
-#: plugins/personal/generic/password.tpl:51
-#: plugins/personal/password/password.tpl:56
-msgid "Use proposal"
-msgstr "Vorschlag verwenden"
-
-#: plugins/admin/users/password.tpl:43
-#: plugins/personal/generic/password.tpl:55
-#: plugins/personal/password/password.tpl:60 setup/setup_migrate.tpl:470
-#: setup/setup_migrate.tpl:513 setup/setup_migrate.tpl:557
-msgid "Refresh"
-msgstr "Auffrischen"
-
-#: plugins/admin/users/password.tpl:49
-#: plugins/personal/generic/password.tpl:61
-#: plugins/personal/password/password.tpl:66
-msgid "Manually specify a password"
-msgstr "Passwort vorgeben"
-
-#: plugins/admin/users/password.tpl:77
-msgid "Enforce password change on next login."
-msgstr "Erzwinge Änderung des Passwort bei nächster Anmeldung."
-
-#: plugins/admin/users/password.tpl:84
-#: plugins/personal/generic/password.tpl:88
-#: plugins/personal/password/password.tpl:93
-msgid "Set password"
-msgstr "Passwort setzen"
-
-#: plugins/admin/users/template.tpl:2
-msgid "Creating a new user using templates"
-msgstr "Erzeugen eines neuen Benutzer aus einer Vorlage"
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
+msgstr "Ich habe die Lizenz gelesen und akzeptiere diese"
 
-#: plugins/admin/users/template.tpl:6
+#: setup/setup_ldap.tpl:2
 msgid ""
-"Creating a new user can be assisted by using templates. Many database "
-"records will be filled automatically. Choose 'none' to skip the usage of "
-"templates."
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
 msgstr ""
-"Das Anlegen von neuen Benutzern kann durch die Verwendung von Vorlagen "
-"vereinfacht werden. Viele Datenbankeinträge lassen sich damit automatisch "
-"ausfüllen. Wählen sie 'keine' um den Vorlagen-Dialog zu überspringen."
-
-#: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:535
-#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
-#: plugins/admin/users/templatize.tpl:15
-msgid "Template"
-msgstr "Vorlage"
+"Die massgebliche Datenquelle für GOsa ist das LDAP-Verzeichnis. Um auf die "
+"dort gespeicherten Informationen zugreifen zu können, geben sie bitte die "
+"benötigten Informationen ein."
 
-#: plugins/admin/users/template.tpl:23 plugins/personal/generic/generic.tpl:49
-#: plugins/personal/generic/paste_generic.tpl:7
-msgid "Last name"
-msgstr "Nachname"
+#: setup/setup_ldap.tpl:9
+msgid "Please choose the LDAP user to be used by GOsa"
+msgstr "Bitte wählen Sie den LDAP-Benutzer, der von GOsa verwendet werden soll"
 
-#: plugins/admin/users/template.tpl:27 plugins/personal/generic/generic.tpl:69
-#: plugins/personal/generic/paste_generic.tpl:11
-msgid "First name"
-msgstr "Vorname"
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
+msgid "LDAP connection"
+msgstr "LDAP-Verbindung"
 
-#: plugins/admin/users/class_userManagement.inc:26
-msgid "Manage users"
-msgstr "Benutzer verwalten"
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
+msgstr "Name des Standortes"
 
-#: plugins/admin/users/class_userManagement.inc:391
-msgid "You have no permission to change this users password!"
-msgstr "Sie haben keine Berechtigung dieses Passwort zu ändern!"
+#: setup/setup_ldap.tpl:35
+msgid "Connection URI"
+msgstr "Verbindungs-URI"
 
-#: plugins/admin/users/class_userManagement.inc:782
-msgid "Account locking"
-msgstr "Konto-Sperrung"
+#: setup/setup_ldap.tpl:39
+msgid "TLS connection"
+msgstr "TLS-Verbindung"
 
-#: plugins/admin/users/class_userManagement.inc:783
-#, php-format
-msgid ""
-"Password method '%s' does not support locking. Account (%s) has not been "
-"locked!"
-msgstr ""
-"Die Passwort-Methode '%s' unterstützt keine Sperrungen. Das Konto %s wurde "
-"nicht gesperrt!"
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
+#: plugins/admin/ogroups/generic.tpl:26
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
+#: plugins/admin/departments/class_domain.inc:92
+#: plugins/admin/departments/class_organizationGeneric.inc:125
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
+#: plugins/admin/departments/class_dcObject.inc:93
+#: plugins/admin/departments/domain.tpl:28
+#: plugins/admin/users/user-list.tpl:12
+msgid "Base"
+msgstr "Basis"
 
-#: plugins/admin/users/class_userManagement.inc:856
-msgid "Unlock account"
-msgstr "Konto aktivieren"
+#: setup/setup_ldap.tpl:57
+msgid "Reload"
+msgstr "Neu laden"
 
-#: plugins/admin/users/class_userManagement.inc:858
-msgid "Lock account"
-msgstr "Konto deaktivieren"
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+msgid "Authentication"
+msgstr "Authentisierung"
 
-#: plugins/admin/users/class_userManagement.inc:871
-msgid "Edit generic properties"
-msgstr "Allgemeine Einstellungen bearbeiten"
+#: setup/setup_ldap.tpl:66
+msgid "Administrator DN"
+msgstr "Administrator-DN"
 
-#: plugins/admin/users/class_userManagement.inc:874
-#: plugins/personal/posix/class_posixAccount.inc:304
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/class_posixAccount.inc:326
-#: plugins/personal/posix/class_posixAccount.inc:329
-msgid "POSIX"
-msgstr "POSIX"
+#: setup/setup_ldap.tpl:71
+msgid "Select user"
+msgstr "Benutzer wählen"
 
-#: plugins/admin/users/class_userManagement.inc:875
-msgid "Edit POSIX properties"
-msgstr "UNIX-Einstellungen bearbeiten"
+#: setup/setup_ldap.tpl:81
+msgid "Automatically append LDAP base to administrator DN"
+msgstr "Automatisch die LDAP-Basis an die Administrator-DN anhängen"
 
-#: plugins/admin/users/class_userManagement.inc:886
-msgid "Netatalk"
-msgstr "Netatalk"
+#: setup/setup_ldap.tpl:85
+msgid "Administrator password"
+msgstr "Administrator-Passwort"
 
-#: plugins/admin/users/class_userManagement.inc:887
-msgid "Edit netatalk properties"
-msgstr "Netatalk-Einstellungen bearbeiten"
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
+msgid "Schema based settings"
+msgstr "Schema-basierte Einstellungen"
 
-#: plugins/admin/users/class_userManagement.inc:895
-msgid "Edit FAX properties"
-msgstr "FAX-Einstellungen bearbeiten"
+#: setup/setup_ldap.tpl:94
+msgid "Use RFC 2307bis compliant groups"
+msgstr "Verwende RFC 2307bis konforme Gruppen"
 
-#: plugins/admin/users/user-list.xml:11
-msgid "List of users"
-msgstr "Liste der Benutzer"
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
+msgid "Current status"
+msgstr "Momentaner Status"
 
-#: plugins/admin/users/user-list.xml:140
-msgid "Lock users"
-msgstr "Benutzer sperren"
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
+msgstr "Information"
 
-#: plugins/admin/users/user-list.xml:148
-msgid "Unlock users"
-msgstr "Benutzer entsperren"
+#: setup/setup_language.tpl:3
+msgid "Please select the preferred language"
+msgstr "Bitte wählen Sie Ihre bevorzugte Sprache"
 
-#: plugins/admin/users/user-list.xml:167
-msgid "Apply template"
-msgstr "Vorlage anwenden"
+#: setup/setup_language.tpl:5
+msgid ""
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
+msgstr ""
+"An dieser Stelle können Sie die standortweite Standardsprache auswählen. Bei "
+"Auswahl von 'automatisch' wird automatisch die vom Browser angeforderte "
+"Sprache verwendet. Diese Einstellung kann von der Einstellung des Benutzers "
+"überschrieben werden."
 
-#: plugins/admin/users/user-list.xml:199
-msgid "New user from template"
-msgstr "Neuen Benutzer aus Vorlage"
+#: setup/setup_language.tpl:9
+msgid "Please select your preferred language here"
+msgstr "Bitte wählen Sie hier Ihre bevorzugte Sprache"
 
-#: plugins/admin/users/user-list.xml:213
-msgid "Edit user"
-msgstr "Benutzer bearbeiten"
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
+msgstr "Was vorzubereiten ist"
 
-#: plugins/admin/users/user-list.xml:222
-msgid "%{filter:lockLabel(userPassword)}"
+#: setup/setup_welcome.tpl:5
+msgid ""
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
 msgstr ""
+"GOsa scheint das erste Mal auf diesem System ausgeführt zu werden. Um die "
+"Web-Schnittstelle zu aktivieren benötigen Sie eine gültige "
+"Konfigurationsdatei, welche mit diesem Einrichtungsassistenten erzeugt "
+"werden kann."
 
-#: plugins/admin/users/user-list.xml:245
-msgid "Remove user"
-msgstr "Benutzer entfernen"
+#: setup/setup_welcome.tpl:9
+msgid "What you need to generate a configuration file:"
+msgstr "Was Sie zum Erzeugen der Konfigurationsdatei benötigen:"
 
-#: plugins/admin/users/user-filter.tpl:11
-msgid "Show templates"
-msgstr "Zeige Vorlagen"
+#: setup/setup_welcome.tpl:13
+msgid "The hostname of your LDAP server"
+msgstr "Der Rechnername Ihres LDAP-Servers"
 
-#: plugins/admin/users/user-filter.tpl:12
-msgid "Show functional users"
-msgstr "Zeige funktionale Benutzer"
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
+msgstr "Installiertes GOsa und die notwendigen LDAP-Schema"
 
-#: plugins/admin/users/user-filter.tpl:13
-msgid "Show POSIX users"
-msgstr "Zeige POSIX Benutzer"
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
+msgstr "Die LDAP-Basis ihres LDAP-Verzeichnisses"
 
-#: plugins/admin/users/user-filter.tpl:14
-msgid "Show Mail users"
-msgstr "Zeige Mail Benutzer"
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
+msgstr "Die DN und das Passwort eines LDAP-Administrators"
 
-#: plugins/admin/users/user-filter.tpl:15
-msgid "Show Samba users"
-msgstr "Zeige Samba Benutzer"
+#: setup/setup_welcome.tpl:20
+msgid ""
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
+msgstr ""
+"Wenn Sie die notwendigen Informationen vorliegen haben, können Sie den "
+"Installationsvorgang wie folgt freischalten."
 
-#: plugins/admin/users/templatize.tpl:2
-msgid "Applying a template"
-msgstr "Vorlage anwenden"
+#: setup/setup_welcome.tpl:24
+msgid "Starting the setup"
+msgstr "Starte Einrichtungsassistenten"
 
-#: plugins/admin/users/templatize.tpl:6
+#: setup/setup_welcome.tpl:26
 msgid ""
-"Applying a template to several users will replace all user attributes "
-"defined in the template."
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
 msgstr ""
-"Das Anwenden einer Vorlage ersetzt alle in der Vorlage definierten Attribute "
-"des Benutzers."
+"Aus Sicherheitsgründen müssen Sie die Installation authorisieren, indem Sie "
+"die Datei '/tmp/gosa.auth' mit der aktuellen Sitzungs-ID im Dateisystem des "
+"Servers erzeugen. Dies wird durch das Ausführen des folgenden Kommandos "
+"erreicht:"
 
-#: plugins/admin/users/templatize.tpl:33
-msgid "No templates available!"
-msgstr "Keine Vorlagen verfügbar!"
+#: setup/setup_welcome.tpl:32
+msgid "Click the 'Next' button when you've finished."
+msgstr "Drücken Sie auf den Knopf 'Fortfahren', wenn Sie fertig sind."
+
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
+msgid "LDAP schema check"
+msgstr "LDAP Schemaprüfung"
+
+#: setup/class_setupStep_Schema.inc:39
+msgid "Perform test on your current LDAP schema"
+msgstr "Führe Test auf Ihrem aktuellen LDAP Schema durch"
+
+#: setup/class_setup.inc:183
+msgid "Setup"
+msgstr "Einrichtung"
+
+#: setup/class_setup.inc:195
+msgid "Completed"
+msgstr "Abgeschlossen"
+
+#: setup/class_setup.inc:235
+msgid "Check again"
+msgstr "Erneut prüfen"
+
+#: setup/class_setup.inc:238
+msgid "Next"
+msgstr "Vor"
 
-#: plugins/admin/departments/remove.tpl:6
+#: setup/setup_migrate.tpl:2
 msgid ""
-"This includes 'all' accounts, systems, etc. in this subtree. Please double "
-"check if your really want to do this since there is no way for GOsa to get "
-"your data back."
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
 msgstr ""
-"Dies umfasst 'alle' Konten, System- und Setup-Informationen dieses "
-"Teilbaums. Bitte prüfen Sie genau, da es keine Möglichkeit für GOsa gibt, "
-"die Daten wiederherzustellen. "
+"Während der LDAP-Inspektion wird auf verschiedene, gängige Stolpersteine "
+"geprüft, die auftreten können, wenn auf eine GOsa-basierte LDAP-"
+"Administration migriert wird. Sie sollten die unten genannten Probleme "
+"beseitigen (wenn vorhanden), um einen problemlosen Betrieb der Dienste zu "
+"ermöglichen."
+
+#: setup/setup_migrate.tpl:5
+msgid "Checks"
+msgstr "Überprüfungen"
 
-#: plugins/admin/departments/remove.tpl:10
+#: setup/setup_migrate.tpl:22
+msgid "Add required object classes to the LDAP base"
+msgstr "Füge erforderliche Objekt-Klassen zum Basis-Objekt hinzu"
+
+#: setup/setup_migrate.tpl:24
+msgid "Current"
+msgstr "Aktuell"
+
+#: setup/setup_migrate.tpl:28
+msgid "After migration"
+msgstr "Nach der Migration"
+
+#: setup/setup_migrate.tpl:35
+msgid "Close"
+msgstr "Schliessen"
+
+#: setup/setup_migrate.tpl:40
+msgid "Create a new GOsa administrator account"
+msgstr "Erzeuge ein neues GOsa Administratorkonto"
+
+#: setup/setup_migrate.tpl:41
 msgid ""
-"Best thing to do before performing this action would be to save the current "
-"contents of your LDAP tree in a file. So - if you've done so - press "
-"'Delete' to continue or 'Cancel' to abort."
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
 msgstr ""
-"Eine Sicherung der LDAP-Datenbank bietet sich an. Wenn Sie dies erledigt "
-"haben, drücken Sie 'Entfernen' um Fortzufahren oder 'Abbrechen', um den "
-"Vorgang abzubrechen."
+"Dieser Dialog wird automatisch einen neuen Superadministrator in Ihren LDAP-"
+"Baum einfügen."
 
-#: plugins/admin/departments/dep-list.xml:11
-msgid "List of departments"
-msgstr "Liste der Abteilungen"
+#: setup/setup_migrate.tpl:57
+msgid "Password (again)"
+msgstr "Passwort (erneut)"
 
-#: plugins/admin/departments/dep-list.xml:15
-#: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:189
-msgid "Domain"
-msgstr "Domain"
+#: setup/setup_finish.tpl:3
+msgid "Create your configuration file"
+msgstr "Erzeugen Ihrer Konfigurationsdatei"
 
-#: plugins/admin/departments/dep-list.xml:23
-#: plugins/admin/departments/dep-list.xml:110
-msgid "Domain component"
-msgstr "Domänen-Komponente"
+#: setup/setup_finish.tpl:10
+msgid "Depending on the user name your web server is running on:"
+msgstr "Abhängig vom Benutzernamen mit dem Ihr Web-Server läuft:"
 
-#: plugins/admin/departments/dep-list.xml:31
-#: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_countryGeneric.inc:82
-#: plugins/admin/departments/class_countryGeneric.inc:83
-msgid "Country"
-msgstr "Land"
+#: setup/setup_finish.tpl:27
+msgid "Download configuration"
+msgstr "Konfiguration herunterladen"
 
-#: plugins/admin/departments/dep-list.xml:39
-#: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_localityGeneric.inc:82
-#: plugins/admin/departments/class_localityGeneric.inc:83
-msgid "Locality"
-msgstr "Standort"
+#: setup/setup_finish.tpl:33
+msgid "Status: "
+msgstr "Status: "
 
-#: plugins/admin/departments/dep-list.xml:47
-#: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:237
-#: plugins/admin/departments/class_organizationGeneric.inc:113
-#: plugins/admin/departments/class_organizationGeneric.inc:114
-#: plugins/personal/generic/class_user.inc:1694
-#: plugins/personal/generic/generic.tpl:299 setup/setup_feedback.tpl:23
-msgid "Organization"
-msgstr "Organisation"
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
+msgstr "Installationsprüfung"
 
-#: plugins/admin/departments/locality.tpl:11
-#: plugins/admin/departments/dcObject.tpl:11
-msgid "Locality name"
-msgstr "Standort-Name"
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
+msgstr "Grundlegende Überprüfungen der PHP-Version und Erweiterungen."
 
-#: plugins/admin/departments/locality.tpl:14
-#: plugins/admin/departments/dcObject.tpl:14
-msgid "Name of locality to create"
-msgstr "Name des zu erzeugenden Standortes"
+#: setup/class_setupStep_Checks.inc:66
+msgid "Checking PHP version"
+msgstr "Prüfe PHP-Version"
 
-#: plugins/admin/departments/locality.tpl:22
-#: plugins/admin/departments/domain.tpl:22
-#: plugins/admin/departments/country.tpl:22
-#: plugins/admin/departments/dcObject.tpl:22
-#: plugins/admin/departments/organization.tpl:22
-msgid "Descriptive text for department"
-msgstr "Beschreibender Text zu dieser Abteilung"
+#: setup/class_setupStep_Checks.inc:67
+#, php-format
+msgid "PHP must be of version %s or above."
+msgstr "PHP muß in Version %s oder höher vorliegen."
 
-#: plugins/admin/departments/locality.tpl:39
-#: plugins/admin/departments/generic.tpl:51
-#: plugins/admin/departments/class_domain.inc:93
-#: plugins/admin/departments/class_localityGeneric.inc:93
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_countryGeneric.inc:93
-#: plugins/admin/departments/class_dcObject.inc:92
-#: plugins/admin/departments/domain.tpl:39
-#: plugins/admin/departments/country.tpl:39
-#: plugins/admin/departments/dcObject.tpl:39
-#: plugins/admin/departments/class_department.inc:675
-#: plugins/admin/departments/organization.tpl:51
-#: plugins/personal/generic/class_user.inc:1697
-#: plugins/personal/generic/generic.tpl:340
-#: plugins/personal/generic/generic.tpl:361
-msgid "Manager"
-msgstr "Verwalter"
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
+msgstr "Bitte aktualisieren Sie auf eine unterstützte Version."
 
-#: plugins/admin/departments/locality.tpl:67
-#: plugins/admin/departments/generic.tpl:132
-#: plugins/admin/departments/class_domain.inc:94
-#: plugins/admin/departments/class_localityGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:135
-#: plugins/admin/departments/class_countryGeneric.inc:95
-#: plugins/admin/departments/class_dcObject.inc:94
-#: plugins/admin/departments/domain.tpl:67
-#: plugins/admin/departments/country.tpl:67
-#: plugins/admin/departments/dcObject.tpl:67
-#: plugins/admin/departments/class_department.inc:677
-#: plugins/admin/departments/organization.tpl:131
-msgid "Administrative settings"
-msgstr "Administrative Einstellungen"
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
+msgstr "GOsa benötigt dieses Modul für die Kommunikation mit dem LDAP-Server."
 
-#: plugins/admin/departments/locality.tpl:69
-#: plugins/admin/departments/generic.tpl:134
-#: plugins/admin/departments/domain.tpl:69
-#: plugins/admin/departments/country.tpl:69
-#: plugins/admin/departments/dcObject.tpl:69
-#: plugins/admin/departments/organization.tpl:133
-msgid "Tag department as an independent administrative unit"
-msgstr "Abteilung als eigenständige administrative Einheit kennzeichnen"
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
+msgstr "GOsa benötigt dieses Modul für eine lokalisierte Oberfläche."
 
-#: plugins/admin/departments/generic.tpl:11
-msgid "Name of department"
-msgstr "Name der Abteilung"
+#: setup/class_setupStep_Checks.inc:91
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
+msgstr ""
+"GOsa benötigt dieses Modul, um mit verschiedenen unterstützten Datenbanken "
+"zu kommunizieren."
 
-#: plugins/admin/departments/generic.tpl:14
-msgid "Name of subtree to create"
-msgstr "Name des zu erzeugenden Teilbaums"
+#: setup/class_setupStep_Checks.inc:99
+msgid "GOsa requires this module for the samba integration."
+msgstr "GOsa benötigt dieses Modul für die Samba-Einbindung."
 
-#: plugins/admin/departments/generic.tpl:22
-msgid "Descriptive text for   department"
-msgstr "Beschreibender Text zu dieser Abteilung"
+#: setup/class_setupStep_Checks.inc:107
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
+msgstr ""
+"GOsa benötigt entweder das 'mhash' oder das 'sha1' Modul um die SSHA-"
+"Verschlüsselung zu verwenden."
 
-#: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:667
-#: plugins/admin/departments/organization.tpl:27
-msgid "Category"
-msgstr "Kategorie"
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
+msgstr ""
+"GOsa benötigt dieses Modul für die Kommunikation mit einem IMAP-Server."
 
-#: plugins/admin/departments/generic.tpl:30
-#: plugins/admin/departments/organization.tpl:30
-msgid "Category for this subtree"
-msgstr "Kategorie dieses Teilbaums"
+#: setup/class_setupStep_Checks.inc:122
+msgid "mbstring"
+msgstr "mbstring"
 
-#: plugins/admin/departments/generic.tpl:79
-#: plugins/admin/departments/generic.tpl:91
-#: plugins/admin/departments/class_localityGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:130
-#: plugins/admin/departments/class_department.inc:671
-#: plugins/admin/departments/organization.tpl:78
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1708
-#: plugins/personal/generic/generic.tpl:441
-msgid "Location"
-msgstr "Ort"
+#: setup/class_setupStep_Checks.inc:123
+msgid "GOsa requires this module to handle Unicode strings."
+msgstr "GOsa benötigt dieses Modul um Unicode-Zeichenketten zu verarbeiten."
 
-#: plugins/admin/departments/generic.tpl:83
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_department.inc:670
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1707
-#: plugins/personal/generic/generic.tpl:449
-msgid "State"
-msgstr "Land"
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
+msgstr "Kalender"
 
-#: plugins/admin/departments/generic.tpl:86
-#: plugins/admin/departments/organization.tpl:85
-msgid "State where this subtree is located"
-msgstr "Land, in dem dieser Teilbaum anzusiedeln ist"
+#: setup/class_setupStep_Checks.inc:131
+msgid "GOsa requires this module to calculate dates."
+msgstr "GOsa benötigt dieses Modul um Datumsangaben zu verarbeiten."
 
-#: plugins/admin/departments/generic.tpl:94
-#: plugins/admin/departments/organization.tpl:93
-msgid "Location of this subtree"
-msgstr "Ort dieses Teilbaums"
+#: setup/class_setupStep_Checks.inc:138
+msgid "MySQL"
+msgstr "MySQL"
 
-#: plugins/admin/departments/generic.tpl:99
-#: plugins/admin/departments/class_department.inc:672
-#: plugins/admin/departments/organization.tpl:98
-#: plugins/personal/generic/generic.tpl:183
-#: plugins/personal/generic/generic.tpl:457
-msgid "Address"
-msgstr "Adresse"
+#: setup/class_setupStep_Checks.inc:139
+msgid ""
+"GOsa requires this module to communicate with several supported databases."
+msgstr ""
+"GOsa benötigt dieses Modul, um mit verschiedenen unterstützten Datenbanken "
+"zu kommunizieren."
 
-#: plugins/admin/departments/generic.tpl:102
-#: plugins/admin/departments/organization.tpl:101
-msgid "Postal address of this subtree"
-msgstr "Postalische Anschrift dieses Teilbaums"
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
+msgstr "Samba Hash-Generator"
 
-#: plugins/admin/departments/generic.tpl:109
-#: plugins/admin/departments/organization.tpl:108
-msgid "Base telephone number of this subtree"
-msgstr "Einleitende Telefonnummer dieses Teilbaums"
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+msgstr ""
+"GOsa benötigt dieses Kommando für den Abgleich der POSIX und Samba-"
+"Passwörter."
 
-#: plugins/admin/departments/generic.tpl:114
-#: plugins/admin/departments/class_organizationGeneric.inc:133
-#: plugins/admin/departments/class_department.inc:373
-#: plugins/admin/departments/class_department.inc:674
-#: plugins/admin/departments/organization.tpl:113
-#: plugins/personal/generic/class_user.inc:1359
-#: plugins/personal/generic/class_user.inc:1822
-#: plugins/personal/generic/generic.tpl:423
-#: plugins/personal/generic/generic.tpl:591
-msgid "Fax"
-msgstr "Fax"
+#: setup/class_setupStep_Checks.inc:158
+msgid ""
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
+msgstr ""
+"Nutzen Sie eine GOsa-SI-Installation oder installieren Sie das Perl-Modul "
+"Crypt::SmbHash."
 
-#: plugins/admin/departments/generic.tpl:117
-#: plugins/admin/departments/organization.tpl:116
-msgid "Base facsimile telephone number of this subtree"
-msgstr "Einleitende Fax-Nummer dieses Teilbaums"
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
+msgstr "Imagick"
 
-#: plugins/admin/departments/class_domain.inc:81
-#: plugins/admin/departments/class_domain.inc:82
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_dcObject.inc:81
-#: plugins/admin/departments/class_dcObject.inc:82
-msgid "Domain Component"
-msgstr "Domänen-Komponente"
+#: setup/class_setupStep_Checks.inc:172
+msgid "GOsa requires this extension to handle images."
+msgstr "GOsa benötigt diese Erweiterung um Bilder konvertieren zu können."
 
-#: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:657
-#: plugins/admin/departments/class_department.inc:662
-msgid "Departments"
-msgstr "Abteilungen"
+#: setup/class_setupStep_Checks.inc:187
+msgid "compression module"
+msgstr "Komprimierungs-Modul"
+
+#: setup/class_setupStep_Checks.inc:188
+msgid "GOsa requires this extension to handle snapshots."
+msgstr "GOsa benötigt dieses Modul um Snapshots zu komprimieren."
+
+#: setup/class_setupStep_Checks.inc:199
+msgid ""
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
+msgstr ""
+"register_globals ist ein PHP-Mechanismus, welcher alle globalen Variablen "
+"für Skripte direkt zugänglich macht. Dies kann ein Sicherheitsrisiko sein."
+
+#: setup/class_setupStep_Checks.inc:200
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+msgstr ""
+"Suchen Sie nach 'register_globals' in Ihrer php.ini und setzen Sie es auf "
+"'Off'."
+
+#: setup/class_setupStep_Checks.inc:208
+msgid "PHP uses this value for the garbage collector to delete old sessions."
+msgstr ""
+"PHP verwendet diese Einstellungen für den Garbage Collector, um alte "
+"Sessions zu entfernen."
+
+#: setup/class_setupStep_Checks.inc:209
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
+msgstr ""
+"Wenn Sie diesen Wert auf einen Tag setzen, wird dies vermeiden, dass Sie die "
+"Sitzung und den zugehörigen Cookie verlieren, bevor diese tatsächlich ihre "
+"Gültigkeit verlieren."
+
+#: setup/class_setupStep_Checks.inc:210
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
+msgstr ""
+"Suchen Sie in Ihrer php.ini nach 'session.gc_maxlifetime' und setzen Sie es "
+"auf 84600 oder höher."
+
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+msgid "Off"
+msgstr "Aus"
+
+#: setup/class_setupStep_Checks.inc:218
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
+msgstr ""
+"Um GOsa fehlerfrei benutzen zu können, muß die Option session.auto_register "
+"in Ihrer php.ini auf 'Off' stehen."
+
+#: setup/class_setupStep_Checks.inc:219
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+msgstr ""
+"Suchen Sie in Ihrer php.ini nach 'session.auto_start' und setzen Sie es auf "
+"'Off'."
+
+#: setup/class_setupStep_Checks.inc:226
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
+msgstr ""
+"GOsa benötigt mindestens 32MB Speicher, weniger Speicher würde "
+"unvorhersehbare Probleme verursachen! Bei größeren Installationen sollte "
+"dieser Wert noch vergrössert werden."
+
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+msgstr ""
+"Suchen Sie in Ihrer php.ini nach 'memory_limit' und setzen Sie es auf '32M' "
+"oder höher."
+
+#: setup/class_setupStep_Checks.inc:234
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
+msgstr ""
+"Diese Einstellung beeinflusst die Verarbeitung der Ausgabe. Stellen Sie "
+"diese auf 'off', um die Leistung zu erhöhen."
+
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+msgstr ""
+"Suchen Sie in Ihrer php.ini nach 'implicit_flush' und setzen Sie es auf "
+"'Off'."
+
+#: setup/class_setupStep_Checks.inc:242
+msgid "The Execution time should be at least 30 seconds."
+msgstr "Die Ausführungszeit sollte mindestens 30 Sekunden betragen."
 
-#: plugins/admin/departments/class_departmentManagement.inc:26
-msgid "Manage Departments"
-msgstr "Abteilungen verwalten"
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+msgstr ""
+"Suchen Sie in Ihrer php.ini nach 'max_execution_time' und setzen Sie es auf "
+"'30' oder höher."
 
-#: plugins/admin/departments/class_departmentManagement.inc:122
+#: setup/class_setupStep_Checks.inc:250
 msgid ""
-"As soon as the tag operation has finished, you can scroll down to end of the "
-"page and    press the 'Continue' button to continue with the department "
-"management dialog."
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
 msgstr ""
-"Sobald die Tag-Operation abgeschlossen wurde, können Sie zum Ende der Seite "
-"scrollen und auf den 'Fortfahren'-Knopf drücken, um mit der "
-"Abteilungsverwaltung fort zu fahren."
+"Erhöhen Sie die Sicherheit Ihres Servers, indem Sie expose_php auf 'off' "
+"setzen. PHP wird in dieser Einstellung keine Informationen über Ihren "
+"laufenden Server senden."
 
-#: plugins/admin/departments/class_organizationGeneric.inc:122
-msgid "Organization name"
-msgstr "Organisationsname"
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+msgstr ""
+"Suchen Sie in Ihrer php.ini nach 'expose_php' und setzen Sie es auf 'Off'."
 
-#: plugins/admin/departments/class_organizationGeneric.inc:131
-#: plugins/personal/generic/class_user.inc:1709
-msgid "Postal address"
-msgstr "Adresse"
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
+msgid "On"
+msgstr "An"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:132
-msgid "Phone number"
-msgstr "Telefonnummer"
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
+msgstr ""
+"Erhöhen Sie die Sicherheit des Server, indem sie magic_quotes_gpc auf 'on' "
+"stellen. PHP wird in dieser Einstellung alle 'quotes' in 'strings' umwandeln."
 
-#: plugins/admin/departments/class_countryGeneric.inc:91
-#: plugins/admin/departments/country.tpl:11
-msgid "Country name"
-msgstr "Name des Landes"
+#: setup/class_setupStep_Checks.inc:259
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+msgstr ""
+"Suchen Sie in Ihrer php.ini nach 'magic_quotes_gpc' und setzen Sie es auf "
+"'On'."
 
-#: plugins/admin/departments/domain.tpl:11
-msgid "Domain name"
-msgstr "Domänenname"
+#: setup/class_setupStep_Checks.inc:266
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+msgstr ""
+"Erhöhen Sie die Leistung des Servers, indem sie magic_quotes_gpc auf 'off' "
+"stellen."
 
-#: plugins/admin/departments/domain.tpl:14
-msgid "Name of domain to create"
-msgstr "Name der zu erzeugenden Domäne"
+#: setup/class_setupStep_Checks.inc:267
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+msgstr ""
+"Suchen Sie in Ihrer php.ini nach 'zend.ze1_compatibility_mode' und setzen "
+"Sie es auf 'Off'."
 
-#: plugins/admin/departments/country.tpl:14
-msgid "Name of country to create"
-msgstr "Name des anzulegenden Landes"
+#: setup/class_setupStep_Checks.inc:277
+msgid "Configuration writable"
+msgstr "Konfigurationsdatei ist schreibbar"
 
-#: plugins/admin/departments/class_department.inc:433
-msgid "Cannot find an unused tag for this administrative unit!"
-msgstr "Kann keinen unbenutzten Tag für diese administrative Einheit finden!"
+#: setup/class_setupStep_Checks.inc:278
+msgid "The configuration file can't be written"
+msgstr "Die Konfigurationsdatei kann nicht geschrieben werden"
 
-#: plugins/admin/departments/class_department.inc:504
+#: setup/class_setupStep_Checks.inc:279
 #, php-format
-msgid "Tagging '%s'."
-msgstr "Markiere '%s'."
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
+msgstr ""
+"GOsa liest sein Konfiguration von einer Datei in (%s/%s). Die Einrichtung "
+"kann die Konfiguration direkt schreiben, wenn diese schreibbar ist."
 
-#: plugins/admin/departments/class_department.inc:585
-#, php-format
-msgid "Moving '%s' to '%s'"
-msgstr "Verschiebe '%s' nach '%s'"
+#: setup/class_setupStep_Welcome.inc:42
+msgid "Welcome"
+msgstr "Willkommen"
 
-#: plugins/admin/departments/class_department.inc:626
-#, php-format
-msgid "FAILED to copy %s, aborting operation"
-msgstr "Fehler beim kopieren von %s, breche ab"
+#: setup/class_setupStep_Welcome.inc:43
+msgid "The welcome message"
+msgstr "Die Willkommensnachricht"
 
-#: plugins/admin/departments/class_department.inc:665
-msgid "Department name"
-msgstr "Name der Abteilung"
+#: setup/class_setupStep_Welcome.inc:44
+msgid "Welcome to the GOsa setup assistent"
+msgstr "Willkommen beim GOsa Einrichtungsassistenten"
 
-#: plugins/admin/departments/class_department.inc:673
-msgid "Telephone"
-msgstr "Telefon"
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
+msgid "License"
+msgstr "Lizenz"
 
-#: plugins/admin/departments/class_department.inc:728
-#, php-format
-msgid "Object '%s' is already tagged"
-msgstr "Objekt '%s' ist bereits markiert"
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
+msgstr "Bedingungen und Auflagen für den Gebrauch"
 
-#: plugins/admin/departments/class_department.inc:735
-#, php-format
-msgid "Adding tag (%s) to object '%s'"
-msgstr "Füge Markierung (%s) zu Objekt '%s' hinzu"
+#: setup/setup_schema.tpl:1
+msgid "Schema specific settings"
+msgstr "Schemaspezifische Einstellungen"
 
-#: plugins/admin/departments/class_department.inc:767
-#, php-format
-msgid "Removing tag from object '%s'"
-msgstr "Entferne Markierung von Objekt '%s'"
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
+msgstr "Schema-Prüfung erfolgreich"
 
-#: plugins/admin/departments/dep_iframe.tpl:1
-msgid "Processing the requested operation"
-msgstr "Gewünschte Operation wird durchgeführt"
+#: setup/setup_schema.tpl:7
+msgid "Schema check failed"
+msgstr "Schema-Prüfung fehlgeschlagen"
 
-#: plugins/admin/departments/dep_iframe.tpl:7
+#: setup/setup_schema.tpl:11
 msgid ""
-"Your browser doesn't support iframes, please use this link to perform the "
-"requested operation."
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
 msgstr ""
-"Ihr Browser unterstützt keine IFrames - bitte wählen Sie diesen Link, um die "
-"gewünschte Operation durchzuführen."
+"Konnte keine Schema-Informationen beziehen, alle Prüfungen wurden "
+"übersprungen. Passen Sie Ihre LDAP-ACLs an."
 
-#: plugins/admin/departments/organization.tpl:11
-msgid "Name of organization"
-msgstr "Name der Organisation"
+#: setup/setup_schema.tpl:13
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
+msgstr ""
+"Es scheint so, dass Ihre LDAP-Datenbank noch nicht initialisiert wurde. Dies "
+"könnte der Grund sein, weshalb GOsa die Schema-Konfiguration nicht lesen "
+"konnte!"
 
-#: plugins/admin/departments/organization.tpl:14
-msgid "Name of organization to create"
-msgstr "Name der zu erzeugenden Organisation"
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
+msgid "Language setup"
+msgstr "Sprachauswahl"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-msgid "You are currently moving/renaming this department."
-msgstr ""
-"Momentan sind Sie dabei, diese Abteilung zu verschieben bzw. neu zu benennen."
+#: setup/class_setupStep_Language.inc:42
+msgid "This step allows you to select your preferred language."
+msgstr "Dieser Schritt erlaubt es Ihnen, Ihre bevorzugte Sprache auszuwählen."
 
-#: plugins/admin/departments/dep_move_confirm.tpl:5
-msgid ""
-"Modifying a departments naming attribute 'ou' or base may corrupt acls and "
-"snapshot entries for all entire objects."
-msgstr ""
-"Verändern des für die Namensbildung zuständigen Attributes 'ou' einer "
-"Abteilung oder der Basis kann vorhandene ACLs und/oder Snapshots für alle "
-"Objekte unbrauchbar machen."
+#: setup/setup_feedback.tpl:2
+msgid "Feedback successfully send"
+msgstr "Feedback erfolgreich gesendet"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:8
-msgid "GOsa can NOT fix this for you, yet."
-msgstr "GOsa kann dies (noch) NICHT für Sie reparieren."
+#: setup/setup_feedback.tpl:6
+msgid "Subscribe to the gosa-announce mailing list"
+msgstr "Abonnieren der GOsa-Announce Mailingliste"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:11
+#: setup/setup_feedback.tpl:8
 msgid ""
-"Before you confirm this action, ensure that everything will be as expected, "
-"possibly the best solution is a backup."
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
 msgstr ""
-"Bevor Sie diese Aktion bestätigen, stellen Sie sicher, dass alles wie "
-"erwartet sein wird, vielleicht ist die beste Lösung, vorher ein Backup zu "
-"erstellen."
-
-#: plugins/admin/acl/class_aclManagement.inc:25
-#: plugins/admin/acl/acl-list.xml:15
-msgid "Acl"
-msgstr "ACL"
+"Wenn Sie diese Option auswählen wird GOsa eine Verbindung zu http://oss."
+"gonicus.de versuchen, um die GOsa-Announce Mailingliste für Sie zu "
+"abonnieren. Sie müssen dem Abonnement danach noch per Mail zustimmen."
 
-#: plugins/admin/acl/class_aclManagement.inc:154
-msgid "ACL Assignment"
-msgstr "ACL-Zuordnung"
+#: setup/setup_feedback.tpl:20
+msgid "Mail address"
+msgstr "Mail-Adresse"
 
-#: plugins/admin/acl/tabs_acl_role.inc:28
-msgid "ACL Templates"
-msgstr "ACL Vorlagen"
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
+msgstr "Sende Feedback an das GOsa Projektteam."
 
-#: plugins/admin/acl/class_aclRole.inc:26
-#: plugins/admin/acl/class_aclRole.inc:726
-msgid "Access control roles"
-msgstr "Rollen für die Zugriffskontrolle"
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
+msgstr ""
+"Bei Auswahl dieser Option wird GOsa versuchen, sich zu http://oss.gonicus.de "
+"zu verbinden, um Ihr Formular anonym abzusenden."
 
-#: plugins/admin/acl/class_aclRole.inc:27
-msgid "Edit AC roles"
-msgstr "ACL-Rollen bearbeiten"
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
+msgstr "Allgemein"
 
-#: plugins/admin/acl/class_aclRole.inc:134
-msgid "Reset ACL"
-msgstr "ACL zurücksetzen"
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
+msgstr "Hat Ihnen die Setup-Prozedur weitergeholfen?"
 
-#: plugins/admin/acl/class_aclRole.inc:418
-msgid "No ACL settings for this category"
-msgstr "Keine ACL-Einstellungen für diese Kategorie"
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
+msgstr "Falls nicht, welche Probleme sind Ihnen aufgefallen"
 
-#: plugins/admin/acl/class_aclRole.inc:420
-#, php-format
-msgid "ACL for these objects: %s"
-msgstr "Enthält ACL für diese Objekte: %s"
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
+msgstr "Ist dies die erstmalige Verwendung von GOsa?"
 
-#: plugins/admin/acl/class_aclRole.inc:426
-msgid "Edit category ACL"
-msgstr "ACL Kategorie bearbeiten"
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
+msgstr "Ich verwende es seit"
 
-#: plugins/admin/acl/class_aclRole.inc:430
-msgid "Reset category ACL"
-msgstr "ACL-Kategorie zurücksetzen"
+#: setup/setup_feedback.tpl:54
+msgid "Select the year since when you are using GOsa"
+msgstr "Wählen Sie das Jahr aus, seit dem Sie GOsa verwenden"
 
-#: plugins/admin/acl/class_aclRole.inc:450
-#, php-format
-msgid "Edit ACL for '%s', scope is '%s'"
-msgstr "ACL für '%s' bearbeiten, Bereich ist '%s'"
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
+msgstr "Welches Betriebssystem / welche Distribution verwenden Sie?"
 
-#: plugins/admin/acl/class_aclRole.inc:646
-msgid "Object in use"
-msgstr "Objekt in Verwendung"
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
+msgstr "Welchen Webserver verwenden Sie?"
 
-#: plugins/admin/acl/class_aclRole.inc:646
-#, php-format
-msgid "This role cannot be removed while it is in use by these objects:"
-msgstr ""
-"Die Rolle kann nicht entfernt werden, solange sie noch von folgenden "
-"Objekten verwendet wird:"
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
+msgstr "Welche PHP-Version verwenden Sie?"
 
-#: plugins/admin/acl/class_aclRole.inc:725 plugins/admin/acl/acl-list.xml:23
-#: plugins/admin/acl/acl-list.xml:82
-#: plugins/personal/generic/class_user.inc:1664
-#: plugins/personal/generic/generic.tpl:508
-msgid "Role"
-msgstr "Rolle"
+#: setup/setup_feedback.tpl:72
+msgid "GOsa version"
+msgstr "GOsa Version"
 
-#: plugins/admin/acl/class_aclRole.inc:736
-msgid "Permissions"
-msgstr "Berechtigungen"
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
+msgstr "LDAP"
 
-#: plugins/admin/acl/acl-list.xml:11
-msgid "List of acls"
-msgstr "Liste der ACLs"
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
+msgstr "Welche(n) LDAP-Server verwenden Sie?"
 
-#: plugins/admin/acl/acl-filter.tpl:11
-msgid "Show access control lists"
-msgstr "Zeige Zugriffskontrolllisten"
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
+msgstr "Wie viele Objekte befinden sich in Ihrem LDAP-Verzeichnis?"
 
-#: plugins/admin/acl/acl-filter.tpl:12
-msgid "Show roles"
-msgstr "Zeige Rollen"
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
+msgid "Features"
+msgstr "Fähigkeiten"
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:25
-msgid "Bug submitter"
-msgstr "Bug-Melder"
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
+msgstr "Welche Funktionen von GOsa verwenden Sie?"
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:26
-msgid ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
+"Welche Funktionen würden Sie gerne in zukünftigen Versionen von GOsa sehen?"
 
-#: plugins/personal/generic/class_user.inc:38
-msgid "Edit organizational user settings"
-msgstr "Organisationsbezogene Benutzereinstellungen bearbeiten"
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
+msgstr "Feedback senden"
+
+#: html/password.php:63 html/index.php:157
+#, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
+msgstr "Die GOsa-Konfigurationsdatei %s/%s ist nicht lesbar. Abgebrochen."
 
-#: plugins/personal/generic/class_user.inc:297
-msgid "Please add a single IP address or a network/netmask combination!"
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, php-format
+msgid "Compile directory %s is not accessible!"
 msgstr ""
-"Bitte eine einzelne IP-Adresse oder eine Netzwerk/Netzmasken Kombination "
-"hinzufügen!"
+"Auf das als Compile-Verzeichnis angegegebene Verzeichnis '%s' kann nicht "
+"zugegriffen werden!"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "female"
-msgstr "weiblich"
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
+msgid "Password method"
+msgstr "Passwort-Methode"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "male"
-msgstr "männlich"
+#: html/password.php:195
+msgid "Error: Password method not available!"
+msgstr "Fehler: Passwort-Methode ist nicht verfügbar!"
 
-#: plugins/personal/generic/class_user.inc:408
-msgid "Cannot upload file!"
-msgstr "Kann Datei nicht hochladen!"
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
+msgstr "Kennung"
 
-#: plugins/personal/generic/class_user.inc:503
-msgid "Serial number"
-msgstr "Seriennummer"
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
+msgstr "Sie müssen das aktuelle Passwort eingeben, um fortfahren zu können."
 
-#: plugins/personal/generic/class_user.inc:548
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
 msgid ""
-"(Some types of certificates are currently not supported and may be displayed "
-"as 'invalid'.)"
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
 msgstr ""
-"(Manche Zertifikate werden momentan nicht unterstützt und werden daher als "
-"'ungültig' angezeigt)."
-
-#: plugins/personal/generic/class_user.inc:558
-#, php-format
-msgid "Certificate is valid from %s to %s and is currently %s."
-msgstr "Zertifkat ist gültig im Zeitraum von %s bis %s (momentan: %s)."
+"Die Passwörter, die Sie als 'Neues Passwort' und 'Neues Passwort "
+"(Wiederholung)' eingegeben haben sind nicht identisch."
 
-#: plugins/personal/generic/class_user.inc:561
-msgid "valid"
-msgstr "gültig"
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
+msgstr ""
+"Das Passwort, welches Sie als 'Neues Passwort' eingegeben haben ist leer."
 
-#: plugins/personal/generic/class_user.inc:562
-msgid "invalid"
-msgstr "ungültig"
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
+msgstr "Das alte und neue Passwort sind sich zu ähnlich."
 
-#: plugins/personal/generic/class_user.inc:567
-msgid "No certificate installed"
-msgstr "Kein Zertifikat eingerichtet"
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
+msgstr ""
+"Das Passwort, welches Sie als 'Neues Passwort' eingegeben haben, ist zu kurz."
 
-#: plugins/personal/generic/class_user.inc:593
-msgid "The selected password method is no longer available."
-msgstr "Die gewählte Passwort-Methode ist nicht mehr verfügbar."
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
+msgid "The password contains possibly problematic Unicode characters!"
+msgstr "Das Passwort enthält eventuell problematische Unicode-Zeichen!"
 
-#: plugins/personal/generic/class_user.inc:1190
-msgid "Cannot build RDN: no + allowed to build sub RDN!"
-msgstr "Die RDN kann nicht erstellt werden: + ist in sub RDNs nicht erlaubt!"
+#: html/password.php:261 html/index.php:311
+msgid "Please check the username/password combination!"
+msgstr "Bitte überprüfen Sie die Kombination von Benutzernamen und Passwort!"
 
-#: plugins/personal/generic/class_user.inc:1197
-msgid "Cannot build RDN: attribute is not defined!"
-msgstr "Kann RDN nicht erstellen: Attribut ist nicht definiert!"
+#: html/password.php:268
+msgid "You have no permissions to change your password!"
+msgstr "Sie haben keine Berechtigung ihr Passwort zu ändern!"
 
-#: plugins/personal/generic/class_user.inc:1215
-msgid "Cannot build RDN: invalid attribute parameters!"
-msgstr "Kann RDN nicht erstellen: ungültige Attribut-Parameter!"
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
+#, php-format
+msgid "Check-hook reported a problem: %s. Password change canceled!"
+msgstr ""
+"Der Check-Hook meldet ein Problem: %s. Die Passwortänderung wurde "
+"abgebrochen!"
 
-#: plugins/personal/generic/class_user.inc:1286
-msgid "The selected password method requires initial configuration!"
-msgstr "Die gewählte Passwort-Methode benötigt eine initiale Konfiguration!"
+#: html/password.php:315
+msgid "Session will not be encrypted."
+msgstr "Die Sitzung ist nicht verschlüsselt."
 
-#: plugins/personal/generic/class_user.inc:1351
-#: plugins/personal/generic/class_user.inc:1713
-#: plugins/personal/generic/class_user.inc:1816
-#: plugins/personal/generic/generic.tpl:199
-msgid "Homepage"
-msgstr "Homepage"
+#: html/password.php:317
+msgid "Enter SSL session"
+msgstr "SSL Sitzung"
 
-#: plugins/personal/generic/class_user.inc:1362
-#: plugins/personal/generic/class_user.inc:1825
-#: plugins/personal/generic/generic.tpl:407
-msgid "Mobile"
-msgstr "Mobiltelefon"
+#: html/index.php:45
+#, php-format
+msgid "Your browser (%s) is blacklisted for the current theme!"
+msgstr "Ihr Browser (%s) ist für das momentane Theme nicht geeignet!"
 
-#: plugins/personal/generic/class_user.inc:1365
-#: plugins/personal/generic/class_user.inc:1828
-#: plugins/personal/generic/generic.tpl:415
-msgid "Pager"
-msgstr "Pager"
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
+msgstr ""
+"Diese Sitzung ist nicht verschlüsselt. Klicken Sie %s um eine verschlüsselte "
+"Sitzung zu verwenden."
 
-#: plugins/personal/generic/class_user.inc:1370
-#: plugins/personal/generic/class_user.inc:1685
-#: plugins/personal/generic/generic.tpl:119
-msgid "Date of birth"
-msgstr "Geburtsdatum"
+#: html/index.php:72
+msgid "here"
+msgstr "hier"
 
-#: plugins/personal/generic/class_user.inc:1485
-msgid "Cannot open certificate!"
-msgstr "Kann Zertifikat nicht öffnen!"
+#: html/index.php:78
+msgid "The configured session lifetime will be overridden by php.ini settings!"
+msgstr ""
+"Die Konfiguration der Gültigkeitsdauer einer Sitzung in Ihrer gosa.conf wird "
+"von der Einstellung in der php.ini überschrieben!"
 
-#: plugins/personal/generic/class_user.inc:1653
-#: plugins/personal/generic/generic.tpl:531
-msgid "Unit"
-msgstr "Referat"
+#: html/index.php:179
+msgid "Smarty error"
+msgstr "Smarty-Fehler"
 
-#: plugins/personal/generic/class_user.inc:1654
-#: plugins/personal/generic/generic.tpl:556
-msgid "House identifier"
-msgstr "Hausbezeichnung"
+#: html/index.php:202
+msgid ""
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
+msgstr ""
+"Ihr Browser hat Cookies deaktiviert: bitte aktivieren Sie zunächst Cookies "
+"und laden anschliessend diese Seite neu, bevor Sie sich anmelden!"
 
-#: plugins/personal/generic/class_user.inc:1655
-#: plugins/personal/generic/generic.tpl:473
-msgid "Vocation"
-msgstr "Anrede"
+#: html/index.php:233
+msgid "Broken HTTP authentication setup!"
+msgstr "Problem mit der HTTP Authentisierungseinrichtung!"
 
-#: plugins/personal/generic/class_user.inc:1656
-#: plugins/personal/generic/generic.tpl:600
-msgid "Last delivery"
-msgstr "letzte Übermittlung"
+#: html/index.php:241
+msgid "Cannot find a valid user for the current HTTP authentication!"
+msgstr ""
+"Es konnte kein gültiger Benutzer für die aktuell eingerichtete HTTP "
+"Authentisierung gefunden werden!"
 
-#: plugins/personal/generic/class_user.inc:1657
-#: plugins/personal/generic/generic.tpl:522
-msgid "Person locality"
-msgstr "Dienstort"
+#: html/index.php:245
+msgid "Cannot find a unique user for the current HTTP authentication!"
+msgstr ""
+"Es konnte kein gültiger Benutzer für die aktuell eingerichtete HTTP "
+"Authentisierung gefunden werden!"
 
-#: plugins/personal/generic/class_user.inc:1658
-#: plugins/personal/generic/generic.tpl:481
-msgid "Unit description"
-msgstr "Aufgabengebiet"
+#: html/index.php:289
+msgid "Please specify a valid user name!"
+msgstr "Bitte geben Sie einen gültigen Benutzernamen ein!"
 
-#: plugins/personal/generic/class_user.inc:1659
-#: plugins/personal/generic/generic.tpl:490
-msgid "Subject area"
-msgstr "Sachgebiet"
+#: html/index.php:292
+msgid "Please specify your password!"
+msgstr "Bitte geben Sie Ihr Passwort ein!"
 
-#: plugins/personal/generic/class_user.inc:1660
-#: plugins/personal/generic/generic.tpl:499
-msgid "Functional title"
-msgstr "Amts-/Dienstbezeichnung"
+#: html/index.php:304
+msgid "Authentication error"
+msgstr "Authentifizierungsfehler"
 
-#: plugins/personal/generic/class_user.inc:1661
-#: plugins/personal/generic/generic_certs.tpl:78
-msgid "Certificate serial number"
-msgstr "Zertifikat-Seriennummer"
+#: html/index.php:304
+msgid "Cannot retrieve user information for HTTP authentication!"
+msgstr "Konnte keine Benutzerinformation für HTTP Authentisierung ermitteln!"
 
-#: plugins/personal/generic/class_user.inc:1662
-#: plugins/personal/generic/generic.tpl:609
-msgid "Public visible"
-msgstr "Öffentlich sichtbar"
+#: html/index.php:360
+msgid "Account locked. Please contact your system administrator!"
+msgstr "Das Konto ist gesperrt. Bitte benachrichtigen Sie den Administrator!"
 
-#: plugins/personal/generic/class_user.inc:1663
-#: plugins/personal/generic/generic.tpl:540
-msgid "Street"
-msgstr "Straße"
+#: html/main.php:171
+#, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
+msgstr ""
+"Konnte Datei %s nicht finden - bitte führen Sie %s aus um das Problem zu "
+"beheben"
 
-#: plugins/personal/generic/class_user.inc:1665
-#: plugins/personal/generic/generic.tpl:548
-msgid "Postal code"
-msgstr "Postleitzahl"
+#: html/main.php:190
+msgid "PHP configuration"
+msgstr "PHP-Konfiguration"
 
-#: plugins/personal/generic/class_user.inc:1669
-msgid "Generic user settings"
-msgstr "Allgemeine Benutzereinstellungen"
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
+msgstr ""
+"Schwerer Fehler: register globals ist aktiv. Bitte beheben Sie dies um "
+"fortzufahren."
 
-#: plugins/personal/generic/class_user.inc:1673
-#: plugins/personal/posix/class_posixAccount.inc:1455
-#: plugins/personal/password/class_password.inc:205
-msgid "My account"
-msgstr "Mein Konto"
+#: html/main.php:220
+msgid "Your password is about to expire, please change your password!"
+msgstr "Ihr Passwort ist fast abgelaufen, bitte setzen Sie ein neues!"
 
-#: plugins/personal/generic/class_user.inc:1681
-msgid "User identification"
-msgstr "Benutzerkennung"
+#: html/main.php:295
+msgid "Running out of memory!"
+msgstr "Der verfügbare Arbeitsspeicher wird knapp!"
 
-#: plugins/personal/generic/class_user.inc:1682
-#: plugins/personal/generic/generic.tpl:98
-msgid "Personal title"
-msgstr "Titel"
+#: html/main.php:355
+#, php-format
+msgid "You're logged in as %s"
+msgstr "Sie sind als %s angemeldet"
 
-#: plugins/personal/generic/class_user.inc:1683
-#: plugins/personal/generic/generic.tpl:108
-msgid "Academic title"
-msgstr "Akademischer Titel"
+#: html/main.php:358
+msgid "ACLs are disabled"
+msgstr "ACLs sind deaktiviert"
 
-#: plugins/personal/generic/class_user.inc:1686
-#: plugins/personal/generic/generic.tpl:138
-msgid "Sex"
-msgstr "Geschlecht"
+#: html/main.php:408
+msgid "Plug-in"
+msgstr "Erweiterung"
 
-#: plugins/personal/generic/class_user.inc:1687
-msgid "Preferred language"
-msgstr "Bevorzugte Sprache"
+#: html/main.php:409
+#, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
+msgstr ""
+"Schwerer Fehler: Es kann keine Erweiterung für die Definition von '%s' "
+"gefunden werden!"
 
-#: plugins/personal/generic/class_user.inc:1690
-#: plugins/personal/generic/paste_generic.tpl:47
-msgid "User picture"
-msgstr "Benutzerbild"
+#: html/main.php:425
+msgid "Configuration Error"
+msgstr "Konfigurationsfehler"
 
-#: plugins/personal/generic/class_user.inc:1692
-msgid "Login restrictions"
-msgstr "Anmeldungs-Einschränkungen"
+#: html/main.php:426
+#, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
+msgstr ""
+"Schwerer Fehler: es wurden nicht alle POST-Variablen von PHP übertragen - "
+"bitte informieren Sie den Administrator!"
 
-#: plugins/personal/generic/class_user.inc:1696
-msgid "Department number"
-msgstr "Abteilungsnummer"
+#: html/setup.php:73
+msgid "Smarty"
+msgstr "Smarty"
 
-#: plugins/personal/generic/class_user.inc:1698
-msgid "Employee number"
-msgstr "Personalnummer"
+#: html/helpviewer.php:64
+msgid "Help browser"
+msgstr "Hilfe-Browser"
 
-#: plugins/personal/generic/class_user.inc:1699
-#: plugins/personal/generic/generic.tpl:331
-msgid "Employee type"
-msgstr "Anstellungsart"
+#: html/helpviewer.php:118
+msgid "There is no help file specified for this class"
+msgstr "Für diese Klasse wurde keine Hilfedatei angegeben"
 
-#: plugins/personal/generic/class_user.inc:1701
-msgid "Room number"
-msgstr "Raumnummer"
+#: html/helpviewer.php:268
+#, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
+msgstr ""
+"Auf das Hilfeverzeichnis '%s' kann nicht zugegriffen werden - kann daher "
+"keine Hilfedateien lesen."
 
-#: plugins/personal/generic/class_user.inc:1702
-msgid "Telefon number"
-msgstr "Telefonnummer"
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
+msgstr ""
+"Um das Passwort zu ändern, benutzen Sie das untere Feld. Die Änderung wird "
+"sofort wirksam. Bitte merken Sie sich das neue Passwort, da Sie sich ohne "
+"dieses nicht mehr anmelden können."
 
-#: plugins/personal/generic/class_user.inc:1703
-msgid "Pager number"
-msgstr "Pagernummer"
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
+msgid "Password change dialog"
+msgstr "Passwort-Änderungsdialog"
 
-#: plugins/personal/generic/class_user.inc:1704
-msgid "Mobile number"
-msgstr "Mobiltelefon"
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
+msgid "Use proposal"
+msgstr "Vorschlag verwenden"
 
-#: plugins/personal/generic/class_user.inc:1705
-msgid "Fax number"
-msgstr "Faxnummer"
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
+msgid "Manually specify a password"
+msgstr "Passwort manuell setzen"
 
-#: plugins/personal/generic/class_user.inc:1711
-msgid "Home postal address"
-msgstr "Private Adresse"
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
+msgstr "Felder löschen"
 
-#: plugins/personal/generic/class_user.inc:1712
-msgid "Home phone number"
-msgstr "Telefonnummer (privat)"
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
+msgstr "Mein Konto"
 
-#: plugins/personal/generic/class_user.inc:1714
-msgid "User password method"
-msgstr "Benutzer Passwort-Methode"
+#: plugins/personal/myaccount/class_MyAccount.inc:6
+msgid "Edit personal settings"
+msgstr "Persönliche Filtereinstellungen bearbeiten"
 
-#: plugins/personal/generic/class_user.inc:1715
-msgid "User certificates"
-msgstr "Benutzer-Zertifikate"
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
+msgid "You have no permission to change your password at this time"
+msgstr "Sie haben keine Berechtigung Ihr Passwort zu ändern"
 
-#: plugins/personal/generic/class_user.inc:1923
-msgid "Entries differ"
-msgstr "Einträge unterscheiden sich"
+#: plugins/personal/myaccount/nochange.tpl:5
+msgid "Your password hash method will not be changed!"
+msgstr "Ihre Passwort-Hash-Methode wird nicht verändert!"
 
-#: plugins/personal/generic/changed.tpl:3
+#: plugins/personal/myaccount/changed.tpl:3
 #: plugins/personal/password/changed.tpl:3
 msgid ""
-"You've successfully changed your password. Remember to change all programms "
+"You've successfully changed your password. Remember to change all programs "
 "configured to use it as well."
 msgstr ""
 "Sie haben erfolgreich Ihr Passwort geändert. Bitte denken Sie daran alle "
 "Programme anzupassen, die dieses Passwort auch benutzen."
 
-#: plugins/personal/generic/generic.tpl:6
-msgid "Personal information"
-msgstr "Persönliche Informationen"
-
-#: plugins/personal/generic/generic.tpl:20
-#: plugins/personal/generic/generic.tpl:22
-#: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/paste_generic.tpl:37
-#: plugins/personal/generic/generic_picture.tpl:5
-#: plugins/personal/generic/generic_picture.tpl:15
-msgid "Personal picture"
-msgstr "Bild"
-
-#: plugins/personal/generic/generic.tpl:29
-#: plugins/personal/generic/generic.tpl:40
-msgid "Change picture"
-msgstr "Bild ändern"
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
+msgid "POSIX settings"
+msgstr "POSIX-Einstellungen"
 
-#: plugins/personal/generic/generic.tpl:62
-msgid "Template name"
-msgstr "Name der Vorlage"
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
+msgstr "Basisverzeichnis"
 
-#: plugins/personal/generic/generic.tpl:151
-msgid "Preferred langage"
-msgstr "Bevorzugte Sprache"
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
+msgid "Account settings"
+msgstr "Konten-Einstellungen"
+
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
+msgstr "Primäre Gruppe"
 
-#: plugins/personal/generic/generic.tpl:191
-msgid "Private phone"
-msgstr "Privat-Telefon"
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
+msgstr "Erzwinge UID/GID"
 
-#: plugins/personal/generic/generic.tpl:212
-msgid "Password storage"
-msgstr "Passwort-Speicherung"
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
+msgstr "GID"
 
-#: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/generic_certs.tpl:3
-msgid "Certificates"
-msgstr "Zertifikate"
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
+msgstr "Gruppenmitgliedschaft"
 
-#: plugins/personal/generic/generic.tpl:232
-msgid "Edit certificates"
-msgstr "Zertifikate bearbeiten"
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
+msgstr "(Warnung: mehr als 16 Gruppen werden von NFS nicht unterstützt!)"
 
-#: plugins/personal/generic/generic.tpl:244
-msgid "Restrict login to"
-msgstr "Anmeldung beschränken"
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
+msgid "Default filter"
+msgstr "Standard-Filter"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
+msgid "Please select the desired entries"
+msgstr "Bitte wählen Sie die gewünschten Einträge"
 
-#: plugins/personal/generic/generic.tpl:250
-#: plugins/personal/generic/generic.tpl:266
-msgid "IP or network"
-msgstr "IP oder Netzwerk"
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
+msgstr "Server"
 
-#: plugins/personal/generic/generic.tpl:287
-msgid "Organizational information"
-msgstr "Angabe zur Organisationseinheit"
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
+msgstr "Arbeitsstation"
 
-#: plugins/personal/generic/generic.tpl:315
-msgid "Department No."
-msgstr "Abteilungs-Nr."
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+msgid "Terminal"
+msgstr "Terminal"
 
-#: plugins/personal/generic/generic.tpl:323
-msgid "Employee No."
-msgstr "Angestellten-Nr."
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
+msgid "Trust machine selection"
+msgstr "Auswahl von vertrauenswürdigen Systemen"
 
-#: plugins/personal/generic/generic.tpl:389
-#: plugins/personal/generic/generic.tpl:571
-msgid "Room No."
-msgstr "Zimmer-Nr."
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+msgid "Group selection"
+msgstr "Gruppen-Auswahl"
 
-#: plugins/personal/generic/generic.tpl:585
-msgid "Please use the phone tab"
-msgstr "Verwenden sie den Telefon-Reiter"
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
+msgstr "Gruppe"
 
-#: plugins/personal/generic/paste_generic.tpl:1
-msgid "User settings"
-msgstr "Benutzer-Einstellungen"
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
+msgstr "Der Benutzer muss beim ersten Anmelden sein Passwort ändern"
 
-#: plugins/personal/generic/paste_generic.tpl:23
-msgid "Clear password"
-msgstr "Passwort löschen"
+#: plugins/personal/posix/posix_shadow.tpl:59
+msgid "Password expiration settings"
+msgstr "Passwort-Ablauf Einstellungen"
 
-#: plugins/personal/generic/paste_generic.tpl:24
-msgid "Set new password"
-msgstr "Neues Passwort setzen"
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
+msgstr "Passwort läuft ab am"
 
-#: plugins/personal/generic/paste_generic.tpl:52
-#: plugins/personal/generic/generic_picture.tpl:27
-msgid "Remove picture"
-msgstr "Bild entfernen"
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
+msgid "Generic settings"
+msgstr "Allgemeine Benutzereinstellungen"
 
-#: plugins/personal/generic/main.inc:168
-msgid "Generic user information"
-msgstr "Generische Benutzer-Information"
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+msgid "Shell"
+msgstr "Shell"
 
-#: plugins/personal/generic/password.tpl:4
-#: plugins/personal/password/password.tpl:4
-msgid ""
-"To change your personal password use the fields below. The changes take "
-"effect immediately. Please memorize the new password, because you wouldn't "
-"be able to login without it."
-msgstr ""
-"Um das Passwort zu ändern, benutzen Sie das untere Feld. Die Änderung wird "
-"sofort wirksam. Bitte merken Sie sich das neue Passwort, da Sie sich ohne "
-"dieses nicht mehr anmelden können."
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
+msgstr "Status"
 
-#: plugins/personal/generic/password.tpl:42
-#: plugins/personal/password/password.tpl:47
-msgid "Password change dialog"
-msgstr "Passwort-Änderungsdialog"
+#: plugins/personal/posix/generic.tpl:42
+msgid "Last log-on"
+msgstr "Letztes Login"
 
-#: plugins/personal/generic/password.tpl:90
-#: plugins/personal/password/password.tpl:95
-msgid "Clear fields"
-msgstr "Felder löschen"
+#: plugins/personal/posix/generic.tpl:101
+msgid "Common group"
+msgstr "Gemeinsame Gruppe"
 
-#: plugins/personal/generic/generic_certs.tpl:8
-msgid "Standard certificate"
-msgstr "Standard-Zertifikat"
+#: plugins/personal/posix/generic.tpl:105
+msgid "Groups differ"
+msgstr "Gruppen sind unterschiedlich"
 
-#: plugins/personal/generic/generic_certs.tpl:33
-msgid "S/MIME certificate"
-msgstr "S/MIME-Zertifikat"
+#: plugins/personal/posix/generic.tpl:125
+msgid "Account permissions"
+msgstr "Konto-Berechtigungen"
 
-#: plugins/personal/generic/generic_certs.tpl:57
-msgid "PKCS12 certificate"
-msgstr "PKCS12-Zertifikat"
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
+msgstr "SSH-Schlüssel"
 
-#: plugins/personal/generic/nochange.tpl:2
-#: plugins/personal/password/nochange.tpl:2
-msgid "You have no permission to change your password at this time"
-msgstr "Sie haben keine Berechtigung Ihr Passwort zu ändern"
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
+msgstr "Öffentliche Schlüssel bearbeiten..."
 
-#: plugins/personal/generic/nochange.tpl:5
-msgid "Your password hash method will not be changed!"
-msgstr "Ihr Passwort-Hash wird nicht geändert!"
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
+msgstr "POSIX"
 
 #: plugins/personal/posix/class_posixAccount.inc:38
 msgid "Edit users POSIX settings"
 msgstr "Benutzer POSIX-Einstellungen bearbeiten"
 
-#: plugins/personal/posix/class_posixAccount.inc:168
+#: plugins/personal/posix/class_posixAccount.inc:146
 msgid "expired"
 msgstr "abgelaufen"
 
-#: plugins/personal/posix/class_posixAccount.inc:170
+#: plugins/personal/posix/class_posixAccount.inc:148
 msgid "grace time active"
 msgstr "Nachfrist aktiv"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-#: plugins/personal/posix/class_posixAccount.inc:175
-#: plugins/personal/posix/class_posixAccount.inc:177
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
 msgid "active"
 msgstr "aktiv"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
+#: plugins/personal/posix/class_posixAccount.inc:151
 msgid "password not changeable"
 msgstr "Passwort kann nicht geändert werden"
 
-#: plugins/personal/posix/class_posixAccount.inc:175
+#: plugins/personal/posix/class_posixAccount.inc:153
 msgid "password expired"
 msgstr "Passwort abgelaufen"
 
-#: plugins/personal/posix/class_posixAccount.inc:248
+#: plugins/personal/posix/class_posixAccount.inc:226
 msgid "automatic"
 msgstr "automatisch"
 
-#: plugins/personal/posix/class_posixAccount.inc:444
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr "Samba"
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr "Umgebung"
+
+#: plugins/personal/posix/class_posixAccount.inc:374
 #, php-format
 msgid "Password can't be changed up to %s days after last change"
 msgstr ""
 "Passwort kann bis zu %s Tage nach der letzten Änderung nicht geändert werden"
 
-#: plugins/personal/posix/class_posixAccount.inc:448
+#: plugins/personal/posix/class_posixAccount.inc:378
 #, php-format
 msgid "Password must be changed after %s days"
 msgstr "Der Benutzer muß sein Passwort nach %s Tagen ändern"
 
-#: plugins/personal/posix/class_posixAccount.inc:452
+#: plugins/personal/posix/class_posixAccount.inc:382
 #, php-format
 msgid "Disable account after %s days of inactivity after password expiry"
 msgstr "Konto nach %s Tagen nach Ablauf ohne Aktivität deaktivieren"
 
-#: plugins/personal/posix/class_posixAccount.inc:456
+#: plugins/personal/posix/class_posixAccount.inc:386
 #, php-format
 msgid "Warn user %s days before password expiry"
 msgstr "Benutzer %s Tage vor dem Ablauf des Passwortes warnen"
 
-#: plugins/personal/posix/class_posixAccount.inc:793
+#: plugins/personal/posix/class_posixAccount.inc:651
 msgid "Timeout while waiting for lock. Ignoring lock!"
 msgstr "Wartezeit für Sperre abgelaufen. Ignoriere Sperre!"
 
-#: plugins/personal/posix/class_posixAccount.inc:851
-#: plugins/personal/posix/class_posixAccount.inc:1169
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
 msgid "Group of user"
 msgstr "Gruppe des Benutzers"
 
-#: plugins/personal/posix/class_posixAccount.inc:946
+#: plugins/personal/posix/class_posixAccount.inc:774
 msgid ""
 "A duplicated UID number was written for this user. If this was not intended "
 "please verify all used uidNumbers!"
@@ -4757,1953 +4858,2087 @@ msgstr ""
 "Wenn dies unbeabsichtigt geschah, prüfen Sie bitte alle verwendeten UID-"
 "Nummern."
 
-#: plugins/personal/posix/class_posixAccount.inc:1027
-#: plugins/personal/posix/class_posixAccount.inc:1030
-#: plugins/personal/posix/class_posixAccount.inc:1105
-#: plugins/personal/posix/class_posixAccount.inc:1108
-#: plugins/personal/posix/class_posixAccount.inc:1461
-#: plugins/personal/posix/generic.tpl:7
-#: plugins/personal/posix/paste_generic.tpl:8
-msgid "Home directory"
-msgstr "Basisverzeichnis"
-
-#: plugins/personal/posix/class_posixAccount.inc:1038
-#: plugins/personal/posix/class_posixAccount.inc:1041
-#: plugins/personal/posix/generic.tpl:63
-#: plugins/personal/posix/paste_generic.tpl:36
-msgid "UID"
-msgstr "UID"
-
-#: plugins/personal/posix/class_posixAccount.inc:1061
-#: plugins/personal/posix/class_posixAccount.inc:1114
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
 msgid "shadowMin"
 msgstr "shadowMin"
 
-#: plugins/personal/posix/class_posixAccount.inc:1066
-#: plugins/personal/posix/class_posixAccount.inc:1119
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
 msgid "shadowMax"
 msgstr "shadowMax"
 
-#: plugins/personal/posix/class_posixAccount.inc:1071
-#: plugins/personal/posix/class_posixAccount.inc:1124
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
 msgid "shadowWarning"
 msgstr "shadowWarning"
 
-#: plugins/personal/posix/class_posixAccount.inc:1085
-#: plugins/personal/posix/class_posixAccount.inc:1138
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
 msgid "shadowInactive"
 msgstr "shadowInactive"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1293
 msgid "POSIX account"
 msgstr "POSIX-Konto"
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
-#: plugins/personal/posix/generic.tpl:15
-msgid "Shell"
-msgstr "Shell"
-
-#: plugins/personal/posix/class_posixAccount.inc:1463
-#: setup/setup_migrate.tpl:291
-msgid "User ID"
-msgstr "Benutzer-ID"
-
-#: plugins/personal/posix/class_posixAccount.inc:1464
+#: plugins/personal/posix/class_posixAccount.inc:1311
 msgid "Group ID"
 msgstr "Gruppen-ID"
 
-#: plugins/personal/posix/class_posixAccount.inc:1466
+#: plugins/personal/posix/class_posixAccount.inc:1313
+msgid "Shadow last changed"
+msgstr "Shadow last changed"
+
+#: plugins/personal/posix/class_posixAccount.inc:1314
+msgid "Last login"
+msgstr "Letztes Login"
+
+#: plugins/personal/posix/class_posixAccount.inc:1316
 msgid "Force password change on login"
 msgstr "Erzwinge Änderung des Passwort bei Anmeldung"
 
-#: plugins/personal/posix/class_posixAccount.inc:1467
+#: plugins/personal/posix/class_posixAccount.inc:1317
 msgid "Shadow min"
 msgstr "Shadow min"
 
-#: plugins/personal/posix/class_posixAccount.inc:1468
+#: plugins/personal/posix/class_posixAccount.inc:1318
 msgid "Shadow max"
 msgstr "Shadow max"
 
-#: plugins/personal/posix/class_posixAccount.inc:1469
+#: plugins/personal/posix/class_posixAccount.inc:1319
 msgid "Shadow warning"
 msgstr "Shadow warning"
 
-#: plugins/personal/posix/class_posixAccount.inc:1470
+#: plugins/personal/posix/class_posixAccount.inc:1320
 msgid "Shadow inactive"
 msgstr "Shadow inactive"
 
-#: plugins/personal/posix/class_posixAccount.inc:1471
+#: plugins/personal/posix/class_posixAccount.inc:1321
 msgid "Shadow expire"
 msgstr "Shadow expire"
 
-#: plugins/personal/posix/class_posixAccount.inc:1472
+#: plugins/personal/posix/class_posixAccount.inc:1322
 msgid "Public SSH key"
 msgstr "Öffentlicher SSH-Schlüssel"
 
-#: plugins/personal/posix/class_posixAccount.inc:1473
+#: plugins/personal/posix/class_posixAccount.inc:1323
 msgid "System trust model"
 msgstr "Modell des System-Vertrauens"
 
-#: plugins/personal/posix/generic.tpl:25
-#: plugins/personal/posix/paste_generic.tpl:17
-msgid "Primary group"
-msgstr "Primäre Gruppe"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr "deaktiviert"
 
-#: plugins/personal/posix/generic.tpl:36
-msgid "Status"
-msgstr "Status"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr "Vollzugriff"
 
-#: plugins/personal/posix/generic.tpl:41
-msgid "Last logon"
-msgstr "Letztes Login"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr "erlaube Zugriff auf diese Hosts"
 
-#: plugins/personal/posix/generic.tpl:59
-#: plugins/personal/posix/paste_generic.tpl:31
-msgid "Force UID/GID"
-msgstr "Erzwinge UID/GID"
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr "System-Vertrauen"
 
-#: plugins/personal/posix/generic.tpl:89
-#: plugins/personal/posix/paste_generic.tpl:55
-msgid "Group membership"
-msgstr "Gruppenmitgliedschaft"
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
+msgid "Trust mode"
+msgstr "Vertrauens-Modus"
 
-#: plugins/personal/posix/generic.tpl:91
-#: plugins/personal/posix/paste_generic.tpl:62
-msgid "(Warning: more than 16 groups are not supported by NFS!)"
-msgstr "(Warnung: mehr als 16 Gruppen werden von NFS nicht unterstützt!)"
+#: plugins/personal/password/password.tpl:10
+msgid "Your Password has expired. Please choose a new password."
+msgstr "Das Nutzer-Passwort ist abgelaufen, bitte setzen Sie ein Neues!"
 
-#: plugins/personal/posix/generic.tpl:100
-msgid "Common group"
-msgstr "Gemeinsame Gruppe"
+#: plugins/personal/password/class_password.inc:27
+msgid "Change user password"
+msgstr "Benutzer-Passwort ändern"
 
-#: plugins/personal/posix/generic.tpl:104
-msgid "Groups differ"
-msgstr "Gruppen sind unterschiedlich"
+#: plugins/personal/password/class_password.inc:156
+msgid ""
+"The password you've entered as your current password doesn't match the real "
+"one."
+msgstr ""
+"Das Passwort, welches Sie als aktuelles Passwort eingegeben haben, ist nicht "
+"korrekt."
 
-#: plugins/personal/posix/generic.tpl:127
-msgid "SSH keys"
-msgstr "SSH-Schlüssel"
+#: plugins/personal/password/class_password.inc:159
+msgid "You have no permission to change your password."
+msgstr "Sie haben keine Berechtigung Ihr Passwort zu ändern."
 
-#: plugins/personal/posix/generic.tpl:128
-msgid "Edit public ssh keys..."
-msgstr "Öffentliche Schlüssel bearbeiten..."
+#: plugins/personal/password/class_password.inc:223
+msgid "User password"
+msgstr "Benutzerpasswort"
+
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
+msgstr "Skript welches vor einer Passwortsperrung ausgeführt wird."
+
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
+msgstr "Skript welches nach einer Passwortsperrung ausgeführt wird."
+
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
+msgstr "Skript welches vor einer Passwortfreigabe ausgeführt wird."
+
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
+msgstr "Skript welches nach einer Passwortfreigabe ausgeführt wird."
+
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr "Zertifikate"
+
+#: plugins/personal/generic/generic_certs.tpl:5
+msgid "The users standard certificate"
+msgstr "Das Standard-Zertifikat des Benutzers"
+
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr "Standard-Zertifikat"
+
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr "Entfernen"
 
-#: plugins/personal/posix/generic.tpl:132
-msgid "Account"
-msgstr "Konto"
+#: plugins/personal/generic/generic_certs.tpl:31
+msgid "The users S/MIME certificate"
+msgstr "Das S/MIME-Zertifikat des Benutzers"
 
-#: plugins/personal/posix/posix_groups.tpl:6
-msgid "Select groups to add"
-msgstr "Wählen Sie die hinzuzufügenden Gruppen"
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr "S/MIME-Zertifikat"
 
-#: plugins/personal/posix/posix_groups.tpl:32
-msgid "Display groups of department"
-msgstr "Zeige Gruppen der Abteilung"
+#: plugins/personal/generic/generic_certs.tpl:57
+msgid "The users PKCS12 certificate"
+msgstr "Das PKCS12-Zertifikat des Benutzers"
 
-#: plugins/personal/posix/posix_groups.tpl:44
-msgid "Display groups matching"
-msgstr "Zeige Gruppen, auf die zutrifft"
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr "PKCS12-Zertifikat"
 
-#: plugins/personal/posix/posix_groups.tpl:48
-msgid "Regular expression for matching group names"
-msgstr "Regulärer Ausdruck zum Erkennen von Gruppennamen"
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr "Zertifikat-Seriennummer"
 
-#: plugins/personal/posix/posix_groups.tpl:55
-msgid "Display groups of user"
-msgstr "Zeige Gruppen des Benutzers"
+#: plugins/personal/generic/paste_generic.tpl:3
+msgid "Paste user"
+msgstr "Benutzer einfügen"
 
-#: plugins/personal/posix/posix_groups.tpl:59
-msgid "User name of which groups are shown"
-msgstr "Benutzername, dessen Gruppen angezeigt werden"
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr "Persönliche Informationen"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:11
-msgid "Show servers"
-msgstr "Zeige Server"
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
+msgid "Last name"
+msgstr "Nachname"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:12
-msgid "Show workstations"
-msgstr "Zeige Arbeitsstationen"
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
+msgid "First name"
+msgstr "Vorname"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:13
-msgid "Show terminals"
-msgstr "Zeige Terminals"
+#: plugins/personal/generic/paste_generic.tpl:24
+msgid "Clear password"
+msgstr "Passwort löschen"
 
-#: plugins/personal/posix/paste_generic.tpl:4
-msgid "Posix settings"
-msgstr "UNIX-Einstellungen"
+#: plugins/personal/generic/paste_generic.tpl:25
+msgid "Set new password"
+msgstr "Neues Passwort setzen"
 
-#: plugins/personal/posix/main.inc:142
-msgid "POSIX settings"
-msgstr "POSIX-Einstellungen"
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
+msgid "The users picture"
+msgstr "Benutzerbild"
 
-#: plugins/personal/posix/posix_shadow.tpl:9
-msgid "User must change password on first login"
-msgstr "Der Benutzer muss beim ersten Anmelden sein Passwort ändern"
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
+msgstr "Bild entfernen"
 
-#: plugins/personal/posix/posix_shadow.tpl:34
-msgid "Password expires on"
-msgstr "Passwort läuft ab am"
+#: plugins/personal/generic/class_user.inc:38
+msgid "Edit organizational user settings"
+msgstr "Organisationsbezogene Benutzereinstellungen bearbeiten"
+
+#: plugins/personal/generic/class_user.inc:297
+msgid "Please add a single IP address or a network/net mask combination!"
+msgstr ""
+"Bitte eine einzelne IP-Adresse oder eine Netzwerk/Netzmasken Kombination "
+"hinzufügen!"
 
-#: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
-msgid "Password settings"
-msgstr "Passwort-Einstellungen"
+#: plugins/personal/generic/class_user.inc:339
+msgid "female"
+msgstr "weiblich"
 
-#: plugins/personal/password/password.tpl:14
-msgid "Your Password has expired. Please choose a new password!"
-msgstr "Ihr Passwort ist abgelaufen. Geben Sie bitte ein neues ein!"
+#: plugins/personal/generic/class_user.inc:339
+msgid "male"
+msgstr "männlich"
 
-#: plugins/personal/password/class_password.inc:27
-msgid "Change user password"
-msgstr "Benutzer-Passwort ändern"
+#: plugins/personal/generic/class_user.inc:395
+msgid "Password configuration"
+msgstr "Passwort-Konfiguration"
+
+#: plugins/personal/generic/class_user.inc:429
+msgid "Cannot upload file!"
+msgstr "Kann Datei nicht hochladen!"
+
+#: plugins/personal/generic/class_user.inc:522
+msgid "Serial number"
+msgstr "Seriennummer"
+
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
+msgid "User picture"
+msgstr "Benutzerbild"
+
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
+msgstr "(Nicht unterstütze Zertifikat-Typen sind als ungültig markiert.)"
+
+#: plugins/personal/generic/class_user.inc:579
+#, php-format
+msgid "Certificate is valid from %s to %s and is currently %s."
+msgstr "Zertifkat ist gültig im Zeitraum von %s bis %s (momentan: %s)."
+
+#: plugins/personal/generic/class_user.inc:582
+msgid "valid"
+msgstr "gültig"
 
-#: plugins/personal/password/class_password.inc:129
-msgid "You need to specify your current password in order to proceed."
-msgstr "Sie müssen das aktuelle Passwort eingeben, um fortfahren zu können."
+#: plugins/personal/generic/class_user.inc:583
+msgid "invalid"
+msgstr "ungültig"
 
-#: plugins/personal/password/class_password.inc:135
-msgid "The password you've entered as 'New password' is empty."
-msgstr ""
-"Das Passwort, welches Sie als 'Neues Passwort' eingegeben haben ist leer."
+#: plugins/personal/generic/class_user.inc:588
+msgid "No certificate installed"
+msgstr "Kein Zertifikat eingerichtet"
 
-#: plugins/personal/password/class_password.inc:144
-#, php-format
-msgid "External password changer reported a problem: %s."
-msgstr "Das externe Passwort-Änderungsprogramm hat einen Fehler gemeldet: %s."
+#: plugins/personal/generic/class_user.inc:614
+msgid "The selected password method is no longer available."
+msgstr "Die gewählte Passwort-Methode ist nicht mehr verfügbar."
 
-#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/generic/class_user.inc:1051
 msgid ""
-"The password you've entered as your current password doesn't match the real "
-"one."
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
 msgstr ""
-"Das Passwort, welches Sie als aktuelles Passwort eingegeben haben, ist nicht "
-"korrekt."
+"Das Benutzerbild kann nicht gespeichert werden: GOsa benötigt die Pakete "
+"'imagemagick' oder 'php5-imagick'!"
 
-#: plugins/personal/password/class_password.inc:164
-msgid "You have no permission to change your password."
-msgstr "Sie haben keine Berechtigung Ihr Passwort zu ändern."
+#: plugins/personal/generic/class_user.inc:1177
+msgid "Cannot build RDN: no + allowed to build sub RDN!"
+msgstr "Die RDN kann nicht erstellt werden: + ist in sub RDNs nicht erlaubt!"
 
-#: plugins/personal/password/class_password.inc:201
-msgid "User password"
-msgstr "Benutzerpasswort"
+#: plugins/personal/generic/class_user.inc:1184
+msgid "Cannot build RDN: attribute is not defined!"
+msgstr "Kann RDN nicht erstellen: Attribut ist nicht definiert!"
 
-#: setup/class_setupStep_Feedback.inc:92
-msgid "UNIX accounts/groups"
-msgstr "UNIX Konten/Gruppen"
+#: plugins/personal/generic/class_user.inc:1202
+msgid "Cannot build RDN: invalid attribute parameters!"
+msgstr "Kann RDN nicht erstellen: ungültige Attribut-Parameter!"
 
-#: setup/class_setupStep_Feedback.inc:94
-msgid "Samba management"
-msgstr "Samba-Verwaltung"
+#: plugins/personal/generic/class_user.inc:1273
+msgid "The selected password method requires initial configuration!"
+msgstr "Die gewählte Passwort-Methode benötigt eine initiale Konfiguration!"
 
-#: setup/class_setupStep_Feedback.inc:96
-msgid "Mailsystem management"
-msgstr "Mailsystem-Verwaltung"
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
+msgid "Homepage"
+msgstr "Homepage"
 
-#: setup/class_setupStep_Feedback.inc:98
-msgid "FAX system administration"
-msgstr "Faxsystem-Verwaltung"
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
+msgstr "Telefon"
 
-#: setup/class_setupStep_Feedback.inc:100
-msgid "Asterisk administration"
-msgstr "Asterisk-Verwaltung"
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
+msgstr "Fax"
 
-#: setup/class_setupStep_Feedback.inc:102
-msgid "System inventory"
-msgstr "System-Inventar"
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
+msgid "Mobile"
+msgstr "Mobiltelefon"
 
-#: setup/class_setupStep_Feedback.inc:104
-msgid "System-/Configmanagement"
-msgstr "System-/Konfigurationsverwaltung"
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
+msgid "Pager"
+msgstr "Pager"
 
-#: setup/class_setupStep_Feedback.inc:106
-msgid "Addressbook"
-msgstr "Adressbuch"
+#: plugins/personal/generic/class_user.inc:1483
+msgid "Cannot open certificate!"
+msgstr "Kann Zertifikat nicht öffnen!"
 
-#: setup/class_setupStep_Feedback.inc:112
-msgid "Feedback"
-msgstr "Rückmeldung"
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
+msgid "Unit"
+msgstr "Referat"
 
-#: setup/class_setupStep_Feedback.inc:113
-msgid "Get notifications or send feedback"
-msgstr "Erhalte Benachrichtungen oder sende Rückmeldung"
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
+msgid "House identifier"
+msgstr "Hausbezeichnung"
 
-#: setup/class_setupStep_Feedback.inc:114
-msgid "Notification and feedback"
-msgstr "Benachrichtigung und Rückmeldung"
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
+msgid "Vocation"
+msgstr "Anrede"
 
-#: setup/class_setupStep_Feedback.inc:131 setup/class_setup.inc:77
-msgid "Setup error"
-msgstr "Einrichtungsfehler"
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
+msgid "Last delivery"
+msgstr "letzte Übermittlung"
 
-#: setup/class_setupStep_Feedback.inc:140
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Feedback error"
-msgstr "Fehler beim Rückmelden"
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
+msgid "Person locality"
+msgstr "Dienstort"
 
-#: setup/class_setupStep_Feedback.inc:140
-#, php-format
-msgid "Cannot send feedback to '%s': %s"
-msgstr "Kann Rückmeldung nicht an '%s' senden: %s"
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
+msgid "Unit description"
+msgstr "Aufgabengebiet"
 
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Cannot send feedback: service temporarily unavailable"
-msgstr ""
-"Kann Rückmeldung nicht senden: Der Dienst ist vorübergehend nicht verfügbar"
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
+msgid "Subject area"
+msgstr "Sachgebiet"
 
-#: setup/class_setupStep_Feedback.inc:181
-msgid "Please specify a valid email address."
-msgstr "Bitte geben Sie eine gültige E-Mail-Adresse ein."
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
+msgid "Functional title"
+msgstr "Amts-/Dienstbezeichnung"
 
-#: setup/class_setupStep_Feedback.inc:185
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
+msgstr "Rolle"
+
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
+msgid "Postal code"
+msgstr "Postleitzahl"
+
+#: plugins/personal/generic/class_user.inc:1671
+msgid "Generic user settings"
+msgstr "Allgemeine Benutzereinstellungen"
+
+#: plugins/personal/generic/class_user.inc:1692
 msgid ""
-"You have to select at least one of both options, subscribe or send feedback."
+"Pattern for the generation of user DNs. Please read the FAQ for details."
 msgstr ""
-"Sie müssen mindestens eine der beiden Optionen auswählen, Abonnement der "
-"Mailingliste oder Senden einer Rückmeldung."
+"Muster für die Generierung von Benutzer DNs. Entnehmen Sie bitte die Details "
+"der FAQ."
 
-#: setup/class_setup.inc:197
-msgid "Completed"
-msgstr "Abgeschlossen"
-
-#: setup/class_setup.inc:267 setup/setup_migrate.tpl:272
-msgid "Next"
-msgstr "Vor"
+#: plugins/personal/generic/class_user.inc:1706
+msgid "Allow definition of custom filters"
+msgstr "Definieren von Benutzerfiltern erlauben"
 
-#: setup/setup_config2.tpl:2
-msgid "Samba settings"
-msgstr "Samba-Einstellungen"
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
+msgid "Sex"
+msgstr "Geschlecht"
 
-#: setup/setup_config2.tpl:6
-msgid "Samba hash generator"
-msgstr "Samba Hash-Generator"
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
+msgid "Preferred language"
+msgstr "Bevorzugte Sprache"
 
-#: setup/setup_config2.tpl:15
-msgid "Samba SID"
-msgstr "Samba SID"
+#: plugins/personal/generic/class_user.inc:1718
+msgid "Login restrictions"
+msgstr "Anmeldungs-Einschränkungen"
 
-#: setup/setup_config2.tpl:31
-msgid "RID base"
-msgstr "RID Basis"
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
+msgstr "Abteilung"
 
-#: setup/setup_config2.tpl:46
-msgid "Workstation container"
-msgstr "Container für Arbeitsstationen"
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
+#: plugins/admin/departments/class_domain.inc:93
+#: plugins/admin/departments/class_organizationGeneric.inc:127
+#: plugins/admin/departments/generic.tpl:51
+#: plugins/admin/departments/locality.tpl:39
+#: plugins/admin/departments/class_localityGeneric.inc:93
+#: plugins/admin/departments/class_dcObject.inc:92
+#: plugins/admin/departments/domain.tpl:39
+msgid "Manager"
+msgstr "Verwalter"
 
-#: setup/setup_config2.tpl:61
-msgid "Samba SID mapping"
-msgstr "Samba SID Abbildung"
+#: plugins/personal/generic/class_user.inc:1727
+msgid "Room number"
+msgstr "Raumnummer"
 
-#: setup/setup_config2.tpl:71
-msgid "Timezone"
-msgstr "Zeitzone"
+#: plugins/personal/generic/class_user.inc:1728
+msgid "Telephone number"
+msgstr "Telefonnummer"
 
-#: setup/setup_config2.tpl:74
-msgid "Please choose your preferred timezone here"
-msgstr "Bitte wählen Sie hier Ihre bevorzugte Zeitzone"
+#: plugins/personal/generic/class_user.inc:1729
+msgid "Pager number"
+msgstr "Pagernummer"
 
-#: setup/setup_config2.tpl:96
-msgid "Additional GOsa settings"
-msgstr "Zusätzliche GOsa-Einstellungen"
+#: plugins/personal/generic/class_user.inc:1730
+msgid "Mobile number"
+msgstr "Mobiltelefon"
 
-#: setup/setup_config2.tpl:100
-msgid "Enable Copy & Paste"
-msgstr "Ermögliche Kopieren & Einfügen"
+#: plugins/personal/generic/class_user.inc:1731
+msgid "Fax number"
+msgstr "Faxnummer"
 
-#: setup/setup_config2.tpl:112
-msgid "Government mode"
-msgstr "Behörden-Modus"
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
+#: plugins/admin/departments/class_organizationGeneric.inc:129
+#: plugins/admin/departments/generic.tpl:87
+msgid "State"
+msgstr "Land"
 
-#: setup/setup_config2.tpl:123
-msgid "GOsa logging"
-msgstr "GOsa Protokolierung"
+#: plugins/personal/generic/class_user.inc:1735
+#: plugins/personal/generic/generic.tpl:183
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+msgid "Postal address"
+msgstr "Adresse"
 
-#: setup/setup_config2.tpl:135
-msgid "Mail settings"
-msgstr "Mail-Einstellungen"
+#: plugins/personal/generic/class_user.inc:1740
+msgid "User password method"
+msgstr "Benutzer Passwort-Methode"
 
-#: setup/setup_config2.tpl:139
-msgid "Mail method"
-msgstr "Zustellungs-Methode"
+#: plugins/personal/generic/class_user.inc:1741
+msgid "User certificates"
+msgstr "Benutzer-Zertifikate"
 
-#: setup/setup_config2.tpl:155
-msgid "Account identification attribute"
-msgstr "Attribut für Kontoidentifikation"
+#: plugins/personal/generic/class_user.inc:1949
+msgid "Entries differ"
+msgstr "Einträge unterscheiden sich"
 
-#: setup/setup_config2.tpl:169
-msgid "Vacation templates"
-msgstr "Urlaubsvorlagen"
+#: plugins/personal/generic/generic.tpl:21
+msgid "Change picture"
+msgstr "Bild ändern"
 
-#: setup/setup_config2.tpl:185
-msgid "Use Cyrus UNIX style"
-msgstr "Verwende Cyrus UNIX-Stil"
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
+msgstr "Mehrfach bearbeiten"
 
-#: setup/setup_config2.tpl:195
-msgid "Snapshots / Undo"
-msgstr "Snapshots / Wiederherstellung"
+#: plugins/personal/generic/generic.tpl:83
+msgid "Template name"
+msgstr "Name der Vorlage"
 
-#: setup/setup_config2.tpl:204 setup/setup_config2.tpl:249
-msgid "Enable snapshots"
-msgstr "Snapshots ermöglichen"
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
+msgid "Address"
+msgstr "Adresse"
 
-#: setup/setup_config2.tpl:210 setup/setup_config2.tpl:255
-msgid "Snapshot base"
-msgstr "Basis für Snapshots"
+#: plugins/personal/generic/generic.tpl:193
+msgid "Private phone"
+msgstr "Privat-Telefon"
 
-#: setup/setup_frame.tpl:12
-msgid "GOsa setup wizard"
-msgstr "GOsa Einrichtungsassistent"
+#: plugins/personal/generic/generic.tpl:209
+msgid "Password storage"
+msgstr "Passwort-Speicherung"
 
-#: setup/setup_frame.tpl:19
-msgid "Installation"
-msgstr "Installation"
+#: plugins/personal/generic/generic.tpl:229
+msgid "Edit certificates"
+msgstr "Zertifikate bearbeiten"
 
-#: setup/setup_frame.tpl:19
-msgid "Setup"
-msgstr "Einrichtung"
+#: plugins/personal/generic/generic.tpl:241
+msgid "Restrict login to"
+msgstr "Anmeldung beschränken"
 
-#: setup/setup_migrate.tpl:5
-msgid ""
-"During the LDAP inspection, we're going to check for several common pitfalls "
-"that may occur when migration to GOsa base LDAP administration. You may want "
-"to fix the problems below, in order to provide smooth services."
-msgstr ""
-"Während der LDAP-Inspektion wird auf verschiedene, gängige Stolpersteine "
-"geprüft, die auftreten können, wenn auf eine GOsa-basierte LDAP-"
-"Administration migriert wird. Sie sollten die unten genannten Probleme "
-"beseitigen (wenn vorhanden), um einen problemlosen Betrieb der Dienste zu "
-"ermöglichen."
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
+msgid "IP or network"
+msgstr "IP oder Netzwerk"
 
-#: setup/setup_migrate.tpl:33
-msgid "Check again"
-msgstr "Erneut prüfen"
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "Organizational information"
+msgstr "Angabe zur Organisationseinheit"
 
-#: setup/setup_migrate.tpl:37
-msgid "Add required object classes to the LDAP base"
-msgstr "Füge erforderliche Objekt-Klassen zum Basis-Objekt hinzu"
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "part"
+msgstr "Teil"
 
-#: setup/setup_migrate.tpl:39 setup/setup_migrate.tpl:244
-#: setup/setup_migrate.tpl:344 setup/setup_migrate.tpl:398
-#: setup/setup_migrate.tpl:453 setup/setup_migrate.tpl:496
-#: setup/setup_migrate.tpl:540
-msgid "Current"
-msgstr "Aktuell"
+#: plugins/personal/generic/generic.tpl:314
+msgid "Department No."
+msgstr "Abteilungs-Nr."
 
-#: setup/setup_migrate.tpl:46 setup/setup_migrate.tpl:248
-#: setup/setup_migrate.tpl:351 setup/setup_migrate.tpl:405
-#: setup/setup_migrate.tpl:457 setup/setup_migrate.tpl:500
-#: setup/setup_migrate.tpl:544
-msgid "After migration"
-msgstr "Nach der Migration"
+#: plugins/personal/generic/generic.tpl:322
+msgid "Employee No."
+msgstr "Angestellten-Nr."
 
-#: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:664 setup/class_setupStep_Migrate.inc:806
-#: setup/class_setupStep_Migrate.inc:1035
-#: setup/class_setupStep_Migrate.inc:2133
-#: setup/class_setupStep_Migrate.inc:2576
-#: setup/class_setupStep_Migrate.inc:2730
-#: setup/class_setupStep_Migrate.inc:3060
-msgid "Migrate"
-msgstr "Migrieren"
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
+msgid "Room No."
+msgstr "Zimmer-Nr."
 
-#: setup/setup_migrate.tpl:60 setup/setup_migrate.tpl:107
-msgid "Close"
-msgstr "Schliessen"
+#: plugins/personal/generic/generic.tpl:580
+msgid "Please use the phone tab"
+msgstr "Verwenden sie den Telefon-Reiter"
 
-#: setup/setup_migrate.tpl:65
-msgid "Move windows workstations into a valid windows workstation department"
-msgstr ""
-"Verschiebe Windows-Arbeitsstationen in eine gültige Windows-Workstation "
-"Abteilung"
+#: plugins/addons/dyngroup/dyngroup.tpl:1
+msgid "List of dynamic rules"
+msgstr "Liste der dynamischen Regeln"
 
-#: setup/setup_migrate.tpl:67
-msgid ""
-"This dialog allows you to move the displayed windows workstations into a "
-"valid department"
-msgstr ""
-"Dieser Dialog ermöglicht es Ihnen, die angezeigten Windows-Arbeitsstationen "
-"in eine gültige Abteilung zu verschieben"
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
+msgstr "URI-Definitionen"
 
-#: setup/setup_migrate.tpl:69
-msgid ""
-"Be careful with this tool, there may be references pointing to this "
-"workstations that can't be migrated."
-msgstr ""
-"Seien Sie vorsichtig mit diesem Werkzeug, es könnte Referenzen geben, die "
-"auf diese Arbeitsstationen zeigen, die nicht migriert werden können."
+#: plugins/addons/dyngroup/dyngroup.tpl:6
+msgid "Scope"
+msgstr "Gültigkeitsbereich"
 
-#: setup/setup_migrate.tpl:95
-msgid "Move selected windows workstations into the following GOsa department"
-msgstr ""
-"Verschiebe die ausgewählten Windows-Arbeitsstationen in die folgende GOsa-"
-"Abteilung"
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
+msgid "Attribute"
+msgstr "Attribut"
 
-#: setup/setup_migrate.tpl:100
-msgid "Move selected workstations"
-msgstr "Die gewählten Arbeitsstationen verschieben"
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
+msgid "Filter"
+msgstr "Filter"
 
-#: setup/setup_migrate.tpl:101
-msgid "What will be done here"
-msgstr "Was wird hier durchgeführt"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
+msgstr "URI"
 
-#: setup/setup_migrate.tpl:113
-msgid "Move groups into configured group tree"
-msgstr "Verschiebe Gruppen in den konfigurierten Gruppenbaum"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
+msgstr "Umschliessende Klammern fehlen!"
 
-#: setup/setup_migrate.tpl:116
-msgid ""
-"This dialog allows moving a couple of groups to the configured group tree. "
-"Doing this may straighten your LDAP service."
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
+#, php-format
+msgid "The given filter '%s' for entry %s seems to be invalid!"
 msgstr ""
-"Dieser Dialog ermöglicht Ihnen das Verschieben einer Zahl von Gruppen in den "
-"konfigurierten Gruppenbaum. Dies kann Ihren LDAP-Dienst aufräumen."
+"Der angegebene Filter '%s' für den Eintrag %s scheint ungültig zu sein!"
 
-#: setup/setup_migrate.tpl:119
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"groups. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
-msgstr ""
-"Seien Sie vorsichtig mt dieser Option! Es könnte Referenzen geben, die auf "
-"diese Gruppen verweisen. Die GOsa-Einrichtung kann Referenzen nicht "
-"migrieren, Sie sollten die Migration an dieser Stelle abbrechen."
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
+msgid "Dynamic object"
+msgstr "Dynamisches Objekt"
 
-#: setup/setup_migrate.tpl:122
-msgid "Move selected groups into this group tree"
-msgstr "Verschiebe die ausgewählten Gruppen in diesen Gruppenbaum"
+#: plugins/addons/propertyEditor/property-filter.xml:15
+msgid "Effective properties"
+msgstr "Effektive Einstellungen"
 
-#: setup/setup_migrate.tpl:153 setup/setup_migrate.tpl:205
-#: setup/setup_migrate.tpl:254 setup/setup_migrate.tpl:372
-#: setup/setup_migrate.tpl:425 setup/setup_migrate.tpl:469
-#: setup/setup_migrate.tpl:512 setup/setup_migrate.tpl:556
-msgid "Hide changes"
-msgstr "Verstecke Änderungen"
+#: plugins/addons/propertyEditor/property-filter.xml:29
+msgid "Modified properties"
+msgstr "Modifizierte Einstellungen"
 
-#: setup/setup_migrate.tpl:155 setup/setup_migrate.tpl:207
-#: setup/setup_migrate.tpl:237 setup/setup_migrate.tpl:374
-#: setup/setup_migrate.tpl:427 setup/setup_migrate.tpl:472
-#: setup/setup_migrate.tpl:515 setup/setup_migrate.tpl:559
-msgid "Show changes"
-msgstr "Zeige Änderungen"
+#: plugins/addons/propertyEditor/property-filter.xml:43
+msgid "All properties"
+msgstr "Alle Einstellungen"
 
-#: setup/setup_migrate.tpl:168
-msgid "Move users into configured user tree"
-msgstr "Verschiebe Benutzer in den konfigurierten Benutzerbaum"
+#: plugins/addons/propertyEditor/property-filter.xml:57
+msgid "LDAP properties"
+msgstr "Im LDAP abgelegte Einstellungen"
 
-#: setup/setup_migrate.tpl:170
-msgid ""
-"This dialog allows moving a couple of users to the configured user tree. "
-"Doing this may straighten your LDAP service."
-msgstr ""
-"Dieser Dialol ermöglicht Ihnen das Verschieben einer Zahl von Nutzern in den "
-"konfigurierten Benutzerbaum. Dies kann Ihren LDAP-Dienst aufräumen."
+#: plugins/addons/propertyEditor/property-filter.xml:71
+msgid "Search for property groups"
+msgstr "Nach Einstellungsgruppen suchen"
 
-#: setup/setup_migrate.tpl:173
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"users. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
-msgstr ""
-"Seien Sie vorsichtig mt dieser Option! Es könnte Referenzen geben, die auf "
-"diese Benutzer verweisen. Die GOsa-Einrichtung kann Referenzen nicht "
-"migrieren, Sie sollten die Migration an dieser Stelle abbrechen."
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
+msgstr "Migrationsassistent für Einstellungen"
+
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Migration steps left"
+msgstr "Verbleibende Migrationsschritte"
 
-#: setup/setup_migrate.tpl:176
-msgid "Move selected users into this people tree"
-msgstr "Verschiebe die ausgewählten Benutzer in diesen Benutzerbaum"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
+#, php-format
+msgid "Migration of property '%s'"
+msgstr "Migration der Option '%s'"
 
-#: setup/setup_migrate.tpl:219
-msgid "Migrate GOsa 2.5 administrative accounts"
-msgstr "Migriere GOsa 2.5 Administrator-Konten"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
+#, php-format
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
+msgstr "Es wurden Objekte ausserhalb des konfigurierten Baums '%s' gefunden."
 
-#: setup/setup_migrate.tpl:221
-msgid ""
-"This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
-"useable accounts."
-msgstr ""
-"Dieser Dialog erlaubt die Migration von Administrativen Konten von GOsa 2.5 "
-"nach GOsa 2.6."
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
+msgid "Objects that will be added"
+msgstr "Dieses Objekte werden hinzugefügt"
 
-#: setup/setup_migrate.tpl:257 setup/setup_ldap.tpl:65
-msgid "Reload"
-msgstr "Neu laden"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+msgid "Objects that will be moved"
+msgstr "Diese Objekte werden verschoben"
 
-#: setup/setup_migrate.tpl:273
-msgid "Abort"
-msgstr "Abbrechen"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
+#, php-format
+msgid "Moving object '%s' to '%s'"
+msgstr "Verschiebe Objekt '%s' nach '%s'"
 
-#: setup/setup_migrate.tpl:275
-msgid "Create a new GOsa administrator account"
-msgstr "Erzeuge ein neues GOsa Administratorkonto"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
+#, php-format
+msgid "Migration failed for object %s: DN already exists!"
+msgstr "Migration des Objektes %s ist fehlgeschlagen: DN existiert bereits!"
 
-#: setup/setup_migrate.tpl:278
-msgid ""
-"This dialog will automatically add a new super administrator to your LDAP "
-"tree."
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
+#, php-format
+msgid "Migration failed for object %s: please check if it already exists!"
 msgstr ""
-"Dieser Dialog wird automatisch einen neuen Superadministrator in Ihren LDAP-"
-"Baum einfügen."
+"Migration für das Objekt %s ist fehlgeschlagen: bitte prüfen Sie ob es "
+"bereits existiert!"
 
-#: setup/setup_migrate.tpl:307
-msgid "Password (again)"
-msgstr "Passwort (erneut)"
+#: plugins/addons/propertyEditor/property-list.tpl:3
+msgid "Warning message"
+msgstr "Warnmeldung"
 
-#: setup/setup_migrate.tpl:333
+#: plugins/addons/propertyEditor/property-list.tpl:9
 msgid ""
-"The listed departments are currently invisible in the GOsa user interface. "
-"If you want to change this for a couple of entries, select them and use the "
-"migrate button below."
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
 msgstr ""
-"Die angezeigten Abteilungen sind momentan in GOsa unsichtbar. Wenn Sie dies "
-"für eine Zahl von Einträgen ändern möchten, wählen Sie sie einfach aus und "
-"verwenden den 'Migrieren'-Knopf unterhalb."
+"Das Verändern von Einstellungen kann Ihre Umgebung beeinträchtigen, ihren "
+"LDAP-Inhalt zerstören oder beschädigen, Sicherheitsprobleme hervorrufen oder "
+"gar eine Anmeldung unmöglich machen!"
 
-#: setup/setup_migrate.tpl:334 setup/setup_migrate.tpl:389
-#: setup/setup_migrate.tpl:445 setup/setup_migrate.tpl:489
-#: setup/setup_migrate.tpl:533
+#: plugins/addons/propertyEditor/property-list.tpl:10
 msgid ""
-"If you want to know what will be done when migrating the selected entries, "
-"use the 'Show changes' button to see the LDIF."
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
 msgstr ""
-"Wenn Sie erfahren möchten, was bei der Migration der gewählten Einträge "
-"erfolgen wird, verwenden Sie den 'Zeige Änderungen'-Knopf um das LDIF zu "
-"sehen."
+"Da die Konfigurationseinstellungen im LDAP-Verzeichnis gespeichert werden, "
+"ist ein Backup empfehlenswert."
 
-#: setup/setup_migrate.tpl:388
+#: plugins/addons/propertyEditor/property-list.tpl:14
 msgid ""
-"The listed users are currently invisible in the GOsa user interface. If you "
-"want to change this for a couple of users, just select them and use the "
-"'Migrate' button below."
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
 msgstr ""
-"Die folgenden Benutzer sind momentan in GOsa unsichtbar. Wenn Sie dies für "
-"einen oder mehrere Benutzer ändern möchten, wählen Sie sie einfach aus und "
-"drücken Sie den 'Migrieren'-Knopf unterhalb."
+"Falls Sie sich selbst ausgesperrt haben, können Sie versuchen in der 'main' "
+"Sektion Ihrer gosa.conf der Option 'ignoreLdapProperties' den Wert 'true' "
+"zuzuweisen. Dies schaltet die Nutzung von LDAP-Einstellungen ab."
 
-#: setup/setup_migrate.tpl:444
+#: plugins/addons/propertyEditor/property-list.tpl:22
 msgid ""
-"The listed devices are currently invisible in the GOsa interface. If you "
-"want to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+"I understand that there are certain risks, but I want to modify properties!"
 msgstr ""
-"Die folgenden Geräte sind momentan in GOsa unsichtbar. Wenn Sie dies für "
-"eines oder mehrere Geräte ändern möchten, wählen Sie sie einfach aus und "
-"drücken Sie den 'Migrieren'-Knopf unten."
+"Ja, ich habe verstanden, dass mit der Modifikation von Einstellungen Risiken "
+"verbunden sein können, aber ich möchte trotzdem Einstellungen bearbeiten!"
+
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
+msgstr "Ignoriere LDAP-basierte Einstellungen!"
 
-#: setup/setup_migrate.tpl:488
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
+msgstr "Wiederherstellen"
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
+msgid "Command verifier"
+msgstr "Kommandoüberprüfung"
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
 msgid ""
-"The listed services are currently invalid for the GOsa version you are going "
-"to install. If you want to update a couple of service, just select them and "
-"use the 'Migrate' button below."
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
 msgstr ""
-"Die folgenden Dienste sind momentan für die GOsa-Version ungültig, die Sie "
-"gerade installieren. Wenn Sie einen oder mehrere Dienste aktualisieren "
-"möchten, wählen Sie sie einfach aus und drücken Sie den 'Migrieren'-Knopf "
-"unterhalb."
+"An dieser Stelle können Sie GOsa Kommandos ausführen lassen und das erzeugte "
+"Ergebnis einsehen. Dies kann nützlich sein, wenn Sie beispielsweise post-"
+"Events (postcreate, postmodify und postremove) ausprobieren möchten."
 
-#: setup/setup_migrate.tpl:532
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
 msgid ""
-"The listed menus are currently invisible in the GOsa interface. If you want "
-"to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
 msgstr ""
-"Die folgenden Menüs sind momentan in GOsa unsichtbar. Wenn Sie dies für "
-"eines oder mehrere Menüs ändern möchten, wählen Sie sie einfach aus und "
-"drücken Sie den 'Migrieren'-Knopf unterhalb."
+"Vorsicht! Die Kommandos werden auf diesem Serversystem ausgeführt und können "
+"unter Umständen etwas beschädigen!"
 
-#: setup/class_setupStep_Finish.inc:38
-msgid "Write configuration file"
-msgstr "Schreibe Konfigurationsdatei"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
+msgstr "Das zu überprüfende Kommando"
 
-#: setup/class_setupStep_Finish.inc:39
-msgid "Finish - write the configuration file"
-msgstr "Abschluß - Schreiben der Konfigurationsdatei"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
+msgid "Test"
+msgstr "Test"
 
-#: setup/class_setupStep_Finish.inc:104
-msgid ""
-"Your configuration file is currently world readable. Please update the file "
-"permissions!"
-msgstr ""
-"Ihre Konfigurationsdatei ist momentan für jeden lesbar. Bitte ändern Sie die "
-"Zugriffsrechte!"
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
+msgstr "Ergebnisse"
 
-#: setup/class_setupStep_Finish.inc:106
-msgid "The configuration is currently not readable or it does not exists."
-msgstr "Die Konfiguration ist momentan nicht lesbar oder existiert nicht."
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
+msgid "Preferences"
+msgstr "Einstellungen"
 
-#: setup/class_setupStep_Finish.inc:115
-#, php-format
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
 msgid ""
-"After downloading and placing the file under %s, please make sure that the "
-"user the webserver is running with is able to read %s, while other users "
-"shouldn't. You may want to execute these commands to achieve this "
-"requirement:"
-msgstr ""
-"Nachdem Sie die Konfigurationsdatei unter %s abgelegt haben, muß "
-"sichergestellt werden, daß der Webserver auf %s zugreifen kann, normale "
-"Nutzer aber nicht. Führen Sie diese Kommandos aus, um die obigen "
-"Voraussetzungen zu erfüllen:"
-
-#: setup/class_setupStep_Checks.inc:38 setup/class_setupStep_Checks.inc:39
-msgid "Installation check"
-msgstr "Installationsprüfung"
+"Configure global and special GOsa settings like hooks and plug-in parameters"
+msgstr "Globale und spezielle GOsa-Einstellungen wie Hooks und Plugin-Optionen"
 
-#: setup/class_setupStep_Checks.inc:40
-msgid "Basic checks for PHP compatibility and extensions"
-msgstr "Grundlegende Überprüfungen der PHP-Version und Erweiterungen."
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
+msgid "No description"
+msgstr "Keine Beschreibung"
 
-#: setup/class_setupStep_Checks.inc:64
-msgid "Checking PHP version"
-msgstr "Prüfe PHP-Version"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
+msgstr "Übergebenes Kommando prüfen."
 
-#: setup/class_setupStep_Checks.inc:65
-#, php-format
-msgid "PHP must be of version %s or above."
-msgstr "PHP muß in Version %s oder höher vorliegen."
+#: plugins/addons/propertyEditor/property-list.xml:11
+msgid "List of configuration settings"
+msgstr "Liste von Konfigurationseinstellungen"
 
-#: setup/class_setupStep_Checks.inc:66
-msgid "Please upgrade to a supported version."
-msgstr "Bitte aktualisieren Sie auf eine unterstützte Version."
+#: plugins/addons/propertyEditor/property-list.xml:15
+msgid "Property not used"
+msgstr "Einstellung wird nicht verwendet"
 
-#: setup/class_setupStep_Checks.inc:73
-msgid "GOsa requires this module to talk with your LDAP server."
-msgstr "GOsa benötigt dieses Modul für die Kommunikation mit dem LDAP-Server."
+#: plugins/addons/propertyEditor/property-list.xml:23
+msgid "Property will be restored"
+msgstr "Einstellung wird wiederhergestellt"
 
-#: setup/class_setupStep_Checks.inc:81
-msgid "GOsa requires this module for an internationalized interface."
-msgstr "GOsa benötigt dieses Modul für eine lokalisierte Oberfläche."
+#: plugins/addons/propertyEditor/property-list.xml:31
+msgid "Modified property"
+msgstr "Veränderte Einstellung"
 
-#: setup/class_setupStep_Checks.inc:89
-msgid "GOsa requires this module for the samba integration."
-msgstr "GOsa benötigt dieses Modul für die Samba-Einbindung."
+#: plugins/addons/propertyEditor/property-list.xml:39
+msgid "Property configured in LDAP"
+msgstr "Optionen aus dem LDAP"
 
-#: setup/class_setupStep_Checks.inc:97
-msgid ""
-"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
-"encryption."
-msgstr ""
-"GOsa benötigt entweder das 'mhash' oder das 'sha1' Modul um die "
-"SSHA-Verschlüsselung verwenden zu können."
+#: plugins/addons/propertyEditor/property-list.xml:47
+msgid "Property configured in config file"
+msgstr "Einstellung aus Konfigurationsdatei"
 
-#: setup/class_setupStep_Checks.inc:105
-msgid "GOsa requires this module to talk to an IMAP server."
-msgstr ""
-"GOsa benötigt dieses Modul für die Kommunikation mit einem IMAP-Server."
+#: plugins/addons/propertyEditor/property-list.xml:80
+msgid "Class"
+msgstr "Klasse"
 
-#: setup/class_setupStep_Checks.inc:112
-msgid "mbstring"
-msgstr "mbstring"
+#: plugins/addons/propertyEditor/property-list.xml:88
+msgid "Value"
+msgstr "Wert"
 
-#: setup/class_setupStep_Checks.inc:113
-msgid "GOsa requires this module to handle unicode strings."
-msgstr "GOsa benötigt dieses Modul um Unicode-Zeichenketten zu verarbeiten."
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
+msgstr "Standard wiederherstellen"
 
-#: setup/class_setupStep_Checks.inc:120
-msgid "MySQL"
-msgstr "MySQL"
+#: plugins/admin/groups/paste_generic.tpl:1
+msgid "Group settings"
+msgstr "Gruppen-Einstellungen"
 
-#: setup/class_setupStep_Checks.inc:121
-msgid ""
-"GOsa requires this module to communicate with several supported databases."
-msgstr ""
-"GOsa benötigt dieses Modul, um mit verschiedenen unterstützten Datenbanken "
-"zu kommunizieren."
+#: plugins/admin/groups/paste_generic.tpl:2
+msgid "Paste group settings"
+msgstr "Gruppeneinstellungen einfügen"
 
-#: setup/class_setupStep_Checks.inc:138
-msgid "samba hash generator"
-msgstr "Samba Hash-Generator"
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
+msgstr "Gruppenname"
 
-#: setup/class_setupStep_Checks.inc:139
-msgid "GOsa requires this command to synchronize POSIX and samba passwords."
-msgstr ""
-"GOsa benötigt dieses Kommando für den Abgleich der POSIX und Samba-"
-"Passwörter."
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
+msgid "POSIX name of the group"
+msgstr "POSIX-Name der Gruppe"
 
-#: setup/class_setupStep_Checks.inc:140
-msgid ""
-"Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
+msgid "Normally IDs are auto-generated, select to specify manually"
 msgstr ""
-"Nutzen Sie eine GOsa-SI-Installation oder installieren Sie das Perl-Modul "
-"Crypt::SmbHash."
+"Normalerweise werden IDs automatisch generiert. Auswählen um dies zu umgehen"
 
-#: setup/class_setupStep_Checks.inc:153
-msgid "imagick"
-msgstr "Imagick"
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
+msgstr "Erzwinge GID"
 
-#: setup/class_setupStep_Checks.inc:154
-msgid "GOsa requires this extension to handle images."
-msgstr "GOsa benötigt diese Erweiterung um Bilder konvertieren zu können."
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr "Erzwungene ID-Nummer"
 
-#: setup/class_setupStep_Checks.inc:169
-msgid "compression module"
-msgstr "Komprimierungs-Modul"
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
+msgstr "Benutzer"
 
-#: setup/class_setupStep_Checks.inc:170
-msgid "GOsa requires this extension to handle snapshots."
-msgstr "GOsa benötigt dieses Modul um Snapshots zu komprimieren."
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
+msgid "User selection"
+msgstr "Benutzerauswahl"
 
-#: setup/class_setupStep_Checks.inc:181
-msgid ""
-"register_globals is a PHP mechanism to register all global variables to be "
-"accessible from scripts without changing the scope. This may be a security "
-"risk."
-msgstr ""
-"register_globals ist ein PHP-Mechanismus, welcher alle globalen Variablen "
-"für Skripte direkt zugänglich macht. Dies kann ein Sicherheitsrisiko sein."
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Cannot find group SID in your configuration!"
+msgstr "Kann keine Gruppen-SID in Ihrer Konfiguration finden!"
 
-#: setup/class_setupStep_Checks.inc:182
-msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
-msgstr ""
-"Suchen Sie nach 'register_globals' in Ihrer php.ini und setzen Sie es auf "
-"'Off'."
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
+msgstr "Samba-Gruppe"
 
-#: setup/class_setupStep_Checks.inc:190
-msgid "PHP uses this value for the garbage collector to delete old sessions."
-msgstr ""
-"PHP verwendet diese Einstellungen für den Garbage Collector, um alte "
-"Sessions zu entfernen."
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain administrators"
+msgstr "Domänen-Administratoren"
 
-#: setup/class_setupStep_Checks.inc:191
-msgid ""
-"Setting this value to one day will prevent loosing session and cookies "
-"before they really timeout."
-msgstr ""
-"Wenn Sie diesen Wert auf einen Tag setzen, wird dies vermeiden, dass Sie die "
-"Sitzung und den zugehörigen Cookie verlieren, bevor diese tatsächlich ihre "
-"Gültigkeit verlieren."
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
+msgstr "Domänen-Benutzer"
 
-#: setup/class_setupStep_Checks.inc:192
-msgid ""
-"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
-"higher."
-msgstr ""
-"Suchen Sie in Ihrer php.ini nach 'session.gc_maxlifetime' und setzen Sie es "
-"auf 84600 oder höher."
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
+msgstr "Domänen-Gäste"
 
-#: setup/class_setupStep_Checks.inc:199 setup/class_setupStep_Checks.inc:215
-#: setup/class_setupStep_Checks.inc:231 setup/class_setupStep_Checks.inc:247
-msgid "Off"
-msgstr "Aus"
+#: plugins/admin/groups/class_group.inc:316
+#, php-format
+msgid "Special group (%d)"
+msgstr "Spezielle Gruppe (%d)"
 
-#: setup/class_setupStep_Checks.inc:200
-msgid ""
-"In Order to use GOsa without any trouble, the session.auto_register option "
-"in your php.ini should be set to 'Off'."
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
 msgstr ""
-"Um GOsa fehlerfrei benutzen zu können, muß die Option session.auto_register "
-"in Ihrer php.ini auf 'Off' stehen."
+"Die UID '%s' konnte nicht zur Gruppe '%s' hinzugefügt werden: Benutzer-"
+"Objekt nicht gefunden!"
 
-#: setup/class_setupStep_Checks.inc:201
-msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+#: plugins/admin/groups/class_group.inc:470
+#, php-format
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
 msgstr ""
-"Suchen Sie in Ihrer php.ini nach 'session.auto_start' und setzen Sie es auf "
-"'Off'."
+"Die UID '%s' konnte nicht zur Gruppe '%s' hinzugefügt werden: UID ist "
+"bereits vorhanden!"
 
-#: setup/class_setupStep_Checks.inc:208
-msgid ""
-"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
-"errors that are not reproducable! Increase it for larger setups."
-msgstr ""
-"GOsa benötigt mindestens 32MB Speicher, weniger Speicher würde "
-"unvorhersehbare Probleme verursachen! Bei größeren Installationen sollte "
-"dieser Wert noch vergrössert werden."
+#: plugins/admin/groups/class_group.inc:753
+#, php-format
+msgid "Cannot find any SID for '%s'!"
+msgstr "Kann keine SID für '%s' finden!"
 
-#: setup/class_setupStep_Checks.inc:209
-msgid ""
-"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
-msgstr ""
-"Suchen Sie in Ihrer php.ini nach 'memory_limit' und setzen Sie es auf '32M' "
-"oder höher."
+#: plugins/admin/groups/class_group.inc:758
+#, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
+msgstr "Kann keine RIDBASE für '%s' finden!"
 
-#: setup/class_setupStep_Checks.inc:216
-msgid ""
-"This option influences the PHP output handling. Turn this Option off, to "
-"increase performance."
-msgstr ""
-"Diese Einstellung beeinflusst die Verarbeitung der Ausgabe. Stellen Sie "
-"diese auf 'off', um die Leistung zu erhöhen."
+#: plugins/admin/groups/class_group.inc:852
+#, php-format
+msgid "The gidNumber '%s' is already in use by %s!"
+msgstr "Die Gruppen ID-Nummer '%s' wird bereits von %s verwendet!"
 
-#: setup/class_setupStep_Checks.inc:217
-msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
-msgstr ""
-"Suchen Sie in Ihrer php.ini nach 'implicit_flush' und setzen Sie es auf "
-"'Off'."
+#: plugins/admin/groups/class_group.inc:1036
+msgid "Generic group settings"
+msgstr "Allgemeine Gruppeneinstellungen"
 
-#: setup/class_setupStep_Checks.inc:224
-msgid "The Execution time should be at least 30 seconds."
-msgstr "Die Ausführungszeit sollte mindestens 30 Sekunden betragen."
+#: plugins/admin/groups/class_group.inc:1049
+msgid "RDN for object group storage."
+msgstr "RDN für die Ablage von Objekt-Gruppen."
 
-#: setup/class_setupStep_Checks.inc:225
-msgid ""
-"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
-msgstr ""
-"Suchen Sie in Ihrer php.ini nach 'max_execution_time' und setzen Sie es auf "
-"'30' oder höher."
+#: plugins/admin/groups/class_group.inc:1063
+msgid "Samba group type"
+msgstr "Samba-Gruppentyp"
 
-#: setup/class_setupStep_Checks.inc:232
-msgid ""
-"Increase the server security by setting expose_php to 'off'. PHP won't send "
-"any information about the server you are running in this case."
-msgstr ""
-"Erhöhen Sie die Sicherheit Ihres Servers, indem Sie expose_php auf 'off' "
-"setzen. PHP wird in dieser Einstellung keine Informationen über Ihren "
-"laufenden Server senden."
+#: plugins/admin/groups/class_group.inc:1064
+msgid "Samba domain name"
+msgstr "Samba Domänen-Name"
 
-#: setup/class_setupStep_Checks.inc:233
-msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
-msgstr ""
-"Suchen Sie in Ihrer php.ini nach 'expose_php' und setzen Sie es auf 'Off'."
+#: plugins/admin/groups/class_group.inc:1066
+msgid "Phone pickup group"
+msgstr "Gesprächs-Annahme Gruppe"
 
-#: setup/class_setupStep_Checks.inc:239
-msgid "On"
-msgstr "An"
+#: plugins/admin/groups/class_group.inc:1067
+msgid "Nagios group"
+msgstr "Nagios-Gruppe"
+
+#: plugins/admin/groups/class_group.inc:1069
+msgid "Group member"
+msgstr "Gruppenmitglieder"
 
-#: setup/class_setupStep_Checks.inc:240
+#: plugins/admin/groups/class_groupManagement.inc:26
 msgid ""
-"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
-"escape all quotes in strings in this case."
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
 msgstr ""
-"Erhöhen Sie die Sicherheit des Server, indem sie magic_quotes_gpc auf 'on' "
-"stellen. PHP wird in dieser Einstellung alle 'quotes' in 'strings' umwandeln."
+"Verwalten von Gruppeneigenschaften wie Mitglieder, POSIX-, Desktop-, Samba- "
+"und Mail-Einstellungen"
 
-#: setup/class_setupStep_Checks.inc:241
-msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
-msgstr ""
-"Suchen Sie in Ihrer php.ini nach 'magic_quotes_gpc' und setzen Sie es auf "
-"'On'."
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
+msgid "Infrastructure error"
+msgstr "Infrastruktur Fehler"
 
-#: setup/class_setupStep_Checks.inc:248
-msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
-msgstr ""
-"Erhöhen Sie die Leistung des Servers, indem sie magic_quotes_gpc auf 'off' "
-"stellen."
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
+msgid "Edit POSIX properties"
+msgstr "UNIX-Einstellungen bearbeiten"
 
-#: setup/class_setupStep_Checks.inc:249
-msgid ""
-"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
-msgstr ""
-"Suchen Sie in Ihrer php.ini nach 'zend.ze1_compatibility_mode' und setzen "
-"Sie es auf 'Off'."
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
+msgid "Edit mail properties"
+msgstr "Mail-Einstellungen bearbeiten"
 
-#: setup/class_setupStep_Checks.inc:259
-msgid "Configuration writeable"
-msgstr "Konfigurationsdatei schreibbar"
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
+msgid "Edit samba properties"
+msgstr "Samba-Einstellungen bearbeiten"
 
-#: setup/class_setupStep_Checks.inc:260
-msgid "The configuration file can't be written"
-msgstr "Die Konfigurationsdatei kann nicht geschrieben werden"
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
+msgid "Edit phone properties"
+msgstr "Telefon-Einstellungen bearbeiten"
 
-#: setup/class_setupStep_Checks.inc:261
-#, php-format
-msgid ""
-"GOsa reads its configuration from a file located in (%s/%s). The setup can "
-"write the configuration directly if it is writeable."
-msgstr ""
-"GOsa liest sein Konfiguration von einer Datei in (%s/%s). Die Einrichtung "
-"kann die Konfiguration direkt schreiben, wenn diese schreibbar ist."
+#: plugins/admin/groups/class_groupManagement.inc:189
+msgid "Menu"
+msgstr "Menü"
 
-#: setup/setup_config3.tpl:2
-msgid "GOsa core settings"
-msgstr "GOsa-Grundeinstellungen"
+#: plugins/admin/groups/class_groupManagement.inc:190
+msgid "Edit start menu properties"
+msgstr "Startmenü-Einstellungen bearbeiten"
 
-#: setup/setup_config3.tpl:6
-msgid "Enable primary group filter"
-msgstr "Primären Gruppenfilter aktivieren"
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
+msgid "Edit environment properties"
+msgstr "Umgebungs-Einstellungen bearbeiten"
 
-#: setup/setup_config3.tpl:18
-msgid "Display summary in listings"
-msgstr "Zeige Zusammenfassung in Listen"
+#: plugins/admin/groups/group-filter.xml:31
+msgid "Default filter2"
+msgstr "Standard-Filter"
 
-#: setup/setup_config3.tpl:30
-msgid "Honour administrative units"
-msgstr "Beachte administrative Einheiten"
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
+msgstr "Beschreibender Text für diese Gruppe"
 
-#: setup/setup_config3.tpl:42
-msgid "Smarty compile directory"
-msgstr "Smarty Arbeitsverzeichnis"
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+msgid "Select to create a samba conform group"
+msgstr "Auswählen, um eine sambakonforme Gruppe zu erzeugen"
 
-#: setup/setup_config3.tpl:51
-msgid "SNMP community"
-msgstr "SNMP Gemeinschaft"
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
+msgstr "in der Domain"
 
-#: setup/setup_config3.tpl:60
-msgid "Path for PPD storage"
-msgstr "Pfad für PPD-Ablage"
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
+msgstr "Mitglieder sind in einer Telefon-Gruppe"
 
-#: setup/setup_config3.tpl:77
-msgid "Path for kiosk profile storage"
-msgstr "Pfad für Kioskprofil-Ablage"
+#: plugins/admin/groups/generic.tpl:146
+msgid "Members are in a Nagios group"
+msgstr "Mitglieder sind in einer Nagios-Gruppe"
 
-#: setup/setup_config3.tpl:96
-msgid "SUDO role base"
-msgstr "Basis für SUDO-Rollen"
+#: plugins/admin/groups/generic.tpl:174
+msgid "Common group members"
+msgstr "Gemeinsame Gruppenmitglieder"
 
-#: setup/setup_config3.tpl:115
-msgid "Mail queue script"
-msgstr "Mail-Queue Skript"
+#: plugins/admin/groups/generic.tpl:183
+msgid "Partial group members"
+msgstr "Teilweise Gruppenmitglieder"
 
-#: setup/setup_config3.tpl:134
-msgid "Notification script"
-msgstr "Benachrichtigungsskript"
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
+msgstr "Gruppenmitglieder"
 
-#: setup/setup_config3.tpl:153
-msgid "Enable edit locking"
-msgstr "Aktiviere Bearbeitungssperre"
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
+msgstr "Liste der Gruppen"
 
-#: setup/setup_config3.tpl:174
-msgid "Gosa support daemon"
-msgstr "GOsa support daemon"
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
+msgstr "Eigenschaften"
 
-#: setup/setup_config3.tpl:193
-msgid "Daemon timeout"
-msgstr "Daemon-Zeitüberschreitung"
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
+msgstr "Bearbeiten"
 
-#: setup/setup_config3.tpl:207
-msgid "Login and session"
-msgstr "Anmeldung und Sitzung"
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
+msgid "Send message"
+msgstr "Nachricht senden"
 
-#: setup/setup_config3.tpl:210
-msgid "Login attribute"
-msgstr "Anmeldeattribut"
+#: plugins/admin/groups/group-list.xml:138
+msgid "Edit group"
+msgstr "Gruppe bearbeiten"
 
-#: setup/setup_config3.tpl:221
-msgid "Enforce register_globals to be deactivated"
-msgstr "Erzwinge das Deaktivieren von register_globals"
+#: plugins/admin/groups/group-list.xml:151
+msgid "Remove group"
+msgstr "Gruppe löschen"
 
-#: setup/setup_config3.tpl:233
-msgid "Enforce encrypted connections"
-msgstr "Erzwinge verschlüsselte Verbindungen"
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
+msgid "User and group selection"
+msgstr "Benuter- und Gruppenauswahl"
 
-#: setup/setup_config3.tpl:245
-msgid "Warn if session is not encrypted"
-msgstr "Bei unverschlüsselten Verbindungen warnen"
+#: plugins/admin/ogroups/ogroup-list.xml:11
+msgid "List of object groups"
+msgstr "Liste von Objektgruppen"
 
-#: setup/setup_config3.tpl:257
-msgid "Remember dialog filter settings"
-msgstr "Merken der Dialogfilter-Einstellungen"
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
+msgstr "Objektgruppe"
 
-#: setup/setup_config3.tpl:269
-msgid "Session lifetime"
-msgstr "Lebensdauer der Sitzung"
+#: plugins/admin/ogroups/ogroup-list.xml:142
+msgid "Edit object group"
+msgstr "Objektgruppe bearbeiten"
 
-#: setup/setup_config3.tpl:278
-msgid "Debugging"
-msgstr "Debugging"
+#: plugins/admin/ogroups/ogroup-list.xml:155
+msgid "Remove object group"
+msgstr "Objektgruppe löschen"
 
-#: setup/setup_config3.tpl:282
-msgid "Show PHP errors"
-msgstr "Zeige PHP Fehler"
+#: plugins/admin/ogroups/paste_generic.tpl:1
+msgid "Paste object group"
+msgstr "Objektgruppe einfügen"
 
-#: setup/setup_config3.tpl:294
-msgid "Maximum LDAP query time"
-msgstr "Maximale LDAP Abfragedauer"
+#: plugins/admin/ogroups/paste_generic.tpl:7
+msgid "Please enter the new object group name"
+msgstr "Bitte geben Sie einen Namen für die neue Objektgruppe ein"
 
-#: setup/setup_config3.tpl:312
-msgid "Log LDAP statistics"
-msgstr "Protokolliere LDAP-Statistiken"
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
+msgstr ""
+"Mitglieder kopieren. Warnung: Systeme können nur von einer einzelnen Gruppe "
+"erben!"
 
-#: setup/setup_config3.tpl:324
-msgid "Debug level"
-msgstr "Debug Level"
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
+msgstr "Drucker"
 
-#: setup/setup_config3.tpl:329 setup/setup_config3.tpl:332
-msgid "Disabled"
-msgstr "Deaktiviert"
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
+msgid "Object selection"
+msgstr "Objektauswahl"
 
-#: setup/setup_config3.tpl:330 setup/setup_config3.tpl:333
-msgid "Enabled"
-msgstr "Aktiviert"
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
+msgid "Phone queue"
+msgstr "Warteschlange"
 
-#: setup/setup_feedback.tpl:5
-msgid "Feedback sucessfully send"
-msgstr "Feedback erfolgreich gesendet"
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
+msgid "Groupware"
+msgstr "Groupware"
 
-#: setup/setup_feedback.tpl:15
-msgid "Subscribe to the gosa-announce mailinglist"
-msgstr "Abonnieren der GOsa-Announce Mailingliste"
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
+msgid "System settings"
+msgstr "Systemeinstellungen"
 
-#: setup/setup_feedback.tpl:18
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to subscribe you to the gosa-announce mailing list. You've to confirm "
-"this by mail."
-msgstr ""
-"Wenn Sie diese Option auswählen wird GOsa eine Verbindung zu http://oss."
-"gonicus.de versuchen, um die GOsa-Announce Mailingliste für Sie zu "
-"abonnieren. Sie müssen dem Abonnement danach noch per Mail zustimmen."
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
+msgid "Recipe"
+msgstr "Rezept"
 
-#: setup/setup_feedback.tpl:39
-msgid "Mail address"
-msgstr "Mail-Adresse"
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
+msgstr "Geräte"
 
-#: setup/setup_feedback.tpl:50
-msgid "Send feedback to the GOsa project team"
-msgstr "Sende Feedback an das GOsa Projektteam."
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
+msgid "Deployment summary"
+msgstr "Zusammenfassung der Verteilung"
 
-#: setup/setup_feedback.tpl:53
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to submit your form anonymously."
-msgstr ""
-"Bei Auswahl dieser Option wird GOsa versuchen, sich zu http://oss.gonicus.de "
-"zu verbinden, um Ihr Formular anonym abzusenden."
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
+msgstr "Schreibtisch"
 
-#: setup/setup_feedback.tpl:59
-msgid "Did the setup procedure help you to get started?"
-msgstr "Hat Ihnen die Setup-Prozedur weitergeholfen?"
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
+msgstr "Anwendungen"
 
-#: setup/setup_feedback.tpl:62 setup/setup_feedback.tpl:80
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "Yes"
-msgstr "ja"
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
+msgstr "Name der Gruppe"
 
-#: setup/setup_feedback.tpl:64 setup/setup_feedback.tpl:82
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "No"
-msgstr "nein"
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
+msgstr "Zusammengefasste Objekte"
 
-#: setup/setup_feedback.tpl:69
-msgid "If not, what problems did you encounter"
-msgstr "Falls nicht, welche Probleme sind Ihnen aufgefallen"
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
+msgstr ""
+"Sie können Terminals und Arbeitsstationen nicht zu einer Objektgruppe "
+"zusammenfassen!"
 
-#: setup/setup_feedback.tpl:77
-msgid "Is this the first time you use GOsa?"
-msgstr "Ist dies die erstmalige Verwendung von GOsa?"
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
+msgstr "keine"
 
-#: setup/setup_feedback.tpl:83
-msgid "I use it since"
-msgstr "Ich verwende es seit"
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
+msgstr "zu viele unterschiedliche Objekte!"
 
-#: setup/setup_feedback.tpl:84
-msgid "Select the year since when you are using GOsa"
-msgstr "Wählen Sie das Jahr aus, seit dem Sie GOsa verwenden"
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
+msgstr "Benutzer"
 
-#: setup/setup_feedback.tpl:91
-msgid "What operating system / distribution do you use?"
-msgstr "Welches Betriebssystem / welche Distribution verwenden Sie?"
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
+msgstr "Gruppen"
 
-#: setup/setup_feedback.tpl:99
-msgid "What web server do you use?"
-msgstr "Welchen Webserver verwenden Sie?"
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
+msgstr "Anwendungen"
 
-#: setup/setup_feedback.tpl:107
-msgid "What PHP version do you use?"
-msgstr "Welche PHP-Version verwenden Sie?"
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
+msgstr "Abteilungen"
 
-#: setup/setup_feedback.tpl:115
-msgid "GOsa version"
-msgstr "GOsa-Version"
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
+msgstr "Server"
 
-#: setup/setup_feedback.tpl:123
-msgid "LDAP"
-msgstr "LDAP"
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
+msgstr "Arbeitsstationen"
 
-#: setup/setup_feedback.tpl:127
-msgid "What kind of LDAP server(s) do you use?"
-msgstr "Welche(n) LDAP-Server verwenden Sie?"
+#: plugins/admin/ogroups/class_ogroup.inc:328
+msgid "Windows workstations"
+msgstr "Windows-Arbeitsstationen"
 
-#: setup/setup_feedback.tpl:133
-msgid "How many objects are in your LDAP?"
-msgstr "Wie viele Objekte befinden sich in Ihrem LDAP-Verzeichnis?"
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
+msgstr "Terminals"
 
-#: setup/setup_feedback.tpl:140
-msgid "Features"
-msgstr "Fähigkeiten"
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
+msgstr "Telefone"
 
-#: setup/setup_feedback.tpl:143
-msgid "What features of GOsa do you use?"
-msgstr "Welche Funktionen von GOsa verwenden Sie?"
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
+msgstr "Drucker"
 
-#: setup/setup_feedback.tpl:153
-msgid "What features do you want to see in future versions of GOsa?"
+#: plugins/admin/ogroups/class_ogroup.inc:533
+msgid "Non existing DN:"
+msgstr "Unbekannte DN:"
+
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
+msgid ""
+"These systems are already configured by other object groups and cannot be "
+"added:"
 msgstr ""
-"Welche Funktionen würden Sie gerne in zukünftigen Versionen von GOsa sehen?"
+"Die folgenden Systeme sind bereits für die Konfiguration über eine "
+"Objektgruppe vorgesehen und können nicht hinzugefügt werden:"
 
-#: setup/setup_feedback.tpl:160
-msgid "Send feedback"
-msgstr "Feedback senden"
+#: plugins/admin/ogroups/class_ogroup.inc:685
+msgid "You can combine two different object types at maximum, only!"
+msgstr ""
+"Sie können maximal zwei verschiedene Objekttypen miteinander kombinieren!"
 
-#: setup/setup_finish.tpl:3
-msgid "Create your configuration file"
-msgstr "Erzeugen Ihrer Konfigurationsdatei"
+#: plugins/admin/ogroups/class_ogroup.inc:849
+msgid "Object group generic"
+msgstr "Objektgruppe (Allgemein)"
 
-#: setup/setup_finish.tpl:10
-msgid "Depending on the user name your webserver is running on:"
-msgstr "Abhängig vom Benutzernamen mit dem Ihr Web-Server läuft:"
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
+msgstr "Objektgruppen"
 
-#: setup/setup_finish.tpl:28
-msgid "Download configuration"
-msgstr "Konfiguration herunterladen"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
+msgstr "Kombinieren von verschiedenen Objekttypen"
 
-#: setup/setup_finish.tpl:33
-msgid "Status: "
-msgstr "Status: "
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+msgid "Templates"
+msgstr "Vorlagen"
 
-#: setup/class_setupStep_Ldap.inc:53
-msgid "LDAP setup"
-msgstr "LDAP-Einrichtung"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
+msgstr "Anwendung"
 
-#: setup/class_setupStep_Ldap.inc:54
-msgid "LDAP connection setup"
-msgstr "Einrichten der LDAP-Verbindung"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+msgid "Windows Install"
+msgstr "Windows Installation"
 
-#: setup/class_setupStep_Ldap.inc:55
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
+msgid "ACL Templates"
+msgstr "ACL Vorlagen"
+
+#: plugins/admin/acl/acl-list.xml:11
+msgid "List of ACLs"
+msgstr "Liste der ACLs"
+
+#: plugins/admin/acl/paste_role.tpl:1
+msgid "Paste ACL-role"
+msgstr "ACL-Rolle einfügen"
+
+#: plugins/admin/acl/acl-filter.xml:48
+#: plugins/admin/acl/class_aclManagement.inc:154
+msgid "ACL Assignment"
+msgstr "ACL-Zuordnung"
+
+#: plugins/admin/acl/class_aclManagement.inc:26
 msgid ""
-"This dialog performs the basic configuration of the LDAP connectivity for "
-"GOsa."
+"Control access to GOsa managed objects down to attribute and action level"
 msgstr ""
-"Dieser Dialog richtet die grundlegende Konfiguration der LDAP-Verbindung für "
-"GOsa ein."
+"Rechtevergabe auf von GOsa verwaltete Objekte bis auf Attribut- und "
+"Aktionsebene"
 
-#: setup/class_setupStep_Ldap.inc:112
-#, php-format
-msgid "Anonymous bind to server '%s' failed!"
-msgstr "Anonyme Anmeldung an server '%s' ist fehlgeschlagen!"
+#: plugins/admin/acl/class_aclRole.inc:26
+#: plugins/admin/acl/class_aclRole.inc:715
+msgid "Access control roles"
+msgstr "Rollen für die Zugriffskontrolle"
 
-#: setup/class_setupStep_Ldap.inc:114
-#, php-format
-msgid "Bind as user '%s' failed!"
-msgstr "Verbindung als Benutzer '%s' ist fehlgeschlagen!"
+#: plugins/admin/acl/class_aclRole.inc:27
+msgid "Edit AC roles"
+msgstr "ACL-Rollen bearbeiten"
 
-#: setup/class_setupStep_Ldap.inc:119
-#, php-format
-msgid "Anonymous bind to server '%s' succeeded."
-msgstr "Verbindung als anonymer Benutzer zu Server '%s' war erfolgreich."
+#: plugins/admin/acl/class_aclRole.inc:138
+msgid "Reset ACL"
+msgstr "ACL zurücksetzen"
 
-#: setup/class_setupStep_Ldap.inc:120
-msgid "Please specify user and password!"
-msgstr "Bitte geben Sie Ihren Benutzer und das zugehörige Passwort ein!"
+#: plugins/admin/acl/class_aclRole.inc:411
+msgid "No ACL settings for this category"
+msgstr "Keine ACL-Einstellungen für diese Kategorie"
 
-#: setup/class_setupStep_Ldap.inc:122
+#: plugins/admin/acl/class_aclRole.inc:413
 #, php-format
-msgid "Bind as user '%s' to server '%s' succeeded!"
-msgstr "Verbindung als Benutzer '%s' zu Server '%s' war erfolgreich!"
-
-#: setup/setup_ldap.tpl:7
-msgid "Please choose the LDAP user to be used by GOsa"
-msgstr "Bitte wählen Sie den LDAP-Benutzer, der von GOsa verwendet werden soll"
+msgid "ACL for these objects: %s"
+msgstr "Enthält ACL für diese Objekte: %s"
 
-#: setup/setup_ldap.tpl:25
-msgid "LDAP connection"
-msgstr "LDAP-Verbindung"
+#: plugins/admin/acl/class_aclRole.inc:418
+msgid "Edit category ACL"
+msgstr "ACL Kategorie bearbeiten"
 
-#: setup/setup_ldap.tpl:29
-msgid "Location name"
-msgstr "Name des Standortes"
+#: plugins/admin/acl/class_aclRole.inc:421
+msgid "Delete category ACL"
+msgstr "ACL-Kategorie entfernen"
 
-#: setup/setup_ldap.tpl:37
-msgid "Connection URI"
-msgstr "Verbindungs-URI"
+#: plugins/admin/acl/class_aclRole.inc:442
+#, php-format
+msgid "Edit ACL for '%s', scope is '%s'"
+msgstr "ACL für '%s' bearbeiten, Bereich ist '%s'"
 
-#: setup/setup_ldap.tpl:45
-msgid "TLS connection"
-msgstr "TLS-Verbindung"
+#: plugins/admin/acl/class_aclRole.inc:635
+msgid "Object in use"
+msgstr "Objekt in Verwendung"
 
-#: setup/setup_ldap.tpl:69
-msgid "Authentication"
-msgstr "Authentisierung"
+#: plugins/admin/acl/class_aclRole.inc:635
+#, php-format
+msgid "This role cannot be removed while it is in use by these objects:"
+msgstr ""
+"Die Rolle kann nicht entfernt werden, solange sie noch von folgenden "
+"Objekten verwendet wird:"
 
-#: setup/setup_ldap.tpl:73
-msgid "Admin DN"
-msgstr "Administrator-DN"
+#: plugins/admin/acl/class_aclRole.inc:731
+msgid "RDN for role storage."
+msgstr "RDN für die Ablage von Rollen."
 
-#: setup/setup_ldap.tpl:86
-msgid "Automatically append LDAP base to admin DN"
-msgstr "Automatisch die LDAP-Basis an die Admin-DN anhängen"
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
+msgid "Domain component"
+msgstr "Domänen-Komponente"
 
-#: setup/setup_ldap.tpl:93
-msgid "Admin password"
-msgstr "Administrator-Passwort:"
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
+msgid "Locality name"
+msgstr "Standort-Name"
 
-#: setup/setup_ldap.tpl:101
-msgid "Schema based settings"
-msgstr "Schema-basierte Einstellungen"
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
+msgid "Name of locality to create"
+msgstr "Name des zu erzeugenden Standortes"
 
-#: setup/setup_ldap.tpl:105
-msgid "Use rfc2307bis compliant groups"
-msgstr "Verwende rfc2307bis-konforme Gruppen"
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
+msgstr "Beschreibender Text zu dieser Abteilung"
 
-#: setup/setup_ldap.tpl:117
-msgid "Current status"
-msgstr "Momentaner Status"
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
+msgid "Administrative settings"
+msgstr "Administrative Einstellungen"
 
-#: setup/class_setupStep_Migrate.inc:127 setup/class_setupStep_Migrate.inc:128
-msgid "LDAP inspection"
-msgstr "LDAP-Inspektion"
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
+msgstr "Abteilung als eigenständige administrative Einheit kennzeichnen"
 
-#: setup/class_setupStep_Migrate.inc:129
-msgid "Analyze your current LDAP for GOsa compatibility"
-msgstr "Untersuche Ihr LDAP-Verzeichnis auf GOsa-Kompatibilität"
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
+msgstr "Land"
 
-#: setup/class_setupStep_Migrate.inc:135
-msgid "Checking for root object"
-msgstr "Prüfe auf Wurzelobjekt"
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
+msgid "Locality"
+msgstr "Standort"
 
-#: setup/class_setupStep_Migrate.inc:141
-msgid "Inspecting object classes in root object"
-msgstr "Prüfe Objekt-Klassen des Wurzelobjektes"
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
+msgid "Domain"
+msgstr "Domain"
 
-#: setup/class_setupStep_Migrate.inc:147
-msgid "Checking permission for LDAP database"
-msgstr "Prüfe Berechtigungen auf die LDAP-Datenbank"
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
+msgid "Country name"
+msgstr "Name des Landes"
 
-#: setup/class_setupStep_Migrate.inc:153
-msgid "Checking for invisible departments"
-msgstr "Prüfe auf unsichtbare Abteilungen"
+#: plugins/admin/departments/country.tpl:14
+msgid "Name of country to create"
+msgstr "Name des anzulegenden Landes"
 
-#: setup/class_setupStep_Migrate.inc:158
-msgid "Checking for invisible users"
-msgstr "Prüfe auf unsichtbare Benutzer"
+#: plugins/admin/departments/dep-list.xml:11
+msgid "List of structural objects"
+msgstr "Liste von strukturellen Objekten"
 
-#: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3211
-msgid "Checking for super administrator"
-msgstr "Prüfe auf Superadministrator"
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "You are currently moving/renaming this department."
+msgstr ""
+"Momentan sind Sie dabei, diese Abteilung zu verschieben bzw. neu zu benennen."
 
-#: setup/class_setupStep_Migrate.inc:171
-msgid "Checking for users outside the people tree"
-msgstr "Prüfe auf Benutzer ausserhalb des Benutzerbaums"
-
-#: setup/class_setupStep_Migrate.inc:177
-msgid "Checking for groups outside the groups tree"
-msgstr "Prüfe auf Gruppen ausserhalb des Gruppenbaums"
-
-#: setup/class_setupStep_Migrate.inc:184
-msgid "Checking for windows workstations outside the winstation tree"
-msgstr "Prüfe auf Windows-Arbeitsstationen ausserhalb des Winstation-Baums"
-
-#: setup/class_setupStep_Migrate.inc:190
-msgid "Checking for duplicated UID numbers"
-msgstr "Prüfe auf doppelte UID Nummern"
-
-#: setup/class_setupStep_Migrate.inc:196
-msgid "Checking for duplicate GID numbers"
-msgstr "Prüfe auf doppelte GID Nummern"
-
-#: setup/class_setupStep_Migrate.inc:202
-msgid "Checking for old style USB devices"
-msgstr "Prüfe auf alte USB-Geräte"
-
-#: setup/class_setupStep_Migrate.inc:208
-msgid "Checking for old services that have to be migrated"
-msgstr "Prüfe auf alte Service-Einträge"
-
-#: setup/class_setupStep_Migrate.inc:214
-msgid "Checking for old style application menus"
-msgstr "Prüfe auf alte Menü-Einträge"
-
-#: setup/class_setupStep_Migrate.inc:240 setup/class_setupStep_Migrate.inc:292
-#: setup/class_setupStep_Migrate.inc:357 setup/class_setupStep_Migrate.inc:421
-#: setup/class_setupStep_Migrate.inc:492 setup/class_setupStep_Migrate.inc:569
-#: setup/class_setupStep_Migrate.inc:653 setup/class_setupStep_Migrate.inc:796
-#: setup/class_setupStep_Migrate.inc:892
-#: setup/class_setupStep_Migrate.inc:2038
-#: setup/class_setupStep_Migrate.inc:2506
-#: setup/class_setupStep_Migrate.inc:2697
-#: setup/class_setupStep_Migrate.inc:2834
-msgid "LDAP query failed"
-msgstr "LDAP-Abfrage fehlgeschlagen."
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
+msgstr ""
+"Verändern des für die Namensbildung zuständigen Attributes 'ou' einer "
+"Abteilung oder der Basis kann vorhandene ACLs und/oder Snapshots für alle "
+"Objekte unbrauchbar machen."
 
-#: setup/class_setupStep_Migrate.inc:241 setup/class_setupStep_Migrate.inc:293
-#: setup/class_setupStep_Migrate.inc:358 setup/class_setupStep_Migrate.inc:422
-#: setup/class_setupStep_Migrate.inc:493 setup/class_setupStep_Migrate.inc:570
-#: setup/class_setupStep_Migrate.inc:654 setup/class_setupStep_Migrate.inc:797
-#: setup/class_setupStep_Migrate.inc:893
-#: setup/class_setupStep_Migrate.inc:2039
-#: setup/class_setupStep_Migrate.inc:2507
-#: setup/class_setupStep_Migrate.inc:2698
-#: setup/class_setupStep_Migrate.inc:2835
-msgid "Possibly the 'root object' is missing."
-msgstr "Wahrscheinlich fehlt das Wurzelobjekt."
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+msgid "GOsa can NOT fix this for you, yet."
+msgstr "GOsa kann dies (noch) NICHT für Sie reparieren."
 
-#: setup/class_setupStep_Migrate.inc:263
-#, php-format
-msgid "Found %s duplicate values for attribute 'uidNumber'."
-msgstr "Es wurden %s doppelte Werte für das Attribute 'uidNumber' gefunden."
+#: plugins/admin/departments/dep_move_confirm.tpl:12
+msgid ""
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
+msgstr ""
+"Bevor Sie diese Aktion bestätigen, stellen Sie sicher, dass alles wie "
+"erwartet sein wird, vielleicht ist die beste Lösung, vorher ein Backup zu "
+"erstellen."
 
-#: setup/class_setupStep_Migrate.inc:315
-#, php-format
-msgid "Found %s duplicate values for attribute 'gidNumber'."
-msgstr "Es wurden %s doppelte Werte für das Attribute 'gidNumber' gefunden."
+#: plugins/admin/departments/organization.tpl:11
+msgid "Name of organization"
+msgstr "Name der Organisation"
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:583
-#: setup/class_setupStep_Migrate.inc:596
-#: setup/class_setupStep_Migrate.inc:1032
-#: setup/class_setupStep_Migrate.inc:1050
-#: setup/class_setupStep_Migrate.inc:1990
-#: setup/class_setupStep_Migrate.inc:2003
-#: setup/class_setupStep_Migrate.inc:2058
-#: setup/class_setupStep_Migrate.inc:2079
-#: setup/class_setupStep_Migrate.inc:2131
-#: setup/class_setupStep_Migrate.inc:3213
-msgid "Failed"
-msgstr "Fehlgeschlagen"
+#: plugins/admin/departments/organization.tpl:14
+msgid "Name of organization to create"
+msgstr "Name der zu erzeugenden Organisation"
 
-#: setup/class_setupStep_Migrate.inc:375
-#, php-format
-msgid ""
-"Found %s winstations outside the predefined winstation department ou '%s'."
-msgstr ""
-"Es wurden %s Windows-Arbeitsstationen ausserhalb der für diese Abteilung "
-"vordefinierten Winstation Organisationseinheit '%s' gefunden."
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
+msgstr "Kategorie dieses Teilbaums"
 
-#: setup/class_setupStep_Migrate.inc:448
-#, php-format
-msgid "Found %s groups outside the configured tree '%s'."
-msgstr ""
-"Es wurden %s Gruppen ausserhalb des konfigurierten Baums '%s' gefunden."
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
+msgstr "Land, in dem dieser Teilbaum anzusiedeln ist"
 
-#: setup/class_setupStep_Migrate.inc:449 setup/class_setupStep_Migrate.inc:526
-msgid "Move"
-msgstr "Verschieben"
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
+msgstr "Ort dieses Teilbaums"
 
-#: setup/class_setupStep_Migrate.inc:525
-#, php-format
-msgid "Found %s user(s) outside the configured tree '%s'."
-msgstr ""
-"Es wurde(n) %s Benutzer ausserhalb des konfigurierten Baums '%s' gefunden."
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
+msgstr "Postalische Anschrift dieses Teilbaums"
 
-#: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:598
-#, php-format
-msgid ""
-"The specified user '%s' does not have full access to your ldap database."
-msgstr ""
-"Der angegebene Benutzer '%s' hat keinen Vollzugriff auf Ihre LDAP-Datenbank."
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
+msgstr "Einleitende Telefonnummer dieses Teilbaums"
 
-#: setup/class_setupStep_Migrate.inc:662
-#, php-format
-msgid "Found %s user(s) that will not be visible in GOsa."
-msgstr ""
-"Es wurde(n) %s Benutzer gefunden, die in GOsa nicht sichtbar sein werden."
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
+msgstr "Einleitende Fax-Nummer dieses Teilbaums"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#: setup/class_setupStep_Migrate.inc:1120
-msgid "Migration error"
-msgstr "Migrationsfehler"
+#: plugins/admin/departments/class_department.inc:439
+msgid "Cannot find an unused tag for this administrative unit!"
+msgstr "Kann keinen unbenutzten Tag für diese administrative Einheit finden!"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
+#: plugins/admin/departments/class_department.inc:507
 #, php-format
-msgid "Cannot migrate department '%s':"
-msgstr "Die Abteilung '%s' kann nicht migriert werden:"
+msgid "Tagging '%s'."
+msgstr "Markiere '%s'."
 
-#: setup/class_setupStep_Migrate.inc:805
+#: plugins/admin/departments/class_department.inc:588
 #, php-format
-msgid "Found %s department(s) that will not be visible in GOsa."
-msgstr ""
-"Es wurde(n) %s Abteilung(en) gefunden, die nicht in GOsa sichtbar sein "
-"werden."
+msgid "Moving '%s' to '%s'"
+msgstr "Verschiebe '%s' nach '%s'"
 
-#: setup/class_setupStep_Migrate.inc:1029
+#: plugins/admin/departments/class_department.inc:629
 #, php-format
-msgid "GOsa 2.5 administrative accounts found: %s"
-msgstr "GOsa 2.5 Verwaltungs-Konten gefunden: %s"
-
-#: setup/class_setupStep_Migrate.inc:1034
-msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
-msgstr "Es gibt keinen GOsa 2.6 Administrator in Ihrem LDAP."
+msgid "FAILED to copy %s, aborting operation"
+msgstr "Fehler beim kopieren von %s, breche ab"
 
-#: setup/class_setupStep_Migrate.inc:1051
-msgid "There is no GOsa administrator account inside your LDAP."
-msgstr "Es gibt keinen GOsa Administrator in Ihrem LDAP."
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
+msgstr "Abteilungen"
 
-#: setup/class_setupStep_Migrate.inc:1120
-#, php-format
-msgid "Cannot add ACL for user '%s':"
-msgstr "Kann ACL für Benutzer '%s' nicht hinzufügen:"
+#: plugins/admin/departments/class_department.inc:674
+msgid "Department name"
+msgstr "Name der Abteilung"
 
-#: setup/class_setupStep_Migrate.inc:1158
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Input error"
-msgstr "Eingabefehler"
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
+msgstr "Telefon"
 
-#: setup/class_setupStep_Migrate.inc:1158
-msgid "Uid"
-msgstr "Uid"
+#: plugins/admin/departments/class_department.inc:737
+#, php-format
+msgid "Object '%s' is already tagged"
+msgstr "Objekt '%s' ist bereits markiert"
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Password error"
-msgstr "Passwortfehler"
+#: plugins/admin/departments/class_department.inc:744
+#, php-format
+msgid "Adding tag (%s) to object '%s'"
+msgstr "Füge Markierung (%s) zu Objekt '%s' hinzu"
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Provided passwords do not match!"
-msgstr "Die angegebenen Passwörter stimmen nicht überein!"
+#: plugins/admin/departments/class_department.inc:776
+#, php-format
+msgid "Removing tag from object '%s'"
+msgstr "Entferne Markierung von Objekt '%s'"
 
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Specify a valid user ID!"
-msgstr "Geben Sie eine gültige Benutzer ID an!"
+#: plugins/admin/departments/dep_iframe.tpl:1
+msgid "Processing the requested operation"
+msgstr "Gewünschte Operation wird durchgeführt"
 
-#: setup/class_setupStep_Migrate.inc:1201
-#, php-format
-msgid "Adding an administrative user failed: object '%s' already exists!"
+#: plugins/admin/departments/dep_iframe.tpl:7
+msgid ""
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
 msgstr ""
-"Hinzufügen eines administrativen Benutzers fehlgeschlagen: Objekt '%s' "
-"existiert bereits!"
+"Ihr Browser unterstützt keine IFRAME HTML Elemente. Bitte wählen Sie diesen "
+"Link, um die gewünschte Operation durchzuführen."
+
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
+msgid "Domain Component"
+msgstr "Domänen-Komponente"
 
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-msgid "Cannot move users to the requested department!"
-msgstr "Kann Benutzer nicht in die geforderte Abteilung verschieben!"
+#: plugins/admin/departments/class_organizationGeneric.inc:122
+msgid "Organization name"
+msgstr "Organisationsname"
 
-#: setup/class_setupStep_Migrate.inc:1250
-msgid "Winstation will be moved from"
-msgstr "Die Windows-Arbeitsstation wird verschoben von"
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+msgid "Phone number"
+msgstr "Telefonnummer"
 
-#: setup/class_setupStep_Migrate.inc:1261
-#: setup/class_setupStep_Migrate.inc:1310
-msgid "Updating following references too"
-msgstr "Aktualisiere ebenfalls die folgenden Referenzen"
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
+msgstr "Name der Abteilung"
 
-#: setup/class_setupStep_Migrate.inc:1300
-msgid "Group will be moved from"
-msgstr "Die Gruppe wird verschoben von"
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
+msgstr "Name des zu erzeugenden Teilbaums"
 
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "User will be moved from"
-msgstr "Der Benutzer wird verschoben von"
+#: plugins/admin/departments/generic.tpl:22
+msgid "Descriptive text for   department"
+msgstr "Beschreibender Text zu dieser Abteilung"
 
-#: setup/class_setupStep_Migrate.inc:1358
-msgid "The following references will be updated"
-msgstr "Die folgenden Referenzen werden aktualisiert"
+#: plugins/admin/departments/class_departmentManagement.inc:25
+msgid "Directory structure"
+msgstr "Verzeichnisstruktur"
 
-#: setup/class_setupStep_Migrate.inc:1991
+#: plugins/admin/departments/class_departmentManagement.inc:26
 msgid ""
-"The LDAP root object is missing. It is required to use your LDAP service."
+"Manage organizations, organizational units, localities, countries and more"
 msgstr ""
-"Das LDAP Wurzelobjekt fehlt. Es wird für den Betrieb des LDAP-Dienstes "
-"benötigt."
-
-#: setup/class_setupStep_Migrate.inc:1992
-#: setup/class_setupStep_Migrate.inc:2005
-msgid "Try to create root object"
-msgstr "Versuche, das Wurzelobjekt zu erzeugen"
+"Verwalten von Organisationen, Organisationsheineiten, Standorten, Ländern "
+"und mehr"
 
-#: setup/class_setupStep_Migrate.inc:2004
-msgid "Root object couldn't be created, you should try it on your own."
+#: plugins/admin/departments/class_departmentManagement.inc:125
+msgid ""
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
 msgstr ""
-"Das Wurzelobjekt konnte nicht erstellt werden, Sie sollten dies manuell "
-"erledigen."
+"Sobald die Tag-Operation abgeschlossen wurde, können Sie zum Ende der Seite "
+"scrollen und auf den 'Fortfahren'-Knopf drücken, um mit der "
+"Abteilungsverwaltung fort zu fahren."
 
-#: setup/class_setupStep_Migrate.inc:2059
-#, php-format
-msgid "Missing GOsa object class '%s'!"
-msgstr "Die GOsa-Objektklasse '%s' fehlt!"
+#: plugins/admin/departments/domain.tpl:11
+msgid "Domain name"
+msgstr "Domänenname"
 
-#: setup/class_setupStep_Migrate.inc:2060
-msgid "Please check your installation."
-msgstr "Bitte überprüfen Sie Ihre Installation."
+#: plugins/admin/departments/domain.tpl:14
+msgid "Name of domain to create"
+msgstr "Name der zu erzeugenden Domäne"
 
-#: setup/class_setupStep_Migrate.inc:2081
-#, php-format
+#: plugins/admin/users/password.tpl:4
 msgid ""
-"Cannot handle the structural object type of your root object. Please try to "
-"add the object class '%s' manually."
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
 msgstr ""
-"Die strukturelle Objekt-Typ Ihres Wurzel-Objektes kann nicht konvertiert "
-"werden. Bitte fügen Sie die Objekt-Klasse '%s' manuell hinzu."
-
-#: setup/class_setupStep_Migrate.inc:2440
-#, php-format
-msgid "Copy '%s' to '%s' failed:"
-msgstr "Kopieren von '%s' nach '%s' fehlgeschlagen:"
-
-#: setup/class_setupStep_Migrate.inc:2575
-#, php-format
-msgid "There are %s devices that need to be migrated."
-msgstr "%s Geräte müssen migriert werden."
+"Um das Benutzer-Passwort zu ändern, nutzen Sie die Felder unten. Die "
+"Änderungen werden sofort wirksam. Merken Sie sich das Passwort, da sich der "
+"Benutzer ohne dieses Passwort nicht anmelden kann."
 
-#: setup/class_setupStep_Migrate.inc:2635
-#, php-format
-msgid "Adding '%s' to the LDAP failed: %s"
-msgstr "Hinzufügen von '%s' ist fehlgeschlagen: %s"
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
+msgid "Password input dialog"
+msgstr "Passwort-Eingabedialog"
 
-#: setup/class_setupStep_Migrate.inc:2655
-#: setup/class_setupStep_Migrate.inc:2772
-#, php-format
-msgid "Updating '%s' failed: %s"
-msgstr "Aktualisierung von '%s' ist fehlgeschlagen: %s"
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
+msgid "Strength"
+msgstr "Stärke"
 
-#: setup/class_setupStep_Migrate.inc:2728
-#, php-format
-msgid "There are %s services that need to be migrated."
-msgstr "Es müssen %s Dienste migriert werden."
+#: plugins/admin/users/password.tpl:95
+msgid "Enforce password change on next login."
+msgstr "Erzwinge Änderung des Passwort bei Anmeldung"
 
-#: setup/class_setupStep_Migrate.inc:3059
-#, php-format
-msgid "There are %s application menus which have to be migrated."
-msgstr "Es müssen %s Menüs migriert werden."
+#: plugins/admin/users/templatize.tpl:2
+msgid "Applying a template"
+msgstr "Vorlage anwenden"
 
-#: setup/setup_welcome.tpl:4
+#: plugins/admin/users/templatize.tpl:6
 msgid ""
-"This seems to be the first time you start GOsa - we didn't find any "
-"configuration right now. This simple wizard intends to help you while "
-"setting it up."
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
 msgstr ""
-"Dies scheint das erste Mal zu sein, dass GOsa gestartet wurde - es wurde "
-"keine Konfiguration gefunden. Dieser einfache Assistent hilft Ihnen bei der "
-"Einrichtung."
+"Das Anwenden einer Vorlage ersetzt alle in der Vorlage definierten Attribute "
+"des Benutzers."
 
-#: setup/setup_welcome.tpl:8
-msgid "What will the wizard do for you?"
-msgstr "Was wird der Assistent für Sie erledigen?"
+#: plugins/admin/users/templatize.tpl:13
+msgid "Apply user template"
+msgstr "Benutzervorlage anwenden"
 
-#: setup/setup_welcome.tpl:11
-msgid "Create a basic, single site configuration"
-msgstr "Erstellen einer einfachen Konfiguration für einen Standort"
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
+msgstr "Vorlage"
 
-#: setup/setup_welcome.tpl:12
-msgid "Tries to find problems within your PHP and LDAP setup"
-msgstr "Versucht, Probleme in Ihrer PHP- und LDAP-Umgebung zu ermitteln"
+#: plugins/admin/users/templatize.tpl:32
+msgid "No templates available!"
+msgstr "Keine Vorlagen verfügbar!"
 
-#: setup/setup_welcome.tpl:13
-msgid "Let you choose from a set of basic and advanced configuration switches"
-msgstr ""
-"Lässt Sie aus einem Satz von einfachen bis erweiterten "
-"Konfigurationsschaltern wählen"
+#: plugins/admin/users/user-filter.xml:33
+msgid "Show templates"
+msgstr "Zeige Vorlagen"
 
-#: setup/setup_welcome.tpl:14
-msgid "Guided migration of existing LDAP trees"
-msgstr "Geführte Migration existierende LDAP-Bäume"
+#: plugins/admin/users/user-filter.xml:47
+msgid "Show POSIX users"
+msgstr "Zeige POSIX Benutzer"
 
-#: setup/setup_welcome.tpl:17
-msgid "What will the wizard NOT do for you?"
-msgstr "Was wird der Assistent NICHT für Sie erledigen?"
+#: plugins/admin/users/user-filter.xml:61
+msgid "Show SAMBA users"
+msgstr "Zeige Samba-Benutzer"
 
-#: setup/setup_welcome.tpl:20
-msgid "Find every possible configuration error"
-msgstr "Finde jeden möglichen Konfigurationsfehler"
+#: plugins/admin/users/user-filter.xml:75
+msgid "Show mail users"
+msgstr "Zeige Mail Benutzer"
+
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
+msgstr "Erzeugen eines neuen Benutzer aus einer Vorlage"
 
-#: setup/setup_welcome.tpl:21
-msgid "Migrate every possible LDAP setup - create backup dumps!"
-msgstr "Migriere jede mögliche LDAP-Umgebung - erstellen Sie Sicherungsabzüge!"
+#: plugins/admin/users/template.tpl:6
+msgid ""
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
+msgstr ""
+"Das Anlegen von neuen Benutzern kann durch die Verwendung von Vorlagen "
+"vereinfacht werden. Viele Datenbankeinträge lassen sich damit automatisch "
+"ausfüllen. Wählen sie 'keine' um den Vorlagen-Dialog zu überspringen."
 
-#: setup/setup_welcome.tpl:25
-msgid "To continue..."
-msgstr "Wird fortgesetzt..."
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
+msgstr "Auswahldialog für Benutzervorlagen"
 
-#: setup/setup_welcome.tpl:28
+#: plugins/admin/users/class_userManagement.inc:26
 msgid ""
-"For security reasons you need to authenticate for the installation by "
-"creating the file '/tmp/gosa.auth', containing the current session ID on the "
-"servers local filesystem. This can be done by executing the following "
-"command:"
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
 msgstr ""
-"Aus Sicherheitsgründen müssen Sie die Installation authorisieren, indem Sie "
-"die Datei '/tmp/gosa.auth' mit der aktuellen Sitzungs-ID im Dateisystem des "
-"Servers erzeugen. Dies wird durch das Ausführen des folgenden Kommandos "
-"erreicht:"
+"Verwalten von Konto-Eigenschaften wie Allgemeines, POSIX-, Samba- und Mail-"
+"Einstellungen"
 
-#: setup/setup_welcome.tpl:34
-msgid "Click the 'Continue' button when you've finished."
-msgstr "Drücken Sie auf den Knopf 'Fortfahren', wenn Sie fertig sind."
+#: plugins/admin/users/class_userManagement.inc:401
+msgid "You have no permission to change this users password!"
+msgstr "Sie haben keine Berechtigung dieses Passwort zu ändern!"
 
-#: setup/setup_license.tpl:8
-msgid "I have read the license and accept it"
-msgstr "Ich habe die Lizenz gelesen und akzeptiere diese"
+#: plugins/admin/users/class_userManagement.inc:791
+msgid "Account locking"
+msgstr "Konto-Sperrung"
 
-#: setup/class_setupStep_Config3.inc:81 setup/class_setupStep_Config3.inc:82
-msgid "GOsa settings 3/3"
-msgstr "GOsa-Einstellungen 3/3"
+#: plugins/admin/users/class_userManagement.inc:792
+#, php-format
+msgid ""
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
+msgstr ""
+"Die Passwort-Methode '%s' unterstützt keine Sperrungen. Das Konto %s wurde "
+"nicht gesperrt!"
 
-#: setup/class_setupStep_Config3.inc:83
-msgid "Tweak some GOsa core behaviour"
-msgstr "Einstellen von grundlegendem GOsa Verhalten"
+#: plugins/admin/users/class_userManagement.inc:865
+msgid "Unlock account"
+msgstr "Konto aktivieren"
 
-#: setup/class_setupStep_Config3.inc:212
-msgid "Session lifetime must be a numeric value!"
-msgstr "Lebenszeit der Sitzung muss ein numerischer Wert sein!"
+#: plugins/admin/users/class_userManagement.inc:867
+msgid "Lock account"
+msgstr "Konto deaktivieren"
 
-#: setup/class_setupStep_Config3.inc:216
-msgid "Maximum LDAP query time must be a numeric value!"
-msgstr "Die maximale LDAP-Abfragedauer muß ein numerischer Wert sein!"
+#: plugins/admin/users/class_userManagement.inc:880
+msgid "Edit generic properties"
+msgstr "Allgemeine Einstellungen bearbeiten"
 
-#: setup/setup_checks.tpl:9
-msgid "PHP module and extension checks"
-msgstr "PHP Modul- und Erweiterungsprüfung"
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
+msgstr "Netatalk"
 
-#: setup/setup_checks.tpl:41 setup/setup_checks.tpl:103
-msgid "GOsa will NOT run without fixing this."
-msgstr ""
-"GOsa kann nicht ausgeführt werden, wenn das Problem nicht behoben wird."
+#: plugins/admin/users/class_userManagement.inc:896
+msgid "Edit Netatalk properties"
+msgstr "Netatalk-Einstellungen bearbeiten"
 
-#: setup/setup_checks.tpl:45 setup/setup_checks.tpl:107
-msgid "GOsa will run without fixing this."
-msgstr "GOsa wird verwendbar sein, ohne dies zu beheben."
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
+msgstr "Fax"
 
-#: setup/setup_checks.tpl:67
-msgid "PHP setup configuration"
-msgstr "Konfiguration der PHP-Umgebung"
+#: plugins/admin/users/class_userManagement.inc:904
+msgid "Edit FAX properties"
+msgstr "FAX-Einstellungen bearbeiten"
 
-#: setup/setup_checks.tpl:67
-msgid "show information"
-msgstr "zeige Information"
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
+msgstr "Liste der Benutzer"
 
-#: setup/setup_schema.tpl:3
-msgid "Schema specific settings"
-msgstr "Schemaspezifische Einstellungen"
+#: plugins/admin/users/user-list.xml:140
+msgid "Lock users"
+msgstr "Benutzer sperren"
 
-#: setup/setup_schema.tpl:7
-msgid "Enable schema validation when logging in"
-msgstr "Ermögliche Schema-Validierung bei der Anmeldung"
+#: plugins/admin/users/user-list.xml:148
+msgid "Unlock users"
+msgstr "Benutzer entsperren"
 
-#: setup/setup_schema.tpl:16
-msgid "Check status"
-msgstr "Status prüfen"
+#: plugins/admin/users/user-list.xml:167
+msgid "Apply template"
+msgstr "Vorlage anwenden"
 
-#: setup/setup_schema.tpl:20
-msgid "Schema check succeeded"
-msgstr "Schema-Prüfung erfolgreich"
+#: plugins/admin/users/user-list.xml:199
+msgid "New user from template"
+msgstr "Neuen Benutzer aus Vorlage"
 
-#: setup/setup_schema.tpl:23
-msgid "Schema check failed"
-msgstr "Schema-Prüfung fehlgeschlagen"
+#: plugins/admin/users/user-list.xml:213
+msgid "Edit user"
+msgstr "Benutzer bearbeiten"
 
-#: setup/setup_schema.tpl:31
-msgid ""
-"Could not read any schema informations, all checks skipped. Adjust your ldap "
-"acls."
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
 msgstr ""
-"Konnte keine Schema-Informationen beziehen, alle Prüfungen wurden "
-"übersprungen. Passen Sie Ihre LDAP-ACLs an."
 
-#: setup/setup_schema.tpl:35
+#: plugins/admin/users/user-list.xml:245
+msgid "Remove user"
+msgstr "Benutzer entfernen"
+
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
+msgid "Back to main menu"
+msgstr "Zurück zum Hauptmenü"
+
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
+msgstr "Maximum"
+
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
+msgstr "Durchschnitt"
+
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
+msgstr "Minimum"
+
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
+msgid "Action"
+msgstr "Aktion"
+
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
+msgid "Systems"
+msgstr "Systeme"
+
+#: plugins/generic/statistics/statistics.tpl:2
+msgid "Usage statistics"
+msgstr "Nutzungsstatistik"
+
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
 msgid ""
-"It seems that your ldap database wasn't initialized yet. This maybe the "
-"reason, why GOsa can't read your schema configuration!"
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
 msgstr ""
-"Es scheint so, dass Ihre LDAP-Datenbank noch nicht initialisiert wurde. Dies "
-"könnte der Grund sein, weshalb GOsa die Schema-Konfiguration nicht lesen "
-"konnte!"
-
-#: setup/setup_config1.tpl:2
-msgid "Look and feel"
-msgstr "Aussehen und Verhalten"
 
-#: setup/setup_config1.tpl:6
-msgid "Theme"
-msgstr "Aussehen"
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
+msgid "Dash board"
+msgstr "Dashboard"
 
-#: setup/setup_config1.tpl:15
-msgid "Apache"
-msgstr "Apache"
+#: plugins/generic/statistics/statistics.tpl:16
+msgid ""
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
+msgstr ""
+"Kommunikation mit dem GOsa-Backend ist fehlgeschlagen. Bitte prüfen Sie die "
+"RPC-Konfiguration!"
 
-#: setup/setup_config1.tpl:19
-msgid "Compress output send to browser"
-msgstr "Sende komprimierte Ausgabe an den Browser"
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
+msgstr "Senden"
 
-#: setup/setup_config1.tpl:27
-msgid "People and group storage"
-msgstr "Ablage für Personen und Gruppen"
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
+msgstr "Report erstellen für"
 
-#: setup/setup_config1.tpl:30
-msgid "People DN attribute"
-msgstr "DN-Attribut für Personen"
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
+msgstr "Aktualisieren"
 
-#: setup/setup_config1.tpl:41
-msgid "People storage subtree"
-msgstr "Teilbaum für Benutzerablage"
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
+msgstr "Keine Statiskdaten für die angegebene Periode vorhanden"
 
-#: setup/setup_config1.tpl:50
-msgid "Group storage subtree"
-msgstr "Teilbaum für Gruppenablage"
+#: plugins/generic/statistics/statistics.tpl:87
+msgid "Select report type"
+msgstr "Wählen Sie einen Report-Typ"
 
-#: setup/setup_config1.tpl:59
-msgid "Include personal title in user DN"
-msgstr "Persönlichen Titel in der Benutzer-DN mitführen"
+#: plugins/generic/statistics/class_statistics.inc:263
+#, php-format
+msgid ""
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
+msgstr ""
+"Es sind momentan %s nicht übertragene Statistikdatensätze aufgelaufen. "
+"Möchten Sie diese nun übertragen?"
 
-#: setup/setup_config1.tpl:70
-msgid "Relaxed naming policies"
-msgstr "Nicht strikte Namensvorgaben"
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
+msgid "Channels"
+msgstr "Kanäle"
 
-#: setup/setup_config1.tpl:81
-msgid "Automatic UIDs"
-msgstr "Automatische UIDs"
+#: plugins/generic/dashBoard/Register/register.tpl:3
+msgid "GOsa registration"
+msgstr "GOsa Registrierung"
 
-#: setup/setup_config1.tpl:97 setup/class_setupStep_Config1.inc:118
-msgid "GID / UID min id"
-msgstr "GID / UID min ID"
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
+msgstr ""
 
-#: setup/setup_config1.tpl:113
-msgid "Number base for people/groups"
-msgstr "Zählbasis für Benutzer/Gruppen"
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
+msgstr ""
 
-#: setup/setup_config1.tpl:121
-msgid "Hook for number base"
-msgstr "Hook für Zählbasis"
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
+msgstr ""
 
-#: setup/setup_config1.tpl:140
-msgid "Password encryption algorithm"
-msgstr "Passwort-Verschlüsselungsalgorithmus"
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
+msgstr ""
 
-#: setup/setup_config1.tpl:151
-msgid "Password restrictions"
-msgstr "Passwort-Einschränkungen"
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
+msgstr ""
 
-#: setup/setup_config1.tpl:158 setup/setup_config1.tpl:162
-msgid "Password minimum length"
-msgstr "Minimale Passwortlänge"
+#: plugins/generic/dashBoard/Register/register.tpl:22
+msgid ""
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
+msgstr ""
 
-#: setup/setup_config1.tpl:169 setup/setup_config1.tpl:173
-msgid "Different characters from old password"
-msgstr "Verschiedene Zeichen vom vorherigen Kennwort"
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
+msgstr ""
 
-#: setup/setup_config1.tpl:182
-msgid "Password change hook"
-msgstr "Hook für Passwort-Änderung"
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
+msgstr ""
 
-#: setup/setup_config1.tpl:198
-msgid "Use SASL for kerberos"
-msgstr "Verwende SASL für Kerberos."
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
+msgstr ""
 
-#: setup/setup_config1.tpl:209
-msgid "Use account expiration"
-msgstr "Verwende ablaufende Konten"
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
+msgstr ""
 
-#: setup/setup_config1.tpl:221
-msgid ""
-"GOsa supports several encryption types for your passwords. Normally this is "
-"adjustable via user templates, but you can specify a default method to be "
-"used here, too."
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
 msgstr ""
-"GOsa unterstützt zahlreiche Verschlüsselungsarten für Ihre Passwörter. "
-"Üblicherweise wird die Auswahl über Vorlagen verwaltet, Sie können aber auch "
-"eine Standardmethode festlegen, die benutzt werden soll."
 
-#: setup/setup_config1.tpl:222
+#: plugins/generic/dashBoard/Register/register.tpl:33
 msgid ""
-"GOsa always acts as admin and manages access rights internally. This is a "
-"workaround till OpenLDAP's in directory ACI's are    fully implemented. For "
-"this to work, we need the admin DN and the corresponding password."
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
 msgstr ""
-"GOsa arbeitet immer als Administrator und verwaltet die Rechte intern "
-"(solange die in OpenLDAP implementierten ACIs nicht vollständig unterstützt "
-"werden, wird dieser Workaround bestehen bleiben). Damit dies möglich ist, "
-"wird an dieser Stelle der DN des LDAP-Administrators und das dazugehörige "
-"Passwort benötigt."
 
-#: setup/setup_config1.tpl:223
+#: plugins/generic/dashBoard/Register/register.tpl:34
 msgid ""
-"Some basic LDAP parameters are tunable and affect the locations where GOsa "
-"saves people and groups, including the way accounts get created. Check the "
-"values below if the fit your needs."
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
 msgstr ""
-"Einige LDAP-Parameter beeinflussen die Art und Weise wie (und wo) GOsa Daten "
-"in der Baumstruktur ablegt. Prüfen Sie die vorgegebenen Werte, ob sie Ihren "
-"Vorgaben entsprechen."
 
-#: setup/setup_config1.tpl:224
+#: plugins/generic/dashBoard/Register/register.tpl:35
 msgid ""
-"GOsa has modular support for several mail methods. These methods provide "
-"interfaces to users mailboxes and general handling    for quotas. You can "
-"choose the dummy plugin to leave all your mail settings untouched."
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
 msgstr ""
-"GOsa unterstützt verschiedene Zustellungs-Methoden. Diese Methoden stellen "
-"Schnittstellen für Benutzer-Postfächer und die allgemeine Verwaltung von "
-"Kontingenten bereit. Wählen sie 'dummy', um all Ihre Mail-Einstellungen "
-"unberührt zu lassen."
 
-#: setup/class_setupStep_Schema.inc:42 setup/class_setupStep_Schema.inc:43
-msgid "LDAP schema check"
-msgstr "LDAP Schemaprüfung"
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
+msgid "Registration complete"
+msgstr "Registrierung abgeschlossen"
 
-#: setup/class_setupStep_Schema.inc:44
-msgid "Perform test on your current LDAP schema"
-msgstr "Führe Test auf Ihrem aktuellen LDAP Schema durch"
+#: plugins/generic/dashBoard/Register/register.tpl:71
+msgid "GOsa instance sucessfully registered"
+msgstr ""
 
-#: setup/class_setupStep_Welcome.inc:38
-msgid "Welcome"
-msgstr "Willkommen"
+#: plugins/generic/dashBoard/Register/register.tpl:82
+msgid "GOsa instance will not be registered"
+msgstr "Die GOsa-Instanz wird nicht registriert"
 
-#: setup/class_setupStep_Welcome.inc:39
-msgid "The welcome message"
-msgstr "Die Willkommensnachricht"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
+msgid ""
+"Communciation with the backend failed! Please check your internet connection!"
+msgstr ""
+"Die Kommunikation mit dem Backend ist fehlgeschlagen! Bitte prüfen Sie die "
+"Netzwerkverbindung!"
 
-#: setup/class_setupStep_Welcome.inc:40
-msgid "Welcome to GOsa setup wizard"
-msgstr "Willkommen beim GOsa Einrichtungsassistent"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
+msgid ""
+"Authentication failed, please check combination of username and password!"
+msgstr ""
+"Die Authentifizierung ist fehlgeschlagen, bitte prüfen Sie die Kombination "
+"aus Benutzername und Passwort!"
 
-#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
-msgid "License"
-msgstr "Lizenz"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
+msgid ""
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
+msgstr ""
+"Interner Server-Fehler, versuchen Sie es bitte später erneut. Falls das "
+"Problem bestehen bleibt, kontaktieren Sie das GOsa-Team!"
 
-#: setup/class_setupStep_License.inc:58
-msgid "Terms and conditions for usage"
-msgstr "Bedingungen und Auflagen für den Gebrauch"
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
+msgid "Notifications"
+msgstr "Benachrichtigungen"
 
-#: setup/setup_language.tpl:3
-msgid "Please select the preferred language"
-msgstr "Bitte wählen Sie Ihre bevorzugte Sprache"
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
+msgstr ""
 
-#: setup/setup_language.tpl:5
+#: plugins/generic/dashBoard/dashBoard.tpl:7
 msgid ""
-"At this point, you can select the site wide default language. Choosing "
-"'automatic' will use the language requested by the browser. This setting can "
-"be overriden per user."
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
 msgstr ""
-"An dieser Stelle können Sie die standortweite Standardsprache auswählen. Bei "
-"Auswahl von 'automatisch' wird automatisch die vom Browser angeforderte "
-"Sprache verwendet. Diese Einstellung kann von der Einstellung des Benutzers "
-"überschrieben werden."
 
-#: setup/setup_language.tpl:9
-msgid "Please select your preferred language here"
-msgstr "Bitte wählen Sie hier Ihre bevorzugte Sprache"
+#: plugins/generic/dashBoard/dashBoard.tpl:13
+msgid "GOsa dash board"
+msgstr ""
 
-#: setup/class_setupStep_Config1.inc:74 setup/class_setupStep_Config1.inc:75
-msgid "GOsa settings 1/3"
-msgstr "GOsa-Einstellungen 1/3"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
+msgstr "Versinskonflikt"
 
-#: setup/class_setupStep_Config1.inc:76
-msgid "GOsa generic settings"
-msgstr "Allgemeine GOsa-Einstellungen"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
+msgid "Schema missing"
+msgstr "Schema fehlt"
 
-#: setup/class_setupStep_Config1.inc:118
-#, php-format
-msgid "The specified value for '%s' must be a numeric value"
-msgstr "Der angegebene Wert für '%s' muss numerisch sein."
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
+msgid "Plugin status"
+msgstr "Modul Status"
 
-#: setup/class_setupStep_Config1.inc:122 setup/class_setupStep_Config1.inc:126
-#, php-format
-msgid "Don't add a trailing comma to '%s'."
-msgstr "Fügen Sie kein Komma an das Ende von '%s'."
+#: plugins/generic/references/class_reference.inc:70
+msgid "Role membership"
+msgstr "Rollenmitgliedschaft"
 
-#: setup/class_setupStep_Config1.inc:122
-msgid "People storage ou"
-msgstr "Ablage-OU für Benutzer:"
+#: plugins/generic/references/class_reference.inc:76
+msgid "Object group membership"
+msgstr "Objektgruppenmitgliedschaft"
 
-#: setup/class_setupStep_Config1.inc:126
-msgid "Group storage ou"
-msgstr "Ablage-OU für Gruppen:"
+#: plugins/generic/references/class_reference.inc:82
+msgid "Department manager"
+msgstr "Abteilungs-Verwalter"
 
-#: setup/class_setupStep_Config1.inc:130
-msgid "Uid base must be numeric"
-msgstr "Der Wert für 'UID Base' muss numerisch sein"
+#: plugins/generic/references/class_reference.inc:88
+msgid "User manager"
+msgstr "Benutzer-Verwalter"
 
-#: setup/class_setupStep_Config1.inc:134
-msgid "The given password minimum length is not numeric."
-msgstr "Die angegebene minimale Passwortlänge ist nicht numerisch."
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+msgid "Object information"
+msgstr "Objekt-Information"
 
-#: setup/class_setupStep_Config1.inc:137
-msgid "The given password differ value is not numeric."
-msgstr "Die angegebene Passwort-Differenz ist nicht numerisch."
+#: plugins/generic/references/contents.tpl:7
+msgid "Show raw object entry"
+msgstr "Zeige rohe Objektdaten"
 
-#: setup/class_setupStep_Config2.inc:80 setup/class_setupStep_Config2.inc:81
-msgid "GOsa settings 2/3"
-msgstr "GOsa-Einstellungen 2/3"
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
+msgid "Last modification"
+msgstr "Letzte Änderung"
 
-#: setup/class_setupStep_Config2.inc:82
-msgid "Customize special parameters"
-msgstr "Anpassen von Spezialparametern"
+#: plugins/generic/references/contents.tpl:29
+msgid "Object references"
+msgstr "Objekt-Referenzen"
 
-#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
-msgid "Language setup"
-msgstr "Sprachauswahl"
+#: plugins/generic/references/contents.tpl:45
+msgid "ACL trace"
+msgstr "ACL-Verfolgung"
 
-#: setup/class_setupStep_Language.inc:42
-msgid "This step allows you to select your preferred language."
-msgstr "Dieser Schritt erlaubt es Ihnen, Ihre bevorzugte Sprache auszuwählen."
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
+msgstr "Geben Sie einen anderen Benutzernamen ein"
 
-#: setup/class_setupStep_Language.inc:47
-msgid "Automatic"
-msgstr "Automatisch"
+#: plugins/generic/references/class_aclResolver.inc:193
+msgid "ACLs"
+msgstr "ACLs"
+
+#: plugins/generic/references/class_aclResolver.inc:198
+#, php-format
+msgid "List of effective ACLs for '%s'"
+msgstr "Liste der effektiven ACLs für '%s'"
+
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
+msgid "Object permissions"
+msgstr "Objekt-Berechtigungen"
+
+#: plugins/generic/references/class_aclResolver.inc:311
+msgid "create"
+msgstr "anlegen"
+
+#: plugins/generic/references/class_aclResolver.inc:312
+msgid "remove"
+msgstr "entfernen"
+
+#: plugins/generic/references/class_aclResolver.inc:313
+msgid "move"
+msgstr "verschieben"
diff --git a/gosa-core/locale/core/es/LC_MESSAGES/messages.po b/gosa-core/locale/core/es/LC_MESSAGES/messages.po
index 3260f90..b2c5ba9 100644
--- a/gosa-core/locale/core/es/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/es/LC_MESSAGES/messages.po
@@ -8,2517 +8,2549 @@ msgid ""
 msgstr ""
 "Project-Id-Version: admin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-09 20:24+0200\n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
 "PO-Revision-Date: 2010-01-28 23:21+0100\n"
 "Last-Translator: \n"
 "Language-Team: Spanish <>\n"
+"Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Lokalize 1.0\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ihtml/themes/default/remove.tpl:2 ihtml/themes/default/msg_dialog.tpl:59
-#: ihtml/themes/default/msg_dialog.tpl:106 ihtml/themes/default/islocked.tpl:6
-#: ihtml/themes/default/conflict.tpl:6 html/password.php:280 html/index.php:57
-#: html/index.php:63 html/index.php:406 html/index.php:412
-#: include/functions.inc:954 include/functions.inc:2686
-#: include/functions.inc:2690 include/functions.inc:2696
-#: include/class_tabs.inc:268 include/utils/class_xml.inc:37
-#: plugins/admin/ogroups/remove.tpl:2 plugins/admin/groups/remove.tpl:2
-#: plugins/admin/groups/class_group.inc:994 plugins/admin/users/remove.tpl:2
-#: plugins/admin/departments/remove.tpl:2
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#: plugins/admin/acl/remove.tpl:2
-#: plugins/personal/posix/class_posixAccount.inc:793
-#: plugins/personal/posix/class_posixAccount.inc:946
-#: setup/class_setupStep_Migrate.inc:261 setup/class_setupStep_Migrate.inc:313
-#: setup/class_setupStep_Migrate.inc:446 setup/class_setupStep_Migrate.inc:523
-#: setup/class_setupStep_Migrate.inc:661 setup/class_setupStep_Migrate.inc:804
-#: setup/class_setupStep_Migrate.inc:2573
-#: setup/class_setupStep_Migrate.inc:2726
-#: setup/class_setupStep_Migrate.inc:3058 setup/setup_checks.tpl:32
-#: setup/setup_checks.tpl:93
-msgid "Warning"
-msgstr "Aviso"
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
+msgstr "Sin configurar"
 
-#: ihtml/themes/default/remove.tpl:6
-msgid ""
-"This may be used by several groups. Please double check if your really want "
-"to do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Esta puede ser usada por varios grupos. Si está seguro de lo que quiere "
-"hacer pulse dos veces, ya que no hay manera de que GOsa recupere "
-"posteriormente la información."
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
+msgid "Permission"
+msgstr "Permiso"
 
-#: ihtml/themes/default/remove.tpl:9 plugins/admin/ogroups/remove.tpl:10
-#: plugins/admin/groups/remove.tpl:10 plugins/admin/users/remove.tpl:10
-#: plugins/admin/acl/remove.tpl:10
-msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-"Entonces, si esta seguro, presione <i>Eliminar</i> para continuar o "
-"<i>Cancelar</i> para Abortar."
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
+msgid "Permission error"
+msgstr "Error de Permisos"
 
-#: ihtml/themes/default/remove.tpl:15
-#: ihtml/themes/default/copyPasteDialog.tpl:21
-#: ihtml/themes/default/acl.tpl:128 ihtml/themes/default/acl.tpl:142
-#: ihtml/themes/default/snapshotdialog.tpl:44
-#: ihtml/themes/default/snapshotdialog.tpl:89
-#: ihtml/themes/default/msg_dialog.tpl:79
-#: ihtml/themes/default/msg_dialog.tpl:139
-#: ihtml/themes/default/msg_dialog.tpl:144
-#: ihtml/themes/default/islocked.tpl:19 include/utils/class_msgPool.inc:312
-#: setup/setup_migrate.tpl:163 setup/setup_migrate.tpl:214
-#: setup/setup_migrate.tpl:261 setup/setup_migrate.tpl:326
-#: setup/setup_migrate.tpl:382 setup/setup_migrate.tpl:435
-#: setup/setup_migrate.tpl:480 setup/setup_migrate.tpl:523
-#: setup/setup_migrate.tpl:567 setup/setup_ldap.tpl:17
+#: include/class_management.inc:487
+#, fuzzy, php-format
+msgid "You are not allowed to create a snapshot for %s!"
+msgstr "No tiene permisos para crear una instantanea para %s."
+
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
 #, php-format
-msgid "Cancel"
-msgstr "Cancelar"
+msgid "Error"
+msgstr "Error"
+
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, fuzzy, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
+msgstr "No tiene permisos para recuperar una instantanea para %s."
 
-#: ihtml/themes/default/login.tpl:10
-msgid "GOsa login screen"
-msgstr "Pantalla de inicio de GOsa"
+#: include/class_management.inc:549
+#, fuzzy, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
+msgstr "No tiene permisos para recuperar una instantanea para %s."
 
-#: ihtml/themes/default/login.tpl:27
-msgid "Login screen"
-msgstr "Pantalla de inicio"
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
+msgid "Internal error"
+msgstr "error interno"
 
-#: ihtml/themes/default/login.tpl:34
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
 msgid ""
-"Please use your username and your password to log into the site "
-"administration system."
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
 msgstr ""
-"Por favor use su nombre de usuario y contraseña para iniciar sesión en el "
-"sistema de administración."
-
-#: ihtml/themes/default/login.tpl:42 ihtml/themes/default/login.tpl:44
-#: ihtml/themes/default/password.tpl:69 ihtml/themes/default/password.tpl:71
-msgid "Username"
-msgstr "Nombre de Usuario"
-
-#: ihtml/themes/default/login.tpl:47 ihtml/themes/default/login.tpl:49
-#: ihtml/themes/default/password.tpl:40
-#: plugins/personal/generic/paste_generic.tpl:20
-#: plugins/personal/password/class_password.inc:26 setup/setup_config2.tpl:237
-#: setup/setup_config2.tpl:282 setup/setup_migrate.tpl:299
-msgid "Password"
-msgstr "Contraseña"
-
-#: ihtml/themes/default/login.tpl:52 ihtml/themes/default/login.tpl:53
-#: ihtml/themes/default/password.tpl:60 ihtml/themes/default/password.tpl:62
-msgid "Directory"
-msgstr "Directorio"
-
-#: ihtml/themes/default/login.tpl:77 ihtml/themes/default/login.tpl:80
-msgid "Sign in"
-msgstr "Entrando"
-
-#: ihtml/themes/default/login.tpl:78
-msgid "Click here to log in"
-msgstr "Pulse aquí para iniciar sesión"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:1
-msgid "Copy & paste wizard"
-msgstr "Asistente para copiar y pegar"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:7
+#: include/class_management.inc:669
+#, fuzzy, php-format
 msgid ""
-"Some values need to be unique in the complete directory while some "
-"combinations make no sense. GOsa shows the relevant attributes. Please "
-"maintain the values below to fullfill the policies."
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
 msgstr ""
-"Algunos valores necesitan ser únicos en todo el directorio mientras que "
-"algunas combinaciones no tienen sentido. GOsa mostrara los atributos "
-"importantes. Por favor no cambie los valores aquí indicados para cumplir las "
-"políticas."
+"No hay declaración de pestaña para '%s' en su archivo de configuración. ¡No "
+"se puede crear la instancia del plugin!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:9
-msgid "Remember that some properties like taken snapshots will not be copied!"
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Configuration error"
+msgstr "Error de configuración"
+
+#: include/class_pluglist.inc:147
+#, fuzzy
+msgid "The configuration format has changed: please run the setup again!"
 msgstr ""
-"¡Recuerde que propiedades como gestionar instantáneas no serán copiadas!"
+"¡El formato de la configuración ha cambiado. Por favor use el asistente de "
+"configuración!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:10
+#: include/class_pluglist.inc:304
+#, fuzzy
 msgid ""
-"Or if you copy or cut an entry within GOsa and delete the source object, you "
-"may get errors while pasting this object again!"
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
 msgstr ""
-"Si mueve o copia una entrada dentro de GOsa y elimina el objeto original,"
-"¡tendrá errores al pegar el objeto!"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:330
-#, php-format
-msgid "Save"
-msgstr "Guardar"
+"Esta actualmente editando una entrada de base de datos.¿Quiere desestimar "
+"los cambios?"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:24
-msgid "Cancel all"
-msgstr "Cancelar todo"
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
+msgid "Unknown"
+msgstr "Desconocido"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:30
-msgid "Operation complete"
-msgstr "Operación incompleta"
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
+msgstr "¡El objeto será eliminado!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:32
-#: setup/class_setupStep_Finish.inc:37
-msgid "Finish"
-msgstr "Terminar"
+#: include/utils/class_msgPool.inc:19
+#, fuzzy, php-format
+msgid "This %s object will be deleted!"
+msgstr "¡El objeto '%s' será eliminado!"
 
-#: ihtml/themes/default/sizelimit.tpl:3
-msgid ""
-"The size limit option makes LDAP operations faster and saves the LDAP server "
-"from getting too much load. The easiest way to handle big databases without "
-"long timeouts would be to limit your search to smaller values and use "
-"filters to get the entries you are looking for."
-msgstr ""
-"La opción 'tamaño limite' permite unas operaciones con LDAP mas rápidas y "
-"protege al servidor LDAP de tener una mayor carga. La manera mas fácil de "
-"manipular grandes bases de datos sin grandes perdidas de tiempo es limitar "
-"la búsqueda a valores pequeños y usar filtros para encontrar las entradas "
-"que este buscando."
+#: include/utils/class_msgPool.inc:24
+#, php-format
+msgid "This object will be deleted: %s"
+msgstr "Este objeto será eliminado: %s"
 
-#: ihtml/themes/default/sizelimit.tpl:6
-msgid "Please choose the way to react for this session"
-msgstr "Por favor elija la forma de reaccionar en esta sesión"
+#: include/utils/class_msgPool.inc:26
+#, fuzzy, php-format
+msgid "This %s object will be deleted: %s"
+msgstr "El objeto '%s' será eliminado: %s"
 
-#: ihtml/themes/default/sizelimit.tpl:9
-msgid "ignore this error and show all entries the LDAP server returns"
-msgstr ""
-"ignore este error y muestre todas las entradas devueltas por el servidor LDAP"
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
+msgstr "Este objeto será eliminado"
 
-#: ihtml/themes/default/sizelimit.tpl:10
-msgid ""
-"ignore this error and show all entries that fit into the defined sizelimit "
-"and let me use filters instead"
-msgstr ""
-"ignore este error y muestre todas las entradas que coincidan con el tamaño "
-"limite definido y active el uso de filtros en su lugar"
+#: include/utils/class_msgPool.inc:33
+#, fuzzy, php-format
+msgid "This %s object will be deleted:"
+msgstr "El objeto '%s' será eliminado:"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
+#: include/utils/class_msgPool.inc:37
 #, php-format
-msgid "Set"
-msgstr "Activar"
+msgid "These objects will be deleted: %s"
+msgstr "Estos objetos serán eliminados: %s"
 
-#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
-msgid "Assigned ACL for current entry"
-msgstr "Asignando ACL a la entrada actual"
+#: include/utils/class_msgPool.inc:39
+#, fuzzy, php-format
+msgid "These %s objects will be deleted: %s"
+msgstr "Los objetos '%s' serán eliminados: %s"
 
-#: ihtml/themes/default/acl.tpl:12 plugins/admin/acl/acl_role.tpl:38
-msgid "New ACL"
-msgstr "Nueva ACL"
+#: include/utils/class_msgPool.inc:47
+msgid "You have no permission to delete this object!"
+msgstr "¡No tiene permisos para eliminar este objeto!"
 
-#: ihtml/themes/default/acl.tpl:17 plugins/admin/acl/acl_role.tpl:44
-msgid "ACL type"
-msgstr "Tipo de ACL"
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
+msgid "You have no permission to delete the object:"
+msgstr "No tiene permisos para eliminar este objeto:"
 
-#: ihtml/themes/default/acl.tpl:19 ihtml/themes/default/acl.tpl:24
-#: plugins/admin/acl/acl_role.tpl:44
-msgid "Select an acl type"
-msgstr "Seleccione un tipo de ACL"
+#: include/utils/class_msgPool.inc:58
+msgid "You have no permission to delete these objects:"
+msgstr "No tiene permisos para eliminar estos objetos:"
 
-#: ihtml/themes/default/acl.tpl:29 ihtml/themes/default/acl.tpl:52
-#: ihtml/themes/default/acl.tpl:125 ihtml/themes/default/acl.tpl:140
-#: include/utils/class_msgPool.inc:324 setup/setup_migrate.tpl:161
-#: setup/setup_migrate.tpl:212 setup/setup_migrate.tpl:260
-#: setup/setup_migrate.tpl:325 setup/setup_migrate.tpl:380
-#: setup/setup_migrate.tpl:433 setup/setup_migrate.tpl:478
-#: setup/setup_migrate.tpl:521 setup/setup_migrate.tpl:565
-#: setup/setup_ldap.tpl:16
-#, php-format
-msgid "Apply"
-msgstr "Aplicar"
+#: include/utils/class_msgPool.inc:65
+msgid "You have no permission to create this object!"
+msgstr "¡No tiene permisos para crear este objeto!"
 
-#: ihtml/themes/default/acl.tpl:36
-msgid "Additional filter options"
-msgstr "Añadir opciones de filtrado"
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
+msgid "You have no permission to create the object:"
+msgstr "No tiene permisos para crear este objeto:"
 
-#: ihtml/themes/default/acl.tpl:47
-msgid "Use members from"
-msgstr "Usar miembros de"
+#: include/utils/class_msgPool.inc:76
+msgid "You have no permission to create these objects:"
+msgstr "No tiene permisos para crear estos objetos:"
 
-#: ihtml/themes/default/acl.tpl:61
-msgid "Available members"
-msgstr "Miembros disponibles"
+#: include/utils/class_msgPool.inc:83
+msgid "You have no permission to modify this object!"
+msgstr "¡No tiene permisos para modificar este objeto!"
 
-#: ihtml/themes/default/acl.tpl:63 ihtml/themes/default/acl.tpl:68
-msgid "List message possible targets"
-msgstr "Mostrar mensaje de posibles destinos"
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
+msgid "You have no permission to modify the object:"
+msgstr "No tiene permisos para modificar este objeto:"
 
-#: ihtml/themes/default/acl.tpl:82 include/class_acl.inc:1090
-msgid "Members"
-msgstr "Miembros"
+#: include/utils/class_msgPool.inc:94
+msgid "You have no permission to modify these objects:"
+msgstr "No tiene permisos para modificar estos objetos:"
 
-#: ihtml/themes/default/acl.tpl:84 ihtml/themes/default/acl.tpl:90
-msgid "List message recipients"
-msgstr "Lista de recipientes de mensajes"
+#: include/utils/class_msgPool.inc:101
+msgid "You have no permission to view this object!"
+msgstr "¡No tiene permisos para ver este objeto!"
 
-#: ihtml/themes/default/acl.tpl:104 plugins/admin/acl/acl_role.tpl:49
-msgid "List of available ACL categories"
-msgstr "Lista de categorías ACL disponibles"
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
+msgid "You have no permission to view the object:"
+msgstr "No tiene permisos para ver el objeto:"
 
-#: ihtml/themes/default/acl.tpl:112
-msgid "ACL for this object"
-msgstr "ACL que tienen este objeto"
+#: include/utils/class_msgPool.inc:112
+msgid "You have no permission to view these objects:"
+msgstr "No tiene permisos para ver estos objetos:"
 
-#: ihtml/themes/default/acl.tpl:118
-msgid "Available roles"
-msgstr "Roles disponibles"
+#: include/utils/class_msgPool.inc:119
+msgid "You have no permission to move this object!"
+msgstr "¡No tiene permisos para mover este objeto!"
 
-#: ihtml/themes/default/accountexpired.tpl:15
-msgid "Your password has expired. Please choose a new one!"
-msgstr "Su contraseña ha caducado. ¡Por favor seleccione una nueva!"
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
+msgid "You have no permission to move the object:"
+msgstr "No tiene permisos para mover el objeto:"
 
-#: ihtml/themes/default/accountexpired.tpl:23
-#: ihtml/themes/default/accountexpired.tpl:27
-msgid "Old password"
-msgstr "Contraseña antigua"
+#: include/utils/class_msgPool.inc:130
+msgid "You have no permission to move these objects:"
+msgstr "No tiene permisos para mover estos objetos:"
 
-#: ihtml/themes/default/accountexpired.tpl:32
-#: ihtml/themes/default/accountexpired.tpl:36
-#: ihtml/themes/default/password.tpl:82 ihtml/themes/default/password.tpl:83
-#: html/password.php:196 plugins/admin/users/password.tpl:17
-#: plugins/admin/users/password.tpl:53
-#: plugins/admin/users/class_userManagement.inc:319
-#: plugins/personal/generic/password.tpl:22
-#: plugins/personal/generic/password.tpl:65
-#: plugins/personal/password/password.tpl:27
-#: plugins/personal/password/password.tpl:70
-msgid "New password"
-msgstr "Nueva contraseña"
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
+msgid "Connection information"
+msgstr "Información de conexión"
 
-#: ihtml/themes/default/accountexpired.tpl:41
-#: ihtml/themes/default/accountexpired.tpl:45
-msgid "Verify password"
-msgstr "Confirmar contraseña"
+#: include/utils/class_msgPool.inc:142
+#, php-format
+msgid "Cannot connect to %s database!"
+msgstr "¡No se puede conectar a la base de datos %s!"
 
-#: ihtml/themes/default/accountexpired.tpl:51
-#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
-msgid "Change password"
-msgstr "Cambiar contraseña"
+#: include/utils/class_msgPool.inc:154
+#, php-format
+msgid "Cannot select %s database!"
+msgstr "¡No se puede seleccionar la base de datos %s!"
 
-#: ihtml/themes/default/accountexpired.tpl:52
-#: ihtml/themes/default/password.tpl:102
-msgid "Click here to change your password"
-msgstr "Pulse aquí para cambiar su contraseña"
+#: include/utils/class_msgPool.inc:160
+#, php-format
+msgid "No %s server defined!"
+msgstr "¡No se ha definido el servidor %s!"
 
-#: ihtml/themes/default/logout-close.tpl:5
-msgid "Your GOsa session has been closed!"
-msgstr "¡Su sesión de GOsa se ha terminado!"
+#: include/utils/class_msgPool.inc:172
+#, php-format
+msgid "Cannot query %s database!"
+msgstr "¡No se ha podido ejecutar la consulta %s!"
 
-#: ihtml/themes/default/logout-close.tpl:7
-msgid ""
-"Please close this browser window and clean the authentication caches to "
-"avoid an automatic re-authentication by your browser."
+#: include/utils/class_msgPool.inc:178
+#, fuzzy, php-format
+msgid "The field %s contains a reserved keyword!"
+msgstr "¡El campo '%s' tiene una palabra reservada!"
+
+#: include/utils/class_msgPool.inc:184
+#, fuzzy, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
 msgstr ""
-"Por favor cierre la ventana del navegador y limpie la cache para evitar una "
-"reautentificación automática de su navegador."
+"¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:3
-msgid "Restoring object snapshots"
-msgstr "Recuperar instantanea de objetos"
+#: include/utils/class_msgPool.inc:191
+#, fuzzy, php-format
+msgid "%s command is invalid!"
+msgstr "¡El comando '%s' no es válido!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:6
-msgid ""
-"This procedure will restore a snapshot of the selected object. It will "
-"replace the existing object after pressing the restore button."
-msgstr ""
-"El procedimiento recuperara una instancia de los objetos seleccionados. "
-"Serán reemplazados los objetos actuales despues de presionar el botón "
-"recuperar."
+#: include/utils/class_msgPool.inc:193
+#, fuzzy, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
+msgstr "¡'%s' comando (%s) para la extensión %s no es válido!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:9
-msgid ""
-"Remember that DNS configuration and database entries could not be restored. "
-"For some objects it is only nescessary to open and save them again (goFon), "
-"but some entries must be recreated manually (glpi)."
-msgstr ""
-"Recuerde que la configuración DNS y las entradas de la base de datos no "
-"pueden ser recuperados. Para algunos objetos es solo necesario abrirlos y "
-"grabarlos de nuevo (goFon), pero algunas entradas deben ser creadas "
-"manualmente (glpi)."
+#: include/utils/class_msgPool.inc:195
+#, fuzzy, php-format
+msgid "%s command for plugin %s is invalid!"
+msgstr "¡'%s' comando para la extensión %s no es válido!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:12
-msgid ""
-"Don't forget to check references to other objects, for example does the "
-"selected printer still exists ?"
-msgstr ""
-"No olvide comprobar referencias a otros objetos, por ejemplo ¿todavía "
-"existen las impresoras seleccionadas?"
+#: include/utils/class_msgPool.inc:197
+#, fuzzy, php-format
+msgid "%s command (%s) is invalid!"
+msgstr "¡'%s' comando (%s) no es válido!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:20
-#: ihtml/themes/default/snapshotdialog.tpl:62 include/class_acl.inc:777
-#: include/class_acl.inc:784 include/class_acl.inc:791
-#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
-#: plugins/admin/departments/class_department.inc:621
-msgid "Object"
-msgstr "Objeto"
+#: include/utils/class_msgPool.inc:205
+#, fuzzy, php-format
+msgid "Cannot execute %s command!"
+msgstr "¡No se puede ejecutar el comando '%s'!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:29
-msgid "There is no snapshot available that could be restored"
-msgstr "No hay instantaneas disponibles que puedan ser recuperadas"
+#: include/utils/class_msgPool.inc:207
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
+msgstr "¡No se puede ejecutar el comando '%s' (%s) para la extensión %s!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:31
-msgid "Choose a snapshot and click the folder image, to restore the snapshot"
-msgstr ""
-"Elija una instantanea y pulse en la imagen carpeta, para recuperar la "
-"instantanea"
+#: include/utils/class_msgPool.inc:209
+#, fuzzy, php-format
+msgid "Cannot execute %s command for plugin %s!"
+msgstr "¡No se puede ejecutar el comando '%s' para la extensión %s!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:49
-msgid "Creating object snapshots"
-msgstr "Creando instantaneas de objetos"
+#: include/utils/class_msgPool.inc:211
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s)!"
+msgstr "¡No se puede ejecutar el comando '%s' (%s)!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:52
-msgid ""
-"This procedure will create a snapshot of the selected object. It will be "
-"stored inside a special branch of your directory system and can be restored "
-"later on."
-msgstr ""
-"Este procedimiento creará una instantánea de los objetos seleccionados. "
-"Serán guardados dentro de una carpeta especial de sus sistema de archivos y "
-"podrán recuperados posteriormente."
+#: include/utils/class_msgPool.inc:219
+#, fuzzy, php-format
+msgid "Value for %s is too large!"
+msgstr "¡El valor especificado como '%s' es demasiado grande!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:55
-msgid ""
-"Remember that database entries, DNS configurations and possibly created "
-"zones in server extensions will not be stored in the snapshot."
-msgstr ""
-"Recuerde que las entradas de base de datos, configuración DNS y zonas "
-"creadas en extensiones de servidor no serán guardadas en la instantánea."
+#: include/utils/class_msgPool.inc:221
+#, fuzzy, php-format
+msgid "%s must be smaller than %s!"
+msgstr "¡'%s' debe ser menor que %s!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:70
-msgid "Timestamp"
-msgstr "Marca de tiempo"
+#: include/utils/class_msgPool.inc:229
+#, fuzzy, php-format
+msgid "Value for %s is too small!"
+msgstr "¡El valor especificado como '%s' es demasiado pequeño!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:79
-msgid "Reason for generating this snapshot"
-msgstr "Razón para generar esta instantánea"
+#: include/utils/class_msgPool.inc:231
+#, fuzzy, php-format
+msgid "%s must be %s or above!"
+msgstr "¡'%s' debe ser %d o superior!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:87
-#: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:561
-#: plugins/admin/departments/class_department.inc:643
-msgid "Continue"
-msgstr "Continuar"
+#: include/utils/class_msgPool.inc:238
+#, fuzzy, php-format
+msgid "%s depends on %s - please provide both values!"
+msgstr "¡'%s' depende de '%s' - Por favor introduzca ambos valores!"
 
-#: ihtml/themes/default/msg_dialog.tpl:57
-#: ihtml/themes/default/msg_dialog.tpl:104 html/index.php:224
-#: html/index.php:228 include/class_management.inc:448
-#: include/class_management.inc:584 include/class_management.inc:916
-#: include/password-methods/class_password-methods.inc:250
-#: include/password-methods/class_password-methods.inc:309
-#: include/password-methods/class_password-methods.inc:320
-#: include/class_listing.inc:480 include/functions.inc:3393
-#: include/functions.inc:3407 include/functions.inc:3437
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485 include/functions.inc:3545
-#: include/class_tabs.inc:56 include/class_plugin.inc:670
-#: include/class_plugin.inc:712 include/class_plugin.inc:755
-#: include/class_plugin.inc:1642 include/utils/class_xml.inc:40
-#: include/utils/class_msgPool.inc:154 include/utils/class_msgPool.inc:166
-#: include/utils/class_msgPool.inc:184 include/utils/class_msgPool.inc:457
-#: include/utils/class_msgPool.inc:478 include/utils/class_msgPool.inc:497
-#: include/class_gosaSupportDaemon.inc:1184
-#: include/class_gosaSupportDaemon.inc:1204
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:377 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:469
-#: plugins/admin/groups/class_group.inc:539
-#: plugins/admin/groups/class_group.inc:545
-#: plugins/admin/groups/class_group.inc:753
-#: plugins/admin/groups/class_group.inc:894
-#: plugins/admin/groups/class_group.inc:899
-#: plugins/admin/groups/class_group.inc:1221
-#: plugins/admin/departments/class_department.inc:311
-#: plugins/admin/acl/class_aclRole.inc:681
-#: plugins/personal/generic/class_user.inc:297
-#: plugins/personal/generic/class_user.inc:408
-#: plugins/personal/generic/class_user.inc:503
-#: plugins/personal/generic/class_user.inc:801
-#: plugins/personal/generic/class_user.inc:1190
-#: plugins/personal/generic/class_user.inc:1197
-#: plugins/personal/generic/class_user.inc:1215
-#: plugins/personal/generic/class_user.inc:1485
-#: plugins/personal/generic/class_user.inc:1783
-#: setup/class_setupStep_Migrate.inc:1201 setup/setup_checks.tpl:30
-#: setup/setup_checks.tpl:91
-#, php-format
-msgid "Error"
-msgstr "Error"
+#: include/utils/class_msgPool.inc:244
+#, fuzzy, php-format
+msgid "There is already an entry with this %s attribute in the system!"
+msgstr "¡Ya existe una entrada con el atributo '%s' en el sistema!"
 
-#: ihtml/themes/default/msg_dialog.tpl:61
-#: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
-msgid "Information"
-msgstr "Información"
+#: include/utils/class_msgPool.inc:250
+#, fuzzy, php-format
+msgid "The required field %s is empty!"
+msgstr "¡El campo obligatorio '%s' está vacio!"
 
-#: ihtml/themes/default/msg_dialog.tpl:76
-#: ihtml/themes/default/msg_dialog.tpl:78
-#: ihtml/themes/default/msg_dialog.tpl:134
-#: ihtml/themes/default/msg_dialog.tpl:137
-#: ihtml/themes/default/msg_dialog.tpl:142 include/utils/class_msgPool.inc:318
-#: setup/class_setupStep_Migrate.inc:267 setup/class_setupStep_Migrate.inc:319
-#: setup/class_setupStep_Migrate.inc:380 setup/class_setupStep_Migrate.inc:453
-#: setup/class_setupStep_Migrate.inc:530 setup/class_setupStep_Migrate.inc:604
-#: setup/class_setupStep_Migrate.inc:657 setup/class_setupStep_Migrate.inc:800
-#: setup/class_setupStep_Migrate.inc:1046
-#: setup/class_setupStep_Migrate.inc:2013
-#: setup/class_setupStep_Migrate.inc:2157
-#: setup/class_setupStep_Migrate.inc:2579
-#: setup/class_setupStep_Migrate.inc:2733
-#: setup/class_setupStep_Migrate.inc:3063 setup/setup_checks.tpl:27
-#: setup/setup_checks.tpl:87
-#, php-format
-msgid "Ok"
-msgstr "Ok"
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
+msgstr "Ejemplo"
 
-#: ihtml/themes/default/password.tpl:6
-msgid "Change your password"
-msgstr "Cambie su contraseña"
+#: include/utils/class_msgPool.inc:278
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters"
+msgstr "El campo '%s' tiene caracteres no validos."
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Success"
-msgstr "Correcto"
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s is not allowed:"
+msgstr "'%s' no está permitido:"
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Your password has been changed successfully."
-msgstr "Su contraseña se ha cambiado correctamente."
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s are not allowed!"
+msgstr "¡'%s' no están permitidos!"
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:198
-#: plugins/admin/users/class_userManagement.inc:390
-#: plugins/personal/password/class_password.inc:128
-#: plugins/personal/password/class_password.inc:131
-#: plugins/personal/password/class_password.inc:134
-#: plugins/personal/password/class_password.inc:137
-#: plugins/personal/password/class_password.inc:140
-#: plugins/personal/password/class_password.inc:143
-#: plugins/personal/password/class_password.inc:157
-#: plugins/personal/password/class_password.inc:163
-msgid "Password change"
-msgstr "Cambio de contraseña"
+#: include/utils/class_msgPool.inc:282
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters!"
+msgstr "¡El campo '%s' tiene caracteres no validos!"
 
-#: ihtml/themes/default/password.tpl:53
-msgid ""
-"This dialog provides a simple way to change your password. Enter the current "
-"password and the new password (twice) in the fields below and press the "
-"'Change' button."
+#: include/utils/class_msgPool.inc:289
+#, php-format
+msgid "Missing %s PHP extension!"
+msgstr "¡Extensión PHP %s no encontrada!"
+
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
+#: ihtml/themes/default/copyPasteDialog.tpl:21
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
+#: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
+#: ihtml/themes/default/msg_dialog.tpl:139
+#: ihtml/themes/default/msg_dialog.tpl:144
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
+#, php-format
+msgid "OK"
 msgstr ""
-"Este dialogo le permite cambiar de forma sencilla la contraseña. Introduzca "
-"la contraseña actual y la nueva contraseña (dos veces) en los campos "
-"siguientes y presione en el botón 'Cambiar'."
 
-#: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/generic/password.tpl:17
-#: plugins/personal/generic/password.tpl:44
-#: plugins/personal/password/password.tpl:22
-#: plugins/personal/password/password.tpl:49
-msgid "Current password"
-msgstr "Contraseña actual"
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
+msgstr "Aplicar"
 
-#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:87
-msgid "New password repeated"
-msgstr "Repita la nueva contraseña"
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
+msgstr "Guardar"
 
-#: ihtml/themes/default/password.tpl:90
-#: plugins/personal/generic/password.tpl:32
-#: plugins/personal/generic/password.tpl:75
-#: plugins/personal/password/password.tpl:37
-#: plugins/personal/password/password.tpl:80
-msgid "Password strength"
-msgstr "Seguridad de contraseña"
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
+msgstr "Añadir"
 
-#: ihtml/themes/default/password.tpl:101
-msgid "Change"
-msgstr "Cambiar"
+#: include/utils/class_msgPool.inc:319
+#, php-format
+msgid "Add %s"
+msgstr "Añadir %s"
 
-#: ihtml/themes/default/islocked.tpl:2
-msgid "Locking conflict detected"
-msgstr "Detectado conflicto de Bloqueos"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
+msgstr "Eliminar"
 
-#: ihtml/themes/default/islocked.tpl:9
-msgid ""
-"If this lock detection is false, the other person has obviously closed the "
-"webbrowser during the edit operation. You may want to take over the lock by "
-"pressing the 'Edit anyway' button."
-msgstr ""
-"Si esta detección de bloqueo es falsa, la otra persona cerro su navegador "
-"mientras estaba editando. Puede eliminar el archivo de bloqueo en ese caso, "
-"pulsando en el botón <i>Eliminar</i>."
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete %s"
+msgstr "Eliminar %s"
 
-#: ihtml/themes/default/islocked.tpl:16
-msgid "Read only"
-msgstr "Solo lectura"
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
+msgstr "Activar"
 
-#: ihtml/themes/default/help.tpl:9
-msgid "GOsa help viewer"
-msgstr "Ventana de ayuda de GOsa"
+#: include/utils/class_msgPool.inc:331
+#, php-format
+msgid "Set %s"
+msgstr "Activar %s"
 
-#: ihtml/themes/default/help.tpl:15
-msgid "Index"
-msgstr "índice"
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit..."
+msgstr "Editar..."
 
-#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:13
-msgid "Search"
-msgstr "Buscar"
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit %s..."
+msgstr "Editar %s..."
 
-#: ihtml/themes/default/logout.tpl:5
-msgid "Your GOsa session has expired!"
-msgstr "¡Su sesión de GOsa ha caducado!"
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
+msgstr "Atrás"
+
+#: include/utils/class_msgPool.inc:363
+#, php-format
+msgid "This account has no valid %s extensions!"
+msgstr "¡Esta cuenta tiene extensiones %s no validas!"
 
-#: ihtml/themes/default/logout.tpl:7
+#: include/utils/class_msgPool.inc:369
+#, php-format
 msgid ""
-"The last interaction with the GOsa web interface has been some time ago in "
-"the past. For security reasons, the session has been closed. To continue "
-"with administrative tasks, please sign in again."
+"This account has %s settings enabled. You can disable them by clicking below."
 msgstr ""
-"La última interacción con el interfaz web de GOsa fue hace ya bastante "
-"tiempo. Por razones de seguridad, la sesión ha sido cancelada. Para "
-"continuar con las tareas administrativas, vuelva a iniciar sesión de nuevo."
-
-#: ihtml/themes/default/logout.tpl:10
-msgid "Sign in again"
-msgstr "Entrando de nuevo"
+"Esta cuenta tiene características %s activadas. Puede desactivarla pulsando "
+"aquí"
 
-#: ihtml/themes/default/conflict.tpl:2
-msgid "Session conflict detected"
-msgstr "Detectado conflicto de sesiones."
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, php-format
+msgid ""
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
+msgstr ""
+"Esta cuenta tiene las características %s activadas. ¡Para desactivarlas, "
+"necesita eliminar las caracteristicas %s primero!"
 
-#: ihtml/themes/default/conflict.tpl:6
+#: include/utils/class_msgPool.inc:388
+#, php-format
 msgid ""
-"Probably there's another active instance of your session. Multiple window "
-"operation is technical not possible and heavily depends on the browser "
-"you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is "
-"possible. Pressing the Logout button will close this session."
+"This account has %s settings disabled. You can enable them by clicking below."
 msgstr ""
-"Probablemente exista otra instancia activa de sus sesión. Operaciones en "
-"ventanas múltiples no son técnicamente posibles y dependen  del navegador "
-"utilizado. El uso de diferentes navegadores a la vez (por ejemplo: IE y "
-"Mozilla) es posible. Presione el botón 'Salir' para cerrar esta sesión."
+"Esta cuenta tiene características %s desactivadas. Puede activarla pulsando "
+"aquí"
 
-#: ihtml/themes/default/conflict.tpl:10
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, php-format
 msgid ""
-"Ignoring this message will change/destroy the data you're currently editing, "
-"so please close multiple windows and log in again."
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
 msgstr ""
-"Ignorando este mensaje cambiara/eliminara los datos que esta actualmente "
-"editando. Por favor, cierre las otras ventanas y vuelva a entrar."
+"Esta cuenta tiene las características %s desactivadas. ¡Para activarlas, "
+"necesita añadir las caracteristicas %s primero!"
 
-#: ihtml/themes/default/conflict.tpl:14
-msgid "Logout"
-msgstr "Salir"
+#: include/utils/class_msgPool.inc:406
+#, php-format
+msgid "Add %s settings"
+msgstr "Añadir caracteristicas %s"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-#: ihtml/themes/default/framework.tpl:20 ihtml/themes/default/framework.tpl:24
-#: include/class_pluglist.inc:212
-msgid ""
-"You are currently editing a database entry. Do you want to dismiss the "
-"changes?"
+#: include/utils/class_msgPool.inc:412
+#, php-format
+msgid "Remove %s settings"
+msgstr "Eliminar las caracteristicas %s"
+
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
 msgstr ""
-"Esta actualmente editando una entrada de base de datos.¿Quiere desestimar "
-"los cambios?"
+"Pulse en el botón - Editar - para cambiar la información en esta ventana"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-msgid "Main"
-msgstr "Inicio"
+#: include/utils/class_msgPool.inc:424
+msgid "January"
+msgstr "Enero"
 
-#: ihtml/themes/default/framework.tpl:16
-msgid "Help"
-msgstr "Ayuda"
+#: include/utils/class_msgPool.inc:424
+msgid "February"
+msgstr "Febrero"
 
-#: ihtml/themes/default/framework.tpl:21 ihtml/themes/default/framework.tpl:25
-msgid "Sign out"
-msgstr "Salir"
+#: include/utils/class_msgPool.inc:424
+msgid "March"
+msgstr "Marzo"
 
-#: ihtml/themes/default/framework.tpl:29
-msgid "Signed in:"
-msgstr "Entrando"
+#: include/utils/class_msgPool.inc:424
+msgid "April"
+msgstr "Abril"
 
-#: ihtml/themes/default/framework.tpl:32
-msgid "GOsa main menu"
-msgstr "Menú inicial de GOsa"
+#: include/utils/class_msgPool.inc:425
+msgid "May"
+msgstr "Mayo"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:454
-#: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:433
-msgid "Fatal error"
-msgstr "Error fatal"
+#: include/utils/class_msgPool.inc:425
+msgid "June"
+msgstr "Junio"
 
-#: html/password.php:58 html/index.php:144
-#, php-format
-msgid "GOsa configuration %s/%s is not readable. Aborted."
-msgstr "No se puede acceder a la configuración de GOsa %s/%s. Cancelado"
+#: include/utils/class_msgPool.inc:425
+msgid "July"
+msgstr "Julio"
 
-#: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:268
-#: include/password-methods/class_password-methods-ssha.inc:51
-#: include/password-methods/class_password-methods-sha.inc:48
-#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:58
-#: include/class_SnapshotHandler.inc:76 include/functions.inc:825
-#: include/functions.inc:3067 include/functions.inc:3099
-#: include/functions.inc:3112 include/utils/class_timezone.inc:47
-#: include/class_config.inc:155 include/class_config.inc:695
-#: include/class_config.inc:1146 include/class_config.inc:1159
-#: include/class_config.inc:1177 include/class_pluglist.inc:182
-#: include/class_CopyPasteHandler.inc:119
-#: include/class_CopyPasteHandler.inc:128
-#: include/class_CopyPasteHandler.inc:177
-#: include/class_CopyPasteHandler.inc:186
-#: include/class_CopyPasteHandler.inc:194
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:667
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Configuration error"
-msgstr "Error de configuración"
-
-#: html/password.php:74 html/index.php:165 html/setup.php:66
-#, php-format
-msgid "Directory '%s' specified as compile directory is not accessible!"
-msgstr "¡No se puede acceder a el directorio de compilación '%s'!"
-
-#: html/password.php:159 plugins/personal/generic/class_user.inc:593
-msgid "Password method"
-msgstr "Metodo de contraseña"
-
-#: html/password.php:159
-msgid "Error: Password method not available!"
-msgstr "Error: ¡El método de contraseñas no esta disponible!"
+#: include/utils/class_msgPool.inc:425
+msgid "August"
+msgstr "Agosto"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:316
-#: plugins/personal/password/class_password.inc:132
-msgid ""
-"The passwords you've entered as 'New password' and 'Repeated new password' "
-"do not match."
-msgstr ""
-"No coinciden las contraseñas introducidas como 'Nueva contraseña' y 'Repetir "
-"nueva contraseña'."
+#: include/utils/class_msgPool.inc:425
+msgid "September"
+msgstr "Septiembre"
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:138
-msgid "The password used as new and current are too similar."
-msgstr ""
-"La contraseña actual y la introducida como nueva son demasiado parecidas."
+#: include/utils/class_msgPool.inc:426
+msgid "October"
+msgstr "Octubre"
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:141
-msgid "The password used as new is to short."
-msgstr "La nueva contraseña es demasiado corta."
+#: include/utils/class_msgPool.inc:426
+msgid "November"
+msgstr "Noviembre"
 
-#: html/password.php:215 plugins/admin/groups/userSelect/user-list.xml:56
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
-#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
-#: plugins/personal/generic/class_user.inc:1313
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1345
-#: plugins/personal/generic/class_user.inc:1347
-#: plugins/personal/generic/generic.tpl:82
-#: plugins/personal/generic/paste_generic.tpl:15
-msgid "Login"
-msgstr "Inicio"
+#: include/utils/class_msgPool.inc:426
+msgid "December"
+msgstr "Diciembre"
 
-#: html/password.php:224 html/index.php:321
-msgid "Please check the username/password combination."
-msgstr "Por favor compruebe la combinación nombre de usuario/contraseña"
+#: include/utils/class_msgPool.inc:432
+msgid "Sunday"
+msgstr "Domingo"
 
-#: html/password.php:228
-msgid "You have no permissions to change your password."
-msgstr "No tiene permisos para cambiar su contraseña."
+#: include/utils/class_msgPool.inc:432
+msgid "Monday"
+msgstr "Lunes"
 
-#: html/password.php:249
-msgid "External password changer reported a problem: "
-msgstr "El programa externo de cambio de contraseña informo de un problema: "
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
+msgstr "Martes"
 
-#: html/password.php:280 html/index.php:406
-msgid "Session will not be encrypted."
-msgstr "La sesión no será codificada."
+#: include/utils/class_msgPool.inc:432
+msgid "Wednesday"
+msgstr "Miércoles"
 
-#: html/password.php:280 html/index.php:406
-msgid "Enter SSL session"
-msgstr "Entrar en sesión SSL"
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
+msgstr "Jueves"
 
-#: html/index.php:57
-msgid "Session is not encrypted!"
-msgstr "¡La sesión no es codificada!"
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
+msgstr "Viernes"
 
-#: html/index.php:64
-msgid ""
-"The session lifetime configured in your gosa.conf will be overridden by php."
-"ini settings."
-msgstr ""
-"El tiempo de vida de sesión es su gosa.conf sera sustituido por el valor de "
-"ini de php."
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
+msgstr "Sábado"
 
-#: html/index.php:165
-msgid "Smarty error"
-msgstr "Error Smarty"
+#: include/utils/class_msgPool.inc:439
+msgid "MySQL operation failed!"
+msgstr "¡La consulta MYSQL ha fallado!"
 
-#: html/index.php:216
-msgid "There is a problem with the authentication setup!"
-msgstr "¡Hay un problema con la configuración de autenticación!"
+#: include/utils/class_msgPool.inc:447
+msgid "read operation"
+msgstr "lectura"
 
-#: html/index.php:224
-msgid "Cannot find a valid user for the current authentication setup!"
-msgstr ""
-"¡No se puede encontrar un usuario válido para la configuración de "
-"autenticación seleccionada!"
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
+msgstr "adición"
 
-#: html/index.php:228
-msgid "User information is not unique accross the configured LDAP trees!"
-msgstr ""
-"¡La información del usuario no es única dentro del árbol LDAP selecionado!"
-
-#: html/index.php:254 html/index.php:265 html/index.php:278
-#: include/class_SnapshotHandler.inc:124 include/class_SnapshotHandler.inc:281
-#: include/class_SnapshotHandler.inc:329 include/class_SnapshotHandler.inc:333
-#: include/class_SnapshotHandler.inc:348 include/class_SnapshotHandler.inc:383
-#: include/class_SnapshotHandler.inc:438 include/class_SnapshotHandler.inc:503
-#: include/class_SnapshotHandler.inc:518 include/class_acl.inc:1233
-#: include/class_acl.inc:1329 include/functions.inc:483
-#: include/functions.inc:518 include/functions.inc:526
-#: include/functions.inc:571 include/functions.inc:840
-#: include/functions.inc:889 include/functions.inc:946
-#: include/functions.inc:999 include/functions.inc:3046
-#: include/functions.inc:3319 include/class_plugin.inc:1319
-#: include/class_plugin.inc:1368 include/class_plugin.inc:1372
-#: include/class_plugin.inc:1388 include/class_plugin.inc:1428
-#: include/class_plugin.inc:1486 include/class_plugin.inc:1552
-#: include/class_plugin.inc:1567 include/class_ldap.inc:756
-#: include/class_ldap.inc:1222 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:888
-#: plugins/admin/ogroups/class_ogroup.inc:902
-#: plugins/admin/groups/class_group.inc:697
-#: plugins/admin/groups/class_group.inc:1018
-#: plugins/admin/departments/class_department.inc:279
-#: plugins/admin/departments/class_department.inc:476
-#: plugins/admin/departments/class_department.inc:750
-#: plugins/admin/departments/class_department.inc:781
-#: plugins/admin/acl/class_aclRole.inc:613
-#: plugins/admin/acl/class_aclRole.inc:653
-#: plugins/admin/acl/class_aclRole.inc:667
-#: plugins/personal/generic/class_user.inc:716
-#: plugins/personal/generic/class_user.inc:1112
-#: plugins/personal/posix/class_posixAccount.inc:631
-#: plugins/personal/posix/class_posixAccount.inc:963
-#: setup/class_setupStep_Migrate.inc:1212
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#: setup/class_setupStep_Migrate.inc:2143
-#: setup/class_setupStep_Migrate.inc:2440
-#: setup/class_setupStep_Migrate.inc:2444
-#: setup/class_setupStep_Migrate.inc:2634
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
-#: setup/class_setupStep_Migrate.inc:3118
-#: setup/class_setupStep_Migrate.inc:3132
-msgid "LDAP error"
-msgstr "Error LDAP"
+#: include/utils/class_msgPool.inc:447
+msgid "modify operation"
+msgstr "modificación"
 
-#: html/index.php:265
-msgid "Cannot detect information about the installed LDAP schema!"
-msgstr ""
-"¡No se puede acceder a la información sobre los esuqemas LDAP instalados!"
+#: include/utils/class_msgPool.inc:448
+msgid "delete operation"
+msgstr "eliminación"
 
-#: html/index.php:278
-msgid "Your LDAP setup contains old schema definitions:"
-msgstr "Su configuración LDAP tiene definiciones de esquemas antiguos:"
+#: include/utils/class_msgPool.inc:448
+msgid "search operation"
+msgstr "busqueda"
 
-#: html/index.php:299
-msgid "Please specify a valid username!"
-msgstr "¡Por favor introduzca un nombre de usuario válido!"
+#: include/utils/class_msgPool.inc:448
+msgid "authentication"
+msgstr "autenticación"
 
-#: html/index.php:302
-msgid "Please specify your password!"
-msgstr "¡Por favor introduzca una contraseña!"
+#: include/utils/class_msgPool.inc:451
+#, php-format
+msgid "LDAP %s failed!"
+msgstr "¡LDAP %s ha fallado!"
 
-#: html/index.php:314
-msgid "Authentication error"
-msgstr "Error de Autenticación"
+#: include/utils/class_msgPool.inc:453
+msgid "LDAP operation failed!"
+msgstr "¡La consulta LDAP ha fallado!"
 
-#: html/index.php:314
-msgid "Cannot retrieve user information for htaccess authentication!"
-msgstr ""
-"¡No se puede recuperar la información de usuario para autenticación htaccess!"
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
+msgstr "Objeto"
 
-#: html/index.php:369
-msgid "Account locked. Please contact your system administrator!"
-msgstr ""
-"Cuenta bloqueada. ¡Por favor contacte con su administrador de sistemas!"
+#: include/utils/class_msgPool.inc:469
+msgid "Upload failed!"
+msgstr "¡Ha fallado el subir archivo!"
 
-#: html/index.php:412
-msgid ""
-"Your browser has cookies disabled. Please enable cookies and reload this "
-"page before logging in!"
-msgstr ""
-"Su navegador tiene las cookies desactivadas. ¡Porfavor active las cookies y "
-"recargue esta página antes de iniciar sesión!"
+#: include/utils/class_msgPool.inc:472
+#, php-format
+msgid "Upload failed: %s"
+msgstr "Ha fallado el subir archivo: %s"
 
-#: html/setup.php:66
-msgid "Smarty"
-msgstr "Smarty"
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
+msgstr "¡Ha fallado la comunciación con el servicio de infraestructura!"
 
-#: html/main.php:148
+#: include/utils/class_msgPool.inc:481
 #, php-format
-msgid "Cannot locate file '%s' - please run '%s' to fix this"
-msgstr ""
-"No se puede encontrar el archivo '%s' - por favor ejecute '%s' para "
-"solucionarlo"
+msgid "Communication failure with the infrastructure service: %s"
+msgstr "Ha fallado la comunciación con el servicio de infraestructura: %s"
 
-#: html/main.php:167
-msgid "PHP configuration"
-msgstr "Configuración PHP"
+#: include/utils/class_msgPool.inc:488
+#, fuzzy
+msgid "Communication failure with the GOsa-NG service!"
+msgstr "¡Ha fallado la comunciación con el servicio de infraestructura!"
 
-#: html/main.php:168
-msgid ""
-"FATAL: Register globals is on. GOsa will refuse to login unless this is "
-"fixed by an administrator."
-msgstr ""
-"FATAL: 'Register globals' está activado. No se permitirá ninguna acceso "
-"hasta que esto sea solucionado por un administrador."
+#: include/utils/class_msgPool.inc:490
+#, fuzzy, php-format
+msgid "Communication failure with the GOsa-NG service: %s"
+msgstr "Ha fallado la comunciación con el servicio de infraestructura: %s"
 
-#: html/main.php:198
-msgid "Your password is about to expire, please change your password!"
-msgstr ""
-"Su contraseña va a caducar próximamente, ¡Por favor cambie su contraseña!"
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
+#, fuzzy, php-format
+msgid "This %s is still in use by this object: %s"
+msgstr "'%s' esta todavía en uso por el objeto: %s"
 
-#: html/main.php:268
-msgid "Running out of memory!"
-msgstr "¡Funcionando sin memoria!"
+#: include/utils/class_msgPool.inc:503
+#, fuzzy, php-format
+msgid "This %s is still in use."
+msgstr "'%s' esta todavía en uso."
 
-#: html/main.php:325
-msgid "User ACL checks disabled"
-msgstr "Desactivados chequeos de ACL de usuario"
+#: include/utils/class_msgPool.inc:505
+#, fuzzy, php-format
+msgid "This %s is still in use by these objects: %s"
+msgstr "'%s' esta todavía en uso por los objetos: %s"
 
-#: html/main.php:373
-msgid "Plugin"
-msgstr "Extensión"
+#: include/utils/class_msgPool.inc:511
+#, fuzzy, php-format
+msgid "File %s does not exist!"
+msgstr "¡El archivo %s no existe!"
 
-#: html/main.php:374
-#, php-format
-msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
-msgstr ""
-"FATAL: ¡No se puede encontrar ninguna definición de extensión para la "
-"extensión '%s'!"
+#: include/utils/class_msgPool.inc:517
+#, fuzzy, php-format
+msgid "Cannot open file %s for reading!"
+msgstr "¡No se puede abrir el archivo '%s'!"
 
-#: html/main.php:388
-msgid "Configuration Error"
-msgstr "Error de configuración"
+#: include/utils/class_msgPool.inc:523
+#, fuzzy, php-format
+msgid "Cannot open file %s for writing!"
+msgstr "¡No se puede grabar el archivo '%s'!"
 
-#: html/main.php:389
-#, php-format
+#: include/utils/class_msgPool.inc:529
+#, fuzzy, php-format
 msgid ""
-"FATAL: not all POST variables have been transfered by PHP - please inform "
-"your administrator!"
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
 msgstr ""
-"FATAL: No todos las variables POST han sido transferidas por PHP - ¡Por "
-"favor informe a su administrador!"
+"El valor para '%s' no esta configurado o no es válido.¡Por favor compruebe "
+"el archivo de configuración!"
 
-#: html/helpviewer.php:64
-msgid "Help browser"
-msgstr "Navegador de ayuda"
+#: include/utils/class_msgPool.inc:535
+#, fuzzy, php-format
+msgid "Cannot delete file %s!"
+msgstr "¡No se puede eliminar el fichero '%s'!"
 
-#: html/helpviewer.php:118
-msgid "There is no helpfile specified for this class"
-msgstr "No hay archivo de ayuda disponible para esta clase"
+#: include/utils/class_msgPool.inc:541
+#, fuzzy, php-format
+msgid "Cannot create folder %s!"
+msgstr "¡No se puede crear la carpeta '%s'!"
 
-#: html/helpviewer.php:194 include/functions_helpviewer.inc:97
-msgid "previous"
-msgstr "anterior"
+#: include/utils/class_msgPool.inc:547
+#, fuzzy, php-format
+msgid "Cannot delete folder %s!"
+msgstr "¡No se puede eliminar la carpeta '%s'!"
 
-#: html/helpviewer.php:198 include/functions_helpviewer.inc:101
-msgid "next"
-msgstr "siguiente"
+#: include/utils/class_msgPool.inc:553
+#, php-format
+msgid "Checking for %s support"
+msgstr "Comprobando soporte %s"
 
-#: html/helpviewer.php:269
+#: include/utils/class_msgPool.inc:559
 #, php-format
-msgid "Helpdir '%s' is not accessible, can't read any helpfiles."
-msgstr ""
-"El directorio de ayuda '%s' no está disponible, no podrá leer ningún archivo "
-"de ayuda."
+msgid "Install and activate the %s PHP module."
+msgstr "Instala y activa el módulo de PHP %s."
 
-#: include/class_management.inc:32 include/class_management.inc:33
-#: plugins/personal/posix/class_posixAccount.inc:237
-msgid "unconfigured"
-msgstr "Sin configurar"
+#: include/utils/class_msgPool.inc:565
+#, fuzzy, php-format
+msgid ""
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
+msgstr ""
+"¡No se puede inicializar la clase '%s'! ¿Puede que falte la extensión "
+"correspondiente en la configuración de GOsa?"
 
-#: include/class_management.inc:145
-msgid "Filter error"
-msgstr "Error del filtro"
+#: include/utils/class_msgPool.inc:571
+#, fuzzy
+msgid ""
+"The supplied base is not valid and has been reset to its previous value!"
+msgstr "¡La base introducida no es válida, se ha dejado el valor anterior!"
 
-#: include/class_management.inc:145
-msgid "The filter is incomplete!"
-msgstr "¡El filtro está incompleto!"
+#: include/utils/class_timezone.inc:47
+#, fuzzy, php-format
+msgid "The configured timezone %s is not valid!"
+msgstr "No se puede acceder a la configuración de GOsa %s/%s. Cancelado"
 
-#: include/class_management.inc:292 include/class_management.inc:427
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1590
-#: include/class_plugin.inc:1602 include/class_plugin.inc:1617
-#: include/class_plugin.inc:1630
-#: plugins/admin/users/class_userManagement.inc:236
-#: plugins/admin/users/class_userManagement.inc:744
-msgid "Permission"
-msgstr "Permiso"
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
+msgstr "Aviso"
 
-#: include/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:702
-#: plugins/admin/users/class_userManagement.inc:706
-#: plugins/admin/acl/class_aclManagement.inc:98
-msgid "Permission error"
-msgstr "Error de Permisos"
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+msgid "Fatal error"
+msgstr "Error fatal"
 
-#: include/class_management.inc:427 include/class_plugin.inc:1590
-#, php-format
-msgid "You are not allowed to create a snapshot for %s."
-msgstr "No tiene permisos para crear una instantanea para %s."
+#: include/utils/class_xml.inc:51
+msgid "XML error"
+msgstr "Error XML"
 
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1602
-#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
-#, php-format
-msgid "You are not allowed to restore a snapshot for %s."
-msgstr "No tiene permisos para recuperar una instantanea para %s."
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
+msgstr ""
 
-#: include/class_management.inc:584
-#, php-format
-msgid ""
-"No tab declaration for '%s' found in your configuration file. Cannot create "
-"plugin instance!"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
 msgstr ""
-"No hay declaración de pestaña para '%s' en su archivo de configuración. ¡No "
-"se puede crear la instancia del plugin!"
 
-#: include/class_socketClient.inc:60
-msgid "The mcrypt module was not found. Please install php5-mcrypt."
-msgstr "El módulo mcrypt no ha sido encontrado. Por favor instale php-mcrypt."
+#: include/class_listing.inc:319
+msgid "Select all"
+msgstr "Seleccione todos"
 
-#: include/class_socketClient.inc:108
-#, php-format
-msgid "Socket connection to host '%s:%s' failed: %s"
-msgstr "Ha fallado la conexión a la máquina '%s:%s': %s"
+#: include/class_listing.inc:578
+msgid "created by"
+msgstr "Creado por"
 
-#: include/class_socketClient.inc:191
-#, php-format
-msgid "Socket timeout of %s seconds reached."
-msgstr "Tiempo excedido de %s segundos para conexión alcanzado."
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
+msgid "Root"
+msgstr "Raíz"
 
-#: include/password-methods/class_password-methods.inc:250
-msgid "Cannot find a suitable password method for the current hash!"
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
 msgstr ""
-"¡No se puede encontrar un método de codificación válido para la clave "
-"introducida!"
 
-#: include/class_SnapshotHandler.inc:46 include/class_SnapshotHandler.inc:77
-#: include/class_config.inc:1147 include/class_config.inc:1178
-#, php-format
-msgid ""
-"The snapshot functionality is enabled, but the required variable '%s' is not "
-"set."
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
 msgstr ""
-"La funcionalidad de instancias esta activa, pero el valor requerido '%s' no "
-"está activo."
 
-#: include/class_SnapshotHandler.inc:59 include/class_config.inc:1160
-#, php-format
-msgid ""
-"The snapshot functionality is enabled, but the required compression module "
-"is missing. Please install '%s'."
-msgstr ""
-"La funcionalidad de instancias esta activa, pero no se encuentra el módulo "
-"de compresión requerido. Por favor instale '%s'."
+#: include/class_listing.inc:1079
+msgid "Reload list"
+msgstr "Recargar lista"
 
-#: include/class_acl.inc:27
-msgid "Access control"
-msgstr "Control de acceso"
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
+msgid "Actions"
+msgstr "Acciones"
 
-#: include/class_acl.inc:28 plugins/admin/acl/class_aclManagement.inc:26
-msgid "Manage access control lists"
-msgstr "Gestión de las Listas de control de acceso"
+#: include/class_listing.inc:1453
+msgid "Copy"
+msgstr "Copiar"
 
-#: include/class_acl.inc:120 include/class_acl.inc:581
-#: include/class_acl.inc:1009
-#, fuzzy, php-format
-msgid "All users"
-msgstr "usuarios"
+#: include/class_listing.inc:1459
+msgid "Cut"
+msgstr "Mover"
 
-#: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
-msgid "All categories"
-msgstr "Todas las categorías"
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
+msgid "Paste"
+msgstr "Pegar"
 
-#: include/class_acl.inc:222
-msgid "Reset ACLs"
-msgstr "Eliminar ACLs"
+#: include/class_listing.inc:1492
+msgid "Cut this entry"
+msgstr "Mover esta entrada"
 
-#: include/class_acl.inc:223 plugins/admin/acl/class_aclRole.inc:135
-msgid "One level"
-msgstr "Un nivel"
+#: include/class_listing.inc:1501
+msgid "Copy this entry"
+msgstr "Copiar esta entrada"
 
-#: include/class_acl.inc:224 include/class_acl.inc:229
-#: plugins/admin/acl/class_aclRole.inc:136
-msgid "Current object"
-msgstr "Objeto actual"
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
+msgid "Restore snapshots"
+msgstr "Recuperar instantánea"
 
-#: include/class_acl.inc:225 plugins/admin/acl/class_aclRole.inc:137
-msgid "Complete subtree"
-msgstr "Subárbol completo"
+#: include/class_listing.inc:1549
+msgid "Export list"
+msgstr "Exportar lista"
 
-#: include/class_acl.inc:226 plugins/admin/acl/class_aclRole.inc:138
-msgid "Complete subtree (permanent)"
-msgstr "Subárbol completo (permanente)"
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
+msgid "Restore snapshot"
+msgstr "Recuperar instantanea"
 
-#: include/class_acl.inc:227 include/class_acl.inc:230
-msgid "Use ACL defined in role"
-msgstr "Utilizar las ACL definidas en el rol"
+#: include/class_listing.inc:1591
+#, fuzzy
+msgid "Create new snapshot for this object"
+msgstr "¡Crear una nueva instantánea de este objeto!"
 
-#: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1674
-#: setup/class_setupStep_Migrate.inc:1040
-msgid "Users"
-msgstr "Usuarios"
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
+#, fuzzy
+msgid "Parent filter"
+msgstr "Parámetro"
+
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
+msgstr "Nombre"
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
-#: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1043
-msgid "Groups"
-msgstr "Grupos"
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
+msgstr "Descripción"
 
-#: include/class_acl.inc:496 include/class_listing.inc:242
-#: include/class_listing.inc:999 include/class_listing.inc:1001
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:372
-msgid "Up"
-msgstr "Arriba"
-
-#: include/class_acl.inc:498 include/class_listing.inc:242
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:374
-msgid "Down"
-msgstr "Abajo"
-
-#: include/class_acl.inc:503 include/class_acl.inc:551
-#: include/class_sortableListing.inc:192 include/class_sortableListing.inc:194
-#: plugins/admin/ogroups/ogroup-list.xml:91
-#: plugins/admin/groups/group-list.xml:108
-#: plugins/admin/users/user-list.xml:114
-#: plugins/admin/departments/dep-list.xml:172
-#: plugins/admin/acl/class_aclRole.inc:377
-#: plugins/admin/acl/class_aclRole.inc:426 plugins/admin/acl/acl-list.xml:131
-msgid "Edit"
-msgstr "Editar"
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
+msgstr "Categoría"
 
-#: include/class_acl.inc:503 include/class_acl.inc:507
-#: include/class_acl.inc:1265 include/class_acl.inc:1266
-#: include/class_acl.inc:1271 include/class_tabs.inc:401
-#: plugins/admin/acl/tabs_acl.inc:28 plugins/admin/acl/class_aclRole.inc:378
-#: plugins/admin/acl/class_aclRole.inc:382
-#: plugins/admin/acl/class_aclRole.inc:762
-msgid "ACL"
-msgstr "ACL"
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+msgid "Options"
+msgstr "Opciones"
+
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
+msgid "LDAP error"
+msgstr "Error LDAP"
 
-#: include/class_acl.inc:507 include/class_acl.inc:555
-#: include/class_sortableListing.inc:197 include/class_sortableListing.inc:199
-#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
-#: plugins/admin/acl/class_aclRole.inc:430
+#: include/class_log.inc:87
 #, php-format
-msgid "Delete"
-msgstr "Eliminar"
-
-#: include/class_acl.inc:543
-msgid "No ACL settings for this category!"
-msgstr "¡No hay ACL configuradas para esta categoría!"
+msgid "Logging failed: %s"
+msgstr "Entrada fallida: %s"
 
-#: include/class_acl.inc:545
-#, php-format
-msgid "Contains ACLs for these objects: %s"
-msgstr "Tiene ACLs para estos objetos: %s"
+#: include/class_log.inc:102
+#, fuzzy, php-format
+msgid "Invalid option %s specified!"
+msgstr "¡Se ha indicado una opción no válida: '%s'!"
 
-#: include/class_acl.inc:551 include/class_acl.inc:555
-msgid "category ACL"
-msgstr "Categoría ACL"
+#: include/class_log.inc:106
+#, fuzzy
+msgid "Specified 'objectType' is empty or invalid!"
+msgstr "¡Se ha indicado un objectType vacio o no válido!"
 
-#: include/class_acl.inc:608
-#, php-format
-msgid "Edit ACL for '%s' - scope is '%s'"
-msgstr "Editar ACL para '%s', el ámbito es '%s'"
+#: include/class_multi_plug.inc:362
+#, fuzzy
+msgid "You are currently editing multiple entries."
+msgstr "Está actualmente editando varias entradas."
 
-#: include/class_acl.inc:618 plugins/admin/acl/class_aclRole.inc:460
-msgid "All objects in current subtree"
-msgstr "Todos los objetos en el subárbol actual"
+#: include/class_multi_plug.inc:394
+#, fuzzy
+msgid "Reset password"
+msgstr "Introducir contraseña"
 
-#: include/class_acl.inc:779 include/class_acl.inc:786
-msgid "Show/hide advanced settings"
-msgstr "Mostrar/ocultar caracteristicas avanzadas"
+#: include/class_multi_plug.inc:394
+#, fuzzy
+msgid "The user password has been reset. Please set a new password!"
+msgstr ""
+"¡La contraseña del usuario se ha eliminado, por favor introduzca una nueva!"
 
-#: include/class_acl.inc:803
-msgid "Create objects"
-msgstr "Crear objetos"
+#: include/class_tabs.inc:72
+#, fuzzy, php-format
+msgid "No plugin definition for %s found: please check the configuration file!"
+msgstr ""
+"No hay definiciones de extensión para iniciar '%s', por favor compruebe su "
+"archivo de configuración."
 
-#: include/class_acl.inc:804
-msgid "Move objects"
-msgstr "Mover objetos"
+#: include/class_tabs.inc:287
+#, fuzzy, php-format
+msgid "Delete process has been canceled by plugin %s: %s"
+msgstr "El proceso de eliminación ha sido cancelado por la extensión '%s': %s"
 
-#: include/class_acl.inc:805
-msgid "Remove objects"
-msgstr "Eliminar Objetos"
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
+msgstr "ACL"
 
-#: include/class_acl.inc:807
-msgid "Grant permission to owner"
-msgstr "Garantizar permiso al propietario"
+#: include/class_tabs.inc:425
+msgid "References"
+msgstr "Referencias"
 
-#: include/class_acl.inc:811 include/class_acl.inc:916
-#: include/class_acl.inc:920
-msgid "read"
-msgstr "leer"
+#: include/functions_helpviewer.inc:45
+#, fuzzy, php-format
+msgid "XML error in guide.xml: %s at line %s"
+msgstr "Error XML en guide.xml: %s en la linea %d"
 
-#: include/class_acl.inc:812 include/class_acl.inc:918
-#: include/class_acl.inc:921
-msgid "write"
-msgstr "escribir"
+#: include/functions_helpviewer.inc:88
+#, fuzzy
+msgid "No help available for this plug-in."
+msgstr "No hay ayuda disponible para esta extensión."
 
-#: include/class_acl.inc:816
-msgid "Complete object"
-msgstr "Objeto completo"
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
+msgstr "anterior"
 
-#: include/class_acl.inc:960 include/class_session.inc:76
-#: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:611 include/functions.inc:815
-#: include/functions.inc:933 include/functions.inc:1331
-#: include/functions.inc:2414 include/functions.inc:2448
-#: include/functions.inc:2468 include/class_ldap.inc:693
-#: include/class_ldap.inc:744 include/class_log.inc:87
-#: include/class_CopyPasteHandler.inc:160
-#: include/class_CopyPasteHandler.inc:274
-msgid "Internal error"
-msgstr "error interno"
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
+msgid "next"
+msgstr "siguiente"
 
-#: include/class_acl.inc:960
+#: include/functions_helpviewer.inc:388
 #, php-format
-msgid "Unkown ACL type '%s'!"
-msgstr "¡Tipo de ACL desconocido '%s'!"
+msgid "%s results for your search with the keyword %s"
+msgstr "hay %s resultados para su busqueda con el termino %s"
 
-#: include/class_acl.inc:1005
+#: include/functions_helpviewer.inc:461
 #, php-format
-msgid "Unknown entry '%s'!"
-msgstr "¡Entrada desconocida '%s'!"
+msgid "%s%% hit rate in file %s"
+msgstr "%s%% procentaje en fichero %s"
 
-#: include/class_acl.inc:1069 include/class_acl.inc:1071
-#, php-format
-msgid "Role: %s"
-msgstr "Rol: %s"
+#: include/class_msg_dialog.inc:124
+msgid "Please fix the above error and reload the page."
+msgstr "Por favor solucione el problema y actualize la página."
 
-#: include/class_acl.inc:1071
-msgid "unknown role"
-msgstr "rol desconocido"
+#: include/class_plugin.inc:581
+msgid ""
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
+msgstr ""
 
-#: include/class_acl.inc:1079
+#: include/class_plugin.inc:1411
 #, php-format
-msgid "Contains settings for these objects: %s"
-msgstr "Tiene configuraciones de los siguientes objetos: %s"
+msgid "Changing ACL DN from %s to %s"
+msgstr ""
 
-#: include/class_acl.inc:1096
-msgid "inactive"
-msgstr "inactivo"
+#: include/class_SnapShotDialog.inc:55
+#, fuzzy
+msgid "Date"
+msgstr "Pegar"
 
-#: include/class_acl.inc:1096
-msgid "No members"
-msgstr "Sin miembros"
+#: include/class_SnapShotDialog.inc:94
+#, fuzzy, php-format
+msgid "You are about to delete the snapshot %s."
+msgstr "Va a eliminar la instantanea '%s'."
 
-#: include/class_acl.inc:1266
-msgid "Access control list"
-msgstr "Lista de control de acceso"
+#: include/class_SnapShotDialog.inc:143
+#, fuzzy
+msgid "Delete snapshot"
+msgstr "Crear instantánea"
 
-#: include/class_acl.inc:1271
-msgid "ACL roles"
-msgstr "Roles ACL"
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+msgid "Y-m-d, H:i:s"
+msgstr "Y-m-d, H:i:s"
 
-#: include/class_session.inc:76 include/class_session.inc:101
-#: include/class_session.inc:127
-msgid "Requested channel does not exist! Please contact your Administrator."
+#: include/class_pathNavigator.inc:86
+#, fuzzy
+msgid "Welcome to GOsa"
+msgstr "Bienvenidos al asistente de configuración de GOsa"
+
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
 msgstr ""
-"¡El canal requerido no existe!. Por favor  contacte con su Administrador."
+"¡No se puede encontrar un método de codificación válido para la clave "
+"introducida!"
 
-#: include/class_listing.inc:301 setup/setup_migrate.tpl:93
-#: setup/setup_migrate.tpl:149 setup/setup_migrate.tpl:201
-#: setup/setup_migrate.tpl:368 setup/setup_migrate.tpl:421
-#: setup/setup_migrate.tpl:464 setup/setup_migrate.tpl:507
-#: setup/setup_migrate.tpl:551
-msgid "Select all"
-msgstr "Seleccione todos"
+#: include/class_sortableListing.inc:234
+#, fuzzy
+msgid "Sortable list"
+msgstr "Exportar lista"
 
-#: include/class_listing.inc:522
-msgid "created by"
-msgstr "Creado por"
+#: include/class_sortableListing.inc:239
+msgid "Edit this entry"
+msgstr "Editar esta entrada"
 
-#: include/class_listing.inc:991
-msgid "Go to root department"
-msgstr "Ir al departamento raíz"
+#: include/class_sortableListing.inc:244
+msgid "Delete this entry"
+msgstr "Eliminar esta entrada"
 
-#: include/class_listing.inc:991 include/class_listing.inc:993
-#: include/class_baseSelector.inc:159
-msgid "Root"
-msgstr "Raíz"
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+#, fuzzy
+msgid "unknown"
+msgstr "Desconocido"
 
-#: include/class_listing.inc:999
-msgid "Go up one department"
-msgstr "Subir un departamento"
+#: include/class_configRegistry.inc:197
+#, php-format
+msgid "%s has version %s but %s is required!"
+msgstr ""
 
-#: include/class_listing.inc:1007
-msgid "Go to users department"
-msgstr "Ir al departamento de usuarios"
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
+msgstr ""
 
-#: include/class_listing.inc:1007 include/class_listing.inc:1009
-msgid "Home"
-msgstr "Inicio"
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+#, fuzzy
+msgid "The following object classes are outdated:"
+msgstr "Las siguientes referencias se actualizaran"
 
-#: include/class_listing.inc:1014
-msgid "Reload list"
-msgstr "Recargar lista"
+#: include/class_configRegistry.inc:252
+msgid ""
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
+msgstr ""
 
-#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
-msgid "Submit"
-msgstr "Enviar"
+#: include/class_configRegistry.inc:254
+#, fuzzy
+msgid "Schema validation error"
+msgstr "Error de Autenticación"
 
-#: include/class_listing.inc:1109 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:64
-#: plugins/admin/groups/group-list.xml:79 plugins/admin/users/user-list.xml:78
-#: plugins/admin/departments/dep-list.xml:87 plugins/admin/acl/acl-list.xml:65
-msgid "Actions"
-msgstr "Acciones"
+#: include/class_configRegistry.inc:689
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a bool value!"
+msgstr ""
+"¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: include/class_listing.inc:1380 include/class_listing.inc:1430
-#: include/class_plugin.inc:2114
-msgid "Copy"
-msgstr "Copiar"
+#: include/class_configRegistry.inc:704
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a string!"
+msgstr ""
+"¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: include/class_listing.inc:1386 include/class_listing.inc:1420
-#: include/class_plugin.inc:2118
-msgid "Cut"
-msgstr "Mover"
+#: include/class_configRegistry.inc:719
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be numeric!"
+msgstr ""
+"¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: include/class_listing.inc:1394 include/class_listing.inc:1396
-#: include/class_plugin.inc:2125 include/class_plugin.inc:2128
-#: include/class_CopyPasteHandler.inc:570
-msgid "Paste"
-msgstr "Pegar"
+#: include/class_configRegistry.inc:734
+#, fuzzy, php-format
+msgid "The path %s specified for %s:%s is invalid!"
+msgstr "¡'%s' comando para la extensión %s no es válido!"
 
-#: include/class_listing.inc:1420 include/class_plugin.inc:2072
-msgid "Cut this entry"
-msgstr "Mover esta entrada"
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
+msgstr ""
+"¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: include/class_listing.inc:1430 include/class_plugin.inc:2080
-msgid "Copy this entry"
-msgstr "Copiar esta entrada"
+#: include/class_configRegistry.inc:755
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
+msgstr ""
+"¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: include/class_listing.inc:1462 include/class_listing.inc:1464
-msgid "Restore snapshots"
-msgstr "Recuperar instantánea"
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not writeable!"
+msgstr ""
+"¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: include/class_listing.inc:1478
-msgid "Export list"
-msgstr "Exportar lista"
+#: include/class_configRegistry.inc:802
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not writeable!"
+msgstr ""
+"¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: include/class_listing.inc:1513 include/class_listing.inc:1514
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
-msgid "Restore snapshot"
-msgstr "Recuperar instantanea"
+#: include/class_configRegistry.inc:820
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s does not exists!"
+msgstr ""
+"¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: include/class_listing.inc:1523 include/class_plugin.inc:2053
-msgid "Create snapshot"
-msgstr "Crear instantánea"
+#: include/class_configRegistry.inc:825
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not readable!"
+msgstr ""
+"¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: include/class_listing.inc:1524 include/class_plugin.inc:2054
-msgid "Create a new snapshot from this object"
-msgstr "¡Crear una nueva instantánea de este objeto!"
+#: include/class_configRegistry.inc:841
+#, fuzzy, php-format
+msgid "The command %s specified for %s:%s is invalid!"
+msgstr "¡'%s' comando (%s) para la extensión %s no es válido!"
 
-#: include/class_sortableListing.inc:194
-msgid "Edit this entry"
-msgstr "Editar esta entrada"
+#: include/class_configRegistry.inc:856
+#, fuzzy, php-format
+msgid "The DN %s specified for %s:%s is invalid!"
+msgstr "¡'%s' comando para la extensión %s no es válido!"
 
-#: include/class_sortableListing.inc:199
-msgid "Delete this entry"
-msgstr "Eliminar esta entrada"
+#: include/class_configRegistry.inc:871
+#, fuzzy, php-format
+msgid "The RDN %s specified for %s:%s is invalid!"
+msgstr "¡'%s' comando para la extensión %s no es válido!"
 
-#: include/functions.inc:134
-#, php-format
-msgid "Fatal error: no class locations defined - please run '%s' to fix this"
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
+msgstr ""
+"¡La generación de esta página ha provocado errores en el interprete PHP!"
+
+#: include/php_setup.inc:110
+#, fuzzy
+msgid "Send bug report"
+msgstr "Enviar informe de errores"
+
+#: include/php_setup.inc:114
+msgid "Toggle details"
+msgstr ""
+
+#: include/php_setup.inc:123
+msgid "PHP error"
+msgstr "Error PHP"
+
+#: include/php_setup.inc:142
+msgid "class"
+msgstr "clase"
+
+#: include/php_setup.inc:148
+msgid "function"
+msgstr "función"
+
+#: include/php_setup.inc:153
+msgid "static"
+msgstr "estático"
+
+#: include/php_setup.inc:157
+msgid "method"
+msgstr "método"
+
+#: include/php_setup.inc:190
+#, fuzzy
+msgid "Traceback"
+msgstr "Traza"
+
+#: include/php_setup.inc:191
+msgid "File"
+msgstr "Archivo"
+
+#: include/php_setup.inc:191
+msgid "Line"
+msgstr "Linea"
+
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+msgid "Type"
+msgstr "Tipo"
+
+#: include/php_setup.inc:192
+msgid "Arguments"
+msgstr "Argumentos"
+
+#: include/class_certificate.inc:73
+msgid "Certificate is empty!"
+msgstr "¡El certificado esta vacío!"
+
+#: include/class_certificate.inc:100
+#, fuzzy
+msgid "Cannot load certificate: only PEM and DER are supported!"
+msgstr ""
+"¡No se puede cargar el certificado - solo se soportan certificados PEM/DER!"
+
+#: include/class_certificate.inc:115
+msgid "Cannot extract information for non PEM certificates!"
+msgstr "¡No se puede extraer información de certificados que no sean PEM!"
+
+#: include/class_certificate.inc:219
+msgid "No valid certificate loaded!"
+msgstr "¡No ha cargado un certificado válido!"
+
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+#, fuzzy
+msgid "Requested channel does not exist!"
+msgstr ""
+"¡El canal requerido no existe!. Por favor  contacte con su Administrador."
+
+#: include/functions.inc:151
+#, fuzzy, php-format
+msgid "Fatal error: no class locations defined - please run %s to fix this"
 msgstr ""
 "Error fatal: no se han definido un emplazamiento para las clases - por favor "
 "ejecute '%s' para solucionar esto"
 
-#: include/functions.inc:141
-#, php-format
-msgid ""
-"Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+#: include/functions.inc:158
+#, fuzzy, php-format
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
 msgstr ""
 "Error fatal: no se puede instanciar la clase '%s' - intente solucionarlo "
 "ejecutando '%s'"
 
-#: include/functions.inc:455
-#, php-format
-msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#: include/functions.inc:483
+#, fuzzy, php-format
+msgid "Error while connecting to LDAP: %s"
 msgstr ""
 "FATAL: Ha habido un error conectando a LDAP. El servidor comunicó '%s'."
 
-#: include/functions.inc:526
-msgid "Username / UID is not unique inside the LDAP tree!"
-msgstr "¡El nombre de usuario / UID no es único dentro del árbol LDAP!"
-
-#: include/functions.inc:611
-msgid ""
-"Username / UID is not unique inside the LDAP tree. Please contact your "
-"Administrator."
-msgstr ""
-"El nombre de usuario / UID no es único dentro del árbol LDAP. Por favor "
-"contacte con su Administrador."
+#: include/functions.inc:554 include/functions.inc:640
+#, fuzzy
+msgid "User ID is not unique!"
+msgstr "¡sambaUnixIdPool no es único!"
 
-#: include/functions.inc:815 include/functions.inc:933
-msgid "Error while adding a lock. Contact the developers!"
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
 msgstr ""
-"Ha ocurrido un problema al añadir un bloqueo. ¡Contacte con los "
-"desarrolladores!"
 
-#: include/functions.inc:825
-#, php-format
-msgid ""
-"Cannot create locking information in LDAP tree. Please contact your "
-"administrator!"
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Cannot store lock information in LDAP!"
 msgstr ""
-"No puedo crear información de bloqueos en el árbol LDAP. ¡Por favor contacte "
-"con su Administrador!"
-
-#: include/functions.inc:825
-#, php-format
-msgid "LDAP server returned: %s"
-msgstr "El servidor LDAP devolvio: %s"
+"¡No se puede acceder a la información sobre los esuqemas LDAP instalados!"
 
-#: include/functions.inc:954
-msgid ""
-"Found multiple locks for object to be locked. This should not happen - "
-"cleaning up multiple references."
-msgstr ""
-"Se han encontrado varios bloqueos para un objeto que iba a ser bloqueado. "
-"Esto no debería ocurrir - limpiando referencias multiples."
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Error: %s"
+msgstr "Error"
 
-#: include/functions.inc:1258
-#, php-format
-msgid "The size limit of %d entries is exceed!"
+#: include/functions.inc:1294
+#, fuzzy, php-format
+msgid "The current size limit of %d entries is exceeded!"
 msgstr "¡El límite máximo de %d entradas se ha sobrepasado!"
 
-#: include/functions.inc:1260
+#: include/functions.inc:1296
 #, php-format
-msgid ""
-"Set the new size limit to %s and show me this message if the limit still "
-"exceeds"
+msgid "Set the size limit to %s"
 msgstr ""
-"Introduzca un nuevo límite máximo a %s y se volvera a mostrar este mensaje "
-"si se supera el límite máximo"
 
-#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
 msgid "Configure"
 msgstr "Configurar"
 
-#: include/functions.inc:1277
-msgid "incomplete"
-msgstr "incompleto"
+#: include/functions.inc:1313
+#, fuzzy
+msgid "list is incomplete"
+msgstr "¡El filtro está incompleto!"
 
-#: include/functions.inc:1667
+#: include/functions.inc:1663
 msgid "Continue anyway"
 msgstr "Continuar de cualquier manera"
 
-#: include/functions.inc:1669
+#: include/functions.inc:1665
 msgid "Edit anyway"
 msgstr "Editar de cualquier manera"
 
-#: include/functions.inc:1671
-#, php-format
-msgid "You're going to edit the LDAP entry/entries %s"
-msgstr "Has decidido editar las siguientes entradas LDAP %s"
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
+msgstr ""
 
-#: include/functions.inc:1911
+#: include/functions.inc:1909
 msgid "Entries per page"
 msgstr "Entradas por página"
 
-#: include/functions.inc:1940 include/class_filter.inc:315
-msgid "Apply filter"
-msgstr "Aplicar filtro"
-
-#: include/functions.inc:2252 include/class_filter.inc:281
-msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-
-#: include/functions.inc:2306
+#: include/functions.inc:2087
 #, fuzzy, php-format
 msgid "GOsa %s"
 msgstr "servicio de registro de GOsa"
 
-#: include/functions.inc:2313
+#: include/functions.inc:2094
 #, fuzzy, php-format
 msgid "GOsa %s snapshot (Rev %s)"
 msgstr "Instantánea de desarrollo GOsa (Rev %s)"
 
-#: include/functions.inc:2318
+#: include/functions.inc:2099
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "Instantánea de desarrollo GOsa (Rev %s)"
 
-#: include/functions.inc:2414
-#, php-format
-msgid "File '%s' could not be deleted."
+#: include/functions.inc:2195
+#, fuzzy, php-format
+msgid "File %s cannot be deleted!"
 msgstr "El archivo '%s' no puede ser eliminado."
 
-#: include/functions.inc:2448 include/functions.inc:2468
-msgid "Cannot write to revision file!"
+#: include/functions.inc:2225 include/functions.inc:2245
+#, fuzzy
+msgid "Cannot write revision file!"
 msgstr "¡No se puede escribir en el archivo de revisión!"
 
-#: include/functions.inc:2686 include/functions.inc:2690
-#: include/functions.inc:2696
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr "No esta disponible 'baseIdHook'.¡Se usara la base predeterminada!"
 
-#: include/functions.inc:2720
-msgid "LDAP warning"
-msgstr "Aviso LDAP"
-
-#: include/functions.inc:2720
-msgid "Cannot get schema information from server. No schema check possible!"
+#: include/functions.inc:2550
+#, fuzzy
+msgid ""
+"Cannot read schema information from LDAP. Schema validation is not possible!"
 msgstr ""
 "No puedo obtener información de esquemas del servidor. ¡No es posible "
 "comprobar los esquemas!"
 
-#: include/functions.inc:2746
-msgid "Used to store account specific informations."
-msgstr "Usado para guardar información específica de la cuenta."
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
+msgstr ""
 
-#: include/functions.inc:2753
+#: include/functions.inc:2583
+#, fuzzy
 msgid ""
-"Used to lock currently edited entries to avoid multiple changes at the same "
+"This class is used to lock entries in order to prevent multiple edits at a "
 "time."
 msgstr ""
 "Usado para bloquear entradas editadas actualmente y así evitar múltiples "
 "cambios simultáneos."
 
-#: include/functions.inc:2798
-#, php-format
-msgid "Missing required object class '%s'!"
+#: include/functions.inc:2628
+#, fuzzy, php-format
+msgid "Required object class %s is missing!"
 msgstr "¡No se ha encontrado la clase de objeto necesaria '%s'!"
 
-#: include/functions.inc:2801
-#, php-format
-msgid "Missing optional object class '%s'!"
+#: include/functions.inc:2631
+#, fuzzy, php-format
+msgid "Optional object class %s is missing!"
 msgstr "¡No se ha encontrado la clase de objeto opcional '%s'!"
 
-#: include/functions.inc:2806
-#, php-format
-msgid "Version mismatch for required object class '%s' (!=%s)!"
+#: include/functions.inc:2636
+#, fuzzy, php-format
+msgid "Wrong version of required object class %s (!=%s) detected!"
 msgstr ""
 "¡Las versiones de la clase de objeto necesaria no coinciden '%s' (!=%s)!"
 
-#: include/functions.inc:2809
-#, php-format
-msgid "Class(es) available"
+#: include/functions.inc:2639
+#, fuzzy, php-format
+msgid "Class available"
 msgstr "Clase(s) disponibles"
 
-#: include/functions.inc:2831
+#: include/functions.inc:2661
 msgid ""
-"You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
-"schema    configuration do not support this option."
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
 msgstr ""
-"Ha activado la opción rfc2307bis en el paso 'configuración ldap', pero su "
-"configuración de esquemas no soporta esta opción."
 
-#: include/functions.inc:2832
+#: include/functions.inc:2662
+#, fuzzy
 msgid ""
-"In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
-"be      AUXILIARY"
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
 msgstr ""
 "Para poder usar grupos conforme a rfc2307bis, el objectClass 'posixGroup' "
 "debe ser AUXILIARY"
 
-#: include/functions.inc:2836
+#: include/functions.inc:2666
 msgid ""
-"Your schema is configured to support the rfc2307bis group, but you have "
-"disabled this option on the 'ldap setup' step."
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
 msgstr ""
-"Su esquema está configurado para soportar grupos rfc2307bis, pero ha "
-"desactivado esta opción en el paso 'configuración ldap'."
 
-#: include/functions.inc:2837
-msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#: include/functions.inc:2667
+#, fuzzy
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
 msgstr "El objectClass 'posixGroup' debe ser STRUCTURAL"
 
-#: include/functions.inc:2861
+#: include/functions.inc:2692
 msgid "German"
 msgstr "Alemán"
 
-#: include/functions.inc:2862
+#: include/functions.inc:2693
 msgid "French"
 msgstr "Francés"
 
-#: include/functions.inc:2863
+#: include/functions.inc:2694
 msgid "Italian"
 msgstr "Italiano"
 
-#: include/functions.inc:2864
+#: include/functions.inc:2695
 msgid "Spanish"
 msgstr "Español"
 
-#: include/functions.inc:2865
+#: include/functions.inc:2696
 msgid "English"
 msgstr "Inglés"
 
-#: include/functions.inc:2866
+#: include/functions.inc:2697
 msgid "Dutch"
 msgstr "Holandes"
 
-#: include/functions.inc:2867
+#: include/functions.inc:2698
 msgid "Polish"
 msgstr "Polaco"
 
-#: include/functions.inc:2869
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
+msgstr ""
+
+#: include/functions.inc:2701
 msgid "Chinese"
 msgstr "Chino"
 
-#: include/functions.inc:2870
+#: include/functions.inc:2702
 msgid "Vietnamese"
 msgstr "Vietnamita"
 
-#: include/functions.inc:2871
+#: include/functions.inc:2703
 msgid "Russian"
 msgstr "Ruso"
 
-#: include/functions.inc:3066
+#: include/functions.inc:2896
+#, fuzzy
+msgid "Cannot detect password hash!"
+msgstr "¡No se puede generar la clave samba!"
+
+#: include/functions.inc:2937 include/functions.inc:3012
 #, php-format
-msgid ""
-"Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
 msgstr ""
-"El comando '%s', utilizado como POSTMODIFY para la extensión '%s', no parece "
-"existir."
 
-#: include/functions.inc:3099
-msgid "Cannot generate samba hash!"
-msgstr "¡No se puede generar la clave samba!"
+#: include/functions.inc:2968
+#, fuzzy
+msgid "Password change failed!"
+msgstr "La contraseñas deben ser cambiadas despues de %s días"
 
-#: include/functions.inc:3112
+#: include/functions.inc:2976
 #, php-format
-msgid ""
-"Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: include/functions.inc:3080
+#, fuzzy
+msgid "Cannot generate SAMBA hash!"
+msgstr "¡No se puede generar la clave samba!"
+
+#: include/functions.inc:3095
+#, fuzzy, php-format
+msgid "Generating SAMBA hash by running %s failed: check %s!"
 msgstr ""
 "¡No se puede generar la clave samba: la ejecución de '%s' ha fallado, "
 "compruebe el 'sambaHashHook'!"
 
-#: include/functions.inc:3393 include/functions.inc:3407
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485
-msgid "Cannot allocate a free ID:"
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
+#, fuzzy
+msgid "Cannot allocate free ID:"
 msgstr "No se puede asignar un identificador (ID) libre:"
 
-#: include/functions.inc:3393
+#: include/functions.inc:3373
 msgid "unknown idAllocation method!"
 msgstr "¡método de asignación de id desconocido!"
 
-#: include/functions.inc:3407
+#: include/functions.inc:3387
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr "¡%sPoolMin >= %sPoolMax!"
 
-#: include/functions.inc:3437
+#: include/functions.inc:3417
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "¡No se puede crear la entrada sambaUnixIdPool!"
 
-#: include/functions.inc:3445
+#: include/functions.inc:3425
 msgid "sambaUnixIdPool is not unique!"
 msgstr "¡sambaUnixIdPool no es único!"
 
-#: include/functions.inc:3457 include/functions.inc:3461
+#: include/functions.inc:3437 include/functions.inc:3441
 msgid "no ID available!"
 msgstr "¡No hay ID disponibles!"
 
-#: include/functions.inc:3485
-msgid "maximum tries exceeded!"
+#: include/functions.inc:3465
+#, fuzzy
+msgid "maximum number of tries exceeded!"
 msgstr "¡Excedido el número de intentos máximo!"
 
-#: include/functions.inc:3545
-msgid "Cannot allocate a free ID!"
+#: include/functions.inc:3525
+#, fuzzy
+msgid "Cannot allocate free ID!"
 msgstr "¡No se puede asignar un identificador (ID) libre!"
 
-#: include/class_tabs.inc:57
-#, php-format
-msgid ""
-"No plugin definitions found to initialize '%s', please check your "
-"configuration file."
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
+msgstr "Buscar"
+
+#: include/class_filter.inc:226
+#, fuzzy
+msgid "Search filter"
+msgstr "Parámetro"
+
+#: include/class_filter.inc:444
+msgid "Search in subtrees"
+msgstr "Buscar en subárboles"
+
+#: include/class_filter.inc:449
+#, fuzzy
+msgid "Edit filters"
+msgstr "Editar certificados"
+
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
+msgstr "Aviso e rendimiento"
+
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+#, fuzzy, php-format
+msgid "LDAP performance is poor: last query took %.2fs!"
+msgstr "El rendimiento LDAP es bajo: ¡la última consulta tardó sobre %.2fs!"
+
+#: include/class_ldap.inc:784
+#, fuzzy, php-format
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
 msgstr ""
-"No hay definiciones de extensión para iniciar '%s', por favor compruebe su "
-"archivo de configuración."
+"No se pueden crear automáticamente subárboles con RDN '%s': ¡No se ha "
+"encontrado la clase del objeto!"
 
-#: include/class_tabs.inc:268
-#, php-format
-msgid "Delete process has been canceled by plugin '%s': %s"
-msgstr "El proceso de eliminación ha sido cancelado por la extensión '%s': %s"
+#: include/class_ldap.inc:835
+#, fuzzy, php-format
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
+msgstr ""
+"No se pueden crear automáticamente subárboles con RDN '%s': no soportado"
 
-#: include/class_tabs.inc:406
-msgid "References"
-msgstr "Referencias"
+#: include/class_ldap.inc:922
+#, fuzzy, php-format
+msgid "while operating on %s using LDAP server %s"
+msgstr "mientras operaba en '%s' usando el servidor LDAP '%s'"
 
-#: include/class_SnapShotDialog.inc:82
+#: include/class_ldap.inc:924
 #, php-format
-msgid "You're about to delete the snapshot '%s'."
-msgstr "Va a eliminar la instantanea '%s'."
+msgid "while operating on LDAP server %s"
+msgstr "mientras operaba en el servidor LDAP '%s'"
 
-#: include/class_SnapShotDialog.inc:137
-msgid "Remove snapshot"
-msgstr "Eliminar instantanea"
+#: include/class_ldap.inc:977
+#, php-format
+msgid "Command line programm %s is missing!"
+msgstr ""
 
-#: include/class_SnapShotDialog.inc:139 include/class_SnapShotDialog.inc:159
-msgid "Y-m-d, H:i:s"
-msgstr "Y-m-d, H:i:s"
+#: include/class_ldap.inc:1138
+#, fuzzy, php-format
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
+msgstr ""
+"No es un DN válido: '%s': El bloque para importar debe empezar por 'dn: ...' "
+"en la linea %s"
 
-#: include/class_SnapShotDialog.inc:171
-#: plugins/generic/references/contents.tpl:11
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
-#: plugins/admin/ogroups/class_ogroup.inc:977
-#: plugins/admin/ogroups/generic.tpl:15
-#: plugins/admin/ogroups/ogroup-list.xml:49
-#: plugins/admin/groups/generic.tpl:24
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:66
-#: plugins/admin/groups/class_group.inc:1184
-#: plugins/admin/departments/dep-list.xml:79
-#: plugins/admin/departments/locality.tpl:19
-#: plugins/admin/departments/generic.tpl:19
-#: plugins/admin/departments/class_domain.inc:63
-#: plugins/admin/departments/class_domain.inc:91
-#: plugins/admin/departments/class_localityGeneric.inc:64
-#: plugins/admin/departments/class_localityGeneric.inc:92
-#: plugins/admin/departments/class_organizationGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_countryGeneric.inc:63
-#: plugins/admin/departments/class_countryGeneric.inc:92
-#: plugins/admin/departments/class_dcObject.inc:63
-#: plugins/admin/departments/class_dcObject.inc:91
-#: plugins/admin/departments/domain.tpl:19
-#: plugins/admin/departments/country.tpl:19
-#: plugins/admin/departments/dcObject.tpl:19
-#: plugins/admin/departments/class_department.inc:359
-#: plugins/admin/departments/class_department.inc:666
-#: plugins/admin/departments/organization.tpl:19
-#: plugins/admin/acl/class_aclRole.inc:735 plugins/admin/acl/acl-list.xml:57
-#: plugins/admin/acl/acl_role.tpl:17
-#: plugins/personal/posix/trustSelect/trust-list.xml:64
-#: plugins/personal/posix/groupSelect/group-list.xml:49
-msgid "Description"
-msgstr "Descripción"
+#: include/class_ldap.inc:1167
+#, fuzzy, php-format
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
+msgstr ""
+"Ha habido un error importando dn: '%s', ¡Por favor compruebe su LDIF desde "
+"la línea %s en adelante!"
 
-#: include/exporter/class_cvsExporter.inc:48
-msgid "CSV"
-msgstr "CSV"
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
+#, fuzzy
+msgid "All"
+msgstr "ACL"
 
-#: include/exporter/class_PDF.inc:24
-msgid "Page"
-msgstr "Página"
+#: include/class_core.inc:114
+#, fuzzy
+msgid "All objects"
+msgstr "Mover objetos"
 
-#: include/exporter/class_pdfExporter.inc:18
-msgid "No PDF export possible: there is no FPDF library installed."
-msgstr "No se puede exportar a PDF: no se ha instalado la librería FPDF."
+#: include/class_core.inc:132
+#, fuzzy
+msgid "Traditional"
+msgstr "Terminal"
 
-#: include/exporter/class_pdfExporter.inc:145
-msgid "PDF"
-msgstr "PDF"
+#: include/class_core.inc:132
+msgid "Use samba pool"
+msgstr ""
 
-#: include/class_multi_plug.inc:362
-msgid "You are currently editing mutliple entries."
-msgstr "Está actualmente editando varias entradas."
+#: include/class_core.inc:164 include/class_core.inc:167
+#, fuzzy
+msgid "hours"
+msgstr "operadores telefónicos"
 
-#: include/class_multi_plug.inc:391
-msgid "Password reset"
-msgstr "Reintroducir contraseña"
+#: include/class_core.inc:184
+#, fuzzy
+msgid "None"
+msgstr "ninguno"
 
-#: include/class_multi_plug.inc:391
-msgid "The user password was resetted, please set a new password value!"
-msgstr ""
-"¡La contraseña del usuario se ha eliminado, por favor introduzca una nueva!"
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
+msgid "Automatic"
+msgstr "Automatico"
 
-#: include/class_certificate.inc:73
-msgid "Certificate is empty!"
-msgstr "¡El certificado esta vacío!"
+#: include/class_core.inc:200
+#, fuzzy
+msgid "User value"
+msgstr "Nombre de Usuario"
 
-#: include/class_certificate.inc:100
-msgid "Cannot load certificate - only PEM/DER is supported!"
-msgstr ""
-"¡No se puede cargar el certificado - solo se soportan certificados PEM/DER!"
+#: include/class_core.inc:209
+#, fuzzy
+msgid "Core"
+msgstr "Cerrar"
 
-#: include/class_certificate.inc:115
-msgid "Cannot extract information for non PEM certificates!"
-msgstr "¡No se puede extraer información de certificados que no sean PEM!"
+#: include/class_core.inc:210
+#, fuzzy
+msgid "GOsa core plugin"
+msgstr "Configuración común de GOsa"
 
-#: include/class_certificate.inc:219
-msgid "No valid certificate loaded!"
-msgstr "¡No ha cargado un certificado válido!"
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
+msgstr ""
 
-#: include/php_setup.inc:100
-msgid "Generating this page caused the PHP interpreter to raise some errors!"
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
 msgstr ""
-"¡La generación de esta página ha provocado errores en el interprete PHP!"
 
-#: include/php_setup.inc:105
-msgid "Send bug report to the GOsa Team"
-msgstr "Enviar informe de errores al equipo de desarrollo de GOsa"
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
+msgstr ""
 
-#: include/php_setup.inc:105
-msgid "Send bugreport"
-msgstr "Enviar informe de errores"
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
+msgstr ""
 
-#: include/php_setup.inc:110
-msgid "Toggle information"
-msgstr "Modificar información"
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
+msgstr ""
 
-#: include/php_setup.inc:120
-msgid "PHP error"
-msgstr "Error PHP"
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
+msgstr ""
 
-#: include/php_setup.inc:139
-msgid "class"
-msgstr "clase"
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
+msgstr ""
 
-#: include/php_setup.inc:145
-msgid "function"
-msgstr "función"
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
+msgstr ""
 
-#: include/php_setup.inc:150
-msgid "static"
-msgstr "estático"
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
+msgstr ""
 
-#: include/php_setup.inc:154
-msgid "method"
-msgstr "método"
+#: include/class_core.inc:319
+#, fuzzy, php-format
+msgid "Related option"
+msgstr "eliminación"
 
-#: include/php_setup.inc:187
-msgid "Trace"
-msgstr "Traza"
+#: include/class_core.inc:329
+msgid ""
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "File"
-msgstr "Archivo"
+#: include/class_core.inc:340
+msgid ""
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Line"
-msgstr "Linea"
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Type"
-msgstr "Tipo"
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
+msgstr ""
 
-#: include/php_setup.inc:189
-msgid "Arguments"
-msgstr "Argumentos"
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
+msgstr ""
 
-#: include/class_filter.inc:322 include/utils/class_msgPool.inc:24
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#: plugins/personal/posix/posix_groups.tpl:68
-msgid "Search in subtrees"
-msgstr "Buscar en subárboles"
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
+msgstr ""
+
+#: include/class_core.inc:390
+#, fuzzy
+msgid "Enable LDAP referral chasing."
+msgstr "Activar extensión DHCP"
 
-#: include/class_plugin.inc:521
+#: include/class_core.inc:400
 msgid ""
-"The object has changed since opened in GOsa. All changes that may be done by "
-"others get lost if you save this entry!"
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
 msgstr ""
-"Este objeto ha cambiado desde que ha sido abierto en GOsa. ¡Todos los "
-"cambios realizados por otros se perderán si graba esta entrada!"
 
-#: include/class_plugin.inc:1844
-msgid "Changing ACL dn"
-msgstr "Modificando ACL dn"
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
+msgstr ""
 
-#: include/class_plugin.inc:1844
-msgid "from"
-msgstr "desde"
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
+msgstr ""
 
-#: include/class_plugin.inc:1845 setup/class_setupStep_Migrate.inc:1250
-#: setup/class_setupStep_Migrate.inc:1300
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "to"
-msgstr "a"
+#: include/class_core.inc:430
+#, fuzzy
+msgid "Enable warnings for non encrypted connections."
+msgstr "Forzar conexiones seguras"
 
-#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
-msgid "Restore"
-msgstr "Recuperar"
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
+msgstr ""
 
-#: include/class_plugin.inc:2072
-msgid "cut"
-msgstr "mover"
+#: include/class_core.inc:451
+msgid ""
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
+msgstr ""
 
-#: include/class_plugin.inc:2080
-msgid "copy"
-msgstr "copiar"
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
+msgstr ""
 
-#: include/functions_helpviewer.inc:45
-#, php-format
-msgid "XML error in guide.xml: %s at line %d"
-msgstr "Error XML en guide.xml: %s en la linea %d"
+#: include/class_core.inc:472
+msgid ""
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
+msgstr ""
 
-#: include/functions_helpviewer.inc:88
-msgid "No help available for this plugin."
-msgstr "No hay ayuda disponible para esta extensión."
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
+msgstr ""
 
-#: include/functions_helpviewer.inc:388
-#, php-format
-msgid "%s results for your search with the keyword %s"
-msgstr "hay %s resultados para su busqueda con el termino %s"
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
+msgstr ""
 
-#: include/functions_helpviewer.inc:462
-#, php-format
-msgid "%s%% hit rate in file %s"
-msgstr "%s%% procentaje en fichero %s"
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
+msgstr ""
 
-#: include/utils/class_timezone.inc:47
-#, php-format
+#: include/class_core.inc:514
 msgid ""
-"The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate "
-"correct timezone offset."
+"ISO language code which is used to override the automatic language detection."
 msgstr ""
-"El parámetro de zona horaria '%s' en gosa.conf no es válido. No se puede "
-"calcular una compensación correcta para la zona horaria."
 
-#: include/utils/class_xml.inc:48
-msgid "in"
-msgstr "en"
-
-#: include/utils/class_xml.inc:50
-msgid "on line"
-msgstr "En linea"
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
+msgstr ""
 
-#: include/utils/class_xml.inc:51
-msgid "XML error"
-msgstr "Error XML"
+#: include/class_core.inc:535
+msgid ""
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:16
-#, php-format
-msgid "Select to list objects of type '%s'."
-msgstr "Seleccione para mostrar objetos de tipo '%s'."
+#: include/class_core.inc:545
+#, fuzzy
+msgid "Template engine compile directory."
+msgstr "Directorio de compilación Smarty"
 
-#: include/utils/class_msgPool.inc:18
+#: include/class_core.inc:555
 #, php-format
-msgid "Select to list objects containig '%s'."
-msgstr "Seleccione para mostrar objetos conteniendo '%s'."
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:20
-#, php-format
-msgid "Select to list objects that have '%s' enabled"
-msgstr "Seleccione para mostrar objetos que tengan '%s' activado"
+#: include/class_core.inc:576
+msgid ""
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:22
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-msgid "Select to search within subtrees"
-msgstr "Seleccione para buscar dentro de subárboles"
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:34
-msgid "This object will be deleted!"
-msgstr "¡El objeto será eliminado!"
+#: include/class_core.inc:596
+msgid ""
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:36
-#, php-format
-msgid "This '%s' object will be deleted!"
-msgstr "¡El objeto '%s' será eliminado!"
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:41
-#, php-format
-msgid "This object will be deleted: %s"
-msgstr "Este objeto será eliminado: %s"
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:43
-#, php-format
-msgid "This '%s' object will be deleted: %s"
-msgstr "El objeto '%s' será eliminado: %s"
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:48
-msgid "This object will be deleted:"
-msgstr "Este objeto será eliminado"
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:50
-#, php-format
-msgid "This '%s' object will be deleted:"
-msgstr "El objeto '%s' será eliminado:"
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:54
-#, php-format
-msgid "These objects will be deleted: %s"
-msgstr "Estos objetos serán eliminados: %s"
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:56
-#, php-format
-msgid "These '%s' objects will be deleted: %s"
-msgstr "Los objetos '%s' serán eliminados: %s"
+#: include/class_core.inc:667
+msgid ""
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:64
-msgid "You have no permission to delete this object!"
-msgstr "¡No tiene permisos para eliminar este objeto!"
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:68 include/utils/class_msgPool.inc:72
-msgid "You have no permission to delete the object:"
-msgstr "No tiene permisos para eliminar este objeto:"
+#: include/class_core.inc:687
+msgid ""
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:75
-msgid "You have no permission to delete these objects:"
-msgstr "No tiene permisos para eliminar estos objetos:"
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:82
-msgid "You have no permission to create this object!"
-msgstr "¡No tiene permisos para crear este objeto!"
+#: include/class_core.inc:707
+#, fuzzy
+msgid "Connection URL for use with the gosa-ng service."
+msgstr "¡Ha fallado la comunciación con el servicio de infraestructura!"
 
-#: include/utils/class_msgPool.inc:86 include/utils/class_msgPool.inc:90
-msgid "You have no permission to create the object:"
-msgstr "No tiene permisos para crear este objeto:"
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:93
-msgid "You have no permission to create these objects:"
-msgstr "No tiene permisos para crear estos objetos:"
+#: include/class_core.inc:727
+msgid "Password used to connect to the 'gosaRpcServer'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:100
-msgid "You have no permission to modify this object!"
-msgstr "¡No tiene permisos para modificar este objeto!"
+#: include/class_core.inc:737
+#, fuzzy
+msgid "Connection URI for use with the gosa-si service (obsolete)."
+msgstr "Ha fallado la comunciación con el servicio de infraestructura: %s"
 
-#: include/utils/class_msgPool.inc:104 include/utils/class_msgPool.inc:108
-msgid "You have no permission to modify the object:"
-msgstr "No tiene permisos para modificar este objeto:"
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:111
-msgid "You have no permission to modify these objects:"
-msgstr "No tiene permisos para modificar estos objetos:"
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:118
-msgid "You have no permission to view this object!"
-msgstr "¡No tiene permisos para ver este objeto!"
+#: include/class_core.inc:769
+#, fuzzy
+msgid "Local time zone."
+msgstr "Localización"
 
-#: include/utils/class_msgPool.inc:122 include/utils/class_msgPool.inc:126
-msgid "You have no permission to view the object:"
-msgstr "No tiene permisos para ver el objeto:"
+#: include/class_core.inc:779
+msgid ""
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:129
-msgid "You have no permission to view these objects:"
-msgstr "No tiene permisos para ver estos objetos:"
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:136
-msgid "You have no permission to move this object!"
-msgstr "¡No tiene permisos para mover este objeto!"
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:144
-msgid "You have no permission to move the object:"
-msgstr "No tiene permisos para mover el objeto:"
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:147
-msgid "You have no permission to move these objects:"
-msgstr "No tiene permisos para mover estos objetos:"
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:157 include/utils/class_msgPool.inc:169
-#: include/utils/class_msgPool.inc:187
-msgid "Connection information"
-msgstr "Información de conexión"
+#: include/class_core.inc:828
+msgid ""
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:159
-#, php-format
-msgid "Cannot connect to %s database!"
-msgstr "¡No se puede conectar a la base de datos %s!"
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:171
-#, php-format
-msgid "Cannot select %s database!"
-msgstr "¡No se puede seleccionar la base de datos %s!"
+#: include/class_core.inc:848
+msgid ""
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:177
-#, php-format
-msgid "No %s server defined!"
-msgstr "¡No se ha definido el servidor %s!"
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:189
-#, php-format
-msgid "Cannot query %s database!"
-msgstr "¡No se ha podido ejecutar la consulta %s!"
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:195
-#, php-format
-msgid "The field '%s' contains a reserved keyword!"
-msgstr "¡El campo '%s' tiene una palabra reservada!"
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:201
-#, php-format
-msgid "Command specified as %s hook for plugin '%s' does not exist!"
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
 msgstr ""
-"¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: include/utils/class_msgPool.inc:208
-#, php-format
-msgid "'%s' command is invalid!"
-msgstr "¡El comando '%s' no es válido!"
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:210
-#, php-format
-msgid "'%s' command (%s) for plugin %s is invalid!"
-msgstr "¡'%s' comando (%s) para la extensión %s no es válido!"
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:212
-#, php-format
-msgid "'%s' command for plugin %s is invalid!"
-msgstr "¡'%s' comando para la extensión %s no es válido!"
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:214
-#, php-format
-msgid "'%s' command (%s) is invalid!"
-msgstr "¡'%s' comando (%s) no es válido!"
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:222
-#, php-format
-msgid "Cannot execute '%s' command!"
-msgstr "¡No se puede ejecutar el comando '%s'!"
+#: include/class_core.inc:940
+#, fuzzy
+msgid "Enable TLS for LDAP connections."
+msgstr "Conexión LDAP"
 
-#: include/utils/class_msgPool.inc:224
-#, php-format
-msgid "Cannot execute '%s' command (%s) for plugin %s!"
-msgstr "¡No se puede ejecutar el comando '%s' (%s) para la extensión %s!"
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:226
-#, php-format
-msgid "Cannot execute '%s' command for plugin %s!"
-msgstr "¡No se puede ejecutar el comando '%s' para la extensión %s!"
+#: include/class_core.inc:960
+msgid ""
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:228
-#, php-format
-msgid "Cannot execute '%s' command (%s)!"
-msgstr "¡No se puede ejecutar el comando '%s' (%s)!"
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:236
-#, php-format
-msgid "Value for '%s' is too large!"
-msgstr "¡El valor especificado como '%s' es demasiado grande!"
+#: include/class_core.inc:980
+msgid ""
+"String containing the SID for Samba setups without the Domain object in LDAP."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:238
-#, php-format
-msgid "'%s' must be smaller than %s!"
-msgstr "¡'%s' debe ser menor que %s!"
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:246
-#, php-format
-msgid "Value for '%s' is too small!"
-msgstr "¡El valor especificado como '%s' es demasiado pequeño!"
+#: include/class_core.inc:1000
+#, fuzzy
+msgid "Enable manual object snapshots."
+msgstr "Creando instantaneas de objetos"
 
-#: include/utils/class_msgPool.inc:248
-#, php-format
-msgid "'%s' must be %d or above!"
-msgstr "¡'%s' debe ser %d o superior!"
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:255
-#, php-format
-msgid "'%s' depends on '%s' - please provide both values!"
-msgstr "¡'%s' depende de '%s' - Por favor introduzca ambos valores!"
+#: include/class_core.inc:1020
+#, fuzzy
+msgid "DN of the snapshot administrator."
+msgstr "Administradores del dominio"
 
-#: include/utils/class_msgPool.inc:261
-#, php-format
-msgid "There is already an entry with this '%s' attribute in the system!"
-msgstr "¡Ya existe una entrada con el atributo '%s' en el sistema!"
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:267
-#, php-format
-msgid "The required field '%s' is empty!"
-msgstr "¡El campo obligatorio '%s' está vacio!"
+#: include/class_core.inc:1041
+msgid ""
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:275
-msgid "Example"
-msgstr "Ejemplo"
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:295
-#, php-format
-msgid "The Field '%s' contains invalid characters"
-msgstr "El campo '%s' tiene caracteres no validos."
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:296
+#: include/class_config.inc:168
 #, php-format
-msgid "'%s' is not allowed:"
-msgstr "'%s' no está permitido:"
+msgid "XML error in gosa.conf: %s at line %d"
+msgstr "Error XML en gosa.conf: %s en la línea %d"
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' are not allowed!"
-msgstr "¡'%s' no están permitidos!"
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:299
-#, php-format
-msgid "The Field '%s' contains invalid characters!"
-msgstr "¡El campo '%s' tiene caracteres no validos!"
+#: include/class_config.inc:711
+msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+msgstr "¡sambaSID y/o sambaRidBase no aparece en la configuración!"
 
-#: include/utils/class_msgPool.inc:306
-#, php-format
-msgid "Missing %s PHP extension!"
-msgstr "¡Extensión PHP %s no encontrada!"
+#: include/class_config.inc:1130
+msgid "Configuration"
+msgstr "Configuración"
 
-#: include/utils/class_msgPool.inc:336
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
-#: plugins/personal/generic/generic.tpl:251
-#: plugins/personal/generic/generic.tpl:269
-#: setup/class_setupStep_Migrate.inc:2869
-#, php-format
-msgid "Add"
-msgstr "Añadir"
+#: include/class_config.inc:1130
+#, fuzzy
+msgid ""
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
+msgstr ""
+"El archivo de configuración que está usando es obsoleto. Por favor quite el "
+"archivo de configuración de GOsa y use el asistente de configuración."
 
-#: include/utils/class_msgPool.inc:336
-#, php-format
-msgid "Add %s"
-msgstr "Añadir %s"
+#: include/class_config.inc:1172 include/class_config.inc:1203
+#, fuzzy, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
+msgstr ""
+"La funcionalidad de instancias esta activa, pero el valor requerido '%s' no "
+"está activo."
 
-#: include/utils/class_msgPool.inc:342
-#, php-format
-msgid "Delete %s"
-msgstr "Eliminar %s"
+#: include/class_config.inc:1185
+#, fuzzy, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
+msgstr ""
+"La funcionalidad de instancias esta activa, pero no se encuentra el módulo "
+"de compresión requerido. Por favor instale '%s'."
 
-#: include/utils/class_msgPool.inc:348
-#, php-format
-msgid "Set %s"
-msgstr "Activar %s"
+#: include/exporter/class_PDF.inc:24
+msgid "Page"
+msgstr "Página"
 
-#: include/utils/class_msgPool.inc:354
-#, php-format
-msgid "Edit..."
-msgstr "Editar..."
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
+msgstr "CSV"
 
-#: include/utils/class_msgPool.inc:354
-#, php-format
-msgid "Edit %s..."
-msgstr "Editar %s..."
+#: include/exporter/class_pdfExporter.inc:18
+msgid "No PDF export possible: there is no FPDF library installed."
+msgstr "No se puede exportar a PDF: no se ha instalado la librería FPDF."
 
-#: include/utils/class_msgPool.inc:360
-msgid "Back"
-msgstr "Atrás"
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
+msgstr "PDF"
 
-#: include/utils/class_msgPool.inc:380
-#, php-format
-msgid "This account has no valid %s extensions!"
-msgstr "¡Esta cuenta tiene extensiones %s no validas!"
+#: include/class_jsonRPC.inc:38
+#, fuzzy, php-format
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
+msgstr "¡'%s' comando para la extensión %s no es válido!"
 
-#: include/utils/class_msgPool.inc:386
-#, php-format
-msgid ""
-"This account has %s settings enabled. You can disable them by clicking below."
-msgstr ""
-"Esta cuenta tiene características %s activadas. Puede desactivarla pulsando "
-"aquí"
+#: include/class_jsonRPC.inc:330
+#, fuzzy, php-format
+msgid "Unknown HTTP status code %s!"
+msgstr "¡Tipo de ACL desconocido '%s'!"
+
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
+msgstr "Enviar"
 
-#: include/utils/class_msgPool.inc:389 include/utils/class_msgPool.inc:396
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
 #, php-format
-msgid ""
-"This account has %s settings enabled. To disable them, you'll need to remove "
-"the %s settings first!"
-msgstr ""
-"Esta cuenta tiene las características %s activadas. ¡Para desactivarlas, "
-"necesita eliminar las caracteristicas %s primero!"
+msgid "Copy and paste failed!"
+msgstr "¡Ha fallado copiar y pegar! "
+
+#: include/class_CopyPasteHandler.inc:118
+#, fuzzy, php-format
+msgid "Cannot set permission for %s"
+msgstr "No se pueden modificar los permisos para '%s'"
+
+#: include/class_CopyPasteHandler.inc:159
+#, fuzzy, php-format
+msgid "'%s' is no valid LDAP object"
+msgstr "'%s' no es un objeto LDAP válido"
 
-#: include/utils/class_msgPool.inc:405
+#: include/class_CopyPasteHandler.inc:176
 #, php-format
-msgid ""
-"This account has %s settings disabled. You can enable them by clicking below."
-msgstr ""
-"Esta cuenta tiene características %s desactivadas. Puede activarla pulsando "
-"aquí"
+msgid "No write permission in '%s'"
+msgstr "No tiene permiso de escritura en '%s'"
 
-#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
+#: include/class_CopyPasteHandler.inc:193
 #, php-format
-msgid ""
-"This account has %s settings disabled. To enable them, you'll need to add "
-"the %s settings first!"
-msgstr ""
-"Esta cuenta tiene las características %s desactivadas. ¡Para activarlas, "
-"necesita añadir las caracteristicas %s primero!"
+msgid "Cannot set permission for '%s'"
+msgstr "No se pueden modificar los permisos para '%s'"
 
-#: include/utils/class_msgPool.inc:423
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
-msgid "Add %s settings"
-msgstr "Añadir caracteristicas %s"
+msgid "These objects will be pasted: %s"
+msgstr "Estos objetos serán modificados: %s"
 
-#: include/utils/class_msgPool.inc:429
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
-msgid "Remove %s settings"
-msgstr "Eliminar las caracteristicas %s"
+msgid "This object will be pasted: %s"
+msgstr "Este objeto sera modificado: %s"
 
-#: include/utils/class_msgPool.inc:435
-msgid "Click the 'Edit' button below to change informations in this dialog"
-msgstr ""
-"Pulse en el botón - Editar - para cambiar la información en esta ventana"
+#: include/class_CopyPasteHandler.inc:573
+msgid "Cannot paste"
+msgstr "No puedo pegar"
 
-#: include/utils/class_msgPool.inc:441
-msgid "January"
-msgstr "Enero"
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
+msgid "Access control"
+msgstr "Control de acceso"
 
-#: include/utils/class_msgPool.inc:441
-msgid "February"
-msgstr "Febrero"
+#: include/class_acl.inc:28
+msgid "Manage access control lists"
+msgstr "Gestión de las Listas de control de acceso"
 
-#: include/utils/class_msgPool.inc:441
-msgid "March"
-msgstr "Marzo"
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, fuzzy, php-format
+msgid "All users"
+msgstr "usuarios"
 
-#: include/utils/class_msgPool.inc:441
-msgid "April"
-msgstr "Abril"
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
+msgstr "Eliminar ACLs"
 
-#: include/utils/class_msgPool.inc:442
-msgid "May"
-msgstr "Mayo"
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
+msgid "One level"
+msgstr "Un nivel"
 
-#: include/utils/class_msgPool.inc:442
-msgid "June"
-msgstr "Junio"
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
+msgid "Current object"
+msgstr "Objeto actual"
 
-#: include/utils/class_msgPool.inc:442
-msgid "July"
-msgstr "Julio"
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
+msgid "Complete subtree"
+msgstr "Subárbol completo"
 
-#: include/utils/class_msgPool.inc:442
-msgid "August"
-msgstr "Agosto"
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
+msgstr "Subárbol completo (permanente)"
 
-#: include/utils/class_msgPool.inc:442
-msgid "September"
-msgstr "Septiembre"
-
-#: include/utils/class_msgPool.inc:443
-msgid "October"
-msgstr "Octubre"
-
-#: include/utils/class_msgPool.inc:443
-msgid "November"
-msgstr "Noviembre"
-
-#: include/utils/class_msgPool.inc:443
-msgid "December"
-msgstr "Diciembre"
-
-#: include/utils/class_msgPool.inc:449
-msgid "Sunday"
-msgstr "Domingo"
-
-#: include/utils/class_msgPool.inc:449
-msgid "Monday"
-msgstr "Lunes"
-
-#: include/utils/class_msgPool.inc:449
-msgid "Tuesday"
-msgstr "Martes"
-
-#: include/utils/class_msgPool.inc:449
-msgid "Wednesday"
-msgstr "Miércoles"
-
-#: include/utils/class_msgPool.inc:449
-msgid "Thursday"
-msgstr "Jueves"
-
-#: include/utils/class_msgPool.inc:449
-msgid "Friday"
-msgstr "Viernes"
-
-#: include/utils/class_msgPool.inc:449
-msgid "Saturday"
-msgstr "Sábado"
-
-#: include/utils/class_msgPool.inc:456
-msgid "MySQL operation failed!"
-msgstr "¡La consulta MYSQL ha fallado!"
-
-#: include/utils/class_msgPool.inc:464
-msgid "read operation"
-msgstr "lectura"
-
-#: include/utils/class_msgPool.inc:464
-msgid "add operation"
-msgstr "adición"
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+msgid "Use ACL defined in role"
+msgstr "Utilizar las ACL definidas en el rol"
 
-#: include/utils/class_msgPool.inc:464
-msgid "modify operation"
-msgstr "modificación"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
+msgstr "Usuarios"
 
-#: include/utils/class_msgPool.inc:465
-msgid "delete operation"
-msgstr "eliminación"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
+msgstr "Grupos"
 
-#: include/utils/class_msgPool.inc:465
-msgid "search operation"
-msgstr "busqueda"
+#: include/class_acl.inc:254
+#, fuzzy
+msgid "Section"
+msgstr "Acción"
 
-#: include/utils/class_msgPool.inc:465
-msgid "authentication"
-msgstr "autenticación"
+#: include/class_acl.inc:264
+#, fuzzy
+msgid "Used"
+msgstr "Usar"
 
-#: include/utils/class_msgPool.inc:468
-#, php-format
-msgid "LDAP %s failed!"
-msgstr "¡LDAP %s ha fallado!"
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
+msgid "Member"
+msgstr "Miembro"
 
-#: include/utils/class_msgPool.inc:470
-msgid "LDAP operation failed!"
-msgstr "¡La consulta LDAP ha fallado!"
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
+msgid "Permissions"
+msgstr "Permisos"
 
-#: include/utils/class_msgPool.inc:485
-msgid "Upload failed!"
-msgstr "¡Ha fallado el subir archivo!"
+#: include/class_acl.inc:574
+msgid "No ACL settings for this category!"
+msgstr "¡No hay ACL configuradas para esta categoría!"
 
-#: include/utils/class_msgPool.inc:488
+#: include/class_acl.inc:577
 #, php-format
-msgid "Upload failed: %s"
-msgstr "Ha fallado el subir archivo: %s"
+msgid "ACLs for: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:495
-msgid "Communication failure with the infrastructure service!"
-msgstr "¡Ha fallado la comunciación con el servicio de infraestructura!"
+#: include/class_acl.inc:583 include/class_acl.inc:587
+msgid "category ACL"
+msgstr "Categoría ACL"
 
-#: include/utils/class_msgPool.inc:497
-#, php-format
-msgid "Communication failure with the infrastructure service: %s"
-msgstr "Ha fallado la comunciación con el servicio de infraestructura: %s"
+#: include/class_acl.inc:639
+#, fuzzy, php-format
+msgid "Edit ACL for '%s' with scope '%s'"
+msgstr "Editar ACL para '%s', el ámbito es '%s'"
 
-#: include/utils/class_msgPool.inc:504 include/utils/class_msgPool.inc:507
-#, php-format
-msgid "This '%s' is still in use by this object: %s"
-msgstr "'%s' esta todavía en uso por el objeto: %s"
+#: include/class_acl.inc:801 include/class_acl.inc:808
+msgid "Show/hide advanced settings"
+msgstr "Mostrar/ocultar caracteristicas avanzadas"
 
-#: include/utils/class_msgPool.inc:510
-#, php-format
-msgid "This '%s' is still in use."
-msgstr "'%s' esta todavía en uso."
+#: include/class_acl.inc:819
+msgid "Create objects"
+msgstr "Crear objetos"
 
-#: include/utils/class_msgPool.inc:512
-#, php-format
-msgid "This '%s' is still in use by these objects: %s"
-msgstr "'%s' esta todavía en uso por los objetos: %s"
+#: include/class_acl.inc:820
+msgid "Move objects"
+msgstr "Mover objetos"
 
-#: include/utils/class_msgPool.inc:518
-#, php-format
-msgid "File '%s' does not exist!"
-msgstr "¡El archivo %s no existe!"
+#: include/class_acl.inc:821
+msgid "Remove objects"
+msgstr "Eliminar Objetos"
 
-#: include/utils/class_msgPool.inc:524
-#, php-format
-msgid "Cannot open file '%s' for reading!"
-msgstr "¡No se puede abrir el archivo '%s'!"
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:530
-#, php-format
-msgid "Cannot open file '%s' for writing!"
-msgstr "¡No se puede grabar el archivo '%s'!"
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
+msgstr "leer"
 
-#: include/utils/class_msgPool.inc:536
-#, php-format
-msgid ""
-"The value for '%s' is currently unconfigured or invalid, please check your "
-"configuration file!"
-msgstr ""
-"El valor para '%s' no esta configurado o no es válido.¡Por favor compruebe "
-"el archivo de configuración!"
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
+msgstr "escribir"
 
-#: include/utils/class_msgPool.inc:542
-#, php-format
-msgid "Cannot delete file '%s'!"
-msgstr "¡No se puede eliminar el fichero '%s'!"
+#: include/class_acl.inc:832
+msgid "Complete object"
+msgstr "Objeto completo"
 
-#: include/utils/class_msgPool.inc:548
-#, php-format
-msgid "Cannot create folder '%s'!"
-msgstr "¡No se puede crear la carpeta '%s'!"
+#: include/class_acl.inc:984
+#, fuzzy, php-format
+msgid "Unknown ACL type '%s'!"
+msgstr "¡Tipo de ACL desconocido '%s'!"
 
-#: include/utils/class_msgPool.inc:554
+#: include/class_acl.inc:1029
 #, php-format
-msgid "Cannot delete folder '%s'!"
-msgstr "¡No se puede eliminar la carpeta '%s'!"
+msgid "Unknown entry '%s'!"
+msgstr "¡Entrada desconocida '%s'!"
 
-#: include/utils/class_msgPool.inc:560
-#, php-format
-msgid "Checking for %s support"
-msgstr "Comprobando soporte %s"
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
+#, fuzzy, php-format
+msgid "ACL role: %s"
+msgstr "Roles ACL"
 
-#: include/utils/class_msgPool.inc:566
-#, php-format
-msgid "Install and activate the %s PHP module."
-msgstr "Instala y activa el módulo de PHP %s."
+#: include/class_acl.inc:1095
+#, fuzzy
+msgid "unknown ACL role"
+msgstr "rol desconocido"
 
-#: include/utils/class_msgPool.inc:572
+#: include/class_acl.inc:1103
 #, php-format
-msgid ""
-"Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
-"setup?"
-msgstr ""
-"¡No se puede inicializar la clase '%s'! ¿Puede que falte la extensión "
-"correspondiente en la configuración de GOsa?"
+msgid "Contains settings for these objects: %s"
+msgstr "Tiene configuraciones de los siguientes objetos: %s"
 
-#: include/utils/class_msgPool.inc:578
-msgid ""
-"The supplied base is not valid and has been reset to the previous value!"
-msgstr "¡La base introducida no es válida, se ha dejado el valor anterior!"
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+msgid "Members"
+msgstr "Miembros"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-msgid "Performance warning"
-msgstr "Aviso e rendimiento"
+#: include/class_acl.inc:1120
+msgid "inactive"
+msgstr "inactivo"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-#, php-format
-msgid "LDAP performance is poor: last query took about %.2fs!"
-msgstr "El rendimiento LDAP es bajo: ¡la última consulta tardó sobre %.2fs!"
+#: include/class_acl.inc:1120
+msgid "No members"
+msgstr "Sin miembros"
 
-#: include/class_ldap.inc:693
-#, php-format
-msgid ""
-"Cannot automatically create subtrees with RDN '%s': no object class found!"
-msgstr ""
-"No se pueden crear automáticamente subárboles con RDN '%s': ¡No se ha "
-"encontrado la clase del objeto!"
+#: include/class_acl.inc:1291
+msgid "Access control list"
+msgstr "Lista de control de acceso"
 
-#: include/class_ldap.inc:744
-#, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': not supported"
-msgstr ""
-"No se pueden crear automáticamente subárboles con RDN '%s': no soportado"
+#: include/class_acl.inc:1297
+msgid "ACL roles"
+msgstr "Roles ACL"
 
-#: include/class_ldap.inc:831
-#, php-format
-msgid "while operating on '%s' using LDAP server '%s'"
-msgstr "mientras operaba en '%s' usando el servidor LDAP '%s'"
+#: include/class_acl.inc:1300
+#, fuzzy
+msgid "ACL Entries"
+msgstr "Roles"
 
-#: include/class_ldap.inc:833
-#, php-format
-msgid "while operating on LDAP server %s"
-msgstr "mientras operaba en el servidor LDAP '%s'"
+#: include/class_socketClient.inc:108
+#, fuzzy, php-format
+msgid "Socket connection to %s:%s failed: %s"
+msgstr "Ha fallado la conexión a la máquina '%s:%s': %s"
 
-#: include/class_ldap.inc:1055
-#, php-format
-msgid ""
-"This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
-"in line %s"
-msgstr ""
-"No es un DN válido: '%s': El bloque para importar debe empezar por 'dn: ...' "
-"en la linea %s"
+#: include/class_socketClient.inc:191
+#, fuzzy, php-format
+msgid "Socket timeout of %s seconds reached!"
+msgstr "Tiempo excedido de %s segundos para conexión alcanzado."
 
-#: include/class_ldap.inc:1084
+#: include/class_userFilterEditor.inc:254
 #, php-format
-msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
 msgstr ""
-"Ha habido un error importando dn: '%s', ¡Por favor compruebe su LDIF desde "
-"la línea %s en adelante!"
-
-#: include/class_log.inc:87
-#, php-format
-msgid "Logging failed: %s"
-msgstr "Entrada fallida: %s"
-
-#: include/class_log.inc:102
-#, php-format
-msgid "Invalid option '%s' specified!"
-msgstr "¡Se ha indicado una opción no válida: '%s'!"
-
-#: include/class_log.inc:106
-msgid "Specified objectType is empty or invalid!"
-msgstr "¡Se ha indicado un objectType vacio o no válido!"
 
 #: include/class_gosaSupportDaemon.inc:112
 msgid "GOsa support daemon"
@@ -2538,1668 +2570,3622 @@ msgstr "¡No se puede enviar el evento abortar para la entrada %s!"
 msgid "Cannot remove entry %s!"
 msgstr "¡No se puede eliminar la entrada %s!"
 
-#: include/class_config.inc:152
-#, php-format
-msgid "XML error in gosa.conf: %s at line %d"
-msgstr "Error XML en gosa.conf: %s en la línea %d"
-
-#: include/class_config.inc:318
-msgid "Cannot bind to LDAP. Please contact the system administrator."
+#: include/class_GOsaRegistration.inc:127
+msgid ""
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
 msgstr ""
-"No se puede conectar a LDAP: Por favor consulte con el administrador de "
-"sistemas."
-
-#: include/class_config.inc:695
-msgid "sambaSID and/or sambaRidBase missing in the configuration!"
-msgstr "¡sambaSID y/o sambaRidBase no aparece en la configuración!"
 
-#: include/class_config.inc:1105
-msgid "Configuration"
-msgstr "Configuración"
-
-#: include/class_config.inc:1105
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
+#, fuzzy, php-format
 msgid ""
-"The configuration file you are using seems to be outdated. Please move the "
-"GOsa configuration file away to run the GOsa setup again."
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
 msgstr ""
-"El archivo de configuración que está usando es obsoleto. Por favor quite el "
-"archivo de configuración de GOsa y use el asistente de configuración."
-
-#: include/class_pluglist.inc:58
-msgid "All objects in this category"
-msgstr "Todos los objetos en esta categoría"
+"La funcionalidad de instancias esta activa, pero el valor requerido '%s' no "
+"está activo."
 
-#: include/class_pluglist.inc:183
-msgid "The configuration format has changed. Please re-run setup!"
+#: include/class_SnapshotHandler.inc:58
+#, fuzzy, php-format
+msgid ""
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
 msgstr ""
-"¡El formato de la configuración ha cambiado. Por favor use el asistente de "
-"configuración!"
+"La funcionalidad de instancias esta activa, pero no se encuentra el módulo "
+"de compresión requerido. Por favor instale '%s'."
 
-#: include/class_pluglist.inc:202 include/class_pluglist.inc:203
-#: include/class_pluglist.inc:316
-#: plugins/admin/departments/class_department.inc:145
-#: plugins/personal/generic/class_user.inc:273
-#: plugins/personal/generic/class_user.inc:1872
-msgid "Unknown"
-msgstr "Desconocido"
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
+#, fuzzy
+msgid "Filter editor"
+msgstr "Error del filtro"
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#, php-format
-msgid "Copy and paste failed!"
-msgstr "¡Ha fallado copiar y pegar! "
+#: ihtml/themes/default/userFilterEditor.tpl:8
+#, fuzzy
+msgid "Filter properties"
+msgstr "Editar características generales"
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:193
-#, php-format
-msgid "Cannot set permission for '%s'"
-msgstr "No se pueden modificar los permisos para '%s'"
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+msgid "Public visible"
+msgstr "Visible por todos"
 
-#: include/class_CopyPasteHandler.inc:159
-#, php-format
-msgid "'%s' is no vaild LDAP object"
-msgstr "'%s' no es un objeto LDAP válido"
+#: ihtml/themes/default/userFilterEditor.tpl:45
+msgid "Enabled"
+msgstr "Activado"
 
-#: include/class_CopyPasteHandler.inc:176
-#, php-format
-msgid "No write permission in '%s'"
-msgstr "No tiene permiso de escritura en '%s'"
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
+msgstr ""
 
-#: include/class_CopyPasteHandler.inc:396
-#, php-format
-msgid "These objects will be pasted: %s"
-msgstr "Estos objetos serán modificados: %s"
+#: ihtml/themes/default/userFilterEditor.tpl:69
+#, fuzzy
+msgid "Query"
+msgstr "usuario"
 
-#: include/class_CopyPasteHandler.inc:420
-#, php-format
-msgid "This object will be pasted: %s"
-msgstr "Este objeto sera modificado: %s"
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+msgid "Assigned ACL for current entry"
+msgstr "Asignando ACL a la entrada actual"
 
-#: include/class_CopyPasteHandler.inc:572
-msgid "Cannot paste"
-msgstr "No puedo pegar"
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
+msgid "New ACL"
+msgstr "Nueva ACL"
 
-#: include/class_msg_dialog.inc:124
-msgid "Please fix the above error and reload the page."
-msgstr "Por favor solucione el problema y actualize la página."
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
+msgid "ACL type"
+msgstr "Tipo de ACL"
 
-#: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:966
-#: plugins/admin/groups/class_group.inc:1174
-#: plugins/admin/users/class_userManagement.inc:870
-#: plugins/admin/departments/class_department.inc:656
-#: plugins/personal/generic/class_user.inc:37
-#: plugins/personal/generic/class_user.inc:1668
-#: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
-msgid "Generic"
-msgstr "Genérico"
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "Select an ACL type"
+msgstr "Seleccione un tipo de ACL"
 
-#: plugins/generic/references/class_reference.inc:43
-#: plugins/personal/posix/class_posixAccount.inc:37
-msgid "UNIX"
-msgstr "UNIX"
-
-#: plugins/generic/references/class_reference.inc:45
-#: plugins/admin/ogroups/tabs_ogroups.inc:148
-#: plugins/admin/groups/class_groupManagement.inc:164
-#: plugins/admin/users/class_userManagement.inc:877
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
-msgid "Mail"
-msgstr "Correo Electrónico"
+#: ihtml/themes/default/acl.tpl:40
+msgid "Additional filter options"
+msgstr "Añadir opciones de filtrado"
 
-#: plugins/generic/references/class_reference.inc:47
-#: plugins/generic/references/class_reference.inc:49
-#: plugins/admin/groups/class_groupManagement.inc:172
-#: plugins/admin/users/class_userManagement.inc:882
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:78
-msgid "Samba"
-msgstr "Samba"
+#: ihtml/themes/default/acl.tpl:54
+#, fuzzy
+msgid "Member selection"
+msgstr "Parametros de grupos"
 
-#: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:894
-msgid "FAX"
-msgstr "FAX"
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
+msgstr "Usar miembros de"
 
-#: plugins/generic/references/class_reference.inc:53
-msgid "Proxy"
-msgstr "Proxy"
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+msgid "List message possible targets"
+msgstr "Mostrar mensaje de posibles destinos"
 
-#: plugins/generic/references/class_reference.inc:55
-msgid "FTP"
-msgstr "FTP"
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
+msgstr "Lista de recipientes de mensajes"
 
-#: plugins/generic/references/class_reference.inc:57
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
-#: plugins/admin/ogroups/class_ogroupManagement.inc:184
-#: plugins/admin/ogroups/ogroup-list.xml:79
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
-#: plugins/admin/groups/group-list.xml:15
-#: plugins/admin/groups/group-list.xml:96
-#: plugins/personal/posix/groupSelect/group-list.xml:15
-msgid "Group"
-msgstr "Grupo"
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+msgid "List of available ACL categories"
+msgstr "Lista de categorías ACL disponibles"
 
-#: plugins/generic/references/class_reference.inc:59
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
-#: plugins/admin/ogroups/class_ogroupManagement.inc:186
-#: plugins/admin/departments/dep-list.xml:55
-#: plugins/admin/departments/dep-list.xml:71
-#: plugins/admin/departments/dep-list.xml:138
-#: plugins/admin/departments/class_departmentManagement.inc:249
-#: plugins/personal/generic/class_user.inc:1695
-#: plugins/personal/generic/generic.tpl:307
-msgid "Department"
-msgstr "Departamento"
+#: ihtml/themes/default/acl.tpl:120
+msgid "ACL for this object"
+msgstr "ACL que tienen este objeto"
 
-#: plugins/generic/references/class_reference.inc:61
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
-#: plugins/admin/ogroups/class_ogroupManagement.inc:188
-#: plugins/admin/groups/class_groupManagement.inc:180
-#: plugins/admin/users/class_userManagement.inc:898
-#: plugins/admin/departments/generic.tpl:106
-#: plugins/admin/departments/class_department.inc:370
-#: plugins/admin/departments/organization.tpl:105
-#: plugins/personal/generic/class_user.inc:1356
-#: plugins/personal/generic/class_user.inc:1819
-#: plugins/personal/generic/generic.tpl:398
-#: plugins/personal/generic/generic.tpl:579
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:86
-msgid "Phone"
-msgstr "Teléfono"
+#: ihtml/themes/default/acl.tpl:126
+msgid "Available roles"
+msgstr "Roles disponibles"
 
-#: plugins/generic/references/class_reference.inc:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:185
-msgid "Application"
-msgstr "Aplicación"
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+#, fuzzy
+msgid "Attention"
+msgstr "Autenticación"
 
-#: plugins/generic/references/class_reference.inc:65
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
-#: plugins/admin/ogroups/class_ogroupManagement.inc:187
-#: plugins/personal/posix/trustSelect/trust-list.xml:14
-#: setup/setup_config2.tpl:219 setup/setup_config2.tpl:264
-msgid "Server"
-msgstr "Servidor"
+#: ihtml/themes/default/removeEntries.tpl:14
+#, fuzzy
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
+msgstr ""
+"Entonces, si esta seguro, presione <i>Eliminar</i> para continuar o "
+"<i>Cancelar</i> para Abortar."
 
-#: plugins/generic/references/class_reference.inc:67
-msgid "Thin Client"
-msgstr "Cliente ligero"
+#: ihtml/themes/default/userFilter.tpl:1
+#, fuzzy
+msgid "List of defined filters"
+msgstr "Escribir archivo de configuración"
 
-#: plugins/generic/references/class_reference.inc:69
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
-#: plugins/admin/ogroups/class_ogroupManagement.inc:189
-#: plugins/personal/posix/trustSelect/trust-list.xml:22
-msgid "Workstation"
-msgstr "Estación de trabajo"
+#: ihtml/themes/default/snapshotdialog.tpl:3
+msgid "Restoring object snapshots"
+msgstr "Recuperar instantanea de objetos"
 
-#: plugins/generic/references/class_reference.inc:71
-#: plugins/admin/ogroups/ogroup-list.xml:15
-msgid "Object group"
-msgstr "Grupo de objetos"
+#: ihtml/themes/default/snapshotdialog.tpl:6
+msgid ""
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
+msgstr ""
+"El procedimiento recuperara una instancia de los objetos seleccionados. "
+"Serán reemplazados los objetos actuales despues de presionar el botón "
+"recuperar."
 
-#: plugins/generic/references/class_reference.inc:73
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
-#: plugins/admin/ogroups/class_ogroupManagement.inc:192
-msgid "Printer"
-msgstr "Impresora"
+#: ihtml/themes/default/snapshotdialog.tpl:9
+#, fuzzy
+msgid ""
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
+msgstr ""
+"Recuerde que la configuración DNS y las entradas de la base de datos no "
+"pueden ser recuperados. Para algunos objetos es solo necesario abrirlos y "
+"grabarlos de nuevo (goFon), pero algunas entradas deben ser creadas "
+"manualmente (glpi)."
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Object name"
-msgstr "Nombre de objeto"
+#: ihtml/themes/default/snapshotdialog.tpl:12
+msgid ""
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
+msgstr ""
+"No olvide comprobar referencias a otros objetos, por ejemplo ¿todavía "
+"existen las impresoras seleccionadas?"
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Contents"
-msgstr "Contenidos"
+#: ihtml/themes/default/snapshotdialog.tpl:29
+#, fuzzy
+msgid "There is no snapshot available that can be restored"
+msgstr "No hay instantaneas disponibles que puedan ser recuperadas"
 
-#: plugins/generic/references/contents.tpl:18
-msgid "This object has no relationship to other objects."
-msgstr "Este objeto no tiene relación con otros objetos"
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+msgstr ""
+"Elija una instantanea y pulse en la imagen carpeta, para recuperar la "
+"instantanea"
 
-#: plugins/generic/welcome/main.inc:26
-#, php-format
-msgid "Welcome %s!"
-msgstr "¡Bienvenido %s!"
+#: ihtml/themes/default/snapshotdialog.tpl:50
+msgid "Creating object snapshots"
+msgstr "Creando instantaneas de objetos"
 
-#: plugins/generic/welcome/welcome.tpl:4
+#: ihtml/themes/default/snapshotdialog.tpl:53
 msgid ""
-"This is the GOsa main menu. You can select your tasks from the menu on the "
-"left, or by choosing one of the pictograms below. All changes apply directly "
-"to your companies LDAP server."
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
 msgstr ""
-"Esta es la pantalla principal de GOsa. Puede seleccionar las tareas del menú "
-"a la izquierda, o seleccionando entre los iconos siguientes. Todos los "
-"cambios se aplican directamente sobre los servidores LDAP de su compañía."
+"Este procedimiento creará una instantánea de los objetos seleccionados. "
+"Serán guardados dentro de una carpeta especial de sus sistema de archivos y "
+"podrán recuperados posteriormente."
 
-#: plugins/generic/welcome/welcome.tpl:8
+#: ihtml/themes/default/snapshotdialog.tpl:56
 msgid ""
-"Use 'Sign out' on the upper left to close the connection and 'Main' to get "
-"back to the pictogram view."
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
 msgstr ""
-"Para cerrar la conexión use <b>Cerrar</b> en la parte superior izquierda y "
-"para volver a la vista de iconos use <b>Principal</b>"
+"Recuerde que las entradas de base de datos, configuración DNS y zonas "
+"creadas en extensiones de servidor no serán guardadas en la instantánea."
 
-#: plugins/generic/welcome/welcome.tpl:15
-msgid "The GOsa team"
-msgstr "El equipo de GOsa"
+#: ihtml/themes/default/snapshotdialog.tpl:71
+#, fuzzy
+msgid "Time stamp"
+msgstr "Marca de tiempo"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
-#: plugins/admin/groups/userSelect/user-list.xml:10
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
-#: plugins/personal/posix/trustSelect/trust-list.xml:10
-#: plugins/personal/posix/groupSelect/group-list.xml:11
-msgid "Please select the desired entries"
-msgstr "Por favor seleccione las entradas que desee"
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
+msgstr "Razón para generar esta instantánea"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
-#: plugins/admin/ogroups/class_ogroupManagement.inc:191
-#: plugins/personal/posix/trustSelect/trust-list.xml:30
-msgid "Terminal"
-msgstr "Terminal"
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
+msgstr "Continuar"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:183
-#: plugins/admin/groups/userSelect/user-list.xml:14
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
-#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
-#: setup/setup_config2.tpl:228 setup/setup_config2.tpl:273
-msgid "User"
-msgstr "Usuario"
+#: ihtml/themes/default/password.tpl:5
+msgid "Change your password"
+msgstr "Cambie su contraseña"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:29
-#: plugins/admin/ogroups/class_ogroup.inc:768
-#: plugins/admin/ogroups/class_ogroup.inc:783
-#: plugins/admin/ogroups/class_ogroup.inc:787
-#: plugins/admin/ogroups/class_ogroup.inc:975
-#: plugins/admin/ogroups/ogroup-filter.tpl:29
-#: plugins/admin/ogroups/ogroup-list.xml:41
-#: plugins/admin/groups/userSelect/user-filter.tpl:17
-#: plugins/admin/groups/group-filter.tpl:21
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:17
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:21
-#: plugins/admin/groups/group-list.xml:58
-#: plugins/admin/groups/class_group.inc:1045
-#: plugins/admin/groups/class_group.inc:1056
-#: plugins/admin/groups/class_group.inc:1058
-#: plugins/admin/groups/class_group.inc:1075
-#: plugins/admin/groups/class_group.inc:1089
-#: plugins/admin/groups/class_group.inc:1096
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:538
-#: plugins/admin/users/class_userManagement.inc:585
-#: plugins/admin/users/user-filter.tpl:24
-#: plugins/admin/departments/class_domain.inc:47
-#: plugins/admin/departments/class_domain.inc:49
-#: plugins/admin/departments/class_domain.inc:54
-#: plugins/admin/departments/class_domain.inc:56
-#: plugins/admin/departments/class_domain.inc:58
-#: plugins/admin/departments/class_domain.inc:90
-#: plugins/admin/departments/dep-filter.tpl:13
-#: plugins/admin/departments/class_localityGeneric.inc:48
-#: plugins/admin/departments/class_localityGeneric.inc:50
-#: plugins/admin/departments/class_localityGeneric.inc:55
-#: plugins/admin/departments/class_localityGeneric.inc:57
-#: plugins/admin/departments/class_localityGeneric.inc:59
-#: plugins/admin/departments/class_organizationGeneric.inc:79
-#: plugins/admin/departments/class_organizationGeneric.inc:81
-#: plugins/admin/departments/class_organizationGeneric.inc:86
-#: plugins/admin/departments/class_organizationGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:90
-#: plugins/admin/departments/class_countryGeneric.inc:47
-#: plugins/admin/departments/class_countryGeneric.inc:49
-#: plugins/admin/departments/class_countryGeneric.inc:54
-#: plugins/admin/departments/class_countryGeneric.inc:56
-#: plugins/admin/departments/class_countryGeneric.inc:58
-#: plugins/admin/departments/class_dcObject.inc:47
-#: plugins/admin/departments/class_dcObject.inc:49
-#: plugins/admin/departments/class_dcObject.inc:54
-#: plugins/admin/departments/class_dcObject.inc:56
-#: plugins/admin/departments/class_dcObject.inc:58
-#: plugins/admin/departments/class_dcObject.inc:90
-#: plugins/admin/departments/class_department.inc:349
-#: plugins/admin/departments/class_department.inc:351
-#: plugins/admin/departments/class_department.inc:356
-#: plugins/admin/departments/class_department.inc:363
-#: plugins/admin/departments/class_department.inc:367
-#: plugins/admin/acl/class_aclRole.inc:733
-#: plugins/admin/acl/class_aclRole.inc:745
-#: plugins/admin/acl/class_aclRole.inc:755 plugins/admin/acl/acl-list.xml:49
-#: plugins/admin/acl/paste_role.tpl:4 plugins/admin/acl/acl-filter.tpl:21
-#: plugins/admin/acl/acl_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1336
-#: plugins/personal/generic/class_user.inc:1378
-#: plugins/personal/generic/class_user.inc:1834
-#: plugins/personal/posix/trustSelect/trust-list.xml:56
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:23
-#: plugins/personal/posix/groupSelect/group-filter.tpl:21
-#: plugins/personal/posix/groupSelect/group-list.xml:41
-#: setup/setup_migrate.tpl:283 setup/setup_feedback.tpl:31
-msgid "Name"
-msgstr "Nombre"
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
+msgstr "Su contraseña se ha cambiado correctamente."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
-#: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:976
-#: plugins/admin/ogroups/generic.tpl:26
-#: plugins/admin/groups/userSelect/user-list.tpl:13
-#: plugins/admin/groups/generic.tpl:39
-#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:13
-#: plugins/admin/groups/group-list.tpl:13
-#: plugins/admin/groups/class_group.inc:1185
-#: plugins/admin/users/user-list.tpl:13
-#: plugins/admin/departments/locality.tpl:28
-#: plugins/admin/departments/generic.tpl:39
-#: plugins/admin/departments/class_domain.inc:92
-#: plugins/admin/departments/class_localityGeneric.inc:94
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/admin/departments/class_countryGeneric.inc:94
-#: plugins/admin/departments/class_dcObject.inc:93
-#: plugins/admin/departments/domain.tpl:28
-#: plugins/admin/departments/country.tpl:28
-#: plugins/admin/departments/dcObject.tpl:28
-#: plugins/admin/departments/class_department.inc:668
-#: plugins/admin/departments/dep-list.tpl:13
-#: plugins/admin/departments/organization.tpl:39
-#: plugins/admin/acl/acl-list.tpl:13 plugins/admin/acl/class_aclRole.inc:734
-#: plugins/admin/acl/acl_role.tpl:27
-#: plugins/personal/generic/class_user.inc:1688
-#: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/posix/trustSelect/trust-list.tpl:13
-#: plugins/personal/posix/groupSelect/group-list.tpl:13
-#: setup/setup_ldap.tpl:55
-msgid "Base"
-msgstr "Base"
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
+msgid "Password change"
+msgstr "Cambio de contraseña"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:3
-#: plugins/admin/ogroups/ogroup-filter.tpl:3
-#: plugins/admin/groups/userSelect/user-filter.tpl:3
-#: plugins/admin/groups/group-filter.tpl:3
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:3
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:3
-#: plugins/admin/users/user-filter.tpl:3
-#: plugins/admin/departments/dep-filter.tpl:3
-#: plugins/admin/acl/acl-filter.tpl:3
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:3
-#: plugins/personal/posix/groupSelect/group-filter.tpl:3
-msgid "Filter"
-msgstr "Filtro"
+#: ihtml/themes/default/password.tpl:72
+#, fuzzy
+msgid ""
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
+msgstr ""
+"Este dialogo le permite cambiar de forma sencilla la contraseña. Introduzca "
+"la contraseña actual y la nueva contraseña (dos veces) en los campos "
+"siguientes y presione en el botón 'Cambiar'."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:11
-msgid "Show department"
-msgstr "Mostrar departamento"
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
+msgstr "Cambiar contraseña"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:12
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:11
-msgid "Show users"
-msgstr "Mostrar usuarios"
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
+msgstr "Directorio"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:12
-msgid "Show groups"
-msgstr "Mostrar grupos"
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
+#, fuzzy
+msgid "User name"
+msgstr "Nombre de Usuario"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:15
-msgid "Show server"
-msgstr "Mostrar servidor"
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
+msgstr "Contraseña actual"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:16
-msgid "Show workstation"
-msgstr "Mostrar estación de trabajo"
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
+msgstr "Nueva contraseña"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:17
-msgid "Show terminal"
-msgstr "Mostrar terminal"
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
+msgstr "Reintroducir nueva contraseña"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:19
-msgid "Show printer"
-msgstr "Mostrar impresora"
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
+msgid "Password strength"
+msgstr "Seguridad de contraseña"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:20
-msgid "Show phone"
-msgstr "Mostrar teléfono"
+#: ihtml/themes/default/password.tpl:131
+msgid "Click here to change your password"
+msgstr "Pulse aquí para cambiar su contraseña"
 
-#: plugins/admin/ogroups/remove.tpl:6
-msgid ""
-"Please double check if you really want to do this since there is no way for "
-"GOsa to get your data back."
-msgstr ""
-"Si está seguro de lo que quiere hacer pulse dos veces, ya que no hay forma "
-"de que GOsa pueda recuperar posteriormente esa información"
-
-#: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:972
-msgid "Object groups"
-msgstr "Grupos de objetos"
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
+msgstr "Introducir contraseña"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:26
-msgid "Manage object groups"
-msgstr "Gestionar grupos de objetos"
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
+msgstr "Detectado conflicto de Bloqueos"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:115
-#: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:204
-msgid "Infrastructure error"
-msgstr "error de infraestructura"
+#: ihtml/themes/default/islocked.tpl:14
+#, fuzzy
+msgid ""
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
+msgstr ""
+"Si esta detección de bloqueo es falsa, la otra persona cerro su navegador "
+"mientras estaba editando. Puede eliminar el archivo de bloqueo en ese caso, "
+"pulsando en el botón <i>Eliminar</i>."
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:182
-msgid "Templates"
-msgstr "Plantillas"
+#: ihtml/themes/default/islocked.tpl:23
+msgid "Read only"
+msgstr "Solo lectura"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:190
-msgid "Windows Install"
-msgstr "Instalación Windows"
+#: ihtml/themes/default/copyPasteDialog.tpl:1
+msgid "Copy & paste wizard"
+msgstr "Asistente para copiar y pegar"
 
-#: plugins/admin/ogroups/class_ogroup.inc:238
-msgid "You cannot combine terminals and workstations in one object group!"
+#: ihtml/themes/default/copyPasteDialog.tpl:7
+#, fuzzy
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
 msgstr ""
-"¡No puede combinar terminales y estaciones de trabajo en un unico grupo de "
-"objetos!"
+"Algunos valores necesitan ser únicos en todo el directorio mientras que "
+"algunas combinaciones no tienen sentido. GOsa mostrara los atributos "
+"importantes. Por favor no cambie los valores aquí indicados para cumplir las "
+"políticas."
 
-#: plugins/admin/ogroups/class_ogroup.inc:354
-#: plugins/admin/users/class_userManagement.inc:463
-#: plugins/admin/users/class_userManagement.inc:497
-#: plugins/admin/users/class_userManagement.inc:528
-msgid "none"
-msgstr "ninguno"
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
+msgstr ""
+"¡Recuerde que propiedades como gestionar instantáneas no serán copiadas!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:356
-msgid "too many different objects!"
-msgstr "¡demasiados objetos diferentes!"
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
+msgstr ""
+"Si mueve o copia una entrada dentro de GOsa y elimina el objeto original,"
+"¡tendrá errores al pegar el objeto!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:358
-msgid "users"
-msgstr "usuarios"
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+msgid "Cancel all"
+msgstr "Cancelar todo"
 
-#: plugins/admin/ogroups/class_ogroup.inc:359
-msgid "groups"
-msgstr "grupos"
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+msgid "Operation complete"
+msgstr "Operación incompleta"
 
-#: plugins/admin/ogroups/class_ogroup.inc:360
-msgid "applications"
-msgstr "aplicaciones"
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
+msgstr "Terminar"
 
-#: plugins/admin/ogroups/class_ogroup.inc:361
-msgid "departments"
-msgstr "departamentos"
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
+msgstr "¡Su sesión de GOsa ha caducado!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:362
-msgid "servers"
-msgstr "servidores"
+#: ihtml/themes/default/logout.tpl:9
+#, fuzzy
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
+msgstr ""
+"La última interacción con el interfaz web de GOsa fue hace ya bastante "
+"tiempo. Por razones de seguridad, la sesión ha sido cancelada. Para "
+"continuar con las tareas administrativas, vuelva a iniciar sesión de nuevo."
 
-#: plugins/admin/ogroups/class_ogroup.inc:363
-msgid "workstations"
-msgstr "estaciones de trabajo"
+#: ihtml/themes/default/logout.tpl:16
+#, fuzzy
+msgid "Login again"
+msgstr "Entrando de nuevo"
 
-#: plugins/admin/ogroups/class_ogroup.inc:364
-msgid "winstations"
-msgstr "Estación de trabajo Windows"
+#: ihtml/themes/default/login.tpl:31
+#, fuzzy
+msgid "Login to GOsa"
+msgstr "Bienvenidos al asistente de configuración de GOsa"
 
-#: plugins/admin/ogroups/class_ogroup.inc:365
-msgid "terminals"
-msgstr "terminales"
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
+msgstr "Contraseña"
 
-#: plugins/admin/ogroups/class_ogroup.inc:366
-msgid "phones"
-msgstr "teléfonos"
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:367
-msgid "printers"
-msgstr "impresoras"
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
+msgstr "Pulse aquí para iniciar sesión"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-#: setup/setup_config2.tpl:143
-msgid "disabled"
-msgstr "desactivado"
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+#, fuzzy
+msgid "Log in"
+msgstr "Inicio"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-msgid "full access"
-msgstr "Acceso sin restricciones"
+#: ihtml/themes/default/sizelimit.tpl:3
+msgid ""
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
+msgstr ""
+"La opción 'tamaño limite' permite unas operaciones con LDAP mas rápidas y "
+"protege al servidor LDAP de tener una mayor carga. La manera mas fácil de "
+"manipular grandes bases de datos sin grandes perdidas de tiempo es limitar "
+"la búsqueda a valores pequeños y usar filtros para encontrar las entradas "
+"que este buscando."
 
-#: plugins/admin/ogroups/class_ogroup.inc:413
-#: plugins/admin/groups/class_group.inc:434
-#: plugins/personal/posix/class_posixAccount.inc:574
-msgid "allow access to these hosts"
-msgstr "Permitir el acceso a estos equipos"
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
+msgstr "Por favor elija la forma de reaccionar en esta sesión"
 
-#: plugins/admin/ogroups/class_ogroup.inc:601
-msgid "Non existing dn:"
-msgstr "No existe el 'dn':"
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
+msgstr ""
+"ignore este error y muestre todas las entradas devueltas por el servidor LDAP"
 
-#: plugins/admin/ogroups/class_ogroup.inc:758
-#, php-format
+#: ihtml/themes/default/sizelimit.tpl:11
+#, fuzzy
 msgid ""
-"These systems are already configured by other object groups and cannot be "
-"added:"
+"ignore this error and show all entries that fit into the defined size limit"
 msgstr ""
-"Estos sistemas ya han sido configurados por otros grupos de objetos y no "
-"pueden ser añadidos:"
-
-#: plugins/admin/ogroups/class_ogroup.inc:792
-msgid "You can combine two different object types at maximum, only!"
-msgstr "¡Solo se puede combiar dos tipos de objetos diferentes como máximo!"
+"ignore este error y muestre todas las entradas que coincidan con el tamaño "
+"limite definido y active el uso de filtros en su lugar"
 
-#: plugins/admin/ogroups/class_ogroup.inc:967
-msgid "Object group generic"
-msgstr "Grupo de objetos genérico"
+#: ihtml/themes/default/infoPage.tpl:4
+#, fuzzy
+msgid "User information"
+msgstr "mostrar información"
 
-#: plugins/admin/ogroups/class_ogroup.inc:978
-msgid "Sytem trust"
-msgstr "Sistema de confianza"
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
+msgstr "Identificador (ID) de usuario"
 
-#: plugins/admin/ogroups/class_ogroup.inc:979
-msgid "Member"
-msgstr "Miembro"
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+msgid "Surname"
+msgstr "Apellido"
 
-#: plugins/admin/ogroups/generic.tpl:7
-#: plugins/admin/ogroups/paste_generic.tpl:4
-#: plugins/admin/groups/generic.tpl:11
-#: plugins/admin/groups/paste_generic.tpl:5
-msgid "Group name"
-msgstr "Nombre del grupo"
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+msgid "Given name"
+msgstr "Nombre de pila"
 
-#: plugins/admin/ogroups/generic.tpl:10
-msgid "Name of the group"
-msgstr "Nombre del grupo"
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
+msgstr "Título Personal"
 
-#: plugins/admin/ogroups/generic.tpl:18 plugins/admin/groups/generic.tpl:28
-msgid "Descriptive text for this group"
-msgstr "Descripción del grupo"
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
+msgstr "Títulos académicos"
 
-#: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1191
-#: plugins/personal/posix/generic.tpl:139
-msgid "System trust"
-msgstr "Sistema de seguridad"
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
+msgstr "Dirección Postal personal"
 
-#: plugins/admin/ogroups/generic.tpl:37 plugins/admin/groups/generic.tpl:160
-#: plugins/admin/groups/generic.tpl:194 plugins/personal/posix/generic.tpl:141
-#: plugins/personal/posix/generic.tpl:169
-msgid "Trust mode"
-msgstr "Modo seguro"
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
+msgstr "Fecha de nacimiento"
 
-#: plugins/admin/ogroups/generic.tpl:65
-msgid "Member objects"
-msgstr "Objetos miembros"
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
+msgstr "Correo Electrónico"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:133
-msgid "Phone queue"
-msgstr "Cola telefónica"
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
+msgid "Home phone number"
+msgstr "Número de teléfono personal"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:160
-msgid "Systems"
-msgstr "Sistemas"
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
+msgstr "Organización"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:171
-#: plugins/admin/ogroups/tabs_ogroups.inc:194
-msgid "Startup"
-msgstr "Inicio"
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
+#, fuzzy
+msgid "Organizational Unit"
+msgstr "Nombre de la Organización"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:182
-#: plugins/admin/ogroups/tabs_ogroups.inc:203
-msgid "Devices"
-msgstr "Dispositivos"
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
+msgstr "Localización"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:213
-msgid "FAI summary"
-msgstr "Sumario FAI"
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
+msgstr "Calle"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:222
-#: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:890
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
-msgid "Environment"
-msgstr "Entorno"
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
+msgid "Department number"
+msgstr "Número del departamento"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:241
-msgid "Applications"
-msgstr "Aplicaciones"
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
+msgid "Employee number"
+msgstr "Número de empleado"
 
-#: plugins/admin/ogroups/paste_generic.tpl:7
-msgid "Please enter the new object group name"
-msgstr "Por favor introduzca un nuevo nombre del grupo de objetos"
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
+msgstr "Funciones laborales"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:11
-msgid "user groups"
-msgstr "grupos de usuarios"
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+msgid "User settings"
+msgstr "Caracteristicas del usuario"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:12
-msgid "nested groups"
-msgstr "grupos anidados"
+#: ihtml/themes/default/infoPage.tpl:55
+#, fuzzy
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
+msgstr ""
+"No puedo crear información de bloqueos en el árbol LDAP. ¡Por favor contacte "
+"con su Administrador!"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:13
-msgid "application groups"
-msgstr "grupos de aplicacion"
+#: ihtml/themes/default/infoPage.tpl:61
+#, fuzzy
+msgid "Administrative contact"
+msgstr "Parámetros administrativos"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:14
-msgid "department groups"
-msgstr "grupos de departamento"
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
+msgstr "El equipo de GOsa"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:15
-msgid "server groups"
-msgstr "grupos de servidor"
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:16
-msgid "workstation groups"
-msgstr "grupos de estación de trabajo"
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
+#, fuzzy
+msgid "Error message"
+msgstr "Enviar mensaje"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:17
-msgid "windows workstation groups"
-msgstr "grupos de estaciones de trabajo windows"
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:18
-msgid "terminal groups"
-msgstr "grupos de terminales"
+#: ihtml/themes/default/framework.tpl:9
+#, fuzzy
+msgid "Log out"
+msgstr "Salir"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:19
-msgid "printer groups"
-msgstr "grupos de impresoras"
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
+msgstr ""
+"Esta actualmente editando una entrada de base de datos.¿Quiere desestimar "
+"los cambios?"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:20
-msgid "phone groups"
-msgstr "grupos de teléfonos"
+#: ihtml/themes/default/framework.tpl:22
+#, fuzzy, php-format
+msgid "Session expires in %d!"
+msgstr "¡La sesión no es codificada!"
 
-#: plugins/admin/ogroups/ogroup-list.xml:11
-msgid "List of object groups"
-msgstr "Lista del grupo de objetos"
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
+msgstr "Ventana de ayuda de GOsa"
 
-#: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:74 plugins/admin/users/user-list.xml:73
-#: plugins/admin/departments/locality.tpl:8
-#: plugins/admin/departments/generic.tpl:7
-#: plugins/admin/departments/domain.tpl:8
-#: plugins/admin/departments/country.tpl:8
-#: plugins/admin/departments/dcObject.tpl:8
-#: plugins/admin/departments/organization.tpl:7
-msgid "Properties"
-msgstr "Propiedades"
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
+msgstr "índice"
 
-#: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:90 plugins/admin/users/user-list.xml:89
-#: plugins/admin/departments/dep-list.xml:98 plugins/admin/acl/acl-list.xml:76
-#: setup/class_setupStep_Migrate.inc:1036
-#: setup/class_setupStep_Migrate.inc:1052
-msgid "Create"
-msgstr "Crear"
+#: ihtml/themes/default/logout-close.tpl:5
+msgid "Your GOsa session has been closed!"
+msgstr "¡Su sesión de GOsa se ha terminado!"
 
-#: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-list.xml:115
-#: plugins/admin/users/user-list.xml:121
-#: plugins/admin/departments/dep-list.xml:160
-#: plugins/admin/departments/dep-list.xml:181
-#: plugins/admin/acl/acl-list.xml:95 plugins/admin/acl/acl-list.xml:144
-#: plugins/personal/generic/generic_certs.tpl:21
-#: plugins/personal/generic/generic_certs.tpl:45
-#: plugins/personal/generic/generic_certs.tpl:69
-#: setup/class_setupStep_Migrate.inc:2870
-msgid "Remove"
-msgstr "Eliminar"
+#: ihtml/themes/default/logout-close.tpl:7
+msgid ""
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
+msgstr ""
+"Por favor cierre la ventana del navegador y limpie la cache para evitar una "
+"reautentificación automática de su navegador."
 
-#: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:123
-#: plugins/admin/users/user-list.xml:156
-msgid "Send message"
-msgstr "Enviar mensaje"
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+msgid "LDAP inspection"
+msgstr "Inspección LDAP"
 
-#: plugins/admin/ogroups/ogroup-list.xml:142
-msgid "Edit object group"
-msgstr "Editar grupo de objetos"
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
+msgstr "Analice la compatibilidad con GOsa de su directorio LDAP"
 
-#: plugins/admin/ogroups/ogroup-list.xml:155
-msgid "Remove object group"
-msgstr "Eliminar grupo de objetos"
+#: setup/class_setupStep_Migrate.inc:59
+msgid "Checking for root object"
+msgstr "Comprobando objeto raíz"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:6
-msgid "Select objects to add"
-msgstr "Seleccione los objetos a añadir"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:20
-#: plugins/admin/groups/trust_machines.tpl:19
-#: plugins/personal/posix/posix_groups.tpl:21
-msgid "Filters"
-msgstr "Filtros"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:36
-msgid "Display objects of department"
-msgstr "Mostrar objetos del departamento"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:37
-#: plugins/admin/ogroups/trust_machines.tpl:27
-#: plugins/admin/groups/trust_machines.tpl:26
-#: plugins/personal/posix/posix_groups.tpl:35
-#: plugins/personal/posix/trust_machines.tpl:27
-msgid "Choose the department the search will be based on"
-msgstr "Escoja el departamento base de la búsqueda"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:40
-msgid "Display objects matching"
-msgstr "Mostrar objetos que coincidan"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:41
-msgid "Regular expression for matching object names"
-msgstr "Expresiones regulares para buscar nombre de objetos"
-
-#: plugins/admin/ogroups/trust_machines.tpl:6
-#: plugins/admin/groups/trust_machines.tpl:6
-#: plugins/personal/posix/trust_machines.tpl:6
-msgid "Select systems to add"
-msgstr "Seleccione los sistemas a añadir"
-
-#: plugins/admin/ogroups/trust_machines.tpl:26
-#: plugins/admin/groups/trust_machines.tpl:25
-#: plugins/personal/posix/trust_machines.tpl:26
-msgid "Display systems of department"
-msgstr "Mostrar los sistemas del departamento"
-
-#: plugins/admin/ogroups/trust_machines.tpl:30
-#: plugins/admin/groups/trust_machines.tpl:29
-#: plugins/personal/posix/trust_machines.tpl:30
-msgid "Display systems matching"
-msgstr "Mostrar sistemas que coincidan con"
-
-#: plugins/admin/ogroups/trust_machines.tpl:31
-#: plugins/admin/groups/trust_machines.tpl:30
-#: plugins/personal/posix/trust_machines.tpl:31
-msgid "Regular expression for matching addresses"
-msgstr "Expresiones regulares para buscar direcciones"
-
-#: plugins/admin/groups/remove.tpl:6
-msgid ""
-"This may be a primary user group. Please double check if you really want to "
-"do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Este puede ser un grupo primario. Si está seguro de lo que quiere hacer "
-"pulse dos veces, dado que GOsa no tiene manera de recuperar esta información."
+#: setup/class_setupStep_Migrate.inc:65
+msgid "Inspecting object classes in root object"
+msgstr "Analizando objetos en la entrada raíz"
 
-#: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:541
-#: plugins/admin/users/user-list.xml:57
-#: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1375
-#: plugins/personal/generic/class_user.inc:1680
-#: plugins/personal/generic/class_user.inc:1831
-msgid "Given name"
-msgstr "Nombre de pila"
+#: setup/class_setupStep_Migrate.inc:71
+msgid "Checking permission for LDAP database"
+msgstr "Comprobando permisos en la base de datos LDAP"
 
-#: plugins/admin/groups/userSelect/user-list.xml:48
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
-#: plugins/admin/users/user-list.xml:49
-#: plugins/personal/generic/class_user.inc:1679
-msgid "Surname"
-msgstr "Apellido"
+#: setup/class_setupStep_Migrate.inc:78
+msgid "Checking for super administrator"
+msgstr "Comprobando súper administrador"
 
-#: plugins/admin/groups/generic.tpl:14 plugins/personal/generic/generic.tpl:52
-#: plugins/personal/generic/generic.tpl:73
-#: plugins/personal/generic/generic.tpl:89
-msgid "Multiple edit"
-msgstr "Edición multiple"
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+msgid "LDAP query failed"
+msgstr "La consulta LDAP ha fallado"
 
-#: plugins/admin/groups/generic.tpl:17
-#: plugins/admin/groups/paste_generic.tpl:8
-msgid "Posix name of the group"
-msgstr "Nombre Posix del grupo"
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
+msgstr "Posiblemente el objeto raíz está desaparecido"
 
-#: plugins/admin/groups/generic.tpl:59
-#: plugins/admin/groups/paste_generic.tpl:13
-msgid "Normally IDs are autogenerated, select to specify manually"
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
+msgstr "Error"
+
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
+#, fuzzy, php-format
+msgid ""
+"The specified user '%s' does not have full access to your LDAP database."
 msgstr ""
-"Normalmente los IDs son generados automáticamente, seleccione para indicar "
-"manualmente"
+"El usuario especificado '%s' no tiene acceso total a la base de datos LDAP."
 
-#: plugins/admin/groups/generic.tpl:62
-#: plugins/admin/groups/paste_generic.tpl:15
-msgid "Force GID"
-msgstr "Forzar GID"
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
+msgstr "No hay cuenta de administrador GOsa en la base de datos LDAP."
 
-#: plugins/admin/groups/generic.tpl:65
-#: plugins/admin/groups/paste_generic.tpl:18
-msgid "Forced ID number"
-msgstr "Forzar número ID"
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
+msgstr "Crear"
 
-#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
-msgid "Select to create a samba conform group"
-msgstr "Seleccione para crear un grupo conforme samba"
+#: setup/class_setupStep_Migrate.inc:377
+msgid "Migration error"
+msgstr "Error de migración"
 
-#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
-msgid "in domain"
-msgstr "en dominio"
+#: setup/class_setupStep_Migrate.inc:377
+#, php-format
+msgid "Cannot add ACL for user '%s':"
+msgstr "No se puede añadir ACL para el usuario '%s':"
 
-#: plugins/admin/groups/generic.tpl:131
-msgid "Members are in a phone pickup group"
-msgstr "Los miembros están en un grupo de salto telefónico"
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
+msgid "Input error"
+msgstr "Error de entrada"
 
-#: plugins/admin/groups/generic.tpl:146
-msgid "Members are in a nagios group"
-msgstr "Los miembros están en un grupo Nagios"
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
+msgstr "UID"
 
-#: plugins/admin/groups/generic.tpl:236
-msgid "Group members"
-msgstr "Miembros del grupo"
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Password error"
+msgstr "Error de contraseña"
 
-#: plugins/admin/groups/generic.tpl:243
-msgid "In all groups"
-msgstr "en todos los grupos"
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Provided passwords do not match!"
+msgstr "¡La contraseñas introducidas no  coinciden!"
 
-#: plugins/admin/groups/generic.tpl:246
-msgid "Not in all groups"
-msgstr "no en todos los grupos"
+#: setup/class_setupStep_Migrate.inc:425
+msgid "Specify a valid user ID!"
+msgstr "¡Por favor especifique un ID de usuario válido!"
 
-#: plugins/admin/groups/group-filter.tpl:11
-#: plugins/personal/posix/groupSelect/group-filter.tpl:11
-msgid "Show primary groups"
-msgstr "Mostrar grupos primarios"
+#: setup/class_setupStep_Migrate.inc:450
+#, php-format
+msgid "Adding an administrative user failed: object '%s' already exists!"
+msgstr ""
+"Ha fallado al añadir un usuario administrativo: ¡El objeto '%s' ya existe!"
 
-#: plugins/admin/groups/group-filter.tpl:12
-#: plugins/personal/posix/groupSelect/group-filter.tpl:12
-msgid "Show samba groups"
-msgstr "Mostrar grupos de samba"
+#: setup/class_setupStep_Migrate.inc:662
+msgid ""
+"The LDAP root object is missing. It is required to use your LDAP service."
+msgstr ""
+"EL objeto raíz de LDAP ha desaparecido. Es necesario para poder usar el "
+"servicio LDAP."
 
-#: plugins/admin/groups/group-filter.tpl:13
-#: plugins/personal/posix/groupSelect/group-filter.tpl:13
-msgid "Show mail groups"
-msgstr "Mostrar grupos de correo"
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
+msgid "Try to create root object"
+msgstr "Intentando crear el objeto raíz"
 
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:79
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:85
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr "Eliminar usuario"
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
+msgstr ""
+"El objeto raíz no ha podido ser creado, tendra que crearlo usted mismo."
 
-#: plugins/admin/groups/paste_generic.tpl:1
-msgid "Group settings"
-msgstr "Parametros de grupos"
+#: setup/class_setupStep_Migrate.inc:730
+#, php-format
+msgid "Missing GOsa object class '%s'!"
+msgstr "¡No se ha encontrado la clase de objeto GOsa '%s'!"
 
-#: plugins/admin/groups/group-list.xml:11
-msgid "List of groups"
-msgstr "Lista de grupos"
+#: setup/class_setupStep_Migrate.inc:731
+msgid "Please check your installation."
+msgstr "Por favor compruebe su instalación"
 
-#: plugins/admin/groups/group-list.xml:23
-#, fuzzy
-msgid "Group submenu entry"
-msgstr "Miembro del grupo"
+#: setup/class_setupStep_Migrate.inc:752
+#, php-format
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
+msgstr ""
+"No se puede un tipo de objeto estructural en su entrada raíz. Por favor "
+"intente añadir la clase de objeto '%s' manualmente."
 
-#: plugins/admin/groups/group-list.xml:31
-#, fuzzy
-msgid "Group menu entry"
-msgstr "Miembro del grupo"
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
+msgid "Migrate"
+msgstr "Migrar"
 
-#: plugins/admin/groups/group-list.xml:155
-msgid "Edit group"
-msgstr "Editar grupo"
+#: setup/setup_checks.tpl:2
+msgid ""
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:168
-msgid "Remove group"
-msgstr "Eliminar grupo"
+#: setup/setup_checks.tpl:5
+#, fuzzy
+msgid "Inspection"
+msgstr "Inspección LDAP"
 
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Cannot find group SID in your configuration!"
-msgstr "¡No se puede encontrar SID de grupo en el archivo de configuración!"
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
+msgstr "Comprobaciones de módulos y extensiones PHP"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Samba group"
-msgstr "Grupo de samba"
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain admins"
-msgstr "Administradores del dominio"
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
+msgstr "GOsa NO funcionara si no arregla esto."
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain users"
-msgstr "Usuarios del dominio"
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
+msgstr "GOsa puede funcionar sin que se arregle esto."
 
-#: plugins/admin/groups/class_group.inc:401
-msgid "Domain guests"
-msgstr "Invitados del dominio"
+#: setup/setup_checks.tpl:50
+msgid "PHP setup configuration"
+msgstr "Configuración de PHP"
 
-#: plugins/admin/groups/class_group.inc:406
-#, php-format
-msgid "Special group (%d)"
-msgstr "Grupo especial (%d)"
+#: setup/setup_checks.tpl:50
+msgid "show information"
+msgstr "mostrar información"
 
-#: plugins/admin/groups/class_group.inc:540
-#, php-format
-msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
 msgstr ""
-"¡Añadir UID '%s' al grupo '%s ha fallado: no podemos encontrar el objeto "
-"usuario!"
 
-#: plugins/admin/groups/class_group.inc:546
-#, php-format
-msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
-msgstr "¡Añadir UID '%s' al grupo '%s ha fallado: UID es usado mas de una vez!"
+#: setup/class_setupStep_Finish.inc:40
+msgid "Write configuration file"
+msgstr "Escribir archivo de configuración"
 
-#: plugins/admin/groups/class_group.inc:624
-msgid "! unknown UID"
-msgstr "¡UID desconocido!"
+#: setup/class_setupStep_Finish.inc:41
+msgid "Finish - write the configuration file"
+msgstr "Terminar - Escribir el archivo de configuración"
 
-#: plugins/admin/groups/class_group.inc:667
-#, php-format
-msgid "Search returned too many results. Not displaying more than %s entries!"
+#: setup/class_setupStep_Finish.inc:106
+msgid ""
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
 msgstr ""
-"La busqueda ha devuelto demasiados reultados.¡No se muestran mas de %s "
-"entradas!"
+"El fichero de configuración es universalmente legible. ¡Por favor modifique "
+"los permisos del archivo!"
 
-#: plugins/admin/groups/class_group.inc:894
-#, php-format
-msgid "Cannot find any SID for '%s'!"
-msgstr "¡No se puede encontrar nigún SID para '%s'!"
+#: setup/class_setupStep_Finish.inc:108
+msgid "The configuration is currently not readable or it does not exists."
+msgstr "En estos momentos la configuración no es accesible o no existe."
 
-#: plugins/admin/groups/class_group.inc:899
-#, php-format
-msgid "Cannot find any RIDBASE for '%s'!"
-msgstr "¡No se puede encontrar un RIDBASE para '%s'."
+#: setup/class_setupStep_Finish.inc:117
+#, fuzzy, php-format
+msgid ""
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
+msgstr ""
+"Despues de descargar y poner el fichero en %s,  compruebe que el usuario del "
+"servicio web es capaz de leer %s, mientras que los otros usuarios no. Si "
+"quiere puede ejecutar los siguientes comandos para cumplir lo requerido:"
 
-#: plugins/admin/groups/class_group.inc:994
-#, php-format
-msgid "The gidNumber '%s' is already in use by %s!"
-msgstr "¡El gidNumber '%s' introducido ya esta siendo usado por %s!"
+#: setup/class_setupStep_Ldap.inc:54
+msgid "LDAP setup"
+msgstr "Configuración LDAP"
 
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1108
-#: plugins/admin/groups/class_group.inc:1187
-#: plugins/personal/posix/class_posixAccount.inc:1045
-#: plugins/personal/posix/class_posixAccount.inc:1048
-#: plugins/personal/posix/generic.tpl:74
-#: plugins/personal/posix/paste_generic.tpl:45
-msgid "GID"
-msgstr "GID"
+#: setup/class_setupStep_Ldap.inc:55
+msgid "LDAP connection setup"
+msgstr "Conectividad LDAP"
 
-#: plugins/admin/groups/class_group.inc:1175
-msgid "Generic group settings"
-msgstr "Parámetros genéricos del grupo"
+#: setup/class_setupStep_Ldap.inc:56
+msgid ""
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
+msgstr ""
+"Este asistente llevara a cabo la configuración de la conectividad entre GOsa "
+"y LDAP."
 
-#: plugins/admin/groups/class_group.inc:1189
-msgid "Samba group type"
-msgstr "Tipo de grupo de samba"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+msgid "No"
+msgstr "No"
 
-#: plugins/admin/groups/class_group.inc:1190
-msgid "Samba domain name"
-msgstr "Nombre de dominio samba"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+msgid "Yes"
+msgstr "Si"
 
-#: plugins/admin/groups/class_group.inc:1192
-msgid "Phone pickup group"
-msgstr "Miembros de grupo de salto telefónico"
+#: setup/class_setupStep_Ldap.inc:113
+#, php-format
+msgid "Anonymous bind to server '%s' failed!"
+msgstr "¡La conexión anónima al servidor '%s' ha fallado!"
 
-#: plugins/admin/groups/class_group.inc:1193
-msgid "Nagios group"
-msgstr "Grupo Nagios"
+#: setup/class_setupStep_Ldap.inc:115
+#, php-format
+msgid "Bind as user '%s' failed!"
+msgstr "¡La conexión como usuario '%s' ha fallado!"
 
-#: plugins/admin/groups/class_group.inc:1195
-msgid "Group member"
-msgstr "Miembro del grupo"
+#: setup/class_setupStep_Ldap.inc:120
+#, php-format
+msgid "Anonymous bind to server '%s' succeeded."
+msgstr "La conexión anónima al servidor '%s' ha tenido exito."
 
-#: plugins/admin/groups/class_groupManagement.inc:26
-msgid "Group administration"
-msgstr "Administración de grupo"
+#: setup/class_setupStep_Ldap.inc:121
+msgid "Please specify user and password!"
+msgstr "¡Por Favor especifique un usuario y contraseña!"
 
-#: plugins/admin/groups/class_groupManagement.inc:156
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:62
-msgid "Posix"
-msgstr "Posix"
+#: setup/class_setupStep_Ldap.inc:123
+#, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
+msgstr "¡La conexión como usuario '%s' al servidor '%s' ha tenido exito!"
 
-#: plugins/admin/groups/class_groupManagement.inc:157
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:63
-msgid "Edit posix properties"
-msgstr "Editar características posix"
+#: setup/class_setupStep_Feedback.inc:94
+msgid "UNIX accounts/groups"
+msgstr "Cuentas/Grupos UNIX"
 
-#: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:879
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
-msgid "Edit mail properties"
-msgstr "Editar características de correo electrónico"
+#: setup/class_setupStep_Feedback.inc:96
+msgid "Samba management"
+msgstr "Administración Samba"
 
-#: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:883
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
-msgid "Edit samba properties"
-msgstr "Editar características samba"
+#: setup/class_setupStep_Feedback.inc:98
+#, fuzzy
+msgid "Mail system management"
+msgstr "Administración sistema de correo"
 
-#: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:899
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
-msgid "Edit phone properties"
-msgstr "Editar características telefónicas"
+#: setup/class_setupStep_Feedback.inc:100
+msgid "FAX system administration"
+msgstr "Administración sistema de FAX"
 
-#: plugins/admin/groups/class_groupManagement.inc:188
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:94
-msgid "Menu"
-msgstr "Menú"
+#: setup/class_setupStep_Feedback.inc:102
+msgid "Asterisk administration"
+msgstr "Administración Asterisk"
 
-#: plugins/admin/groups/class_groupManagement.inc:189
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:95
-msgid "Edit start menu properties"
-msgstr "Editar propiedades iniciales del menú"
+#: setup/class_setupStep_Feedback.inc:104
+msgid "System inventory"
+msgstr "Inventario de sistemas"
 
-#: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:891
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
-msgid "Edit environment properties"
-msgstr "Editar características de entorno"
+#: setup/class_setupStep_Feedback.inc:106
+#, fuzzy
+msgid "System/Configuration management"
+msgstr "Sistemas-/Administración de Configuraciones"
+
+#: setup/class_setupStep_Feedback.inc:108
+#, fuzzy
+msgid "Address book"
+msgstr "Libreta direcciones"
+
+#: setup/class_setupStep_Feedback.inc:114
+msgid "Feedback"
+msgstr "Sugerencias"
+
+#: setup/class_setupStep_Feedback.inc:115
+msgid "Get notifications or send feedback"
+msgstr "Recibir avisos o enviar sugerencias"
+
+#: setup/class_setupStep_Feedback.inc:116
+msgid "Notification and feedback"
+msgstr "Avisos y sugerencias"
+
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
+msgid "Setup error"
+msgstr "Error de configuración"
+
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Feedback error"
+msgstr "Error de envio de sugerencias"
+
+#: setup/class_setupStep_Feedback.inc:140
+#, php-format
+msgid "Cannot send feedback to '%s': %s"
+msgstr "No se puede enviar sugerencia a '%s': %s"
+
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
+msgstr ""
+"No se puede envíar su sugerencia. El servicio no se encuentre disponible"
 
-#: plugins/admin/users/remove.tpl:6 plugins/admin/acl/remove.tpl:6
+#: setup/class_setupStep_Feedback.inc:181
+msgid "Please specify a valid email address."
+msgstr "Por favor indique una dirección de correo válida."
+
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
-"This includes all account data, system access rules, imap settings, etc. for "
-"this user. Please double check if your really want to do this since there is "
-"no way for GOsa to get your data back."
+"You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
-"Esto incluye toda las información de cuentas, reglas de acceso al sistema, "
-"configuración IMAP, etc. de este usuario. Si está seguro de lo que quiere "
-"hacer pulse dos veces, ya que no hay manera de que GOsa recupere "
-"posteriormente la información."
+"Debe seleccionar al menos una opción de ambas, para suscribirse o enviar "
+"sugerencias."
 
-#: plugins/admin/users/password.tpl:4
+#: setup/setup_license.tpl:3
 msgid ""
-"To change the user password use the fields below. The changes take effect "
-"immediately. Please memorize the new password, because the user wouldn't be "
-"able to login without it."
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
 msgstr ""
-"Para cambiar la contraseña del usuario use los campos a continuación. Los "
-"cambios tomarán efecto inmediatamente. Por favor, recuerde la nueva "
-"contraseña, el usuario no podrá autenticarse sin ella."
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/generic/password.tpl:8
-#: plugins/personal/password/password.tpl:8
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
+msgstr "He leido la licencia y la acepto"
+
+#: setup/setup_ldap.tpl:2
 msgid ""
-"Changing the password affects your authentification on mail, proxy, samba "
-"and unix services."
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
 msgstr ""
-"Cambiar la contraseña modifica la autenticación del usuario para el correo, "
-"proxy, samba y los servicios unix."
 
-#: plugins/admin/users/password.tpl:21 plugins/admin/users/password.tpl:57
-#: plugins/personal/generic/password.tpl:27
-#: plugins/personal/generic/password.tpl:70
-#: plugins/personal/password/password.tpl:32
-#: plugins/personal/password/password.tpl:75
-msgid "Repeat new password"
-msgstr "Reintroducir nueva contraseña"
+#: setup/setup_ldap.tpl:9
+msgid "Please choose the LDAP user to be used by GOsa"
+msgstr "."
 
-#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
-msgid "Strength"
-msgstr "Seguridad"
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
+msgid "LDAP connection"
+msgstr "Conexión LDAP"
 
-#: plugins/admin/users/password.tpl:35
-#, fuzzy
-msgid "Password input dialog"
-msgstr "Longitud mínima de la contraseña"
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
+msgstr "Nombre de la localización"
 
-#: plugins/admin/users/password.tpl:39
-#: plugins/personal/generic/password.tpl:51
-#: plugins/personal/password/password.tpl:56
-#, fuzzy
-msgid "Use proposal"
-msgstr "grupos de usuarios"
+#: setup/setup_ldap.tpl:35
+msgid "Connection URI"
+msgstr "URI de conexión"
 
-#: plugins/admin/users/password.tpl:43
-#: plugins/personal/generic/password.tpl:55
-#: plugins/personal/password/password.tpl:60 setup/setup_migrate.tpl:470
-#: setup/setup_migrate.tpl:513 setup/setup_migrate.tpl:557
-msgid "Refresh"
-msgstr "Refresco"
+#: setup/setup_ldap.tpl:39
+msgid "TLS connection"
+msgstr "Conexión TLS"
+
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
+#: plugins/admin/ogroups/generic.tpl:26
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
+#: plugins/admin/departments/class_domain.inc:92
+#: plugins/admin/departments/class_organizationGeneric.inc:125
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
+#: plugins/admin/departments/class_dcObject.inc:93
+#: plugins/admin/departments/domain.tpl:28
+#: plugins/admin/users/user-list.tpl:12
+msgid "Base"
+msgstr "Base"
+
+#: setup/setup_ldap.tpl:57
+msgid "Reload"
+msgstr "Recargar"
+
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+msgid "Authentication"
+msgstr "Autenticación"
 
-#: plugins/admin/users/password.tpl:49
-#: plugins/personal/generic/password.tpl:61
-#: plugins/personal/password/password.tpl:66
+#: setup/setup_ldap.tpl:66
 #, fuzzy
-msgid "Manually specify a password"
-msgstr "¡Por favor introduzca una contraseña!"
+msgid "Administrator DN"
+msgstr "DN del administrador"
 
-#: plugins/admin/users/password.tpl:77
+#: setup/setup_ldap.tpl:71
+msgid "Select user"
+msgstr "Eliminar usuario"
+
+#: setup/setup_ldap.tpl:81
 #, fuzzy
-msgid "Enforce password change on next login."
-msgstr "Forzar el cambio de contraseña al iniciar"
+msgid "Automatically append LDAP base to administrator DN"
+msgstr "Añadir automáticamente la base LDAP al DN administrador"
 
-#: plugins/admin/users/password.tpl:84
-#: plugins/personal/generic/password.tpl:88
-#: plugins/personal/password/password.tpl:93
-msgid "Set password"
-msgstr "Introducir contraseña"
+#: setup/setup_ldap.tpl:85
+#, fuzzy
+msgid "Administrator password"
+msgstr "Contraseña de administrador"
 
-#: plugins/admin/users/template.tpl:2
-msgid "Creating a new user using templates"
-msgstr "Crear un nuevo usuario usando plantillas"
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
+msgid "Schema based settings"
+msgstr "Configuración basada en el esquema"
 
-#: plugins/admin/users/template.tpl:6
-msgid ""
-"Creating a new user can be assisted by using templates. Many database "
-"records will be filled automatically. Choose 'none' to skip the usage of "
-"templates."
-msgstr ""
-"Crear un nuevo usuario es mas fácil si usa plantillas. Algunos valores en la "
-"base de datos serán introducidos automáticamente. Elegir 'ninguno' para "
-"anular el uso de plantillas."
+#: setup/setup_ldap.tpl:94
+#, fuzzy
+msgid "Use RFC 2307bis compliant groups"
+msgstr "Usar grupos conformes a rfc2307bis"
 
-#: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:535
-#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
-#: plugins/admin/users/templatize.tpl:15
-msgid "Template"
-msgstr "Plantilla"
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
+msgid "Current status"
+msgstr "Estado actual"
 
-#: plugins/admin/users/template.tpl:23 plugins/personal/generic/generic.tpl:49
-#: plugins/personal/generic/paste_generic.tpl:7
-msgid "Last name"
-msgstr "Apellido"
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
+msgstr "Información"
 
-#: plugins/admin/users/template.tpl:27 plugins/personal/generic/generic.tpl:69
-#: plugins/personal/generic/paste_generic.tpl:11
-msgid "First name"
-msgstr "Nombre"
+#: setup/setup_language.tpl:3
+msgid "Please select the preferred language"
+msgstr "Por favor seleccione su idioma preferido"
 
-#: plugins/admin/users/class_userManagement.inc:26
-msgid "Manage users"
-msgstr "Gestión de usuarios"
+#: setup/setup_language.tpl:5
+#, fuzzy
+msgid ""
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
+msgstr ""
+"En este punto, puede seleccionar el idioma usado por defecto. Seleccionando "
+"'automático' obtendrá el lenguaje usado por el navedador. Esta configuración "
+"puede ser modificada por cada usuario."
 
-#: plugins/admin/users/class_userManagement.inc:391
-msgid "You have no permission to change this users password!"
-msgstr "¡No tiene permisos para cambiar la contraseña de este usuario!"
+#: setup/setup_language.tpl:9
+msgid "Please select your preferred language here"
+msgstr "Por favor seleccione su idioma preferido"
 
-#: plugins/admin/users/class_userManagement.inc:782
-msgid "Account locking"
-msgstr "Bloqueo de cuenta"
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:783
-#, php-format
+#: setup/setup_welcome.tpl:5
 msgid ""
-"Password method '%s' does not support locking. Account (%s) has not been "
-"locked!"
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
 msgstr ""
-"El método de contraseña '%s' no soporta bloqueo. ¡La cuenta (%s) no ha sido "
-"bloqueada!"
 
-#: plugins/admin/users/class_userManagement.inc:856
-msgid "Unlock account"
-msgstr "Desbloquear cuenta"
+#: setup/setup_welcome.tpl:9
+#, fuzzy
+msgid "What you need to generate a configuration file:"
+msgstr "Crear su fichero de configuración"
 
-#: plugins/admin/users/class_userManagement.inc:858
-msgid "Lock account"
-msgstr "Bloquear cuenta"
+#: setup/setup_welcome.tpl:13
+#, fuzzy
+msgid "The hostname of your LDAP server"
+msgstr "mientras operaba en el servidor LDAP '%s'"
 
-#: plugins/admin/users/class_userManagement.inc:871
-msgid "Edit generic properties"
-msgstr "Editar características generales"
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:874
-#: plugins/personal/posix/class_posixAccount.inc:304
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/class_posixAccount.inc:326
-#: plugins/personal/posix/class_posixAccount.inc:329
-msgid "POSIX"
-msgstr "POSIX"
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:875
-msgid "Edit POSIX properties"
-msgstr "Editar características POSIX"
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:886
-msgid "Netatalk"
-msgstr "Netatalk"
+#: setup/setup_welcome.tpl:20
+msgid ""
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:887
-msgid "Edit netatalk properties"
-msgstr "Editar características netatalk"
+#: setup/setup_welcome.tpl:24
+#, fuzzy
+msgid "Starting the setup"
+msgstr "Selección de idiomas"
 
-#: plugins/admin/users/class_userManagement.inc:895
-msgid "Edit FAX properties"
-msgstr "Editar características FAX"
+#: setup/setup_welcome.tpl:26
+#, fuzzy
+msgid ""
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
+msgstr ""
+"Por razones de seguridad necesita autenticarse para la instalación, creando "
+"el archivo '/tmp/gosa.auth', que tendrá el ID de la sesión actual en el "
+"sistema de archivos del servidor. Esto puede ser hecho ejecutando el "
+"siguiente comando:"
 
-#: plugins/admin/users/user-list.xml:11
-msgid "List of users"
-msgstr "Lista de usuarios"
+#: setup/setup_welcome.tpl:32
+#, fuzzy
+msgid "Click the 'Next' button when you've finished."
+msgstr "Pulse en el botón 'Continuar' cuando haya terminado."
 
-#: plugins/admin/users/user-list.xml:140
-msgid "Lock users"
-msgstr "Bloquear usuarios"
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
+msgid "LDAP schema check"
+msgstr "Comprobar esquemas LDAP"
 
-#: plugins/admin/users/user-list.xml:148
-msgid "Unlock users"
-msgstr "Desbloquear usuarios"
+#: setup/class_setupStep_Schema.inc:39
+msgid "Perform test on your current LDAP schema"
+msgstr "Efectuando comprobaciones en los esquemas actuales de LDAP"
 
-#: plugins/admin/users/user-list.xml:167
-msgid "Apply template"
-msgstr "Aplicar plantilla"
+#: setup/class_setup.inc:183
+msgid "Setup"
+msgstr "Configuración"
 
-#: plugins/admin/users/user-list.xml:199
-msgid "New user from template"
-msgstr "Nuevo usuario desde plantilla"
+#: setup/class_setup.inc:195
+msgid "Completed"
+msgstr "Completado"
 
-#: plugins/admin/users/user-list.xml:213
-msgid "Edit user"
-msgstr "Editar usuario"
+#: setup/class_setup.inc:235
+msgid "Check again"
+msgstr "Comprobar de nuevo"
 
-#: plugins/admin/users/user-list.xml:222
-msgid "%{filter:lockLabel(userPassword)}"
-msgstr "%{filter:lockLabel(userPassword)}"
+#: setup/class_setup.inc:238
+msgid "Next"
+msgstr "Siguiente"
 
-#: plugins/admin/users/user-list.xml:245
-msgid "Remove user"
-msgstr "Eliminar usuario"
+#: setup/setup_migrate.tpl:2
+msgid ""
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
+msgstr ""
+"Durante la comprobación LDAP, vamos a comprobar algunos problemas comunes "
+"que suelen ocurrir cuando se hace la migración a la base administrativa LDAP "
+"de GOsa. Puede querer arreglar estos problemas aquí, para poder tener una "
+"administración mas fácil."
 
-#: plugins/admin/users/user-filter.tpl:11
-msgid "Show templates"
-msgstr "Mostrar plantillas"
+#: setup/setup_migrate.tpl:5
+#, fuzzy
+msgid "Checks"
+msgstr "Comprobar Estado"
 
-#: plugins/admin/users/user-filter.tpl:12
-msgid "Show functional users"
-msgstr "Mostrar usuarios funcionales"
+#: setup/setup_migrate.tpl:22
+msgid "Add required object classes to the LDAP base"
+msgstr "Añadir las clases de objetos necesarias a la base LDAP"
 
-#: plugins/admin/users/user-filter.tpl:13
-msgid "Show POSIX users"
-msgstr "Mostrar usuarios POSIX"
+#: setup/setup_migrate.tpl:24
+msgid "Current"
+msgstr "Actual"
 
-#: plugins/admin/users/user-filter.tpl:14
-msgid "Show Mail users"
-msgstr "Mostrar los usuarios de correo"
+#: setup/setup_migrate.tpl:28
+msgid "After migration"
+msgstr "Despues de migrar"
 
-#: plugins/admin/users/user-filter.tpl:15
-msgid "Show Samba users"
-msgstr "Mostrar los usuarios samba"
+#: setup/setup_migrate.tpl:35
+msgid "Close"
+msgstr "Cerrar"
 
-#: plugins/admin/users/templatize.tpl:2
-msgid "Applying a template"
-msgstr "Aplicando una plantilla"
+#: setup/setup_migrate.tpl:40
+msgid "Create a new GOsa administrator account"
+msgstr "Crear una nueva cuenta administrativa GOsa"
 
-#: plugins/admin/users/templatize.tpl:6
+#: setup/setup_migrate.tpl:41
 msgid ""
-"Applying a template to several users will replace all user attributes "
-"defined in the template."
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
 msgstr ""
-"Aplicar una plantilla a usuarios reemplazará los valores de estos por los "
-"definidos en la plantilla."
+"Este dialogo añadirá automáticamente un nuevo superadministrador a su árbol "
+"LDAP."
 
-#: plugins/admin/users/templatize.tpl:33
-msgid "No templates available!"
-msgstr "¡No hay plantillas disponibles!"
+#: setup/setup_migrate.tpl:57
+msgid "Password (again)"
+msgstr "Contraseña (de nuevo)"
 
-#: plugins/admin/departments/remove.tpl:6
-msgid ""
-"This includes 'all' accounts, systems, etc. in this subtree. Please double "
-"check if your really want to do this since there is no way for GOsa to get "
-"your data back."
-msgstr ""
-"Esto incluye 'todas' las cuentas, sistemas, etc. en este subárbol. Por favor "
-"pulse dos veces si quiere realmente hacer esto, ya que no hay forma de que "
-"GOsa recupere la información posteriormente."
+#: setup/setup_finish.tpl:3
+msgid "Create your configuration file"
+msgstr "Crear su fichero de configuración"
 
-#: plugins/admin/departments/remove.tpl:10
-msgid ""
-"Best thing to do before performing this action would be to save the current "
-"contents of your LDAP tree in a file. So - if you've done so - press "
-"'Delete' to continue or 'Cancel' to abort."
+#: setup/setup_finish.tpl:10
+#, fuzzy
+msgid "Depending on the user name your web server is running on:"
 msgstr ""
-"La mejor opción antes de ejecutar esta acción es haber grabado el contenido "
-"actual de su árbol LDAP en un fichero. Entonces - Y solo entonces - presione "
-"'Eliminar' para continuar o 'Cancelar' para abortar."
+"Dependiendo del nombre de usuario sobre el que esta corriendo el servidor "
+"web:"
 
-#: plugins/admin/departments/dep-list.xml:11
-msgid "List of departments"
-msgstr "Lista de Departamentos"
+#: setup/setup_finish.tpl:27
+msgid "Download configuration"
+msgstr "Descargar configuración"
 
-#: plugins/admin/departments/dep-list.xml:15
-#: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:189
-msgid "Domain"
-msgstr "Dominio"
+#: setup/setup_finish.tpl:33
+msgid "Status: "
+msgstr "Estado: "
 
-#: plugins/admin/departments/dep-list.xml:23
-#: plugins/admin/departments/dep-list.xml:110
-msgid "Domain component"
-msgstr "Componente del dominio"
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
+msgstr "Comprobación de la instalación"
 
-#: plugins/admin/departments/dep-list.xml:31
-#: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_countryGeneric.inc:82
-#: plugins/admin/departments/class_countryGeneric.inc:83
-msgid "Country"
-msgstr "País"
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
+msgstr "Comprobación básica de la versión de PHP y las extensiones."
 
-#: plugins/admin/departments/dep-list.xml:39
-#: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_localityGeneric.inc:82
-#: plugins/admin/departments/class_localityGeneric.inc:83
-msgid "Locality"
-msgstr "Localidad"
+#: setup/class_setupStep_Checks.inc:66
+msgid "Checking PHP version"
+msgstr "Comprobando la versión de PHP"
 
-#: plugins/admin/departments/dep-list.xml:47
-#: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:237
-#: plugins/admin/departments/class_organizationGeneric.inc:113
-#: plugins/admin/departments/class_organizationGeneric.inc:114
-#: plugins/personal/generic/class_user.inc:1694
-#: plugins/personal/generic/generic.tpl:299 setup/setup_feedback.tpl:23
-msgid "Organization"
-msgstr "Organización"
+#: setup/class_setupStep_Checks.inc:67
+#, php-format
+msgid "PHP must be of version %s or above."
+msgstr "PHP debe ser versión '%s' o superior."
 
-#: plugins/admin/departments/locality.tpl:11
-#: plugins/admin/departments/dcObject.tpl:11
-msgid "Locality name"
-msgstr "Localidad"
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
+msgstr "Por favor actualize a la versión soportada."
 
-#: plugins/admin/departments/locality.tpl:14
-#: plugins/admin/departments/dcObject.tpl:14
-msgid "Name of locality to create"
-msgstr "Nombre de la localidad a crear"
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
+msgstr "GOsa necesita este módulo para comunicarse con el servidor LDAP."
 
-#: plugins/admin/departments/locality.tpl:22
-#: plugins/admin/departments/domain.tpl:22
-#: plugins/admin/departments/country.tpl:22
-#: plugins/admin/departments/dcObject.tpl:22
-#: plugins/admin/departments/organization.tpl:22
-msgid "Descriptive text for department"
-msgstr "Descripción del departamento"
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
+msgstr "GOsa necesita este módulo para un interfaz internacionalizado."
 
-#: plugins/admin/departments/locality.tpl:39
-#: plugins/admin/departments/generic.tpl:51
-#: plugins/admin/departments/class_domain.inc:93
-#: plugins/admin/departments/class_localityGeneric.inc:93
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_countryGeneric.inc:93
-#: plugins/admin/departments/class_dcObject.inc:92
-#: plugins/admin/departments/domain.tpl:39
-#: plugins/admin/departments/country.tpl:39
-#: plugins/admin/departments/dcObject.tpl:39
-#: plugins/admin/departments/class_department.inc:675
-#: plugins/admin/departments/organization.tpl:51
-#: plugins/personal/generic/class_user.inc:1697
-#: plugins/personal/generic/generic.tpl:340
-#: plugins/personal/generic/generic.tpl:361
+#: setup/class_setupStep_Checks.inc:91
 #, fuzzy
-msgid "Manager"
-msgstr "Gestión de usuarios"
+msgid ""
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
+msgstr ""
+"Gosa necesita este módulo para comunicarse con las bases de datos soportadas."
 
-#: plugins/admin/departments/locality.tpl:67
-#: plugins/admin/departments/generic.tpl:132
-#: plugins/admin/departments/class_domain.inc:94
-#: plugins/admin/departments/class_localityGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:135
-#: plugins/admin/departments/class_countryGeneric.inc:95
-#: plugins/admin/departments/class_dcObject.inc:94
-#: plugins/admin/departments/domain.tpl:67
-#: plugins/admin/departments/country.tpl:67
-#: plugins/admin/departments/dcObject.tpl:67
-#: plugins/admin/departments/class_department.inc:677
-#: plugins/admin/departments/organization.tpl:131
-msgid "Administrative settings"
-msgstr "Parámetros administrativos"
+#: setup/class_setupStep_Checks.inc:99
+msgid "GOsa requires this module for the samba integration."
+msgstr "GOsa necesita este módulo para integración con samba."
 
-#: plugins/admin/departments/locality.tpl:69
-#: plugins/admin/departments/generic.tpl:134
-#: plugins/admin/departments/domain.tpl:69
-#: plugins/admin/departments/country.tpl:69
-#: plugins/admin/departments/dcObject.tpl:69
-#: plugins/admin/departments/organization.tpl:133
-msgid "Tag department as an independent administrative unit"
-msgstr "Marcar departamento como una unidad administrativa independiente"
+#: setup/class_setupStep_Checks.inc:107
+#, fuzzy
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
+msgstr ""
+"GOsa necesita para poder hacer uso del método de codificación SSHA este "
+"módulo."
 
-#: plugins/admin/departments/generic.tpl:11
-msgid "Name of department"
-msgstr "Nombre del departamento"
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
+msgstr "GOsa necesita este módulo para comunicarse con servidores IMAP."
 
-#: plugins/admin/departments/generic.tpl:14
-msgid "Name of subtree to create"
-msgstr "Nombre del subárbol a crear"
+#: setup/class_setupStep_Checks.inc:122
+msgid "mbstring"
+msgstr "mbstring"
 
-#: plugins/admin/departments/generic.tpl:22
-msgid "Descriptive text for   department"
-msgstr "Descripción del departamento"
+#: setup/class_setupStep_Checks.inc:123
+#, fuzzy
+msgid "GOsa requires this module to handle Unicode strings."
+msgstr "GOsa necesita este módulo para manejar cadenas unicode."
 
-#: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:667
-#: plugins/admin/departments/organization.tpl:27
-msgid "Category"
-msgstr "Categoría"
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
+msgstr ""
 
-#: plugins/admin/departments/generic.tpl:30
-#: plugins/admin/departments/organization.tpl:30
-msgid "Category for this subtree"
-msgstr "Categoría para este subárbol"
+#: setup/class_setupStep_Checks.inc:131
+#, fuzzy
+msgid "GOsa requires this module to calculate dates."
+msgstr "GOsa necesita este módulo para manejar cadenas unicode."
 
-#: plugins/admin/departments/generic.tpl:79
-#: plugins/admin/departments/generic.tpl:91
-#: plugins/admin/departments/class_localityGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:130
-#: plugins/admin/departments/class_department.inc:671
-#: plugins/admin/departments/organization.tpl:78
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1708
-#: plugins/personal/generic/generic.tpl:441
-msgid "Location"
-msgstr "Localización"
+#: setup/class_setupStep_Checks.inc:138
+msgid "MySQL"
+msgstr "MySQL"
 
-#: plugins/admin/departments/generic.tpl:83
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_department.inc:670
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1707
-#: plugins/personal/generic/generic.tpl:449
-msgid "State"
+#: setup/class_setupStep_Checks.inc:139
+msgid ""
+"GOsa requires this module to communicate with several supported databases."
+msgstr ""
+"Gosa necesita este módulo para comunicarse con las bases de datos soportadas."
+
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
+msgstr "generador de hash de la contraseña SAMBA"
+
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+msgstr "GOsa necesita este comando para sincronizar contraseñas POSIX y samba."
+
+#: setup/class_setupStep_Checks.inc:158
+#, fuzzy
+msgid ""
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
+msgstr ""
+"Desplegar una instalación gosa-si o instale el módulo PERL Crypt::SmbHash."
+
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
+msgstr "imagick"
+
+#: setup/class_setupStep_Checks.inc:172
+msgid "GOsa requires this extension to handle images."
+msgstr "GOsa necesita este módulo para manejar imágenes."
+
+#: setup/class_setupStep_Checks.inc:187
+msgid "compression module"
+msgstr "modulo de compresión"
+
+#: setup/class_setupStep_Checks.inc:188
+msgid "GOsa requires this extension to handle snapshots."
+msgstr "GOsa necesita este módulo para manejar instantaneas."
+
+#: setup/class_setupStep_Checks.inc:199
+msgid ""
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
+msgstr ""
+"registr_globals es un mecanismo de PHP para registrar todas las variables "
+"globales de tal manera que sean accesible desde scripts sin que cambien su "
+"ámbito. Esto puede ser un problema de seguridad."
+
+#: setup/class_setupStep_Checks.inc:200
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+msgstr "Busque 'register_globals' en su php.ini y modifíquelo por 'Off'."
+
+#: setup/class_setupStep_Checks.inc:208
+msgid "PHP uses this value for the garbage collector to delete old sessions."
+msgstr ""
+"PHP usa este valor en el recolector de basura para eliminar las sesiones "
+"antiguas."
+
+#: setup/class_setupStep_Checks.inc:209
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
+msgstr ""
+"Ajustando este valor a un día impedirá la perdida de sesiones y cookies "
+"antes de que realmente se desconecte por tiempo."
+
+#: setup/class_setupStep_Checks.inc:210
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
+msgstr ""
+"Busque 'sessio.gc_maxlifetime' en su php.ini y modifíquelo a 86400 o mayor."
+
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+msgid "Off"
+msgstr "Off"
+
+#: setup/class_setupStep_Checks.inc:218
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
+msgstr ""
+"Si quiere usar GOsa sin problemas, debe modificar a 'Off' la opción 'session."
+"auto_register' en su php.ini."
+
+#: setup/class_setupStep_Checks.inc:219
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+msgstr "Busque 'session.auto_start' en su php.ini y modifíquelo a 'Off'."
+
+#: setup/class_setupStep_Checks.inc:226
+#, fuzzy
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
+msgstr ""
+"GOsa necesita al menos 32Mb de memoria. Teniéndola por debajo de ese limite "
+"provocara errores inesperados. Aumentar para configuraciones mayores."
+
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+msgstr "Busque 'memory_limit' en su php.ini y modifíquelo a '32M' o mayor."
+
+#: setup/class_setupStep_Checks.inc:234
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
+msgstr ""
+"Esta opción está relacionada con el manejo de salida de PHP. Desactive esta "
+"opción poniéndola en off para mejorar el rendimiento."
+
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+msgstr "Busque 'implicit_flush' en su php.ini y modifíquelo a 'Off'."
+
+#: setup/class_setupStep_Checks.inc:242
+msgid "The Execution time should be at least 30 seconds."
+msgstr "El tiempo de ejecución debe ser de al menos 30 segundos."
+
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+msgstr ""
+"Busque 'max_execution_time' en su php.ini y modifíquelo a '30' o mayor."
+
+#: setup/class_setupStep_Checks.inc:250
+msgid ""
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
+msgstr ""
+"Aumente la seguridad del servidor modificando el parámetro 'expose_php' a "
+"'off'. PHP no debería enviar ningún tipo de información sobre el servidor "
+"que esta ejecutando la aplicación."
+
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+msgstr "Busque 'expose_php' en su php.ini y modifíquelo a 'Off'."
+
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
+msgid "On"
+msgstr "On"
+
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
+msgstr ""
+"Aumente la seguridad del servidor modificando el parámetro 'magic_quotes_gpc "
+"' a 'on'. PHP debería escapar todas las comillas de las cadenas en este caso."
+
+#: setup/class_setupStep_Checks.inc:259
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+msgstr "Busque 'magic_quotes_gpc' en su php.ini y modifíquelo a 'On'."
+
+#: setup/class_setupStep_Checks.inc:266
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+msgstr ""
+"Aumente el rendimiento de su servidor modificando 'magic_quotes_gpc' a 'off'"
+
+#: setup/class_setupStep_Checks.inc:267
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+msgstr ""
+"Busque 'zend.ze1_compatibility_mode' en su php.ini y modifíquelo a 'Off'."
+
+#: setup/class_setupStep_Checks.inc:277
+#, fuzzy
+msgid "Configuration writable"
+msgstr "Se puede escribir en la configuración"
+
+#: setup/class_setupStep_Checks.inc:278
+msgid "The configuration file can't be written"
+msgstr "No se puede escribir en la configuración"
+
+#: setup/class_setupStep_Checks.inc:279
+#, fuzzy, php-format
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
+msgstr ""
+"GOsa lee la configuración desde un archivo colocado en (%s/%s). El asistente "
+"puede escribir la configuración directamente si tiene permisos de escritura."
+
+#: setup/class_setupStep_Welcome.inc:42
+msgid "Welcome"
+msgstr "Bienvenido"
+
+#: setup/class_setupStep_Welcome.inc:43
+msgid "The welcome message"
+msgstr "Mensaje de Bienvenida"
+
+#: setup/class_setupStep_Welcome.inc:44
+#, fuzzy
+msgid "Welcome to the GOsa setup assistent"
+msgstr "Bienvenidos al asistente de configuración de GOsa"
+
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
+msgid "License"
+msgstr "Licencia"
+
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
+msgstr "Términos y condiciones de uso"
+
+#: setup/setup_schema.tpl:1
+msgid "Schema specific settings"
+msgstr "Parametros específicos del esquema"
+
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
+msgstr "Comprobación de esquema correcta"
+
+#: setup/setup_schema.tpl:7
+msgid "Schema check failed"
+msgstr "Ha fallado la comprobación del esquema"
+
+#: setup/setup_schema.tpl:11
+#, fuzzy
+msgid ""
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
+msgstr ""
+"No se puede acceder a la información de esquemas, todos las comprobaciones "
+"se suspenden. Ajuste las acl de ldap."
+
+#: setup/setup_schema.tpl:13
+#, fuzzy
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
+msgstr ""
+"Parece que la base de datos ldap no ha sido inicializada. ¡Esta puede se la "
+"razón por la que GOsa no puede acceder a la configuración de esquemas!"
+
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
+msgid "Language setup"
+msgstr "Selección de idiomas"
+
+#: setup/class_setupStep_Language.inc:42
+msgid "This step allows you to select your preferred language."
+msgstr "Este paso le permite seleccionar su idioma preferido"
+
+#: setup/setup_feedback.tpl:2
+#, fuzzy
+msgid "Feedback successfully send"
+msgstr "Sugerencia enviada correctamente"
+
+#: setup/setup_feedback.tpl:6
+#, fuzzy
+msgid "Subscribe to the gosa-announce mailing list"
+msgstr "Suscribirse a la lista de correo gosa-announce"
+
+#: setup/setup_feedback.tpl:8
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
+msgstr ""
+"Cuando seleccione esta opción, Gosa intentara conectar a http://oss.gonicus."
+"de para suscribirle a la lista de correo de gosa-announce. Tendrá que "
+"confirmar esto por correo electrónico."
+
+#: setup/setup_feedback.tpl:20
+msgid "Mail address"
+msgstr "Dirección correo electrónico"
+
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
+msgstr "Enviar comentarios al equipo del proyecto GOsa"
+
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
+msgstr ""
+"Cuando seleccione esta opción, Gosa intentara conectar a http://oss.gonicus."
+"de para enviar el formulario de comentarios de forma anónima."
+
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
+msgstr "Genérico"
+
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
+msgstr "¿El procedimiento de configuración le ha ayudado?"
+
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
+msgstr "Si no, que problemas ha encontrado"
+
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
+msgstr "¿Es la primera vez que usa GOsa?"
+
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
+msgstr "Lo uso desde"
+
+#: setup/setup_feedback.tpl:54
+msgid "Select the year since when you are using GOsa"
+msgstr "Seleccione el año desde el cual ha estado usando GOsa"
+
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
+msgstr "¿Que sistema operativo / distribución usa?"
+
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
+msgstr "¿Que servidor web usa?"
+
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
+msgstr "¿Que versión de PHP usa?"
+
+#: setup/setup_feedback.tpl:72
+#, fuzzy
+msgid "GOsa version"
+msgstr "Configuración genérica de GOsa"
+
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
+msgstr "LDAP"
+
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
+msgstr "¿Que tipo de servidor(es) LDAP usa?"
+
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
+msgstr "¿Cuantos objetos tiene en su servidor LDAP?"
+
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
+msgid "Features"
+msgstr "Características"
+
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
+msgstr "¿Que características de GOsa usa?"
+
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
+msgstr "¿Que características le gustaría ver en versiones futuras de GOsa?."
+
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
+msgstr "Enviar Comentario"
+
+#: html/password.php:63 html/index.php:157
+#, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
+msgstr "No se puede acceder a la configuración de GOsa %s/%s. Cancelado"
+
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, fuzzy, php-format
+msgid "Compile directory %s is not accessible!"
+msgstr "¡No se puede acceder a el directorio de compilación '%s'!"
+
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
+msgid "Password method"
+msgstr "Metodo de contraseña"
+
+#: html/password.php:195
+msgid "Error: Password method not available!"
+msgstr "Error: ¡El método de contraseñas no esta disponible!"
+
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
+msgstr "Inicio"
+
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
+msgstr "Necesita introducir su contraseña actual para continuar."
+
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
+msgid ""
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
+msgstr ""
+"No coinciden las contraseñas introducidas como 'Nueva contraseña' y 'Repetir "
+"nueva contraseña'."
+
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
+msgstr "No se ha asignado ningún valor al campo 'Nueva contraseña'."
+
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
+msgstr ""
+"La contraseña actual y la introducida como nueva son demasiado parecidas."
+
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
+msgstr "La nueva contraseña es demasiado corta."
+
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
+#, fuzzy
+msgid "The password contains possibly problematic Unicode characters!"
+msgstr "¡El campo '%s' tiene caracteres no validos!"
+
+#: html/password.php:261 html/index.php:311
+#, fuzzy
+msgid "Please check the username/password combination!"
+msgstr "Por favor compruebe la combinación nombre de usuario/contraseña"
+
+#: html/password.php:268
+#, fuzzy
+msgid "You have no permissions to change your password!"
+msgstr "No tiene permisos para cambiar su contraseña."
+
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
+#, php-format
+msgid "Check-hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: html/password.php:315
+msgid "Session will not be encrypted."
+msgstr "La sesión no será codificada."
+
+#: html/password.php:317
+msgid "Enter SSL session"
+msgstr "Entrar en sesión SSL"
+
+#: html/index.php:45
+#, php-format
+msgid "Your browser (%s) is blacklisted for the current theme!"
+msgstr ""
+
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
+msgstr ""
+
+#: html/index.php:72
+#, fuzzy
+msgid "here"
+msgstr "Tema"
+
+#: html/index.php:78
+#, fuzzy
+msgid "The configured session lifetime will be overridden by php.ini settings!"
+msgstr ""
+"El tiempo de vida de sesión es su gosa.conf sera sustituido por el valor de "
+"ini de php."
+
+#: html/index.php:179
+msgid "Smarty error"
+msgstr "Error Smarty"
+
+#: html/index.php:202
+#, fuzzy
+msgid ""
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
+msgstr ""
+"Su navegador tiene las cookies desactivadas. ¡Porfavor active las cookies y "
+"recargue esta página antes de iniciar sesión!"
+
+#: html/index.php:233
+#, fuzzy
+msgid "Broken HTTP authentication setup!"
+msgstr "¡Hay un problema con la configuración de autenticación!"
+
+#: html/index.php:241
+#, fuzzy
+msgid "Cannot find a valid user for the current HTTP authentication!"
+msgstr ""
+"¡No se puede encontrar un usuario válido para la configuración de "
+"autenticación seleccionada!"
+
+#: html/index.php:245
+#, fuzzy
+msgid "Cannot find a unique user for the current HTTP authentication!"
+msgstr ""
+"¡No se puede encontrar un usuario válido para la configuración de "
+"autenticación seleccionada!"
+
+#: html/index.php:289
+#, fuzzy
+msgid "Please specify a valid user name!"
+msgstr "¡Por favor introduzca un nombre de usuario válido!"
+
+#: html/index.php:292
+msgid "Please specify your password!"
+msgstr "¡Por favor introduzca una contraseña!"
+
+#: html/index.php:304
+msgid "Authentication error"
+msgstr "Error de Autenticación"
+
+#: html/index.php:304
+#, fuzzy
+msgid "Cannot retrieve user information for HTTP authentication!"
+msgstr ""
+"¡No se puede recuperar la información de usuario para autenticación htaccess!"
+
+#: html/index.php:360
+msgid "Account locked. Please contact your system administrator!"
+msgstr ""
+"Cuenta bloqueada. ¡Por favor contacte con su administrador de sistemas!"
+
+#: html/main.php:171
+#, fuzzy, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
+msgstr ""
+"No se puede encontrar el archivo '%s' - por favor ejecute '%s' para "
+"solucionarlo"
+
+#: html/main.php:190
+msgid "PHP configuration"
+msgstr "Configuración PHP"
+
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
+msgstr ""
+
+#: html/main.php:220
+msgid "Your password is about to expire, please change your password!"
+msgstr ""
+"Su contraseña va a caducar próximamente, ¡Por favor cambie su contraseña!"
+
+#: html/main.php:295
+msgid "Running out of memory!"
+msgstr "¡Funcionando sin memoria!"
+
+#: html/main.php:355
+#, php-format
+msgid "You're logged in as %s"
+msgstr ""
+
+#: html/main.php:358
+#, fuzzy
+msgid "ACLs are disabled"
+msgstr "Desactivados chequeos de ACL de usuario"
+
+#: html/main.php:408
+#, fuzzy
+msgid "Plug-in"
+msgstr "Extensión"
+
+#: html/main.php:409
+#, fuzzy, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
+msgstr ""
+"FATAL: ¡No se puede encontrar ninguna definición de extensión para la "
+"extensión '%s'!"
+
+#: html/main.php:425
+msgid "Configuration Error"
+msgstr "Error de configuración"
+
+#: html/main.php:426
+#, fuzzy, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
+msgstr ""
+"FATAL: No todos las variables POST han sido transferidas por PHP - ¡Por "
+"favor informe a su administrador!"
+
+#: html/setup.php:73
+msgid "Smarty"
+msgstr "Smarty"
+
+#: html/helpviewer.php:64
+msgid "Help browser"
+msgstr "Navegador de ayuda"
+
+#: html/helpviewer.php:118
+#, fuzzy
+msgid "There is no help file specified for this class"
+msgstr "No hay archivo de ayuda disponible para esta clase"
+
+#: html/helpviewer.php:268
+#, fuzzy, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
+msgstr ""
+"El directorio de ayuda '%s' no está disponible, no podrá leer ningún archivo "
+"de ayuda."
+
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
+msgstr ""
+"Para cambiar su contraseña personal use los campos siguientes. Los cambios "
+"tendrán efecto inmediato. Por favor memorice la nueva contraseña, porque no "
+"podrá entrar sin ella."
+
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
+#, fuzzy
+msgid "Password change dialog"
+msgstr "Cambio de contraseña"
+
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
+#, fuzzy
+msgid "Use proposal"
+msgstr "grupos de usuarios"
+
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
+#, fuzzy
+msgid "Manually specify a password"
+msgstr "¡Por favor introduzca una contraseña!"
+
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
+msgstr "Limpiar información"
+
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
+msgstr "Mi cuenta"
+
+#: plugins/personal/myaccount/class_MyAccount.inc:6
+#, fuzzy
+msgid "Edit personal settings"
+msgstr "Editar parametros de usuarios POSIX"
+
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
+msgid "You have no permission to change your password at this time"
+msgstr "No tiene permisos para cambiar su contraseña en estos momentos"
+
+#: plugins/personal/myaccount/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "Su contraseña se ha cambiado correctamente."
+
+#: plugins/personal/myaccount/changed.tpl:3
+#: plugins/personal/password/changed.tpl:3
+#, fuzzy
+msgid ""
+"You've successfully changed your password. Remember to change all programs "
+"configured to use it as well."
+msgstr ""
+"Su cambio de contraseña se ha realizado correctamente. Recuerde cambiarla en "
+"todos los programas configurados también."
+
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
+msgid "POSIX settings"
+msgstr "Parametros POSIX"
+
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
+msgstr "Directorio de usuario"
+
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
+#, fuzzy
+msgid "Account settings"
+msgstr "Parametros de grupos"
+
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
+msgstr "Grupo primario"
+
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
+msgstr "Forzar UID/GID"
+
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
+msgstr "GID"
+
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
+msgstr "Pertenencia a grupo"
+
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
+msgstr "(Aviso: NFS no soporta mas de 16 grupos)"
+
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
+#, fuzzy
+msgid "Default filter"
+msgstr "Parámetro"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
+msgid "Please select the desired entries"
+msgstr "Por favor seleccione las entradas que desee"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
+msgstr "Servidor"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
+msgstr "Estación de trabajo"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+msgid "Terminal"
+msgstr "Terminal"
+
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
+#, fuzzy
+msgid "Trust machine selection"
+msgstr "Parametros de grupos"
+
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+#, fuzzy
+msgid "Group selection"
+msgstr "Parametros de grupos"
+
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
+msgstr "Grupo"
+
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
+msgstr "El usuario debe introducir la contraseña en el primer inicio de sesión"
+
+#: plugins/personal/posix/posix_shadow.tpl:59
+#, fuzzy
+msgid "Password expiration settings"
+msgstr "Parámetros de Contraseña"
+
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
+msgstr "La contraseña expira en"
+
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
+#, fuzzy
+msgid "Generic settings"
+msgstr "Parámetros genéricos del usuario"
+
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+msgid "Shell"
+msgstr "Shell"
+
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
+msgstr "Estado"
+
+#: plugins/personal/posix/generic.tpl:42
+#, fuzzy
+msgid "Last log-on"
+msgstr "Último inicio de sesión"
+
+#: plugins/personal/posix/generic.tpl:101
+msgid "Common group"
+msgstr "Grupo común"
+
+#: plugins/personal/posix/generic.tpl:105
+msgid "Groups differ"
+msgstr "Grupo diferente"
+
+#: plugins/personal/posix/generic.tpl:125
+#, fuzzy
+msgid "Account permissions"
+msgstr "Parametros de grupos"
+
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
+msgstr "Claves SSH"
+
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
+msgstr "Editar claves SSH públicas..."
+
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
+msgstr "POSIX"
+
+#: plugins/personal/posix/class_posixAccount.inc:38
+msgid "Edit users POSIX settings"
+msgstr "Editar parametros de usuarios POSIX"
+
+#: plugins/personal/posix/class_posixAccount.inc:146
+msgid "expired"
+msgstr "expiró"
+
+#: plugins/personal/posix/class_posixAccount.inc:148
+msgid "grace time active"
+msgstr "Periodo de gracia activado"
+
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
+msgid "active"
+msgstr "activo"
+
+#: plugins/personal/posix/class_posixAccount.inc:151
+msgid "password not changeable"
+msgstr "no puede cambiar la contraseña"
+
+#: plugins/personal/posix/class_posixAccount.inc:153
+msgid "password expired"
+msgstr "la contraseña expiró"
+
+#: plugins/personal/posix/class_posixAccount.inc:226
+msgid "automatic"
+msgstr "automático"
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr "Samba"
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr "Entorno"
+
+#: plugins/personal/posix/class_posixAccount.inc:374
+#, php-format
+msgid "Password can't be changed up to %s days after last change"
+msgstr ""
+"La contraseñas no pueden ser cambiadas hasta %s días desde el último cambio"
+
+#: plugins/personal/posix/class_posixAccount.inc:378
+#, php-format
+msgid "Password must be changed after %s days"
+msgstr "La contraseñas deben ser cambiadas despues de %s días"
+
+#: plugins/personal/posix/class_posixAccount.inc:382
+#, php-format
+msgid "Disable account after %s days of inactivity after password expiry"
+msgstr ""
+"Desactivar cuenta despues de %s días de inactividad una vez caducada la "
+"contraseña"
+
+#: plugins/personal/posix/class_posixAccount.inc:386
+#, php-format
+msgid "Warn user %s days before password expiry"
+msgstr "Avisar al usuario %s días antes de que la contraseña caduque"
+
+#: plugins/personal/posix/class_posixAccount.inc:651
+msgid "Timeout while waiting for lock. Ignoring lock!"
+msgstr "Tiempo de espera agotado esperando un bloqueo. ¡Ignorando bloqueo!"
+
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
+msgid "Group of user"
+msgstr "Grupo de usuarios"
+
+#: plugins/personal/posix/class_posixAccount.inc:774
+msgid ""
+"A duplicated UID number was written for this user. If this was not intended "
+"please verify all used uidNumbers!"
+msgstr ""
+"UN número UID duplicado ha sido introducido para este usuario. ¡Si esto no "
+"es intencionado por favor verifique todos los uidNumbers usado!"
+
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
+msgid "shadowMin"
+msgstr "shadowMin"
+
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
+msgid "shadowMax"
+msgstr "shadowMax"
+
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
+msgid "shadowWarning"
+msgstr "shadowWarning"
+
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
+msgid "shadowInactive"
+msgstr "shadowInactive"
+
+#: plugins/personal/posix/class_posixAccount.inc:1293
+msgid "POSIX account"
+msgstr "Cuenta POSIX"
+
+#: plugins/personal/posix/class_posixAccount.inc:1311
+msgid "Group ID"
+msgstr "Identificador (ID) de Grupo"
+
+#: plugins/personal/posix/class_posixAccount.inc:1313
+#, fuzzy
+msgid "Shadow last changed"
+msgstr "Mostrar cambios"
+
+#: plugins/personal/posix/class_posixAccount.inc:1314
+#, fuzzy
+msgid "Last login"
+msgstr "Último inicio de sesión"
+
+#: plugins/personal/posix/class_posixAccount.inc:1316
+msgid "Force password change on login"
+msgstr "Forzar el cambio de contraseña al iniciar"
+
+#: plugins/personal/posix/class_posixAccount.inc:1317
+msgid "Shadow min"
+msgstr "Shadow min"
+
+#: plugins/personal/posix/class_posixAccount.inc:1318
+msgid "Shadow max"
+msgstr "Shadow max"
+
+#: plugins/personal/posix/class_posixAccount.inc:1319
+msgid "Shadow warning"
+msgstr "Shadow warning"
+
+#: plugins/personal/posix/class_posixAccount.inc:1320
+msgid "Shadow inactive"
+msgstr "Shadow inactive"
+
+#: plugins/personal/posix/class_posixAccount.inc:1321
+msgid "Shadow expire"
+msgstr "Shadow expire"
+
+#: plugins/personal/posix/class_posixAccount.inc:1322
+msgid "Public SSH key"
+msgstr "Clave pública SSH"
+
+#: plugins/personal/posix/class_posixAccount.inc:1323
+msgid "System trust model"
+msgstr "Sistema de confianza"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr "desactivado"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr "Acceso sin restricciones"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr "Permitir el acceso a estos equipos"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr "Sistema de seguridad"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
+msgid "Trust mode"
+msgstr "Modo seguro"
+
+#: plugins/personal/password/password.tpl:10
+#, fuzzy
+msgid "Your Password has expired. Please choose a new password."
+msgstr "Su contraseña ha caducado. ¡Por favor seleccione una nueva!"
+
+#: plugins/personal/password/class_password.inc:27
+msgid "Change user password"
+msgstr "Cambiar contraseña de usuario"
+
+#: plugins/personal/password/class_password.inc:156
+msgid ""
+"The password you've entered as your current password doesn't match the real "
+"one."
+msgstr "La contraseña introducida como contraseña actual no es correcta."
+
+#: plugins/personal/password/class_password.inc:159
+msgid "You have no permission to change your password."
+msgstr "No tiene permisos para cambiar su contraseña."
+
+#: plugins/personal/password/class_password.inc:223
+msgid "User password"
+msgstr "Contraseña del usuario"
+
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr "Certificados"
+
+#: plugins/personal/generic/generic_certs.tpl:5
+#, fuzzy
+msgid "The users standard certificate"
+msgstr "Certificado estándar"
+
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr "Certificado estándar"
+
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr "Eliminar"
+
+#: plugins/personal/generic/generic_certs.tpl:31
+#, fuzzy
+msgid "The users S/MIME certificate"
+msgstr "Certificado S/MIME"
+
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr "Certificado S/MIME"
+
+#: plugins/personal/generic/generic_certs.tpl:57
+#, fuzzy
+msgid "The users PKCS12 certificate"
+msgstr "Certificado PKCS12"
+
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr "Certificado PKCS12"
+
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr "Número de serie del certificado"
+
+#: plugins/personal/generic/paste_generic.tpl:3
+#, fuzzy
+msgid "Paste user"
+msgstr "Pegar"
+
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr "Información personal"
+
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
+msgid "Last name"
+msgstr "Apellido"
+
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
+msgid "First name"
+msgstr "Nombre"
+
+#: plugins/personal/generic/paste_generic.tpl:24
+msgid "Clear password"
+msgstr "Borrar Contraseña"
+
+#: plugins/personal/generic/paste_generic.tpl:25
+msgid "Set new password"
+msgstr "Introducir nueva contraseña"
+
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
+#, fuzzy
+msgid "The users picture"
+msgstr "Foto del usuario"
+
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
+msgstr "Eliminar foto"
+
+#: plugins/personal/generic/class_user.inc:38
+msgid "Edit organizational user settings"
+msgstr "Editar parámetros de usuarios administrativos"
+
+#: plugins/personal/generic/class_user.inc:297
+#, fuzzy
+msgid "Please add a single IP address or a network/net mask combination!"
+msgstr "¡Por favor añada una IP única o una combinación red/mascara!"
+
+#: plugins/personal/generic/class_user.inc:339
+msgid "female"
+msgstr "mujer"
+
+#: plugins/personal/generic/class_user.inc:339
+msgid "male"
+msgstr "hombre"
+
+#: plugins/personal/generic/class_user.inc:395
+#, fuzzy
+msgid "Password configuration"
+msgstr "Descargar configuración"
+
+#: plugins/personal/generic/class_user.inc:429
+msgid "Cannot upload file!"
+msgstr "¡No se puede subir el archivo!"
+
+#: plugins/personal/generic/class_user.inc:522
+msgid "Serial number"
+msgstr "Número serie"
+
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
+msgid "User picture"
+msgstr "Foto del usuario"
+
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:579
+#, php-format
+msgid "Certificate is valid from %s to %s and is currently %s."
+msgstr "El certificado es valido desde %s hasta %s y es actualmente %s."
+
+#: plugins/personal/generic/class_user.inc:582
+msgid "valid"
+msgstr "válido"
+
+#: plugins/personal/generic/class_user.inc:583
+msgid "invalid"
+msgstr "no válido"
+
+#: plugins/personal/generic/class_user.inc:588
+msgid "No certificate installed"
+msgstr "No hay certificados instalados"
+
+#: plugins/personal/generic/class_user.inc:614
+msgid "The selected password method is no longer available."
+msgstr "El método de contraseña seleccionado no está disponible."
+
+#: plugins/personal/generic/class_user.inc:1051
+msgid ""
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1177
+msgid "Cannot build RDN: no + allowed to build sub RDN!"
+msgstr "No se puede construir RDN: ¡no se permite + para construir subRDN!"
+
+#: plugins/personal/generic/class_user.inc:1184
+msgid "Cannot build RDN: attribute is not defined!"
+msgstr "No se puede construir RDN: ¡Atributo no definido!"
+
+#: plugins/personal/generic/class_user.inc:1202
+msgid "Cannot build RDN: invalid attribute parameters!"
+msgstr "No se puede construir RDN: ¡Valor no válido del atributo!"
+
+#: plugins/personal/generic/class_user.inc:1273
+msgid "The selected password method requires initial configuration!"
+msgstr ""
+"¡El método de contraseña seleccionado necesita una configuració inicial!"
+
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
+msgid "Homepage"
+msgstr "Página Web"
+
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
+msgstr "Teléfono"
+
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
+msgstr "Fax"
+
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
+msgid "Mobile"
+msgstr "Móvil"
+
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
+msgid "Pager"
+msgstr "Buscapersonas"
+
+#: plugins/personal/generic/class_user.inc:1483
+msgid "Cannot open certificate!"
+msgstr "¡No puedo abrir el certificado!"
+
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
+msgid "Unit"
+msgstr "Unidad"
+
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
+msgid "House identifier"
+msgstr "Tipo de Vía"
+
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
+msgid "Vocation"
+msgstr "Profesión"
+
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
+msgid "Last delivery"
+msgstr "Última dirección conocida"
+
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
+msgid "Person locality"
+msgstr "Lugar de residencia"
+
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
+msgid "Unit description"
+msgstr "Descripción de la unidad"
+
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
+msgid "Subject area"
+msgstr "Área de desarrollo"
+
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
+msgid "Functional title"
+msgstr "Función"
+
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
+msgstr "Rol"
+
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
+msgid "Postal code"
+msgstr "Código Postal"
+
+#: plugins/personal/generic/class_user.inc:1671
+msgid "Generic user settings"
+msgstr "Parámetros genéricos del usuario"
+
+#: plugins/personal/generic/class_user.inc:1692
+msgid ""
+"Pattern for the generation of user DNs. Please read the FAQ for details."
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1706
+#, fuzzy
+msgid "Allow definition of custom filters"
+msgstr "Escribir archivo de configuración"
+
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
+msgid "Sex"
+msgstr "Sexo"
+
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
+msgid "Preferred language"
+msgstr "Idioma preferido"
+
+#: plugins/personal/generic/class_user.inc:1718
+#, fuzzy
+msgid "Login restrictions"
+msgstr "Restricciones de contraseña"
+
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
+msgstr "Departamento"
+
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
+#: plugins/admin/departments/class_domain.inc:93
+#: plugins/admin/departments/class_organizationGeneric.inc:127
+#: plugins/admin/departments/generic.tpl:51
+#: plugins/admin/departments/locality.tpl:39
+#: plugins/admin/departments/class_localityGeneric.inc:93
+#: plugins/admin/departments/class_dcObject.inc:92
+#: plugins/admin/departments/domain.tpl:39
+#, fuzzy
+msgid "Manager"
+msgstr "Gestión de usuarios"
+
+#: plugins/personal/generic/class_user.inc:1727
+msgid "Room number"
+msgstr "Número de habitación"
+
+#: plugins/personal/generic/class_user.inc:1728
+#, fuzzy
+msgid "Telephone number"
+msgstr "Número de teléfono"
+
+#: plugins/personal/generic/class_user.inc:1729
+msgid "Pager number"
+msgstr "Número del busca"
+
+#: plugins/personal/generic/class_user.inc:1730
+msgid "Mobile number"
+msgstr "Teléfono móvil"
+
+#: plugins/personal/generic/class_user.inc:1731
+msgid "Fax number"
+msgstr "Número de Fax"
+
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
+#: plugins/admin/departments/class_organizationGeneric.inc:129
+#: plugins/admin/departments/generic.tpl:87
+msgid "State"
 msgstr "Provincia"
 
-#: plugins/admin/departments/generic.tpl:86
-#: plugins/admin/departments/organization.tpl:85
-msgid "State where this subtree is located"
-msgstr "Estado donde está este subárbol localizado"
+#: plugins/personal/generic/class_user.inc:1735
+#: plugins/personal/generic/generic.tpl:183
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+msgid "Postal address"
+msgstr "Código Postal"
+
+#: plugins/personal/generic/class_user.inc:1740
+msgid "User password method"
+msgstr "Metodo de contraseña de usuario"
+
+#: plugins/personal/generic/class_user.inc:1741
+msgid "User certificates"
+msgstr "Certificados de usuario"
+
+#: plugins/personal/generic/class_user.inc:1949
+#, fuzzy
+msgid "Entries differ"
+msgstr "Entradas por página"
+
+#: plugins/personal/generic/generic.tpl:21
+msgid "Change picture"
+msgstr "Cambiar foto"
+
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
+msgstr "Edición multiple"
+
+#: plugins/personal/generic/generic.tpl:83
+msgid "Template name"
+msgstr "Nombre de la plantilla"
+
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
+msgid "Address"
+msgstr "Dirección"
+
+#: plugins/personal/generic/generic.tpl:193
+msgid "Private phone"
+msgstr "Teléfono privado"
+
+#: plugins/personal/generic/generic.tpl:209
+msgid "Password storage"
+msgstr "Almacén de claves"
+
+#: plugins/personal/generic/generic.tpl:229
+msgid "Edit certificates"
+msgstr "Editar certificados"
+
+#: plugins/personal/generic/generic.tpl:241
+msgid "Restrict login to"
+msgstr "Restringir inicio de sesión a"
+
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
+msgid "IP or network"
+msgstr "IP o Red"
+
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "Organizational information"
+msgstr "Información corporativa"
+
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+#, fuzzy
+msgid "part"
+msgstr "Smarty"
+
+#: plugins/personal/generic/generic.tpl:314
+msgid "Department No."
+msgstr "Número departamento"
+
+#: plugins/personal/generic/generic.tpl:322
+msgid "Employee No."
+msgstr "Número empleado"
+
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
+msgid "Room No."
+msgstr "Número sala"
+
+#: plugins/personal/generic/generic.tpl:580
+msgid "Please use the phone tab"
+msgstr "Por favor use la sección telefóno"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:1
+#, fuzzy
+msgid "List of dynamic rules"
+msgstr "Lista de acls"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
+msgstr ""
+
+#: plugins/addons/dyngroup/dyngroup.tpl:6
+#, fuzzy
+msgid "Scope"
+msgstr "copiar"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
+#, fuzzy
+msgid "Attribute"
+msgstr "Atributo de inicio de sesión"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
+msgid "Filter"
+msgstr "Filtro"
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
+#, php-format
+msgid "The given filter '%s' for entry %s seems to be invalid!"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
+#, fuzzy
+msgid "Dynamic object"
+msgstr "Objeto GOsa"
+
+#: plugins/addons/propertyEditor/property-filter.xml:15
+#, fuzzy
+msgid "Effective properties"
+msgstr "Editar características generales"
+
+#: plugins/addons/propertyEditor/property-filter.xml:29
+#, fuzzy
+msgid "Modified properties"
+msgstr "Editar características generales"
+
+#: plugins/addons/propertyEditor/property-filter.xml:43
+#, fuzzy
+msgid "All properties"
+msgstr "Editar características generales"
+
+#: plugins/addons/propertyEditor/property-filter.xml:57
+#, fuzzy
+msgid "LDAP properties"
+msgstr "Propiedades"
+
+#: plugins/addons/propertyEditor/property-filter.xml:71
+#, fuzzy
+msgid "Search for property groups"
+msgstr "Mostrar grupos primarios"
+
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
+msgstr ""
+
+#: plugins/addons/propertyEditor/migrate.tpl:3
+#, fuzzy
+msgid "Migration steps left"
+msgstr "Error de migración"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
+#, fuzzy, php-format
+msgid "Migration of property '%s'"
+msgstr "Error de migración"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
+#, fuzzy, php-format
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
+msgstr "Encontrados '%s' grupos fuera del árbol configurado '%s'."
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
+#, fuzzy
+msgid "Objects that will be added"
+msgstr "¡El objeto será eliminado!"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+#, fuzzy
+msgid "Objects that will be moved"
+msgstr "La estaciones de trabajo windows serán trasladadas desde"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
+#, fuzzy, php-format
+msgid "Moving object '%s' to '%s'"
+msgstr "Moviendo '%s' a '%s'"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
+#, fuzzy, php-format
+msgid "Migration failed for object %s: DN already exists!"
+msgstr ""
+"Ha fallado al añadir un usuario administrativo: ¡El objeto '%s' ya existe!"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
+#, fuzzy, php-format
+msgid "Migration failed for object %s: please check if it already exists!"
+msgstr ""
+"Ha fallado al añadir un usuario administrativo: ¡El objeto '%s' ya existe!"
+
+#: plugins/addons/propertyEditor/property-list.tpl:3
+#, fuzzy
+msgid "Warning message"
+msgstr "Enviar mensaje"
+
+#: plugins/addons/propertyEditor/property-list.tpl:9
+msgid ""
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:10
+msgid ""
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:14
+msgid ""
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:22
+msgid ""
+"I understand that there are certain risks, but I want to modify properties!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
+msgid "Command verifier"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
+msgid ""
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
+msgid ""
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
+#, fuzzy
+msgid "Test"
+msgstr "Marca de tiempo"
+
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
+msgstr ""
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
+#, fuzzy
+msgid "Preferences"
+msgstr "Referencias"
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
+msgid ""
+"Configure global and special GOsa settings like hooks and plug-in parameters"
+msgstr ""
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
+#, fuzzy
+msgid "No description"
+msgstr "Descripción del Rol"
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.xml:11
+#, fuzzy
+msgid "List of configuration settings"
+msgstr "Caracteristicas del usuario"
+
+#: plugins/addons/propertyEditor/property-list.xml:15
+#, fuzzy
+msgid "Property not used"
+msgstr "Grupo de usuarios"
+
+#: plugins/addons/propertyEditor/property-list.xml:23
+#, fuzzy
+msgid "Property will be restored"
+msgstr "El grupo serán trasladado desde"
+
+#: plugins/addons/propertyEditor/property-list.xml:31
+#, fuzzy
+msgid "Modified property"
+msgstr "modificación"
+
+#: plugins/addons/propertyEditor/property-list.xml:39
+#, fuzzy
+msgid "Property configured in LDAP"
+msgstr "Crear su fichero de configuración"
+
+#: plugins/addons/propertyEditor/property-list.xml:47
+#, fuzzy
+msgid "Property configured in config file"
+msgstr "Crear su fichero de configuración"
+
+#: plugins/addons/propertyEditor/property-list.xml:80
+#, fuzzy
+msgid "Class"
+msgstr "clase"
 
-#: plugins/admin/departments/generic.tpl:94
-#: plugins/admin/departments/organization.tpl:93
-msgid "Location of this subtree"
-msgstr "Localización de este subárbol"
+#: plugins/addons/propertyEditor/property-list.xml:88
+#, fuzzy
+msgid "Value"
+msgstr "hombre"
 
-#: plugins/admin/departments/generic.tpl:99
-#: plugins/admin/departments/class_department.inc:672
-#: plugins/admin/departments/organization.tpl:98
-#: plugins/personal/generic/generic.tpl:183
-#: plugins/personal/generic/generic.tpl:457
-msgid "Address"
-msgstr "Dirección"
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
+msgstr ""
 
-#: plugins/admin/departments/generic.tpl:102
-#: plugins/admin/departments/organization.tpl:101
-msgid "Postal address of this subtree"
-msgstr "Dirección postal de este subárbol"
+#: plugins/admin/groups/paste_generic.tpl:1
+msgid "Group settings"
+msgstr "Parametros de grupos"
 
-#: plugins/admin/departments/generic.tpl:109
-#: plugins/admin/departments/organization.tpl:108
-msgid "Base telephone number of this subtree"
-msgstr "Número base de teléfono de este subárbol"
+#: plugins/admin/groups/paste_generic.tpl:2
+#, fuzzy
+msgid "Paste group settings"
+msgstr "Parametros de grupos"
 
-#: plugins/admin/departments/generic.tpl:114
-#: plugins/admin/departments/class_organizationGeneric.inc:133
-#: plugins/admin/departments/class_department.inc:373
-#: plugins/admin/departments/class_department.inc:674
-#: plugins/admin/departments/organization.tpl:113
-#: plugins/personal/generic/class_user.inc:1359
-#: plugins/personal/generic/class_user.inc:1822
-#: plugins/personal/generic/generic.tpl:423
-#: plugins/personal/generic/generic.tpl:591
-msgid "Fax"
-msgstr "Fax"
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
+msgstr "Nombre del grupo"
+
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
+#, fuzzy
+msgid "POSIX name of the group"
+msgstr "Nombre Posix del grupo"
+
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
+#, fuzzy
+msgid "Normally IDs are auto-generated, select to specify manually"
+msgstr ""
+"Normalmente los IDs son generados automáticamente, seleccione para indicar "
+"manualmente"
+
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
+msgstr "Forzar GID"
+
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr "Forzar número ID"
+
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
+msgstr "Usuario"
+
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
+#, fuzzy
+msgid "User selection"
+msgstr "Parametros de grupos"
+
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Cannot find group SID in your configuration!"
+msgstr "¡No se puede encontrar SID de grupo en el archivo de configuración!"
+
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
+msgstr "Grupo de samba"
+
+#: plugins/admin/groups/class_group.inc:310
+#, fuzzy
+msgid "Domain administrators"
+msgstr "Administradores del dominio"
+
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
+msgstr "Usuarios del dominio"
+
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
+msgstr "Invitados del dominio"
+
+#: plugins/admin/groups/class_group.inc:316
+#, php-format
+msgid "Special group (%d)"
+msgstr "Grupo especial (%d)"
+
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+msgstr ""
+"¡Añadir UID '%s' al grupo '%s ha fallado: no podemos encontrar el objeto "
+"usuario!"
+
+#: plugins/admin/groups/class_group.inc:470
+#, php-format
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+msgstr "¡Añadir UID '%s' al grupo '%s ha fallado: UID es usado mas de una vez!"
+
+#: plugins/admin/groups/class_group.inc:753
+#, php-format
+msgid "Cannot find any SID for '%s'!"
+msgstr "¡No se puede encontrar nigún SID para '%s'!"
+
+#: plugins/admin/groups/class_group.inc:758
+#, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
+msgstr "¡No se puede encontrar un RIDBASE para '%s'."
+
+#: plugins/admin/groups/class_group.inc:852
+#, php-format
+msgid "The gidNumber '%s' is already in use by %s!"
+msgstr "¡El gidNumber '%s' introducido ya esta siendo usado por %s!"
+
+#: plugins/admin/groups/class_group.inc:1036
+msgid "Generic group settings"
+msgstr "Parámetros genéricos del grupo"
+
+#: plugins/admin/groups/class_group.inc:1049
+#, fuzzy
+msgid "RDN for object group storage."
+msgstr "Lista del grupo de objetos"
+
+#: plugins/admin/groups/class_group.inc:1063
+msgid "Samba group type"
+msgstr "Tipo de grupo de samba"
+
+#: plugins/admin/groups/class_group.inc:1064
+msgid "Samba domain name"
+msgstr "Nombre de dominio samba"
+
+#: plugins/admin/groups/class_group.inc:1066
+msgid "Phone pickup group"
+msgstr "Miembros de grupo de salto telefónico"
+
+#: plugins/admin/groups/class_group.inc:1067
+msgid "Nagios group"
+msgstr "Grupo Nagios"
+
+#: plugins/admin/groups/class_group.inc:1069
+msgid "Group member"
+msgstr "Miembro del grupo"
+
+#: plugins/admin/groups/class_groupManagement.inc:26
+msgid ""
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
+msgstr ""
+
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
+msgid "Infrastructure error"
+msgstr "error de infraestructura"
+
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
+msgid "Edit POSIX properties"
+msgstr "Editar características POSIX"
+
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
+msgid "Edit mail properties"
+msgstr "Editar características de correo electrónico"
+
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
+msgid "Edit samba properties"
+msgstr "Editar características samba"
+
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
+msgid "Edit phone properties"
+msgstr "Editar características telefónicas"
+
+#: plugins/admin/groups/class_groupManagement.inc:189
+msgid "Menu"
+msgstr "Menú"
+
+#: plugins/admin/groups/class_groupManagement.inc:190
+msgid "Edit start menu properties"
+msgstr "Editar propiedades iniciales del menú"
+
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
+msgid "Edit environment properties"
+msgstr "Editar características de entorno"
+
+#: plugins/admin/groups/group-filter.xml:31
+#, fuzzy
+msgid "Default filter2"
+msgstr "Parámetro"
+
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
+msgstr "Descripción del grupo"
+
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+msgid "Select to create a samba conform group"
+msgstr "Seleccione para crear un grupo conforme samba"
+
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
+msgstr "en dominio"
+
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
+msgstr "Los miembros están en un grupo de salto telefónico"
+
+#: plugins/admin/groups/generic.tpl:146
+#, fuzzy
+msgid "Members are in a Nagios group"
+msgstr "Los miembros están en un grupo Nagios"
+
+#: plugins/admin/groups/generic.tpl:174
+#, fuzzy
+msgid "Common group members"
+msgstr "Grupo común"
+
+#: plugins/admin/groups/generic.tpl:183
+#, fuzzy
+msgid "Partial group members"
+msgstr "Miembros del grupo"
+
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
+msgstr "Miembros del grupo"
+
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
+msgstr "Lista de grupos"
+
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
+msgstr "Propiedades"
+
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
+msgstr "Editar"
+
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
+msgid "Send message"
+msgstr "Enviar mensaje"
+
+#: plugins/admin/groups/group-list.xml:138
+msgid "Edit group"
+msgstr "Editar grupo"
+
+#: plugins/admin/groups/group-list.xml:151
+msgid "Remove group"
+msgstr "Eliminar grupo"
+
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
+#, fuzzy
+msgid "User and group selection"
+msgstr "Parametros de grupos"
+
+#: plugins/admin/ogroups/ogroup-list.xml:11
+msgid "List of object groups"
+msgstr "Lista del grupo de objetos"
+
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
+msgstr "Grupo de objetos"
+
+#: plugins/admin/ogroups/ogroup-list.xml:142
+msgid "Edit object group"
+msgstr "Editar grupo de objetos"
+
+#: plugins/admin/ogroups/ogroup-list.xml:155
+msgid "Remove object group"
+msgstr "Eliminar grupo de objetos"
+
+#: plugins/admin/ogroups/paste_generic.tpl:1
+#, fuzzy
+msgid "Paste object group"
+msgstr "Editar grupo de objetos"
+
+#: plugins/admin/ogroups/paste_generic.tpl:7
+msgid "Please enter the new object group name"
+msgstr "Por favor introduzca un nuevo nombre del grupo de objetos"
+
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
+msgstr ""
+
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
+msgstr "Impresora"
+
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
+#, fuzzy
+msgid "Object selection"
+msgstr "Parametros de grupos"
 
-#: plugins/admin/departments/generic.tpl:117
-#: plugins/admin/departments/organization.tpl:116
-msgid "Base facsimile telephone number of this subtree"
-msgstr "Número base de fax de este subárbol"
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
+msgid "Phone queue"
+msgstr "Cola telefónica"
 
-#: plugins/admin/departments/class_domain.inc:81
-#: plugins/admin/departments/class_domain.inc:82
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_dcObject.inc:81
-#: plugins/admin/departments/class_dcObject.inc:82
-msgid "Domain Component"
-msgstr "Componentes del dominio"
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
+#, fuzzy
+msgid "Groupware"
+msgstr "Nombre del grupo"
 
-#: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:657
-#: plugins/admin/departments/class_department.inc:662
-msgid "Departments"
-msgstr "Departamentos"
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
+#, fuzzy
+msgid "System settings"
+msgstr "Caracteristicas del usuario"
 
-#: plugins/admin/departments/class_departmentManagement.inc:26
-msgid "Manage Departments"
-msgstr "Gestionar Departamentos"
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
+msgid "Recipe"
+msgstr ""
 
-#: plugins/admin/departments/class_departmentManagement.inc:122
-msgid ""
-"As soon as the tag operation has finished, you can scroll down to end of the "
-"page and    press the 'Continue' button to continue with the department "
-"management dialog."
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
+msgstr "Dispositivos"
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
+#, fuzzy
+msgid "Deployment summary"
+msgstr "Número del departamento"
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
 msgstr ""
-"Tan pronto como la operación de etiquetado termine, puede avanzar hasta el "
-"final de la página y presionar el botón 'Continuar' para continuar al "
-"dialogo de gestión de departamento."
 
-#: plugins/admin/departments/class_organizationGeneric.inc:122
-msgid "Organization name"
-msgstr "Nombre de la Organización"
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
+msgstr "Aplicaciones"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:131
-#: plugins/personal/generic/class_user.inc:1709
-msgid "Postal address"
-msgstr "Código Postal"
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
+msgstr "Nombre del grupo"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:132
-msgid "Phone number"
-msgstr "Número de teléfono"
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
+msgstr "Objetos miembros"
 
-#: plugins/admin/departments/class_countryGeneric.inc:91
-#: plugins/admin/departments/country.tpl:11
-msgid "Country name"
-msgstr "Nombre del País"
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
+msgstr ""
+"¡No puede combinar terminales y estaciones de trabajo en un unico grupo de "
+"objetos!"
 
-#: plugins/admin/departments/domain.tpl:11
-msgid "Domain name"
-msgstr "Nombre de dominio"
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
+msgstr "ninguno"
 
-#: plugins/admin/departments/domain.tpl:14
-msgid "Name of domain to create"
-msgstr "Nombre del dominio a crear"
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
+msgstr "¡demasiados objetos diferentes!"
 
-#: plugins/admin/departments/country.tpl:14
-msgid "Name of country to create"
-msgstr "Nombre del país a crear"
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
+msgstr "usuarios"
 
-#: plugins/admin/departments/class_department.inc:433
-msgid "Cannot find an unused tag for this administrative unit!"
-msgstr ""
-"¡No se puede encontrar una etiqueta sin usar para identificar la unidad "
-"administrativa!"
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
+msgstr "grupos"
 
-#: plugins/admin/departments/class_department.inc:504
-#, php-format
-msgid "Tagging '%s'."
-msgstr "Etiquetando '%s'."
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
+msgstr "aplicaciones"
 
-#: plugins/admin/departments/class_department.inc:585
-#, php-format
-msgid "Moving '%s' to '%s'"
-msgstr "Moviendo '%s' a '%s'"
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
+msgstr "departamentos"
 
-#: plugins/admin/departments/class_department.inc:626
-#, php-format
-msgid "FAILED to copy %s, aborting operation"
-msgstr "Ha fallado a copiar %s, operación abortada"
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
+msgstr "servidores"
 
-#: plugins/admin/departments/class_department.inc:665
-msgid "Department name"
-msgstr "Nombre de departamento"
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
+msgstr "estaciones de trabajo"
 
-#: plugins/admin/departments/class_department.inc:673
-msgid "Telephone"
-msgstr "Teléfono"
+#: plugins/admin/ogroups/class_ogroup.inc:328
+#, fuzzy
+msgid "Windows workstations"
+msgstr "grupos de estaciones de trabajo windows"
 
-#: plugins/admin/departments/class_department.inc:728
-#, php-format
-msgid "Object '%s' is already tagged"
-msgstr "El objeto '%s' está ya marcado"
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
+msgstr "terminales"
 
-#: plugins/admin/departments/class_department.inc:735
-#, php-format
-msgid "Adding tag (%s) to object '%s'"
-msgstr "Añadir marca (%s) al objeto '%s'"
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
+msgstr "teléfonos"
 
-#: plugins/admin/departments/class_department.inc:767
-#, php-format
-msgid "Removing tag from object '%s'"
-msgstr "Eliminando marca del objeto '%s'"
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
+msgstr "impresoras"
 
-#: plugins/admin/departments/dep_iframe.tpl:1
-msgid "Processing the requested operation"
-msgstr "Procesando la operación solicitada"
+#: plugins/admin/ogroups/class_ogroup.inc:533
+#, fuzzy
+msgid "Non existing DN:"
+msgstr "No existe el 'dn':"
 
-#: plugins/admin/departments/dep_iframe.tpl:7
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
 msgid ""
-"Your browser doesn't support iframes, please use this link to perform the "
-"requested operation."
+"These systems are already configured by other object groups and cannot be "
+"added:"
 msgstr ""
-"Su navegador no soporta IFRAMES, porfavor use este enlace para ejecutar la "
-"operación solicitada."
+"Estos sistemas ya han sido configurados por otros grupos de objetos y no "
+"pueden ser añadidos:"
 
-#: plugins/admin/departments/organization.tpl:11
-msgid "Name of organization"
-msgstr "Nombre de la Organización"
+#: plugins/admin/ogroups/class_ogroup.inc:685
+msgid "You can combine two different object types at maximum, only!"
+msgstr "¡Solo se puede combiar dos tipos de objetos diferentes como máximo!"
 
-#: plugins/admin/departments/organization.tpl:14
-msgid "Name of organization to create"
-msgstr "Nombre de la organización a crear"
+#: plugins/admin/ogroups/class_ogroup.inc:849
+msgid "Object group generic"
+msgstr "Grupo de objetos genérico"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-msgid "You are currently moving/renaming this department."
-msgstr "Está actualmente moviendo/renombrando este departamento."
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
+msgstr "Grupos de objetos"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:5
-msgid ""
-"Modifying a departments naming attribute 'ou' or base may corrupt acls and "
-"snapshot entries for all entire objects."
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
 msgstr ""
-"Modificar un atributo 'ou' de un departamento puede corromper acls e "
-"instantaneas de todos los objetos."
 
-#: plugins/admin/departments/dep_move_confirm.tpl:8
-msgid "GOsa can NOT fix this for you, yet."
-msgstr "GOsa no puede solucionar este problema, aún."
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+msgid "Templates"
+msgstr "Plantillas"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:11
-msgid ""
-"Before you confirm this action, ensure that everything will be as expected, "
-"possibly the best solution is a backup."
-msgstr ""
-"Antes de que confirme la acción, asegurese que todo sera como espera, se "
-"recomienda que realize un backup."
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
+msgstr "Aplicación"
 
-#: plugins/admin/acl/class_aclManagement.inc:25
-#: plugins/admin/acl/acl-list.xml:15
-msgid "Acl"
-msgstr "ACL"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+msgid "Windows Install"
+msgstr "Instalación Windows"
+
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
+msgid "ACL Templates"
+msgstr "Plantillas ACL"
+
+#: plugins/admin/acl/acl-list.xml:11
+#, fuzzy
+msgid "List of ACLs"
+msgstr "Lista de acls"
+
+#: plugins/admin/acl/paste_role.tpl:1
+#, fuzzy
+msgid "Paste ACL-role"
+msgstr "Eliminar rol"
 
+#: plugins/admin/acl/acl-filter.xml:48
 #: plugins/admin/acl/class_aclManagement.inc:154
 msgid "ACL Assignment"
 msgstr "Asignación de ACL"
 
-#: plugins/admin/acl/tabs_acl_role.inc:28
-msgid "ACL Templates"
-msgstr "Plantillas ACL"
+#: plugins/admin/acl/class_aclManagement.inc:26
+msgid ""
+"Control access to GOsa managed objects down to attribute and action level"
+msgstr ""
 
 #: plugins/admin/acl/class_aclRole.inc:26
-#: plugins/admin/acl/class_aclRole.inc:726
+#: plugins/admin/acl/class_aclRole.inc:715
 msgid "Access control roles"
 msgstr "Roles de control de acceso"
 
@@ -4207,2479 +6193,2239 @@ msgstr "Roles de control de acceso"
 msgid "Edit AC roles"
 msgstr "Editar roles CA"
 
-#: plugins/admin/acl/class_aclRole.inc:134
+#: plugins/admin/acl/class_aclRole.inc:138
 msgid "Reset ACL"
 msgstr "Eliminar ACL"
 
-#: plugins/admin/acl/class_aclRole.inc:418
+#: plugins/admin/acl/class_aclRole.inc:411
 msgid "No ACL settings for this category"
 msgstr "No hay ACL configuradas en esta categoría"
 
-#: plugins/admin/acl/class_aclRole.inc:420
+#: plugins/admin/acl/class_aclRole.inc:413
 #, php-format
 msgid "ACL for these objects: %s"
 msgstr "ACLs que tienen estos objetos: %s"
 
-#: plugins/admin/acl/class_aclRole.inc:426
+#: plugins/admin/acl/class_aclRole.inc:418
 msgid "Edit category ACL"
 msgstr "Editar la categoría ACL"
 
-#: plugins/admin/acl/class_aclRole.inc:430
-msgid "Reset category ACL"
+#: plugins/admin/acl/class_aclRole.inc:421
+#, fuzzy
+msgid "Delete category ACL"
 msgstr "Eliminar la categoría ACL"
 
-#: plugins/admin/acl/class_aclRole.inc:450
+#: plugins/admin/acl/class_aclRole.inc:442
 #, php-format
 msgid "Edit ACL for '%s', scope is '%s'"
 msgstr "Editar ACL para '%s', el ámbito es '%s'"
 
-#: plugins/admin/acl/class_aclRole.inc:646
+#: plugins/admin/acl/class_aclRole.inc:635
 msgid "Object in use"
 msgstr "Objeto en uso"
 
-#: plugins/admin/acl/class_aclRole.inc:646
+#: plugins/admin/acl/class_aclRole.inc:635
 #, php-format
 msgid "This role cannot be removed while it is in use by these objects:"
 msgstr ""
 "Este Rol no puede ser eliminado por estar siendo usado por los siguientes "
 "objetos:"
 
-#: plugins/admin/acl/class_aclRole.inc:725 plugins/admin/acl/acl-list.xml:23
-#: plugins/admin/acl/acl-list.xml:82
-#: plugins/personal/generic/class_user.inc:1664
-#: plugins/personal/generic/generic.tpl:508
-msgid "Role"
-msgstr "Rol"
+#: plugins/admin/acl/class_aclRole.inc:731
+#, fuzzy
+msgid "RDN for role storage."
+msgstr "Ruta del almacén de perfiles kiosk"
 
-#: plugins/admin/acl/class_aclRole.inc:736
-msgid "Permissions"
-msgstr "Permisos"
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
+msgid "Domain component"
+msgstr "Componente del dominio"
+
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
+msgid "Locality name"
+msgstr "Localidad"
+
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
+msgid "Name of locality to create"
+msgstr "Nombre de la localidad a crear"
+
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
+msgstr "Descripción del departamento"
+
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
+msgid "Administrative settings"
+msgstr "Parámetros administrativos"
+
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
+msgstr "Marcar departamento como una unidad administrativa independiente"
+
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
+msgstr "País"
+
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
+msgid "Locality"
+msgstr "Localidad"
+
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
+msgid "Domain"
+msgstr "Dominio"
+
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
+msgid "Country name"
+msgstr "Nombre del País"
+
+#: plugins/admin/departments/country.tpl:14
+msgid "Name of country to create"
+msgstr "Nombre del país a crear"
 
-#: plugins/admin/acl/acl-list.xml:11
-msgid "List of acls"
-msgstr "Lista de acls"
+#: plugins/admin/departments/dep-list.xml:11
+#, fuzzy
+msgid "List of structural objects"
+msgstr "Lista del grupo de objetos"
 
-#: plugins/admin/acl/acl-filter.tpl:11
-msgid "Show access control lists"
-msgstr "Mostrar listas de control de acceso"
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "You are currently moving/renaming this department."
+msgstr "Está actualmente moviendo/renombrando este departamento."
 
-#: plugins/admin/acl/acl-filter.tpl:12
-msgid "Show roles"
-msgstr "Mostrar roles"
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+#, fuzzy
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
+msgstr ""
+"Modificar un atributo 'ou' de un departamento puede corromper acls e "
+"instantaneas de todos los objetos."
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:25
-msgid "Bug submitter"
-msgstr "Envío de fallos"
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+msgid "GOsa can NOT fix this for you, yet."
+msgstr "GOsa no puede solucionar este problema, aún."
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:26
+#: plugins/admin/departments/dep_move_confirm.tpl:12
 msgid ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
 msgstr ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/newticket'\ttarget='_blank'>Envío "
-"incidencias</a>"
+"Antes de que confirme la acción, asegurese que todo sera como espera, se "
+"recomienda que realize un backup."
 
-#: plugins/personal/generic/class_user.inc:38
-msgid "Edit organizational user settings"
-msgstr "Editar parámetros de usuarios administrativos"
+#: plugins/admin/departments/organization.tpl:11
+msgid "Name of organization"
+msgstr "Nombre de la Organización"
 
-#: plugins/personal/generic/class_user.inc:297
-msgid "Please add a single IP address or a network/netmask combination!"
-msgstr "¡Por favor añada una IP única o una combinación red/mascara!"
+#: plugins/admin/departments/organization.tpl:14
+msgid "Name of organization to create"
+msgstr "Nombre de la organización a crear"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "female"
-msgstr "mujer"
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
+msgstr "Categoría para este subárbol"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "male"
-msgstr "hombre"
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
+msgstr "Estado donde está este subárbol localizado"
 
-#: plugins/personal/generic/class_user.inc:408
-msgid "Cannot upload file!"
-msgstr "¡No se puede subir el archivo!"
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
+msgstr "Localización de este subárbol"
 
-#: plugins/personal/generic/class_user.inc:503
-msgid "Serial number"
-msgstr "Número serie"
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
+msgstr "Dirección postal de este subárbol"
 
-#: plugins/personal/generic/class_user.inc:548
-msgid ""
-"(Some types of certificates are currently not supported and may be displayed "
-"as 'invalid'.)"
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
+msgstr "Número base de teléfono de este subárbol"
+
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
+msgstr "Número base de fax de este subárbol"
+
+#: plugins/admin/departments/class_department.inc:439
+msgid "Cannot find an unused tag for this administrative unit!"
 msgstr ""
-"(Algunos tipos de certificados no están soportados y pueden ser mostrados "
-"como no validos.)"
+"¡No se puede encontrar una etiqueta sin usar para identificar la unidad "
+"administrativa!"
 
-#: plugins/personal/generic/class_user.inc:558
+#: plugins/admin/departments/class_department.inc:507
 #, php-format
-msgid "Certificate is valid from %s to %s and is currently %s."
-msgstr "El certificado es valido desde %s hasta %s y es actualmente %s."
-
-#: plugins/personal/generic/class_user.inc:561
-msgid "valid"
-msgstr "válido"
+msgid "Tagging '%s'."
+msgstr "Etiquetando '%s'."
 
-#: plugins/personal/generic/class_user.inc:562
-msgid "invalid"
-msgstr "no válido"
+#: plugins/admin/departments/class_department.inc:588
+#, php-format
+msgid "Moving '%s' to '%s'"
+msgstr "Moviendo '%s' a '%s'"
 
-#: plugins/personal/generic/class_user.inc:567
-msgid "No certificate installed"
-msgstr "No hay certificados instalados"
+#: plugins/admin/departments/class_department.inc:629
+#, php-format
+msgid "FAILED to copy %s, aborting operation"
+msgstr "Ha fallado a copiar %s, operación abortada"
 
-#: plugins/personal/generic/class_user.inc:593
-msgid "The selected password method is no longer available."
-msgstr "El método de contraseña seleccionado no está disponible."
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
+msgstr "Departamentos"
 
-#: plugins/personal/generic/class_user.inc:1190
-msgid "Cannot build RDN: no + allowed to build sub RDN!"
-msgstr "No se puede construir RDN: ¡no se permite + para construir subRDN!"
+#: plugins/admin/departments/class_department.inc:674
+msgid "Department name"
+msgstr "Nombre de departamento"
 
-#: plugins/personal/generic/class_user.inc:1197
-msgid "Cannot build RDN: attribute is not defined!"
-msgstr "No se puede construir RDN: ¡Atributo no definido!"
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
+msgstr "Teléfono"
 
-#: plugins/personal/generic/class_user.inc:1215
-msgid "Cannot build RDN: invalid attribute parameters!"
-msgstr "No se puede construir RDN: ¡Valor no válido del atributo!"
+#: plugins/admin/departments/class_department.inc:737
+#, php-format
+msgid "Object '%s' is already tagged"
+msgstr "El objeto '%s' está ya marcado"
 
-#: plugins/personal/generic/class_user.inc:1286
-msgid "The selected password method requires initial configuration!"
-msgstr ""
-"¡El método de contraseña seleccionado necesita una configuració inicial!"
+#: plugins/admin/departments/class_department.inc:744
+#, php-format
+msgid "Adding tag (%s) to object '%s'"
+msgstr "Añadir marca (%s) al objeto '%s'"
 
-#: plugins/personal/generic/class_user.inc:1351
-#: plugins/personal/generic/class_user.inc:1713
-#: plugins/personal/generic/class_user.inc:1816
-#: plugins/personal/generic/generic.tpl:199
-msgid "Homepage"
-msgstr "Página Web"
+#: plugins/admin/departments/class_department.inc:776
+#, php-format
+msgid "Removing tag from object '%s'"
+msgstr "Eliminando marca del objeto '%s'"
 
-#: plugins/personal/generic/class_user.inc:1362
-#: plugins/personal/generic/class_user.inc:1825
-#: plugins/personal/generic/generic.tpl:407
-msgid "Mobile"
-msgstr "Móvil"
+#: plugins/admin/departments/dep_iframe.tpl:1
+msgid "Processing the requested operation"
+msgstr "Procesando la operación solicitada"
 
-#: plugins/personal/generic/class_user.inc:1365
-#: plugins/personal/generic/class_user.inc:1828
-#: plugins/personal/generic/generic.tpl:415
-msgid "Pager"
-msgstr "Buscapersonas"
+#: plugins/admin/departments/dep_iframe.tpl:7
+#, fuzzy
+msgid ""
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
+msgstr ""
+"Su navegador no soporta IFRAMES, porfavor use este enlace para ejecutar la "
+"operación solicitada."
 
-#: plugins/personal/generic/class_user.inc:1370
-#: plugins/personal/generic/class_user.inc:1685
-#: plugins/personal/generic/generic.tpl:119
-msgid "Date of birth"
-msgstr "Fecha de nacimiento"
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
+msgid "Domain Component"
+msgstr "Componentes del dominio"
 
-#: plugins/personal/generic/class_user.inc:1485
-msgid "Cannot open certificate!"
-msgstr "¡No puedo abrir el certificado!"
+#: plugins/admin/departments/class_organizationGeneric.inc:122
+msgid "Organization name"
+msgstr "Nombre de la Organización"
 
-#: plugins/personal/generic/class_user.inc:1653
-#: plugins/personal/generic/generic.tpl:531
-msgid "Unit"
-msgstr "Unidad"
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+msgid "Phone number"
+msgstr "Número de teléfono"
 
-#: plugins/personal/generic/class_user.inc:1654
-#: plugins/personal/generic/generic.tpl:556
-msgid "House identifier"
-msgstr "Tipo de Vía"
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
+msgstr "Nombre del departamento"
 
-#: plugins/personal/generic/class_user.inc:1655
-#: plugins/personal/generic/generic.tpl:473
-msgid "Vocation"
-msgstr "Profesión"
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
+msgstr "Nombre del subárbol a crear"
 
-#: plugins/personal/generic/class_user.inc:1656
-#: plugins/personal/generic/generic.tpl:600
-msgid "Last delivery"
-msgstr "Última dirección conocida"
+#: plugins/admin/departments/generic.tpl:22
+msgid "Descriptive text for   department"
+msgstr "Descripción del departamento"
 
-#: plugins/personal/generic/class_user.inc:1657
-#: plugins/personal/generic/generic.tpl:522
-msgid "Person locality"
-msgstr "Lugar de residencia"
+#: plugins/admin/departments/class_departmentManagement.inc:25
+#, fuzzy
+msgid "Directory structure"
+msgstr "Directorio"
 
-#: plugins/personal/generic/class_user.inc:1658
-#: plugins/personal/generic/generic.tpl:481
-msgid "Unit description"
-msgstr "Descripción de la unidad"
+#: plugins/admin/departments/class_departmentManagement.inc:26
+msgid ""
+"Manage organizations, organizational units, localities, countries and more"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1659
-#: plugins/personal/generic/generic.tpl:490
-msgid "Subject area"
-msgstr "Área de desarrollo"
+#: plugins/admin/departments/class_departmentManagement.inc:125
+msgid ""
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
+msgstr ""
+"Tan pronto como la operación de etiquetado termine, puede avanzar hasta el "
+"final de la página y presionar el botón 'Continuar' para continuar al "
+"dialogo de gestión de departamento."
 
-#: plugins/personal/generic/class_user.inc:1660
-#: plugins/personal/generic/generic.tpl:499
-msgid "Functional title"
-msgstr "Función"
+#: plugins/admin/departments/domain.tpl:11
+msgid "Domain name"
+msgstr "Nombre de dominio"
 
-#: plugins/personal/generic/class_user.inc:1661
-#: plugins/personal/generic/generic_certs.tpl:78
-msgid "Certificate serial number"
-msgstr "Número de serie del certificado"
+#: plugins/admin/departments/domain.tpl:14
+msgid "Name of domain to create"
+msgstr "Nombre del dominio a crear"
 
-#: plugins/personal/generic/class_user.inc:1662
-#: plugins/personal/generic/generic.tpl:609
-msgid "Public visible"
-msgstr "Visible por todos"
+#: plugins/admin/users/password.tpl:4
+msgid ""
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
+msgstr ""
+"Para cambiar la contraseña del usuario use los campos a continuación. Los "
+"cambios tomarán efecto inmediatamente. Por favor, recuerde la nueva "
+"contraseña, el usuario no podrá autenticarse sin ella."
 
-#: plugins/personal/generic/class_user.inc:1663
-#: plugins/personal/generic/generic.tpl:540
-msgid "Street"
-msgstr "Calle"
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
+#, fuzzy
+msgid "Password input dialog"
+msgstr "Cambio de contraseña"
 
-#: plugins/personal/generic/class_user.inc:1665
-#: plugins/personal/generic/generic.tpl:548
-msgid "Postal code"
-msgstr "Código Postal"
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
+msgid "Strength"
+msgstr "Seguridad"
 
-#: plugins/personal/generic/class_user.inc:1669
-msgid "Generic user settings"
-msgstr "Parámetros genéricos del usuario"
+#: plugins/admin/users/password.tpl:95
+#, fuzzy
+msgid "Enforce password change on next login."
+msgstr "Forzar el cambio de contraseña al iniciar"
 
-#: plugins/personal/generic/class_user.inc:1673
-#: plugins/personal/posix/class_posixAccount.inc:1455
-#: plugins/personal/password/class_password.inc:205
-msgid "My account"
-msgstr "Mi cuenta"
+#: plugins/admin/users/templatize.tpl:2
+msgid "Applying a template"
+msgstr "Aplicando una plantilla"
 
-#: plugins/personal/generic/class_user.inc:1681
-msgid "User identification"
-msgstr "Identificación de Usuario"
+#: plugins/admin/users/templatize.tpl:6
+msgid ""
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
+msgstr ""
+"Aplicar una plantilla a usuarios reemplazará los valores de estos por los "
+"definidos en la plantilla."
 
-#: plugins/personal/generic/class_user.inc:1682
-#: plugins/personal/generic/generic.tpl:98
-msgid "Personal title"
-msgstr "Título Personal"
+#: plugins/admin/users/templatize.tpl:13
+#, fuzzy
+msgid "Apply user template"
+msgstr "Aplicar plantilla"
 
-#: plugins/personal/generic/class_user.inc:1683
-#: plugins/personal/generic/generic.tpl:108
-msgid "Academic title"
-msgstr "Títulos académicos"
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
+msgstr "Plantilla"
 
-#: plugins/personal/generic/class_user.inc:1686
-#: plugins/personal/generic/generic.tpl:138
-msgid "Sex"
-msgstr "Sexo"
+#: plugins/admin/users/templatize.tpl:32
+msgid "No templates available!"
+msgstr "¡No hay plantillas disponibles!"
 
-#: plugins/personal/generic/class_user.inc:1687
-msgid "Preferred language"
-msgstr "Idioma preferido"
+#: plugins/admin/users/user-filter.xml:33
+msgid "Show templates"
+msgstr "Mostrar plantillas"
 
-#: plugins/personal/generic/class_user.inc:1690
-#: plugins/personal/generic/paste_generic.tpl:47
-msgid "User picture"
-msgstr "Foto del usuario"
+#: plugins/admin/users/user-filter.xml:47
+msgid "Show POSIX users"
+msgstr "Mostrar usuarios POSIX"
 
-#: plugins/personal/generic/class_user.inc:1692
+#: plugins/admin/users/user-filter.xml:61
 #, fuzzy
-msgid "Login restrictions"
-msgstr "Restricciones de contraseña"
+msgid "Show SAMBA users"
+msgstr "Mostrar usuarios"
 
-#: plugins/personal/generic/class_user.inc:1696
-msgid "Department number"
-msgstr "Número del departamento"
+#: plugins/admin/users/user-filter.xml:75
+#, fuzzy
+msgid "Show mail users"
+msgstr "Mostrar los usuarios de correo"
 
-#: plugins/personal/generic/class_user.inc:1698
-msgid "Employee number"
-msgstr "Número de empleado"
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
+msgstr "Crear un nuevo usuario usando plantillas"
 
-#: plugins/personal/generic/class_user.inc:1699
-#: plugins/personal/generic/generic.tpl:331
-msgid "Employee type"
-msgstr "Funciones laborales"
+#: plugins/admin/users/template.tpl:6
+msgid ""
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
+msgstr ""
+"Crear un nuevo usuario es mas fácil si usa plantillas. Algunos valores en la "
+"base de datos serán introducidos automáticamente. Elegir 'ninguno' para "
+"anular el uso de plantillas."
 
-#: plugins/personal/generic/class_user.inc:1701
-msgid "Room number"
-msgstr "Número de habitación"
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1702
-msgid "Telefon number"
-msgstr "Número de teléfono"
+#: plugins/admin/users/class_userManagement.inc:26
+msgid ""
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1703
-msgid "Pager number"
-msgstr "Número del busca"
+#: plugins/admin/users/class_userManagement.inc:401
+msgid "You have no permission to change this users password!"
+msgstr "¡No tiene permisos para cambiar la contraseña de este usuario!"
 
-#: plugins/personal/generic/class_user.inc:1704
-msgid "Mobile number"
-msgstr "Teléfono móvil"
+#: plugins/admin/users/class_userManagement.inc:791
+msgid "Account locking"
+msgstr "Bloqueo de cuenta"
 
-#: plugins/personal/generic/class_user.inc:1705
-msgid "Fax number"
-msgstr "Número de Fax"
+#: plugins/admin/users/class_userManagement.inc:792
+#, php-format
+msgid ""
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
+msgstr ""
+"El método de contraseña '%s' no soporta bloqueo. ¡La cuenta (%s) no ha sido "
+"bloqueada!"
 
-#: plugins/personal/generic/class_user.inc:1711
-msgid "Home postal address"
-msgstr "Dirección Postal personal"
+#: plugins/admin/users/class_userManagement.inc:865
+msgid "Unlock account"
+msgstr "Desbloquear cuenta"
 
-#: plugins/personal/generic/class_user.inc:1712
-msgid "Home phone number"
-msgstr "Número de teléfono personal"
+#: plugins/admin/users/class_userManagement.inc:867
+msgid "Lock account"
+msgstr "Bloquear cuenta"
 
-#: plugins/personal/generic/class_user.inc:1714
-msgid "User password method"
-msgstr "Metodo de contraseña de usuario"
+#: plugins/admin/users/class_userManagement.inc:880
+msgid "Edit generic properties"
+msgstr "Editar características generales"
 
-#: plugins/personal/generic/class_user.inc:1715
-msgid "User certificates"
-msgstr "Certificados de usuario"
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
+msgstr "Netatalk"
 
-#: plugins/personal/generic/class_user.inc:1923
+#: plugins/admin/users/class_userManagement.inc:896
 #, fuzzy
-msgid "Entries differ"
-msgstr "Entradas por página"
+msgid "Edit Netatalk properties"
+msgstr "Editar características netatalk"
 
-#: plugins/personal/generic/changed.tpl:3
-#: plugins/personal/password/changed.tpl:3
-msgid ""
-"You've successfully changed your password. Remember to change all programms "
-"configured to use it as well."
-msgstr ""
-"Su cambio de contraseña se ha realizado correctamente. Recuerde cambiarla en "
-"todos los programas configurados también."
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
+msgstr "FAX"
 
-#: plugins/personal/generic/generic.tpl:6
-msgid "Personal information"
-msgstr "Información personal"
+#: plugins/admin/users/class_userManagement.inc:904
+msgid "Edit FAX properties"
+msgstr "Editar características FAX"
 
-#: plugins/personal/generic/generic.tpl:20
-#: plugins/personal/generic/generic.tpl:22
-#: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/paste_generic.tpl:37
-#: plugins/personal/generic/generic_picture.tpl:5
-#: plugins/personal/generic/generic_picture.tpl:15
-msgid "Personal picture"
-msgstr "Foto"
-
-#: plugins/personal/generic/generic.tpl:29
-#: plugins/personal/generic/generic.tpl:40
-msgid "Change picture"
-msgstr "Cambiar foto"
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
+msgstr "Lista de usuarios"
 
-#: plugins/personal/generic/generic.tpl:62
-msgid "Template name"
-msgstr "Nombre de la plantilla"
+#: plugins/admin/users/user-list.xml:140
+msgid "Lock users"
+msgstr "Bloquear usuarios"
 
-#: plugins/personal/generic/generic.tpl:151
-msgid "Preferred langage"
-msgstr "Idioma preferido"
+#: plugins/admin/users/user-list.xml:148
+msgid "Unlock users"
+msgstr "Desbloquear usuarios"
 
-#: plugins/personal/generic/generic.tpl:191
-msgid "Private phone"
-msgstr "Teléfono privado"
+#: plugins/admin/users/user-list.xml:167
+msgid "Apply template"
+msgstr "Aplicar plantilla"
 
-#: plugins/personal/generic/generic.tpl:212
-msgid "Password storage"
-msgstr "Almacén de claves"
+#: plugins/admin/users/user-list.xml:199
+msgid "New user from template"
+msgstr "Nuevo usuario desde plantilla"
 
-#: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/generic_certs.tpl:3
-msgid "Certificates"
-msgstr "Certificados"
+#: plugins/admin/users/user-list.xml:213
+msgid "Edit user"
+msgstr "Editar usuario"
 
-#: plugins/personal/generic/generic.tpl:232
-msgid "Edit certificates"
-msgstr "Editar certificados"
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
+msgstr "%{filter:lockLabel(userPassword)}"
 
-#: plugins/personal/generic/generic.tpl:244
-msgid "Restrict login to"
-msgstr "Restringir inicio de sesión a"
+#: plugins/admin/users/user-list.xml:245
+msgid "Remove user"
+msgstr "Eliminar usuario"
 
-#: plugins/personal/generic/generic.tpl:250
-#: plugins/personal/generic/generic.tpl:266
-msgid "IP or network"
-msgstr "IP o Red"
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
+#, fuzzy
+msgid "Back to main menu"
+msgstr "Menú inicial de GOsa"
 
-#: plugins/personal/generic/generic.tpl:287
-msgid "Organizational information"
-msgstr "Información corporativa"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
+msgstr ""
 
-#: plugins/personal/generic/generic.tpl:315
-msgid "Department No."
-msgstr "Número departamento"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
+msgstr ""
 
-#: plugins/personal/generic/generic.tpl:323
-msgid "Employee No."
-msgstr "Número empleado"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
+msgstr ""
 
-#: plugins/personal/generic/generic.tpl:389
-#: plugins/personal/generic/generic.tpl:571
-msgid "Room No."
-msgstr "Número sala"
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
+#, fuzzy
+msgid "Action"
+msgstr "Acciones"
 
-#: plugins/personal/generic/generic.tpl:585
-msgid "Please use the phone tab"
-msgstr "Por favor use la sección telefóno"
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
+msgid "Systems"
+msgstr "Sistemas"
 
-#: plugins/personal/generic/paste_generic.tpl:1
-msgid "User settings"
-msgstr "Caracteristicas del usuario"
+#: plugins/generic/statistics/statistics.tpl:2
+#, fuzzy
+msgid "Usage statistics"
+msgstr "Registrar estadísticas LDAP"
 
-#: plugins/personal/generic/paste_generic.tpl:23
-msgid "Clear password"
-msgstr "Borrar Contraseña"
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
+msgid ""
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
+msgstr ""
 
-#: plugins/personal/generic/paste_generic.tpl:24
-msgid "Set new password"
-msgstr "Introducir nueva contraseña"
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
+#, fuzzy
+msgid "Dash board"
+msgstr "Asistente de configuración de GOsa"
 
-#: plugins/personal/generic/paste_generic.tpl:52
-#: plugins/personal/generic/generic_picture.tpl:27
-msgid "Remove picture"
-msgstr "Eliminar foto"
+#: plugins/generic/statistics/statistics.tpl:16
+#, fuzzy
+msgid ""
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
+msgstr ""
+"No hay definiciones de extensión para iniciar '%s', por favor compruebe su "
+"archivo de configuración."
 
-#: plugins/personal/generic/main.inc:168
-msgid "Generic user information"
-msgstr "Información genérica del usuario"
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
+msgstr ""
 
-#: plugins/personal/generic/password.tpl:4
-#: plugins/personal/password/password.tpl:4
-msgid ""
-"To change your personal password use the fields below. The changes take "
-"effect immediately. Please memorize the new password, because you wouldn't "
-"be able to login without it."
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
 msgstr ""
-"Para cambiar su contraseña personal use los campos siguientes. Los cambios "
-"tendrán efecto inmediato. Por favor memorice la nueva contraseña, porque no "
-"podrá entrar sin ella."
 
-#: plugins/personal/generic/password.tpl:42
-#: plugins/personal/password/password.tpl:47
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
+msgstr "Actualizar"
+
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:87
 #, fuzzy
-msgid "Password change dialog"
-msgstr "Cambio de contraseña"
+msgid "Select report type"
+msgstr "Seleccione un tipo de ACL"
 
-#: plugins/personal/generic/password.tpl:90
-#: plugins/personal/password/password.tpl:95
-msgid "Clear fields"
-msgstr "Limpiar información"
+#: plugins/generic/statistics/class_statistics.inc:263
+#, fuzzy, php-format
+msgid ""
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
+msgstr ""
+"Esta actualmente editando una entrada de base de datos.¿Quiere desestimar "
+"los cambios?"
 
-#: plugins/personal/generic/generic_certs.tpl:8
-msgid "Standard certificate"
-msgstr "Certificado estándar"
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
+#, fuzzy
+msgid "Channels"
+msgstr "Cancelar"
 
-#: plugins/personal/generic/generic_certs.tpl:33
-msgid "S/MIME certificate"
-msgstr "Certificado S/MIME"
+#: plugins/generic/dashBoard/Register/register.tpl:3
+#, fuzzy
+msgid "GOsa registration"
+msgstr "Configuración genérica de GOsa"
 
-#: plugins/personal/generic/generic_certs.tpl:57
-msgid "PKCS12 certificate"
-msgstr "Certificado PKCS12"
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
+msgstr ""
 
-#: plugins/personal/generic/nochange.tpl:2
-#: plugins/personal/password/nochange.tpl:2
-msgid "You have no permission to change your password at this time"
-msgstr "No tiene permisos para cambiar su contraseña en estos momentos"
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
+msgstr ""
 
-#: plugins/personal/generic/nochange.tpl:5
-#, fuzzy
-msgid "Your password hash method will not be changed!"
-msgstr "Su contraseña se ha cambiado correctamente."
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:38
-msgid "Edit users POSIX settings"
-msgstr "Editar parametros de usuarios POSIX"
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:168
-msgid "expired"
-msgstr "expiró"
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:170
-msgid "grace time active"
-msgstr "Periodo de gracia activado"
+#: plugins/generic/dashBoard/Register/register.tpl:22
+msgid ""
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-#: plugins/personal/posix/class_posixAccount.inc:175
-#: plugins/personal/posix/class_posixAccount.inc:177
-msgid "active"
-msgstr "activo"
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-msgid "password not changeable"
-msgstr "no puede cambiar la contraseña"
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:175
-msgid "password expired"
-msgstr "la contraseña expiró"
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:248
-msgid "automatic"
-msgstr "automático"
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:444
-#, php-format
-msgid "Password can't be changed up to %s days after last change"
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
 msgstr ""
-"La contraseñas no pueden ser cambiadas hasta %s días desde el último cambio"
 
-#: plugins/personal/posix/class_posixAccount.inc:448
-#, php-format
-msgid "Password must be changed after %s days"
-msgstr "La contraseñas deben ser cambiadas despues de %s días"
+#: plugins/generic/dashBoard/Register/register.tpl:33
+msgid ""
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:452
-#, php-format
-msgid "Disable account after %s days of inactivity after password expiry"
+#: plugins/generic/dashBoard/Register/register.tpl:34
+msgid ""
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
 msgstr ""
-"Desactivar cuenta despues de %s días de inactividad una vez caducada la "
-"contraseña"
 
-#: plugins/personal/posix/class_posixAccount.inc:456
-#, php-format
-msgid "Warn user %s days before password expiry"
-msgstr "Avisar al usuario %s días antes de que la contraseña caduque"
+#: plugins/generic/dashBoard/Register/register.tpl:35
+msgid ""
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
+#, fuzzy
+msgid "Registration complete"
+msgstr "Operación incompleta"
 
-#: plugins/personal/posix/class_posixAccount.inc:793
-msgid "Timeout while waiting for lock. Ignoring lock!"
-msgstr "Tiempo de espera agotado esperando un bloqueo. ¡Ignorando bloqueo!"
+#: plugins/generic/dashBoard/Register/register.tpl:71
+#, fuzzy
+msgid "GOsa instance sucessfully registered"
+msgstr "Sugerencia enviada correctamente"
 
-#: plugins/personal/posix/class_posixAccount.inc:851
-#: plugins/personal/posix/class_posixAccount.inc:1169
-msgid "Group of user"
-msgstr "Grupo de usuarios"
+#: plugins/generic/dashBoard/Register/register.tpl:82
+#, fuzzy
+msgid "GOsa instance will not be registered"
+msgstr "La sesión no será codificada."
 
-#: plugins/personal/posix/class_posixAccount.inc:946
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
 msgid ""
-"A duplicated UID number was written for this user. If this was not intended "
-"please verify all used uidNumbers!"
+"Communciation with the backend failed! Please check your internet connection!"
 msgstr ""
-"UN número UID duplicado ha sido introducido para este usuario. ¡Si esto no "
-"es intencionado por favor verifique todos los uidNumbers usado!"
 
-#: plugins/personal/posix/class_posixAccount.inc:1027
-#: plugins/personal/posix/class_posixAccount.inc:1030
-#: plugins/personal/posix/class_posixAccount.inc:1105
-#: plugins/personal/posix/class_posixAccount.inc:1108
-#: plugins/personal/posix/class_posixAccount.inc:1461
-#: plugins/personal/posix/generic.tpl:7
-#: plugins/personal/posix/paste_generic.tpl:8
-msgid "Home directory"
-msgstr "Directorio de usuario"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
+msgid ""
+"Authentication failed, please check combination of username and password!"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1038
-#: plugins/personal/posix/class_posixAccount.inc:1041
-#: plugins/personal/posix/generic.tpl:63
-#: plugins/personal/posix/paste_generic.tpl:36
-msgid "UID"
-msgstr "UID"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
+msgid ""
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1061
-#: plugins/personal/posix/class_posixAccount.inc:1114
-msgid "shadowMin"
-msgstr "shadowMin"
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
+#, fuzzy
+msgid "Notifications"
+msgstr "Script de notificación"
 
-#: plugins/personal/posix/class_posixAccount.inc:1066
-#: plugins/personal/posix/class_posixAccount.inc:1119
-msgid "shadowMax"
-msgstr "shadowMax"
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1071
-#: plugins/personal/posix/class_posixAccount.inc:1124
-msgid "shadowWarning"
-msgstr "shadowWarning"
+#: plugins/generic/dashBoard/dashBoard.tpl:7
+msgid ""
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1085
-#: plugins/personal/posix/class_posixAccount.inc:1138
-msgid "shadowInactive"
-msgstr "shadowInactive"
+#: plugins/generic/dashBoard/dashBoard.tpl:13
+#, fuzzy
+msgid "GOsa dash board"
+msgstr "Asistente de configuración de GOsa"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
-msgid "POSIX account"
-msgstr "Cuenta POSIX"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
-#: plugins/personal/posix/generic.tpl:15
-msgid "Shell"
-msgstr "Shell"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
+#, fuzzy
+msgid "Schema missing"
+msgstr "Configuración basada en el esquema"
 
-#: plugins/personal/posix/class_posixAccount.inc:1463
-#: setup/setup_migrate.tpl:291
-msgid "User ID"
-msgstr "Identificador (ID) de usuario"
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
+#, fuzzy
+msgid "Plugin status"
+msgstr "Estado actual"
 
-#: plugins/personal/posix/class_posixAccount.inc:1464
-msgid "Group ID"
-msgstr "Identificador (ID) de Grupo"
+#: plugins/generic/references/class_reference.inc:70
+#, fuzzy
+msgid "Role membership"
+msgstr "Pertenencia a grupo"
 
-#: plugins/personal/posix/class_posixAccount.inc:1466
-msgid "Force password change on login"
-msgstr "Forzar el cambio de contraseña al iniciar"
+#: plugins/generic/references/class_reference.inc:76
+#, fuzzy
+msgid "Object group membership"
+msgstr "Grupo de objetos genérico"
 
-#: plugins/personal/posix/class_posixAccount.inc:1467
-msgid "Shadow min"
-msgstr "Shadow min"
+#: plugins/generic/references/class_reference.inc:82
+#, fuzzy
+msgid "Department manager"
+msgstr "Administración de departamento"
 
-#: plugins/personal/posix/class_posixAccount.inc:1468
-msgid "Shadow max"
-msgstr "Shadow max"
+#: plugins/generic/references/class_reference.inc:88
+#, fuzzy
+msgid "User manager"
+msgstr "Nombre de Usuario"
 
-#: plugins/personal/posix/class_posixAccount.inc:1469
-msgid "Shadow warning"
-msgstr "Shadow warning"
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+#, fuzzy
+msgid "Object information"
+msgstr "Información de conexión"
 
-#: plugins/personal/posix/class_posixAccount.inc:1470
-msgid "Shadow inactive"
-msgstr "Shadow inactive"
+#: plugins/generic/references/contents.tpl:7
+msgid "Show raw object entry"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1471
-msgid "Shadow expire"
-msgstr "Shadow expire"
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
+#, fuzzy
+msgid "Last modification"
+msgstr "Identificación de Usuario"
 
-#: plugins/personal/posix/class_posixAccount.inc:1472
-msgid "Public SSH key"
-msgstr "Clave pública SSH"
+#: plugins/generic/references/contents.tpl:29
+#, fuzzy
+msgid "Object references"
+msgstr "Referencias"
 
-#: plugins/personal/posix/class_posixAccount.inc:1473
-msgid "System trust model"
-msgstr "Sistema de confianza"
+#: plugins/generic/references/contents.tpl:45
+#, fuzzy
+msgid "ACL trace"
+msgstr "Tipo de ACL"
 
-#: plugins/personal/posix/generic.tpl:25
-#: plugins/personal/posix/paste_generic.tpl:17
-msgid "Primary group"
-msgstr "Grupo primario"
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:36
-msgid "Status"
-msgstr "Estado"
+#: plugins/generic/references/class_aclResolver.inc:193
+msgid "ACLs"
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:41
-msgid "Last logon"
-msgstr "Último inicio de sesión"
+#: plugins/generic/references/class_aclResolver.inc:198
+#, php-format
+msgid "List of effective ACLs for '%s'"
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:59
-#: plugins/personal/posix/paste_generic.tpl:31
-msgid "Force UID/GID"
-msgstr "Forzar UID/GID"
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
+#, fuzzy
+msgid "Object permissions"
+msgstr "Parametros de grupos"
 
-#: plugins/personal/posix/generic.tpl:89
-#: plugins/personal/posix/paste_generic.tpl:55
-msgid "Group membership"
-msgstr "Pertenencia a grupo"
+#: plugins/generic/references/class_aclResolver.inc:311
+#, fuzzy
+msgid "create"
+msgstr "Crear"
 
-#: plugins/personal/posix/generic.tpl:91
-#: plugins/personal/posix/paste_generic.tpl:62
-msgid "(Warning: more than 16 groups are not supported by NFS!)"
-msgstr "(Aviso: NFS no soporta mas de 16 grupos)"
+#: plugins/generic/references/class_aclResolver.inc:312
+#, fuzzy
+msgid "remove"
+msgstr "Eliminar"
 
-#: plugins/personal/posix/generic.tpl:100
-msgid "Common group"
-msgstr "Grupo común"
+#: plugins/generic/references/class_aclResolver.inc:313
+#, fuzzy
+msgid "move"
+msgstr "Eliminar"
 
-#: plugins/personal/posix/generic.tpl:104
-msgid "Groups differ"
-msgstr "Grupo diferente"
+#, fuzzy
+#~ msgid "List of items"
+#~ msgstr "Lista de usuarios"
 
-#: plugins/personal/posix/generic.tpl:127
-msgid "SSH keys"
-msgstr "Claves SSH"
+#, fuzzy
+#~ msgid "Edit item"
+#~ msgstr "Editar certificados"
 
-#: plugins/personal/posix/generic.tpl:128
-msgid "Edit public ssh keys..."
-msgstr "Editar claves SSH públicas..."
+#, fuzzy
+#~ msgid "Remove item"
+#~ msgstr "Eliminar foto"
+
+#, fuzzy
+#~ msgid "Container"
+#~ msgstr "Continuar"
 
-#: plugins/personal/posix/generic.tpl:132
-msgid "Account"
-msgstr "Cuenta"
+#, fuzzy
+#~ msgid "Config management"
+#~ msgstr "Sistemas-/Administración de Configuraciones"
 
-#: plugins/personal/posix/posix_groups.tpl:6
-msgid "Select groups to add"
-msgstr "Seleccione grupos a añadir"
+#, fuzzy
+#~ msgid "Distribution"
+#~ msgstr "Descripción"
 
-#: plugins/personal/posix/posix_groups.tpl:32
-msgid "Display groups of department"
-msgstr "Mostrar grupos de departamentos"
+#, fuzzy
+#~ msgid "Component"
+#~ msgstr "Componentes del dominio"
 
-#: plugins/personal/posix/posix_groups.tpl:44
-msgid "Display groups matching"
-msgstr "Mostrar grupos coincidentes"
+#, fuzzy
+#~ msgid "Home phone"
+#~ msgstr "Número de teléfono personal"
 
-#: plugins/personal/posix/posix_groups.tpl:48
-msgid "Regular expression for matching group names"
-msgstr "Expresión regular para buscar nombres de grupos"
+#, fuzzy
+#~ msgid "Organizational unit"
+#~ msgstr "Nombre de la Organización"
 
-#: plugins/personal/posix/posix_groups.tpl:55
-msgid "Display groups of user"
-msgstr "Mostrar grupos de usuarios"
+#, fuzzy
+#~ msgid "Max"
+#~ msgstr "Mayo"
 
-#: plugins/personal/posix/posix_groups.tpl:59
-msgid "User name of which groups are shown"
-msgstr "Nombre de usuario de los grupos que se muestran"
+#, fuzzy
+#~ msgid "Min"
+#~ msgstr "Inicio"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:11
-msgid "Show servers"
-msgstr "Mostrar servidores"
+#~ msgid "Welcome %s!"
+#~ msgstr "¡Bienvenido %s!"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:12
-msgid "Show workstations"
-msgstr "Mostrar estaciones de trabajo"
+#, fuzzy
+#~ msgid "The folder %s specified for %s:%s cannot be used for reading!"
+#~ msgstr ""
+#~ "¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:13
-msgid "Show terminals"
-msgstr "Mostrar terminales"
+#, fuzzy
+#~ msgid "Object info"
+#~ msgstr "Objeto en uso"
 
-#: plugins/personal/posix/paste_generic.tpl:4
-msgid "Posix settings"
-msgstr "Caracteristicas Posix"
+#, fuzzy
+#~ msgid "Acls"
+#~ msgstr "ACL"
 
-#: plugins/personal/posix/main.inc:142
-msgid "POSIX settings"
-msgstr "Parametros POSIX"
+#, fuzzy
+#~ msgid ""
+#~ "The file '%s' specified for '%s:%s' cannot be created neither be used for "
+#~ "writing!"
+#~ msgstr ""
+#~ "¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: plugins/personal/posix/posix_shadow.tpl:9
-msgid "User must change password on first login"
-msgstr "El usuario debe introducir la contraseña en el primer inicio de sesión"
+#, fuzzy
+#~ msgid "The rdn '%s' specified for '%s:%s' is invalid!"
+#~ msgstr "¡'%s' comando para la extensión %s no es válido!"
 
-#: plugins/personal/posix/posix_shadow.tpl:34
-msgid "Password expires on"
-msgstr "La contraseña expira en"
+#, fuzzy
+#~ msgid "The values for 'New password' and 'Repeated new password' differ!"
+#~ msgstr ""
+#~ "No coinciden las contraseñas introducidas como 'Nueva contraseña' y "
+#~ "'Repetir nueva contraseña'."
 
-#: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
-msgid "Password settings"
-msgstr "Parámetros de Contraseña"
+#, fuzzy
+#~ msgid "The password used as new and current are too similar!"
+#~ msgstr ""
+#~ "La contraseña actual y la introducida como nueva son demasiado parecidas."
 
-#: plugins/personal/password/password.tpl:14
 #, fuzzy
-msgid "Your Password has expired. Please choose a new password!"
-msgstr "Su contraseña ha caducado. ¡Por favor seleccione una nueva!"
+#~ msgid "The password used as new is to short!"
+#~ msgstr "La nueva contraseña es demasiado corta."
 
-#: plugins/personal/password/class_password.inc:27
-msgid "Change user password"
-msgstr "Cambiar contraseña de usuario"
+#, fuzzy
+#~ msgid "External password changer reported a problem: %s"
+#~ msgstr ""
+#~ "El programa externo de cambio de contraseña informo de un problema: %s."
 
-#: plugins/personal/password/class_password.inc:129
-msgid "You need to specify your current password in order to proceed."
-msgstr "Necesita introducir su contraseña actual para continuar."
+#, fuzzy
+#~ msgid ""
+#~ "Command %s specified as post modify action for plugin %s does not exist!"
+#~ msgstr ""
+#~ "¡El comando especificado como método %s para la extensión '%s' no existe!"
 
-#: plugins/personal/password/class_password.inc:135
-msgid "The password you've entered as 'New password' is empty."
-msgstr "No se ha asignado ningún valor al campo 'Nueva contraseña'."
+#, fuzzy
+#~ msgid ""
+#~ "Fatal error: no class locations defined - please run '%s' to fix this"
+#~ msgstr ""
+#~ "Error fatal: no se han definido un emplazamiento para las clases - por "
+#~ "favor ejecute '%s' para solucionar esto"
 
-#: plugins/personal/password/class_password.inc:144
-#, php-format
-msgid "External password changer reported a problem: %s."
-msgstr ""
-"El programa externo de cambio de contraseña informo de un problema: %s."
+#, fuzzy
+#~ msgid ""
+#~ "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+#~ msgstr ""
+#~ "Error fatal: no se puede instanciar la clase '%s' - intente solucionarlo "
+#~ "ejecutando '%s'"
 
-#: plugins/personal/password/class_password.inc:158
-msgid ""
-"The password you've entered as your current password doesn't match the real "
-"one."
-msgstr "La contraseña introducida como contraseña actual no es correcta."
+#, fuzzy
+#~ msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#~ msgstr ""
+#~ "FATAL: Ha habido un error conectando a LDAP. El servidor comunicó '%s'."
 
-#: plugins/personal/password/class_password.inc:164
-msgid "You have no permission to change your password."
-msgstr "No tiene permisos para cambiar su contraseña."
+#~ msgid "Username / UID is not unique inside the LDAP tree!"
+#~ msgstr "¡El nombre de usuario / UID no es único dentro del árbol LDAP!"
 
-#: plugins/personal/password/class_password.inc:201
-msgid "User password"
-msgstr "Contraseña del usuario"
+#~ msgid ""
+#~ "Username / UID is not unique inside the LDAP tree. Please contact your "
+#~ "Administrator."
+#~ msgstr ""
+#~ "El nombre de usuario / UID no es único dentro del árbol LDAP. Por favor "
+#~ "contacte con su Administrador."
 
-#: setup/class_setupStep_Feedback.inc:92
-msgid "UNIX accounts/groups"
-msgstr "Cuentas/Grupos UNIX"
+#~ msgid "Error while adding a lock. Contact the developers!"
+#~ msgstr ""
+#~ "Ha ocurrido un problema al añadir un bloqueo. ¡Contacte con los "
+#~ "desarrolladores!"
 
-#: setup/class_setupStep_Feedback.inc:94
-msgid "Samba management"
-msgstr "Administración Samba"
+#~ msgid "LDAP server returned: %s"
+#~ msgstr "El servidor LDAP devolvio: %s"
 
-#: setup/class_setupStep_Feedback.inc:96
-msgid "Mailsystem management"
-msgstr "Administración sistema de correo"
+#~ msgid ""
+#~ "Found multiple locks for object to be locked. This should not happen - "
+#~ "cleaning up multiple references."
+#~ msgstr ""
+#~ "Se han encontrado varios bloqueos para un objeto que iba a ser bloqueado. "
+#~ "Esto no debería ocurrir - limpiando referencias multiples."
 
-#: setup/class_setupStep_Feedback.inc:98
-msgid "FAX system administration"
-msgstr "Administración sistema de FAX"
+#, fuzzy
+#~ msgid "The size limit of %d entries is exceed!"
+#~ msgstr "¡El límite máximo de %d entradas se ha sobrepasado!"
 
-#: setup/class_setupStep_Feedback.inc:100
-msgid "Asterisk administration"
-msgstr "Administración Asterisk"
+#~ msgid ""
+#~ "Set the new size limit to %s and show me this message if the limit still "
+#~ "exceeds"
+#~ msgstr ""
+#~ "Introduzca un nuevo límite máximo a %s y se volvera a mostrar este "
+#~ "mensaje si se supera el límite máximo"
 
-#: setup/class_setupStep_Feedback.inc:102
-msgid "System inventory"
-msgstr "Inventario de sistemas"
+#~ msgid "incomplete"
+#~ msgstr "incompleto"
 
-#: setup/class_setupStep_Feedback.inc:104
-msgid "System-/Configmanagement"
-msgstr "Sistemas-/Administración de Configuraciones"
+#~ msgid "You're going to edit the LDAP entry/entries %s"
+#~ msgstr "Has decidido editar las siguientes entradas LDAP %s"
 
-#: setup/class_setupStep_Feedback.inc:106
-msgid "Addressbook"
-msgstr "Libreta direcciones"
+#~ msgid "Apply filter"
+#~ msgstr "Aplicar filtro"
 
-#: setup/class_setupStep_Feedback.inc:112
-msgid "Feedback"
-msgstr "Sugerencias"
+#~ msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+#~ msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: setup/class_setupStep_Feedback.inc:113
-msgid "Get notifications or send feedback"
-msgstr "Recibir avisos o enviar sugerencias"
+#, fuzzy
+#~ msgid "File '%s' could not be deleted."
+#~ msgstr "El archivo '%s' no puede ser eliminado."
 
-#: setup/class_setupStep_Feedback.inc:114
-msgid "Notification and feedback"
-msgstr "Avisos y sugerencias"
+#, fuzzy
+#~ msgid "Cannot write to revision file!"
+#~ msgstr "¡No se puede escribir en el archivo de revisión!"
 
-#: setup/class_setupStep_Feedback.inc:131 setup/class_setup.inc:77
-msgid "Setup error"
-msgstr "Error de configuración"
+#~ msgid "LDAP warning"
+#~ msgstr "Aviso LDAP"
 
-#: setup/class_setupStep_Feedback.inc:140
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Feedback error"
-msgstr "Error de envio de sugerencias"
+#, fuzzy
+#~ msgid "Cannot get schema information from server. No schema check possible!"
+#~ msgstr ""
+#~ "No puedo obtener información de esquemas del servidor. ¡No es posible "
+#~ "comprobar los esquemas!"
 
-#: setup/class_setupStep_Feedback.inc:140
-#, php-format
-msgid "Cannot send feedback to '%s': %s"
-msgstr "No se puede enviar sugerencia a '%s': %s"
+#~ msgid "Used to store account specific informations."
+#~ msgstr "Usado para guardar información específica de la cuenta."
 
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Cannot send feedback: service temporarily unavailable"
-msgstr ""
-"No se puede envíar su sugerencia. El servicio no se encuentre disponible"
+#, fuzzy
+#~ msgid ""
+#~ "Used to lock currently edited entries to avoid multiple changes at the "
+#~ "same time."
+#~ msgstr ""
+#~ "Usado para bloquear entradas editadas actualmente y así evitar múltiples "
+#~ "cambios simultáneos."
 
-#: setup/class_setupStep_Feedback.inc:181
-msgid "Please specify a valid email address."
-msgstr "Por favor indique una dirección de correo válida."
+#, fuzzy
+#~ msgid "Missing required object class '%s'!"
+#~ msgstr "¡No se ha encontrado la clase de objeto GOsa '%s'!"
 
-#: setup/class_setupStep_Feedback.inc:185
-msgid ""
-"You have to select at least one of both options, subscribe or send feedback."
-msgstr ""
-"Debe seleccionar al menos una opción de ambas, para suscribirse o enviar "
-"sugerencias."
+#, fuzzy
+#~ msgid "Missing optional object class '%s'!"
+#~ msgstr "¡No se ha encontrado la clase de objeto GOsa '%s'!"
 
-#: setup/class_setup.inc:197
-msgid "Completed"
-msgstr "Completado"
+#, fuzzy
+#~ msgid "Version mismatch for required object class '%s' (!=%s)!"
+#~ msgstr ""
+#~ "¡Las versiones de la clase de objeto opcional no coinciden '%s' (!=%s)!"
 
-#: setup/class_setup.inc:267 setup/setup_migrate.tpl:272
-msgid "Next"
-msgstr "Siguiente"
+#, fuzzy
+#~ msgid "Class(es) available"
+#~ msgstr "Clase(s) disponibles"
 
-#: setup/setup_config2.tpl:2
-msgid "Samba settings"
-msgstr "Parametros de samba"
+#~ msgid ""
+#~ "You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
+#~ "schema    configuration do not support this option."
+#~ msgstr ""
+#~ "Ha activado la opción rfc2307bis en el paso 'configuración ldap', pero su "
+#~ "configuración de esquemas no soporta esta opción."
 
-#: setup/setup_config2.tpl:6
-msgid "Samba hash generator"
-msgstr "Generador clave hash de Samba"
+#, fuzzy
+#~ msgid ""
+#~ "In order to use rfc2307bis conform groups the objectClass 'posixGroup' "
+#~ "must be      AUXILIARY"
+#~ msgstr ""
+#~ "Para poder usar grupos conforme a rfc2307bis, el objectClass 'posixGroup' "
+#~ "debe ser AUXILIARY"
 
-#: setup/setup_config2.tpl:15
-msgid "Samba SID"
-msgstr "Samba SID"
+#~ msgid ""
+#~ "Your schema is configured to support the rfc2307bis group, but you have "
+#~ "disabled this option on the 'ldap setup' step."
+#~ msgstr ""
+#~ "Su esquema está configurado para soportar grupos rfc2307bis, pero ha "
+#~ "desactivado esta opción en el paso 'configuración ldap'."
 
-#: setup/setup_config2.tpl:31
-msgid "RID base"
-msgstr "Base RID"
+#, fuzzy
+#~ msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#~ msgstr "El objectClass 'posixGroup' debe ser STRUCTURAL"
 
-#: setup/setup_config2.tpl:46
-msgid "Workstation container"
-msgstr "Contenedor de la estación de trabajo"
+#~ msgid ""
+#~ "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to "
+#~ "exist."
+#~ msgstr ""
+#~ "El comando '%s', utilizado como POSTMODIFY para la extensión '%s', no "
+#~ "parece existir."
 
-#: setup/setup_config2.tpl:61
-msgid "Samba SID mapping"
-msgstr "Mapeando SID de Samba"
+#, fuzzy
+#~ msgid ""
+#~ "Cannot generate samba hash: running '%s' failed, check the "
+#~ "'sambaHashHook'!"
+#~ msgstr ""
+#~ "¡No se puede generar la clave samba: la ejecución de '%s' ha fallado, "
+#~ "compruebe el 'sambaHashHook'!"
 
-#: setup/setup_config2.tpl:71
-msgid "Timezone"
-msgstr "Zona de uso horario"
+#, fuzzy
+#~ msgid "Cannot allocate a free ID:"
+#~ msgstr "No se puede asignar un identificador (ID) libre:"
 
-#: setup/setup_config2.tpl:74
-msgid "Please choose your preferred timezone here"
-msgstr "Por favor introduzca su zona horaria preferida aquí"
+#, fuzzy
+#~ msgid "maximum tries exceeded!"
+#~ msgstr "¡Excedido el número de intentos máximo!"
 
-#: setup/setup_config2.tpl:96
-msgid "Additional GOsa settings"
-msgstr "Configuración avanzada de GOsa"
+#, fuzzy
+#~ msgid "Cannot allocate a free ID!"
+#~ msgstr "¡No se puede asignar un identificador (ID) libre!"
 
-#: setup/setup_config2.tpl:100
-msgid "Enable Copy & Paste"
-msgstr "Activar Copiar y Pegar"
+#, fuzzy
+#~ msgid "Surename"
+#~ msgstr "Apellido"
 
-#: setup/setup_config2.tpl:112
-msgid "Government mode"
-msgstr "Modo gubernamental"
+#~ msgid "External password changer reported a problem: %s."
+#~ msgstr ""
+#~ "El programa externo de cambio de contraseña informo de un problema: %s."
 
-#: setup/setup_config2.tpl:123
-msgid "GOsa logging"
-msgstr "Registro de GOsa"
+#~ msgid "Username"
+#~ msgstr "Nombre de Usuario"
 
-#: setup/setup_config2.tpl:135
-msgid "Mail settings"
-msgstr "Parámetros de correo"
+#~ msgid ""
+#~ "You've successfully changed your password. Remember to change all "
+#~ "programms configured to use it as well."
+#~ msgstr ""
+#~ "Su cambio de contraseña se ha realizado correctamente. Recuerde cambiarla "
+#~ "en todos los programas configurados también."
 
-#: setup/setup_config2.tpl:139
-msgid "Mail method"
-msgstr "Método de correo"
+#~ msgid "Ok"
+#~ msgstr "Ok"
 
-#: setup/setup_config2.tpl:155
-msgid "Account identification attribute"
-msgstr "Modificar atributos existentes"
+#~ msgid "Uid"
+#~ msgstr "Uid"
 
-#: setup/setup_config2.tpl:169
-msgid "Vacation templates"
-msgstr "Plantillas de ausencia"
+#~ msgid "Grant permission to owner"
+#~ msgstr "Garantizar permiso al propietario"
 
-#: setup/setup_config2.tpl:185
-msgid "Use Cyrus UNIX style"
-msgstr "Usa estilo Cyrus UNIX"
+#~ msgid "Password change not allowed"
+#~ msgstr "No se permite modificar la contraseña"
 
-#: setup/setup_config2.tpl:195
-msgid "Snapshots / Undo"
-msgstr "Instantaneas / Deshacer"
+#~ msgid "Preferred langage"
+#~ msgstr "Idioma preferido"
 
-#: setup/setup_config2.tpl:204 setup/setup_config2.tpl:249
-msgid "Enable snapshots"
-msgstr "Activar instantaneas"
+#~ msgid "Posix settings"
+#~ msgstr "Caracteristicas Posix"
 
-#: setup/setup_config2.tpl:210 setup/setup_config2.tpl:255
-msgid "Snapshot base"
-msgstr "Base de instantaneas"
+#~ msgid "You have no permission to set your password!"
+#~ msgstr "¡No tiene permisos para cambiar su contraseña!"
 
-#: setup/setup_frame.tpl:12
-msgid "GOsa setup wizard"
-msgstr "Asistente de configuración de GOsa"
+#~ msgid ""
+#~ "You have changed the method your password is stored in the ldap database. "
+#~ "For that reason you've to enter your password at this point again. GOsa "
+#~ "will then encode it with the selected method."
+#~ msgstr ""
+#~ "Ha cambiado el método en que su clave es guardada en la base de datos "
+#~ "LDAP. Por esa razón tiene que volver a introducir su contraseña de nuevo. "
+#~ "Gosa codificara esta con el nuevo método seleccionado."
 
-#: setup/setup_frame.tpl:19
-msgid "Installation"
-msgstr "Instalación"
+#~ msgid "Posix"
+#~ msgstr "Posix"
 
-#: setup/setup_frame.tpl:19
-msgid "Setup"
-msgstr "Configuración"
+#~ msgid "Edit posix properties"
+#~ msgstr "Editar características posix"
 
-#: setup/setup_migrate.tpl:5
-msgid ""
-"During the LDAP inspection, we're going to check for several common pitfalls "
-"that may occur when migration to GOsa base LDAP administration. You may want "
-"to fix the problems below, in order to provide smooth services."
-msgstr ""
-"Durante la comprobación LDAP, vamos a comprobar algunos problemas comunes "
-"que suelen ocurrir cuando se hace la migración a la base administrativa LDAP "
-"de GOsa. Puede querer arreglar estos problemas aquí, para poder tener una "
-"administración mas fácil."
+#~ msgid "Acl"
+#~ msgstr "ACL"
 
-#: setup/setup_migrate.tpl:33
-msgid "Check again"
-msgstr "Comprobar de nuevo"
+#~ msgid "winstations"
+#~ msgstr "Estación de trabajo Windows"
 
-#: setup/setup_migrate.tpl:37
-msgid "Add required object classes to the LDAP base"
-msgstr "Añadir las clases de objetos necesarias a la base LDAP"
+#~ msgid "Sytem trust"
+#~ msgstr "Sistema de confianza"
 
-#: setup/setup_migrate.tpl:39 setup/setup_migrate.tpl:244
-#: setup/setup_migrate.tpl:344 setup/setup_migrate.tpl:398
-#: setup/setup_migrate.tpl:453 setup/setup_migrate.tpl:496
-#: setup/setup_migrate.tpl:540
-msgid "Current"
-msgstr "Actual"
+#, fuzzy
+#~ msgid "Processing"
+#~ msgstr "Permiso"
 
-#: setup/setup_migrate.tpl:46 setup/setup_migrate.tpl:248
-#: setup/setup_migrate.tpl:351 setup/setup_migrate.tpl:405
-#: setup/setup_migrate.tpl:457 setup/setup_migrate.tpl:500
-#: setup/setup_migrate.tpl:544
-msgid "After migration"
-msgstr "Despues de migrar"
+#, fuzzy
+#~ msgid "Created"
+#~ msgstr "Crear"
 
-#: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:664 setup/class_setupStep_Migrate.inc:806
-#: setup/class_setupStep_Migrate.inc:1035
-#: setup/class_setupStep_Migrate.inc:2133
-#: setup/class_setupStep_Migrate.inc:2576
-#: setup/class_setupStep_Migrate.inc:2730
-#: setup/class_setupStep_Migrate.inc:3060
-msgid "Migrate"
-msgstr "Migrar"
+#, fuzzy
+#~ msgid "No Content"
+#~ msgstr "Contenidos"
 
-#: setup/setup_migrate.tpl:60 setup/setup_migrate.tpl:107
-msgid "Close"
-msgstr "Cerrar"
+#, fuzzy
+#~ msgid "Reset Content"
+#~ msgstr "Contenidos"
 
-#: setup/setup_migrate.tpl:65
-msgid "Move windows workstations into a valid windows workstation department"
-msgstr ""
-"Mover estaciones de trabajo windows a un departamento de estaciones de "
-"trabajo windows válido"
+#, fuzzy
+#~ msgid "Partial Content"
+#~ msgstr "Contenidos"
 
-#: setup/setup_migrate.tpl:67
-msgid ""
-"This dialog allows you to move the displayed windows workstations into a "
-"valid department"
-msgstr ""
-"Este dialogo le permite mover las estaciones de trabajo windows mostradas a "
-"un departamente válido."
+#, fuzzy
+#~ msgid "Multi-Status"
+#~ msgstr "Estado"
 
-#: setup/setup_migrate.tpl:69
-msgid ""
-"Be careful with this tool, there may be references pointing to this "
-"workstations that can't be migrated."
-msgstr ""
-"Tenga cuidado con esta herramienta, puede haber referencias apuntando a "
-"estas estaciones de trabajo que no pueden ser migradas."
+#, fuzzy
+#~ msgid "Multiple Choice"
+#~ msgstr "Edición multiple"
 
-#: setup/setup_migrate.tpl:95
-msgid "Move selected windows workstations into the following GOsa department"
-msgstr ""
-"Mover las estaciones de trabajo windows seleccionadas a el siguiente "
-"departamento GOsa."
+#, fuzzy
+#~ msgid "See Other"
+#~ msgstr "Eliminar usuario"
 
-#: setup/setup_migrate.tpl:100
-msgid "Move selected workstations"
-msgstr "Mover estaciones de trabajo seleccionadas"
+#, fuzzy
+#~ msgid "Not Modified"
+#~ msgstr "No permitido"
 
-#: setup/setup_migrate.tpl:101
-msgid "What will be done here"
-msgstr "Que se hará aquí"
+#, fuzzy
+#~ msgid "Use Proxy"
+#~ msgstr "Proxy"
 
-#: setup/setup_migrate.tpl:113
-msgid "Move groups into configured group tree"
-msgstr "Mover grupos en el árbol de grupos configurado"
+#, fuzzy
+#~ msgid "(reserviert)"
+#~ msgstr "Servidor"
 
-#: setup/setup_migrate.tpl:116
-msgid ""
-"This dialog allows moving a couple of groups to the configured group tree. "
-"Doing this may straighten your LDAP service."
-msgstr ""
-"Este dialogo le permite mover una pareja de grupos al árbol de grupos "
-"configurados. Hacer esto puede reforzar su servicio LDAP."
+#, fuzzy
+#~ msgid "Not Found"
+#~ msgstr "No permitido"
 
-#: setup/setup_migrate.tpl:119
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"groups. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
-msgstr ""
-"¡Tenga cuidado con esta opción! Puede haber referencias apuntando a estos "
-"grupos. La configuración de GOsa no puede migrar referencias, en este caso "
-"puede cancelar la migración."
+#, fuzzy
+#~ msgid "Method Not Allowed"
+#~ msgstr "No permitido"
 
-#: setup/setup_migrate.tpl:122
-msgid "Move selected groups into this group tree"
-msgstr "Mover grupos seleccionados en este árbol de grupos"
+#, fuzzy
+#~ msgid "Proxy Authentication Required"
+#~ msgstr "Error de Autenticación"
 
-#: setup/setup_migrate.tpl:153 setup/setup_migrate.tpl:205
-#: setup/setup_migrate.tpl:254 setup/setup_migrate.tpl:372
-#: setup/setup_migrate.tpl:425 setup/setup_migrate.tpl:469
-#: setup/setup_migrate.tpl:512 setup/setup_migrate.tpl:556
-msgid "Hide changes"
-msgstr "Ocultar cambios"
+#, fuzzy
+#~ msgid "Gone"
+#~ msgstr "ninguno"
 
-#: setup/setup_migrate.tpl:155 setup/setup_migrate.tpl:207
-#: setup/setup_migrate.tpl:237 setup/setup_migrate.tpl:374
-#: setup/setup_migrate.tpl:427 setup/setup_migrate.tpl:472
-#: setup/setup_migrate.tpl:515 setup/setup_migrate.tpl:559
-msgid "Show changes"
-msgstr "Mostrar cambios"
+#, fuzzy
+#~ msgid "Precondition Failed"
+#~ msgstr "Escribir archivo de configuración"
 
-#: setup/setup_migrate.tpl:168
-msgid "Move users into configured user tree"
-msgstr "Mover usuarios al árbol de usuarios configurado"
+#, fuzzy
+#~ msgid "Expectation Failed"
+#~ msgstr "¡La consulta LDAP ha fallado!"
 
-#: setup/setup_migrate.tpl:170
-msgid ""
-"This dialog allows moving a couple of users to the configured user tree. "
-"Doing this may straighten your LDAP service."
-msgstr ""
-"Este dialogo le permite mover una pareja de usuarios al árbol de usuarios "
-"configurados. Hacer esto puede reforzar su servicio LDAP."
+#, fuzzy
+#~ msgid "Locked"
+#~ msgstr "Bloquear usuarios"
 
-#: setup/setup_migrate.tpl:173
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"users. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
-msgstr ""
-"¡Tenga cuidado con esta opción! Puede haber referencias apuntando a estos "
-"usuarios. La configuración de GOsa no puede migrar referencias, por lo que "
-"puede querer cancelar la migración."
+#, fuzzy
+#~ msgid "Unordered Collection"
+#~ msgstr "Parametros de grupos"
 
-#: setup/setup_migrate.tpl:176
-msgid "Move selected users into this people tree"
-msgstr "Mover usuarios seleccionados al árbol de usuarios"
+#, fuzzy
+#~ msgid "Internal Server Error"
+#~ msgstr "error interno"
 
-#: setup/setup_migrate.tpl:219
-msgid "Migrate GOsa 2.5 administrative accounts"
-msgstr "Migrar cuentas administrativas GOsa versión 2.5"
+#, fuzzy
+#~ msgid "Not Implemented"
+#~ msgstr "Completado"
 
-#: setup/setup_migrate.tpl:221
-msgid ""
-"This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
-"useable accounts."
-msgstr ""
-"Este dialogo le permite migrar cuentas administrativas 2.5 a cuentas "
-"utilizables en la versión 2.6"
+#, fuzzy
+#~ msgid "Gateway Time-out"
+#~ msgstr "Tiempo máximo de respuesta de acceso al demonio"
 
-#: setup/setup_migrate.tpl:257 setup/setup_ldap.tpl:65
-msgid "Reload"
-msgstr "Recargar"
+#~ msgid "GOsa settings 3/3"
+#~ msgstr "Configuración GOsa 3/3"
 
-#: setup/setup_migrate.tpl:273
-msgid "Abort"
-msgstr "Cancelar"
+#~ msgid "Tweak some GOsa core behaviour"
+#~ msgstr "Ajustar el comportamiento del núcleo común de GOsa"
 
-#: setup/setup_migrate.tpl:275
-msgid "Create a new GOsa administrator account"
-msgstr "Crear una nueva cuenta administrativa GOsa"
+#~ msgid "Session lifetime must be a numeric value!"
+#~ msgstr "¡El tiempo de vida de sesión debe ser un valor numérico!"
 
-#: setup/setup_migrate.tpl:278
-msgid ""
-"This dialog will automatically add a new super administrator to your LDAP "
-"tree."
-msgstr ""
-"Este dialogo añadirá automáticamente un nuevo superadministrador a su árbol "
-"LDAP."
+#~ msgid "Maximum LDAP query time must be a numeric value!"
+#~ msgstr "¡Máximo tiempo de consulta LDAP debe ser un valor numérico!"
 
-#: setup/setup_migrate.tpl:307
-msgid "Password (again)"
-msgstr "Contraseña (de nuevo)"
+#~ msgid ""
+#~ "This seems to be the first time you start GOsa - we didn't find any "
+#~ "configuration right now. This simple wizard intends to help you while "
+#~ "setting it up."
+#~ msgstr ""
+#~ "Aparentemente es la primera vez que inicia GOsa - No se ha encontrado "
+#~ "ninguna configuración. Este asistente intentara ayudarle mientras se "
+#~ "configura."
 
-#: setup/setup_migrate.tpl:333
-msgid ""
-"The listed departments are currently invisible in the GOsa user interface. "
-"If you want to change this for a couple of entries, select them and use the "
-"migrate button below."
-msgstr ""
-"Actualmente los siguientes departamentos son invisibles en el interfaz de "
-"GOsa. Si quiere modificar esto para algunas de las entradas, seleccionelas y "
-"pulse el botón migrar."
+#~ msgid "What will the wizard do for you?"
+#~ msgstr "¿Que hará este asistente para usted?"
 
-#: setup/setup_migrate.tpl:334 setup/setup_migrate.tpl:389
-#: setup/setup_migrate.tpl:445 setup/setup_migrate.tpl:489
-#: setup/setup_migrate.tpl:533
-msgid ""
-"If you want to know what will be done when migrating the selected entries, "
-"use the 'Show changes' button to see the LDIF."
-msgstr ""
-"Si quiere saber que se hará cuando se migren las entradas seleccionadas use "
-"el botón 'Mostrar cambios' para ver el LDIF."
+#~ msgid "Create a basic, single site configuration"
+#~ msgstr "Creara una configuración básica para un único sitio"
 
-#: setup/setup_migrate.tpl:388
-msgid ""
-"The listed users are currently invisible in the GOsa user interface. If you "
-"want to change this for a couple of users, just select them and use the "
-"'Migrate' button below."
-msgstr ""
-"Actualmente los siguientes usuarios son invisibles en el interfaz de GOsa. "
-"Si quiere modificar esto para algunos de los usuarios, seleccionelos y pulse "
-"el botón migrar."
+#~ msgid "Tries to find problems within your PHP and LDAP setup"
+#~ msgstr "Intentando encontrar problemas en la configuración de LDAP y de PHP"
 
-#: setup/setup_migrate.tpl:444
-msgid ""
-"The listed devices are currently invisible in the GOsa interface. If you "
-"want to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
-msgstr ""
-"Actualmente los siguientes dispositivos son invisibles en el interfaz de "
-"GOsa. Si quiere modificar esto para algunas de los dispositivos "
-"seleccionelos y pulse el botón migrar."
+#~ msgid ""
+#~ "Let you choose from a set of basic and advanced configuration switches"
+#~ msgstr "Le permite seleccionar un juego de opciones básicas o avanzadas"
 
-#: setup/setup_migrate.tpl:488
-msgid ""
-"The listed services are currently invalid for the GOsa version you are going "
-"to install. If you want to update a couple of service, just select them and "
-"use the 'Migrate' button below."
-msgstr ""
-"Actualmente los siguientes servicios son invisibles en el interfaz de GOsa. "
-"Si quiere modificar esto para algunos de los servicios, seleccionelos y "
-"pulse el botón migrar."
+#~ msgid "Guided migration of existing LDAP trees"
+#~ msgstr "Migración guiada de arboles LDAP existentes"
 
-#: setup/setup_migrate.tpl:532
-msgid ""
-"The listed menus are currently invisible in the GOsa interface. If you want "
-"to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
-msgstr ""
-"Actualmente los siguientes menus son invisibles en el interfaz de GOsa. Si "
-"quiere modificar esto para algunas de las entradas, seleccionelas y pulse el "
-"botón migrar."
+#~ msgid "What will the wizard NOT do for you?"
+#~ msgstr "¿Que no hará este asistente por usted?"
 
-#: setup/class_setupStep_Finish.inc:38
-msgid "Write configuration file"
-msgstr "Escribir archivo de configuración"
+#~ msgid "Find every possible configuration error"
+#~ msgstr "Encontrar cada posible error de configuración"
 
-#: setup/class_setupStep_Finish.inc:39
-msgid "Finish - write the configuration file"
-msgstr "Terminar - Escribir el archivo de configuración"
+#~ msgid "Migrate every possible LDAP setup - create backup dumps!"
+#~ msgstr ""
+#~ "Migración asistidas de cualquier configuración LDAP - ¡creando copias de "
+#~ "seguridad!"
 
-#: setup/class_setupStep_Finish.inc:104
-msgid ""
-"Your configuration file is currently world readable. Please update the file "
-"permissions!"
-msgstr ""
-"El fichero de configuración es universalmente legible. ¡Por favor modifique "
-"los permisos del archivo!"
+#~ msgid "To continue..."
+#~ msgstr "Para continuar..."
 
-#: setup/class_setupStep_Finish.inc:106
-msgid "The configuration is currently not readable or it does not exists."
-msgstr "En estos momentos la configuración no es accesible o no existe."
+#~ msgid "Samba settings"
+#~ msgstr "Parametros de samba"
 
-#: setup/class_setupStep_Finish.inc:115
-#, php-format
-msgid ""
-"After downloading and placing the file under %s, please make sure that the "
-"user the webserver is running with is able to read %s, while other users "
-"shouldn't. You may want to execute these commands to achieve this "
-"requirement:"
-msgstr ""
-"Despues de descargar y poner el fichero en %s,  compruebe que el usuario del "
-"servicio web es capaz de leer %s, mientras que los otros usuarios no. Si "
-"quiere puede ejecutar los siguientes comandos para cumplir lo requerido:"
+#~ msgid "Samba hash generator"
+#~ msgstr "Generador clave hash de Samba"
 
-#: setup/class_setupStep_Checks.inc:38 setup/class_setupStep_Checks.inc:39
-msgid "Installation check"
-msgstr "Comprobación de la instalación"
+#~ msgid "Samba SID"
+#~ msgstr "Samba SID"
 
-#: setup/class_setupStep_Checks.inc:40
-msgid "Basic checks for PHP compatibility and extensions"
-msgstr "Comprobación básica de la versión de PHP y las extensiones."
+#~ msgid "RID base"
+#~ msgstr "Base RID"
 
-#: setup/class_setupStep_Checks.inc:64
-msgid "Checking PHP version"
-msgstr "Comprobando la versión de PHP"
+#~ msgid "Workstation container"
+#~ msgstr "Contenedor de la estación de trabajo"
 
-#: setup/class_setupStep_Checks.inc:65
-#, php-format
-msgid "PHP must be of version %s or above."
-msgstr "PHP debe ser versión '%s' o superior."
+#~ msgid "Samba SID mapping"
+#~ msgstr "Mapeando SID de Samba"
 
-#: setup/class_setupStep_Checks.inc:66
-msgid "Please upgrade to a supported version."
-msgstr "Por favor actualize a la versión soportada."
+#~ msgid "Timezone"
+#~ msgstr "Zona de uso horario"
 
-#: setup/class_setupStep_Checks.inc:73
-msgid "GOsa requires this module to talk with your LDAP server."
-msgstr "GOsa necesita este módulo para comunicarse con el servidor LDAP."
+#~ msgid "Please choose your preferred timezone here"
+#~ msgstr "Por favor introduzca su zona horaria preferida aquí"
 
-#: setup/class_setupStep_Checks.inc:81
-msgid "GOsa requires this module for an internationalized interface."
-msgstr "GOsa necesita este módulo para un interfaz internacionalizado."
+#~ msgid "Additional GOsa settings"
+#~ msgstr "Configuración avanzada de GOsa"
 
-#: setup/class_setupStep_Checks.inc:89
-msgid "GOsa requires this module for the samba integration."
-msgstr "GOsa necesita este módulo para integración con samba."
+#~ msgid "Enable Copy & Paste"
+#~ msgstr "Activar Copiar y Pegar"
 
-#: setup/class_setupStep_Checks.inc:97
-#, fuzzy
-msgid ""
-"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
-"encryption."
-msgstr ""
-"GOsa necesita para poder hacer uso del método de codificación SSHA este "
-"módulo."
+#~ msgid "Government mode"
+#~ msgstr "Modo gubernamental"
 
-#: setup/class_setupStep_Checks.inc:105
-msgid "GOsa requires this module to talk to an IMAP server."
-msgstr "GOsa necesita este módulo para comunicarse con servidores IMAP."
+#~ msgid "GOsa logging"
+#~ msgstr "Registro de GOsa"
 
-#: setup/class_setupStep_Checks.inc:112
-msgid "mbstring"
-msgstr "mbstring"
+#~ msgid "Mail settings"
+#~ msgstr "Parámetros de correo"
 
-#: setup/class_setupStep_Checks.inc:113
-msgid "GOsa requires this module to handle unicode strings."
-msgstr "GOsa necesita este módulo para manejar cadenas unicode."
+#~ msgid "Mail method"
+#~ msgstr "Método de correo"
 
-#: setup/class_setupStep_Checks.inc:120
-msgid "MySQL"
-msgstr "MySQL"
+#~ msgid "Account identification attribute"
+#~ msgstr "Modificar atributos existentes"
 
-#: setup/class_setupStep_Checks.inc:121
-msgid ""
-"GOsa requires this module to communicate with several supported databases."
-msgstr ""
-"Gosa necesita este módulo para comunicarse con las bases de datos soportadas."
+#~ msgid "Vacation templates"
+#~ msgstr "Plantillas de ausencia"
 
-#: setup/class_setupStep_Checks.inc:138
-msgid "samba hash generator"
-msgstr "generador de hash de la contraseña SAMBA"
+#~ msgid "Use Cyrus UNIX style"
+#~ msgstr "Usa estilo Cyrus UNIX"
 
-#: setup/class_setupStep_Checks.inc:139
-msgid "GOsa requires this command to synchronize POSIX and samba passwords."
-msgstr "GOsa necesita este comando para sincronizar contraseñas POSIX y samba."
+#~ msgid "Snapshots / Undo"
+#~ msgstr "Instantaneas / Deshacer"
 
-#: setup/class_setupStep_Checks.inc:140
-msgid ""
-"Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
-msgstr ""
-"Desplegar una instalación gosa-si o instale el módulo PERL Crypt::SmbHash."
+#~ msgid "Enable snapshots"
+#~ msgstr "Activar instantaneas"
 
-#: setup/class_setupStep_Checks.inc:153
-msgid "imagick"
-msgstr "imagick"
+#~ msgid "Snapshot base"
+#~ msgstr "Base de instantaneas"
 
-#: setup/class_setupStep_Checks.inc:154
-msgid "GOsa requires this extension to handle images."
-msgstr "GOsa necesita este módulo para manejar imágenes."
+#~ msgid "GOsa settings 2/3"
+#~ msgstr "Configuración GOsa 2/3"
 
-#: setup/class_setupStep_Checks.inc:169
-msgid "compression module"
-msgstr "modulo de compresión"
+#~ msgid "Customize special parameters"
+#~ msgstr "Personalizar parametros especiales"
 
-#: setup/class_setupStep_Checks.inc:170
-msgid "GOsa requires this extension to handle snapshots."
-msgstr "GOsa necesita este módulo para manejar instantaneas."
+#~ msgid "Enable schema validation when logging in"
+#~ msgstr "Activar validación de esquema cuando se registre"
 
-#: setup/class_setupStep_Checks.inc:181
-msgid ""
-"register_globals is a PHP mechanism to register all global variables to be "
-"accessible from scripts without changing the scope. This may be a security "
-"risk."
-msgstr ""
-"registr_globals es un mecanismo de PHP para registrar todas las variables "
-"globales de tal manera que sean accesible desde scripts sin que cambien su "
-"ámbito. Esto puede ser un problema de seguridad."
+#~ msgid "Checking for invisible departments"
+#~ msgstr "Comprobando departamentos invisibles"
 
-#: setup/class_setupStep_Checks.inc:182
-msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
-msgstr "Busque 'register_globals' en su php.ini y modifíquelo por 'Off'."
+#~ msgid "Checking for invisible users"
+#~ msgstr "Comprobando usuarios invisibles"
 
-#: setup/class_setupStep_Checks.inc:190
-msgid "PHP uses this value for the garbage collector to delete old sessions."
-msgstr ""
-"PHP usa este valor en el recolector de basura para eliminar las sesiones "
-"antiguas."
+#~ msgid "Checking for users outside the people tree"
+#~ msgstr "Comprobando cuentas fuera del árbol de usuarios"
 
-#: setup/class_setupStep_Checks.inc:191
-msgid ""
-"Setting this value to one day will prevent loosing session and cookies "
-"before they really timeout."
-msgstr ""
-"Ajustando este valor a un día impedirá la perdida de sesiones y cookies "
-"antes de que realmente se desconecte por tiempo."
+#~ msgid "Checking for groups outside the groups tree"
+#~ msgstr "Comprobando grupos fuera del árbol de grupos"
 
-#: setup/class_setupStep_Checks.inc:192
-msgid ""
-"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
-"higher."
-msgstr ""
-"Busque 'sessio.gc_maxlifetime' en su php.ini y modifíquelo a 86400 o mayor."
+#~ msgid "Checking for windows workstations outside the winstation tree"
+#~ msgstr ""
+#~ "Comprobando estaciones de trabajo windows fuera del árbol de estaciones "
+#~ "de trabajo windows"
 
-#: setup/class_setupStep_Checks.inc:199 setup/class_setupStep_Checks.inc:215
-#: setup/class_setupStep_Checks.inc:231 setup/class_setupStep_Checks.inc:247
-msgid "Off"
-msgstr "Off"
+#~ msgid "Checking for duplicated UID numbers"
+#~ msgstr "Comprobando números UID duplicados"
 
-#: setup/class_setupStep_Checks.inc:200
-msgid ""
-"In Order to use GOsa without any trouble, the session.auto_register option "
-"in your php.ini should be set to 'Off'."
-msgstr ""
-"Si quiere usar GOsa sin problemas, debe modificar a 'Off' la opción 'session."
-"auto_register' en su php.ini."
+#~ msgid "Checking for duplicate GID numbers"
+#~ msgstr "Comprobando números GID duplicados"
 
-#: setup/class_setupStep_Checks.inc:201
-msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
-msgstr "Busque 'session.auto_start' en su php.ini y modifíquelo a 'Off'."
+#~ msgid "Checking for old style USB devices"
+#~ msgstr "Comprobando dispositivos por método antiguo"
 
-#: setup/class_setupStep_Checks.inc:208
-msgid ""
-"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
-"errors that are not reproducable! Increase it for larger setups."
-msgstr ""
-"GOsa necesita al menos 32Mb de memoria. Teniéndola por debajo de ese limite "
-"provocara errores inesperados. Aumentar para configuraciones mayores."
+#~ msgid "Checking for old services that have to be migrated"
+#~ msgstr "Comprobando servicios antiguos que deben ser migrados"
 
-#: setup/class_setupStep_Checks.inc:209
-msgid ""
-"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
-msgstr "Busque 'memory_limit' en su php.ini y modifíquelo a '32M' o mayor."
+#~ msgid "Checking for old style application menus"
+#~ msgstr "Comprobando por menús con estilo antiguo"
 
-#: setup/class_setupStep_Checks.inc:216
-msgid ""
-"This option influences the PHP output handling. Turn this Option off, to "
-"increase performance."
-msgstr ""
-"Esta opción está relacionada con el manejo de salida de PHP. Desactive esta "
-"opción poniéndola en off para mejorar el rendimiento."
+#~ msgid "Found %s duplicate values for attribute 'uidNumber'."
+#~ msgstr "Encontrado '%s' valores duplicados del atributo 'uidNumber'."
 
-#: setup/class_setupStep_Checks.inc:217
-msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
-msgstr "Busque 'implicit_flush' en su php.ini y modifíquelo a 'Off'."
+#~ msgid "Found %s duplicate values for attribute 'gidNumber'."
+#~ msgstr "Encontrado '%s' valores duplicados del atributo 'gidNumber'."
 
-#: setup/class_setupStep_Checks.inc:224
-msgid "The Execution time should be at least 30 seconds."
-msgstr "El tiempo de ejecución debe ser de al menos 30 segundos."
+#~ msgid ""
+#~ "Found %s winstations outside the predefined winstation department ou '%s'."
+#~ msgstr ""
+#~ "Se encontraron '%s' estaciones de trabajo windows fuera del contenedor ou "
+#~ "de estaciones de trabajo windows '%s'"
 
-#: setup/class_setupStep_Checks.inc:225
-msgid ""
-"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
-msgstr ""
-"Busque 'max_execution_time' en su php.ini y modifíquelo a '30' o mayor."
+#~ msgid "Move"
+#~ msgstr "Mover"
 
-#: setup/class_setupStep_Checks.inc:232
-msgid ""
-"Increase the server security by setting expose_php to 'off'. PHP won't send "
-"any information about the server you are running in this case."
-msgstr ""
-"Aumente la seguridad del servidor modificando el parámetro 'expose_php' a "
-"'off'. PHP no debería enviar ningún tipo de información sobre el servidor "
-"que esta ejecutando la aplicación."
+#~ msgid "Found %s user(s) outside the configured tree '%s'."
+#~ msgstr "Encontrados '%s' usuario(s) fuera del árbol configurado '%s'."
 
-#: setup/class_setupStep_Checks.inc:233
-msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
-msgstr "Busque 'expose_php' en su php.ini y modifíquelo a 'Off'."
+#~ msgid "Found %s user(s) that will not be visible in GOsa."
+#~ msgstr "Encontrados %s usuario(s) que nos son visibles para GOsa."
 
-#: setup/class_setupStep_Checks.inc:239
-msgid "On"
-msgstr "On"
+#~ msgid "Cannot migrate department '%s':"
+#~ msgstr "No puede migrar el departamento '%s':"
 
-#: setup/class_setupStep_Checks.inc:240
-msgid ""
-"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
-"escape all quotes in strings in this case."
-msgstr ""
-"Aumente la seguridad del servidor modificando el parámetro 'magic_quotes_gpc "
-"' a 'on'. PHP debería escapar todas las comillas de las cadenas en este caso."
+#~ msgid "Found %s department(s) that will not be visible in GOsa."
+#~ msgstr "Encontrados %s departamento(s) que nos son visibles para GOsa."
 
-#: setup/class_setupStep_Checks.inc:241
-msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
-msgstr "Busque 'magic_quotes_gpc' en su php.ini y modifíquelo a 'On'."
+#~ msgid "GOsa 2.5 administrative accounts found: %s"
+#~ msgstr "Encontrada cuenta administrativa GOsa 2.5: %s"
 
-#: setup/class_setupStep_Checks.inc:248
-msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
-msgstr ""
-"Aumente el rendimiento de su servidor modificando 'magic_quotes_gpc' a 'off'"
+#~ msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
+#~ msgstr "No hay cuenta de administrador GOsa 2.6 en la base de datos LDAP."
 
-#: setup/class_setupStep_Checks.inc:249
-msgid ""
-"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
-msgstr ""
-"Busque 'zend.ze1_compatibility_mode' en su php.ini y modifíquelo a 'Off'."
+#~ msgid "Cannot move users to the requested department!"
+#~ msgstr "¡No puedo mover los usuarios al departamento especificado!"
 
-#: setup/class_setupStep_Checks.inc:259
-msgid "Configuration writeable"
-msgstr "Se puede escribir en la configuración"
+#~ msgid "to"
+#~ msgstr "a"
 
-#: setup/class_setupStep_Checks.inc:260
-msgid "The configuration file can't be written"
-msgstr "No se puede escribir en la configuración"
+#~ msgid "Updating following references too"
+#~ msgstr "También se actualizaran las siguientes referencias"
 
-#: setup/class_setupStep_Checks.inc:261
-#, php-format
-msgid ""
-"GOsa reads its configuration from a file located in (%s/%s). The setup can "
-"write the configuration directly if it is writeable."
-msgstr ""
-"GOsa lee la configuración desde un archivo colocado en (%s/%s). El asistente "
-"puede escribir la configuración directamente si tiene permisos de escritura."
+#~ msgid "User will be moved from"
+#~ msgstr "El usuario serán trasladado desde"
 
-#: setup/setup_config3.tpl:2
-msgid "GOsa core settings"
-msgstr "Configuración común de GOsa"
+#~ msgid "Copy '%s' to '%s' failed:"
+#~ msgstr "Copia fallida de '%s' a '%s':"
 
-#: setup/setup_config3.tpl:6
-msgid "Enable primary group filter"
-msgstr "Activar filtro de grupo primario"
+#~ msgid "There are %s devices that need to be migrated."
+#~ msgstr "Hay %s dispositivos que necesitan ser migrados."
 
-#: setup/setup_config3.tpl:18
-msgid "Display summary in listings"
-msgstr "Mostrar resumen en listados"
+#~ msgid "Adding '%s' to the LDAP failed: %s"
+#~ msgstr "Añadiendo '%s' a LDAP ha fallado: %s"
 
-#: setup/setup_config3.tpl:30
-msgid "Honour administrative units"
-msgstr "Delegar en unidades administrativas"
+#~ msgid "Updating '%s' failed: %s"
+#~ msgstr "Actualizando '%s' ha fallado: %s"
 
-#: setup/setup_config3.tpl:42
-msgid "Smarty compile directory"
-msgstr "Directorio de compilación Smarty"
+#~ msgid "There are %s services that need to be migrated."
+#~ msgstr "Hay %s serviccios que necesitan ser migrados."
 
-#: setup/setup_config3.tpl:51
-msgid "SNMP community"
-msgstr "Comunidad SNMP"
+#~ msgid "There are %s application menus which have to be migrated."
+#~ msgstr "Hay %s menu de aplicaciones que necesitan ser migrados."
 
-#: setup/setup_config3.tpl:60
-msgid "Path for PPD storage"
-msgstr "Ruta del almacén PPD"
+#~ msgid "Look and feel"
+#~ msgstr "Temas y apariencia"
 
-#: setup/setup_config3.tpl:77
-msgid "Path for kiosk profile storage"
-msgstr "Ruta del almacén de perfiles kiosk"
+#~ msgid "Theme"
+#~ msgstr "Tema"
 
-#: setup/setup_config3.tpl:96
-msgid "SUDO role base"
-msgstr "Rol Base SUDO"
+#~ msgid "Apache"
+#~ msgstr "Apache"
 
-#: setup/setup_config3.tpl:115
-msgid "Mail queue script"
-msgstr "Script de cola de correo"
+#~ msgid "Compress output send to browser"
+#~ msgstr "Salida de compresión enviada al navegador"
 
-#: setup/setup_config3.tpl:134
-msgid "Notification script"
-msgstr "Script de notificación"
+#~ msgid "People and group storage"
+#~ msgstr "Almacén de grupos y usuarios"
 
-#: setup/setup_config3.tpl:153
-msgid "Enable edit locking"
-msgstr "Activar edición de bloqueo"
+#~ msgid "People DN attribute"
+#~ msgstr "Atributo 'dn' de los usuarios"
 
-#: setup/setup_config3.tpl:174
-msgid "Gosa support daemon"
-msgstr "Demonio de soporte GOsa"
+#~ msgid "People storage subtree"
+#~ msgstr "Subárbol de almacenamiento para los usuarios"
 
-#: setup/setup_config3.tpl:193
-msgid "Daemon timeout"
-msgstr "Tiempo máximo de respuesta de acceso al demonio"
+#~ msgid "Group storage subtree"
+#~ msgstr "Subárbol de almacenamiento para los grupos"
 
-#: setup/setup_config3.tpl:207
-msgid "Login and session"
-msgstr "Inicio y sesión"
+#~ msgid "Include personal title in user DN"
+#~ msgstr "Incluir el título personal en el DN de usuario"
 
-#: setup/setup_config3.tpl:210
-msgid "Login attribute"
-msgstr "Atributo de inicio de sesión"
+#~ msgid "Relaxed naming policies"
+#~ msgstr "Reglas no estrictas de nombres"
 
-#: setup/setup_config3.tpl:221
-msgid "Enforce register_globals to be deactivated"
-msgstr "Forzar register_globals para que sea desactivado"
+#~ msgid "Automatic UIDs"
+#~ msgstr "UIDs Automaticas"
 
-#: setup/setup_config3.tpl:233
-msgid "Enforce encrypted connections"
-msgstr "Forzar conexiones seguras"
+#~ msgid "GID / UID min id"
+#~ msgstr "GID / UID min id"
 
-#: setup/setup_config3.tpl:245
-msgid "Warn if session is not encrypted"
-msgstr "Avisar si la sesión no esta codificada"
+#~ msgid "Number base for people/groups"
+#~ msgstr "Número base para usuarios y grupos"
 
-#: setup/setup_config3.tpl:257
-msgid "Remember dialog filter settings"
-msgstr "Recordad los parámetros de filtro de los diálogos"
+#~ msgid "Hook for number base"
+#~ msgstr "Método para el número base"
 
-#: setup/setup_config3.tpl:269
-msgid "Session lifetime"
-msgstr "Duración de sesiones."
+#~ msgid "Password settings"
+#~ msgstr "Parámetros de Contraseña"
 
-#: setup/setup_config3.tpl:278
-msgid "Debugging"
-msgstr "Depurando"
+#~ msgid "Password encryption algorithm"
+#~ msgstr "Algoritmo de codificación de contraseña"
 
-#: setup/setup_config3.tpl:282
-msgid "Show PHP errors"
-msgstr "Mostrar errores PHP:"
+#~ msgid "Password restrictions"
+#~ msgstr "Restricciones de contraseña"
 
-#: setup/setup_config3.tpl:294
-msgid "Maximum LDAP query time"
-msgstr "Tiempo de consulta máxima de LDAP"
+#~ msgid "Password minimum length"
+#~ msgstr "Longitud mínima de la contraseña"
 
-#: setup/setup_config3.tpl:312
-msgid "Log LDAP statistics"
-msgstr "Registrar estadísticas LDAP"
+#~ msgid "Different characters from old password"
+#~ msgstr "Caracteres diferentes de la contraseña anterior"
 
-#: setup/setup_config3.tpl:324
-msgid "Debug level"
-msgstr "Nivel de depuración"
+#~ msgid "Password change hook"
+#~ msgstr "Método de cambio de contraseña"
 
-#: setup/setup_config3.tpl:329 setup/setup_config3.tpl:332
-msgid "Disabled"
-msgstr "Desactivado"
+#~ msgid "Use SASL for kerberos"
+#~ msgstr "Usar SASL para kerberos"
 
-#: setup/setup_config3.tpl:330 setup/setup_config3.tpl:333
-msgid "Enabled"
-msgstr "Activado"
+#~ msgid "Use account expiration"
+#~ msgstr "Usar caducidad de cuenta"
 
-#: setup/setup_feedback.tpl:5
-msgid "Feedback sucessfully send"
-msgstr "Sugerencia enviada correctamente"
+#~ msgid ""
+#~ "GOsa supports several encryption types for your passwords. Normally this "
+#~ "is adjustable via user templates, but you can specify a default method to "
+#~ "be used here, too."
+#~ msgstr ""
+#~ "Gosa soporta varios tipos diferentes de codificación para las "
+#~ "contraseñas. Normalmente esto es seleccionable a través de las plantillas "
+#~ "de usuario, pero también se puede introducir un método que sera usado por "
+#~ "defecto."
 
-#: setup/setup_feedback.tpl:15
-msgid "Subscribe to the gosa-announce mailinglist"
-msgstr "Suscribirse a la lista de correo gosa-announce"
+#~ msgid ""
+#~ "GOsa always acts as admin and manages access rights internally. This is a "
+#~ "workaround till OpenLDAP's in directory ACI's are    fully implemented. "
+#~ "For this to work, we need the admin DN and the corresponding password."
+#~ msgstr ""
+#~ "GOsa siempre actúa en modo administrador y gestiona los permisos de "
+#~ "acceso internamente. Esto es una solución temporal hasta que las ACI "
+#~ "(Access control information) estén completamente implementadas en "
+#~ "OPENLDAP.  Para que esto funcione, necesitamos el DN del administrador y "
+#~ "la contraseña correspondiente."
 
-#: setup/setup_feedback.tpl:18
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to subscribe you to the gosa-announce mailing list. You've to confirm "
-"this by mail."
-msgstr ""
-"Cuando seleccione esta opción, Gosa intentara conectar a http://oss.gonicus."
-"de para suscribirle a la lista de correo de gosa-announce. Tendrá que "
-"confirmar esto por correo electrónico."
+#~ msgid ""
+#~ "Some basic LDAP parameters are tunable and affect the locations where "
+#~ "GOsa saves people and groups, including the way accounts get created. "
+#~ "Check the values below if the fit your needs."
+#~ msgstr ""
+#~ "Algunos parámetros básicos de LDAP son modificables y afectarán las "
+#~ "ubicaciones donde GOSa guarda los usuarios y los grupos, incluyendo la "
+#~ "manera en que las cuentas son creadas. Compruebe los valores a "
+#~ "continuación se ajustan a sus necesidades."
 
-#: setup/setup_feedback.tpl:39
-msgid "Mail address"
-msgstr "Dirección correo electrónico"
+#~ msgid ""
+#~ "GOsa has modular support for several mail methods. These methods provide "
+#~ "interfaces to users mailboxes and general handling    for quotas. You can "
+#~ "choose the dummy plugin to leave all your mail settings untouched."
+#~ msgstr ""
+#~ "Gosa tiene un soporte modular para diferentes métodos de correo "
+#~ "electrónico. Estos son herramientas de control de la cuentas de correo y "
+#~ "control de cuotas. Puede elegir el método 'dummy' para dejar su "
+#~ "configuración de correo limpia."
 
-#: setup/setup_feedback.tpl:50
-msgid "Send feedback to the GOsa project team"
-msgstr "Enviar comentarios al equipo del proyecto GOsa"
+#~ msgid "Enable primary group filter"
+#~ msgstr "Activar filtro de grupo primario"
 
-#: setup/setup_feedback.tpl:53
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to submit your form anonymously."
-msgstr ""
-"Cuando seleccione esta opción, Gosa intentara conectar a http://oss.gonicus."
-"de para enviar el formulario de comentarios de forma anónima."
+#~ msgid "Display summary in listings"
+#~ msgstr "Mostrar resumen en listados"
 
-#: setup/setup_feedback.tpl:59
-msgid "Did the setup procedure help you to get started?"
-msgstr "¿El procedimiento de configuración le ha ayudado?"
+#~ msgid "Honour administrative units"
+#~ msgstr "Delegar en unidades administrativas"
 
-#: setup/setup_feedback.tpl:62 setup/setup_feedback.tpl:80
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "Yes"
-msgstr "Si"
+#~ msgid "SNMP community"
+#~ msgstr "Comunidad SNMP"
 
-#: setup/setup_feedback.tpl:64 setup/setup_feedback.tpl:82
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "No"
-msgstr "No"
+#~ msgid "Path for PPD storage"
+#~ msgstr "Ruta del almacén PPD"
 
-#: setup/setup_feedback.tpl:69
-msgid "If not, what problems did you encounter"
-msgstr "Si no, que problemas ha encontrado"
+#~ msgid "SUDO role base"
+#~ msgstr "Rol Base SUDO"
 
-#: setup/setup_feedback.tpl:77
-msgid "Is this the first time you use GOsa?"
-msgstr "¿Es la primera vez que usa GOsa?"
+#~ msgid "Mail queue script"
+#~ msgstr "Script de cola de correo"
 
-#: setup/setup_feedback.tpl:83
-msgid "I use it since"
-msgstr "Lo uso desde"
+#~ msgid "Enable edit locking"
+#~ msgstr "Activar edición de bloqueo"
 
-#: setup/setup_feedback.tpl:84
-msgid "Select the year since when you are using GOsa"
-msgstr "Seleccione el año desde el cual ha estado usando GOsa"
+#~ msgid "Gosa support daemon"
+#~ msgstr "Demonio de soporte GOsa"
 
-#: setup/setup_feedback.tpl:91
-msgid "What operating system / distribution do you use?"
-msgstr "¿Que sistema operativo / distribución usa?"
+#~ msgid "Login and session"
+#~ msgstr "Inicio y sesión"
 
-#: setup/setup_feedback.tpl:99
-msgid "What web server do you use?"
-msgstr "¿Que servidor web usa?"
+#~ msgid "Enforce register_globals to be deactivated"
+#~ msgstr "Forzar register_globals para que sea desactivado"
 
-#: setup/setup_feedback.tpl:107
-msgid "What PHP version do you use?"
-msgstr "¿Que versión de PHP usa?"
+#~ msgid "Warn if session is not encrypted"
+#~ msgstr "Avisar si la sesión no esta codificada"
 
-#: setup/setup_feedback.tpl:115
-#, fuzzy
-msgid "GOsa version"
-msgstr "Configuración genérica de GOsa"
+#~ msgid "Remember dialog filter settings"
+#~ msgstr "Recordad los parámetros de filtro de los diálogos"
 
-#: setup/setup_feedback.tpl:123
-msgid "LDAP"
-msgstr "LDAP"
+#~ msgid "Session lifetime"
+#~ msgstr "Duración de sesiones."
 
-#: setup/setup_feedback.tpl:127
-msgid "What kind of LDAP server(s) do you use?"
-msgstr "¿Que tipo de servidor(es) LDAP usa?"
+#~ msgid "Debugging"
+#~ msgstr "Depurando"
 
-#: setup/setup_feedback.tpl:133
-msgid "How many objects are in your LDAP?"
-msgstr "¿Cuantos objetos tiene en su servidor LDAP?"
+#~ msgid "Show PHP errors"
+#~ msgstr "Mostrar errores PHP:"
 
-#: setup/setup_feedback.tpl:140
-msgid "Features"
-msgstr "Características"
+#~ msgid "Maximum LDAP query time"
+#~ msgstr "Tiempo de consulta máxima de LDAP"
 
-#: setup/setup_feedback.tpl:143
-msgid "What features of GOsa do you use?"
-msgstr "¿Que características de GOsa usa?"
+#~ msgid "Debug level"
+#~ msgstr "Nivel de depuración"
 
-#: setup/setup_feedback.tpl:153
-msgid "What features do you want to see in future versions of GOsa?"
-msgstr "¿Que características le gustaría ver en versiones futuras de GOsa?."
+#~ msgid "Disabled"
+#~ msgstr "Desactivado"
 
-#: setup/setup_feedback.tpl:160
-msgid "Send feedback"
-msgstr "Enviar Comentario"
+#~ msgid ""
+#~ "Move windows workstations into a valid windows workstation department"
+#~ msgstr ""
+#~ "Mover estaciones de trabajo windows a un departamento de estaciones de "
+#~ "trabajo windows válido"
 
-#: setup/setup_finish.tpl:3
-msgid "Create your configuration file"
-msgstr "Crear su fichero de configuración"
+#~ msgid ""
+#~ "This dialog allows you to move the displayed windows workstations into a "
+#~ "valid department"
+#~ msgstr ""
+#~ "Este dialogo le permite mover las estaciones de trabajo windows mostradas "
+#~ "a un departamente válido."
 
-#: setup/setup_finish.tpl:10
-msgid "Depending on the user name your webserver is running on:"
-msgstr ""
-"Dependiendo del nombre de usuario sobre el que esta corriendo el servidor "
-"web:"
+#~ msgid ""
+#~ "Be careful with this tool, there may be references pointing to this "
+#~ "workstations that can't be migrated."
+#~ msgstr ""
+#~ "Tenga cuidado con esta herramienta, puede haber referencias apuntando a "
+#~ "estas estaciones de trabajo que no pueden ser migradas."
 
-#: setup/setup_finish.tpl:28
-msgid "Download configuration"
-msgstr "Descargar configuración"
+#~ msgid ""
+#~ "Move selected windows workstations into the following GOsa department"
+#~ msgstr ""
+#~ "Mover las estaciones de trabajo windows seleccionadas a el siguiente "
+#~ "departamento GOsa."
 
-#: setup/setup_finish.tpl:33
-msgid "Status: "
-msgstr "Estado: "
+#~ msgid "Move selected workstations"
+#~ msgstr "Mover estaciones de trabajo seleccionadas"
 
-#: setup/class_setupStep_Ldap.inc:53
-msgid "LDAP setup"
-msgstr "Configuración LDAP"
+#~ msgid "What will be done here"
+#~ msgstr "Que se hará aquí"
 
-#: setup/class_setupStep_Ldap.inc:54
-msgid "LDAP connection setup"
-msgstr "Conectividad LDAP"
+#~ msgid "Move groups into configured group tree"
+#~ msgstr "Mover grupos en el árbol de grupos configurado"
 
-#: setup/class_setupStep_Ldap.inc:55
-msgid ""
-"This dialog performs the basic configuration of the LDAP connectivity for "
-"GOsa."
-msgstr ""
-"Este asistente llevara a cabo la configuración de la conectividad entre GOsa "
-"y LDAP."
+#~ msgid ""
+#~ "This dialog allows moving a couple of groups to the configured group "
+#~ "tree. Doing this may straighten your LDAP service."
+#~ msgstr ""
+#~ "Este dialogo le permite mover una pareja de grupos al árbol de grupos "
+#~ "configurados. Hacer esto puede reforzar su servicio LDAP."
 
-#: setup/class_setupStep_Ldap.inc:112
-#, php-format
-msgid "Anonymous bind to server '%s' failed!"
-msgstr "¡La conexión anónima al servidor '%s' ha fallado!"
+#~ msgid ""
+#~ "Be careful with this option! There may be references pointing to these "
+#~ "groups. The GOsa setup can't migrate references, so you may want to "
+#~ "cancel the migration in this case."
+#~ msgstr ""
+#~ "¡Tenga cuidado con esta opción! Puede haber referencias apuntando a estos "
+#~ "grupos. La configuración de GOsa no puede migrar referencias, en este "
+#~ "caso puede cancelar la migración."
 
-#: setup/class_setupStep_Ldap.inc:114
-#, php-format
-msgid "Bind as user '%s' failed!"
-msgstr "¡La conexión como usuario '%s' ha fallado!"
+#~ msgid "Move selected groups into this group tree"
+#~ msgstr "Mover grupos seleccionados en este árbol de grupos"
 
-#: setup/class_setupStep_Ldap.inc:119
-#, php-format
-msgid "Anonymous bind to server '%s' succeeded."
-msgstr "La conexión anónima al servidor '%s' ha tenido exito."
+#~ msgid "Hide changes"
+#~ msgstr "Ocultar cambios"
 
-#: setup/class_setupStep_Ldap.inc:120
-msgid "Please specify user and password!"
-msgstr "¡Por Favor especifique un usuario y contraseña!"
+#~ msgid "Show changes"
+#~ msgstr "Mostrar cambios"
 
-#: setup/class_setupStep_Ldap.inc:122
-#, php-format
-msgid "Bind as user '%s' to server '%s' succeeded!"
-msgstr "¡La conexión como usuario '%s' al servidor '%s' ha tenido exito!"
+#~ msgid "Move users into configured user tree"
+#~ msgstr "Mover usuarios al árbol de usuarios configurado"
 
-#: setup/setup_ldap.tpl:7
-msgid "Please choose the LDAP user to be used by GOsa"
-msgstr "."
+#~ msgid ""
+#~ "This dialog allows moving a couple of users to the configured user tree. "
+#~ "Doing this may straighten your LDAP service."
+#~ msgstr ""
+#~ "Este dialogo le permite mover una pareja de usuarios al árbol de usuarios "
+#~ "configurados. Hacer esto puede reforzar su servicio LDAP."
 
-#: setup/setup_ldap.tpl:25
-msgid "LDAP connection"
-msgstr "Conexión LDAP"
+#~ msgid ""
+#~ "Be careful with this option! There may be references pointing to these "
+#~ "users. The GOsa setup can't migrate references, so you may want to cancel "
+#~ "the migration in this case."
+#~ msgstr ""
+#~ "¡Tenga cuidado con esta opción! Puede haber referencias apuntando a estos "
+#~ "usuarios. La configuración de GOsa no puede migrar referencias, por lo "
+#~ "que puede querer cancelar la migración."
 
-#: setup/setup_ldap.tpl:29
-msgid "Location name"
-msgstr "Nombre de la localización"
+#~ msgid "Move selected users into this people tree"
+#~ msgstr "Mover usuarios seleccionados al árbol de usuarios"
 
-#: setup/setup_ldap.tpl:37
-msgid "Connection URI"
-msgstr "URI de conexión"
+#~ msgid "Migrate GOsa 2.5 administrative accounts"
+#~ msgstr "Migrar cuentas administrativas GOsa versión 2.5"
 
-#: setup/setup_ldap.tpl:45
-msgid "TLS connection"
-msgstr "Conexión TLS"
+#~ msgid ""
+#~ "This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
+#~ "useable accounts."
+#~ msgstr ""
+#~ "Este dialogo le permite migrar cuentas administrativas 2.5 a cuentas "
+#~ "utilizables en la versión 2.6"
 
-#: setup/setup_ldap.tpl:69
-msgid "Authentication"
-msgstr "Autenticación"
+#~ msgid "Abort"
+#~ msgstr "Cancelar"
 
-#: setup/setup_ldap.tpl:73
-msgid "Admin DN"
-msgstr "DN del administrador"
+#~ msgid ""
+#~ "The listed departments are currently invisible in the GOsa user "
+#~ "interface. If you want to change this for a couple of entries, select "
+#~ "them and use the migrate button below."
+#~ msgstr ""
+#~ "Actualmente los siguientes departamentos son invisibles en el interfaz de "
+#~ "GOsa. Si quiere modificar esto para algunas de las entradas, "
+#~ "seleccionelas y pulse el botón migrar."
 
-#: setup/setup_ldap.tpl:86
-msgid "Automatically append LDAP base to admin DN"
-msgstr "Añadir automáticamente la base LDAP al DN administrador"
+#~ msgid ""
+#~ "If you want to know what will be done when migrating the selected "
+#~ "entries, use the 'Show changes' button to see the LDIF."
+#~ msgstr ""
+#~ "Si quiere saber que se hará cuando se migren las entradas seleccionadas "
+#~ "use el botón 'Mostrar cambios' para ver el LDIF."
 
-#: setup/setup_ldap.tpl:93
-msgid "Admin password"
-msgstr "Contraseña de administrador"
+#~ msgid ""
+#~ "The listed users are currently invisible in the GOsa user interface. If "
+#~ "you want to change this for a couple of users, just select them and use "
+#~ "the 'Migrate' button below."
+#~ msgstr ""
+#~ "Actualmente los siguientes usuarios son invisibles en el interfaz de "
+#~ "GOsa. Si quiere modificar esto para algunos de los usuarios, "
+#~ "seleccionelos y pulse el botón migrar."
 
-#: setup/setup_ldap.tpl:101
-msgid "Schema based settings"
-msgstr "Configuración basada en el esquema"
+#~ msgid ""
+#~ "The listed devices are currently invisible in the GOsa interface. If you "
+#~ "want to change this for a couple of devices, just select them and use the "
+#~ "'Migrate' button below."
+#~ msgstr ""
+#~ "Actualmente los siguientes dispositivos son invisibles en el interfaz de "
+#~ "GOsa. Si quiere modificar esto para algunas de los dispositivos "
+#~ "seleccionelos y pulse el botón migrar."
 
-#: setup/setup_ldap.tpl:105
-msgid "Use rfc2307bis compliant groups"
-msgstr "Usar grupos conformes a rfc2307bis"
+#~ msgid "Refresh"
+#~ msgstr "Refresco"
 
-#: setup/setup_ldap.tpl:117
-msgid "Current status"
-msgstr "Estado actual"
+#~ msgid ""
+#~ "The listed services are currently invalid for the GOsa version you are "
+#~ "going to install. If you want to update a couple of service, just select "
+#~ "them and use the 'Migrate' button below."
+#~ msgstr ""
+#~ "Actualmente los siguientes servicios son invisibles en el interfaz de "
+#~ "GOsa. Si quiere modificar esto para algunos de los servicios, "
+#~ "seleccionelos y pulse el botón migrar."
 
-#: setup/class_setupStep_Migrate.inc:127 setup/class_setupStep_Migrate.inc:128
-msgid "LDAP inspection"
-msgstr "Inspección LDAP"
+#~ msgid ""
+#~ "The listed menus are currently invisible in the GOsa interface. If you "
+#~ "want to change this for a couple of devices, just select them and use the "
+#~ "'Migrate' button below."
+#~ msgstr ""
+#~ "Actualmente los siguientes menus son invisibles en el interfaz de GOsa. "
+#~ "Si quiere modificar esto para algunas de las entradas, seleccionelas y "
+#~ "pulse el botón migrar."
 
-#: setup/class_setupStep_Migrate.inc:129
-msgid "Analyze your current LDAP for GOsa compatibility"
-msgstr "Analice la compatibilidad con GOsa de su directorio LDAP"
+#~ msgid "Installation"
+#~ msgstr "Instalación"
 
-#: setup/class_setupStep_Migrate.inc:135
-msgid "Checking for root object"
-msgstr "Comprobando objeto raíz"
+#~ msgid "GOsa settings 1/3"
+#~ msgstr "Configuración GOsa 1/3"
 
-#: setup/class_setupStep_Migrate.inc:141
-msgid "Inspecting object classes in root object"
-msgstr "Analizando objetos en la entrada raíz"
+#~ msgid "The specified value for '%s' must be a numeric value"
+#~ msgstr "El valor especificado para '%s' debe ser una valor numérico"
 
-#: setup/class_setupStep_Migrate.inc:147
-msgid "Checking permission for LDAP database"
-msgstr "Comprobando permisos en la base de datos LDAP"
+#~ msgid "Don't add a trailing comma to '%s'."
+#~ msgstr "No añada una coma final a '%s'"
 
-#: setup/class_setupStep_Migrate.inc:153
-msgid "Checking for invisible departments"
-msgstr "Comprobando departamentos invisibles"
+#~ msgid "People storage ou"
+#~ msgstr "OU de almacenamiento de Usuarios"
 
-#: setup/class_setupStep_Migrate.inc:158
-msgid "Checking for invisible users"
-msgstr "Comprobando usuarios invisibles"
+#~ msgid "Group storage ou"
+#~ msgstr "OU de almacenamiento de Grupos"
 
-#: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3211
-msgid "Checking for super administrator"
-msgstr "Comprobando súper administrador"
+#~ msgid "Uid base must be numeric"
+#~ msgstr "El Uid base debe ser un valor numérico"
 
-#: setup/class_setupStep_Migrate.inc:171
-msgid "Checking for users outside the people tree"
-msgstr "Comprobando cuentas fuera del árbol de usuarios"
-
-#: setup/class_setupStep_Migrate.inc:177
-msgid "Checking for groups outside the groups tree"
-msgstr "Comprobando grupos fuera del árbol de grupos"
-
-#: setup/class_setupStep_Migrate.inc:184
-msgid "Checking for windows workstations outside the winstation tree"
-msgstr ""
-"Comprobando estaciones de trabajo windows fuera del árbol de estaciones de "
-"trabajo windows"
-
-#: setup/class_setupStep_Migrate.inc:190
-msgid "Checking for duplicated UID numbers"
-msgstr "Comprobando números UID duplicados"
-
-#: setup/class_setupStep_Migrate.inc:196
-msgid "Checking for duplicate GID numbers"
-msgstr "Comprobando números GID duplicados"
-
-#: setup/class_setupStep_Migrate.inc:202
-msgid "Checking for old style USB devices"
-msgstr "Comprobando dispositivos por método antiguo"
-
-#: setup/class_setupStep_Migrate.inc:208
-msgid "Checking for old services that have to be migrated"
-msgstr "Comprobando servicios antiguos que deben ser migrados"
-
-#: setup/class_setupStep_Migrate.inc:214
-msgid "Checking for old style application menus"
-msgstr "Comprobando por menús con estilo antiguo"
-
-#: setup/class_setupStep_Migrate.inc:240 setup/class_setupStep_Migrate.inc:292
-#: setup/class_setupStep_Migrate.inc:357 setup/class_setupStep_Migrate.inc:421
-#: setup/class_setupStep_Migrate.inc:492 setup/class_setupStep_Migrate.inc:569
-#: setup/class_setupStep_Migrate.inc:653 setup/class_setupStep_Migrate.inc:796
-#: setup/class_setupStep_Migrate.inc:892
-#: setup/class_setupStep_Migrate.inc:2038
-#: setup/class_setupStep_Migrate.inc:2506
-#: setup/class_setupStep_Migrate.inc:2697
-#: setup/class_setupStep_Migrate.inc:2834
-msgid "LDAP query failed"
-msgstr "La consulta LDAP ha fallado"
+#~ msgid "The given password minimum length is not numeric."
+#~ msgstr ""
+#~ "El valor indicado como longitud mínima de la contraseña no es un valor "
+#~ "numérico."
 
-#: setup/class_setupStep_Migrate.inc:241 setup/class_setupStep_Migrate.inc:293
-#: setup/class_setupStep_Migrate.inc:358 setup/class_setupStep_Migrate.inc:422
-#: setup/class_setupStep_Migrate.inc:493 setup/class_setupStep_Migrate.inc:570
-#: setup/class_setupStep_Migrate.inc:654 setup/class_setupStep_Migrate.inc:797
-#: setup/class_setupStep_Migrate.inc:893
-#: setup/class_setupStep_Migrate.inc:2039
-#: setup/class_setupStep_Migrate.inc:2507
-#: setup/class_setupStep_Migrate.inc:2698
-#: setup/class_setupStep_Migrate.inc:2835
-msgid "Possibly the 'root object' is missing."
-msgstr "Posiblemente el objeto raíz está desaparecido"
+#~ msgid "The given password differ value is not numeric."
+#~ msgstr ""
+#~ "El valor indicado como diferencias mínimas de la contraseña no es un "
+#~ "valor numérico."
 
-#: setup/class_setupStep_Migrate.inc:263
-#, php-format
-msgid "Found %s duplicate values for attribute 'uidNumber'."
-msgstr "Encontrado '%s' valores duplicados del atributo 'uidNumber'."
+#~ msgid "Available members"
+#~ msgstr "Miembros disponibles"
 
-#: setup/class_setupStep_Migrate.inc:315
-#, php-format
-msgid "Found %s duplicate values for attribute 'gidNumber'."
-msgstr "Encontrado '%s' valores duplicados del atributo 'gidNumber'."
-
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:583
-#: setup/class_setupStep_Migrate.inc:596
-#: setup/class_setupStep_Migrate.inc:1032
-#: setup/class_setupStep_Migrate.inc:1050
-#: setup/class_setupStep_Migrate.inc:1990
-#: setup/class_setupStep_Migrate.inc:2003
-#: setup/class_setupStep_Migrate.inc:2058
-#: setup/class_setupStep_Migrate.inc:2079
-#: setup/class_setupStep_Migrate.inc:2131
-#: setup/class_setupStep_Migrate.inc:3213
-msgid "Failed"
-msgstr "Error"
+#~ msgid "GOsa login screen"
+#~ msgstr "Pantalla de inicio de GOsa"
 
-#: setup/class_setupStep_Migrate.inc:375
-#, php-format
-msgid ""
-"Found %s winstations outside the predefined winstation department ou '%s'."
-msgstr ""
-"Se encontraron '%s' estaciones de trabajo windows fuera del contenedor ou de "
-"estaciones de trabajo windows '%s'"
+#~ msgid "Login screen"
+#~ msgstr "Pantalla de inicio"
 
-#: setup/class_setupStep_Migrate.inc:448
-#, php-format
-msgid "Found %s groups outside the configured tree '%s'."
-msgstr "Encontrados '%s' grupos fuera del árbol configurado '%s'."
+#~ msgid ""
+#~ "Please use your username and your password to log into the site "
+#~ "administration system."
+#~ msgstr ""
+#~ "Por favor use su nombre de usuario y contraseña para iniciar sesión en el "
+#~ "sistema de administración."
 
-#: setup/class_setupStep_Migrate.inc:449 setup/class_setupStep_Migrate.inc:526
-msgid "Move"
-msgstr "Mover"
+#~ msgid "Sign in"
+#~ msgstr "Entrando"
 
-#: setup/class_setupStep_Migrate.inc:525
-#, php-format
-msgid "Found %s user(s) outside the configured tree '%s'."
-msgstr "Encontrados '%s' usuario(s) fuera del árbol configurado '%s'."
+#~ msgid ""
+#~ "This may be used by several groups. Please double check if your really "
+#~ "want to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Esta puede ser usada por varios grupos. Si está seguro de lo que quiere "
+#~ "hacer pulse dos veces, ya que no hay manera de que GOsa recupere "
+#~ "posteriormente la información."
+
+#~ msgid ""
+#~ "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "Entonces, si esta seguro, presione <i>Eliminar</i> para continuar o "
+#~ "<i>Cancelar</i> para Abortar."
 
-#: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:598
-#, php-format
-msgid ""
-"The specified user '%s' does not have full access to your ldap database."
-msgstr ""
-"El usuario especificado '%s' no tiene acceso total a la base de datos LDAP."
+#~ msgid "Help"
+#~ msgstr "Ayuda"
 
-#: setup/class_setupStep_Migrate.inc:662
-#, php-format
-msgid "Found %s user(s) that will not be visible in GOsa."
-msgstr "Encontrados %s usuario(s) que nos son visibles para GOsa."
+#~ msgid "Sign out"
+#~ msgstr "Salir"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#: setup/class_setupStep_Migrate.inc:1120
-msgid "Migration error"
-msgstr "Error de migración"
+#~ msgid "Signed in:"
+#~ msgstr "Entrando"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#, php-format
-msgid "Cannot migrate department '%s':"
-msgstr "No puede migrar el departamento '%s':"
+#~ msgid "Success"
+#~ msgstr "Correcto"
 
-#: setup/class_setupStep_Migrate.inc:805
-#, php-format
-msgid "Found %s department(s) that will not be visible in GOsa."
-msgstr "Encontrados %s departamento(s) que nos son visibles para GOsa."
+#~ msgid "New password repeated"
+#~ msgstr "Repita la nueva contraseña"
 
-#: setup/class_setupStep_Migrate.inc:1029
-#, php-format
-msgid "GOsa 2.5 administrative accounts found: %s"
-msgstr "Encontrada cuenta administrativa GOsa 2.5: %s"
+#~ msgid "Change"
+#~ msgstr "Cambiar"
 
-#: setup/class_setupStep_Migrate.inc:1034
-msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
-msgstr "No hay cuenta de administrador GOsa 2.6 en la base de datos LDAP."
+#~ msgid "UNIX"
+#~ msgstr "UNIX"
 
-#: setup/class_setupStep_Migrate.inc:1051
-msgid "There is no GOsa administrator account inside your LDAP."
-msgstr "No hay cuenta de administrador GOsa en la base de datos LDAP."
+#~ msgid "FTP"
+#~ msgstr "FTP"
 
-#: setup/class_setupStep_Migrate.inc:1120
-#, php-format
-msgid "Cannot add ACL for user '%s':"
-msgstr "No se puede añadir ACL para el usuario '%s':"
+#~ msgid "Thin Client"
+#~ msgstr "Cliente ligero"
 
-#: setup/class_setupStep_Migrate.inc:1158
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Input error"
-msgstr "Error de entrada"
+#~ msgid "Object name"
+#~ msgstr "Nombre de objeto"
 
-#: setup/class_setupStep_Migrate.inc:1158
-msgid "Uid"
-msgstr "Uid"
+#~ msgid "This object has no relationship to other objects."
+#~ msgstr "Este objeto no tiene relación con otros objetos"
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Password error"
-msgstr "Error de contraseña"
+#~ msgid ""
+#~ "Changing the password affects your authentification on mail, proxy, samba "
+#~ "and unix services."
+#~ msgstr ""
+#~ "Cambiar la contraseña modifica la autenticación del usuario para el "
+#~ "correo, proxy, samba y los servicios unix."
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Provided passwords do not match!"
-msgstr "¡La contraseñas introducidas no  coinciden!"
+#~ msgid ""
+#~ "(Some types of certificates are currently not supported and may be "
+#~ "displayed as 'invalid'.)"
+#~ msgstr ""
+#~ "(Algunos tipos de certificados no están soportados y pueden ser mostrados "
+#~ "como no validos.)"
 
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Specify a valid user ID!"
-msgstr "¡Por favor especifique un ID de usuario válido!"
+#~ msgid "Personal picture"
+#~ msgstr "Foto"
 
-#: setup/class_setupStep_Migrate.inc:1201
-#, php-format
-msgid "Adding an administrative user failed: object '%s' already exists!"
-msgstr ""
-"Ha fallado al añadir un usuario administrativo: ¡El objeto '%s' ya existe!"
+#~ msgid "In all groups"
+#~ msgstr "en todos los grupos"
 
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-msgid "Cannot move users to the requested department!"
-msgstr "¡No puedo mover los usuarios al departamento especificado!"
+#~ msgid "Not in all groups"
+#~ msgstr "no en todos los grupos"
 
-#: setup/class_setupStep_Migrate.inc:1250
-msgid "Winstation will be moved from"
-msgstr "La estaciones de trabajo windows serán trasladadas desde"
+#~ msgid "! unknown UID"
+#~ msgstr "¡UID desconocido!"
 
-#: setup/class_setupStep_Migrate.inc:1261
-#: setup/class_setupStep_Migrate.inc:1310
-msgid "Updating following references too"
-msgstr "También se actualizaran las siguientes referencias"
+#~ msgid ""
+#~ "Search returned too many results. Not displaying more than %s entries!"
+#~ msgstr ""
+#~ "La busqueda ha devuelto demasiados reultados.¡No se muestran mas de %s "
+#~ "entradas!"
 
-#: setup/class_setupStep_Migrate.inc:1300
-msgid "Group will be moved from"
-msgstr "El grupo serán trasladado desde"
+#~ msgid "All categories"
+#~ msgstr "Todas las categorías"
 
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "User will be moved from"
-msgstr "El usuario serán trasladado desde"
+#~ msgid "All objects in current subtree"
+#~ msgstr "Todos los objetos en el subárbol actual"
 
-#: setup/class_setupStep_Migrate.inc:1358
-msgid "The following references will be updated"
-msgstr "Las siguientes referencias se actualizaran"
+#~ msgid "Startup"
+#~ msgstr "Inicio"
 
-#: setup/class_setupStep_Migrate.inc:1991
-msgid ""
-"The LDAP root object is missing. It is required to use your LDAP service."
-msgstr ""
-"EL objeto raíz de LDAP ha desaparecido. Es necesario para poder usar el "
-"servicio LDAP."
+#~ msgid "FAI summary"
+#~ msgstr "Sumario FAI"
 
-#: setup/class_setupStep_Migrate.inc:1992
-#: setup/class_setupStep_Migrate.inc:2005
-msgid "Try to create root object"
-msgstr "Intentando crear el objeto raíz"
+#~ msgid "Cannot bind to LDAP. Please contact the system administrator."
+#~ msgstr ""
+#~ "No se puede conectar a LDAP: Por favor consulte con el administrador de "
+#~ "sistemas."
 
-#: setup/class_setupStep_Migrate.inc:2004
-msgid "Root object couldn't be created, you should try it on your own."
-msgstr ""
-"El objeto raíz no ha podido ser creado, tendra que crearlo usted mismo."
+#~ msgid "The mcrypt module was not found. Please install php5-mcrypt."
+#~ msgstr ""
+#~ "El módulo mcrypt no ha sido encontrado. Por favor instale php-mcrypt."
 
-#: setup/class_setupStep_Migrate.inc:2059
-#, php-format
-msgid "Missing GOsa object class '%s'!"
-msgstr "¡No se ha encontrado la clase de objeto GOsa '%s'!"
+#~ msgid "Password reset"
+#~ msgstr "Reintroducir contraseña"
 
-#: setup/class_setupStep_Migrate.inc:2060
-msgid "Please check your installation."
-msgstr "Por favor compruebe su instalación"
+#~ msgid "Up"
+#~ msgstr "Arriba"
 
-#: setup/class_setupStep_Migrate.inc:2081
-#, php-format
-msgid ""
-"Cannot handle the structural object type of your root object. Please try to "
-"add the object class '%s' manually."
-msgstr ""
-"No se puede un tipo de objeto estructural en su entrada raíz. Por favor "
-"intente añadir la clase de objeto '%s' manualmente."
+#~ msgid "Down"
+#~ msgstr "Abajo"
 
-#: setup/class_setupStep_Migrate.inc:2440
-#, php-format
-msgid "Copy '%s' to '%s' failed:"
-msgstr "Copia fallida de '%s' a '%s':"
+#~ msgid ""
+#~ "The timezone setting '%s' in your gosa.conf is not valid. Cannot "
+#~ "calculate correct timezone offset."
+#~ msgstr ""
+#~ "El parámetro de zona horaria '%s' en gosa.conf no es válido. No se puede "
+#~ "calcular una compensación correcta para la zona horaria."
 
-#: setup/class_setupStep_Migrate.inc:2575
-#, php-format
-msgid "There are %s devices that need to be migrated."
-msgstr "Hay %s dispositivos que necesitan ser migrados."
+#~ msgid "Select to list objects of type '%s'."
+#~ msgstr "Seleccione para mostrar objetos de tipo '%s'."
 
-#: setup/class_setupStep_Migrate.inc:2635
-#, php-format
-msgid "Adding '%s' to the LDAP failed: %s"
-msgstr "Añadiendo '%s' a LDAP ha fallado: %s"
+#~ msgid "Select to list objects containig '%s'."
+#~ msgstr "Seleccione para mostrar objetos conteniendo '%s'."
 
-#: setup/class_setupStep_Migrate.inc:2655
-#: setup/class_setupStep_Migrate.inc:2772
-#, php-format
-msgid "Updating '%s' failed: %s"
-msgstr "Actualizando '%s' ha fallado: %s"
+#~ msgid "Select to list objects that have '%s' enabled"
+#~ msgstr "Seleccione para mostrar objetos que tengan '%s' activado"
 
-#: setup/class_setupStep_Migrate.inc:2728
-#, php-format
-msgid "There are %s services that need to be migrated."
-msgstr "Hay %s serviccios que necesitan ser migrados."
+#~ msgid "Select to search within subtrees"
+#~ msgstr "Seleccione para buscar dentro de subárboles"
 
-#: setup/class_setupStep_Migrate.inc:3059
-#, php-format
-msgid "There are %s application menus which have to be migrated."
-msgstr "Hay %s menu de aplicaciones que necesitan ser migrados."
+#~ msgid "in"
+#~ msgstr "en"
 
-#: setup/setup_welcome.tpl:4
-msgid ""
-"This seems to be the first time you start GOsa - we didn't find any "
-"configuration right now. This simple wizard intends to help you while "
-"setting it up."
-msgstr ""
-"Aparentemente es la primera vez que inicia GOsa - No se ha encontrado "
-"ninguna configuración. Este asistente intentara ayudarle mientras se "
-"configura."
+#~ msgid "on line"
+#~ msgstr "En linea"
 
-#: setup/setup_welcome.tpl:8
-msgid "What will the wizard do for you?"
-msgstr "¿Que hará este asistente para usted?"
+#~ msgid "Contains ACLs for these objects: %s"
+#~ msgstr "Tiene ACLs para estos objetos: %s"
 
-#: setup/setup_welcome.tpl:11
-msgid "Create a basic, single site configuration"
-msgstr "Creara una configuración básica para un único sitio"
+#~ msgid "Role: %s"
+#~ msgstr "Rol: %s"
 
-#: setup/setup_welcome.tpl:12
-msgid "Tries to find problems within your PHP and LDAP setup"
-msgstr "Intentando encontrar problemas en la configuración de LDAP y de PHP"
+#~ msgid "Go up one department"
+#~ msgstr "Subir un departamento"
 
-#: setup/setup_welcome.tpl:13
-msgid "Let you choose from a set of basic and advanced configuration switches"
-msgstr "Le permite seleccionar un juego de opciones básicas o avanzadas"
+#~ msgid "Go to users department"
+#~ msgstr "Ir al departamento de usuarios"
 
-#: setup/setup_welcome.tpl:14
-msgid "Guided migration of existing LDAP trees"
-msgstr "Migración guiada de arboles LDAP existentes"
+#~ msgid "Remove snapshot"
+#~ msgstr "Eliminar instantanea"
 
-#: setup/setup_welcome.tpl:17
-msgid "What will the wizard NOT do for you?"
-msgstr "¿Que no hará este asistente por usted?"
+#~ msgid "Send bug report to the GOsa Team"
+#~ msgstr "Enviar informe de errores al equipo de desarrollo de GOsa"
 
-#: setup/setup_welcome.tpl:20
-msgid "Find every possible configuration error"
-msgstr "Encontrar cada posible error de configuración"
+#~ msgid "Toggle information"
+#~ msgstr "Modificar información"
 
-#: setup/setup_welcome.tpl:21
-msgid "Migrate every possible LDAP setup - create backup dumps!"
-msgstr ""
-"Migración asistidas de cualquier configuración LDAP - ¡creando copias de "
-"seguridad!"
+#~ msgid "All objects in this category"
+#~ msgstr "Todos los objetos en esta categoría"
 
-#: setup/setup_welcome.tpl:25
-msgid "To continue..."
-msgstr "Para continuar..."
+#~ msgid ""
+#~ "The object has changed since opened in GOsa. All changes that may be done "
+#~ "by others get lost if you save this entry!"
+#~ msgstr ""
+#~ "Este objeto ha cambiado desde que ha sido abierto en GOsa. ¡Todos los "
+#~ "cambios realizados por otros se perderán si graba esta entrada!"
 
-#: setup/setup_welcome.tpl:28
-msgid ""
-"For security reasons you need to authenticate for the installation by "
-"creating the file '/tmp/gosa.auth', containing the current session ID on the "
-"servers local filesystem. This can be done by executing the following "
-"command:"
-msgstr ""
-"Por razones de seguridad necesita autenticarse para la instalación, creando "
-"el archivo '/tmp/gosa.auth', que tendrá el ID de la sesión actual en el "
-"sistema de archivos del servidor. Esto puede ser hecho ejecutando el "
-"siguiente comando:"
+#~ msgid "Changing ACL dn"
+#~ msgstr "Modificando ACL dn"
 
-#: setup/setup_welcome.tpl:34
-msgid "Click the 'Continue' button when you've finished."
-msgstr "Pulse en el botón 'Continuar' cuando haya terminado."
+#~ msgid "from"
+#~ msgstr "desde"
 
-#: setup/setup_license.tpl:8
-msgid "I have read the license and accept it"
-msgstr "He leido la licencia y la acepto"
+#~ msgid "Restore"
+#~ msgstr "Recuperar"
 
-#: setup/class_setupStep_Config3.inc:81 setup/class_setupStep_Config3.inc:82
-msgid "GOsa settings 3/3"
-msgstr "Configuración GOsa 3/3"
+#~ msgid "cut"
+#~ msgstr "mover"
 
-#: setup/class_setupStep_Config3.inc:83
-msgid "Tweak some GOsa core behaviour"
-msgstr "Ajustar el comportamiento del núcleo común de GOsa"
+#~ msgid "User information is not unique accross the configured LDAP trees!"
+#~ msgstr ""
+#~ "¡La información del usuario no es única dentro del árbol LDAP selecionado!"
 
-#: setup/class_setupStep_Config3.inc:212
-msgid "Session lifetime must be a numeric value!"
-msgstr "¡El tiempo de vida de sesión debe ser un valor numérico!"
+#~ msgid "Your LDAP setup contains old schema definitions:"
+#~ msgstr "Su configuración LDAP tiene definiciones de esquemas antiguos:"
 
-#: setup/class_setupStep_Config3.inc:216
-msgid "Maximum LDAP query time must be a numeric value!"
-msgstr "¡Máximo tiempo de consulta LDAP debe ser un valor numérico!"
+#~ msgid ""
+#~ "FATAL: Register globals is on. GOsa will refuse to login unless this is "
+#~ "fixed by an administrator."
+#~ msgstr ""
+#~ "FATAL: 'Register globals' está activado. No se permitirá ninguna acceso "
+#~ "hasta que esto sea solucionado por un administrador."
 
-#: setup/setup_checks.tpl:9
-msgid "PHP module and extension checks"
-msgstr "Comprobaciones de módulos y extensiones PHP"
+#, fuzzy
+#~ msgid "Prpperties"
+#~ msgstr "Propiedades"
 
-#: setup/setup_checks.tpl:41 setup/setup_checks.tpl:103
-msgid "GOsa will NOT run without fixing this."
-msgstr "GOsa NO funcionara si no arregla esto."
+#~ msgid "Old password"
+#~ msgstr "Contraseña antigua"
 
-#: setup/setup_checks.tpl:45 setup/setup_checks.tpl:107
-msgid "GOsa will run without fixing this."
-msgstr "GOsa puede funcionar sin que se arregle esto."
+#~ msgid "Verify password"
+#~ msgstr "Confirmar contraseña"
 
-#: setup/setup_checks.tpl:67
-msgid "PHP setup configuration"
-msgstr "Configuración de PHP"
+#~ msgid "Session conflict detected"
+#~ msgstr "Detectado conflicto de sesiones."
 
-#: setup/setup_checks.tpl:67
-msgid "show information"
-msgstr "mostrar información"
+#~ msgid ""
+#~ "Probably there's another active instance of your session. Multiple window "
+#~ "operation is technical not possible and heavily depends on the browser "
+#~ "you're using. Usage of different browsers at a time (i.e. IE and Mozilla) "
+#~ "is possible. Pressing the Logout button will close this session."
+#~ msgstr ""
+#~ "Probablemente exista otra instancia activa de sus sesión. Operaciones en "
+#~ "ventanas múltiples no son técnicamente posibles y dependen  del navegador "
+#~ "utilizado. El uso de diferentes navegadores a la vez (por ejemplo: IE y "
+#~ "Mozilla) es posible. Presione el botón 'Salir' para cerrar esta sesión."
 
-#: setup/setup_schema.tpl:3
-msgid "Schema specific settings"
-msgstr "Parametros específicos del esquema"
+#~ msgid ""
+#~ "Ignoring this message will change/destroy the data you're currently "
+#~ "editing, so please close multiple windows and log in again."
+#~ msgstr ""
+#~ "Ignorando este mensaje cambiara/eliminara los datos que esta actualmente "
+#~ "editando. Por favor, cierre las otras ventanas y vuelva a entrar."
 
-#: setup/setup_schema.tpl:7
-msgid "Enable schema validation when logging in"
-msgstr "Activar validación de esquema cuando se registre"
+#~ msgid "External password changer reported a problem: "
+#~ msgstr ""
+#~ "El programa externo de cambio de contraseña informo de un problema: "
 
-#: setup/setup_schema.tpl:16
-msgid "Check status"
-msgstr "Comprobar Estado"
+#~ msgid "Show department"
+#~ msgstr "Mostrar departamento"
 
-#: setup/setup_schema.tpl:20
-msgid "Schema check succeeded"
-msgstr "Comprobación de esquema correcta"
+#~ msgid "Show groups"
+#~ msgstr "Mostrar grupos"
 
-#: setup/setup_schema.tpl:23
-msgid "Schema check failed"
-msgstr "Ha fallado la comprobación del esquema"
+#~ msgid "Show server"
+#~ msgstr "Mostrar servidor"
 
-#: setup/setup_schema.tpl:31
-msgid ""
-"Could not read any schema informations, all checks skipped. Adjust your ldap "
-"acls."
-msgstr ""
-"No se puede acceder a la información de esquemas, todos las comprobaciones "
-"se suspenden. Ajuste las acl de ldap."
+#~ msgid "Show workstation"
+#~ msgstr "Mostrar estación de trabajo"
 
-#: setup/setup_schema.tpl:35
-msgid ""
-"It seems that your ldap database wasn't initialized yet. This maybe the "
-"reason, why GOsa can't read your schema configuration!"
-msgstr ""
-"Parece que la base de datos ldap no ha sido inicializada. ¡Esta puede se la "
-"razón por la que GOsa no puede acceder a la configuración de esquemas!"
+#~ msgid "Show terminal"
+#~ msgstr "Mostrar terminal"
 
-#: setup/setup_config1.tpl:2
-msgid "Look and feel"
-msgstr "Temas y apariencia"
+#~ msgid "Show printer"
+#~ msgstr "Mostrar impresora"
 
-#: setup/setup_config1.tpl:6
-msgid "Theme"
-msgstr "Tema"
+#~ msgid "Show phone"
+#~ msgstr "Mostrar teléfono"
 
-#: setup/setup_config1.tpl:15
-msgid "Apache"
-msgstr "Apache"
+#, fuzzy
+#~ msgid "Filter options"
+#~ msgstr "Eliminar opciones"
 
-#: setup/setup_config1.tpl:19
-msgid "Compress output send to browser"
-msgstr "Salida de compresión enviada al navegador"
+#~ msgid ""
+#~ "Please double check if you really want to do this since there is no way "
+#~ "for GOsa to get your data back."
+#~ msgstr ""
+#~ "Si está seguro de lo que quiere hacer pulse dos veces, ya que no hay "
+#~ "forma de que GOsa pueda recuperar posteriormente esa información"
 
-#: setup/setup_config1.tpl:27
-msgid "People and group storage"
-msgstr "Almacén de grupos y usuarios"
+#~ msgid "Manage object groups"
+#~ msgstr "Gestionar grupos de objetos"
 
-#: setup/setup_config1.tpl:30
-msgid "People DN attribute"
-msgstr "Atributo 'dn' de los usuarios"
+#~ msgid "nested groups"
+#~ msgstr "grupos anidados"
 
-#: setup/setup_config1.tpl:41
-msgid "People storage subtree"
-msgstr "Subárbol de almacenamiento para los usuarios"
+#~ msgid "application groups"
+#~ msgstr "grupos de aplicacion"
 
-#: setup/setup_config1.tpl:50
-msgid "Group storage subtree"
-msgstr "Subárbol de almacenamiento para los grupos"
+#~ msgid "department groups"
+#~ msgstr "grupos de departamento"
 
-#: setup/setup_config1.tpl:59
-msgid "Include personal title in user DN"
-msgstr "Incluir el título personal en el DN de usuario"
+#~ msgid "server groups"
+#~ msgstr "grupos de servidor"
 
-#: setup/setup_config1.tpl:70
-msgid "Relaxed naming policies"
-msgstr "Reglas no estrictas de nombres"
+#~ msgid "workstation groups"
+#~ msgstr "grupos de estación de trabajo"
 
-#: setup/setup_config1.tpl:81
-msgid "Automatic UIDs"
-msgstr "UIDs Automaticas"
+#~ msgid "terminal groups"
+#~ msgstr "grupos de terminales"
 
-#: setup/setup_config1.tpl:97 setup/class_setupStep_Config1.inc:118
-msgid "GID / UID min id"
-msgstr "GID / UID min id"
+#~ msgid "printer groups"
+#~ msgstr "grupos de impresoras"
 
-#: setup/setup_config1.tpl:113
-msgid "Number base for people/groups"
-msgstr "Número base para usuarios y grupos"
+#~ msgid "phone groups"
+#~ msgstr "grupos de teléfonos"
 
-#: setup/setup_config1.tpl:121
-msgid "Hook for number base"
-msgstr "Método para el número base"
+#~ msgid "Select objects to add"
+#~ msgstr "Seleccione los objetos a añadir"
 
-#: setup/setup_config1.tpl:140
-msgid "Password encryption algorithm"
-msgstr "Algoritmo de codificación de contraseña"
+#~ msgid "Filters"
+#~ msgstr "Filtros"
 
-#: setup/setup_config1.tpl:151
-msgid "Password restrictions"
-msgstr "Restricciones de contraseña"
+#~ msgid "Display objects of department"
+#~ msgstr "Mostrar objetos del departamento"
 
-#: setup/setup_config1.tpl:158 setup/setup_config1.tpl:162
-msgid "Password minimum length"
-msgstr "Longitud mínima de la contraseña"
+#~ msgid "Choose the department the search will be based on"
+#~ msgstr "Escoja el departamento base de la búsqueda"
 
-#: setup/setup_config1.tpl:169 setup/setup_config1.tpl:173
-msgid "Different characters from old password"
-msgstr "Caracteres diferentes de la contraseña anterior"
+#~ msgid "Display objects matching"
+#~ msgstr "Mostrar objetos que coincidan"
 
-#: setup/setup_config1.tpl:182
-msgid "Password change hook"
-msgstr "Método de cambio de contraseña"
+#~ msgid "Regular expression for matching object names"
+#~ msgstr "Expresiones regulares para buscar nombre de objetos"
 
-#: setup/setup_config1.tpl:198
-msgid "Use SASL for kerberos"
-msgstr "Usar SASL para kerberos"
+#~ msgid "Select systems to add"
+#~ msgstr "Seleccione los sistemas a añadir"
 
-#: setup/setup_config1.tpl:209
-msgid "Use account expiration"
-msgstr "Usar caducidad de cuenta"
+#~ msgid "Display systems of department"
+#~ msgstr "Mostrar los sistemas del departamento"
 
-#: setup/setup_config1.tpl:221
-msgid ""
-"GOsa supports several encryption types for your passwords. Normally this is "
-"adjustable via user templates, but you can specify a default method to be "
-"used here, too."
-msgstr ""
-"Gosa soporta varios tipos diferentes de codificación para las contraseñas. "
-"Normalmente esto es seleccionable a través de las plantillas de usuario, "
-"pero también se puede introducir un método que sera usado por defecto."
+#~ msgid "Display systems matching"
+#~ msgstr "Mostrar sistemas que coincidan con"
 
-#: setup/setup_config1.tpl:222
-msgid ""
-"GOsa always acts as admin and manages access rights internally. This is a "
-"workaround till OpenLDAP's in directory ACI's are    fully implemented. For "
-"this to work, we need the admin DN and the corresponding password."
-msgstr ""
-"GOsa siempre actúa en modo administrador y gestiona los permisos de acceso "
-"internamente. Esto es una solución temporal hasta que las ACI (Access "
-"control information) estén completamente implementadas en OPENLDAP.  Para "
-"que esto funcione, necesitamos el DN del administrador y la contraseña "
-"correspondiente."
+#~ msgid "Regular expression for matching addresses"
+#~ msgstr "Expresiones regulares para buscar direcciones"
 
-#: setup/setup_config1.tpl:223
-msgid ""
-"Some basic LDAP parameters are tunable and affect the locations where GOsa "
-"saves people and groups, including the way accounts get created. Check the "
-"values below if the fit your needs."
-msgstr ""
-"Algunos parámetros básicos de LDAP son modificables y afectarán las "
-"ubicaciones donde GOSa guarda los usuarios y los grupos, incluyendo la "
-"manera en que las cuentas son creadas. Compruebe los valores a continuación "
-"se ajustan a sus necesidades."
+#~ msgid ""
+#~ "This may be a primary user group. Please double check if you really want "
+#~ "to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Este puede ser un grupo primario. Si está seguro de lo que quiere hacer "
+#~ "pulse dos veces, dado que GOsa no tiene manera de recuperar esta "
+#~ "información."
 
-#: setup/setup_config1.tpl:224
-msgid ""
-"GOsa has modular support for several mail methods. These methods provide "
-"interfaces to users mailboxes and general handling    for quotas. You can "
-"choose the dummy plugin to leave all your mail settings untouched."
-msgstr ""
-"Gosa tiene un soporte modular para diferentes métodos de correo electrónico. "
-"Estos son herramientas de control de la cuentas de correo y control de "
-"cuotas. Puede elegir el método 'dummy' para dejar su configuración de correo "
-"limpia."
+#~ msgid "Show samba groups"
+#~ msgstr "Mostrar grupos de samba"
 
-#: setup/class_setupStep_Schema.inc:42 setup/class_setupStep_Schema.inc:43
-msgid "LDAP schema check"
-msgstr "Comprobar esquemas LDAP"
+#~ msgid "Show mail groups"
+#~ msgstr "Mostrar grupos de correo"
 
-#: setup/class_setupStep_Schema.inc:44
-msgid "Perform test on your current LDAP schema"
-msgstr "Efectuando comprobaciones en los esquemas actuales de LDAP"
+#~ msgid "Group administration"
+#~ msgstr "Administración de grupo"
 
-#: setup/class_setupStep_Welcome.inc:38
-msgid "Welcome"
-msgstr "Bienvenido"
+#~ msgid ""
+#~ "This includes all account data, system access rules, imap settings, etc. "
+#~ "for this user. Please double check if your really want to do this since "
+#~ "there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Esto incluye toda las información de cuentas, reglas de acceso al "
+#~ "sistema, configuración IMAP, etc. de este usuario. Si está seguro de lo "
+#~ "que quiere hacer pulse dos veces, ya que no hay manera de que GOsa "
+#~ "recupere posteriormente la información."
 
-#: setup/class_setupStep_Welcome.inc:39
-msgid "The welcome message"
-msgstr "Mensaje de Bienvenida"
+#~ msgid "Manage users"
+#~ msgstr "Gestión de usuarios"
 
-#: setup/class_setupStep_Welcome.inc:40
-msgid "Welcome to GOsa setup wizard"
-msgstr "Bienvenidos al asistente de configuración de GOsa"
+#~ msgid ""
+#~ "This includes 'all' accounts, systems, etc. in this subtree. Please "
+#~ "double check if your really want to do this since there is no way for "
+#~ "GOsa to get your data back."
+#~ msgstr ""
+#~ "Esto incluye 'todas' las cuentas, sistemas, etc. en este subárbol. Por "
+#~ "favor pulse dos veces si quiere realmente hacer esto, ya que no hay forma "
+#~ "de que GOsa recupere la información posteriormente."
 
-#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
-msgid "License"
-msgstr "Licencia"
+#~ msgid ""
+#~ "Best thing to do before performing this action would be to save the "
+#~ "current contents of your LDAP tree in a file. So - if you've done so - "
+#~ "press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "La mejor opción antes de ejecutar esta acción es haber grabado el "
+#~ "contenido actual de su árbol LDAP en un fichero. Entonces - Y solo "
+#~ "entonces - presione 'Eliminar' para continuar o 'Cancelar' para abortar."
 
-#: setup/class_setupStep_License.inc:58
-msgid "Terms and conditions for usage"
-msgstr "Términos y condiciones de uso"
+#~ msgid "List of departments"
+#~ msgstr "Lista de Departamentos"
 
-#: setup/setup_language.tpl:3
-msgid "Please select the preferred language"
-msgstr "Por favor seleccione su idioma preferido"
+#~ msgid "Manage Departments"
+#~ msgstr "Gestionar Departamentos"
 
-#: setup/setup_language.tpl:5
-msgid ""
-"At this point, you can select the site wide default language. Choosing "
-"'automatic' will use the language requested by the browser. This setting can "
-"be overriden per user."
-msgstr ""
-"En este punto, puede seleccionar el idioma usado por defecto. Seleccionando "
-"'automático' obtendrá el lenguaje usado por el navedador. Esta configuración "
-"puede ser modificada por cada usuario."
+#~ msgid "Show access control lists"
+#~ msgstr "Mostrar listas de control de acceso"
 
-#: setup/setup_language.tpl:9
-msgid "Please select your preferred language here"
-msgstr "Por favor seleccione su idioma preferido"
+#~ msgid "Show roles"
+#~ msgstr "Mostrar roles"
 
-#: setup/class_setupStep_Config1.inc:74 setup/class_setupStep_Config1.inc:75
-msgid "GOsa settings 1/3"
-msgstr "Configuración GOsa 1/3"
+#~ msgid "Bug submitter"
+#~ msgstr "Envío de fallos"
 
-#: setup/class_setupStep_Config1.inc:76
-msgid "GOsa generic settings"
-msgstr "Configuración genérica de GOsa"
+#~ msgid ""
+#~ "<a\thref='https://oss.gonicus.de/labs/gosa/"
+#~ "newticket'\ttarget='_blank'>Bugsubmitter</a>"
+#~ msgstr ""
+#~ "<a\thref='https://oss.gonicus.de/labs/gosa/"
+#~ "newticket'\ttarget='_blank'>Envío incidencias</a>"
 
-#: setup/class_setupStep_Config1.inc:118
-#, php-format
-msgid "The specified value for '%s' must be a numeric value"
-msgstr "El valor especificado para '%s' debe ser una valor numérico"
+#~ msgid "Show servers"
+#~ msgstr "Mostrar servidores"
 
-#: setup/class_setupStep_Config1.inc:122 setup/class_setupStep_Config1.inc:126
-#, php-format
-msgid "Don't add a trailing comma to '%s'."
-msgstr "No añada una coma final a '%s'"
+#~ msgid "Show workstations"
+#~ msgstr "Mostrar estaciones de trabajo"
 
-#: setup/class_setupStep_Config1.inc:122
-msgid "People storage ou"
-msgstr "OU de almacenamiento de Usuarios"
+#~ msgid "Show terminals"
+#~ msgstr "Mostrar terminales"
 
-#: setup/class_setupStep_Config1.inc:126
-msgid "Group storage ou"
-msgstr "OU de almacenamiento de Grupos"
+#, fuzzy
+#~ msgid "List navigation"
+#~ msgstr "Estación de trabajo Windows"
 
-#: setup/class_setupStep_Config1.inc:130
-msgid "Uid base must be numeric"
-msgstr "El Uid base debe ser un valor numérico"
+#, fuzzy
+#~ msgid "Group selection filter"
+#~ msgstr "Parametros de grupos"
 
-#: setup/class_setupStep_Config1.inc:134
-msgid "The given password minimum length is not numeric."
-msgstr ""
-"El valor indicado como longitud mínima de la contraseña no es un valor "
-"numérico."
+#, fuzzy
+#~ msgid "Posix extension settings"
+#~ msgstr "Caracteristicas Posix"
 
-#: setup/class_setupStep_Config1.inc:137
-msgid "The given password differ value is not numeric."
-msgstr ""
-"El valor indicado como diferencias mínimas de la contraseña no es un valor "
-"numérico."
+#, fuzzy
+#~ msgid "Account accessibility"
+#~ msgstr "Se puede escribir en la configuración"
 
-#: setup/class_setupStep_Config2.inc:80 setup/class_setupStep_Config2.inc:81
-msgid "GOsa settings 2/3"
-msgstr "Configuración GOsa 2/3"
+#~ msgid "Go to root department"
+#~ msgstr "Ir al departamento raíz"
 
-#: setup/class_setupStep_Config2.inc:82
-msgid "Customize special parameters"
-msgstr "Personalizar parametros especiales"
+#~ msgid "Home"
+#~ msgstr "Inicio"
 
-#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
-msgid "Language setup"
-msgstr "Selección de idiomas"
+#~ msgid ""
+#~ "This is the GOsa main menu. You can select your tasks from the menu on "
+#~ "the left, or by choosing one of the pictograms below. All changes apply "
+#~ "directly to your companies LDAP server."
+#~ msgstr ""
+#~ "Esta es la pantalla principal de GOsa. Puede seleccionar las tareas del "
+#~ "menú a la izquierda, o seleccionando entre los iconos siguientes. Todos "
+#~ "los cambios se aplican directamente sobre los servidores LDAP de su "
+#~ "compañía."
 
-#: setup/class_setupStep_Language.inc:42
-msgid "This step allows you to select your preferred language."
-msgstr "Este paso le permite seleccionar su idioma preferido"
+#~ msgid ""
+#~ "Use 'Sign out' on the upper left to close the connection and 'Main' to "
+#~ "get back to the pictogram view."
+#~ msgstr ""
+#~ "Para cerrar la conexión use <b>Cerrar</b> en la parte superior izquierda "
+#~ "y para volver a la vista de iconos use <b>Principal</b>"
 
-#: setup/class_setupStep_Language.inc:47
-msgid "Automatic"
-msgstr "Automatico"
+#~ msgid "Show functional users"
+#~ msgstr "Mostrar usuarios funcionales"
 
-#, fuzzy
-#~ msgid "Group submenu menu"
-#~ msgstr "Miembro del grupo"
+#~ msgid "Show Samba users"
+#~ msgstr "Mostrar los usuarios samba"
 
 #~ msgid "Choose subtree to place user in"
 #~ msgstr "Elija el subárbol donde colocar al usuario"
@@ -6687,20 +8433,29 @@ msgstr "Automatico"
 #~ msgid "Select a base"
 #~ msgstr "Seleccione una base"
 
-#~ msgid "You have no permission to set your password!"
-#~ msgstr "¡No tiene permisos para cambiar su contraseña!"
+#~ msgid "Generic user information"
+#~ msgstr "Información genérica del usuario"
 
-#~ msgid ""
-#~ "You have changed the method your password is stored in the ldap database. "
-#~ "For that reason you've to enter your password at this point again. GOsa "
-#~ "will then encode it with the selected method."
-#~ msgstr ""
-#~ "Ha cambiado el método en que su clave es guardada en la base de datos "
-#~ "LDAP. Por esa razón tiene que volver a introducir su contraseña de nuevo. "
-#~ "Gosa codificara esta con el nuevo método seleccionado."
+#~ msgid "Account"
+#~ msgstr "Cuenta"
 
-#~ msgid "Password change not allowed"
-#~ msgstr "No se permite modificar la contraseña"
+#~ msgid "Select groups to add"
+#~ msgstr "Seleccione grupos a añadir"
+
+#~ msgid "Display groups of department"
+#~ msgstr "Mostrar grupos de departamentos"
+
+#~ msgid "Display groups matching"
+#~ msgstr "Mostrar grupos coincidentes"
+
+#~ msgid "Regular expression for matching group names"
+#~ msgstr "Expresión regular para buscar nombres de grupos"
+
+#~ msgid "Display groups of user"
+#~ msgstr "Mostrar grupos de usuarios"
+
+#~ msgid "User name of which groups are shown"
+#~ msgstr "Nombre de usuario de los grupos que se muestran"
 
 #~ msgid "Inconsistent DN encoding detected: '%s'"
 #~ msgstr "Se ha detectado una codificación de DN inconsistente: '%s'"
@@ -6714,9 +8469,6 @@ msgstr "Automatico"
 #~ msgid "Choose subtree to place department in"
 #~ msgstr "Elija subárbol para colocar el departamento"
 
-#~ msgid "Update"
-#~ msgstr "Actualizar"
-
 #~ msgid "Show %s"
 #~ msgstr "Mostrar %s"
 
@@ -6742,10 +8494,6 @@ msgstr "Automatico"
 #~ msgstr "Expresiones regulares para buscar nombre de usuarios"
 
 #, fuzzy
-#~ msgid "List of systems"
-#~ msgstr "Lista de usuarios"
-
-#, fuzzy
 #~ msgid "givenname"
 #~ msgstr "Nombre de pila"
 
@@ -6760,9 +8508,6 @@ msgstr "Automatico"
 #~ "Entrar en el árbol preferido y pulse grabar para usar el subárbol actual "
 #~ "como base. O pulse en la imagen al final de cada entrada"
 
-#~ msgid "Use"
-#~ msgstr "Usar"
-
 #~ msgid "Filter entries with this syntax"
 #~ msgstr "Filtrar entradas con esta sintaxis"
 
@@ -6813,9 +8558,6 @@ msgstr "Automatico"
 #~ msgid "functional groups"
 #~ msgstr "grupos funcionales"
 
-#~ msgid "Not allowed"
-#~ msgstr "No permitido"
-
 #~ msgid "Number of listed groups"
 #~ msgstr "Número de grupos mostrados"
 
@@ -6831,9 +8573,6 @@ msgstr "Automatico"
 #~ msgid "templates"
 #~ msgstr "plantillas"
 
-#~ msgid "GOsa object"
-#~ msgstr "Objeto GOsa"
-
 #~ msgid "functional users"
 #~ msgstr "usuarios funcionales"
 
@@ -6846,9 +8585,6 @@ msgstr "Automatico"
 #~ msgid "proxy users"
 #~ msgstr "usuarios de proxy"
 
-#~ msgid "phone users"
-#~ msgstr "operadores telefónicos"
-
 #~ msgid "GOsa"
 #~ msgstr "GOsa"
 
@@ -6861,9 +8597,6 @@ msgstr "Automatico"
 #~ msgid "Create user with this template"
 #~ msgstr "Crear usuario con esta plantilla"
 
-#~ msgid "user"
-#~ msgstr "usuario"
-
 #~ msgid "password"
 #~ msgstr "contraseña"
 
@@ -6898,9 +8631,6 @@ msgstr "Automatico"
 #~ "página y presionar el botón 'Continuar' para continuar con el asistente "
 #~ "de administración de departamento."
 
-#~ msgid "Department management"
-#~ msgstr "Administración de departamento"
-
 #~ msgid ""
 #~ "This includes all system and setup informations. Please double check if "
 #~ "your really want to do this since there is no way for GOsa to get your "
@@ -6940,10 +8670,6 @@ msgstr "Automatico"
 #~ msgid "ACL takes effect for all users"
 #~ msgstr "La ACL tendrá efecto para todos los usuarios"
 
-#~ msgid "Version mismatch for optional object class '%s' (!=%s)!"
-#~ msgstr ""
-#~ "¡Las versiones de la clase de objeto opcional no coinciden '%s' (!=%s)!"
-
 #, fuzzy
 #~ msgid "Non common group"
 #~ msgstr "no en todos los grupos"
@@ -6951,9 +8677,6 @@ msgstr "Automatico"
 #~ msgid "Enable DNS extension"
 #~ msgstr "Activar extensión DNS"
 
-#~ msgid "Enable DHCP extension"
-#~ msgstr "Activar extensión DHCP"
-
 #~ msgid "Enable mime type management"
 #~ msgstr "Activar gestión tipos mime"
 
@@ -6992,16 +8715,10 @@ msgstr "Automatico"
 #~ msgid "Role name"
 #~ msgstr "Nombre del Rol"
 
-#~ msgid "Role description"
-#~ msgstr "Descripción del Rol"
-
 #, fuzzy
 #~ msgid "Override sudo role ou"
 #~ msgstr "¡id desconocido!"
 
-#~ msgid "Action"
-#~ msgstr "Acción"
-
 #, fuzzy
 #~ msgid "Select this base"
 #~ msgstr "Eliminar esta entrada"
@@ -7010,29 +8727,14 @@ msgstr "Automatico"
 #~ msgid "add"
 #~ msgstr "Añadir"
 
-#, fuzzy
-#~ msgid "remove"
-#~ msgstr "Eliminar"
-
 #~ msgid "You're about to delete the whole LDAP subtree placed under '%s'."
 #~ msgstr "Ha decidido eliminar todo el subárbol LDAP colocado debajo de '%s'."
 
-#~ msgid "Delete acl role"
-#~ msgstr "Eliminar rol"
-
 #, fuzzy
 #~ msgid "Delete users"
 #~ msgstr "Eliminar usuario"
 
 #, fuzzy
-#~ msgid "User successfully removed."
-#~ msgstr "Sugerencia enviada correctamente"
-
-#, fuzzy
-#~ msgid "Heimdal options"
-#~ msgstr "Eliminar opciones"
-
-#, fuzzy
 #~ msgid "Day"
 #~ msgstr "Mayo"
 
@@ -7291,10 +8993,6 @@ msgstr "Automatico"
 #~ msgstr "Mostrara estaciones de trabajo basadas en windows"
 
 #, fuzzy
-#~ msgid "server"
-#~ msgstr "Servidor"
-
-#, fuzzy
 #~ msgid "Show %s user"
 #~ msgstr "Mostrar usuarios samba"
 
@@ -7338,10 +9036,6 @@ msgstr "Automatico"
 #~ msgid "Uid number"
 #~ msgstr "Número de Fax"
 
-#, fuzzy
-#~ msgid "Password change failed."
-#~ msgstr "La contraseñas deben ser cambiadas despues de %s días"
-
 #~ msgid "You are not allowed to set this users password!"
 #~ msgstr "¡No le estátá permitido cambiarle la contraseña de estos usuarios!"
 
@@ -7366,10 +9060,6 @@ msgstr "Automatico"
 #~ msgstr "No tiene permisos para crear un nuevo rol."
 
 #, fuzzy
-#~ msgid "Accessibility"
-#~ msgstr "Se puede escribir en la configuración"
-
-#, fuzzy
 #~ msgid "Configuration warning"
 #~ msgstr "Se puede escribir en la configuración"
 
@@ -7538,9 +9228,6 @@ msgstr "Automatico"
 #~ msgid "Deactivated"
 #~ msgstr "Activado"
 
-#~ msgid "Acl roles"
-#~ msgstr "Roles"
-
 #, fuzzy
 #~ msgid "Removing a lock failed."
 #~ msgstr "Ha fallado la eliminación del antiguo archivo ppd'%s'."
@@ -7837,12 +9524,6 @@ msgstr "Automatico"
 #~ msgid "Nagios"
 #~ msgstr "Nagios"
 
-#~ msgid "Options"
-#~ msgstr "Opciones"
-
-#~ msgid "Parameter"
-#~ msgstr "Parámetro"
-
 #, fuzzy
 #~ msgid "Inventory"
 #~ msgstr "Añadir inventario"
diff --git a/gosa-core/locale/core/fr/LC_MESSAGES/messages.po b/gosa-core/locale/core/fr/LC_MESSAGES/messages.po
index d703732..8dc539a 100644
--- a/gosa-core/locale/core/fr/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/fr/LC_MESSAGES/messages.po
@@ -1,2588 +1,2284 @@
 # translation of messages.po to
-# Benoit Mortier <benoit.mortier at opensides.be>, 2005, 2006, 2007, 2008, 2009, 2010.
+# Benoit Mortier <benoit.mortier at opensides.be>, 2005, 2006, 2007, 2008, 2009, 2010, 2011.
 msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-09 20:24+0200\n"
-"PO-Revision-Date: 2010-08-06 11:30+0200\n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
+"PO-Revision-Date: 2011-01-17 01:22+0100\n"
 "Last-Translator: Benoit Mortier <benoit.mortier at opensides.be>\n"
 "Language-Team:  <fr at li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 "Plural-Forms:  nplurals=2; plural=(n > 1);\n"
 
-#: ihtml/themes/default/remove.tpl:2 ihtml/themes/default/msg_dialog.tpl:59
-#: ihtml/themes/default/msg_dialog.tpl:106 ihtml/themes/default/islocked.tpl:6
-#: ihtml/themes/default/conflict.tpl:6 html/password.php:280 html/index.php:57
-#: html/index.php:63 html/index.php:406 html/index.php:412
-#: include/functions.inc:954 include/functions.inc:2686
-#: include/functions.inc:2690 include/functions.inc:2696
-#: include/class_tabs.inc:268 include/utils/class_xml.inc:37
-#: plugins/admin/ogroups/remove.tpl:2 plugins/admin/groups/remove.tpl:2
-#: plugins/admin/groups/class_group.inc:994 plugins/admin/users/remove.tpl:2
-#: plugins/admin/departments/remove.tpl:2
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#: plugins/admin/acl/remove.tpl:2
-#: plugins/personal/posix/class_posixAccount.inc:793
-#: plugins/personal/posix/class_posixAccount.inc:946
-#: setup/class_setupStep_Migrate.inc:261 setup/class_setupStep_Migrate.inc:313
-#: setup/class_setupStep_Migrate.inc:446 setup/class_setupStep_Migrate.inc:523
-#: setup/class_setupStep_Migrate.inc:661 setup/class_setupStep_Migrate.inc:804
-#: setup/class_setupStep_Migrate.inc:2573
-#: setup/class_setupStep_Migrate.inc:2726
-#: setup/class_setupStep_Migrate.inc:3058 setup/setup_checks.tpl:32
-#: setup/setup_checks.tpl:93
-msgid "Warning"
-msgstr "Avertissement"
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
+msgstr "non configuré"
 
-#: ihtml/themes/default/remove.tpl:6
-msgid ""
-"This may be used by several groups. Please double check if your really want "
-"to do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Cela peut être utilisé par plusieurs groupes. Veuillez vérifier que vous "
-"voulez effectuer cette opération étant donné qu'il est impossible pour GOsa "
-"de récupérer vos données."
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
+msgid "Permission"
+msgstr "Permissions"
 
-#: ihtml/themes/default/remove.tpl:9 plugins/admin/ogroups/remove.tpl:10
-#: plugins/admin/groups/remove.tpl:10 plugins/admin/users/remove.tpl:10
-#: plugins/admin/acl/remove.tpl:10
-msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-"D'accord - si vous êtes sur - cliquez sur 'Supprimer' pour continuer ou sur "
-"'Annuler' pour abandonner."
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
+msgid "Permission error"
+msgstr "Erreur de permissions"
 
-#: ihtml/themes/default/remove.tpl:15
-#: ihtml/themes/default/copyPasteDialog.tpl:21
-#: ihtml/themes/default/acl.tpl:128 ihtml/themes/default/acl.tpl:142
-#: ihtml/themes/default/snapshotdialog.tpl:44
-#: ihtml/themes/default/snapshotdialog.tpl:89
-#: ihtml/themes/default/msg_dialog.tpl:79
-#: ihtml/themes/default/msg_dialog.tpl:139
-#: ihtml/themes/default/msg_dialog.tpl:144
-#: ihtml/themes/default/islocked.tpl:19 include/utils/class_msgPool.inc:312
-#: setup/setup_migrate.tpl:163 setup/setup_migrate.tpl:214
-#: setup/setup_migrate.tpl:261 setup/setup_migrate.tpl:326
-#: setup/setup_migrate.tpl:382 setup/setup_migrate.tpl:435
-#: setup/setup_migrate.tpl:480 setup/setup_migrate.tpl:523
-#: setup/setup_migrate.tpl:567 setup/setup_ldap.tpl:17
+#: include/class_management.inc:487
+#, php-format
+msgid "You are not allowed to create a snapshot for %s!"
+msgstr ""
+"Vous n'êtes pas autorisé à créer une nouvelle copie instantanée pour %s !"
+
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
 #, php-format
-msgid "Cancel"
-msgstr "Annuler"
+msgid "Error"
+msgstr "Erreur"
 
-#: ihtml/themes/default/login.tpl:10
-msgid "GOsa login screen"
-msgstr "Fenêtre de connexion GOsa"
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
+msgstr "Vous n'êtes pas autorisé à restaurer une copie instantanée de %s !"
+
+#: include/class_management.inc:549
+#, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
+msgstr "Vous n'êtes pas autorisé à supprimer une copie instantanée de %s !"
 
-#: ihtml/themes/default/login.tpl:27
-msgid "Login screen"
-msgstr "Fenêtre de connexion"
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
+msgid "Internal error"
+msgstr "Erreur interne"
 
-#: ihtml/themes/default/login.tpl:34
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
 msgid ""
-"Please use your username and your password to log into the site "
-"administration system."
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
 msgstr ""
-"Veuillez utiliser votre nom d'utilisateur et votre mot de passe afin de vous "
-"connecter."
-
-#: ihtml/themes/default/login.tpl:42 ihtml/themes/default/login.tpl:44
-#: ihtml/themes/default/password.tpl:69 ihtml/themes/default/password.tpl:71
-msgid "Username"
-msgstr "Nom d'utilisateur"
-
-#: ihtml/themes/default/login.tpl:47 ihtml/themes/default/login.tpl:49
-#: ihtml/themes/default/password.tpl:40
-#: plugins/personal/generic/paste_generic.tpl:20
-#: plugins/personal/password/class_password.inc:26 setup/setup_config2.tpl:237
-#: setup/setup_config2.tpl:282 setup/setup_migrate.tpl:299
-msgid "Password"
-msgstr "Mot de passe"
+"Impossible de créer l'onglet, le plugin de base (%s) n'est pas disponible !"
 
-#: ihtml/themes/default/login.tpl:52 ihtml/themes/default/login.tpl:53
-#: ihtml/themes/default/password.tpl:60 ihtml/themes/default/password.tpl:62
-msgid "Directory"
-msgstr "Répertoire"
-
-#: ihtml/themes/default/login.tpl:77 ihtml/themes/default/login.tpl:80
-msgid "Sign in"
-msgstr "Connexion"
-
-#: ihtml/themes/default/login.tpl:78
-msgid "Click here to log in"
-msgstr "Cliquez ici pour vous connecter"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:1
-msgid "Copy & paste wizard"
-msgstr "Assistant pour le copier & coller"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:7
+#: include/class_management.inc:669
+#, php-format
 msgid ""
-"Some values need to be unique in the complete directory while some "
-"combinations make no sense. GOsa shows the relevant attributes. Please "
-"maintain the values below to fullfill the policies."
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
 msgstr ""
-"Certaines valeurs doivent être unique dans tout l'arbre et certaines "
-"combinations n'ont pas de sens. Gosa vous montre les valeurs "
-"correspondantes. Veuillez maintenir les valeurs pour respecter les "
-"politiques de sécurité."
+"Pas de déclaration pour '%s' dans votre fichier de configuration. Impossible "
+"d'initialiser le plugin !"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:9
-msgid "Remember that some properties like taken snapshots will not be copied!"
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Configuration error"
+msgstr "Erreur de configuration"
+
+#: include/class_pluglist.inc:147
+msgid "The configuration format has changed: please run the setup again!"
 msgstr ""
-"Veuillez vous souvenir que certaines propriétés comme les copie instantanées "
-"ne seront pas copiés !"
+"Le format du fichier de configuration à changé. Veuillez redémarrer "
+"l'installation !"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:10
+#: include/class_pluglist.inc:304
 msgid ""
-"Or if you copy or cut an entry within GOsa and delete the source object, you "
-"may get errors while pasting this object again!"
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
 msgstr ""
-"Ou si vous couper ou copiez un entrée avec GOsa et que vous effacer la "
-"source, vous pouvez rencontrer des erreurs en tentant de le coller à "
-"nouveau !"
+"Vous êtes actuellement en train d éditer une entrée de la base de données. "
+"Voulez vous annuler les modifications ?"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:330
-#, php-format
-msgid "Save"
-msgstr "Enregistrer"
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
+msgid "Unknown"
+msgstr "Inconnu"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:24
-msgid "Cancel all"
-msgstr "Tout annuler"
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
+msgstr "Cet objet sera effacé !"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:30
-msgid "Operation complete"
-msgstr "Opération réalisée"
+#: include/utils/class_msgPool.inc:19
+#, php-format
+msgid "This %s object will be deleted!"
+msgstr "L'objet '%s' sera effacé !"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:32
-#: setup/class_setupStep_Finish.inc:37
-msgid "Finish"
-msgstr "Terminé"
+#: include/utils/class_msgPool.inc:24
+#, php-format
+msgid "This object will be deleted: %s"
+msgstr "Cet objet sera effacé : %s"
 
-#: ihtml/themes/default/sizelimit.tpl:3
-msgid ""
-"The size limit option makes LDAP operations faster and saves the LDAP server "
-"from getting too much load. The easiest way to handle big databases without "
-"long timeouts would be to limit your search to smaller values and use "
-"filters to get the entries you are looking for."
-msgstr ""
-"L'option size limit rend les opérations LDAP plus rapides et permet au "
-"serveur LDAP d'avoir un niveau de charge plus léger. La façon la plus facile "
-"de gérer des grandes bases de données sans de longs temps d'attentes, serait "
-"de limiter la recherche à des valeurs plus petites et d'utiliser les filtres "
-"pour obtenir les valeurs que vous recherchez."
+#: include/utils/class_msgPool.inc:26
+#, php-format
+msgid "This %s object will be deleted: %s"
+msgstr "L'objet %s sera effacé: %s"
 
-#: ihtml/themes/default/sizelimit.tpl:6
-msgid "Please choose the way to react for this session"
-msgstr "Veuillez choisir la façon de réagir pour cette session"
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
+msgstr "Cet objet sera effacé:"
 
-#: ihtml/themes/default/sizelimit.tpl:9
-msgid "ignore this error and show all entries the LDAP server returns"
-msgstr ""
-"ignorer cette erreur et montrer toutes les entrées retournées par le serveur "
-"LDAP"
+#: include/utils/class_msgPool.inc:33
+#, php-format
+msgid "This %s object will be deleted:"
+msgstr "L'objet de type '%s' sera effacé:"
 
-#: ihtml/themes/default/sizelimit.tpl:10
-msgid ""
-"ignore this error and show all entries that fit into the defined sizelimit "
-"and let me use filters instead"
-msgstr ""
-"ignorer cette erreur et montrer toutes les entrées qui sont récupérées grâce "
-"au paramètre sizelimit défini et laissez moi utiliser les filtres pour "
-"restreindre les données a visualiser"
+#: include/utils/class_msgPool.inc:37
+#, php-format
+msgid "These objects will be deleted: %s"
+msgstr "Ces objets seront effacés: %s"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
+#: include/utils/class_msgPool.inc:39
 #, php-format
-msgid "Set"
-msgstr "Activer"
+msgid "These %s objects will be deleted: %s"
+msgstr "Ces objets de type '%s' seront effacés: %s"
 
-#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
-msgid "Assigned ACL for current entry"
-msgstr "ACL assignés à l'entrée actuelle"
+#: include/utils/class_msgPool.inc:47
+msgid "You have no permission to delete this object!"
+msgstr "Vous n'avez pas les droits nécessaires pour supprimer cet objet !"
 
-#: ihtml/themes/default/acl.tpl:12 plugins/admin/acl/acl_role.tpl:38
-msgid "New ACL"
-msgstr "Nouvelle ACL"
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
+msgid "You have no permission to delete the object:"
+msgstr "Vous n'avez pas les droits nécessaires pour supprimer cet objet :"
 
-#: ihtml/themes/default/acl.tpl:17 plugins/admin/acl/acl_role.tpl:44
-msgid "ACL type"
-msgstr "Type ACL"
+#: include/utils/class_msgPool.inc:58
+msgid "You have no permission to delete these objects:"
+msgstr "Vous n'avez pas les droits nécessaires pour supprimer ces objets :"
 
-#: ihtml/themes/default/acl.tpl:19 ihtml/themes/default/acl.tpl:24
-#: plugins/admin/acl/acl_role.tpl:44
-msgid "Select an acl type"
-msgstr "Sélectionnez un type d'acl"
+#: include/utils/class_msgPool.inc:65
+msgid "You have no permission to create this object!"
+msgstr "Vous n'avez pas les droits nécessaires pour créer cet objet !"
 
-#: ihtml/themes/default/acl.tpl:29 ihtml/themes/default/acl.tpl:52
-#: ihtml/themes/default/acl.tpl:125 ihtml/themes/default/acl.tpl:140
-#: include/utils/class_msgPool.inc:324 setup/setup_migrate.tpl:161
-#: setup/setup_migrate.tpl:212 setup/setup_migrate.tpl:260
-#: setup/setup_migrate.tpl:325 setup/setup_migrate.tpl:380
-#: setup/setup_migrate.tpl:433 setup/setup_migrate.tpl:478
-#: setup/setup_migrate.tpl:521 setup/setup_migrate.tpl:565
-#: setup/setup_ldap.tpl:16
-#, php-format
-msgid "Apply"
-msgstr "Appliquer"
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
+msgid "You have no permission to create the object:"
+msgstr "Vous n'avez pas les droits nécessaires pour créer l'objet :"
 
-#: ihtml/themes/default/acl.tpl:36
-msgid "Additional filter options"
-msgstr "Paramètres supplémentaire pour le filtre"
+#: include/utils/class_msgPool.inc:76
+msgid "You have no permission to create these objects:"
+msgstr "Vous n'avez pas les droits nécessaires pour créer ces objets :"
 
-#: ihtml/themes/default/acl.tpl:47
-msgid "Use members from"
-msgstr "Utiliser les membres depuis"
+#: include/utils/class_msgPool.inc:83
+msgid "You have no permission to modify this object!"
+msgstr "Vous n'avez pas l'autorisation de modifier cet objet !"
 
-#: ihtml/themes/default/acl.tpl:61
-msgid "Available members"
-msgstr "Membres disponibles"
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
+msgid "You have no permission to modify the object:"
+msgstr "Vous n'avez pas l'autorisation de modifier cet objet :"
 
-#: ihtml/themes/default/acl.tpl:63 ihtml/themes/default/acl.tpl:68
-msgid "List message possible targets"
-msgstr "Liste les destinataires possibles pour les messages"
+#: include/utils/class_msgPool.inc:94
+msgid "You have no permission to modify these objects:"
+msgstr "Vous n'avez pas l'autorisation de modifier ces objets :"
 
-#: ihtml/themes/default/acl.tpl:82 include/class_acl.inc:1090
-msgid "Members"
-msgstr "Membres"
+#: include/utils/class_msgPool.inc:101
+msgid "You have no permission to view this object!"
+msgstr "Vous n'avez pas l'autorisation de voir cet objet !"
 
-#: ihtml/themes/default/acl.tpl:84 ihtml/themes/default/acl.tpl:90
-msgid "List message recipients"
-msgstr "Lister les destinataires du message"
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
+msgid "You have no permission to view the object:"
+msgstr "Vous n'avez pas l'autorisation de voir l'objet :"
 
-#: ihtml/themes/default/acl.tpl:104 plugins/admin/acl/acl_role.tpl:49
-msgid "List of available ACL categories"
-msgstr "Liste des catégories d'acl disponibles"
+#: include/utils/class_msgPool.inc:112
+msgid "You have no permission to view these objects:"
+msgstr "Vous n'avez pas l'autorisation devoir ces objets :"
 
-#: ihtml/themes/default/acl.tpl:112
-msgid "ACL for this object"
-msgstr "ACL pour cet objet"
+#: include/utils/class_msgPool.inc:119
+msgid "You have no permission to move this object!"
+msgstr "Vous n'avez pas l'autorisation de bouger cet objet !"
 
-#: ihtml/themes/default/acl.tpl:118
-msgid "Available roles"
-msgstr "Type de rôles disponibles"
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
+msgid "You have no permission to move the object:"
+msgstr "Vous n'avez pas l'autorisation de bouger l'objet :"
 
-#: ihtml/themes/default/accountexpired.tpl:15
-msgid "Your password has expired. Please choose a new one!"
-msgstr "Votre mot de passe à expiré. Choisissez un nouveau mot de passe !"
+#: include/utils/class_msgPool.inc:130
+msgid "You have no permission to move these objects:"
+msgstr "Vous n'avez pas l'autorisation de bouger ces objets :"
 
-#: ihtml/themes/default/accountexpired.tpl:23
-#: ihtml/themes/default/accountexpired.tpl:27
-msgid "Old password"
-msgstr "Ancien mot de passe"
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
+msgid "Connection information"
+msgstr "Informations de connexions"
 
-#: ihtml/themes/default/accountexpired.tpl:32
-#: ihtml/themes/default/accountexpired.tpl:36
-#: ihtml/themes/default/password.tpl:82 ihtml/themes/default/password.tpl:83
-#: html/password.php:196 plugins/admin/users/password.tpl:17
-#: plugins/admin/users/password.tpl:53
-#: plugins/admin/users/class_userManagement.inc:319
-#: plugins/personal/generic/password.tpl:22
-#: plugins/personal/generic/password.tpl:65
-#: plugins/personal/password/password.tpl:27
-#: plugins/personal/password/password.tpl:70
-msgid "New password"
-msgstr "Nouveau mot de passe"
+#: include/utils/class_msgPool.inc:142
+#, php-format
+msgid "Cannot connect to %s database!"
+msgstr "Impossible de se connecter à la base de données %s !"
 
-#: ihtml/themes/default/accountexpired.tpl:41
-#: ihtml/themes/default/accountexpired.tpl:45
-msgid "Verify password"
-msgstr "Vérifier votre mot de passe"
+#: include/utils/class_msgPool.inc:154
+#, php-format
+msgid "Cannot select %s database!"
+msgstr "Impossible de sélectionner la base de données %s !"
 
-#: ihtml/themes/default/accountexpired.tpl:51
-#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
-msgid "Change password"
-msgstr "Modifier le mot de passe"
+#: include/utils/class_msgPool.inc:160
+#, php-format
+msgid "No %s server defined!"
+msgstr "Pas de serveur %s défini !"
 
-#: ihtml/themes/default/accountexpired.tpl:52
-#: ihtml/themes/default/password.tpl:102
-msgid "Click here to change your password"
-msgstr "Cliquez ici pour changer votre mot de passe"
+#: include/utils/class_msgPool.inc:172
+#, php-format
+msgid "Cannot query %s database!"
+msgstr "Impossible d'effectuer une requête sur la base de données %s !"
 
-#: ihtml/themes/default/logout-close.tpl:5
-msgid "Your GOsa session has been closed!"
-msgstr "Votre session GOsa à expiré !"
+#: include/utils/class_msgPool.inc:178
+#, php-format
+msgid "The field %s contains a reserved keyword!"
+msgstr "Le champ '%s' contient un mot réservé !"
 
-#: ihtml/themes/default/logout-close.tpl:7
-msgid ""
-"Please close this browser window and clean the authentication caches to "
-"avoid an automatic re-authentication by your browser."
+#: include/utils/class_msgPool.inc:184
+#, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
 msgstr ""
-"Veuillez fermer la fenêtre de votre navigateur et vider les cache des mots "
-"de passe pour éviter l'authentification automatique par votre navigateur."
+"La commande %s, spécifiée comme connexion de l'extension %s n'existe pas !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:3
-msgid "Restoring object snapshots"
-msgstr "Restaurer des copie instantanés des objets"
+#: include/utils/class_msgPool.inc:191
+#, php-format
+msgid "%s command is invalid!"
+msgstr "Le commande %s est invalide !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:6
-msgid ""
-"This procedure will restore a snapshot of the selected object. It will "
-"replace the existing object after pressing the restore button."
-msgstr ""
-"Cette procédure va restaurer un copie instantanée de l'objet sélectionné. "
-"Cela va remplacer l'objet existant après que vous ayez pressé le bouton "
-"restaurer."
+#: include/utils/class_msgPool.inc:193
+#, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
+msgstr "%s de la commande (%s) pour l'extension %s est invalide !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:9
-msgid ""
-"Remember that DNS configuration and database entries could not be restored. "
-"For some objects it is only nescessary to open and save them again (goFon), "
-"but some entries must be recreated manually (glpi)."
-msgstr ""
-"Souvenez vous que la configuration DNS et les base de données ne peuvent pas "
-"être restaurées. Pour certains objets il est juste nécessaire de les ouvrir "
-"et de les sauvegarder à nouveau (goFon), certaines entrée cependant devront "
-"être recrées manuellement (glpi)."
+#: include/utils/class_msgPool.inc:195
+#, php-format
+msgid "%s command for plugin %s is invalid!"
+msgstr "%s de la commande pour l'extension %s est invalide !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:12
-msgid ""
-"Don't forget to check references to other objects, for example does the "
-"selected printer still exists ?"
-msgstr ""
-"N'oubliez pas de vérifier les références avec les autres objets, par exemple "
-"est ce que l'imprimante sélectionnée existe encore ?"
+#: include/utils/class_msgPool.inc:197
+#, php-format
+msgid "%s command (%s) is invalid!"
+msgstr "%s de la commande (%s) est invalide !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:20
-#: ihtml/themes/default/snapshotdialog.tpl:62 include/class_acl.inc:777
-#: include/class_acl.inc:784 include/class_acl.inc:791
-#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
-#: plugins/admin/departments/class_department.inc:621
-msgid "Object"
-msgstr "Objet"
+#: include/utils/class_msgPool.inc:205
+#, php-format
+msgid "Cannot execute %s command!"
+msgstr "Impossible d'exécuter la commande %s !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:29
-msgid "There is no snapshot available that could be restored"
-msgstr "Il n'y a pas de snapshots disponibles qui pourrait être restaurés"
+#: include/utils/class_msgPool.inc:207
+#, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
+msgstr "Impossible d'exécuter %s de la commande (%s) pour l'extension %s !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:31
-msgid "Choose a snapshot and click the folder image, to restore the snapshot"
-msgstr ""
-"Choisissez une copie instantanée et cliquez sur l'image du répertoire, pour "
-"restaurer la copie"
+#: include/utils/class_msgPool.inc:209
+#, php-format
+msgid "Cannot execute %s command for plugin %s!"
+msgstr "Impossible d'exécuter l'option %s de la commande pour l'extension %s !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:49
-msgid "Creating object snapshots"
-msgstr "Créer une copie instantanée des d'objets"
+#: include/utils/class_msgPool.inc:211
+#, php-format
+msgid "Cannot execute %s command (%s)!"
+msgstr "Impossible d'exécuter l'option %s de la commande (%s) !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:52
-msgid ""
-"This procedure will create a snapshot of the selected object. It will be "
-"stored inside a special branch of your directory system and can be restored "
-"later on."
-msgstr ""
-"Cette procédure va créer une copie instantanée de l'objet sélectionné. Il "
-"sera stocké dans une branche spéciale de votre annuaire et pourra être "
-"restauré plus tard."
+#: include/utils/class_msgPool.inc:219
+#, php-format
+msgid "Value for %s is too large!"
+msgstr "La valeur pour %s est trop grande !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:55
-msgid ""
-"Remember that database entries, DNS configurations and possibly created "
-"zones in server extensions will not be stored in the snapshot."
-msgstr ""
-"Souvenez vous que les entrées dans les base de données, les configurations "
-"DNS et probablement les zones crées dans les serveurs ne seront pas stockées "
-"dans les copie instantanées."
+#: include/utils/class_msgPool.inc:221
+#, php-format
+msgid "%s must be smaller than %s!"
+msgstr "%s doit être plus petit que %s !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:70
-msgid "Timestamp"
-msgstr "Date"
+#: include/utils/class_msgPool.inc:229
+#, php-format
+msgid "Value for %s is too small!"
+msgstr "La valeur pour %s est trop petite !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:79
-msgid "Reason for generating this snapshot"
-msgstr "Raison pour la génération de cette copie instantanée"
+#: include/utils/class_msgPool.inc:231
+#, php-format
+msgid "%s must be %s or above!"
+msgstr "%s doit être à %s ou plus grand !"
 
-#: ihtml/themes/default/snapshotdialog.tpl:87
-#: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:561
-#: plugins/admin/departments/class_department.inc:643
-msgid "Continue"
-msgstr "Continuer"
+#: include/utils/class_msgPool.inc:238
+#, php-format
+msgid "%s depends on %s - please provide both values!"
+msgstr "%s dépend de %s - veuillez indiquer les deux valeurs !"
 
-#: ihtml/themes/default/msg_dialog.tpl:57
-#: ihtml/themes/default/msg_dialog.tpl:104 html/index.php:224
-#: html/index.php:228 include/class_management.inc:448
-#: include/class_management.inc:584 include/class_management.inc:916
-#: include/password-methods/class_password-methods.inc:250
-#: include/password-methods/class_password-methods.inc:309
-#: include/password-methods/class_password-methods.inc:320
-#: include/class_listing.inc:480 include/functions.inc:3393
-#: include/functions.inc:3407 include/functions.inc:3437
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485 include/functions.inc:3545
-#: include/class_tabs.inc:56 include/class_plugin.inc:670
-#: include/class_plugin.inc:712 include/class_plugin.inc:755
-#: include/class_plugin.inc:1642 include/utils/class_xml.inc:40
-#: include/utils/class_msgPool.inc:154 include/utils/class_msgPool.inc:166
-#: include/utils/class_msgPool.inc:184 include/utils/class_msgPool.inc:457
-#: include/utils/class_msgPool.inc:478 include/utils/class_msgPool.inc:497
-#: include/class_gosaSupportDaemon.inc:1184
-#: include/class_gosaSupportDaemon.inc:1204
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:377 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:469
-#: plugins/admin/groups/class_group.inc:539
-#: plugins/admin/groups/class_group.inc:545
-#: plugins/admin/groups/class_group.inc:753
-#: plugins/admin/groups/class_group.inc:894
-#: plugins/admin/groups/class_group.inc:899
-#: plugins/admin/groups/class_group.inc:1221
-#: plugins/admin/departments/class_department.inc:311
-#: plugins/admin/acl/class_aclRole.inc:681
-#: plugins/personal/generic/class_user.inc:297
-#: plugins/personal/generic/class_user.inc:408
-#: plugins/personal/generic/class_user.inc:503
-#: plugins/personal/generic/class_user.inc:801
-#: plugins/personal/generic/class_user.inc:1190
-#: plugins/personal/generic/class_user.inc:1197
-#: plugins/personal/generic/class_user.inc:1215
-#: plugins/personal/generic/class_user.inc:1485
-#: plugins/personal/generic/class_user.inc:1783
-#: setup/class_setupStep_Migrate.inc:1201 setup/setup_checks.tpl:30
-#: setup/setup_checks.tpl:91
+#: include/utils/class_msgPool.inc:244
 #, php-format
-msgid "Error"
-msgstr "Erreur"
+msgid "There is already an entry with this %s attribute in the system!"
+msgstr "Il existe déjà une entrée avec l'attribut %s dans le système !"
 
-#: ihtml/themes/default/msg_dialog.tpl:61
-#: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
-msgid "Information"
-msgstr "Information"
+#: include/utils/class_msgPool.inc:250
+#, php-format
+msgid "The required field %s is empty!"
+msgstr "Le champ obligatoire %s n'est pas rempli !"
 
-#: ihtml/themes/default/msg_dialog.tpl:76
-#: ihtml/themes/default/msg_dialog.tpl:78
-#: ihtml/themes/default/msg_dialog.tpl:134
-#: ihtml/themes/default/msg_dialog.tpl:137
-#: ihtml/themes/default/msg_dialog.tpl:142 include/utils/class_msgPool.inc:318
-#: setup/class_setupStep_Migrate.inc:267 setup/class_setupStep_Migrate.inc:319
-#: setup/class_setupStep_Migrate.inc:380 setup/class_setupStep_Migrate.inc:453
-#: setup/class_setupStep_Migrate.inc:530 setup/class_setupStep_Migrate.inc:604
-#: setup/class_setupStep_Migrate.inc:657 setup/class_setupStep_Migrate.inc:800
-#: setup/class_setupStep_Migrate.inc:1046
-#: setup/class_setupStep_Migrate.inc:2013
-#: setup/class_setupStep_Migrate.inc:2157
-#: setup/class_setupStep_Migrate.inc:2579
-#: setup/class_setupStep_Migrate.inc:2733
-#: setup/class_setupStep_Migrate.inc:3063 setup/setup_checks.tpl:27
-#: setup/setup_checks.tpl:87
-#, php-format
-msgid "Ok"
-msgstr "Ok"
-
-#: ihtml/themes/default/password.tpl:6
-msgid "Change your password"
-msgstr "Modifier votre mot de passe"
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
+msgstr "Exemple"
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Success"
-msgstr "Réussi"
+#: include/utils/class_msgPool.inc:278
+#, php-format
+msgid "The Field %s contains invalid characters"
+msgstr "Le champ %s contient des caractères invalides"
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Your password has been changed successfully."
-msgstr "Votre mot de passe à été changé avec succès."
+#: include/utils/class_msgPool.inc:279
+#, php-format
+msgid "%s is not allowed:"
+msgstr "%s n'est pas permis :"
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:198
-#: plugins/admin/users/class_userManagement.inc:390
-#: plugins/personal/password/class_password.inc:128
-#: plugins/personal/password/class_password.inc:131
-#: plugins/personal/password/class_password.inc:134
-#: plugins/personal/password/class_password.inc:137
-#: plugins/personal/password/class_password.inc:140
-#: plugins/personal/password/class_password.inc:143
-#: plugins/personal/password/class_password.inc:157
-#: plugins/personal/password/class_password.inc:163
-msgid "Password change"
-msgstr "Changement de mot de passe"
+#: include/utils/class_msgPool.inc:279
+#, php-format
+msgid "%s are not allowed!"
+msgstr "%s n'est pas autorisé !"
 
-#: ihtml/themes/default/password.tpl:53
-msgid ""
-"This dialog provides a simple way to change your password. Enter the current "
-"password and the new password (twice) in the fields below and press the "
-"'Change' button."
-msgstr ""
-"Cette fenêtre vous permet de changer votre mot de passe de manière simple. "
-"Entrez le mot de passe actuel et le nouveau mot de passe (deux fois) dans "
-"les champs ci-dessous et appuyez sur le bouton 'Changer'."
+#: include/utils/class_msgPool.inc:282
+#, php-format
+msgid "The Field %s contains invalid characters!"
+msgstr "Le champ %s contient des caractères invalides !"
 
-#: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/generic/password.tpl:17
-#: plugins/personal/generic/password.tpl:44
-#: plugins/personal/password/password.tpl:22
-#: plugins/personal/password/password.tpl:49
-msgid "Current password"
-msgstr "Mot de passe actuel"
+#: include/utils/class_msgPool.inc:289
+#, php-format
+msgid "Missing %s PHP extension!"
+msgstr "Extension PHP %s manquante !"
 
-#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:87
-msgid "New password repeated"
-msgstr "Nouveau mot de passe"
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
+#: ihtml/themes/default/copyPasteDialog.tpl:21
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
+msgstr "Annuler"
 
-#: ihtml/themes/default/password.tpl:90
-#: plugins/personal/generic/password.tpl:32
-#: plugins/personal/generic/password.tpl:75
-#: plugins/personal/password/password.tpl:37
-#: plugins/personal/password/password.tpl:80
-msgid "Password strength"
-msgstr "Niveau de sécurité du mot de passe"
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
+#: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
+#: ihtml/themes/default/msg_dialog.tpl:139
+#: ihtml/themes/default/msg_dialog.tpl:144
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
+#, php-format
+msgid "OK"
+msgstr ""
 
-#: ihtml/themes/default/password.tpl:101
-msgid "Change"
-msgstr "Changer"
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
+msgstr "Appliquer"
 
-#: ihtml/themes/default/islocked.tpl:2
-msgid "Locking conflict detected"
-msgstr "Conflit de verrou détecté"
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
+msgstr "Enregistrer"
 
-#: ihtml/themes/default/islocked.tpl:9
-msgid ""
-"If this lock detection is false, the other person has obviously closed the "
-"webbrowser during the edit operation. You may want to take over the lock by "
-"pressing the 'Edit anyway' button."
-msgstr ""
-"Si la détection de ce verrou est fausse, une autre personne a manifestement "
-"fermé la fenêtre de son navigateur durant une opération de modification "
-"d'une entrée. Dans ce cas, vous pouvez supprimez le verrou en cliquant sur "
-"le bouton 'Éditer malgré tout'."
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
+msgstr "Ajouter"
 
-#: ihtml/themes/default/islocked.tpl:16
-msgid "Read only"
-msgstr "Lecture seule"
+#: include/utils/class_msgPool.inc:319
+#, php-format
+msgid "Add %s"
+msgstr "Ajouter %s"
 
-#: ihtml/themes/default/help.tpl:9
-msgid "GOsa help viewer"
-msgstr "Aide en ligne de GOsa"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
+msgstr "Supprimer"
 
-#: ihtml/themes/default/help.tpl:15
-msgid "Index"
-msgstr "Index"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete %s"
+msgstr "Supprimer %s"
 
-#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:13
-msgid "Search"
-msgstr "Recherche"
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
+msgstr "Activer"
 
-#: ihtml/themes/default/logout.tpl:5
-msgid "Your GOsa session has expired!"
-msgstr "Votre session GOsa à expiré !"
+#: include/utils/class_msgPool.inc:331
+#, php-format
+msgid "Set %s"
+msgstr "Activer %s"
 
-#: ihtml/themes/default/logout.tpl:7
-msgid ""
-"The last interaction with the GOsa web interface has been some time ago in "
-"the past. For security reasons, the session has been closed. To continue "
-"with administrative tasks, please sign in again."
-msgstr ""
-"Votre dernière interaction avec GOsa date d'un certain temps. Pour des "
-"raisons de sécurité, la session à été fermée. Pour continuer à administrer, "
-"veuillez vous reconnecter."
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit..."
+msgstr "Editer..."
 
-#: ihtml/themes/default/logout.tpl:10
-msgid "Sign in again"
-msgstr "Reconnexion"
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit %s..."
+msgstr "Editer %s..."
 
-#: ihtml/themes/default/conflict.tpl:2
-msgid "Session conflict detected"
-msgstr "Conflit détecté entre différentes sessions"
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
+msgstr "Retour"
+
+#: include/utils/class_msgPool.inc:363
+#, php-format
+msgid "This account has no valid %s extensions!"
+msgstr "Ce compte n'a pas d'extensions %s valides !"
 
-#: ihtml/themes/default/conflict.tpl:6
+#: include/utils/class_msgPool.inc:369
+#, php-format
 msgid ""
-"Probably there's another active instance of your session. Multiple window "
-"operation is technical not possible and heavily depends on the browser "
-"you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is "
-"possible. Pressing the Logout button will close this session."
+"This account has %s settings enabled. You can disable them by clicking below."
 msgstr ""
-"Une autre instance de votre session a été détectée. Les opérations multiples "
-"sont techniquement impossible et dépendent du navigateur utilisé. L'usage de "
-"navigateurs différents en même temps est possible (ex: IE et Mozilla) est "
-"possible. Cliquer sur le bouton 'Déconnexion' fermera cette session."
+"Ce compte possède l'extension %s activée. Vous pouvez la supprimer en "
+"cliquant sur le bouton ci-dessous."
 
-#: ihtml/themes/default/conflict.tpl:10
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, php-format
 msgid ""
-"Ignoring this message will change/destroy the data you're currently editing, "
-"so please close multiple windows and log in again."
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
 msgstr ""
-"Ignorer ce message entraînera la modification/destruction des données en "
-"cours d'édition, il est conseillé de fermer toutes les fenêtres ouvertes et "
-"de se reconnecter."
+"Ce compte possède %s paramètres activés. Pour le désactiver vous devez au "
+"préalable supprimer les %s paramètres !"
 
-#: ihtml/themes/default/conflict.tpl:14
-msgid "Logout"
-msgstr "Déconnexion"
+#: include/utils/class_msgPool.inc:388
+#, php-format
+msgid ""
+"This account has %s settings disabled. You can enable them by clicking below."
+msgstr ""
+"Ce compte possède %s paramètres desactivés. Vous pouvez les activer en "
+"clicquant ci dessous."
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-#: ihtml/themes/default/framework.tpl:20 ihtml/themes/default/framework.tpl:24
-#: include/class_pluglist.inc:212
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, php-format
 msgid ""
-"You are currently editing a database entry. Do you want to dismiss the "
-"changes?"
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
 msgstr ""
-"Vous êtes actuellement en train d éditer une entrée de la base de données. "
-"Voulez vous annuler les modifications ?"
+"Ce compte possède %s paramètres désactivés. Pour les activer, vous devez au "
+"préalable ajouter les %s paramètres !"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-msgid "Main"
-msgstr "Accueil"
+#: include/utils/class_msgPool.inc:406
+#, php-format
+msgid "Add %s settings"
+msgstr "Ajouter %s paramètres"
 
-#: ihtml/themes/default/framework.tpl:16
-msgid "Help"
-msgstr "Aide"
+#: include/utils/class_msgPool.inc:412
+#, php-format
+msgid "Remove %s settings"
+msgstr "Effacer %s paramètres"
 
-#: ihtml/themes/default/framework.tpl:21 ihtml/themes/default/framework.tpl:25
-msgid "Sign out"
-msgstr "Déconnexion"
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
+msgstr ""
+"Cliquez sur le bouton 'Editer' ci-dessous pour changer les informations dans "
+"cette boite de dialogue"
 
-#: ihtml/themes/default/framework.tpl:29
-msgid "Signed in:"
-msgstr "Connecté:"
+#: include/utils/class_msgPool.inc:424
+msgid "January"
+msgstr "Janvier"
 
-#: ihtml/themes/default/framework.tpl:32
-msgid "GOsa main menu"
-msgstr "Menu Principal de GOsa"
+#: include/utils/class_msgPool.inc:424
+msgid "February"
+msgstr "Février"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:454
-#: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:433
-msgid "Fatal error"
-msgstr "Erreur Fatale"
+#: include/utils/class_msgPool.inc:424
+msgid "March"
+msgstr "Mars"
 
-#: html/password.php:58 html/index.php:144
-#, php-format
-msgid "GOsa configuration %s/%s is not readable. Aborted."
-msgstr "Le fichier de configuration %s/%s ne peut être lu. Abandon."
+#: include/utils/class_msgPool.inc:424
+msgid "April"
+msgstr "Avril"
 
-#: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:268
-#: include/password-methods/class_password-methods-ssha.inc:51
-#: include/password-methods/class_password-methods-sha.inc:48
-#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:58
-#: include/class_SnapshotHandler.inc:76 include/functions.inc:825
-#: include/functions.inc:3067 include/functions.inc:3099
-#: include/functions.inc:3112 include/utils/class_timezone.inc:47
-#: include/class_config.inc:155 include/class_config.inc:695
-#: include/class_config.inc:1146 include/class_config.inc:1159
-#: include/class_config.inc:1177 include/class_pluglist.inc:182
-#: include/class_CopyPasteHandler.inc:119
-#: include/class_CopyPasteHandler.inc:128
-#: include/class_CopyPasteHandler.inc:177
-#: include/class_CopyPasteHandler.inc:186
-#: include/class_CopyPasteHandler.inc:194
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:667
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Configuration error"
-msgstr "Erreur de configuration"
+#: include/utils/class_msgPool.inc:425
+msgid "May"
+msgstr "Mai"
 
-#: html/password.php:74 html/index.php:165 html/setup.php:66
-#, php-format
-msgid "Directory '%s' specified as compile directory is not accessible!"
-msgstr ""
-"Le répertoire '%s' spécifié comme répertoire de compilation est "
-"inaccessible !"
+#: include/utils/class_msgPool.inc:425
+msgid "June"
+msgstr "Juin"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:593
-msgid "Password method"
-msgstr "Format de stockage des mots de passe"
+#: include/utils/class_msgPool.inc:425
+msgid "July"
+msgstr "Juillet"
 
-#: html/password.php:159
-msgid "Error: Password method not available!"
-msgstr "Erreur: Méthode de changement de mot de passe non disponible!"
+#: include/utils/class_msgPool.inc:425
+msgid "August"
+msgstr "Août"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:316
-#: plugins/personal/password/class_password.inc:132
-msgid ""
-"The passwords you've entered as 'New password' and 'Repeated new password' "
-"do not match."
-msgstr ""
-"Le mot de passe entrée dans le champ 'Nouveau mot de passe' et celui dans le "
-"champ 'Répéter le nouveau mot de passe' ne concordent pas."
+#: include/utils/class_msgPool.inc:425
+msgid "September"
+msgstr "Septembre"
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:138
-msgid "The password used as new and current are too similar."
-msgstr "Le nouveau et l'ancien mot de passe sont trop similaires."
+#: include/utils/class_msgPool.inc:426
+msgid "October"
+msgstr "Octobre"
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:141
-msgid "The password used as new is to short."
-msgstr "Le nouveau mot de passe ne comporte pas suffisamment de caractères."
+#: include/utils/class_msgPool.inc:426
+msgid "November"
+msgstr "Novembre"
 
-#: html/password.php:215 plugins/admin/groups/userSelect/user-list.xml:56
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
-#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
-#: plugins/personal/generic/class_user.inc:1313
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1345
-#: plugins/personal/generic/class_user.inc:1347
-#: plugins/personal/generic/generic.tpl:82
-#: plugins/personal/generic/paste_generic.tpl:15
-msgid "Login"
-msgstr "Identifiant"
+#: include/utils/class_msgPool.inc:426
+msgid "December"
+msgstr "Décembre"
 
-#: html/password.php:224 html/index.php:321
-msgid "Please check the username/password combination."
-msgstr "Veuillez vérifier le nom d'utilisateur et le mot de passe."
-
-#: html/password.php:228
-msgid "You have no permissions to change your password."
-msgstr "Vous n'avez pas l'autorisation pour changer votre mot de passe."
-
-#: html/password.php:249
-msgid "External password changer reported a problem: "
-msgstr "Le programme externe pour changer votre mot de passe à renvoyé une erreur: "
-
-#: html/password.php:280 html/index.php:406
-msgid "Session will not be encrypted."
-msgstr "La session ne sera pas cryptée."
-
-#: html/password.php:280 html/index.php:406
-msgid "Enter SSL session"
-msgstr "Démarrer une session SSL"
+#: include/utils/class_msgPool.inc:432
+msgid "Sunday"
+msgstr "Dimanche"
 
-#: html/index.php:57
-msgid "Session is not encrypted!"
-msgstr "La session n'est pas cryptée !"
+#: include/utils/class_msgPool.inc:432
+msgid "Monday"
+msgstr "Lundi"
 
-#: html/index.php:64
-msgid ""
-"The session lifetime configured in your gosa.conf will be overridden by php."
-"ini settings."
-msgstr ""
-"La durée de validité des sessions configurée dans votre gosa.conf sera "
-"remplacée par celle définie dans votre php.ini."
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
+msgstr "Mardi"
 
-#: html/index.php:165
-msgid "Smarty error"
-msgstr "Erreur Smarty"
+#: include/utils/class_msgPool.inc:432
+msgid "Wednesday"
+msgstr "Mercredi"
 
-#: html/index.php:216
-msgid "There is a problem with the authentication setup!"
-msgstr "Il y a une problèmes avec la configuration de l'authentification !"
-
-#: html/index.php:224
-msgid "Cannot find a valid user for the current authentication setup!"
-msgstr ""
-"Impossible de trouver un utilisateur valide pour le système "
-"d'authentification !"
-
-#: html/index.php:228
-msgid "User information is not unique accross the configured LDAP trees!"
-msgstr ""
-"L'information de l'utilisateur n'est pas unique à travers tout les "
-"annuaires !"
-
-#: html/index.php:254 html/index.php:265 html/index.php:278
-#: include/class_SnapshotHandler.inc:124 include/class_SnapshotHandler.inc:281
-#: include/class_SnapshotHandler.inc:329 include/class_SnapshotHandler.inc:333
-#: include/class_SnapshotHandler.inc:348 include/class_SnapshotHandler.inc:383
-#: include/class_SnapshotHandler.inc:438 include/class_SnapshotHandler.inc:503
-#: include/class_SnapshotHandler.inc:518 include/class_acl.inc:1233
-#: include/class_acl.inc:1329 include/functions.inc:483
-#: include/functions.inc:518 include/functions.inc:526
-#: include/functions.inc:571 include/functions.inc:840
-#: include/functions.inc:889 include/functions.inc:946
-#: include/functions.inc:999 include/functions.inc:3046
-#: include/functions.inc:3319 include/class_plugin.inc:1319
-#: include/class_plugin.inc:1368 include/class_plugin.inc:1372
-#: include/class_plugin.inc:1388 include/class_plugin.inc:1428
-#: include/class_plugin.inc:1486 include/class_plugin.inc:1552
-#: include/class_plugin.inc:1567 include/class_ldap.inc:756
-#: include/class_ldap.inc:1222 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:888
-#: plugins/admin/ogroups/class_ogroup.inc:902
-#: plugins/admin/groups/class_group.inc:697
-#: plugins/admin/groups/class_group.inc:1018
-#: plugins/admin/departments/class_department.inc:279
-#: plugins/admin/departments/class_department.inc:476
-#: plugins/admin/departments/class_department.inc:750
-#: plugins/admin/departments/class_department.inc:781
-#: plugins/admin/acl/class_aclRole.inc:613
-#: plugins/admin/acl/class_aclRole.inc:653
-#: plugins/admin/acl/class_aclRole.inc:667
-#: plugins/personal/generic/class_user.inc:716
-#: plugins/personal/generic/class_user.inc:1112
-#: plugins/personal/posix/class_posixAccount.inc:631
-#: plugins/personal/posix/class_posixAccount.inc:963
-#: setup/class_setupStep_Migrate.inc:1212
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#: setup/class_setupStep_Migrate.inc:2143
-#: setup/class_setupStep_Migrate.inc:2440
-#: setup/class_setupStep_Migrate.inc:2444
-#: setup/class_setupStep_Migrate.inc:2634
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
-#: setup/class_setupStep_Migrate.inc:3118
-#: setup/class_setupStep_Migrate.inc:3132
-msgid "LDAP error"
-msgstr "Erreur LDAP"
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
+msgstr "Jeudi"
 
-#: html/index.php:265
-msgid "Cannot detect information about the installed LDAP schema!"
-msgstr "Impossible de détecter les information sur les schémas LDAP installés !"
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
+msgstr "Vendredi"
 
-#: html/index.php:278
-msgid "Your LDAP setup contains old schema definitions:"
-msgstr "Votre installation LDAP contient de vieux schémas :"
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
+msgstr "Samedi"
 
-#: html/index.php:299
-msgid "Please specify a valid username!"
-msgstr "Le nom d'utilisateur est incorrect !"
+#: include/utils/class_msgPool.inc:439
+msgid "MySQL operation failed!"
+msgstr "La requête MySQL à échoué !"
 
-#: html/index.php:302
-msgid "Please specify your password!"
-msgstr "Veuillez introduire votre mot de passe !"
+#: include/utils/class_msgPool.inc:447
+msgid "read operation"
+msgstr "lecture"
 
-#: html/index.php:314
-msgid "Authentication error"
-msgstr "Erreur d'authentification"
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
+msgstr "ajout"
 
-#: html/index.php:314
-msgid "Cannot retrieve user information for htaccess authentication!"
-msgstr ""
-"Impossible de trouver l'information utilisateur pour l'authentification "
-"htaccess !"
+#: include/utils/class_msgPool.inc:447
+msgid "modify operation"
+msgstr "modification"
 
-#: html/index.php:369
-msgid "Account locked. Please contact your system administrator!"
-msgstr "Compte verouillé. Veuillez contacter votre administrateur système !"
+#: include/utils/class_msgPool.inc:448
+msgid "delete operation"
+msgstr "suppression"
 
-#: html/index.php:412
-msgid ""
-"Your browser has cookies disabled. Please enable cookies and reload this "
-"page before logging in!"
-msgstr ""
-"Votre navigateur à les cookies désactivées. Veuillez activer les cookies et "
-"recharger cette page avant de vous connecter !"
+#: include/utils/class_msgPool.inc:448
+msgid "search operation"
+msgstr "recherche"
 
-#: html/setup.php:66
-msgid "Smarty"
-msgstr "Smarty"
+#: include/utils/class_msgPool.inc:448
+msgid "authentication"
+msgstr "authentification"
 
-#: html/main.php:148
+#: include/utils/class_msgPool.inc:451
 #, php-format
-msgid "Cannot locate file '%s' - please run '%s' to fix this"
-msgstr "Je n'ai pas trouvé '%s' - veuillez exécuter '%s' pour régler ce problème"
-
-#: html/main.php:167
-msgid "PHP configuration"
-msgstr "Configuration de PHP"
-
-#: html/main.php:168
-msgid ""
-"FATAL: Register globals is on. GOsa will refuse to login unless this is "
-"fixed by an administrator."
-msgstr ""
-"FATAL: Register globals est activé. GOsa ne permettra pas aux utilisateurs "
-"de se connecter tant que ceci n'est pas corrigé par un administrateur."
-
-#: html/main.php:198
-msgid "Your password is about to expire, please change your password!"
-msgstr "Votre mot de passe va bientôt expirer, veuillez changer votre mot de passe !"
+msgid "LDAP %s failed!"
+msgstr "La requête LDAP %s à échoué !"
 
-#: html/main.php:268
-msgid "Running out of memory!"
-msgstr "Plus de mémoire disponible !"
+#: include/utils/class_msgPool.inc:453
+msgid "LDAP operation failed!"
+msgstr "La requête LDAP à échoué !"
 
-#: html/main.php:325
-msgid "User ACL checks disabled"
-msgstr "Les vérifications des ACL de l'utilisateur ont été désactivés"
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
+msgstr "Objet"
 
-#: html/main.php:373
-msgid "Plugin"
-msgstr "Extension"
+#: include/utils/class_msgPool.inc:469
+msgid "Upload failed!"
+msgstr "Le téléchargement à échoué !"
 
-#: html/main.php:374
+#: include/utils/class_msgPool.inc:472
 #, php-format
-msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
-msgstr "FATAL: Impossible de trouver une définition pour l'extension '%s' !"
+msgid "Upload failed: %s"
+msgstr "Le téléchargement à échoué : %s"
 
-#: html/main.php:388
-msgid "Configuration Error"
-msgstr "Erreur de configuration"
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
+msgstr "Erreur de communication avec le service d'infrastructure !"
 
-#: html/main.php:389
+#: include/utils/class_msgPool.inc:481
 #, php-format
-msgid ""
-"FATAL: not all POST variables have been transfered by PHP - please inform "
-"your administrator!"
-msgstr ""
-"FATAL: toute les variables POST non pas été transférées par PHP - Veuillez "
-"avertir votre administrateur !"
-
-#: html/helpviewer.php:64
-msgid "Help browser"
-msgstr "Aide"
-
-#: html/helpviewer.php:118
-msgid "There is no helpfile specified for this class"
-msgstr "Il n'y a pas de fichier d'aide spécifiée pour cette classe."
+msgid "Communication failure with the infrastructure service: %s"
+msgstr "Erreur de communication avec le service d'infrastructure : %s"
 
-#: html/helpviewer.php:194 include/functions_helpviewer.inc:97
-msgid "previous"
-msgstr "précédent"
+#: include/utils/class_msgPool.inc:488
+msgid "Communication failure with the GOsa-NG service!"
+msgstr "Erreur de communication avec le service GOsa-NG !"
 
-#: html/helpviewer.php:198 include/functions_helpviewer.inc:101
-msgid "next"
-msgstr "suivant"
+#: include/utils/class_msgPool.inc:490
+#, php-format
+msgid "Communication failure with the GOsa-NG service: %s"
+msgstr "Erreur de communication avec le service GOsa-NG : %s"
 
-#: html/helpviewer.php:269
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
 #, php-format
-msgid "Helpdir '%s' is not accessible, can't read any helpfiles."
-msgstr ""
-"Le répertoire d'aide '%s' n'est pas accessible, impossible de lire les "
-"fichiers d'aide."
+msgid "This %s is still in use by this object: %s"
+msgstr "Ce %s est en cours d'utilisation par : %s"
 
-#: include/class_management.inc:32 include/class_management.inc:33
-#: plugins/personal/posix/class_posixAccount.inc:237
-msgid "unconfigured"
-msgstr "non configuré"
+#: include/utils/class_msgPool.inc:503
+#, php-format
+msgid "This %s is still in use."
+msgstr "Ce %s est toujours en utilisation."
 
-#: include/class_management.inc:145
-msgid "Filter error"
-msgstr "Erreur de Filtre"
-
-#: include/class_management.inc:145
-msgid "The filter is incomplete!"
-msgstr "Le filtre est incomplet !"
-
-#: include/class_management.inc:292 include/class_management.inc:427
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1590
-#: include/class_plugin.inc:1602 include/class_plugin.inc:1617
-#: include/class_plugin.inc:1630
-#: plugins/admin/users/class_userManagement.inc:236
-#: plugins/admin/users/class_userManagement.inc:744
-msgid "Permission"
-msgstr "Permissions"
+#: include/utils/class_msgPool.inc:505
+#, php-format
+msgid "This %s is still in use by these objects: %s"
+msgstr "Ce %s est en utilisation par les objets : %s"
 
-#: include/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:702
-#: plugins/admin/users/class_userManagement.inc:706
-#: plugins/admin/acl/class_aclManagement.inc:98
-msgid "Permission error"
-msgstr "Erreur de permissions"
+#: include/utils/class_msgPool.inc:511
+#, php-format
+msgid "File %s does not exist!"
+msgstr "Le fichier %s n'existe pas !"
 
-#: include/class_management.inc:427 include/class_plugin.inc:1590
+#: include/utils/class_msgPool.inc:517
 #, php-format
-msgid "You are not allowed to create a snapshot for %s."
-msgstr "Vous n'êtes pas autorisé à créer une nouvelle copie instantanée pour %s."
+msgid "Cannot open file %s for reading!"
+msgstr "Impossible de lire le fichier %s !"
 
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1602
-#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
+#: include/utils/class_msgPool.inc:523
 #, php-format
-msgid "You are not allowed to restore a snapshot for %s."
-msgstr "Vous n'êtes pas autorisé à restaurer un copie instantanée de %s."
+msgid "Cannot open file %s for writing!"
+msgstr "Impossible d'écrire dans le fichier %s !"
 
-#: include/class_management.inc:584
+#: include/utils/class_msgPool.inc:529
 #, php-format
 msgid ""
-"No tab declaration for '%s' found in your configuration file. Cannot create "
-"plugin instance!"
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
 msgstr ""
-"Pas de déclaration pour '%s' dans votre fichier de configuration. Impossible "
-"d'initialiser le plugin !"
+"La valeur de %s est actuellement vide ou non valide, veuillez vérifier votre "
+"fichier de configuration !"
 
-#: include/class_socketClient.inc:60
-msgid "The mcrypt module was not found. Please install php5-mcrypt."
-msgstr "Le module mcrypt n'as pas été trouvé. Veuillez installer php5-mycrypt."
+#: include/utils/class_msgPool.inc:535
+#, php-format
+msgid "Cannot delete file %s!"
+msgstr "Impossible d'effacer le fichier %s !"
 
-#: include/class_socketClient.inc:108
+#: include/utils/class_msgPool.inc:541
 #, php-format
-msgid "Socket connection to host '%s:%s' failed: %s"
-msgstr "La connexion socket vers l'hôte '%s:%s' à echoué : %s"
+msgid "Cannot create folder %s!"
+msgstr "Impossible de créer le répertoire %s !"
 
-#: include/class_socketClient.inc:191
+#: include/utils/class_msgPool.inc:547
 #, php-format
-msgid "Socket timeout of %s seconds reached."
-msgstr "Le temps limite du socket de '%s' secondes à été atteint."
+msgid "Cannot delete folder %s!"
+msgstr "Impossible d'effacer le répertoire %s !"
 
-#: include/password-methods/class_password-methods.inc:250
-msgid "Cannot find a suitable password method for the current hash!"
-msgstr ""
-"Impossible de trouver une méthode de cryptage correspondante pour le mot de "
-"passe !"
+#: include/utils/class_msgPool.inc:553
+#, php-format
+msgid "Checking for %s support"
+msgstr "Vérification du support pour %s"
 
-#: include/class_SnapshotHandler.inc:46 include/class_SnapshotHandler.inc:77
-#: include/class_config.inc:1147 include/class_config.inc:1178
+#: include/utils/class_msgPool.inc:559
 #, php-format
-msgid ""
-"The snapshot functionality is enabled, but the required variable '%s' is not "
-"set."
-msgstr ""
-"La fonctionnalité pour les copie instantanées est activée, mais la variable "
-"requise '%s' n'est pas configurée."
+msgid "Install and activate the %s PHP module."
+msgstr "Installer et activer le module PHP %s."
 
-#: include/class_SnapshotHandler.inc:59 include/class_config.inc:1160
+#: include/utils/class_msgPool.inc:565
 #, php-format
 msgid ""
-"The snapshot functionality is enabled, but the required compression module "
-"is missing. Please install '%s'."
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
 msgstr ""
-"La fonctionnalité pour les copie instantanées est activée, mais le module "
-"nécessaire à la compression est manquant. Veuillez installer '%s'. "
-
-#: include/class_acl.inc:27
-msgid "Access control"
-msgstr "Contrôle d'accès"
+"Impossible d'initialiser la classe %s ! Peut être manque t'il une extension "
+"dans votre installation de GOsa ?"
 
-#: include/class_acl.inc:28 plugins/admin/acl/class_aclManagement.inc:26
-msgid "Manage access control lists"
-msgstr "Gestion de listes de contrôle d'accès (ACL)"
+#: include/utils/class_msgPool.inc:571
+msgid ""
+"The supplied base is not valid and has been reset to its previous value!"
+msgstr ""
+"La base fournie n'est pas valide et a été réinitialise à sa valeur "
+"précedente !"
 
-#: include/class_acl.inc:120 include/class_acl.inc:581
-#: include/class_acl.inc:1009
+#: include/utils/class_timezone.inc:47
 #, php-format
-msgid "All users"
-msgstr "Tout les utilisateurs"
-
-#: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
-msgid "All categories"
-msgstr "Toutes les catégories"
-
-#: include/class_acl.inc:222
-msgid "Reset ACLs"
-msgstr "Remise à zéro des ACL"
+msgid "The configured timezone %s is not valid!"
+msgstr "Le fuseau horaire configuré %s est incorrect !"
+
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
+msgstr "Avertissement"
 
-#: include/class_acl.inc:223 plugins/admin/acl/class_aclRole.inc:135
-msgid "One level"
-msgstr "Un niveau"
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+msgid "Fatal error"
+msgstr "Erreur Fatale"
 
-#: include/class_acl.inc:224 include/class_acl.inc:229
-#: plugins/admin/acl/class_aclRole.inc:136
-msgid "Current object"
-msgstr "Objet actuel"
+#: include/utils/class_xml.inc:51
+msgid "XML error"
+msgstr "Erreur XML"
 
-#: include/class_acl.inc:225 plugins/admin/acl/class_aclRole.inc:137
-msgid "Complete subtree"
-msgstr "Sous arbre complet"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
+msgstr "Tri ascendant"
 
-#: include/class_acl.inc:226 plugins/admin/acl/class_aclRole.inc:138
-msgid "Complete subtree (permanent)"
-msgstr "Le sous arbre complet (permanent)"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
+msgstr "Tri descendant"
 
-#: include/class_acl.inc:227 include/class_acl.inc:230
-msgid "Use ACL defined in role"
-msgstr "Utiliser l'ACL définie dans le rôle"
+#: include/class_listing.inc:319
+msgid "Select all"
+msgstr "Sélectionner tout"
 
-#: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1674
-#: setup/class_setupStep_Migrate.inc:1040
-msgid "Users"
-msgstr "Utilisateurs"
+#: include/class_listing.inc:578
+msgid "created by"
+msgstr "Crée par"
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
-#: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1043
-msgid "Groups"
-msgstr "Groupes"
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
+msgid "Root"
+msgstr "Racine"
 
-#: include/class_acl.inc:496 include/class_listing.inc:242
-#: include/class_listing.inc:999 include/class_listing.inc:1001
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:372
-msgid "Up"
-msgstr "Au dessus"
-
-#: include/class_acl.inc:498 include/class_listing.inc:242
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:374
-msgid "Down"
-msgstr "En bas"
-
-#: include/class_acl.inc:503 include/class_acl.inc:551
-#: include/class_sortableListing.inc:192 include/class_sortableListing.inc:194
-#: plugins/admin/ogroups/ogroup-list.xml:91
-#: plugins/admin/groups/group-list.xml:108
-#: plugins/admin/users/user-list.xml:114
-#: plugins/admin/departments/dep-list.xml:172
-#: plugins/admin/acl/class_aclRole.inc:377
-#: plugins/admin/acl/class_aclRole.inc:426 plugins/admin/acl/acl-list.xml:131
-msgid "Edit"
-msgstr "Editer"
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
+msgstr "Retourner au niveau précédent"
 
-#: include/class_acl.inc:503 include/class_acl.inc:507
-#: include/class_acl.inc:1265 include/class_acl.inc:1266
-#: include/class_acl.inc:1271 include/class_tabs.inc:401
-#: plugins/admin/acl/tabs_acl.inc:28 plugins/admin/acl/class_aclRole.inc:378
-#: plugins/admin/acl/class_aclRole.inc:382
-#: plugins/admin/acl/class_aclRole.inc:762
-msgid "ACL"
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
 msgstr ""
 
-#: include/class_acl.inc:507 include/class_acl.inc:555
-#: include/class_sortableListing.inc:197 include/class_sortableListing.inc:199
-#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
-#: plugins/admin/acl/class_aclRole.inc:430
-#, php-format
-msgid "Delete"
-msgstr "Supprimer"
-
-#: include/class_acl.inc:543
-msgid "No ACL settings for this category!"
-msgstr "Pas de paramètres pour les ACL de cette catégorie !"
-
-#: include/class_acl.inc:545
-#, php-format
-msgid "Contains ACLs for these objects: %s"
-msgstr "Contient les ACL pour ces objets: %s"
-
-#: include/class_acl.inc:551 include/class_acl.inc:555
-msgid "category ACL"
-msgstr "ACL de la catégorie"
-
-#: include/class_acl.inc:608
-#, php-format
-msgid "Edit ACL for '%s' - scope is '%s'"
-msgstr "Editer l'ACL pour '%s', l'étendue est '%s'"
-
-#: include/class_acl.inc:618 plugins/admin/acl/class_aclRole.inc:460
-msgid "All objects in current subtree"
-msgstr "Tout les objets dans le sous arbres actuel"
-
-#: include/class_acl.inc:779 include/class_acl.inc:786
-msgid "Show/hide advanced settings"
-msgstr "Afficher/Cacher la configuration avancée"
-
-#: include/class_acl.inc:803
-msgid "Create objects"
-msgstr "Créer un objet"
-
-#: include/class_acl.inc:804
-msgid "Move objects"
-msgstr "Bouger un objet"
-
-#: include/class_acl.inc:805
-msgid "Remove objects"
-msgstr "Enlever les objets"
+#: include/class_listing.inc:1079
+msgid "Reload list"
+msgstr "Recharger la liste"
 
-#: include/class_acl.inc:807
-msgid "Grant permission to owner"
-msgstr "Donner la permission à l'utilisateur"
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
+msgid "Actions"
+msgstr ""
 
-#: include/class_acl.inc:811 include/class_acl.inc:916
-#: include/class_acl.inc:920
-msgid "read"
-msgstr "lecture"
+#: include/class_listing.inc:1453
+msgid "Copy"
+msgstr "Copier"
 
-#: include/class_acl.inc:812 include/class_acl.inc:918
-#: include/class_acl.inc:921
-msgid "write"
-msgstr "écrire"
+#: include/class_listing.inc:1459
+msgid "Cut"
+msgstr "Couper"
 
-#: include/class_acl.inc:816
-msgid "Complete object"
-msgstr "L'objet au complet"
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
+msgid "Paste"
+msgstr "Coller"
 
-#: include/class_acl.inc:960 include/class_session.inc:76
-#: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:611 include/functions.inc:815
-#: include/functions.inc:933 include/functions.inc:1331
-#: include/functions.inc:2414 include/functions.inc:2448
-#: include/functions.inc:2468 include/class_ldap.inc:693
-#: include/class_ldap.inc:744 include/class_log.inc:87
-#: include/class_CopyPasteHandler.inc:160
-#: include/class_CopyPasteHandler.inc:274
-msgid "Internal error"
-msgstr "Erreur interne"
+#: include/class_listing.inc:1492
+msgid "Cut this entry"
+msgstr "Couper cette entrée"
 
-#: include/class_acl.inc:960
-#, php-format
-msgid "Unkown ACL type '%s'!"
-msgstr "Type d'ACL inconnu '%s' !"
+#: include/class_listing.inc:1501
+msgid "Copy this entry"
+msgstr "Copier cette entrée"
 
-#: include/class_acl.inc:1005
-#, php-format
-msgid "Unknown entry '%s'!"
-msgstr "Entrée inconnue '%s'  !"
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
+msgid "Restore snapshots"
+msgstr "Restaurer la copie instantanée"
 
-#: include/class_acl.inc:1069 include/class_acl.inc:1071
-#, php-format
-msgid "Role: %s"
-msgstr "Rôle : %s"
+#: include/class_listing.inc:1549
+msgid "Export list"
+msgstr "Exporter la liste"
 
-#: include/class_acl.inc:1071
-msgid "unknown role"
-msgstr "Rôle inconnu"
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
+msgid "Restore snapshot"
+msgstr "Restaurer la copie instantanée"
 
-#: include/class_acl.inc:1079
-#, php-format
-msgid "Contains settings for these objects: %s"
-msgstr "Contient les paramètres pour ces objets: %s"
+#: include/class_listing.inc:1591
+msgid "Create new snapshot for this object"
+msgstr "Créer un nouveau snapshot depuis cet objet"
 
-#: include/class_acl.inc:1096
-msgid "inactive"
-msgstr "inactif"
-
-#: include/class_acl.inc:1096
-msgid "No members"
-msgstr "Aucun membres"
-
-#: include/class_acl.inc:1266
-msgid "Access control list"
-msgstr "Contrôle d'accès (ACL)"
-
-#: include/class_acl.inc:1271
-msgid "ACL roles"
-msgstr "Rôles ACL"
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
+msgid "Parent filter"
+msgstr ""
+
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
+msgstr "Nom"
 
-#: include/class_session.inc:76 include/class_session.inc:101
-#: include/class_session.inc:127
-msgid "Requested channel does not exist! Please contact your Administrator."
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
 msgstr ""
-"Le canal demandé n'existe pas ! Veuillez contacter votre administrateur "
-"système."
-
-#: include/class_listing.inc:301 setup/setup_migrate.tpl:93
-#: setup/setup_migrate.tpl:149 setup/setup_migrate.tpl:201
-#: setup/setup_migrate.tpl:368 setup/setup_migrate.tpl:421
-#: setup/setup_migrate.tpl:464 setup/setup_migrate.tpl:507
-#: setup/setup_migrate.tpl:551
-msgid "Select all"
-msgstr "Sélectionner tout"
-
-#: include/class_listing.inc:522
-msgid "created by"
-msgstr "Crée par"
 
-#: include/class_listing.inc:991
-msgid "Go to root department"
-msgstr "Aller au département de base"
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
+msgstr "Catégorie"
 
-#: include/class_listing.inc:991 include/class_listing.inc:993
-#: include/class_baseSelector.inc:159
-msgid "Root"
-msgstr "Racine"
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+msgid "Options"
+msgstr ""
+
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
+msgid "LDAP error"
+msgstr "Erreur LDAP"
 
-#: include/class_listing.inc:999
-msgid "Go up one department"
-msgstr "Monter d'un département"
+#: include/class_log.inc:87
+#, php-format
+msgid "Logging failed: %s"
+msgstr "Echec du Journal système : %s"
 
-#: include/class_listing.inc:1007
-msgid "Go to users department"
-msgstr "Aller au département des utilisateurs"
+#: include/class_log.inc:102
+#, php-format
+msgid "Invalid option %s specified!"
+msgstr "Option %s non valide !"
 
-#: include/class_listing.inc:1007 include/class_listing.inc:1009
-msgid "Home"
-msgstr "Accueil"
+#: include/class_log.inc:106
+msgid "Specified 'objectType' is empty or invalid!"
+msgstr "Le type d'objet spécifié est vide ou invalide !"
 
-#: include/class_listing.inc:1014
-msgid "Reload list"
-msgstr "Recharger la liste"
+#: include/class_multi_plug.inc:362
+msgid "You are currently editing multiple entries."
+msgstr "Vous êtes occupé à éditer des entrées multiples."
 
-#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
-msgid "Submit"
-msgstr "Soumettre"
+#: include/class_multi_plug.inc:394
+msgid "Reset password"
+msgstr "Réinitialiser le mot de passe"
 
-#: include/class_listing.inc:1109 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:64
-#: plugins/admin/groups/group-list.xml:79 plugins/admin/users/user-list.xml:78
-#: plugins/admin/departments/dep-list.xml:87 plugins/admin/acl/acl-list.xml:65
-msgid "Actions"
+#: include/class_multi_plug.inc:394
+msgid "The user password has been reset. Please set a new password!"
 msgstr ""
+"Le mot de passe de l'utilisateur à été réinitialisé, veuillez entrer un "
+"nouveau mot de passe !"
 
-#: include/class_listing.inc:1380 include/class_listing.inc:1430
-#: include/class_plugin.inc:2114
-msgid "Copy"
-msgstr "Copier"
-
-#: include/class_listing.inc:1386 include/class_listing.inc:1420
-#: include/class_plugin.inc:2118
-msgid "Cut"
-msgstr "Couper"
-
-#: include/class_listing.inc:1394 include/class_listing.inc:1396
-#: include/class_plugin.inc:2125 include/class_plugin.inc:2128
-#: include/class_CopyPasteHandler.inc:570
-msgid "Paste"
-msgstr "Coller"
-
-#: include/class_listing.inc:1420 include/class_plugin.inc:2072
-msgid "Cut this entry"
-msgstr "Couper cette entrée"
-
-#: include/class_listing.inc:1430 include/class_plugin.inc:2080
-msgid "Copy this entry"
-msgstr "Copier cette entrée"
-
-#: include/class_listing.inc:1462 include/class_listing.inc:1464
-msgid "Restore snapshots"
-msgstr "Restaurer la copie instantanée"
+#: include/class_tabs.inc:72
+#, php-format
+msgid "No plugin definition for %s found: please check the configuration file!"
+msgstr ""
+"Pas de définition de plugin pour l'initialisation de %s, veuillez vérifier "
+"votre fichier de configuration !"
 
-#: include/class_listing.inc:1478
-msgid "Export list"
-msgstr "Exporter la liste"
+#: include/class_tabs.inc:287
+#, php-format
+msgid "Delete process has been canceled by plugin %s: %s"
+msgstr "L'effacement à été interrompu par l'extension %s: %s"
 
-#: include/class_listing.inc:1513 include/class_listing.inc:1514
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
-msgid "Restore snapshot"
-msgstr "Restaurer la copie instantanée"
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
+msgstr ""
 
-#: include/class_listing.inc:1523 include/class_plugin.inc:2053
-msgid "Create snapshot"
-msgstr "Créer un snapshot"
+#: include/class_tabs.inc:425
+msgid "References"
+msgstr "Références"
 
-#: include/class_listing.inc:1524 include/class_plugin.inc:2054
-msgid "Create a new snapshot from this object"
-msgstr "Créer un nouveau snapshot depuis cet objet"
+#: include/functions_helpviewer.inc:45
+#, php-format
+msgid "XML error in guide.xml: %s at line %s"
+msgstr "Erreur XML dans guide.xml: %s à la ligne %s"
 
-#: include/class_sortableListing.inc:194
-msgid "Edit this entry"
-msgstr "Editer cette entrée"
+#: include/functions_helpviewer.inc:88
+msgid "No help available for this plug-in."
+msgstr "L'aide n'est pas disponible pour cette extension."
 
-#: include/class_sortableListing.inc:199
-msgid "Delete this entry"
-msgstr "Supprimer cette entrée"
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
+msgstr "précédent"
 
-#: include/functions.inc:134
-#, php-format
-msgid "Fatal error: no class locations defined - please run '%s' to fix this"
-msgstr ""
-"Erreur fatale : pas d'emplacement défini pour les classes  - veuillez "
-"exécuter '%s' pour régler le problème"
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
+msgid "next"
+msgstr "suivant"
 
-#: include/functions.inc:141
+#: include/functions_helpviewer.inc:388
 #, php-format
-msgid "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
-msgstr ""
-"Erreur fatale : impossible d'initialiser la classe '%s' - veuillez exécuter "
-"'%s' pour essayer de régler le problème"
+msgid "%s results for your search with the keyword %s"
+msgstr "%s résultats de votre recherche avec le mot %s "
 
-#: include/functions.inc:455
+#: include/functions_helpviewer.inc:461
 #, php-format
-msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
-msgstr ""
-"FATAL: Erreur lors de la connexion au serveur LDAP. Le serveur à répondu '%"
-"s'."
+msgid "%s%% hit rate in file %s"
+msgstr "%s%% de correspondance dans le fichier %s"
 
-#: include/functions.inc:526
-msgid "Username / UID is not unique inside the LDAP tree!"
-msgstr "Le nom de l'utilisateur / UID n'est pas unique dans votre annuaire LDAP !"
+#: include/class_msg_dialog.inc:124
+msgid "Please fix the above error and reload the page."
+msgstr "Veuillez fixer l'erreur ci dessus et recharger la page."
 
-#: include/functions.inc:611
+#: include/class_plugin.inc:581
 msgid ""
-"Username / UID is not unique inside the LDAP tree. Please contact your "
-"Administrator."
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
 msgstr ""
-"Le nom de l'utilisateur / UID n'est pas unique dans votre annuaire LDAP. "
-"Veuillez contacter votre administrateur système."
+"L'object actuel a été modifié pendant votre édition. si vous sauvez cette "
+"entrée, les changements fait par d'autres seront perdus !"
 
-#: include/functions.inc:815 include/functions.inc:933
-msgid "Error while adding a lock. Contact the developers!"
-msgstr "Erreur lors de l'ajout d'un verrou. Contactez les développeurs !"
-
-#: include/functions.inc:825
+#: include/class_plugin.inc:1411
 #, php-format
-msgid ""
-"Cannot create locking information in LDAP tree. Please contact your "
-"administrator!"
+msgid "Changing ACL DN from %s to %s"
+msgstr "Changement du DN de l'ACL depuis %s vers %s"
+
+#: include/class_SnapShotDialog.inc:55
+msgid "Date"
 msgstr ""
-"Impossible d'obtenir les informations de verrouillage dans l'annuaire LDAP. "
-"Veuillez contacter votre administrateur !"
 
-#: include/functions.inc:825
+#: include/class_SnapShotDialog.inc:94
 #, php-format
-msgid "LDAP server returned: %s"
-msgstr "Le serveur LDAP à retourné: %s"
+msgid "You are about to delete the snapshot %s."
+msgstr "Vous êtes sur le point de supprimer le snapshot %s."
 
-#: include/functions.inc:954
-msgid ""
-"Found multiple locks for object to be locked. This should not happen - "
-"cleaning up multiple references."
+#: include/class_SnapShotDialog.inc:143
+msgid "Delete snapshot"
+msgstr "Effacer un snapshot"
+
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+msgid "Y-m-d, H:i:s"
 msgstr ""
-"Détection de verrou multiple pour un même objet. Ceci ne devrait pas "
-"arriver. Effacement des références multiples."
 
-#: include/functions.inc:1258
-#, php-format
-msgid "The size limit of %d entries is exceed!"
-msgstr "La taille limite de %d entrées est dépassée !"
+#: include/class_pathNavigator.inc:86
+msgid "Welcome to GOsa"
+msgstr "Bienvenue dans GOsa"
 
-#: include/functions.inc:1260
-#, php-format
-msgid ""
-"Set the new size limit to %s and show me this message if the limit still "
-"exceeds"
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
 msgstr ""
-"Mettre la nouvelle limite à %s et me montrer ce message si la limite est "
-"toujours dépassée"
+"Impossible de trouver une méthode de cryptage correspondante pour le mot de "
+"passe !"
 
-#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
-msgid "Configure"
-msgstr "Configurer"
+#: include/class_sortableListing.inc:234
+msgid "Sortable list"
+msgstr "Liste triable"
 
-#: include/functions.inc:1277
-msgid "incomplete"
-msgstr "incomplet"
+#: include/class_sortableListing.inc:239
+msgid "Edit this entry"
+msgstr "Editer cette entrée"
 
-#: include/functions.inc:1667
-msgid "Continue anyway"
-msgstr "Continuer malgré tout"
+#: include/class_sortableListing.inc:244
+msgid "Delete this entry"
+msgstr "Supprimer cette entrée"
 
-#: include/functions.inc:1669
-msgid "Edit anyway"
-msgstr "Éditer malgré tout"
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+msgid "unknown"
+msgstr "Inconnu"
 
-#: include/functions.inc:1671
+#: include/class_configRegistry.inc:197
 #, php-format
-msgid "You're going to edit the LDAP entry/entries %s"
-msgstr "Vous êtes sur le point d'éditer l'entrée(s) %s"
-
-#: include/functions.inc:1911
-msgid "Entries per page"
-msgstr "Entrées par page"
+msgid "%s has version %s but %s is required!"
+msgstr "%s est à la version %s mais la version %s est requise !"
 
-#: include/functions.inc:1940 include/class_filter.inc:315
-msgid "Apply filter"
-msgstr "Appliquer le filtre"
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
+msgstr "Les object classes suivantes sont manquantes :"
 
-#: include/functions.inc:2252 include/class_filter.inc:281
-msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+msgid "The following object classes are outdated:"
+msgstr "Les object classes suivantes sont obsolètes :"
 
-#: include/functions.inc:2306
-#, php-format
-msgid "GOsa %s"
+#: include/class_configRegistry.inc:252
+msgid ""
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
 msgstr ""
+"Les plugins qui necessitent une ou plusieurs classes d'objets ci dessus "
+"seront désactivés jusqu'a ce que les classes d'objets soient mise à jour."
+
+#: include/class_configRegistry.inc:254
+msgid "Schema validation error"
+msgstr "Erreur de validation des schémas"
 
-#: include/functions.inc:2313
+#: include/class_configRegistry.inc:689
 #, php-format
-msgid "GOsa %s snapshot (Rev %s)"
-msgstr "Version de développement de GOsa %s (Rev %s)"
+msgid "The value %s specified for %s:%s needs to be a bool value!"
+msgstr "La valeur %s spécifiée pour %s:%s doit être un boléen !"
 
-#: include/functions.inc:2318
+#: include/class_configRegistry.inc:704
 #, php-format
-msgid "GOsa development snapshot (Rev %s)"
-msgstr "Version de développement de GOsa (Rev %s)"
+msgid "The value %s specified for %s:%s needs to be a string!"
+msgstr "La valeur %s spécifiée pour %s:%s doit être une chaîne de caractère !"
 
-#: include/functions.inc:2414
+#: include/class_configRegistry.inc:719
 #, php-format
-msgid "File '%s' could not be deleted."
-msgstr "Le fichier '%s' ne peut pas être éffacé."
+msgid "The value %s specified for %s:%s needs to be numeric!"
+msgstr "La valeur %s spécifiée pour %s:%s doit être un nombre !"
 
-#: include/functions.inc:2448 include/functions.inc:2468
-msgid "Cannot write to revision file!"
-msgstr "Impossible d'écrire le fichier de revision !"
+#: include/class_configRegistry.inc:734
+#, php-format
+msgid "The path %s specified for %s:%s is invalid!"
+msgstr "le chemin %s spécifié pour %s: %s est invalide !"
 
-#: include/functions.inc:2686 include/functions.inc:2690
-#: include/functions.inc:2696
-msgid "'baseIdHook' is not available. Using default base!"
-msgstr "'baseIdHook' n'est pas disponible. Utilisation de la base par défaut !"
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
+msgstr "le répertoire %s spécifié pour %s: %s n'existe pas !"
 
-#: include/functions.inc:2720
-msgid "LDAP warning"
-msgstr "Avertissement LDAP"
+#: include/class_configRegistry.inc:755
+#, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
+msgstr "Le répertoire %s spécifié pour %s: %s n'est pas lisible !"
 
-#: include/functions.inc:2720
-msgid "Cannot get schema information from server. No schema check possible!"
-msgstr ""
-"Impossible de récupérer les informations sur les schémas depuis le serveur. "
-"Vérification des schémas impossibles !"
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
+#, php-format
+msgid "The file %s specified for %s:%s is not writeable!"
+msgstr "Le fichier %s spécifié pour %s: %s est protegé contre l'écriture !"
 
-#: include/functions.inc:2746
-msgid "Used to store account specific informations."
-msgstr "Utilisé pour stocker les informations spécifiques des comptes."
+#: include/class_configRegistry.inc:802
+#, php-format
+msgid "The folder %s specified for %s:%s is not writeable!"
+msgstr "Le répertoire %s spécifié pour %s: %s est protegé contre l'ecriture !"
 
-#: include/functions.inc:2753
-msgid ""
-"Used to lock currently edited entries to avoid multiple changes at the same "
-"time."
-msgstr ""
-"Utilisé pour verrouiller les entrées actuellement modifiées afin d'éviter de "
-"multiples changements simultanés."
+#: include/class_configRegistry.inc:820
+#, php-format
+msgid "The file %s specified for %s:%s does not exists!"
+msgstr "Le fichier %s spécifié pour %s: %s n'existe pas !"
 
-#: include/functions.inc:2798
+#: include/class_configRegistry.inc:825
 #, php-format
-msgid "Missing required object class '%s'!"
-msgstr "Object class obligatoire '%s' manquante !"
+msgid "The file %s specified for %s:%s is not readable!"
+msgstr "Le fichier %s spécifié pour %s: %s n'est pas lisible !"
 
-#: include/functions.inc:2801
+#: include/class_configRegistry.inc:841
 #, php-format
-msgid "Missing optional object class '%s'!"
-msgstr "Object class facultative '%s' manquante !"
+msgid "The command %s specified for %s:%s is invalid!"
+msgstr "La commande %s spécifié pour %s: %s est invalide !"
 
-#: include/functions.inc:2806
+#: include/class_configRegistry.inc:856
 #, php-format
-msgid "Version mismatch for required object class '%s' (!=%s)!"
-msgstr "La version requise des object class ne correspond pas '%s' (!=%s) !"
+msgid "The DN %s specified for %s:%s is invalid!"
+msgstr "Le DN %s spécifié pour %s: %s est invalide !"
 
-#: include/functions.inc:2809
+#: include/class_configRegistry.inc:871
 #, php-format
-msgid "Class(es) available"
-msgstr "Classe(s) disponible(s)"
+msgid "The RDN %s specified for %s:%s is invalid!"
+msgstr "Le RDN %s spécifié pour %s: %s est invalide !"
 
-#: include/functions.inc:2831
-msgid ""
-"You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
-"schema    configuration do not support this option."
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
 msgstr ""
-"Vous avez activé l'option rfc2307bis dans votre option 'configuration du "
-"serveur ldap' lors de l'installation, mais la configuration de vos schéma ne "
-"supportent pas cette option."
+"La création de cette page à occasionné des erreurs d'après l'interpréteur "
+"PHP !"
 
-#: include/functions.inc:2832
-msgid ""
-"In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
-"be      AUXILIARY"
-msgstr ""
-"Pour pouvoir utiliser des groupes conformes à la norme rfc2307bis, "
-"l'objectClass 'posixGroup' doit être       AUXILIARY"
+#: include/php_setup.inc:110
+msgid "Send bug report"
+msgstr "Envoyer un rapport de bug"
 
-#: include/functions.inc:2836
-msgid ""
-"Your schema is configured to support the rfc2307bis group, but you have "
-"disabled this option on the 'ldap setup' step."
+#: include/php_setup.inc:114
+msgid "Toggle details"
 msgstr ""
-"Votre schéma est configuré pour supporter les groupes rfc2307, mais vous "
-"avez désactivé cette option lors de l'étape 'configuration de l'annuaire "
-"ldap' du programme d'installation."
 
-#: include/functions.inc:2837
-msgid "The objectClass 'posixGroup' must be STRUCTURAL"
-msgstr "L'objectClass 'posixGroup' doit être STRUCTURAL"
+#: include/php_setup.inc:123
+msgid "PHP error"
+msgstr "Erreur PHP"
 
-#: include/functions.inc:2861
-msgid "German"
-msgstr "Allemand"
+#: include/php_setup.inc:142
+msgid "class"
+msgstr "classe"
 
-#: include/functions.inc:2862
-msgid "French"
-msgstr "Français"
+#: include/php_setup.inc:148
+msgid "function"
+msgstr "fonction"
 
-#: include/functions.inc:2863
-msgid "Italian"
-msgstr "Italien"
+#: include/php_setup.inc:153
+msgid "static"
+msgstr "statique"
 
-#: include/functions.inc:2864
-msgid "Spanish"
-msgstr "Espagnol"
+#: include/php_setup.inc:157
+msgid "method"
+msgstr "méthode"
 
-#: include/functions.inc:2865
-msgid "English"
-msgstr "Anglais"
+#: include/php_setup.inc:190
+msgid "Traceback"
+msgstr "Trace"
 
-#: include/functions.inc:2866
-msgid "Dutch"
-msgstr "Hollandais"
+#: include/php_setup.inc:191
+msgid "File"
+msgstr "Fichier"
 
-#: include/functions.inc:2867
-msgid "Polish"
-msgstr "Polonais"
+#: include/php_setup.inc:191
+msgid "Line"
+msgstr "Ligne"
 
-#: include/functions.inc:2869
-msgid "Chinese"
-msgstr "Chinois"
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+msgid "Type"
+msgstr "Type"
 
-#: include/functions.inc:2870
-msgid "Vietnamese"
-msgstr "Vietnamien"
+#: include/php_setup.inc:192
+msgid "Arguments"
+msgstr "Arguments"
 
-#: include/functions.inc:2871
-msgid "Russian"
-msgstr "Russe"
+#: include/class_certificate.inc:73
+msgid "Certificate is empty!"
+msgstr "Le Certificat et vide !"
+
+#: include/class_certificate.inc:100
+msgid "Cannot load certificate: only PEM and DER are supported!"
+msgstr ""
+"Impossible de charger le certificat - seul les certificats PEM/DER sont "
+"supportés !"
+
+#: include/class_certificate.inc:115
+msgid "Cannot extract information for non PEM certificates!"
+msgstr "Impossible d'extraire les informations de certificats non PEM !"
 
-#: include/functions.inc:3066
+#: include/class_certificate.inc:219
+msgid "No valid certificate loaded!"
+msgstr "Pas de certificat valide chargé !"
+
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+msgid "Requested channel does not exist!"
+msgstr "Le canal demandé n'existe pas !"
+
+#: include/functions.inc:151
 #, php-format
-msgid "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
+msgid "Fatal error: no class locations defined - please run %s to fix this"
 msgstr ""
-"La commande '%s', utilisée dans le POSTMODIFY de l'extension '%s' n'existe "
-"pas."
+"Erreur fatale : pas d'emplacement défini pour les classes - veuillez "
+"exécuter %s pour régler le problème"
 
-#: include/functions.inc:3099
-msgid "Cannot generate samba hash!"
-msgstr "Impossible de générer un hash samba !"
+#: include/functions.inc:158
+#, php-format
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
+msgstr ""
+"Erreur fatale : impossible d'initialiser la classe %s - veuillez exécuter %s "
+"pour essayer de régler le problème"
 
-#: include/functions.inc:3112
+#: include/functions.inc:483
 #, php-format
-msgid "Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+msgid "Error while connecting to LDAP: %s"
 msgstr ""
-"Impossible de générer le mot de passe samba: l'exécution de '%s' à échoué, "
-"veuillez vérifier le paramètre 'sambaHashHook'!"
+"FATAL: Erreur lors de la connexion au serveur LDAP. Le serveur à répondu %s"
 
-#: include/functions.inc:3393 include/functions.inc:3407
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485
-msgid "Cannot allocate a free ID:"
-msgstr "Impossible d'assigner un ID libre :"
+#: include/functions.inc:554 include/functions.inc:640
+msgid "User ID is not unique!"
+msgstr "L'ID de l'utilisateur n'est pas unique !"
 
-#: include/functions.inc:3393
-msgid "unknown idAllocation method!"
-msgstr "Méthode d'allocation des id inconnue !"
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
+msgstr "Erreur lors du verouillage de l'entrée !"
 
-#: include/functions.inc:3407
+#: include/functions.inc:864
 #, php-format
-msgid "%sPoolMin >= %sPoolMax!"
-msgstr ""
+msgid "Cannot store lock information in LDAP!"
+msgstr "Impossible de stocker l'information de verouillage dans l'annuaire !"
 
-#: include/functions.inc:3437
-msgid "Cannot create sambaUnixIdPool entry!"
-msgstr "Impossible de créer l'entrée sambaUnixIdPool !"
+#: include/functions.inc:864
+#, php-format
+msgid "Error: %s"
+msgstr "Erreur: %s"
 
-#: include/functions.inc:3445
-msgid "sambaUnixIdPool is not unique!"
-msgstr "sambaUnixIdPool n'est pas unique !"
+#: include/functions.inc:1294
+#, php-format
+msgid "The current size limit of %d entries is exceeded!"
+msgstr "La taille limite de %d entrées est dépassée !"
 
-#: include/functions.inc:3457 include/functions.inc:3461
-msgid "no ID available!"
-msgstr "Pas d' ID disponibles !"
+#: include/functions.inc:1296
+#, php-format
+msgid "Set the size limit to %s"
+msgstr "Mettre le size limit à %s"
 
-#: include/functions.inc:3485
-msgid "maximum tries exceeded!"
-msgstr "Nombre maximum d'essais dépassés !"
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
+msgid "Configure"
+msgstr "Configurer"
 
-#: include/functions.inc:3545
-msgid "Cannot allocate a free ID!"
-msgstr "Impossible d'assigner un ID libre !"
+#: include/functions.inc:1313
+msgid "list is incomplete"
+msgstr "Le liste est incomplète"
+
+#: include/functions.inc:1663
+msgid "Continue anyway"
+msgstr "Continuer malgré tout"
+
+#: include/functions.inc:1665
+msgid "Edit anyway"
+msgstr "Éditer malgré tout"
+
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
+msgstr "Ces entrées sont actuellement verrouillées :"
+
+#: include/functions.inc:1909
+msgid "Entries per page"
+msgstr "Entrées par page"
 
-#: include/class_tabs.inc:57
+#: include/functions.inc:2087
 #, php-format
-msgid ""
-"No plugin definitions found to initialize '%s', please check your "
-"configuration file."
+msgid "GOsa %s"
 msgstr ""
-"Pas de définition de plugin pour l'initialisation de '%s', veuillez vérifier "
-"votre fichier de configuration."
 
-#: include/class_tabs.inc:268
+#: include/functions.inc:2094
 #, php-format
-msgid "Delete process has been canceled by plugin '%s': %s"
-msgstr "L'effacement à été interrompu par l'extension '%s': %s"
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr "Version de développement de GOsa %s (Rev %s)"
 
-#: include/class_tabs.inc:406
-msgid "References"
-msgstr "Références"
+#: include/functions.inc:2099
+#, php-format
+msgid "GOsa development snapshot (Rev %s)"
+msgstr "Version de développement de GOsa (Rev %s)"
 
-#: include/class_SnapShotDialog.inc:82
+#: include/functions.inc:2195
 #, php-format
-msgid "You're about to delete the snapshot '%s'."
-msgstr "Vous êtes sur le point de supprimer le snapshot '%s'."
+msgid "File %s cannot be deleted!"
+msgstr "Le fichier %s ne peut pas être éffacé !"
 
-#: include/class_SnapShotDialog.inc:137
-msgid "Remove snapshot"
-msgstr "Supprimer le snapshot"
+#: include/functions.inc:2225 include/functions.inc:2245
+msgid "Cannot write revision file!"
+msgstr "Impossible d'écrire le fichier de revision !"
 
-#: include/class_SnapShotDialog.inc:139 include/class_SnapShotDialog.inc:159
-msgid "Y-m-d, H:i:s"
-msgstr ""
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
+msgid "'baseIdHook' is not available. Using default base!"
+msgstr "'baseIdHook' n'est pas disponible. Utilisation de la base par défaut !"
 
-#: include/class_SnapShotDialog.inc:171
-#: plugins/generic/references/contents.tpl:11
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
-#: plugins/admin/ogroups/class_ogroup.inc:977
-#: plugins/admin/ogroups/generic.tpl:15
-#: plugins/admin/ogroups/ogroup-list.xml:49
-#: plugins/admin/groups/generic.tpl:24
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:66
-#: plugins/admin/groups/class_group.inc:1184
-#: plugins/admin/departments/dep-list.xml:79
-#: plugins/admin/departments/locality.tpl:19
-#: plugins/admin/departments/generic.tpl:19
-#: plugins/admin/departments/class_domain.inc:63
-#: plugins/admin/departments/class_domain.inc:91
-#: plugins/admin/departments/class_localityGeneric.inc:64
-#: plugins/admin/departments/class_localityGeneric.inc:92
-#: plugins/admin/departments/class_organizationGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_countryGeneric.inc:63
-#: plugins/admin/departments/class_countryGeneric.inc:92
-#: plugins/admin/departments/class_dcObject.inc:63
-#: plugins/admin/departments/class_dcObject.inc:91
-#: plugins/admin/departments/domain.tpl:19
-#: plugins/admin/departments/country.tpl:19
-#: plugins/admin/departments/dcObject.tpl:19
-#: plugins/admin/departments/class_department.inc:359
-#: plugins/admin/departments/class_department.inc:666
-#: plugins/admin/departments/organization.tpl:19
-#: plugins/admin/acl/class_aclRole.inc:735 plugins/admin/acl/acl-list.xml:57
-#: plugins/admin/acl/acl_role.tpl:17
-#: plugins/personal/posix/trustSelect/trust-list.xml:64
-#: plugins/personal/posix/groupSelect/group-list.xml:49
-msgid "Description"
+#: include/functions.inc:2550
+msgid ""
+"Cannot read schema information from LDAP. Schema validation is not possible!"
 msgstr ""
+"Impossible de récupérer les informations sur les schémas depuis le serveur. "
+"Vérification des schémas impossibles !"
 
-#: include/exporter/class_cvsExporter.inc:48
-msgid "CSV"
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
 msgstr ""
+"Cette classe est utilisée pour faire apparaitre les utilisateurs dans GOsa."
 
-#: include/exporter/class_PDF.inc:24
-msgid "Page"
+#: include/functions.inc:2583
+msgid ""
+"This class is used to lock entries in order to prevent multiple edits at a "
+"time."
 msgstr ""
+"Utilisé pour verrouiller les entrées actuellement modifiées afin d'éviter de "
+"multiples changements simultanés."
 
-#: include/exporter/class_pdfExporter.inc:18
-msgid "No PDF export possible: there is no FPDF library installed."
-msgstr "Pas d'exportation en pdf, la librairie FPDF n'est pas installée."
+#: include/functions.inc:2628
+#, php-format
+msgid "Required object class %s is missing!"
+msgstr "Object class obligatoire %s manquante !"
 
-#: include/exporter/class_pdfExporter.inc:145
-msgid "PDF"
-msgstr ""
+#: include/functions.inc:2631
+#, php-format
+msgid "Optional object class %s is missing!"
+msgstr "Object class facultative %s manquante !"
 
-#: include/class_multi_plug.inc:362
-msgid "You are currently editing mutliple entries."
-msgstr "Vous êtes occupé à éditer des entrées multiples."
+#: include/functions.inc:2636
+#, php-format
+msgid "Wrong version of required object class %s (!=%s) detected!"
+msgstr "La version requise des object class ne correspond pas %s (!=%s) !"
 
-#: include/class_multi_plug.inc:391
-msgid "Password reset"
-msgstr "Réinitialisation du mot de passe"
+#: include/functions.inc:2639
+#, php-format
+msgid "Class available"
+msgstr "Classe(s) disponible(s)"
 
-#: include/class_multi_plug.inc:391
-msgid "The user password was resetted, please set a new password value!"
+#: include/functions.inc:2661
+msgid ""
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
 msgstr ""
-"Le mot de passe de l'utilisateur à été réinitialisé, veuillez entrer un "
-"nouveau mot de passe !"
+"Le support du schema RFC2307bis est active, mais la configuration LDAP "
+"actuelle ne le supporte pas !"
 
-#: include/class_certificate.inc:73
-msgid "Certificate is empty!"
-msgstr "Le Certificat et vide !"
+#: include/functions.inc:2662
+msgid ""
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
+msgstr ""
+"Pour pouvoir utiliser des groupes conformes à la norme rfc2307bis, "
+"l'objectClass 'posixGroup' doit être AUXILIARY."
 
-#: include/class_certificate.inc:100
-msgid "Cannot load certificate - only PEM/DER is supported!"
+#: include/functions.inc:2666
+msgid ""
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
 msgstr ""
-"Impossible de charger le certificat - seul les certificats PEM/DER sont "
-"supportés !"
+"Le support du schema RFC2307bis est desactive, mais la configuration LDAP "
+"actuelle le supporte !"
 
-#: include/class_certificate.inc:115
-msgid "Cannot extract information for non PEM certificates!"
-msgstr "Impossible d'extraire les informations de certificats non PEM !"
+#: include/functions.inc:2667
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
+msgstr "Pour corriger ceci, L'objectClass 'posixGroup' doit être STRUCTURAL."
 
-#: include/class_certificate.inc:219
-msgid "No valid certificate loaded!"
-msgstr "Pas de certificat valide chargé !"
+#: include/functions.inc:2692
+msgid "German"
+msgstr "Allemand"
 
-#: include/php_setup.inc:100
-msgid "Generating this page caused the PHP interpreter to raise some errors!"
-msgstr ""
-"La création de cette page à occasionné des erreurs d'après l'interpréteur "
-"PHP !"
+#: include/functions.inc:2693
+msgid "French"
+msgstr "Français"
 
-#: include/php_setup.inc:105
-msgid "Send bug report to the GOsa Team"
-msgstr "Envoyer vos commentaires au membres du projet Gosa"
+#: include/functions.inc:2694
+msgid "Italian"
+msgstr "Italien"
 
-#: include/php_setup.inc:105
-msgid "Send bugreport"
-msgstr "Envoyer un rapport de bug"
+#: include/functions.inc:2695
+msgid "Spanish"
+msgstr "Espagnol"
 
-#: include/php_setup.inc:110
-msgid "Toggle information"
-msgstr "Afficher/Cacher l'information"
+#: include/functions.inc:2696
+msgid "English"
+msgstr "Anglais"
 
-#: include/php_setup.inc:120
-msgid "PHP error"
-msgstr "Erreur PHP"
+#: include/functions.inc:2697
+msgid "Dutch"
+msgstr "Hollandais"
 
-#: include/php_setup.inc:139
-msgid "class"
-msgstr "classe"
+#: include/functions.inc:2698
+msgid "Polish"
+msgstr "Polonais"
 
-#: include/php_setup.inc:145
-msgid "function"
-msgstr "fonction"
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
+msgstr "Portugais Brésilien"
 
-#: include/php_setup.inc:150
-msgid "static"
-msgstr "statique"
+#: include/functions.inc:2701
+msgid "Chinese"
+msgstr "Chinois"
 
-#: include/php_setup.inc:154
-msgid "method"
-msgstr "méthode"
+#: include/functions.inc:2702
+msgid "Vietnamese"
+msgstr "Vietnamien"
 
-#: include/php_setup.inc:187
-msgid "Trace"
-msgstr "Trace"
+#: include/functions.inc:2703
+msgid "Russian"
+msgstr "Russe"
 
-#: include/php_setup.inc:188
-msgid "File"
-msgstr "Fichier"
+#: include/functions.inc:2896
+msgid "Cannot detect password hash!"
+msgstr "Impossible de détecter l'encodage du mot de passe !"
 
-#: include/php_setup.inc:188
-msgid "Line"
-msgstr "Ligne"
+#: include/functions.inc:2937 include/functions.inc:3012
+#, php-format
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Type"
-msgstr "Type"
+#: include/functions.inc:2968
+msgid "Password change failed!"
+msgstr "Le changement de mot de passe à échoué !"
 
-#: include/php_setup.inc:189
-msgid "Arguments"
-msgstr "Arguments"
+#: include/functions.inc:2976
+#, php-format
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
 
-#: include/class_filter.inc:322 include/utils/class_msgPool.inc:24
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#: plugins/personal/posix/posix_groups.tpl:68
-msgid "Search in subtrees"
-msgstr "Chercher dans les sous arbre"
+#: include/functions.inc:3080
+msgid "Cannot generate SAMBA hash!"
+msgstr "Impossible de générer un hash samba !"
 
-#: include/class_plugin.inc:521
-msgid ""
-"The object has changed since opened in GOsa. All changes that may be done by "
-"others get lost if you save this entry!"
+#: include/functions.inc:3095
+#, php-format
+msgid "Generating SAMBA hash by running %s failed: check %s!"
 msgstr ""
-"Cet objet à changer depuis son ouverture dans GOsa. Tout les changement "
-"éffectués par les autres seront perdus si vous sauvez cette entrée !"
-
-#: include/class_plugin.inc:1844
-msgid "Changing ACL dn"
-msgstr "Changement du dn de l'acl"
+"Impossible de générer le mot de passe samba: l'exécution de '%s' à échoué, "
+"vérifier %s !"
 
-#: include/class_plugin.inc:1844
-msgid "from"
-msgstr "de"
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
+msgid "Cannot allocate free ID:"
+msgstr "Impossible d'assigner un ID libre :"
 
-#: include/class_plugin.inc:1845 setup/class_setupStep_Migrate.inc:1250
-#: setup/class_setupStep_Migrate.inc:1300
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "to"
-msgstr "vers"
+#: include/functions.inc:3373
+msgid "unknown idAllocation method!"
+msgstr "Méthode d'allocation des id inconnue !"
 
-#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
-msgid "Restore"
-msgstr "Restaurer"
+#: include/functions.inc:3387
+#, php-format
+msgid "%sPoolMin >= %sPoolMax!"
+msgstr ""
 
-#: include/class_plugin.inc:2072
-msgid "cut"
-msgstr "couper"
+#: include/functions.inc:3417
+msgid "Cannot create sambaUnixIdPool entry!"
+msgstr "Impossible de créer l'entrée sambaUnixIdPool !"
 
-#: include/class_plugin.inc:2080
-msgid "copy"
-msgstr "copier"
+#: include/functions.inc:3425
+msgid "sambaUnixIdPool is not unique!"
+msgstr "sambaUnixIdPool n'est pas unique !"
 
-#: include/functions_helpviewer.inc:45
-#, php-format
-msgid "XML error in guide.xml: %s at line %d"
-msgstr "Erreur XML dans guide.xml: %s à la ligne %d"
+#: include/functions.inc:3437 include/functions.inc:3441
+msgid "no ID available!"
+msgstr "Pas d' ID disponibles !"
 
-#: include/functions_helpviewer.inc:88
-msgid "No help available for this plugin."
-msgstr "L'aide n'est pas disponible pour cette extension."
+#: include/functions.inc:3465
+msgid "maximum number of tries exceeded!"
+msgstr "Nombre maximum d'essais dépassés !"
 
-#: include/functions_helpviewer.inc:388
-#, php-format
-msgid "%s results for your search with the keyword %s"
-msgstr "%s résultats de votre recherche avec le mot %s "
+#: include/functions.inc:3525
+msgid "Cannot allocate free ID!"
+msgstr "Impossible d'assigner un ID libre !"
 
-#: include/functions_helpviewer.inc:462
-#, php-format
-msgid "%s%% hit rate in file %s"
-msgstr "%s%% de correspondance dans le fichier %s"
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
+msgstr "Recherche"
 
-#: include/utils/class_timezone.inc:47
-#, php-format
-msgid ""
-"The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate "
-"correct timezone offset."
-msgstr ""
-"Le fuseau horaire '%s' indiqué dans votre gosa.conf est invalide. Impossible "
-"de calculer le décalage horaire correct."
+#: include/class_filter.inc:226
+msgid "Search filter"
+msgstr "Filtre de recherche"
 
-#: include/utils/class_xml.inc:48
-msgid "in"
-msgstr "dans"
+#: include/class_filter.inc:444
+msgid "Search in subtrees"
+msgstr "Chercher dans les sous arbre"
 
-#: include/utils/class_xml.inc:50
-msgid "on line"
-msgstr "en ligne"
+#: include/class_filter.inc:449
+msgid "Edit filters"
+msgstr "Editer des filtres"
 
-#: include/utils/class_xml.inc:51
-msgid "XML error"
-msgstr "Erreur XML"
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
+msgstr "Avertissement de performance"
 
-#: include/utils/class_msgPool.inc:16
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
 #, php-format
-msgid "Select to list objects of type '%s'."
-msgstr "Sélectionnez pour lister les objets de type '%s'."
+msgid "LDAP performance is poor: last query took %.2fs!"
+msgstr ""
+"La performance de votre annuaire est faible : la dernière requête à duré "
+"%.2fs !"
 
-#: include/utils/class_msgPool.inc:18
+#: include/class_ldap.inc:784
 #, php-format
-msgid "Select to list objects containig '%s'."
-msgstr "Sélectionner pour lister les objets contenant '%s'."
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
+msgstr ""
+"Impossible de créer automatiquement des sous arbres avec le RDN %s: pas "
+"d'object class trouvé"
 
-#: include/utils/class_msgPool.inc:20
+#: include/class_ldap.inc:835
 #, php-format
-msgid "Select to list objects that have '%s' enabled"
-msgstr "Sélectionnez pour lister les objets qui ont '%s' activés"
-
-#: include/utils/class_msgPool.inc:22
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-msgid "Select to search within subtrees"
-msgstr "Sélectionner pour chercher dans le sous arbre"
-
-#: include/utils/class_msgPool.inc:34
-msgid "This object will be deleted!"
-msgstr "Cet objet sera effacé !"
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
+msgstr ""
+"Impossible de créer automatiquement des sous arbres avec le RDN %s: non "
+"supporté"
 
-#: include/utils/class_msgPool.inc:36
+#: include/class_ldap.inc:922
 #, php-format
-msgid "This '%s' object will be deleted!"
-msgstr "L'objet '%s' sera effacé !"
+msgid "while operating on %s using LDAP server %s"
+msgstr "lors de l'opération sur %s en utilisant le serveur LDAP %s"
 
-#: include/utils/class_msgPool.inc:41
+#: include/class_ldap.inc:924
 #, php-format
-msgid "This object will be deleted: %s"
-msgstr "Cet objet sera effacé : %s"
+msgid "while operating on LDAP server %s"
+msgstr "lors de l'opération sur le serveur LDAP %s"
 
-#: include/utils/class_msgPool.inc:43
+#: include/class_ldap.inc:977
 #, php-format
-msgid "This '%s' object will be deleted: %s"
-msgstr "L'objet de type '%s' sera effacé: %s"
-
-#: include/utils/class_msgPool.inc:48
-msgid "This object will be deleted:"
-msgstr "Cet objet sera effacé: "
+msgid "Command line programm %s is missing!"
+msgstr "Le programme en ligne de commande %s est manquant !"
 
-#: include/utils/class_msgPool.inc:50
+#: include/class_ldap.inc:1138
 #, php-format
-msgid "This '%s' object will be deleted:"
-msgstr "L'objet de type '%s' sera effacé:"
-
-#: include/utils/class_msgPool.inc:54
-#, php-format
-msgid "These objects will be deleted: %s"
-msgstr "Ces objets seront effacés: %s"
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
+msgstr ""
+"Ceci n'est pas un DN valide: %s. Le fichier d'importation doit commencer "
+"avec 'dn: ...' à la ligne %s"
 
-#: include/utils/class_msgPool.inc:56
+#: include/class_ldap.inc:1167
 #, php-format
-msgid "These '%s' objects will be deleted: %s"
-msgstr "Ces objets de type '%s' seront effacés: %s"
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
+msgstr ""
+"Erreur lors de l'importation du dn: %s, veuillez vérifier votre fichier "
+"votre fichier LDIF à partir de la ligne %s !"
 
-#: include/utils/class_msgPool.inc:64
-msgid "You have no permission to delete this object!"
-msgstr "Vous n'avez pas les droits nécessaires pour supprimer cet objet !"
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
+msgid "All"
+msgstr "Tous"
 
-#: include/utils/class_msgPool.inc:68 include/utils/class_msgPool.inc:72
-msgid "You have no permission to delete the object:"
-msgstr "Vous n'avez pas les droits nécessaires pour supprimer cet objet :"
+#: include/class_core.inc:114
+msgid "All objects"
+msgstr "Tout les objets"
 
-#: include/utils/class_msgPool.inc:75
-msgid "You have no permission to delete these objects:"
-msgstr "Vous n'avez pas les droits nécessaires pour supprimer ces objets :"
+#: include/class_core.inc:132
+msgid "Traditional"
+msgstr "Traditionel"
 
-#: include/utils/class_msgPool.inc:82
-msgid "You have no permission to create this object!"
-msgstr "Vous n'avez pas les droits nécessaires pour créer cet objet !"
+#: include/class_core.inc:132
+msgid "Use samba pool"
+msgstr "Utiliser le pool samba"
 
-#: include/utils/class_msgPool.inc:86 include/utils/class_msgPool.inc:90
-msgid "You have no permission to create the object:"
-msgstr "Vous n'avez pas les droits nécessaires pour créer l'objet :"
+#: include/class_core.inc:164 include/class_core.inc:167
+msgid "hours"
+msgstr "heures"
 
-#: include/utils/class_msgPool.inc:93
-msgid "You have no permission to create these objects:"
-msgstr "Vous n'avez pas les droits nécessaires pour créer ces objets :"
+#: include/class_core.inc:184
+msgid "None"
+msgstr "Aucun"
 
-#: include/utils/class_msgPool.inc:100
-msgid "You have no permission to modify this object!"
-msgstr "Vous n'avez pas l'autorisation de modifier cet objet !"
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
+msgid "Automatic"
+msgstr "Automatique"
 
-#: include/utils/class_msgPool.inc:104 include/utils/class_msgPool.inc:108
-msgid "You have no permission to modify the object:"
-msgstr "Vous n'avez pas l'autorisation de modifier cet objet :"
+#: include/class_core.inc:200
+msgid "User value"
+msgstr "valeur utilisateur"
 
-#: include/utils/class_msgPool.inc:111
-msgid "You have no permission to modify these objects:"
-msgstr "Vous n'avez pas l'autorisation de modifier ces objets :"
+#: include/class_core.inc:209
+msgid "Core"
+msgstr "Coeur"
 
-#: include/utils/class_msgPool.inc:118
-msgid "You have no permission to view this object!"
-msgstr "Vous n'avez pas l'autorisation de voir cet objet !"
+#: include/class_core.inc:210
+msgid "GOsa core plugin"
+msgstr "Plugin coeur GOsa"
 
-#: include/utils/class_msgPool.inc:122 include/utils/class_msgPool.inc:126
-msgid "You have no permission to view the object:"
-msgstr "Vous n'avez pas l'autorisation de voir l'objet :"
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:129
-msgid "You have no permission to view these objects:"
-msgstr "Vous n'avez pas l'autorisation devoir ces objets :"
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
+msgstr "Active le module des statistiques d'utilisation."
 
-#: include/utils/class_msgPool.inc:136
-msgid "You have no permission to move this object!"
-msgstr "Vous n'avez pas l'autorisation de bouger cet objet !"
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:144
-msgid "You have no permission to move the object:"
-msgstr "Vous n'avez pas l'autorisation de bouger l'objet :"
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:147
-msgid "You have no permission to move these objects:"
-msgstr "Vous n'avez pas l'autorisation de bouger ces objets :"
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:157 include/utils/class_msgPool.inc:169
-#: include/utils/class_msgPool.inc:187
-msgid "Connection information"
-msgstr "Informations de connexions"
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
+msgstr "Spécifiez la longueur minimale pour les mots de passe."
 
-#: include/utils/class_msgPool.inc:159
-#, php-format
-msgid "Cannot connect to %s database!"
-msgstr "Impossible de se connecter à la base de données %s !"
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
+msgstr ""
+"Spécifiez le nombre minimum de caractères qui doivent être différents entre "
+"l'ancien et le nouveau mot de passe."
 
-#: include/utils/class_msgPool.inc:171
-#, php-format
-msgid "Cannot select %s database!"
-msgstr "Impossible de sélectionner la base de données %s !"
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
+msgstr ""
+"Commande qui génère les propositions de mot de passe. Si une commande à été "
+"indiquée, l'utilisateur peut choisir entre utiliser un mot de passe généré "
+"automatiquement ou un mot de passe entré manuellement."
 
-#: include/utils/class_msgPool.inc:177
-#, php-format
-msgid "No %s server defined!"
-msgstr "Pas de serveur %s défini !"
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
+msgstr ""
+"Active l'affichage des erreur PHP au début de la page. Désactivez cette "
+"fonctionnalité en production pour éviter les fuites de données sensibles."
 
-#: include/utils/class_msgPool.inc:189
+#: include/class_core.inc:319
 #, php-format
-msgid "Cannot query %s database!"
-msgstr "Impossible d'effectuer une requête sur la base de données %s !"
+msgid "Related option"
+msgstr "Option connexes"
 
-#: include/utils/class_msgPool.inc:195
-#, php-format
-msgid "The field '%s' contains a reserved keyword!"
-msgstr "Le champ '%s' contient un mot réservé !"
+#: include/class_core.inc:329
+msgid ""
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
+msgstr ""
+"Montrer les messages qui peuvent vous aider lors du développement d'une "
+"extension. Attention, cette option peut produire des messages d'erreurs "
+"erronés en ce qui concerne les ACL !"
 
-#: include/utils/class_msgPool.inc:201
-#, php-format
-msgid "Command specified as %s hook for plugin '%s' does not exist!"
+#: include/class_core.inc:340
+msgid ""
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
 msgstr ""
-"La commande '%s', spécifiée comme connexion de l'extension '%s' n'existe "
-"pas !"
 
-#: include/utils/class_msgPool.inc:208
-#, php-format
-msgid "'%s' command is invalid!"
-msgstr "Le commande '%s' est invalide !"
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
+msgstr "Activer le copier / coller pour la majorité des objets gérés par GOsa."
 
-#: include/utils/class_msgPool.inc:210
-#, php-format
-msgid "'%s' command (%s) for plugin %s is invalid!"
-msgstr "l'option '%s' de la commande (%s) pour l'extension %s est invalide !"
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
+msgstr ""
+"Vérifications de sécurité PHP pour la désactivation du paramètre "
+"register_global."
 
-#: include/utils/class_msgPool.inc:212
-#, php-format
-msgid "'%s' command for plugin %s is invalid!"
-msgstr "l'option '%s' de la commande pour l'extension %s est invalide !"
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
+msgstr ""
+"Activer la redirection automatique vers un connexion sécurisée pour "
+"l'administration."
 
-#: include/utils/class_msgPool.inc:214
-#, php-format
-msgid "'%s' command (%s) is invalid!"
-msgstr "l'option '%s' de la commande (%s) est invalide !"
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
+msgstr "Activer la journalisation détaillées des opérations LDAP."
 
-#: include/utils/class_msgPool.inc:222
-#, php-format
-msgid "Cannot execute '%s' command!"
-msgstr "Impossible d'exécuter la commande '%s' !"
+#: include/class_core.inc:390
+msgid "Enable LDAP referral chasing."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:224
-#, php-format
-msgid "Cannot execute '%s' command (%s) for plugin %s!"
-msgstr "Impossible d'exécuter '%s' de la commande (%s) pour l'extension %s !"
+#: include/class_core.inc:400
+msgid ""
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:226
-#, php-format
-msgid "Cannot execute '%s' command for plugin %s!"
-msgstr "Impossible d'exécuter l'option '%s' de la commande pour l'extension %s !"
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:228
-#, php-format
-msgid "Cannot execute '%s' command (%s)!"
-msgstr "Impossible d'exécuter l'option '%s' de la commande (%s) !"
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
+msgstr ""
+"Désactiver les vérifications pour les limites dans les recherches LDAP."
 
-#: include/utils/class_msgPool.inc:236
-#, php-format
-msgid "Value for '%s' is too large!"
-msgstr "La valeur pour '%s' est trop grande !"
+#: include/class_core.inc:430
+msgid "Enable warnings for non encrypted connections."
+msgstr "Activer les avertissements pour le connections non sécurisées."
 
-#: include/utils/class_msgPool.inc:238
-#, php-format
-msgid "'%s' must be smaller than %s!"
-msgstr "'%s' doit être plus petit que %s !"
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
+msgstr "Activer la compression des fichiers PPD."
 
-#: include/utils/class_msgPool.inc:246
-#, php-format
-msgid "Value for '%s' is too small!"
-msgstr "La valeur pour '%s' est trop petite !"
+#: include/class_core.inc:451
+msgid ""
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:248
-#, php-format
-msgid "'%s' must be %d or above!"
-msgstr "'%s' doit être à la version %d ou plus grand !"
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
+msgstr "Répertoire de stockage des fichiers PPD."
 
-#: include/utils/class_msgPool.inc:255
-#, php-format
-msgid "'%s' depends on '%s' - please provide both values!"
-msgstr "'%s' dépend de '%s' - veuillez indiquer les deux valeurs !"
+#: include/class_core.inc:472
+msgid ""
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
+msgstr "Durée maximum d'une requête LDAP avant que GOsa coupe la connexion."
 
-#: include/utils/class_msgPool.inc:261
-#, php-format
-msgid "There is already an entry with this '%s' attribute in the system!"
-msgstr "Il existe déjà une entrée avec l'attribut '%s' dans le système !"
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
+msgstr ""
+"Active le stockage des filtres utilisateurs dans les cookies du navigateur."
 
-#: include/utils/class_msgPool.inc:267
-#, php-format
-msgid "The required field '%s' is empty!"
-msgstr "Le champ obligatoire '%s' n'est pas rempli !"
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
+msgstr "Active l'envoi de pages web compressées."
 
-#: include/utils/class_msgPool.inc:275
-msgid "Example"
-msgstr "Exemple"
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
+msgstr "Attribut LDAP qui est utilisé pour détecté les changements."
 
-#: include/utils/class_msgPool.inc:295
-#, php-format
-msgid "The Field '%s' contains invalid characters"
-msgstr "Le champ '%s' contient des caractères invalides"
+#: include/class_core.inc:514
+msgid ""
+"ISO language code which is used to override the automatic language detection."
+msgstr ""
+"Code ISO de langue, utilisé pour désactiver la sélection automatique de la "
+"langue."
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' is not allowed:"
-msgstr "'%s' n'est pas permis :"
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
+msgstr "CSS et modèle à utiliser."
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' are not allowed!"
-msgstr "'%s' n'est pas autorisé !"
+#: include/class_core.inc:535
+msgid ""
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
+msgstr ""
+"Nombre de secondes avant que la session expire. Ceci peut être ignore par la "
+"configuration du php.in ou d'un crontab."
 
-#: include/utils/class_msgPool.inc:299
-#, php-format
-msgid "The Field '%s' contains invalid characters!"
-msgstr "Le champ '%s' contient des caractères invalides !"
+#: include/class_core.inc:545
+msgid "Template engine compile directory."
+msgstr "Répertoire de compilation des modèles."
 
-#: include/utils/class_msgPool.inc:306
+#: include/class_core.inc:555
 #, php-format
-msgid "Missing %s PHP extension!"
-msgstr "Extension PHP %s manquante !"
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:336
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
-#: plugins/personal/generic/generic.tpl:251
-#: plugins/personal/generic/generic.tpl:269
-#: setup/class_setupStep_Migrate.inc:2869
-#, php-format
-msgid "Add"
-msgstr "Ajouter"
+#: include/class_core.inc:576
+msgid ""
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:336
-#, php-format
-msgid "Add %s"
-msgstr "Ajouter %s"
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
+msgstr "Hash de base utilisé pour la création de nouveaux mot de passe."
 
-#: include/utils/class_msgPool.inc:342
-#, php-format
-msgid "Delete %s"
-msgstr "Supprimer %s"
+#: include/class_core.inc:596
+msgid ""
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
+msgstr ""
+"Active la vérification de la présence de caractères unicode problématiques "
+"dans les mots de passe."
 
-#: include/utils/class_msgPool.inc:348
-#, php-format
-msgid "Set %s"
-msgstr "Activer %s"
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:354
-#, php-format
-msgid "Edit..."
-msgstr "Editer..."
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:354
-#, php-format
-msgid "Edit %s..."
-msgstr "Editer %s..."
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:360
-msgid "Back"
-msgstr "Retour"
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:380
-#, php-format
-msgid "This account has no valid %s extensions!"
-msgstr "Ce compte n'a pas d'extensions %s valides !"
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:386
-#, php-format
-msgid "This account has %s settings enabled. You can disable them by clicking below."
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
 msgstr ""
-"Ce compte possède l'extension %s activée. Vous pouvez la supprimer en "
-"cliquant sur le bouton ci-dessous."
 
-#: include/utils/class_msgPool.inc:389 include/utils/class_msgPool.inc:396
-#, php-format
+#: include/class_core.inc:667
 msgid ""
-"This account has %s settings enabled. To disable them, you'll need to remove "
-"the %s settings first!"
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
 msgstr ""
-"Ce compte possède %s paramètres activés. Pour le désactiver vous devez au "
-"préalable supprimer les %s paramètres !"
 
-#: include/utils/class_msgPool.inc:405
-#, php-format
-msgid "This account has %s settings disabled. You can enable them by clicking below."
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
 msgstr ""
-"Ce compte possède %s paramètres desactivés. Vous pouvez les activer en "
-"clicquant ci dessous."
 
-#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
-#, php-format
+#: include/class_core.inc:687
 msgid ""
-"This account has %s settings disabled. To enable them, you'll need to add "
-"the %s settings first!"
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
 msgstr ""
-"Ce compte possède %s paramètres désactivés. Pour les activer, vous devez au "
-"préalable ajouter les %s paramètres !"
 
-#: include/utils/class_msgPool.inc:423
-#, php-format
-msgid "Add %s settings"
-msgstr "Ajouter %s paramètres"
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:429
-#, php-format
-msgid "Remove %s settings"
-msgstr "Effacer %s paramètres"
+#: include/class_core.inc:707
+msgid "Connection URL for use with the gosa-ng service."
+msgstr "URL de connexion à utiliser pour le service GOsa-ng."
 
-#: include/utils/class_msgPool.inc:435
-msgid "Click the 'Edit' button below to change informations in this dialog"
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
+msgstr "Nom de l'utilisateur pour la connexion au 'gosaRpcServer'."
+
+#: include/class_core.inc:727
+msgid "Password used to connect to the 'gosaRpcServer'."
+msgstr "Mot de passe pour la connexion au 'gosaRpcServer'."
+
+#: include/class_core.inc:737
+msgid "Connection URI for use with the gosa-si service (obsolete)."
 msgstr ""
-"Cliquez sur le bouton 'Editer' ci-dessous pour changer les informations dans "
-"cette boite de dialogue"
 
-#: include/utils/class_msgPool.inc:441
-msgid "January"
-msgstr "Janvier"
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "February"
-msgstr "Février"
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "March"
-msgstr "Mars"
+#: include/class_core.inc:769
+#, fuzzy
+msgid "Local time zone."
+msgstr "Lieu"
 
-#: include/utils/class_msgPool.inc:441
-msgid "April"
-msgstr "Avril"
+#: include/class_core.inc:779
+msgid ""
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "May"
-msgstr "Mai"
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "June"
-msgstr "Juin"
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "July"
-msgstr "Juillet"
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "August"
-msgstr "Août"
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "September"
-msgstr "Septembre"
+#: include/class_core.inc:828
+msgid ""
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:443
-msgid "October"
-msgstr "Octobre"
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:443
-msgid "November"
-msgstr "Novembre"
+#: include/class_core.inc:848
+msgid ""
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:443
-msgid "December"
-msgstr "Décembre"
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Sunday"
-msgstr "Dimanche"
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Monday"
-msgstr "Lundi"
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Tuesday"
-msgstr "Mardi"
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Wednesday"
-msgstr "Mercredi"
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Thursday"
-msgstr "Jeudi"
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Friday"
-msgstr "Vendredi"
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Saturday"
-msgstr "Samedi"
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:456
-msgid "MySQL operation failed!"
-msgstr "La requête MySQL à échoué !"
+#: include/class_core.inc:940
+msgid "Enable TLS for LDAP connections."
+msgstr "Activer TLS pour les connexions LDAP."
 
-#: include/utils/class_msgPool.inc:464
-msgid "read operation"
-msgstr "lecture"
-
-#: include/utils/class_msgPool.inc:464
-msgid "add operation"
-msgstr "ajout"
-
-#: include/utils/class_msgPool.inc:464
-msgid "modify operation"
-msgstr "modification"
-
-#: include/utils/class_msgPool.inc:465
-msgid "delete operation"
-msgstr "suppression"
-
-#: include/utils/class_msgPool.inc:465
-msgid "search operation"
-msgstr "recherche"
-
-#: include/utils/class_msgPool.inc:465
-msgid "authentication"
-msgstr "authentification"
-
-#: include/utils/class_msgPool.inc:468
-#, php-format
-msgid "LDAP %s failed!"
-msgstr "La requête LDAP %s à échoué !"
-
-#: include/utils/class_msgPool.inc:470
-msgid "LDAP operation failed!"
-msgstr "La requête LDAP à échoué !"
-
-#: include/utils/class_msgPool.inc:485
-msgid "Upload failed!"
-msgstr "Le téléchargement à échoué !"
-
-#: include/utils/class_msgPool.inc:488
-#, php-format
-msgid "Upload failed: %s"
-msgstr "Le téléchargement à échoué : %s"
-
-#: include/utils/class_msgPool.inc:495
-msgid "Communication failure with the infrastructure service!"
-msgstr "Erreur de communication avec le service d'infrastructure !"
-
-#: include/utils/class_msgPool.inc:497
-#, php-format
-msgid "Communication failure with the infrastructure service: %s"
-msgstr "Erreur de communication avec le service d'infrastructure : %s"
-
-#: include/utils/class_msgPool.inc:504 include/utils/class_msgPool.inc:507
-#, php-format
-msgid "This '%s' is still in use by this object: %s"
-msgstr "Ce '%s' est en cours d'utilisation par : %s"
-
-#: include/utils/class_msgPool.inc:510
-#, php-format
-msgid "This '%s' is still in use."
-msgstr "Ce '%s' est toujours en utilisation."
-
-#: include/utils/class_msgPool.inc:512
-#, php-format
-msgid "This '%s' is still in use by these objects: %s"
-msgstr "Ce '%s' est en utilisation par les objets : %s"
-
-#: include/utils/class_msgPool.inc:518
-#, php-format
-msgid "File '%s' does not exist!"
-msgstr "Le fichier '%s' n'existe pas !"
-
-#: include/utils/class_msgPool.inc:524
-#, php-format
-msgid "Cannot open file '%s' for reading!"
-msgstr "Impossible de lire le fichier '%s' !"
-
-#: include/utils/class_msgPool.inc:530
-#, php-format
-msgid "Cannot open file '%s' for writing!"
-msgstr "Impossible d'écrire dans le fichier '%s' !"
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:536
-#, php-format
+#: include/class_core.inc:960
 msgid ""
-"The value for '%s' is currently unconfigured or invalid, please check your "
-"configuration file!"
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
 msgstr ""
-"La valeur de '%s' est actuellement vide ou non valide, veuillez vérifier "
-"votre fichier de configuration !"
-
-#: include/utils/class_msgPool.inc:542
-#, php-format
-msgid "Cannot delete file '%s'!"
-msgstr "Impossible d'effacer le fichier '%s' !"
-
-#: include/utils/class_msgPool.inc:548
-#, php-format
-msgid "Cannot create folder '%s'!"
-msgstr "Impossible de créer le répertoire '%s' !"
-
-#: include/utils/class_msgPool.inc:554
-#, php-format
-msgid "Cannot delete folder '%s'!"
-msgstr "Impossible d'effacer le répertoire '%s' !"
-
-#: include/utils/class_msgPool.inc:560
-#, php-format
-msgid "Checking for %s support"
-msgstr "Vérification du support pour %s"
 
-#: include/utils/class_msgPool.inc:566
-#, php-format
-msgid "Install and activate the %s PHP module."
-msgstr "Installer et activer le module PHP %s."
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:572
-#, php-format
+#: include/class_core.inc:980
 msgid ""
-"Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
-"setup?"
+"String containing the SID for Samba setups without the Domain object in LDAP."
 msgstr ""
-"Impossible d'initialiser la classe '%s' ! Peut être manque t'il une "
-"extension dans votre installation de GOsa ?"
-
-#: include/utils/class_msgPool.inc:578
-msgid "The supplied base is not valid and has been reset to the previous value!"
-msgstr "La base fournie n'est pas valide et à été réinitialisée à la valeur précédente !"
-
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-msgid "Performance warning"
-msgstr "Avertissement de performance"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-#, php-format
-msgid "LDAP performance is poor: last query took about %.2fs!"
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
 msgstr ""
-"La performance de votre annuaire est faible : la dernière requête à duré "
-"%.2fs !"
 
-#: include/class_ldap.inc:693
-#, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': no object class found!"
-msgstr ""
-"Impossible de créer automatiquement des sous arbres avec le RDN '%s': object "
-"class non trouvé !"
+#: include/class_core.inc:1000
+msgid "Enable manual object snapshots."
+msgstr "Activer la copie instantanée des d'objets."
 
-#: include/class_ldap.inc:744
-#, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': not supported"
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
 msgstr ""
-"Impossible de créer automatiquement des sous arbres avec le RDN '%s': non "
-"supporté"
 
-#: include/class_ldap.inc:831
-#, php-format
-msgid "while operating on '%s' using LDAP server '%s'"
-msgstr "lors de l'opération sur '%s' en utilisant le serveur LDAP '%s'"
+#: include/class_core.inc:1020
+msgid "DN of the snapshot administrator."
+msgstr "DN de l'administrateur des c"
 
-#: include/class_ldap.inc:833
-#, php-format
-msgid "while operating on LDAP server %s"
-msgstr "lors de l'opération sur le serveur LDAP %s"
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
+msgstr ""
 
-#: include/class_ldap.inc:1055
-#, php-format
+#: include/class_core.inc:1041
 msgid ""
-"This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
-"in line %s"
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
 msgstr ""
-"Ceci n'est pas un DN valide: '%s'. Le fichier d'importation doit commencer "
-"avec 'dn: ...' à la ligne %s"
 
-#: include/class_ldap.inc:1084
-#, php-format
-msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
 msgstr ""
-"Erreur lors de l'importation du dn: '%s', veuillez vérifier votre fichier "
-"votre fichier LDIF à partir de la ligne %s !"
-
-#: include/class_log.inc:87
-#, php-format
-msgid "Logging failed: %s"
-msgstr "Echec du Journal système : %s"
 
-#: include/class_log.inc:102
-#, php-format
-msgid "Invalid option '%s' specified!"
-msgstr "Option %s non valide !"
-
-#: include/class_log.inc:106
-msgid "Specified objectType is empty or invalid!"
-msgstr "Le type d'objet spécifié est vide ou invalide !"
-
-#: include/class_gosaSupportDaemon.inc:112
-msgid "GOsa support daemon"
-msgstr "GOsa support Service"
-
-#: include/class_gosaSupportDaemon.inc:787
-msgid "Cannot not parse XML!"
-msgstr "Impossible de lire le contenu du fichier XML"
-
-#: include/class_gosaSupportDaemon.inc:1184
-#, php-format
-msgid "Cannot send abort event for entry %s!"
-msgstr "Impossible d'envoyer l'evènement annuler pour l'entrée '%s' !"
-
-#: include/class_gosaSupportDaemon.inc:1204
-#, php-format
-msgid "Cannot remove entry %s!"
-msgstr "Impossible d'enlever l'entrée %s !"
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
+msgstr ""
 
-#: include/class_config.inc:152
+#: include/class_config.inc:168
 #, php-format
 msgid "XML error in gosa.conf: %s at line %d"
 msgstr "Erreur XML dans gosa.conf: %s à la ligne %d"
 
-#: include/class_config.inc:318
-msgid "Cannot bind to LDAP. Please contact the system administrator."
-msgstr ""
-"Impossible de se connecter à l'annuaire LDAP. Veuillez contacter "
-"l'administrateur du système."
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
+msgstr "Impossible de se connecter à l'annuaire !"
 
-#: include/class_config.inc:695
+#: include/class_config.inc:711
 msgid "sambaSID and/or sambaRidBase missing in the configuration!"
 msgstr "sambaSID et/ou sambaRidBase absents de votre configuration !"
 
-#: include/class_config.inc:1105
+#: include/class_config.inc:1130
 msgid "Configuration"
 msgstr ""
 
-#: include/class_config.inc:1105
+#: include/class_config.inc:1130
 msgid ""
-"The configuration file you are using seems to be outdated. Please move the "
-"GOsa configuration file away to run the GOsa setup again."
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
 msgstr ""
 "Le fichier de configuration que vous utilisez semble ancien. Veuillez "
 "l'enlever et recommencer l'installation."
 
-#: include/class_pluglist.inc:58
-msgid "All objects in this category"
-msgstr "Tout les objets dans cette catégorie"
+#: include/class_config.inc:1172 include/class_config.inc:1203
+#, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
+msgstr ""
+"La fonctionnalité pour les copie instantanées est activée, mais la variable "
+"requise %s n'est pas configurée."
+
+#: include/class_config.inc:1185
+#, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
+msgstr ""
+"La fonctionnalité pour les copie instantanées est activée, mais le module "
+"nécessaire à la compression est manquant. Veuillez installer %s."
 
-#: include/class_pluglist.inc:183
-msgid "The configuration format has changed. Please re-run setup!"
+#: include/exporter/class_PDF.inc:24
+msgid "Page"
 msgstr ""
-"Le format du fichier de configuration à changé. Veuillez réexecuter "
-"l'installation !"
 
-#: include/class_pluglist.inc:202 include/class_pluglist.inc:203
-#: include/class_pluglist.inc:316
-#: plugins/admin/departments/class_department.inc:145
-#: plugins/personal/generic/class_user.inc:273
-#: plugins/personal/generic/class_user.inc:1872
-msgid "Unknown"
-msgstr "Inconnu"
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
+msgstr ""
+
+#: include/exporter/class_pdfExporter.inc:18
+msgid "No PDF export possible: there is no FPDF library installed."
+msgstr "Pas d'exportation en pdf, la librairie FPDF n'est pas installée."
+
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
+msgstr ""
+
+#: include/class_jsonRPC.inc:38
+#, php-format
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
+msgstr "La connection RPC (%s) spécifiée pour %s:%s est invalide : %s"
+
+#: include/class_jsonRPC.inc:330
+#, php-format
+msgid "Unknown HTTP status code %s!"
+msgstr "Code de status HTTP inconnu %s !"
+
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
+msgstr "Soumettre"
 
 #: include/class_CopyPasteHandler.inc:118
 #: include/class_CopyPasteHandler.inc:127
@@ -2596,14 +2292,13 @@ msgid "Copy and paste failed!"
 msgstr "Le copier/coller à échoué !"
 
 #: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:193
 #, php-format
-msgid "Cannot set permission for '%s'"
-msgstr "Impossible d'attribuer les permissions pour '%s'"
+msgid "Cannot set permission for %s"
+msgstr "Impossible d'attribuer les permissions pour %s"
 
 #: include/class_CopyPasteHandler.inc:159
 #, php-format
-msgid "'%s' is no vaild LDAP object"
+msgid "'%s' is no valid LDAP object"
 msgstr "'%s' n'est pas un objet LDAP valide"
 
 #: include/class_CopyPasteHandler.inc:176
@@ -2611,6 +2306,11 @@ msgstr "'%s' n'est pas un objet LDAP valide"
 msgid "No write permission in '%s'"
 msgstr "Pas de permissions d'écriture dans '%s'"
 
+#: include/class_CopyPasteHandler.inc:193
+#, php-format
+msgid "Cannot set permission for '%s'"
+msgstr "Impossible d'attribuer les permissions pour '%s'"
+
 #: include/class_CopyPasteHandler.inc:396
 #, php-format
 msgid "These objects will be pasted: %s"
@@ -2621,2131 +2321,2457 @@ msgstr "Ces objets seront collés : %s"
 msgid "This object will be pasted: %s"
 msgstr "Cet objet sera collé : %s"
 
-#: include/class_CopyPasteHandler.inc:572
+#: include/class_CopyPasteHandler.inc:573
 msgid "Cannot paste"
 msgstr "Impossible de coller"
 
-#: include/class_msg_dialog.inc:124
-msgid "Please fix the above error and reload the page."
-msgstr "Veuillez fixer l'erreur ci dessus et recharger la page."
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
+msgid "Access control"
+msgstr "Contrôle d'accès"
 
-#: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:966
-#: plugins/admin/groups/class_group.inc:1174
-#: plugins/admin/users/class_userManagement.inc:870
-#: plugins/admin/departments/class_department.inc:656
-#: plugins/personal/generic/class_user.inc:37
-#: plugins/personal/generic/class_user.inc:1668
-#: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
-msgid "Generic"
-msgstr "Informations"
+#: include/class_acl.inc:28
+msgid "Manage access control lists"
+msgstr "Gestion de listes de contrôle d'accès (ACL)"
 
-#: plugins/generic/references/class_reference.inc:43
-#: plugins/personal/posix/class_posixAccount.inc:37
-msgid "UNIX"
-msgstr ""
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, php-format
+msgid "All users"
+msgstr "Tout les utilisateurs"
 
-#: plugins/generic/references/class_reference.inc:45
-#: plugins/admin/ogroups/tabs_ogroups.inc:148
-#: plugins/admin/groups/class_groupManagement.inc:164
-#: plugins/admin/users/class_userManagement.inc:877
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
-msgid "Mail"
-msgstr "Messagerie"
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
+msgstr "Remise à zéro des ACL"
 
-#: plugins/generic/references/class_reference.inc:47
-#: plugins/generic/references/class_reference.inc:49
-#: plugins/admin/groups/class_groupManagement.inc:172
-#: plugins/admin/users/class_userManagement.inc:882
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:78
-msgid "Samba"
-msgstr ""
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
+msgid "One level"
+msgstr "Un niveau"
 
-#: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:894
-msgid "FAX"
-msgstr ""
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
+msgid "Current object"
+msgstr "Objet actuel"
 
-#: plugins/generic/references/class_reference.inc:53
-msgid "Proxy"
-msgstr ""
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
+msgid "Complete subtree"
+msgstr "Sous arbre complet"
 
-#: plugins/generic/references/class_reference.inc:55
-msgid "FTP"
-msgstr ""
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
+msgstr "Le sous arbre complet (permanent)"
 
-#: plugins/generic/references/class_reference.inc:57
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
-#: plugins/admin/ogroups/class_ogroupManagement.inc:184
-#: plugins/admin/ogroups/ogroup-list.xml:79
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
-#: plugins/admin/groups/group-list.xml:15
-#: plugins/admin/groups/group-list.xml:96
-#: plugins/personal/posix/groupSelect/group-list.xml:15
-msgid "Group"
-msgstr "Groupes"
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+msgid "Use ACL defined in role"
+msgstr "Utiliser l'ACL définie dans le rôle"
 
-#: plugins/generic/references/class_reference.inc:59
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
-#: plugins/admin/ogroups/class_ogroupManagement.inc:186
-#: plugins/admin/departments/dep-list.xml:55
-#: plugins/admin/departments/dep-list.xml:71
-#: plugins/admin/departments/dep-list.xml:138
-#: plugins/admin/departments/class_departmentManagement.inc:249
-#: plugins/personal/generic/class_user.inc:1695
-#: plugins/personal/generic/generic.tpl:307
-msgid "Department"
-msgstr "Département"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
+msgstr "Utilisateurs"
 
-#: plugins/generic/references/class_reference.inc:61
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
-#: plugins/admin/ogroups/class_ogroupManagement.inc:188
-#: plugins/admin/groups/class_groupManagement.inc:180
-#: plugins/admin/users/class_userManagement.inc:898
-#: plugins/admin/departments/generic.tpl:106
-#: plugins/admin/departments/class_department.inc:370
-#: plugins/admin/departments/organization.tpl:105
-#: plugins/personal/generic/class_user.inc:1356
-#: plugins/personal/generic/class_user.inc:1819
-#: plugins/personal/generic/generic.tpl:398
-#: plugins/personal/generic/generic.tpl:579
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:86
-msgid "Phone"
-msgstr "Téléphone"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
+msgstr "Groupes"
 
-#: plugins/generic/references/class_reference.inc:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:185
-msgid "Application"
-msgstr "Applications"
+#: include/class_acl.inc:254
+msgid "Section"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:65
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
-#: plugins/admin/ogroups/class_ogroupManagement.inc:187
-#: plugins/personal/posix/trustSelect/trust-list.xml:14
-#: setup/setup_config2.tpl:219 setup/setup_config2.tpl:264
-msgid "Server"
-msgstr "Serveur"
+#: include/class_acl.inc:264
+msgid "Used"
+msgstr "Utilisé"
 
-#: plugins/generic/references/class_reference.inc:67
-msgid "Thin Client"
-msgstr "Clients légers"
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
+msgid "Member"
+msgstr "Membres"
 
-#: plugins/generic/references/class_reference.inc:69
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
-#: plugins/admin/ogroups/class_ogroupManagement.inc:189
-#: plugins/personal/posix/trustSelect/trust-list.xml:22
-msgid "Workstation"
-msgstr "Stations de travail"
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
+msgid "Permissions"
+msgstr "Permissions"
 
-#: plugins/generic/references/class_reference.inc:71
-#: plugins/admin/ogroups/ogroup-list.xml:15
-msgid "Object group"
-msgstr "Groupes d'objets"
+#: include/class_acl.inc:574
+msgid "No ACL settings for this category!"
+msgstr "Pas de paramètres pour les ACL de cette catégorie !"
 
-#: plugins/generic/references/class_reference.inc:73
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
-#: plugins/admin/ogroups/class_ogroupManagement.inc:192
-msgid "Printer"
-msgstr "Imprimante"
+#: include/class_acl.inc:577
+#, php-format
+msgid "ACLs for: %s"
+msgstr "ACLs pour: %s"
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Object name"
-msgstr "Nom de l'objet"
+#: include/class_acl.inc:583 include/class_acl.inc:587
+msgid "category ACL"
+msgstr "ACL de la catégorie"
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Contents"
-msgstr "Contenu"
-
-#: plugins/generic/references/contents.tpl:18
-msgid "This object has no relationship to other objects."
-msgstr "Cette objet n'a pas de relation avec d'autres objets."
-
-#: plugins/generic/welcome/main.inc:26
+#: include/class_acl.inc:639
 #, php-format
-msgid "Welcome %s!"
-msgstr "Bienvenue %s !"
+msgid "Edit ACL for '%s' with scope '%s'"
+msgstr "Editer l'ACL pour '%s', l'étendue est '%s'"
 
-#: plugins/generic/welcome/welcome.tpl:4
-msgid ""
-"This is the GOsa main menu. You can select your tasks from the menu on the "
-"left, or by choosing one of the pictograms below. All changes apply directly "
-"to your companies LDAP server."
-msgstr ""
-"Vous êtes sur la fenêtre principale de GOsa. Vous pouvez sélectionner une "
-"rubrique soit en utilisant le menu de gauche soit en cliquant sur une des "
-"icônes. Tout les changements sont directement appliqués sur les serveurs "
-"LDAP de votre société."
+#: include/class_acl.inc:801 include/class_acl.inc:808
+msgid "Show/hide advanced settings"
+msgstr "Afficher/Cacher la configuration avancée"
 
-#: plugins/generic/welcome/welcome.tpl:8
-msgid ""
-"Use 'Sign out' on the upper left to close the connection and 'Main' to get "
-"back to the pictogram view."
-msgstr ""
-"Cliquez sur déconnexion, en haut à gauche, pour vous déconnecter, sur "
-"Accueil pour revenir à la page principale."
+#: include/class_acl.inc:819
+msgid "Create objects"
+msgstr "Créer un objet"
 
-#: plugins/generic/welcome/welcome.tpl:15
-msgid "The GOsa team"
-msgstr "L'équipe de GOsa"
+#: include/class_acl.inc:820
+msgid "Move objects"
+msgstr "Bouger un objet"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
-#: plugins/admin/groups/userSelect/user-list.xml:10
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
-#: plugins/personal/posix/trustSelect/trust-list.xml:10
-#: plugins/personal/posix/groupSelect/group-list.xml:11
-msgid "Please select the desired entries"
-msgstr "Veuillez sélectionner les entrées désirées"
+#: include/class_acl.inc:821
+msgid "Remove objects"
+msgstr "Enlever les objets"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
-#: plugins/admin/ogroups/class_ogroupManagement.inc:191
-#: plugins/personal/posix/trustSelect/trust-list.xml:30
-msgid "Terminal"
-msgstr ""
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
+msgstr "Restreindre les changements au objets appartenant à l'utilisateur"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:183
-#: plugins/admin/groups/userSelect/user-list.xml:14
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
-#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
-#: setup/setup_config2.tpl:228 setup/setup_config2.tpl:273
-msgid "User"
-msgstr "Utilisateur"
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
+msgstr "lecture"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:29
-#: plugins/admin/ogroups/class_ogroup.inc:768
-#: plugins/admin/ogroups/class_ogroup.inc:783
-#: plugins/admin/ogroups/class_ogroup.inc:787
-#: plugins/admin/ogroups/class_ogroup.inc:975
-#: plugins/admin/ogroups/ogroup-filter.tpl:29
-#: plugins/admin/ogroups/ogroup-list.xml:41
-#: plugins/admin/groups/userSelect/user-filter.tpl:17
-#: plugins/admin/groups/group-filter.tpl:21
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:17
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:21
-#: plugins/admin/groups/group-list.xml:58
-#: plugins/admin/groups/class_group.inc:1045
-#: plugins/admin/groups/class_group.inc:1056
-#: plugins/admin/groups/class_group.inc:1058
-#: plugins/admin/groups/class_group.inc:1075
-#: plugins/admin/groups/class_group.inc:1089
-#: plugins/admin/groups/class_group.inc:1096
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:538
-#: plugins/admin/users/class_userManagement.inc:585
-#: plugins/admin/users/user-filter.tpl:24
-#: plugins/admin/departments/class_domain.inc:47
-#: plugins/admin/departments/class_domain.inc:49
-#: plugins/admin/departments/class_domain.inc:54
-#: plugins/admin/departments/class_domain.inc:56
-#: plugins/admin/departments/class_domain.inc:58
-#: plugins/admin/departments/class_domain.inc:90
-#: plugins/admin/departments/dep-filter.tpl:13
-#: plugins/admin/departments/class_localityGeneric.inc:48
-#: plugins/admin/departments/class_localityGeneric.inc:50
-#: plugins/admin/departments/class_localityGeneric.inc:55
-#: plugins/admin/departments/class_localityGeneric.inc:57
-#: plugins/admin/departments/class_localityGeneric.inc:59
-#: plugins/admin/departments/class_organizationGeneric.inc:79
-#: plugins/admin/departments/class_organizationGeneric.inc:81
-#: plugins/admin/departments/class_organizationGeneric.inc:86
-#: plugins/admin/departments/class_organizationGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:90
-#: plugins/admin/departments/class_countryGeneric.inc:47
-#: plugins/admin/departments/class_countryGeneric.inc:49
-#: plugins/admin/departments/class_countryGeneric.inc:54
-#: plugins/admin/departments/class_countryGeneric.inc:56
-#: plugins/admin/departments/class_countryGeneric.inc:58
-#: plugins/admin/departments/class_dcObject.inc:47
-#: plugins/admin/departments/class_dcObject.inc:49
-#: plugins/admin/departments/class_dcObject.inc:54
-#: plugins/admin/departments/class_dcObject.inc:56
-#: plugins/admin/departments/class_dcObject.inc:58
-#: plugins/admin/departments/class_dcObject.inc:90
-#: plugins/admin/departments/class_department.inc:349
-#: plugins/admin/departments/class_department.inc:351
-#: plugins/admin/departments/class_department.inc:356
-#: plugins/admin/departments/class_department.inc:363
-#: plugins/admin/departments/class_department.inc:367
-#: plugins/admin/acl/class_aclRole.inc:733
-#: plugins/admin/acl/class_aclRole.inc:745
-#: plugins/admin/acl/class_aclRole.inc:755 plugins/admin/acl/acl-list.xml:49
-#: plugins/admin/acl/paste_role.tpl:4 plugins/admin/acl/acl-filter.tpl:21
-#: plugins/admin/acl/acl_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1336
-#: plugins/personal/generic/class_user.inc:1378
-#: plugins/personal/generic/class_user.inc:1834
-#: plugins/personal/posix/trustSelect/trust-list.xml:56
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:23
-#: plugins/personal/posix/groupSelect/group-filter.tpl:21
-#: plugins/personal/posix/groupSelect/group-list.xml:41
-#: setup/setup_migrate.tpl:283 setup/setup_feedback.tpl:31
-msgid "Name"
-msgstr "Nom"
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
+msgstr "écrire"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
-#: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:976
-#: plugins/admin/ogroups/generic.tpl:26
-#: plugins/admin/groups/userSelect/user-list.tpl:13
-#: plugins/admin/groups/generic.tpl:39
-#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:13
-#: plugins/admin/groups/group-list.tpl:13
-#: plugins/admin/groups/class_group.inc:1185
-#: plugins/admin/users/user-list.tpl:13
-#: plugins/admin/departments/locality.tpl:28
-#: plugins/admin/departments/generic.tpl:39
-#: plugins/admin/departments/class_domain.inc:92
-#: plugins/admin/departments/class_localityGeneric.inc:94
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/admin/departments/class_countryGeneric.inc:94
-#: plugins/admin/departments/class_dcObject.inc:93
-#: plugins/admin/departments/domain.tpl:28
-#: plugins/admin/departments/country.tpl:28
-#: plugins/admin/departments/dcObject.tpl:28
-#: plugins/admin/departments/class_department.inc:668
-#: plugins/admin/departments/dep-list.tpl:13
-#: plugins/admin/departments/organization.tpl:39
-#: plugins/admin/acl/acl-list.tpl:13 plugins/admin/acl/class_aclRole.inc:734
-#: plugins/admin/acl/acl_role.tpl:27
-#: plugins/personal/generic/class_user.inc:1688
-#: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/posix/trustSelect/trust-list.tpl:13
-#: plugins/personal/posix/groupSelect/group-list.tpl:13
-#: setup/setup_ldap.tpl:55
-msgid "Base"
-msgstr ""
+#: include/class_acl.inc:832
+msgid "Complete object"
+msgstr "L'objet au complet"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:3
-#: plugins/admin/ogroups/ogroup-filter.tpl:3
-#: plugins/admin/groups/userSelect/user-filter.tpl:3
-#: plugins/admin/groups/group-filter.tpl:3
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:3
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:3
-#: plugins/admin/users/user-filter.tpl:3
-#: plugins/admin/departments/dep-filter.tpl:3
-#: plugins/admin/acl/acl-filter.tpl:3
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:3
-#: plugins/personal/posix/groupSelect/group-filter.tpl:3
-msgid "Filter"
-msgstr "Filtre"
+#: include/class_acl.inc:984
+#, php-format
+msgid "Unknown ACL type '%s'!"
+msgstr "Type d'ACL inconnu '%s' !"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:11
-msgid "Show department"
-msgstr "Départements"
+#: include/class_acl.inc:1029
+#, php-format
+msgid "Unknown entry '%s'!"
+msgstr "Entrée inconnue '%s'  !"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:12
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:11
-msgid "Show users"
-msgstr "Utilisateurs"
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
+#, php-format
+msgid "ACL role: %s"
+msgstr "Rôles ACL : %s"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:12
-msgid "Show groups"
-msgstr "Groupes"
+#: include/class_acl.inc:1095
+msgid "unknown ACL role"
+msgstr "Rôle inconnu"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:15
-msgid "Show server"
-msgstr "Serveur"
+#: include/class_acl.inc:1103
+#, php-format
+msgid "Contains settings for these objects: %s"
+msgstr "Contient les paramètres pour ces objets: %s"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:16
-msgid "Show workstation"
-msgstr "Stations de travail"
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+msgid "Members"
+msgstr "Membres"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:17
-msgid "Show terminal"
-msgstr "Terminaux"
+#: include/class_acl.inc:1120
+msgid "inactive"
+msgstr "inactif"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:19
-msgid "Show printer"
-msgstr "Imprimante"
+#: include/class_acl.inc:1120
+msgid "No members"
+msgstr "Aucun membres"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:20
-msgid "Show phone"
-msgstr "Téléphones"
+#: include/class_acl.inc:1291
+msgid "Access control list"
+msgstr "Contrôle d'accès (ACL)"
 
-#: plugins/admin/ogroups/remove.tpl:6
-msgid ""
-"Please double check if you really want to do this since there is no way for "
-"GOsa to get your data back."
-msgstr ""
-"Veuillez vérifier que vous voulez effectuer cette action. Toutes les données "
-"seront perdues étant donné qu'il est impossible pour GOsa de récupérer vos "
-"données."
+#: include/class_acl.inc:1297
+msgid "ACL roles"
+msgstr "Rôles ACL"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:972
-msgid "Object groups"
-msgstr "Groupes d'objets"
+#: include/class_acl.inc:1300
+msgid "ACL Entries"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:26
-msgid "Manage object groups"
-msgstr "Gestion des groupe d'objets"
+#: include/class_socketClient.inc:108
+#, php-format
+msgid "Socket connection to %s:%s failed: %s"
+msgstr "La connexion socket vers l'hôte %s:%s à echoué : %s"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:115
-#: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:204
-msgid "Infrastructure error"
-msgstr "Erreur d'infrastructure"
+#: include/class_socketClient.inc:191
+#, php-format
+msgid "Socket timeout of %s seconds reached!"
+msgstr "Le temps limite du socket de %s secondes à été atteint !"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:182
-msgid "Templates"
-msgstr "Modèles"
+#: include/class_userFilterEditor.inc:254
+#, php-format
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
+msgstr ""
+"Erreur dans le filtre %s: parenthéses ouvrantes %s et parenthèses fermantes "
+"%s détectées !"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:190
-msgid "Windows Install"
-msgstr "Installation Windows"
+#: include/class_gosaSupportDaemon.inc:112
+msgid "GOsa support daemon"
+msgstr "GOsa support Service"
 
-#: plugins/admin/ogroups/class_ogroup.inc:238
-msgid "You cannot combine terminals and workstations in one object group!"
-msgstr ""
-"Vous ne pouvez pas combiner des terminaux et des stations de travail dans un "
-"groupe d'objet !"
+#: include/class_gosaSupportDaemon.inc:787
+msgid "Cannot not parse XML!"
+msgstr "Impossible de lire le contenu du fichier XML"
 
-#: plugins/admin/ogroups/class_ogroup.inc:354
-#: plugins/admin/users/class_userManagement.inc:463
-#: plugins/admin/users/class_userManagement.inc:497
-#: plugins/admin/users/class_userManagement.inc:528
-msgid "none"
-msgstr "aucun"
+#: include/class_gosaSupportDaemon.inc:1184
+#, php-format
+msgid "Cannot send abort event for entry %s!"
+msgstr "Impossible d'envoyer l'evènement annuler pour l'entrée '%s' !"
 
-#: plugins/admin/ogroups/class_ogroup.inc:356
-msgid "too many different objects!"
-msgstr "nombre d'objets différents trop important !"
+#: include/class_gosaSupportDaemon.inc:1204
+#, php-format
+msgid "Cannot remove entry %s!"
+msgstr "Impossible d'enlever l'entrée %s !"
 
-#: plugins/admin/ogroups/class_ogroup.inc:358
-msgid "users"
-msgstr "utilisateurs"
+#: include/class_GOsaRegistration.inc:127
+msgid ""
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:359
-msgid "groups"
-msgstr "groupes"
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
+#, php-format
+msgid ""
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
+msgstr ""
+"La fonctionnalité pour les copie instantanées est activée, mais la variable "
+"requise '%s' n'est pas configurée !"
 
-#: plugins/admin/ogroups/class_ogroup.inc:360
-msgid "applications"
+#: include/class_SnapshotHandler.inc:58
+#, php-format
+msgid ""
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
 msgstr ""
+"La fonctionnalité pour les copie instantanées est activée, mais le module "
+"nécessaire à la compression est manquant. Veuillez installer %s !"
 
-#: plugins/admin/ogroups/class_ogroup.inc:361
-msgid "departments"
-msgstr "départements"
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
+msgid "Filter editor"
+msgstr "Editeur de Filtre"
 
-#: plugins/admin/ogroups/class_ogroup.inc:362
-msgid "servers"
-msgstr "serveurs"
+#: ihtml/themes/default/userFilterEditor.tpl:8
+msgid "Filter properties"
+msgstr "Propriétés du filtre"
 
-#: plugins/admin/ogroups/class_ogroup.inc:363
-msgid "workstations"
-msgstr "stations de travail"
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+msgid "Public visible"
+msgstr "Visible par tous"
 
-#: plugins/admin/ogroups/class_ogroup.inc:364
-msgid "winstations"
-msgstr "Stations Windows"
+#: ihtml/themes/default/userFilterEditor.tpl:45
+msgid "Enabled"
+msgstr "Activé"
 
-#: plugins/admin/ogroups/class_ogroup.inc:365
-msgid "terminals"
-msgstr "terminaux"
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
+msgstr "Catégories dans lequel les filtres sont visibles"
 
-#: plugins/admin/ogroups/class_ogroup.inc:366
-msgid "phones"
-msgstr "téléphones"
+#: ihtml/themes/default/userFilterEditor.tpl:69
+msgid "Query"
+msgstr "Requète"
 
-#: plugins/admin/ogroups/class_ogroup.inc:367
-msgid "printers"
-msgstr "imprimantes"
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+msgid "Assigned ACL for current entry"
+msgstr "ACL assignés à l'entrée actuelle"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-#: setup/setup_config2.tpl:143
-msgid "disabled"
-msgstr "désactivé"
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
+msgid "New ACL"
+msgstr "Nouvelle ACL"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-msgid "full access"
-msgstr "accès complet"
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
+msgid "ACL type"
+msgstr "Type ACL"
 
-#: plugins/admin/ogroups/class_ogroup.inc:413
-#: plugins/admin/groups/class_group.inc:434
-#: plugins/personal/posix/class_posixAccount.inc:574
-msgid "allow access to these hosts"
-msgstr "permettre l'accès a ces hôtes"
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+msgid "Select an ACL type"
+msgstr "Sélectionnez un type d'acl"
 
-#: plugins/admin/ogroups/class_ogroup.inc:601
-msgid "Non existing dn:"
-msgstr "le dn n'existe pas :"
+#: ihtml/themes/default/acl.tpl:40
+msgid "Additional filter options"
+msgstr "Paramètres supplémentaire pour le filtre"
 
-#: plugins/admin/ogroups/class_ogroup.inc:758
-#, php-format
-msgid ""
-"These systems are already configured by other object groups and cannot be "
-"added:"
-msgstr ""
-"Ces systèmes sont déjà configurés par d'autres groupes d'objets et ne "
-"peuvent pas être ajoutés :"
+#: ihtml/themes/default/acl.tpl:54
+msgid "Member selection"
+msgstr "Sélection des membres"
 
-#: plugins/admin/ogroups/class_ogroup.inc:792
-msgid "You can combine two different object types at maximum, only!"
-msgstr "Vous pouvez combiner au maximum deux objets différents !"
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
+msgstr "Utiliser les membres depuis"
 
-#: plugins/admin/ogroups/class_ogroup.inc:967
-msgid "Object group generic"
-msgstr "Groupes d'objets"
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+msgid "List message possible targets"
+msgstr "Liste les destinataires possibles pour les messages"
 
-#: plugins/admin/ogroups/class_ogroup.inc:978
-msgid "Sytem trust"
-msgstr "Système de Confiance"
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
+msgstr "Lister les destinataires du message"
 
-#: plugins/admin/ogroups/class_ogroup.inc:979
-msgid "Member"
-msgstr "Membres"
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+msgid "List of available ACL categories"
+msgstr "Liste des catégories d'acl disponibles"
 
-#: plugins/admin/ogroups/generic.tpl:7
-#: plugins/admin/ogroups/paste_generic.tpl:4
-#: plugins/admin/groups/generic.tpl:11
-#: plugins/admin/groups/paste_generic.tpl:5
-msgid "Group name"
-msgstr "Nom du groupe"
+#: ihtml/themes/default/acl.tpl:120
+msgid "ACL for this object"
+msgstr "ACL pour cet objet"
 
-#: plugins/admin/ogroups/generic.tpl:10
-msgid "Name of the group"
-msgstr "Nom du groupe"
+#: ihtml/themes/default/acl.tpl:126
+msgid "Available roles"
+msgstr "Type de rôles disponibles"
 
-#: plugins/admin/ogroups/generic.tpl:18 plugins/admin/groups/generic.tpl:28
-msgid "Descriptive text for this group"
-msgstr "Description du groupe"
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+msgid "Attention"
+msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1191
-#: plugins/personal/posix/generic.tpl:139
-msgid "System trust"
-msgstr "Système de Confiance"
+#: ihtml/themes/default/removeEntries.tpl:14
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
+msgstr ""
+"D'accord - si vous êtes sur - cliquez sur 'Supprimer' pour continuer ou sur "
+"'Annuler' pour abandonner."
 
-#: plugins/admin/ogroups/generic.tpl:37 plugins/admin/groups/generic.tpl:160
-#: plugins/admin/groups/generic.tpl:194 plugins/personal/posix/generic.tpl:141
-#: plugins/personal/posix/generic.tpl:169
-msgid "Trust mode"
-msgstr "Mode de confiance"
+#: ihtml/themes/default/userFilter.tpl:1
+msgid "List of defined filters"
+msgstr "Liste des filtres définis"
 
-#: plugins/admin/ogroups/generic.tpl:65
-msgid "Member objects"
-msgstr "Objets membres"
-
-#: plugins/admin/ogroups/tabs_ogroups.inc:133
-msgid "Phone queue"
-msgstr "Queue téléphonique"
+#: ihtml/themes/default/snapshotdialog.tpl:3
+msgid "Restoring object snapshots"
+msgstr "Restaurer des copie instantanés des objets"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:160
-msgid "Systems"
-msgstr "Systèmes"
+#: ihtml/themes/default/snapshotdialog.tpl:6
+msgid ""
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
+msgstr ""
+"Cette procédure va restaurer un copie instantanée de l'objet sélectionné. "
+"Cela va remplacer l'objet existant après que vous ayez pressé le bouton "
+"restaurer."
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:171
-#: plugins/admin/ogroups/tabs_ogroups.inc:194
-msgid "Startup"
-msgstr "Démarrage"
+#: ihtml/themes/default/snapshotdialog.tpl:9
+msgid ""
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
+msgstr ""
+"Souvenez vous que la configuration DNS et certaines autres données ne "
+"peuvent pas être restaurées. Elles devront être recrées manuellement."
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:182
-#: plugins/admin/ogroups/tabs_ogroups.inc:203
-msgid "Devices"
-msgstr "Périphériques"
+#: ihtml/themes/default/snapshotdialog.tpl:12
+msgid ""
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
+msgstr ""
+"N'oubliez pas de vérifier les références avec les autres objets, par exemple "
+"est ce que l'imprimante sélectionnée existe encore ?"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:213
-msgid "FAI summary"
-msgstr "Sommaire FAI"
+#: ihtml/themes/default/snapshotdialog.tpl:29
+msgid "There is no snapshot available that can be restored"
+msgstr "Il n'y a pas de snapshots disponibles qui pourrait être restaurés"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:222
-#: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:890
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
-msgid "Environment"
-msgstr "Environnement"
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+msgstr ""
+"Choisissez une copie instantanée et cliquez sur l'image du répertoire, pour "
+"restaurer la copie"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:241
-msgid "Applications"
-msgstr "Applications"
+#: ihtml/themes/default/snapshotdialog.tpl:50
+msgid "Creating object snapshots"
+msgstr "Créer une copie instantanée des d'objets"
 
-#: plugins/admin/ogroups/paste_generic.tpl:7
-msgid "Please enter the new object group name"
-msgstr "Veuillez entrer un nouveau nom pour le groupe d'objet"
+#: ihtml/themes/default/snapshotdialog.tpl:53
+msgid ""
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
+msgstr ""
+"Cette procédure va créer une copie instantanée de l'objet sélectionné. Il "
+"sera stocké dans une branche spéciale de votre annuaire et pourra être "
+"restauré plus tard."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:11
-msgid "user groups"
-msgstr "groupes d'utilisateurs"
+#: ihtml/themes/default/snapshotdialog.tpl:56
+msgid ""
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
+msgstr ""
+"Souvenez vous que les entrées dans les base de données, les configurations "
+"DNS et probablement les zones crées dans les serveurs ne seront pas stockées "
+"dans les copie instantanées."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:12
-msgid "nested groups"
-msgstr "groupes imbriqués"
+#: ihtml/themes/default/snapshotdialog.tpl:71
+msgid "Time stamp"
+msgstr "Date"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:13
-msgid "application groups"
-msgstr "groupes d'applications"
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
+msgstr "Raison pour la génération de cette copie instantanée"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:14
-msgid "department groups"
-msgstr "groupes de départements"
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
+msgstr "Continuer"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:15
-msgid "server groups"
-msgstr "groupes de serveurs"
+#: ihtml/themes/default/password.tpl:5
+msgid "Change your password"
+msgstr "Modifier votre mot de passe"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:16
-msgid "workstation groups"
-msgstr "groupes de stations de travail"
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
+msgstr "Votre mot de passe à été changé avec succès."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:17
-msgid "windows workstation groups"
-msgstr "groupes de stations windows"
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
+msgid "Password change"
+msgstr "Changement de mot de passe"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:18
-msgid "terminal groups"
-msgstr "groupes de terminaux"
+#: ihtml/themes/default/password.tpl:72
+msgid ""
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
+msgstr ""
+"Entrez le mot de passe actuel et le nouveau mot de passe (deux fois) dans "
+"les champs ci-dessous et appuyez sur le bouton 'Changer'."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:19
-msgid "printer groups"
-msgstr "groupes d'imprimantes"
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
+msgstr "Modifier le mot de passe"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:20
-msgid "phone groups"
-msgstr "groupes de téléphones"
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
+msgstr "Répertoire"
 
-#: plugins/admin/ogroups/ogroup-list.xml:11
-msgid "List of object groups"
-msgstr "Liste des groupes d'objets"
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
+msgid "User name"
+msgstr "Nom d'utilisateur"
 
-#: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:74 plugins/admin/users/user-list.xml:73
-#: plugins/admin/departments/locality.tpl:8
-#: plugins/admin/departments/generic.tpl:7
-#: plugins/admin/departments/domain.tpl:8
-#: plugins/admin/departments/country.tpl:8
-#: plugins/admin/departments/dcObject.tpl:8
-#: plugins/admin/departments/organization.tpl:7
-msgid "Properties"
-msgstr "Propriétés"
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
+msgstr "Mot de passe actuel"
 
-#: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:90 plugins/admin/users/user-list.xml:89
-#: plugins/admin/departments/dep-list.xml:98 plugins/admin/acl/acl-list.xml:76
-#: setup/class_setupStep_Migrate.inc:1036
-#: setup/class_setupStep_Migrate.inc:1052
-msgid "Create"
-msgstr "Créer"
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
+msgstr "Nouveau mot de passe"
 
-#: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-list.xml:115
-#: plugins/admin/users/user-list.xml:121
-#: plugins/admin/departments/dep-list.xml:160
-#: plugins/admin/departments/dep-list.xml:181
-#: plugins/admin/acl/acl-list.xml:95 plugins/admin/acl/acl-list.xml:144
-#: plugins/personal/generic/generic_certs.tpl:21
-#: plugins/personal/generic/generic_certs.tpl:45
-#: plugins/personal/generic/generic_certs.tpl:69
-#: setup/class_setupStep_Migrate.inc:2870
-msgid "Remove"
-msgstr "Supprimer"
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
+msgstr "Confirmation du nouveau mot de passe"
 
-#: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:123
-#: plugins/admin/users/user-list.xml:156
-msgid "Send message"
-msgstr "Envoyer un message"
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
+msgid "Password strength"
+msgstr "Niveau de sécurité du mot de passe"
 
-#: plugins/admin/ogroups/ogroup-list.xml:142
-msgid "Edit object group"
-msgstr "Editer les groupes d'objets"
+#: ihtml/themes/default/password.tpl:131
+msgid "Click here to change your password"
+msgstr "Cliquez ici pour changer votre mot de passe"
 
-#: plugins/admin/ogroups/ogroup-list.xml:155
-msgid "Remove object group"
-msgstr "Enlever le groupe d'objet"
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
+msgstr "Attribuer le mot de passe"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:6
-msgid "Select objects to add"
-msgstr "Sélectionnez les objets à ajouter"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:20
-#: plugins/admin/groups/trust_machines.tpl:19
-#: plugins/personal/posix/posix_groups.tpl:21
-msgid "Filters"
-msgstr "Filtres"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:36
-msgid "Display objects of department"
-msgstr "Afficher les objets du département"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:37
-#: plugins/admin/ogroups/trust_machines.tpl:27
-#: plugins/admin/groups/trust_machines.tpl:26
-#: plugins/personal/posix/posix_groups.tpl:35
-#: plugins/personal/posix/trust_machines.tpl:27
-msgid "Choose the department the search will be based on"
-msgstr "Sélectionner le département où sera effectuée la recherche"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:40
-msgid "Display objects matching"
-msgstr "Afficher les objets correspondants"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:41
-msgid "Regular expression for matching object names"
-msgstr "Expression régulière pour trouver les objets correspondants"
-
-#: plugins/admin/ogroups/trust_machines.tpl:6
-#: plugins/admin/groups/trust_machines.tpl:6
-#: plugins/personal/posix/trust_machines.tpl:6
-msgid "Select systems to add"
-msgstr "Sélectionner les hôtes à ajouter"
-
-#: plugins/admin/ogroups/trust_machines.tpl:26
-#: plugins/admin/groups/trust_machines.tpl:25
-#: plugins/personal/posix/trust_machines.tpl:26
-msgid "Display systems of department"
-msgstr "Afficher les systèmes du département"
-
-#: plugins/admin/ogroups/trust_machines.tpl:30
-#: plugins/admin/groups/trust_machines.tpl:29
-#: plugins/personal/posix/trust_machines.tpl:30
-msgid "Display systems matching"
-msgstr "Afficher les systèmes correspondant"
-
-#: plugins/admin/ogroups/trust_machines.tpl:31
-#: plugins/admin/groups/trust_machines.tpl:30
-#: plugins/personal/posix/trust_machines.tpl:31
-msgid "Regular expression for matching addresses"
-msgstr "Expression régulière pour sélectionner les adresses correspondantes"
-
-#: plugins/admin/groups/remove.tpl:6
-msgid ""
-"This may be a primary user group. Please double check if you really want to "
-"do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Ce groupe est un groupe principal contenant des utilisateurs. Veuillez vous "
-"assurez que vous voulez bien exécuter cette action étant donné qu'il est "
-"impossible pour GOsa de récupérer vos données."
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
+msgstr "Conflit de verrou détecté"
 
-#: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:541
-#: plugins/admin/users/user-list.xml:57
-#: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1375
-#: plugins/personal/generic/class_user.inc:1680
-#: plugins/personal/generic/class_user.inc:1831
-msgid "Given name"
-msgstr "Prénom"
+#: ihtml/themes/default/islocked.tpl:14
+msgid ""
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
+msgstr ""
+"Si la détection de ce verrou est fausse, une autre personne a manifestement "
+"fermé la fenêtre de son navigateur durant une opération de modification "
+"d'une entrée. Dans ce cas, vous pouvez supprimez le verrou en cliquant sur "
+"le bouton 'Éditer malgré tout'."
 
-#: plugins/admin/groups/userSelect/user-list.xml:48
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
-#: plugins/admin/users/user-list.xml:49
-#: plugins/personal/generic/class_user.inc:1679
-msgid "Surname"
-msgstr "Nom de famille"
+#: ihtml/themes/default/islocked.tpl:23
+msgid "Read only"
+msgstr "Lecture seule"
 
-#: plugins/admin/groups/generic.tpl:14 plugins/personal/generic/generic.tpl:52
-#: plugins/personal/generic/generic.tpl:73
-#: plugins/personal/generic/generic.tpl:89
-msgid "Multiple edit"
-msgstr "Edition multiple"
+#: ihtml/themes/default/copyPasteDialog.tpl:1
+msgid "Copy & paste wizard"
+msgstr "Assistant pour le copier & coller"
 
-#: plugins/admin/groups/generic.tpl:17
-#: plugins/admin/groups/paste_generic.tpl:8
-msgid "Posix name of the group"
-msgstr "Nom posix du groupe"
+#: ihtml/themes/default/copyPasteDialog.tpl:7
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
+msgstr ""
+"Certaines valeurs doivent être unique dans tout l'arbre et certaines "
+"combinations n'ont pas de sens. Veuillez éditer les valeurs ci dessous pour "
+"respecter les politiques de sécurité."
 
-#: plugins/admin/groups/generic.tpl:59
-#: plugins/admin/groups/paste_generic.tpl:13
-msgid "Normally IDs are autogenerated, select to specify manually"
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
 msgstr ""
-"Normalement les IDs sont générés automatiquement, vous pouvez en spécifier "
-"un manuellement"
+"Veuillez vous souvenir que certaines propriétés comme les copie instantanées "
+"ne seront pas copiés !"
 
-#: plugins/admin/groups/generic.tpl:62
-#: plugins/admin/groups/paste_generic.tpl:15
-msgid "Force GID"
-msgstr "Forcer le GID"
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
+msgstr ""
+"Ou si vous couper ou copiez un entrée avec GOsa et que vous effacer la "
+"source, vous pouvez rencontrer des erreurs en tentant de le coller à "
+"nouveau !"
 
-#: plugins/admin/groups/generic.tpl:65
-#: plugins/admin/groups/paste_generic.tpl:18
-msgid "Forced ID number"
-msgstr "Forcer le numéro d'ID"
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+msgid "Cancel all"
+msgstr "Tout annuler"
 
-#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
-msgid "Select to create a samba conform group"
-msgstr "Sélectionnez afin de créer un groupe samba"
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+msgid "Operation complete"
+msgstr "Opération réalisée"
 
-#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
-msgid "in domain"
-msgstr "dans le domaine"
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
+msgstr "Terminé"
 
-#: plugins/admin/groups/generic.tpl:131
-msgid "Members are in a phone pickup group"
-msgstr "Les membres sont dans un groupe téléphonique"
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
+msgstr "Votre session GOsa à expiré !"
 
-#: plugins/admin/groups/generic.tpl:146
-msgid "Members are in a nagios group"
-msgstr "Les membres sont dans un groupe nagios"
+#: ihtml/themes/default/logout.tpl:9
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
+msgstr ""
+"Votre dernière interaction avec GOsa date d'un certain temps. Pour des "
+"raisons de sécurité, la session à été fermée. Pour continuer à administrer, "
+"veuillez vous reconnecter."
 
-#: plugins/admin/groups/generic.tpl:236
-msgid "Group members"
-msgstr "Membre du groupe"
+#: ihtml/themes/default/logout.tpl:16
+msgid "Login again"
+msgstr "Reconnexion"
 
-#: plugins/admin/groups/generic.tpl:243
-msgid "In all groups"
-msgstr "dans tout les groupes"
+#: ihtml/themes/default/login.tpl:31
+msgid "Login to GOsa"
+msgstr "Connectez vous"
 
-#: plugins/admin/groups/generic.tpl:246
-msgid "Not in all groups"
-msgstr "pas dans tout les groupes"
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
+msgstr "Mot de passe"
 
-#: plugins/admin/groups/group-filter.tpl:11
-#: plugins/personal/posix/groupSelect/group-filter.tpl:11
-msgid "Show primary groups"
-msgstr "groupes principaux"
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
+msgstr "Choisir le répertoire sur lequel travailler"
 
-#: plugins/admin/groups/group-filter.tpl:12
-#: plugins/personal/posix/groupSelect/group-filter.tpl:12
-msgid "Show samba groups"
-msgstr "Groupes Samba"
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
+msgstr "Cliquez ici pour vous connecter"
 
-#: plugins/admin/groups/group-filter.tpl:13
-#: plugins/personal/posix/groupSelect/group-filter.tpl:13
-msgid "Show mail groups"
-msgstr "Groupes de messagerie"
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+msgid "Log in"
+msgstr "Connexion"
 
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:79
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:85
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr "Sélectionner un utilisateur"
+#: ihtml/themes/default/sizelimit.tpl:3
+msgid ""
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
+msgstr ""
+"L'option size limit rend les opérations LDAP plus rapides et permet au "
+"serveur LDAP d'avoir un niveau de charge plus léger. La façon la plus facile "
+"de gérer des grandes bases de données sans de longs temps d'attentes, serait "
+"de limiter la recherche à des valeurs plus petites et d'utiliser les filtres "
+"pour obtenir les valeurs que vous recherchez."
 
-#: plugins/admin/groups/paste_generic.tpl:1
-msgid "Group settings"
-msgstr "Préférences des groupes"
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
+msgstr "Veuillez choisir la façon de réagir pour cette session"
 
-#: plugins/admin/groups/group-list.xml:11
-msgid "List of groups"
-msgstr "Liste des groupes"
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
+msgstr ""
+"ignorer cette erreur et montrer toutes les entrées retournées par le serveur "
+"LDAP"
 
-#: plugins/admin/groups/group-list.xml:23
-msgid "Group submenu entry"
-msgstr "Sous menu de groupe"
+#: ihtml/themes/default/sizelimit.tpl:11
+msgid ""
+"ignore this error and show all entries that fit into the defined size limit"
+msgstr ""
+"ignorer cette erreur et montrer toutes les entrées qui sont récupérées grâce "
+"au paramètre sizelimit défini"
 
-#: plugins/admin/groups/group-list.xml:31
-msgid "Group menu entry"
-msgstr "Entrée du menu de groupe"
+#: ihtml/themes/default/infoPage.tpl:4
+msgid "User information"
+msgstr "Informations utilisateur"
 
-#: plugins/admin/groups/group-list.xml:155
-msgid "Edit group"
-msgstr "Editer le groupe"
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
+msgstr "ID de l'utilisateur"
 
-#: plugins/admin/groups/group-list.xml:168
-msgid "Remove group"
-msgstr "Enlever le groupe"
-
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Cannot find group SID in your configuration!"
-msgstr "Impossible de trouver le SID de ce groupe dans votre configuration !"
-
-#: plugins/admin/groups/class_group.inc:400
-msgid "Samba group"
-msgstr "Groupe Samba"
-
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain admins"
-msgstr "Administrateurs du domaine"
-
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain users"
-msgstr "Utilisateurs du domaine"
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+msgid "Surname"
+msgstr "Nom de famille"
 
-#: plugins/admin/groups/class_group.inc:401
-msgid "Domain guests"
-msgstr "Invités du domaine"
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+msgid "Given name"
+msgstr "Prénom"
 
-#: plugins/admin/groups/class_group.inc:406
-#, php-format
-msgid "Special group (%d)"
-msgstr "Groupe spécial (%d)"
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
+msgstr "Titre Personnel"
 
-#: plugins/admin/groups/class_group.inc:540
-#, php-format
-msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
-msgstr ""
-"L'ajout de l'UID '%s' au groupe '%s' à échoué : Impossible de trouver "
-"l'utilisateur !"
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
+msgstr "Titre Universitaire"
 
-#: plugins/admin/groups/class_group.inc:546
-#, php-format
-msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
-msgstr ""
-"L'ajout de l'UID '%s' au groupe '%s' à échoué : l'UID est utilisé plus d'un "
-"fois !"
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
+msgstr "Adresse postale personnelle"
 
-#: plugins/admin/groups/class_group.inc:624
-msgid "! unknown UID"
-msgstr "! identifiant inconnu"
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
+msgstr "Date de naissance"
 
-#: plugins/admin/groups/class_group.inc:667
-#, php-format
-msgid "Search returned too many results. Not displaying more than %s entries!"
-msgstr "La recherche à retourné trop de résultats. Je n'affiche que %s entr§es !"
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
+msgstr "Messagerie"
 
-#: plugins/admin/groups/class_group.inc:894
-#, php-format
-msgid "Cannot find any SID for '%s'!"
-msgstr "Impossible de trouver le SID pour '%s' !"
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
+msgid "Home phone number"
+msgstr "Numéro de téléphone privé"
 
-#: plugins/admin/groups/class_group.inc:899
-#, php-format
-msgid "Cannot find any RIDBASE for '%s'!"
-msgstr "Impossible de trouver le RIDBASe pour '%s' !"
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
+msgstr "Entreprise"
 
-#: plugins/admin/groups/class_group.inc:994
-#, php-format
-msgid "The gidNumber '%s' is already in use by %s!"
-msgstr "L'identifiant de groupe '%s' est déjà utilisé par '%s' !"
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
+msgid "Organizational Unit"
+msgstr "Nom de l'entreprise"
 
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1108
-#: plugins/admin/groups/class_group.inc:1187
-#: plugins/personal/posix/class_posixAccount.inc:1045
-#: plugins/personal/posix/class_posixAccount.inc:1048
-#: plugins/personal/posix/generic.tpl:74
-#: plugins/personal/posix/paste_generic.tpl:45
-msgid "GID"
-msgstr ""
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
+msgstr "Lieu"
 
-#: plugins/admin/groups/class_group.inc:1175
-msgid "Generic group settings"
-msgstr "Préférences des groupes génériques"
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
+msgstr "Rue"
 
-#: plugins/admin/groups/class_group.inc:1189
-msgid "Samba group type"
-msgstr "Groupe Samba"
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
+msgid "Department number"
+msgstr "Numéro du département"
 
-#: plugins/admin/groups/class_group.inc:1190
-msgid "Samba domain name"
-msgstr "Domaine Samba"
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
+msgid "Employee number"
+msgstr "Numéro de l'employé"
 
-#: plugins/admin/groups/class_group.inc:1192
-msgid "Phone pickup group"
-msgstr "Groupe téléphonique"
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
+msgstr "Type de l'employé"
 
-#: plugins/admin/groups/class_group.inc:1193
-msgid "Nagios group"
-msgstr "Groupe Nagios"
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+msgid "User settings"
+msgstr "Préférences utilisateur"
 
-#: plugins/admin/groups/class_group.inc:1195
-msgid "Group member"
-msgstr "Membre du groupe"
+#: ihtml/themes/default/infoPage.tpl:55
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
+msgstr ""
+"Vous n'avez pas l'autorisation pour modifier des données. Veuillez contacter "
+"votre administrateur."
 
-#: plugins/admin/groups/class_groupManagement.inc:26
-msgid "Group administration"
-msgstr "Administration du groupe"
+#: ihtml/themes/default/infoPage.tpl:61
+msgid "Administrative contact"
+msgstr "Contact administratif"
 
-#: plugins/admin/groups/class_groupManagement.inc:156
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:62
-msgid "Posix"
-msgstr ""
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
+msgstr "L'équipe de GOsa"
 
-#: plugins/admin/groups/class_groupManagement.inc:157
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:63
-msgid "Edit posix properties"
-msgstr "Modifier les propriétés posix"
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
+msgstr "Titre du message d'erreur"
 
-#: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:879
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
-msgid "Edit mail properties"
-msgstr "Modifier les propriétés de messagerie"
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
+msgid "Error message"
+msgstr "Message d'erreur"
 
-#: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:883
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
-msgid "Edit samba properties"
-msgstr "Modifier les propriétés samba"
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
+msgstr "Entrée ldap brute"
 
-#: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:899
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
-msgid "Edit phone properties"
-msgstr "Modifier les propriétés téléphoniques"
+#: ihtml/themes/default/framework.tpl:9
+msgid "Log out"
+msgstr "Déconnexion"
 
-#: plugins/admin/groups/class_groupManagement.inc:188
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:94
-msgid "Menu"
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
 msgstr ""
+"Vous êtes actuellement en train d éditer une entrée de la base de données. "
+"Voulez vous annuler les modifications ?"
 
-#: plugins/admin/groups/class_groupManagement.inc:189
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:95
-msgid "Edit start menu properties"
-msgstr "Modifier les propriétes du menu de démarrage"
+#: ihtml/themes/default/framework.tpl:22
+#, php-format
+msgid "Session expires in %d!"
+msgstr "La session expire dans %d !"
 
-#: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:891
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
-msgid "Edit environment properties"
-msgstr "Modifier les propriétés d'environnement"
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
+msgstr "Aide en ligne de GOsa"
 
-#: plugins/admin/users/remove.tpl:6 plugins/admin/acl/remove.tpl:6
-msgid ""
-"This includes all account data, system access rules, imap settings, etc. for "
-"this user. Please double check if your really want to do this since there is "
-"no way for GOsa to get your data back."
-msgstr ""
-"Cela inclut toutes les données des comptes, les droits d'accès, la "
-"configuration imap,etc. pour cet utilisateur. Veuillez vous assurez que vous "
-"voulez effectuez cette opération étant donné qu'il est impossible pour GOsa "
-"de récupérer vos données."
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
+msgstr "Index"
 
-#: plugins/admin/users/password.tpl:4
-msgid ""
-"To change the user password use the fields below. The changes take effect "
-"immediately. Please memorize the new password, because the user wouldn't be "
-"able to login without it."
-msgstr ""
-"Pour changer le mot de passe des utilisateurs, utilisez le champ ci-dessous. "
-"Les changements prennent effet immédiatement. Veuillez mémoriser le nouveau "
-"mot de passe sinon l'utilisateur ne pourra pas s'identifier sans celui-ci."
+#: ihtml/themes/default/logout-close.tpl:5
+msgid "Your GOsa session has been closed!"
+msgstr "Votre session GOsa à expiré !"
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/generic/password.tpl:8
-#: plugins/personal/password/password.tpl:8
+#: ihtml/themes/default/logout-close.tpl:7
 msgid ""
-"Changing the password affects your authentification on mail, proxy, samba "
-"and unix services."
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
 msgstr ""
-"Changer le mot de passe affecte votre identification sur la messagerie, le "
-"proxy, samba, et les services unix."
+"Veuillez fermer la fenêtre de votre navigateur et vider les cache des mots "
+"de passe pour éviter l'authentification automatique par votre navigateur."
 
-#: plugins/admin/users/password.tpl:21 plugins/admin/users/password.tpl:57
-#: plugins/personal/generic/password.tpl:27
-#: plugins/personal/generic/password.tpl:70
-#: plugins/personal/password/password.tpl:32
-#: plugins/personal/password/password.tpl:75
-msgid "Repeat new password"
-msgstr "Confirmation du nouveau mot de passe"
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+msgid "LDAP inspection"
+msgstr "Vérification de l'annuaire LDAP"
 
-#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
-msgid "Strength"
-msgstr "Sécurité"
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
+msgstr "Analyse de votre annuaire LDAP pour la compatibilité avec GOsa"
 
-#: plugins/admin/users/password.tpl:35
-msgid "Password input dialog"
-msgstr "Saisie du mot de passe"
+#: setup/class_setupStep_Migrate.inc:59
+msgid "Checking for root object"
+msgstr "Recherche de l'objet racine"
 
-#: plugins/admin/users/password.tpl:39
-#: plugins/personal/generic/password.tpl:51
-#: plugins/personal/password/password.tpl:56
-msgid "Use proposal"
-msgstr "Proposition"
+#: setup/class_setupStep_Migrate.inc:65
+msgid "Inspecting object classes in root object"
+msgstr "Inspecter les classes d'objets de l'objet racine"
 
-#: plugins/admin/users/password.tpl:43
-#: plugins/personal/generic/password.tpl:55
-#: plugins/personal/password/password.tpl:60 setup/setup_migrate.tpl:470
-#: setup/setup_migrate.tpl:513 setup/setup_migrate.tpl:557
-msgid "Refresh"
-msgstr "Rafraîchir"
-
-#: plugins/admin/users/password.tpl:49
-#: plugins/personal/generic/password.tpl:61
-#: plugins/personal/password/password.tpl:66
-msgid "Manually specify a password"
-msgstr "Choisir un mot de passe"
+#: setup/class_setupStep_Migrate.inc:71
+msgid "Checking permission for LDAP database"
+msgstr "Vérification des permissions sur l'annuaire LDAP"
 
-#: plugins/admin/users/password.tpl:77
-msgid "Enforce password change on next login."
-msgstr "Forcer le changement de mot de passe a la prochaine connexion."
+#: setup/class_setupStep_Migrate.inc:78
+msgid "Checking for super administrator"
+msgstr "Vérification du superadministrateur"
 
-#: plugins/admin/users/password.tpl:84
-#: plugins/personal/generic/password.tpl:88
-#: plugins/personal/password/password.tpl:93
-msgid "Set password"
-msgstr "Attribuer le mot de passe"
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+msgid "LDAP query failed"
+msgstr "La requête LDAP à échoué"
 
-#: plugins/admin/users/template.tpl:2
-msgid "Creating a new user using templates"
-msgstr "Créer un nouvel utilisateur à partir d'un modèle"
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
+msgstr "L'objet racine est probablement manquant."
 
-#: plugins/admin/users/template.tpl:6
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
+msgstr "Echec"
+
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
+#, php-format
 msgid ""
-"Creating a new user can be assisted by using templates. Many database "
-"records will be filled automatically. Choose 'none' to skip the usage of "
-"templates."
+"The specified user '%s' does not have full access to your LDAP database."
 msgstr ""
-"La création d'un nouvel utilisateur peut être facilité en utilisant les "
-"modèles. De nombreuses informations seront ainsi remplies automatiquement. "
-"Sélectionnez 'aucun' afin de ne pas utiliser les modèles."
+"L'utilisateur spécifié '%s' n'a pas l'accès complet à votre annuaire ldap."
 
-#: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:535
-#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
-#: plugins/admin/users/templatize.tpl:15
-msgid "Template"
-msgstr "Modèle"
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
+msgstr "Il n'y a pas d'administrateur GOsa dans votre annuaire LDAP."
 
-#: plugins/admin/users/template.tpl:23 plugins/personal/generic/generic.tpl:49
-#: plugins/personal/generic/paste_generic.tpl:7
-msgid "Last name"
-msgstr "Nom de famille"
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
+msgstr "Créer"
 
-#: plugins/admin/users/template.tpl:27 plugins/personal/generic/generic.tpl:69
-#: plugins/personal/generic/paste_generic.tpl:11
-msgid "First name"
-msgstr "Prénom"
+#: setup/class_setupStep_Migrate.inc:377
+msgid "Migration error"
+msgstr "Erreur de migration"
 
-#: plugins/admin/users/class_userManagement.inc:26
-msgid "Manage users"
-msgstr "Gèrer les utilisateurs"
+#: setup/class_setupStep_Migrate.inc:377
+#, php-format
+msgid "Cannot add ACL for user '%s':"
+msgstr "Impossible d'ajouter une ACL pour l'utilisateur '%s' :"
 
-#: plugins/admin/users/class_userManagement.inc:391
-msgid "You have no permission to change this users password!"
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
+msgid "Input error"
+msgstr "Erreur d'entrée"
+
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
 msgstr ""
-"Vous n'avez pas l'autorisation pour changer le mot de passe de ce(s) "
-"utilisateurs !"
 
-#: plugins/admin/users/class_userManagement.inc:782
-msgid "Account locking"
-msgstr "Verrouillage du compte"
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Password error"
+msgstr "Erreur de mot de passe"
 
-#: plugins/admin/users/class_userManagement.inc:783
-#, php-format
-msgid ""
-"Password method '%s' does not support locking. Account (%s) has not been "
-"locked!"
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Provided passwords do not match!"
 msgstr ""
-"La méthode '%s' ne permet pas le verrouillage du mot de passe. Le compte (%"
-"s) n'a pas été verrouillé !"
+"Le mot de passe entré dans le champ nouveau et celui dans le champ "
+"vérification ne concordent pas !"
 
-#: plugins/admin/users/class_userManagement.inc:856
-msgid "Unlock account"
-msgstr "Déverrouiller le compte"
+#: setup/class_setupStep_Migrate.inc:425
+msgid "Specify a valid user ID!"
+msgstr "Le nom d'utilisateur est incorrect !"
 
-#: plugins/admin/users/class_userManagement.inc:858
-msgid "Lock account"
-msgstr "Verrouiller Compte"
+#: setup/class_setupStep_Migrate.inc:450
+#, php-format
+msgid "Adding an administrative user failed: object '%s' already exists!"
+msgstr ""
+"L'ajout d'un utilisateur administratif à échoué : l'objet '%s' existe déja !"
 
-#: plugins/admin/users/class_userManagement.inc:871
-msgid "Edit generic properties"
-msgstr "Modifier les propriétés de base"
-
-#: plugins/admin/users/class_userManagement.inc:874
-#: plugins/personal/posix/class_posixAccount.inc:304
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/class_posixAccount.inc:326
-#: plugins/personal/posix/class_posixAccount.inc:329
-msgid "POSIX"
-msgstr "UNIX"
-
-#: plugins/admin/users/class_userManagement.inc:875
-msgid "Edit POSIX properties"
-msgstr "Modifier les propriétés UNIX"
-
-#: plugins/admin/users/class_userManagement.inc:886
-msgid "Netatalk"
+#: setup/class_setupStep_Migrate.inc:662
+msgid ""
+"The LDAP root object is missing. It is required to use your LDAP service."
 msgstr ""
+"L'objet LDAP racine est manquant. Il est indispensable pour utiliser votre "
+"annuaire LDAP."
 
-#: plugins/admin/users/class_userManagement.inc:887
-msgid "Edit netatalk properties"
-msgstr "Modifier les propriétés de Netatalk"
-
-#: plugins/admin/users/class_userManagement.inc:895
-msgid "Edit FAX properties"
-msgstr "Modifier les propriétés FAX"
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
+msgid "Try to create root object"
+msgstr "Essai de création de l'objet racine"
 
-#: plugins/admin/users/user-list.xml:11
-msgid "List of users"
-msgstr "Liste des utilisateurs"
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
+msgstr "L'objet racine n'a pas pu être crée, vous devrez essayer vous même."
 
-#: plugins/admin/users/user-list.xml:140
-msgid "Lock users"
-msgstr "Verouillez les utilisateurs"
+#: setup/class_setupStep_Migrate.inc:730
+#, php-format
+msgid "Missing GOsa object class '%s'!"
+msgstr "Object class '%s' de GOsa manquante !"
 
-#: plugins/admin/users/user-list.xml:148
-msgid "Unlock users"
-msgstr "Déverrouiller les utilisateurs"
+#: setup/class_setupStep_Migrate.inc:731
+msgid "Please check your installation."
+msgstr "Veuillez vérifier votre installation."
 
-#: plugins/admin/users/user-list.xml:167
-msgid "Apply template"
-msgstr "Appliquer le modèle"
+#: setup/class_setupStep_Migrate.inc:752
+#, php-format
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
+msgstr ""
+"Impossible de gérer l'objet structural de votre objet racine. S'il vous "
+"plaît essayer de ajouter la classe d'objet '%s' à la main."
 
-#: plugins/admin/users/user-list.xml:199
-msgid "New user from template"
-msgstr "Créer un nouvel utilisateur depuis un modèle"
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
+msgid "Migrate"
+msgstr "Migrer"
 
-#: plugins/admin/users/user-list.xml:213
-msgid "Edit user"
-msgstr "Editer cet utilisateur"
+#: setup/setup_checks.tpl:2
+msgid ""
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
+msgstr ""
+"Cette étape vérifie si votre serveur PHP a tous les modules requis et "
+"paramètres de configuration."
 
-#: plugins/admin/users/user-list.xml:222
-msgid "%{filter:lockLabel(userPassword)}"
+#: setup/setup_checks.tpl:5
+msgid "Inspection"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:245
-msgid "Remove user"
-msgstr "Suppression de l'utilisateur"
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
+msgstr "Extension PHP et vérification de ceux ci"
 
-#: plugins/admin/users/user-filter.tpl:11
-msgid "Show templates"
-msgstr "Montrer les modèles"
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
+msgstr "Vérifications de base"
 
-#: plugins/admin/users/user-filter.tpl:12
-msgid "Show functional users"
-msgstr "montrer les utilisateurs fonctionnels"
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
+msgstr "GOsa ne fonctionnera pas si vous ne corriger pas cela."
 
-#: plugins/admin/users/user-filter.tpl:13
-msgid "Show POSIX users"
-msgstr "Montrer les utilisateurs Posix"
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
+msgstr "GOsa fonctionnera même si vous ne corrigez pas cela."
 
-#: plugins/admin/users/user-filter.tpl:14
-msgid "Show Mail users"
-msgstr "Montrer les utilisateurs de la messagerie"
+#: setup/setup_checks.tpl:50
+msgid "PHP setup configuration"
+msgstr "Configuration de PHP"
 
-#: plugins/admin/users/user-filter.tpl:15
-msgid "Show Samba users"
-msgstr "Montrer les utilisateurs samba"
+#: setup/setup_checks.tpl:50
+msgid "show information"
+msgstr "Montrer les informations"
 
-#: plugins/admin/users/templatize.tpl:2
-msgid "Applying a template"
-msgstr "Appliquer un modèle"
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
+msgstr "Vérifications étendues"
 
-#: plugins/admin/users/templatize.tpl:6
+#: setup/class_setupStep_Finish.inc:40
+msgid "Write configuration file"
+msgstr "Ecrire le fichier de configuration"
+
+#: setup/class_setupStep_Finish.inc:41
+msgid "Finish - write the configuration file"
+msgstr "Fini - écrire le fichier de configuration"
+
+#: setup/class_setupStep_Finish.inc:106
 msgid ""
-"Applying a template to several users will replace all user attributes "
-"defined in the template."
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
 msgstr ""
-"Appliquer un modèle à plusieurs utilisateurs remplacera tout les attributs "
-"de ces utilisateurs par ceux définis dans le modèle."
+"Votre fichier de configuration est lisible par tout le monde. Veuillez "
+"modifier les permissions !"
 
-#: plugins/admin/users/templatize.tpl:33
-msgid "No templates available!"
-msgstr "Pas de modèles disponibles !"
+#: setup/class_setupStep_Finish.inc:108
+msgid "The configuration is currently not readable or it does not exists."
+msgstr "Le fichier de configuration ne peut être lu ou n'existe pas."
 
-#: plugins/admin/departments/remove.tpl:6
+#: setup/class_setupStep_Finish.inc:117
+#, php-format
 msgid ""
-"This includes 'all' accounts, systems, etc. in this subtree. Please double "
-"check if your really want to do this since there is no way for GOsa to get "
-"your data back."
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
 msgstr ""
-"Ceci inclus tous les comptes systèmes, etc... dans cette branche. Veuillez "
-"vérifier si vous voulez réaliser cette opération étant donné qu'il est "
-"impossible pour GOsa de récupérer vos données."
+"Après avoir placé le fichier dans le répertoire %s, assurez vous que seul le "
+"serveur web puisse lire %s. Vous pouvez exécuter les commandes suivantes "
+"pour réaliser cette opération:"
+
+#: setup/class_setupStep_Ldap.inc:54
+msgid "LDAP setup"
+msgstr "Configuration LDAP"
+
+#: setup/class_setupStep_Ldap.inc:55
+msgid "LDAP connection setup"
+msgstr "Configuration de la connexion LDAP"
 
-#: plugins/admin/departments/remove.tpl:10
+#: setup/class_setupStep_Ldap.inc:56
 msgid ""
-"Best thing to do before performing this action would be to save the current "
-"contents of your LDAP tree in a file. So - if you've done so - press "
-"'Delete' to continue or 'Cancel' to abort."
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
 msgstr ""
-"Il est conseillé de sauvegarder l'arbre de votre annuaire LDAP dans un "
-"fichier avant de réaliser cette action. Appuyez sur 'Supprimer' pour "
-"continuer ou 'Annuler' pour abandonner."
+"Cette boite de dialogue permet d'indiquer la configuration de base LDAP pour "
+"GOsa."
 
-#: plugins/admin/departments/dep-list.xml:11
-msgid "List of departments"
-msgstr "Liste des départements"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+msgid "No"
+msgstr "Non"
 
-#: plugins/admin/departments/dep-list.xml:15
-#: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:189
-msgid "Domain"
-msgstr "Domaine"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+msgid "Yes"
+msgstr "Oui"
 
-#: plugins/admin/departments/dep-list.xml:23
-#: plugins/admin/departments/dep-list.xml:110
-msgid "Domain component"
-msgstr "Composant domaine"
+#: setup/class_setupStep_Ldap.inc:113
+#, php-format
+msgid "Anonymous bind to server '%s' failed!"
+msgstr "La connexion anonyme sur le serveur '%s' à échoué !"
 
-#: plugins/admin/departments/dep-list.xml:31
-#: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_countryGeneric.inc:82
-#: plugins/admin/departments/class_countryGeneric.inc:83
-msgid "Country"
-msgstr "Pays"
+#: setup/class_setupStep_Ldap.inc:115
+#, php-format
+msgid "Bind as user '%s' failed!"
+msgstr "la connexion comme l'utilisateur '%s' à échoué !"
 
-#: plugins/admin/departments/dep-list.xml:39
-#: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_localityGeneric.inc:82
-#: plugins/admin/departments/class_localityGeneric.inc:83
-msgid "Locality"
-msgstr "Lieu"
+#: setup/class_setupStep_Ldap.inc:120
+#, php-format
+msgid "Anonymous bind to server '%s' succeeded."
+msgstr "La connexion anonyme sur le serveur '%s' à réussi."
 
-#: plugins/admin/departments/dep-list.xml:47
-#: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:237
-#: plugins/admin/departments/class_organizationGeneric.inc:113
-#: plugins/admin/departments/class_organizationGeneric.inc:114
-#: plugins/personal/generic/class_user.inc:1694
-#: plugins/personal/generic/generic.tpl:299 setup/setup_feedback.tpl:23
-msgid "Organization"
-msgstr "Entreprise"
+#: setup/class_setupStep_Ldap.inc:121
+msgid "Please specify user and password!"
+msgstr "Veuillez introduire un utilisateur et un mot de passe !"
 
-#: plugins/admin/departments/locality.tpl:11
-#: plugins/admin/departments/dcObject.tpl:11
-msgid "Locality name"
-msgstr "Nom du lieu"
+#: setup/class_setupStep_Ldap.inc:123
+#, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
+msgstr "La connexion comme l'utilisateur '%s' au serveur '%s' à réussi !"
 
-#: plugins/admin/departments/locality.tpl:14
-#: plugins/admin/departments/dcObject.tpl:14
-msgid "Name of locality to create"
-msgstr "Nom du lieu à créer"
+#: setup/class_setupStep_Feedback.inc:94
+msgid "UNIX accounts/groups"
+msgstr "Compte / Groupes UNIX"
 
-#: plugins/admin/departments/locality.tpl:22
-#: plugins/admin/departments/domain.tpl:22
-#: plugins/admin/departments/country.tpl:22
-#: plugins/admin/departments/dcObject.tpl:22
-#: plugins/admin/departments/organization.tpl:22
-msgid "Descriptive text for department"
-msgstr "Description du département"
+#: setup/class_setupStep_Feedback.inc:96
+msgid "Samba management"
+msgstr "Gestion SAMBA"
 
-#: plugins/admin/departments/locality.tpl:39
-#: plugins/admin/departments/generic.tpl:51
-#: plugins/admin/departments/class_domain.inc:93
-#: plugins/admin/departments/class_localityGeneric.inc:93
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_countryGeneric.inc:93
-#: plugins/admin/departments/class_dcObject.inc:92
-#: plugins/admin/departments/domain.tpl:39
-#: plugins/admin/departments/country.tpl:39
-#: plugins/admin/departments/dcObject.tpl:39
-#: plugins/admin/departments/class_department.inc:675
-#: plugins/admin/departments/organization.tpl:51
-#: plugins/personal/generic/class_user.inc:1697
-#: plugins/personal/generic/generic.tpl:340
-#: plugins/personal/generic/generic.tpl:361
-msgid "Manager"
-msgstr ""
+#: setup/class_setupStep_Feedback.inc:98
+msgid "Mail system management"
+msgstr "Gestion de la messagerie"
 
-#: plugins/admin/departments/locality.tpl:67
-#: plugins/admin/departments/generic.tpl:132
-#: plugins/admin/departments/class_domain.inc:94
-#: plugins/admin/departments/class_localityGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:135
-#: plugins/admin/departments/class_countryGeneric.inc:95
-#: plugins/admin/departments/class_dcObject.inc:94
-#: plugins/admin/departments/domain.tpl:67
-#: plugins/admin/departments/country.tpl:67
-#: plugins/admin/departments/dcObject.tpl:67
-#: plugins/admin/departments/class_department.inc:677
-#: plugins/admin/departments/organization.tpl:131
-msgid "Administrative settings"
-msgstr "Paramètres administratifs"
+#: setup/class_setupStep_Feedback.inc:100
+msgid "FAX system administration"
+msgstr "Gestion des FAX"
 
-#: plugins/admin/departments/locality.tpl:69
-#: plugins/admin/departments/generic.tpl:134
-#: plugins/admin/departments/domain.tpl:69
-#: plugins/admin/departments/country.tpl:69
-#: plugins/admin/departments/dcObject.tpl:69
-#: plugins/admin/departments/organization.tpl:133
-msgid "Tag department as an independent administrative unit"
-msgstr "Marquer le département comme une entité administrative indépendante"
+#: setup/class_setupStep_Feedback.inc:102
+msgid "Asterisk administration"
+msgstr "Gestion d'asterisk"
 
-#: plugins/admin/departments/generic.tpl:11
-msgid "Name of department"
-msgstr "Nom du département"
+#: setup/class_setupStep_Feedback.inc:104
+msgid "System inventory"
+msgstr "Gestion de l'inventaire"
 
-#: plugins/admin/departments/generic.tpl:14
-msgid "Name of subtree to create"
-msgstr "Nom de la branche à créer"
+#: setup/class_setupStep_Feedback.inc:106
+msgid "System/Configuration management"
+msgstr "Gestion Système / Configuration"
 
-#: plugins/admin/departments/generic.tpl:22
-msgid "Descriptive text for   department"
-msgstr "Description du département"
+#: setup/class_setupStep_Feedback.inc:108
+msgid "Address book"
+msgstr "Carnet d'adresses"
 
-#: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:667
-#: plugins/admin/departments/organization.tpl:27
-msgid "Category"
-msgstr "Catégorie"
+#: setup/class_setupStep_Feedback.inc:114
+msgid "Feedback"
+msgstr "Envoyer vos réponses"
 
-#: plugins/admin/departments/generic.tpl:30
-#: plugins/admin/departments/organization.tpl:30
-msgid "Category for this subtree"
-msgstr "Catégorie pour cette branche de l'annuaire"
+#: setup/class_setupStep_Feedback.inc:115
+msgid "Get notifications or send feedback"
+msgstr "Recevoir des notifications et des retour d'information"
 
-#: plugins/admin/departments/generic.tpl:79
-#: plugins/admin/departments/generic.tpl:91
-#: plugins/admin/departments/class_localityGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:130
-#: plugins/admin/departments/class_department.inc:671
-#: plugins/admin/departments/organization.tpl:78
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1708
-#: plugins/personal/generic/generic.tpl:441
-msgid "Location"
-msgstr "Lieu"
+#: setup/class_setupStep_Feedback.inc:116
+msgid "Notification and feedback"
+msgstr "Notification et retour d'information"
 
-#: plugins/admin/departments/generic.tpl:83
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_department.inc:670
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1707
-#: plugins/personal/generic/generic.tpl:449
-msgid "State"
-msgstr "Département"
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
+msgid "Setup error"
+msgstr "Erreur d'installation"
 
-#: plugins/admin/departments/generic.tpl:86
-#: plugins/admin/departments/organization.tpl:85
-msgid "State where this subtree is located"
-msgstr "Lieu où est située cette branche de l'annuaire"
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Feedback error"
+msgstr "Erreur du retour d'information"
 
-#: plugins/admin/departments/generic.tpl:94
-#: plugins/admin/departments/organization.tpl:93
-msgid "Location of this subtree"
-msgstr "Lieu de cette branche"
+#: setup/class_setupStep_Feedback.inc:140
+#, php-format
+msgid "Cannot send feedback to '%s': %s"
+msgstr "Impossible d'envoyer le retour d'information à '%s': %s"
 
-#: plugins/admin/departments/generic.tpl:99
-#: plugins/admin/departments/class_department.inc:672
-#: plugins/admin/departments/organization.tpl:98
-#: plugins/personal/generic/generic.tpl:183
-#: plugins/personal/generic/generic.tpl:457
-msgid "Address"
-msgstr "Adresse"
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
+msgstr ""
+"Erreur lors de l'envoi de votre retour d'information:  service "
+"temporairement non disponible"
 
-#: plugins/admin/departments/generic.tpl:102
-#: plugins/admin/departments/organization.tpl:101
-msgid "Postal address of this subtree"
-msgstr "Adresse postale de cette branche"
+#: setup/class_setupStep_Feedback.inc:181
+msgid "Please specify a valid email address."
+msgstr "Veuillez indiquer une adresse de messagerie valide."
 
-#: plugins/admin/departments/generic.tpl:109
-#: plugins/admin/departments/organization.tpl:108
-msgid "Base telephone number of this subtree"
-msgstr "Numéro de téléphone de base pour cette sous-branche"
+#: setup/class_setupStep_Feedback.inc:185
+msgid ""
+"You have to select at least one of both options, subscribe or send feedback."
+msgstr ""
+"Vous devez au moins avoir activé une option, souscrire ou envoyer votre "
+"retour d'information."
+
+#: setup/setup_license.tpl:3
+msgid ""
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
+msgstr ""
+"GOsa est développé sous les termes de le GNU General Public License v2.S'il "
+"vous plaît accepter les termes ci-dessous."
+
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
+msgstr "J'ai lu la licence et je l'accepte"
+
+#: setup/setup_ldap.tpl:2
+msgid ""
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
+msgstr ""
+"La principale source de données utilisées dans GOsa est LDAP. Pour accéder "
+"au informations qui y sont stockées, veuillez entrer les informations "
+"requises."
+
+#: setup/setup_ldap.tpl:9
+msgid "Please choose the LDAP user to be used by GOsa"
+msgstr "Veuillez choisir l'utilisateur LDAP qui sera utilise par GOSa"
+
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
+msgid "LDAP connection"
+msgstr "Connexion LDAP"
+
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
+msgstr "Nom de l'emplacement"
+
+#: setup/setup_ldap.tpl:35
+msgid "Connection URI"
+msgstr "URI de connexion"
+
+#: setup/setup_ldap.tpl:39
+msgid "TLS connection"
+msgstr "Connexion TLS"
+
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
+#: plugins/admin/ogroups/generic.tpl:26
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
+#: plugins/admin/departments/class_domain.inc:92
+#: plugins/admin/departments/class_organizationGeneric.inc:125
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
+#: plugins/admin/departments/class_dcObject.inc:93
+#: plugins/admin/departments/domain.tpl:28
+#: plugins/admin/users/user-list.tpl:12
+msgid "Base"
+msgstr ""
+
+#: setup/setup_ldap.tpl:57
+msgid "Reload"
+msgstr "Recharger"
+
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+msgid "Authentication"
+msgstr "Authentification"
+
+#: setup/setup_ldap.tpl:66
+msgid "Administrator DN"
+msgstr "DN de l'administrateur"
+
+#: setup/setup_ldap.tpl:71
+msgid "Select user"
+msgstr "Sélectionner un utilisateur"
+
+#: setup/setup_ldap.tpl:81
+msgid "Automatically append LDAP base to administrator DN"
+msgstr ""
+"Ajouter automatiquement la base de l'annuaire LDAP au DN de l'administrateur"
+
+#: setup/setup_ldap.tpl:85
+msgid "Administrator password"
+msgstr "Mot de passe administrateur"
+
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
+msgid "Schema based settings"
+msgstr "Paramètres basé sur les schéma"
+
+#: setup/setup_ldap.tpl:94
+msgid "Use RFC 2307bis compliant groups"
+msgstr "Utilisez des groupes rfc2307bis"
+
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
+msgid "Current status"
+msgstr "Statut actuel"
+
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
+msgstr "Information"
+
+#: setup/setup_language.tpl:3
+msgid "Please select the preferred language"
+msgstr "Veuillez sélectionner la langue par défaut"
+
+#: setup/setup_language.tpl:5
+msgid ""
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
+msgstr ""
+"Maintenant vous pouvez choisir la langue par défaut pour GOSa. Automatique "
+"utilisera la langue demandée par le navigateur. Ce paramètre peut être "
+"configuré par utilisateur."
+
+#: setup/setup_language.tpl:9
+msgid "Please select your preferred language here"
+msgstr "Veuillez indiquer votre langue préférée ici"
+
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
+msgstr "Comment commencer"
+
+#: setup/setup_welcome.tpl:5
+msgid ""
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
+msgstr ""
+"Cela semble être la première fois que vous exécutez GOsa sur ce système. "
+"Pour démarrer l'Interface web GOsa vous avez besoin d'un fichier de "
+"configuration qui peut êtregénéré par cet assistant."
+
+#: setup/setup_welcome.tpl:9
+msgid "What you need to generate a configuration file:"
+msgstr "Ce dont vous avez besoin pour générer un fichier de configuration :"
+
+#: setup/setup_welcome.tpl:13
+msgid "The hostname of your LDAP server"
+msgstr "Le nom d'hôte de votre serveur LDAP"
+
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
+msgstr "Un GOsa installé et le schéma supplémentaires"
+
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
+msgstr "La base de votre annuaire LDAP"
+
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
+msgstr "Le DN et le mot de passe de l'utilisateur d'administration LDAP"
+
+#: setup/setup_welcome.tpl:20
+msgid ""
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
+msgstr ""
+"Si vous avez recueilli les informations nécessaires, débloquer le processus "
+"d'installation commemontré dans le paragraphe suivant."
+
+#: setup/setup_welcome.tpl:24
+msgid "Starting the setup"
+msgstr "Démarrer le programme d'installation"
+
+#: setup/setup_welcome.tpl:26
+msgid ""
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
+msgstr ""
+"Pour des raisons de sécurité vous devez vous authentifier en créant le "
+"fichier '/tmp/gosa.auth', contenant l'ID de la session sur le(s) serveur(s). "
+"Ceci peut être réalisé en exécutant la commande suivante:"
+
+#: setup/setup_welcome.tpl:32
+msgid "Click the 'Next' button when you've finished."
+msgstr "Cliquez sur 'Continuer' quand vous avez fini."
+
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
+msgid "LDAP schema check"
+msgstr "Vérification des schémas LDAP"
+
+#: setup/class_setupStep_Schema.inc:39
+msgid "Perform test on your current LDAP schema"
+msgstr "Exécuter des test sur vos schéma LDAP actuels"
+
+#: setup/class_setup.inc:183
+msgid "Setup"
+msgstr "Installation"
+
+#: setup/class_setup.inc:195
+msgid "Completed"
+msgstr "Terminé"
+
+#: setup/class_setup.inc:235
+msgid "Check again"
+msgstr "Vérifier à nouveau"
+
+#: setup/class_setup.inc:238
+msgid "Next"
+msgstr "Suivant"
+
+#: setup/setup_migrate.tpl:2
+msgid ""
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
+msgstr ""
+"Pendant l'inspection LDAP, nous allons regarder pour les problèmes "
+"classiques qui peuvent arriver lorsque l'on migre vers une administration "
+"basée sur GOsa. Vous pouvez fixer les problèmes si dessous afin de procurer "
+"une administration facilitée."
+
+#: setup/setup_migrate.tpl:5
+msgid "Checks"
+msgstr "Vérifications"
+
+#: setup/setup_migrate.tpl:22
+msgid "Add required object classes to the LDAP base"
+msgstr "Ajouter les Object class obligatoires a l'annuaire LDAP. "
+
+#: setup/setup_migrate.tpl:24
+msgid "Current"
+msgstr "Actuel"
+
+#: setup/setup_migrate.tpl:28
+msgid "After migration"
+msgstr "Après migration"
+
+#: setup/setup_migrate.tpl:35
+msgid "Close"
+msgstr "Fermer"
+
+#: setup/setup_migrate.tpl:40
+msgid "Create a new GOsa administrator account"
+msgstr "Créer un nouveau compte administrateur pour GOsa"
+
+#: setup/setup_migrate.tpl:41
+msgid ""
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
+msgstr ""
+"Ce dialogue vas automatiquement créer un nouveau super utilisateur dans "
+"votre arbre LDAP."
+
+#: setup/setup_migrate.tpl:57
+msgid "Password (again)"
+msgstr "Mot de passe (de nouveau)"
+
+#: setup/setup_finish.tpl:3
+msgid "Create your configuration file"
+msgstr "Création du fichier de configuration"
+
+#: setup/setup_finish.tpl:10
+msgid "Depending on the user name your web server is running on:"
+msgstr "Dépendant de l'utilisateur exécutant votre serveur web :"
+
+#: setup/setup_finish.tpl:27
+msgid "Download configuration"
+msgstr "Télécharger la configuration"
+
+#: setup/setup_finish.tpl:33
+msgid "Status: "
+msgstr "Statut: "
+
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
+msgstr "Vérification de l'installation"
+
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
+msgstr ""
+"Vérification de base de la version de PHP et des extensions nécéssaires."
+
+#: setup/class_setupStep_Checks.inc:66
+msgid "Checking PHP version"
+msgstr "Vérification de la version de PHP"
+
+#: setup/class_setupStep_Checks.inc:67
+#, php-format
+msgid "PHP must be of version %s or above."
+msgstr "PHP doit être à la version %s ou supérieure."
+
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
+msgstr "Veuillez faire la mise à jour vers une version supportée."
+
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
+msgstr "GOsa à besoin de ce module pour dialoger avec votre annuaire ldap."
+
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
+msgstr "GOsa à besoin de ce module pour afficher l'interface multilingue."
+
+#: setup/class_setupStep_Checks.inc:91
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
+msgstr ""
+"GOsa à besion de ce module pour dialoguer avec les bases de données "
+"supportées."
+
+#: setup/class_setupStep_Checks.inc:99
+msgid "GOsa requires this module for the samba integration."
+msgstr "GOsa à besoin de ce module pour dialoger avec Samba."
+
+#: setup/class_setupStep_Checks.inc:107
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
+msgstr ""
+"GOsa nécessite soit le module 'mhash' ou 'sha1' pour réaliser le chiffrage "
+"SSHA."
+
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
+msgstr "GOsa à besoin de ce module pour dialoguer avec un serveur imap."
+
+#: setup/class_setupStep_Checks.inc:122
+msgid "mbstring"
+msgstr "mbstring"
+
+#: setup/class_setupStep_Checks.inc:123
+msgid "GOsa requires this module to handle Unicode strings."
+msgstr ""
+"GOsa a besoin de ce module pour gérer les chaînes de caractère unicode."
+
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
+msgstr "Calendrier"
+
+#: setup/class_setupStep_Checks.inc:131
+msgid "GOsa requires this module to calculate dates."
+msgstr "GOsa a besoin de ce module pour calculer les dates."
+
+#: setup/class_setupStep_Checks.inc:138
+msgid "MySQL"
+msgstr "MySQL"
+
+#: setup/class_setupStep_Checks.inc:139
+msgid ""
+"GOsa requires this module to communicate with several supported databases."
+msgstr ""
+"GOsa à besion de ce module pour dialoguer avec les bases de données "
+"supportées."
+
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
+msgstr "générateur de hash samba"
+
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+msgstr ""
+"GOsa à besoin de cette commande pour synchroniser les comptes POSIX et les "
+"mots de passe Samba."
+
+#: setup/class_setupStep_Checks.inc:158
+msgid ""
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
+msgstr ""
+"Déployez une installation gosa-si ou installer les modules perl Crypt::"
+"Smbash."
+
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:172
+msgid "GOsa requires this extension to handle images."
+msgstr "GOsa a besoin  de ce module pour gérer les images."
+
+#: setup/class_setupStep_Checks.inc:187
+msgid "compression module"
+msgstr "Module de compression"
+
+#: setup/class_setupStep_Checks.inc:188
+msgid "GOsa requires this extension to handle snapshots."
+msgstr "GOsa a besoin de ce module pour gérer les copie instantanées."
+
+#: setup/class_setupStep_Checks.inc:199
+msgid ""
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
+msgstr ""
+"register_globals est un mécanisme PHP pour enregistrer toutes les variables "
+"globales afin que les scripts puissent y accéder sans changer la porté des "
+"variables. Cela peut constituer un risque de sécurité."
+
+#: setup/class_setupStep_Checks.inc:200
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+msgstr ""
+"Recherchez l'option 'register_globals' dans votre php.ini et mettez la à "
+"'Off'."
+
+#: setup/class_setupStep_Checks.inc:208
+msgid "PHP uses this value for the garbage collector to delete old sessions."
+msgstr "PHP utilise cette variable pour effacer des anciennes sessions."
+
+#: setup/class_setupStep_Checks.inc:209
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
+msgstr ""
+"Mettre cette valeur à 1 jour permet d'éviter de perde les cookies et les "
+"sessions avant qu'elles soient réellement expirées."
+
+#: setup/class_setupStep_Checks.inc:210
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
+msgstr ""
+"Cherchez pour 'session.gc_maxlifetime' dans votre php.ini et mettez le à "
+"86400 ou plus haut."
+
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+msgid "Off"
+msgstr "Eteint"
+
+#: setup/class_setupStep_Checks.inc:218
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
+msgstr ""
+"Pour pouvoir utiliser GOSa sans problèmes, la variable session.auto_register "
+"doit être a 'Off' dans votre php.ini."
+
+#: setup/class_setupStep_Checks.inc:219
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+msgstr ""
+"Recherchez la variable session.auto_register  et mettez la à 'Off' dans "
+"votre php.ini."
+
+#: setup/class_setupStep_Checks.inc:226
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
+msgstr ""
+"GOsa a besoin au minimum de 32MB de mémoire. Moins que 32MB causera des "
+"erreurs imprévisibles, qui ne seront pas reproductibles ! Augmentez la "
+"mémoire pour les installations plus complexes."
 
-#: plugins/admin/departments/generic.tpl:114
-#: plugins/admin/departments/class_organizationGeneric.inc:133
-#: plugins/admin/departments/class_department.inc:373
-#: plugins/admin/departments/class_department.inc:674
-#: plugins/admin/departments/organization.tpl:113
-#: plugins/personal/generic/class_user.inc:1359
-#: plugins/personal/generic/class_user.inc:1822
-#: plugins/personal/generic/generic.tpl:423
-#: plugins/personal/generic/generic.tpl:591
-msgid "Fax"
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
 msgstr ""
+"Recherchez pour 'memory_limit' dans votre php.ini et mettez le à '32M' or "
+"plus haut."
 
-#: plugins/admin/departments/generic.tpl:117
-#: plugins/admin/departments/organization.tpl:116
-msgid "Base facsimile telephone number of this subtree"
-msgstr "Numéro de fax de base pour cette sous-branche"
+#: setup/class_setupStep_Checks.inc:234
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
+msgstr ""
+"Cette option défini la gestion des sorties, mettez cette option à 'Off', "
+"pour améliorer la performance."
 
-#: plugins/admin/departments/class_domain.inc:81
-#: plugins/admin/departments/class_domain.inc:82
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_dcObject.inc:81
-#: plugins/admin/departments/class_dcObject.inc:82
-msgid "Domain Component"
-msgstr "Objet Domaine"
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+msgstr "Recherchez 'implicit_flush' dans votre php.ini et mettez le à 'Off'."
 
-#: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:657
-#: plugins/admin/departments/class_department.inc:662
-msgid "Departments"
-msgstr "Départements"
+#: setup/class_setupStep_Checks.inc:242
+msgid "The Execution time should be at least 30 seconds."
+msgstr "Le temps d'exécution doit être au moins de 30 secondes."
 
-#: plugins/admin/departments/class_departmentManagement.inc:26
-msgid "Manage Departments"
-msgstr "Gérer les départements"
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+msgstr ""
+"Rechercher l'option 'max_execution_time' dans votre php.ini et mettez le à "
+"'30' ou plus."
 
-#: plugins/admin/departments/class_departmentManagement.inc:122
+#: setup/class_setupStep_Checks.inc:250
 msgid ""
-"As soon as the tag operation has finished, you can scroll down to end of the "
-"page and    press the 'Continue' button to continue with the department "
-"management dialog."
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
 msgstr ""
-"Dès que l'opération de marquage est finie, vous pouvez aller à la fin de la "
-"page et appuyer sur le bouton 'Continuer' pour continuer la gestion des "
-"départements."
+"Augmentez la sécurité de votre serveur en mettant l'option expose_php à "
+"'Off'. PHP n'enverra pas d'information a propos du serveur."
 
-#: plugins/admin/departments/class_organizationGeneric.inc:122
-msgid "Organization name"
-msgstr "Nom de l'entreprise"
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+msgstr "Recherchez 'expose_php' dans votre php.ini et mettez le à 'Off'."
 
-#: plugins/admin/departments/class_organizationGeneric.inc:131
-#: plugins/personal/generic/class_user.inc:1709
-msgid "Postal address"
-msgstr "Adresse postale"
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
+msgid "On"
+msgstr "Ouvert"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:132
-msgid "Phone number"
-msgstr "Numéro de téléphone"
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
+msgstr ""
+"Améliorez la sécurité de votre serveur en mettant magic_quotes_gpc à 'on'. "
+"PHP préfixera tout les guillemets dans les chaînes avec la séquence escape."
 
-#: plugins/admin/departments/class_countryGeneric.inc:91
-#: plugins/admin/departments/country.tpl:11
-msgid "Country name"
-msgstr "Pays"
+#: setup/class_setupStep_Checks.inc:259
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+msgstr ""
+"Recherchez l'option 'magic_quotes_gpc' dans votre php.ini et mettez le à "
+"'On'."
 
-#: plugins/admin/departments/domain.tpl:11
-msgid "Domain name"
-msgstr "Nom du domaine"
+#: setup/class_setupStep_Checks.inc:266
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+msgstr ""
+"Améliorez la performance de votre serveur en mettant magic_quotes_gpc à "
+"'off'."
 
-#: plugins/admin/departments/domain.tpl:14
-msgid "Name of domain to create"
-msgstr "Nom du domaine à créer"
+#: setup/class_setupStep_Checks.inc:267
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+msgstr ""
+"Recherchez l'option 'zend.ze1_compatibility_mode' dans votre hp.ini et "
+"mettez la à 'Off'."
 
-#: plugins/admin/departments/country.tpl:14
-msgid "Name of country to create"
-msgstr "Nom du pays à créer"
+#: setup/class_setupStep_Checks.inc:277
+msgid "Configuration writable"
+msgstr "Le fichier de configuration peut être écrit"
 
-#: plugins/admin/departments/class_department.inc:433
-msgid "Cannot find an unused tag for this administrative unit!"
-msgstr ""
-"Impossible de trouver un marqueur libre pour marquer l'entité "
-"administrative !"
+#: setup/class_setupStep_Checks.inc:278
+msgid "The configuration file can't be written"
+msgstr "Le fichier de configuration ne peut pas être écrit"
 
-#: plugins/admin/departments/class_department.inc:504
+#: setup/class_setupStep_Checks.inc:279
 #, php-format
-msgid "Tagging '%s'."
-msgstr "Marquer '%s'."
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
+msgstr ""
+"GOsa lit sa configuration d'un fichier situé dans (%s/%s). Le programme "
+"d'installation peut écrire la configuration directement si le fichier est "
+"permis en écriture."
 
-#: plugins/admin/departments/class_department.inc:585
-#, php-format
-msgid "Moving '%s' to '%s'"
-msgstr "Bouger '%s' vers '%s'"
+#: setup/class_setupStep_Welcome.inc:42
+msgid "Welcome"
+msgstr "Bienvenue"
 
-#: plugins/admin/departments/class_department.inc:626
-#, php-format
-msgid "FAILED to copy %s, aborting operation"
-msgstr "Impossible de copier %s, arrêt de l'opération"
+#: setup/class_setupStep_Welcome.inc:43
+msgid "The welcome message"
+msgstr "Le message d'accueil"
 
-#: plugins/admin/departments/class_department.inc:665
-msgid "Department name"
-msgstr "Nom du département"
+#: setup/class_setupStep_Welcome.inc:44
+msgid "Welcome to the GOsa setup assistent"
+msgstr "Bienvenue dans l'assistant de configuration GOsa"
 
-#: plugins/admin/departments/class_department.inc:673
-msgid "Telephone"
-msgstr "Téléphone"
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
+msgid "License"
+msgstr "licence"
 
-#: plugins/admin/departments/class_department.inc:728
-#, php-format
-msgid "Object '%s' is already tagged"
-msgstr "L'objet '%s' est déjà marqué"
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
+msgstr "Termes et Conditions d'utilisation"
 
-#: plugins/admin/departments/class_department.inc:735
-#, php-format
-msgid "Adding tag (%s) to object '%s'"
-msgstr "Ajouter une marque (%s) à l'objet '%s'"
+#: setup/setup_schema.tpl:1
+msgid "Schema specific settings"
+msgstr "Paramètres spécifiques des schémas"
 
-#: plugins/admin/departments/class_department.inc:767
-#, php-format
-msgid "Removing tag from object '%s'"
-msgstr "Suppression de la marque de l'objet '%s'"
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
+msgstr "La vérification des schéma à réussi"
 
-#: plugins/admin/departments/dep_iframe.tpl:1
-msgid "Processing the requested operation"
-msgstr "Opération en cours"
+#: setup/setup_schema.tpl:7
+msgid "Schema check failed"
+msgstr "La vérification des schéma à échoué"
 
-#: plugins/admin/departments/dep_iframe.tpl:7
+#: setup/setup_schema.tpl:11
 msgid ""
-"Your browser doesn't support iframes, please use this link to perform the "
-"requested operation."
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
 msgstr ""
-"Votre navigateur ne supporte pas les iframes, veuillez utiliser ce lien pour "
-"effectuer l'opération demandée."
+"Impossible de lire les schémas, toutes les vérifications sont annulées. "
+"Ajuster les acl de votre annuaire ldap."
 
-#: plugins/admin/departments/organization.tpl:11
-msgid "Name of organization"
-msgstr "Nom de l'entreprise"
+#: setup/setup_schema.tpl:13
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
+msgstr ""
+"Il semble que votre annuaire LDAP 'a pas encore été configuré. C'est peut "
+"être cela qui empêche GOsa de lire la configuration de vos schémas. !"
 
-#: plugins/admin/departments/organization.tpl:14
-msgid "Name of organization to create"
-msgstr "Nom de l'entreprise à créer"
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
+msgid "Language setup"
+msgstr "Configuration de la langue"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-msgid "You are currently moving/renaming this department."
-msgstr "Vous êtes occupé à bouger/renommer ce département."
+#: setup/class_setupStep_Language.inc:42
+msgid "This step allows you to select your preferred language."
+msgstr "Cette étape vous permet de sélectionner votre langue préférée."
 
-#: plugins/admin/departments/dep_move_confirm.tpl:5
-msgid ""
-"Modifying a departments naming attribute 'ou' or base may corrupt acls and "
-"snapshot entries for all entire objects."
-msgstr ""
-"La modification de l'attribut 'ou' ou la base d'un département peut "
-"corrompre les entrées acls et snapshot pour tout les objets."
+#: setup/setup_feedback.tpl:2
+msgid "Feedback successfully send"
+msgstr "Commentaires envoyés avec succès"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:8
-msgid "GOsa can NOT fix this for you, yet."
-msgstr "GOsa ne PEUT PAS encore corriger ceci pour vous."
+#: setup/setup_feedback.tpl:6
+msgid "Subscribe to the gosa-announce mailing list"
+msgstr "Souscrire à la liste de discutions gosa-announce"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:11
+#: setup/setup_feedback.tpl:8
 msgid ""
-"Before you confirm this action, ensure that everything will be as expected, "
-"possibly the best solution is a backup."
-msgstr ""
-"Avant de confirmer cette action, vérifiez que tout se passera comme prévu, "
-"la meilleure solution est probablement une sauvegarde."
-
-#: plugins/admin/acl/class_aclManagement.inc:25
-#: plugins/admin/acl/acl-list.xml:15
-msgid "Acl"
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
 msgstr ""
+"Quand vous cochez cette option, GOsa essayera de se connecter a http://oss."
+"gonicus.de afin de vous inscrire à la liste de discutions gosa-announce. "
+"Vous devrez confirmer cette inscription par email."
 
-#: plugins/admin/acl/class_aclManagement.inc:154
-msgid "ACL Assignment"
-msgstr "Gestion des ACL"
+#: setup/setup_feedback.tpl:20
+msgid "Mail address"
+msgstr "Adresse de messagerie"
 
-#: plugins/admin/acl/tabs_acl_role.inc:28
-msgid "ACL Templates"
-msgstr "Modèles des ACL"
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
+msgstr "Envoyer vos commentaire au membres du projet Gosa"
 
-#: plugins/admin/acl/class_aclRole.inc:26
-#: plugins/admin/acl/class_aclRole.inc:726
-msgid "Access control roles"
-msgstr "Contrôle d'accès (ACL)"
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
+msgstr ""
+"Quand vous cocher cette option, GOsa essayera de se connecter à http://oss."
+"gonicus.de pour pouvoir transmettre votre réponse de manière anonyme."
 
-#: plugins/admin/acl/class_aclRole.inc:27
-msgid "Edit AC roles"
-msgstr "Editer le rôles (ACL)"
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
+msgstr "Informations"
 
-#: plugins/admin/acl/class_aclRole.inc:134
-msgid "Reset ACL"
-msgstr "Remise à zéro des ACL"
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
+msgstr "Est ce que la procédure d'installation vous à aidé ?"
 
-#: plugins/admin/acl/class_aclRole.inc:418
-msgid "No ACL settings for this category"
-msgstr "Pas d'ACL pour cette catégorie"
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
+msgstr "Si non, quels sont les problèmes que vous avez rencontrés"
 
-#: plugins/admin/acl/class_aclRole.inc:420
-#, php-format
-msgid "ACL for these objects: %s"
-msgstr "ACL pour ces objets: %s"
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
+msgstr "Est ce la première fois que vous utilisez GOsa ?"
 
-#: plugins/admin/acl/class_aclRole.inc:426
-msgid "Edit category ACL"
-msgstr "Editer les catégories ACL"
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
+msgstr "Je l'utilise depuis "
 
-#: plugins/admin/acl/class_aclRole.inc:430
-msgid "Reset category ACL"
-msgstr "Remettre à zéro les catégories ACL"
+#: setup/setup_feedback.tpl:54
+msgid "Select the year since when you are using GOsa"
+msgstr "Veuillez sélectionner l'année depuis laquelle vous utilisez GOsa"
 
-#: plugins/admin/acl/class_aclRole.inc:450
-#, php-format
-msgid "Edit ACL for '%s', scope is '%s'"
-msgstr "Editer l'ACL pour '%s', l'étendue est '%s'"
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
+msgstr "Quel système d'exploitation / distribution utilisez vous ?"
 
-#: plugins/admin/acl/class_aclRole.inc:646
-msgid "Object in use"
-msgstr "Objet utilisé"
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
+msgstr "Quel serveur web utilisez vous ?"
 
-#: plugins/admin/acl/class_aclRole.inc:646
-#, php-format
-msgid "This role cannot be removed while it is in use by these objects:"
-msgstr "Ce rôle ne peut pas être supprimé car il est encore utilisé par ces objets :"
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
+msgstr "Quelle version de php utilisez vous ?"
 
-#: plugins/admin/acl/class_aclRole.inc:725 plugins/admin/acl/acl-list.xml:23
-#: plugins/admin/acl/acl-list.xml:82
-#: plugins/personal/generic/class_user.inc:1664
-#: plugins/personal/generic/generic.tpl:508
-msgid "Role"
-msgstr "Rôle"
+#: setup/setup_feedback.tpl:72
+msgid "GOsa version"
+msgstr "Version de GOsa"
 
-#: plugins/admin/acl/class_aclRole.inc:736
-msgid "Permissions"
-msgstr "Permissions"
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
+msgstr ""
 
-#: plugins/admin/acl/acl-list.xml:11
-msgid "List of acls"
-msgstr "Liste des acls"
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
+msgstr "Quel type de serveur(s) ldap utilisez vous ?"
 
-#: plugins/admin/acl/acl-filter.tpl:11
-msgid "Show access control lists"
-msgstr "Montrer le contrôle d'accès (ACL)"
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
+msgstr "Combien d'objet sont dans votre annuaire LDAP ?"
 
-#: plugins/admin/acl/acl-filter.tpl:12
-msgid "Show roles"
-msgstr "Montrer les rôles"
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
+msgid "Features"
+msgstr "Fonctionalités"
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:25
-msgid "Bug submitter"
-msgstr "Rapport de bogues"
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
+msgstr "Quel fonctionnalités de GOsa utilisez vous ?"
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:26
-msgid ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Rapport de bogues</a>"
+"Quelle fonctionnalités voulez vous voir dans les prochaines versions de "
+"GOsa ?"
 
-#: plugins/personal/generic/class_user.inc:38
-msgid "Edit organizational user settings"
-msgstr "Editer les paramètres organisationnels de l'utilisateur"
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
+msgstr "Envoyer vos réponses"
 
-#: plugins/personal/generic/class_user.inc:297
-msgid "Please add a single IP address or a network/netmask combination!"
-msgstr ""
-"Veuillez ajouter une adresse IP ou une combinaison réseau/masque de sous "
-"réseau !"
+#: html/password.php:63 html/index.php:157
+#, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
+msgstr "Le fichier de configuration %s/%s ne peut être lu. Abandon."
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "female"
-msgstr "féminin"
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, php-format
+msgid "Compile directory %s is not accessible!"
+msgstr "Le répertoire '%s'est inaccessible !"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "male"
-msgstr "masculin"
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
+msgid "Password method"
+msgstr "Format de stockage des mots de passe"
 
-#: plugins/personal/generic/class_user.inc:408
-msgid "Cannot upload file!"
-msgstr "Impossible de télécharger le fichier !"
+#: html/password.php:195
+msgid "Error: Password method not available!"
+msgstr "Erreur: Méthode de changement de mot de passe non disponible!"
 
-#: plugins/personal/generic/class_user.inc:503
-msgid "Serial number"
-msgstr "Numéro de série"
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
+msgstr "Identifiant"
+
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
+msgstr "Vous devez spécifier votre mode de passe actuel pour continuer."
 
-#: plugins/personal/generic/class_user.inc:548
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
 msgid ""
-"(Some types of certificates are currently not supported and may be displayed "
-"as 'invalid'.)"
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
 msgstr ""
-"(Certains types de certificats ne sont pas supportés et peuvent être "
-"affichés comme 'non valides'.)"
-
-#: plugins/personal/generic/class_user.inc:558
-#, php-format
-msgid "Certificate is valid from %s to %s and is currently %s."
-msgstr "Le certificat est valide de %s à %s et est actuellement %s."
+"Le mot de passe entrée dans le champ 'Nouveau mot de passe' et celui dans le "
+"champ 'Répéter le nouveau mot de passe' ne concordent pas."
 
-#: plugins/personal/generic/class_user.inc:561
-msgid "valid"
-msgstr "valide"
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
+msgstr ""
+"Le mot de passe que vous avez entré comme 'Nouveau mot de passe' est vide."
 
-#: plugins/personal/generic/class_user.inc:562
-msgid "invalid"
-msgstr "invalide"
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
+msgstr "Le nouveau et l'ancien mot de passe sont trop similaires."
 
-#: plugins/personal/generic/class_user.inc:567
-msgid "No certificate installed"
-msgstr "Pas de certificat installé"
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
+msgstr "Le nouveau mot de passe ne comporte pas suffisamment de caractères."
 
-#: plugins/personal/generic/class_user.inc:593
-msgid "The selected password method is no longer available."
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
+msgid "The password contains possibly problematic Unicode characters!"
 msgstr ""
-"Le format de stockage sélectionné pour les mots de passe n'est plus "
-"disponible."
+"Le mot de passe contient des caractères Unicode qui peuvent poser problème !"
 
-#: plugins/personal/generic/class_user.inc:1190
-msgid "Cannot build RDN: no + allowed to build sub RDN!"
-msgstr ""
-"Impossible de construire le RDN: pas de + autorisé dans la construction d'un "
-"sous RDN !"
+#: html/password.php:261 html/index.php:311
+msgid "Please check the username/password combination!"
+msgstr "Veuillez vérifier le nom d'utilisateur et le mot de passe !"
 
-#: plugins/personal/generic/class_user.inc:1197
-msgid "Cannot build RDN: attribute is not defined!"
-msgstr "Impossible de construire un RDN: l'attribut n'est pas défini !"
+#: html/password.php:268
+msgid "You have no permissions to change your password!"
+msgstr "Vous n'avez pas l'autorisation pour changer votre mot de passe !"
 
-#: plugins/personal/generic/class_user.inc:1215
-msgid "Cannot build RDN: invalid attribute parameters!"
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
+#, php-format
+msgid "Check-hook reported a problem: %s. Password change canceled!"
 msgstr ""
-"Imposible de contruire un RDN: les paramètres de l'attribut sont non "
-"valides !"
 
-#: plugins/personal/generic/class_user.inc:1286
-msgid "The selected password method requires initial configuration!"
-msgstr "Le format de stockage sélectionné nécessite une configuration de base !"
+#: html/password.php:315
+msgid "Session will not be encrypted."
+msgstr "La session ne sera pas cryptée."
 
-#: plugins/personal/generic/class_user.inc:1351
-#: plugins/personal/generic/class_user.inc:1713
-#: plugins/personal/generic/class_user.inc:1816
-#: plugins/personal/generic/generic.tpl:199
-msgid "Homepage"
-msgstr "Page d'accueil"
+#: html/password.php:317
+msgid "Enter SSL session"
+msgstr "Démarrer une session SSL"
 
-#: plugins/personal/generic/class_user.inc:1362
-#: plugins/personal/generic/class_user.inc:1825
-#: plugins/personal/generic/generic.tpl:407
-msgid "Mobile"
-msgstr "GSM"
+#: html/index.php:45
+#, php-format
+msgid "Your browser (%s) is blacklisted for the current theme!"
+msgstr "Votre navigateur (%s) n'est pas compatible avec le thème sélectionné !"
 
-#: plugins/personal/generic/class_user.inc:1365
-#: plugins/personal/generic/class_user.inc:1828
-#: plugins/personal/generic/generic.tpl:415
-msgid "Pager"
-msgstr "Bip"
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
+msgstr ""
+"La session n'est pas chiffrée. Cliquez sur %s pour utiliser une seesion "
+"chiffrée."
 
-#: plugins/personal/generic/class_user.inc:1370
-#: plugins/personal/generic/class_user.inc:1685
-#: plugins/personal/generic/generic.tpl:119
-msgid "Date of birth"
-msgstr "Date de naissance"
+#: html/index.php:72
+msgid "here"
+msgstr "ici"
 
-#: plugins/personal/generic/class_user.inc:1485
-msgid "Cannot open certificate!"
-msgstr "Impossible d'ouvrir le certificat !"
+#: html/index.php:78
+msgid "The configured session lifetime will be overridden by php.ini settings!"
+msgstr ""
+"La durée de validité des sessions configurée dans votre gosa.conf sera "
+"remplacée par celle définie dans votre php.ini !"
 
-#: plugins/personal/generic/class_user.inc:1653
-#: plugins/personal/generic/generic.tpl:531
-msgid "Unit"
-msgstr "Unité"
+#: html/index.php:179
+msgid "Smarty error"
+msgstr "Erreur Smarty"
 
-#: plugins/personal/generic/class_user.inc:1654
-#: plugins/personal/generic/generic.tpl:556
-msgid "House identifier"
-msgstr "Identifiant du bâtiment"
+#: html/index.php:202
+msgid ""
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
+msgstr ""
+"Votre navigateur à les cookies désactivées. Veuillez activer les cookies et "
+"recharger cette page avant de vous connecter !"
 
-#: plugins/personal/generic/class_user.inc:1655
-#: plugins/personal/generic/generic.tpl:473
-msgid "Vocation"
-msgstr "Travail"
+#: html/index.php:233
+msgid "Broken HTTP authentication setup!"
+msgstr "Il y a une problèmes avec l'authentification HTTP !"
 
-#: plugins/personal/generic/class_user.inc:1656
-#: plugins/personal/generic/generic.tpl:600
-msgid "Last delivery"
-msgstr "Dernière distribution"
+#: html/index.php:241
+msgid "Cannot find a valid user for the current HTTP authentication!"
+msgstr ""
+"Impossible de trouver un utilisateur valide pour l'authentification HTTP !"
 
-#: plugins/personal/generic/class_user.inc:1657
-#: plugins/personal/generic/generic.tpl:522
-msgid "Person locality"
-msgstr "Lieu de résidence"
+#: html/index.php:245
+msgid "Cannot find a unique user for the current HTTP authentication!"
+msgstr ""
+"Impossible de trouver un utilisateur unique pour l'authentification HTTP !"
 
-#: plugins/personal/generic/class_user.inc:1658
-#: plugins/personal/generic/generic.tpl:481
-msgid "Unit description"
-msgstr "Description de l'unité"
+#: html/index.php:289
+msgid "Please specify a valid user name!"
+msgstr "Le nom d'utilisateur est incorrect !"
 
-#: plugins/personal/generic/class_user.inc:1659
-#: plugins/personal/generic/generic.tpl:490
-msgid "Subject area"
-msgstr "Zone de sujet"
+#: html/index.php:292
+msgid "Please specify your password!"
+msgstr "Veuillez introduire votre mot de passe !"
 
-#: plugins/personal/generic/class_user.inc:1660
-#: plugins/personal/generic/generic.tpl:499
-msgid "Functional title"
-msgstr "Fonction"
+#: html/index.php:304
+msgid "Authentication error"
+msgstr "Erreur d'authentification"
 
-#: plugins/personal/generic/class_user.inc:1661
-#: plugins/personal/generic/generic_certs.tpl:78
-msgid "Certificate serial number"
-msgstr "Numéro de série du certificat"
+#: html/index.php:304
+msgid "Cannot retrieve user information for HTTP authentication!"
+msgstr ""
+"Impossible de trouver l'information utilisateur pour l'authentification "
+"HTTP !"
 
-#: plugins/personal/generic/class_user.inc:1662
-#: plugins/personal/generic/generic.tpl:609
-msgid "Public visible"
-msgstr "Visible par tous"
+#: html/index.php:360
+msgid "Account locked. Please contact your system administrator!"
+msgstr "Compte verouillé. Veuillez contacter votre administrateur système !"
 
-#: plugins/personal/generic/class_user.inc:1663
-#: plugins/personal/generic/generic.tpl:540
-msgid "Street"
-msgstr "Rue"
+#: html/main.php:171
+#, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
+msgstr ""
+"Je n'ai pas trouvé le fichier '%s' - veuillez exécuter '%s' pour régler ce "
+"problème"
 
-#: plugins/personal/generic/class_user.inc:1665
-#: plugins/personal/generic/generic.tpl:548
-msgid "Postal code"
-msgstr "Code postal"
+#: html/main.php:190
+msgid "PHP configuration"
+msgstr "Configuration de PHP"
 
-#: plugins/personal/generic/class_user.inc:1669
-msgid "Generic user settings"
-msgstr "Paramètres par défaut des utilisateurs"
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
+msgstr ""
+"Erreur Fatale: Register globals est actif. Veuillez corriger ceci avant de "
+"continuer."
 
-#: plugins/personal/generic/class_user.inc:1673
-#: plugins/personal/posix/class_posixAccount.inc:1455
-#: plugins/personal/password/class_password.inc:205
-msgid "My account"
-msgstr "Mon Compte"
+#: html/main.php:220
+msgid "Your password is about to expire, please change your password!"
+msgstr ""
+"Votre mot de passe va bientôt expirer, veuillez changer votre mot de passe !"
 
-#: plugins/personal/generic/class_user.inc:1681
-msgid "User identification"
-msgstr "Information Utilisateur"
+#: html/main.php:295
+msgid "Running out of memory!"
+msgstr "Plus de mémoire disponible !"
 
-#: plugins/personal/generic/class_user.inc:1682
-#: plugins/personal/generic/generic.tpl:98
-msgid "Personal title"
-msgstr "Titre Personnel"
+#: html/main.php:355
+#, php-format
+msgid "You're logged in as %s"
+msgstr "Vous êtes connecté en tant que %s"
 
-#: plugins/personal/generic/class_user.inc:1683
-#: plugins/personal/generic/generic.tpl:108
-msgid "Academic title"
-msgstr "Titre Universitaire"
+#: html/main.php:358
+msgid "ACLs are disabled"
+msgstr "Les vérifications des ACL ont été désactivés"
 
-#: plugins/personal/generic/class_user.inc:1686
-#: plugins/personal/generic/generic.tpl:138
-msgid "Sex"
-msgstr "Sexe"
+#: html/main.php:408
+msgid "Plug-in"
+msgstr "Extension"
 
-#: plugins/personal/generic/class_user.inc:1687
-msgid "Preferred language"
-msgstr "Langue préférée"
+#: html/main.php:409
+#, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
+msgstr "FATAL: Impossible de trouver une définition pour l'extension '%s' !"
 
-#: plugins/personal/generic/class_user.inc:1690
-#: plugins/personal/generic/paste_generic.tpl:47
-msgid "User picture"
-msgstr "Image de l'utilisateur"
+#: html/main.php:425
+msgid "Configuration Error"
+msgstr "Erreur de configuration"
 
-#: plugins/personal/generic/class_user.inc:1692
-msgid "Login restrictions"
-msgstr "Restriction de connexions"
+#: html/main.php:426
+#, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
+msgstr ""
+"FATAL: toute les variables POST non pas été transférées par PHP - Veuillez "
+"avertir votre administrateur !"
 
-#: plugins/personal/generic/class_user.inc:1696
-msgid "Department number"
-msgstr "Numéro du département"
+#: html/setup.php:73
+msgid "Smarty"
+msgstr "Smarty"
 
-#: plugins/personal/generic/class_user.inc:1698
-msgid "Employee number"
-msgstr "Numéro de l'employé"
+#: html/helpviewer.php:64
+msgid "Help browser"
+msgstr "Aide"
 
-#: plugins/personal/generic/class_user.inc:1699
-#: plugins/personal/generic/generic.tpl:331
-msgid "Employee type"
-msgstr "Type de l'employé"
+#: html/helpviewer.php:118
+msgid "There is no help file specified for this class"
+msgstr "Il n'y a pas de fichier d'aide spécifiée pour cette classe"
 
-#: plugins/personal/generic/class_user.inc:1701
-msgid "Room number"
-msgstr "Numéro du bureau"
+#: html/helpviewer.php:268
+#, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
+msgstr ""
+"Le répertoire d'aide '%s' n'est pas accessible, impossible de lire les "
+"fichiers d'aide."
 
-#: plugins/personal/generic/class_user.inc:1702
-msgid "Telefon number"
-msgstr "Numéro de téléphone"
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
+msgstr ""
+"Pour changer votre mot de passe, veuillez utiliser les champs ci-dessous. "
+"Les changements prennent effet immédiatement. Veuillez mémoriser le nouveau "
+"mot de passe car sans lui vous ne serez pas capable de vous identifier."
 
-#: plugins/personal/generic/class_user.inc:1703
-msgid "Pager number"
-msgstr "Numéro de page"
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
+msgid "Password change dialog"
+msgstr "Changement de mot de passe"
 
-#: plugins/personal/generic/class_user.inc:1704
-msgid "Mobile number"
-msgstr "Numéro de GSM"
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
+msgid "Use proposal"
+msgstr "utiliser la proposition"
 
-#: plugins/personal/generic/class_user.inc:1705
-msgid "Fax number"
-msgstr "Numéro de fax"
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
+msgid "Manually specify a password"
+msgstr "Entrer un mot de passe manuellement"
 
-#: plugins/personal/generic/class_user.inc:1711
-msgid "Home postal address"
-msgstr "Adresse postale personnelle"
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
+msgstr "Effacer les données dans les champs"
 
-#: plugins/personal/generic/class_user.inc:1712
-msgid "Home phone number"
-msgstr "Numéro de téléphone privé"
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
+msgstr "Mon Compte"
 
-#: plugins/personal/generic/class_user.inc:1714
-msgid "User password method"
-msgstr "Méthode d'encodage des mots de passe"
+#: plugins/personal/myaccount/class_MyAccount.inc:6
+msgid "Edit personal settings"
+msgstr "Editer les paramètres personnels"
 
-#: plugins/personal/generic/class_user.inc:1715
-msgid "User certificates"
-msgstr "Certificats utilisateurs"
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
+msgid "You have no permission to change your password at this time"
+msgstr ""
+"Vous n'avez pas l'autorisation pour changer votre mot de passe à ce moment"
 
-#: plugins/personal/generic/class_user.inc:1923
-msgid "Entries differ"
-msgstr "Les entrées sont différentes"
+#: plugins/personal/myaccount/nochange.tpl:5
+msgid "Your password hash method will not be changed!"
+msgstr "Votre méthode de hachage de mot de passe ne sera pas changé!"
 
-#: plugins/personal/generic/changed.tpl:3
+#: plugins/personal/myaccount/changed.tpl:3
 #: plugins/personal/password/changed.tpl:3
 msgid ""
-"You've successfully changed your password. Remember to change all programms "
+"You've successfully changed your password. Remember to change all programs "
 "configured to use it as well."
 msgstr ""
 "Votre mot de passe a été changé. N'oubliez pas de modifier les programmes "
 "qui l'utilisent."
 
-#: plugins/personal/generic/generic.tpl:6
-msgid "Personal information"
-msgstr "Informations personnelles"
-
-#: plugins/personal/generic/generic.tpl:20
-#: plugins/personal/generic/generic.tpl:22
-#: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/paste_generic.tpl:37
-#: plugins/personal/generic/generic_picture.tpl:5
-#: plugins/personal/generic/generic_picture.tpl:15
-msgid "Personal picture"
-msgstr "Image personnelle"
-
-#: plugins/personal/generic/generic.tpl:29
-#: plugins/personal/generic/generic.tpl:40
-msgid "Change picture"
-msgstr "Changer la photo"
-
-#: plugins/personal/generic/generic.tpl:62
-msgid "Template name"
-msgstr "Nom du modèle"
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
+msgid "POSIX settings"
+msgstr "Paramètres Posix"
 
-#: plugins/personal/generic/generic.tpl:151
-msgid "Preferred langage"
-msgstr "Langue préférée"
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
+msgstr "Répertoire Home"
 
-#: plugins/personal/generic/generic.tpl:191
-msgid "Private phone"
-msgstr "Numéro de téléphone privé"
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
+msgid "Account settings"
+msgstr "Paramètres du compte"
+
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
+msgstr "Groupe principal"
 
-#: plugins/personal/generic/generic.tpl:212
-msgid "Password storage"
-msgstr "Format de stockage des mots de passe"
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
+msgstr "Forcer l'UID/GID"
 
-#: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/generic_certs.tpl:3
-msgid "Certificates"
-msgstr "Certificats"
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
+msgstr ""
 
-#: plugins/personal/generic/generic.tpl:232
-msgid "Edit certificates"
-msgstr "Editer des certificats"
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
+msgstr "Appartenance au groupe"
 
-#: plugins/personal/generic/generic.tpl:244
-msgid "Restrict login to"
-msgstr "Restreindre le login à"
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
+msgstr "(Attention: NFS ne supporte pas plus de 16 groupes !)"
 
-#: plugins/personal/generic/generic.tpl:250
-#: plugins/personal/generic/generic.tpl:266
-msgid "IP or network"
-msgstr "IP ou réseau"
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
+msgid "Default filter"
+msgstr "Filtre par défaut"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
+msgid "Please select the desired entries"
+msgstr "Veuillez sélectionner les entrées désirées"
 
-#: plugins/personal/generic/generic.tpl:287
-msgid "Organizational information"
-msgstr "Informations sur l'entreprise"
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
+msgstr "Serveur"
 
-#: plugins/personal/generic/generic.tpl:315
-msgid "Department No."
-msgstr "No. du département."
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
+msgstr "Stations de travail"
 
-#: plugins/personal/generic/generic.tpl:323
-msgid "Employee No."
-msgstr "No. de l'employé."
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+msgid "Terminal"
+msgstr ""
 
-#: plugins/personal/generic/generic.tpl:389
-#: plugins/personal/generic/generic.tpl:571
-msgid "Room No."
-msgstr "No. de bureau."
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
+msgid "Trust machine selection"
+msgstr ""
 
-#: plugins/personal/generic/generic.tpl:585
-msgid "Please use the phone tab"
-msgstr "Veuillez utiliser l'onglet téléphone"
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+msgid "Group selection"
+msgstr "Sélection du groupe"
 
-#: plugins/personal/generic/paste_generic.tpl:1
-msgid "User settings"
-msgstr "Préférences utilisateur"
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
+msgstr "Groupes"
 
-#: plugins/personal/generic/paste_generic.tpl:23
-msgid "Clear password"
-msgstr "Effacer le mot de passe"
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
+msgstr ""
+"L'utilisateur doit changer son mot de passe lors de sa première connexion"
 
-#: plugins/personal/generic/paste_generic.tpl:24
-msgid "Set new password"
-msgstr "Attribuer un nouveau mot de passe"
+#: plugins/personal/posix/posix_shadow.tpl:59
+msgid "Password expiration settings"
+msgstr "Paramètres d'expiration du mot de passe"
 
-#: plugins/personal/generic/paste_generic.tpl:52
-#: plugins/personal/generic/generic_picture.tpl:27
-msgid "Remove picture"
-msgstr "Suppression de l'image personnelle"
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
+msgstr "Le mot de passe expirera le"
 
-#: plugins/personal/generic/main.inc:168
-msgid "Generic user information"
-msgstr "Information générales sur l'utilisateur"
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
+msgid "Generic settings"
+msgstr "Paramètres par défaut des utilisateurs"
 
-#: plugins/personal/generic/password.tpl:4
-#: plugins/personal/password/password.tpl:4
-msgid ""
-"To change your personal password use the fields below. The changes take "
-"effect immediately. Please memorize the new password, because you wouldn't "
-"be able to login without it."
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+msgid "Shell"
 msgstr ""
-"Pour changer votre mot de passe, veuillez utiliser les champs ci-dessous. "
-"Les changements prennent effet immédiatement. Veuillez mémoriser le nouveau "
-"mot de passe car sans lui vous ne serez pas capable de vous identifier."
 
-#: plugins/personal/generic/password.tpl:42
-#: plugins/personal/password/password.tpl:47
-msgid "Password change dialog"
-msgstr "Changement de mot de passe"
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
+msgstr "Statut"
 
-#: plugins/personal/generic/password.tpl:90
-#: plugins/personal/password/password.tpl:95
-msgid "Clear fields"
-msgstr "Effacer les données dans les champs"
+#: plugins/personal/posix/generic.tpl:42
+msgid "Last log-on"
+msgstr "Dernière connexion"
 
-#: plugins/personal/generic/generic_certs.tpl:8
-msgid "Standard certificate"
-msgstr "Certificat standard"
+#: plugins/personal/posix/generic.tpl:101
+msgid "Common group"
+msgstr "groupe commun"
 
-#: plugins/personal/generic/generic_certs.tpl:33
-msgid "S/MIME certificate"
-msgstr "Certificat S/MIME"
+#: plugins/personal/posix/generic.tpl:105
+msgid "Groups differ"
+msgstr "les groupes sont différents "
 
-#: plugins/personal/generic/generic_certs.tpl:57
-msgid "PKCS12 certificate"
-msgstr "Certificat PKCS12"
+#: plugins/personal/posix/generic.tpl:125
+msgid "Account permissions"
+msgstr "Permissions du compte"
 
-#: plugins/personal/generic/nochange.tpl:2
-#: plugins/personal/password/nochange.tpl:2
-msgid "You have no permission to change your password at this time"
-msgstr "Vous n'avez pas l'autorisation pour changer votre mot de passe à ce moment"
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
+msgstr "Clefs SSH"
 
-#: plugins/personal/generic/nochange.tpl:5
-msgid "Your password hash method will not be changed!"
-msgstr "Votre méthode de cryptage des mots de passe ne sera pas changé !"
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
+msgstr "Editer les clefs SSH"
+
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
+msgstr "UNIX"
 
 #: plugins/personal/posix/class_posixAccount.inc:38
 msgid "Edit users POSIX settings"
 msgstr "Editer les paramètres Unix"
 
-#: plugins/personal/posix/class_posixAccount.inc:168
+#: plugins/personal/posix/class_posixAccount.inc:146
 msgid "expired"
 msgstr "expire"
 
-#: plugins/personal/posix/class_posixAccount.inc:170
+#: plugins/personal/posix/class_posixAccount.inc:148
 msgid "grace time active"
 msgstr "temps de grâce activé"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-#: plugins/personal/posix/class_posixAccount.inc:175
-#: plugins/personal/posix/class_posixAccount.inc:177
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
 msgid "active"
 msgstr "actif"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
+#: plugins/personal/posix/class_posixAccount.inc:151
 msgid "password not changeable"
 msgstr "mot de passe non modifiable"
 
-#: plugins/personal/posix/class_posixAccount.inc:175
+#: plugins/personal/posix/class_posixAccount.inc:153
 msgid "password expired"
 msgstr "mot de passe expiré"
 
-#: plugins/personal/posix/class_posixAccount.inc:248
+#: plugins/personal/posix/class_posixAccount.inc:226
 msgid "automatic"
 msgstr "automatique"
 
-#: plugins/personal/posix/class_posixAccount.inc:444
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr "Environnement"
+
+#: plugins/personal/posix/class_posixAccount.inc:374
 #, php-format
 msgid "Password can't be changed up to %s days after last change"
 msgstr ""
 "Les mots de passe ne peuvent être changé qu'après %s jours à compter de la "
 "dernière modification de celui-ci"
 
-#: plugins/personal/posix/class_posixAccount.inc:448
+#: plugins/personal/posix/class_posixAccount.inc:378
 #, php-format
 msgid "Password must be changed after %s days"
 msgstr "Le mot de passe doit être changé après %s jours"
 
-#: plugins/personal/posix/class_posixAccount.inc:452
+#: plugins/personal/posix/class_posixAccount.inc:382
 #, php-format
 msgid "Disable account after %s days of inactivity after password expiry"
 msgstr ""
 "Désactiver le compte après %s jours d'inactivité après l'expiration du mot "
 "de passe"
 
-#: plugins/personal/posix/class_posixAccount.inc:456
+#: plugins/personal/posix/class_posixAccount.inc:386
 #, php-format
 msgid "Warn user %s days before password expiry"
 msgstr "Avertir l'utilisateur %s jours avant l'expiration de son mot de passe"
 
-#: plugins/personal/posix/class_posixAccount.inc:793
+#: plugins/personal/posix/class_posixAccount.inc:651
 msgid "Timeout while waiting for lock. Ignoring lock!"
 msgstr "Le temps d'attente du verrou à été dépassé. J'ignore le verrou !"
 
-#: plugins/personal/posix/class_posixAccount.inc:851
-#: plugins/personal/posix/class_posixAccount.inc:1169
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
 msgid "Group of user"
 msgstr "Groupe d'utilisateurs"
 
-#: plugins/personal/posix/class_posixAccount.inc:946
+#: plugins/personal/posix/class_posixAccount.inc:774
 msgid ""
 "A duplicated UID number was written for this user. If this was not intended "
 "please verify all used uidNumbers!"
@@ -4753,1927 +4779,2110 @@ msgstr ""
 "Un uid en double vient d'être écrit pour cet utilisateur. Si ceci n'était "
 "pas voulu, veuillez vérifier tout les uid utilisés !"
 
-#: plugins/personal/posix/class_posixAccount.inc:1027
-#: plugins/personal/posix/class_posixAccount.inc:1030
-#: plugins/personal/posix/class_posixAccount.inc:1105
-#: plugins/personal/posix/class_posixAccount.inc:1108
-#: plugins/personal/posix/class_posixAccount.inc:1461
-#: plugins/personal/posix/generic.tpl:7
-#: plugins/personal/posix/paste_generic.tpl:8
-msgid "Home directory"
-msgstr "Répertoire Home"
-
-#: plugins/personal/posix/class_posixAccount.inc:1038
-#: plugins/personal/posix/class_posixAccount.inc:1041
-#: plugins/personal/posix/generic.tpl:63
-#: plugins/personal/posix/paste_generic.tpl:36
-msgid "UID"
-msgstr ""
-
-#: plugins/personal/posix/class_posixAccount.inc:1061
-#: plugins/personal/posix/class_posixAccount.inc:1114
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
 msgid "shadowMin"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1066
-#: plugins/personal/posix/class_posixAccount.inc:1119
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
 msgid "shadowMax"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1071
-#: plugins/personal/posix/class_posixAccount.inc:1124
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
 msgid "shadowWarning"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1085
-#: plugins/personal/posix/class_posixAccount.inc:1138
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
 msgid "shadowInactive"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1293
 msgid "POSIX account"
 msgstr "Compte Posix"
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
-#: plugins/personal/posix/generic.tpl:15
-msgid "Shell"
-msgstr ""
-
-#: plugins/personal/posix/class_posixAccount.inc:1463
-#: setup/setup_migrate.tpl:291
-msgid "User ID"
-msgstr "ID de l'utilisateur"
-
-#: plugins/personal/posix/class_posixAccount.inc:1464
+#: plugins/personal/posix/class_posixAccount.inc:1311
 msgid "Group ID"
 msgstr "ID du Groupe"
 
-#: plugins/personal/posix/class_posixAccount.inc:1466
+#: plugins/personal/posix/class_posixAccount.inc:1313
+msgid "Shadow last changed"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:1314
+msgid "Last login"
+msgstr "Dernière connexion"
+
+#: plugins/personal/posix/class_posixAccount.inc:1316
 msgid "Force password change on login"
 msgstr "Forcer le changement de mot de passe au la connexion"
 
-#: plugins/personal/posix/class_posixAccount.inc:1467
+#: plugins/personal/posix/class_posixAccount.inc:1317
 msgid "Shadow min"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1468
+#: plugins/personal/posix/class_posixAccount.inc:1318
 msgid "Shadow max"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1469
+#: plugins/personal/posix/class_posixAccount.inc:1319
 msgid "Shadow warning"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1470
+#: plugins/personal/posix/class_posixAccount.inc:1320
 msgid "Shadow inactive"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1471
+#: plugins/personal/posix/class_posixAccount.inc:1321
 msgid "Shadow expire"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1472
+#: plugins/personal/posix/class_posixAccount.inc:1322
 msgid "Public SSH key"
 msgstr "Clef SSH publique"
 
-#: plugins/personal/posix/class_posixAccount.inc:1473
+#: plugins/personal/posix/class_posixAccount.inc:1323
 msgid "System trust model"
 msgstr "Système de Confiance"
 
-#: plugins/personal/posix/generic.tpl:25
-#: plugins/personal/posix/paste_generic.tpl:17
-msgid "Primary group"
-msgstr "Groupe principal"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr "désactivé"
 
-#: plugins/personal/posix/generic.tpl:36
-msgid "Status"
-msgstr "Statut"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr "accès complet"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr "permettre l'accès a ces hôtes"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr "Système de Confiance"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
+msgid "Trust mode"
+msgstr "Mode de confiance"
+
+#: plugins/personal/password/password.tpl:10
+msgid "Your Password has expired. Please choose a new password."
+msgstr "Votre mot de passe à expiré. Choisissez un nouveau mot de passe."
+
+#: plugins/personal/password/class_password.inc:27
+msgid "Change user password"
+msgstr "Modifier votre mot de passe"
+
+#: plugins/personal/password/class_password.inc:156
+msgid ""
+"The password you've entered as your current password doesn't match the real "
+"one."
+msgstr ""
+"Le mot de passe entré comme mot de passe actuel ne correspond pas à votre "
+"mot de passe."
+
+#: plugins/personal/password/class_password.inc:159
+msgid "You have no permission to change your password."
+msgstr "Vous n'avez pas l'autorisation pour changer votre mot de passe."
+
+#: plugins/personal/password/class_password.inc:223
+msgid "User password"
+msgstr "Mot de passe"
+
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
+msgstr "Script à appeler avant qu'un mot de passe soit verrouillé."
+
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
+msgstr "Script à appeler après qu'un mot de passe soit verrouillé."
+
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
+msgstr "Script à appeler avant qu'un mot de passe soit deverrouillé."
+
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
+msgstr "Script à appeler après qu'un mot de passe soit deverrouillé."
+
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr "Certificats"
+
+#: plugins/personal/generic/generic_certs.tpl:5
+msgid "The users standard certificate"
+msgstr "Le certificat standard de l'utilisateur"
+
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr "Certificat standard"
+
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr "Supprimer"
+
+#: plugins/personal/generic/generic_certs.tpl:31
+msgid "The users S/MIME certificate"
+msgstr "Le certificat S/MIME de l'utilisateur"
+
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr "Le certificat S/MIME de l'utilisateur"
+
+#: plugins/personal/generic/generic_certs.tpl:57
+msgid "The users PKCS12 certificate"
+msgstr "Le certificat PKCS12 de l'utilisateur"
+
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr "Certificat PKCS12"
+
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr "Numéro de série du certificat"
+
+#: plugins/personal/generic/paste_generic.tpl:3
+msgid "Paste user"
+msgstr "Coller l'utilisateur"
+
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr "Informations personnelles"
+
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
+msgid "Last name"
+msgstr "Nom de famille"
+
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
+msgid "First name"
+msgstr "Prénom"
+
+#: plugins/personal/generic/paste_generic.tpl:24
+msgid "Clear password"
+msgstr "Effacer le mot de passe"
+
+#: plugins/personal/generic/paste_generic.tpl:25
+msgid "Set new password"
+msgstr "Attribuer un nouveau mot de passe"
+
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
+msgid "The users picture"
+msgstr "Image de l'utilisateur"
+
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
+msgstr "Suppression de l'image personnelle"
+
+#: plugins/personal/generic/class_user.inc:38
+msgid "Edit organizational user settings"
+msgstr "Editer les paramètres organisationnels de l'utilisateur"
+
+#: plugins/personal/generic/class_user.inc:297
+msgid "Please add a single IP address or a network/net mask combination!"
+msgstr ""
+"Veuillez ajouter une adresse IP ou une combinaison réseau/masque de sous "
+"réseau !"
 
-#: plugins/personal/posix/generic.tpl:41
-msgid "Last logon"
-msgstr "Dernière connexion"
+#: plugins/personal/generic/class_user.inc:339
+msgid "female"
+msgstr "féminin"
 
-#: plugins/personal/posix/generic.tpl:59
-#: plugins/personal/posix/paste_generic.tpl:31
-msgid "Force UID/GID"
-msgstr "Forcer l'UID/GID"
+#: plugins/personal/generic/class_user.inc:339
+msgid "male"
+msgstr "masculin"
 
-#: plugins/personal/posix/generic.tpl:89
-#: plugins/personal/posix/paste_generic.tpl:55
-msgid "Group membership"
-msgstr "Appartenance au groupe"
+#: plugins/personal/generic/class_user.inc:395
+msgid "Password configuration"
+msgstr "Configuration du mot de passe"
 
-#: plugins/personal/posix/generic.tpl:91
-#: plugins/personal/posix/paste_generic.tpl:62
-msgid "(Warning: more than 16 groups are not supported by NFS!)"
-msgstr "(Attention: NFS ne supporte pas plus de 16 groupes !)"
+#: plugins/personal/generic/class_user.inc:429
+msgid "Cannot upload file!"
+msgstr "Impossible de télécharger le fichier !"
 
-#: plugins/personal/posix/generic.tpl:100
-msgid "Common group"
-msgstr "groupe commun"
+#: plugins/personal/generic/class_user.inc:522
+msgid "Serial number"
+msgstr "Numéro de série"
 
-#: plugins/personal/posix/generic.tpl:104
-msgid "Groups differ"
-msgstr "les groupes sont différents "
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
+msgid "User picture"
+msgstr "Image de l'utilisateur"
 
-#: plugins/personal/posix/generic.tpl:127
-msgid "SSH keys"
-msgstr "Clefs SSH"
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
+msgstr ""
+"(les types de certificats non supportés sont marquée comme non valide.)"
 
-#: plugins/personal/posix/generic.tpl:128
-msgid "Edit public ssh keys..."
-msgstr "Editer les clefs SSH"
+#: plugins/personal/generic/class_user.inc:579
+#, php-format
+msgid "Certificate is valid from %s to %s and is currently %s."
+msgstr "Le certificat est valide de %s à %s et est actuellement %s."
 
-#: plugins/personal/posix/generic.tpl:132
-msgid "Account"
-msgstr "Compte"
+#: plugins/personal/generic/class_user.inc:582
+msgid "valid"
+msgstr "valide"
 
-#: plugins/personal/posix/posix_groups.tpl:6
-msgid "Select groups to add"
-msgstr "Sélectionner les groupes à ajouter"
+#: plugins/personal/generic/class_user.inc:583
+msgid "invalid"
+msgstr "invalide"
 
-#: plugins/personal/posix/posix_groups.tpl:32
-msgid "Display groups of department"
-msgstr "Afficher les groupes du département"
+#: plugins/personal/generic/class_user.inc:588
+msgid "No certificate installed"
+msgstr "Pas de certificat installé"
 
-#: plugins/personal/posix/posix_groups.tpl:44
-msgid "Display groups matching"
-msgstr "Afficher les groupes correspondants"
+#: plugins/personal/generic/class_user.inc:614
+msgid "The selected password method is no longer available."
+msgstr ""
+"Le format de stockage sélectionné pour les mots de passe n'est plus "
+"disponible."
 
-#: plugins/personal/posix/posix_groups.tpl:48
-msgid "Regular expression for matching group names"
-msgstr "Expression régulière correspondant à des noms de groupe"
+#: plugins/personal/generic/class_user.inc:1051
+msgid ""
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
+msgstr ""
+"Impossible de sauvegarder l'image d'utilisateur: GOsa nécessite "
+"'imagemagick' ou 'php5-imagick' installé !"
 
-#: plugins/personal/posix/posix_groups.tpl:55
-msgid "Display groups of user"
-msgstr "Afficher les groupes contenant des utilisateurs"
+#: plugins/personal/generic/class_user.inc:1177
+msgid "Cannot build RDN: no + allowed to build sub RDN!"
+msgstr ""
+"Impossible de construire le RDN: pas de + autorisé dans la construction d'un "
+"sous RDN !"
 
-#: plugins/personal/posix/posix_groups.tpl:59
-msgid "User name of which groups are shown"
-msgstr "Utilisateur dont on montre les groupes"
+#: plugins/personal/generic/class_user.inc:1184
+msgid "Cannot build RDN: attribute is not defined!"
+msgstr "Impossible de construire un RDN: l'attribut n'est pas défini !"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:11
-msgid "Show servers"
-msgstr "Serveurs"
+#: plugins/personal/generic/class_user.inc:1202
+msgid "Cannot build RDN: invalid attribute parameters!"
+msgstr ""
+"Imposible de contruire un RDN: les paramètres de l'attribut sont non "
+"valides !"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:12
-msgid "Show workstations"
-msgstr "Stations de travail"
+#: plugins/personal/generic/class_user.inc:1273
+msgid "The selected password method requires initial configuration!"
+msgstr ""
+"Le format de stockage sélectionné nécessite une configuration de base !"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:13
-msgid "Show terminals"
-msgstr "Terminaux"
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
+msgid "Homepage"
+msgstr "Page d'accueil"
 
-#: plugins/personal/posix/paste_generic.tpl:4
-msgid "Posix settings"
-msgstr "Paramètres Posix"
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
+msgstr "Téléphone"
 
-#: plugins/personal/posix/main.inc:142
-msgid "POSIX settings"
-msgstr "Paramètres Posix"
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
+msgstr ""
 
-#: plugins/personal/posix/posix_shadow.tpl:9
-msgid "User must change password on first login"
-msgstr "L'utilisateur doit changer son mot de passe lors de sa première connexion"
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
+msgid "Mobile"
+msgstr "GSM"
 
-#: plugins/personal/posix/posix_shadow.tpl:34
-msgid "Password expires on"
-msgstr "Le mot de passe expirera le"
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
+msgid "Pager"
+msgstr "Bip"
 
-#: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
-msgid "Password settings"
-msgstr "Préférences pour les mots de passe"
+#: plugins/personal/generic/class_user.inc:1483
+msgid "Cannot open certificate!"
+msgstr "Impossible d'ouvrir le certificat !"
 
-#: plugins/personal/password/password.tpl:14
-msgid "Your Password has expired. Please choose a new password!"
-msgstr "Votre mot de passe à expiré. Choisissez un nouveau mot de passe !"
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
+msgid "Unit"
+msgstr "Unité"
 
-#: plugins/personal/password/class_password.inc:27
-msgid "Change user password"
-msgstr "Modifier votre mot de passe"
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
+msgid "House identifier"
+msgstr "Identifiant du bâtiment"
 
-#: plugins/personal/password/class_password.inc:129
-msgid "You need to specify your current password in order to proceed."
-msgstr "Vous devez spécifier votre mode de passe actuel pour continuer."
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
+msgid "Vocation"
+msgstr "Travail"
 
-#: plugins/personal/password/class_password.inc:135
-msgid "The password you've entered as 'New password' is empty."
-msgstr "Le mot de passe que vous avez entré comme 'Nouveau mot de passe' est vide."
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
+msgid "Last delivery"
+msgstr "Dernière distribution"
 
-#: plugins/personal/password/class_password.inc:144
-#, php-format
-msgid "External password changer reported a problem: %s."
-msgstr ""
-"Le programme externe pour changer votre mot de passe à renvoyé une erreur: %"
-"s."
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
+msgid "Person locality"
+msgstr "Lieu de résidence"
 
-#: plugins/personal/password/class_password.inc:158
-msgid ""
-"The password you've entered as your current password doesn't match the real "
-"one."
-msgstr ""
-"Le mot de passe entré comme mot de passe actuel ne correspond pas à votre "
-"mot de passe."
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
+msgid "Unit description"
+msgstr "Description de l'unité"
 
-#: plugins/personal/password/class_password.inc:164
-msgid "You have no permission to change your password."
-msgstr "Vous n'avez pas l'autorisation pour changer votre mot de passe."
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
+msgid "Subject area"
+msgstr "Zone de sujet"
 
-#: plugins/personal/password/class_password.inc:201
-msgid "User password"
-msgstr "Mot de passe"
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
+msgid "Functional title"
+msgstr "Fonction"
 
-#: setup/class_setupStep_Feedback.inc:92
-msgid "UNIX accounts/groups"
-msgstr "Compte / Groupes UNIX"
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
+msgstr "Rôle"
 
-#: setup/class_setupStep_Feedback.inc:94
-msgid "Samba management"
-msgstr "Gestion SAMBA"
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
+msgid "Postal code"
+msgstr "Code postal"
 
-#: setup/class_setupStep_Feedback.inc:96
-msgid "Mailsystem management"
-msgstr "Gestion de la messagerie"
+#: plugins/personal/generic/class_user.inc:1671
+msgid "Generic user settings"
+msgstr "Paramètres par défaut des utilisateurs"
 
-#: setup/class_setupStep_Feedback.inc:98
-msgid "FAX system administration"
-msgstr "Gestion des FAX"
+#: plugins/personal/generic/class_user.inc:1692
+msgid ""
+"Pattern for the generation of user DNs. Please read the FAQ for details."
+msgstr ""
+"Modèle pour la génération de DN utilisateur. S'il vous plaît lisez la FAQ "
+"pour plus de détails."
 
-#: setup/class_setupStep_Feedback.inc:100
-msgid "Asterisk administration"
-msgstr "Gestion d'asterisk"
+#: plugins/personal/generic/class_user.inc:1706
+msgid "Allow definition of custom filters"
+msgstr "Autoriser la définition de filtres personnalisés"
 
-#: setup/class_setupStep_Feedback.inc:102
-msgid "System inventory"
-msgstr "Gestion de l'inventaire"
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
+msgid "Sex"
+msgstr "Sexe"
 
-#: setup/class_setupStep_Feedback.inc:104
-msgid "System-/Configmanagement"
-msgstr "Gestion Système / Configuration"
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
+msgid "Preferred language"
+msgstr "Langue préférée"
 
-#: setup/class_setupStep_Feedback.inc:106
-msgid "Addressbook"
-msgstr "Carnet d'adresses"
+#: plugins/personal/generic/class_user.inc:1718
+msgid "Login restrictions"
+msgstr "Restrictions pour les connexions"
 
-#: setup/class_setupStep_Feedback.inc:112
-msgid "Feedback"
-msgstr "Envoyer vos réponses"
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
+msgstr "Département"
 
-#: setup/class_setupStep_Feedback.inc:113
-msgid "Get notifications or send feedback"
-msgstr "Recevoir des notifications et des retour d'information"
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
+#: plugins/admin/departments/class_domain.inc:93
+#: plugins/admin/departments/class_organizationGeneric.inc:127
+#: plugins/admin/departments/generic.tpl:51
+#: plugins/admin/departments/locality.tpl:39
+#: plugins/admin/departments/class_localityGeneric.inc:93
+#: plugins/admin/departments/class_dcObject.inc:92
+#: plugins/admin/departments/domain.tpl:39
+msgid "Manager"
+msgstr "Responsable"
 
-#: setup/class_setupStep_Feedback.inc:114
-msgid "Notification and feedback"
-msgstr "Notification et retour d'information"
+#: plugins/personal/generic/class_user.inc:1727
+msgid "Room number"
+msgstr "Numéro du bureau"
 
-#: setup/class_setupStep_Feedback.inc:131 setup/class_setup.inc:77
-msgid "Setup error"
-msgstr "Erreur d'installation"
+#: plugins/personal/generic/class_user.inc:1728
+msgid "Telephone number"
+msgstr "Numéro de téléphone"
 
-#: setup/class_setupStep_Feedback.inc:140
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Feedback error"
-msgstr "Erreur du retour d'information"
+#: plugins/personal/generic/class_user.inc:1729
+msgid "Pager number"
+msgstr "Numéro de page"
 
-#: setup/class_setupStep_Feedback.inc:140
-#, php-format
-msgid "Cannot send feedback to '%s': %s"
-msgstr "Impossible d'envoyer le retour d'information à '%s': %s"
+#: plugins/personal/generic/class_user.inc:1730
+msgid "Mobile number"
+msgstr "Numéro de GSM"
 
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Cannot send feedback: service temporarily unavailable"
-msgstr ""
-"Erreur lors de l'envoi de votre retour d'information:  service "
-"temporairement non disponible"
+#: plugins/personal/generic/class_user.inc:1731
+msgid "Fax number"
+msgstr "Numéro de fax"
 
-#: setup/class_setupStep_Feedback.inc:181
-msgid "Please specify a valid email address."
-msgstr "Veuillez indiquer une adresse de messagerie valide."
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
+#: plugins/admin/departments/class_organizationGeneric.inc:129
+#: plugins/admin/departments/generic.tpl:87
+msgid "State"
+msgstr "Département"
 
-#: setup/class_setupStep_Feedback.inc:185
-msgid "You have to select at least one of both options, subscribe or send feedback."
-msgstr ""
-"Vous devez au moins avoir activé une option, souscrire ou envoyer votre "
-"retour d'information."
+#: plugins/personal/generic/class_user.inc:1735
+#: plugins/personal/generic/generic.tpl:183
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+msgid "Postal address"
+msgstr "Adresse postale"
 
-#: setup/class_setup.inc:197
-msgid "Completed"
-msgstr "Terminé"
+#: plugins/personal/generic/class_user.inc:1740
+msgid "User password method"
+msgstr "Méthode d'encodage des mots de passe"
 
-#: setup/class_setup.inc:267 setup/setup_migrate.tpl:272
-msgid "Next"
-msgstr "Suivant"
+#: plugins/personal/generic/class_user.inc:1741
+msgid "User certificates"
+msgstr "Certificats utilisateurs"
 
-#: setup/setup_config2.tpl:2
-msgid "Samba settings"
-msgstr "Configuration Samba"
+#: plugins/personal/generic/class_user.inc:1949
+msgid "Entries differ"
+msgstr "Les entrées diffèrent"
 
-#: setup/setup_config2.tpl:6
-msgid "Samba hash generator"
-msgstr "Générateur de hash samba"
+#: plugins/personal/generic/generic.tpl:21
+msgid "Change picture"
+msgstr "Changer la photo"
 
-#: setup/setup_config2.tpl:15
-msgid "Samba SID"
-msgstr "SID Samba"
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
+msgstr "Edition multiple"
 
-#: setup/setup_config2.tpl:31
-msgid "RID base"
-msgstr "Base du RID"
+#: plugins/personal/generic/generic.tpl:83
+msgid "Template name"
+msgstr "Nom du modèle"
 
-#: setup/setup_config2.tpl:46
-msgid "Workstation container"
-msgstr "Branche contenant les stations de travail"
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
+msgid "Address"
+msgstr "Adresse"
 
-#: setup/setup_config2.tpl:61
-msgid "Samba SID mapping"
-msgstr "Correspondance des SID samba"
+#: plugins/personal/generic/generic.tpl:193
+msgid "Private phone"
+msgstr "Numéro de téléphone privé"
 
-#: setup/setup_config2.tpl:71
-msgid "Timezone"
-msgstr "Fuseau Horaire"
+#: plugins/personal/generic/generic.tpl:209
+msgid "Password storage"
+msgstr "Format de stockage des mots de passe"
 
-#: setup/setup_config2.tpl:74
-msgid "Please choose your preferred timezone here"
-msgstr "Veuillez indiquer votre fuseau horaire préféré ici"
+#: plugins/personal/generic/generic.tpl:229
+msgid "Edit certificates"
+msgstr "Editer des certificats"
 
-#: setup/setup_config2.tpl:96
-msgid "Additional GOsa settings"
-msgstr "Paramètres supplémentaire de GOsa"
+#: plugins/personal/generic/generic.tpl:241
+msgid "Restrict login to"
+msgstr "Restreindre le login à"
 
-#: setup/setup_config2.tpl:100
-msgid "Enable Copy & Paste"
-msgstr "Activer le Copier / Coller"
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
+msgid "IP or network"
+msgstr "IP ou réseau"
 
-#: setup/setup_config2.tpl:112
-msgid "Government mode"
-msgstr "Mode Gouvernemental"
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "Organizational information"
+msgstr "Informations sur l'entreprise"
 
-#: setup/setup_config2.tpl:123
-msgid "GOsa logging"
-msgstr "journaux systèmes GOsa"
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "part"
+msgstr ""
 
-#: setup/setup_config2.tpl:135
-msgid "Mail settings"
-msgstr "Paramètres de messagerie"
+#: plugins/personal/generic/generic.tpl:314
+msgid "Department No."
+msgstr "No. du département."
 
-#: setup/setup_config2.tpl:139
-msgid "Mail method"
-msgstr "Méthode de messagerie"
+#: plugins/personal/generic/generic.tpl:322
+msgid "Employee No."
+msgstr "No. de l'employé."
 
-#: setup/setup_config2.tpl:155
-msgid "Account identification attribute"
-msgstr "Attribut d'identification du compte"
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
+msgid "Room No."
+msgstr "No. de bureau."
 
-#: setup/setup_config2.tpl:169
-msgid "Vacation templates"
-msgstr "Modèles de messages d'absence "
+#: plugins/personal/generic/generic.tpl:580
+msgid "Please use the phone tab"
+msgstr "Veuillez utiliser l'onglet téléphone"
 
-#: setup/setup_config2.tpl:185
-msgid "Use Cyrus UNIX style"
-msgstr "Utiliser Cyrus en mode UNIX"
+#: plugins/addons/dyngroup/dyngroup.tpl:1
+msgid "List of dynamic rules"
+msgstr "Liste des règles dynamiques"
 
-#: setup/setup_config2.tpl:195
-msgid "Snapshots / Undo"
-msgstr "Copie instantanée / Undo"
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
+msgstr ""
 
-#: setup/setup_config2.tpl:204 setup/setup_config2.tpl:249
-msgid "Enable snapshots"
-msgstr "Activer la copie instantanée"
+#: plugins/addons/dyngroup/dyngroup.tpl:6
+msgid "Scope"
+msgstr "Portée"
 
-#: setup/setup_config2.tpl:210 setup/setup_config2.tpl:255
-msgid "Snapshot base"
-msgstr "Base pour les snapshots"
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
+msgid "Attribute"
+msgstr "Attribut"
 
-#: setup/setup_frame.tpl:12
-msgid "GOsa setup wizard"
-msgstr "Installation de GOsa"
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
+msgid "Filter"
+msgstr "Filtre"
 
-#: setup/setup_frame.tpl:19
-msgid "Installation"
-msgstr " "
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
+msgstr ""
 
-#: setup/setup_frame.tpl:19
-msgid "Setup"
-msgstr "Installation"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
+msgstr "Les crochets ouvrant et fermant sont obligatoires !"
 
-#: setup/setup_migrate.tpl:5
-msgid ""
-"During the LDAP inspection, we're going to check for several common pitfalls "
-"that may occur when migration to GOsa base LDAP administration. You may want "
-"to fix the problems below, in order to provide smooth services."
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
+#, php-format
+msgid "The given filter '%s' for entry %s seems to be invalid!"
 msgstr ""
-"Pendant l'inspection LDAP, nous allons regarder pour les problèmes "
-"classiques qui peuvent arriver lorsque l'on migre vers une administration "
-"basée sur GOsa. Vous pouvez fixer les problèmes si dessous afin de procurer "
-"une administration facilitée."
 
-#: setup/setup_migrate.tpl:33
-msgid "Check again"
-msgstr "Vérifier à nouveau"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
+msgid "Dynamic object"
+msgstr "Objet dynamique"
 
-#: setup/setup_migrate.tpl:37
-msgid "Add required object classes to the LDAP base"
-msgstr "Ajouter les Object class obligatoires a l'annuaire LDAP. "
+#: plugins/addons/propertyEditor/property-filter.xml:15
+msgid "Effective properties"
+msgstr "Propriétés effectives"
 
-#: setup/setup_migrate.tpl:39 setup/setup_migrate.tpl:244
-#: setup/setup_migrate.tpl:344 setup/setup_migrate.tpl:398
-#: setup/setup_migrate.tpl:453 setup/setup_migrate.tpl:496
-#: setup/setup_migrate.tpl:540
-msgid "Current"
-msgstr "Actuel"
+#: plugins/addons/propertyEditor/property-filter.xml:29
+msgid "Modified properties"
+msgstr "Propriétés modifiées"
 
-#: setup/setup_migrate.tpl:46 setup/setup_migrate.tpl:248
-#: setup/setup_migrate.tpl:351 setup/setup_migrate.tpl:405
-#: setup/setup_migrate.tpl:457 setup/setup_migrate.tpl:500
-#: setup/setup_migrate.tpl:544
-msgid "After migration"
-msgstr "Après migration"
+#: plugins/addons/propertyEditor/property-filter.xml:43
+msgid "All properties"
+msgstr "Toute les propriétés"
 
-#: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:664 setup/class_setupStep_Migrate.inc:806
-#: setup/class_setupStep_Migrate.inc:1035
-#: setup/class_setupStep_Migrate.inc:2133
-#: setup/class_setupStep_Migrate.inc:2576
-#: setup/class_setupStep_Migrate.inc:2730
-#: setup/class_setupStep_Migrate.inc:3060
-msgid "Migrate"
-msgstr "Migrer"
+#: plugins/addons/propertyEditor/property-filter.xml:57
+msgid "LDAP properties"
+msgstr "Propriétés LDAP"
 
-#: setup/setup_migrate.tpl:60 setup/setup_migrate.tpl:107
-msgid "Close"
-msgstr "Fermer"
+#: plugins/addons/propertyEditor/property-filter.xml:71
+msgid "Search for property groups"
+msgstr "Rechercher des groupes de propriétés"
 
-#: setup/setup_migrate.tpl:65
-msgid "Move windows workstations into a valid windows workstation department"
-msgstr ""
-"Bouger les stations windows dans un département valide pour les stations "
-"windows."
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
+msgstr "Assistant de migration des propriétés"
 
-#: setup/setup_migrate.tpl:67
-msgid ""
-"This dialog allows you to move the displayed windows workstations into a "
-"valid department"
-msgstr ""
-"Ce dialogue vous permet de bouger les stations windows affichées dans un "
-"département valide"
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Migration steps left"
+msgstr "Étapes de migration restantes"
 
-#: setup/setup_migrate.tpl:69
-msgid ""
-"Be careful with this tool, there may be references pointing to this "
-"workstations that can't be migrated."
-msgstr ""
-"Soyez prudent avec cet outil, il peut y avoir des références pointant vers "
-"ces machines qui ne seront pas migrées."
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
+#, php-format
+msgid "Migration of property '%s'"
+msgstr "Migration de la propriété '%s'"
 
-#: setup/setup_migrate.tpl:95
-msgid "Move selected windows workstations into the following GOsa department"
-msgstr "Bouger les machines windows dans le département GOsa suivant"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
+#, php-format
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
+msgstr ""
+"GOsa a détecté des objets en dehors du lieu de stockage configuré (%s)."
 
-#: setup/setup_migrate.tpl:100
-msgid "Move selected workstations"
-msgstr "Bouger les stations de travail sélectionnées"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
+msgid "Objects that will be added"
+msgstr "Objets qui seront ajoutés"
 
-#: setup/setup_migrate.tpl:101
-msgid "What will be done here"
-msgstr "Que ce qui sera exécuté ici"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+msgid "Objects that will be moved"
+msgstr "Objets qui seront bougés"
 
-#: setup/setup_migrate.tpl:113
-msgid "Move groups into configured group tree"
-msgstr "Bouger les groupes dans le groupe configuré"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
+#, php-format
+msgid "Moving object '%s' to '%s'"
+msgstr "Bouger '%s' vers '%s'"
 
-#: setup/setup_migrate.tpl:116
-msgid ""
-"This dialog allows moving a couple of groups to the configured group tree. "
-"Doing this may straighten your LDAP service."
-msgstr ""
-"Ce dialogue permet de bouger un couple de groupes dans le groupe configuré. "
-"Exécuter cela peut améliorer votre service LDAP."
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
+#, php-format
+msgid "Migration failed for object %s: DN already exists!"
+msgstr "Migration a échoué pour l'objet %s: DN existe déjà !"
 
-#: setup/setup_migrate.tpl:119
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"groups. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
+#, php-format
+msgid "Migration failed for object %s: please check if it already exists!"
 msgstr ""
-"Soyez prudent avec cette opération ! Il peut exister des références qui "
-"pointent vers ces groupes. Le programme d'installation de GOsa ne peut pas "
-"migrer ces références, vous préférerez peut être annuler la migration dans "
-"ce cas."
-
-#: setup/setup_migrate.tpl:122
-msgid "Move selected groups into this group tree"
-msgstr "Bouger les groupes sélectionnés dans le groupe de base cet annuaire"
+"Migration a échoué pour l''objet %s: s'il vous plaît vérifiez si il existe "
+"déjà !"
 
-#: setup/setup_migrate.tpl:153 setup/setup_migrate.tpl:205
-#: setup/setup_migrate.tpl:254 setup/setup_migrate.tpl:372
-#: setup/setup_migrate.tpl:425 setup/setup_migrate.tpl:469
-#: setup/setup_migrate.tpl:512 setup/setup_migrate.tpl:556
-msgid "Hide changes"
-msgstr "Camoufler les changements"
+#: plugins/addons/propertyEditor/property-list.tpl:3
+msgid "Warning message"
+msgstr "Message d'erreur"
 
-#: setup/setup_migrate.tpl:155 setup/setup_migrate.tpl:207
-#: setup/setup_migrate.tpl:237 setup/setup_migrate.tpl:374
-#: setup/setup_migrate.tpl:427 setup/setup_migrate.tpl:472
-#: setup/setup_migrate.tpl:515 setup/setup_migrate.tpl:559
-msgid "Show changes"
-msgstr "Montrer les changements"
-
-#: setup/setup_migrate.tpl:168
-msgid "Move users into configured user tree"
-msgstr "Bouger les utilisateurs dans la branche utilisateur configurée"
-
-#: setup/setup_migrate.tpl:170
+#: plugins/addons/propertyEditor/property-list.tpl:9
 msgid ""
-"This dialog allows moving a couple of users to the configured user tree. "
-"Doing this may straighten your LDAP service."
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
 msgstr ""
-"Ce dialogue permet de bouger un ensemble d'utilisateurs dans la branche "
-"utilisateur configurée. Exécuter cette opération peut améliorer votre "
-"service LDAP."
+"La modification de propriétés peut casser votre configuration, détruire ou "
+"endommager votre annuaire LDAP, conduire à des trous de sécurité ou rendre "
+"les connexion impossible !"
 
-#: setup/setup_migrate.tpl:173
+#: plugins/addons/propertyEditor/property-list.tpl:10
 msgid ""
-"Be careful with this option! There may be references pointing to these "
-"users. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
 msgstr ""
-"Soyez prudent avec cette opération ! Il peut exister des références qui "
-"pointent vers ces utilisateurs. Le programme d'installation de GOsa ne peut "
-"pas migrer ces références, vous préférerez peut être annuler la migration "
-"dans ce cas."
-
-#: setup/setup_migrate.tpl:176
-msgid "Move selected users into this people tree"
-msgstr "Bouger les utilisateurs sélectionnés dans la branche utilisateurs."
-
-#: setup/setup_migrate.tpl:219
-msgid "Migrate GOsa 2.5 administrative accounts"
-msgstr "Migrer les compte administrateur de GOsa 2.5"
+"Etant donné que les propriétés de configuration sont stockés dans la base de "
+"données LDAP une copie / sauvegardepeut être utile."
 
-#: setup/setup_migrate.tpl:221
+#: plugins/addons/propertyEditor/property-list.tpl:14
 msgid ""
-"This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
-"useable accounts."
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
 msgstr ""
-"Cette boite de dialogue permet la migration des comptes administrateurs de "
-"GOSa 2.5 vers GOsa 2.6."
-
-#: setup/setup_migrate.tpl:257 setup/setup_ldap.tpl:65
-msgid "Reload"
-msgstr "Recharger"
-
-#: setup/setup_migrate.tpl:273
-msgid "Abort"
-msgstr "Annuler"
-
-#: setup/setup_migrate.tpl:275
-msgid "Create a new GOsa administrator account"
-msgstr "Créer un nouveau compte administrateur pour GOsa"
 
-#: setup/setup_migrate.tpl:278
+#: plugins/addons/propertyEditor/property-list.tpl:22
 msgid ""
-"This dialog will automatically add a new super administrator to your LDAP "
-"tree."
+"I understand that there are certain risks, but I want to modify properties!"
 msgstr ""
-"Ce dialogue vas automatiquement créer un nouveau super utilisateur dans "
-"votre arbre LDAP."
+"Je comprends qu'il ya des risques, mais je veux modifier les propriétés !"
 
-#: setup/setup_migrate.tpl:307
-msgid "Password (again)"
-msgstr "Mot de passe (de nouveau)"
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
+msgstr "ignorer les propriétés définies dans l'annuaire LDAP !"
 
-#: setup/setup_migrate.tpl:333
-msgid ""
-"The listed departments are currently invisible in the GOsa user interface. "
-"If you want to change this for a couple of entries, select them and use the "
-"migrate button below."
-msgstr ""
-"Les département listés sont actuellement invisibles dans l'interface "
-"utilisateur de GOsa. Si vous voulez changer cela pour un certain nombre "
-"d'entrée, sélectionnez les et utilisez le bouton migration ci dessous."
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
+msgstr "Défaire"
 
-#: setup/setup_migrate.tpl:334 setup/setup_migrate.tpl:389
-#: setup/setup_migrate.tpl:445 setup/setup_migrate.tpl:489
-#: setup/setup_migrate.tpl:533
-msgid ""
-"If you want to know what will be done when migrating the selected entries, "
-"use the 'Show changes' button to see the LDIF."
-msgstr ""
-"Si vous voulez savoir ce qui sera effectué lorsque vous migrerez les entrées "
-"sélectionnées, utilisez le bouton 'Montrer les changements' pour voir le "
-"fichier LDIF."
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
+msgid "Command verifier"
+msgstr "Vérificateur de commande"
 
-#: setup/setup_migrate.tpl:388
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
 msgid ""
-"The listed users are currently invisible in the GOsa user interface. If you "
-"want to change this for a couple of users, just select them and use the "
-"'Migrate' button below."
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
 msgstr ""
-"Les utilisateurs listés sont actuellement invisibles dans l'interface "
-"utilisateur de GOsa. Si vous voulez changer ceci pour certains "
-"d'utilisateurs, veuillez les sélectionner et utiliser le bouton 'migration' "
-"ci dessous."
+"Ici, vous pouvez exécuter des commandes de la même façon que GOsa et "
+"vérifier les résultats ou des erreurs. Cela peut être très utile notamment "
+"pour les événements post(postcreate, postmodify et postremove) dû au fait "
+"que ces hooks sontexécutée en mode silencieux."
 
-#: setup/setup_migrate.tpl:444
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
 msgid ""
-"The listed devices are currently invisible in the GOsa interface. If you "
-"want to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
 msgstr ""
-"Les périphériques listés sont actuellement invisibles dans l'interface de "
-"GOsa. Si vous voulez changer ceci pour certains périphériques, veuillez les "
-"sélectionner et utiliser le bouton 'migration' ci dessous."
+"S'il vous plaît soyez prudent ici, toutes les commandes seront réellement "
+"exécutés sur votre machine et peuvent casser des choses !"
 
-#: setup/setup_migrate.tpl:488
-msgid ""
-"The listed services are currently invalid for the GOsa version you are going "
-"to install. If you want to update a couple of service, just select them and "
-"use the 'Migrate' button below."
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
 msgstr ""
-"Les services listés sont actuellement invisibles dans l'interface de GOsa. "
-"Si vous voulez changer ceci certains services, veuillez les sélectionner et "
-"utiliser le bouton 'migration' ci dessous."
 
-#: setup/setup_migrate.tpl:532
-msgid ""
-"The listed menus are currently invisible in the GOsa interface. If you want "
-"to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
+msgid "Test"
 msgstr ""
-"Les menus listés sont actuellement invisibles dans l'interface de GOsa. Si "
-"vous voulez changer ceci pour certains menus, veuillez les sélectionner et "
-"utiliser le bouton 'migration' ci dessous."
 
-#: setup/class_setupStep_Finish.inc:38
-msgid "Write configuration file"
-msgstr "Ecrire le fichier de configuration"
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
+msgstr "Résultats"
 
-#: setup/class_setupStep_Finish.inc:39
-msgid "Finish - write the configuration file"
-msgstr "Fini - écrire le fichier de configuration"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
+msgid "Preferences"
+msgstr "Préférences"
 
-#: setup/class_setupStep_Finish.inc:104
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
 msgid ""
-"Your configuration file is currently world readable. Please update the file "
-"permissions!"
+"Configure global and special GOsa settings like hooks and plug-in parameters"
 msgstr ""
-"Votre fichier de configuration est lisible par tout le monde. Veuillez "
-"modifier les permissions !"
+"Configurer les paramètres globaux et spécifiques de GOsa comme les hooks et "
+"des paramètres des extensions"
 
-#: setup/class_setupStep_Finish.inc:106
-msgid "The configuration is currently not readable or it does not exists."
-msgstr "Le fichier de configuration ne peut être lu ou n'existe pas."
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
+msgid "No description"
+msgstr "Pas de description"
 
-#: setup/class_setupStep_Finish.inc:115
-#, php-format
-msgid ""
-"After downloading and placing the file under %s, please make sure that the "
-"user the webserver is running with is able to read %s, while other users "
-"shouldn't. You may want to execute these commands to achieve this "
-"requirement:"
-msgstr ""
-"Après avoir placé le fichier dans le répertoire %s, assurez vous que seul le "
-"serveur web puisse lire %s. Vous pouvez exécuter les commandes suivantes "
-"pour réaliser cette opération:"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
+msgstr "Tester la commande"
 
-#: setup/class_setupStep_Checks.inc:38 setup/class_setupStep_Checks.inc:39
-msgid "Installation check"
-msgstr "Vérification de l'installation"
+#: plugins/addons/propertyEditor/property-list.xml:11
+msgid "List of configuration settings"
+msgstr "Liste des paramètres de configuration"
 
-#: setup/class_setupStep_Checks.inc:40
-msgid "Basic checks for PHP compatibility and extensions"
-msgstr "Vérification de base de la version de PHP et des extensions nécéssaires."
+#: plugins/addons/propertyEditor/property-list.xml:15
+msgid "Property not used"
+msgstr "Propriété non utilisée"
 
-#: setup/class_setupStep_Checks.inc:64
-msgid "Checking PHP version"
-msgstr "Vérification de la version de PHP"
+#: plugins/addons/propertyEditor/property-list.xml:23
+msgid "Property will be restored"
+msgstr "La propriété sera restaurée"
 
-#: setup/class_setupStep_Checks.inc:65
-#, php-format
-msgid "PHP must be of version %s or above."
-msgstr "PHP doit être à la version %s ou supérieure."
+#: plugins/addons/propertyEditor/property-list.xml:31
+msgid "Modified property"
+msgstr "Propriété modifiée"
 
-#: setup/class_setupStep_Checks.inc:66
-msgid "Please upgrade to a supported version."
-msgstr "Veuillez faire la mise à jour vers une version supportée."
+#: plugins/addons/propertyEditor/property-list.xml:39
+msgid "Property configured in LDAP"
+msgstr "Propriété configurée dans l'annuaire"
 
-#: setup/class_setupStep_Checks.inc:73
-msgid "GOsa requires this module to talk with your LDAP server."
-msgstr "GOsa à besoin de ce module pour dialoger avec votre annuaire ldap."
+#: plugins/addons/propertyEditor/property-list.xml:47
+msgid "Property configured in config file"
+msgstr "Propriété configurée dans le fichier de configuration"
 
-#: setup/class_setupStep_Checks.inc:81
-msgid "GOsa requires this module for an internationalized interface."
-msgstr "GOsa à besoin de ce module pour afficher l'interface multilingue."
+#: plugins/addons/propertyEditor/property-list.xml:80
+msgid "Class"
+msgstr "Classe"
 
-#: setup/class_setupStep_Checks.inc:89
-msgid "GOsa requires this module for the samba integration."
-msgstr "GOsa à besoin de ce module pour dialoger avec Samba."
+#: plugins/addons/propertyEditor/property-list.xml:88
+msgid "Value"
+msgstr "Valeur"
 
-#: setup/class_setupStep_Checks.inc:97
-msgid ""
-"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
-"encryption."
-msgstr "GOsa à besoin du module 'mash' ou 'sha1' pour l'utilisation du cryptage SSHA."
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
+msgstr "Restaurer à la valeur par défaut"
 
-#: setup/class_setupStep_Checks.inc:105
-msgid "GOsa requires this module to talk to an IMAP server."
-msgstr "GOsa à besoin de ce module pour dialoguer avec un serveur imap."
+#: plugins/admin/groups/paste_generic.tpl:1
+msgid "Group settings"
+msgstr "Préférences des groupes"
 
-#: setup/class_setupStep_Checks.inc:112
-msgid "mbstring"
-msgstr "mbstring"
+#: plugins/admin/groups/paste_generic.tpl:2
+msgid "Paste group settings"
+msgstr ""
 
-#: setup/class_setupStep_Checks.inc:113
-msgid "GOsa requires this module to handle unicode strings."
-msgstr "GOsa a besoin  de ce module pour gèrer les chaînes de caractère unicode."
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
+msgstr "Nom du groupe"
 
-#: setup/class_setupStep_Checks.inc:120
-msgid "MySQL"
-msgstr "MySQL"
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
+msgid "POSIX name of the group"
+msgstr "Nom posix du groupe"
 
-#: setup/class_setupStep_Checks.inc:121
-msgid "GOsa requires this module to communicate with several supported databases."
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
+msgid "Normally IDs are auto-generated, select to specify manually"
 msgstr ""
-"GOsa à besion de ce module pour dialoguer avec les bases de données "
-"supportées."
+"Normalement les IDs sont générés automatiquement, vous pouvez en spécifier "
+"un manuellement"
 
-#: setup/class_setupStep_Checks.inc:138
-msgid "samba hash generator"
-msgstr "générateur de hash samba"
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
+msgstr "Forcer le GID"
 
-#: setup/class_setupStep_Checks.inc:139
-msgid "GOsa requires this command to synchronize POSIX and samba passwords."
-msgstr ""
-"GOsa à besoin de cette commande pour synchroniser les comptes POSIX et les "
-"mots de passe Samba."
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr "Forcer le numéro d'ID"
 
-#: setup/class_setupStep_Checks.inc:140
-msgid "Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
-msgstr ""
-"Déployez une installation gosa-si ou installer les modules perl Crypt::"
-"Smbash."
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
+msgstr "Utilisateur"
 
-#: setup/class_setupStep_Checks.inc:153
-msgid "imagick"
-msgstr ""
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
+msgid "User selection"
+msgstr "Sélection de l'utilisateur"
 
-#: setup/class_setupStep_Checks.inc:154
-msgid "GOsa requires this extension to handle images."
-msgstr "GOsa a besoin  de ce module pour gérer les images."
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Cannot find group SID in your configuration!"
+msgstr "Impossible de trouver le SID de ce groupe dans votre configuration !"
 
-#: setup/class_setupStep_Checks.inc:169
-msgid "compression module"
-msgstr "Module de compression"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
+msgstr "Groupe Samba"
 
-#: setup/class_setupStep_Checks.inc:170
-msgid "GOsa requires this extension to handle snapshots."
-msgstr "GOsa a besoin de ce module pour gérer les copie instantanées."
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain administrators"
+msgstr "Administrateurs du domaine"
 
-#: setup/class_setupStep_Checks.inc:181
-msgid ""
-"register_globals is a PHP mechanism to register all global variables to be "
-"accessible from scripts without changing the scope. This may be a security "
-"risk."
-msgstr ""
-"register_globals est un mécanisme PHP pour enregistrer toutes les variables "
-"globales afin que les scripts puissent y accéder sans changer la porté des "
-"variables. Cela peut constituer un risque de sécurité."
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
+msgstr "Utilisateurs du domaine"
 
-#: setup/class_setupStep_Checks.inc:182
-msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
-msgstr ""
-"Recherchez l'option 'register_globals' dans votre php.ini et mettez la à "
-"'Off'."
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
+msgstr "Invités du domaine"
 
-#: setup/class_setupStep_Checks.inc:190
-msgid "PHP uses this value for the garbage collector to delete old sessions."
-msgstr "PHP utilise cette variable pour effacer des anciennes sessions."
+#: plugins/admin/groups/class_group.inc:316
+#, php-format
+msgid "Special group (%d)"
+msgstr "Groupe spécial (%d)"
 
-#: setup/class_setupStep_Checks.inc:191
-msgid ""
-"Setting this value to one day will prevent loosing session and cookies "
-"before they really timeout."
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
 msgstr ""
-"Mettre cette valeur à 1 jour permet d'éviter de perde les cookies et les "
-"sessions avant qu'elles soient réellement expirées."
+"L'ajout de l'UID '%s' au groupe '%s' à échoué : Impossible de trouver "
+"l'utilisateur !"
 
-#: setup/class_setupStep_Checks.inc:192
-msgid ""
-"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
-"higher."
+#: plugins/admin/groups/class_group.inc:470
+#, php-format
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
 msgstr ""
-"Cherchez pour 'session.gc_maxlifetime' dans votre php.ini et mettez le à "
-"86400 ou plus haut."
+"L'ajout de l'UID '%s' au groupe '%s' à échoué : l'UID est utilisé plus d'un "
+"fois !"
 
-#: setup/class_setupStep_Checks.inc:199 setup/class_setupStep_Checks.inc:215
-#: setup/class_setupStep_Checks.inc:231 setup/class_setupStep_Checks.inc:247
-msgid "Off"
-msgstr "Eteint"
+#: plugins/admin/groups/class_group.inc:753
+#, php-format
+msgid "Cannot find any SID for '%s'!"
+msgstr "Impossible de trouver le SID pour '%s' !"
 
-#: setup/class_setupStep_Checks.inc:200
-msgid ""
-"In Order to use GOsa without any trouble, the session.auto_register option "
-"in your php.ini should be set to 'Off'."
-msgstr ""
-"Pour pouvoir utiliser GOSa sans problèmes, la variable session.auto_register "
-"doit être a 'Off' dans votre php.ini."
+#: plugins/admin/groups/class_group.inc:758
+#, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
+msgstr "Impossible de trouver le RIDBASe pour '%s' !"
 
-#: setup/class_setupStep_Checks.inc:201
-msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
-msgstr ""
-"Recherchez la variable session.auto_register  et mettez la à 'Off' dans "
-"votre php.ini."
+#: plugins/admin/groups/class_group.inc:852
+#, php-format
+msgid "The gidNumber '%s' is already in use by %s!"
+msgstr "L'identifiant de groupe '%s' est déjà utilisé par '%s' !"
 
-#: setup/class_setupStep_Checks.inc:208
-msgid ""
-"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
-"errors that are not reproducable! Increase it for larger setups."
-msgstr ""
-"GOsa a besoin au minimum de 32MB de mémoire. Moins que 32MB causera des "
-"erreurs imprévisibles, qui ne seront pas reproductibles ! Augmentez la "
-"mémoire pour les installations plus complexes."
+#: plugins/admin/groups/class_group.inc:1036
+msgid "Generic group settings"
+msgstr "Préférences des groupes génériques"
 
-#: setup/class_setupStep_Checks.inc:209
-msgid "Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
-msgstr ""
-"Recherchez pour 'memory_limit' dans votre php.ini et mettez le à '32M' or "
-"plus haut."
+#: plugins/admin/groups/class_group.inc:1049
+msgid "RDN for object group storage."
+msgstr "RDN pour le stockage des groupes."
+
+#: plugins/admin/groups/class_group.inc:1063
+msgid "Samba group type"
+msgstr "Groupe Samba"
 
-#: setup/class_setupStep_Checks.inc:216
-msgid ""
-"This option influences the PHP output handling. Turn this Option off, to "
-"increase performance."
-msgstr ""
-"Cette option défini la gestion des sorties, mettez cette option à 'Off', "
-"pour améliorer la performance."
+#: plugins/admin/groups/class_group.inc:1064
+msgid "Samba domain name"
+msgstr "Domaine Samba"
 
-#: setup/class_setupStep_Checks.inc:217
-msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
-msgstr "Recherchez 'implicit_flush' dans votre php.ini et mettez le à 'Off'."
+#: plugins/admin/groups/class_group.inc:1066
+msgid "Phone pickup group"
+msgstr "Groupe téléphonique"
 
-#: setup/class_setupStep_Checks.inc:224
-msgid "The Execution time should be at least 30 seconds."
-msgstr "Le temps d'exécution doit être au moins de 30 secondes."
+#: plugins/admin/groups/class_group.inc:1067
+msgid "Nagios group"
+msgstr "Groupe Nagios"
 
-#: setup/class_setupStep_Checks.inc:225
-msgid "Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
-msgstr ""
-"Rechercher l'option 'max_execution_time' dans votre php.ini et mettez le à "
-"'30' ou plus."
+#: plugins/admin/groups/class_group.inc:1069
+msgid "Group member"
+msgstr "Membre du groupe"
 
-#: setup/class_setupStep_Checks.inc:232
+#: plugins/admin/groups/class_groupManagement.inc:26
 msgid ""
-"Increase the server security by setting expose_php to 'off'. PHP won't send "
-"any information about the server you are running in this case."
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
 msgstr ""
-"Augmentez la sécurité de votre serveur en mettant l'option expose_php à "
-"'Off'. PHP n'enverra pas d'information a propos du serveur."
+"Gérer les paramètres de groupes comme les membres, POSIX, bureau, la samba "
+"et courrier"
 
-#: setup/class_setupStep_Checks.inc:233
-msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
-msgstr "Recherchez 'expose_php' dans votre php.ini et mettez le à 'Off'."
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
+msgid "Infrastructure error"
+msgstr "Erreur d'infrastructure"
 
-#: setup/class_setupStep_Checks.inc:239
-msgid "On"
-msgstr "Ouvert"
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
+msgid "Edit POSIX properties"
+msgstr "Modifier les propriétés UNIX"
 
-#: setup/class_setupStep_Checks.inc:240
-msgid ""
-"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
-"escape all quotes in strings in this case."
-msgstr ""
-"Améliorez la sécurité de votre serveur en mettant magic_quotes_gpc à 'on'. "
-"PHP préfixera tout les guillemets dans les chaînes avec la séquence escape."
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
+msgid "Edit mail properties"
+msgstr "Modifier les propriétés de messagerie"
 
-#: setup/class_setupStep_Checks.inc:241
-msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
-msgstr ""
-"Recherchez l'option 'magic_quotes_gpc' dans votre php.ini et mettez le à "
-"'On'."
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
+msgid "Edit samba properties"
+msgstr "Modifier les propriétés samba"
 
-#: setup/class_setupStep_Checks.inc:248
-msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
-msgstr ""
-"Améliorez la performance de votre serveur en mettant magic_quotes_gpc à "
-"'off'."
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
+msgid "Edit phone properties"
+msgstr "Modifier les propriétés téléphoniques"
 
-#: setup/class_setupStep_Checks.inc:249
-msgid "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+#: plugins/admin/groups/class_groupManagement.inc:189
+msgid "Menu"
 msgstr ""
-"Recherchez l'option 'zend.ze1_compatibility_mode' dans votre hp.ini et "
-"mettez la à 'Off'."
 
-#: setup/class_setupStep_Checks.inc:259
-msgid "Configuration writeable"
-msgstr "Le fichier de configuration peut être écrit"
+#: plugins/admin/groups/class_groupManagement.inc:190
+msgid "Edit start menu properties"
+msgstr "Modifier les propriétes du menu de démarrage"
 
-#: setup/class_setupStep_Checks.inc:260
-msgid "The configuration file can't be written"
-msgstr "Le fichier de configuration ne peut pas être écrit"
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
+msgid "Edit environment properties"
+msgstr "Modifier les propriétés d'environnement"
 
-#: setup/class_setupStep_Checks.inc:261
-#, php-format
-msgid ""
-"GOsa reads its configuration from a file located in (%s/%s). The setup can "
-"write the configuration directly if it is writeable."
+#: plugins/admin/groups/group-filter.xml:31
+msgid "Default filter2"
 msgstr ""
-"GOsa lit sa configuration d'un fichier situé dans (%s/%s). Le programme "
-"d'installation peut écrire la configuration directement si le fichier est "
-"permet l'écriture."
 
-#: setup/setup_config3.tpl:2
-msgid "GOsa core settings"
-msgstr "Paramètres essentiels de GOsa"
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
+msgstr "Description du groupe"
+
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+msgid "Select to create a samba conform group"
+msgstr "Sélectionnez afin de créer un groupe samba"
 
-#: setup/setup_config3.tpl:6
-msgid "Enable primary group filter"
-msgstr "Activer le filtre sur les groupes primaires"
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
+msgstr "dans le domaine"
 
-#: setup/setup_config3.tpl:18
-msgid "Display summary in listings"
-msgstr "Afficher les sommaires dans les listes"
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
+msgstr "Les membres sont dans un groupe téléphonique"
 
-#: setup/setup_config3.tpl:30
-msgid "Honour administrative units"
-msgstr "Honorer les entités administratives"
+#: plugins/admin/groups/generic.tpl:146
+msgid "Members are in a Nagios group"
+msgstr "Les membres sont dans un groupe nagios"
 
-#: setup/setup_config3.tpl:42
-msgid "Smarty compile directory"
-msgstr "Répertoire de compilation de smarty"
+#: plugins/admin/groups/generic.tpl:174
+msgid "Common group members"
+msgstr "groupe commun"
 
-#: setup/setup_config3.tpl:51
-msgid "SNMP community"
-msgstr "communauté SNMP"
+#: plugins/admin/groups/generic.tpl:183
+msgid "Partial group members"
+msgstr ""
 
-#: setup/setup_config3.tpl:60
-msgid "Path for PPD storage"
-msgstr "Répertoire pour le stockage des PPD"
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
+msgstr "Membre du groupe"
 
-#: setup/setup_config3.tpl:77
-msgid "Path for kiosk profile storage"
-msgstr "Répertoire pour le stockage des profiles kiosk"
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
+msgstr "Liste des groupes"
 
-#: setup/setup_config3.tpl:96
-msgid "SUDO role base"
-msgstr "Base pour SUDO"
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
+msgstr "Propriétés"
 
-#: setup/setup_config3.tpl:115
-msgid "Mail queue script"
-msgstr "Script pour la gestion de la queue du serveur de messagerie"
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
+msgstr "Editer"
 
-#: setup/setup_config3.tpl:134
-msgid "Notification script"
-msgstr "Script de notification"
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
+msgid "Send message"
+msgstr "Envoyer un message"
 
-#: setup/setup_config3.tpl:153
-msgid "Enable edit locking"
-msgstr "Activer le vérrouillage lors de l'édition"
+#: plugins/admin/groups/group-list.xml:138
+msgid "Edit group"
+msgstr "Editer le groupe"
 
-#: setup/setup_config3.tpl:174
-msgid "Gosa support daemon"
-msgstr "Service GOsa"
+#: plugins/admin/groups/group-list.xml:151
+msgid "Remove group"
+msgstr "Enlever le groupe"
 
-#: setup/setup_config3.tpl:193
-msgid "Daemon timeout"
-msgstr "Délai d'attente pour le service GOsa"
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
+msgid "User and group selection"
+msgstr "Sélection des utilisateurs et des groupes"
 
-#: setup/setup_config3.tpl:207
-msgid "Login and session"
-msgstr "connexion et session"
+#: plugins/admin/ogroups/ogroup-list.xml:11
+msgid "List of object groups"
+msgstr "Liste des groupes d'objets"
 
-#: setup/setup_config3.tpl:210
-msgid "Login attribute"
-msgstr "Attribut de connexion"
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
+msgstr "Groupes d'objets"
 
-#: setup/setup_config3.tpl:221
-msgid "Enforce register_globals to be deactivated"
-msgstr "Force register_globals à être désactivé"
+#: plugins/admin/ogroups/ogroup-list.xml:142
+msgid "Edit object group"
+msgstr "Editer les groupes d'objets"
 
-#: setup/setup_config3.tpl:233
-msgid "Enforce encrypted connections"
-msgstr "Force les connexions cryptées"
+#: plugins/admin/ogroups/ogroup-list.xml:155
+msgid "Remove object group"
+msgstr "Enlever le groupe d'objet"
 
-#: setup/setup_config3.tpl:245
-msgid "Warn if session is not encrypted"
-msgstr "Avertir si la session ne sera pas cryptée"
+#: plugins/admin/ogroups/paste_generic.tpl:1
+msgid "Paste object group"
+msgstr "Coller le groupe d'objets"
 
-#: setup/setup_config3.tpl:257
-msgid "Remember dialog filter settings"
-msgstr "Se souvenir des paramètres des filtres"
+#: plugins/admin/ogroups/paste_generic.tpl:7
+msgid "Please enter the new object group name"
+msgstr "Veuillez entrer un nouveau nom pour le groupe d'objet"
 
-#: setup/setup_config3.tpl:269
-msgid "Session lifetime"
-msgstr "Durée de vie de la session"
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
+msgstr ""
 
-#: setup/setup_config3.tpl:278
-msgid "Debugging"
-msgstr "Deboguage"
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
+msgstr "Imprimante"
 
-#: setup/setup_config3.tpl:282
-msgid "Show PHP errors"
-msgstr "Afficher les erreur PHP"
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
+msgid "Object selection"
+msgstr "Sélection de l'objet"
 
-#: setup/setup_config3.tpl:294
-msgid "Maximum LDAP query time"
-msgstr "Durée maximale d'une requête LDAP"
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
+msgid "Phone queue"
+msgstr "Queue téléphonique"
 
-#: setup/setup_config3.tpl:312
-msgid "Log LDAP statistics"
-msgstr "Inscrit les statistique de l'annuaire LDAP dans les journaux systèmes"
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
+msgid "Groupware"
+msgstr ""
 
-#: setup/setup_config3.tpl:324
-msgid "Debug level"
-msgstr "Niveau de débogage"
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
+msgid "System settings"
+msgstr "Préférences systèmes"
 
-#: setup/setup_config3.tpl:329 setup/setup_config3.tpl:332
-msgid "Disabled"
-msgstr "Désactivé"
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
+msgid "Recipe"
+msgstr ""
 
-#: setup/setup_config3.tpl:330 setup/setup_config3.tpl:333
-msgid "Enabled"
-msgstr "Activé"
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
+msgstr "Périphériques"
 
-#: setup/setup_feedback.tpl:5
-msgid "Feedback sucessfully send"
-msgstr "L'envoi du retour d'information à réussi"
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
+msgid "Deployment summary"
+msgstr "Etat du déploiement"
 
-#: setup/setup_feedback.tpl:15
-msgid "Subscribe to the gosa-announce mailinglist"
-msgstr "Souscrire à la liste de discutions gosa-announce"
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
+msgstr "Bureau"
 
-#: setup/setup_feedback.tpl:18
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to subscribe you to the gosa-announce mailing list. You've to confirm "
-"this by mail."
-msgstr ""
-"Quand vous cochez cette option, GOsa essayera de se connecter a http://oss."
-"gonicus.de afin de vous inscrire à la liste de discutions gosa-announce. "
-"Vous devrez confirmer cette inscription par email."
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
+msgstr "Applications"
 
-#: setup/setup_feedback.tpl:39
-msgid "Mail address"
-msgstr "Adresse de messagerie"
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
+msgstr "Nom du groupe"
 
-#: setup/setup_feedback.tpl:50
-msgid "Send feedback to the GOsa project team"
-msgstr "Envoyer vos commentaire au membres du projet Gosa"
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
+msgstr "Objets membres"
 
-#: setup/setup_feedback.tpl:53
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to submit your form anonymously."
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
-"Quand vous cocher cette option, GOsa essayera de se connecter à http://oss."
-"gonicus.de pour pouvoir transmettre votre réponse de manière anonyme."
+"Vous ne pouvez pas combiner des terminaux et des stations de travail dans un "
+"groupe d'objet !"
 
-#: setup/setup_feedback.tpl:59
-msgid "Did the setup procedure help you to get started?"
-msgstr "Est ce que la procédure d'installation vous à aidé ?"
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
+msgstr "aucun"
 
-#: setup/setup_feedback.tpl:62 setup/setup_feedback.tpl:80
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "Yes"
-msgstr "Oui"
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
+msgstr "nombre d'objets différents trop important !"
 
-#: setup/setup_feedback.tpl:64 setup/setup_feedback.tpl:82
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "No"
-msgstr "Non"
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
+msgstr "utilisateurs"
 
-#: setup/setup_feedback.tpl:69
-msgid "If not, what problems did you encounter"
-msgstr "Si non, quels sont les problèmes que vous avez rencontrés"
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
+msgstr "groupes"
 
-#: setup/setup_feedback.tpl:77
-msgid "Is this the first time you use GOsa?"
-msgstr "Est ce la première fois que vous utilisez GOsa ?"
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
+msgstr ""
 
-#: setup/setup_feedback.tpl:83
-msgid "I use it since"
-msgstr "Je l'utilise depuis "
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
+msgstr "départements"
 
-#: setup/setup_feedback.tpl:84
-msgid "Select the year since when you are using GOsa"
-msgstr "Veuillez sélectionner l'année depuis laquelle vous utilisez GOsa"
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
+msgstr "serveurs"
 
-#: setup/setup_feedback.tpl:91
-msgid "What operating system / distribution do you use?"
-msgstr "Quel système d'exploitation / distribution utilisez vous ?"
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
+msgstr "stations de travail"
 
-#: setup/setup_feedback.tpl:99
-msgid "What web server do you use?"
-msgstr "Quel serveur web utilisez vous ?"
+#: plugins/admin/ogroups/class_ogroup.inc:328
+msgid "Windows workstations"
+msgstr "Stations windows"
 
-#: setup/setup_feedback.tpl:107
-msgid "What PHP version do you use?"
-msgstr "Quelle version de php utilisez vous ?"
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
+msgstr "terminaux"
 
-#: setup/setup_feedback.tpl:115
-msgid "GOsa version"
-msgstr "Version de GOsa"
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
+msgstr "téléphones"
 
-#: setup/setup_feedback.tpl:123
-msgid "LDAP"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
+msgstr "imprimantes"
 
-#: setup/setup_feedback.tpl:127
-msgid "What kind of LDAP server(s) do you use?"
-msgstr "Quel type de serveur(s) ldap utilisez vous ?"
+#: plugins/admin/ogroups/class_ogroup.inc:533
+msgid "Non existing DN:"
+msgstr "Le DN n'existe pas :"
 
-#: setup/setup_feedback.tpl:133
-msgid "How many objects are in your LDAP?"
-msgstr "Combien d'objet sont dans votre annuaire LDAP ?"
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
+msgid ""
+"These systems are already configured by other object groups and cannot be "
+"added:"
+msgstr ""
+"Ces systèmes sont déjà configurés par d'autres groupes d'objets et ne "
+"peuvent pas être ajoutés :"
 
-#: setup/setup_feedback.tpl:140
-msgid "Features"
-msgstr "Fonctionalités"
+#: plugins/admin/ogroups/class_ogroup.inc:685
+msgid "You can combine two different object types at maximum, only!"
+msgstr "Vous pouvez combiner au maximum deux objets différents !"
 
-#: setup/setup_feedback.tpl:143
-msgid "What features of GOsa do you use?"
-msgstr "Quel fonctionnalités de GOsa utilisez vous ?"
+#: plugins/admin/ogroups/class_ogroup.inc:849
+msgid "Object group generic"
+msgstr "Groupes d'objets"
 
-#: setup/setup_feedback.tpl:153
-msgid "What features do you want to see in future versions of GOsa?"
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
+msgstr "Groupes d'objets"
+
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
 msgstr ""
-"Quelle fonctionnalités voulez vous voir dans les prochaines versions de "
-"GOsa ?"
 
-#: setup/setup_feedback.tpl:160
-msgid "Send feedback"
-msgstr "Envoyer vos réponses"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+msgid "Templates"
+msgstr "Modèles"
 
-#: setup/setup_finish.tpl:3
-msgid "Create your configuration file"
-msgstr "Création du fichier de configuration"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
+msgstr "Applications"
 
-#: setup/setup_finish.tpl:10
-msgid "Depending on the user name your webserver is running on:"
-msgstr "Dependant de l'utilisateur exécutant votre serveur web :"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+msgid "Windows Install"
+msgstr "Installation Windows"
 
-#: setup/setup_finish.tpl:28
-msgid "Download configuration"
-msgstr "Télécharger la configuration"
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
+msgid "ACL Templates"
+msgstr "Modèles des ACL"
 
-#: setup/setup_finish.tpl:33
-msgid "Status: "
-msgstr "Statut: "
+#: plugins/admin/acl/acl-list.xml:11
+msgid "List of ACLs"
+msgstr "Liste des acls"
 
-#: setup/class_setupStep_Ldap.inc:53
-msgid "LDAP setup"
-msgstr "Configuration LDAP"
+#: plugins/admin/acl/paste_role.tpl:1
+msgid "Paste ACL-role"
+msgstr "Coller un rôle ACL"
 
-#: setup/class_setupStep_Ldap.inc:54
-msgid "LDAP connection setup"
-msgstr "Configuration de la connexion LDAP"
+#: plugins/admin/acl/acl-filter.xml:48
+#: plugins/admin/acl/class_aclManagement.inc:154
+msgid "ACL Assignment"
+msgstr "Gestion des ACL"
 
-#: setup/class_setupStep_Ldap.inc:55
+#: plugins/admin/acl/class_aclManagement.inc:26
 msgid ""
-"This dialog performs the basic configuration of the LDAP connectivity for "
-"GOsa."
+"Control access to GOsa managed objects down to attribute and action level"
 msgstr ""
-"Cette boite de dialogue permet d'indiquer la configuration de base LDAP pour "
-"GOsa."
+"Contrôler l'accès aux objets gérés GOsa jusqu'au niveau de l'attribut et "
+"l'action"
 
-#: setup/class_setupStep_Ldap.inc:112
-#, php-format
-msgid "Anonymous bind to server '%s' failed!"
-msgstr "La connexion anonyme sur le serveur '%s' à échoué !"
+#: plugins/admin/acl/class_aclRole.inc:26
+#: plugins/admin/acl/class_aclRole.inc:715
+msgid "Access control roles"
+msgstr "Contrôle d'accès (ACL)"
+
+#: plugins/admin/acl/class_aclRole.inc:27
+msgid "Edit AC roles"
+msgstr "Editer le rôles (ACL)"
+
+#: plugins/admin/acl/class_aclRole.inc:138
+msgid "Reset ACL"
+msgstr "Remise à zéro des ACL"
+
+#: plugins/admin/acl/class_aclRole.inc:411
+msgid "No ACL settings for this category"
+msgstr "Pas d'ACL pour cette catégorie"
 
-#: setup/class_setupStep_Ldap.inc:114
+#: plugins/admin/acl/class_aclRole.inc:413
 #, php-format
-msgid "Bind as user '%s' failed!"
-msgstr "la connexion comme l'utilisateur '%s' à échoué !"
+msgid "ACL for these objects: %s"
+msgstr "ACL pour ces objets: %s"
+
+#: plugins/admin/acl/class_aclRole.inc:418
+msgid "Edit category ACL"
+msgstr "Editer les catégories ACL"
+
+#: plugins/admin/acl/class_aclRole.inc:421
+msgid "Delete category ACL"
+msgstr "Effacer l'ACL de la catégorie"
 
-#: setup/class_setupStep_Ldap.inc:119
+#: plugins/admin/acl/class_aclRole.inc:442
 #, php-format
-msgid "Anonymous bind to server '%s' succeeded."
-msgstr "La connexion anonyme sur le serveur '%s' à réussi."
+msgid "Edit ACL for '%s', scope is '%s'"
+msgstr "Editer l'ACL pour '%s', l'étendue est '%s'"
 
-#: setup/class_setupStep_Ldap.inc:120
-msgid "Please specify user and password!"
-msgstr "Veuillez introduire un utilisateur et un mot de passe !"
+#: plugins/admin/acl/class_aclRole.inc:635
+msgid "Object in use"
+msgstr "Objet utilisé"
 
-#: setup/class_setupStep_Ldap.inc:122
+#: plugins/admin/acl/class_aclRole.inc:635
 #, php-format
-msgid "Bind as user '%s' to server '%s' succeeded!"
-msgstr "La connexion comme l'utilisateur '%s' au serveur '%s' à réussi !"
+msgid "This role cannot be removed while it is in use by these objects:"
+msgstr ""
+"Ce rôle ne peut pas être supprimé car il est encore utilisé par ces objets :"
 
-#: setup/setup_ldap.tpl:7
-msgid "Please choose the LDAP user to be used by GOsa"
-msgstr "Veuillez choisir l'utilisateur LDAP qui sera utilise par GOSa"
+#: plugins/admin/acl/class_aclRole.inc:731
+msgid "RDN for role storage."
+msgstr "RDN pour le stockage des rôles."
 
-#: setup/setup_ldap.tpl:25
-msgid "LDAP connection"
-msgstr "Connexion LDAP"
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
+msgid "Domain component"
+msgstr "Composant domaine"
 
-#: setup/setup_ldap.tpl:29
-msgid "Location name"
-msgstr "Nom de l'emplacement"
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
+msgid "Locality name"
+msgstr "Nom du lieu"
 
-#: setup/setup_ldap.tpl:37
-msgid "Connection URI"
-msgstr "URI de connexion"
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
+msgid "Name of locality to create"
+msgstr "Nom du lieu à créer"
 
-#: setup/setup_ldap.tpl:45
-msgid "TLS connection"
-msgstr "Connexion TLS"
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
+msgstr "Description du département"
 
-#: setup/setup_ldap.tpl:69
-msgid "Authentication"
-msgstr "Authentification"
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
+msgid "Administrative settings"
+msgstr "Paramètres administratifs"
 
-#: setup/setup_ldap.tpl:73
-msgid "Admin DN"
-msgstr "DN de l'administrateur"
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
+msgstr "Marquer le département comme une entité administrative indépendante"
 
-#: setup/setup_ldap.tpl:86
-msgid "Automatically append LDAP base to admin DN"
-msgstr "Ajouter automatiquement la base de l'annuaire LDAP au DN de l'administrateur"
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
+msgstr "Pays"
 
-#: setup/setup_ldap.tpl:93
-msgid "Admin password"
-msgstr "Mot de passe administrateur"
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
+msgid "Locality"
+msgstr "Lieu"
 
-#: setup/setup_ldap.tpl:101
-msgid "Schema based settings"
-msgstr "Paramètres basé sur les schéma"
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
+msgid "Domain"
+msgstr "Domaine"
 
-#: setup/setup_ldap.tpl:105
-msgid "Use rfc2307bis compliant groups"
-msgstr "Utilisez des groupes rfc2307bis"
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
+msgid "Country name"
+msgstr "Pays"
 
-#: setup/setup_ldap.tpl:117
-msgid "Current status"
-msgstr "Statut actuel"
+#: plugins/admin/departments/country.tpl:14
+msgid "Name of country to create"
+msgstr "Nom du pays à créer"
 
-#: setup/class_setupStep_Migrate.inc:127 setup/class_setupStep_Migrate.inc:128
-msgid "LDAP inspection"
-msgstr "Vérification de l'annuaire LDAP"
+#: plugins/admin/departments/dep-list.xml:11
+msgid "List of structural objects"
+msgstr "Liste des objets structurels"
 
-#: setup/class_setupStep_Migrate.inc:129
-msgid "Analyze your current LDAP for GOsa compatibility"
-msgstr "Analyse de votre annuaire LDAP pour la compatibilité avec GOsa"
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "You are currently moving/renaming this department."
+msgstr "Vous êtes occupé à bouger/renommer ce département."
 
-#: setup/class_setupStep_Migrate.inc:135
-msgid "Checking for root object"
-msgstr "Recherche de l'objet racine"
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
+msgstr ""
+"La modification de l'attribut 'ou' ou la base d'un département peut "
+"corrompre les entrées acls et copie instantanées pour tout les objets."
 
-#: setup/class_setupStep_Migrate.inc:141
-msgid "Inspecting object classes in root object"
-msgstr "Inspecter les classes d'objets de l'objet racine"
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+msgid "GOsa can NOT fix this for you, yet."
+msgstr "GOsa ne PEUT PAS encore corriger ceci pour vous."
 
-#: setup/class_setupStep_Migrate.inc:147
-msgid "Checking permission for LDAP database"
-msgstr "Vérification des permissions sur l'annuaire LDAP"
+#: plugins/admin/departments/dep_move_confirm.tpl:12
+msgid ""
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
+msgstr ""
+"Avant de confirmer cette action, vérifiez que tout se passera comme prévu, "
+"la meilleure solution est probablement une sauvegarde."
 
-#: setup/class_setupStep_Migrate.inc:153
-msgid "Checking for invisible departments"
-msgstr "Vérification des départements invisibles"
+#: plugins/admin/departments/organization.tpl:11
+msgid "Name of organization"
+msgstr "Nom de l'entreprise"
 
-#: setup/class_setupStep_Migrate.inc:158
-msgid "Checking for invisible users"
-msgstr "Vérification des utilisateurs invisibles"
+#: plugins/admin/departments/organization.tpl:14
+msgid "Name of organization to create"
+msgstr "Nom de l'entreprise à créer"
 
-#: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3211
-msgid "Checking for super administrator"
-msgstr "Vérification du superadministrateur"
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
+msgstr "Catégorie pour cette branche de l'annuaire"
 
-#: setup/class_setupStep_Migrate.inc:171
-msgid "Checking for users outside the people tree"
-msgstr "Vérification d'utilisateurs en dehors de la branche people"
-
-#: setup/class_setupStep_Migrate.inc:177
-msgid "Checking for groups outside the groups tree"
-msgstr "Vérification des groupes en dehors de la branche groups"
-
-#: setup/class_setupStep_Migrate.inc:184
-msgid "Checking for windows workstations outside the winstation tree"
-msgstr "Vérification de stations windows en dehors de la branche winstation"
-
-#: setup/class_setupStep_Migrate.inc:190
-msgid "Checking for duplicated UID numbers"
-msgstr "Vérification pour les uid en double"
-
-#: setup/class_setupStep_Migrate.inc:196
-msgid "Checking for duplicate GID numbers"
-msgstr "Vérification pour les gid en double"
-
-#: setup/class_setupStep_Migrate.inc:202
-msgid "Checking for old style USB devices"
-msgstr "Recherche de périphériques USB ancien style"
-
-#: setup/class_setupStep_Migrate.inc:208
-msgid "Checking for old services that have to be migrated"
-msgstr "Vérification des anciens services qui devront être migré."
-
-#: setup/class_setupStep_Migrate.inc:214
-msgid "Checking for old style application menus"
-msgstr "Vérifier pour les menu des applications ancienne mode"
-
-#: setup/class_setupStep_Migrate.inc:240 setup/class_setupStep_Migrate.inc:292
-#: setup/class_setupStep_Migrate.inc:357 setup/class_setupStep_Migrate.inc:421
-#: setup/class_setupStep_Migrate.inc:492 setup/class_setupStep_Migrate.inc:569
-#: setup/class_setupStep_Migrate.inc:653 setup/class_setupStep_Migrate.inc:796
-#: setup/class_setupStep_Migrate.inc:892
-#: setup/class_setupStep_Migrate.inc:2038
-#: setup/class_setupStep_Migrate.inc:2506
-#: setup/class_setupStep_Migrate.inc:2697
-#: setup/class_setupStep_Migrate.inc:2834
-msgid "LDAP query failed"
-msgstr "La requête LDAP à échoué"
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
+msgstr "Lieu où est située cette branche de l'annuaire"
 
-#: setup/class_setupStep_Migrate.inc:241 setup/class_setupStep_Migrate.inc:293
-#: setup/class_setupStep_Migrate.inc:358 setup/class_setupStep_Migrate.inc:422
-#: setup/class_setupStep_Migrate.inc:493 setup/class_setupStep_Migrate.inc:570
-#: setup/class_setupStep_Migrate.inc:654 setup/class_setupStep_Migrate.inc:797
-#: setup/class_setupStep_Migrate.inc:893
-#: setup/class_setupStep_Migrate.inc:2039
-#: setup/class_setupStep_Migrate.inc:2507
-#: setup/class_setupStep_Migrate.inc:2698
-#: setup/class_setupStep_Migrate.inc:2835
-msgid "Possibly the 'root object' is missing."
-msgstr "L'objet racine est probablement manquant."
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
+msgstr "Lieu de cette branche"
 
-#: setup/class_setupStep_Migrate.inc:263
-#, php-format
-msgid "Found %s duplicate values for attribute 'uidNumber'."
-msgstr "J'ai trouvé %s valeur dupliquées pour l'attribut 'uidNumber'."
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
+msgstr "Adresse postale de cette branche"
 
-#: setup/class_setupStep_Migrate.inc:315
-#, php-format
-msgid "Found %s duplicate values for attribute 'gidNumber'."
-msgstr "J'ai trouvé %s valeur dupliquées pour l'attribut 'gidNumber'."
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
+msgstr "Numéro de téléphone de base pour cette sous-branche"
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:583
-#: setup/class_setupStep_Migrate.inc:596
-#: setup/class_setupStep_Migrate.inc:1032
-#: setup/class_setupStep_Migrate.inc:1050
-#: setup/class_setupStep_Migrate.inc:1990
-#: setup/class_setupStep_Migrate.inc:2003
-#: setup/class_setupStep_Migrate.inc:2058
-#: setup/class_setupStep_Migrate.inc:2079
-#: setup/class_setupStep_Migrate.inc:2131
-#: setup/class_setupStep_Migrate.inc:3213
-msgid "Failed"
-msgstr "Echec"
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
+msgstr "Numéro de fax de base pour cette sous-branche"
 
-#: setup/class_setupStep_Migrate.inc:375
-#, php-format
-msgid "Found %s winstations outside the predefined winstation department ou '%s'."
+#: plugins/admin/departments/class_department.inc:439
+msgid "Cannot find an unused tag for this administrative unit!"
 msgstr ""
-"J'ai trouvé %s winstations en dehors du département winstation prédéfini '%"
-"s'."
+"Impossible de trouver un marqueur libre pour marquer l'entité "
+"administrative !"
 
-#: setup/class_setupStep_Migrate.inc:448
+#: plugins/admin/departments/class_department.inc:507
 #, php-format
-msgid "Found %s groups outside the configured tree '%s'."
-msgstr "J'ai trouvé %s groupes en dehors de la branche configurée '%s'."
-
-#: setup/class_setupStep_Migrate.inc:449 setup/class_setupStep_Migrate.inc:526
-msgid "Move"
-msgstr "Bouger"
+msgid "Tagging '%s'."
+msgstr "Marquer '%s'."
 
-#: setup/class_setupStep_Migrate.inc:525
+#: plugins/admin/departments/class_department.inc:588
 #, php-format
-msgid "Found %s user(s) outside the configured tree '%s'."
-msgstr "J'ai trouvé %s utilsateur(s) en dehors de la branche configurée '%s'."
+msgid "Moving '%s' to '%s'"
+msgstr "Bouger '%s' vers '%s'"
 
-#: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:598
+#: plugins/admin/departments/class_department.inc:629
 #, php-format
-msgid "The specified user '%s' does not have full access to your ldap database."
-msgstr "L'utilisateur spécifié '%s' n'a pas l'accès complet à votre annuaire ldap."
+msgid "FAILED to copy %s, aborting operation"
+msgstr "Impossible de copier %s, arrêt de l'opération"
 
-#: setup/class_setupStep_Migrate.inc:662
-#, php-format
-msgid "Found %s user(s) that will not be visible in GOsa."
-msgstr "J'ai trouvé %s utilisateur(s) qui ne seront pas visibles dans GOsa."
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
+msgstr "Départements"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#: setup/class_setupStep_Migrate.inc:1120
-msgid "Migration error"
-msgstr "Erreur de migration"
+#: plugins/admin/departments/class_department.inc:674
+msgid "Department name"
+msgstr "Nom du département"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#, php-format
-msgid "Cannot migrate department '%s':"
-msgstr "Impossible de migrer le département '%s' :"
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
+msgstr "Téléphone"
 
-#: setup/class_setupStep_Migrate.inc:805
+#: plugins/admin/departments/class_department.inc:737
 #, php-format
-msgid "Found %s department(s) that will not be visible in GOsa."
-msgstr "J'ai trouvé %s département(s) qui ne seront pas visible dans GOsa."
+msgid "Object '%s' is already tagged"
+msgstr "L'objet '%s' est déjà marqué"
 
-#: setup/class_setupStep_Migrate.inc:1029
+#: plugins/admin/departments/class_department.inc:744
 #, php-format
-msgid "GOsa 2.5 administrative accounts found: %s"
-msgstr "Compte administratifs de GOsa 2.5 trouvés : %s"
-
-#: setup/class_setupStep_Migrate.inc:1034
-msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
-msgstr "Il n'y a pas d'administrateur GOsa 2.6 valide dans votre annuaire LDAP."
-
-#: setup/class_setupStep_Migrate.inc:1051
-msgid "There is no GOsa administrator account inside your LDAP."
-msgstr "Il n'y a pas d'administrateur GOsa dans votre annuaire LDAP."
+msgid "Adding tag (%s) to object '%s'"
+msgstr "Ajouter une marque (%s) à l'objet '%s'"
 
-#: setup/class_setupStep_Migrate.inc:1120
+#: plugins/admin/departments/class_department.inc:776
 #, php-format
-msgid "Cannot add ACL for user '%s':"
-msgstr "Impossible d'ajouter une ACL pour l'utilisateur '%s' :"
+msgid "Removing tag from object '%s'"
+msgstr "Suppression de la marque de l'objet '%s'"
 
-#: setup/class_setupStep_Migrate.inc:1158
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Input error"
-msgstr "Erreur d'entrée"
+#: plugins/admin/departments/dep_iframe.tpl:1
+msgid "Processing the requested operation"
+msgstr "Opération en cours"
 
-#: setup/class_setupStep_Migrate.inc:1158
-msgid "Uid"
+#: plugins/admin/departments/dep_iframe.tpl:7
+msgid ""
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
 msgstr ""
+"Votre navigateur ne supporte pas les iframes, veuillez utiliser ce lien pour "
+"effectuer l'opération demandée."
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Password error"
-msgstr "Erreur de mot de passe"
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
+msgid "Domain Component"
+msgstr "Objet Domaine"
+
+#: plugins/admin/departments/class_organizationGeneric.inc:122
+msgid "Organization name"
+msgstr "Nom de l'entreprise"
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Provided passwords do not match!"
-msgstr ""
-"Le mot de passe entré dans le champ nouveau et celui dans le champ "
-"vérification ne concordent pas !"
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+msgid "Phone number"
+msgstr "Numéro de téléphone"
 
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Specify a valid user ID!"
-msgstr "Le nom d'utilisateur est incorrect !"
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
+msgstr "Nom du département"
 
-#: setup/class_setupStep_Migrate.inc:1201
-#, php-format
-msgid "Adding an administrative user failed: object '%s' already exists!"
-msgstr "L'ajout d'un utilisateur administratif à échoué : l'objet '%s' existe déja !"
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
+msgstr "Nom de la branche à créer"
 
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-msgid "Cannot move users to the requested department!"
-msgstr "Impossible de bouger les utilisateurs vers le département spécifié !"
+#: plugins/admin/departments/generic.tpl:22
+msgid "Descriptive text for   department"
+msgstr "Description du département"
 
-#: setup/class_setupStep_Migrate.inc:1250
-msgid "Winstation will be moved from"
-msgstr "Les stations windows seront bougées depuis"
+#: plugins/admin/departments/class_departmentManagement.inc:25
+msgid "Directory structure"
+msgstr "Structure de l'annuaire"
 
-#: setup/class_setupStep_Migrate.inc:1261
-#: setup/class_setupStep_Migrate.inc:1310
-msgid "Updating following references too"
-msgstr "Mise à jour des références suivantes aussi"
+#: plugins/admin/departments/class_departmentManagement.inc:26
+msgid ""
+"Manage organizations, organizational units, localities, countries and more"
+msgstr ""
+"Gérer les organisations, les unités organisationnelles, les localités, les "
+"pays et plus"
 
-#: setup/class_setupStep_Migrate.inc:1300
-msgid "Group will be moved from"
-msgstr "Les groupes seront bougés depuis"
+#: plugins/admin/departments/class_departmentManagement.inc:125
+msgid ""
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
+msgstr ""
+"Dès que l'opération de marquage est finie, vous pouvez aller à la fin de la "
+"page et appuyer sur le bouton 'Continuer' pour continuer la gestion des "
+"départements."
 
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "User will be moved from"
-msgstr "Les utilisateurs seront bougés depuis"
+#: plugins/admin/departments/domain.tpl:11
+msgid "Domain name"
+msgstr "Nom du domaine"
 
-#: setup/class_setupStep_Migrate.inc:1358
-msgid "The following references will be updated"
-msgstr "Les références suivantes seront mises à jour"
+#: plugins/admin/departments/domain.tpl:14
+msgid "Name of domain to create"
+msgstr "Nom du domaine à créer"
 
-#: setup/class_setupStep_Migrate.inc:1991
-msgid "The LDAP root object is missing. It is required to use your LDAP service."
+#: plugins/admin/users/password.tpl:4
+msgid ""
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
 msgstr ""
-"L'objet LDAP racine est manquant. Il est indispensable pour utiliser votre "
-"annuaire LDAP."
+"Pour changer le mot de passe des utilisateurs, utilisez le champ ci-dessous. "
+"Les changements prennent effet immédiatement. Veuillez mémoriser le nouveau "
+"mot de passe sinon l'utilisateur ne pourra pas s'identifier sans celui-ci."
 
-#: setup/class_setupStep_Migrate.inc:1992
-#: setup/class_setupStep_Migrate.inc:2005
-msgid "Try to create root object"
-msgstr "Essai de création de l'objet racine"
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
+msgid "Password input dialog"
+msgstr "Changement de mot de passe"
 
-#: setup/class_setupStep_Migrate.inc:2004
-msgid "Root object couldn't be created, you should try it on your own."
-msgstr "L'objet racine n'a pas pu être crée, vous devrez essayer vous même."
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
+msgid "Strength"
+msgstr "Sécurité"
 
-#: setup/class_setupStep_Migrate.inc:2059
-#, php-format
-msgid "Missing GOsa object class '%s'!"
-msgstr "Object class '%s' de GOsa manquante !"
+#: plugins/admin/users/password.tpl:95
+msgid "Enforce password change on next login."
+msgstr "Forcer le changement de mot de passe a la prochaine connexion."
 
-#: setup/class_setupStep_Migrate.inc:2060
-msgid "Please check your installation."
-msgstr "Veuillez vérifier votre installation."
+#: plugins/admin/users/templatize.tpl:2
+msgid "Applying a template"
+msgstr "Appliquer un modèle"
 
-#: setup/class_setupStep_Migrate.inc:2081
-#, php-format
+#: plugins/admin/users/templatize.tpl:6
 msgid ""
-"Cannot handle the structural object type of your root object. Please try to "
-"add the object class '%s' manually."
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
 msgstr ""
-"Impossible de gérer l'objet structural de votre objet racine. S'il vous "
-"plaît essayer de ajouter la classe d'objet '%s' à la main."
+"Appliquer un modèle à plusieurs utilisateurs remplacera tout les attributs "
+"de ces utilisateurs par ceux définis dans le modèle."
 
-#: setup/class_setupStep_Migrate.inc:2440
-#, php-format
-msgid "Copy '%s' to '%s' failed:"
-msgstr "La copie de '%s' vers '%s' à échoué :"
+#: plugins/admin/users/templatize.tpl:13
+msgid "Apply user template"
+msgstr "Appliquer le modèle utilisateur"
 
-#: setup/class_setupStep_Migrate.inc:2575
-#, php-format
-msgid "There are %s devices that need to be migrated."
-msgstr "Il y a %s services qui ont besoin d'être migrés."
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
+msgstr "Modèle"
 
-#: setup/class_setupStep_Migrate.inc:2635
-#, php-format
-msgid "Adding '%s' to the LDAP failed: %s"
-msgstr "L'ajout de '%s' à l'annuaire LDAP à échoué: %s"
+#: plugins/admin/users/templatize.tpl:32
+msgid "No templates available!"
+msgstr "Pas de modèles disponibles !"
 
-#: setup/class_setupStep_Migrate.inc:2655
-#: setup/class_setupStep_Migrate.inc:2772
-#, php-format
-msgid "Updating '%s' failed: %s"
-msgstr "La mise à jour de '%s' à échoué : %s"
+#: plugins/admin/users/user-filter.xml:33
+msgid "Show templates"
+msgstr "Montrer les modèles"
 
-#: setup/class_setupStep_Migrate.inc:2728
-#, php-format
-msgid "There are %s services that need to be migrated."
-msgstr "Il y a %s services qui doivent être migrés."
+#: plugins/admin/users/user-filter.xml:47
+msgid "Show POSIX users"
+msgstr "Montrer les utilisateurs Posix"
 
-#: setup/class_setupStep_Migrate.inc:3059
-#, php-format
-msgid "There are %s application menus which have to be migrated."
-msgstr "Il y a %s menu d'applications qui doivent être migrés."
+#: plugins/admin/users/user-filter.xml:61
+msgid "Show SAMBA users"
+msgstr "Montrer les utilisateurs SAMBA"
+
+#: plugins/admin/users/user-filter.xml:75
+msgid "Show mail users"
+msgstr "Montrer les utilisateurs de la messagerie"
+
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
+msgstr "Créer un nouvel utilisateur à partir d'un modèle"
 
-#: setup/setup_welcome.tpl:4
+#: plugins/admin/users/template.tpl:6
 msgid ""
-"This seems to be the first time you start GOsa - we didn't find any "
-"configuration right now. This simple wizard intends to help you while "
-"setting it up."
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
 msgstr ""
-"Il semble que c'est votre première installation de GOsa - nous n'avons pas "
-"trouvé de configuration. Ce programme d'aide à l'installation vous aidera à "
-"configurer GOsa."
+"La création d'un nouvel utilisateur peut être facilité en utilisant les "
+"modèles. De nombreuses informations seront ainsi remplies automatiquement. "
+"Sélectionnez 'aucun' afin de ne pas utiliser les modèles."
 
-#: setup/setup_welcome.tpl:8
-msgid "What will the wizard do for you?"
-msgstr "Qu'est ce que le programme d'aide à l'installation fera pour vous ?"
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
+msgstr ""
 
-#: setup/setup_welcome.tpl:11
-msgid "Create a basic, single site configuration"
-msgstr "Créer une simple configuration mono site"
+#: plugins/admin/users/class_userManagement.inc:26
+msgid ""
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
+msgstr ""
+"Gérer les paramètres des comptes d'utilisateurs par défaut, POSIX, Samba et "
+"la messagerie"
 
-#: setup/setup_welcome.tpl:12
-msgid "Tries to find problems within your PHP and LDAP setup"
+#: plugins/admin/users/class_userManagement.inc:401
+msgid "You have no permission to change this users password!"
 msgstr ""
-"Essaye de trouver si il existe des problèmes dans votre configuration PHP ou "
-"LDAP"
+"Vous n'avez pas l'autorisation pour changer le mot de passe de ce(s) "
+"utilisateurs !"
 
-#: setup/setup_welcome.tpl:13
-msgid "Let you choose from a set of basic and advanced configuration switches"
-msgstr "Vous permet de choisir un jeu d'option de base ou avancées"
+#: plugins/admin/users/class_userManagement.inc:791
+msgid "Account locking"
+msgstr "Verrouillage du compte"
 
-#: setup/setup_welcome.tpl:14
-msgid "Guided migration of existing LDAP trees"
-msgstr "Migration assistée d'un annuaire LDAP existant"
+#: plugins/admin/users/class_userManagement.inc:792
+#, php-format
+msgid ""
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
+msgstr ""
+"La méthode '%s' ne permet pas le verrouillage du mot de passe. Le compte "
+"(%s) n'a pas été verrouillé !"
+
+#: plugins/admin/users/class_userManagement.inc:865
+msgid "Unlock account"
+msgstr "Déverrouiller le compte"
 
-#: setup/setup_welcome.tpl:17
-msgid "What will the wizard NOT do for you?"
-msgstr "Qu'est ce que le l'assistant d'installation ne fera pas pour vous ?"
+#: plugins/admin/users/class_userManagement.inc:867
+msgid "Lock account"
+msgstr "Verrouiller Compte"
 
-#: setup/setup_welcome.tpl:20
-msgid "Find every possible configuration error"
-msgstr "Trouver toutes les erreur possible dans votre configuration"
+#: plugins/admin/users/class_userManagement.inc:880
+msgid "Edit generic properties"
+msgstr "Modifier les propriétés de base"
 
-#: setup/setup_welcome.tpl:21
-msgid "Migrate every possible LDAP setup - create backup dumps!"
-msgstr "Migrer tout les scénario LDAP possible - créez des sauvegardes !"
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
+msgstr ""
 
-#: setup/setup_welcome.tpl:25
-msgid "To continue..."
-msgstr "Suite de la configuration..."
+#: plugins/admin/users/class_userManagement.inc:896
+msgid "Edit Netatalk properties"
+msgstr "Modifier les propriétés de Netatalk"
 
-#: setup/setup_welcome.tpl:28
-msgid ""
-"For security reasons you need to authenticate for the installation by "
-"creating the file '/tmp/gosa.auth', containing the current session ID on the "
-"servers local filesystem. This can be done by executing the following "
-"command:"
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
 msgstr ""
-"Pour des raisons de sécurité vous devez vous authentifier en créant le "
-"fichier '/tmp/gosa.auth', contenant l'ID de la session sur le(s) serveur(s). "
-"Ceci peut être réalisé en exécutant la commande suivante:"
 
-#: setup/setup_welcome.tpl:34
-msgid "Click the 'Continue' button when you've finished."
-msgstr "Cliquer sur 'Continuer' quand vous avez fini."
+#: plugins/admin/users/class_userManagement.inc:904
+msgid "Edit FAX properties"
+msgstr "Modifier les propriétés FAX"
 
-#: setup/setup_license.tpl:8
-msgid "I have read the license and accept it"
-msgstr "J'ai lu la licence et je l'accepte"
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
+msgstr "Liste des utilisateurs"
 
-#: setup/class_setupStep_Config3.inc:81 setup/class_setupStep_Config3.inc:82
-msgid "GOsa settings 3/3"
-msgstr "Paramètres de GOsa 3/3"
+#: plugins/admin/users/user-list.xml:140
+msgid "Lock users"
+msgstr "Verouillez les utilisateurs"
 
-#: setup/class_setupStep_Config3.inc:83
-msgid "Tweak some GOsa core behaviour"
-msgstr "Customiser certains paramètres essentiels de GOsa"
+#: plugins/admin/users/user-list.xml:148
+msgid "Unlock users"
+msgstr "Déverrouiller les utilisateurs"
 
-#: setup/class_setupStep_Config3.inc:212
-msgid "Session lifetime must be a numeric value!"
-msgstr "La durée de la session doit être une valeur numérique !"
+#: plugins/admin/users/user-list.xml:167
+msgid "Apply template"
+msgstr "Appliquer le modèle"
 
-#: setup/class_setupStep_Config3.inc:216
-msgid "Maximum LDAP query time must be a numeric value!"
-msgstr "Le temps maximumpour une requête ldap doit être une valeur numérique !"
+#: plugins/admin/users/user-list.xml:199
+msgid "New user from template"
+msgstr "Créer un nouvel utilisateur depuis un modèle"
 
-#: setup/setup_checks.tpl:9
-msgid "PHP module and extension checks"
-msgstr "Extension PHP et vérification de ceux ci"
+#: plugins/admin/users/user-list.xml:213
+msgid "Edit user"
+msgstr "Editer cet utilisateur"
 
-#: setup/setup_checks.tpl:41 setup/setup_checks.tpl:103
-msgid "GOsa will NOT run without fixing this."
-msgstr "GOsa ne fonctionnera pas si vous ne corriger pas cela."
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
+msgstr ""
 
-#: setup/setup_checks.tpl:45 setup/setup_checks.tpl:107
-msgid "GOsa will run without fixing this."
-msgstr "GOsa fonctionnera même si vous ne corrigez pas cela."
+#: plugins/admin/users/user-list.xml:245
+msgid "Remove user"
+msgstr "Suppression de l'utilisateur"
 
-#: setup/setup_checks.tpl:67
-msgid "PHP setup configuration"
-msgstr "Configuration de PHP"
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
+msgid "Back to main menu"
+msgstr "Retour au menu principal"
 
-#: setup/setup_checks.tpl:67
-msgid "show information"
-msgstr "Montrer les informations"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
+msgstr ""
 
-#: setup/setup_schema.tpl:3
-msgid "Schema specific settings"
-msgstr "Paramètres spécifiques des schémas"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
+msgstr "Moyenne"
 
-#: setup/setup_schema.tpl:7
-msgid "Enable schema validation when logging in"
-msgstr "Activer la validation des schéma lors de la connexion"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
+msgstr ""
 
-#: setup/setup_schema.tpl:16
-msgid "Check status"
-msgstr "Vérifier les statuts"
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
+msgid "Action"
+msgstr ""
 
-#: setup/setup_schema.tpl:20
-msgid "Schema check succeeded"
-msgstr "La vérification des schéma à réussi"
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
+msgid "Systems"
+msgstr "Systèmes"
 
-#: setup/setup_schema.tpl:23
-msgid "Schema check failed"
-msgstr "La vérification des schéma à échoué"
+#: plugins/generic/statistics/statistics.tpl:2
+msgid "Usage statistics"
+msgstr "statistiques d'utilisations"
 
-#: setup/setup_schema.tpl:31
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
 msgid ""
-"Could not read any schema informations, all checks skipped. Adjust your ldap "
-"acls."
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
 msgstr ""
-"Impossible de lire les schémas, toutes les vérifications sont annulées. "
-"Ajuster les acl de votre annuaire ldap."
+"Cette fonction est desactivée. Pour l'activer vous devez enregistrer GOsa, "
+"vous pour faire cela en utilisant le tableau de bord."
+
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
+msgid "Dash board"
+msgstr "Tableau de bord"
 
-#: setup/setup_schema.tpl:35
+#: plugins/generic/statistics/statistics.tpl:16
 msgid ""
-"It seems that your ldap database wasn't initialized yet. This maybe the "
-"reason, why GOsa can't read your schema configuration!"
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
 msgstr ""
-"Il semble que votre annuaire LDAP 'a pas encore été configuré. C'est peut "
-"être cela qui empêche GOsa de lire la configuration de vos schémas. "
-
-#: setup/setup_config1.tpl:2
-msgid "Look and feel"
-msgstr "Thèmes et apparences"
-
-#: setup/setup_config1.tpl:6
-msgid "Theme"
-msgstr "Thème"
+"La communication avec le backend GOsa à échoué. Veuillez vérifier la "
+"configuration RPC !"
 
-#: setup/setup_config1.tpl:15
-msgid "Apache"
-msgstr "Apache"
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
+msgstr "Envoyer"
 
-#: setup/setup_config1.tpl:19
-msgid "Compress output send to browser"
-msgstr "Compresser les données envoyées au navigateur web"
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
+msgstr "Générer un rapport pour"
 
-#: setup/setup_config1.tpl:27
-msgid "People and group storage"
-msgstr "Branches de l'arbre ldap ou sont stockes les utilisateurs et les groupes"
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
+msgstr "Mise à jour"
 
-#: setup/setup_config1.tpl:30
-msgid "People DN attribute"
-msgstr "Type d'attribut pour le DN des utilisateurs"
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
+msgstr "Pas de statistique pour la période donnée"
 
-#: setup/setup_config1.tpl:41
-msgid "People storage subtree"
-msgstr "Branches de l'arbre ldap ou sont stockes les utilisateurs"
+#: plugins/generic/statistics/statistics.tpl:87
+msgid "Select report type"
+msgstr "Sélectionnez le type de rapport"
 
-#: setup/setup_config1.tpl:50
-msgid "Group storage subtree"
-msgstr "Branches de l'arbre ldap ou sont stockes les groupes"
+#: plugins/generic/statistics/class_statistics.inc:263
+#, php-format
+msgid ""
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
+msgstr ""
+"Vous avez actuellement %s collecte de statistiques non soumises, voulez vous "
+"les envoyer maintenant ?"
 
-#: setup/setup_config1.tpl:59
-msgid "Include personal title in user DN"
-msgstr "Inclure le personal title dans le DN de l'utilisateur"
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
+msgid "Channels"
+msgstr "Canaux"
 
-#: setup/setup_config1.tpl:70
-msgid "Relaxed naming policies"
-msgstr "Règles de de nommage souples"
+#: plugins/generic/dashBoard/Register/register.tpl:3
+msgid "GOsa registration"
+msgstr "Enregistrement de GOsa"
 
-#: setup/setup_config1.tpl:81
-msgid "Automatic UIDs"
-msgstr "Uid automatiques"
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
+msgstr ""
+"Voulez vous enregistrer GOsa et bénéficier des avantages que cela vous "
+"apporte ?"
 
-#: setup/setup_config1.tpl:97 setup/class_setupStep_Config1.inc:118
-msgid "GID / UID min id"
-msgstr "GID / UID id min"
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
+msgstr "Je ne veux pas m'enregistrer"
 
-#: setup/setup_config1.tpl:113
-msgid "Number base for people/groups"
-msgstr "Nombre de départ pour les utilisateurs/groupes"
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
+msgstr ""
 
-#: setup/setup_config1.tpl:121
-msgid "Hook for number base"
-msgstr "Connexions pour le nombre de base"
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
+msgstr ""
 
-#: setup/setup_config1.tpl:140
-msgid "Password encryption algorithm"
-msgstr "Algorithme de cryptage pour les mots de passe"
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
+msgstr "Accès à des canaux 'Premium'."
 
-#: setup/setup_config1.tpl:151
-msgid "Password restrictions"
-msgstr "Restrictions pour les mot de passe"
+#: plugins/generic/dashBoard/Register/register.tpl:22
+msgid ""
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
+msgstr ""
+"Voir les mises à jour disponibles pour les extensions actuelles et la "
+"disponibilité des nouvelles extensions."
 
-#: setup/setup_config1.tpl:158 setup/setup_config1.tpl:162
-msgid "Password minimum length"
-msgstr "Taille minimum des mots de passe"
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
+msgstr "Recevoir la newsletter, si vous le désirez."
 
-#: setup/setup_config1.tpl:169 setup/setup_config1.tpl:173
-msgid "Different characters from old password"
-msgstr "Nombre de caractères différents de l'ancien mot de passe"
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
+msgstr "Voir des statistiques utiles sur votre installation de GOsa"
 
-#: setup/setup_config1.tpl:182
-msgid "Password change hook"
-msgstr "Connexions pour le changement de mot de passe"
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
+msgstr "Quelle information sera transmise et éventuellement stockée :"
 
-#: setup/setup_config1.tpl:198
-msgid "Use SASL for kerberos"
-msgstr "Utiliser SASL pour kerberos"
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
+msgstr "Toutes les informations entrée dans le formulaire d'enregistrement."
 
-#: setup/setup_config1.tpl:209
-msgid "Use account expiration"
-msgstr "Utiliser l'expiration du compte"
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
+msgstr "l'informationsur les plugins installés et leur version."
 
-#: setup/setup_config1.tpl:221
+#: plugins/generic/dashBoard/Register/register.tpl:33
 msgid ""
-"GOsa supports several encryption types for your passwords. Normally this is "
-"adjustable via user templates, but you can specify a default method to be "
-"used here, too."
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
 msgstr ""
-"GOsa supporte différents types de cryptage pour vos mots de passe. "
-"Normalement ceci est ajustable avec des modèles utilisateurs, mais vous "
-"pouvez spécifier ici une méthode qui sera utilisée par défaut."
+"Le GOsa UUID (sera généré pendant l'enregistrement) et un mot de passe pour "
+"s'authentifier."
 
-#: setup/setup_config1.tpl:222
+#: plugins/generic/dashBoard/Register/register.tpl:34
 msgid ""
-"GOsa always acts as admin and manages access rights internally. This is a "
-"workaround till OpenLDAP's in directory ACI's are    fully implemented. For "
-"this to work, we need the admin DN and the corresponding password."
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
 msgstr ""
-"GOsa agit toujours comme un administrateur et gère les droits (ACLs) en "
-"interne. C'est un procédé utilisé en attendant que les ACI de OpenLDAP "
-"soient finalisées. Pour ces raisons il est nécessaire d'indiquer le DN de "
-"l'administrateur et son mot de passe."
+"Les bugs que vous aller envoyer et la trace correspondante. Vous pouvez "
+"sélectionner quelle information vous voulez envoyer."
 
-#: setup/setup_config1.tpl:223
+#: plugins/generic/dashBoard/Register/register.tpl:35
 msgid ""
-"Some basic LDAP parameters are tunable and affect the locations where GOsa "
-"saves people and groups, including the way accounts get created. Check the "
-"values below if the fit your needs."
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
+msgstr ""
+"Quand le module de statistique est utilisé. GOsa transmettra l'information "
+"sur les extensions utilisées, leur usage and le nombre d'objets présent dans "
+"l'annuaire LDAP. Aucune information sensible sera transmise ici, juste le "
+"type d'objet, l'action réalisée, l'utilisation cpu, l'utilisation mémoire, "
+"le temps ecoulé..."
+
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
+msgid "Registration complete"
+msgstr "Enregistrement complet"
+
+#: plugins/generic/dashBoard/Register/register.tpl:71
+msgid "GOsa instance sucessfully registered"
+msgstr "GOsa correctement enregistré"
+
+#: plugins/generic/dashBoard/Register/register.tpl:82
+msgid "GOsa instance will not be registered"
+msgstr "GOsa ne sera pas enregistré"
+
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
+msgid ""
+"Communciation with the backend failed! Please check your internet connection!"
 msgstr ""
-"Des paramètres basiques du serveur LDAP sont modifiables et affectent "
-"l'endroit où GOsa va enregistrer les utilisateurs et les groupes, incluant "
-"la façon dont vont être créés les comptes. Vérifiez les valeurs suivantes "
-"afin quelles correspondent à vos besoins."
+"La communication avec le backend à échoué ! Veuillez vérifier votre "
+"connexion internet !"
 
-#: setup/setup_config1.tpl:224
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
 msgid ""
-"GOsa has modular support for several mail methods. These methods provide "
-"interfaces to users mailboxes and general handling    for quotas. You can "
-"choose the dummy plugin to leave all your mail settings untouched."
+"Authentication failed, please check combination of username and password!"
 msgstr ""
-"GOsa à un support modulaire des méthodes de messagerie. Ces méthodes "
-"fournissent des interfaces vers les boîtes à messages des utilisateurs ainsi "
-"que la gestion de leurs quotas. Vous pouvez choisir l'extension dummy pour "
-"que GOsa ne touche a rien."
-
-#: setup/class_setupStep_Schema.inc:42 setup/class_setupStep_Schema.inc:43
-msgid "LDAP schema check"
-msgstr "Vérification des schémas LDAP"
+"L'authentification à échoué, veuillez vérifier l'utilisateur et le mot de "
+"passe !"
 
-#: setup/class_setupStep_Schema.inc:44
-msgid "Perform test on your current LDAP schema"
-msgstr "Exécuter des test sur vos schéma LDAP actuels"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
+msgid ""
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
+msgstr ""
+"Erreur interne, veuillez essayer plus tard. Si le problème persiste "
+"contacter l'équipe de développement de GOsa !"
 
-#: setup/class_setupStep_Welcome.inc:38
-msgid "Welcome"
-msgstr "Bienvenue"
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
+msgid "Notifications"
+msgstr "Notifications"
 
-#: setup/class_setupStep_Welcome.inc:39
-msgid "The welcome message"
-msgstr "Le message d'accueil"
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
+msgstr ""
+"Cette fonctionalité est uniquement accessible au version de GOsa enregistrées"
 
-#: setup/class_setupStep_Welcome.inc:40
-msgid "Welcome to GOsa setup wizard"
-msgstr "Bienvenue dans l'installation de GOsa"
+#: plugins/generic/dashBoard/dashBoard.tpl:7
+msgid ""
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
+msgstr ""
+"Malheureusement le serveur d'enregistrement ne peut pas être atteint, peut "
+"être que le serveur est en maintenance ou vous n'avez pas d'accès internet !"
 
-#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
-msgid "License"
-msgstr "licence"
+#: plugins/generic/dashBoard/dashBoard.tpl:13
+msgid "GOsa dash board"
+msgstr "Tableau de bord GOsa"
 
-#: setup/class_setupStep_License.inc:58
-msgid "Terms and conditions for usage"
-msgstr "Termes et Conditions d'utilisation"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
+msgstr "Incompatibilité de version"
 
-#: setup/setup_language.tpl:3
-msgid "Please select the preferred language"
-msgstr "Veuillez sélectionner la langue par défaut"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
+msgid "Schema missing"
+msgstr "Schéma manquant"
 
-#: setup/setup_language.tpl:5
-msgid ""
-"At this point, you can select the site wide default language. Choosing "
-"'automatic' will use the language requested by the browser. This setting can "
-"be overriden per user."
-msgstr ""
-"Maintenant vous pouvez choisir la langue par défaut pour GOSa. Automatique "
-"utilisera la langue demandée par le navigateur. Ce paramètre peut être "
-"configuré par utilisateur."
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
+msgid "Plugin status"
+msgstr "Statut de l'extension"
 
-#: setup/setup_language.tpl:9
-msgid "Please select your preferred language here"
-msgstr "Veuillez indiquer votre langue préférée ici"
+#: plugins/generic/references/class_reference.inc:70
+msgid "Role membership"
+msgstr "Appartenance au rôle"
 
-#: setup/class_setupStep_Config1.inc:74 setup/class_setupStep_Config1.inc:75
-msgid "GOsa settings 1/3"
-msgstr "Paramètres de GOsa 1/3"
+#: plugins/generic/references/class_reference.inc:76
+msgid "Object group membership"
+msgstr "Membre du groupes d'objets"
 
-#: setup/class_setupStep_Config1.inc:76
-msgid "GOsa generic settings"
-msgstr "Préférences de base GOsa"
+#: plugins/generic/references/class_reference.inc:82
+msgid "Department manager"
+msgstr "Responsable du département"
 
-#: setup/class_setupStep_Config1.inc:118
-#, php-format
-msgid "The specified value for '%s' must be a numeric value"
-msgstr "Le valeur spécifiée pour '%s' doit être une valeur numérique."
+#: plugins/generic/references/class_reference.inc:88
+msgid "User manager"
+msgstr "Responsable des utilisateurs"
 
-#: setup/class_setupStep_Config1.inc:122 setup/class_setupStep_Config1.inc:126
-#, php-format
-msgid "Don't add a trailing comma to '%s'."
-msgstr "N'ajoutez pas une virgule à la fin de '%s'."
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+msgid "Object information"
+msgstr "Information sur l'objet"
 
-#: setup/class_setupStep_Config1.inc:122
-msgid "People storage ou"
-msgstr "Branches de l'arbre ldap ou sont stockes les utilisateurs"
+#: plugins/generic/references/contents.tpl:7
+msgid "Show raw object entry"
+msgstr "Montrer le contenu brut de l'objet"
 
-#: setup/class_setupStep_Config1.inc:126
-msgid "Group storage ou"
-msgstr "Branches de l'arbre ldap ou sont stockes les groupes"
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
+msgid "Last modification"
+msgstr "Dernière modification"
 
-#: setup/class_setupStep_Config1.inc:130
-msgid "Uid base must be numeric"
-msgstr "l'uid de base doit être une valeur numérique"
+#: plugins/generic/references/contents.tpl:29
+msgid "Object references"
+msgstr "Références de l'objet"
 
-#: setup/class_setupStep_Config1.inc:134
-msgid "The given password minimum length is not numeric."
-msgstr "La longueur minimale du mot de passe n'est pas une valeur numérique."
+#: plugins/generic/references/contents.tpl:45
+msgid "ACL trace"
+msgstr "Trace de l'ACL"
 
-#: setup/class_setupStep_Config1.inc:137
-msgid "The given password differ value is not numeric."
-msgstr "L'option password differ n'est pas une valeur numérique."
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
+msgstr "Entrez un autre nom d'utilisateur"
 
-#: setup/class_setupStep_Config2.inc:80 setup/class_setupStep_Config2.inc:81
-msgid "GOsa settings 2/3"
-msgstr "Paramètres de GOsa 2/3"
+#: plugins/generic/references/class_aclResolver.inc:193
+msgid "ACLs"
+msgstr ""
 
-#: setup/class_setupStep_Config2.inc:82
-msgid "Customize special parameters"
-msgstr "Customiser les paramètres spéciaux"
+#: plugins/generic/references/class_aclResolver.inc:198
+#, php-format
+msgid "List of effective ACLs for '%s'"
+msgstr "Liste des ACL actives pour '%s'"
 
-#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
-msgid "Language setup"
-msgstr "Configuration de la langue"
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
+msgid "Object permissions"
+msgstr "Permissions des objets"
 
-#: setup/class_setupStep_Language.inc:42
-msgid "This step allows you to select your preferred language."
-msgstr "Cette étape vous permet de sélectionner votre langue préférée."
+#: plugins/generic/references/class_aclResolver.inc:311
+msgid "create"
+msgstr "Créer"
 
-#: setup/class_setupStep_Language.inc:47
-msgid "Automatic"
-msgstr "Automatique"
+#: plugins/generic/references/class_aclResolver.inc:312
+msgid "remove"
+msgstr "Supprimer"
 
+#: plugins/generic/references/class_aclResolver.inc:313
+msgid "move"
+msgstr "Bouger"
diff --git a/gosa-core/locale/core/it/LC_MESSAGES/messages.po b/gosa-core/locale/core/it/LC_MESSAGES/messages.po
index 2374a3d..c2cac91 100644
--- a/gosa-core/locale/core/it/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/it/LC_MESSAGES/messages.po
@@ -6,2510 +6,2548 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-09 20:24+0200\n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
 "PO-Revision-Date: 2005-11-18 15:26+0100\n"
 "Last-Translator: Alessandro Amici <a.amici at bopen.it>\n"
 "Language-Team: Italian\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.9.1\n"
 
-#: ihtml/themes/default/remove.tpl:2 ihtml/themes/default/msg_dialog.tpl:59
-#: ihtml/themes/default/msg_dialog.tpl:106 ihtml/themes/default/islocked.tpl:6
-#: ihtml/themes/default/conflict.tpl:6 html/password.php:280 html/index.php:57
-#: html/index.php:63 html/index.php:406 html/index.php:412
-#: include/functions.inc:954 include/functions.inc:2686
-#: include/functions.inc:2690 include/functions.inc:2696
-#: include/class_tabs.inc:268 include/utils/class_xml.inc:37
-#: plugins/admin/ogroups/remove.tpl:2 plugins/admin/groups/remove.tpl:2
-#: plugins/admin/groups/class_group.inc:994 plugins/admin/users/remove.tpl:2
-#: plugins/admin/departments/remove.tpl:2
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#: plugins/admin/acl/remove.tpl:2
-#: plugins/personal/posix/class_posixAccount.inc:793
-#: plugins/personal/posix/class_posixAccount.inc:946
-#: setup/class_setupStep_Migrate.inc:261 setup/class_setupStep_Migrate.inc:313
-#: setup/class_setupStep_Migrate.inc:446 setup/class_setupStep_Migrate.inc:523
-#: setup/class_setupStep_Migrate.inc:661 setup/class_setupStep_Migrate.inc:804
-#: setup/class_setupStep_Migrate.inc:2573
-#: setup/class_setupStep_Migrate.inc:2726
-#: setup/class_setupStep_Migrate.inc:3058 setup/setup_checks.tpl:32
-#: setup/setup_checks.tpl:93
-msgid "Warning"
-msgstr "Attenzione"
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
+msgstr "non configurata"
 
-#: ihtml/themes/default/remove.tpl:6
-msgid ""
-"This may be used by several groups. Please double check if your really want "
-"to do this since there is no way for GOsa to get your data back."
-msgstr ""
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
+#, fuzzy
+msgid "Permission"
+msgstr "Permessi"
 
-#: ihtml/themes/default/remove.tpl:9 plugins/admin/ogroups/remove.tpl:10
-#: plugins/admin/groups/remove.tpl:10 plugins/admin/users/remove.tpl:10
-#: plugins/admin/acl/remove.tpl:10
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
 #, fuzzy
-msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-"Quindi - Se sei sicuro - premi <i>Rimuovi</i> per continuare o <i>Annulla</"
-"i> per abortire."
+msgid "Permission error"
+msgstr "Permessi"
 
-#: ihtml/themes/default/remove.tpl:15
-#: ihtml/themes/default/copyPasteDialog.tpl:21
-#: ihtml/themes/default/acl.tpl:128 ihtml/themes/default/acl.tpl:142
-#: ihtml/themes/default/snapshotdialog.tpl:44
-#: ihtml/themes/default/snapshotdialog.tpl:89
-#: ihtml/themes/default/msg_dialog.tpl:79
-#: ihtml/themes/default/msg_dialog.tpl:139
-#: ihtml/themes/default/msg_dialog.tpl:144
-#: ihtml/themes/default/islocked.tpl:19 include/utils/class_msgPool.inc:312
-#: setup/setup_migrate.tpl:163 setup/setup_migrate.tpl:214
-#: setup/setup_migrate.tpl:261 setup/setup_migrate.tpl:326
-#: setup/setup_migrate.tpl:382 setup/setup_migrate.tpl:435
-#: setup/setup_migrate.tpl:480 setup/setup_migrate.tpl:523
-#: setup/setup_migrate.tpl:567 setup/setup_ldap.tpl:17
-#, php-format
-msgid "Cancel"
-msgstr "Annulla"
+#: include/class_management.inc:487
+#, fuzzy, php-format
+msgid "You are not allowed to create a snapshot for %s!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/login.tpl:10
-msgid "GOsa login screen"
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
+#, php-format
+msgid "Error"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:27
-#, fuzzy
-msgid "Login screen"
-msgstr "Utenti di Dominio"
-
-#: ihtml/themes/default/login.tpl:34
-#, fuzzy
-msgid ""
-"Please use your username and your password to log into the site "
-"administration system."
-msgstr "Usa il tuo <i>nome utente</i> e <i>password</i> per connetterti"
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, fuzzy, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/login.tpl:42 ihtml/themes/default/login.tpl:44
-#: ihtml/themes/default/password.tpl:69 ihtml/themes/default/password.tpl:71
-msgid "Username"
-msgstr "Nome utente"
+#: include/class_management.inc:549
+#, fuzzy, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/login.tpl:47 ihtml/themes/default/login.tpl:49
-#: ihtml/themes/default/password.tpl:40
-#: plugins/personal/generic/paste_generic.tpl:20
-#: plugins/personal/password/class_password.inc:26 setup/setup_config2.tpl:237
-#: setup/setup_config2.tpl:282 setup/setup_migrate.tpl:299
-msgid "Password"
-msgstr "Password"
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
+#, fuzzy
+msgid "Internal error"
+msgstr "Terminal Server"
 
-#: ihtml/themes/default/login.tpl:52 ihtml/themes/default/login.tpl:53
-#: ihtml/themes/default/password.tpl:60 ihtml/themes/default/password.tpl:62
-msgid "Directory"
-msgstr "Directory"
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
+msgid ""
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
+msgstr ""
 
-#: ihtml/themes/default/login.tpl:77 ihtml/themes/default/login.tpl:80
-msgid "Sign in"
-msgstr "Entra"
+#: include/class_management.inc:669
+#, php-format
+msgid ""
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
+msgstr ""
 
-#: ihtml/themes/default/login.tpl:78
-msgid "Click here to log in"
-msgstr "Clicca qui per connetterti"
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+#, fuzzy
+msgid "Configuration error"
+msgstr "File di configurazione"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:1
-msgid "Copy & paste wizard"
+#: include/class_pluglist.inc:147
+msgid "The configuration format has changed: please run the setup again!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:7
+#: include/class_pluglist.inc:304
+#, fuzzy
 msgid ""
-"Some values need to be unique in the complete directory while some "
-"combinations make no sense. GOsa shows the relevant attributes. Please "
-"maintain the values below to fullfill the policies."
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
 msgstr ""
+"Stai modificando un campo del database. Vuoi abbandonare i cambiamenti?"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:9
-msgid "Remember that some properties like taken snapshots will not be copied!"
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
+msgid "Unknown"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:10
-msgid ""
-"Or if you copy or cut an entry within GOsa and delete the source object, you "
-"may get errors while pasting this object again!"
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:330
+#: include/utils/class_msgPool.inc:19
 #, php-format
-msgid "Save"
-msgstr "Salva"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:24
-#, fuzzy
-msgid "Cancel all"
-msgstr "Annulla"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:30
-#, fuzzy
-msgid "Operation complete"
-msgstr "incompleto"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:32
-#: setup/class_setupStep_Finish.inc:37
-msgid "Finish"
-msgstr "Esegui"
+msgid "This %s object will be deleted!"
+msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:3
-msgid ""
-"The size limit option makes LDAP operations faster and saves the LDAP server "
-"from getting too much load. The easiest way to handle big databases without "
-"long timeouts would be to limit your search to smaller values and use "
-"filters to get the entries you are looking for."
+#: include/utils/class_msgPool.inc:24
+#, php-format
+msgid "This object will be deleted: %s"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:6
-msgid "Please choose the way to react for this session"
+#: include/utils/class_msgPool.inc:26
+#, php-format
+msgid "This %s object will be deleted: %s"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:9
-msgid "ignore this error and show all entries the LDAP server returns"
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:10
-msgid ""
-"ignore this error and show all entries that fit into the defined sizelimit "
-"and let me use filters instead"
+#: include/utils/class_msgPool.inc:33
+#, php-format
+msgid "This %s object will be deleted:"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
+#: include/utils/class_msgPool.inc:37
 #, php-format
-msgid "Set"
-msgstr "Imposta"
+msgid "These objects will be deleted: %s"
+msgstr ""
 
-#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
-msgid "Assigned ACL for current entry"
+#: include/utils/class_msgPool.inc:39
+#, php-format
+msgid "These %s objects will be deleted: %s"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:12 plugins/admin/acl/acl_role.tpl:38
+#: include/utils/class_msgPool.inc:47
 #, fuzzy
-msgid "New ACL"
-msgstr "Nuovo"
+msgid "You have no permission to delete this object!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/acl.tpl:17 plugins/admin/acl/acl_role.tpl:44
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
 #, fuzzy
-msgid "ACL type"
-msgstr "Tipo"
+msgid "You have no permission to delete the object:"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/acl.tpl:19 ihtml/themes/default/acl.tpl:24
-#: plugins/admin/acl/acl_role.tpl:44
+#: include/utils/class_msgPool.inc:58
 #, fuzzy
-msgid "Select an acl type"
-msgstr "Rimuovi"
-
-#: ihtml/themes/default/acl.tpl:29 ihtml/themes/default/acl.tpl:52
-#: ihtml/themes/default/acl.tpl:125 ihtml/themes/default/acl.tpl:140
-#: include/utils/class_msgPool.inc:324 setup/setup_migrate.tpl:161
-#: setup/setup_migrate.tpl:212 setup/setup_migrate.tpl:260
-#: setup/setup_migrate.tpl:325 setup/setup_migrate.tpl:380
-#: setup/setup_migrate.tpl:433 setup/setup_migrate.tpl:478
-#: setup/setup_migrate.tpl:521 setup/setup_migrate.tpl:565
-#: setup/setup_ldap.tpl:16
-#, php-format
-msgid "Apply"
-msgstr "Applica"
+msgid "You have no permission to delete these objects:"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/acl.tpl:36
+#: include/utils/class_msgPool.inc:65
 #, fuzzy
-msgid "Additional filter options"
-msgstr "Opzioni applicazione"
-
-#: ihtml/themes/default/acl.tpl:47
-msgid "Use members from"
-msgstr ""
-
-#: ihtml/themes/default/acl.tpl:61
-msgid "Available members"
-msgstr ""
-
-#: ihtml/themes/default/acl.tpl:63 ihtml/themes/default/acl.tpl:68
-msgid "List message possible targets"
-msgstr ""
-
-#: ihtml/themes/default/acl.tpl:82 include/class_acl.inc:1090
-msgid "Members"
-msgstr "Membri"
-
-#: ihtml/themes/default/acl.tpl:84 ihtml/themes/default/acl.tpl:90
-msgid "List message recipients"
-msgstr ""
+msgid "You have no permission to create this object!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/acl.tpl:104 plugins/admin/acl/acl_role.tpl:49
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
 #, fuzzy
-msgid "List of available ACL categories"
-msgstr "Scegli il tuo numero di telefono personale"
+msgid "You have no permission to create the object:"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/acl.tpl:112
+#: include/utils/class_msgPool.inc:76
 #, fuzzy
-msgid "ACL for this object"
-msgstr "Controllo il supporto per iconv"
+msgid "You have no permission to create these objects:"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/acl.tpl:118
+#: include/utils/class_msgPool.inc:83
 #, fuzzy
-msgid "Available roles"
-msgstr "Applicazioni disponibili"
+msgid "You have no permission to modify this object!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/accountexpired.tpl:15
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
 #, fuzzy
-msgid "Your password has expired. Please choose a new one!"
+msgid "You have no permission to modify the object:"
 msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/accountexpired.tpl:23
-#: ihtml/themes/default/accountexpired.tpl:27
+#: include/utils/class_msgPool.inc:94
 #, fuzzy
-msgid "Old password"
-msgstr "Password"
+msgid "You have no permission to modify these objects:"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/accountexpired.tpl:32
-#: ihtml/themes/default/accountexpired.tpl:36
-#: ihtml/themes/default/password.tpl:82 ihtml/themes/default/password.tpl:83
-#: html/password.php:196 plugins/admin/users/password.tpl:17
-#: plugins/admin/users/password.tpl:53
-#: plugins/admin/users/class_userManagement.inc:319
-#: plugins/personal/generic/password.tpl:22
-#: plugins/personal/generic/password.tpl:65
-#: plugins/personal/password/password.tpl:27
-#: plugins/personal/password/password.tpl:70
-msgid "New password"
-msgstr "Nuova password"
+#: include/utils/class_msgPool.inc:101
+#, fuzzy
+msgid "You have no permission to view this object!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/accountexpired.tpl:41
-#: ihtml/themes/default/accountexpired.tpl:45
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
 #, fuzzy
-msgid "Verify password"
-msgstr "Password"
+msgid "You have no permission to view the object:"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/accountexpired.tpl:51
-#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
-msgid "Change password"
-msgstr "Cambia la password"
+#: include/utils/class_msgPool.inc:112
+#, fuzzy
+msgid "You have no permission to view these objects:"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/accountexpired.tpl:52
-#: ihtml/themes/default/password.tpl:102
+#: include/utils/class_msgPool.inc:119
 #, fuzzy
-msgid "Click here to change your password"
+msgid "You have no permission to move this object!"
 msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/logout-close.tpl:5
-msgid "Your GOsa session has been closed!"
-msgstr ""
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
+#, fuzzy
+msgid "You have no permission to move the object:"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/logout-close.tpl:7
-msgid ""
-"Please close this browser window and clean the authentication caches to "
-"avoid an automatic re-authentication by your browser."
-msgstr ""
+#: include/utils/class_msgPool.inc:130
+#, fuzzy
+msgid "You have no permission to move these objects:"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: ihtml/themes/default/snapshotdialog.tpl:3
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
 #, fuzzy
-msgid "Restoring object snapshots"
-msgstr "Gruppo di oggetti"
+msgid "Connection information"
+msgstr "Informazioni personali"
 
-#: ihtml/themes/default/snapshotdialog.tpl:6
-msgid ""
-"This procedure will restore a snapshot of the selected object. It will "
-"replace the existing object after pressing the restore button."
-msgstr ""
+#: include/utils/class_msgPool.inc:142
+#, fuzzy, php-format
+msgid "Cannot connect to %s database!"
+msgstr "Impossibile connettersi al server del database!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:9
-msgid ""
-"Remember that DNS configuration and database entries could not be restored. "
-"For some objects it is only nescessary to open and save them again (goFon), "
-"but some entries must be recreated manually (glpi)."
-msgstr ""
+#: include/utils/class_msgPool.inc:154
+#, fuzzy, php-format
+msgid "Cannot select %s database!"
+msgstr "Impossibile selezionare il database!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:12
-msgid ""
-"Don't forget to check references to other objects, for example does the "
-"selected printer still exists ?"
+#: include/utils/class_msgPool.inc:160
+#, php-format
+msgid "No %s server defined!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:20
-#: ihtml/themes/default/snapshotdialog.tpl:62 include/class_acl.inc:777
-#: include/class_acl.inc:784 include/class_acl.inc:791
-#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
-#: plugins/admin/departments/class_department.inc:621
-msgid "Object"
-msgstr "Oggetto"
+#: include/utils/class_msgPool.inc:172
+#, fuzzy, php-format
+msgid "Cannot query %s database!"
+msgstr "Impossibile selezionare il database!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:29
-msgid "There is no snapshot available that could be restored"
+#: include/utils/class_msgPool.inc:178
+#, php-format
+msgid "The field %s contains a reserved keyword!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:31
-msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+#: include/utils/class_msgPool.inc:184
+#, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:49
-#, fuzzy
-msgid "Creating object snapshots"
-msgstr "Gruppo di oggetti"
+#: include/utils/class_msgPool.inc:191
+#, fuzzy, php-format
+msgid "%s command is invalid!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: ihtml/themes/default/snapshotdialog.tpl:52
-msgid ""
-"This procedure will create a snapshot of the selected object. It will be "
-"stored inside a special branch of your directory system and can be restored "
-"later on."
-msgstr ""
-
-#: ihtml/themes/default/snapshotdialog.tpl:55
-msgid ""
-"Remember that database entries, DNS configurations and possibly created "
-"zones in server extensions will not be stored in the snapshot."
-msgstr ""
+#: include/utils/class_msgPool.inc:193
+#, fuzzy, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: ihtml/themes/default/snapshotdialog.tpl:70
-#, fuzzy
-msgid "Timestamp"
-msgstr "Timeout"
+#: include/utils/class_msgPool.inc:195
+#, fuzzy, php-format
+msgid "%s command for plugin %s is invalid!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: ihtml/themes/default/snapshotdialog.tpl:79
-msgid "Reason for generating this snapshot"
-msgstr ""
+#: include/utils/class_msgPool.inc:197
+#, fuzzy, php-format
+msgid "%s command (%s) is invalid!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: ihtml/themes/default/snapshotdialog.tpl:87
-#: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:561
-#: plugins/admin/departments/class_department.inc:643
-msgid "Continue"
-msgstr "Continua"
+#: include/utils/class_msgPool.inc:205
+#, fuzzy, php-format
+msgid "Cannot execute %s command!"
+msgstr "Impossibile selezionare il database!"
 
-#: ihtml/themes/default/msg_dialog.tpl:57
-#: ihtml/themes/default/msg_dialog.tpl:104 html/index.php:224
-#: html/index.php:228 include/class_management.inc:448
-#: include/class_management.inc:584 include/class_management.inc:916
-#: include/password-methods/class_password-methods.inc:250
-#: include/password-methods/class_password-methods.inc:309
-#: include/password-methods/class_password-methods.inc:320
-#: include/class_listing.inc:480 include/functions.inc:3393
-#: include/functions.inc:3407 include/functions.inc:3437
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485 include/functions.inc:3545
-#: include/class_tabs.inc:56 include/class_plugin.inc:670
-#: include/class_plugin.inc:712 include/class_plugin.inc:755
-#: include/class_plugin.inc:1642 include/utils/class_xml.inc:40
-#: include/utils/class_msgPool.inc:154 include/utils/class_msgPool.inc:166
-#: include/utils/class_msgPool.inc:184 include/utils/class_msgPool.inc:457
-#: include/utils/class_msgPool.inc:478 include/utils/class_msgPool.inc:497
-#: include/class_gosaSupportDaemon.inc:1184
-#: include/class_gosaSupportDaemon.inc:1204
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:377 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:469
-#: plugins/admin/groups/class_group.inc:539
-#: plugins/admin/groups/class_group.inc:545
-#: plugins/admin/groups/class_group.inc:753
-#: plugins/admin/groups/class_group.inc:894
-#: plugins/admin/groups/class_group.inc:899
-#: plugins/admin/groups/class_group.inc:1221
-#: plugins/admin/departments/class_department.inc:311
-#: plugins/admin/acl/class_aclRole.inc:681
-#: plugins/personal/generic/class_user.inc:297
-#: plugins/personal/generic/class_user.inc:408
-#: plugins/personal/generic/class_user.inc:503
-#: plugins/personal/generic/class_user.inc:801
-#: plugins/personal/generic/class_user.inc:1190
-#: plugins/personal/generic/class_user.inc:1197
-#: plugins/personal/generic/class_user.inc:1215
-#: plugins/personal/generic/class_user.inc:1485
-#: plugins/personal/generic/class_user.inc:1783
-#: setup/class_setupStep_Migrate.inc:1201 setup/setup_checks.tpl:30
-#: setup/setup_checks.tpl:91
-#, php-format
-msgid "Error"
-msgstr ""
+#: include/utils/class_msgPool.inc:207
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
+msgstr "Impossibile selezionare il database!"
 
-#: ihtml/themes/default/msg_dialog.tpl:61
-#: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
-msgid "Information"
-msgstr "Informazioni"
+#: include/utils/class_msgPool.inc:209
+#, fuzzy, php-format
+msgid "Cannot execute %s command for plugin %s!"
+msgstr "Impossibile selezionare il database!"
 
-#: ihtml/themes/default/msg_dialog.tpl:76
-#: ihtml/themes/default/msg_dialog.tpl:78
-#: ihtml/themes/default/msg_dialog.tpl:134
-#: ihtml/themes/default/msg_dialog.tpl:137
-#: ihtml/themes/default/msg_dialog.tpl:142 include/utils/class_msgPool.inc:318
-#: setup/class_setupStep_Migrate.inc:267 setup/class_setupStep_Migrate.inc:319
-#: setup/class_setupStep_Migrate.inc:380 setup/class_setupStep_Migrate.inc:453
-#: setup/class_setupStep_Migrate.inc:530 setup/class_setupStep_Migrate.inc:604
-#: setup/class_setupStep_Migrate.inc:657 setup/class_setupStep_Migrate.inc:800
-#: setup/class_setupStep_Migrate.inc:1046
-#: setup/class_setupStep_Migrate.inc:2013
-#: setup/class_setupStep_Migrate.inc:2157
-#: setup/class_setupStep_Migrate.inc:2579
-#: setup/class_setupStep_Migrate.inc:2733
-#: setup/class_setupStep_Migrate.inc:3063 setup/setup_checks.tpl:27
-#: setup/setup_checks.tpl:87
-#, php-format
-msgid "Ok"
-msgstr ""
+#: include/utils/class_msgPool.inc:211
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s)!"
+msgstr "Impossibile selezionare il database!"
 
-#: ihtml/themes/default/password.tpl:6
-#, fuzzy
-msgid "Change your password"
-msgstr "Cambia la password"
+#: include/utils/class_msgPool.inc:219
+#, fuzzy, php-format
+msgid "Value for %s is too large!"
+msgstr "Il valore specificato per l'UID è troppo basso."
 
-#: ihtml/themes/default/password.tpl:35
-#, fuzzy
-msgid "Success"
-msgstr "Setup completato"
+#: include/utils/class_msgPool.inc:221
+#, fuzzy, php-format
+msgid "%s must be smaller than %s!"
+msgstr "PHP deve essere la versione 4.1.0 o superiore."
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Your password has been changed successfully."
-msgstr ""
+#: include/utils/class_msgPool.inc:229
+#, fuzzy, php-format
+msgid "Value for %s is too small!"
+msgstr "Il valore specificato per l'UID è troppo basso."
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:198
-#: plugins/admin/users/class_userManagement.inc:390
-#: plugins/personal/password/class_password.inc:128
-#: plugins/personal/password/class_password.inc:131
-#: plugins/personal/password/class_password.inc:134
-#: plugins/personal/password/class_password.inc:137
-#: plugins/personal/password/class_password.inc:140
-#: plugins/personal/password/class_password.inc:143
-#: plugins/personal/password/class_password.inc:157
-#: plugins/personal/password/class_password.inc:163
-#, fuzzy
-msgid "Password change"
-msgstr "Cambia la password"
+#: include/utils/class_msgPool.inc:231
+#, fuzzy, php-format
+msgid "%s must be %s or above!"
+msgstr "PHP deve essere la versione 4.1.0 o superiore."
 
-#: ihtml/themes/default/password.tpl:53
-msgid ""
-"This dialog provides a simple way to change your password. Enter the current "
-"password and the new password (twice) in the fields below and press the "
-"'Change' button."
+#: include/utils/class_msgPool.inc:238
+#, php-format
+msgid "%s depends on %s - please provide both values!"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/generic/password.tpl:17
-#: plugins/personal/generic/password.tpl:44
-#: plugins/personal/password/password.tpl:22
-#: plugins/personal/password/password.tpl:49
-msgid "Current password"
-msgstr "Password attuale"
-
-#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:87
-#, fuzzy
-msgid "New password repeated"
-msgstr "Nuova password"
-
-#: ihtml/themes/default/password.tpl:90
-#: plugins/personal/generic/password.tpl:32
-#: plugins/personal/generic/password.tpl:75
-#: plugins/personal/password/password.tpl:37
-#: plugins/personal/password/password.tpl:80
-#, fuzzy
-msgid "Password strength"
-msgstr "Algorimo password"
-
-#: ihtml/themes/default/password.tpl:101
-#, fuzzy
-msgid "Change"
-msgstr "Annulla"
-
-#: ihtml/themes/default/islocked.tpl:2
-msgid "Locking conflict detected"
-msgstr "Rilevato un conflitto di accesso"
-
-#: ihtml/themes/default/islocked.tpl:9
-msgid ""
-"If this lock detection is false, the other person has obviously closed the "
-"webbrowser during the edit operation. You may want to take over the lock by "
-"pressing the 'Edit anyway' button."
+#: include/utils/class_msgPool.inc:244
+#, php-format
+msgid "There is already an entry with this %s attribute in the system!"
 msgstr ""
 
-#: ihtml/themes/default/islocked.tpl:16
-msgid "Read only"
-msgstr ""
+#: include/utils/class_msgPool.inc:250
+#, fuzzy, php-format
+msgid "The required field %s is empty!"
+msgstr "Il campo necessario 'Home directory' non è vuoto"
 
-#: ihtml/themes/default/help.tpl:9
-msgid "GOsa help viewer"
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
 msgstr ""
 
-#: ihtml/themes/default/help.tpl:15
-msgid "Index"
+#: include/utils/class_msgPool.inc:278
+#, php-format
+msgid "The Field %s contains invalid characters"
 msgstr ""
 
-#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:13
-msgid "Search"
-msgstr "Cerca"
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s is not allowed:"
+msgstr "Cambia la password"
 
-#: ihtml/themes/default/logout.tpl:5
-msgid "Your GOsa session has expired!"
-msgstr ""
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s are not allowed!"
+msgstr "Cambia la password"
 
-#: ihtml/themes/default/logout.tpl:7
-msgid ""
-"The last interaction with the GOsa web interface has been some time ago in "
-"the past. For security reasons, the session has been closed. To continue "
-"with administrative tasks, please sign in again."
+#: include/utils/class_msgPool.inc:282
+#, php-format
+msgid "The Field %s contains invalid characters!"
 msgstr ""
 
-#: ihtml/themes/default/logout.tpl:10
-#, fuzzy
-msgid "Sign in again"
-msgstr "Entra"
+#: include/utils/class_msgPool.inc:289
+#, fuzzy, php-format
+msgid "Missing %s PHP extension!"
+msgstr "Elimina foto"
 
-#: ihtml/themes/default/conflict.tpl:2
-msgid "Session conflict detected"
-msgstr "Rilevato un conflitto di sessione"
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
+#: ihtml/themes/default/copyPasteDialog.tpl:21
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
+msgstr "Annulla"
 
-#: ihtml/themes/default/conflict.tpl:6
-msgid ""
-"Probably there's another active instance of your session. Multiple window "
-"operation is technical not possible and heavily depends on the browser "
-"you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is "
-"possible. Pressing the Logout button will close this session."
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
+#: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
+#: ihtml/themes/default/msg_dialog.tpl:139
+#: ihtml/themes/default/msg_dialog.tpl:144
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
+#, php-format
+msgid "OK"
 msgstr ""
 
-#: ihtml/themes/default/conflict.tpl:10
-msgid ""
-"Ignoring this message will change/destroy the data you're currently editing, "
-"so please close multiple windows and log in again."
-msgstr ""
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
+msgstr "Applica"
 
-#: ihtml/themes/default/conflict.tpl:14
-msgid "Logout"
-msgstr "Termina sessione"
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
+msgstr "Salva"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-#: ihtml/themes/default/framework.tpl:20 ihtml/themes/default/framework.tpl:24
-#: include/class_pluglist.inc:212
-msgid ""
-"You are currently editing a database entry. Do you want to dismiss the "
-"changes?"
-msgstr ""
-"Stai modificando un campo del database. Vuoi abbandonare i cambiamenti?"
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
+msgstr "Aggiungi"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-msgid "Main"
-msgstr "Principale"
+#: include/utils/class_msgPool.inc:319
+#, fuzzy, php-format
+msgid "Add %s"
+msgstr "Aggiungi"
 
-#: ihtml/themes/default/framework.tpl:16
-msgid "Help"
-msgstr "Aiuto"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
+msgstr "Rimuovi"
 
-#: ihtml/themes/default/framework.tpl:21 ihtml/themes/default/framework.tpl:25
-msgid "Sign out"
-msgstr "Termina la sessione"
+#: include/utils/class_msgPool.inc:325
+#, fuzzy, php-format
+msgid "Delete %s"
+msgstr "Rimuovi"
 
-#: ihtml/themes/default/framework.tpl:29
-msgid "Signed in:"
-msgstr "Connesso:"
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
+msgstr "Imposta"
 
-#: ihtml/themes/default/framework.tpl:32
-msgid "GOsa main menu"
-msgstr ""
+#: include/utils/class_msgPool.inc:331
+#, fuzzy, php-format
+msgid "Set %s"
+msgstr "Imposta"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:454
-#: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:433
-#, fuzzy
-msgid "Fatal error"
-msgstr "Terminal Server"
+#: include/utils/class_msgPool.inc:337
+#, fuzzy, php-format
+msgid "Edit..."
+msgstr "Modifica"
 
-#: html/password.php:58 html/index.php:144
+#: include/utils/class_msgPool.inc:337
 #, fuzzy, php-format
-msgid "GOsa configuration %s/%s is not readable. Aborted."
-msgstr "Il file di configurazione di GOsa %s/gosa.conf non è legibile."
+msgid "Edit %s..."
+msgstr "Modifica contatto"
 
-#: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:268
-#: include/password-methods/class_password-methods-ssha.inc:51
-#: include/password-methods/class_password-methods-sha.inc:48
-#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:58
-#: include/class_SnapshotHandler.inc:76 include/functions.inc:825
-#: include/functions.inc:3067 include/functions.inc:3099
-#: include/functions.inc:3112 include/utils/class_timezone.inc:47
-#: include/class_config.inc:155 include/class_config.inc:695
-#: include/class_config.inc:1146 include/class_config.inc:1159
-#: include/class_config.inc:1177 include/class_pluglist.inc:182
-#: include/class_CopyPasteHandler.inc:119
-#: include/class_CopyPasteHandler.inc:128
-#: include/class_CopyPasteHandler.inc:177
-#: include/class_CopyPasteHandler.inc:186
-#: include/class_CopyPasteHandler.inc:194
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:667
-#: plugins/admin/groups/class_group.inc:1358
-#, fuzzy
-msgid "Configuration error"
-msgstr "File di configurazione"
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
+msgstr "Indietro"
 
-#: html/password.php:74 html/index.php:165 html/setup.php:66
-#, php-format
-msgid "Directory '%s' specified as compile directory is not accessible!"
-msgstr ""
+#: include/utils/class_msgPool.inc:363
+#, fuzzy, php-format
+msgid "This account has no valid %s extensions!"
+msgstr "Questa identità non possiede estensioni GOsa."
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:593
-#, fuzzy
-msgid "Password method"
-msgstr "Algorimo password"
+#: include/utils/class_msgPool.inc:369
+#, fuzzy, php-format
+msgid ""
+"This account has %s settings enabled. You can disable them by clicking below."
+msgstr "Questa identià possiede estensioni Unix."
 
-#: html/password.php:159
-msgid "Error: Password method not available!"
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, fuzzy, php-format
+msgid ""
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
 msgstr ""
+"Questa identià possiede estensioni Unix. Per eliminarle devi eliminare prima "
+"le estensioni Samba / ambiente."
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:316
-#: plugins/personal/password/class_password.inc:132
+#: include/utils/class_msgPool.inc:388
+#, fuzzy, php-format
 msgid ""
-"The passwords you've entered as 'New password' and 'Repeated new password' "
-"do not match."
-msgstr "Le password nuova e ripetuta non corrispondono"
+"This account has %s settings disabled. You can enable them by clicking below."
+msgstr "Questa identità non possiede estensioni Unix"
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:138
-msgid "The password used as new and current are too similar."
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, fuzzy, php-format
+msgid ""
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
 msgstr ""
-"La password immessa come 'Nuova password' è troppo simile a quella attuale."
+"Questa identià possiede estensioni Unix. Per eliminarle devi eliminare prima "
+"le estensioni Samba / ambiente."
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:141
-msgid "The password used as new is to short."
-msgstr "La 'Nuova password' immessa è troppo corta."
+#: include/utils/class_msgPool.inc:406
+#, fuzzy, php-format
+msgid "Add %s settings"
+msgstr "Opzioni applicazione"
 
-#: html/password.php:215 plugins/admin/groups/userSelect/user-list.xml:56
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
-#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
-#: plugins/personal/generic/class_user.inc:1313
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1345
-#: plugins/personal/generic/class_user.inc:1347
-#: plugins/personal/generic/generic.tpl:82
-#: plugins/personal/generic/paste_generic.tpl:15
-msgid "Login"
-msgstr "Nome utente"
+#: include/utils/class_msgPool.inc:412
+#, fuzzy, php-format
+msgid "Remove %s settings"
+msgstr "Impostazioni Unix"
 
-#: html/password.php:224 html/index.php:321
-msgid "Please check the username/password combination."
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
 msgstr ""
+"Click sul bottone 'Modifica' qui sotto per cambiare le informazioni in "
+"questo dialogo"
 
-#: html/password.php:228
-msgid "You have no permissions to change your password."
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/utils/class_msgPool.inc:424
+msgid "January"
+msgstr "Gennaio"
 
-#: html/password.php:249
-msgid "External password changer reported a problem: "
-msgstr "Il programma esterno per cambiare la password ha avuto un problema:"
+#: include/utils/class_msgPool.inc:424
+msgid "February"
+msgstr "Febbraio"
 
-#: html/password.php:280 html/index.php:406
-msgid "Session will not be encrypted."
-msgstr ""
+#: include/utils/class_msgPool.inc:424
+msgid "March"
+msgstr "Marzo"
 
-#: html/password.php:280 html/index.php:406
-msgid "Enter SSL session"
-msgstr ""
+#: include/utils/class_msgPool.inc:424
+msgid "April"
+msgstr "Aprile"
 
-#: html/index.php:57
-#, fuzzy
-msgid "Session is not encrypted!"
-msgstr "Rilevato un conflitto di sessione"
+#: include/utils/class_msgPool.inc:425
+msgid "May"
+msgstr "Maggio"
 
-#: html/index.php:64
-msgid ""
-"The session lifetime configured in your gosa.conf will be overridden by php."
-"ini settings."
-msgstr ""
+#: include/utils/class_msgPool.inc:425
+msgid "June"
+msgstr "Giugno"
 
-#: html/index.php:165
-#, fuzzy
-msgid "Smarty error"
-msgstr "Stato"
+#: include/utils/class_msgPool.inc:425
+msgid "July"
+msgstr "Luglio"
 
-#: html/index.php:216
-msgid "There is a problem with the authentication setup!"
-msgstr ""
-
-#: html/index.php:224
-msgid "Cannot find a valid user for the current authentication setup!"
-msgstr ""
-
-#: html/index.php:228
-msgid "User information is not unique accross the configured LDAP trees!"
-msgstr ""
-
-#: html/index.php:254 html/index.php:265 html/index.php:278
-#: include/class_SnapshotHandler.inc:124 include/class_SnapshotHandler.inc:281
-#: include/class_SnapshotHandler.inc:329 include/class_SnapshotHandler.inc:333
-#: include/class_SnapshotHandler.inc:348 include/class_SnapshotHandler.inc:383
-#: include/class_SnapshotHandler.inc:438 include/class_SnapshotHandler.inc:503
-#: include/class_SnapshotHandler.inc:518 include/class_acl.inc:1233
-#: include/class_acl.inc:1329 include/functions.inc:483
-#: include/functions.inc:518 include/functions.inc:526
-#: include/functions.inc:571 include/functions.inc:840
-#: include/functions.inc:889 include/functions.inc:946
-#: include/functions.inc:999 include/functions.inc:3046
-#: include/functions.inc:3319 include/class_plugin.inc:1319
-#: include/class_plugin.inc:1368 include/class_plugin.inc:1372
-#: include/class_plugin.inc:1388 include/class_plugin.inc:1428
-#: include/class_plugin.inc:1486 include/class_plugin.inc:1552
-#: include/class_plugin.inc:1567 include/class_ldap.inc:756
-#: include/class_ldap.inc:1222 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:888
-#: plugins/admin/ogroups/class_ogroup.inc:902
-#: plugins/admin/groups/class_group.inc:697
-#: plugins/admin/groups/class_group.inc:1018
-#: plugins/admin/departments/class_department.inc:279
-#: plugins/admin/departments/class_department.inc:476
-#: plugins/admin/departments/class_department.inc:750
-#: plugins/admin/departments/class_department.inc:781
-#: plugins/admin/acl/class_aclRole.inc:613
-#: plugins/admin/acl/class_aclRole.inc:653
-#: plugins/admin/acl/class_aclRole.inc:667
-#: plugins/personal/generic/class_user.inc:716
-#: plugins/personal/generic/class_user.inc:1112
-#: plugins/personal/posix/class_posixAccount.inc:631
-#: plugins/personal/posix/class_posixAccount.inc:963
-#: setup/class_setupStep_Migrate.inc:1212
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#: setup/class_setupStep_Migrate.inc:2143
-#: setup/class_setupStep_Migrate.inc:2440
-#: setup/class_setupStep_Migrate.inc:2444
-#: setup/class_setupStep_Migrate.inc:2634
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
-#: setup/class_setupStep_Migrate.inc:3118
-#: setup/class_setupStep_Migrate.inc:3132
-#, fuzzy
-msgid "LDAP error"
-msgstr "Errore LDAP"
+#: include/utils/class_msgPool.inc:425
+msgid "August"
+msgstr "Agosto"
 
-#: html/index.php:265
-msgid "Cannot detect information about the installed LDAP schema!"
-msgstr ""
+#: include/utils/class_msgPool.inc:425
+msgid "September"
+msgstr "Settembre"
 
-#: html/index.php:278
-msgid "Your LDAP setup contains old schema definitions:"
-msgstr ""
+#: include/utils/class_msgPool.inc:426
+msgid "October"
+msgstr "Ottobre"
 
-#: html/index.php:299
-msgid "Please specify a valid username!"
-msgstr ""
+#: include/utils/class_msgPool.inc:426
+msgid "November"
+msgstr "Novembre"
 
-#: html/index.php:302
-msgid "Please specify your password!"
-msgstr ""
+#: include/utils/class_msgPool.inc:426
+msgid "December"
+msgstr "Dicembre"
 
-#: html/index.php:314
+#: include/utils/class_msgPool.inc:432
 #, fuzzy
-msgid "Authentication error"
-msgstr "Destinazione"
+msgid "Sunday"
+msgstr "Cognome"
+
+#: include/utils/class_msgPool.inc:432
+#, fuzzy
+msgid "Monday"
+msgstr "mese"
 
-#: html/index.php:314
-msgid "Cannot retrieve user information for htaccess authentication!"
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
 msgstr ""
 
-#: html/index.php:369
-#, fuzzy
-msgid "Account locked. Please contact your system administrator!"
+#: include/utils/class_msgPool.inc:432
+msgid "Wednesday"
 msgstr ""
-"Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: html/index.php:412
-msgid ""
-"Your browser has cookies disabled. Please enable cookies and reload this "
-"page before logging in!"
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
 msgstr ""
 
-#: html/setup.php:66
-#, fuzzy
-msgid "Smarty"
-msgstr "Avvio"
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
+msgstr ""
 
-#: html/main.php:148
-#, php-format
-msgid "Cannot locate file '%s' - please run '%s' to fix this"
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
 msgstr ""
 
-#: html/main.php:167
+#: include/utils/class_msgPool.inc:439
 #, fuzzy
-msgid "PHP configuration"
-msgstr "Scarica il file di  configurazione"
+msgid "MySQL operation failed!"
+msgstr "La query al database è fallita!"
 
-#: html/main.php:168
-msgid ""
-"FATAL: Register globals is on. GOsa will refuse to login unless this is "
-"fixed by an administrator."
+#: include/utils/class_msgPool.inc:447
+#, fuzzy
+msgid "read operation"
+msgstr "Opzioni di posta"
+
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
 msgstr ""
 
-#: html/main.php:198
+#: include/utils/class_msgPool.inc:447
 #, fuzzy
-msgid "Your password is about to expire, please change your password!"
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid "modify operation"
+msgstr "Informazioni personali"
 
-#: html/main.php:268
-msgid "Running out of memory!"
-msgstr ""
+#: include/utils/class_msgPool.inc:448
+#, fuzzy
+msgid "delete operation"
+msgstr "Selezione le workstation da aggiungere"
 
-#: html/main.php:325
-msgid "User ACL checks disabled"
-msgstr ""
+#: include/utils/class_msgPool.inc:448
+#, fuzzy
+msgid "search operation"
+msgstr "L'account spira dopo"
 
-#: html/main.php:373
+#: include/utils/class_msgPool.inc:448
 #, fuzzy
-msgid "Plugin"
-msgstr "Ricerca"
+msgid "authentication"
+msgstr "Destinazione"
 
-#: html/main.php:374
-#, php-format
-msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
-msgstr ""
+#: include/utils/class_msgPool.inc:451
+#, fuzzy, php-format
+msgid "LDAP %s failed!"
+msgstr "La query al database è fallita!"
 
-#: html/main.php:388
+#: include/utils/class_msgPool.inc:453
 #, fuzzy
-msgid "Configuration Error"
-msgstr "File di configurazione"
+msgid "LDAP operation failed!"
+msgstr "La query al database è fallita!"
 
-#: html/main.php:389
-#, php-format
-msgid ""
-"FATAL: not all POST variables have been transfered by PHP - please inform "
-"your administrator!"
-msgstr ""
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
+msgstr "Oggetto"
 
-#: html/helpviewer.php:64
-msgid "Help browser"
-msgstr ""
+#: include/utils/class_msgPool.inc:469
+#, fuzzy
+msgid "Upload failed!"
+msgstr "Nome applicazione"
 
-#: html/helpviewer.php:118
-msgid "There is no helpfile specified for this class"
+#: include/utils/class_msgPool.inc:472
+#, fuzzy, php-format
+msgid "Upload failed: %s"
+msgstr "Utenti di Dominio"
+
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
 msgstr ""
 
-#: html/helpviewer.php:194 include/functions_helpviewer.inc:97
-msgid "previous"
+#: include/utils/class_msgPool.inc:481
+#, php-format
+msgid "Communication failure with the infrastructure service: %s"
 msgstr ""
 
-#: html/helpviewer.php:198 include/functions_helpviewer.inc:101
-msgid "next"
+#: include/utils/class_msgPool.inc:488
+msgid "Communication failure with the GOsa-NG service!"
 msgstr ""
 
-#: html/helpviewer.php:269
+#: include/utils/class_msgPool.inc:490
 #, php-format
-msgid "Helpdir '%s' is not accessible, can't read any helpfiles."
+msgid "Communication failure with the GOsa-NG service: %s"
 msgstr ""
 
-#: include/class_management.inc:32 include/class_management.inc:33
-#: plugins/personal/posix/class_posixAccount.inc:237
-msgid "unconfigured"
-msgstr "non configurata"
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
+#, fuzzy, php-format
+msgid "This %s is still in use by this object: %s"
+msgstr "Nome descrittivo del gruppo"
 
-#: include/class_management.inc:145
-#, fuzzy
-msgid "Filter error"
-msgstr "Terminal Server"
+#: include/utils/class_msgPool.inc:503
+#, fuzzy, php-format
+msgid "This %s is still in use."
+msgstr "Nome descrittivo del gruppo"
+
+#: include/utils/class_msgPool.inc:505
+#, fuzzy, php-format
+msgid "This %s is still in use by these objects: %s"
+msgstr "Nome descrittivo del gruppo"
 
-#: include/class_management.inc:145
-msgid "The filter is incomplete!"
+#: include/utils/class_msgPool.inc:511
+#, php-format
+msgid "File %s does not exist!"
 msgstr ""
 
-#: include/class_management.inc:292 include/class_management.inc:427
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1590
-#: include/class_plugin.inc:1602 include/class_plugin.inc:1617
-#: include/class_plugin.inc:1630
-#: plugins/admin/users/class_userManagement.inc:236
-#: plugins/admin/users/class_userManagement.inc:744
-#, fuzzy
-msgid "Permission"
-msgstr "Permessi"
+#: include/utils/class_msgPool.inc:517
+#, fuzzy, php-format
+msgid "Cannot open file %s for reading!"
+msgstr "Rimuovi"
 
-#: include/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:702
-#: plugins/admin/users/class_userManagement.inc:706
-#: plugins/admin/acl/class_aclManagement.inc:98
-#, fuzzy
-msgid "Permission error"
-msgstr "Permessi"
+#: include/utils/class_msgPool.inc:523
+#, fuzzy, php-format
+msgid "Cannot open file %s for writing!"
+msgstr "Rimuovi"
 
-#: include/class_management.inc:427 include/class_plugin.inc:1590
+#: include/utils/class_msgPool.inc:529
 #, fuzzy, php-format
-msgid "You are not allowed to create a snapshot for %s."
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid ""
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
+msgstr "Impossibile connettersi al server del database!"
 
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1602
-#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
+#: include/utils/class_msgPool.inc:535
 #, fuzzy, php-format
-msgid "You are not allowed to restore a snapshot for %s."
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid "Cannot delete file %s!"
+msgstr "Rimuovi"
 
-#: include/class_management.inc:584
-#, php-format
-msgid ""
-"No tab declaration for '%s' found in your configuration file. Cannot create "
-"plugin instance!"
-msgstr ""
+#: include/utils/class_msgPool.inc:541
+#, fuzzy, php-format
+msgid "Cannot create folder %s!"
+msgstr "Vai al dipartimento base"
 
-#: include/class_socketClient.inc:60
-msgid "The mcrypt module was not found. Please install php5-mcrypt."
-msgstr ""
+#: include/utils/class_msgPool.inc:547
+#, fuzzy, php-format
+msgid "Cannot delete folder %s!"
+msgstr "Rimuovi"
 
-#: include/class_socketClient.inc:108
-#, php-format
-msgid "Socket connection to host '%s:%s' failed: %s"
-msgstr ""
+#: include/utils/class_msgPool.inc:553
+#, fuzzy, php-format
+msgid "Checking for %s support"
+msgstr "Controllo il supporto per iconv"
 
-#: include/class_socketClient.inc:191
+#: include/utils/class_msgPool.inc:559
 #, php-format
-msgid "Socket timeout of %s seconds reached."
-msgstr ""
-
-#: include/password-methods/class_password-methods.inc:250
-msgid "Cannot find a suitable password method for the current hash!"
+msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:46 include/class_SnapshotHandler.inc:77
-#: include/class_config.inc:1147 include/class_config.inc:1178
+#: include/utils/class_msgPool.inc:565
 #, php-format
 msgid ""
-"The snapshot functionality is enabled, but the required variable '%s' is not "
-"set."
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:59 include/class_config.inc:1160
-#, php-format
+#: include/utils/class_msgPool.inc:571
 msgid ""
-"The snapshot functionality is enabled, but the required compression module "
-"is missing. Please install '%s'."
+"The supplied base is not valid and has been reset to its previous value!"
 msgstr ""
 
-#: include/class_acl.inc:27
-#, fuzzy
-msgid "Access control"
-msgstr "Opzioni di accesso"
+#: include/utils/class_timezone.inc:47
+#, fuzzy, php-format
+msgid "The configured timezone %s is not valid!"
+msgstr "Il file di configurazione di GOsa %s/gosa.conf non è legibile."
 
-#: include/class_acl.inc:28 plugins/admin/acl/class_aclManagement.inc:26
-#, fuzzy
-msgid "Manage access control lists"
-msgstr "Opzioni di accesso"
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
+msgstr "Attenzione"
 
-#: include/class_acl.inc:120 include/class_acl.inc:581
-#: include/class_acl.inc:1009
-#, fuzzy, php-format
-msgid "All users"
-msgstr "utenti"
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+#, fuzzy
+msgid "Fatal error"
+msgstr "Terminal Server"
 
-#: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
+#: include/utils/class_xml.inc:51
 #, fuzzy
-msgid "All categories"
-msgstr "Aggiungi contatto"
+msgid "XML error"
+msgstr "Errore LDAP"
 
-#: include/class_acl.inc:222
-msgid "Reset ACLs"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
 msgstr ""
 
-#: include/class_acl.inc:223 plugins/admin/acl/class_aclRole.inc:135
-msgid "One level"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
 msgstr ""
 
-#: include/class_acl.inc:224 include/class_acl.inc:229
-#: plugins/admin/acl/class_aclRole.inc:136
+#: include/class_listing.inc:319
 #, fuzzy
-msgid "Current object"
-msgstr "Password attuale"
+msgid "Select all"
+msgstr "Rimuovi"
 
-#: include/class_acl.inc:225 plugins/admin/acl/class_aclRole.inc:137
+#: include/class_listing.inc:578
 #, fuzzy
-msgid "Complete subtree"
-msgstr "incompleto"
+msgid "created by"
+msgstr "Creare"
 
-#: include/class_acl.inc:226 plugins/admin/acl/class_aclRole.inc:138
-msgid "Complete subtree (permanent)"
-msgstr ""
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
+msgid "Root"
+msgstr "Root"
 
-#: include/class_acl.inc:227 include/class_acl.inc:230
-msgid "Use ACL defined in role"
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
 msgstr ""
 
-#: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1674
-#: setup/class_setupStep_Migrate.inc:1040
-msgid "Users"
-msgstr "Utenti"
-
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
-#: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1043
-msgid "Groups"
-msgstr "Gruppi di utenti"
-
-#: include/class_acl.inc:496 include/class_listing.inc:242
-#: include/class_listing.inc:999 include/class_listing.inc:1001
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:372
-msgid "Up"
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
 msgstr ""
 
-#: include/class_acl.inc:498 include/class_listing.inc:242
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:374
-#, fuzzy
-msgid "Down"
-msgstr "Dominio"
-
-#: include/class_acl.inc:503 include/class_acl.inc:551
-#: include/class_sortableListing.inc:192 include/class_sortableListing.inc:194
-#: plugins/admin/ogroups/ogroup-list.xml:91
-#: plugins/admin/groups/group-list.xml:108
-#: plugins/admin/users/user-list.xml:114
-#: plugins/admin/departments/dep-list.xml:172
-#: plugins/admin/acl/class_aclRole.inc:377
-#: plugins/admin/acl/class_aclRole.inc:426 plugins/admin/acl/acl-list.xml:131
-msgid "Edit"
-msgstr "Modifica"
-
-#: include/class_acl.inc:503 include/class_acl.inc:507
-#: include/class_acl.inc:1265 include/class_acl.inc:1266
-#: include/class_acl.inc:1271 include/class_tabs.inc:401
-#: plugins/admin/acl/tabs_acl.inc:28 plugins/admin/acl/class_aclRole.inc:378
-#: plugins/admin/acl/class_aclRole.inc:382
-#: plugins/admin/acl/class_aclRole.inc:762
-msgid "ACL"
-msgstr "ACL"
+#: include/class_listing.inc:1079
+msgid "Reload list"
+msgstr ""
 
-#: include/class_acl.inc:507 include/class_acl.inc:555
-#: include/class_sortableListing.inc:197 include/class_sortableListing.inc:199
-#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
-#: plugins/admin/acl/class_aclRole.inc:430
-#, php-format
-msgid "Delete"
-msgstr "Rimuovi"
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
+msgid "Actions"
+msgstr "Azioni"
 
-#: include/class_acl.inc:543
+#: include/class_listing.inc:1453
 #, fuzzy
-msgid "No ACL settings for this category!"
-msgstr "Nome descrittivo del gruppo"
-
-#: include/class_acl.inc:545
-#, php-format
-msgid "Contains ACLs for these objects: %s"
-msgstr ""
+msgid "Copy"
+msgstr "Azienda"
 
-#: include/class_acl.inc:551 include/class_acl.inc:555
+#: include/class_listing.inc:1459
 #, fuzzy
-msgid "category ACL"
-msgstr "classe"
-
-#: include/class_acl.inc:608
-#, php-format
-msgid "Edit ACL for '%s' - scope is '%s'"
-msgstr ""
-
-#: include/class_acl.inc:618 plugins/admin/acl/class_aclRole.inc:460
-msgid "All objects in current subtree"
-msgstr ""
+msgid "Cut"
+msgstr "Esegui"
 
-#: include/class_acl.inc:779 include/class_acl.inc:786
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
 #, fuzzy
-msgid "Show/hide advanced settings"
-msgstr "Opzioni di posta avanzate"
+msgid "Paste"
+msgstr "Data"
 
-#: include/class_acl.inc:803
+#: include/class_listing.inc:1492
 #, fuzzy
-msgid "Create objects"
-msgstr "Gruppo di oggetti"
+msgid "Cut this entry"
+msgstr "Modifica questo record"
 
-#: include/class_acl.inc:804
+#: include/class_listing.inc:1501
 #, fuzzy
-msgid "Move objects"
-msgstr "Oggetti membri"
+msgid "Copy this entry"
+msgstr "Modifica questo record"
 
-#: include/class_acl.inc:805
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
 #, fuzzy
-msgid "Remove objects"
-msgstr "Oggetti membri"
+msgid "Restore snapshots"
+msgstr "Crea estensioni di posta"
 
-#: include/class_acl.inc:807
+#: include/class_listing.inc:1549
 #, fuzzy
-msgid "Grant permission to owner"
-msgstr "Rimuovi"
-
-#: include/class_acl.inc:811 include/class_acl.inc:916
-#: include/class_acl.inc:920
-msgid "read"
-msgstr "leggere"
+msgid "Export list"
+msgstr "Esporta"
 
-#: include/class_acl.inc:812 include/class_acl.inc:918
-#: include/class_acl.inc:921
-msgid "write"
-msgstr "scrivere"
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
+msgid "Restore snapshot"
+msgstr ""
 
-#: include/class_acl.inc:816
+#: include/class_listing.inc:1591
 #, fuzzy
-msgid "Complete object"
+msgid "Create new snapshot for this object"
 msgstr "Gruppo di oggetti"
 
-#: include/class_acl.inc:960 include/class_session.inc:76
-#: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:611 include/functions.inc:815
-#: include/functions.inc:933 include/functions.inc:1331
-#: include/functions.inc:2414 include/functions.inc:2448
-#: include/functions.inc:2468 include/class_ldap.inc:693
-#: include/class_ldap.inc:744 include/class_log.inc:87
-#: include/class_CopyPasteHandler.inc:160
-#: include/class_CopyPasteHandler.inc:274
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
 #, fuzzy
-msgid "Internal error"
-msgstr "Terminal Server"
+msgid "Parent filter"
+msgstr "Parametro"
 
-#: include/class_acl.inc:960
-#, php-format
-msgid "Unkown ACL type '%s'!"
-msgstr ""
-
-#: include/class_acl.inc:1005
-#, php-format
-msgid "Unknown entry '%s'!"
-msgstr ""
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
+msgstr "Cognome"
 
-#: include/class_acl.inc:1069 include/class_acl.inc:1071
-#, fuzzy, php-format
-msgid "Role: %s"
-msgstr "Ruolo"
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
+msgstr "Descrizione"
 
-#: include/class_acl.inc:1071
-msgid "unknown role"
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
 msgstr ""
 
-#: include/class_acl.inc:1079
-#, fuzzy, php-format
-msgid "Contains settings for these objects: %s"
-msgstr "Nome descrittivo del gruppo"
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+msgid "Options"
+msgstr "Opzioni"
 
-#: include/class_acl.inc:1096
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
 #, fuzzy
-msgid "inactive"
-msgstr "Privato"
+msgid "LDAP error"
+msgstr "Errore LDAP"
 
-#: include/class_acl.inc:1096
-#, fuzzy
-msgid "No members"
-msgstr "Membri del gruppo"
+#: include/class_log.inc:87
+#, fuzzy, php-format
+msgid "Logging failed: %s"
+msgstr "Utenti di Dominio"
 
-#: include/class_acl.inc:1266
-#, fuzzy
-msgid "Access control list"
-msgstr "Opzioni di accesso"
+#: include/class_log.inc:102
+#, fuzzy, php-format
+msgid "Invalid option %s specified!"
+msgstr "L'uid contiene dei caratteri invalidi!"
 
-#: include/class_acl.inc:1271
+#: include/class_log.inc:106
 #, fuzzy
-msgid "ACL roles"
-msgstr "ACL"
+msgid "Specified 'objectType' is empty or invalid!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/class_session.inc:76 include/class_session.inc:101
-#: include/class_session.inc:127
-#, fuzzy
-msgid "Requested channel does not exist! Please contact your Administrator."
+#: include/class_multi_plug.inc:362
+msgid "You are currently editing multiple entries."
 msgstr ""
-"Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: include/class_listing.inc:301 setup/setup_migrate.tpl:93
-#: setup/setup_migrate.tpl:149 setup/setup_migrate.tpl:201
-#: setup/setup_migrate.tpl:368 setup/setup_migrate.tpl:421
-#: setup/setup_migrate.tpl:464 setup/setup_migrate.tpl:507
-#: setup/setup_migrate.tpl:551
+#: include/class_multi_plug.inc:394
 #, fuzzy
-msgid "Select all"
-msgstr "Rimuovi"
+msgid "Reset password"
+msgstr "Cambia password"
 
-#: include/class_listing.inc:522
+#: include/class_multi_plug.inc:394
 #, fuzzy
-msgid "created by"
-msgstr "Creare"
+msgid "The user password has been reset. Please set a new password!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: include/class_listing.inc:991
-msgid "Go to root department"
-msgstr "Vai al dipartimento base"
+#: include/class_tabs.inc:72
+#, fuzzy, php-format
+msgid "No plugin definition for %s found: please check the configuration file!"
+msgstr "Impossibile connettersi al server del database!"
 
-#: include/class_listing.inc:991 include/class_listing.inc:993
-#: include/class_baseSelector.inc:159
-msgid "Root"
-msgstr "Root"
+#: include/class_tabs.inc:287
+#, php-format
+msgid "Delete process has been canceled by plugin %s: %s"
+msgstr ""
 
-#: include/class_listing.inc:999
-msgid "Go up one department"
-msgstr "Sali di dipartimento"
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
+msgstr "ACL"
 
-#: include/class_listing.inc:1007
-msgid "Go to users department"
-msgstr "Vai agli utenti del dipartimento"
+#: include/class_tabs.inc:425
+msgid "References"
+msgstr "Riferimenti"
 
-#: include/class_listing.inc:1007 include/class_listing.inc:1009
-msgid "Home"
-msgstr "Home"
+#: include/functions_helpviewer.inc:45
+#, php-format
+msgid "XML error in guide.xml: %s at line %s"
+msgstr ""
 
-#: include/class_listing.inc:1014
-msgid "Reload list"
+#: include/functions_helpviewer.inc:88
+msgid "No help available for this plug-in."
 msgstr ""
 
-#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
-msgid "Submit"
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
 msgstr ""
 
-#: include/class_listing.inc:1109 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:64
-#: plugins/admin/groups/group-list.xml:79 plugins/admin/users/user-list.xml:78
-#: plugins/admin/departments/dep-list.xml:87 plugins/admin/acl/acl-list.xml:65
-msgid "Actions"
-msgstr "Azioni"
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
+msgid "next"
+msgstr ""
 
-#: include/class_listing.inc:1380 include/class_listing.inc:1430
-#: include/class_plugin.inc:2114
-#, fuzzy
-msgid "Copy"
-msgstr "Azienda"
+#: include/functions_helpviewer.inc:388
+#, php-format
+msgid "%s results for your search with the keyword %s"
+msgstr ""
 
-#: include/class_listing.inc:1386 include/class_listing.inc:1420
-#: include/class_plugin.inc:2118
-#, fuzzy
-msgid "Cut"
-msgstr "Esegui"
+#: include/functions_helpviewer.inc:461
+#, php-format
+msgid "%s%% hit rate in file %s"
+msgstr ""
 
-#: include/class_listing.inc:1394 include/class_listing.inc:1396
-#: include/class_plugin.inc:2125 include/class_plugin.inc:2128
-#: include/class_CopyPasteHandler.inc:570
-#, fuzzy
-msgid "Paste"
-msgstr "Data"
+#: include/class_msg_dialog.inc:124
+msgid "Please fix the above error and reload the page."
+msgstr ""
 
-#: include/class_listing.inc:1420 include/class_plugin.inc:2072
-#, fuzzy
-msgid "Cut this entry"
-msgstr "Modifica questo record"
+#: include/class_plugin.inc:581
+msgid ""
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
+msgstr ""
 
-#: include/class_listing.inc:1430 include/class_plugin.inc:2080
-#, fuzzy
-msgid "Copy this entry"
-msgstr "Modifica questo record"
+#: include/class_plugin.inc:1411
+#, php-format
+msgid "Changing ACL DN from %s to %s"
+msgstr ""
 
-#: include/class_listing.inc:1462 include/class_listing.inc:1464
+#: include/class_SnapShotDialog.inc:55
 #, fuzzy
-msgid "Restore snapshots"
-msgstr "Crea estensioni di posta"
+msgid "Date"
+msgstr "Data"
+
+#: include/class_SnapShotDialog.inc:94
+#, fuzzy, php-format
+msgid "You are about to delete the snapshot %s."
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: include/class_listing.inc:1478
+#: include/class_SnapShotDialog.inc:143
 #, fuzzy
-msgid "Export list"
-msgstr "Esporta"
+msgid "Delete snapshot"
+msgstr "Crea estensioni di posta"
 
-#: include/class_listing.inc:1513 include/class_listing.inc:1514
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
-msgid "Restore snapshot"
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+msgid "Y-m-d, H:i:s"
 msgstr ""
 
-#: include/class_listing.inc:1523 include/class_plugin.inc:2053
+#: include/class_pathNavigator.inc:86
 #, fuzzy
-msgid "Create snapshot"
-msgstr "Crea estensioni di posta"
+msgid "Welcome to GOsa"
+msgstr "Benvenuto nel setup di GOsa!"
+
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
+msgstr ""
 
-#: include/class_listing.inc:1524 include/class_plugin.inc:2054
+#: include/class_sortableListing.inc:234
 #, fuzzy
-msgid "Create a new snapshot from this object"
-msgstr "Gruppo di oggetti"
+msgid "Sortable list"
+msgstr "Esporta"
 
-#: include/class_sortableListing.inc:194
+#: include/class_sortableListing.inc:239
 msgid "Edit this entry"
 msgstr "Modifica questo record"
 
-#: include/class_sortableListing.inc:199
+#: include/class_sortableListing.inc:244
 msgid "Delete this entry"
 msgstr "Elimina questo record"
 
-#: include/functions.inc:134
-#, php-format
-msgid "Fatal error: no class locations defined - please run '%s' to fix this"
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+msgid "unknown"
 msgstr ""
 
-#: include/functions.inc:141
+#: include/class_configRegistry.inc:197
 #, php-format
-msgid ""
-"Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
-msgstr ""
-
-#: include/functions.inc:455
-#, fuzzy, php-format
-msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
-msgstr "Errore durante la connessione al server LDAP. Il server dice: '%s'"
-
-#: include/functions.inc:526
-#, fuzzy
-msgid "Username / UID is not unique inside the LDAP tree!"
+msgid "%s has version %s but %s is required!"
 msgstr ""
-"Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: include/functions.inc:611
-#, fuzzy
-msgid ""
-"Username / UID is not unique inside the LDAP tree. Please contact your "
-"Administrator."
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
 msgstr ""
-"Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: include/functions.inc:815 include/functions.inc:933
-msgid "Error while adding a lock. Contact the developers!"
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+msgid "The following object classes are outdated:"
 msgstr ""
 
-#: include/functions.inc:825
-#, fuzzy, php-format
+#: include/class_configRegistry.inc:252
 msgid ""
-"Cannot create locking information in LDAP tree. Please contact your "
-"administrator!"
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
 msgstr ""
-"Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: include/functions.inc:825
-#, php-format
-msgid "LDAP server returned: %s"
-msgstr ""
+#: include/class_configRegistry.inc:254
+#, fuzzy
+msgid "Schema validation error"
+msgstr "Destinazione"
 
-#: include/functions.inc:954
-msgid ""
-"Found multiple locks for object to be locked. This should not happen - "
-"cleaning up multiple references."
-msgstr ""
+#: include/class_configRegistry.inc:689
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a bool value!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:1258
-#, php-format
-msgid "The size limit of %d entries is exceed!"
-msgstr ""
+#: include/class_configRegistry.inc:704
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a string!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:1260
-#, php-format
-msgid ""
-"Set the new size limit to %s and show me this message if the limit still "
-"exceeds"
-msgstr ""
+#: include/class_configRegistry.inc:719
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be numeric!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
-msgid "Configure"
-msgstr "Configura"
+#: include/class_configRegistry.inc:734
+#, fuzzy, php-format
+msgid "The path %s specified for %s:%s is invalid!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:1277
-msgid "incomplete"
-msgstr "incompleto"
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:1667
-#, fuzzy
-msgid "Continue anyway"
-msgstr "Continua"
+#: include/class_configRegistry.inc:755
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:1669
-#, fuzzy
-msgid "Edit anyway"
-msgstr "Modifica contatto"
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not writeable!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:1671
+#: include/class_configRegistry.inc:802
 #, fuzzy, php-format
-msgid "You're going to edit the LDAP entry/entries %s"
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid "The folder %s specified for %s:%s is not writeable!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:1911
-msgid "Entries per page"
-msgstr ""
+#: include/class_configRegistry.inc:820
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s does not exists!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:1940 include/class_filter.inc:315
-msgid "Apply filter"
-msgstr ""
+#: include/class_configRegistry.inc:825
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not readable!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:2252 include/class_filter.inc:281
-msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-msgstr ""
+#: include/class_configRegistry.inc:841
+#, fuzzy, php-format
+msgid "The command %s specified for %s:%s is invalid!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:2306
+#: include/class_configRegistry.inc:856
 #, fuzzy, php-format
-msgid "GOsa %s"
-msgstr "Utenti di Dominio"
+msgid "The DN %s specified for %s:%s is invalid!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:2313
+#: include/class_configRegistry.inc:871
 #, fuzzy, php-format
-msgid "GOsa %s snapshot (Rev %s)"
-msgstr "versione di sviluppo di GOsa (Rev %s)"
+msgid "The RDN %s specified for %s:%s is invalid!"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/functions.inc:2318
-#, php-format
-msgid "GOsa development snapshot (Rev %s)"
-msgstr "versione di sviluppo di GOsa (Rev %s)"
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
+msgstr ""
 
-#: include/functions.inc:2414
-#, php-format
-msgid "File '%s' could not be deleted."
+#: include/php_setup.inc:110
+msgid "Send bug report"
 msgstr ""
 
-#: include/functions.inc:2448 include/functions.inc:2468
+#: include/php_setup.inc:114
+msgid "Toggle details"
+msgstr ""
+
+#: include/php_setup.inc:123
+msgid "PHP error"
+msgstr "Errore PHP"
+
+#: include/php_setup.inc:142
+msgid "class"
+msgstr "classe"
+
+#: include/php_setup.inc:148
+msgid "function"
+msgstr "funzione"
+
+#: include/php_setup.inc:153
+msgid "static"
+msgstr "statico"
+
+#: include/php_setup.inc:157
+msgid "method"
+msgstr "metodo"
+
+#: include/php_setup.inc:190
+msgid "Traceback"
+msgstr ""
+
+#: include/php_setup.inc:191
+msgid "File"
+msgstr ""
+
+#: include/php_setup.inc:191
+msgid "Line"
+msgstr ""
+
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+msgid "Type"
+msgstr "Tipo"
+
+#: include/php_setup.inc:192
+msgid "Arguments"
+msgstr "Argomenti"
+
+#: include/class_certificate.inc:73
 #, fuzzy
-msgid "Cannot write to revision file!"
+msgid "Certificate is empty!"
+msgstr "Certificati"
+
+#: include/class_certificate.inc:100
+msgid "Cannot load certificate: only PEM and DER are supported!"
+msgstr ""
+
+#: include/class_certificate.inc:115
+#, fuzzy
+msgid "Cannot extract information for non PEM certificates!"
 msgstr "Rimuovi"
 
-#: include/functions.inc:2686 include/functions.inc:2690
-#: include/functions.inc:2696
-msgid "'baseIdHook' is not available. Using default base!"
+#: include/class_certificate.inc:219
+#, fuzzy
+msgid "No valid certificate loaded!"
+msgstr "Non ci sono certificati installati"
+
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+#, fuzzy
+msgid "Requested channel does not exist!"
+msgstr ""
+"Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
+
+#: include/functions.inc:151
+#, php-format
+msgid "Fatal error: no class locations defined - please run %s to fix this"
+msgstr ""
+
+#: include/functions.inc:158
+#, php-format
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
+msgstr ""
+
+#: include/functions.inc:483
+#, fuzzy, php-format
+msgid "Error while connecting to LDAP: %s"
+msgstr "Errore durante la connessione al server LDAP. Il server dice: '%s'"
+
+#: include/functions.inc:554 include/functions.inc:640
+#, fuzzy
+msgid "User ID is not unique!"
+msgstr ""
+"Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
+
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
+msgstr ""
+
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Cannot store lock information in LDAP!"
+msgstr "Rimuovi"
+
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Error: %s"
+msgstr "Home Page"
+
+#: include/functions.inc:1294
+#, php-format
+msgid "The current size limit of %d entries is exceeded!"
+msgstr ""
+
+#: include/functions.inc:1296
+#, php-format
+msgid "Set the size limit to %s"
+msgstr ""
+
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
+msgid "Configure"
+msgstr "Configura"
+
+#: include/functions.inc:1313
+#, fuzzy
+msgid "list is incomplete"
+msgstr "incompleto"
+
+#: include/functions.inc:1663
+#, fuzzy
+msgid "Continue anyway"
+msgstr "Continua"
+
+#: include/functions.inc:1665
+#, fuzzy
+msgid "Edit anyway"
+msgstr "Modifica contatto"
+
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
+msgstr ""
+
+#: include/functions.inc:1909
+msgid "Entries per page"
+msgstr ""
+
+#: include/functions.inc:2087
+#, fuzzy, php-format
+msgid "GOsa %s"
+msgstr "Utenti di Dominio"
+
+#: include/functions.inc:2094
+#, fuzzy, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr "versione di sviluppo di GOsa (Rev %s)"
+
+#: include/functions.inc:2099
+#, php-format
+msgid "GOsa development snapshot (Rev %s)"
+msgstr "versione di sviluppo di GOsa (Rev %s)"
+
+#: include/functions.inc:2195
+#, php-format
+msgid "File %s cannot be deleted!"
 msgstr ""
 
-#: include/functions.inc:2720
+#: include/functions.inc:2225 include/functions.inc:2245
 #, fuzzy
-msgid "LDAP warning"
-msgstr "Amministrazione LDAP"
+msgid "Cannot write revision file!"
+msgstr "Rimuovi"
+
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
+msgid "'baseIdHook' is not available. Using default base!"
+msgstr ""
 
-#: include/functions.inc:2720
-msgid "Cannot get schema information from server. No schema check possible!"
+#: include/functions.inc:2550
+msgid ""
+"Cannot read schema information from LDAP. Schema validation is not possible!"
 msgstr ""
 
-#: include/functions.inc:2746
-msgid "Used to store account specific informations."
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
 msgstr ""
 
-#: include/functions.inc:2753
+#: include/functions.inc:2583
 msgid ""
-"Used to lock currently edited entries to avoid multiple changes at the same "
+"This class is used to lock entries in order to prevent multiple edits at a "
 "time."
 msgstr ""
 
-#: include/functions.inc:2798
+#: include/functions.inc:2628
 #, fuzzy, php-format
-msgid "Missing required object class '%s'!"
+msgid "Required object class %s is missing!"
 msgstr "Lista dei dipartimenti"
 
-#: include/functions.inc:2801
+#: include/functions.inc:2631
 #, php-format
-msgid "Missing optional object class '%s'!"
+msgid "Optional object class %s is missing!"
 msgstr ""
 
-#: include/functions.inc:2806
-#, php-format
-msgid "Version mismatch for required object class '%s' (!=%s)!"
-msgstr ""
+#: include/functions.inc:2636
+#, fuzzy, php-format
+msgid "Wrong version of required object class %s (!=%s) detected!"
+msgstr "Lista dei dipartimenti"
 
-#: include/functions.inc:2809
+#: include/functions.inc:2639
 #, php-format
-msgid "Class(es) available"
+msgid "Class available"
 msgstr ""
 
-#: include/functions.inc:2831
+#: include/functions.inc:2661
 msgid ""
-"You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
-"schema    configuration do not support this option."
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
 msgstr ""
 
-#: include/functions.inc:2832
+#: include/functions.inc:2662
 msgid ""
-"In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
-"be      AUXILIARY"
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
 msgstr ""
 
-#: include/functions.inc:2836
+#: include/functions.inc:2666
 msgid ""
-"Your schema is configured to support the rfc2307bis group, but you have "
-"disabled this option on the 'ldap setup' step."
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
 msgstr ""
 
-#: include/functions.inc:2837
-msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#: include/functions.inc:2667
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
 msgstr ""
 
-#: include/functions.inc:2861
+#: include/functions.inc:2692
 msgid "German"
 msgstr "Tedesco"
 
-#: include/functions.inc:2862
+#: include/functions.inc:2693
 msgid "French"
 msgstr "Francese"
 
-#: include/functions.inc:2863
+#: include/functions.inc:2694
 msgid "Italian"
 msgstr "Italiano"
 
-#: include/functions.inc:2864
+#: include/functions.inc:2695
 msgid "Spanish"
 msgstr "Spagnolo"
 
-#: include/functions.inc:2865
+#: include/functions.inc:2696
 msgid "English"
 msgstr "Inglese"
 
-#: include/functions.inc:2866
+#: include/functions.inc:2697
 msgid "Dutch"
 msgstr "Tedesco"
 
-#: include/functions.inc:2867
+#: include/functions.inc:2698
 #, fuzzy
 msgid "Polish"
 msgstr "Inglese"
 
-#: include/functions.inc:2869
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
+msgstr ""
+
+#: include/functions.inc:2701
 #, fuzzy
 msgid "Chinese"
 msgstr "reset"
 
-#: include/functions.inc:2870
+#: include/functions.inc:2702
 #, fuzzy
 msgid "Vietnamese"
 msgstr "Nome"
 
-#: include/functions.inc:2871
+#: include/functions.inc:2703
 msgid "Russian"
 msgstr "Russo"
 
-#: include/functions.inc:3066
+#: include/functions.inc:2896
+#, fuzzy
+msgid "Cannot detect password hash!"
+msgstr "Impossibile selezionare il database!"
+
+#: include/functions.inc:2937 include/functions.inc:3012
 #, php-format
-msgid ""
-"Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: include/functions.inc:2968
+#, fuzzy
+msgid "Password change failed!"
+msgstr "Cambia la password"
+
+#: include/functions.inc:2976
+#, php-format
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
 msgstr ""
 
-#: include/functions.inc:3099
-msgid "Cannot generate samba hash!"
+#: include/functions.inc:3080
+msgid "Cannot generate SAMBA hash!"
 msgstr ""
 
-#: include/functions.inc:3112
+#: include/functions.inc:3095
 #, php-format
-msgid ""
-"Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+msgid "Generating SAMBA hash by running %s failed: check %s!"
 msgstr ""
 
-#: include/functions.inc:3393 include/functions.inc:3407
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
 #, fuzzy
-msgid "Cannot allocate a free ID:"
+msgid "Cannot allocate free ID:"
 msgstr "Troppi utenti non posso allocare un ID libero!"
 
-#: include/functions.inc:3393
+#: include/functions.inc:3373
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3407
+#: include/functions.inc:3387
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3437
+#: include/functions.inc:3417
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "Vai al dipartimento base"
 
-#: include/functions.inc:3445
+#: include/functions.inc:3425
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3457 include/functions.inc:3461
+#: include/functions.inc:3437 include/functions.inc:3441
 msgid "no ID available!"
 msgstr ""
 
-#: include/functions.inc:3485
-msgid "maximum tries exceeded!"
+#: include/functions.inc:3465
+msgid "maximum number of tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3545
+#: include/functions.inc:3525
 #, fuzzy
-msgid "Cannot allocate a free ID!"
+msgid "Cannot allocate free ID!"
 msgstr "Troppi utenti non posso allocare un ID libero!"
 
-#: include/class_tabs.inc:57
-#, fuzzy, php-format
-msgid ""
-"No plugin definitions found to initialize '%s', please check your "
-"configuration file."
-msgstr "Impossibile connettersi al server del database!"
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
+msgstr "Cerca"
+
+#: include/class_filter.inc:226
+#, fuzzy
+msgid "Search filter"
+msgstr "Parametro"
 
-#: include/class_tabs.inc:268
+#: include/class_filter.inc:444
+#, fuzzy
+msgid "Search in subtrees"
+msgstr "Seleziona per mostrare le applicazioni"
+
+#: include/class_filter.inc:449
+#, fuzzy
+msgid "Edit filters"
+msgstr "Modifica certificati"
+
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
+msgstr ""
+
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
 #, php-format
-msgid "Delete process has been canceled by plugin '%s': %s"
+msgid "LDAP performance is poor: last query took %.2fs!"
 msgstr ""
 
-#: include/class_tabs.inc:406
-msgid "References"
-msgstr "Riferimenti"
+#: include/class_ldap.inc:784
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
+msgstr ""
 
-#: include/class_SnapShotDialog.inc:82
+#: include/class_ldap.inc:835
 #, php-format
-msgid "You're about to delete the snapshot '%s'."
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
 msgstr ""
 
-#: include/class_SnapShotDialog.inc:137
-#, fuzzy
-msgid "Remove snapshot"
-msgstr "Crea estensioni di posta"
+#: include/class_ldap.inc:922
+#, fuzzy, php-format
+msgid "while operating on %s using LDAP server %s"
+msgstr "Errore durante la connessione al server LDAP. Il server dice: '%s'"
 
-#: include/class_SnapShotDialog.inc:139 include/class_SnapShotDialog.inc:159
-msgid "Y-m-d, H:i:s"
+#: include/class_ldap.inc:924
+#, fuzzy, php-format
+msgid "while operating on LDAP server %s"
+msgstr "Errore durante la connessione al server LDAP. Il server dice: '%s'"
+
+#: include/class_ldap.inc:977
+#, php-format
+msgid "Command line programm %s is missing!"
 msgstr ""
 
-#: include/class_SnapShotDialog.inc:171
-#: plugins/generic/references/contents.tpl:11
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
-#: plugins/admin/ogroups/class_ogroup.inc:977
-#: plugins/admin/ogroups/generic.tpl:15
-#: plugins/admin/ogroups/ogroup-list.xml:49
-#: plugins/admin/groups/generic.tpl:24
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:66
-#: plugins/admin/groups/class_group.inc:1184
-#: plugins/admin/departments/dep-list.xml:79
-#: plugins/admin/departments/locality.tpl:19
-#: plugins/admin/departments/generic.tpl:19
-#: plugins/admin/departments/class_domain.inc:63
-#: plugins/admin/departments/class_domain.inc:91
-#: plugins/admin/departments/class_localityGeneric.inc:64
-#: plugins/admin/departments/class_localityGeneric.inc:92
-#: plugins/admin/departments/class_organizationGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_countryGeneric.inc:63
-#: plugins/admin/departments/class_countryGeneric.inc:92
-#: plugins/admin/departments/class_dcObject.inc:63
-#: plugins/admin/departments/class_dcObject.inc:91
-#: plugins/admin/departments/domain.tpl:19
-#: plugins/admin/departments/country.tpl:19
-#: plugins/admin/departments/dcObject.tpl:19
-#: plugins/admin/departments/class_department.inc:359
-#: plugins/admin/departments/class_department.inc:666
-#: plugins/admin/departments/organization.tpl:19
-#: plugins/admin/acl/class_aclRole.inc:735 plugins/admin/acl/acl-list.xml:57
-#: plugins/admin/acl/acl_role.tpl:17
-#: plugins/personal/posix/trustSelect/trust-list.xml:64
-#: plugins/personal/posix/groupSelect/group-list.xml:49
-msgid "Description"
-msgstr "Descrizione"
+#: include/class_ldap.inc:1138
+#, php-format
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
+msgstr ""
 
-#: include/exporter/class_cvsExporter.inc:48
-msgid "CSV"
+#: include/class_ldap.inc:1167
+#, php-format
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
 msgstr ""
 
-#: include/exporter/class_PDF.inc:24
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
 #, fuzzy
-msgid "Page"
-msgstr "Pager"
+msgid "All"
+msgstr "Annulla"
 
-#: include/exporter/class_pdfExporter.inc:18
-msgid "No PDF export possible: there is no FPDF library installed."
-msgstr ""
+#: include/class_core.inc:114
+#, fuzzy
+msgid "All objects"
+msgstr "Oggetti membri"
 
-#: include/exporter/class_pdfExporter.inc:145
-msgid "PDF"
-msgstr ""
+#: include/class_core.inc:132
+#, fuzzy
+msgid "Traditional"
+msgstr "Terminali"
 
-#: include/class_multi_plug.inc:362
-msgid "You are currently editing mutliple entries."
+#: include/class_core.inc:132
+msgid "Use samba pool"
 msgstr ""
 
-#: include/class_multi_plug.inc:391
+#: include/class_core.inc:164 include/class_core.inc:167
 #, fuzzy
-msgid "Password reset"
-msgstr "La password spira il"
+msgid "hours"
+msgstr "ora"
 
-#: include/class_multi_plug.inc:391
+#: include/class_core.inc:184
 #, fuzzy
-msgid "The user password was resetted, please set a new password value!"
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid "None"
+msgstr "nessuno"
 
-#: include/class_certificate.inc:73
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
 #, fuzzy
-msgid "Certificate is empty!"
-msgstr "Certificati"
+msgid "Automatic"
+msgstr "automatico"
 
-#: include/class_certificate.inc:100
-msgid "Cannot load certificate - only PEM/DER is supported!"
-msgstr ""
+#: include/class_core.inc:200
+#, fuzzy
+msgid "User value"
+msgstr "Nome utente"
 
-#: include/class_certificate.inc:115
+#: include/class_core.inc:209
 #, fuzzy
-msgid "Cannot extract information for non PEM certificates!"
-msgstr "Rimuovi"
+msgid "Core"
+msgstr "Scegli"
 
-#: include/class_certificate.inc:219
+#: include/class_core.inc:210
 #, fuzzy
-msgid "No valid certificate loaded!"
-msgstr "Non ci sono certificati installati"
+msgid "GOsa core plugin"
+msgstr "Opzioni di posta dell'identità"
 
-#: include/php_setup.inc:100
-msgid "Generating this page caused the PHP interpreter to raise some errors!"
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
 msgstr ""
 
-#: include/php_setup.inc:105
-msgid "Send bug report to the GOsa Team"
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
 msgstr ""
 
-#: include/php_setup.inc:105
-msgid "Send bugreport"
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
 msgstr ""
 
-#: include/php_setup.inc:110
-msgid "Toggle information"
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
 msgstr ""
 
-#: include/php_setup.inc:120
-msgid "PHP error"
-msgstr "Errore PHP"
-
-#: include/php_setup.inc:139
-msgid "class"
-msgstr "classe"
-
-#: include/php_setup.inc:145
-msgid "function"
-msgstr "funzione"
-
-#: include/php_setup.inc:150
-msgid "static"
-msgstr "statico"
-
-#: include/php_setup.inc:154
-msgid "method"
-msgstr "metodo"
-
-#: include/php_setup.inc:187
-msgid "Trace"
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
 msgstr ""
 
-#: include/php_setup.inc:188
-msgid "File"
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
 msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Line"
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
 msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Type"
-msgstr "Tipo"
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
+msgstr ""
 
-#: include/php_setup.inc:189
-msgid "Arguments"
-msgstr "Argomenti"
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
+msgstr ""
 
-#: include/class_filter.inc:322 include/utils/class_msgPool.inc:24
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#: plugins/personal/posix/posix_groups.tpl:68
-#, fuzzy
-msgid "Search in subtrees"
-msgstr "Seleziona per mostrare le applicazioni"
+#: include/class_core.inc:319
+#, fuzzy, php-format
+msgid "Related option"
+msgstr "Selezione le workstation da aggiungere"
 
-#: include/class_plugin.inc:521
+#: include/class_core.inc:329
 msgid ""
-"The object has changed since opened in GOsa. All changes that may be done by "
-"others get lost if you save this entry!"
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
 msgstr ""
 
-#: include/class_plugin.inc:1844
-msgid "Changing ACL dn"
+#: include/class_core.inc:340
+msgid ""
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
 msgstr ""
 
-#: include/class_plugin.inc:1844
-#, fuzzy
-msgid "from"
-msgstr "e"
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
+msgstr ""
 
-#: include/class_plugin.inc:1845 setup/class_setupStep_Migrate.inc:1250
-#: setup/class_setupStep_Migrate.inc:1300
-#: setup/class_setupStep_Migrate.inc:1348
-#, fuzzy
-msgid "to"
-msgstr "Rapporto"
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
+msgstr ""
 
-#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
-#, fuzzy
-msgid "Restore"
-msgstr "Riprova"
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
+msgstr ""
+
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
+msgstr ""
 
-#: include/class_plugin.inc:2072
+#: include/class_core.inc:390
 #, fuzzy
-msgid "cut"
-msgstr "Esegui"
+msgid "Enable LDAP referral chasing."
+msgstr "Elimina foto"
 
-#: include/class_plugin.inc:2080
-msgid "copy"
+#: include/class_core.inc:400
+msgid ""
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
 msgstr ""
 
-#: include/functions_helpviewer.inc:45
-#, php-format
-msgid "XML error in guide.xml: %s at line %d"
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
 msgstr ""
 
-#: include/functions_helpviewer.inc:88
-msgid "No help available for this plugin."
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
 msgstr ""
 
-#: include/functions_helpviewer.inc:388
-#, php-format
-msgid "%s results for your search with the keyword %s"
+#: include/class_core.inc:430
+msgid "Enable warnings for non encrypted connections."
 msgstr ""
 
-#: include/functions_helpviewer.inc:462
-#, php-format
-msgid "%s%% hit rate in file %s"
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
 msgstr ""
 
-#: include/utils/class_timezone.inc:47
-#, php-format
+#: include/class_core.inc:451
 msgid ""
-"The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate "
-"correct timezone offset."
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
 msgstr ""
 
-#: include/utils/class_xml.inc:48
-#, fuzzy
-msgid "in"
-msgstr "Principale"
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
+msgstr ""
 
-#: include/utils/class_xml.inc:50
-#, fuzzy
-msgid "on line"
-msgstr "Continua"
+#: include/class_core.inc:472
+msgid ""
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
+msgstr ""
 
-#: include/utils/class_xml.inc:51
-#, fuzzy
-msgid "XML error"
-msgstr "Errore LDAP"
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:16
-#, fuzzy, php-format
-msgid "Select to list objects of type '%s'."
-msgstr "Gruppo di oggetti"
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:18
-#, fuzzy, php-format
-msgid "Select to list objects containig '%s'."
-msgstr "Mostra gruppi che contengono utenti"
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:20
-#, fuzzy, php-format
-msgid "Select to list objects that have '%s' enabled"
-msgstr "Gruppo di oggetti"
+#: include/class_core.inc:514
+msgid ""
+"ISO language code which is used to override the automatic language detection."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:22
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#, fuzzy
-msgid "Select to search within subtrees"
-msgstr "Seleziona per mostrare le applicazioni"
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:34
-msgid "This object will be deleted!"
+#: include/class_core.inc:535
+msgid ""
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:36
+#: include/class_core.inc:545
+#, fuzzy
+msgid "Template engine compile directory."
+msgstr "Home directory"
+
+#: include/class_core.inc:555
 #, php-format
-msgid "This '%s' object will be deleted!"
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:41
-#, php-format
-msgid "This object will be deleted: %s"
+#: include/class_core.inc:576
+msgid ""
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:43
-#, php-format
-msgid "This '%s' object will be deleted: %s"
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:48
-msgid "This object will be deleted:"
+#: include/class_core.inc:596
+msgid ""
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:50
-#, php-format
-msgid "This '%s' object will be deleted:"
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:54
-#, php-format
-msgid "These objects will be deleted: %s"
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:56
-#, php-format
-msgid "These '%s' objects will be deleted: %s"
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:64
-#, fuzzy
-msgid "You have no permission to delete this object!"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:68 include/utils/class_msgPool.inc:72
-#, fuzzy
-msgid "You have no permission to delete the object:"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:75
-#, fuzzy
-msgid "You have no permission to delete these objects:"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:82
-#, fuzzy
-msgid "You have no permission to create this object!"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:667
+msgid ""
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:86 include/utils/class_msgPool.inc:90
-#, fuzzy
-msgid "You have no permission to create the object:"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:93
-#, fuzzy
-msgid "You have no permission to create these objects:"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:687
+msgid ""
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:100
-#, fuzzy
-msgid "You have no permission to modify this object!"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:104 include/utils/class_msgPool.inc:108
-#, fuzzy
-msgid "You have no permission to modify the object:"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:707
+msgid "Connection URL for use with the gosa-ng service."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:111
-#, fuzzy
-msgid "You have no permission to modify these objects:"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:118
+#: include/class_core.inc:727
 #, fuzzy
-msgid "You have no permission to view this object!"
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid "Password used to connect to the 'gosaRpcServer'."
+msgstr "Impossibile connettersi al server del database!"
 
-#: include/utils/class_msgPool.inc:122 include/utils/class_msgPool.inc:126
-#, fuzzy
-msgid "You have no permission to view the object:"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:737
+msgid "Connection URI for use with the gosa-si service (obsolete)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:129
-#, fuzzy
-msgid "You have no permission to view these objects:"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:136
-#, fuzzy
-msgid "You have no permission to move this object!"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:144
+#: include/class_core.inc:769
 #, fuzzy
-msgid "You have no permission to move the object:"
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid "Local time zone."
+msgstr "Località"
 
-#: include/utils/class_msgPool.inc:147
-#, fuzzy
-msgid "You have no permission to move these objects:"
-msgstr "Non hai il permesso di cambiare la tua password."
+#: include/class_core.inc:779
+msgid ""
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:157 include/utils/class_msgPool.inc:169
-#: include/utils/class_msgPool.inc:187
-#, fuzzy
-msgid "Connection information"
-msgstr "Informazioni personali"
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:159
-#, fuzzy, php-format
-msgid "Cannot connect to %s database!"
-msgstr "Impossibile connettersi al server del database!"
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:171
-#, fuzzy, php-format
-msgid "Cannot select %s database!"
-msgstr "Impossibile selezionare il database!"
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:177
-#, php-format
-msgid "No %s server defined!"
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:189
-#, fuzzy, php-format
-msgid "Cannot query %s database!"
-msgstr "Impossibile selezionare il database!"
+#: include/class_core.inc:828
+msgid ""
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:195
-#, php-format
-msgid "The field '%s' contains a reserved keyword!"
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:201
-#, php-format
-msgid "Command specified as %s hook for plugin '%s' does not exist!"
+#: include/class_core.inc:848
+msgid ""
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:208
-#, fuzzy, php-format
-msgid "'%s' command is invalid!"
-msgstr "Il valore specificato per l'UID non è valido."
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:210
-#, php-format
-msgid "'%s' command (%s) for plugin %s is invalid!"
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:212
-#, php-format
-msgid "'%s' command for plugin %s is invalid!"
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:214
-#, fuzzy, php-format
-msgid "'%s' command (%s) is invalid!"
-msgstr "Il valore specificato per l'UID non è valido."
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:222
-#, fuzzy, php-format
-msgid "Cannot execute '%s' command!"
-msgstr "Impossibile selezionare il database!"
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:224
-#, php-format
-msgid "Cannot execute '%s' command (%s) for plugin %s!"
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:226
-#, php-format
-msgid "Cannot execute '%s' command for plugin %s!"
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:228
-#, fuzzy, php-format
-msgid "Cannot execute '%s' command (%s)!"
-msgstr "Impossibile selezionare il database!"
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:236
-#, fuzzy, php-format
-msgid "Value for '%s' is too large!"
-msgstr "Il valore specificato per l'UID è troppo basso."
+#: include/class_core.inc:940
+#, fuzzy
+msgid "Enable TLS for LDAP connections."
+msgstr "Disconnessione "
 
-#: include/utils/class_msgPool.inc:238
-#, fuzzy, php-format
-msgid "'%s' must be smaller than %s!"
-msgstr "PHP deve essere la versione 4.1.0 o superiore."
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:246
-#, fuzzy, php-format
-msgid "Value for '%s' is too small!"
-msgstr "Il valore specificato per l'UID è troppo basso."
+#: include/class_core.inc:960
+msgid ""
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:248
-#, fuzzy, php-format
-msgid "'%s' must be %d or above!"
-msgstr "PHP deve essere la versione 4.1.0 o superiore."
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:255
-#, php-format
-msgid "'%s' depends on '%s' - please provide both values!"
+#: include/class_core.inc:980
+msgid ""
+"String containing the SID for Samba setups without the Domain object in LDAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:261
-#, php-format
-msgid "There is already an entry with this '%s' attribute in the system!"
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:267
-#, fuzzy, php-format
-msgid "The required field '%s' is empty!"
-msgstr "Il campo necessario 'Home directory' non è vuoto"
+#: include/class_core.inc:1000
+#, fuzzy
+msgid "Enable manual object snapshots."
+msgstr "Gruppo di oggetti"
 
-#: include/utils/class_msgPool.inc:275
-msgid "Example"
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:295
-#, php-format
-msgid "The Field '%s' contains invalid characters"
-msgstr ""
+#: include/class_core.inc:1020
+#, fuzzy
+msgid "DN of the snapshot administrator."
+msgstr "Amministratori di Dominio"
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' is not allowed:"
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:296
-#, fuzzy, php-format
-msgid "'%s' are not allowed!"
-msgstr "Cambia la password"
+#: include/class_core.inc:1041
+msgid ""
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:299
-#, php-format
-msgid "The Field '%s' contains invalid characters!"
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:306
-#, fuzzy, php-format
-msgid "Missing %s PHP extension!"
-msgstr "Elimina foto"
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:336
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
-#: plugins/personal/generic/generic.tpl:251
-#: plugins/personal/generic/generic.tpl:269
-#: setup/class_setupStep_Migrate.inc:2869
+#: include/class_config.inc:168
 #, php-format
-msgid "Add"
-msgstr "Aggiungi"
+msgid "XML error in gosa.conf: %s at line %d"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:336
-#, fuzzy, php-format
-msgid "Add %s"
-msgstr "Aggiungi"
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:342
-#, fuzzy, php-format
-msgid "Delete %s"
-msgstr "Rimuovi"
+#: include/class_config.inc:711
+#, fuzzy
+msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+msgstr "Scarica il file di  configurazione"
 
-#: include/utils/class_msgPool.inc:348
-#, fuzzy, php-format
-msgid "Set %s"
-msgstr "Imposta"
+#: include/class_config.inc:1130
+#, fuzzy
+msgid "Configuration"
+msgstr "File di configurazione"
 
-#: include/utils/class_msgPool.inc:354
-#, fuzzy, php-format
-msgid "Edit..."
-msgstr "Modifica"
+#: include/class_config.inc:1130
+msgid ""
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:354
-#, fuzzy, php-format
-msgid "Edit %s..."
-msgstr "Modifica contatto"
+#: include/class_config.inc:1172 include/class_config.inc:1203
+#, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:360
-msgid "Back"
-msgstr "Indietro"
+#: include/class_config.inc:1185
+#, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:380
-#, fuzzy, php-format
-msgid "This account has no valid %s extensions!"
-msgstr "Questa identità non possiede estensioni GOsa."
+#: include/exporter/class_PDF.inc:24
+#, fuzzy
+msgid "Page"
+msgstr "Pager"
 
-#: include/utils/class_msgPool.inc:386
-#, fuzzy, php-format
-msgid ""
-"This account has %s settings enabled. You can disable them by clicking below."
-msgstr "Questa identià possiede estensioni Unix."
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:389 include/utils/class_msgPool.inc:396
-#, fuzzy, php-format
-msgid ""
-"This account has %s settings enabled. To disable them, you'll need to remove "
-"the %s settings first!"
+#: include/exporter/class_pdfExporter.inc:18
+msgid "No PDF export possible: there is no FPDF library installed."
+msgstr ""
+
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
 msgstr ""
-"Questa identià possiede estensioni Unix. Per eliminarle devi eliminare prima "
-"le estensioni Samba / ambiente."
 
-#: include/utils/class_msgPool.inc:405
+#: include/class_jsonRPC.inc:38
 #, fuzzy, php-format
-msgid ""
-"This account has %s settings disabled. You can enable them by clicking below."
-msgstr "Questa identità non possiede estensioni Unix"
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
+msgstr "Il valore specificato per l'UID non è valido."
 
-#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
+#: include/class_jsonRPC.inc:330
 #, fuzzy, php-format
-msgid ""
-"This account has %s settings disabled. To enable them, you'll need to add "
-"the %s settings first!"
+msgid "Unknown HTTP status code %s!"
+msgstr "ACL"
+
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
 msgstr ""
-"Questa identià possiede estensioni Unix. Per eliminarle devi eliminare prima "
-"le estensioni Samba / ambiente."
 
-#: include/utils/class_msgPool.inc:423
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
 #, fuzzy, php-format
-msgid "Add %s settings"
-msgstr "Opzioni applicazione"
+msgid "Copy and paste failed!"
+msgstr "Nome applicazione"
 
-#: include/utils/class_msgPool.inc:429
+#: include/class_CopyPasteHandler.inc:118
 #, fuzzy, php-format
-msgid "Remove %s settings"
-msgstr "Impostazioni Unix"
+msgid "Cannot set permission for %s"
+msgstr "Rimuovi"
 
-#: include/utils/class_msgPool.inc:435
-msgid "Click the 'Edit' button below to change informations in this dialog"
+#: include/class_CopyPasteHandler.inc:159
+#, php-format
+msgid "'%s' is no valid LDAP object"
 msgstr ""
-"Click sul bottone 'Modifica' qui sotto per cambiare le informazioni in "
-"questo dialogo"
-
-#: include/utils/class_msgPool.inc:441
-msgid "January"
-msgstr "Gennaio"
 
-#: include/utils/class_msgPool.inc:441
-msgid "February"
-msgstr "Febbraio"
-
-#: include/utils/class_msgPool.inc:441
-msgid "March"
-msgstr "Marzo"
+#: include/class_CopyPasteHandler.inc:176
+#, fuzzy, php-format
+msgid "No write permission in '%s'"
+msgstr "Rimuovi"
 
-#: include/utils/class_msgPool.inc:441
-msgid "April"
-msgstr "Aprile"
+#: include/class_CopyPasteHandler.inc:193
+#, fuzzy, php-format
+msgid "Cannot set permission for '%s'"
+msgstr "Rimuovi"
 
-#: include/utils/class_msgPool.inc:442
-msgid "May"
-msgstr "Maggio"
+#: include/class_CopyPasteHandler.inc:396
+#, php-format
+msgid "These objects will be pasted: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "June"
-msgstr "Giugno"
+#: include/class_CopyPasteHandler.inc:420
+#, php-format
+msgid "This object will be pasted: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "July"
-msgstr "Luglio"
+#: include/class_CopyPasteHandler.inc:573
+#, fuzzy
+msgid "Cannot paste"
+msgstr "Crea estensioni telefoniche"
 
-#: include/utils/class_msgPool.inc:442
-msgid "August"
-msgstr "Agosto"
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
+#, fuzzy
+msgid "Access control"
+msgstr "Opzioni di accesso"
 
-#: include/utils/class_msgPool.inc:442
-msgid "September"
-msgstr "Settembre"
+#: include/class_acl.inc:28
+#, fuzzy
+msgid "Manage access control lists"
+msgstr "Opzioni di accesso"
 
-#: include/utils/class_msgPool.inc:443
-msgid "October"
-msgstr "Ottobre"
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, fuzzy, php-format
+msgid "All users"
+msgstr "utenti"
 
-#: include/utils/class_msgPool.inc:443
-msgid "November"
-msgstr "Novembre"
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:443
-msgid "December"
-msgstr "Dicembre"
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
+msgid "One level"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
 #, fuzzy
-msgid "Sunday"
-msgstr "Cognome"
+msgid "Current object"
+msgstr "Password attuale"
 
-#: include/utils/class_msgPool.inc:449
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
 #, fuzzy
-msgid "Monday"
-msgstr "mese"
-
-#: include/utils/class_msgPool.inc:449
-msgid "Tuesday"
-msgstr ""
+msgid "Complete subtree"
+msgstr "incompleto"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Wednesday"
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Thursday"
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+msgid "Use ACL defined in role"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Friday"
-msgstr ""
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
+msgstr "Utenti"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Saturday"
-msgstr ""
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
+msgstr "Gruppi di utenti"
 
-#: include/utils/class_msgPool.inc:456
+#: include/class_acl.inc:254
 #, fuzzy
-msgid "MySQL operation failed!"
-msgstr "La query al database è fallita!"
+msgid "Section"
+msgstr "Azione"
 
-#: include/utils/class_msgPool.inc:464
+#: include/class_acl.inc:264
 #, fuzzy
-msgid "read operation"
-msgstr "Opzioni di posta"
-
-#: include/utils/class_msgPool.inc:464
-msgid "add operation"
-msgstr ""
+msgid "Used"
+msgstr "Utenti"
 
-#: include/utils/class_msgPool.inc:464
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
 #, fuzzy
-msgid "modify operation"
-msgstr "Informazioni personali"
+msgid "Member"
+msgstr "Membri"
 
-#: include/utils/class_msgPool.inc:465
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
 #, fuzzy
-msgid "delete operation"
-msgstr "Selezione le workstation da aggiungere"
+msgid "Permissions"
+msgstr "Permessi"
 
-#: include/utils/class_msgPool.inc:465
+#: include/class_acl.inc:574
 #, fuzzy
-msgid "search operation"
-msgstr "L'account spira dopo"
+msgid "No ACL settings for this category!"
+msgstr "Nome descrittivo del gruppo"
+
+#: include/class_acl.inc:577
+#, php-format
+msgid "ACLs for: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:465
+#: include/class_acl.inc:583 include/class_acl.inc:587
 #, fuzzy
-msgid "authentication"
-msgstr "Destinazione"
+msgid "category ACL"
+msgstr "classe"
 
-#: include/utils/class_msgPool.inc:468
-#, fuzzy, php-format
-msgid "LDAP %s failed!"
-msgstr "La query al database è fallita!"
+#: include/class_acl.inc:639
+#, php-format
+msgid "Edit ACL for '%s' with scope '%s'"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:470
+#: include/class_acl.inc:801 include/class_acl.inc:808
 #, fuzzy
-msgid "LDAP operation failed!"
-msgstr "La query al database è fallita!"
+msgid "Show/hide advanced settings"
+msgstr "Opzioni di posta avanzate"
 
-#: include/utils/class_msgPool.inc:485
+#: include/class_acl.inc:819
 #, fuzzy
-msgid "Upload failed!"
-msgstr "Nome applicazione"
-
-#: include/utils/class_msgPool.inc:488
-#, fuzzy, php-format
-msgid "Upload failed: %s"
-msgstr "Utenti di Dominio"
+msgid "Create objects"
+msgstr "Gruppo di oggetti"
 
-#: include/utils/class_msgPool.inc:495
-msgid "Communication failure with the infrastructure service!"
-msgstr ""
+#: include/class_acl.inc:820
+#, fuzzy
+msgid "Move objects"
+msgstr "Oggetti membri"
 
-#: include/utils/class_msgPool.inc:497
-#, php-format
-msgid "Communication failure with the infrastructure service: %s"
-msgstr ""
+#: include/class_acl.inc:821
+#, fuzzy
+msgid "Remove objects"
+msgstr "Oggetti membri"
 
-#: include/utils/class_msgPool.inc:504 include/utils/class_msgPool.inc:507
-#, php-format
-msgid "This '%s' is still in use by this object: %s"
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:510
-#, fuzzy, php-format
-msgid "This '%s' is still in use."
-msgstr "Nome descrittivo del gruppo"
-
-#: include/utils/class_msgPool.inc:512
-#, fuzzy, php-format
-msgid "This '%s' is still in use by these objects: %s"
-msgstr "Nome descrittivo del gruppo"
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
+msgstr "leggere"
 
-#: include/utils/class_msgPool.inc:518
-#, php-format
-msgid "File '%s' does not exist!"
-msgstr ""
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
+msgstr "scrivere"
 
-#: include/utils/class_msgPool.inc:524
-#, fuzzy, php-format
-msgid "Cannot open file '%s' for reading!"
-msgstr "Rimuovi"
+#: include/class_acl.inc:832
+#, fuzzy
+msgid "Complete object"
+msgstr "Gruppo di oggetti"
 
-#: include/utils/class_msgPool.inc:530
+#: include/class_acl.inc:984
 #, fuzzy, php-format
-msgid "Cannot open file '%s' for writing!"
-msgstr "Rimuovi"
+msgid "Unknown ACL type '%s'!"
+msgstr "ACL"
 
-#: include/utils/class_msgPool.inc:536
+#: include/class_acl.inc:1029
 #, php-format
-msgid ""
-"The value for '%s' is currently unconfigured or invalid, please check your "
-"configuration file!"
+msgid "Unknown entry '%s'!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:542
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
 #, fuzzy, php-format
-msgid "Cannot delete file '%s'!"
-msgstr "Rimuovi"
+msgid "ACL role: %s"
+msgstr "ACL"
 
-#: include/utils/class_msgPool.inc:548
-#, fuzzy, php-format
-msgid "Cannot create folder '%s'!"
-msgstr "Vai al dipartimento base"
+#: include/class_acl.inc:1095
+#, fuzzy
+msgid "unknown ACL role"
+msgstr "ACL"
 
-#: include/utils/class_msgPool.inc:554
+#: include/class_acl.inc:1103
 #, fuzzy, php-format
-msgid "Cannot delete folder '%s'!"
-msgstr "Rimuovi"
+msgid "Contains settings for these objects: %s"
+msgstr "Nome descrittivo del gruppo"
 
-#: include/utils/class_msgPool.inc:560
-#, fuzzy, php-format
-msgid "Checking for %s support"
-msgstr "Controllo il supporto per iconv"
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+msgid "Members"
+msgstr "Membri"
 
-#: include/utils/class_msgPool.inc:566
-#, php-format
-msgid "Install and activate the %s PHP module."
-msgstr ""
+#: include/class_acl.inc:1120
+#, fuzzy
+msgid "inactive"
+msgstr "Privato"
 
-#: include/utils/class_msgPool.inc:572
-#, php-format
-msgid ""
-"Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
-"setup?"
-msgstr ""
+#: include/class_acl.inc:1120
+#, fuzzy
+msgid "No members"
+msgstr "Membri del gruppo"
 
-#: include/utils/class_msgPool.inc:578
-msgid ""
-"The supplied base is not valid and has been reset to the previous value!"
-msgstr ""
-
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-msgid "Performance warning"
-msgstr ""
+#: include/class_acl.inc:1291
+#, fuzzy
+msgid "Access control list"
+msgstr "Opzioni di accesso"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-#, php-format
-msgid "LDAP performance is poor: last query took about %.2fs!"
-msgstr ""
+#: include/class_acl.inc:1297
+#, fuzzy
+msgid "ACL roles"
+msgstr "ACL"
 
-#: include/class_ldap.inc:693
-#, php-format
-msgid ""
-"Cannot automatically create subtrees with RDN '%s': no object class found!"
-msgstr ""
+#: include/class_acl.inc:1300
+#, fuzzy
+msgid "ACL Entries"
+msgstr "Riferimenti"
 
-#: include/class_ldap.inc:744
+#: include/class_socketClient.inc:108
 #, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': not supported"
+msgid "Socket connection to %s:%s failed: %s"
 msgstr ""
 
-#: include/class_ldap.inc:831
-#, fuzzy, php-format
-msgid "while operating on '%s' using LDAP server '%s'"
-msgstr "Errore durante la connessione al server LDAP. Il server dice: '%s'"
-
-#: include/class_ldap.inc:833
-#, fuzzy, php-format
-msgid "while operating on LDAP server %s"
-msgstr "Errore durante la connessione al server LDAP. Il server dice: '%s'"
-
-#: include/class_ldap.inc:1055
+#: include/class_socketClient.inc:191
 #, php-format
-msgid ""
-"This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
-"in line %s"
+msgid "Socket timeout of %s seconds reached!"
 msgstr ""
 
-#: include/class_ldap.inc:1084
+#: include/class_userFilterEditor.inc:254
 #, php-format
-msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
 msgstr ""
 
-#: include/class_log.inc:87
-#, fuzzy, php-format
-msgid "Logging failed: %s"
-msgstr "Utenti di Dominio"
-
-#: include/class_log.inc:102
-#, fuzzy, php-format
-msgid "Invalid option '%s' specified!"
-msgstr "L'uid contiene dei caratteri invalidi!"
-
-#: include/class_log.inc:106
-#, fuzzy
-msgid "Specified objectType is empty or invalid!"
-msgstr "Il valore specificato per l'UID non è valido."
-
 #: include/class_gosaSupportDaemon.inc:112
 msgid "GOsa support daemon"
 msgstr ""
@@ -2529,4314 +2567,5425 @@ msgstr "Rimuovi"
 msgid "Cannot remove entry %s!"
 msgstr ""
 
-#: include/class_config.inc:152
+#: include/class_GOsaRegistration.inc:127
+msgid ""
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
+msgstr ""
+
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
 #, php-format
-msgid "XML error in gosa.conf: %s at line %d"
+msgid ""
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
 msgstr ""
 
-#: include/class_config.inc:318
-#, fuzzy
-msgid "Cannot bind to LDAP. Please contact the system administrator."
+#: include/class_SnapshotHandler.inc:58
+#, php-format
+msgid ""
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
 msgstr ""
-"Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: include/class_config.inc:695
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
 #, fuzzy
-msgid "sambaSID and/or sambaRidBase missing in the configuration!"
-msgstr "Scarica il file di  configurazione"
+msgid "Filter editor"
+msgstr "Terminal Server"
 
-#: include/class_config.inc:1105
+#: ihtml/themes/default/userFilterEditor.tpl:8
 #, fuzzy
-msgid "Configuration"
-msgstr "File di configurazione"
+msgid "Filter properties"
+msgstr "Modifica proprietà"
 
-#: include/class_config.inc:1105
-msgid ""
-"The configuration file you are using seems to be outdated. Please move the "
-"GOsa configuration file away to run the GOsa setup again."
-msgstr ""
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+msgid "Public visible"
+msgstr "Pubblico"
 
-#: include/class_pluglist.inc:58
+#: ihtml/themes/default/userFilterEditor.tpl:45
 #, fuzzy
-msgid "All objects in this category"
-msgstr "Nome descrittivo del gruppo"
+msgid "Enabled"
+msgstr "disabilitato"
 
-#: include/class_pluglist.inc:183
-msgid "The configuration format has changed. Please re-run setup!"
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
 msgstr ""
 
-#: include/class_pluglist.inc:202 include/class_pluglist.inc:203
-#: include/class_pluglist.inc:316
-#: plugins/admin/departments/class_department.inc:145
-#: plugins/personal/generic/class_user.inc:273
-#: plugins/personal/generic/class_user.inc:1872
-msgid "Unknown"
+#: ihtml/themes/default/userFilterEditor.tpl:69
+#, fuzzy
+msgid "Query"
+msgstr "utenti"
+
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+msgid "Assigned ACL for current entry"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#, fuzzy, php-format
-msgid "Copy and paste failed!"
-msgstr "Nome applicazione"
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
+#, fuzzy
+msgid "New ACL"
+msgstr "Nuovo"
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:193
-#, fuzzy, php-format
-msgid "Cannot set permission for '%s'"
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "ACL type"
+msgstr "Tipo"
+
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "Select an ACL type"
 msgstr "Rimuovi"
 
-#: include/class_CopyPasteHandler.inc:159
-#, php-format
-msgid "'%s' is no vaild LDAP object"
-msgstr ""
+#: ihtml/themes/default/acl.tpl:40
+#, fuzzy
+msgid "Additional filter options"
+msgstr "Opzioni applicazione"
 
-#: include/class_CopyPasteHandler.inc:176
-#, fuzzy, php-format
-msgid "No write permission in '%s'"
-msgstr "Rimuovi"
+#: ihtml/themes/default/acl.tpl:54
+#, fuzzy
+msgid "Member selection"
+msgstr "Impostazioni FAX"
 
-#: include/class_CopyPasteHandler.inc:396
-#, php-format
-msgid "These objects will be pasted: %s"
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:420
-#, php-format
-msgid "This object will be pasted: %s"
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+msgid "List message possible targets"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:572
-#, fuzzy
-msgid "Cannot paste"
-msgstr "Crea estensioni telefoniche"
-
-#: include/class_msg_dialog.inc:124
-msgid "Please fix the above error and reload the page."
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:966
-#: plugins/admin/groups/class_group.inc:1174
-#: plugins/admin/users/class_userManagement.inc:870
-#: plugins/admin/departments/class_department.inc:656
-#: plugins/personal/generic/class_user.inc:37
-#: plugins/personal/generic/class_user.inc:1668
-#: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
-msgid "Generic"
-msgstr "Generale"
-
-#: plugins/generic/references/class_reference.inc:43
-#: plugins/personal/posix/class_posixAccount.inc:37
-msgid "UNIX"
-msgstr "Unix"
-
-#: plugins/generic/references/class_reference.inc:45
-#: plugins/admin/ogroups/tabs_ogroups.inc:148
-#: plugins/admin/groups/class_groupManagement.inc:164
-#: plugins/admin/users/class_userManagement.inc:877
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
-msgid "Mail"
-msgstr "Posta"
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+#, fuzzy
+msgid "List of available ACL categories"
+msgstr "Scegli il tuo numero di telefono personale"
 
-#: plugins/generic/references/class_reference.inc:47
-#: plugins/generic/references/class_reference.inc:49
-#: plugins/admin/groups/class_groupManagement.inc:172
-#: plugins/admin/users/class_userManagement.inc:882
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:78
-msgid "Samba"
-msgstr "Samba"
+#: ihtml/themes/default/acl.tpl:120
+#, fuzzy
+msgid "ACL for this object"
+msgstr "Controllo il supporto per iconv"
 
-#: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:894
-msgid "FAX"
-msgstr "FAX"
+#: ihtml/themes/default/acl.tpl:126
+#, fuzzy
+msgid "Available roles"
+msgstr "Applicazioni disponibili"
 
-#: plugins/generic/references/class_reference.inc:53
-msgid "Proxy"
-msgstr "Proxy"
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+#, fuzzy
+msgid "Attention"
+msgstr "Destinazione"
 
-#: plugins/generic/references/class_reference.inc:55
-msgid "FTP"
-msgstr "FTP"
+#: ihtml/themes/default/removeEntries.tpl:14
+#, fuzzy
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
+msgstr ""
+"Quindi - Se sei sicuro - premi <i>Rimuovi</i> per continuare o <i>Annulla</"
+"i> per abortire."
 
-#: plugins/generic/references/class_reference.inc:57
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
-#: plugins/admin/ogroups/class_ogroupManagement.inc:184
-#: plugins/admin/ogroups/ogroup-list.xml:79
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
-#: plugins/admin/groups/group-list.xml:15
-#: plugins/admin/groups/group-list.xml:96
-#: plugins/personal/posix/groupSelect/group-list.xml:15
-msgid "Group"
-msgstr "Gruppo"
+#: ihtml/themes/default/userFilter.tpl:1
+#, fuzzy
+msgid "List of defined filters"
+msgstr "File di configurazione"
 
-#: plugins/generic/references/class_reference.inc:59
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
-#: plugins/admin/ogroups/class_ogroupManagement.inc:186
-#: plugins/admin/departments/dep-list.xml:55
-#: plugins/admin/departments/dep-list.xml:71
-#: plugins/admin/departments/dep-list.xml:138
-#: plugins/admin/departments/class_departmentManagement.inc:249
-#: plugins/personal/generic/class_user.inc:1695
-#: plugins/personal/generic/generic.tpl:307
-msgid "Department"
-msgstr "Dipartimento"
+#: ihtml/themes/default/snapshotdialog.tpl:3
+#, fuzzy
+msgid "Restoring object snapshots"
+msgstr "Gruppo di oggetti"
 
-#: plugins/generic/references/class_reference.inc:61
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
-#: plugins/admin/ogroups/class_ogroupManagement.inc:188
-#: plugins/admin/groups/class_groupManagement.inc:180
-#: plugins/admin/users/class_userManagement.inc:898
-#: plugins/admin/departments/generic.tpl:106
-#: plugins/admin/departments/class_department.inc:370
-#: plugins/admin/departments/organization.tpl:105
-#: plugins/personal/generic/class_user.inc:1356
-#: plugins/personal/generic/class_user.inc:1819
-#: plugins/personal/generic/generic.tpl:398
-#: plugins/personal/generic/generic.tpl:579
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:86
-msgid "Phone"
-msgstr "Telefono"
+#: ihtml/themes/default/snapshotdialog.tpl:6
+msgid ""
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:185
-msgid "Application"
-msgstr "Applicazione"
+#: ihtml/themes/default/snapshotdialog.tpl:9
+msgid ""
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:65
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
-#: plugins/admin/ogroups/class_ogroupManagement.inc:187
-#: plugins/personal/posix/trustSelect/trust-list.xml:14
-#: setup/setup_config2.tpl:219 setup/setup_config2.tpl:264
-msgid "Server"
-msgstr "Server"
+#: ihtml/themes/default/snapshotdialog.tpl:12
+msgid ""
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:67
-msgid "Thin Client"
+#: ihtml/themes/default/snapshotdialog.tpl:29
+msgid "There is no snapshot available that can be restored"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:69
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
-#: plugins/admin/ogroups/class_ogroupManagement.inc:189
-#: plugins/personal/posix/trustSelect/trust-list.xml:22
-msgid "Workstation"
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:71
-#: plugins/admin/ogroups/ogroup-list.xml:15
-msgid "Object group"
+#: ihtml/themes/default/snapshotdialog.tpl:50
+#, fuzzy
+msgid "Creating object snapshots"
 msgstr "Gruppo di oggetti"
 
-#: plugins/generic/references/class_reference.inc:73
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
-#: plugins/admin/ogroups/class_ogroupManagement.inc:192
-msgid "Printer"
-msgstr "Stampante"
+#: ihtml/themes/default/snapshotdialog.tpl:53
+msgid ""
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
+msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Object name"
-msgstr "Nome dell'oggetto"
+#: ihtml/themes/default/snapshotdialog.tpl:56
+msgid ""
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
+msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Contents"
-msgstr "Contenuti"
+#: ihtml/themes/default/snapshotdialog.tpl:71
+#, fuzzy
+msgid "Time stamp"
+msgstr "Timeout"
 
-#: plugins/generic/references/contents.tpl:18
-msgid "This object has no relationship to other objects."
-msgstr "Questo oggetto non ha relazioni con altri oggetti."
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
+msgstr ""
 
-#: plugins/generic/welcome/main.inc:26
-#, php-format
-msgid "Welcome %s!"
-msgstr "Benvenuto %s!"
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
+msgstr "Continua"
 
-#: plugins/generic/welcome/welcome.tpl:4
+#: ihtml/themes/default/password.tpl:5
 #, fuzzy
-msgid ""
-"This is the GOsa main menu. You can select your tasks from the menu on the "
-"left, or by choosing one of the pictograms below. All changes apply directly "
-"to your companies LDAP server."
+msgid "Change your password"
+msgstr "Cambia la password"
+
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
 msgstr ""
-"Questa è la schermata principale di GOsa. Puoi selezionare le attività "
-"tramite il menù sulla sinitra o cliccando slle icone qui sotto. Tutti i "
-"cambiamenti sono applicati immediatamente al server LDAP."
 
-#: plugins/generic/welcome/welcome.tpl:8
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
+#, fuzzy
+msgid "Password change"
+msgstr "Cambia la password"
+
+#: ihtml/themes/default/password.tpl:72
 msgid ""
-"Use 'Sign out' on the upper left to close the connection and 'Main' to get "
-"back to the pictogram view."
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
 msgstr ""
-"Usa <b>Termina la sessione</b> in alto a sinistra per uscire e "
-"<b>Principale</b> per tornare alla schermata principale."
 
-#: plugins/generic/welcome/welcome.tpl:15
-msgid "The GOsa team"
-msgstr "Il team di GOsa"
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
+msgstr "Cambia la password"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
-#: plugins/admin/groups/userSelect/user-list.xml:10
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
-#: plugins/personal/posix/trustSelect/trust-list.xml:10
-#: plugins/personal/posix/groupSelect/group-list.xml:11
-#, fuzzy
-msgid "Please select the desired entries"
-msgstr "Lingua preferita"
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
+msgstr "Directory"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
-#: plugins/admin/ogroups/class_ogroupManagement.inc:191
-#: plugins/personal/posix/trustSelect/trust-list.xml:30
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
 #, fuzzy
-msgid "Terminal"
-msgstr "Terminali"
+msgid "User name"
+msgstr "Nome utente"
+
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
+msgstr "Password attuale"
+
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
+msgstr "Nuova password"
+
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
+msgstr "Ripeti la password"
+
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
+#, fuzzy
+msgid "Password strength"
+msgstr "Algorimo password"
+
+#: ihtml/themes/default/password.tpl:131
+#, fuzzy
+msgid "Click here to change your password"
+msgstr "Non hai il permesso di cambiare la tua password."
+
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
+msgstr "Cambia password"
+
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
+msgstr "Rilevato un conflitto di accesso"
+
+#: ihtml/themes/default/islocked.tpl:14
+msgid ""
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
+msgstr ""
+
+#: ihtml/themes/default/islocked.tpl:23
+msgid "Read only"
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:1
+msgid "Copy & paste wizard"
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:7
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+#, fuzzy
+msgid "Cancel all"
+msgstr "Annulla"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+#, fuzzy
+msgid "Operation complete"
+msgstr "incompleto"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
+msgstr "Esegui"
+
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
+msgstr ""
+
+#: ihtml/themes/default/logout.tpl:9
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
+msgstr ""
+
+#: ihtml/themes/default/logout.tpl:16
+#, fuzzy
+msgid "Login again"
+msgstr "Entra"
+
+#: ihtml/themes/default/login.tpl:31
+#, fuzzy
+msgid "Login to GOsa"
+msgstr "Benvenuto nel setup di GOsa!"
+
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
+msgstr "Password"
+
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
+msgstr ""
+
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
+msgstr "Clicca qui per connetterti"
+
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+#, fuzzy
+msgid "Log in"
+msgstr "Nome utente"
+
+#: ihtml/themes/default/sizelimit.tpl:3
+msgid ""
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
+msgstr ""
+
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
+msgstr ""
+
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
+msgstr ""
+
+#: ihtml/themes/default/sizelimit.tpl:11
+msgid ""
+"ignore this error and show all entries that fit into the defined size limit"
+msgstr ""
+
+#: ihtml/themes/default/infoPage.tpl:4
+#, fuzzy
+msgid "User information"
+msgstr "Informazioni personali"
+
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
+msgstr ""
+
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+msgid "Surname"
+msgstr "Cognome"
+
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+msgid "Given name"
+msgstr "Nome"
+
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
+msgstr "Titolo onorifico"
+
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
+msgstr "Titolo di studio"
+
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
+msgstr ""
+
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
+msgstr "Data di nascita"
+
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
+msgstr "Posta"
+
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
+#, fuzzy
+msgid "Home phone number"
+msgstr "Numero di telefono"
+
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
+msgstr "Organizzazione"
+
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
+#, fuzzy
+msgid "Organizational Unit"
+msgstr "Unità del'organizzazione"
+
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
+msgstr "Località"
+
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
+msgstr "Strada"
+
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
+#, fuzzy
+msgid "Department number"
+msgstr "Dipartimento"
+
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
+#, fuzzy
+msgid "Employee number"
+msgstr "Qualifica"
+
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
+msgstr "Qualifica"
+
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+#, fuzzy
+msgid "User settings"
+msgstr "Opzioni di posta dell'identità"
+
+#: ihtml/themes/default/infoPage.tpl:55
+#, fuzzy
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
+msgstr ""
+"Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
+
+#: ihtml/themes/default/infoPage.tpl:61
+#, fuzzy
+msgid "Administrative contact"
+msgstr "Amministrazione"
+
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
+msgstr "Il team di GOsa"
+
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
+msgstr ""
+
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
+#, fuzzy
+msgid "Error message"
+msgstr "Home Page"
+
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
+msgstr ""
+
+#: ihtml/themes/default/framework.tpl:9
+#, fuzzy
+msgid "Log out"
+msgstr "Termina sessione"
+
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
+msgstr ""
+"Stai modificando un campo del database. Vuoi abbandonare i cambiamenti?"
+
+#: ihtml/themes/default/framework.tpl:22
+#, fuzzy, php-format
+msgid "Session expires in %d!"
+msgstr "Rilevato un conflitto di sessione"
+
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
+msgstr ""
+
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
+msgstr ""
+
+#: ihtml/themes/default/logout-close.tpl:5
+msgid "Your GOsa session has been closed!"
+msgstr ""
+
+#: ihtml/themes/default/logout-close.tpl:7
+msgid ""
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+#, fuzzy
+msgid "LDAP inspection"
+msgstr "Ispezione della configurazione PHP"
+
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:59
+#, fuzzy
+msgid "Checking for root object"
+msgstr "Controllo il supporto per iconv"
+
+#: setup/class_setupStep_Migrate.inc:65
+#, fuzzy
+msgid "Inspecting object classes in root object"
+msgstr "Controllo il supporto per iconv"
+
+#: setup/class_setupStep_Migrate.inc:71
+#, fuzzy
+msgid "Checking permission for LDAP database"
+msgstr "Non hai il permesso di cambiare la tua password."
+
+#: setup/class_setupStep_Migrate.inc:78
+#, fuzzy
+msgid "Checking for super administrator"
+msgstr "Controllo la presenza di alcuni programmi addizionali"
+
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+#, fuzzy
+msgid "LDAP query failed"
+msgstr "La query al database è fallita!"
+
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
+msgstr "Fallito"
+
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
+#, php-format
+msgid ""
+"The specified user '%s' does not have full access to your LDAP database."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
+msgstr "Creare"
+
+#: setup/class_setupStep_Migrate.inc:377
+#, fuzzy
+msgid "Migration error"
+msgstr "Creare"
+
+#: setup/class_setupStep_Migrate.inc:377
+#, php-format
+msgid "Cannot add ACL for user '%s':"
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
+#, fuzzy
+msgid "Input error"
+msgstr "Errore PHP"
+
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
+msgstr "UID"
+
+#: setup/class_setupStep_Migrate.inc:420
+#, fuzzy
+msgid "Password error"
+msgstr "La password spira il"
+
+#: setup/class_setupStep_Migrate.inc:420
+#, fuzzy
+msgid "Provided passwords do not match!"
+msgstr "Le password nuova e ripetuta non corrispondono"
+
+#: setup/class_setupStep_Migrate.inc:425
+#, fuzzy
+msgid "Specify a valid user ID!"
+msgstr "Prego inserire un numero di telefono valido!"
+
+#: setup/class_setupStep_Migrate.inc:450
+#, php-format
+msgid "Adding an administrative user failed: object '%s' already exists!"
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:662
+msgid ""
+"The LDAP root object is missing. It is required to use your LDAP service."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
+#, fuzzy
+msgid "Try to create root object"
+msgstr "Gruppo di oggetti"
+
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:730
+#, fuzzy, php-format
+msgid "Missing GOsa object class '%s'!"
+msgstr "Lista dei dipartimenti"
+
+#: setup/class_setupStep_Migrate.inc:731
+msgid "Please check your installation."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:752
+#, php-format
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
+#, fuzzy
+msgid "Migrate"
+msgstr "Creare"
+
+#: setup/setup_checks.tpl:2
+msgid ""
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
+msgstr ""
+
+#: setup/setup_checks.tpl:5
+#, fuzzy
+msgid "Inspection"
+msgstr "Ispezione della configurazione PHP"
+
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
+msgstr ""
+
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
+msgstr ""
+
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
+msgstr ""
+
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
+msgstr ""
+
+#: setup/setup_checks.tpl:50
+#, fuzzy
+msgid "PHP setup configuration"
+msgstr "Scarica il file di  configurazione"
+
+#: setup/setup_checks.tpl:50
+#, fuzzy
+msgid "show information"
+msgstr "Informazioni personali"
+
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
+msgstr ""
+
+#: setup/class_setupStep_Finish.inc:40
+#, fuzzy
+msgid "Write configuration file"
+msgstr "File di configurazione"
+
+#: setup/class_setupStep_Finish.inc:41
+#, fuzzy
+msgid "Finish - write the configuration file"
+msgstr "File di configurazione"
+
+#: setup/class_setupStep_Finish.inc:106
+#, fuzzy
+msgid ""
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
+msgstr "Il file di configurazione di GOsa %s/gosa.conf non è legibile."
+
+#: setup/class_setupStep_Finish.inc:108
+#, fuzzy
+msgid "The configuration is currently not readable or it does not exists."
+msgstr "Il file di configurazione di GOsa %s/gosa.conf non è legibile."
+
+#: setup/class_setupStep_Finish.inc:117
+#, fuzzy, php-format
+msgid ""
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
+msgstr ""
+"Dopo averlo scaricato dentro /etc/gosa/, assicurati che l'utente del "
+"webserver sia in grado di leggerlo mentre tutti gli altri utenti non "
+"possono. In molti casi è sufficiente eseguire i comandi seguenti."
+
+#: setup/class_setupStep_Ldap.inc:54
+#, fuzzy
+msgid "LDAP setup"
+msgstr "Dispositivi"
+
+#: setup/class_setupStep_Ldap.inc:55
+#, fuzzy
+msgid "LDAP connection setup"
+msgstr "Disconnessione "
+
+#: setup/class_setupStep_Ldap.inc:56
+#, fuzzy
+msgid ""
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
+msgstr "I campi seguenti permettono una configurazione base di GOsa."
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+#, fuzzy
+msgid "No"
+msgstr "nessuno"
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+#, fuzzy
+msgid "Yes"
+msgstr "Sistemi"
+
+#: setup/class_setupStep_Ldap.inc:113
+#, php-format
+msgid "Anonymous bind to server '%s' failed!"
+msgstr ""
+
+#: setup/class_setupStep_Ldap.inc:115
+#, fuzzy, php-format
+msgid "Bind as user '%s' failed!"
+msgstr "Impossibile selezionare il database!"
+
+#: setup/class_setupStep_Ldap.inc:120
+#, fuzzy, php-format
+msgid "Anonymous bind to server '%s' succeeded."
+msgstr "Impossibile selezionare il database!"
+
+#: setup/class_setupStep_Ldap.inc:121
+#, fuzzy
+msgid "Please specify user and password!"
+msgstr "Prego inserire un numero di telefono valido!"
+
+#: setup/class_setupStep_Ldap.inc:123
+#, fuzzy, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
+msgstr "Impossibile selezionare il database!"
+
+#: setup/class_setupStep_Feedback.inc:94
+#, fuzzy
+msgid "UNIX accounts/groups"
+msgstr "Account Unix"
+
+#: setup/class_setupStep_Feedback.inc:96
+#, fuzzy
+msgid "Samba management"
+msgstr "Dirigenza"
+
+#: setup/class_setupStep_Feedback.inc:98
+#, fuzzy
+msgid "Mail system management"
+msgstr "Riferimenti"
+
+#: setup/class_setupStep_Feedback.inc:100
+#, fuzzy
+msgid "FAX system administration"
+msgstr "Amministrazione utenti"
+
+#: setup/class_setupStep_Feedback.inc:102
+#, fuzzy
+msgid "Asterisk administration"
+msgstr "Amministrazione utenti"
+
+#: setup/class_setupStep_Feedback.inc:104
+#, fuzzy
+msgid "System inventory"
+msgstr "Elimina contatto"
+
+#: setup/class_setupStep_Feedback.inc:106
+#, fuzzy
+msgid "System/Configuration management"
+msgstr "Riferimenti"
+
+#: setup/class_setupStep_Feedback.inc:108
+#, fuzzy
+msgid "Address book"
+msgstr "Rubrica"
+
+#: setup/class_setupStep_Feedback.inc:114
+msgid "Feedback"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:115
+#, fuzzy
+msgid "Get notifications or send feedback"
+msgstr "Non ci sono certificati installati"
+
+#: setup/class_setupStep_Feedback.inc:116
+#, fuzzy
+msgid "Notification and feedback"
+msgstr "Non ci sono certificati installati"
+
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
+#, fuzzy
+msgid "Setup error"
+msgstr "Stato"
+
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Feedback error"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:140
+#, php-format
+msgid "Cannot send feedback to '%s': %s"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:181
+#, fuzzy
+msgid "Please specify a valid email address."
+msgstr "Prego inserire un numero di telefono valido!"
+
+#: setup/class_setupStep_Feedback.inc:185
+msgid ""
+"You have to select at least one of both options, subscribe or send feedback."
+msgstr ""
+
+#: setup/setup_license.tpl:3
+msgid ""
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
+msgstr ""
+
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
+msgstr ""
+
+#: setup/setup_ldap.tpl:2
+msgid ""
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
+msgstr ""
+
+#: setup/setup_ldap.tpl:9
+msgid "Please choose the LDAP user to be used by GOsa"
+msgstr ""
+
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
+#, fuzzy
+msgid "LDAP connection"
+msgstr "Disconnessione "
+
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
+msgstr "Nome locazione"
+
+#: setup/setup_ldap.tpl:35
+#, fuzzy
+msgid "Connection URI"
+msgstr "Connessione"
+
+#: setup/setup_ldap.tpl:39
+#, fuzzy
+msgid "TLS connection"
+msgstr "Connessione"
+
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
+#: plugins/admin/ogroups/generic.tpl:26
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
+#: plugins/admin/departments/class_domain.inc:92
+#: plugins/admin/departments/class_organizationGeneric.inc:125
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
+#: plugins/admin/departments/class_dcObject.inc:93
+#: plugins/admin/departments/domain.tpl:28
+#: plugins/admin/users/user-list.tpl:12
+msgid "Base"
+msgstr "Base"
+
+#: setup/setup_ldap.tpl:57
+#, fuzzy
+msgid "Reload"
+msgstr "leggere"
+
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+#, fuzzy
+msgid "Authentication"
+msgstr "Destinazione"
+
+#: setup/setup_ldap.tpl:66
+#, fuzzy
+msgid "Administrator DN"
+msgstr "Amministrazione"
+
+#: setup/setup_ldap.tpl:71
+#, fuzzy
+msgid "Select user"
+msgstr "Rimuovi"
+
+#: setup/setup_ldap.tpl:81
+msgid "Automatically append LDAP base to administrator DN"
+msgstr ""
+
+#: setup/setup_ldap.tpl:85
+#, fuzzy
+msgid "Administrator password"
+msgstr "Password dell'amministratore"
+
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
+#, fuzzy
+msgid "Schema based settings"
+msgstr "Impostazioni Samba"
+
+#: setup/setup_ldap.tpl:94
+msgid "Use RFC 2307bis compliant groups"
+msgstr ""
+
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
+#, fuzzy
+msgid "Current status"
+msgstr "Stato"
+
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
+msgstr "Informazioni"
+
+#: setup/setup_language.tpl:3
+#, fuzzy
+msgid "Please select the preferred language"
+msgstr "Lingua preferita"
+
+#: setup/setup_language.tpl:5
+msgid ""
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
+msgstr ""
+
+#: setup/setup_language.tpl:9
+#, fuzzy
+msgid "Please select your preferred language here"
+msgstr "Lingua preferita"
+
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
+msgstr ""
+
+#: setup/setup_welcome.tpl:5
+msgid ""
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
+msgstr ""
+
+#: setup/setup_welcome.tpl:9
+#, fuzzy
+msgid "What you need to generate a configuration file:"
+msgstr "File di configurazione"
+
+#: setup/setup_welcome.tpl:13
+#, fuzzy
+msgid "The hostname of your LDAP server"
+msgstr "Errore durante la connessione al server LDAP. Il server dice: '%s'"
+
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
+msgstr ""
+
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
+msgstr ""
+
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
+msgstr ""
+
+#: setup/setup_welcome.tpl:20
+msgid ""
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
+msgstr ""
+
+#: setup/setup_welcome.tpl:24
+#, fuzzy
+msgid "Starting the setup"
+msgstr "Lingua"
+
+#: setup/setup_welcome.tpl:26
+msgid ""
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
+msgstr ""
+
+#: setup/setup_welcome.tpl:32
+msgid "Click the 'Next' button when you've finished."
+msgstr ""
+
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
+#, fuzzy
+msgid "LDAP schema check"
+msgstr "Server"
+
+#: setup/class_setupStep_Schema.inc:39
+msgid "Perform test on your current LDAP schema"
+msgstr ""
+
+#: setup/class_setup.inc:183
+#, fuzzy
+msgid "Setup"
+msgstr "Imposta"
+
+#: setup/class_setup.inc:195
+#, fuzzy
+msgid "Completed"
+msgstr "incompleto"
+
+#: setup/class_setup.inc:235
+#, fuzzy
+msgid "Check again"
+msgstr "Continua"
+
+#: setup/class_setup.inc:238
+msgid "Next"
+msgstr ""
+
+#: setup/setup_migrate.tpl:2
+msgid ""
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
+msgstr ""
+
+#: setup/setup_migrate.tpl:5
+#, fuzzy
+msgid "Checks"
+msgstr "Stato"
+
+#: setup/setup_migrate.tpl:22
+#, fuzzy
+msgid "Add required object classes to the LDAP base"
+msgstr "Lista dei dipartimenti"
+
+#: setup/setup_migrate.tpl:24
+#, fuzzy
+msgid "Current"
+msgstr "Password attuale"
+
+#: setup/setup_migrate.tpl:28
+#, fuzzy
+msgid "After migration"
+msgstr "Amministrazione utenti"
+
+#: setup/setup_migrate.tpl:35
+#, fuzzy
+msgid "Close"
+msgstr "Scegli"
+
+#: setup/setup_migrate.tpl:40
+#, fuzzy
+msgid "Create a new GOsa administrator account"
+msgstr "Crea estensioni di posta"
+
+#: setup/setup_migrate.tpl:41
+msgid ""
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
+msgstr ""
+
+#: setup/setup_migrate.tpl:57
+#, fuzzy
+msgid "Password (again)"
+msgstr "Algorimo password"
+
+#: setup/setup_finish.tpl:3
+#, fuzzy
+msgid "Create your configuration file"
+msgstr "File di configurazione"
+
+#: setup/setup_finish.tpl:10
+msgid "Depending on the user name your web server is running on:"
+msgstr ""
+
+#: setup/setup_finish.tpl:27
+msgid "Download configuration"
+msgstr "Scarica il file di  configurazione"
+
+#: setup/setup_finish.tpl:33
+#, fuzzy
+msgid "Status: "
+msgstr "Stato"
+
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:66
+#, fuzzy
+msgid "Checking PHP version"
+msgstr "Controllo della versione di PHP (>=4.1.0)"
+
+#: setup/class_setupStep_Checks.inc:67
+#, fuzzy, php-format
+msgid "PHP must be of version %s or above."
+msgstr "PHP deve essere la versione 4.1.0 o superiore."
+
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:91
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
+msgstr ""
+"Queso modulo serve a leggere i report di GOfax dal database.GOsa funziona "
+"correttamente anche senza."
+
+#: setup/class_setupStep_Checks.inc:99
+msgid "GOsa requires this module for the samba integration."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:107
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:122
+#, fuzzy
+msgid "mbstring"
+msgstr "Impostazioni Samba"
+
+#: setup/class_setupStep_Checks.inc:123
+#, fuzzy
+msgid "GOsa requires this module to handle Unicode strings."
+msgstr ""
+"Queso modulo serve a leggere i report di GOfax dal database.GOsa funziona "
+"correttamente anche senza."
+
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:131
+#, fuzzy
+msgid "GOsa requires this module to calculate dates."
+msgstr ""
+"Queso modulo serve a leggere i report di GOfax dal database.GOsa funziona "
+"correttamente anche senza."
+
+#: setup/class_setupStep_Checks.inc:138
+#, fuzzy
+msgid "MySQL"
+msgstr "Errore LDAP"
+
+#: setup/class_setupStep_Checks.inc:139
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with several supported databases."
+msgstr ""
+"Queso modulo serve a leggere i report di GOfax dal database.GOsa funziona "
+"correttamente anche senza."
+
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:158
+msgid ""
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:172
+msgid "GOsa requires this extension to handle images."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:187
+#, fuzzy
+msgid "compression module"
+msgstr "Opzioni di accesso"
+
+#: setup/class_setupStep_Checks.inc:188
+msgid "GOsa requires this extension to handle snapshots."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:199
+#, fuzzy
+msgid ""
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
+msgstr ""
+"register_globals è un meccanismo PHP che può comportare maggiori rischi per "
+"la sicurezza. GOsa funziona in entrambe le modalità"
+
+#: setup/class_setupStep_Checks.inc:200
+#, fuzzy
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+msgstr "Controllo se register_globals e impostato su 'off'"
+
+#: setup/class_setupStep_Checks.inc:208
+msgid "PHP uses this value for the garbage collector to delete old sessions."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:209
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:210
+#, fuzzy
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
+msgstr ""
+"Per non avere problemi con GOsa è necessario impostare l'opzione session."
+"auto_register su 'off' nel file php.ini"
+
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+msgid "Off"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:218
+#, fuzzy
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
+msgstr ""
+"Per non avere problemi con GOsa è necessario impostare l'opzione session."
+"auto_register su 'off' nel file php.ini"
+
+#: setup/class_setupStep_Checks.inc:219
+#, fuzzy
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+msgstr ""
+"Per non avere problemi con GOsa è necessario impostare l'opzione session."
+"auto_register su 'off' nel file php.ini"
+
+#: setup/class_setupStep_Checks.inc:226
+#, fuzzy
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
+msgstr ""
+"Per non avere problemi con GOsa è necessario impostare l'opzione "
+"memory_limit a 16MB o più nel file php.ini"
+
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:234
+#, fuzzy
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
+msgstr ""
+"Per motivi di performance è consigliato di impostare l'opzione "
+"implicit_flush su 'off' nel file php.ini."
+
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:242
+#, fuzzy
+msgid "The Execution time should be at least 30 seconds."
+msgstr ""
+"Per non avere problemi con GOsa è necessario impostare l'opzione "
+"max_execution_time a 30 secondi o più nel file php.ini"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:183
-#: plugins/admin/groups/userSelect/user-list.xml:14
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
-#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
-#: setup/setup_config2.tpl:228 setup/setup_config2.tpl:273
-msgid "User"
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:29
-#: plugins/admin/ogroups/class_ogroup.inc:768
-#: plugins/admin/ogroups/class_ogroup.inc:783
-#: plugins/admin/ogroups/class_ogroup.inc:787
-#: plugins/admin/ogroups/class_ogroup.inc:975
-#: plugins/admin/ogroups/ogroup-filter.tpl:29
-#: plugins/admin/ogroups/ogroup-list.xml:41
-#: plugins/admin/groups/userSelect/user-filter.tpl:17
-#: plugins/admin/groups/group-filter.tpl:21
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:17
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:21
-#: plugins/admin/groups/group-list.xml:58
-#: plugins/admin/groups/class_group.inc:1045
-#: plugins/admin/groups/class_group.inc:1056
-#: plugins/admin/groups/class_group.inc:1058
-#: plugins/admin/groups/class_group.inc:1075
-#: plugins/admin/groups/class_group.inc:1089
-#: plugins/admin/groups/class_group.inc:1096
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:538
-#: plugins/admin/users/class_userManagement.inc:585
-#: plugins/admin/users/user-filter.tpl:24
-#: plugins/admin/departments/class_domain.inc:47
-#: plugins/admin/departments/class_domain.inc:49
-#: plugins/admin/departments/class_domain.inc:54
-#: plugins/admin/departments/class_domain.inc:56
-#: plugins/admin/departments/class_domain.inc:58
-#: plugins/admin/departments/class_domain.inc:90
-#: plugins/admin/departments/dep-filter.tpl:13
-#: plugins/admin/departments/class_localityGeneric.inc:48
-#: plugins/admin/departments/class_localityGeneric.inc:50
-#: plugins/admin/departments/class_localityGeneric.inc:55
-#: plugins/admin/departments/class_localityGeneric.inc:57
-#: plugins/admin/departments/class_localityGeneric.inc:59
-#: plugins/admin/departments/class_organizationGeneric.inc:79
-#: plugins/admin/departments/class_organizationGeneric.inc:81
-#: plugins/admin/departments/class_organizationGeneric.inc:86
-#: plugins/admin/departments/class_organizationGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:90
-#: plugins/admin/departments/class_countryGeneric.inc:47
-#: plugins/admin/departments/class_countryGeneric.inc:49
-#: plugins/admin/departments/class_countryGeneric.inc:54
-#: plugins/admin/departments/class_countryGeneric.inc:56
-#: plugins/admin/departments/class_countryGeneric.inc:58
-#: plugins/admin/departments/class_dcObject.inc:47
-#: plugins/admin/departments/class_dcObject.inc:49
-#: plugins/admin/departments/class_dcObject.inc:54
-#: plugins/admin/departments/class_dcObject.inc:56
-#: plugins/admin/departments/class_dcObject.inc:58
-#: plugins/admin/departments/class_dcObject.inc:90
-#: plugins/admin/departments/class_department.inc:349
-#: plugins/admin/departments/class_department.inc:351
-#: plugins/admin/departments/class_department.inc:356
-#: plugins/admin/departments/class_department.inc:363
-#: plugins/admin/departments/class_department.inc:367
-#: plugins/admin/acl/class_aclRole.inc:733
-#: plugins/admin/acl/class_aclRole.inc:745
-#: plugins/admin/acl/class_aclRole.inc:755 plugins/admin/acl/acl-list.xml:49
-#: plugins/admin/acl/paste_role.tpl:4 plugins/admin/acl/acl-filter.tpl:21
-#: plugins/admin/acl/acl_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1336
-#: plugins/personal/generic/class_user.inc:1378
-#: plugins/personal/generic/class_user.inc:1834
-#: plugins/personal/posix/trustSelect/trust-list.xml:56
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:23
-#: plugins/personal/posix/groupSelect/group-filter.tpl:21
-#: plugins/personal/posix/groupSelect/group-list.xml:41
-#: setup/setup_migrate.tpl:283 setup/setup_feedback.tpl:31
-msgid "Name"
-msgstr "Cognome"
+#: setup/class_setupStep_Checks.inc:250
+#, fuzzy
+msgid ""
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
+msgstr ""
+"Per motivi di sicurezza è consigliato di impostare l'opzione expose_php su "
+"'off' nel file php.ini."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
-#: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:976
-#: plugins/admin/ogroups/generic.tpl:26
-#: plugins/admin/groups/userSelect/user-list.tpl:13
-#: plugins/admin/groups/generic.tpl:39
-#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:13
-#: plugins/admin/groups/group-list.tpl:13
-#: plugins/admin/groups/class_group.inc:1185
-#: plugins/admin/users/user-list.tpl:13
-#: plugins/admin/departments/locality.tpl:28
-#: plugins/admin/departments/generic.tpl:39
-#: plugins/admin/departments/class_domain.inc:92
-#: plugins/admin/departments/class_localityGeneric.inc:94
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/admin/departments/class_countryGeneric.inc:94
-#: plugins/admin/departments/class_dcObject.inc:93
-#: plugins/admin/departments/domain.tpl:28
-#: plugins/admin/departments/country.tpl:28
-#: plugins/admin/departments/dcObject.tpl:28
-#: plugins/admin/departments/class_department.inc:668
-#: plugins/admin/departments/dep-list.tpl:13
-#: plugins/admin/departments/organization.tpl:39
-#: plugins/admin/acl/acl-list.tpl:13 plugins/admin/acl/class_aclRole.inc:734
-#: plugins/admin/acl/acl_role.tpl:27
-#: plugins/personal/generic/class_user.inc:1688
-#: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/posix/trustSelect/trust-list.tpl:13
-#: plugins/personal/posix/groupSelect/group-list.tpl:13
-#: setup/setup_ldap.tpl:55
-msgid "Base"
-msgstr "Base"
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:3
-#: plugins/admin/ogroups/ogroup-filter.tpl:3
-#: plugins/admin/groups/userSelect/user-filter.tpl:3
-#: plugins/admin/groups/group-filter.tpl:3
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:3
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:3
-#: plugins/admin/users/user-filter.tpl:3
-#: plugins/admin/departments/dep-filter.tpl:3
-#: plugins/admin/acl/acl-filter.tpl:3
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:3
-#: plugins/personal/posix/groupSelect/group-filter.tpl:3
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
 #, fuzzy
-msgid "Filter"
-msgstr "Filtri"
+msgid "On"
+msgstr "Opzioni"
+
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
+msgstr ""
+"Per motivi di sicurezza è consigliato di impostare l'opzione "
+"magic_quotes_gpc su 'on' nel file php.ini."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:11
+#: setup/class_setupStep_Checks.inc:259
 #, fuzzy
-msgid "Show department"
-msgstr "Mostra dipartimenti"
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+msgstr "Controllo se register_globals e impostato su 'off'"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:12
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:11
+#: setup/class_setupStep_Checks.inc:266
 #, fuzzy
-msgid "Show users"
-msgstr "Mostra server"
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+msgstr ""
+"Per motivi di sicurezza è consigliato di impostare l'opzione "
+"magic_quotes_gpc su 'on' nel file php.ini."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:12
+#: setup/class_setupStep_Checks.inc:267
 #, fuzzy
-msgid "Show groups"
-msgstr "Mostra gruppi samba"
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+msgstr ""
+"Per non avere problemi con GOsa è necessario impostare l'opzione session."
+"auto_register su 'off' nel file php.ini"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:15
+#: setup/class_setupStep_Checks.inc:277
 #, fuzzy
-msgid "Show server"
-msgstr "Mostra server"
+msgid "Configuration writable"
+msgstr "File di configurazione"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:16
+#: setup/class_setupStep_Checks.inc:278
 #, fuzzy
-msgid "Show workstation"
-msgstr "Mostra workstation"
+msgid "The configuration file can't be written"
+msgstr "File di configurazione"
+
+#: setup/class_setupStep_Checks.inc:279
+#, php-format
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:17
+#: setup/class_setupStep_Welcome.inc:42
 #, fuzzy
-msgid "Show terminal"
-msgstr "Mostra terminali"
+msgid "Welcome"
+msgstr "Benvenuto %s!"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:19
+#: setup/class_setupStep_Welcome.inc:43
 #, fuzzy
-msgid "Show printer"
-msgstr "Mostra stampanti"
+msgid "The welcome message"
+msgstr "Elimina questo record"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:20
+#: setup/class_setupStep_Welcome.inc:44
 #, fuzzy
-msgid "Show phone"
-msgstr "Mostra telefoni"
+msgid "Welcome to the GOsa setup assistent"
+msgstr "Benvenuto nel setup di GOsa!"
+
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
+msgid "License"
+msgstr ""
+
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
+msgstr ""
+
+#: setup/setup_schema.tpl:1
+#, fuzzy
+msgid "Schema specific settings"
+msgstr "Impostazioni Samba"
+
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
+msgstr ""
+
+#: setup/setup_schema.tpl:7
+#, fuzzy
+msgid "Schema check failed"
+msgstr "Server"
 
-#: plugins/admin/ogroups/remove.tpl:6
+#: setup/setup_schema.tpl:11
 msgid ""
-"Please double check if you really want to do this since there is no way for "
-"GOsa to get your data back."
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:972
-msgid "Object groups"
-msgstr "Gruppi di oggetti"
+#: setup/setup_schema.tpl:13
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
 #, fuzzy
-msgid "Manage object groups"
-msgstr "Nome del gruppo"
+msgid "Language setup"
+msgstr "Lingua"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:115
-#: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:204
+#: setup/class_setupStep_Language.inc:42
 #, fuzzy
-msgid "Infrastructure error"
-msgstr "Errore PHP"
+msgid "This step allows you to select your preferred language."
+msgstr "Lingua preferita"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+#: setup/setup_feedback.tpl:2
 #, fuzzy
-msgid "Templates"
-msgstr "Template"
+msgid "Feedback successfully send"
+msgstr "Setup completato"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:190
-msgid "Windows Install"
+#: setup/setup_feedback.tpl:6
+msgid "Subscribe to the gosa-announce mailing list"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:238
-msgid "You cannot combine terminals and workstations in one object group!"
+#: setup/setup_feedback.tpl:8
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:354
-#: plugins/admin/users/class_userManagement.inc:463
-#: plugins/admin/users/class_userManagement.inc:497
-#: plugins/admin/users/class_userManagement.inc:528
-msgid "none"
-msgstr "nessuno"
+#: setup/setup_feedback.tpl:20
+msgid "Mail address"
+msgstr "Indirizzo principale"
 
-#: plugins/admin/ogroups/class_ogroup.inc:356
-msgid "too many different objects!"
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:358
-msgid "users"
-msgstr "utenti"
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:359
-msgid "groups"
-msgstr "gruppi"
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
+msgstr "Generale"
 
-#: plugins/admin/ogroups/class_ogroup.inc:360
-msgid "applications"
-msgstr "applicazioni"
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:361
-msgid "departments"
-msgstr "dipartimenti"
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
+msgstr ""
+
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
+msgstr ""
+
+#: setup/setup_feedback.tpl:54
+msgid "Select the year since when you are using GOsa"
+msgstr ""
+
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:72
+#, fuzzy
+msgid "GOsa version"
+msgstr "Impostazioni generali delle code"
+
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
+msgstr ""
+
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
+#, fuzzy
+msgid "Features"
+msgstr "Futuro"
+
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
+msgstr ""
+
+#: html/password.php:63 html/index.php:157
+#, fuzzy, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
+msgstr "Il file di configurazione di GOsa %s/gosa.conf non è legibile."
+
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, php-format
+msgid "Compile directory %s is not accessible!"
+msgstr ""
+
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
+#, fuzzy
+msgid "Password method"
+msgstr "Algorimo password"
+
+#: html/password.php:195
+msgid "Error: Password method not available!"
+msgstr ""
+
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
+msgstr "Nome utente"
+
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
+msgstr "Devi specificare la tua 'Password attuale' per procedere."
 
-#: plugins/admin/ogroups/class_ogroup.inc:362
-msgid "servers"
-msgstr "server"
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
+msgid ""
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
+msgstr "Le password nuova e ripetuta non corrispondono"
 
-#: plugins/admin/ogroups/class_ogroup.inc:363
-msgid "workstations"
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
+msgstr "La password immessa come 'Nuova password' è vuota"
+
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
 msgstr ""
+"La password immessa come 'Nuova password' è troppo simile a quella attuale."
 
-#: plugins/admin/ogroups/class_ogroup.inc:364
-#, fuzzy
-msgid "winstations"
-msgstr "Amministrazione"
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
+msgstr "La 'Nuova password' immessa è troppo corta."
 
-#: plugins/admin/ogroups/class_ogroup.inc:365
-msgid "terminals"
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
+msgid "The password contains possibly problematic Unicode characters!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:366
-msgid "phones"
-msgstr "telefoni"
-
-#: plugins/admin/ogroups/class_ogroup.inc:367
-msgid "printers"
-msgstr "stampanti"
+#: html/password.php:261 html/index.php:311
+#, fuzzy
+msgid "Please check the username/password combination!"
+msgstr "Prego inserire un numero di telefono valido!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-#: setup/setup_config2.tpl:143
-msgid "disabled"
-msgstr "disabilitato"
+#: html/password.php:268
+#, fuzzy
+msgid "You have no permissions to change your password!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-msgid "full access"
-msgstr "accesso completo"
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
+#, php-format
+msgid "Check-hook reported a problem: %s. Password change canceled!"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:413
-#: plugins/admin/groups/class_group.inc:434
-#: plugins/personal/posix/class_posixAccount.inc:574
-msgid "allow access to these hosts"
-msgstr "accesso limitato ai seguenti host"
+#: html/password.php:315
+msgid "Session will not be encrypted."
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:601
-msgid "Non existing dn:"
+#: html/password.php:317
+msgid "Enter SSL session"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:758
+#: html/index.php:45
 #, php-format
-msgid ""
-"These systems are already configured by other object groups and cannot be "
-"added:"
+msgid "Your browser (%s) is blacklisted for the current theme!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:792
-msgid "You can combine two different object types at maximum, only!"
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:967
+#: html/index.php:72
 #, fuzzy
-msgid "Object group generic"
-msgstr "Gruppo di oggetti"
+msgid "here"
+msgstr "Cellulare"
 
-#: plugins/admin/ogroups/class_ogroup.inc:978
-#, fuzzy
-msgid "Sytem trust"
-msgstr "Accesso ai sistemi"
+#: html/index.php:78
+msgid "The configured session lifetime will be overridden by php.ini settings!"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:979
+#: html/index.php:179
 #, fuzzy
-msgid "Member"
-msgstr "Membri"
-
-#: plugins/admin/ogroups/generic.tpl:7
-#: plugins/admin/ogroups/paste_generic.tpl:4
-#: plugins/admin/groups/generic.tpl:11
-#: plugins/admin/groups/paste_generic.tpl:5
-msgid "Group name"
-msgstr "Nome gruppo"
-
-#: plugins/admin/ogroups/generic.tpl:10
-msgid "Name of the group"
-msgstr "Nome del gruppo"
+msgid "Smarty error"
+msgstr "Stato"
 
-#: plugins/admin/ogroups/generic.tpl:18 plugins/admin/groups/generic.tpl:28
-msgid "Descriptive text for this group"
-msgstr "Nome descrittivo del gruppo"
+#: html/index.php:202
+msgid ""
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
+msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1191
-#: plugins/personal/posix/generic.tpl:139
-msgid "System trust"
-msgstr "Accesso ai sistemi"
+#: html/index.php:233
+msgid "Broken HTTP authentication setup!"
+msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:37 plugins/admin/groups/generic.tpl:160
-#: plugins/admin/groups/generic.tpl:194 plugins/personal/posix/generic.tpl:141
-#: plugins/personal/posix/generic.tpl:169
-msgid "Trust mode"
+#: html/index.php:241
+msgid "Cannot find a valid user for the current HTTP authentication!"
 msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:65
-msgid "Member objects"
-msgstr "Oggetti membri"
+#: html/index.php:245
+msgid "Cannot find a unique user for the current HTTP authentication!"
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:133
+#: html/index.php:289
 #, fuzzy
-msgid "Phone queue"
-msgstr "Numero di telefono"
+msgid "Please specify a valid user name!"
+msgstr "Prego inserire un numero di telefono valido!"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:160
-#, fuzzy
-msgid "Systems"
-msgstr "Sistemi"
+#: html/index.php:292
+msgid "Please specify your password!"
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:171
-#: plugins/admin/ogroups/tabs_ogroups.inc:194
-msgid "Startup"
-msgstr "Avvio"
+#: html/index.php:304
+#, fuzzy
+msgid "Authentication error"
+msgstr "Destinazione"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:182
-#: plugins/admin/ogroups/tabs_ogroups.inc:203
-msgid "Devices"
-msgstr "Dispositivi"
+#: html/index.php:304
+#, fuzzy
+msgid "Cannot retrieve user information for HTTP authentication!"
+msgstr "Rimuovi"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:213
-msgid "FAI summary"
+#: html/index.php:360
+#, fuzzy
+msgid "Account locked. Please contact your system administrator!"
 msgstr ""
+"Errore di connessione al server LDAP. Contatta l'amministratore del sistema."
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:222
-#: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:890
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
-msgid "Environment"
-msgstr "Ambiente"
-
-#: plugins/admin/ogroups/tabs_ogroups.inc:241
-msgid "Applications"
-msgstr "Applicazioni"
+#: html/main.php:171
+#, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
+msgstr ""
 
-#: plugins/admin/ogroups/paste_generic.tpl:7
+#: html/main.php:190
 #, fuzzy
-msgid "Please enter the new object group name"
-msgstr "Inserisci la URI del server LDAP"
+msgid "PHP configuration"
+msgstr "Scarica il file di  configurazione"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:11
-#, fuzzy
-msgid "user groups"
-msgstr "gruppi"
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:12
+#: html/main.php:220
 #, fuzzy
-msgid "nested groups"
-msgstr "Gruppi di oggetti"
+msgid "Your password is about to expire, please change your password!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:13
-#, fuzzy
-msgid "application groups"
-msgstr "Mostra gruppi di applicazioni"
+#: html/main.php:295
+msgid "Running out of memory!"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:14
-#, fuzzy
-msgid "department groups"
-msgstr "dipartimenti"
+#: html/main.php:355
+#, php-format
+msgid "You're logged in as %s"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:15
+#: html/main.php:358
 #, fuzzy
-msgid "server groups"
-msgstr "server"
+msgid "ACLs are disabled"
+msgstr "disabilitato"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:16
+#: html/main.php:408
 #, fuzzy
-msgid "workstation groups"
-msgstr "Mostra workstation"
+msgid "Plug-in"
+msgstr "Ricerca"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:17
-#, fuzzy
-msgid "windows workstation groups"
-msgstr "Mostra workstation"
+#: html/main.php:409
+#, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:18
+#: html/main.php:425
 #, fuzzy
-msgid "terminal groups"
-msgstr "Mostra gruppi di posta"
+msgid "Configuration Error"
+msgstr "File di configurazione"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:19
-#, fuzzy
-msgid "printer groups"
-msgstr "Gruppo primario"
+#: html/main.php:426
+#, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:20
+#: html/setup.php:73
 #, fuzzy
-msgid "phone groups"
-msgstr "Mostra gruppi"
+msgid "Smarty"
+msgstr "Avvio"
 
-#: plugins/admin/ogroups/ogroup-list.xml:11
-#, fuzzy
-msgid "List of object groups"
-msgstr "Nome del gruppo"
+#: html/helpviewer.php:64
+msgid "Help browser"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:74 plugins/admin/users/user-list.xml:73
-#: plugins/admin/departments/locality.tpl:8
-#: plugins/admin/departments/generic.tpl:7
-#: plugins/admin/departments/domain.tpl:8
-#: plugins/admin/departments/country.tpl:8
-#: plugins/admin/departments/dcObject.tpl:8
-#: plugins/admin/departments/organization.tpl:7
-msgid "Properties"
+#: html/helpviewer.php:118
+msgid "There is no help file specified for this class"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:90 plugins/admin/users/user-list.xml:89
-#: plugins/admin/departments/dep-list.xml:98 plugins/admin/acl/acl-list.xml:76
-#: setup/class_setupStep_Migrate.inc:1036
-#: setup/class_setupStep_Migrate.inc:1052
-msgid "Create"
-msgstr "Creare"
+#: html/helpviewer.php:268
+#, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-list.xml:115
-#: plugins/admin/users/user-list.xml:121
-#: plugins/admin/departments/dep-list.xml:160
-#: plugins/admin/departments/dep-list.xml:181
-#: plugins/admin/acl/acl-list.xml:95 plugins/admin/acl/acl-list.xml:144
-#: plugins/personal/generic/generic_certs.tpl:21
-#: plugins/personal/generic/generic_certs.tpl:45
-#: plugins/personal/generic/generic_certs.tpl:69
-#: setup/class_setupStep_Migrate.inc:2870
-msgid "Remove"
-msgstr "Rimuovi"
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
+msgstr ""
+"Per cambiare la tua password usa i campi qui sotto. I cambiamenti avrenno "
+"effetto immediatamente. Memorizza la nuova password perché non sarai in "
+"grado di connetterti senza di essa."
 
-#: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:123
-#: plugins/admin/users/user-list.xml:156
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
 #, fuzzy
-msgid "Send message"
-msgstr "Home Page"
+msgid "Password change dialog"
+msgstr "Cambia la password"
 
-#: plugins/admin/ogroups/ogroup-list.xml:142
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
 #, fuzzy
-msgid "Edit object group"
-msgstr "Gruppo di oggetti"
+msgid "Use proposal"
+msgstr "gruppi"
 
-#: plugins/admin/ogroups/ogroup-list.xml:155
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
 #, fuzzy
-msgid "Remove object group"
-msgstr "server"
+msgid "Manually specify a password"
+msgstr "Prego inserire un numero di telefono valido!"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:6
-msgid "Select objects to add"
-msgstr ""
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
+msgstr "Ripulisci i campi"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:20
-#: plugins/admin/groups/trust_machines.tpl:19
-#: plugins/personal/posix/posix_groups.tpl:21
-msgid "Filters"
-msgstr "Filtri"
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
+msgstr "Identità"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:36
-msgid "Display objects of department"
-msgstr ""
+#: plugins/personal/myaccount/class_MyAccount.inc:6
+#, fuzzy
+msgid "Edit personal settings"
+msgstr "Impostazioni Unix"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:37
-#: plugins/admin/ogroups/trust_machines.tpl:27
-#: plugins/admin/groups/trust_machines.tpl:26
-#: plugins/personal/posix/posix_groups.tpl:35
-#: plugins/personal/posix/trust_machines.tpl:27
-msgid "Choose the department the search will be based on"
-msgstr "Scegli il dipartimento di base per la ricerca"
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
+#, fuzzy
+msgid "You have no permission to change your password at this time"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:40
-msgid "Display objects matching"
-msgstr ""
+#: plugins/personal/myaccount/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:41
-msgid "Regular expression for matching object names"
+#: plugins/personal/myaccount/changed.tpl:3
+#: plugins/personal/password/changed.tpl:3
+#, fuzzy
+msgid ""
+"You've successfully changed your password. Remember to change all programs "
+"configured to use it as well."
 msgstr ""
+"Hai cambiato con successo la tua password. Ricorda di cambiare tutto i "
+"programmmi configurati per usarla."
+
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
+#, fuzzy
+msgid "POSIX settings"
+msgstr "Impostazioni Unix"
+
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
+msgstr "Home directory"
 
-#: plugins/admin/ogroups/trust_machines.tpl:6
-#: plugins/admin/groups/trust_machines.tpl:6
-#: plugins/personal/posix/trust_machines.tpl:6
-msgid "Select systems to add"
-msgstr "Seleziona un sistema da aggiungere"
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
+#, fuzzy
+msgid "Account settings"
+msgstr "Impostazioni FAX"
 
-#: plugins/admin/ogroups/trust_machines.tpl:26
-#: plugins/admin/groups/trust_machines.tpl:25
-#: plugins/personal/posix/trust_machines.tpl:26
-msgid "Display systems of department"
-msgstr "Mostra i sistemi del dipartimento"
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
+msgstr "Gruppo primario"
 
-#: plugins/admin/ogroups/trust_machines.tpl:30
-#: plugins/admin/groups/trust_machines.tpl:29
-#: plugins/personal/posix/trust_machines.tpl:30
-msgid "Display systems matching"
-msgstr "Mostra i sistemi che corrispondono a:"
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
+msgstr "Forza UID/GID"
 
-#: plugins/admin/ogroups/trust_machines.tpl:31
-#: plugins/admin/groups/trust_machines.tpl:30
-#: plugins/personal/posix/trust_machines.tpl:31
-msgid "Regular expression for matching addresses"
-msgstr "Espressione regolare per selezionare l'indirizzo"
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
+msgstr "GID"
 
-#: plugins/admin/groups/remove.tpl:6
-msgid ""
-"This may be a primary user group. Please double check if you really want to "
-"do this since there is no way for GOsa to get your data back."
-msgstr ""
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
+msgstr "Gruppi di appartenenza"
 
-#: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:541
-#: plugins/admin/users/user-list.xml:57
-#: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1375
-#: plugins/personal/generic/class_user.inc:1680
-#: plugins/personal/generic/class_user.inc:1831
-msgid "Given name"
-msgstr "Nome"
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
+msgstr "(Attenzione: L'NFS non supporta più di 16 gruppi!)"
 
-#: plugins/admin/groups/userSelect/user-list.xml:48
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
-#: plugins/admin/users/user-list.xml:49
-#: plugins/personal/generic/class_user.inc:1679
-msgid "Surname"
-msgstr "Cognome"
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
+#, fuzzy
+msgid "Default filter"
+msgstr "Parametro"
 
-#: plugins/admin/groups/generic.tpl:14 plugins/personal/generic/generic.tpl:52
-#: plugins/personal/generic/generic.tpl:73
-#: plugins/personal/generic/generic.tpl:89
-msgid "Multiple edit"
-msgstr ""
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
+#, fuzzy
+msgid "Please select the desired entries"
+msgstr "Lingua preferita"
 
-#: plugins/admin/groups/generic.tpl:17
-#: plugins/admin/groups/paste_generic.tpl:8
-msgid "Posix name of the group"
-msgstr "Nome Unix del gruppo"
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
+msgstr "Server"
 
-#: plugins/admin/groups/generic.tpl:59
-#: plugins/admin/groups/paste_generic.tpl:13
-msgid "Normally IDs are autogenerated, select to specify manually"
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
 msgstr ""
-"Normalmente le ID sono autogenerate, selezionare per specificarelo "
-"manulamente"
 
-#: plugins/admin/groups/generic.tpl:62
-#: plugins/admin/groups/paste_generic.tpl:15
-msgid "Force GID"
-msgstr "Forza GID"
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+#, fuzzy
+msgid "Terminal"
+msgstr "Terminali"
 
-#: plugins/admin/groups/generic.tpl:65
-#: plugins/admin/groups/paste_generic.tpl:18
-msgid "Forced ID number"
-msgstr "Forza numero ID"
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
+#, fuzzy
+msgid "Trust machine selection"
+msgstr "Impostazioni FAX"
 
-#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
-msgid "Select to create a samba conform group"
-msgstr "Seleziona per creare un gruppo conforme Samba"
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+#, fuzzy
+msgid "Group selection"
+msgstr "Impostazioni FAX"
 
-#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
-msgid "in domain"
-msgstr "nel dominio"
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
+msgstr "Gruppo"
 
-#: plugins/admin/groups/generic.tpl:131
-msgid "Members are in a phone pickup group"
-msgstr "I membri sono in un gruppo di risposta telefonica"
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
+msgstr "L'utente deve cambiare la password alla prima connessione"
 
-#: plugins/admin/groups/generic.tpl:146
+#: plugins/personal/posix/posix_shadow.tpl:59
 #, fuzzy
-msgid "Members are in a nagios group"
-msgstr "I membri sono in un gruppo di risposta telefonica"
+msgid "Password expiration settings"
+msgstr "Opzioni di posta dell'identità"
 
-#: plugins/admin/groups/generic.tpl:236
-msgid "Group members"
-msgstr "Membri del gruppo"
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
+msgstr "La password spira il"
 
-#: plugins/admin/groups/generic.tpl:243
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
 #, fuzzy
-msgid "In all groups"
-msgstr "Gruppo primario"
+msgid "Generic settings"
+msgstr "Impostazioni generali delle code"
 
-#: plugins/admin/groups/generic.tpl:246
-#, fuzzy
-msgid "Not in all groups"
-msgstr "Mostra gruppi di posta"
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+msgid "Shell"
+msgstr "Shell"
 
-#: plugins/admin/groups/group-filter.tpl:11
-#: plugins/personal/posix/groupSelect/group-filter.tpl:11
-msgid "Show primary groups"
-msgstr "Mostra gruppi principali"
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
+msgstr "Stato"
 
-#: plugins/admin/groups/group-filter.tpl:12
-#: plugins/personal/posix/groupSelect/group-filter.tpl:12
-msgid "Show samba groups"
-msgstr "Mostra gruppi samba"
+#: plugins/personal/posix/generic.tpl:42
+#, fuzzy
+msgid "Last log-on"
+msgstr "Scegli il tuo numero di telefono personale"
 
-#: plugins/admin/groups/group-filter.tpl:13
-#: plugins/personal/posix/groupSelect/group-filter.tpl:13
+#: plugins/personal/posix/generic.tpl:101
 #, fuzzy
-msgid "Show mail groups"
-msgstr "Mostra gruppi samba"
+msgid "Common group"
+msgstr "Mostra gruppi"
 
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:79
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:85
-#: setup/setup_ldap.tpl:78
+#: plugins/personal/posix/generic.tpl:105
 #, fuzzy
-msgid "Select user"
-msgstr "Rimuovi"
+msgid "Groups differ"
+msgstr "Gruppo di utenti"
 
-#: plugins/admin/groups/paste_generic.tpl:1
+#: plugins/personal/posix/generic.tpl:125
 #, fuzzy
-msgid "Group settings"
+msgid "Account permissions"
 msgstr "Impostazioni FAX"
 
-#: plugins/admin/groups/group-list.xml:11
-msgid "List of groups"
-msgstr "Lista dei gruppi"
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:23
-#, fuzzy
-msgid "Group submenu entry"
-msgstr "Membri del gruppo"
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:31
-#, fuzzy
-msgid "Group menu entry"
-msgstr "Membri del gruppo"
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:155
+#: plugins/personal/posix/class_posixAccount.inc:38
 #, fuzzy
-msgid "Edit group"
-msgstr "Gruppo primario"
+msgid "Edit users POSIX settings"
+msgstr "Impostazioni Unix"
 
-#: plugins/admin/groups/group-list.xml:168
+#: plugins/personal/posix/class_posixAccount.inc:146
 #, fuzzy
-msgid "Remove group"
-msgstr "server"
+msgid "expired"
+msgstr "Esporta"
 
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Cannot find group SID in your configuration!"
+#: plugins/personal/posix/class_posixAccount.inc:148
+msgid "grace time active"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Samba group"
-msgstr "Gruppo Samba"
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
+#, fuzzy
+msgid "active"
+msgstr "Privato"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain admins"
-msgstr "Amministratori di Dominio"
+#: plugins/personal/posix/class_posixAccount.inc:151
+#, fuzzy
+msgid "password not changeable"
+msgstr "Nuova password"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain users"
-msgstr "Utenti di Dominio"
+#: plugins/personal/posix/class_posixAccount.inc:153
+#, fuzzy
+msgid "password expired"
+msgstr "La password spira il"
 
-#: plugins/admin/groups/class_group.inc:401
-msgid "Domain guests"
-msgstr "Ospiti di Dominio"
+#: plugins/personal/posix/class_posixAccount.inc:226
+msgid "automatic"
+msgstr "automatico"
 
-#: plugins/admin/groups/class_group.inc:406
-#, php-format
-msgid "Special group (%d)"
-msgstr "Gruppo speciale (%d)"
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr "Samba"
 
-#: plugins/admin/groups/class_group.inc:540
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr "Ambiente"
+
+#: plugins/personal/posix/class_posixAccount.inc:374
 #, php-format
-msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+msgid "Password can't be changed up to %s days after last change"
 msgstr ""
+"La password non può essere cambiata per %s giorni dall'ultimo cambiamento"
 
-#: plugins/admin/groups/class_group.inc:546
+#: plugins/personal/posix/class_posixAccount.inc:378
 #, php-format
-msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
-msgstr ""
+msgid "Password must be changed after %s days"
+msgstr "La password deve essere cambiata dopo %s giorni"
 
-#: plugins/admin/groups/class_group.inc:624
-msgid "! unknown UID"
+#: plugins/personal/posix/class_posixAccount.inc:382
+#, fuzzy, php-format
+msgid "Disable account after %s days of inactivity after password expiry"
 msgstr ""
+"Disabilita l'account dopo %s giorni di inattività dopo che la password è "
+"spirata"
 
-#: plugins/admin/groups/class_group.inc:667
-#, php-format
-msgid "Search returned too many results. Not displaying more than %s entries!"
+#: plugins/personal/posix/class_posixAccount.inc:386
+#, fuzzy, php-format
+msgid "Warn user %s days before password expiry"
+msgstr "Avvisa l'utente %s giorni prima che la password spiri"
+
+#: plugins/personal/posix/class_posixAccount.inc:651
+msgid "Timeout while waiting for lock. Ignoring lock!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:894
-#, fuzzy, php-format
-msgid "Cannot find any SID for '%s'!"
-msgstr "Rimuovi"
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
+msgid "Group of user"
+msgstr "Gruppo di utenti"
 
-#: plugins/admin/groups/class_group.inc:899
-#, fuzzy, php-format
-msgid "Cannot find any RIDBASE for '%s'!"
-msgstr "Rimuovi"
+#: plugins/personal/posix/class_posixAccount.inc:774
+msgid ""
+"A duplicated UID number was written for this user. If this was not intended "
+"please verify all used uidNumbers!"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:994
-#, php-format
-msgid "The gidNumber '%s' is already in use by %s!"
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
+#, fuzzy
+msgid "shadowMin"
+msgstr "Mostra terminali"
+
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
+msgid "shadowMax"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1108
-#: plugins/admin/groups/class_group.inc:1187
-#: plugins/personal/posix/class_posixAccount.inc:1045
-#: plugins/personal/posix/class_posixAccount.inc:1048
-#: plugins/personal/posix/generic.tpl:74
-#: plugins/personal/posix/paste_generic.tpl:45
-msgid "GID"
-msgstr "GID"
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
+#, fuzzy
+msgid "shadowWarning"
+msgstr "Mostra workstation"
 
-#: plugins/admin/groups/class_group.inc:1175
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
 #, fuzzy
-msgid "Generic group settings"
-msgstr "Impostazioni generali delle code"
+msgid "shadowInactive"
+msgstr "Mostra stampanti"
 
-#: plugins/admin/groups/class_group.inc:1189
+#: plugins/personal/posix/class_posixAccount.inc:1293
 #, fuzzy
-msgid "Samba group type"
-msgstr "Gruppo Samba"
+msgid "POSIX account"
+msgstr "Estenzioni FTP"
 
-#: plugins/admin/groups/class_group.inc:1190
+#: plugins/personal/posix/class_posixAccount.inc:1311
 #, fuzzy
-msgid "Samba domain name"
-msgstr "Home di Samba"
+msgid "Group ID"
+msgstr "Gruppo"
 
-#: plugins/admin/groups/class_group.inc:1192
+#: plugins/personal/posix/class_posixAccount.inc:1313
 #, fuzzy
-msgid "Phone pickup group"
-msgstr "I membri sono in un gruppo di risposta telefonica"
+msgid "Shadow last changed"
+msgstr "Mostra telefoni"
 
-#: plugins/admin/groups/class_group.inc:1193
+#: plugins/personal/posix/class_posixAccount.inc:1314
 #, fuzzy
-msgid "Nagios group"
-msgstr "Contatto"
+msgid "Last login"
+msgstr "Scegli il tuo numero di telefono personale"
 
-#: plugins/admin/groups/class_group.inc:1195
+#: plugins/personal/posix/class_posixAccount.inc:1316
 #, fuzzy
-msgid "Group member"
-msgstr "Membri del gruppo"
+msgid "Force password change on login"
+msgstr "Cambia la password"
 
-#: plugins/admin/groups/class_groupManagement.inc:26
-msgid "Group administration"
-msgstr "Amministrazione dei gruppi di utenti"
+#: plugins/personal/posix/class_posixAccount.inc:1317
+#, fuzzy
+msgid "Shadow min"
+msgstr "Mostra terminali"
+
+#: plugins/personal/posix/class_posixAccount.inc:1318
+msgid "Shadow max"
+msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:156
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:62
+#: plugins/personal/posix/class_posixAccount.inc:1319
 #, fuzzy
-msgid "Posix"
-msgstr "Proxy"
+msgid "Shadow warning"
+msgstr "Mostra workstation"
 
-#: plugins/admin/groups/class_groupManagement.inc:157
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:63
+#: plugins/personal/posix/class_posixAccount.inc:1320
 #, fuzzy
-msgid "Edit posix properties"
-msgstr "Modifica proprietà"
+msgid "Shadow inactive"
+msgstr "Mostra stampanti"
 
-#: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:879
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
+#: plugins/personal/posix/class_posixAccount.inc:1321
 #, fuzzy
-msgid "Edit mail properties"
-msgstr "Modifica proprietà"
+msgid "Shadow expire"
+msgstr "Mostra persone"
 
-#: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:883
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
+#: plugins/personal/posix/class_posixAccount.inc:1322
+msgid "Public SSH key"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:1323
 #, fuzzy
-msgid "Edit samba properties"
-msgstr "Modifica proprietà"
+msgid "System trust model"
+msgstr "Accesso ai sistemi"
 
-#: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:899
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr "disabilitato"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr "accesso completo"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr "accesso limitato ai seguenti host"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr "Accesso ai sistemi"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
+msgid "Trust mode"
+msgstr ""
+
+#: plugins/personal/password/password.tpl:10
 #, fuzzy
-msgid "Edit phone properties"
-msgstr "Modifica proprietà"
+msgid "Your Password has expired. Please choose a new password."
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: plugins/admin/groups/class_groupManagement.inc:188
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:94
+#: plugins/personal/password/class_password.inc:27
 #, fuzzy
-msgid "Menu"
-msgstr "Stampante"
+msgid "Change user password"
+msgstr "Cambia la password"
 
-#: plugins/admin/groups/class_groupManagement.inc:189
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:95
+#: plugins/personal/password/class_password.inc:156
+msgid ""
+"The password you've entered as your current password doesn't match the real "
+"one."
+msgstr "La password immessa come 'Password attuale' è errata"
+
+#: plugins/personal/password/class_password.inc:159
 #, fuzzy
-msgid "Edit start menu properties"
-msgstr "Modifica proprietà"
+msgid "You have no permission to change your password."
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:891
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
+#: plugins/personal/password/class_password.inc:223
 #, fuzzy
-msgid "Edit environment properties"
-msgstr "Modifica proprietà"
+msgid "User password"
+msgstr "Nuova password"
 
-#: plugins/admin/users/remove.tpl:6 plugins/admin/acl/remove.tpl:6
-msgid ""
-"This includes all account data, system access rules, imap settings, etc. for "
-"this user. Please double check if your really want to do this since there is "
-"no way for GOsa to get your data back."
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
 msgstr ""
 
-#: plugins/admin/users/password.tpl:4
-msgid ""
-"To change the user password use the fields below. The changes take effect "
-"immediately. Please memorize the new password, because the user wouldn't be "
-"able to login without it."
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
 msgstr ""
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/generic/password.tpl:8
-#: plugins/personal/password/password.tpl:8
-msgid ""
-"Changing the password affects your authentification on mail, proxy, samba "
-"and unix services."
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
 msgstr ""
-"Cambiare la passord influisce sull'autenticazione su posta, proxu Internet, "
-"Samba e Unix."
 
-#: plugins/admin/users/password.tpl:21 plugins/admin/users/password.tpl:57
-#: plugins/personal/generic/password.tpl:27
-#: plugins/personal/generic/password.tpl:70
-#: plugins/personal/password/password.tpl:32
-#: plugins/personal/password/password.tpl:75
-msgid "Repeat new password"
-msgstr "Ripeti la password"
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
+msgstr ""
 
-#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
-#, fuzzy
-msgid "Strength"
-msgstr "Strada"
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr "Certificati"
 
-#: plugins/admin/users/password.tpl:35
+#: plugins/personal/generic/generic_certs.tpl:5
 #, fuzzy
-msgid "Password input dialog"
-msgstr "Password"
+msgid "The users standard certificate"
+msgstr "Certificato standard"
 
-#: plugins/admin/users/password.tpl:39
-#: plugins/personal/generic/password.tpl:51
-#: plugins/personal/password/password.tpl:56
-#, fuzzy
-msgid "Use proposal"
-msgstr "gruppi"
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr "Certificato standard"
 
-#: plugins/admin/users/password.tpl:43
-#: plugins/personal/generic/password.tpl:55
-#: plugins/personal/password/password.tpl:60 setup/setup_migrate.tpl:470
-#: setup/setup_migrate.tpl:513 setup/setup_migrate.tpl:557
-#, fuzzy
-msgid "Refresh"
-msgstr "Riferimenti"
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr "Rimuovi"
 
-#: plugins/admin/users/password.tpl:49
-#: plugins/personal/generic/password.tpl:61
-#: plugins/personal/password/password.tpl:66
+#: plugins/personal/generic/generic_certs.tpl:31
 #, fuzzy
-msgid "Manually specify a password"
-msgstr "Prego inserire un numero di telefono valido!"
+msgid "The users S/MIME certificate"
+msgstr "Certificato S/MIME"
+
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr "Certificato S/MIME"
 
-#: plugins/admin/users/password.tpl:77
+#: plugins/personal/generic/generic_certs.tpl:57
 #, fuzzy
-msgid "Enforce password change on next login."
-msgstr "Cambia la password"
+msgid "The users PKCS12 certificate"
+msgstr "Certificato PKCS12"
 
-#: plugins/admin/users/password.tpl:84
-#: plugins/personal/generic/password.tpl:88
-#: plugins/personal/password/password.tpl:93
-msgid "Set password"
-msgstr "Cambia password"
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr "Certificato PKCS12"
 
-#: plugins/admin/users/template.tpl:2
-msgid "Creating a new user using templates"
-msgstr "Crea un nuovo utente usando i template"
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr "Numero seriale del certificato"
 
-#: plugins/admin/users/template.tpl:6
-msgid ""
-"Creating a new user can be assisted by using templates. Many database "
-"records will be filled automatically. Choose 'none' to skip the usage of "
-"templates."
-msgstr ""
+#: plugins/personal/generic/paste_generic.tpl:3
+#, fuzzy
+msgid "Paste user"
+msgstr "Data"
 
-#: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:535
-#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
-#: plugins/admin/users/templatize.tpl:15
-msgid "Template"
-msgstr ""
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr "Informazioni personali"
 
-#: plugins/admin/users/template.tpl:23 plugins/personal/generic/generic.tpl:49
-#: plugins/personal/generic/paste_generic.tpl:7
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
 #, fuzzy
 msgid "Last name"
 msgstr "Scegli il tuo numero di telefono personale"
 
-#: plugins/admin/users/template.tpl:27 plugins/personal/generic/generic.tpl:69
-#: plugins/personal/generic/paste_generic.tpl:11
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
 #, fuzzy
 msgid "First name"
 msgstr "Liste di blocco"
 
-#: plugins/admin/users/class_userManagement.inc:26
+#: plugins/personal/generic/paste_generic.tpl:24
 #, fuzzy
-msgid "Manage users"
-msgstr "Utenti di Dominio"
+msgid "Clear password"
+msgstr "Nuova password"
 
-#: plugins/admin/users/class_userManagement.inc:391
+#: plugins/personal/generic/paste_generic.tpl:25
 #, fuzzy
-msgid "You have no permission to change this users password!"
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid "Set new password"
+msgstr "Cambia password"
 
-#: plugins/admin/users/class_userManagement.inc:782
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
 #, fuzzy
-msgid "Account locking"
-msgstr "Sicurezza"
+msgid "The users picture"
+msgstr "Foto personale"
 
-#: plugins/admin/users/class_userManagement.inc:783
-#, php-format
-msgid ""
-"Password method '%s' does not support locking. Account (%s) has not been "
-"locked!"
-msgstr ""
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
+msgstr "Elimina foto"
 
-#: plugins/admin/users/class_userManagement.inc:856
+#: plugins/personal/generic/class_user.inc:38
 #, fuzzy
-msgid "Unlock account"
-msgstr "Identità"
+msgid "Edit organizational user settings"
+msgstr "Opzioni applicazione"
 
-#: plugins/admin/users/class_userManagement.inc:858
-#, fuzzy
-msgid "Lock account"
-msgstr "Identità"
+#: plugins/personal/generic/class_user.inc:297
+msgid "Please add a single IP address or a network/net mask combination!"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:871
-#, fuzzy
-msgid "Edit generic properties"
-msgstr "Modifica proprietà"
+#: plugins/personal/generic/class_user.inc:339
+msgid "female"
+msgstr "femmina"
 
-#: plugins/admin/users/class_userManagement.inc:874
-#: plugins/personal/posix/class_posixAccount.inc:304
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/class_posixAccount.inc:326
-#: plugins/personal/posix/class_posixAccount.inc:329
-msgid "POSIX"
-msgstr ""
+#: plugins/personal/generic/class_user.inc:339
+msgid "male"
+msgstr "maschio"
 
-#: plugins/admin/users/class_userManagement.inc:875
+#: plugins/personal/generic/class_user.inc:395
 #, fuzzy
-msgid "Edit POSIX properties"
-msgstr "Modifica proprietà"
+msgid "Password configuration"
+msgstr "Scarica il file di  configurazione"
 
-#: plugins/admin/users/class_userManagement.inc:886
-msgid "Netatalk"
+#: plugins/personal/generic/class_user.inc:429
+msgid "Cannot upload file!"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:887
+#: plugins/personal/generic/class_user.inc:522
 #, fuzzy
-msgid "Edit netatalk properties"
-msgstr "Modifica proprietà"
+msgid "Serial number"
+msgstr "Numero di telefono"
 
-#: plugins/admin/users/class_userManagement.inc:895
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
 #, fuzzy
-msgid "Edit FAX properties"
-msgstr "Modifica proprietà"
+msgid "User picture"
+msgstr "Foto personale"
 
-#: plugins/admin/users/user-list.xml:11
-msgid "List of users"
-msgstr "Lista degli utenti"
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
+msgstr ""
 
-#: plugins/admin/users/user-list.xml:140
-#, fuzzy
-msgid "Lock users"
-msgstr "Lista degli utenti"
+#: plugins/personal/generic/class_user.inc:579
+#, php-format
+msgid "Certificate is valid from %s to %s and is currently %s."
+msgstr ""
 
-#: plugins/admin/users/user-list.xml:148
-#, fuzzy
-msgid "Unlock users"
-msgstr "Utenti di Dominio"
+#: plugins/personal/generic/class_user.inc:582
+msgid "valid"
+msgstr "valido"
 
-#: plugins/admin/users/user-list.xml:167
-#, fuzzy
-msgid "Apply template"
-msgstr "Template"
+#: plugins/personal/generic/class_user.inc:583
+msgid "invalid"
+msgstr "invalido"
 
-#: plugins/admin/users/user-list.xml:199
-#, fuzzy
-msgid "New user from template"
-msgstr "Nuovo template"
+#: plugins/personal/generic/class_user.inc:588
+msgid "No certificate installed"
+msgstr "Non ci sono certificati installati"
 
-#: plugins/admin/users/user-list.xml:213
-#, fuzzy
-msgid "Edit user"
-msgstr "Modifica contatto"
+#: plugins/personal/generic/class_user.inc:614
+msgid "The selected password method is no longer available."
+msgstr ""
 
-#: plugins/admin/users/user-list.xml:222
-msgid "%{filter:lockLabel(userPassword)}"
+#: plugins/personal/generic/class_user.inc:1051
+msgid ""
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:245
-#, fuzzy
-msgid "Remove user"
-msgstr "Elimina foto"
+#: plugins/personal/generic/class_user.inc:1177
+msgid "Cannot build RDN: no + allowed to build sub RDN!"
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:11
-msgid "Show templates"
-msgstr "Mostra utenti template"
+#: plugins/personal/generic/class_user.inc:1184
+msgid "Cannot build RDN: attribute is not defined!"
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:12
-#, fuzzy
-msgid "Show functional users"
-msgstr "Mostra utenti funzionali"
+#: plugins/personal/generic/class_user.inc:1202
+msgid "Cannot build RDN: invalid attribute parameters!"
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:13
-#, fuzzy
-msgid "Show POSIX users"
-msgstr "Impostazioni Unix"
+#: plugins/personal/generic/class_user.inc:1273
+msgid "The selected password method requires initial configuration!"
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:14
-#, fuzzy
-msgid "Show Mail users"
-msgstr "Mostra utenti di posta"
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
+msgid "Homepage"
+msgstr "Home Page"
 
-#: plugins/admin/users/user-filter.tpl:15
-#, fuzzy
-msgid "Show Samba users"
-msgstr "Mostra utenti di posta"
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
+msgstr "Telefono"
 
-#: plugins/admin/users/templatize.tpl:2
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
+msgstr "Fax"
+
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
+msgid "Mobile"
+msgstr "Cellulare"
+
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
+msgid "Pager"
+msgstr "Pager"
+
+#: plugins/personal/generic/class_user.inc:1483
 #, fuzzy
-msgid "Applying a template"
-msgstr "Template"
+msgid "Cannot open certificate!"
+msgstr "Impossibile aprite il certificato selezionato!"
 
-#: plugins/admin/users/templatize.tpl:6
-msgid ""
-"Applying a template to several users will replace all user attributes "
-"defined in the template."
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
+msgid "Unit"
+msgstr "Unità"
 
-#: plugins/admin/users/templatize.tpl:33
-msgid "No templates available!"
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
+msgid "House identifier"
+msgstr "Identificativo della casa"
 
-#: plugins/admin/departments/remove.tpl:6
-msgid ""
-"This includes 'all' accounts, systems, etc. in this subtree. Please double "
-"check if your really want to do this since there is no way for GOsa to get "
-"your data back."
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
+msgid "Vocation"
 msgstr ""
 
-#: plugins/admin/departments/remove.tpl:10
-msgid ""
-"Best thing to do before performing this action would be to save the current "
-"contents of your LDAP tree in a file. So - if you've done so - press "
-"'Delete' to continue or 'Cancel' to abort."
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
+msgid "Last delivery"
+msgstr "Ultimo recapito"
+
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
+msgid "Person locality"
+msgstr "Località personale"
+
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
+msgid "Unit description"
+msgstr "Descrizoione unità"
+
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
+msgid "Subject area"
 msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:11
-msgid "List of departments"
-msgstr "Lista dei dipartimenti"
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
+msgid "Functional title"
+msgstr "Funzione"
 
-#: plugins/admin/departments/dep-list.xml:15
-#: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#, fuzzy
-msgid "Domain"
-msgstr "nel dominio"
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
+msgstr "Ruolo"
+
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
+msgid "Postal code"
+msgstr "CAP"
 
-#: plugins/admin/departments/dep-list.xml:23
-#: plugins/admin/departments/dep-list.xml:110
+#: plugins/personal/generic/class_user.inc:1671
 #, fuzzy
-msgid "Domain component"
-msgstr "Amministratori di Dominio"
+msgid "Generic user settings"
+msgstr "Impostazioni generali delle code"
 
-#: plugins/admin/departments/dep-list.xml:31
-#: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_countryGeneric.inc:82
-#: plugins/admin/departments/class_countryGeneric.inc:83
-msgid "Country"
-msgstr "Paese"
+#: plugins/personal/generic/class_user.inc:1692
+msgid ""
+"Pattern for the generation of user DNs. Please read the FAQ for details."
+msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:39
-#: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_localityGeneric.inc:82
-#: plugins/admin/departments/class_localityGeneric.inc:83
+#: plugins/personal/generic/class_user.inc:1706
 #, fuzzy
-msgid "Locality"
-msgstr "Località"
+msgid "Allow definition of custom filters"
+msgstr "File di configurazione"
 
-#: plugins/admin/departments/dep-list.xml:47
-#: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:237
-#: plugins/admin/departments/class_organizationGeneric.inc:113
-#: plugins/admin/departments/class_organizationGeneric.inc:114
-#: plugins/personal/generic/class_user.inc:1694
-#: plugins/personal/generic/generic.tpl:299 setup/setup_feedback.tpl:23
-msgid "Organization"
-msgstr "Organizzazione"
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
+msgid "Sex"
+msgstr "Sesso"
 
-#: plugins/admin/departments/locality.tpl:11
-#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
 #, fuzzy
-msgid "Locality name"
-msgstr "Nome locazione"
+msgid "Preferred language"
+msgstr "Lingua preferita"
 
-#: plugins/admin/departments/locality.tpl:14
-#: plugins/admin/departments/dcObject.tpl:14
-msgid "Name of locality to create"
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1718
+#, fuzzy
+msgid "Login restrictions"
+msgstr "La password spira il"
 
-#: plugins/admin/departments/locality.tpl:22
-#: plugins/admin/departments/domain.tpl:22
-#: plugins/admin/departments/country.tpl:22
-#: plugins/admin/departments/dcObject.tpl:22
-#: plugins/admin/departments/organization.tpl:22
-msgid "Descriptive text for department"
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
+msgstr "Dipartimento"
 
-#: plugins/admin/departments/locality.tpl:39
-#: plugins/admin/departments/generic.tpl:51
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
 #: plugins/admin/departments/class_domain.inc:93
-#: plugins/admin/departments/class_localityGeneric.inc:93
 #: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/generic.tpl:51
+#: plugins/admin/departments/locality.tpl:39
+#: plugins/admin/departments/class_localityGeneric.inc:93
 #: plugins/admin/departments/class_dcObject.inc:92
 #: plugins/admin/departments/domain.tpl:39
-#: plugins/admin/departments/country.tpl:39
-#: plugins/admin/departments/dcObject.tpl:39
-#: plugins/admin/departments/class_department.inc:675
-#: plugins/admin/departments/organization.tpl:51
-#: plugins/personal/generic/class_user.inc:1697
-#: plugins/personal/generic/generic.tpl:340
-#: plugins/personal/generic/generic.tpl:361
 #, fuzzy
 msgid "Manager"
 msgstr "Utenti di Dominio"
 
-#: plugins/admin/departments/locality.tpl:67
-#: plugins/admin/departments/generic.tpl:132
-#: plugins/admin/departments/class_domain.inc:94
-#: plugins/admin/departments/class_localityGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:135
-#: plugins/admin/departments/class_countryGeneric.inc:95
-#: plugins/admin/departments/class_dcObject.inc:94
-#: plugins/admin/departments/domain.tpl:67
-#: plugins/admin/departments/country.tpl:67
-#: plugins/admin/departments/dcObject.tpl:67
-#: plugins/admin/departments/class_department.inc:677
-#: plugins/admin/departments/organization.tpl:131
+#: plugins/personal/generic/class_user.inc:1727
 #, fuzzy
-msgid "Administrative settings"
-msgstr "Amministrazione"
-
-#: plugins/admin/departments/locality.tpl:69
-#: plugins/admin/departments/generic.tpl:134
-#: plugins/admin/departments/domain.tpl:69
-#: plugins/admin/departments/country.tpl:69
-#: plugins/admin/departments/dcObject.tpl:69
-#: plugins/admin/departments/organization.tpl:133
-msgid "Tag department as an independent administrative unit"
-msgstr ""
-
-#: plugins/admin/departments/generic.tpl:11
-msgid "Name of department"
-msgstr ""
-
-#: plugins/admin/departments/generic.tpl:14
-msgid "Name of subtree to create"
-msgstr ""
+msgid "Room number"
+msgstr "Numero di telefono"
 
-#: plugins/admin/departments/generic.tpl:22
+#: plugins/personal/generic/class_user.inc:1728
 #, fuzzy
-msgid "Descriptive text for   department"
-msgstr "Nome descrittivo del gruppo"
+msgid "Telephone number"
+msgstr "Numero di telefono"
 
-#: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:667
-#: plugins/admin/departments/organization.tpl:27
-msgid "Category"
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1729
+#, fuzzy
+msgid "Pager number"
+msgstr "Numero di telefono"
 
-#: plugins/admin/departments/generic.tpl:30
-#: plugins/admin/departments/organization.tpl:30
-msgid "Category for this subtree"
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1730
+#, fuzzy
+msgid "Mobile number"
+msgstr "Cellulare"
 
-#: plugins/admin/departments/generic.tpl:79
-#: plugins/admin/departments/generic.tpl:91
-#: plugins/admin/departments/class_localityGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:130
-#: plugins/admin/departments/class_department.inc:671
-#: plugins/admin/departments/organization.tpl:78
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1708
-#: plugins/personal/generic/generic.tpl:441
-msgid "Location"
-msgstr "Località"
+#: plugins/personal/generic/class_user.inc:1731
+#, fuzzy
+msgid "Fax number"
+msgstr "Numero di telefono"
 
-#: plugins/admin/departments/generic.tpl:83
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
 #: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_department.inc:670
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1707
-#: plugins/personal/generic/generic.tpl:449
+#: plugins/admin/departments/generic.tpl:87
 msgid "State"
 msgstr "Stato"
 
-#: plugins/admin/departments/generic.tpl:86
-#: plugins/admin/departments/organization.tpl:85
-msgid "State where this subtree is located"
-msgstr ""
-
-#: plugins/admin/departments/generic.tpl:94
-#: plugins/admin/departments/organization.tpl:93
-msgid "Location of this subtree"
-msgstr ""
-
-#: plugins/admin/departments/generic.tpl:99
-#: plugins/admin/departments/class_department.inc:672
-#: plugins/admin/departments/organization.tpl:98
+#: plugins/personal/generic/class_user.inc:1735
 #: plugins/personal/generic/generic.tpl:183
-#: plugins/personal/generic/generic.tpl:457
-msgid "Address"
-msgstr "Indirizzo"
-
-#: plugins/admin/departments/generic.tpl:102
-#: plugins/admin/departments/organization.tpl:101
-msgid "Postal address of this subtree"
-msgstr ""
-
-#: plugins/admin/departments/generic.tpl:109
-#: plugins/admin/departments/organization.tpl:108
-msgid "Base telephone number of this subtree"
-msgstr ""
-
-#: plugins/admin/departments/generic.tpl:114
-#: plugins/admin/departments/class_organizationGeneric.inc:133
-#: plugins/admin/departments/class_department.inc:373
-#: plugins/admin/departments/class_department.inc:674
-#: plugins/admin/departments/organization.tpl:113
-#: plugins/personal/generic/class_user.inc:1359
-#: plugins/personal/generic/class_user.inc:1822
-#: plugins/personal/generic/generic.tpl:423
-#: plugins/personal/generic/generic.tpl:591
-msgid "Fax"
-msgstr "Fax"
-
-#: plugins/admin/departments/generic.tpl:117
-#: plugins/admin/departments/organization.tpl:116
-msgid "Base facsimile telephone number of this subtree"
-msgstr ""
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+msgid "Postal address"
+msgstr "CAP"
 
-#: plugins/admin/departments/class_domain.inc:81
-#: plugins/admin/departments/class_domain.inc:82
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_dcObject.inc:81
-#: plugins/admin/departments/class_dcObject.inc:82
+#: plugins/personal/generic/class_user.inc:1740
 #, fuzzy
-msgid "Domain Component"
-msgstr "Amministratori di Dominio"
-
-#: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:657
-#: plugins/admin/departments/class_department.inc:662
-msgid "Departments"
-msgstr "Dipartimenti"
+msgid "User password method"
+msgstr "Algorimo password"
 
-#: plugins/admin/departments/class_departmentManagement.inc:26
+#: plugins/personal/generic/class_user.inc:1741
 #, fuzzy
-msgid "Manage Departments"
-msgstr "Dipartimenti"
-
-#: plugins/admin/departments/class_departmentManagement.inc:122
-msgid ""
-"As soon as the tag operation has finished, you can scroll down to end of the "
-"page and    press the 'Continue' button to continue with the department "
-"management dialog."
-msgstr ""
+msgid "User certificates"
+msgstr "Certificato standard"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:122
+#: plugins/personal/generic/class_user.inc:1949
 #, fuzzy
-msgid "Organization name"
-msgstr "Organizzazione"
+msgid "Entries differ"
+msgstr "Gruppo di utenti"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:131
-#: plugins/personal/generic/class_user.inc:1709
-msgid "Postal address"
-msgstr "CAP"
+#: plugins/personal/generic/generic.tpl:21
+msgid "Change picture"
+msgstr "Cambia foto"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:132
-msgid "Phone number"
-msgstr "Numero di telefono"
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
+msgstr ""
 
-#: plugins/admin/departments/class_countryGeneric.inc:91
-#: plugins/admin/departments/country.tpl:11
+#: plugins/personal/generic/generic.tpl:83
 #, fuzzy
-msgid "Country name"
-msgstr "Paese"
+msgid "Template name"
+msgstr "Template"
 
-#: plugins/admin/departments/domain.tpl:11
-#, fuzzy
-msgid "Domain name"
-msgstr "Amministratori di Dominio"
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
+msgid "Address"
+msgstr "Indirizzo"
 
-#: plugins/admin/departments/domain.tpl:14
-msgid "Name of domain to create"
-msgstr ""
+#: plugins/personal/generic/generic.tpl:193
+msgid "Private phone"
+msgstr "Telefono privato"
 
-#: plugins/admin/departments/country.tpl:14
-msgid "Name of country to create"
-msgstr ""
+#: plugins/personal/generic/generic.tpl:209
+msgid "Password storage"
+msgstr "Algorimo password"
 
-#: plugins/admin/departments/class_department.inc:433
-msgid "Cannot find an unused tag for this administrative unit!"
-msgstr ""
+#: plugins/personal/generic/generic.tpl:229
+msgid "Edit certificates"
+msgstr "Modifica certificati"
 
-#: plugins/admin/departments/class_department.inc:504
-#, php-format
-msgid "Tagging '%s'."
+#: plugins/personal/generic/generic.tpl:241
+msgid "Restrict login to"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:585
-#, php-format
-msgid "Moving '%s' to '%s'"
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
+msgid "IP or network"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:626
-#, php-format
-msgid "FAILED to copy %s, aborting operation"
-msgstr ""
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "Organizational information"
+msgstr "Informazioni organizzazione"
 
-#: plugins/admin/departments/class_department.inc:665
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
 #, fuzzy
-msgid "Department name"
-msgstr "Dipartimento"
+msgid "part"
+msgstr "Avvio"
 
-#: plugins/admin/departments/class_department.inc:673
-msgid "Telephone"
-msgstr "Telefono"
+#: plugins/personal/generic/generic.tpl:314
+msgid "Department No."
+msgstr "Dipartimento No."
 
-#: plugins/admin/departments/class_department.inc:728
-#, php-format
-msgid "Object '%s' is already tagged"
-msgstr ""
+#: plugins/personal/generic/generic.tpl:322
+msgid "Employee No."
+msgstr "Matricola"
 
-#: plugins/admin/departments/class_department.inc:735
-#, php-format
-msgid "Adding tag (%s) to object '%s'"
-msgstr ""
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
+msgid "Room No."
+msgstr "Stanza No."
 
-#: plugins/admin/departments/class_department.inc:767
-#, php-format
-msgid "Removing tag from object '%s'"
-msgstr ""
+#: plugins/personal/generic/generic.tpl:580
+msgid "Please use the phone tab"
+msgstr "Usa il tab del telefono"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:1
+#, fuzzy
+msgid "List of dynamic rules"
+msgstr "Lista dei gruppi"
 
-#: plugins/admin/departments/dep_iframe.tpl:1
-msgid "Processing the requested operation"
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
 msgstr ""
 
-#: plugins/admin/departments/dep_iframe.tpl:7
-msgid ""
-"Your browser doesn't support iframes, please use this link to perform the "
-"requested operation."
+#: plugins/addons/dyngroup/dyngroup.tpl:6
+msgid "Scope"
 msgstr ""
 
-#: plugins/admin/departments/organization.tpl:11
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
 #, fuzzy
-msgid "Name of organization"
-msgstr "Organizzazione"
-
-#: plugins/admin/departments/organization.tpl:14
-msgid "Name of organization to create"
-msgstr ""
+msgid "Attribute"
+msgstr "Attributo DN delle persone"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-msgid "You are currently moving/renaming this department."
-msgstr ""
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
+#, fuzzy
+msgid "Filter"
+msgstr "Filtri"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:5
-msgid ""
-"Modifying a departments naming attribute 'ou' or base may corrupt acls and "
-"snapshot entries for all entire objects."
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:8
-msgid "GOsa can NOT fix this for you, yet."
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:11
-msgid ""
-"Before you confirm this action, ensure that everything will be as expected, "
-"possibly the best solution is a backup."
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
+#, php-format
+msgid "The given filter '%s' for entry %s seems to be invalid!"
 msgstr ""
 
-#: plugins/admin/acl/class_aclManagement.inc:25
-#: plugins/admin/acl/acl-list.xml:15
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
 #, fuzzy
-msgid "Acl"
-msgstr "Annulla"
+msgid "Dynamic object"
+msgstr "Oggetto"
 
-#: plugins/admin/acl/class_aclManagement.inc:154
+#: plugins/addons/propertyEditor/property-filter.xml:15
 #, fuzzy
-msgid "ACL Assignment"
-msgstr "Riferimenti"
+msgid "Effective properties"
+msgstr "Modifica proprietà"
 
-#: plugins/admin/acl/tabs_acl_role.inc:28
+#: plugins/addons/propertyEditor/property-filter.xml:29
 #, fuzzy
-msgid "ACL Templates"
-msgstr "Template"
+msgid "Modified properties"
+msgstr "Modifica proprietà"
 
-#: plugins/admin/acl/class_aclRole.inc:26
-#: plugins/admin/acl/class_aclRole.inc:726
+#: plugins/addons/propertyEditor/property-filter.xml:43
 #, fuzzy
-msgid "Access control roles"
-msgstr "Opzioni di accesso"
+msgid "All properties"
+msgstr "Modifica proprietà"
 
-#: plugins/admin/acl/class_aclRole.inc:27
+#: plugins/addons/propertyEditor/property-filter.xml:57
 #, fuzzy
-msgid "Edit AC roles"
-msgstr "ACL"
+msgid "LDAP properties"
+msgstr "Modifica proprietà"
 
-#: plugins/admin/acl/class_aclRole.inc:134
+#: plugins/addons/propertyEditor/property-filter.xml:71
 #, fuzzy
-msgid "Reset ACL"
-msgstr "Rimuovi"
+msgid "Search for property groups"
+msgstr "Mostra gruppi principali"
 
-#: plugins/admin/acl/class_aclRole.inc:418
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
+msgstr ""
+
+#: plugins/addons/propertyEditor/migrate.tpl:3
 #, fuzzy
-msgid "No ACL settings for this category"
-msgstr "Nome descrittivo del gruppo"
+msgid "Migration steps left"
+msgstr "Creare"
 
-#: plugins/admin/acl/class_aclRole.inc:420
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
 #, fuzzy, php-format
-msgid "ACL for these objects: %s"
-msgstr "Nome descrittivo del gruppo"
+msgid "Migration of property '%s'"
+msgstr "Creare"
 
-#: plugins/admin/acl/class_aclRole.inc:426
-#, fuzzy
-msgid "Edit category ACL"
-msgstr "classe"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
+#, fuzzy, php-format
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: plugins/admin/acl/class_aclRole.inc:430
-#, fuzzy
-msgid "Reset category ACL"
-msgstr "classe"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
+msgid "Objects that will be added"
+msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:450
-#, php-format
-msgid "Edit ACL for '%s', scope is '%s'"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+msgid "Objects that will be moved"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:646
-#, fuzzy
-msgid "Object in use"
-msgstr "Nome dell'oggetto"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
+#, fuzzy, php-format
+msgid "Moving object '%s' to '%s'"
+msgstr "Lista dei dipartimenti"
 
-#: plugins/admin/acl/class_aclRole.inc:646
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
 #, php-format
-msgid "This role cannot be removed while it is in use by these objects:"
+msgid "Migration failed for object %s: DN already exists!"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:725 plugins/admin/acl/acl-list.xml:23
-#: plugins/admin/acl/acl-list.xml:82
-#: plugins/personal/generic/class_user.inc:1664
-#: plugins/personal/generic/generic.tpl:508
-msgid "Role"
-msgstr "Ruolo"
-
-#: plugins/admin/acl/class_aclRole.inc:736
-#, fuzzy
-msgid "Permissions"
-msgstr "Permessi"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
+#, php-format
+msgid "Migration failed for object %s: please check if it already exists!"
+msgstr ""
 
-#: plugins/admin/acl/acl-list.xml:11
+#: plugins/addons/propertyEditor/property-list.tpl:3
 #, fuzzy
-msgid "List of acls"
-msgstr "Lista dei gruppi"
+msgid "Warning message"
+msgstr "Home Page"
 
-#: plugins/admin/acl/acl-filter.tpl:11
-#, fuzzy
-msgid "Show access control lists"
-msgstr "Opzioni di accesso"
+#: plugins/addons/propertyEditor/property-list.tpl:9
+msgid ""
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
+msgstr ""
 
-#: plugins/admin/acl/acl-filter.tpl:12
-#, fuzzy
-msgid "Show roles"
-msgstr "Mostra telefoni"
+#: plugins/addons/propertyEditor/property-list.tpl:10
+msgid ""
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
+msgstr ""
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:25
-msgid "Bug submitter"
+#: plugins/addons/propertyEditor/property-list.tpl:14
+msgid ""
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
 msgstr ""
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:26
+#: plugins/addons/propertyEditor/property-list.tpl:22
 msgid ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
+"I understand that there are certain risks, but I want to modify properties!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:38
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
 #, fuzzy
-msgid "Edit organizational user settings"
-msgstr "Opzioni applicazione"
+msgid "Command verifier"
+msgstr "e"
 
-#: plugins/personal/generic/class_user.inc:297
-msgid "Please add a single IP address or a network/netmask combination!"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
+msgid ""
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "female"
-msgstr "femmina"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
+msgid ""
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "male"
-msgstr "maschio"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:408
-msgid "Cannot upload file!"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
+#, fuzzy
+msgid "Test"
+msgstr "Timeout"
+
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:503
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
 #, fuzzy
-msgid "Serial number"
-msgstr "Numero di telefono"
+msgid "Preferences"
+msgstr "Riferimenti"
 
-#: plugins/personal/generic/class_user.inc:548
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
 msgid ""
-"(Some types of certificates are currently not supported and may be displayed "
-"as 'invalid'.)"
+"Configure global and special GOsa settings like hooks and plug-in parameters"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:558
-#, php-format
-msgid "Certificate is valid from %s to %s and is currently %s."
-msgstr ""
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
+#, fuzzy
+msgid "No description"
+msgstr "Descrizoione unità"
 
-#: plugins/personal/generic/class_user.inc:561
-msgid "valid"
-msgstr "valido"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:562
-msgid "invalid"
-msgstr "invalido"
+#: plugins/addons/propertyEditor/property-list.xml:11
+#, fuzzy
+msgid "List of configuration settings"
+msgstr "Opzioni di posta dell'identità"
 
-#: plugins/personal/generic/class_user.inc:567
-msgid "No certificate installed"
-msgstr "Non ci sono certificati installati"
+#: plugins/addons/propertyEditor/property-list.xml:15
+#, fuzzy
+msgid "Property not used"
+msgstr "Gruppo di utenti"
 
-#: plugins/personal/generic/class_user.inc:593
-msgid "The selected password method is no longer available."
+#: plugins/addons/propertyEditor/property-list.xml:23
+msgid "Property will be restored"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1190
-msgid "Cannot build RDN: no + allowed to build sub RDN!"
-msgstr ""
+#: plugins/addons/propertyEditor/property-list.xml:31
+#, fuzzy
+msgid "Modified property"
+msgstr "Informazioni personali"
 
-#: plugins/personal/generic/class_user.inc:1197
-msgid "Cannot build RDN: attribute is not defined!"
-msgstr ""
+#: plugins/addons/propertyEditor/property-list.xml:39
+#, fuzzy
+msgid "Property configured in LDAP"
+msgstr "File di configurazione"
 
-#: plugins/personal/generic/class_user.inc:1215
-msgid "Cannot build RDN: invalid attribute parameters!"
-msgstr ""
+#: plugins/addons/propertyEditor/property-list.xml:47
+#, fuzzy
+msgid "Property configured in config file"
+msgstr "File di configurazione"
 
-#: plugins/personal/generic/class_user.inc:1286
-msgid "The selected password method requires initial configuration!"
+#: plugins/addons/propertyEditor/property-list.xml:80
+#, fuzzy
+msgid "Class"
+msgstr "classe"
+
+#: plugins/addons/propertyEditor/property-list.xml:88
+#, fuzzy
+msgid "Value"
+msgstr "maschio"
+
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1351
-#: plugins/personal/generic/class_user.inc:1713
-#: plugins/personal/generic/class_user.inc:1816
-#: plugins/personal/generic/generic.tpl:199
-msgid "Homepage"
-msgstr "Home Page"
+#: plugins/admin/groups/paste_generic.tpl:1
+#, fuzzy
+msgid "Group settings"
+msgstr "Impostazioni FAX"
 
-#: plugins/personal/generic/class_user.inc:1362
-#: plugins/personal/generic/class_user.inc:1825
-#: plugins/personal/generic/generic.tpl:407
-msgid "Mobile"
-msgstr "Cellulare"
+#: plugins/admin/groups/paste_generic.tpl:2
+#, fuzzy
+msgid "Paste group settings"
+msgstr "Impostazioni FAX"
 
-#: plugins/personal/generic/class_user.inc:1365
-#: plugins/personal/generic/class_user.inc:1828
-#: plugins/personal/generic/generic.tpl:415
-msgid "Pager"
-msgstr "Pager"
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
+msgstr "Nome gruppo"
 
-#: plugins/personal/generic/class_user.inc:1370
-#: plugins/personal/generic/class_user.inc:1685
-#: plugins/personal/generic/generic.tpl:119
-msgid "Date of birth"
-msgstr "Data di nascita"
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
+#, fuzzy
+msgid "POSIX name of the group"
+msgstr "Nome Unix del gruppo"
 
-#: plugins/personal/generic/class_user.inc:1485
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
 #, fuzzy
-msgid "Cannot open certificate!"
-msgstr "Impossibile aprite il certificato selezionato!"
+msgid "Normally IDs are auto-generated, select to specify manually"
+msgstr ""
+"Normalmente le ID sono autogenerate, selezionare per specificarelo "
+"manulamente"
 
-#: plugins/personal/generic/class_user.inc:1653
-#: plugins/personal/generic/generic.tpl:531
-msgid "Unit"
-msgstr "Unità"
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
+msgstr "Forza GID"
 
-#: plugins/personal/generic/class_user.inc:1654
-#: plugins/personal/generic/generic.tpl:556
-msgid "House identifier"
-msgstr "Identificativo della casa"
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr "Forza numero ID"
 
-#: plugins/personal/generic/class_user.inc:1655
-#: plugins/personal/generic/generic.tpl:473
-msgid "Vocation"
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1656
-#: plugins/personal/generic/generic.tpl:600
-msgid "Last delivery"
-msgstr "Ultimo recapito"
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
+#, fuzzy
+msgid "User selection"
+msgstr "Impostazioni FAX"
 
-#: plugins/personal/generic/class_user.inc:1657
-#: plugins/personal/generic/generic.tpl:522
-msgid "Person locality"
-msgstr "Località personale"
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Cannot find group SID in your configuration!"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1658
-#: plugins/personal/generic/generic.tpl:481
-msgid "Unit description"
-msgstr "Descrizoione unità"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
+msgstr "Gruppo Samba"
 
-#: plugins/personal/generic/class_user.inc:1659
-#: plugins/personal/generic/generic.tpl:490
-msgid "Subject area"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:310
+#, fuzzy
+msgid "Domain administrators"
+msgstr "Amministratori di Dominio"
 
-#: plugins/personal/generic/class_user.inc:1660
-#: plugins/personal/generic/generic.tpl:499
-msgid "Functional title"
-msgstr "Funzione"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
+msgstr "Utenti di Dominio"
 
-#: plugins/personal/generic/class_user.inc:1661
-#: plugins/personal/generic/generic_certs.tpl:78
-msgid "Certificate serial number"
-msgstr "Numero seriale del certificato"
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
+msgstr "Ospiti di Dominio"
 
-#: plugins/personal/generic/class_user.inc:1662
-#: plugins/personal/generic/generic.tpl:609
-msgid "Public visible"
-msgstr "Pubblico"
+#: plugins/admin/groups/class_group.inc:316
+#, php-format
+msgid "Special group (%d)"
+msgstr "Gruppo speciale (%d)"
 
-#: plugins/personal/generic/class_user.inc:1663
-#: plugins/personal/generic/generic.tpl:540
-msgid "Street"
-msgstr "Strada"
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+msgstr ""
+
+#: plugins/admin/groups/class_group.inc:470
+#, php-format
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+msgstr ""
+
+#: plugins/admin/groups/class_group.inc:753
+#, fuzzy, php-format
+msgid "Cannot find any SID for '%s'!"
+msgstr "Rimuovi"
 
-#: plugins/personal/generic/class_user.inc:1665
-#: plugins/personal/generic/generic.tpl:548
-msgid "Postal code"
-msgstr "CAP"
+#: plugins/admin/groups/class_group.inc:758
+#, fuzzy, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
+msgstr "Rimuovi"
+
+#: plugins/admin/groups/class_group.inc:852
+#, php-format
+msgid "The gidNumber '%s' is already in use by %s!"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1669
+#: plugins/admin/groups/class_group.inc:1036
 #, fuzzy
-msgid "Generic user settings"
+msgid "Generic group settings"
 msgstr "Impostazioni generali delle code"
 
-#: plugins/personal/generic/class_user.inc:1673
-#: plugins/personal/posix/class_posixAccount.inc:1455
-#: plugins/personal/password/class_password.inc:205
-msgid "My account"
-msgstr "Identità"
-
-#: plugins/personal/generic/class_user.inc:1681
+#: plugins/admin/groups/class_group.inc:1049
 #, fuzzy
-msgid "User identification"
-msgstr "Amministrazione utenti"
-
-#: plugins/personal/generic/class_user.inc:1682
-#: plugins/personal/generic/generic.tpl:98
-msgid "Personal title"
-msgstr "Titolo onorifico"
-
-#: plugins/personal/generic/class_user.inc:1683
-#: plugins/personal/generic/generic.tpl:108
-msgid "Academic title"
-msgstr "Titolo di studio"
-
-#: plugins/personal/generic/class_user.inc:1686
-#: plugins/personal/generic/generic.tpl:138
-msgid "Sex"
-msgstr "Sesso"
+msgid "RDN for object group storage."
+msgstr "Nome del gruppo"
 
-#: plugins/personal/generic/class_user.inc:1687
+#: plugins/admin/groups/class_group.inc:1063
 #, fuzzy
-msgid "Preferred language"
-msgstr "Lingua preferita"
+msgid "Samba group type"
+msgstr "Gruppo Samba"
 
-#: plugins/personal/generic/class_user.inc:1690
-#: plugins/personal/generic/paste_generic.tpl:47
+#: plugins/admin/groups/class_group.inc:1064
 #, fuzzy
-msgid "User picture"
-msgstr "Foto personale"
+msgid "Samba domain name"
+msgstr "Home di Samba"
 
-#: plugins/personal/generic/class_user.inc:1692
+#: plugins/admin/groups/class_group.inc:1066
 #, fuzzy
-msgid "Login restrictions"
-msgstr "La password spira il"
+msgid "Phone pickup group"
+msgstr "I membri sono in un gruppo di risposta telefonica"
 
-#: plugins/personal/generic/class_user.inc:1696
+#: plugins/admin/groups/class_group.inc:1067
 #, fuzzy
-msgid "Department number"
-msgstr "Dipartimento"
+msgid "Nagios group"
+msgstr "Contatto"
 
-#: plugins/personal/generic/class_user.inc:1698
+#: plugins/admin/groups/class_group.inc:1069
 #, fuzzy
-msgid "Employee number"
-msgstr "Qualifica"
+msgid "Group member"
+msgstr "Membri del gruppo"
 
-#: plugins/personal/generic/class_user.inc:1699
-#: plugins/personal/generic/generic.tpl:331
-msgid "Employee type"
-msgstr "Qualifica"
+#: plugins/admin/groups/class_groupManagement.inc:26
+msgid ""
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1701
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
 #, fuzzy
-msgid "Room number"
-msgstr "Numero di telefono"
+msgid "Infrastructure error"
+msgstr "Errore PHP"
 
-#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
 #, fuzzy
-msgid "Telefon number"
-msgstr "Numero di telefono"
+msgid "Edit POSIX properties"
+msgstr "Modifica proprietà"
 
-#: plugins/personal/generic/class_user.inc:1703
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
 #, fuzzy
-msgid "Pager number"
-msgstr "Numero di telefono"
+msgid "Edit mail properties"
+msgstr "Modifica proprietà"
 
-#: plugins/personal/generic/class_user.inc:1704
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
 #, fuzzy
-msgid "Mobile number"
-msgstr "Cellulare"
+msgid "Edit samba properties"
+msgstr "Modifica proprietà"
 
-#: plugins/personal/generic/class_user.inc:1705
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
 #, fuzzy
-msgid "Fax number"
-msgstr "Numero di telefono"
-
-#: plugins/personal/generic/class_user.inc:1711
-msgid "Home postal address"
-msgstr ""
+msgid "Edit phone properties"
+msgstr "Modifica proprietà"
 
-#: plugins/personal/generic/class_user.inc:1712
+#: plugins/admin/groups/class_groupManagement.inc:189
 #, fuzzy
-msgid "Home phone number"
-msgstr "Numero di telefono"
+msgid "Menu"
+msgstr "Stampante"
 
-#: plugins/personal/generic/class_user.inc:1714
+#: plugins/admin/groups/class_groupManagement.inc:190
 #, fuzzy
-msgid "User password method"
-msgstr "Algorimo password"
+msgid "Edit start menu properties"
+msgstr "Modifica proprietà"
 
-#: plugins/personal/generic/class_user.inc:1715
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
 #, fuzzy
-msgid "User certificates"
-msgstr "Certificato standard"
+msgid "Edit environment properties"
+msgstr "Modifica proprietà"
 
-#: plugins/personal/generic/class_user.inc:1923
+#: plugins/admin/groups/group-filter.xml:31
 #, fuzzy
-msgid "Entries differ"
-msgstr "Gruppo di utenti"
+msgid "Default filter2"
+msgstr "Parametro"
 
-#: plugins/personal/generic/changed.tpl:3
-#: plugins/personal/password/changed.tpl:3
-msgid ""
-"You've successfully changed your password. Remember to change all programms "
-"configured to use it as well."
-msgstr ""
-"Hai cambiato con successo la tua password. Ricorda di cambiare tutto i "
-"programmmi configurati per usarla."
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
+msgstr "Nome descrittivo del gruppo"
 
-#: plugins/personal/generic/generic.tpl:6
-msgid "Personal information"
-msgstr "Informazioni personali"
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+msgid "Select to create a samba conform group"
+msgstr "Seleziona per creare un gruppo conforme Samba"
 
-#: plugins/personal/generic/generic.tpl:20
-#: plugins/personal/generic/generic.tpl:22
-#: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/paste_generic.tpl:37
-#: plugins/personal/generic/generic_picture.tpl:5
-#: plugins/personal/generic/generic_picture.tpl:15
-msgid "Personal picture"
-msgstr "Foto personale"
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
+msgstr "nel dominio"
 
-#: plugins/personal/generic/generic.tpl:29
-#: plugins/personal/generic/generic.tpl:40
-msgid "Change picture"
-msgstr "Cambia foto"
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
+msgstr "I membri sono in un gruppo di risposta telefonica"
 
-#: plugins/personal/generic/generic.tpl:62
+#: plugins/admin/groups/generic.tpl:146
 #, fuzzy
-msgid "Template name"
-msgstr "Template"
-
-#: plugins/personal/generic/generic.tpl:151
-msgid "Preferred langage"
-msgstr "Lingua preferita"
-
-#: plugins/personal/generic/generic.tpl:191
-msgid "Private phone"
-msgstr "Telefono privato"
+msgid "Members are in a Nagios group"
+msgstr "I membri sono in un gruppo di risposta telefonica"
 
-#: plugins/personal/generic/generic.tpl:212
-msgid "Password storage"
-msgstr "Algorimo password"
+#: plugins/admin/groups/generic.tpl:174
+#, fuzzy
+msgid "Common group members"
+msgstr "Mostra gruppi"
 
-#: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/generic_certs.tpl:3
-msgid "Certificates"
-msgstr "Certificati"
+#: plugins/admin/groups/generic.tpl:183
+#, fuzzy
+msgid "Partial group members"
+msgstr "Membri del gruppo"
 
-#: plugins/personal/generic/generic.tpl:232
-msgid "Edit certificates"
-msgstr "Modifica certificati"
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
+msgstr "Membri del gruppo"
 
-#: plugins/personal/generic/generic.tpl:244
-msgid "Restrict login to"
-msgstr ""
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
+msgstr "Lista dei gruppi"
 
-#: plugins/personal/generic/generic.tpl:250
-#: plugins/personal/generic/generic.tpl:266
-msgid "IP or network"
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:287
-msgid "Organizational information"
-msgstr "Informazioni organizzazione"
-
-#: plugins/personal/generic/generic.tpl:315
-msgid "Department No."
-msgstr "Dipartimento No."
-
-#: plugins/personal/generic/generic.tpl:323
-msgid "Employee No."
-msgstr "Matricola"
-
-#: plugins/personal/generic/generic.tpl:389
-#: plugins/personal/generic/generic.tpl:571
-msgid "Room No."
-msgstr "Stanza No."
-
-#: plugins/personal/generic/generic.tpl:585
-msgid "Please use the phone tab"
-msgstr "Usa il tab del telefono"
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
+msgstr "Modifica"
 
-#: plugins/personal/generic/paste_generic.tpl:1
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
 #, fuzzy
-msgid "User settings"
-msgstr "Opzioni di posta dell'identità"
+msgid "Send message"
+msgstr "Home Page"
 
-#: plugins/personal/generic/paste_generic.tpl:23
+#: plugins/admin/groups/group-list.xml:138
 #, fuzzy
-msgid "Clear password"
-msgstr "Nuova password"
+msgid "Edit group"
+msgstr "Gruppo primario"
 
-#: plugins/personal/generic/paste_generic.tpl:24
+#: plugins/admin/groups/group-list.xml:151
 #, fuzzy
-msgid "Set new password"
-msgstr "Cambia password"
-
-#: plugins/personal/generic/paste_generic.tpl:52
-#: plugins/personal/generic/generic_picture.tpl:27
-msgid "Remove picture"
-msgstr "Elimina foto"
-
-#: plugins/personal/generic/main.inc:168
-msgid "Generic user information"
-msgstr "Informazioni generali"
-
-#: plugins/personal/generic/password.tpl:4
-#: plugins/personal/password/password.tpl:4
-msgid ""
-"To change your personal password use the fields below. The changes take "
-"effect immediately. Please memorize the new password, because you wouldn't "
-"be able to login without it."
-msgstr ""
-"Per cambiare la tua password usa i campi qui sotto. I cambiamenti avrenno "
-"effetto immediatamente. Memorizza la nuova password perché non sarai in "
-"grado di connetterti senza di essa."
+msgid "Remove group"
+msgstr "server"
 
-#: plugins/personal/generic/password.tpl:42
-#: plugins/personal/password/password.tpl:47
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
 #, fuzzy
-msgid "Password change dialog"
-msgstr "Cambia la password"
-
-#: plugins/personal/generic/password.tpl:90
-#: plugins/personal/password/password.tpl:95
-msgid "Clear fields"
-msgstr "Ripulisci i campi"
-
-#: plugins/personal/generic/generic_certs.tpl:8
-msgid "Standard certificate"
-msgstr "Certificato standard"
+msgid "User and group selection"
+msgstr "Impostazioni FAX"
 
-#: plugins/personal/generic/generic_certs.tpl:33
-msgid "S/MIME certificate"
-msgstr "Certificato S/MIME"
+#: plugins/admin/ogroups/ogroup-list.xml:11
+#, fuzzy
+msgid "List of object groups"
+msgstr "Nome del gruppo"
 
-#: plugins/personal/generic/generic_certs.tpl:57
-msgid "PKCS12 certificate"
-msgstr "Certificato PKCS12"
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
+msgstr "Gruppo di oggetti"
 
-#: plugins/personal/generic/nochange.tpl:2
-#: plugins/personal/password/nochange.tpl:2
+#: plugins/admin/ogroups/ogroup-list.xml:142
 #, fuzzy
-msgid "You have no permission to change your password at this time"
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid "Edit object group"
+msgstr "Gruppo di oggetti"
 
-#: plugins/personal/generic/nochange.tpl:5
+#: plugins/admin/ogroups/ogroup-list.xml:155
 #, fuzzy
-msgid "Your password hash method will not be changed!"
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid "Remove object group"
+msgstr "server"
 
-#: plugins/personal/posix/class_posixAccount.inc:38
+#: plugins/admin/ogroups/paste_generic.tpl:1
 #, fuzzy
-msgid "Edit users POSIX settings"
-msgstr "Impostazioni Unix"
+msgid "Paste object group"
+msgstr "Gruppo di oggetti"
 
-#: plugins/personal/posix/class_posixAccount.inc:168
+#: plugins/admin/ogroups/paste_generic.tpl:7
 #, fuzzy
-msgid "expired"
-msgstr "Esporta"
+msgid "Please enter the new object group name"
+msgstr "Inserisci la URI del server LDAP"
 
-#: plugins/personal/posix/class_posixAccount.inc:170
-msgid "grace time active"
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-#: plugins/personal/posix/class_posixAccount.inc:175
-#: plugins/personal/posix/class_posixAccount.inc:177
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
+msgstr "Stampante"
+
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
+#, fuzzy
+msgid "Object selection"
+msgstr "Impostazioni FAX"
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
 #, fuzzy
-msgid "active"
-msgstr "Privato"
+msgid "Phone queue"
+msgstr "Numero di telefono"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
 #, fuzzy
-msgid "password not changeable"
-msgstr "Nuova password"
+msgid "Groupware"
+msgstr "Nome gruppo"
 
-#: plugins/personal/posix/class_posixAccount.inc:175
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
 #, fuzzy
-msgid "password expired"
-msgstr "La password spira il"
+msgid "System settings"
+msgstr "Opzioni di posta dell'identità"
 
-#: plugins/personal/posix/class_posixAccount.inc:248
-msgid "automatic"
-msgstr "automatico"
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
+#, fuzzy
+msgid "Recipe"
+msgstr "Descrizione"
 
-#: plugins/personal/posix/class_posixAccount.inc:444
-#, php-format
-msgid "Password can't be changed up to %s days after last change"
-msgstr ""
-"La password non può essere cambiata per %s giorni dall'ultimo cambiamento"
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
+msgstr "Dispositivi"
 
-#: plugins/personal/posix/class_posixAccount.inc:448
-#, php-format
-msgid "Password must be changed after %s days"
-msgstr "La password deve essere cambiata dopo %s giorni"
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
+#, fuzzy
+msgid "Deployment summary"
+msgstr "Dipartimento"
 
-#: plugins/personal/posix/class_posixAccount.inc:452
-#, fuzzy, php-format
-msgid "Disable account after %s days of inactivity after password expiry"
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
 msgstr ""
-"Disabilita l'account dopo %s giorni di inattività dopo che la password è "
-"spirata"
 
-#: plugins/personal/posix/class_posixAccount.inc:456
-#, fuzzy, php-format
-msgid "Warn user %s days before password expiry"
-msgstr "Avvisa l'utente %s giorni prima che la password spiri"
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
+msgstr "Applicazioni"
 
-#: plugins/personal/posix/class_posixAccount.inc:793
-msgid "Timeout while waiting for lock. Ignoring lock!"
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
+msgstr "Nome del gruppo"
+
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
+msgstr "Oggetti membri"
+
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:851
-#: plugins/personal/posix/class_posixAccount.inc:1169
-msgid "Group of user"
-msgstr "Gruppo di utenti"
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
+msgstr "nessuno"
 
-#: plugins/personal/posix/class_posixAccount.inc:946
-msgid ""
-"A duplicated UID number was written for this user. If this was not intended "
-"please verify all used uidNumbers!"
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1027
-#: plugins/personal/posix/class_posixAccount.inc:1030
-#: plugins/personal/posix/class_posixAccount.inc:1105
-#: plugins/personal/posix/class_posixAccount.inc:1108
-#: plugins/personal/posix/class_posixAccount.inc:1461
-#: plugins/personal/posix/generic.tpl:7
-#: plugins/personal/posix/paste_generic.tpl:8
-msgid "Home directory"
-msgstr "Home directory"
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
+msgstr "utenti"
 
-#: plugins/personal/posix/class_posixAccount.inc:1038
-#: plugins/personal/posix/class_posixAccount.inc:1041
-#: plugins/personal/posix/generic.tpl:63
-#: plugins/personal/posix/paste_generic.tpl:36
-msgid "UID"
-msgstr "UID"
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
+msgstr "gruppi"
 
-#: plugins/personal/posix/class_posixAccount.inc:1061
-#: plugins/personal/posix/class_posixAccount.inc:1114
-#, fuzzy
-msgid "shadowMin"
-msgstr "Mostra terminali"
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
+msgstr "applicazioni"
 
-#: plugins/personal/posix/class_posixAccount.inc:1066
-#: plugins/personal/posix/class_posixAccount.inc:1119
-msgid "shadowMax"
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
+msgstr "dipartimenti"
+
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
+msgstr "server"
+
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1071
-#: plugins/personal/posix/class_posixAccount.inc:1124
+#: plugins/admin/ogroups/class_ogroup.inc:328
 #, fuzzy
-msgid "shadowWarning"
+msgid "Windows workstations"
 msgstr "Mostra workstation"
 
-#: plugins/personal/posix/class_posixAccount.inc:1085
-#: plugins/personal/posix/class_posixAccount.inc:1138
-#, fuzzy
-msgid "shadowInactive"
-msgstr "Mostra stampanti"
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
-#, fuzzy
-msgid "POSIX account"
-msgstr "Estenzioni FTP"
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
+msgstr "telefoni"
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
-#: plugins/personal/posix/generic.tpl:15
-msgid "Shell"
-msgstr "Shell"
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
+msgstr "stampanti"
 
-#: plugins/personal/posix/class_posixAccount.inc:1463
-#: setup/setup_migrate.tpl:291
-msgid "User ID"
+#: plugins/admin/ogroups/class_ogroup.inc:533
+msgid "Non existing DN:"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1464
-#, fuzzy
-msgid "Group ID"
-msgstr "Gruppo"
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
+msgid ""
+"These systems are already configured by other object groups and cannot be "
+"added:"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1466
-#, fuzzy
-msgid "Force password change on login"
-msgstr "Cambia la password"
+#: plugins/admin/ogroups/class_ogroup.inc:685
+msgid "You can combine two different object types at maximum, only!"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1467
+#: plugins/admin/ogroups/class_ogroup.inc:849
 #, fuzzy
-msgid "Shadow min"
-msgstr "Mostra terminali"
+msgid "Object group generic"
+msgstr "Gruppo di oggetti"
 
-#: plugins/personal/posix/class_posixAccount.inc:1468
-msgid "Shadow max"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
+msgstr "Gruppi di oggetti"
 
-#: plugins/personal/posix/class_posixAccount.inc:1469
-#, fuzzy
-msgid "Shadow warning"
-msgstr "Mostra workstation"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1470
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
 #, fuzzy
-msgid "Shadow inactive"
-msgstr "Mostra stampanti"
+msgid "Templates"
+msgstr "Template"
 
-#: plugins/personal/posix/class_posixAccount.inc:1471
-#, fuzzy
-msgid "Shadow expire"
-msgstr "Mostra persone"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
+msgstr "Applicazione"
 
-#: plugins/personal/posix/class_posixAccount.inc:1472
-msgid "Public SSH key"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+msgid "Windows Install"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1473
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
 #, fuzzy
-msgid "System trust model"
-msgstr "Accesso ai sistemi"
-
-#: plugins/personal/posix/generic.tpl:25
-#: plugins/personal/posix/paste_generic.tpl:17
-msgid "Primary group"
-msgstr "Gruppo primario"
-
-#: plugins/personal/posix/generic.tpl:36
-msgid "Status"
-msgstr "Stato"
+msgid "ACL Templates"
+msgstr "Template"
 
-#: plugins/personal/posix/generic.tpl:41
+#: plugins/admin/acl/acl-list.xml:11
 #, fuzzy
-msgid "Last logon"
-msgstr "Scegli il tuo numero di telefono personale"
+msgid "List of ACLs"
+msgstr "Lista dei gruppi"
 
-#: plugins/personal/posix/generic.tpl:59
-#: plugins/personal/posix/paste_generic.tpl:31
-msgid "Force UID/GID"
-msgstr "Forza UID/GID"
+#: plugins/admin/acl/paste_role.tpl:1
+#, fuzzy
+msgid "Paste ACL-role"
+msgstr "Rimuovi"
 
-#: plugins/personal/posix/generic.tpl:89
-#: plugins/personal/posix/paste_generic.tpl:55
-msgid "Group membership"
-msgstr "Gruppi di appartenenza"
+#: plugins/admin/acl/acl-filter.xml:48
+#: plugins/admin/acl/class_aclManagement.inc:154
+#, fuzzy
+msgid "ACL Assignment"
+msgstr "Riferimenti"
 
-#: plugins/personal/posix/generic.tpl:91
-#: plugins/personal/posix/paste_generic.tpl:62
-msgid "(Warning: more than 16 groups are not supported by NFS!)"
-msgstr "(Attenzione: L'NFS non supporta più di 16 gruppi!)"
+#: plugins/admin/acl/class_aclManagement.inc:26
+msgid ""
+"Control access to GOsa managed objects down to attribute and action level"
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:100
+#: plugins/admin/acl/class_aclRole.inc:26
+#: plugins/admin/acl/class_aclRole.inc:715
 #, fuzzy
-msgid "Common group"
-msgstr "Mostra gruppi"
+msgid "Access control roles"
+msgstr "Opzioni di accesso"
 
-#: plugins/personal/posix/generic.tpl:104
+#: plugins/admin/acl/class_aclRole.inc:27
 #, fuzzy
-msgid "Groups differ"
-msgstr "Gruppo di utenti"
+msgid "Edit AC roles"
+msgstr "ACL"
 
-#: plugins/personal/posix/generic.tpl:127
-msgid "SSH keys"
-msgstr ""
+#: plugins/admin/acl/class_aclRole.inc:138
+#, fuzzy
+msgid "Reset ACL"
+msgstr "Rimuovi"
 
-#: plugins/personal/posix/generic.tpl:128
-msgid "Edit public ssh keys..."
-msgstr ""
+#: plugins/admin/acl/class_aclRole.inc:411
+#, fuzzy
+msgid "No ACL settings for this category"
+msgstr "Nome descrittivo del gruppo"
 
-#: plugins/personal/posix/generic.tpl:132
-msgid "Account"
-msgstr "Sicurezza"
+#: plugins/admin/acl/class_aclRole.inc:413
+#, fuzzy, php-format
+msgid "ACL for these objects: %s"
+msgstr "Nome descrittivo del gruppo"
 
-#: plugins/personal/posix/posix_groups.tpl:6
-msgid "Select groups to add"
-msgstr "Seleziona un gruppo da aggiungere"
+#: plugins/admin/acl/class_aclRole.inc:418
+#, fuzzy
+msgid "Edit category ACL"
+msgstr "classe"
 
-#: plugins/personal/posix/posix_groups.tpl:32
-msgid "Display groups of department"
-msgstr "Mostra gruppi di dipartimenti"
+#: plugins/admin/acl/class_aclRole.inc:421
+#, fuzzy
+msgid "Delete category ACL"
+msgstr "classe"
 
-#: plugins/personal/posix/posix_groups.tpl:44
-msgid "Display groups matching"
-msgstr "Mosra gruppi corrispondenti a"
+#: plugins/admin/acl/class_aclRole.inc:442
+#, php-format
+msgid "Edit ACL for '%s', scope is '%s'"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:48
-msgid "Regular expression for matching group names"
-msgstr "Espressioni regolare per selezionare il nome del gruppo"
+#: plugins/admin/acl/class_aclRole.inc:635
+#, fuzzy
+msgid "Object in use"
+msgstr "Nome dell'oggetto"
 
-#: plugins/personal/posix/posix_groups.tpl:55
-msgid "Display groups of user"
-msgstr "Mostra gruppi di utenti"
+#: plugins/admin/acl/class_aclRole.inc:635
+#, php-format
+msgid "This role cannot be removed while it is in use by these objects:"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:59
-msgid "User name of which groups are shown"
-msgstr "Nome dell'utente del quale mostrare i gruppi"
+#: plugins/admin/acl/class_aclRole.inc:731
+#, fuzzy
+msgid "RDN for role storage."
+msgstr "Opzioni di posta dell'identità"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:11
-msgid "Show servers"
-msgstr "Mostra server"
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
+#, fuzzy
+msgid "Domain component"
+msgstr "Amministratori di Dominio"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:12
-msgid "Show workstations"
-msgstr "Mostra workstation"
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
+#, fuzzy
+msgid "Locality name"
+msgstr "Nome locazione"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:13
-msgid "Show terminals"
-msgstr "Mostra terminali"
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
+msgid "Name of locality to create"
+msgstr ""
 
-#: plugins/personal/posix/paste_generic.tpl:4
-#, fuzzy
-msgid "Posix settings"
-msgstr "Impostazioni Unix"
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
+msgstr ""
 
-#: plugins/personal/posix/main.inc:142
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
 #, fuzzy
-msgid "POSIX settings"
-msgstr "Impostazioni Unix"
+msgid "Administrative settings"
+msgstr "Amministrazione"
 
-#: plugins/personal/posix/posix_shadow.tpl:9
-msgid "User must change password on first login"
-msgstr "L'utente deve cambiare la password alla prima connessione"
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
+msgstr ""
 
-#: plugins/personal/posix/posix_shadow.tpl:34
-msgid "Password expires on"
-msgstr "La password spira il"
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
+msgstr "Paese"
 
-#: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
 #, fuzzy
-msgid "Password settings"
-msgstr "Opzioni di posta dell'identità"
+msgid "Locality"
+msgstr "Località"
 
-#: plugins/personal/password/password.tpl:14
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
 #, fuzzy
-msgid "Your Password has expired. Please choose a new password!"
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid "Domain"
+msgstr "nel dominio"
 
-#: plugins/personal/password/class_password.inc:27
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #, fuzzy
-msgid "Change user password"
-msgstr "Cambia la password"
-
-#: plugins/personal/password/class_password.inc:129
-msgid "You need to specify your current password in order to proceed."
-msgstr "Devi specificare la tua 'Password attuale' per procedere."
-
-#: plugins/personal/password/class_password.inc:135
-msgid "The password you've entered as 'New password' is empty."
-msgstr "La password immessa come 'Nuova password' è vuota"
-
-#: plugins/personal/password/class_password.inc:144
-#, fuzzy, php-format
-msgid "External password changer reported a problem: %s."
-msgstr "Il programma esterno per cambiare la password ha avuto un problema:"
+msgid "Country name"
+msgstr "Paese"
 
-#: plugins/personal/password/class_password.inc:158
-msgid ""
-"The password you've entered as your current password doesn't match the real "
-"one."
-msgstr "La password immessa come 'Password attuale' è errata"
+#: plugins/admin/departments/country.tpl:14
+msgid "Name of country to create"
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:164
+#: plugins/admin/departments/dep-list.xml:11
 #, fuzzy
-msgid "You have no permission to change your password."
-msgstr "Non hai il permesso di cambiare la tua password."
+msgid "List of structural objects"
+msgstr "Nome del gruppo"
 
-#: plugins/personal/password/class_password.inc:201
-#, fuzzy
-msgid "User password"
-msgstr "Nuova password"
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "You are currently moving/renaming this department."
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:92
-#, fuzzy
-msgid "UNIX accounts/groups"
-msgstr "Account Unix"
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:94
-#, fuzzy
-msgid "Samba management"
-msgstr "Dirigenza"
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+msgid "GOsa can NOT fix this for you, yet."
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:96
-#, fuzzy
-msgid "Mailsystem management"
-msgstr "Riferimenti"
+#: plugins/admin/departments/dep_move_confirm.tpl:12
+msgid ""
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:98
+#: plugins/admin/departments/organization.tpl:11
 #, fuzzy
-msgid "FAX system administration"
-msgstr "Amministrazione utenti"
+msgid "Name of organization"
+msgstr "Organizzazione"
 
-#: setup/class_setupStep_Feedback.inc:100
-#, fuzzy
-msgid "Asterisk administration"
-msgstr "Amministrazione utenti"
+#: plugins/admin/departments/organization.tpl:14
+msgid "Name of organization to create"
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:102
-#, fuzzy
-msgid "System inventory"
-msgstr "Elimina contatto"
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:104
-#, fuzzy
-msgid "System-/Configmanagement"
-msgstr "Riferimenti"
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:106
-msgid "Addressbook"
-msgstr "Rubrica"
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:112
-msgid "Feedback"
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:113
-#, fuzzy
-msgid "Get notifications or send feedback"
-msgstr "Non ci sono certificati installati"
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:114
-#, fuzzy
-msgid "Notification and feedback"
-msgstr "Non ci sono certificati installati"
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:131 setup/class_setup.inc:77
-#, fuzzy
-msgid "Setup error"
-msgstr "Stato"
+#: plugins/admin/departments/class_department.inc:439
+msgid "Cannot find an unused tag for this administrative unit!"
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:140
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Feedback error"
+#: plugins/admin/departments/class_department.inc:507
+#, php-format
+msgid "Tagging '%s'."
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:140
+#: plugins/admin/departments/class_department.inc:588
 #, php-format
-msgid "Cannot send feedback to '%s': %s"
+msgid "Moving '%s' to '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Cannot send feedback: service temporarily unavailable"
+#: plugins/admin/departments/class_department.inc:629
+#, php-format
+msgid "FAILED to copy %s, aborting operation"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:181
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
+msgstr "Dipartimenti"
+
+#: plugins/admin/departments/class_department.inc:674
 #, fuzzy
-msgid "Please specify a valid email address."
-msgstr "Prego inserire un numero di telefono valido!"
+msgid "Department name"
+msgstr "Dipartimento"
 
-#: setup/class_setupStep_Feedback.inc:185
-msgid ""
-"You have to select at least one of both options, subscribe or send feedback."
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
+msgstr "Telefono"
+
+#: plugins/admin/departments/class_department.inc:737
+#, php-format
+msgid "Object '%s' is already tagged"
 msgstr ""
 
-#: setup/class_setup.inc:197
-#, fuzzy
-msgid "Completed"
-msgstr "incompleto"
+#: plugins/admin/departments/class_department.inc:744
+#, php-format
+msgid "Adding tag (%s) to object '%s'"
+msgstr ""
 
-#: setup/class_setup.inc:267 setup/setup_migrate.tpl:272
-msgid "Next"
+#: plugins/admin/departments/class_department.inc:776
+#, php-format
+msgid "Removing tag from object '%s'"
 msgstr ""
 
-#: setup/setup_config2.tpl:2
-msgid "Samba settings"
-msgstr "Impostazioni Samba"
+#: plugins/admin/departments/dep_iframe.tpl:1
+msgid "Processing the requested operation"
+msgstr ""
 
-#: setup/setup_config2.tpl:6
-msgid "Samba hash generator"
+#: plugins/admin/departments/dep_iframe.tpl:7
+msgid ""
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
 msgstr ""
 
-#: setup/setup_config2.tpl:15
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
 #, fuzzy
-msgid "Samba SID"
-msgstr "Samba"
+msgid "Domain Component"
+msgstr "Amministratori di Dominio"
 
-#: setup/setup_config2.tpl:31
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 #, fuzzy
-msgid "RID base"
-msgstr "Database"
+msgid "Organization name"
+msgstr "Organizzazione"
 
-#: setup/setup_config2.tpl:46
-#, fuzzy
-msgid "Workstation container"
-msgstr "Mostra workstation"
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+msgid "Phone number"
+msgstr "Numero di telefono"
 
-#: setup/setup_config2.tpl:61
-#, fuzzy
-msgid "Samba SID mapping"
-msgstr "Samba"
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
+msgstr ""
 
-#: setup/setup_config2.tpl:71
-#, fuzzy
-msgid "Timezone"
-msgstr "Cellulare"
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
+msgstr ""
 
-#: setup/setup_config2.tpl:74
+#: plugins/admin/departments/generic.tpl:22
 #, fuzzy
-msgid "Please choose your preferred timezone here"
-msgstr "Lingua preferita"
+msgid "Descriptive text for   department"
+msgstr "Nome descrittivo del gruppo"
 
-#: setup/setup_config2.tpl:96
+#: plugins/admin/departments/class_departmentManagement.inc:25
 #, fuzzy
-msgid "Additional GOsa settings"
-msgstr "Opzioni applicazione"
+msgid "Directory structure"
+msgstr "Directory"
 
-#: setup/setup_config2.tpl:100
-msgid "Enable Copy & Paste"
+#: plugins/admin/departments/class_departmentManagement.inc:26
+msgid ""
+"Manage organizations, organizational units, localities, countries and more"
 msgstr ""
 
-#: setup/setup_config2.tpl:112
-#, fuzzy
-msgid "Government mode"
-msgstr "nella cartella"
-
-#: setup/setup_config2.tpl:123
-#, fuzzy
-msgid "GOsa logging"
-msgstr "Opzioni di posta dell'identità"
+#: plugins/admin/departments/class_departmentManagement.inc:125
+msgid ""
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
+msgstr ""
 
-#: setup/setup_config2.tpl:135
+#: plugins/admin/departments/domain.tpl:11
 #, fuzzy
-msgid "Mail settings"
-msgstr "Opzioni di posta dell'identità"
-
-#: setup/setup_config2.tpl:139
-msgid "Mail method"
-msgstr "Metodo di amministrazione della posta"
+msgid "Domain name"
+msgstr "Amministratori di Dominio"
 
-#: setup/setup_config2.tpl:155
-msgid "Account identification attribute"
+#: plugins/admin/departments/domain.tpl:14
+msgid "Name of domain to create"
 msgstr ""
 
-#: setup/setup_config2.tpl:169
-#, fuzzy
-msgid "Vacation templates"
-msgstr "Messaggio di di risposta automatica"
-
-#: setup/setup_config2.tpl:185
-msgid "Use Cyrus UNIX style"
+#: plugins/admin/users/password.tpl:4
+msgid ""
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
 msgstr ""
 
-#: setup/setup_config2.tpl:195
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
 #, fuzzy
-msgid "Snapshots / Undo"
-msgstr "Nome applicazione"
+msgid "Password input dialog"
+msgstr "Cambia la password"
 
-#: setup/setup_config2.tpl:204 setup/setup_config2.tpl:249
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
 #, fuzzy
-msgid "Enable snapshots"
-msgstr "Crea estensioni di posta"
+msgid "Strength"
+msgstr "Strada"
 
-#: setup/setup_config2.tpl:210 setup/setup_config2.tpl:255
+#: plugins/admin/users/password.tpl:95
 #, fuzzy
-msgid "Snapshot base"
-msgstr "Nome applicazione"
+msgid "Enforce password change on next login."
+msgstr "Cambia la password"
 
-#: setup/setup_frame.tpl:12
+#: plugins/admin/users/templatize.tpl:2
 #, fuzzy
-msgid "GOsa setup wizard"
-msgstr "Opzioni di posta dell'identità"
+msgid "Applying a template"
+msgstr "Template"
 
-#: setup/setup_frame.tpl:19
-#, fuzzy
-msgid "Installation"
-msgstr "Amministrazione"
+#: plugins/admin/users/templatize.tpl:6
+msgid ""
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
+msgstr ""
 
-#: setup/setup_frame.tpl:19
+#: plugins/admin/users/templatize.tpl:13
 #, fuzzy
-msgid "Setup"
-msgstr "Imposta"
+msgid "Apply user template"
+msgstr "Template"
 
-#: setup/setup_migrate.tpl:5
-msgid ""
-"During the LDAP inspection, we're going to check for several common pitfalls "
-"that may occur when migration to GOsa base LDAP administration. You may want "
-"to fix the problems below, in order to provide smooth services."
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
 msgstr ""
 
-#: setup/setup_migrate.tpl:33
-#, fuzzy
-msgid "Check again"
-msgstr "Continua"
+#: plugins/admin/users/templatize.tpl:32
+msgid "No templates available!"
+msgstr ""
 
-#: setup/setup_migrate.tpl:37
-#, fuzzy
-msgid "Add required object classes to the LDAP base"
-msgstr "Lista dei dipartimenti"
+#: plugins/admin/users/user-filter.xml:33
+msgid "Show templates"
+msgstr "Mostra utenti template"
 
-#: setup/setup_migrate.tpl:39 setup/setup_migrate.tpl:244
-#: setup/setup_migrate.tpl:344 setup/setup_migrate.tpl:398
-#: setup/setup_migrate.tpl:453 setup/setup_migrate.tpl:496
-#: setup/setup_migrate.tpl:540
+#: plugins/admin/users/user-filter.xml:47
 #, fuzzy
-msgid "Current"
-msgstr "Password attuale"
+msgid "Show POSIX users"
+msgstr "Impostazioni Unix"
 
-#: setup/setup_migrate.tpl:46 setup/setup_migrate.tpl:248
-#: setup/setup_migrate.tpl:351 setup/setup_migrate.tpl:405
-#: setup/setup_migrate.tpl:457 setup/setup_migrate.tpl:500
-#: setup/setup_migrate.tpl:544
+#: plugins/admin/users/user-filter.xml:61
 #, fuzzy
-msgid "After migration"
-msgstr "Amministrazione utenti"
+msgid "Show SAMBA users"
+msgstr "Mostra server"
 
-#: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:664 setup/class_setupStep_Migrate.inc:806
-#: setup/class_setupStep_Migrate.inc:1035
-#: setup/class_setupStep_Migrate.inc:2133
-#: setup/class_setupStep_Migrate.inc:2576
-#: setup/class_setupStep_Migrate.inc:2730
-#: setup/class_setupStep_Migrate.inc:3060
+#: plugins/admin/users/user-filter.xml:75
 #, fuzzy
-msgid "Migrate"
-msgstr "Creare"
+msgid "Show mail users"
+msgstr "Mostra utenti di posta"
 
-#: setup/setup_migrate.tpl:60 setup/setup_migrate.tpl:107
-#, fuzzy
-msgid "Close"
-msgstr "Scegli"
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
+msgstr "Crea un nuovo utente usando i template"
 
-#: setup/setup_migrate.tpl:65
-msgid "Move windows workstations into a valid windows workstation department"
+#: plugins/admin/users/template.tpl:6
+msgid ""
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
 msgstr ""
 
-#: setup/setup_migrate.tpl:67
-msgid ""
-"This dialog allows you to move the displayed windows workstations into a "
-"valid department"
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
 msgstr ""
 
-#: setup/setup_migrate.tpl:69
+#: plugins/admin/users/class_userManagement.inc:26
 msgid ""
-"Be careful with this tool, there may be references pointing to this "
-"workstations that can't be migrated."
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
 msgstr ""
 
-#: setup/setup_migrate.tpl:95
-msgid "Move selected windows workstations into the following GOsa department"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:401
+#, fuzzy
+msgid "You have no permission to change this users password!"
+msgstr "Non hai il permesso di cambiare la tua password."
 
-#: setup/setup_migrate.tpl:100
+#: plugins/admin/users/class_userManagement.inc:791
 #, fuzzy
-msgid "Move selected workstations"
-msgstr "Selezione le workstation da aggiungere"
+msgid "Account locking"
+msgstr "Sicurezza"
 
-#: setup/setup_migrate.tpl:101
-msgid "What will be done here"
+#: plugins/admin/users/class_userManagement.inc:792
+#, php-format
+msgid ""
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:113
-msgid "Move groups into configured group tree"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:865
+#, fuzzy
+msgid "Unlock account"
+msgstr "Identità"
 
-#: setup/setup_migrate.tpl:116
-msgid ""
-"This dialog allows moving a couple of groups to the configured group tree. "
-"Doing this may straighten your LDAP service."
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:867
+#, fuzzy
+msgid "Lock account"
+msgstr "Identità"
 
-#: setup/setup_migrate.tpl:119
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"groups. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:880
+#, fuzzy
+msgid "Edit generic properties"
+msgstr "Modifica proprietà"
 
-#: setup/setup_migrate.tpl:122
-msgid "Move selected groups into this group tree"
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
 msgstr ""
 
-#: setup/setup_migrate.tpl:153 setup/setup_migrate.tpl:205
-#: setup/setup_migrate.tpl:254 setup/setup_migrate.tpl:372
-#: setup/setup_migrate.tpl:425 setup/setup_migrate.tpl:469
-#: setup/setup_migrate.tpl:512 setup/setup_migrate.tpl:556
+#: plugins/admin/users/class_userManagement.inc:896
 #, fuzzy
-msgid "Hide changes"
-msgstr "Open-Xchange"
+msgid "Edit Netatalk properties"
+msgstr "Modifica proprietà"
+
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
+msgstr "FAX"
 
-#: setup/setup_migrate.tpl:155 setup/setup_migrate.tpl:207
-#: setup/setup_migrate.tpl:237 setup/setup_migrate.tpl:374
-#: setup/setup_migrate.tpl:427 setup/setup_migrate.tpl:472
-#: setup/setup_migrate.tpl:515 setup/setup_migrate.tpl:559
+#: plugins/admin/users/class_userManagement.inc:904
 #, fuzzy
-msgid "Show changes"
-msgstr "Mostra telefoni"
+msgid "Edit FAX properties"
+msgstr "Modifica proprietà"
 
-#: setup/setup_migrate.tpl:168
-msgid "Move users into configured user tree"
-msgstr ""
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
+msgstr "Lista degli utenti"
 
-#: setup/setup_migrate.tpl:170
-msgid ""
-"This dialog allows moving a couple of users to the configured user tree. "
-"Doing this may straighten your LDAP service."
-msgstr ""
+#: plugins/admin/users/user-list.xml:140
+#, fuzzy
+msgid "Lock users"
+msgstr "Lista degli utenti"
 
-#: setup/setup_migrate.tpl:173
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"users. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
-msgstr ""
+#: plugins/admin/users/user-list.xml:148
+#, fuzzy
+msgid "Unlock users"
+msgstr "Utenti di Dominio"
+
+#: plugins/admin/users/user-list.xml:167
+#, fuzzy
+msgid "Apply template"
+msgstr "Template"
 
-#: setup/setup_migrate.tpl:176
+#: plugins/admin/users/user-list.xml:199
 #, fuzzy
-msgid "Move selected users into this people tree"
+msgid "New user from template"
 msgstr "Nuovo template"
 
-#: setup/setup_migrate.tpl:219
+#: plugins/admin/users/user-list.xml:213
 #, fuzzy
-msgid "Migrate GOsa 2.5 administrative accounts"
-msgstr "Crea estensioni di posta"
+msgid "Edit user"
+msgstr "Modifica contatto"
 
-#: setup/setup_migrate.tpl:221
-msgid ""
-"This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
-"useable accounts."
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
 msgstr ""
 
-#: setup/setup_migrate.tpl:257 setup/setup_ldap.tpl:65
+#: plugins/admin/users/user-list.xml:245
 #, fuzzy
-msgid "Reload"
-msgstr "leggere"
+msgid "Remove user"
+msgstr "Elimina foto"
 
-#: setup/setup_migrate.tpl:273
-msgid "Abort"
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
+msgid "Back to main menu"
 msgstr ""
 
-#: setup/setup_migrate.tpl:275
-#, fuzzy
-msgid "Create a new GOsa administrator account"
-msgstr "Crea estensioni di posta"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
+msgstr ""
 
-#: setup/setup_migrate.tpl:278
-msgid ""
-"This dialog will automatically add a new super administrator to your LDAP "
-"tree."
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
+msgstr ""
+
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
 msgstr ""
 
-#: setup/setup_migrate.tpl:307
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
 #, fuzzy
-msgid "Password (again)"
-msgstr "Algorimo password"
+msgid "Action"
+msgstr "Azioni"
 
-#: setup/setup_migrate.tpl:333
-msgid ""
-"The listed departments are currently invisible in the GOsa user interface. "
-"If you want to change this for a couple of entries, select them and use the "
-"migrate button below."
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
+#, fuzzy
+msgid "Systems"
+msgstr "Sistemi"
+
+#: plugins/generic/statistics/statistics.tpl:2
+msgid "Usage statistics"
 msgstr ""
 
-#: setup/setup_migrate.tpl:334 setup/setup_migrate.tpl:389
-#: setup/setup_migrate.tpl:445 setup/setup_migrate.tpl:489
-#: setup/setup_migrate.tpl:533
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
 msgid ""
-"If you want to know what will be done when migrating the selected entries, "
-"use the 'Show changes' button to see the LDIF."
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
 msgstr ""
 
-#: setup/setup_migrate.tpl:388
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
+#, fuzzy
+msgid "Dash board"
+msgstr "Opzioni di posta dell'identità"
+
+#: plugins/generic/statistics/statistics.tpl:16
+#, fuzzy
 msgid ""
-"The listed users are currently invisible in the GOsa user interface. If you "
-"want to change this for a couple of users, just select them and use the "
-"'Migrate' button below."
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
+msgstr "Impossibile connettersi al server del database!"
+
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
 msgstr ""
 
-#: setup/setup_migrate.tpl:444
-msgid ""
-"The listed devices are currently invisible in the GOsa interface. If you "
-"want to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
 msgstr ""
 
-#: setup/setup_migrate.tpl:488
-msgid ""
-"The listed services are currently invalid for the GOsa version you are going "
-"to install. If you want to update a couple of service, just select them and "
-"use the 'Migrate' button below."
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
 msgstr ""
 
-#: setup/setup_migrate.tpl:532
-msgid ""
-"The listed menus are currently invisible in the GOsa interface. If you want "
-"to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:38
+#: plugins/generic/statistics/statistics.tpl:87
 #, fuzzy
-msgid "Write configuration file"
-msgstr "File di configurazione"
+msgid "Select report type"
+msgstr "Rimuovi"
 
-#: setup/class_setupStep_Finish.inc:39
-#, fuzzy
-msgid "Finish - write the configuration file"
-msgstr "File di configurazione"
+#: plugins/generic/statistics/class_statistics.inc:263
+#, fuzzy, php-format
+msgid ""
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
+msgstr ""
+"Stai modificando un campo del database. Vuoi abbandonare i cambiamenti?"
 
-#: setup/class_setupStep_Finish.inc:104
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
 #, fuzzy
-msgid ""
-"Your configuration file is currently world readable. Please update the file "
-"permissions!"
-msgstr "Il file di configurazione di GOsa %s/gosa.conf non è legibile."
+msgid "Channels"
+msgstr "Annulla"
 
-#: setup/class_setupStep_Finish.inc:106
+#: plugins/generic/dashBoard/Register/register.tpl:3
 #, fuzzy
-msgid "The configuration is currently not readable or it does not exists."
-msgstr "Il file di configurazione di GOsa %s/gosa.conf non è legibile."
+msgid "GOsa registration"
+msgstr "Impostazioni generali delle code"
 
-#: setup/class_setupStep_Finish.inc:115
-#, fuzzy, php-format
-msgid ""
-"After downloading and placing the file under %s, please make sure that the "
-"user the webserver is running with is able to read %s, while other users "
-"shouldn't. You may want to execute these commands to achieve this "
-"requirement:"
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
 msgstr ""
-"Dopo averlo scaricato dentro /etc/gosa/, assicurati che l'utente del "
-"webserver sia in grado di leggerlo mentre tutti gli altri utenti non "
-"possono. In molti casi è sufficiente eseguire i comandi seguenti."
 
-#: setup/class_setupStep_Checks.inc:38 setup/class_setupStep_Checks.inc:39
-msgid "Installation check"
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:40
-msgid "Basic checks for PHP compatibility and extensions"
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:64
-#, fuzzy
-msgid "Checking PHP version"
-msgstr "Controllo della versione di PHP (>=4.1.0)"
-
-#: setup/class_setupStep_Checks.inc:65
-#, fuzzy, php-format
-msgid "PHP must be of version %s or above."
-msgstr "PHP deve essere la versione 4.1.0 o superiore."
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
+msgstr ""
 
-#: setup/class_setupStep_Checks.inc:66
-msgid "Please upgrade to a supported version."
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:73
-msgid "GOsa requires this module to talk with your LDAP server."
+#: plugins/generic/dashBoard/Register/register.tpl:22
+msgid ""
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:81
-msgid "GOsa requires this module for an internationalized interface."
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:89
-msgid "GOsa requires this module for the samba integration."
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:97
-msgid ""
-"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
-"encryption."
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:105
-msgid "GOsa requires this module to talk to an IMAP server."
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:112
-#, fuzzy
-msgid "mbstring"
-msgstr "Impostazioni Samba"
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
+msgstr ""
 
-#: setup/class_setupStep_Checks.inc:113
-msgid "GOsa requires this module to handle unicode strings."
+#: plugins/generic/dashBoard/Register/register.tpl:33
+msgid ""
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:120
-#, fuzzy
-msgid "MySQL"
-msgstr "Errore LDAP"
+#: plugins/generic/dashBoard/Register/register.tpl:34
+msgid ""
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
+msgstr ""
 
-#: setup/class_setupStep_Checks.inc:121
-#, fuzzy
+#: plugins/generic/dashBoard/Register/register.tpl:35
 msgid ""
-"GOsa requires this module to communicate with several supported databases."
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
 msgstr ""
-"Queso modulo serve a leggere i report di GOfax dal database.GOsa funziona "
-"correttamente anche senza."
 
-#: setup/class_setupStep_Checks.inc:138
-msgid "samba hash generator"
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
+#, fuzzy
+msgid "Registration complete"
+msgstr "incompleto"
+
+#: plugins/generic/dashBoard/Register/register.tpl:71
+msgid "GOsa instance sucessfully registered"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:139
-msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+#: plugins/generic/dashBoard/Register/register.tpl:82
+msgid "GOsa instance will not be registered"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:140
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
 msgid ""
-"Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
+"Communciation with the backend failed! Please check your internet connection!"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:153
-msgid "imagick"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
+msgid ""
+"Authentication failed, please check combination of username and password!"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:154
-msgid "GOsa requires this extension to handle images."
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
+msgid ""
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:169
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
 #, fuzzy
-msgid "compression module"
-msgstr "Opzioni di accesso"
+msgid "Notifications"
+msgstr "Località"
 
-#: setup/class_setupStep_Checks.inc:170
-msgid "GOsa requires this extension to handle snapshots."
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:181
-#, fuzzy
+#: plugins/generic/dashBoard/dashBoard.tpl:7
 msgid ""
-"register_globals is a PHP mechanism to register all global variables to be "
-"accessible from scripts without changing the scope. This may be a security "
-"risk."
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
 msgstr ""
-"register_globals è un meccanismo PHP che può comportare maggiori rischi per "
-"la sicurezza. GOsa funziona in entrambe le modalità"
 
-#: setup/class_setupStep_Checks.inc:182
+#: plugins/generic/dashBoard/dashBoard.tpl:13
 #, fuzzy
-msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
-msgstr "Controllo se register_globals e impostato su 'off'"
+msgid "GOsa dash board"
+msgstr "Opzioni di posta dell'identità"
 
-#: setup/class_setupStep_Checks.inc:190
-msgid "PHP uses this value for the garbage collector to delete old sessions."
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:191
-msgid ""
-"Setting this value to one day will prevent loosing session and cookies "
-"before they really timeout."
-msgstr ""
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
+#, fuzzy
+msgid "Schema missing"
+msgstr "Impostazioni Samba"
 
-#: setup/class_setupStep_Checks.inc:192
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
 #, fuzzy
-msgid ""
-"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
-"higher."
-msgstr ""
-"Per non avere problemi con GOsa è necessario impostare l'opzione session."
-"auto_register su 'off' nel file php.ini"
+msgid "Plugin status"
+msgstr "Stato"
 
-#: setup/class_setupStep_Checks.inc:199 setup/class_setupStep_Checks.inc:215
-#: setup/class_setupStep_Checks.inc:231 setup/class_setupStep_Checks.inc:247
-msgid "Off"
-msgstr ""
+#: plugins/generic/references/class_reference.inc:70
+#, fuzzy
+msgid "Role membership"
+msgstr "Gruppi di appartenenza"
 
-#: setup/class_setupStep_Checks.inc:200
+#: plugins/generic/references/class_reference.inc:76
 #, fuzzy
-msgid ""
-"In Order to use GOsa without any trouble, the session.auto_register option "
-"in your php.ini should be set to 'Off'."
-msgstr ""
-"Per non avere problemi con GOsa è necessario impostare l'opzione session."
-"auto_register su 'off' nel file php.ini"
+msgid "Object group membership"
+msgstr "Gruppo di oggetti"
 
-#: setup/class_setupStep_Checks.inc:201
+#: plugins/generic/references/class_reference.inc:82
 #, fuzzy
-msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
-msgstr ""
-"Per non avere problemi con GOsa è necessario impostare l'opzione session."
-"auto_register su 'off' nel file php.ini"
+msgid "Department manager"
+msgstr "Dipartimento"
 
-#: setup/class_setupStep_Checks.inc:208
+#: plugins/generic/references/class_reference.inc:88
 #, fuzzy
-msgid ""
-"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
-"errors that are not reproducable! Increase it for larger setups."
-msgstr ""
-"Per non avere problemi con GOsa è necessario impostare l'opzione "
-"memory_limit a 16MB o più nel file php.ini"
+msgid "User manager"
+msgstr "Nome utente"
 
-#: setup/class_setupStep_Checks.inc:209
-msgid ""
-"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
-msgstr ""
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+#, fuzzy
+msgid "Object information"
+msgstr "Informazioni personali"
 
-#: setup/class_setupStep_Checks.inc:216
+#: plugins/generic/references/contents.tpl:7
 #, fuzzy
-msgid ""
-"This option influences the PHP output handling. Turn this Option off, to "
-"increase performance."
-msgstr ""
-"Per motivi di performance è consigliato di impostare l'opzione "
-"implicit_flush su 'off' nel file php.ini."
+msgid "Show raw object entry"
+msgstr "Gruppi di oggetti"
+
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
+#, fuzzy
+msgid "Last modification"
+msgstr "Località"
+
+#: plugins/generic/references/contents.tpl:29
+#, fuzzy
+msgid "Object references"
+msgstr "Riferimenti"
 
-#: setup/class_setupStep_Checks.inc:217
-msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+#: plugins/generic/references/contents.tpl:45
+#, fuzzy
+msgid "ACL trace"
+msgstr "Tipo"
+
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:224
+#: plugins/generic/references/class_aclResolver.inc:193
 #, fuzzy
-msgid "The Execution time should be at least 30 seconds."
-msgstr ""
-"Per non avere problemi con GOsa è necessario impostare l'opzione "
-"max_execution_time a 30 secondi o più nel file php.ini"
+msgid "ACLs"
+msgstr "ACL"
 
-#: setup/class_setupStep_Checks.inc:225
-msgid ""
-"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+#: plugins/generic/references/class_aclResolver.inc:198
+#, php-format
+msgid "List of effective ACLs for '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:232
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
 #, fuzzy
-msgid ""
-"Increase the server security by setting expose_php to 'off'. PHP won't send "
-"any information about the server you are running in this case."
-msgstr ""
-"Per motivi di sicurezza è consigliato di impostare l'opzione expose_php su "
-"'off' nel file php.ini."
+msgid "Object permissions"
+msgstr "Impostazioni FAX"
 
-#: setup/class_setupStep_Checks.inc:233
-msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
-msgstr ""
+#: plugins/generic/references/class_aclResolver.inc:311
+#, fuzzy
+msgid "create"
+msgstr "Creare"
 
-#: setup/class_setupStep_Checks.inc:239
+#: plugins/generic/references/class_aclResolver.inc:312
 #, fuzzy
-msgid "On"
-msgstr "Opzioni"
+msgid "remove"
+msgstr "Rimuovi"
 
-#: setup/class_setupStep_Checks.inc:240
-msgid ""
-"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
-"escape all quotes in strings in this case."
-msgstr ""
-"Per motivi di sicurezza è consigliato di impostare l'opzione "
-"magic_quotes_gpc su 'on' nel file php.ini."
+#: plugins/generic/references/class_aclResolver.inc:313
+#, fuzzy
+msgid "move"
+msgstr "Rimuovi"
 
-#: setup/class_setupStep_Checks.inc:241
 #, fuzzy
-msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
-msgstr "Controllo se register_globals e impostato su 'off'"
+#~ msgid "List of items"
+#~ msgstr "Lista degli utenti"
 
-#: setup/class_setupStep_Checks.inc:248
 #, fuzzy
-msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
-msgstr ""
-"Per motivi di sicurezza è consigliato di impostare l'opzione "
-"magic_quotes_gpc su 'on' nel file php.ini."
+#~ msgid "Edit item"
+#~ msgstr "Modifica certificati"
 
-#: setup/class_setupStep_Checks.inc:249
 #, fuzzy
-msgid ""
-"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
-msgstr ""
-"Per non avere problemi con GOsa è necessario impostare l'opzione session."
-"auto_register su 'off' nel file php.ini"
+#~ msgid "Remove item"
+#~ msgstr "Elimina foto"
 
-#: setup/class_setupStep_Checks.inc:259
 #, fuzzy
-msgid "Configuration writeable"
-msgstr "File di configurazione"
+#~ msgid "Container"
+#~ msgstr "Continua"
 
-#: setup/class_setupStep_Checks.inc:260
 #, fuzzy
-msgid "The configuration file can't be written"
-msgstr "File di configurazione"
+#~ msgid "Config management"
+#~ msgstr "Riferimenti"
 
-#: setup/class_setupStep_Checks.inc:261
-#, php-format
-msgid ""
-"GOsa reads its configuration from a file located in (%s/%s). The setup can "
-"write the configuration directly if it is writeable."
-msgstr ""
+#, fuzzy
+#~ msgid "Distribution"
+#~ msgstr "Descrizione"
 
-#: setup/setup_config3.tpl:2
 #, fuzzy
-msgid "GOsa core settings"
-msgstr "Opzioni di posta dell'identità"
+#~ msgid "Component"
+#~ msgstr "Amministratori di Dominio"
+
+#~ msgid "Home phone"
+#~ msgstr "Telefono privato"
+
+#~ msgid "Organizational unit"
+#~ msgstr "Unità del'organizzazione"
 
-#: setup/setup_config3.tpl:6
 #, fuzzy
-msgid "Enable primary group filter"
-msgstr "Mostra gruppi di utenti"
+#~ msgid "Max"
+#~ msgstr "Maggio"
 
-#: setup/setup_config3.tpl:18
 #, fuzzy
-msgid "Display summary in listings"
-msgstr "Mosra gruppi corrispondenti a"
+#~ msgid "Min"
+#~ msgstr "Principale"
+
+#~ msgid "Welcome %s!"
+#~ msgstr "Benvenuto %s!"
 
-#: setup/setup_config3.tpl:30
 #, fuzzy
-msgid "Honour administrative units"
-msgstr "Amministrazione dei gruppi di utenti"
+#~ msgid "The folder %s specified for %s:%s cannot be used for reading!"
+#~ msgstr "Il valore specificato per l'UID non è valido."
 
-#: setup/setup_config3.tpl:42
 #, fuzzy
-msgid "Smarty compile directory"
-msgstr "Home directory"
+#~ msgid "Object info"
+#~ msgstr "Nome dell'oggetto"
 
-#: setup/setup_config3.tpl:51
-msgid "SNMP community"
-msgstr ""
+#, fuzzy
+#~ msgid "Acls"
+#~ msgstr "Annulla"
 
-#: setup/setup_config3.tpl:60
 #, fuzzy
-msgid "Path for PPD storage"
-msgstr "Algorimo password"
+#~ msgid "The values for 'New password' and 'Repeated new password' differ!"
+#~ msgstr "Le password nuova e ripetuta non corrispondono"
 
-#: setup/setup_config3.tpl:77
 #, fuzzy
-msgid "Path for kiosk profile storage"
-msgstr "Opzioni di posta dell'identità"
+#~ msgid "The password used as new and current are too similar!"
+#~ msgstr ""
+#~ "La password immessa come 'Nuova password' è troppo simile a quella "
+#~ "attuale."
 
-#: setup/setup_config3.tpl:96
-msgid "SUDO role base"
-msgstr ""
+#, fuzzy
+#~ msgid "The password used as new is to short!"
+#~ msgstr "La 'Nuova password' immessa è troppo corta."
 
-#: setup/setup_config3.tpl:115
 #, fuzzy
-msgid "Mail queue script"
-msgstr "Script path"
+#~ msgid "External password changer reported a problem: %s"
+#~ msgstr "Il programma esterno per cambiare la password ha avuto un problema:"
 
-#: setup/setup_config3.tpl:134
 #, fuzzy
-msgid "Notification script"
-msgstr "Non ci sono certificati installati"
+#~ msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#~ msgstr "Errore durante la connessione al server LDAP. Il server dice: '%s'"
 
-#: setup/setup_config3.tpl:153
-msgid "Enable edit locking"
-msgstr ""
+#, fuzzy
+#~ msgid "Username / UID is not unique inside the LDAP tree!"
+#~ msgstr ""
+#~ "Errore di connessione al server LDAP. Contatta l'amministratore del "
+#~ "sistema."
 
-#: setup/setup_config3.tpl:174
-msgid "Gosa support daemon"
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "Username / UID is not unique inside the LDAP tree. Please contact your "
+#~ "Administrator."
+#~ msgstr ""
+#~ "Errore di connessione al server LDAP. Contatta l'amministratore del "
+#~ "sistema."
 
-#: setup/setup_config3.tpl:193
 #, fuzzy
-msgid "Daemon timeout"
-msgstr "Dominio"
+#~ msgid "incomplete"
+#~ msgstr "incompleto"
 
-#: setup/setup_config3.tpl:207
-msgid "Login and session"
-msgstr ""
+#, fuzzy
+#~ msgid "You're going to edit the LDAP entry/entries %s"
+#~ msgstr "Non hai il permesso di cambiare la tua password."
 
-#: setup/setup_config3.tpl:210
 #, fuzzy
-msgid "Login attribute"
-msgstr "Attributo DN delle persone"
+#~ msgid "Apply filter"
+#~ msgstr "Template"
 
-#: setup/setup_config3.tpl:221
-msgid "Enforce register_globals to be deactivated"
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot write to revision file!"
+#~ msgstr "Rimuovi"
 
-#: setup/setup_config3.tpl:233
-msgid "Enforce encrypted connections"
-msgstr ""
+#, fuzzy
+#~ msgid "LDAP warning"
+#~ msgstr "Amministrazione LDAP"
 
-#: setup/setup_config3.tpl:245
-msgid "Warn if session is not encrypted"
-msgstr ""
+#, fuzzy
+#~ msgid "Used to store account specific informations."
+#~ msgstr "L'account spira dopo"
 
-#: setup/setup_config3.tpl:257
 #, fuzzy
-msgid "Remember dialog filter settings"
-msgstr "Impostazioni generali delle code"
+#~ msgid "Missing required object class '%s'!"
+#~ msgstr "Lista dei dipartimenti"
 
-#: setup/setup_config3.tpl:269
 #, fuzzy
-msgid "Session lifetime"
-msgstr "Rilevato un conflitto di sessione"
+#~ msgid "Missing optional object class '%s'!"
+#~ msgstr "Lista dei dipartimenti"
 
-#: setup/setup_config3.tpl:278
-msgid "Debugging"
-msgstr ""
+#, fuzzy
+#~ msgid "Version mismatch for required object class '%s' (!=%s)!"
+#~ msgstr "Lista dei dipartimenti"
 
-#: setup/setup_config3.tpl:282
 #, fuzzy
-msgid "Show PHP errors"
-msgstr "Errore PHP"
+#~ msgid "Cannot allocate a free ID:"
+#~ msgstr "Troppi utenti non posso allocare un ID libero!"
 
-#: setup/setup_config3.tpl:294
 #, fuzzy
-msgid "Maximum LDAP query time"
-msgstr "Inoltra i messaggi a"
+#~ msgid "Cannot allocate a free ID!"
+#~ msgstr "Troppi utenti non posso allocare un ID libero!"
 
-#: setup/setup_config3.tpl:312
-msgid "Log LDAP statistics"
-msgstr ""
+#, fuzzy
+#~ msgid "Surename"
+#~ msgstr "Cognome"
 
-#: setup/setup_config3.tpl:324
 #, fuzzy
-msgid "Debug level"
-msgstr "Rimuovi"
+#~ msgid "External password changer reported a problem: %s."
+#~ msgstr "Il programma esterno per cambiare la password ha avuto un problema:"
+
+#~ msgid "Username"
+#~ msgstr "Nome utente"
+
+#~ msgid ""
+#~ "You've successfully changed your password. Remember to change all "
+#~ "programms configured to use it as well."
+#~ msgstr ""
+#~ "Hai cambiato con successo la tua password. Ricorda di cambiare tutto i "
+#~ "programmmi configurati per usarla."
+
+#~ msgid "Admin DN"
+#~ msgstr "DN dell'amministratore"
 
-#: setup/setup_config3.tpl:329 setup/setup_config3.tpl:332
 #, fuzzy
-msgid "Disabled"
-msgstr "disabilitato"
+#~ msgid "Grant permission to owner"
+#~ msgstr "Rimuovi"
 
-#: setup/setup_config3.tpl:330 setup/setup_config3.tpl:333
 #, fuzzy
-msgid "Enabled"
-msgstr "disabilitato"
+#~ msgid "Password change not allowed"
+#~ msgstr "Cambia la password"
 
-#: setup/setup_feedback.tpl:5
-msgid "Feedback sucessfully send"
-msgstr ""
+#~ msgid "Preferred langage"
+#~ msgstr "Lingua preferita"
 
-#: setup/setup_feedback.tpl:15
-msgid "Subscribe to the gosa-announce mailinglist"
-msgstr ""
+#, fuzzy
+#~ msgid "Posix settings"
+#~ msgstr "Impostazioni Unix"
 
-#: setup/setup_feedback.tpl:18
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to subscribe you to the gosa-announce mailing list. You've to confirm "
-"this by mail."
-msgstr ""
+#, fuzzy
+#~ msgid "You have no permission to set your password!"
+#~ msgstr "Non hai il permesso di cambiare la tua password."
 
-#: setup/setup_feedback.tpl:39
-msgid "Mail address"
-msgstr "Indirizzo principale"
+#~ msgid ""
+#~ "You have changed the method your password is stored in the ldap database. "
+#~ "For that reason you've to enter your password at this point again. GOsa "
+#~ "will then encode it with the selected method."
+#~ msgstr ""
+#~ "Hai modificato il metodo con cui la tua password è immagazzinata nel "
+#~ "database LDAP. Per questo motivo devi inserire nuovamnete la tua password."
 
-#: setup/setup_feedback.tpl:50
-msgid "Send feedback to the GOsa project team"
-msgstr ""
+#, fuzzy
+#~ msgid "Posix"
+#~ msgstr "Proxy"
 
-#: setup/setup_feedback.tpl:53
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to submit your form anonymously."
-msgstr ""
+#, fuzzy
+#~ msgid "Edit posix properties"
+#~ msgstr "Modifica proprietà"
 
-#: setup/setup_feedback.tpl:59
-msgid "Did the setup procedure help you to get started?"
-msgstr ""
+#, fuzzy
+#~ msgid "Acl"
+#~ msgstr "Annulla"
 
-#: setup/setup_feedback.tpl:62 setup/setup_feedback.tpl:80
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
 #, fuzzy
-msgid "Yes"
-msgstr "Sistemi"
+#~ msgid "winstations"
+#~ msgstr "Amministrazione"
 
-#: setup/setup_feedback.tpl:64 setup/setup_feedback.tpl:82
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
 #, fuzzy
-msgid "No"
-msgstr "nessuno"
+#~ msgid "Sytem trust"
+#~ msgstr "Accesso ai sistemi"
 
-#: setup/setup_feedback.tpl:69
-msgid "If not, what problems did you encounter"
-msgstr ""
+#, fuzzy
+#~ msgid "Processing"
+#~ msgstr "Permessi"
 
-#: setup/setup_feedback.tpl:77
-msgid "Is this the first time you use GOsa?"
-msgstr ""
+#, fuzzy
+#~ msgid "Created"
+#~ msgstr "Creare"
 
-#: setup/setup_feedback.tpl:83
-msgid "I use it since"
-msgstr ""
+#, fuzzy
+#~ msgid "No Content"
+#~ msgstr "Contenuti"
 
-#: setup/setup_feedback.tpl:84
-msgid "Select the year since when you are using GOsa"
-msgstr ""
+#, fuzzy
+#~ msgid "Reset Content"
+#~ msgstr "Contenuti"
 
-#: setup/setup_feedback.tpl:91
-msgid "What operating system / distribution do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Partial Content"
+#~ msgstr "CAP"
 
-#: setup/setup_feedback.tpl:99
-msgid "What web server do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Multi-Status"
+#~ msgstr "Stato"
 
-#: setup/setup_feedback.tpl:107
-msgid "What PHP version do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "See Other"
+#~ msgstr "Rimuovi"
 
-#: setup/setup_feedback.tpl:115
 #, fuzzy
-msgid "GOsa version"
-msgstr "Impostazioni generali delle code"
+#~ msgid "Not Modified"
+#~ msgstr "Cambia la password"
 
-#: setup/setup_feedback.tpl:123
-msgid "LDAP"
-msgstr ""
+#, fuzzy
+#~ msgid "Use Proxy"
+#~ msgstr "Proxy"
 
-#: setup/setup_feedback.tpl:127
-msgid "What kind of LDAP server(s) do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "(reserviert)"
+#~ msgstr "server"
 
-#: setup/setup_feedback.tpl:133
-msgid "How many objects are in your LDAP?"
-msgstr ""
+#, fuzzy
+#~ msgid "Not Found"
+#~ msgstr "Cambia la password"
 
-#: setup/setup_feedback.tpl:140
 #, fuzzy
-msgid "Features"
-msgstr "Futuro"
+#~ msgid "Method Not Allowed"
+#~ msgstr "Cambia la password"
 
-#: setup/setup_feedback.tpl:143
-msgid "What features of GOsa do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Proxy Authentication Required"
+#~ msgstr "Destinazione"
 
-#: setup/setup_feedback.tpl:153
-msgid "What features do you want to see in future versions of GOsa?"
-msgstr ""
+#, fuzzy
+#~ msgid "Gone"
+#~ msgstr "nessuno"
 
-#: setup/setup_feedback.tpl:160
-msgid "Send feedback"
-msgstr ""
+#, fuzzy
+#~ msgid "Precondition Failed"
+#~ msgstr "File di configurazione"
 
-#: setup/setup_finish.tpl:3
 #, fuzzy
-msgid "Create your configuration file"
-msgstr "File di configurazione"
+#~ msgid "Expectation Failed"
+#~ msgstr "La query al database è fallita!"
 
-#: setup/setup_finish.tpl:10
-msgid "Depending on the user name your webserver is running on:"
-msgstr ""
+#, fuzzy
+#~ msgid "Locked"
+#~ msgstr "Lista degli utenti"
 
-#: setup/setup_finish.tpl:28
-msgid "Download configuration"
-msgstr "Scarica il file di  configurazione"
+#, fuzzy
+#~ msgid "Unordered Collection"
+#~ msgstr "Impostazioni FAX"
 
-#: setup/setup_finish.tpl:33
 #, fuzzy
-msgid "Status: "
-msgstr "Stato"
+#~ msgid "Internal Server Error"
+#~ msgstr "Terminal Server"
 
-#: setup/class_setupStep_Ldap.inc:53
 #, fuzzy
-msgid "LDAP setup"
-msgstr "Dispositivi"
+#~ msgid "Not Implemented"
+#~ msgstr "incompleto"
 
-#: setup/class_setupStep_Ldap.inc:54
 #, fuzzy
-msgid "LDAP connection setup"
-msgstr "Disconnessione "
+#~ msgid "Gateway Time-out"
+#~ msgstr "Dominio"
 
-#: setup/class_setupStep_Ldap.inc:55
 #, fuzzy
-msgid ""
-"This dialog performs the basic configuration of the LDAP connectivity for "
-"GOsa."
-msgstr "I campi seguenti permettono una configurazione base di GOsa."
+#~ msgid "GOsa settings 3/3"
+#~ msgstr "Opzioni di posta dell'identità"
 
-#: setup/class_setupStep_Ldap.inc:112
-#, php-format
-msgid "Anonymous bind to server '%s' failed!"
-msgstr ""
+#, fuzzy
+#~ msgid "Maximum LDAP query time must be a numeric value!"
+#~ msgstr "Inoltra i messaggi a"
 
-#: setup/class_setupStep_Ldap.inc:114
-#, fuzzy, php-format
-msgid "Bind as user '%s' failed!"
-msgstr "Impossibile selezionare il database!"
+#, fuzzy
+#~ msgid "Create a basic, single site configuration"
+#~ msgstr "Scarica il file di  configurazione"
+
+#, fuzzy
+#~ msgid "Find every possible configuration error"
+#~ msgstr "File di configurazione"
 
-#: setup/class_setupStep_Ldap.inc:119
-#, fuzzy, php-format
-msgid "Anonymous bind to server '%s' succeeded."
-msgstr "Impossibile selezionare il database!"
+#, fuzzy
+#~ msgid "To continue..."
+#~ msgstr "Configurazione continua..."
+
+#~ msgid "Samba settings"
+#~ msgstr "Impostazioni Samba"
 
-#: setup/class_setupStep_Ldap.inc:120
 #, fuzzy
-msgid "Please specify user and password!"
-msgstr "Prego inserire un numero di telefono valido!"
+#~ msgid "Samba SID"
+#~ msgstr "Samba"
 
-#: setup/class_setupStep_Ldap.inc:122
-#, fuzzy, php-format
-msgid "Bind as user '%s' to server '%s' succeeded!"
-msgstr "Impossibile selezionare il database!"
+#, fuzzy
+#~ msgid "RID base"
+#~ msgstr "Database"
 
-#: setup/setup_ldap.tpl:7
-msgid "Please choose the LDAP user to be used by GOsa"
-msgstr ""
+#, fuzzy
+#~ msgid "Workstation container"
+#~ msgstr "Mostra workstation"
 
-#: setup/setup_ldap.tpl:25
 #, fuzzy
-msgid "LDAP connection"
-msgstr "Disconnessione "
+#~ msgid "Samba SID mapping"
+#~ msgstr "Samba"
 
-#: setup/setup_ldap.tpl:29
-msgid "Location name"
-msgstr "Nome locazione"
+#, fuzzy
+#~ msgid "Timezone"
+#~ msgstr "Cellulare"
 
-#: setup/setup_ldap.tpl:37
 #, fuzzy
-msgid "Connection URI"
-msgstr "Connessione"
+#~ msgid "Please choose your preferred timezone here"
+#~ msgstr "Lingua preferita"
 
-#: setup/setup_ldap.tpl:45
 #, fuzzy
-msgid "TLS connection"
-msgstr "Connessione"
+#~ msgid "Additional GOsa settings"
+#~ msgstr "Opzioni applicazione"
 
-#: setup/setup_ldap.tpl:69
 #, fuzzy
-msgid "Authentication"
-msgstr "Destinazione"
+#~ msgid "Government mode"
+#~ msgstr "nella cartella"
 
-#: setup/setup_ldap.tpl:73
-msgid "Admin DN"
-msgstr "DN dell'amministratore"
+#, fuzzy
+#~ msgid "GOsa logging"
+#~ msgstr "Opzioni di posta dell'identità"
 
-#: setup/setup_ldap.tpl:86
-msgid "Automatically append LDAP base to admin DN"
-msgstr ""
+#, fuzzy
+#~ msgid "Mail settings"
+#~ msgstr "Opzioni di posta dell'identità"
 
-#: setup/setup_ldap.tpl:93
-msgid "Admin password"
-msgstr "Password dell'amministratore"
+#~ msgid "Mail method"
+#~ msgstr "Metodo di amministrazione della posta"
 
-#: setup/setup_ldap.tpl:101
 #, fuzzy
-msgid "Schema based settings"
-msgstr "Impostazioni Samba"
+#~ msgid "Vacation templates"
+#~ msgstr "Messaggio di di risposta automatica"
 
-#: setup/setup_ldap.tpl:105
-msgid "Use rfc2307bis compliant groups"
-msgstr ""
+#, fuzzy
+#~ msgid "Snapshots / Undo"
+#~ msgstr "Nome applicazione"
 
-#: setup/setup_ldap.tpl:117
 #, fuzzy
-msgid "Current status"
-msgstr "Stato"
+#~ msgid "Enable snapshots"
+#~ msgstr "Crea estensioni di posta"
 
-#: setup/class_setupStep_Migrate.inc:127 setup/class_setupStep_Migrate.inc:128
 #, fuzzy
-msgid "LDAP inspection"
-msgstr "Ispezione della configurazione PHP"
+#~ msgid "Snapshot base"
+#~ msgstr "Nome applicazione"
 
-#: setup/class_setupStep_Migrate.inc:129
-msgid "Analyze your current LDAP for GOsa compatibility"
-msgstr ""
+#, fuzzy
+#~ msgid "GOsa settings 2/3"
+#~ msgstr "Opzioni di posta dell'identità"
 
-#: setup/class_setupStep_Migrate.inc:135
 #, fuzzy
-msgid "Checking for root object"
-msgstr "Controllo il supporto per iconv"
+#~ msgid "Customize special parameters"
+#~ msgstr "Parametro"
 
-#: setup/class_setupStep_Migrate.inc:141
 #, fuzzy
-msgid "Inspecting object classes in root object"
-msgstr "Controllo il supporto per iconv"
+#~ msgid "Checking for invisible departments"
+#~ msgstr "Controllo il supporto per iconv"
 
-#: setup/class_setupStep_Migrate.inc:147
 #, fuzzy
-msgid "Checking permission for LDAP database"
-msgstr "Non hai il permesso di cambiare la tua password."
+#~ msgid "Checking for invisible users"
+#~ msgstr "Controllo il supporto per iconv"
 
-#: setup/class_setupStep_Migrate.inc:153
 #, fuzzy
-msgid "Checking for invisible departments"
-msgstr "Controllo il supporto per iconv"
+#~ msgid "Checking for users outside the people tree"
+#~ msgstr "Controllo il modulo cups"
 
-#: setup/class_setupStep_Migrate.inc:158
 #, fuzzy
-msgid "Checking for invisible users"
-msgstr "Controllo il supporto per iconv"
+#~ msgid "Checking for groups outside the groups tree"
+#~ msgstr "Controllo il modulo cups"
 
-#: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3211
 #, fuzzy
-msgid "Checking for super administrator"
-msgstr "Controllo la presenza di alcuni programmi addizionali"
+#~ msgid "Checking for duplicated UID numbers"
+#~ msgstr "Controllo il supporto per %s"
 
-#: setup/class_setupStep_Migrate.inc:171
 #, fuzzy
-msgid "Checking for users outside the people tree"
-msgstr "Controllo il modulo cups"
+#~ msgid "Checking for duplicate GID numbers"
+#~ msgstr "Controllo il supporto per %s"
 
-#: setup/class_setupStep_Migrate.inc:177
 #, fuzzy
-msgid "Checking for groups outside the groups tree"
-msgstr "Controllo il modulo cups"
+#~ msgid "Checking for old style USB devices"
+#~ msgstr "Controllo il supporto per iconv"
 
-#: setup/class_setupStep_Migrate.inc:184
-msgid "Checking for windows workstations outside the winstation tree"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for old services that have to be migrated"
+#~ msgstr "Controllo il modulo cups"
 
-#: setup/class_setupStep_Migrate.inc:190
 #, fuzzy
-msgid "Checking for duplicated UID numbers"
-msgstr "Controllo il supporto per %s"
+#~ msgid "Checking for old style application menus"
+#~ msgstr "Controllo il supporto per %s"
 
-#: setup/class_setupStep_Migrate.inc:196
 #, fuzzy
-msgid "Checking for duplicate GID numbers"
-msgstr "Controllo il supporto per %s"
+#~ msgid "Found %s duplicate values for attribute 'uidNumber'."
+#~ msgstr "Prego inserire un numero di telefono valido!"
 
-#: setup/class_setupStep_Migrate.inc:202
 #, fuzzy
-msgid "Checking for old style USB devices"
-msgstr "Controllo il supporto per iconv"
+#~ msgid "Found %s duplicate values for attribute 'gidNumber'."
+#~ msgstr "Prego inserire un numero di telefono valido!"
 
-#: setup/class_setupStep_Migrate.inc:208
 #, fuzzy
-msgid "Checking for old services that have to be migrated"
-msgstr "Controllo il modulo cups"
+#~ msgid "Move"
+#~ msgstr "Dominio"
 
-#: setup/class_setupStep_Migrate.inc:214
 #, fuzzy
-msgid "Checking for old style application menus"
-msgstr "Controllo il supporto per %s"
+#~ msgid "Cannot migrate department '%s':"
+#~ msgstr "Vai al dipartimento base"
 
-#: setup/class_setupStep_Migrate.inc:240 setup/class_setupStep_Migrate.inc:292
-#: setup/class_setupStep_Migrate.inc:357 setup/class_setupStep_Migrate.inc:421
-#: setup/class_setupStep_Migrate.inc:492 setup/class_setupStep_Migrate.inc:569
-#: setup/class_setupStep_Migrate.inc:653 setup/class_setupStep_Migrate.inc:796
-#: setup/class_setupStep_Migrate.inc:892
-#: setup/class_setupStep_Migrate.inc:2038
-#: setup/class_setupStep_Migrate.inc:2506
-#: setup/class_setupStep_Migrate.inc:2697
-#: setup/class_setupStep_Migrate.inc:2834
 #, fuzzy
-msgid "LDAP query failed"
-msgstr "La query al database è fallita!"
+#~ msgid "GOsa 2.5 administrative accounts found: %s"
+#~ msgstr "Crea estensioni di posta"
 
-#: setup/class_setupStep_Migrate.inc:241 setup/class_setupStep_Migrate.inc:293
-#: setup/class_setupStep_Migrate.inc:358 setup/class_setupStep_Migrate.inc:422
-#: setup/class_setupStep_Migrate.inc:493 setup/class_setupStep_Migrate.inc:570
-#: setup/class_setupStep_Migrate.inc:654 setup/class_setupStep_Migrate.inc:797
-#: setup/class_setupStep_Migrate.inc:893
-#: setup/class_setupStep_Migrate.inc:2039
-#: setup/class_setupStep_Migrate.inc:2507
-#: setup/class_setupStep_Migrate.inc:2698
-#: setup/class_setupStep_Migrate.inc:2835
-msgid "Possibly the 'root object' is missing."
-msgstr ""
+#, fuzzy
+#~ msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
+#~ msgstr "Crea estensioni di posta"
 
-#: setup/class_setupStep_Migrate.inc:263
-#, fuzzy, php-format
-msgid "Found %s duplicate values for attribute 'uidNumber'."
-msgstr "Prego inserire un numero di telefono valido!"
+#, fuzzy
+#~ msgid "Cannot move users to the requested department!"
+#~ msgstr "Mostra utenti del dipartimento"
 
-#: setup/class_setupStep_Migrate.inc:315
-#, fuzzy, php-format
-msgid "Found %s duplicate values for attribute 'gidNumber'."
-msgstr "Prego inserire un numero di telefono valido!"
+#, fuzzy
+#~ msgid "to"
+#~ msgstr "Rapporto"
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:583
-#: setup/class_setupStep_Migrate.inc:596
-#: setup/class_setupStep_Migrate.inc:1032
-#: setup/class_setupStep_Migrate.inc:1050
-#: setup/class_setupStep_Migrate.inc:1990
-#: setup/class_setupStep_Migrate.inc:2003
-#: setup/class_setupStep_Migrate.inc:2058
-#: setup/class_setupStep_Migrate.inc:2079
-#: setup/class_setupStep_Migrate.inc:2131
-#: setup/class_setupStep_Migrate.inc:3213
-msgid "Failed"
-msgstr "Fallito"
+#, fuzzy
+#~ msgid "Updating '%s' failed: %s"
+#~ msgstr "Utenti di Dominio"
 
-#: setup/class_setupStep_Migrate.inc:375
-#, php-format
-msgid ""
-"Found %s winstations outside the predefined winstation department ou '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Theme"
+#~ msgstr "Cellulare"
 
-#: setup/class_setupStep_Migrate.inc:448
-#, fuzzy, php-format
-msgid "Found %s groups outside the configured tree '%s'."
-msgstr "Non hai il permesso di cambiare la tua password."
+#, fuzzy
+#~ msgid "Apache"
+#~ msgstr "Annulla"
 
-#: setup/class_setupStep_Migrate.inc:449 setup/class_setupStep_Migrate.inc:526
 #, fuzzy
-msgid "Move"
-msgstr "Dominio"
+#~ msgid "People and group storage"
+#~ msgstr "Ou delle persone"
 
-#: setup/class_setupStep_Migrate.inc:525
-#, php-format
-msgid "Found %s user(s) outside the configured tree '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "People DN attribute"
+#~ msgstr "Attributo DN delle persone"
 
-#: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:598
-#, php-format
-msgid ""
-"The specified user '%s' does not have full access to your ldap database."
-msgstr ""
+#, fuzzy
+#~ msgid "People storage subtree"
+#~ msgstr "Ou delle persone"
 
-#: setup/class_setupStep_Migrate.inc:662
-#, php-format
-msgid "Found %s user(s) that will not be visible in GOsa."
-msgstr ""
+#, fuzzy
+#~ msgid "Group storage subtree"
+#~ msgstr "Ou dei gruppi"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#: setup/class_setupStep_Migrate.inc:1120
 #, fuzzy
-msgid "Migration error"
-msgstr "Creare"
+#~ msgid "Automatic UIDs"
+#~ msgstr "automatico"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#, fuzzy, php-format
-msgid "Cannot migrate department '%s':"
-msgstr "Vai al dipartimento base"
+#, fuzzy
+#~ msgid "Number base for people/groups"
+#~ msgstr "UID di base per utenti/gruppi"
 
-#: setup/class_setupStep_Migrate.inc:805
-#, php-format
-msgid "Found %s department(s) that will not be visible in GOsa."
-msgstr ""
+#, fuzzy
+#~ msgid "Password settings"
+#~ msgstr "Opzioni di posta dell'identità"
 
-#: setup/class_setupStep_Migrate.inc:1029
-#, fuzzy, php-format
-msgid "GOsa 2.5 administrative accounts found: %s"
-msgstr "Crea estensioni di posta"
+#, fuzzy
+#~ msgid "Password encryption algorithm"
+#~ msgstr "Algoritmo di criptaggio"
 
-#: setup/class_setupStep_Migrate.inc:1034
 #, fuzzy
-msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
-msgstr "Crea estensioni di posta"
+#~ msgid "Password restrictions"
+#~ msgstr "La password spira il"
 
-#: setup/class_setupStep_Migrate.inc:1051
-msgid "There is no GOsa administrator account inside your LDAP."
-msgstr ""
+#, fuzzy
+#~ msgid "Password change hook"
+#~ msgstr "Cambia la password"
 
-#: setup/class_setupStep_Migrate.inc:1120
-#, php-format
-msgid "Cannot add ACL for user '%s':"
-msgstr ""
+#~ msgid ""
+#~ "GOsa supports several encryption types for your passwords. Normally this "
+#~ "is adjustable via user templates, but you can specify a default method to "
+#~ "be used here, too."
+#~ msgstr ""
+#~ "GOsa supporta numerosi algoritmi di criptaggio per le password. Imposta "
+#~ "quello di default."
 
-#: setup/class_setupStep_Migrate.inc:1158
-#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
-msgid "Input error"
-msgstr "Errore PHP"
+#~ msgid ""
+#~ "GOsa always acts as admin and manages access rights internally. This is a "
+#~ "workaround till OpenLDAP's in directory ACI's are    fully implemented. "
+#~ "For this to work, we need the admin DN and the corresponding password."
+#~ msgstr ""
+#~ "GOsa agisce sul DIT tramite l'utente di amministrazione e possiede uno "
+#~ "schema di permessi interno. Questo è un workaround finché non sarà "
+#~ "completato il supportp per le ACL all'interno del DIT in OpenLDAP."
 
-#: setup/class_setupStep_Migrate.inc:1158
-msgid "Uid"
-msgstr ""
+#~ msgid ""
+#~ "Some basic LDAP parameters are tunable and affect the locations where "
+#~ "GOsa saves people and groups, including the way accounts get created. "
+#~ "Check the values below if the fit your needs."
+#~ msgstr ""
+#~ "Alcuni parametri di LDAP sono selezionabili e influenzano il posto in cui "
+#~ "GOsa salva le identità e i gruppi. Controlla che i valori riportati "
+#~ "corrispondano alle impostaioni del tuo DIT."
 
-#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
-msgid "Password error"
-msgstr "La password spira il"
+#~ msgid ""
+#~ "GOsa has modular support for several mail methods. These methods provide "
+#~ "interfaces to users mailboxes and general handling    for quotas. You can "
+#~ "choose the dummy plugin to leave all your mail settings untouched."
+#~ msgstr ""
+#~ "GOsa supporta numerosi metodi per amministrare la posta. Questi metodi "
+#~ "possiedono interfacce per impostare opzioni come ad esempio la quota. "
+#~ "Puoi impostare il metodo 'dummy' per mantenere tutte le impostazioni."
 
-#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
-msgid "Provided passwords do not match!"
-msgstr "Le password nuova e ripetuta non corrispondono"
+#~ msgid "Enable primary group filter"
+#~ msgstr "Mostra gruppi di utenti"
 
-#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
-msgid "Specify a valid user ID!"
-msgstr "Prego inserire un numero di telefono valido!"
+#~ msgid "Display summary in listings"
+#~ msgstr "Mosra gruppi corrispondenti a"
 
-#: setup/class_setupStep_Migrate.inc:1201
-#, php-format
-msgid "Adding an administrative user failed: object '%s' already exists!"
-msgstr ""
+#, fuzzy
+#~ msgid "Honour administrative units"
+#~ msgstr "Amministrazione dei gruppi di utenti"
 
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
 #, fuzzy
-msgid "Cannot move users to the requested department!"
-msgstr "Mostra utenti del dipartimento"
+#~ msgid "Path for PPD storage"
+#~ msgstr "Algorimo password"
 
-#: setup/class_setupStep_Migrate.inc:1250
-msgid "Winstation will be moved from"
-msgstr ""
+#, fuzzy
+#~ msgid "Mail queue script"
+#~ msgstr "Script path"
 
-#: setup/class_setupStep_Migrate.inc:1261
-#: setup/class_setupStep_Migrate.inc:1310
-msgid "Updating following references too"
-msgstr ""
+#, fuzzy
+#~ msgid "Notification script"
+#~ msgstr "Non ci sono certificati installati"
 
-#: setup/class_setupStep_Migrate.inc:1300
-msgid "Group will be moved from"
-msgstr ""
+#, fuzzy
+#~ msgid "Remember dialog filter settings"
+#~ msgstr "Impostazioni generali delle code"
 
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "User will be moved from"
-msgstr ""
+#, fuzzy
+#~ msgid "Session lifetime"
+#~ msgstr "Rilevato un conflitto di sessione"
 
-#: setup/class_setupStep_Migrate.inc:1358
-msgid "The following references will be updated"
-msgstr ""
+#, fuzzy
+#~ msgid "Show PHP errors"
+#~ msgstr "Errore PHP"
 
-#: setup/class_setupStep_Migrate.inc:1991
-msgid ""
-"The LDAP root object is missing. It is required to use your LDAP service."
-msgstr ""
+#, fuzzy
+#~ msgid "Maximum LDAP query time"
+#~ msgstr "Inoltra i messaggi a"
 
-#: setup/class_setupStep_Migrate.inc:1992
-#: setup/class_setupStep_Migrate.inc:2005
 #, fuzzy
-msgid "Try to create root object"
-msgstr "Gruppo di oggetti"
+#~ msgid "Debug level"
+#~ msgstr "Rimuovi"
 
-#: setup/class_setupStep_Migrate.inc:2004
-msgid "Root object couldn't be created, you should try it on your own."
-msgstr ""
+#, fuzzy
+#~ msgid "Disabled"
+#~ msgstr "disabilitato"
 
-#: setup/class_setupStep_Migrate.inc:2059
-#, fuzzy, php-format
-msgid "Missing GOsa object class '%s'!"
-msgstr "Lista dei dipartimenti"
+#, fuzzy
+#~ msgid "Move selected workstations"
+#~ msgstr "Selezione le workstation da aggiungere"
 
-#: setup/class_setupStep_Migrate.inc:2060
-msgid "Please check your installation."
-msgstr ""
+#, fuzzy
+#~ msgid "Hide changes"
+#~ msgstr "Open-Xchange"
 
-#: setup/class_setupStep_Migrate.inc:2081
-#, php-format
-msgid ""
-"Cannot handle the structural object type of your root object. Please try to "
-"add the object class '%s' manually."
-msgstr ""
+#, fuzzy
+#~ msgid "Show changes"
+#~ msgstr "Mostra telefoni"
 
-#: setup/class_setupStep_Migrate.inc:2440
-#, php-format
-msgid "Copy '%s' to '%s' failed:"
-msgstr ""
+#, fuzzy
+#~ msgid "Move selected users into this people tree"
+#~ msgstr "Nuovo template"
 
-#: setup/class_setupStep_Migrate.inc:2575
-#, php-format
-msgid "There are %s devices that need to be migrated."
-msgstr ""
+#, fuzzy
+#~ msgid "Migrate GOsa 2.5 administrative accounts"
+#~ msgstr "Crea estensioni di posta"
 
-#: setup/class_setupStep_Migrate.inc:2635
-#, php-format
-msgid "Adding '%s' to the LDAP failed: %s"
-msgstr ""
+#, fuzzy
+#~ msgid "Refresh"
+#~ msgstr "Riferimenti"
 
-#: setup/class_setupStep_Migrate.inc:2655
-#: setup/class_setupStep_Migrate.inc:2772
-#, fuzzy, php-format
-msgid "Updating '%s' failed: %s"
-msgstr "Utenti di Dominio"
+#, fuzzy
+#~ msgid "Installation"
+#~ msgstr "Amministrazione"
 
-#: setup/class_setupStep_Migrate.inc:2728
-#, php-format
-msgid "There are %s services that need to be migrated."
-msgstr ""
+#, fuzzy
+#~ msgid "GOsa settings 1/3"
+#~ msgstr "Opzioni di posta dell'identità"
 
-#: setup/class_setupStep_Migrate.inc:3059
-#, php-format
-msgid "There are %s application menus which have to be migrated."
-msgstr ""
+#~ msgid "People storage ou"
+#~ msgstr "Ou delle persone"
 
-#: setup/setup_welcome.tpl:4
-msgid ""
-"This seems to be the first time you start GOsa - we didn't find any "
-"configuration right now. This simple wizard intends to help you while "
-"setting it up."
-msgstr ""
+#~ msgid "Group storage ou"
+#~ msgstr "Ou dei gruppi"
 
-#: setup/setup_welcome.tpl:8
-msgid "What will the wizard do for you?"
-msgstr ""
+#, fuzzy
+#~ msgid "Login screen"
+#~ msgstr "Utenti di Dominio"
 
-#: setup/setup_welcome.tpl:11
 #, fuzzy
-msgid "Create a basic, single site configuration"
-msgstr "Scarica il file di  configurazione"
+#~ msgid ""
+#~ "Please use your username and your password to log into the site "
+#~ "administration system."
+#~ msgstr "Usa il tuo <i>nome utente</i> e <i>password</i> per connetterti"
 
-#: setup/setup_welcome.tpl:12
-msgid "Tries to find problems within your PHP and LDAP setup"
-msgstr ""
+#~ msgid "Sign in"
+#~ msgstr "Entra"
 
-#: setup/setup_welcome.tpl:13
-msgid "Let you choose from a set of basic and advanced configuration switches"
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "Quindi - Se sei sicuro - premi <i>Rimuovi</i> per continuare o "
+#~ "<i>Annulla</i> per abortire."
 
-#: setup/setup_welcome.tpl:14
-msgid "Guided migration of existing LDAP trees"
-msgstr ""
+#~ msgid "Help"
+#~ msgstr "Aiuto"
 
-#: setup/setup_welcome.tpl:17
-msgid "What will the wizard NOT do for you?"
-msgstr ""
+#~ msgid "Sign out"
+#~ msgstr "Termina la sessione"
+
+#~ msgid "Signed in:"
+#~ msgstr "Connesso:"
 
-#: setup/setup_welcome.tpl:20
 #, fuzzy
-msgid "Find every possible configuration error"
-msgstr "File di configurazione"
+#~ msgid "Success"
+#~ msgstr "Setup completato"
 
-#: setup/setup_welcome.tpl:21
-msgid "Migrate every possible LDAP setup - create backup dumps!"
-msgstr ""
+#, fuzzy
+#~ msgid "New password repeated"
+#~ msgstr "Nuova password"
 
-#: setup/setup_welcome.tpl:25
 #, fuzzy
-msgid "To continue..."
-msgstr "Configurazione continua..."
+#~ msgid "Change"
+#~ msgstr "Annulla"
 
-#: setup/setup_welcome.tpl:28
-msgid ""
-"For security reasons you need to authenticate for the installation by "
-"creating the file '/tmp/gosa.auth', containing the current session ID on the "
-"servers local filesystem. This can be done by executing the following "
-"command:"
-msgstr ""
+#~ msgid "UNIX"
+#~ msgstr "Unix"
 
-#: setup/setup_welcome.tpl:34
-msgid "Click the 'Continue' button when you've finished."
-msgstr ""
+#~ msgid "FTP"
+#~ msgstr "FTP"
 
-#: setup/setup_license.tpl:8
-msgid "I have read the license and accept it"
-msgstr ""
+#~ msgid "Object name"
+#~ msgstr "Nome dell'oggetto"
+
+#~ msgid "This object has no relationship to other objects."
+#~ msgstr "Questo oggetto non ha relazioni con altri oggetti."
+
+#~ msgid ""
+#~ "Changing the password affects your authentification on mail, proxy, samba "
+#~ "and unix services."
+#~ msgstr ""
+#~ "Cambiare la passord influisce sull'autenticazione su posta, proxu "
+#~ "Internet, Samba e Unix."
 
-#: setup/class_setupStep_Config3.inc:81 setup/class_setupStep_Config3.inc:82
 #, fuzzy
-msgid "GOsa settings 3/3"
-msgstr "Opzioni di posta dell'identità"
+#~ msgid "User identification"
+#~ msgstr "Amministrazione utenti"
 
-#: setup/class_setupStep_Config3.inc:83
-msgid "Tweak some GOsa core behaviour"
-msgstr ""
+#~ msgid "Personal picture"
+#~ msgstr "Foto personale"
 
-#: setup/class_setupStep_Config3.inc:212
-msgid "Session lifetime must be a numeric value!"
-msgstr ""
+#, fuzzy
+#~ msgid "In all groups"
+#~ msgstr "Gruppo primario"
 
-#: setup/class_setupStep_Config3.inc:216
 #, fuzzy
-msgid "Maximum LDAP query time must be a numeric value!"
-msgstr "Inoltra i messaggi a"
+#~ msgid "Not in all groups"
+#~ msgstr "Mostra gruppi di posta"
 
-#: setup/setup_checks.tpl:9
-msgid "PHP module and extension checks"
-msgstr ""
+#, fuzzy
+#~ msgid "All categories"
+#~ msgstr "Aggiungi contatto"
 
-#: setup/setup_checks.tpl:41 setup/setup_checks.tpl:103
-msgid "GOsa will NOT run without fixing this."
-msgstr ""
+#~ msgid "Startup"
+#~ msgstr "Avvio"
+
+#, fuzzy
+#~ msgid "Cannot bind to LDAP. Please contact the system administrator."
+#~ msgstr ""
+#~ "Errore di connessione al server LDAP. Contatta l'amministratore del "
+#~ "sistema."
 
-#: setup/setup_checks.tpl:45 setup/setup_checks.tpl:107
-msgid "GOsa will run without fixing this."
-msgstr ""
+#, fuzzy
+#~ msgid "Password reset"
+#~ msgstr "La password spira il"
 
-#: setup/setup_checks.tpl:67
 #, fuzzy
-msgid "PHP setup configuration"
-msgstr "Scarica il file di  configurazione"
+#~ msgid "Down"
+#~ msgstr "Dominio"
 
-#: setup/setup_checks.tpl:67
 #, fuzzy
-msgid "show information"
-msgstr "Informazioni personali"
+#~ msgid "Select to list objects of type '%s'."
+#~ msgstr "Gruppo di oggetti"
 
-#: setup/setup_schema.tpl:3
 #, fuzzy
-msgid "Schema specific settings"
-msgstr "Impostazioni Samba"
+#~ msgid "Select to list objects containig '%s'."
+#~ msgstr "Mostra gruppi che contengono utenti"
 
-#: setup/setup_schema.tpl:7
-msgid "Enable schema validation when logging in"
-msgstr ""
+#, fuzzy
+#~ msgid "Select to list objects that have '%s' enabled"
+#~ msgstr "Gruppo di oggetti"
 
-#: setup/setup_schema.tpl:16
 #, fuzzy
-msgid "Check status"
-msgstr "Stato"
+#~ msgid "Select to search within subtrees"
+#~ msgstr "Seleziona per mostrare le applicazioni"
 
-#: setup/setup_schema.tpl:20
-msgid "Schema check succeeded"
-msgstr ""
+#, fuzzy
+#~ msgid "in"
+#~ msgstr "Principale"
 
-#: setup/setup_schema.tpl:23
 #, fuzzy
-msgid "Schema check failed"
-msgstr "Server"
+#~ msgid "on line"
+#~ msgstr "Continua"
 
-#: setup/setup_schema.tpl:31
-msgid ""
-"Could not read any schema informations, all checks skipped. Adjust your ldap "
-"acls."
-msgstr ""
+#, fuzzy
+#~ msgid "Role: %s"
+#~ msgstr "Ruolo"
 
-#: setup/setup_schema.tpl:35
-msgid ""
-"It seems that your ldap database wasn't initialized yet. This maybe the "
-"reason, why GOsa can't read your schema configuration!"
-msgstr ""
+#~ msgid "Go up one department"
+#~ msgstr "Sali di dipartimento"
 
-#: setup/setup_config1.tpl:2
-msgid "Look and feel"
-msgstr ""
+#~ msgid "Go to users department"
+#~ msgstr "Vai agli utenti del dipartimento"
 
-#: setup/setup_config1.tpl:6
 #, fuzzy
-msgid "Theme"
-msgstr "Cellulare"
+#~ msgid "Remove snapshot"
+#~ msgstr "Crea estensioni di posta"
 
-#: setup/setup_config1.tpl:15
 #, fuzzy
-msgid "Apache"
-msgstr "Annulla"
+#~ msgid "All objects in this category"
+#~ msgstr "Nome descrittivo del gruppo"
 
-#: setup/setup_config1.tpl:19
-msgid "Compress output send to browser"
-msgstr ""
+#, fuzzy
+#~ msgid "from"
+#~ msgstr "e"
 
-#: setup/setup_config1.tpl:27
 #, fuzzy
-msgid "People and group storage"
-msgstr "Ou delle persone"
+#~ msgid "Restore"
+#~ msgstr "Riprova"
 
-#: setup/setup_config1.tpl:30
 #, fuzzy
-msgid "People DN attribute"
-msgstr "Attributo DN delle persone"
+#~ msgid "cut"
+#~ msgstr "Esegui"
 
-#: setup/setup_config1.tpl:41
 #, fuzzy
-msgid "People storage subtree"
-msgstr "Ou delle persone"
+#~ msgid "Old password"
+#~ msgstr "Password"
 
-#: setup/setup_config1.tpl:50
 #, fuzzy
-msgid "Group storage subtree"
-msgstr "Ou dei gruppi"
+#~ msgid "Verify password"
+#~ msgstr "Password"
 
-#: setup/setup_config1.tpl:59
-msgid "Include personal title in user DN"
-msgstr ""
+#~ msgid "Session conflict detected"
+#~ msgstr "Rilevato un conflitto di sessione"
 
-#: setup/setup_config1.tpl:70
-msgid "Relaxed naming policies"
-msgstr ""
+#~ msgid "External password changer reported a problem: "
+#~ msgstr "Il programma esterno per cambiare la password ha avuto un problema:"
 
-#: setup/setup_config1.tpl:81
 #, fuzzy
-msgid "Automatic UIDs"
-msgstr "automatico"
+#~ msgid "Show department"
+#~ msgstr "Mostra dipartimenti"
 
-#: setup/setup_config1.tpl:97 setup/class_setupStep_Config1.inc:118
-msgid "GID / UID min id"
-msgstr ""
-
-#: setup/setup_config1.tpl:113
 #, fuzzy
-msgid "Number base for people/groups"
-msgstr "UID di base per utenti/gruppi"
-
-#: setup/setup_config1.tpl:121
-msgid "Hook for number base"
-msgstr ""
+#~ msgid "Show groups"
+#~ msgstr "Mostra gruppi samba"
 
-#: setup/setup_config1.tpl:140
 #, fuzzy
-msgid "Password encryption algorithm"
-msgstr "Algoritmo di criptaggio"
+#~ msgid "Show server"
+#~ msgstr "Mostra server"
 
-#: setup/setup_config1.tpl:151
 #, fuzzy
-msgid "Password restrictions"
-msgstr "La password spira il"
-
-#: setup/setup_config1.tpl:158 setup/setup_config1.tpl:162
-msgid "Password minimum length"
-msgstr ""
+#~ msgid "Show workstation"
+#~ msgstr "Mostra workstation"
 
-#: setup/setup_config1.tpl:169 setup/setup_config1.tpl:173
-msgid "Different characters from old password"
-msgstr ""
+#, fuzzy
+#~ msgid "Show terminal"
+#~ msgstr "Mostra terminali"
 
-#: setup/setup_config1.tpl:182
 #, fuzzy
-msgid "Password change hook"
-msgstr "Cambia la password"
+#~ msgid "Show printer"
+#~ msgstr "Mostra stampanti"
 
-#: setup/setup_config1.tpl:198
-msgid "Use SASL for kerberos"
-msgstr ""
+#, fuzzy
+#~ msgid "Show phone"
+#~ msgstr "Mostra telefoni"
 
-#: setup/setup_config1.tpl:209
 #, fuzzy
-msgid "Use account expiration"
-msgstr "L'account spira dopo"
+#~ msgid "Filter options"
+#~ msgstr "Applicazioni disponibili"
 
-#: setup/setup_config1.tpl:221
-msgid ""
-"GOsa supports several encryption types for your passwords. Normally this is "
-"adjustable via user templates, but you can specify a default method to be "
-"used here, too."
-msgstr ""
-"GOsa supporta numerosi algoritmi di criptaggio per le password. Imposta "
-"quello di default."
+#, fuzzy
+#~ msgid "Manage object groups"
+#~ msgstr "Nome del gruppo"
 
-#: setup/setup_config1.tpl:222
 #, fuzzy
-msgid ""
-"GOsa always acts as admin and manages access rights internally. This is a "
-"workaround till OpenLDAP's in directory ACI's are    fully implemented. For "
-"this to work, we need the admin DN and the corresponding password."
-msgstr ""
-"GOsa agisce sul DIT tramite l'utente di amministrazione e possiede uno "
-"schema di permessi interno. Questo è un workaround finché non sarà "
-"completato il supportp per le ACL all'interno del DIT in OpenLDAP."
+#~ msgid "nested groups"
+#~ msgstr "Gruppi di oggetti"
 
-#: setup/setup_config1.tpl:223
-msgid ""
-"Some basic LDAP parameters are tunable and affect the locations where GOsa "
-"saves people and groups, including the way accounts get created. Check the "
-"values below if the fit your needs."
-msgstr ""
-"Alcuni parametri di LDAP sono selezionabili e influenzano il posto in cui "
-"GOsa salva le identità e i gruppi. Controlla che i valori riportati "
-"corrispondano alle impostaioni del tuo DIT."
+#, fuzzy
+#~ msgid "application groups"
+#~ msgstr "Mostra gruppi di applicazioni"
 
-#: setup/setup_config1.tpl:224
 #, fuzzy
-msgid ""
-"GOsa has modular support for several mail methods. These methods provide "
-"interfaces to users mailboxes and general handling    for quotas. You can "
-"choose the dummy plugin to leave all your mail settings untouched."
-msgstr ""
-"GOsa supporta numerosi metodi per amministrare la posta. Questi metodi "
-"possiedono interfacce per impostare opzioni come ad esempio la quota. Puoi "
-"impostare il metodo 'dummy' per mantenere tutte le impostazioni."
+#~ msgid "department groups"
+#~ msgstr "dipartimenti"
 
-#: setup/class_setupStep_Schema.inc:42 setup/class_setupStep_Schema.inc:43
 #, fuzzy
-msgid "LDAP schema check"
-msgstr "Server"
+#~ msgid "server groups"
+#~ msgstr "server"
 
-#: setup/class_setupStep_Schema.inc:44
-msgid "Perform test on your current LDAP schema"
-msgstr ""
+#, fuzzy
+#~ msgid "workstation groups"
+#~ msgstr "Mostra workstation"
 
-#: setup/class_setupStep_Welcome.inc:38
 #, fuzzy
-msgid "Welcome"
-msgstr "Benvenuto %s!"
+#~ msgid "terminal groups"
+#~ msgstr "Mostra gruppi di posta"
 
-#: setup/class_setupStep_Welcome.inc:39
 #, fuzzy
-msgid "The welcome message"
-msgstr "Elimina questo record"
+#~ msgid "printer groups"
+#~ msgstr "Gruppo primario"
 
-#: setup/class_setupStep_Welcome.inc:40
 #, fuzzy
-msgid "Welcome to GOsa setup wizard"
-msgstr "Benvenuto nel setup di GOsa!"
+#~ msgid "phone groups"
+#~ msgstr "Mostra gruppi"
 
-#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
-msgid "License"
-msgstr ""
+#~ msgid "Filters"
+#~ msgstr "Filtri"
 
-#: setup/class_setupStep_License.inc:58
-msgid "Terms and conditions for usage"
-msgstr ""
+#~ msgid "Choose the department the search will be based on"
+#~ msgstr "Scegli il dipartimento di base per la ricerca"
 
-#: setup/setup_language.tpl:3
-#, fuzzy
-msgid "Please select the preferred language"
-msgstr "Lingua preferita"
+#~ msgid "Select systems to add"
+#~ msgstr "Seleziona un sistema da aggiungere"
 
-#: setup/setup_language.tpl:5
-msgid ""
-"At this point, you can select the site wide default language. Choosing "
-"'automatic' will use the language requested by the browser. This setting can "
-"be overriden per user."
-msgstr ""
+#~ msgid "Display systems of department"
+#~ msgstr "Mostra i sistemi del dipartimento"
 
-#: setup/setup_language.tpl:9
-#, fuzzy
-msgid "Please select your preferred language here"
-msgstr "Lingua preferita"
+#~ msgid "Display systems matching"
+#~ msgstr "Mostra i sistemi che corrispondono a:"
+
+#~ msgid "Regular expression for matching addresses"
+#~ msgstr "Espressione regolare per selezionare l'indirizzo"
+
+#~ msgid "Show samba groups"
+#~ msgstr "Mostra gruppi samba"
 
-#: setup/class_setupStep_Config1.inc:74 setup/class_setupStep_Config1.inc:75
 #, fuzzy
-msgid "GOsa settings 1/3"
-msgstr "Opzioni di posta dell'identità"
+#~ msgid "Show mail groups"
+#~ msgstr "Mostra gruppi samba"
+
+#~ msgid "Group administration"
+#~ msgstr "Amministrazione dei gruppi di utenti"
 
-#: setup/class_setupStep_Config1.inc:76
 #, fuzzy
-msgid "GOsa generic settings"
-msgstr "Impostazioni generali delle code"
+#~ msgid "Manage users"
+#~ msgstr "Utenti di Dominio"
 
-#: setup/class_setupStep_Config1.inc:118
-#, php-format
-msgid "The specified value for '%s' must be a numeric value"
-msgstr ""
+#~ msgid "List of departments"
+#~ msgstr "Lista dei dipartimenti"
 
-#: setup/class_setupStep_Config1.inc:122 setup/class_setupStep_Config1.inc:126
-#, php-format
-msgid "Don't add a trailing comma to '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Manage Departments"
+#~ msgstr "Dipartimenti"
 
-#: setup/class_setupStep_Config1.inc:122
-msgid "People storage ou"
-msgstr "Ou delle persone"
+#, fuzzy
+#~ msgid "Show access control lists"
+#~ msgstr "Opzioni di accesso"
 
-#: setup/class_setupStep_Config1.inc:126
-msgid "Group storage ou"
-msgstr "Ou dei gruppi"
+#, fuzzy
+#~ msgid "Show roles"
+#~ msgstr "Mostra telefoni"
 
-#: setup/class_setupStep_Config1.inc:130
-msgid "Uid base must be numeric"
-msgstr ""
+#~ msgid "Show servers"
+#~ msgstr "Mostra server"
 
-#: setup/class_setupStep_Config1.inc:134
-msgid "The given password minimum length is not numeric."
-msgstr ""
+#~ msgid "Show workstations"
+#~ msgstr "Mostra workstation"
 
-#: setup/class_setupStep_Config1.inc:137
-msgid "The given password differ value is not numeric."
-msgstr ""
+#~ msgid "Show terminals"
+#~ msgstr "Mostra terminali"
 
-#: setup/class_setupStep_Config2.inc:80 setup/class_setupStep_Config2.inc:81
 #, fuzzy
-msgid "GOsa settings 2/3"
-msgstr "Opzioni di posta dell'identità"
+#~ msgid "List navigation"
+#~ msgstr "Amministrazione"
 
-#: setup/class_setupStep_Config2.inc:82
 #, fuzzy
-msgid "Customize special parameters"
-msgstr "Parametro"
+#~ msgid "Group selection filter"
+#~ msgstr "Impostazioni FAX"
 
-#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
 #, fuzzy
-msgid "Language setup"
-msgstr "Lingua"
+#~ msgid "Posix extension settings"
+#~ msgstr "Impostazioni Unix"
 
-#: setup/class_setupStep_Language.inc:42
 #, fuzzy
-msgid "This step allows you to select your preferred language."
-msgstr "Lingua preferita"
+#~ msgid "Account accessibility"
+#~ msgstr "File di configurazione"
+
+#~ msgid "Go to root department"
+#~ msgstr "Vai al dipartimento base"
+
+#~ msgid "Home"
+#~ msgstr "Home"
 
-#: setup/class_setupStep_Language.inc:47
 #, fuzzy
-msgid "Automatic"
-msgstr "automatico"
+#~ msgid ""
+#~ "This is the GOsa main menu. You can select your tasks from the menu on "
+#~ "the left, or by choosing one of the pictograms below. All changes apply "
+#~ "directly to your companies LDAP server."
+#~ msgstr ""
+#~ "Questa è la schermata principale di GOsa. Puoi selezionare le attività "
+#~ "tramite il menù sulla sinitra o cliccando slle icone qui sotto. Tutti i "
+#~ "cambiamenti sono applicati immediatamente al server LDAP."
+
+#~ msgid ""
+#~ "Use 'Sign out' on the upper left to close the connection and 'Main' to "
+#~ "get back to the pictogram view."
+#~ msgstr ""
+#~ "Usa <b>Termina la sessione</b> in alto a sinistra per uscire e "
+#~ "<b>Principale</b> per tornare alla schermata principale."
 
 #, fuzzy
-#~ msgid "Group submenu menu"
-#~ msgstr "Membri del gruppo"
+#~ msgid "Show functional users"
+#~ msgstr "Mostra utenti funzionali"
+
+#, fuzzy
+#~ msgid "Show Samba users"
+#~ msgstr "Mostra utenti di posta"
 
 #~ msgid "Choose subtree to place user in"
 #~ msgstr "Scegli il subtree per l'utente"
@@ -6845,21 +7994,29 @@ msgstr "automatico"
 #~ msgid "Select a base"
 #~ msgstr "Rimuovi"
 
-#, fuzzy
-#~ msgid "You have no permission to set your password!"
-#~ msgstr "Non hai il permesso di cambiare la tua password."
+#~ msgid "Generic user information"
+#~ msgstr "Informazioni generali"
 
-#~ msgid ""
-#~ "You have changed the method your password is stored in the ldap database. "
-#~ "For that reason you've to enter your password at this point again. GOsa "
-#~ "will then encode it with the selected method."
-#~ msgstr ""
-#~ "Hai modificato il metodo con cui la tua password è immagazzinata nel "
-#~ "database LDAP. Per questo motivo devi inserire nuovamnete la tua password."
+#~ msgid "Account"
+#~ msgstr "Sicurezza"
 
-#, fuzzy
-#~ msgid "Password change not allowed"
-#~ msgstr "Cambia la password"
+#~ msgid "Select groups to add"
+#~ msgstr "Seleziona un gruppo da aggiungere"
+
+#~ msgid "Display groups of department"
+#~ msgstr "Mostra gruppi di dipartimenti"
+
+#~ msgid "Display groups matching"
+#~ msgstr "Mosra gruppi corrispondenti a"
+
+#~ msgid "Regular expression for matching group names"
+#~ msgstr "Espressioni regolare per selezionare il nome del gruppo"
+
+#~ msgid "Display groups of user"
+#~ msgstr "Mostra gruppi di utenti"
+
+#~ msgid "User name of which groups are shown"
+#~ msgstr "Nome dell'utente del quale mostrare i gruppi"
 
 #, fuzzy
 #~ msgid "Choose a base"
@@ -6890,10 +8047,6 @@ msgstr "automatico"
 #~ msgstr "Mostra utenti che corrispondono a"
 
 #, fuzzy
-#~ msgid "List of systems"
-#~ msgstr "Lista degli utenti"
-
-#, fuzzy
 #~ msgid "givenname"
 #~ msgstr "Nome"
 
@@ -6910,10 +8063,6 @@ msgstr "automatico"
 #~ msgstr "Lista dei gruppi"
 
 #, fuzzy
-#~ msgid "Use"
-#~ msgstr "Utenti"
-
-#, fuzzy
 #~ msgid "Filter entries with this syntax"
 #~ msgstr "Mostra gli indirizzi che corrispondono"
 
@@ -6978,10 +8127,6 @@ msgstr "automatico"
 #~ msgstr "Mostra gruppi funzionali"
 
 #, fuzzy
-#~ msgid "Not allowed"
-#~ msgstr "Cambia la password"
-
-#, fuzzy
 #~ msgid "Number of listed groups"
 #~ msgstr "Nome del gruppo"
 
@@ -6997,10 +8142,6 @@ msgstr "automatico"
 #~ msgstr "Template"
 
 #, fuzzy
-#~ msgid "GOsa object"
-#~ msgstr "Oggetto"
-
-#, fuzzy
 #~ msgid "functional users"
 #~ msgstr "Mostra utenti funzionali"
 
@@ -7033,10 +8174,6 @@ msgstr "automatico"
 #~ msgstr "Nuovo template"
 
 #, fuzzy
-#~ msgid "user"
-#~ msgstr "utenti"
-
-#, fuzzy
 #~ msgid "password"
 #~ msgstr "Password"
 
@@ -7061,10 +8198,6 @@ msgstr "automatico"
 #~ msgstr "Sali di dipartimento"
 
 #, fuzzy
-#~ msgid "ACL role"
-#~ msgstr "ACL"
-
-#, fuzzy
 #~ msgid "Display acls matching"
 #~ msgstr "Mosra gruppi corrispondenti a"
 
@@ -7101,10 +8234,6 @@ msgstr "automatico"
 #~ msgstr "Elimina foto"
 
 #, fuzzy
-#~ msgid "Enable DHCP extension"
-#~ msgstr "Elimina foto"
-
-#, fuzzy
 #~ msgid "Enable mime type management"
 #~ msgstr "Riferimenti"
 
@@ -7144,16 +8273,9 @@ msgstr "automatico"
 #~ msgid "Role name"
 #~ msgstr "Cognome"
 
-#, fuzzy
-#~ msgid "Role description"
-#~ msgstr "Descrizoione unità"
-
 #~ msgid "Terminals"
 #~ msgstr "Terminali"
 
-#~ msgid "Action"
-#~ msgstr "Azione"
-
 #, fuzzy
 #~ msgid "Select this base"
 #~ msgstr "Rimuovi"
@@ -7163,18 +8285,10 @@ msgstr "automatico"
 #~ msgstr "Aggiungi"
 
 #, fuzzy
-#~ msgid "remove"
-#~ msgstr "Rimuovi"
-
-#, fuzzy
 #~ msgid "department"
 #~ msgstr "dipartimenti"
 
 #, fuzzy
-#~ msgid "Delete acl role"
-#~ msgstr "Rimuovi"
-
-#, fuzzy
 #~ msgid "Steps"
 #~ msgstr "Sistemi"
 
@@ -7199,18 +8313,10 @@ msgstr "automatico"
 #~ msgstr "Rimuovi"
 
 #, fuzzy
-#~ msgid "User successfully removed."
-#~ msgstr "Setup completato"
-
-#, fuzzy
 #~ msgid "Heimdal options"
 #~ msgstr "Opzioni di posta"
 
 #, fuzzy
-#~ msgid "Hour"
-#~ msgstr "ora"
-
-#, fuzzy
 #~ msgid "Day"
 #~ msgstr "giorno"
 
@@ -7223,6 +8329,10 @@ msgstr "automatico"
 #~ msgstr "Cerca"
 
 #, fuzzy
+#~ msgid "Password end"
+#~ msgstr "Password"
+
+#, fuzzy
 #~ msgid "Missing parameters!"
 #~ msgstr "Nome applicazione"
 
@@ -7251,9 +8361,6 @@ msgstr "automatico"
 #~ msgid "Display name"
 #~ msgstr "Mostra il nome"
 
-#~ msgid "Home phone"
-#~ msgstr "Telefono privato"
-
 #~ msgid "Initials"
 #~ msgstr "Iniziali"
 
@@ -7281,12 +8388,6 @@ msgstr "automatico"
 #~ msgid "Email address"
 #~ msgstr "Indirizzo principale"
 
-#~ msgid "Organizational unit"
-#~ msgstr "Unità del'organizzazione"
-
-#~ msgid "Postal Code"
-#~ msgstr "CAP"
-
 #~ msgid "Title"
 #~ msgstr "Titolo"
 
@@ -7297,9 +8398,6 @@ msgstr "automatico"
 #~ msgid "You have no permission to do LDAP exports!"
 #~ msgstr "Non hai il permesso di cambiare la tua password."
 
-#~ msgid "Could not connect to database server!"
-#~ msgstr "Impossibile connettersi al server del database!"
-
 #~ msgid "Could not select database!"
 #~ msgstr "Impossibile selezionare il database!"
 
@@ -7347,18 +8445,10 @@ msgstr "automatico"
 #~ msgstr "invalido"
 
 #, fuzzy
-#~ msgid "Command"
-#~ msgstr "e"
-
-#, fuzzy
 #~ msgid "Run as user"
 #~ msgstr "Utenti di Dominio"
 
 #, fuzzy
-#~ msgid "Available options"
-#~ msgstr "Applicazioni disponibili"
-
-#, fuzzy
 #~ msgid "Sudo role administration"
 #~ msgstr "Amministrazione dei gruppi di utenti"
 
@@ -7511,10 +8601,6 @@ msgstr "automatico"
 #~ msgstr "Mostra gruppi che contengono utenti"
 
 #, fuzzy
-#~ msgid "server"
-#~ msgstr "server"
-
-#, fuzzy
 #~ msgid "Show %s user"
 #~ msgstr "Mostra utenti Samba"
 
@@ -7577,10 +8663,6 @@ msgstr "automatico"
 #~ msgstr "Seleziona per mostrare le applicazioni"
 
 #, fuzzy
-#~ msgid "Password change failed."
-#~ msgstr "Cambia la password"
-
-#, fuzzy
 #~ msgid "User delete"
 #~ msgstr "elimina"
 
@@ -7604,10 +8686,6 @@ msgstr "automatico"
 #~ msgstr "Non hai il permesso di cambiare la tua password."
 
 #, fuzzy
-#~ msgid "Accessibility"
-#~ msgstr "File di configurazione"
-
-#, fuzzy
 #~ msgid "Configuration warning"
 #~ msgstr "File di configurazione"
 
@@ -7751,10 +8829,6 @@ msgstr "automatico"
 #~ msgstr "Non hai il permesso di cambiare la tua password."
 
 #, fuzzy
-#~ msgid "You're about to delete the acl %s."
-#~ msgstr "Non hai il permesso di cambiare la tua password."
-
-#, fuzzy
 #~ msgid "You have no permission to delete this entry!"
 #~ msgstr "Non hai il permesso di cambiare la tua password."
 
@@ -7771,10 +8845,6 @@ msgstr "automatico"
 #~ msgstr "Non hai il permesso di cambiare la tua password."
 
 #, fuzzy
-#~ msgid "Name of object groups"
-#~ msgstr "Nome del gruppo"
-
-#, fuzzy
 #~ msgid "Select to see groups containing groups"
 #~ msgstr "Mostra gruppi che contengono gruppi"
 
@@ -7849,10 +8919,6 @@ msgstr "automatico"
 #~ msgstr "Modifica"
 
 #, fuzzy
-#~ msgid "ACLs"
-#~ msgstr "ACL"
-
-#, fuzzy
 #~ msgid "Deactivated"
 #~ msgstr "Privato"
 
@@ -7873,10 +8939,6 @@ msgstr "automatico"
 #~ msgstr "Opzioni di accesso"
 
 #, fuzzy
-#~ msgid "Acl roles"
-#~ msgstr "Riferimenti"
-
-#, fuzzy
 #~ msgid "Removing a lock failed."
 #~ msgstr "Elimina estensioni per le applicazioni"
 
@@ -7964,10 +9026,6 @@ msgstr "automatico"
 #~ msgstr "Impostazioni Unix"
 
 #, fuzzy
-#~ msgid "Notifications"
-#~ msgstr "Località"
-
-#, fuzzy
 #~ msgid "Send user notifications"
 #~ msgstr "Amministrazione utenti"
 
@@ -7980,10 +9038,6 @@ msgstr "automatico"
 #~ msgstr "Rimuovi"
 
 #, fuzzy
-#~ msgid "Notification"
-#~ msgstr "Località"
-
-#, fuzzy
 #~ msgid "Notification plugin"
 #~ msgstr "Non ci sono certificati installati"
 
@@ -7995,10 +9049,6 @@ msgstr "automatico"
 #~ msgid "Notification target"
 #~ msgstr "Non ci sono certificati installati"
 
-#, fuzzy
-#~ msgid "Recipients"
-#~ msgstr "Descrizione"
-
 #~ msgid "Import"
 #~ msgstr "Importa"
 
@@ -8060,9 +9110,6 @@ msgstr "automatico"
 #~ msgid "Please enter a valid path in 'Home directory' field."
 #~ msgstr "Inserire un nome cartella valido per il campo 'Home directory'."
 
-#~ msgid "Value specified as 'UID' is not valid."
-#~ msgstr "Il valore specificato per l'UID non è valido."
-
 #~ msgid "Value specified as 'GID' is not valid."
 #~ msgstr "Il valore specificato per il GID non è valido."
 
@@ -8158,10 +9205,6 @@ msgstr "automatico"
 #~ msgstr "Applicazioni disponibili"
 
 #, fuzzy
-#~ msgid "Show object groups"
-#~ msgstr "Gruppi di oggetti"
-
-#, fuzzy
 #~ msgid "You are not allowed to delete this acl!"
 #~ msgstr "Non hai il permesso di cambiare la tua password."
 
@@ -8173,9 +9216,6 @@ msgstr "automatico"
 #~ msgid "Network resolv hook"
 #~ msgstr "Mostra dispositiva di rete"
 
-#~ msgid "Administration"
-#~ msgstr "Amministrazione"
-
 #~ msgid "Addons"
 #~ msgstr "Extra"
 
@@ -8196,12 +9236,6 @@ msgstr "automatico"
 #~ msgid "Nagios"
 #~ msgstr "Nagios"
 
-#~ msgid "Options"
-#~ msgstr "Opzioni"
-
-#~ msgid "Parameter"
-#~ msgstr "Parametro"
-
 #, fuzzy
 #~ msgid "Inventory"
 #~ msgstr "Aggiungi contatto"
diff --git a/gosa-core/locale/core/messages.po b/gosa-core/locale/core/messages.po
index e5b393b..abc9a22 100644
--- a/gosa-core/locale/core/messages.po
+++ b/gosa-core/locale/core/messages.po
@@ -8,6294 +8,6490 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-09 20:24+0200\n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ihtml/themes/default/remove.tpl:2 ihtml/themes/default/msg_dialog.tpl:59
-#: ihtml/themes/default/msg_dialog.tpl:106 ihtml/themes/default/islocked.tpl:6
-#: ihtml/themes/default/conflict.tpl:6 html/password.php:280 html/index.php:57
-#: html/index.php:63 html/index.php:406 html/index.php:412
-#: include/functions.inc:954 include/functions.inc:2686
-#: include/functions.inc:2690 include/functions.inc:2696
-#: include/class_tabs.inc:268 include/utils/class_xml.inc:37
-#: plugins/admin/ogroups/remove.tpl:2 plugins/admin/groups/remove.tpl:2
-#: plugins/admin/groups/class_group.inc:994 plugins/admin/users/remove.tpl:2
-#: plugins/admin/departments/remove.tpl:2
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#: plugins/admin/acl/remove.tpl:2
-#: plugins/personal/posix/class_posixAccount.inc:793
-#: plugins/personal/posix/class_posixAccount.inc:946
-#: setup/class_setupStep_Migrate.inc:261 setup/class_setupStep_Migrate.inc:313
-#: setup/class_setupStep_Migrate.inc:446 setup/class_setupStep_Migrate.inc:523
-#: setup/class_setupStep_Migrate.inc:661 setup/class_setupStep_Migrate.inc:804
-#: setup/class_setupStep_Migrate.inc:2573
-#: setup/class_setupStep_Migrate.inc:2726
-#: setup/class_setupStep_Migrate.inc:3058 setup/setup_checks.tpl:32
-#: setup/setup_checks.tpl:93
-msgid "Warning"
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
 msgstr ""
 
-#: ihtml/themes/default/remove.tpl:6
-msgid ""
-"This may be used by several groups. Please double check if your really want "
-"to do this since there is no way for GOsa to get your data back."
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
+msgid "Permission"
 msgstr ""
 
-#: ihtml/themes/default/remove.tpl:9 plugins/admin/ogroups/remove.tpl:10
-#: plugins/admin/groups/remove.tpl:10 plugins/admin/users/remove.tpl:10
-#: plugins/admin/acl/remove.tpl:10
-msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
+msgid "Permission error"
 msgstr ""
 
-#: ihtml/themes/default/remove.tpl:15
-#: ihtml/themes/default/copyPasteDialog.tpl:21
-#: ihtml/themes/default/acl.tpl:128 ihtml/themes/default/acl.tpl:142
-#: ihtml/themes/default/snapshotdialog.tpl:44
-#: ihtml/themes/default/snapshotdialog.tpl:89
-#: ihtml/themes/default/msg_dialog.tpl:79
-#: ihtml/themes/default/msg_dialog.tpl:139
-#: ihtml/themes/default/msg_dialog.tpl:144
-#: ihtml/themes/default/islocked.tpl:19 include/utils/class_msgPool.inc:312
-#: setup/setup_migrate.tpl:163 setup/setup_migrate.tpl:214
-#: setup/setup_migrate.tpl:261 setup/setup_migrate.tpl:326
-#: setup/setup_migrate.tpl:382 setup/setup_migrate.tpl:435
-#: setup/setup_migrate.tpl:480 setup/setup_migrate.tpl:523
-#: setup/setup_migrate.tpl:567 setup/setup_ldap.tpl:17
+#: include/class_management.inc:487
 #, php-format
-msgid "Cancel"
+msgid "You are not allowed to create a snapshot for %s!"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:10
-msgid "GOsa login screen"
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
+#, php-format
+msgid "Error"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:27
-msgid "Login screen"
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:34
-msgid ""
-"Please use your username and your password to log into the site "
-"administration system."
+#: include/class_management.inc:549
+#, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:42 ihtml/themes/default/login.tpl:44
-#: ihtml/themes/default/password.tpl:69 ihtml/themes/default/password.tpl:71
-msgid "Username"
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
+msgid "Internal error"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:47 ihtml/themes/default/login.tpl:49
-#: ihtml/themes/default/password.tpl:40
-#: plugins/personal/generic/paste_generic.tpl:20
-#: plugins/personal/password/class_password.inc:26 setup/setup_config2.tpl:237
-#: setup/setup_config2.tpl:282 setup/setup_migrate.tpl:299
-msgid "Password"
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
+msgid ""
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:52 ihtml/themes/default/login.tpl:53
-#: ihtml/themes/default/password.tpl:60 ihtml/themes/default/password.tpl:62
-msgid "Directory"
+#: include/class_management.inc:669
+#, php-format
+msgid ""
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:77 ihtml/themes/default/login.tpl:80
-msgid "Sign in"
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Configuration error"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:78
-msgid "Click here to log in"
+#: include/class_pluglist.inc:147
+msgid "The configuration format has changed: please run the setup again!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:1
-msgid "Copy & paste wizard"
+#: include/class_pluglist.inc:304
+msgid ""
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:7
-msgid ""
-"Some values need to be unique in the complete directory while some "
-"combinations make no sense. GOsa shows the relevant attributes. Please "
-"maintain the values below to fullfill the policies."
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
+msgid "Unknown"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:9
-msgid "Remember that some properties like taken snapshots will not be copied!"
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:10
-msgid ""
-"Or if you copy or cut an entry within GOsa and delete the source object, you "
-"may get errors while pasting this object again!"
+#: include/utils/class_msgPool.inc:19
+#, php-format
+msgid "This %s object will be deleted!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:330
+#: include/utils/class_msgPool.inc:24
 #, php-format
-msgid "Save"
+msgid "This object will be deleted: %s"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:24
-msgid "Cancel all"
+#: include/utils/class_msgPool.inc:26
+#, php-format
+msgid "This %s object will be deleted: %s"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:30
-msgid "Operation complete"
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:32
-#: setup/class_setupStep_Finish.inc:37
-msgid "Finish"
+#: include/utils/class_msgPool.inc:33
+#, php-format
+msgid "This %s object will be deleted:"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:3
-msgid ""
-"The size limit option makes LDAP operations faster and saves the LDAP server "
-"from getting too much load. The easiest way to handle big databases without "
-"long timeouts would be to limit your search to smaller values and use "
-"filters to get the entries you are looking for."
+#: include/utils/class_msgPool.inc:37
+#, php-format
+msgid "These objects will be deleted: %s"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:6
-msgid "Please choose the way to react for this session"
+#: include/utils/class_msgPool.inc:39
+#, php-format
+msgid "These %s objects will be deleted: %s"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:9
-msgid "ignore this error and show all entries the LDAP server returns"
+#: include/utils/class_msgPool.inc:47
+msgid "You have no permission to delete this object!"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:10
-msgid ""
-"ignore this error and show all entries that fit into the defined sizelimit "
-"and let me use filters instead"
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
+msgid "You have no permission to delete the object:"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
-#, php-format
-msgid "Set"
+#: include/utils/class_msgPool.inc:58
+msgid "You have no permission to delete these objects:"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
-msgid "Assigned ACL for current entry"
+#: include/utils/class_msgPool.inc:65
+msgid "You have no permission to create this object!"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:12 plugins/admin/acl/acl_role.tpl:38
-msgid "New ACL"
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
+msgid "You have no permission to create the object:"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:17 plugins/admin/acl/acl_role.tpl:44
-msgid "ACL type"
+#: include/utils/class_msgPool.inc:76
+msgid "You have no permission to create these objects:"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:19 ihtml/themes/default/acl.tpl:24
-#: plugins/admin/acl/acl_role.tpl:44
-msgid "Select an acl type"
+#: include/utils/class_msgPool.inc:83
+msgid "You have no permission to modify this object!"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:29 ihtml/themes/default/acl.tpl:52
-#: ihtml/themes/default/acl.tpl:125 ihtml/themes/default/acl.tpl:140
-#: include/utils/class_msgPool.inc:324 setup/setup_migrate.tpl:161
-#: setup/setup_migrate.tpl:212 setup/setup_migrate.tpl:260
-#: setup/setup_migrate.tpl:325 setup/setup_migrate.tpl:380
-#: setup/setup_migrate.tpl:433 setup/setup_migrate.tpl:478
-#: setup/setup_migrate.tpl:521 setup/setup_migrate.tpl:565
-#: setup/setup_ldap.tpl:16
-#, php-format
-msgid "Apply"
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
+msgid "You have no permission to modify the object:"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:36
-msgid "Additional filter options"
+#: include/utils/class_msgPool.inc:94
+msgid "You have no permission to modify these objects:"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:47
-msgid "Use members from"
+#: include/utils/class_msgPool.inc:101
+msgid "You have no permission to view this object!"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:61
-msgid "Available members"
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
+msgid "You have no permission to view the object:"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:63 ihtml/themes/default/acl.tpl:68
-msgid "List message possible targets"
+#: include/utils/class_msgPool.inc:112
+msgid "You have no permission to view these objects:"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:82 include/class_acl.inc:1090
-msgid "Members"
+#: include/utils/class_msgPool.inc:119
+msgid "You have no permission to move this object!"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:84 ihtml/themes/default/acl.tpl:90
-msgid "List message recipients"
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
+msgid "You have no permission to move the object:"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:104 plugins/admin/acl/acl_role.tpl:49
-msgid "List of available ACL categories"
+#: include/utils/class_msgPool.inc:130
+msgid "You have no permission to move these objects:"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:112
-msgid "ACL for this object"
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
+msgid "Connection information"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:118
-msgid "Available roles"
+#: include/utils/class_msgPool.inc:142
+#, php-format
+msgid "Cannot connect to %s database!"
 msgstr ""
 
-#: ihtml/themes/default/accountexpired.tpl:15
-msgid "Your password has expired. Please choose a new one!"
+#: include/utils/class_msgPool.inc:154
+#, php-format
+msgid "Cannot select %s database!"
 msgstr ""
 
-#: ihtml/themes/default/accountexpired.tpl:23
-#: ihtml/themes/default/accountexpired.tpl:27
-msgid "Old password"
+#: include/utils/class_msgPool.inc:160
+#, php-format
+msgid "No %s server defined!"
 msgstr ""
 
-#: ihtml/themes/default/accountexpired.tpl:32
-#: ihtml/themes/default/accountexpired.tpl:36
-#: ihtml/themes/default/password.tpl:82 ihtml/themes/default/password.tpl:83
-#: html/password.php:196 plugins/admin/users/password.tpl:17
-#: plugins/admin/users/password.tpl:53
-#: plugins/admin/users/class_userManagement.inc:319
-#: plugins/personal/generic/password.tpl:22
-#: plugins/personal/generic/password.tpl:65
-#: plugins/personal/password/password.tpl:27
-#: plugins/personal/password/password.tpl:70
-msgid "New password"
+#: include/utils/class_msgPool.inc:172
+#, php-format
+msgid "Cannot query %s database!"
 msgstr ""
 
-#: ihtml/themes/default/accountexpired.tpl:41
-#: ihtml/themes/default/accountexpired.tpl:45
-msgid "Verify password"
+#: include/utils/class_msgPool.inc:178
+#, php-format
+msgid "The field %s contains a reserved keyword!"
 msgstr ""
 
-#: ihtml/themes/default/accountexpired.tpl:51
-#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
-msgid "Change password"
+#: include/utils/class_msgPool.inc:184
+#, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
 msgstr ""
 
-#: ihtml/themes/default/accountexpired.tpl:52
-#: ihtml/themes/default/password.tpl:102
-msgid "Click here to change your password"
+#: include/utils/class_msgPool.inc:191
+#, php-format
+msgid "%s command is invalid!"
 msgstr ""
 
-#: ihtml/themes/default/logout-close.tpl:5
-msgid "Your GOsa session has been closed!"
+#: include/utils/class_msgPool.inc:193
+#, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
 msgstr ""
 
-#: ihtml/themes/default/logout-close.tpl:7
-msgid ""
-"Please close this browser window and clean the authentication caches to "
-"avoid an automatic re-authentication by your browser."
+#: include/utils/class_msgPool.inc:195
+#, php-format
+msgid "%s command for plugin %s is invalid!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:3
-msgid "Restoring object snapshots"
+#: include/utils/class_msgPool.inc:197
+#, php-format
+msgid "%s command (%s) is invalid!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:6
-msgid ""
-"This procedure will restore a snapshot of the selected object. It will "
-"replace the existing object after pressing the restore button."
+#: include/utils/class_msgPool.inc:205
+#, php-format
+msgid "Cannot execute %s command!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:9
-msgid ""
-"Remember that DNS configuration and database entries could not be restored. "
-"For some objects it is only nescessary to open and save them again (goFon), "
-"but some entries must be recreated manually (glpi)."
+#: include/utils/class_msgPool.inc:207
+#, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:12
-msgid ""
-"Don't forget to check references to other objects, for example does the "
-"selected printer still exists ?"
+#: include/utils/class_msgPool.inc:209
+#, php-format
+msgid "Cannot execute %s command for plugin %s!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:20
-#: ihtml/themes/default/snapshotdialog.tpl:62 include/class_acl.inc:777
-#: include/class_acl.inc:784 include/class_acl.inc:791
-#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
-#: plugins/admin/departments/class_department.inc:621
-msgid "Object"
+#: include/utils/class_msgPool.inc:211
+#, php-format
+msgid "Cannot execute %s command (%s)!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:29
-msgid "There is no snapshot available that could be restored"
+#: include/utils/class_msgPool.inc:219
+#, php-format
+msgid "Value for %s is too large!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:31
-msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+#: include/utils/class_msgPool.inc:221
+#, php-format
+msgid "%s must be smaller than %s!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:49
-msgid "Creating object snapshots"
+#: include/utils/class_msgPool.inc:229
+#, php-format
+msgid "Value for %s is too small!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:52
-msgid ""
-"This procedure will create a snapshot of the selected object. It will be "
-"stored inside a special branch of your directory system and can be restored "
-"later on."
+#: include/utils/class_msgPool.inc:231
+#, php-format
+msgid "%s must be %s or above!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:55
-msgid ""
-"Remember that database entries, DNS configurations and possibly created "
-"zones in server extensions will not be stored in the snapshot."
+#: include/utils/class_msgPool.inc:238
+#, php-format
+msgid "%s depends on %s - please provide both values!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:70
-msgid "Timestamp"
+#: include/utils/class_msgPool.inc:244
+#, php-format
+msgid "There is already an entry with this %s attribute in the system!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:79
-msgid "Reason for generating this snapshot"
+#: include/utils/class_msgPool.inc:250
+#, php-format
+msgid "The required field %s is empty!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:87
-#: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:561
-#: plugins/admin/departments/class_department.inc:643
-msgid "Continue"
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
 msgstr ""
 
-#: ihtml/themes/default/msg_dialog.tpl:57
-#: ihtml/themes/default/msg_dialog.tpl:104 html/index.php:224
-#: html/index.php:228 include/class_management.inc:448
-#: include/class_management.inc:584 include/class_management.inc:916
-#: include/password-methods/class_password-methods.inc:250
-#: include/password-methods/class_password-methods.inc:309
-#: include/password-methods/class_password-methods.inc:320
-#: include/class_listing.inc:480 include/functions.inc:3393
-#: include/functions.inc:3407 include/functions.inc:3437
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485 include/functions.inc:3545
-#: include/class_tabs.inc:56 include/class_plugin.inc:670
-#: include/class_plugin.inc:712 include/class_plugin.inc:755
-#: include/class_plugin.inc:1642 include/utils/class_xml.inc:40
-#: include/utils/class_msgPool.inc:154 include/utils/class_msgPool.inc:166
-#: include/utils/class_msgPool.inc:184 include/utils/class_msgPool.inc:457
-#: include/utils/class_msgPool.inc:478 include/utils/class_msgPool.inc:497
-#: include/class_gosaSupportDaemon.inc:1184
-#: include/class_gosaSupportDaemon.inc:1204
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:377 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:469
-#: plugins/admin/groups/class_group.inc:539
-#: plugins/admin/groups/class_group.inc:545
-#: plugins/admin/groups/class_group.inc:753
-#: plugins/admin/groups/class_group.inc:894
-#: plugins/admin/groups/class_group.inc:899
-#: plugins/admin/groups/class_group.inc:1221
-#: plugins/admin/departments/class_department.inc:311
-#: plugins/admin/acl/class_aclRole.inc:681
-#: plugins/personal/generic/class_user.inc:297
-#: plugins/personal/generic/class_user.inc:408
-#: plugins/personal/generic/class_user.inc:503
-#: plugins/personal/generic/class_user.inc:801
-#: plugins/personal/generic/class_user.inc:1190
-#: plugins/personal/generic/class_user.inc:1197
-#: plugins/personal/generic/class_user.inc:1215
-#: plugins/personal/generic/class_user.inc:1485
-#: plugins/personal/generic/class_user.inc:1783
-#: setup/class_setupStep_Migrate.inc:1201 setup/setup_checks.tpl:30
-#: setup/setup_checks.tpl:91
+#: include/utils/class_msgPool.inc:278
 #, php-format
-msgid "Error"
+msgid "The Field %s contains invalid characters"
 msgstr ""
 
-#: ihtml/themes/default/msg_dialog.tpl:61
-#: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
-msgid "Information"
+#: include/utils/class_msgPool.inc:279
+#, php-format
+msgid "%s is not allowed:"
 msgstr ""
 
-#: ihtml/themes/default/msg_dialog.tpl:76
-#: ihtml/themes/default/msg_dialog.tpl:78
-#: ihtml/themes/default/msg_dialog.tpl:134
-#: ihtml/themes/default/msg_dialog.tpl:137
-#: ihtml/themes/default/msg_dialog.tpl:142 include/utils/class_msgPool.inc:318
-#: setup/class_setupStep_Migrate.inc:267 setup/class_setupStep_Migrate.inc:319
-#: setup/class_setupStep_Migrate.inc:380 setup/class_setupStep_Migrate.inc:453
-#: setup/class_setupStep_Migrate.inc:530 setup/class_setupStep_Migrate.inc:604
-#: setup/class_setupStep_Migrate.inc:657 setup/class_setupStep_Migrate.inc:800
-#: setup/class_setupStep_Migrate.inc:1046
-#: setup/class_setupStep_Migrate.inc:2013
-#: setup/class_setupStep_Migrate.inc:2157
-#: setup/class_setupStep_Migrate.inc:2579
-#: setup/class_setupStep_Migrate.inc:2733
-#: setup/class_setupStep_Migrate.inc:3063 setup/setup_checks.tpl:27
-#: setup/setup_checks.tpl:87
+#: include/utils/class_msgPool.inc:279
 #, php-format
-msgid "Ok"
+msgid "%s are not allowed!"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:6
-msgid "Change your password"
+#: include/utils/class_msgPool.inc:282
+#, php-format
+msgid "The Field %s contains invalid characters!"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Success"
+#: include/utils/class_msgPool.inc:289
+#, php-format
+msgid "Missing %s PHP extension!"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Your password has been changed successfully."
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
+#: ihtml/themes/default/copyPasteDialog.tpl:21
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:198
-#: plugins/admin/users/class_userManagement.inc:390
-#: plugins/personal/password/class_password.inc:128
-#: plugins/personal/password/class_password.inc:131
-#: plugins/personal/password/class_password.inc:134
-#: plugins/personal/password/class_password.inc:137
-#: plugins/personal/password/class_password.inc:140
-#: plugins/personal/password/class_password.inc:143
-#: plugins/personal/password/class_password.inc:157
-#: plugins/personal/password/class_password.inc:163
-msgid "Password change"
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
+#: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
+#: ihtml/themes/default/msg_dialog.tpl:139
+#: ihtml/themes/default/msg_dialog.tpl:144
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
+#, php-format
+msgid "OK"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:53
-msgid ""
-"This dialog provides a simple way to change your password. Enter the current "
-"password and the new password (twice) in the fields below and press the "
-"'Change' button."
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/generic/password.tpl:17
-#: plugins/personal/generic/password.tpl:44
-#: plugins/personal/password/password.tpl:22
-#: plugins/personal/password/password.tpl:49
-msgid "Current password"
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:87
-msgid "New password repeated"
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:90
-#: plugins/personal/generic/password.tpl:32
-#: plugins/personal/generic/password.tpl:75
-#: plugins/personal/password/password.tpl:37
-#: plugins/personal/password/password.tpl:80
-msgid "Password strength"
+#: include/utils/class_msgPool.inc:319
+#, php-format
+msgid "Add %s"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:101
-msgid "Change"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
 msgstr ""
 
-#: ihtml/themes/default/islocked.tpl:2
-msgid "Locking conflict detected"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete %s"
 msgstr ""
 
-#: ihtml/themes/default/islocked.tpl:9
-msgid ""
-"If this lock detection is false, the other person has obviously closed the "
-"webbrowser during the edit operation. You may want to take over the lock by "
-"pressing the 'Edit anyway' button."
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
 msgstr ""
 
-#: ihtml/themes/default/islocked.tpl:16
-msgid "Read only"
+#: include/utils/class_msgPool.inc:331
+#, php-format
+msgid "Set %s"
 msgstr ""
 
-#: ihtml/themes/default/help.tpl:9
-msgid "GOsa help viewer"
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit..."
 msgstr ""
 
-#: ihtml/themes/default/help.tpl:15
-msgid "Index"
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit %s..."
 msgstr ""
 
-#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:13
-msgid "Search"
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
 msgstr ""
 
-#: ihtml/themes/default/logout.tpl:5
-msgid "Your GOsa session has expired!"
+#: include/utils/class_msgPool.inc:363
+#, php-format
+msgid "This account has no valid %s extensions!"
 msgstr ""
 
-#: ihtml/themes/default/logout.tpl:7
+#: include/utils/class_msgPool.inc:369
+#, php-format
 msgid ""
-"The last interaction with the GOsa web interface has been some time ago in "
-"the past. For security reasons, the session has been closed. To continue "
-"with administrative tasks, please sign in again."
-msgstr ""
-
-#: ihtml/themes/default/logout.tpl:10
-msgid "Sign in again"
+"This account has %s settings enabled. You can disable them by clicking below."
 msgstr ""
 
-#: ihtml/themes/default/conflict.tpl:2
-msgid "Session conflict detected"
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, php-format
+msgid ""
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
 msgstr ""
 
-#: ihtml/themes/default/conflict.tpl:6
+#: include/utils/class_msgPool.inc:388
+#, php-format
 msgid ""
-"Probably there's another active instance of your session. Multiple window "
-"operation is technical not possible and heavily depends on the browser "
-"you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is "
-"possible. Pressing the Logout button will close this session."
+"This account has %s settings disabled. You can enable them by clicking below."
 msgstr ""
 
-#: ihtml/themes/default/conflict.tpl:10
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, php-format
 msgid ""
-"Ignoring this message will change/destroy the data you're currently editing, "
-"so please close multiple windows and log in again."
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
 msgstr ""
 
-#: ihtml/themes/default/conflict.tpl:14
-msgid "Logout"
+#: include/utils/class_msgPool.inc:406
+#, php-format
+msgid "Add %s settings"
 msgstr ""
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-#: ihtml/themes/default/framework.tpl:20 ihtml/themes/default/framework.tpl:24
-#: include/class_pluglist.inc:212
-msgid ""
-"You are currently editing a database entry. Do you want to dismiss the "
-"changes?"
+#: include/utils/class_msgPool.inc:412
+#, php-format
+msgid "Remove %s settings"
 msgstr ""
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-msgid "Main"
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
 msgstr ""
 
-#: ihtml/themes/default/framework.tpl:16
-msgid "Help"
+#: include/utils/class_msgPool.inc:424
+msgid "January"
 msgstr ""
 
-#: ihtml/themes/default/framework.tpl:21 ihtml/themes/default/framework.tpl:25
-msgid "Sign out"
+#: include/utils/class_msgPool.inc:424
+msgid "February"
 msgstr ""
 
-#: ihtml/themes/default/framework.tpl:29
-msgid "Signed in:"
+#: include/utils/class_msgPool.inc:424
+msgid "March"
 msgstr ""
 
-#: ihtml/themes/default/framework.tpl:32
-msgid "GOsa main menu"
+#: include/utils/class_msgPool.inc:424
+msgid "April"
 msgstr ""
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:454
-#: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:433
-msgid "Fatal error"
+#: include/utils/class_msgPool.inc:425
+msgid "May"
 msgstr ""
 
-#: html/password.php:58 html/index.php:144
-#, php-format
-msgid "GOsa configuration %s/%s is not readable. Aborted."
+#: include/utils/class_msgPool.inc:425
+msgid "June"
 msgstr ""
 
-#: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:268
-#: include/password-methods/class_password-methods-ssha.inc:51
-#: include/password-methods/class_password-methods-sha.inc:48
-#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:58
-#: include/class_SnapshotHandler.inc:76 include/functions.inc:825
-#: include/functions.inc:3067 include/functions.inc:3099
-#: include/functions.inc:3112 include/utils/class_timezone.inc:47
-#: include/class_config.inc:155 include/class_config.inc:695
-#: include/class_config.inc:1146 include/class_config.inc:1159
-#: include/class_config.inc:1177 include/class_pluglist.inc:182
-#: include/class_CopyPasteHandler.inc:119
-#: include/class_CopyPasteHandler.inc:128
-#: include/class_CopyPasteHandler.inc:177
-#: include/class_CopyPasteHandler.inc:186
-#: include/class_CopyPasteHandler.inc:194
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:667
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Configuration error"
+#: include/utils/class_msgPool.inc:425
+msgid "July"
 msgstr ""
 
-#: html/password.php:74 html/index.php:165 html/setup.php:66
-#, php-format
-msgid "Directory '%s' specified as compile directory is not accessible!"
+#: include/utils/class_msgPool.inc:425
+msgid "August"
 msgstr ""
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:593
-msgid "Password method"
+#: include/utils/class_msgPool.inc:425
+msgid "September"
 msgstr ""
 
-#: html/password.php:159
-msgid "Error: Password method not available!"
+#: include/utils/class_msgPool.inc:426
+msgid "October"
 msgstr ""
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:316
-#: plugins/personal/password/class_password.inc:132
-msgid ""
-"The passwords you've entered as 'New password' and 'Repeated new password' "
-"do not match."
+#: include/utils/class_msgPool.inc:426
+msgid "November"
 msgstr ""
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:138
-msgid "The password used as new and current are too similar."
+#: include/utils/class_msgPool.inc:426
+msgid "December"
 msgstr ""
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:141
-msgid "The password used as new is to short."
+#: include/utils/class_msgPool.inc:432
+msgid "Sunday"
 msgstr ""
 
-#: html/password.php:215 plugins/admin/groups/userSelect/user-list.xml:56
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
-#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
-#: plugins/personal/generic/class_user.inc:1313
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1345
-#: plugins/personal/generic/class_user.inc:1347
-#: plugins/personal/generic/generic.tpl:82
-#: plugins/personal/generic/paste_generic.tpl:15
-msgid "Login"
+#: include/utils/class_msgPool.inc:432
+msgid "Monday"
 msgstr ""
 
-#: html/password.php:224 html/index.php:321
-msgid "Please check the username/password combination."
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
 msgstr ""
 
-#: html/password.php:228
-msgid "You have no permissions to change your password."
+#: include/utils/class_msgPool.inc:432
+msgid "Wednesday"
 msgstr ""
 
-#: html/password.php:249
-msgid "External password changer reported a problem: "
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
 msgstr ""
 
-#: html/password.php:280 html/index.php:406
-msgid "Session will not be encrypted."
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
 msgstr ""
 
-#: html/password.php:280 html/index.php:406
-msgid "Enter SSL session"
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
 msgstr ""
 
-#: html/index.php:57
-msgid "Session is not encrypted!"
+#: include/utils/class_msgPool.inc:439
+msgid "MySQL operation failed!"
 msgstr ""
 
-#: html/index.php:64
-msgid ""
-"The session lifetime configured in your gosa.conf will be overridden by php."
-"ini settings."
+#: include/utils/class_msgPool.inc:447
+msgid "read operation"
 msgstr ""
 
-#: html/index.php:165
-msgid "Smarty error"
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
 msgstr ""
 
-#: html/index.php:216
-msgid "There is a problem with the authentication setup!"
-msgstr ""
-
-#: html/index.php:224
-msgid "Cannot find a valid user for the current authentication setup!"
-msgstr ""
-
-#: html/index.php:228
-msgid "User information is not unique accross the configured LDAP trees!"
-msgstr ""
-
-#: html/index.php:254 html/index.php:265 html/index.php:278
-#: include/class_SnapshotHandler.inc:124 include/class_SnapshotHandler.inc:281
-#: include/class_SnapshotHandler.inc:329 include/class_SnapshotHandler.inc:333
-#: include/class_SnapshotHandler.inc:348 include/class_SnapshotHandler.inc:383
-#: include/class_SnapshotHandler.inc:438 include/class_SnapshotHandler.inc:503
-#: include/class_SnapshotHandler.inc:518 include/class_acl.inc:1233
-#: include/class_acl.inc:1329 include/functions.inc:483
-#: include/functions.inc:518 include/functions.inc:526
-#: include/functions.inc:571 include/functions.inc:840
-#: include/functions.inc:889 include/functions.inc:946
-#: include/functions.inc:999 include/functions.inc:3046
-#: include/functions.inc:3319 include/class_plugin.inc:1319
-#: include/class_plugin.inc:1368 include/class_plugin.inc:1372
-#: include/class_plugin.inc:1388 include/class_plugin.inc:1428
-#: include/class_plugin.inc:1486 include/class_plugin.inc:1552
-#: include/class_plugin.inc:1567 include/class_ldap.inc:756
-#: include/class_ldap.inc:1222 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:888
-#: plugins/admin/ogroups/class_ogroup.inc:902
-#: plugins/admin/groups/class_group.inc:697
-#: plugins/admin/groups/class_group.inc:1018
-#: plugins/admin/departments/class_department.inc:279
-#: plugins/admin/departments/class_department.inc:476
-#: plugins/admin/departments/class_department.inc:750
-#: plugins/admin/departments/class_department.inc:781
-#: plugins/admin/acl/class_aclRole.inc:613
-#: plugins/admin/acl/class_aclRole.inc:653
-#: plugins/admin/acl/class_aclRole.inc:667
-#: plugins/personal/generic/class_user.inc:716
-#: plugins/personal/generic/class_user.inc:1112
-#: plugins/personal/posix/class_posixAccount.inc:631
-#: plugins/personal/posix/class_posixAccount.inc:963
-#: setup/class_setupStep_Migrate.inc:1212
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#: setup/class_setupStep_Migrate.inc:2143
-#: setup/class_setupStep_Migrate.inc:2440
-#: setup/class_setupStep_Migrate.inc:2444
-#: setup/class_setupStep_Migrate.inc:2634
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
-#: setup/class_setupStep_Migrate.inc:3118
-#: setup/class_setupStep_Migrate.inc:3132
-msgid "LDAP error"
+#: include/utils/class_msgPool.inc:447
+msgid "modify operation"
 msgstr ""
 
-#: html/index.php:265
-msgid "Cannot detect information about the installed LDAP schema!"
+#: include/utils/class_msgPool.inc:448
+msgid "delete operation"
 msgstr ""
 
-#: html/index.php:278
-msgid "Your LDAP setup contains old schema definitions:"
+#: include/utils/class_msgPool.inc:448
+msgid "search operation"
 msgstr ""
 
-#: html/index.php:299
-msgid "Please specify a valid username!"
+#: include/utils/class_msgPool.inc:448
+msgid "authentication"
 msgstr ""
 
-#: html/index.php:302
-msgid "Please specify your password!"
+#: include/utils/class_msgPool.inc:451
+#, php-format
+msgid "LDAP %s failed!"
 msgstr ""
 
-#: html/index.php:314
-msgid "Authentication error"
+#: include/utils/class_msgPool.inc:453
+msgid "LDAP operation failed!"
 msgstr ""
 
-#: html/index.php:314
-msgid "Cannot retrieve user information for htaccess authentication!"
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
 msgstr ""
 
-#: html/index.php:369
-msgid "Account locked. Please contact your system administrator!"
+#: include/utils/class_msgPool.inc:469
+msgid "Upload failed!"
 msgstr ""
 
-#: html/index.php:412
-msgid ""
-"Your browser has cookies disabled. Please enable cookies and reload this "
-"page before logging in!"
+#: include/utils/class_msgPool.inc:472
+#, php-format
+msgid "Upload failed: %s"
 msgstr ""
 
-#: html/setup.php:66
-msgid "Smarty"
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
 msgstr ""
 
-#: html/main.php:148
+#: include/utils/class_msgPool.inc:481
 #, php-format
-msgid "Cannot locate file '%s' - please run '%s' to fix this"
+msgid "Communication failure with the infrastructure service: %s"
 msgstr ""
 
-#: html/main.php:167
-msgid "PHP configuration"
+#: include/utils/class_msgPool.inc:488
+msgid "Communication failure with the GOsa-NG service!"
 msgstr ""
 
-#: html/main.php:168
-msgid ""
-"FATAL: Register globals is on. GOsa will refuse to login unless this is "
-"fixed by an administrator."
+#: include/utils/class_msgPool.inc:490
+#, php-format
+msgid "Communication failure with the GOsa-NG service: %s"
 msgstr ""
 
-#: html/main.php:198
-msgid "Your password is about to expire, please change your password!"
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
+#, php-format
+msgid "This %s is still in use by this object: %s"
 msgstr ""
 
-#: html/main.php:268
-msgid "Running out of memory!"
+#: include/utils/class_msgPool.inc:503
+#, php-format
+msgid "This %s is still in use."
 msgstr ""
 
-#: html/main.php:325
-msgid "User ACL checks disabled"
+#: include/utils/class_msgPool.inc:505
+#, php-format
+msgid "This %s is still in use by these objects: %s"
 msgstr ""
 
-#: html/main.php:373
-msgid "Plugin"
+#: include/utils/class_msgPool.inc:511
+#, php-format
+msgid "File %s does not exist!"
 msgstr ""
 
-#: html/main.php:374
+#: include/utils/class_msgPool.inc:517
 #, php-format
-msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
+msgid "Cannot open file %s for reading!"
 msgstr ""
 
-#: html/main.php:388
-msgid "Configuration Error"
+#: include/utils/class_msgPool.inc:523
+#, php-format
+msgid "Cannot open file %s for writing!"
 msgstr ""
 
-#: html/main.php:389
+#: include/utils/class_msgPool.inc:529
 #, php-format
 msgid ""
-"FATAL: not all POST variables have been transfered by PHP - please inform "
-"your administrator!"
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
 msgstr ""
 
-#: html/helpviewer.php:64
-msgid "Help browser"
+#: include/utils/class_msgPool.inc:535
+#, php-format
+msgid "Cannot delete file %s!"
 msgstr ""
 
-#: html/helpviewer.php:118
-msgid "There is no helpfile specified for this class"
+#: include/utils/class_msgPool.inc:541
+#, php-format
+msgid "Cannot create folder %s!"
 msgstr ""
 
-#: html/helpviewer.php:194 include/functions_helpviewer.inc:97
-msgid "previous"
+#: include/utils/class_msgPool.inc:547
+#, php-format
+msgid "Cannot delete folder %s!"
 msgstr ""
 
-#: html/helpviewer.php:198 include/functions_helpviewer.inc:101
-msgid "next"
+#: include/utils/class_msgPool.inc:553
+#, php-format
+msgid "Checking for %s support"
 msgstr ""
 
-#: html/helpviewer.php:269
+#: include/utils/class_msgPool.inc:559
 #, php-format
-msgid "Helpdir '%s' is not accessible, can't read any helpfiles."
+msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/class_management.inc:32 include/class_management.inc:33
-#: plugins/personal/posix/class_posixAccount.inc:237
-msgid "unconfigured"
+#: include/utils/class_msgPool.inc:565
+#, php-format
+msgid ""
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
 msgstr ""
 
-#: include/class_management.inc:145
-msgid "Filter error"
+#: include/utils/class_msgPool.inc:571
+msgid ""
+"The supplied base is not valid and has been reset to its previous value!"
 msgstr ""
 
-#: include/class_management.inc:145
-msgid "The filter is incomplete!"
+#: include/utils/class_timezone.inc:47
+#, php-format
+msgid "The configured timezone %s is not valid!"
+msgstr ""
+
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
 msgstr ""
 
-#: include/class_management.inc:292 include/class_management.inc:427
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1590
-#: include/class_plugin.inc:1602 include/class_plugin.inc:1617
-#: include/class_plugin.inc:1630
-#: plugins/admin/users/class_userManagement.inc:236
-#: plugins/admin/users/class_userManagement.inc:744
-msgid "Permission"
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+msgid "Fatal error"
 msgstr ""
 
-#: include/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:702
-#: plugins/admin/users/class_userManagement.inc:706
-#: plugins/admin/acl/class_aclManagement.inc:98
-msgid "Permission error"
+#: include/utils/class_xml.inc:51
+msgid "XML error"
 msgstr ""
 
-#: include/class_management.inc:427 include/class_plugin.inc:1590
-#, php-format
-msgid "You are not allowed to create a snapshot for %s."
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
 msgstr ""
 
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1602
-#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
-#, php-format
-msgid "You are not allowed to restore a snapshot for %s."
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
 msgstr ""
 
-#: include/class_management.inc:584
-#, php-format
-msgid ""
-"No tab declaration for '%s' found in your configuration file. Cannot create "
-"plugin instance!"
+#: include/class_listing.inc:319
+msgid "Select all"
 msgstr ""
 
-#: include/class_socketClient.inc:60
-msgid "The mcrypt module was not found. Please install php5-mcrypt."
+#: include/class_listing.inc:578
+msgid "created by"
 msgstr ""
 
-#: include/class_socketClient.inc:108
-#, php-format
-msgid "Socket connection to host '%s:%s' failed: %s"
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
+msgid "Root"
 msgstr ""
 
-#: include/class_socketClient.inc:191
-#, php-format
-msgid "Socket timeout of %s seconds reached."
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
 msgstr ""
 
-#: include/password-methods/class_password-methods.inc:250
-msgid "Cannot find a suitable password method for the current hash!"
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:46 include/class_SnapshotHandler.inc:77
-#: include/class_config.inc:1147 include/class_config.inc:1178
-#, php-format
-msgid ""
-"The snapshot functionality is enabled, but the required variable '%s' is not "
-"set."
+#: include/class_listing.inc:1079
+msgid "Reload list"
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:59 include/class_config.inc:1160
-#, php-format
-msgid ""
-"The snapshot functionality is enabled, but the required compression module "
-"is missing. Please install '%s'."
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
+msgid "Actions"
 msgstr ""
 
-#: include/class_acl.inc:27
-msgid "Access control"
+#: include/class_listing.inc:1453
+msgid "Copy"
 msgstr ""
 
-#: include/class_acl.inc:28 plugins/admin/acl/class_aclManagement.inc:26
-msgid "Manage access control lists"
+#: include/class_listing.inc:1459
+msgid "Cut"
 msgstr ""
 
-#: include/class_acl.inc:120 include/class_acl.inc:581
-#: include/class_acl.inc:1009
-#, php-format
-msgid "All users"
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
+msgid "Paste"
 msgstr ""
 
-#: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
-msgid "All categories"
+#: include/class_listing.inc:1492
+msgid "Cut this entry"
 msgstr ""
 
-#: include/class_acl.inc:222
-msgid "Reset ACLs"
+#: include/class_listing.inc:1501
+msgid "Copy this entry"
 msgstr ""
 
-#: include/class_acl.inc:223 plugins/admin/acl/class_aclRole.inc:135
-msgid "One level"
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
+msgid "Restore snapshots"
 msgstr ""
 
-#: include/class_acl.inc:224 include/class_acl.inc:229
-#: plugins/admin/acl/class_aclRole.inc:136
-msgid "Current object"
+#: include/class_listing.inc:1549
+msgid "Export list"
 msgstr ""
 
-#: include/class_acl.inc:225 plugins/admin/acl/class_aclRole.inc:137
-msgid "Complete subtree"
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
+msgid "Restore snapshot"
 msgstr ""
 
-#: include/class_acl.inc:226 plugins/admin/acl/class_aclRole.inc:138
-msgid "Complete subtree (permanent)"
+#: include/class_listing.inc:1591
+msgid "Create new snapshot for this object"
+msgstr ""
+
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
+msgid "Parent filter"
+msgstr ""
+
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
 msgstr ""
 
-#: include/class_acl.inc:227 include/class_acl.inc:230
-msgid "Use ACL defined in role"
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
 msgstr ""
 
-#: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1674
-#: setup/class_setupStep_Migrate.inc:1040
-msgid "Users"
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
 msgstr ""
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
-#: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1043
-msgid "Groups"
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+msgid "Options"
+msgstr ""
+
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
+msgid "LDAP error"
 msgstr ""
 
-#: include/class_acl.inc:496 include/class_listing.inc:242
-#: include/class_listing.inc:999 include/class_listing.inc:1001
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:372
-msgid "Up"
+#: include/class_log.inc:87
+#, php-format
+msgid "Logging failed: %s"
 msgstr ""
 
-#: include/class_acl.inc:498 include/class_listing.inc:242
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:374
-msgid "Down"
+#: include/class_log.inc:102
+#, php-format
+msgid "Invalid option %s specified!"
 msgstr ""
 
-#: include/class_acl.inc:503 include/class_acl.inc:551
-#: include/class_sortableListing.inc:192 include/class_sortableListing.inc:194
-#: plugins/admin/ogroups/ogroup-list.xml:91
-#: plugins/admin/groups/group-list.xml:108
-#: plugins/admin/users/user-list.xml:114
-#: plugins/admin/departments/dep-list.xml:172
-#: plugins/admin/acl/class_aclRole.inc:377
-#: plugins/admin/acl/class_aclRole.inc:426 plugins/admin/acl/acl-list.xml:131
-msgid "Edit"
+#: include/class_log.inc:106
+msgid "Specified 'objectType' is empty or invalid!"
 msgstr ""
 
-#: include/class_acl.inc:503 include/class_acl.inc:507
-#: include/class_acl.inc:1265 include/class_acl.inc:1266
-#: include/class_acl.inc:1271 include/class_tabs.inc:401
-#: plugins/admin/acl/tabs_acl.inc:28 plugins/admin/acl/class_aclRole.inc:378
-#: plugins/admin/acl/class_aclRole.inc:382
-#: plugins/admin/acl/class_aclRole.inc:762
-msgid "ACL"
+#: include/class_multi_plug.inc:362
+msgid "You are currently editing multiple entries."
 msgstr ""
 
-#: include/class_acl.inc:507 include/class_acl.inc:555
-#: include/class_sortableListing.inc:197 include/class_sortableListing.inc:199
-#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
-#: plugins/admin/acl/class_aclRole.inc:430
-#, php-format
-msgid "Delete"
+#: include/class_multi_plug.inc:394
+msgid "Reset password"
 msgstr ""
 
-#: include/class_acl.inc:543
-msgid "No ACL settings for this category!"
+#: include/class_multi_plug.inc:394
+msgid "The user password has been reset. Please set a new password!"
 msgstr ""
 
-#: include/class_acl.inc:545
+#: include/class_tabs.inc:72
 #, php-format
-msgid "Contains ACLs for these objects: %s"
-msgstr ""
-
-#: include/class_acl.inc:551 include/class_acl.inc:555
-msgid "category ACL"
+msgid "No plugin definition for %s found: please check the configuration file!"
 msgstr ""
 
-#: include/class_acl.inc:608
+#: include/class_tabs.inc:287
 #, php-format
-msgid "Edit ACL for '%s' - scope is '%s'"
+msgid "Delete process has been canceled by plugin %s: %s"
 msgstr ""
 
-#: include/class_acl.inc:618 plugins/admin/acl/class_aclRole.inc:460
-msgid "All objects in current subtree"
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
 msgstr ""
 
-#: include/class_acl.inc:779 include/class_acl.inc:786
-msgid "Show/hide advanced settings"
+#: include/class_tabs.inc:425
+msgid "References"
 msgstr ""
 
-#: include/class_acl.inc:803
-msgid "Create objects"
+#: include/functions_helpviewer.inc:45
+#, php-format
+msgid "XML error in guide.xml: %s at line %s"
 msgstr ""
 
-#: include/class_acl.inc:804
-msgid "Move objects"
+#: include/functions_helpviewer.inc:88
+msgid "No help available for this plug-in."
 msgstr ""
 
-#: include/class_acl.inc:805
-msgid "Remove objects"
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
 msgstr ""
 
-#: include/class_acl.inc:807
-msgid "Grant permission to owner"
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
+msgid "next"
 msgstr ""
 
-#: include/class_acl.inc:811 include/class_acl.inc:916
-#: include/class_acl.inc:920
-msgid "read"
+#: include/functions_helpviewer.inc:388
+#, php-format
+msgid "%s results for your search with the keyword %s"
 msgstr ""
 
-#: include/class_acl.inc:812 include/class_acl.inc:918
-#: include/class_acl.inc:921
-msgid "write"
+#: include/functions_helpviewer.inc:461
+#, php-format
+msgid "%s%% hit rate in file %s"
 msgstr ""
 
-#: include/class_acl.inc:816
-msgid "Complete object"
+#: include/class_msg_dialog.inc:124
+msgid "Please fix the above error and reload the page."
 msgstr ""
 
-#: include/class_acl.inc:960 include/class_session.inc:76
-#: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:611 include/functions.inc:815
-#: include/functions.inc:933 include/functions.inc:1331
-#: include/functions.inc:2414 include/functions.inc:2448
-#: include/functions.inc:2468 include/class_ldap.inc:693
-#: include/class_ldap.inc:744 include/class_log.inc:87
-#: include/class_CopyPasteHandler.inc:160
-#: include/class_CopyPasteHandler.inc:274
-msgid "Internal error"
+#: include/class_plugin.inc:581
+msgid ""
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
 msgstr ""
 
-#: include/class_acl.inc:960
+#: include/class_plugin.inc:1411
 #, php-format
-msgid "Unkown ACL type '%s'!"
+msgid "Changing ACL DN from %s to %s"
+msgstr ""
+
+#: include/class_SnapShotDialog.inc:55
+msgid "Date"
 msgstr ""
 
-#: include/class_acl.inc:1005
+#: include/class_SnapShotDialog.inc:94
 #, php-format
-msgid "Unknown entry '%s'!"
+msgid "You are about to delete the snapshot %s."
+msgstr ""
+
+#: include/class_SnapShotDialog.inc:143
+msgid "Delete snapshot"
+msgstr ""
+
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+msgid "Y-m-d, H:i:s"
+msgstr ""
+
+#: include/class_pathNavigator.inc:86
+msgid "Welcome to GOsa"
+msgstr ""
+
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
+msgstr ""
+
+#: include/class_sortableListing.inc:234
+msgid "Sortable list"
+msgstr ""
+
+#: include/class_sortableListing.inc:239
+msgid "Edit this entry"
+msgstr ""
+
+#: include/class_sortableListing.inc:244
+msgid "Delete this entry"
+msgstr ""
+
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+msgid "unknown"
 msgstr ""
 
-#: include/class_acl.inc:1069 include/class_acl.inc:1071
+#: include/class_configRegistry.inc:197
 #, php-format
-msgid "Role: %s"
+msgid "%s has version %s but %s is required!"
+msgstr ""
+
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
+msgstr ""
+
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+msgid "The following object classes are outdated:"
+msgstr ""
+
+#: include/class_configRegistry.inc:252
+msgid ""
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
 msgstr ""
 
-#: include/class_acl.inc:1071
-msgid "unknown role"
+#: include/class_configRegistry.inc:254
+msgid "Schema validation error"
 msgstr ""
 
-#: include/class_acl.inc:1079
+#: include/class_configRegistry.inc:689
 #, php-format
-msgid "Contains settings for these objects: %s"
+msgid "The value %s specified for %s:%s needs to be a bool value!"
 msgstr ""
 
-#: include/class_acl.inc:1096
-msgid "inactive"
+#: include/class_configRegistry.inc:704
+#, php-format
+msgid "The value %s specified for %s:%s needs to be a string!"
 msgstr ""
 
-#: include/class_acl.inc:1096
-msgid "No members"
+#: include/class_configRegistry.inc:719
+#, php-format
+msgid "The value %s specified for %s:%s needs to be numeric!"
 msgstr ""
 
-#: include/class_acl.inc:1266
-msgid "Access control list"
+#: include/class_configRegistry.inc:734
+#, php-format
+msgid "The path %s specified for %s:%s is invalid!"
 msgstr ""
 
-#: include/class_acl.inc:1271
-msgid "ACL roles"
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
 msgstr ""
 
-#: include/class_session.inc:76 include/class_session.inc:101
-#: include/class_session.inc:127
-msgid "Requested channel does not exist! Please contact your Administrator."
+#: include/class_configRegistry.inc:755
+#, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
 msgstr ""
 
-#: include/class_listing.inc:301 setup/setup_migrate.tpl:93
-#: setup/setup_migrate.tpl:149 setup/setup_migrate.tpl:201
-#: setup/setup_migrate.tpl:368 setup/setup_migrate.tpl:421
-#: setup/setup_migrate.tpl:464 setup/setup_migrate.tpl:507
-#: setup/setup_migrate.tpl:551
-msgid "Select all"
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
+#, php-format
+msgid "The file %s specified for %s:%s is not writeable!"
 msgstr ""
 
-#: include/class_listing.inc:522
-msgid "created by"
+#: include/class_configRegistry.inc:802
+#, php-format
+msgid "The folder %s specified for %s:%s is not writeable!"
 msgstr ""
 
-#: include/class_listing.inc:991
-msgid "Go to root department"
+#: include/class_configRegistry.inc:820
+#, php-format
+msgid "The file %s specified for %s:%s does not exists!"
 msgstr ""
 
-#: include/class_listing.inc:991 include/class_listing.inc:993
-#: include/class_baseSelector.inc:159
-msgid "Root"
+#: include/class_configRegistry.inc:825
+#, php-format
+msgid "The file %s specified for %s:%s is not readable!"
 msgstr ""
 
-#: include/class_listing.inc:999
-msgid "Go up one department"
+#: include/class_configRegistry.inc:841
+#, php-format
+msgid "The command %s specified for %s:%s is invalid!"
 msgstr ""
 
-#: include/class_listing.inc:1007
-msgid "Go to users department"
+#: include/class_configRegistry.inc:856
+#, php-format
+msgid "The DN %s specified for %s:%s is invalid!"
 msgstr ""
 
-#: include/class_listing.inc:1007 include/class_listing.inc:1009
-msgid "Home"
+#: include/class_configRegistry.inc:871
+#, php-format
+msgid "The RDN %s specified for %s:%s is invalid!"
 msgstr ""
 
-#: include/class_listing.inc:1014
-msgid "Reload list"
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
 msgstr ""
 
-#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
-msgid "Submit"
+#: include/php_setup.inc:110
+msgid "Send bug report"
 msgstr ""
 
-#: include/class_listing.inc:1109 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:64
-#: plugins/admin/groups/group-list.xml:79 plugins/admin/users/user-list.xml:78
-#: plugins/admin/departments/dep-list.xml:87 plugins/admin/acl/acl-list.xml:65
-msgid "Actions"
+#: include/php_setup.inc:114
+msgid "Toggle details"
 msgstr ""
 
-#: include/class_listing.inc:1380 include/class_listing.inc:1430
-#: include/class_plugin.inc:2114
-msgid "Copy"
+#: include/php_setup.inc:123
+msgid "PHP error"
 msgstr ""
 
-#: include/class_listing.inc:1386 include/class_listing.inc:1420
-#: include/class_plugin.inc:2118
-msgid "Cut"
+#: include/php_setup.inc:142
+msgid "class"
 msgstr ""
 
-#: include/class_listing.inc:1394 include/class_listing.inc:1396
-#: include/class_plugin.inc:2125 include/class_plugin.inc:2128
-#: include/class_CopyPasteHandler.inc:570
-msgid "Paste"
+#: include/php_setup.inc:148
+msgid "function"
 msgstr ""
 
-#: include/class_listing.inc:1420 include/class_plugin.inc:2072
-msgid "Cut this entry"
+#: include/php_setup.inc:153
+msgid "static"
 msgstr ""
 
-#: include/class_listing.inc:1430 include/class_plugin.inc:2080
-msgid "Copy this entry"
+#: include/php_setup.inc:157
+msgid "method"
 msgstr ""
 
-#: include/class_listing.inc:1462 include/class_listing.inc:1464
-msgid "Restore snapshots"
+#: include/php_setup.inc:190
+msgid "Traceback"
 msgstr ""
 
-#: include/class_listing.inc:1478
-msgid "Export list"
+#: include/php_setup.inc:191
+msgid "File"
 msgstr ""
 
-#: include/class_listing.inc:1513 include/class_listing.inc:1514
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
-msgid "Restore snapshot"
+#: include/php_setup.inc:191
+msgid "Line"
+msgstr ""
+
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+msgid "Type"
 msgstr ""
 
-#: include/class_listing.inc:1523 include/class_plugin.inc:2053
-msgid "Create snapshot"
+#: include/php_setup.inc:192
+msgid "Arguments"
 msgstr ""
 
-#: include/class_listing.inc:1524 include/class_plugin.inc:2054
-msgid "Create a new snapshot from this object"
+#: include/class_certificate.inc:73
+msgid "Certificate is empty!"
 msgstr ""
 
-#: include/class_sortableListing.inc:194
-msgid "Edit this entry"
+#: include/class_certificate.inc:100
+msgid "Cannot load certificate: only PEM and DER are supported!"
 msgstr ""
 
-#: include/class_sortableListing.inc:199
-msgid "Delete this entry"
+#: include/class_certificate.inc:115
+msgid "Cannot extract information for non PEM certificates!"
 msgstr ""
 
-#: include/functions.inc:134
-#, php-format
-msgid "Fatal error: no class locations defined - please run '%s' to fix this"
+#: include/class_certificate.inc:219
+msgid "No valid certificate loaded!"
 msgstr ""
 
-#: include/functions.inc:141
-#, php-format
-msgid ""
-"Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+msgid "Requested channel does not exist!"
 msgstr ""
 
-#: include/functions.inc:455
+#: include/functions.inc:151
 #, php-format
-msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+msgid "Fatal error: no class locations defined - please run %s to fix this"
 msgstr ""
 
-#: include/functions.inc:526
-msgid "Username / UID is not unique inside the LDAP tree!"
+#: include/functions.inc:158
+#, php-format
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
 msgstr ""
 
-#: include/functions.inc:611
-msgid ""
-"Username / UID is not unique inside the LDAP tree. Please contact your "
-"Administrator."
+#: include/functions.inc:483
+#, php-format
+msgid "Error while connecting to LDAP: %s"
 msgstr ""
 
-#: include/functions.inc:815 include/functions.inc:933
-msgid "Error while adding a lock. Contact the developers!"
+#: include/functions.inc:554 include/functions.inc:640
+msgid "User ID is not unique!"
 msgstr ""
 
-#: include/functions.inc:825
-#, php-format
-msgid ""
-"Cannot create locking information in LDAP tree. Please contact your "
-"administrator!"
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
 msgstr ""
 
-#: include/functions.inc:825
+#: include/functions.inc:864
 #, php-format
-msgid "LDAP server returned: %s"
+msgid "Cannot store lock information in LDAP!"
 msgstr ""
 
-#: include/functions.inc:954
-msgid ""
-"Found multiple locks for object to be locked. This should not happen - "
-"cleaning up multiple references."
+#: include/functions.inc:864
+#, php-format
+msgid "Error: %s"
 msgstr ""
 
-#: include/functions.inc:1258
+#: include/functions.inc:1294
 #, php-format
-msgid "The size limit of %d entries is exceed!"
+msgid "The current size limit of %d entries is exceeded!"
 msgstr ""
 
-#: include/functions.inc:1260
+#: include/functions.inc:1296
 #, php-format
-msgid ""
-"Set the new size limit to %s and show me this message if the limit still "
-"exceeds"
+msgid "Set the size limit to %s"
 msgstr ""
 
-#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
 msgid "Configure"
 msgstr ""
 
-#: include/functions.inc:1277
-msgid "incomplete"
+#: include/functions.inc:1313
+msgid "list is incomplete"
 msgstr ""
 
-#: include/functions.inc:1667
+#: include/functions.inc:1663
 msgid "Continue anyway"
 msgstr ""
 
-#: include/functions.inc:1669
+#: include/functions.inc:1665
 msgid "Edit anyway"
 msgstr ""
 
-#: include/functions.inc:1671
-#, php-format
-msgid "You're going to edit the LDAP entry/entries %s"
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
 msgstr ""
 
-#: include/functions.inc:1911
+#: include/functions.inc:1909
 msgid "Entries per page"
 msgstr ""
 
-#: include/functions.inc:1940 include/class_filter.inc:315
-msgid "Apply filter"
-msgstr ""
-
-#: include/functions.inc:2252 include/class_filter.inc:281
-msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-msgstr ""
-
-#: include/functions.inc:2306
+#: include/functions.inc:2087
 #, php-format
 msgid "GOsa %s"
 msgstr ""
 
-#: include/functions.inc:2313
+#: include/functions.inc:2094
 #, php-format
 msgid "GOsa %s snapshot (Rev %s)"
 msgstr ""
 
-#: include/functions.inc:2318
+#: include/functions.inc:2099
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr ""
 
-#: include/functions.inc:2414
+#: include/functions.inc:2195
 #, php-format
-msgid "File '%s' could not be deleted."
+msgid "File %s cannot be deleted!"
 msgstr ""
 
-#: include/functions.inc:2448 include/functions.inc:2468
-msgid "Cannot write to revision file!"
+#: include/functions.inc:2225 include/functions.inc:2245
+msgid "Cannot write revision file!"
 msgstr ""
 
-#: include/functions.inc:2686 include/functions.inc:2690
-#: include/functions.inc:2696
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr ""
 
-#: include/functions.inc:2720
-msgid "LDAP warning"
-msgstr ""
-
-#: include/functions.inc:2720
-msgid "Cannot get schema information from server. No schema check possible!"
+#: include/functions.inc:2550
+msgid ""
+"Cannot read schema information from LDAP. Schema validation is not possible!"
 msgstr ""
 
-#: include/functions.inc:2746
-msgid "Used to store account specific informations."
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
 msgstr ""
 
-#: include/functions.inc:2753
+#: include/functions.inc:2583
 msgid ""
-"Used to lock currently edited entries to avoid multiple changes at the same "
+"This class is used to lock entries in order to prevent multiple edits at a "
 "time."
 msgstr ""
 
-#: include/functions.inc:2798
+#: include/functions.inc:2628
 #, php-format
-msgid "Missing required object class '%s'!"
+msgid "Required object class %s is missing!"
 msgstr ""
 
-#: include/functions.inc:2801
+#: include/functions.inc:2631
 #, php-format
-msgid "Missing optional object class '%s'!"
+msgid "Optional object class %s is missing!"
 msgstr ""
 
-#: include/functions.inc:2806
+#: include/functions.inc:2636
 #, php-format
-msgid "Version mismatch for required object class '%s' (!=%s)!"
+msgid "Wrong version of required object class %s (!=%s) detected!"
 msgstr ""
 
-#: include/functions.inc:2809
+#: include/functions.inc:2639
 #, php-format
-msgid "Class(es) available"
+msgid "Class available"
 msgstr ""
 
-#: include/functions.inc:2831
+#: include/functions.inc:2661
 msgid ""
-"You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
-"schema    configuration do not support this option."
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
 msgstr ""
 
-#: include/functions.inc:2832
+#: include/functions.inc:2662
 msgid ""
-"In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
-"be      AUXILIARY"
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
 msgstr ""
 
-#: include/functions.inc:2836
+#: include/functions.inc:2666
 msgid ""
-"Your schema is configured to support the rfc2307bis group, but you have "
-"disabled this option on the 'ldap setup' step."
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
 msgstr ""
 
-#: include/functions.inc:2837
-msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#: include/functions.inc:2667
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
 msgstr ""
 
-#: include/functions.inc:2861
+#: include/functions.inc:2692
 msgid "German"
 msgstr ""
 
-#: include/functions.inc:2862
+#: include/functions.inc:2693
 msgid "French"
 msgstr ""
 
-#: include/functions.inc:2863
+#: include/functions.inc:2694
 msgid "Italian"
 msgstr ""
 
-#: include/functions.inc:2864
+#: include/functions.inc:2695
 msgid "Spanish"
 msgstr ""
 
-#: include/functions.inc:2865
+#: include/functions.inc:2696
 msgid "English"
 msgstr ""
 
-#: include/functions.inc:2866
+#: include/functions.inc:2697
 msgid "Dutch"
 msgstr ""
 
-#: include/functions.inc:2867
+#: include/functions.inc:2698
 msgid "Polish"
 msgstr ""
 
-#: include/functions.inc:2869
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
+msgstr ""
+
+#: include/functions.inc:2701
 msgid "Chinese"
 msgstr ""
 
-#: include/functions.inc:2870
+#: include/functions.inc:2702
 msgid "Vietnamese"
 msgstr ""
 
-#: include/functions.inc:2871
+#: include/functions.inc:2703
 msgid "Russian"
 msgstr ""
 
-#: include/functions.inc:3066
+#: include/functions.inc:2896
+msgid "Cannot detect password hash!"
+msgstr ""
+
+#: include/functions.inc:2937 include/functions.inc:3012
 #, php-format
-msgid ""
-"Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
 msgstr ""
 
-#: include/functions.inc:3099
-msgid "Cannot generate samba hash!"
+#: include/functions.inc:2968
+msgid "Password change failed!"
 msgstr ""
 
-#: include/functions.inc:3112
+#: include/functions.inc:2976
 #, php-format
-msgid ""
-"Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
 msgstr ""
 
-#: include/functions.inc:3393 include/functions.inc:3407
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485
-msgid "Cannot allocate a free ID:"
+#: include/functions.inc:3080
+msgid "Cannot generate SAMBA hash!"
 msgstr ""
 
-#: include/functions.inc:3393
+#: include/functions.inc:3095
+#, php-format
+msgid "Generating SAMBA hash by running %s failed: check %s!"
+msgstr ""
+
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
+msgid "Cannot allocate free ID:"
+msgstr ""
+
+#: include/functions.inc:3373
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3407
+#: include/functions.inc:3387
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3437
+#: include/functions.inc:3417
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr ""
 
-#: include/functions.inc:3445
+#: include/functions.inc:3425
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3457 include/functions.inc:3461
+#: include/functions.inc:3437 include/functions.inc:3441
 msgid "no ID available!"
 msgstr ""
 
-#: include/functions.inc:3485
-msgid "maximum tries exceeded!"
+#: include/functions.inc:3465
+msgid "maximum number of tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3545
-msgid "Cannot allocate a free ID!"
+#: include/functions.inc:3525
+msgid "Cannot allocate free ID!"
 msgstr ""
 
-#: include/class_tabs.inc:57
-#, php-format
-msgid ""
-"No plugin definitions found to initialize '%s', please check your "
-"configuration file."
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
 msgstr ""
 
-#: include/class_tabs.inc:268
-#, php-format
-msgid "Delete process has been canceled by plugin '%s': %s"
+#: include/class_filter.inc:226
+msgid "Search filter"
 msgstr ""
 
-#: include/class_tabs.inc:406
-msgid "References"
+#: include/class_filter.inc:444
+msgid "Search in subtrees"
 msgstr ""
 
-#: include/class_SnapShotDialog.inc:82
-#, php-format
-msgid "You're about to delete the snapshot '%s'."
+#: include/class_filter.inc:449
+msgid "Edit filters"
 msgstr ""
 
-#: include/class_SnapShotDialog.inc:137
-msgid "Remove snapshot"
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
 msgstr ""
 
-#: include/class_SnapShotDialog.inc:139 include/class_SnapShotDialog.inc:159
-msgid "Y-m-d, H:i:s"
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+#, php-format
+msgid "LDAP performance is poor: last query took %.2fs!"
 msgstr ""
 
-#: include/class_SnapShotDialog.inc:171
-#: plugins/generic/references/contents.tpl:11
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
-#: plugins/admin/ogroups/class_ogroup.inc:977
-#: plugins/admin/ogroups/generic.tpl:15
-#: plugins/admin/ogroups/ogroup-list.xml:49
-#: plugins/admin/groups/generic.tpl:24
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:66
-#: plugins/admin/groups/class_group.inc:1184
-#: plugins/admin/departments/dep-list.xml:79
-#: plugins/admin/departments/locality.tpl:19
-#: plugins/admin/departments/generic.tpl:19
-#: plugins/admin/departments/class_domain.inc:63
-#: plugins/admin/departments/class_domain.inc:91
-#: plugins/admin/departments/class_localityGeneric.inc:64
-#: plugins/admin/departments/class_localityGeneric.inc:92
-#: plugins/admin/departments/class_organizationGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_countryGeneric.inc:63
-#: plugins/admin/departments/class_countryGeneric.inc:92
-#: plugins/admin/departments/class_dcObject.inc:63
-#: plugins/admin/departments/class_dcObject.inc:91
-#: plugins/admin/departments/domain.tpl:19
-#: plugins/admin/departments/country.tpl:19
-#: plugins/admin/departments/dcObject.tpl:19
-#: plugins/admin/departments/class_department.inc:359
-#: plugins/admin/departments/class_department.inc:666
-#: plugins/admin/departments/organization.tpl:19
-#: plugins/admin/acl/class_aclRole.inc:735 plugins/admin/acl/acl-list.xml:57
-#: plugins/admin/acl/acl_role.tpl:17
-#: plugins/personal/posix/trustSelect/trust-list.xml:64
-#: plugins/personal/posix/groupSelect/group-list.xml:49
-msgid "Description"
+#: include/class_ldap.inc:784
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
 msgstr ""
 
-#: include/exporter/class_cvsExporter.inc:48
-msgid "CSV"
+#: include/class_ldap.inc:835
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
 msgstr ""
 
-#: include/exporter/class_PDF.inc:24
-msgid "Page"
+#: include/class_ldap.inc:922
+#, php-format
+msgid "while operating on %s using LDAP server %s"
 msgstr ""
 
-#: include/exporter/class_pdfExporter.inc:18
-msgid "No PDF export possible: there is no FPDF library installed."
+#: include/class_ldap.inc:924
+#, php-format
+msgid "while operating on LDAP server %s"
 msgstr ""
 
-#: include/exporter/class_pdfExporter.inc:145
-msgid "PDF"
+#: include/class_ldap.inc:977
+#, php-format
+msgid "Command line programm %s is missing!"
 msgstr ""
 
-#: include/class_multi_plug.inc:362
-msgid "You are currently editing mutliple entries."
+#: include/class_ldap.inc:1138
+#, php-format
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
 msgstr ""
 
-#: include/class_multi_plug.inc:391
-msgid "Password reset"
+#: include/class_ldap.inc:1167
+#, php-format
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
 msgstr ""
 
-#: include/class_multi_plug.inc:391
-msgid "The user password was resetted, please set a new password value!"
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
+msgid "All"
 msgstr ""
 
-#: include/class_certificate.inc:73
-msgid "Certificate is empty!"
+#: include/class_core.inc:114
+msgid "All objects"
 msgstr ""
 
-#: include/class_certificate.inc:100
-msgid "Cannot load certificate - only PEM/DER is supported!"
+#: include/class_core.inc:132
+msgid "Traditional"
 msgstr ""
 
-#: include/class_certificate.inc:115
-msgid "Cannot extract information for non PEM certificates!"
+#: include/class_core.inc:132
+msgid "Use samba pool"
 msgstr ""
 
-#: include/class_certificate.inc:219
-msgid "No valid certificate loaded!"
+#: include/class_core.inc:164 include/class_core.inc:167
+msgid "hours"
 msgstr ""
 
-#: include/php_setup.inc:100
-msgid "Generating this page caused the PHP interpreter to raise some errors!"
+#: include/class_core.inc:184
+msgid "None"
 msgstr ""
 
-#: include/php_setup.inc:105
-msgid "Send bug report to the GOsa Team"
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
+msgid "Automatic"
 msgstr ""
 
-#: include/php_setup.inc:105
-msgid "Send bugreport"
+#: include/class_core.inc:200
+msgid "User value"
 msgstr ""
 
-#: include/php_setup.inc:110
-msgid "Toggle information"
+#: include/class_core.inc:209
+msgid "Core"
 msgstr ""
 
-#: include/php_setup.inc:120
-msgid "PHP error"
+#: include/class_core.inc:210
+msgid "GOsa core plugin"
 msgstr ""
 
-#: include/php_setup.inc:139
-msgid "class"
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
 msgstr ""
 
-#: include/php_setup.inc:145
-msgid "function"
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
 msgstr ""
 
-#: include/php_setup.inc:150
-msgid "static"
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
 msgstr ""
 
-#: include/php_setup.inc:154
-msgid "method"
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
 msgstr ""
 
-#: include/php_setup.inc:187
-msgid "Trace"
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
 msgstr ""
 
-#: include/php_setup.inc:188
-msgid "File"
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
 msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Line"
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
 msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Type"
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
 msgstr ""
 
-#: include/php_setup.inc:189
-msgid "Arguments"
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
 msgstr ""
 
-#: include/class_filter.inc:322 include/utils/class_msgPool.inc:24
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#: plugins/personal/posix/posix_groups.tpl:68
-msgid "Search in subtrees"
+#: include/class_core.inc:319
+#, php-format
+msgid "Related option"
 msgstr ""
 
-#: include/class_plugin.inc:521
+#: include/class_core.inc:329
 msgid ""
-"The object has changed since opened in GOsa. All changes that may be done by "
-"others get lost if you save this entry!"
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
 msgstr ""
 
-#: include/class_plugin.inc:1844
-msgid "Changing ACL dn"
+#: include/class_core.inc:340
+msgid ""
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
 msgstr ""
 
-#: include/class_plugin.inc:1844
-msgid "from"
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
 msgstr ""
 
-#: include/class_plugin.inc:1845 setup/class_setupStep_Migrate.inc:1250
-#: setup/class_setupStep_Migrate.inc:1300
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "to"
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
 msgstr ""
 
-#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
-msgid "Restore"
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
 msgstr ""
 
-#: include/class_plugin.inc:2072
-msgid "cut"
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
 msgstr ""
 
-#: include/class_plugin.inc:2080
-msgid "copy"
+#: include/class_core.inc:390
+msgid "Enable LDAP referral chasing."
 msgstr ""
 
-#: include/functions_helpviewer.inc:45
-#, php-format
-msgid "XML error in guide.xml: %s at line %d"
+#: include/class_core.inc:400
+msgid ""
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
 msgstr ""
 
-#: include/functions_helpviewer.inc:88
-msgid "No help available for this plugin."
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
 msgstr ""
 
-#: include/functions_helpviewer.inc:388
-#, php-format
-msgid "%s results for your search with the keyword %s"
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
 msgstr ""
 
-#: include/functions_helpviewer.inc:462
-#, php-format
-msgid "%s%% hit rate in file %s"
+#: include/class_core.inc:430
+msgid "Enable warnings for non encrypted connections."
 msgstr ""
 
-#: include/utils/class_timezone.inc:47
-#, php-format
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
+msgstr ""
+
+#: include/class_core.inc:451
 msgid ""
-"The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate "
-"correct timezone offset."
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
 msgstr ""
 
-#: include/utils/class_xml.inc:48
-msgid "in"
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
 msgstr ""
 
-#: include/utils/class_xml.inc:50
-msgid "on line"
+#: include/class_core.inc:472
+msgid ""
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
 msgstr ""
 
-#: include/utils/class_xml.inc:51
-msgid "XML error"
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:16
-#, php-format
-msgid "Select to list objects of type '%s'."
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:18
-#, php-format
-msgid "Select to list objects containig '%s'."
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:20
-#, php-format
-msgid "Select to list objects that have '%s' enabled"
+#: include/class_core.inc:514
+msgid ""
+"ISO language code which is used to override the automatic language detection."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:22
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-msgid "Select to search within subtrees"
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:34
-msgid "This object will be deleted!"
+#: include/class_core.inc:535
+msgid ""
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:36
-#, php-format
-msgid "This '%s' object will be deleted!"
+#: include/class_core.inc:545
+msgid "Template engine compile directory."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:41
+#: include/class_core.inc:555
 #, php-format
-msgid "This object will be deleted: %s"
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:43
-#, php-format
-msgid "This '%s' object will be deleted: %s"
+#: include/class_core.inc:576
+msgid ""
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:48
-msgid "This object will be deleted:"
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:50
-#, php-format
-msgid "This '%s' object will be deleted:"
+#: include/class_core.inc:596
+msgid ""
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:54
-#, php-format
-msgid "These objects will be deleted: %s"
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:56
-#, php-format
-msgid "These '%s' objects will be deleted: %s"
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:64
-msgid "You have no permission to delete this object!"
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:68 include/utils/class_msgPool.inc:72
-msgid "You have no permission to delete the object:"
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:75
-msgid "You have no permission to delete these objects:"
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:82
-msgid "You have no permission to create this object!"
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:86 include/utils/class_msgPool.inc:90
-msgid "You have no permission to create the object:"
+#: include/class_core.inc:667
+msgid ""
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:93
-msgid "You have no permission to create these objects:"
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:100
-msgid "You have no permission to modify this object!"
+#: include/class_core.inc:687
+msgid ""
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:104 include/utils/class_msgPool.inc:108
-msgid "You have no permission to modify the object:"
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:111
-msgid "You have no permission to modify these objects:"
+#: include/class_core.inc:707
+msgid "Connection URL for use with the gosa-ng service."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:118
-msgid "You have no permission to view this object!"
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:122 include/utils/class_msgPool.inc:126
-msgid "You have no permission to view the object:"
+#: include/class_core.inc:727
+msgid "Password used to connect to the 'gosaRpcServer'."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:129
-msgid "You have no permission to view these objects:"
+#: include/class_core.inc:737
+msgid "Connection URI for use with the gosa-si service (obsolete)."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:136
-msgid "You have no permission to move this object!"
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:144
-msgid "You have no permission to move the object:"
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:147
-msgid "You have no permission to move these objects:"
+#: include/class_core.inc:769
+msgid "Local time zone."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:157 include/utils/class_msgPool.inc:169
-#: include/utils/class_msgPool.inc:187
-msgid "Connection information"
+#: include/class_core.inc:779
+msgid ""
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:159
-#, php-format
-msgid "Cannot connect to %s database!"
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:171
-#, php-format
-msgid "Cannot select %s database!"
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:177
-#, php-format
-msgid "No %s server defined!"
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:189
-#, php-format
-msgid "Cannot query %s database!"
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:195
-#, php-format
-msgid "The field '%s' contains a reserved keyword!"
+#: include/class_core.inc:828
+msgid ""
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:201
-#, php-format
-msgid "Command specified as %s hook for plugin '%s' does not exist!"
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:208
-#, php-format
-msgid "'%s' command is invalid!"
+#: include/class_core.inc:848
+msgid ""
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:210
-#, php-format
-msgid "'%s' command (%s) for plugin %s is invalid!"
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:212
-#, php-format
-msgid "'%s' command for plugin %s is invalid!"
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:214
-#, php-format
-msgid "'%s' command (%s) is invalid!"
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:222
-#, php-format
-msgid "Cannot execute '%s' command!"
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:224
-#, php-format
-msgid "Cannot execute '%s' command (%s) for plugin %s!"
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:226
-#, php-format
-msgid "Cannot execute '%s' command for plugin %s!"
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:228
-#, php-format
-msgid "Cannot execute '%s' command (%s)!"
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:236
-#, php-format
-msgid "Value for '%s' is too large!"
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:238
-#, php-format
-msgid "'%s' must be smaller than %s!"
+#: include/class_core.inc:940
+msgid "Enable TLS for LDAP connections."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:246
-#, php-format
-msgid "Value for '%s' is too small!"
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:248
-#, php-format
-msgid "'%s' must be %d or above!"
+#: include/class_core.inc:960
+msgid ""
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:255
-#, php-format
-msgid "'%s' depends on '%s' - please provide both values!"
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:261
-#, php-format
-msgid "There is already an entry with this '%s' attribute in the system!"
+#: include/class_core.inc:980
+msgid ""
+"String containing the SID for Samba setups without the Domain object in LDAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:267
-#, php-format
-msgid "The required field '%s' is empty!"
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:275
-msgid "Example"
+#: include/class_core.inc:1000
+msgid "Enable manual object snapshots."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:295
-#, php-format
-msgid "The Field '%s' contains invalid characters"
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' is not allowed:"
+#: include/class_core.inc:1020
+msgid "DN of the snapshot administrator."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' are not allowed!"
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:299
-#, php-format
-msgid "The Field '%s' contains invalid characters!"
+#: include/class_core.inc:1041
+msgid ""
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:306
-#, php-format
-msgid "Missing %s PHP extension!"
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:336
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
-#: plugins/personal/generic/generic.tpl:251
-#: plugins/personal/generic/generic.tpl:269
-#: setup/class_setupStep_Migrate.inc:2869
-#, php-format
-msgid "Add"
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:336
+#: include/class_config.inc:168
 #, php-format
-msgid "Add %s"
+msgid "XML error in gosa.conf: %s at line %d"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:342
-#, php-format
-msgid "Delete %s"
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:348
-#, php-format
-msgid "Set %s"
+#: include/class_config.inc:711
+msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+msgstr ""
+
+#: include/class_config.inc:1130
+msgid "Configuration"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:354
+#: include/class_config.inc:1130
+msgid ""
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
+msgstr ""
+
+#: include/class_config.inc:1172 include/class_config.inc:1203
 #, php-format
-msgid "Edit..."
+msgid ""
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:354
+#: include/class_config.inc:1185
 #, php-format
-msgid "Edit %s..."
+msgid ""
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:360
-msgid "Back"
+#: include/exporter/class_PDF.inc:24
+msgid "Page"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:380
-#, php-format
-msgid "This account has no valid %s extensions!"
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:386
-#, php-format
-msgid ""
-"This account has %s settings enabled. You can disable them by clicking below."
+#: include/exporter/class_pdfExporter.inc:18
+msgid "No PDF export possible: there is no FPDF library installed."
+msgstr ""
+
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:389 include/utils/class_msgPool.inc:396
+#: include/class_jsonRPC.inc:38
 #, php-format
-msgid ""
-"This account has %s settings enabled. To disable them, you'll need to remove "
-"the %s settings first!"
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:405
+#: include/class_jsonRPC.inc:330
 #, php-format
-msgid ""
-"This account has %s settings disabled. You can enable them by clicking below."
+msgid "Unknown HTTP status code %s!"
+msgstr ""
+
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
 #, php-format
-msgid ""
-"This account has %s settings disabled. To enable them, you'll need to add "
-"the %s settings first!"
+msgid "Copy and paste failed!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:423
+#: include/class_CopyPasteHandler.inc:118
 #, php-format
-msgid "Add %s settings"
+msgid "Cannot set permission for %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:429
+#: include/class_CopyPasteHandler.inc:159
 #, php-format
-msgid "Remove %s settings"
+msgid "'%s' is no valid LDAP object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:435
-msgid "Click the 'Edit' button below to change informations in this dialog"
+#: include/class_CopyPasteHandler.inc:176
+#, php-format
+msgid "No write permission in '%s'"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "January"
+#: include/class_CopyPasteHandler.inc:193
+#, php-format
+msgid "Cannot set permission for '%s'"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "February"
+#: include/class_CopyPasteHandler.inc:396
+#, php-format
+msgid "These objects will be pasted: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "March"
+#: include/class_CopyPasteHandler.inc:420
+#, php-format
+msgid "This object will be pasted: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "April"
+#: include/class_CopyPasteHandler.inc:573
+msgid "Cannot paste"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "May"
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
+msgid "Access control"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "June"
+#: include/class_acl.inc:28
+msgid "Manage access control lists"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "July"
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, php-format
+msgid "All users"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "August"
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "September"
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
+msgid "One level"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:443
-msgid "October"
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
+msgid "Current object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:443
-msgid "November"
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
+msgid "Complete subtree"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:443
-msgid "December"
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Sunday"
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+msgid "Use ACL defined in role"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Monday"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Tuesday"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Wednesday"
+#: include/class_acl.inc:254
+msgid "Section"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Thursday"
+#: include/class_acl.inc:264
+msgid "Used"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Friday"
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
+msgid "Member"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Saturday"
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
+msgid "Permissions"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:456
-msgid "MySQL operation failed!"
+#: include/class_acl.inc:574
+msgid "No ACL settings for this category!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:464
-msgid "read operation"
+#: include/class_acl.inc:577
+#, php-format
+msgid "ACLs for: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:464
-msgid "add operation"
+#: include/class_acl.inc:583 include/class_acl.inc:587
+msgid "category ACL"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:464
-msgid "modify operation"
+#: include/class_acl.inc:639
+#, php-format
+msgid "Edit ACL for '%s' with scope '%s'"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:465
-msgid "delete operation"
+#: include/class_acl.inc:801 include/class_acl.inc:808
+msgid "Show/hide advanced settings"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:465
-msgid "search operation"
+#: include/class_acl.inc:819
+msgid "Create objects"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:465
-msgid "authentication"
+#: include/class_acl.inc:820
+msgid "Move objects"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:468
-#, php-format
-msgid "LDAP %s failed!"
+#: include/class_acl.inc:821
+msgid "Remove objects"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:470
-msgid "LDAP operation failed!"
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:485
-msgid "Upload failed!"
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:488
-#, php-format
-msgid "Upload failed: %s"
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:495
-msgid "Communication failure with the infrastructure service!"
+#: include/class_acl.inc:832
+msgid "Complete object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:497
+#: include/class_acl.inc:984
 #, php-format
-msgid "Communication failure with the infrastructure service: %s"
+msgid "Unknown ACL type '%s'!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:504 include/utils/class_msgPool.inc:507
+#: include/class_acl.inc:1029
 #, php-format
-msgid "This '%s' is still in use by this object: %s"
+msgid "Unknown entry '%s'!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:510
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
 #, php-format
-msgid "This '%s' is still in use."
+msgid "ACL role: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:512
-#, php-format
-msgid "This '%s' is still in use by these objects: %s"
+#: include/class_acl.inc:1095
+msgid "unknown ACL role"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:518
+#: include/class_acl.inc:1103
 #, php-format
-msgid "File '%s' does not exist!"
+msgid "Contains settings for these objects: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:524
-#, php-format
-msgid "Cannot open file '%s' for reading!"
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+msgid "Members"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:530
-#, php-format
-msgid "Cannot open file '%s' for writing!"
+#: include/class_acl.inc:1120
+msgid "inactive"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:536
-#, php-format
-msgid ""
-"The value for '%s' is currently unconfigured or invalid, please check your "
-"configuration file!"
+#: include/class_acl.inc:1120
+msgid "No members"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:542
-#, php-format
-msgid "Cannot delete file '%s'!"
+#: include/class_acl.inc:1291
+msgid "Access control list"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:548
-#, php-format
-msgid "Cannot create folder '%s'!"
+#: include/class_acl.inc:1297
+msgid "ACL roles"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:554
-#, php-format
-msgid "Cannot delete folder '%s'!"
+#: include/class_acl.inc:1300
+msgid "ACL Entries"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:560
+#: include/class_socketClient.inc:108
 #, php-format
-msgid "Checking for %s support"
+msgid "Socket connection to %s:%s failed: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:566
+#: include/class_socketClient.inc:191
 #, php-format
-msgid "Install and activate the %s PHP module."
+msgid "Socket timeout of %s seconds reached!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:572
+#: include/class_userFilterEditor.inc:254
 #, php-format
-msgid ""
-"Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
-"setup?"
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:578
-msgid ""
-"The supplied base is not valid and has been reset to the previous value!"
+#: include/class_gosaSupportDaemon.inc:112
+msgid "GOsa support daemon"
 msgstr ""
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-msgid "Performance warning"
+#: include/class_gosaSupportDaemon.inc:787
+msgid "Cannot not parse XML!"
 msgstr ""
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
+#: include/class_gosaSupportDaemon.inc:1184
 #, php-format
-msgid "LDAP performance is poor: last query took about %.2fs!"
+msgid "Cannot send abort event for entry %s!"
 msgstr ""
 
-#: include/class_ldap.inc:693
+#: include/class_gosaSupportDaemon.inc:1204
 #, php-format
+msgid "Cannot remove entry %s!"
+msgstr ""
+
+#: include/class_GOsaRegistration.inc:127
 msgid ""
-"Cannot automatically create subtrees with RDN '%s': no object class found!"
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
 msgstr ""
 
-#: include/class_ldap.inc:744
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
 #, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': not supported"
+msgid ""
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
 msgstr ""
 
-#: include/class_ldap.inc:831
+#: include/class_SnapshotHandler.inc:58
 #, php-format
-msgid "while operating on '%s' using LDAP server '%s'"
+msgid ""
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
 msgstr ""
 
-#: include/class_ldap.inc:833
-#, php-format
-msgid "while operating on LDAP server %s"
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
+msgid "Filter editor"
 msgstr ""
 
-#: include/class_ldap.inc:1055
-#, php-format
-msgid ""
-"This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
-"in line %s"
+#: ihtml/themes/default/userFilterEditor.tpl:8
+msgid "Filter properties"
 msgstr ""
 
-#: include/class_ldap.inc:1084
-#, php-format
-msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+msgid "Public visible"
 msgstr ""
 
-#: include/class_log.inc:87
-#, php-format
-msgid "Logging failed: %s"
+#: ihtml/themes/default/userFilterEditor.tpl:45
+msgid "Enabled"
 msgstr ""
 
-#: include/class_log.inc:102
-#, php-format
-msgid "Invalid option '%s' specified!"
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
 msgstr ""
 
-#: include/class_log.inc:106
-msgid "Specified objectType is empty or invalid!"
+#: ihtml/themes/default/userFilterEditor.tpl:69
+msgid "Query"
 msgstr ""
 
-#: include/class_gosaSupportDaemon.inc:112
-msgid "GOsa support daemon"
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+msgid "Assigned ACL for current entry"
 msgstr ""
 
-#: include/class_gosaSupportDaemon.inc:787
-msgid "Cannot not parse XML!"
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
+msgid "New ACL"
 msgstr ""
 
-#: include/class_gosaSupportDaemon.inc:1184
-#, php-format
-msgid "Cannot send abort event for entry %s!"
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
+msgid "ACL type"
 msgstr ""
 
-#: include/class_gosaSupportDaemon.inc:1204
-#, php-format
-msgid "Cannot remove entry %s!"
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+msgid "Select an ACL type"
 msgstr ""
 
-#: include/class_config.inc:152
-#, php-format
-msgid "XML error in gosa.conf: %s at line %d"
+#: ihtml/themes/default/acl.tpl:40
+msgid "Additional filter options"
 msgstr ""
 
-#: include/class_config.inc:318
-msgid "Cannot bind to LDAP. Please contact the system administrator."
+#: ihtml/themes/default/acl.tpl:54
+msgid "Member selection"
 msgstr ""
 
-#: include/class_config.inc:695
-msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
 msgstr ""
 
-#: include/class_config.inc:1105
-msgid "Configuration"
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+msgid "List message possible targets"
 msgstr ""
 
-#: include/class_config.inc:1105
-msgid ""
-"The configuration file you are using seems to be outdated. Please move the "
-"GOsa configuration file away to run the GOsa setup again."
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
 msgstr ""
 
-#: include/class_pluglist.inc:58
-msgid "All objects in this category"
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+msgid "List of available ACL categories"
 msgstr ""
 
-#: include/class_pluglist.inc:183
-msgid "The configuration format has changed. Please re-run setup!"
+#: ihtml/themes/default/acl.tpl:120
+msgid "ACL for this object"
 msgstr ""
 
-#: include/class_pluglist.inc:202 include/class_pluglist.inc:203
-#: include/class_pluglist.inc:316
-#: plugins/admin/departments/class_department.inc:145
-#: plugins/personal/generic/class_user.inc:273
-#: plugins/personal/generic/class_user.inc:1872
-msgid "Unknown"
+#: ihtml/themes/default/acl.tpl:126
+msgid "Available roles"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#, php-format
-msgid "Copy and paste failed!"
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+msgid "Attention"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:193
-#, php-format
-msgid "Cannot set permission for '%s'"
+#: ihtml/themes/default/removeEntries.tpl:14
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:159
-#, php-format
-msgid "'%s' is no vaild LDAP object"
+#: ihtml/themes/default/userFilter.tpl:1
+msgid "List of defined filters"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:176
-#, php-format
-msgid "No write permission in '%s'"
+#: ihtml/themes/default/snapshotdialog.tpl:3
+msgid "Restoring object snapshots"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:396
-#, php-format
-msgid "These objects will be pasted: %s"
+#: ihtml/themes/default/snapshotdialog.tpl:6
+msgid ""
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:420
-#, php-format
-msgid "This object will be pasted: %s"
+#: ihtml/themes/default/snapshotdialog.tpl:9
+msgid ""
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:572
-msgid "Cannot paste"
+#: ihtml/themes/default/snapshotdialog.tpl:12
+msgid ""
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
 msgstr ""
 
-#: include/class_msg_dialog.inc:124
-msgid "Please fix the above error and reload the page."
+#: ihtml/themes/default/snapshotdialog.tpl:29
+msgid "There is no snapshot available that can be restored"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:966
-#: plugins/admin/groups/class_group.inc:1174
-#: plugins/admin/users/class_userManagement.inc:870
-#: plugins/admin/departments/class_department.inc:656
-#: plugins/personal/generic/class_user.inc:37
-#: plugins/personal/generic/class_user.inc:1668
-#: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
-msgid "Generic"
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:43
-#: plugins/personal/posix/class_posixAccount.inc:37
-msgid "UNIX"
+#: ihtml/themes/default/snapshotdialog.tpl:50
+msgid "Creating object snapshots"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:45
-#: plugins/admin/ogroups/tabs_ogroups.inc:148
-#: plugins/admin/groups/class_groupManagement.inc:164
-#: plugins/admin/users/class_userManagement.inc:877
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
-msgid "Mail"
+#: ihtml/themes/default/snapshotdialog.tpl:53
+msgid ""
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:47
-#: plugins/generic/references/class_reference.inc:49
-#: plugins/admin/groups/class_groupManagement.inc:172
-#: plugins/admin/users/class_userManagement.inc:882
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:78
-msgid "Samba"
+#: ihtml/themes/default/snapshotdialog.tpl:56
+msgid ""
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:894
-msgid "FAX"
+#: ihtml/themes/default/snapshotdialog.tpl:71
+msgid "Time stamp"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:53
-msgid "Proxy"
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:55
-msgid "FTP"
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:57
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
-#: plugins/admin/ogroups/class_ogroupManagement.inc:184
-#: plugins/admin/ogroups/ogroup-list.xml:79
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
-#: plugins/admin/groups/group-list.xml:15
-#: plugins/admin/groups/group-list.xml:96
-#: plugins/personal/posix/groupSelect/group-list.xml:15
-msgid "Group"
+#: ihtml/themes/default/password.tpl:5
+msgid "Change your password"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:59
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
-#: plugins/admin/ogroups/class_ogroupManagement.inc:186
-#: plugins/admin/departments/dep-list.xml:55
-#: plugins/admin/departments/dep-list.xml:71
-#: plugins/admin/departments/dep-list.xml:138
-#: plugins/admin/departments/class_departmentManagement.inc:249
-#: plugins/personal/generic/class_user.inc:1695
-#: plugins/personal/generic/generic.tpl:307
-msgid "Department"
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:61
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
-#: plugins/admin/ogroups/class_ogroupManagement.inc:188
-#: plugins/admin/groups/class_groupManagement.inc:180
-#: plugins/admin/users/class_userManagement.inc:898
-#: plugins/admin/departments/generic.tpl:106
-#: plugins/admin/departments/class_department.inc:370
-#: plugins/admin/departments/organization.tpl:105
-#: plugins/personal/generic/class_user.inc:1356
-#: plugins/personal/generic/class_user.inc:1819
-#: plugins/personal/generic/generic.tpl:398
-#: plugins/personal/generic/generic.tpl:579
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:86
-msgid "Phone"
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
+msgid "Password change"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:185
-msgid "Application"
+#: ihtml/themes/default/password.tpl:72
+msgid ""
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:65
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
-#: plugins/admin/ogroups/class_ogroupManagement.inc:187
-#: plugins/personal/posix/trustSelect/trust-list.xml:14
-#: setup/setup_config2.tpl:219 setup/setup_config2.tpl:264
-msgid "Server"
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:67
-msgid "Thin Client"
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:69
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
-#: plugins/admin/ogroups/class_ogroupManagement.inc:189
-#: plugins/personal/posix/trustSelect/trust-list.xml:22
-msgid "Workstation"
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
+msgid "User name"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:71
-#: plugins/admin/ogroups/ogroup-list.xml:15
-msgid "Object group"
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:73
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
-#: plugins/admin/ogroups/class_ogroupManagement.inc:192
-msgid "Printer"
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
 msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Object name"
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
 msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Contents"
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
+msgid "Password strength"
 msgstr ""
 
-#: plugins/generic/references/contents.tpl:18
-msgid "This object has no relationship to other objects."
+#: ihtml/themes/default/password.tpl:131
+msgid "Click here to change your password"
 msgstr ""
 
-#: plugins/generic/welcome/main.inc:26
-#, php-format
-msgid "Welcome %s!"
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
 msgstr ""
 
-#: plugins/generic/welcome/welcome.tpl:4
-msgid ""
-"This is the GOsa main menu. You can select your tasks from the menu on the "
-"left, or by choosing one of the pictograms below. All changes apply directly "
-"to your companies LDAP server."
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
 msgstr ""
 
-#: plugins/generic/welcome/welcome.tpl:8
+#: ihtml/themes/default/islocked.tpl:14
 msgid ""
-"Use 'Sign out' on the upper left to close the connection and 'Main' to get "
-"back to the pictogram view."
-msgstr ""
-
-#: plugins/generic/welcome/welcome.tpl:15
-msgid "The GOsa team"
-msgstr ""
-
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
-#: plugins/admin/groups/userSelect/user-list.xml:10
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
-#: plugins/personal/posix/trustSelect/trust-list.xml:10
-#: plugins/personal/posix/groupSelect/group-list.xml:11
-msgid "Please select the desired entries"
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
-#: plugins/admin/ogroups/class_ogroupManagement.inc:191
-#: plugins/personal/posix/trustSelect/trust-list.xml:30
-msgid "Terminal"
+#: ihtml/themes/default/islocked.tpl:23
+msgid "Read only"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:183
-#: plugins/admin/groups/userSelect/user-list.xml:14
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
-#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
-#: setup/setup_config2.tpl:228 setup/setup_config2.tpl:273
-msgid "User"
+#: ihtml/themes/default/copyPasteDialog.tpl:1
+msgid "Copy & paste wizard"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:29
-#: plugins/admin/ogroups/class_ogroup.inc:768
-#: plugins/admin/ogroups/class_ogroup.inc:783
-#: plugins/admin/ogroups/class_ogroup.inc:787
-#: plugins/admin/ogroups/class_ogroup.inc:975
-#: plugins/admin/ogroups/ogroup-filter.tpl:29
-#: plugins/admin/ogroups/ogroup-list.xml:41
-#: plugins/admin/groups/userSelect/user-filter.tpl:17
-#: plugins/admin/groups/group-filter.tpl:21
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:17
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:21
-#: plugins/admin/groups/group-list.xml:58
-#: plugins/admin/groups/class_group.inc:1045
-#: plugins/admin/groups/class_group.inc:1056
-#: plugins/admin/groups/class_group.inc:1058
-#: plugins/admin/groups/class_group.inc:1075
-#: plugins/admin/groups/class_group.inc:1089
-#: plugins/admin/groups/class_group.inc:1096
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:538
-#: plugins/admin/users/class_userManagement.inc:585
-#: plugins/admin/users/user-filter.tpl:24
-#: plugins/admin/departments/class_domain.inc:47
-#: plugins/admin/departments/class_domain.inc:49
-#: plugins/admin/departments/class_domain.inc:54
-#: plugins/admin/departments/class_domain.inc:56
-#: plugins/admin/departments/class_domain.inc:58
-#: plugins/admin/departments/class_domain.inc:90
-#: plugins/admin/departments/dep-filter.tpl:13
-#: plugins/admin/departments/class_localityGeneric.inc:48
-#: plugins/admin/departments/class_localityGeneric.inc:50
-#: plugins/admin/departments/class_localityGeneric.inc:55
-#: plugins/admin/departments/class_localityGeneric.inc:57
-#: plugins/admin/departments/class_localityGeneric.inc:59
-#: plugins/admin/departments/class_organizationGeneric.inc:79
-#: plugins/admin/departments/class_organizationGeneric.inc:81
-#: plugins/admin/departments/class_organizationGeneric.inc:86
-#: plugins/admin/departments/class_organizationGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:90
-#: plugins/admin/departments/class_countryGeneric.inc:47
-#: plugins/admin/departments/class_countryGeneric.inc:49
-#: plugins/admin/departments/class_countryGeneric.inc:54
-#: plugins/admin/departments/class_countryGeneric.inc:56
-#: plugins/admin/departments/class_countryGeneric.inc:58
-#: plugins/admin/departments/class_dcObject.inc:47
-#: plugins/admin/departments/class_dcObject.inc:49
-#: plugins/admin/departments/class_dcObject.inc:54
-#: plugins/admin/departments/class_dcObject.inc:56
-#: plugins/admin/departments/class_dcObject.inc:58
-#: plugins/admin/departments/class_dcObject.inc:90
-#: plugins/admin/departments/class_department.inc:349
-#: plugins/admin/departments/class_department.inc:351
-#: plugins/admin/departments/class_department.inc:356
-#: plugins/admin/departments/class_department.inc:363
-#: plugins/admin/departments/class_department.inc:367
-#: plugins/admin/acl/class_aclRole.inc:733
-#: plugins/admin/acl/class_aclRole.inc:745
-#: plugins/admin/acl/class_aclRole.inc:755 plugins/admin/acl/acl-list.xml:49
-#: plugins/admin/acl/paste_role.tpl:4 plugins/admin/acl/acl-filter.tpl:21
-#: plugins/admin/acl/acl_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1336
-#: plugins/personal/generic/class_user.inc:1378
-#: plugins/personal/generic/class_user.inc:1834
-#: plugins/personal/posix/trustSelect/trust-list.xml:56
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:23
-#: plugins/personal/posix/groupSelect/group-filter.tpl:21
-#: plugins/personal/posix/groupSelect/group-list.xml:41
-#: setup/setup_migrate.tpl:283 setup/setup_feedback.tpl:31
-msgid "Name"
+#: ihtml/themes/default/copyPasteDialog.tpl:7
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
-#: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:976
-#: plugins/admin/ogroups/generic.tpl:26
-#: plugins/admin/groups/userSelect/user-list.tpl:13
-#: plugins/admin/groups/generic.tpl:39
-#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:13
-#: plugins/admin/groups/group-list.tpl:13
-#: plugins/admin/groups/class_group.inc:1185
-#: plugins/admin/users/user-list.tpl:13
-#: plugins/admin/departments/locality.tpl:28
-#: plugins/admin/departments/generic.tpl:39
-#: plugins/admin/departments/class_domain.inc:92
-#: plugins/admin/departments/class_localityGeneric.inc:94
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/admin/departments/class_countryGeneric.inc:94
-#: plugins/admin/departments/class_dcObject.inc:93
-#: plugins/admin/departments/domain.tpl:28
-#: plugins/admin/departments/country.tpl:28
-#: plugins/admin/departments/dcObject.tpl:28
-#: plugins/admin/departments/class_department.inc:668
-#: plugins/admin/departments/dep-list.tpl:13
-#: plugins/admin/departments/organization.tpl:39
-#: plugins/admin/acl/acl-list.tpl:13 plugins/admin/acl/class_aclRole.inc:734
-#: plugins/admin/acl/acl_role.tpl:27
-#: plugins/personal/generic/class_user.inc:1688
-#: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/posix/trustSelect/trust-list.tpl:13
-#: plugins/personal/posix/groupSelect/group-list.tpl:13
-#: setup/setup_ldap.tpl:55
-msgid "Base"
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:3
-#: plugins/admin/ogroups/ogroup-filter.tpl:3
-#: plugins/admin/groups/userSelect/user-filter.tpl:3
-#: plugins/admin/groups/group-filter.tpl:3
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:3
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:3
-#: plugins/admin/users/user-filter.tpl:3
-#: plugins/admin/departments/dep-filter.tpl:3
-#: plugins/admin/acl/acl-filter.tpl:3
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:3
-#: plugins/personal/posix/groupSelect/group-filter.tpl:3
-msgid "Filter"
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:11
-msgid "Show department"
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+msgid "Cancel all"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:12
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:11
-msgid "Show users"
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+msgid "Operation complete"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:12
-msgid "Show groups"
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:15
-msgid "Show server"
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:16
-msgid "Show workstation"
+#: ihtml/themes/default/logout.tpl:9
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:17
-msgid "Show terminal"
+#: ihtml/themes/default/logout.tpl:16
+msgid "Login again"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:19
-msgid "Show printer"
+#: ihtml/themes/default/login.tpl:31
+msgid "Login to GOsa"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:20
-msgid "Show phone"
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
 msgstr ""
 
-#: plugins/admin/ogroups/remove.tpl:6
-msgid ""
-"Please double check if you really want to do this since there is no way for "
-"GOsa to get your data back."
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:972
-msgid "Object groups"
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:26
-msgid "Manage object groups"
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+msgid "Log in"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:115
-#: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:204
-msgid "Infrastructure error"
+#: ihtml/themes/default/sizelimit.tpl:3
+msgid ""
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:182
-msgid "Templates"
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:190
-msgid "Windows Install"
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:238
-msgid "You cannot combine terminals and workstations in one object group!"
+#: ihtml/themes/default/sizelimit.tpl:11
+msgid ""
+"ignore this error and show all entries that fit into the defined size limit"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:354
-#: plugins/admin/users/class_userManagement.inc:463
-#: plugins/admin/users/class_userManagement.inc:497
-#: plugins/admin/users/class_userManagement.inc:528
-msgid "none"
+#: ihtml/themes/default/infoPage.tpl:4
+msgid "User information"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:356
-msgid "too many different objects!"
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:358
-msgid "users"
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+msgid "Surname"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:359
-msgid "groups"
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+msgid "Given name"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:360
-msgid "applications"
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:361
-msgid "departments"
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:362
-msgid "servers"
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:363
-msgid "workstations"
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:364
-msgid "winstations"
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:365
-msgid "terminals"
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
+msgid "Home phone number"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:366
-msgid "phones"
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:367
-msgid "printers"
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
+msgid "Organizational Unit"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-#: setup/setup_config2.tpl:143
-msgid "disabled"
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-msgid "full access"
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:413
-#: plugins/admin/groups/class_group.inc:434
-#: plugins/personal/posix/class_posixAccount.inc:574
-msgid "allow access to these hosts"
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
+msgid "Department number"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:601
-msgid "Non existing dn:"
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
+msgid "Employee number"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:758
-#, php-format
-msgid ""
-"These systems are already configured by other object groups and cannot be "
-"added:"
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:792
-msgid "You can combine two different object types at maximum, only!"
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+msgid "User settings"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:967
-msgid "Object group generic"
+#: ihtml/themes/default/infoPage.tpl:55
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:978
-msgid "Sytem trust"
+#: ihtml/themes/default/infoPage.tpl:61
+msgid "Administrative contact"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:979
-msgid "Member"
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
 msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:7
-#: plugins/admin/ogroups/paste_generic.tpl:4
-#: plugins/admin/groups/generic.tpl:11
-#: plugins/admin/groups/paste_generic.tpl:5
-msgid "Group name"
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
 msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:10
-msgid "Name of the group"
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
+msgid "Error message"
 msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:18 plugins/admin/groups/generic.tpl:28
-msgid "Descriptive text for this group"
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
 msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1191
-#: plugins/personal/posix/generic.tpl:139
-msgid "System trust"
+#: ihtml/themes/default/framework.tpl:9
+msgid "Log out"
 msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:37 plugins/admin/groups/generic.tpl:160
-#: plugins/admin/groups/generic.tpl:194 plugins/personal/posix/generic.tpl:141
-#: plugins/personal/posix/generic.tpl:169
-msgid "Trust mode"
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
 msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:65
-msgid "Member objects"
+#: ihtml/themes/default/framework.tpl:22
+#, php-format
+msgid "Session expires in %d!"
 msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:133
-msgid "Phone queue"
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
 msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:160
-msgid "Systems"
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
 msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:171
-#: plugins/admin/ogroups/tabs_ogroups.inc:194
-msgid "Startup"
+#: ihtml/themes/default/logout-close.tpl:5
+msgid "Your GOsa session has been closed!"
 msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:182
-#: plugins/admin/ogroups/tabs_ogroups.inc:203
-msgid "Devices"
+#: ihtml/themes/default/logout-close.tpl:7
+msgid ""
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
 msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:213
-msgid "FAI summary"
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+msgid "LDAP inspection"
 msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:222
-#: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:890
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
-msgid "Environment"
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
 msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:241
-msgid "Applications"
+#: setup/class_setupStep_Migrate.inc:59
+msgid "Checking for root object"
 msgstr ""
 
-#: plugins/admin/ogroups/paste_generic.tpl:7
-msgid "Please enter the new object group name"
+#: setup/class_setupStep_Migrate.inc:65
+msgid "Inspecting object classes in root object"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:11
-msgid "user groups"
+#: setup/class_setupStep_Migrate.inc:71
+msgid "Checking permission for LDAP database"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:12
-msgid "nested groups"
+#: setup/class_setupStep_Migrate.inc:78
+msgid "Checking for super administrator"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:13
-msgid "application groups"
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+msgid "LDAP query failed"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:14
-msgid "department groups"
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:15
-msgid "server groups"
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:16
-msgid "workstation groups"
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
+#, php-format
+msgid ""
+"The specified user '%s' does not have full access to your LDAP database."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:17
-msgid "windows workstation groups"
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:18
-msgid "terminal groups"
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:19
-msgid "printer groups"
+#: setup/class_setupStep_Migrate.inc:377
+msgid "Migration error"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:20
-msgid "phone groups"
+#: setup/class_setupStep_Migrate.inc:377
+#, php-format
+msgid "Cannot add ACL for user '%s':"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:11
-msgid "List of object groups"
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
+msgid "Input error"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:74 plugins/admin/users/user-list.xml:73
-#: plugins/admin/departments/locality.tpl:8
-#: plugins/admin/departments/generic.tpl:7
-#: plugins/admin/departments/domain.tpl:8
-#: plugins/admin/departments/country.tpl:8
-#: plugins/admin/departments/dcObject.tpl:8
-#: plugins/admin/departments/organization.tpl:7
-msgid "Properties"
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:90 plugins/admin/users/user-list.xml:89
-#: plugins/admin/departments/dep-list.xml:98 plugins/admin/acl/acl-list.xml:76
-#: setup/class_setupStep_Migrate.inc:1036
-#: setup/class_setupStep_Migrate.inc:1052
-msgid "Create"
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Password error"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-list.xml:115
-#: plugins/admin/users/user-list.xml:121
-#: plugins/admin/departments/dep-list.xml:160
-#: plugins/admin/departments/dep-list.xml:181
-#: plugins/admin/acl/acl-list.xml:95 plugins/admin/acl/acl-list.xml:144
-#: plugins/personal/generic/generic_certs.tpl:21
-#: plugins/personal/generic/generic_certs.tpl:45
-#: plugins/personal/generic/generic_certs.tpl:69
-#: setup/class_setupStep_Migrate.inc:2870
-msgid "Remove"
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Provided passwords do not match!"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:123
-#: plugins/admin/users/user-list.xml:156
-msgid "Send message"
+#: setup/class_setupStep_Migrate.inc:425
+msgid "Specify a valid user ID!"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:142
-msgid "Edit object group"
+#: setup/class_setupStep_Migrate.inc:450
+#, php-format
+msgid "Adding an administrative user failed: object '%s' already exists!"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:155
-msgid "Remove object group"
+#: setup/class_setupStep_Migrate.inc:662
+msgid ""
+"The LDAP root object is missing. It is required to use your LDAP service."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:6
-msgid "Select objects to add"
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
+msgid "Try to create root object"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:20
-#: plugins/admin/groups/trust_machines.tpl:19
-#: plugins/personal/posix/posix_groups.tpl:21
-msgid "Filters"
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:36
-msgid "Display objects of department"
+#: setup/class_setupStep_Migrate.inc:730
+#, php-format
+msgid "Missing GOsa object class '%s'!"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:37
-#: plugins/admin/ogroups/trust_machines.tpl:27
-#: plugins/admin/groups/trust_machines.tpl:26
-#: plugins/personal/posix/posix_groups.tpl:35
-#: plugins/personal/posix/trust_machines.tpl:27
-msgid "Choose the department the search will be based on"
+#: setup/class_setupStep_Migrate.inc:731
+msgid "Please check your installation."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:40
-msgid "Display objects matching"
+#: setup/class_setupStep_Migrate.inc:752
+#, php-format
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:41
-msgid "Regular expression for matching object names"
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
+msgid "Migrate"
 msgstr ""
 
-#: plugins/admin/ogroups/trust_machines.tpl:6
-#: plugins/admin/groups/trust_machines.tpl:6
-#: plugins/personal/posix/trust_machines.tpl:6
-msgid "Select systems to add"
+#: setup/setup_checks.tpl:2
+msgid ""
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
 msgstr ""
 
-#: plugins/admin/ogroups/trust_machines.tpl:26
-#: plugins/admin/groups/trust_machines.tpl:25
-#: plugins/personal/posix/trust_machines.tpl:26
-msgid "Display systems of department"
+#: setup/setup_checks.tpl:5
+msgid "Inspection"
 msgstr ""
 
-#: plugins/admin/ogroups/trust_machines.tpl:30
-#: plugins/admin/groups/trust_machines.tpl:29
-#: plugins/personal/posix/trust_machines.tpl:30
-msgid "Display systems matching"
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
 msgstr ""
 
-#: plugins/admin/ogroups/trust_machines.tpl:31
-#: plugins/admin/groups/trust_machines.tpl:30
-#: plugins/personal/posix/trust_machines.tpl:31
-msgid "Regular expression for matching addresses"
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
 msgstr ""
 
-#: plugins/admin/groups/remove.tpl:6
-msgid ""
-"This may be a primary user group. Please double check if you really want to "
-"do this since there is no way for GOsa to get your data back."
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
 msgstr ""
 
-#: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:541
-#: plugins/admin/users/user-list.xml:57
-#: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1375
-#: plugins/personal/generic/class_user.inc:1680
-#: plugins/personal/generic/class_user.inc:1831
-msgid "Given name"
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
 msgstr ""
 
-#: plugins/admin/groups/userSelect/user-list.xml:48
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
-#: plugins/admin/users/user-list.xml:49
-#: plugins/personal/generic/class_user.inc:1679
-msgid "Surname"
+#: setup/setup_checks.tpl:50
+msgid "PHP setup configuration"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:14 plugins/personal/generic/generic.tpl:52
-#: plugins/personal/generic/generic.tpl:73
-#: plugins/personal/generic/generic.tpl:89
-msgid "Multiple edit"
+#: setup/setup_checks.tpl:50
+msgid "show information"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:17
-#: plugins/admin/groups/paste_generic.tpl:8
-msgid "Posix name of the group"
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:59
-#: plugins/admin/groups/paste_generic.tpl:13
-msgid "Normally IDs are autogenerated, select to specify manually"
+#: setup/class_setupStep_Finish.inc:40
+msgid "Write configuration file"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:62
-#: plugins/admin/groups/paste_generic.tpl:15
-msgid "Force GID"
+#: setup/class_setupStep_Finish.inc:41
+msgid "Finish - write the configuration file"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:65
-#: plugins/admin/groups/paste_generic.tpl:18
-msgid "Forced ID number"
+#: setup/class_setupStep_Finish.inc:106
+msgid ""
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
-msgid "Select to create a samba conform group"
+#: setup/class_setupStep_Finish.inc:108
+msgid "The configuration is currently not readable or it does not exists."
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
-msgid "in domain"
+#: setup/class_setupStep_Finish.inc:117
+#, php-format
+msgid ""
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:131
-msgid "Members are in a phone pickup group"
+#: setup/class_setupStep_Ldap.inc:54
+msgid "LDAP setup"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:146
-msgid "Members are in a nagios group"
+#: setup/class_setupStep_Ldap.inc:55
+msgid "LDAP connection setup"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:236
-msgid "Group members"
+#: setup/class_setupStep_Ldap.inc:56
+msgid ""
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:243
-msgid "In all groups"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+msgid "No"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:246
-msgid "Not in all groups"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+msgid "Yes"
 msgstr ""
 
-#: plugins/admin/groups/group-filter.tpl:11
-#: plugins/personal/posix/groupSelect/group-filter.tpl:11
-msgid "Show primary groups"
+#: setup/class_setupStep_Ldap.inc:113
+#, php-format
+msgid "Anonymous bind to server '%s' failed!"
 msgstr ""
 
-#: plugins/admin/groups/group-filter.tpl:12
-#: plugins/personal/posix/groupSelect/group-filter.tpl:12
-msgid "Show samba groups"
+#: setup/class_setupStep_Ldap.inc:115
+#, php-format
+msgid "Bind as user '%s' failed!"
 msgstr ""
 
-#: plugins/admin/groups/group-filter.tpl:13
-#: plugins/personal/posix/groupSelect/group-filter.tpl:13
-msgid "Show mail groups"
+#: setup/class_setupStep_Ldap.inc:120
+#, php-format
+msgid "Anonymous bind to server '%s' succeeded."
 msgstr ""
 
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:79
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:85
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
+#: setup/class_setupStep_Ldap.inc:121
+msgid "Please specify user and password!"
 msgstr ""
 
-#: plugins/admin/groups/paste_generic.tpl:1
-msgid "Group settings"
+#: setup/class_setupStep_Ldap.inc:123
+#, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
 msgstr ""
 
-#: plugins/admin/groups/group-list.xml:11
-msgid "List of groups"
+#: setup/class_setupStep_Feedback.inc:94
+msgid "UNIX accounts/groups"
 msgstr ""
 
-#: plugins/admin/groups/group-list.xml:23
-msgid "Group submenu entry"
+#: setup/class_setupStep_Feedback.inc:96
+msgid "Samba management"
 msgstr ""
 
-#: plugins/admin/groups/group-list.xml:31
-msgid "Group menu entry"
+#: setup/class_setupStep_Feedback.inc:98
+msgid "Mail system management"
 msgstr ""
 
-#: plugins/admin/groups/group-list.xml:155
-msgid "Edit group"
+#: setup/class_setupStep_Feedback.inc:100
+msgid "FAX system administration"
 msgstr ""
 
-#: plugins/admin/groups/group-list.xml:168
-msgid "Remove group"
+#: setup/class_setupStep_Feedback.inc:102
+msgid "Asterisk administration"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Cannot find group SID in your configuration!"
+#: setup/class_setupStep_Feedback.inc:104
+msgid "System inventory"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Samba group"
+#: setup/class_setupStep_Feedback.inc:106
+msgid "System/Configuration management"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain admins"
+#: setup/class_setupStep_Feedback.inc:108
+msgid "Address book"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain users"
+#: setup/class_setupStep_Feedback.inc:114
+msgid "Feedback"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:401
-msgid "Domain guests"
+#: setup/class_setupStep_Feedback.inc:115
+msgid "Get notifications or send feedback"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:406
-#, php-format
-msgid "Special group (%d)"
+#: setup/class_setupStep_Feedback.inc:116
+msgid "Notification and feedback"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:540
-#, php-format
-msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
+msgid "Setup error"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:546
-#, php-format
-msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Feedback error"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:624
-msgid "! unknown UID"
+#: setup/class_setupStep_Feedback.inc:140
+#, php-format
+msgid "Cannot send feedback to '%s': %s"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:667
-#, php-format
-msgid "Search returned too many results. Not displaying more than %s entries!"
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:894
-#, php-format
-msgid "Cannot find any SID for '%s'!"
+#: setup/class_setupStep_Feedback.inc:181
+msgid "Please specify a valid email address."
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:899
-#, php-format
-msgid "Cannot find any RIDBASE for '%s'!"
+#: setup/class_setupStep_Feedback.inc:185
+msgid ""
+"You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:994
-#, php-format
-msgid "The gidNumber '%s' is already in use by %s!"
+#: setup/setup_license.tpl:3
+msgid ""
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1108
-#: plugins/admin/groups/class_group.inc:1187
-#: plugins/personal/posix/class_posixAccount.inc:1045
-#: plugins/personal/posix/class_posixAccount.inc:1048
-#: plugins/personal/posix/generic.tpl:74
-#: plugins/personal/posix/paste_generic.tpl:45
-msgid "GID"
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1175
-msgid "Generic group settings"
+#: setup/setup_ldap.tpl:2
+msgid ""
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1189
-msgid "Samba group type"
+#: setup/setup_ldap.tpl:9
+msgid "Please choose the LDAP user to be used by GOsa"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1190
-msgid "Samba domain name"
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
+msgid "LDAP connection"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1192
-msgid "Phone pickup group"
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1193
-msgid "Nagios group"
+#: setup/setup_ldap.tpl:35
+msgid "Connection URI"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1195
-msgid "Group member"
+#: setup/setup_ldap.tpl:39
+msgid "TLS connection"
 msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:26
-msgid "Group administration"
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
+#: plugins/admin/ogroups/generic.tpl:26
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
+#: plugins/admin/departments/class_domain.inc:92
+#: plugins/admin/departments/class_organizationGeneric.inc:125
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
+#: plugins/admin/departments/class_dcObject.inc:93
+#: plugins/admin/departments/domain.tpl:28
+#: plugins/admin/users/user-list.tpl:12
+msgid "Base"
 msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:156
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:62
-msgid "Posix"
+#: setup/setup_ldap.tpl:57
+msgid "Reload"
 msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:157
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:63
-msgid "Edit posix properties"
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+msgid "Authentication"
 msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:879
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
-msgid "Edit mail properties"
+#: setup/setup_ldap.tpl:66
+msgid "Administrator DN"
 msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:883
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
-msgid "Edit samba properties"
+#: setup/setup_ldap.tpl:71
+msgid "Select user"
 msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:899
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
-msgid "Edit phone properties"
+#: setup/setup_ldap.tpl:81
+msgid "Automatically append LDAP base to administrator DN"
 msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:188
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:94
-msgid "Menu"
+#: setup/setup_ldap.tpl:85
+msgid "Administrator password"
 msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:189
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:95
-msgid "Edit start menu properties"
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
+msgid "Schema based settings"
 msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:891
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
-msgid "Edit environment properties"
+#: setup/setup_ldap.tpl:94
+msgid "Use RFC 2307bis compliant groups"
 msgstr ""
 
-#: plugins/admin/users/remove.tpl:6 plugins/admin/acl/remove.tpl:6
-msgid ""
-"This includes all account data, system access rules, imap settings, etc. for "
-"this user. Please double check if your really want to do this since there is "
-"no way for GOsa to get your data back."
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
+msgid "Current status"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:4
-msgid ""
-"To change the user password use the fields below. The changes take effect "
-"immediately. Please memorize the new password, because the user wouldn't be "
-"able to login without it."
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/generic/password.tpl:8
-#: plugins/personal/password/password.tpl:8
-msgid ""
-"Changing the password affects your authentification on mail, proxy, samba "
-"and unix services."
+#: setup/setup_language.tpl:3
+msgid "Please select the preferred language"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:21 plugins/admin/users/password.tpl:57
-#: plugins/personal/generic/password.tpl:27
-#: plugins/personal/generic/password.tpl:70
-#: plugins/personal/password/password.tpl:32
-#: plugins/personal/password/password.tpl:75
-msgid "Repeat new password"
+#: setup/setup_language.tpl:5
+msgid ""
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
 msgstr ""
 
-#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
-msgid "Strength"
+#: setup/setup_language.tpl:9
+msgid "Please select your preferred language here"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:35
-msgid "Password input dialog"
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:39
-#: plugins/personal/generic/password.tpl:51
-#: plugins/personal/password/password.tpl:56
-msgid "Use proposal"
+#: setup/setup_welcome.tpl:5
+msgid ""
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
 msgstr ""
 
-#: plugins/admin/users/password.tpl:43
-#: plugins/personal/generic/password.tpl:55
-#: plugins/personal/password/password.tpl:60 setup/setup_migrate.tpl:470
-#: setup/setup_migrate.tpl:513 setup/setup_migrate.tpl:557
-msgid "Refresh"
+#: setup/setup_welcome.tpl:9
+msgid "What you need to generate a configuration file:"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:49
-#: plugins/personal/generic/password.tpl:61
-#: plugins/personal/password/password.tpl:66
-msgid "Manually specify a password"
+#: setup/setup_welcome.tpl:13
+msgid "The hostname of your LDAP server"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:77
-msgid "Enforce password change on next login."
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:84
-#: plugins/personal/generic/password.tpl:88
-#: plugins/personal/password/password.tpl:93
-msgid "Set password"
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
 msgstr ""
 
-#: plugins/admin/users/template.tpl:2
-msgid "Creating a new user using templates"
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
 msgstr ""
 
-#: plugins/admin/users/template.tpl:6
+#: setup/setup_welcome.tpl:20
 msgid ""
-"Creating a new user can be assisted by using templates. Many database "
-"records will be filled automatically. Choose 'none' to skip the usage of "
-"templates."
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
 msgstr ""
 
-#: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:535
-#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
-#: plugins/admin/users/templatize.tpl:15
-msgid "Template"
+#: setup/setup_welcome.tpl:24
+msgid "Starting the setup"
 msgstr ""
 
-#: plugins/admin/users/template.tpl:23 plugins/personal/generic/generic.tpl:49
-#: plugins/personal/generic/paste_generic.tpl:7
-msgid "Last name"
+#: setup/setup_welcome.tpl:26
+msgid ""
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
 msgstr ""
 
-#: plugins/admin/users/template.tpl:27 plugins/personal/generic/generic.tpl:69
-#: plugins/personal/generic/paste_generic.tpl:11
-msgid "First name"
+#: setup/setup_welcome.tpl:32
+msgid "Click the 'Next' button when you've finished."
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:26
-msgid "Manage users"
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
+msgid "LDAP schema check"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:391
-msgid "You have no permission to change this users password!"
+#: setup/class_setupStep_Schema.inc:39
+msgid "Perform test on your current LDAP schema"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:782
-msgid "Account locking"
+#: setup/class_setup.inc:183
+msgid "Setup"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:783
-#, php-format
-msgid ""
-"Password method '%s' does not support locking. Account (%s) has not been "
-"locked!"
+#: setup/class_setup.inc:195
+msgid "Completed"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:856
-msgid "Unlock account"
+#: setup/class_setup.inc:235
+msgid "Check again"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:858
-msgid "Lock account"
+#: setup/class_setup.inc:238
+msgid "Next"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:871
-msgid "Edit generic properties"
+#: setup/setup_migrate.tpl:2
+msgid ""
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:874
-#: plugins/personal/posix/class_posixAccount.inc:304
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/class_posixAccount.inc:326
-#: plugins/personal/posix/class_posixAccount.inc:329
-msgid "POSIX"
+#: setup/setup_migrate.tpl:5
+msgid "Checks"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:875
-msgid "Edit POSIX properties"
+#: setup/setup_migrate.tpl:22
+msgid "Add required object classes to the LDAP base"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:886
-msgid "Netatalk"
+#: setup/setup_migrate.tpl:24
+msgid "Current"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:887
-msgid "Edit netatalk properties"
+#: setup/setup_migrate.tpl:28
+msgid "After migration"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:895
-msgid "Edit FAX properties"
+#: setup/setup_migrate.tpl:35
+msgid "Close"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:11
-msgid "List of users"
+#: setup/setup_migrate.tpl:40
+msgid "Create a new GOsa administrator account"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:140
-msgid "Lock users"
+#: setup/setup_migrate.tpl:41
+msgid ""
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:148
-msgid "Unlock users"
+#: setup/setup_migrate.tpl:57
+msgid "Password (again)"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:167
-msgid "Apply template"
+#: setup/setup_finish.tpl:3
+msgid "Create your configuration file"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:199
-msgid "New user from template"
+#: setup/setup_finish.tpl:10
+msgid "Depending on the user name your web server is running on:"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:213
-msgid "Edit user"
+#: setup/setup_finish.tpl:27
+msgid "Download configuration"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:222
-msgid "%{filter:lockLabel(userPassword)}"
+#: setup/setup_finish.tpl:33
+msgid "Status: "
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:245
-msgid "Remove user"
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
 msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:11
-msgid "Show templates"
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
 msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:12
-msgid "Show functional users"
+#: setup/class_setupStep_Checks.inc:66
+msgid "Checking PHP version"
 msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:13
-msgid "Show POSIX users"
+#: setup/class_setupStep_Checks.inc:67
+#, php-format
+msgid "PHP must be of version %s or above."
 msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:14
-msgid "Show Mail users"
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
 msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:15
-msgid "Show Samba users"
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
 msgstr ""
 
-#: plugins/admin/users/templatize.tpl:2
-msgid "Applying a template"
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
 msgstr ""
 
-#: plugins/admin/users/templatize.tpl:6
+#: setup/class_setupStep_Checks.inc:91
 msgid ""
-"Applying a template to several users will replace all user attributes "
-"defined in the template."
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
 msgstr ""
 
-#: plugins/admin/users/templatize.tpl:33
-msgid "No templates available!"
-msgstr ""
-
-#: plugins/admin/departments/remove.tpl:6
-msgid ""
-"This includes 'all' accounts, systems, etc. in this subtree. Please double "
-"check if your really want to do this since there is no way for GOsa to get "
-"your data back."
+#: setup/class_setupStep_Checks.inc:99
+msgid "GOsa requires this module for the samba integration."
 msgstr ""
 
-#: plugins/admin/departments/remove.tpl:10
+#: setup/class_setupStep_Checks.inc:107
 msgid ""
-"Best thing to do before performing this action would be to save the current "
-"contents of your LDAP tree in a file. So - if you've done so - press "
-"'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-
-#: plugins/admin/departments/dep-list.xml:11
-msgid "List of departments"
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
 msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:15
-#: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:189
-msgid "Domain"
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
 msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:23
-#: plugins/admin/departments/dep-list.xml:110
-msgid "Domain component"
+#: setup/class_setupStep_Checks.inc:122
+msgid "mbstring"
 msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:31
-#: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_countryGeneric.inc:82
-#: plugins/admin/departments/class_countryGeneric.inc:83
-msgid "Country"
+#: setup/class_setupStep_Checks.inc:123
+msgid "GOsa requires this module to handle Unicode strings."
 msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:39
-#: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_localityGeneric.inc:82
-#: plugins/admin/departments/class_localityGeneric.inc:83
-msgid "Locality"
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
 msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:47
-#: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:237
-#: plugins/admin/departments/class_organizationGeneric.inc:113
-#: plugins/admin/departments/class_organizationGeneric.inc:114
-#: plugins/personal/generic/class_user.inc:1694
-#: plugins/personal/generic/generic.tpl:299 setup/setup_feedback.tpl:23
-msgid "Organization"
+#: setup/class_setupStep_Checks.inc:131
+msgid "GOsa requires this module to calculate dates."
 msgstr ""
 
-#: plugins/admin/departments/locality.tpl:11
-#: plugins/admin/departments/dcObject.tpl:11
-msgid "Locality name"
+#: setup/class_setupStep_Checks.inc:138
+msgid "MySQL"
 msgstr ""
 
-#: plugins/admin/departments/locality.tpl:14
-#: plugins/admin/departments/dcObject.tpl:14
-msgid "Name of locality to create"
+#: setup/class_setupStep_Checks.inc:139
+msgid ""
+"GOsa requires this module to communicate with several supported databases."
 msgstr ""
 
-#: plugins/admin/departments/locality.tpl:22
-#: plugins/admin/departments/domain.tpl:22
-#: plugins/admin/departments/country.tpl:22
-#: plugins/admin/departments/dcObject.tpl:22
-#: plugins/admin/departments/organization.tpl:22
-msgid "Descriptive text for department"
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
 msgstr ""
 
-#: plugins/admin/departments/locality.tpl:39
-#: plugins/admin/departments/generic.tpl:51
-#: plugins/admin/departments/class_domain.inc:93
-#: plugins/admin/departments/class_localityGeneric.inc:93
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_countryGeneric.inc:93
-#: plugins/admin/departments/class_dcObject.inc:92
-#: plugins/admin/departments/domain.tpl:39
-#: plugins/admin/departments/country.tpl:39
-#: plugins/admin/departments/dcObject.tpl:39
-#: plugins/admin/departments/class_department.inc:675
-#: plugins/admin/departments/organization.tpl:51
-#: plugins/personal/generic/class_user.inc:1697
-#: plugins/personal/generic/generic.tpl:340
-#: plugins/personal/generic/generic.tpl:361
-msgid "Manager"
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
 msgstr ""
 
-#: plugins/admin/departments/locality.tpl:67
-#: plugins/admin/departments/generic.tpl:132
-#: plugins/admin/departments/class_domain.inc:94
-#: plugins/admin/departments/class_localityGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:135
-#: plugins/admin/departments/class_countryGeneric.inc:95
-#: plugins/admin/departments/class_dcObject.inc:94
-#: plugins/admin/departments/domain.tpl:67
-#: plugins/admin/departments/country.tpl:67
-#: plugins/admin/departments/dcObject.tpl:67
-#: plugins/admin/departments/class_department.inc:677
-#: plugins/admin/departments/organization.tpl:131
-msgid "Administrative settings"
+#: setup/class_setupStep_Checks.inc:158
+msgid ""
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
 msgstr ""
 
-#: plugins/admin/departments/locality.tpl:69
-#: plugins/admin/departments/generic.tpl:134
-#: plugins/admin/departments/domain.tpl:69
-#: plugins/admin/departments/country.tpl:69
-#: plugins/admin/departments/dcObject.tpl:69
-#: plugins/admin/departments/organization.tpl:133
-msgid "Tag department as an independent administrative unit"
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:11
-msgid "Name of department"
+#: setup/class_setupStep_Checks.inc:172
+msgid "GOsa requires this extension to handle images."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:14
-msgid "Name of subtree to create"
+#: setup/class_setupStep_Checks.inc:187
+msgid "compression module"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:22
-msgid "Descriptive text for   department"
+#: setup/class_setupStep_Checks.inc:188
+msgid "GOsa requires this extension to handle snapshots."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:667
-#: plugins/admin/departments/organization.tpl:27
-msgid "Category"
+#: setup/class_setupStep_Checks.inc:199
+msgid ""
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:30
-#: plugins/admin/departments/organization.tpl:30
-msgid "Category for this subtree"
+#: setup/class_setupStep_Checks.inc:200
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:79
-#: plugins/admin/departments/generic.tpl:91
-#: plugins/admin/departments/class_localityGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:130
-#: plugins/admin/departments/class_department.inc:671
-#: plugins/admin/departments/organization.tpl:78
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1708
-#: plugins/personal/generic/generic.tpl:441
-msgid "Location"
+#: setup/class_setupStep_Checks.inc:208
+msgid "PHP uses this value for the garbage collector to delete old sessions."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:83
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_department.inc:670
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1707
-#: plugins/personal/generic/generic.tpl:449
-msgid "State"
+#: setup/class_setupStep_Checks.inc:209
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:86
-#: plugins/admin/departments/organization.tpl:85
-msgid "State where this subtree is located"
+#: setup/class_setupStep_Checks.inc:210
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:94
-#: plugins/admin/departments/organization.tpl:93
-msgid "Location of this subtree"
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+msgid "Off"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:99
-#: plugins/admin/departments/class_department.inc:672
-#: plugins/admin/departments/organization.tpl:98
-#: plugins/personal/generic/generic.tpl:183
-#: plugins/personal/generic/generic.tpl:457
-msgid "Address"
+#: setup/class_setupStep_Checks.inc:218
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:102
-#: plugins/admin/departments/organization.tpl:101
-msgid "Postal address of this subtree"
+#: setup/class_setupStep_Checks.inc:219
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:109
-#: plugins/admin/departments/organization.tpl:108
-msgid "Base telephone number of this subtree"
+#: setup/class_setupStep_Checks.inc:226
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:114
-#: plugins/admin/departments/class_organizationGeneric.inc:133
-#: plugins/admin/departments/class_department.inc:373
-#: plugins/admin/departments/class_department.inc:674
-#: plugins/admin/departments/organization.tpl:113
-#: plugins/personal/generic/class_user.inc:1359
-#: plugins/personal/generic/class_user.inc:1822
-#: plugins/personal/generic/generic.tpl:423
-#: plugins/personal/generic/generic.tpl:591
-msgid "Fax"
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:117
-#: plugins/admin/departments/organization.tpl:116
-msgid "Base facsimile telephone number of this subtree"
+#: setup/class_setupStep_Checks.inc:234
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
 msgstr ""
 
-#: plugins/admin/departments/class_domain.inc:81
-#: plugins/admin/departments/class_domain.inc:82
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_dcObject.inc:81
-#: plugins/admin/departments/class_dcObject.inc:82
-msgid "Domain Component"
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
 msgstr ""
 
-#: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:657
-#: plugins/admin/departments/class_department.inc:662
-msgid "Departments"
+#: setup/class_setupStep_Checks.inc:242
+msgid "The Execution time should be at least 30 seconds."
 msgstr ""
 
-#: plugins/admin/departments/class_departmentManagement.inc:26
-msgid "Manage Departments"
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
 msgstr ""
 
-#: plugins/admin/departments/class_departmentManagement.inc:122
+#: setup/class_setupStep_Checks.inc:250
 msgid ""
-"As soon as the tag operation has finished, you can scroll down to end of the "
-"page and    press the 'Continue' button to continue with the department "
-"management dialog."
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:122
-msgid "Organization name"
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:131
-#: plugins/personal/generic/class_user.inc:1709
-msgid "Postal address"
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
+msgid "On"
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:132
-msgid "Phone number"
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
 msgstr ""
 
-#: plugins/admin/departments/class_countryGeneric.inc:91
-#: plugins/admin/departments/country.tpl:11
-msgid "Country name"
+#: setup/class_setupStep_Checks.inc:259
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
 msgstr ""
 
-#: plugins/admin/departments/domain.tpl:11
-msgid "Domain name"
+#: setup/class_setupStep_Checks.inc:266
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
 msgstr ""
 
-#: plugins/admin/departments/domain.tpl:14
-msgid "Name of domain to create"
+#: setup/class_setupStep_Checks.inc:267
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
 msgstr ""
 
-#: plugins/admin/departments/country.tpl:14
-msgid "Name of country to create"
+#: setup/class_setupStep_Checks.inc:277
+msgid "Configuration writable"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:433
-msgid "Cannot find an unused tag for this administrative unit!"
+#: setup/class_setupStep_Checks.inc:278
+msgid "The configuration file can't be written"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:504
+#: setup/class_setupStep_Checks.inc:279
 #, php-format
-msgid "Tagging '%s'."
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:585
-#, php-format
-msgid "Moving '%s' to '%s'"
+#: setup/class_setupStep_Welcome.inc:42
+msgid "Welcome"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:626
-#, php-format
-msgid "FAILED to copy %s, aborting operation"
+#: setup/class_setupStep_Welcome.inc:43
+msgid "The welcome message"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:665
-msgid "Department name"
+#: setup/class_setupStep_Welcome.inc:44
+msgid "Welcome to the GOsa setup assistent"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:673
-msgid "Telephone"
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
+msgid "License"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:728
-#, php-format
-msgid "Object '%s' is already tagged"
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:735
-#, php-format
-msgid "Adding tag (%s) to object '%s'"
+#: setup/setup_schema.tpl:1
+msgid "Schema specific settings"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:767
-#, php-format
-msgid "Removing tag from object '%s'"
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
 msgstr ""
 
-#: plugins/admin/departments/dep_iframe.tpl:1
-msgid "Processing the requested operation"
+#: setup/setup_schema.tpl:7
+msgid "Schema check failed"
 msgstr ""
 
-#: plugins/admin/departments/dep_iframe.tpl:7
+#: setup/setup_schema.tpl:11
 msgid ""
-"Your browser doesn't support iframes, please use this link to perform the "
-"requested operation."
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
 msgstr ""
 
-#: plugins/admin/departments/organization.tpl:11
-msgid "Name of organization"
+#: setup/setup_schema.tpl:13
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
 msgstr ""
 
-#: plugins/admin/departments/organization.tpl:14
-msgid "Name of organization to create"
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
+msgid "Language setup"
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-msgid "You are currently moving/renaming this department."
+#: setup/class_setupStep_Language.inc:42
+msgid "This step allows you to select your preferred language."
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:5
-msgid ""
-"Modifying a departments naming attribute 'ou' or base may corrupt acls and "
-"snapshot entries for all entire objects."
+#: setup/setup_feedback.tpl:2
+msgid "Feedback successfully send"
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:8
-msgid "GOsa can NOT fix this for you, yet."
+#: setup/setup_feedback.tpl:6
+msgid "Subscribe to the gosa-announce mailing list"
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:11
+#: setup/setup_feedback.tpl:8
 msgid ""
-"Before you confirm this action, ensure that everything will be as expected, "
-"possibly the best solution is a backup."
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
 msgstr ""
 
-#: plugins/admin/acl/class_aclManagement.inc:25
-#: plugins/admin/acl/acl-list.xml:15
-msgid "Acl"
+#: setup/setup_feedback.tpl:20
+msgid "Mail address"
 msgstr ""
 
-#: plugins/admin/acl/class_aclManagement.inc:154
-msgid "ACL Assignment"
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
 msgstr ""
 
-#: plugins/admin/acl/tabs_acl_role.inc:28
-msgid "ACL Templates"
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:26
-#: plugins/admin/acl/class_aclRole.inc:726
-msgid "Access control roles"
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:27
-msgid "Edit AC roles"
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:134
-msgid "Reset ACL"
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:418
-msgid "No ACL settings for this category"
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:420
-#, php-format
-msgid "ACL for these objects: %s"
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:426
-msgid "Edit category ACL"
+#: setup/setup_feedback.tpl:54
+msgid "Select the year since when you are using GOsa"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:430
-msgid "Reset category ACL"
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:450
-#, php-format
-msgid "Edit ACL for '%s', scope is '%s'"
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:646
-msgid "Object in use"
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:646
-#, php-format
-msgid "This role cannot be removed while it is in use by these objects:"
+#: setup/setup_feedback.tpl:72
+msgid "GOsa version"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:725 plugins/admin/acl/acl-list.xml:23
-#: plugins/admin/acl/acl-list.xml:82
-#: plugins/personal/generic/class_user.inc:1664
-#: plugins/personal/generic/generic.tpl:508
-msgid "Role"
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:736
-msgid "Permissions"
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
 msgstr ""
 
-#: plugins/admin/acl/acl-list.xml:11
-msgid "List of acls"
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
 msgstr ""
 
-#: plugins/admin/acl/acl-filter.tpl:11
-msgid "Show access control lists"
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
+msgid "Features"
 msgstr ""
 
-#: plugins/admin/acl/acl-filter.tpl:12
-msgid "Show roles"
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
 msgstr ""
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:25
-msgid "Bug submitter"
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:26
-msgid ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:38
-msgid "Edit organizational user settings"
+#: html/password.php:63 html/index.php:157
+#, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:297
-msgid "Please add a single IP address or a network/netmask combination!"
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, php-format
+msgid "Compile directory %s is not accessible!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "female"
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
+msgid "Password method"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "male"
+#: html/password.php:195
+msgid "Error: Password method not available!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:408
-msgid "Cannot upload file!"
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:503
-msgid "Serial number"
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:548
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
 msgid ""
-"(Some types of certificates are currently not supported and may be displayed "
-"as 'invalid'.)"
-msgstr ""
-
-#: plugins/personal/generic/class_user.inc:558
-#, php-format
-msgid "Certificate is valid from %s to %s and is currently %s."
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:561
-msgid "valid"
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:562
-msgid "invalid"
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:567
-msgid "No certificate installed"
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:593
-msgid "The selected password method is no longer available."
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
+msgid "The password contains possibly problematic Unicode characters!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1190
-msgid "Cannot build RDN: no + allowed to build sub RDN!"
+#: html/password.php:261 html/index.php:311
+msgid "Please check the username/password combination!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1197
-msgid "Cannot build RDN: attribute is not defined!"
+#: html/password.php:268
+msgid "You have no permissions to change your password!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1215
-msgid "Cannot build RDN: invalid attribute parameters!"
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
+#, php-format
+msgid "Check-hook reported a problem: %s. Password change canceled!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1286
-msgid "The selected password method requires initial configuration!"
+#: html/password.php:315
+msgid "Session will not be encrypted."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1351
-#: plugins/personal/generic/class_user.inc:1713
-#: plugins/personal/generic/class_user.inc:1816
-#: plugins/personal/generic/generic.tpl:199
-msgid "Homepage"
+#: html/password.php:317
+msgid "Enter SSL session"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1362
-#: plugins/personal/generic/class_user.inc:1825
-#: plugins/personal/generic/generic.tpl:407
-msgid "Mobile"
+#: html/index.php:45
+#, php-format
+msgid "Your browser (%s) is blacklisted for the current theme!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1365
-#: plugins/personal/generic/class_user.inc:1828
-#: plugins/personal/generic/generic.tpl:415
-msgid "Pager"
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1370
-#: plugins/personal/generic/class_user.inc:1685
-#: plugins/personal/generic/generic.tpl:119
-msgid "Date of birth"
+#: html/index.php:72
+msgid "here"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1485
-msgid "Cannot open certificate!"
+#: html/index.php:78
+msgid "The configured session lifetime will be overridden by php.ini settings!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1653
-#: plugins/personal/generic/generic.tpl:531
-msgid "Unit"
+#: html/index.php:179
+msgid "Smarty error"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1654
-#: plugins/personal/generic/generic.tpl:556
-msgid "House identifier"
+#: html/index.php:202
+msgid ""
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1655
-#: plugins/personal/generic/generic.tpl:473
-msgid "Vocation"
+#: html/index.php:233
+msgid "Broken HTTP authentication setup!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1656
-#: plugins/personal/generic/generic.tpl:600
-msgid "Last delivery"
+#: html/index.php:241
+msgid "Cannot find a valid user for the current HTTP authentication!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1657
-#: plugins/personal/generic/generic.tpl:522
-msgid "Person locality"
+#: html/index.php:245
+msgid "Cannot find a unique user for the current HTTP authentication!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1658
-#: plugins/personal/generic/generic.tpl:481
-msgid "Unit description"
+#: html/index.php:289
+msgid "Please specify a valid user name!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1659
-#: plugins/personal/generic/generic.tpl:490
-msgid "Subject area"
+#: html/index.php:292
+msgid "Please specify your password!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1660
-#: plugins/personal/generic/generic.tpl:499
-msgid "Functional title"
+#: html/index.php:304
+msgid "Authentication error"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1661
-#: plugins/personal/generic/generic_certs.tpl:78
-msgid "Certificate serial number"
+#: html/index.php:304
+msgid "Cannot retrieve user information for HTTP authentication!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1662
-#: plugins/personal/generic/generic.tpl:609
-msgid "Public visible"
+#: html/index.php:360
+msgid "Account locked. Please contact your system administrator!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1663
-#: plugins/personal/generic/generic.tpl:540
-msgid "Street"
+#: html/main.php:171
+#, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1665
-#: plugins/personal/generic/generic.tpl:548
-msgid "Postal code"
+#: html/main.php:190
+msgid "PHP configuration"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1669
-msgid "Generic user settings"
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1673
-#: plugins/personal/posix/class_posixAccount.inc:1455
-#: plugins/personal/password/class_password.inc:205
-msgid "My account"
+#: html/main.php:220
+msgid "Your password is about to expire, please change your password!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1681
-msgid "User identification"
+#: html/main.php:295
+msgid "Running out of memory!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1682
-#: plugins/personal/generic/generic.tpl:98
-msgid "Personal title"
+#: html/main.php:355
+#, php-format
+msgid "You're logged in as %s"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1683
-#: plugins/personal/generic/generic.tpl:108
-msgid "Academic title"
+#: html/main.php:358
+msgid "ACLs are disabled"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1686
-#: plugins/personal/generic/generic.tpl:138
-msgid "Sex"
+#: html/main.php:408
+msgid "Plug-in"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1687
-msgid "Preferred language"
+#: html/main.php:409
+#, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1690
-#: plugins/personal/generic/paste_generic.tpl:47
-msgid "User picture"
+#: html/main.php:425
+msgid "Configuration Error"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1692
-msgid "Login restrictions"
+#: html/main.php:426
+#, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1696
-msgid "Department number"
+#: html/setup.php:73
+msgid "Smarty"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1698
-msgid "Employee number"
+#: html/helpviewer.php:64
+msgid "Help browser"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1699
-#: plugins/personal/generic/generic.tpl:331
-msgid "Employee type"
+#: html/helpviewer.php:118
+msgid "There is no help file specified for this class"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1701
-msgid "Room number"
+#: html/helpviewer.php:268
+#, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1702
-msgid "Telefon number"
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1703
-msgid "Pager number"
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
+msgid "Password change dialog"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1704
-msgid "Mobile number"
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
+msgid "Use proposal"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1705
-msgid "Fax number"
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
+msgid "Manually specify a password"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1711
-msgid "Home postal address"
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1712
-msgid "Home phone number"
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1714
-msgid "User password method"
+#: plugins/personal/myaccount/class_MyAccount.inc:6
+msgid "Edit personal settings"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1715
-msgid "User certificates"
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
+msgid "You have no permission to change your password at this time"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1923
-msgid "Entries differ"
+#: plugins/personal/myaccount/nochange.tpl:5
+msgid "Your password hash method will not be changed!"
 msgstr ""
 
-#: plugins/personal/generic/changed.tpl:3
+#: plugins/personal/myaccount/changed.tpl:3
 #: plugins/personal/password/changed.tpl:3
 msgid ""
-"You've successfully changed your password. Remember to change all programms "
+"You've successfully changed your password. Remember to change all programs "
 "configured to use it as well."
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:6
-msgid "Personal information"
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
+msgid "POSIX settings"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:20
-#: plugins/personal/generic/generic.tpl:22
-#: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/paste_generic.tpl:37
-#: plugins/personal/generic/generic_picture.tpl:5
-#: plugins/personal/generic/generic_picture.tpl:15
-msgid "Personal picture"
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:29
-#: plugins/personal/generic/generic.tpl:40
-msgid "Change picture"
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
+msgid "Account settings"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:62
-msgid "Template name"
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:151
-msgid "Preferred langage"
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:191
-msgid "Private phone"
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:212
-msgid "Password storage"
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/generic_certs.tpl:3
-msgid "Certificates"
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:232
-msgid "Edit certificates"
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
+msgid "Default filter"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:244
-msgid "Restrict login to"
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
+msgid "Please select the desired entries"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:250
-#: plugins/personal/generic/generic.tpl:266
-msgid "IP or network"
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:287
-msgid "Organizational information"
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:315
-msgid "Department No."
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+msgid "Terminal"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:323
-msgid "Employee No."
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
+msgid "Trust machine selection"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:389
-#: plugins/personal/generic/generic.tpl:571
-msgid "Room No."
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+msgid "Group selection"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:585
-msgid "Please use the phone tab"
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
 msgstr ""
 
-#: plugins/personal/generic/paste_generic.tpl:1
-msgid "User settings"
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
 msgstr ""
 
-#: plugins/personal/generic/paste_generic.tpl:23
-msgid "Clear password"
+#: plugins/personal/posix/posix_shadow.tpl:59
+msgid "Password expiration settings"
 msgstr ""
 
-#: plugins/personal/generic/paste_generic.tpl:24
-msgid "Set new password"
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
 msgstr ""
 
-#: plugins/personal/generic/paste_generic.tpl:52
-#: plugins/personal/generic/generic_picture.tpl:27
-msgid "Remove picture"
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
+msgid "Generic settings"
 msgstr ""
 
-#: plugins/personal/generic/main.inc:168
-msgid "Generic user information"
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+msgid "Shell"
 msgstr ""
 
-#: plugins/personal/generic/password.tpl:4
-#: plugins/personal/password/password.tpl:4
-msgid ""
-"To change your personal password use the fields below. The changes take "
-"effect immediately. Please memorize the new password, because you wouldn't "
-"be able to login without it."
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
 msgstr ""
 
-#: plugins/personal/generic/password.tpl:42
-#: plugins/personal/password/password.tpl:47
-msgid "Password change dialog"
+#: plugins/personal/posix/generic.tpl:42
+msgid "Last log-on"
 msgstr ""
 
-#: plugins/personal/generic/password.tpl:90
-#: plugins/personal/password/password.tpl:95
-msgid "Clear fields"
+#: plugins/personal/posix/generic.tpl:101
+msgid "Common group"
 msgstr ""
 
-#: plugins/personal/generic/generic_certs.tpl:8
-msgid "Standard certificate"
+#: plugins/personal/posix/generic.tpl:105
+msgid "Groups differ"
 msgstr ""
 
-#: plugins/personal/generic/generic_certs.tpl:33
-msgid "S/MIME certificate"
+#: plugins/personal/posix/generic.tpl:125
+msgid "Account permissions"
 msgstr ""
 
-#: plugins/personal/generic/generic_certs.tpl:57
-msgid "PKCS12 certificate"
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
 msgstr ""
 
-#: plugins/personal/generic/nochange.tpl:2
-#: plugins/personal/password/nochange.tpl:2
-msgid "You have no permission to change your password at this time"
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
 msgstr ""
 
-#: plugins/personal/generic/nochange.tpl:5
-msgid "Your password hash method will not be changed!"
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
 msgstr ""
 
 #: plugins/personal/posix/class_posixAccount.inc:38
 msgid "Edit users POSIX settings"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:168
+#: plugins/personal/posix/class_posixAccount.inc:146
 msgid "expired"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:170
+#: plugins/personal/posix/class_posixAccount.inc:148
 msgid "grace time active"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-#: plugins/personal/posix/class_posixAccount.inc:175
-#: plugins/personal/posix/class_posixAccount.inc:177
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
 msgid "active"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:173
+#: plugins/personal/posix/class_posixAccount.inc:151
 msgid "password not changeable"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:175
+#: plugins/personal/posix/class_posixAccount.inc:153
 msgid "password expired"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:248
+#: plugins/personal/posix/class_posixAccount.inc:226
 msgid "automatic"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:444
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:374
 #, php-format
 msgid "Password can't be changed up to %s days after last change"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:448
+#: plugins/personal/posix/class_posixAccount.inc:378
 #, php-format
 msgid "Password must be changed after %s days"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:452
+#: plugins/personal/posix/class_posixAccount.inc:382
 #, php-format
 msgid "Disable account after %s days of inactivity after password expiry"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:456
+#: plugins/personal/posix/class_posixAccount.inc:386
 #, php-format
 msgid "Warn user %s days before password expiry"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:793
+#: plugins/personal/posix/class_posixAccount.inc:651
 msgid "Timeout while waiting for lock. Ignoring lock!"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:851
-#: plugins/personal/posix/class_posixAccount.inc:1169
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
 msgid "Group of user"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:946
+#: plugins/personal/posix/class_posixAccount.inc:774
 msgid ""
 "A duplicated UID number was written for this user. If this was not intended "
 "please verify all used uidNumbers!"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1027
-#: plugins/personal/posix/class_posixAccount.inc:1030
-#: plugins/personal/posix/class_posixAccount.inc:1105
-#: plugins/personal/posix/class_posixAccount.inc:1108
-#: plugins/personal/posix/class_posixAccount.inc:1461
-#: plugins/personal/posix/generic.tpl:7
-#: plugins/personal/posix/paste_generic.tpl:8
-msgid "Home directory"
-msgstr ""
-
-#: plugins/personal/posix/class_posixAccount.inc:1038
-#: plugins/personal/posix/class_posixAccount.inc:1041
-#: plugins/personal/posix/generic.tpl:63
-#: plugins/personal/posix/paste_generic.tpl:36
-msgid "UID"
-msgstr ""
-
-#: plugins/personal/posix/class_posixAccount.inc:1061
-#: plugins/personal/posix/class_posixAccount.inc:1114
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
 msgid "shadowMin"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1066
-#: plugins/personal/posix/class_posixAccount.inc:1119
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
 msgid "shadowMax"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1071
-#: plugins/personal/posix/class_posixAccount.inc:1124
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
 msgid "shadowWarning"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1085
-#: plugins/personal/posix/class_posixAccount.inc:1138
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
 msgid "shadowInactive"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/personal/posix/class_posixAccount.inc:1293
 msgid "POSIX account"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
-#: plugins/personal/posix/generic.tpl:15
-msgid "Shell"
+#: plugins/personal/posix/class_posixAccount.inc:1311
+msgid "Group ID"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1463
-#: setup/setup_migrate.tpl:291
-msgid "User ID"
+#: plugins/personal/posix/class_posixAccount.inc:1313
+msgid "Shadow last changed"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1464
-msgid "Group ID"
+#: plugins/personal/posix/class_posixAccount.inc:1314
+msgid "Last login"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1466
+#: plugins/personal/posix/class_posixAccount.inc:1316
 msgid "Force password change on login"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1467
+#: plugins/personal/posix/class_posixAccount.inc:1317
 msgid "Shadow min"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1468
+#: plugins/personal/posix/class_posixAccount.inc:1318
 msgid "Shadow max"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1469
+#: plugins/personal/posix/class_posixAccount.inc:1319
 msgid "Shadow warning"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1470
+#: plugins/personal/posix/class_posixAccount.inc:1320
 msgid "Shadow inactive"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1471
+#: plugins/personal/posix/class_posixAccount.inc:1321
 msgid "Shadow expire"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1472
+#: plugins/personal/posix/class_posixAccount.inc:1322
 msgid "Public SSH key"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1473
+#: plugins/personal/posix/class_posixAccount.inc:1323
 msgid "System trust model"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:25
-#: plugins/personal/posix/paste_generic.tpl:17
-msgid "Primary group"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr ""
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr ""
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr ""
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr ""
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
+msgid "Trust mode"
+msgstr ""
+
+#: plugins/personal/password/password.tpl:10
+msgid "Your Password has expired. Please choose a new password."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:27
+msgid "Change user password"
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:156
+msgid ""
+"The password you've entered as your current password doesn't match the real "
+"one."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:159
+msgid "You have no permission to change your password."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:223
+msgid "User password"
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:5
+msgid "The users standard certificate"
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:31
+msgid "The users S/MIME certificate"
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:57
+msgid "The users PKCS12 certificate"
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr ""
+
+#: plugins/personal/generic/paste_generic.tpl:3
+msgid "Paste user"
+msgstr ""
+
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr ""
+
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
+msgid "Last name"
+msgstr ""
+
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
+msgid "First name"
+msgstr ""
+
+#: plugins/personal/generic/paste_generic.tpl:24
+msgid "Clear password"
+msgstr ""
+
+#: plugins/personal/generic/paste_generic.tpl:25
+msgid "Set new password"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:36
-msgid "Status"
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
+msgid "The users picture"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:41
-msgid "Last logon"
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:59
-#: plugins/personal/posix/paste_generic.tpl:31
-msgid "Force UID/GID"
+#: plugins/personal/generic/class_user.inc:38
+msgid "Edit organizational user settings"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:89
-#: plugins/personal/posix/paste_generic.tpl:55
-msgid "Group membership"
+#: plugins/personal/generic/class_user.inc:297
+msgid "Please add a single IP address or a network/net mask combination!"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:91
-#: plugins/personal/posix/paste_generic.tpl:62
-msgid "(Warning: more than 16 groups are not supported by NFS!)"
+#: plugins/personal/generic/class_user.inc:339
+msgid "female"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:100
-msgid "Common group"
+#: plugins/personal/generic/class_user.inc:339
+msgid "male"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:104
-msgid "Groups differ"
+#: plugins/personal/generic/class_user.inc:395
+msgid "Password configuration"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:127
-msgid "SSH keys"
+#: plugins/personal/generic/class_user.inc:429
+msgid "Cannot upload file!"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:128
-msgid "Edit public ssh keys..."
+#: plugins/personal/generic/class_user.inc:522
+msgid "Serial number"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:132
-msgid "Account"
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
+msgid "User picture"
 msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:6
-msgid "Select groups to add"
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
 msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:32
-msgid "Display groups of department"
+#: plugins/personal/generic/class_user.inc:579
+#, php-format
+msgid "Certificate is valid from %s to %s and is currently %s."
 msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:44
-msgid "Display groups matching"
+#: plugins/personal/generic/class_user.inc:582
+msgid "valid"
 msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:48
-msgid "Regular expression for matching group names"
+#: plugins/personal/generic/class_user.inc:583
+msgid "invalid"
 msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:55
-msgid "Display groups of user"
+#: plugins/personal/generic/class_user.inc:588
+msgid "No certificate installed"
 msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:59
-msgid "User name of which groups are shown"
+#: plugins/personal/generic/class_user.inc:614
+msgid "The selected password method is no longer available."
 msgstr ""
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:11
-msgid "Show servers"
+#: plugins/personal/generic/class_user.inc:1051
+msgid ""
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
 msgstr ""
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:12
-msgid "Show workstations"
+#: plugins/personal/generic/class_user.inc:1177
+msgid "Cannot build RDN: no + allowed to build sub RDN!"
 msgstr ""
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:13
-msgid "Show terminals"
+#: plugins/personal/generic/class_user.inc:1184
+msgid "Cannot build RDN: attribute is not defined!"
 msgstr ""
 
-#: plugins/personal/posix/paste_generic.tpl:4
-msgid "Posix settings"
+#: plugins/personal/generic/class_user.inc:1202
+msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr ""
 
-#: plugins/personal/posix/main.inc:142
-msgid "POSIX settings"
+#: plugins/personal/generic/class_user.inc:1273
+msgid "The selected password method requires initial configuration!"
 msgstr ""
 
-#: plugins/personal/posix/posix_shadow.tpl:9
-msgid "User must change password on first login"
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
+msgid "Homepage"
 msgstr ""
 
-#: plugins/personal/posix/posix_shadow.tpl:34
-msgid "Password expires on"
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
 msgstr ""
 
-#: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
-msgid "Password settings"
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
 msgstr ""
 
-#: plugins/personal/password/password.tpl:14
-msgid "Your Password has expired. Please choose a new password!"
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
+msgid "Mobile"
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:27
-msgid "Change user password"
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
+msgid "Pager"
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:129
-msgid "You need to specify your current password in order to proceed."
+#: plugins/personal/generic/class_user.inc:1483
+msgid "Cannot open certificate!"
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:135
-msgid "The password you've entered as 'New password' is empty."
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
+msgid "Unit"
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:144
-#, php-format
-msgid "External password changer reported a problem: %s."
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
+msgid "House identifier"
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:158
-msgid ""
-"The password you've entered as your current password doesn't match the real "
-"one."
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
+msgid "Vocation"
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:164
-msgid "You have no permission to change your password."
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
+msgid "Last delivery"
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:201
-msgid "User password"
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
+msgid "Person locality"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:92
-msgid "UNIX accounts/groups"
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
+msgid "Unit description"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:94
-msgid "Samba management"
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
+msgid "Subject area"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:96
-msgid "Mailsystem management"
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
+msgid "Functional title"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:98
-msgid "FAX system administration"
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:100
-msgid "Asterisk administration"
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
+msgid "Postal code"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:102
-msgid "System inventory"
+#: plugins/personal/generic/class_user.inc:1671
+msgid "Generic user settings"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:104
-msgid "System-/Configmanagement"
+#: plugins/personal/generic/class_user.inc:1692
+msgid ""
+"Pattern for the generation of user DNs. Please read the FAQ for details."
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:106
-msgid "Addressbook"
+#: plugins/personal/generic/class_user.inc:1706
+msgid "Allow definition of custom filters"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:112
-msgid "Feedback"
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
+msgid "Sex"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:113
-msgid "Get notifications or send feedback"
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
+msgid "Preferred language"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:114
-msgid "Notification and feedback"
+#: plugins/personal/generic/class_user.inc:1718
+msgid "Login restrictions"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:131 setup/class_setup.inc:77
-msgid "Setup error"
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:140
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Feedback error"
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
+#: plugins/admin/departments/class_domain.inc:93
+#: plugins/admin/departments/class_organizationGeneric.inc:127
+#: plugins/admin/departments/generic.tpl:51
+#: plugins/admin/departments/locality.tpl:39
+#: plugins/admin/departments/class_localityGeneric.inc:93
+#: plugins/admin/departments/class_dcObject.inc:92
+#: plugins/admin/departments/domain.tpl:39
+msgid "Manager"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:140
-#, php-format
-msgid "Cannot send feedback to '%s': %s"
+#: plugins/personal/generic/class_user.inc:1727
+msgid "Room number"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Cannot send feedback: service temporarily unavailable"
+#: plugins/personal/generic/class_user.inc:1728
+msgid "Telephone number"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:181
-msgid "Please specify a valid email address."
+#: plugins/personal/generic/class_user.inc:1729
+msgid "Pager number"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:185
-msgid ""
-"You have to select at least one of both options, subscribe or send feedback."
+#: plugins/personal/generic/class_user.inc:1730
+msgid "Mobile number"
 msgstr ""
 
-#: setup/class_setup.inc:197
-msgid "Completed"
+#: plugins/personal/generic/class_user.inc:1731
+msgid "Fax number"
 msgstr ""
 
-#: setup/class_setup.inc:267 setup/setup_migrate.tpl:272
-msgid "Next"
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
+#: plugins/admin/departments/class_organizationGeneric.inc:129
+#: plugins/admin/departments/generic.tpl:87
+msgid "State"
 msgstr ""
 
-#: setup/setup_config2.tpl:2
-msgid "Samba settings"
+#: plugins/personal/generic/class_user.inc:1735
+#: plugins/personal/generic/generic.tpl:183
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+msgid "Postal address"
 msgstr ""
 
-#: setup/setup_config2.tpl:6
-msgid "Samba hash generator"
+#: plugins/personal/generic/class_user.inc:1740
+msgid "User password method"
 msgstr ""
 
-#: setup/setup_config2.tpl:15
-msgid "Samba SID"
+#: plugins/personal/generic/class_user.inc:1741
+msgid "User certificates"
 msgstr ""
 
-#: setup/setup_config2.tpl:31
-msgid "RID base"
+#: plugins/personal/generic/class_user.inc:1949
+msgid "Entries differ"
 msgstr ""
 
-#: setup/setup_config2.tpl:46
-msgid "Workstation container"
+#: plugins/personal/generic/generic.tpl:21
+msgid "Change picture"
 msgstr ""
 
-#: setup/setup_config2.tpl:61
-msgid "Samba SID mapping"
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
 msgstr ""
 
-#: setup/setup_config2.tpl:71
-msgid "Timezone"
+#: plugins/personal/generic/generic.tpl:83
+msgid "Template name"
 msgstr ""
 
-#: setup/setup_config2.tpl:74
-msgid "Please choose your preferred timezone here"
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
+msgid "Address"
 msgstr ""
 
-#: setup/setup_config2.tpl:96
-msgid "Additional GOsa settings"
+#: plugins/personal/generic/generic.tpl:193
+msgid "Private phone"
 msgstr ""
 
-#: setup/setup_config2.tpl:100
-msgid "Enable Copy & Paste"
+#: plugins/personal/generic/generic.tpl:209
+msgid "Password storage"
 msgstr ""
 
-#: setup/setup_config2.tpl:112
-msgid "Government mode"
+#: plugins/personal/generic/generic.tpl:229
+msgid "Edit certificates"
 msgstr ""
 
-#: setup/setup_config2.tpl:123
-msgid "GOsa logging"
+#: plugins/personal/generic/generic.tpl:241
+msgid "Restrict login to"
 msgstr ""
 
-#: setup/setup_config2.tpl:135
-msgid "Mail settings"
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
+msgid "IP or network"
 msgstr ""
 
-#: setup/setup_config2.tpl:139
-msgid "Mail method"
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "Organizational information"
 msgstr ""
 
-#: setup/setup_config2.tpl:155
-msgid "Account identification attribute"
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "part"
 msgstr ""
 
-#: setup/setup_config2.tpl:169
-msgid "Vacation templates"
+#: plugins/personal/generic/generic.tpl:314
+msgid "Department No."
 msgstr ""
 
-#: setup/setup_config2.tpl:185
-msgid "Use Cyrus UNIX style"
+#: plugins/personal/generic/generic.tpl:322
+msgid "Employee No."
 msgstr ""
 
-#: setup/setup_config2.tpl:195
-msgid "Snapshots / Undo"
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
+msgid "Room No."
 msgstr ""
 
-#: setup/setup_config2.tpl:204 setup/setup_config2.tpl:249
-msgid "Enable snapshots"
+#: plugins/personal/generic/generic.tpl:580
+msgid "Please use the phone tab"
 msgstr ""
 
-#: setup/setup_config2.tpl:210 setup/setup_config2.tpl:255
-msgid "Snapshot base"
+#: plugins/addons/dyngroup/dyngroup.tpl:1
+msgid "List of dynamic rules"
 msgstr ""
 
-#: setup/setup_frame.tpl:12
-msgid "GOsa setup wizard"
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
 msgstr ""
 
-#: setup/setup_frame.tpl:19
-msgid "Installation"
+#: plugins/addons/dyngroup/dyngroup.tpl:6
+msgid "Scope"
 msgstr ""
 
-#: setup/setup_frame.tpl:19
-msgid "Setup"
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
+msgid "Attribute"
 msgstr ""
 
-#: setup/setup_migrate.tpl:5
-msgid ""
-"During the LDAP inspection, we're going to check for several common pitfalls "
-"that may occur when migration to GOsa base LDAP administration. You may want "
-"to fix the problems below, in order to provide smooth services."
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
+msgid "Filter"
 msgstr ""
 
-#: setup/setup_migrate.tpl:33
-msgid "Check again"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
 msgstr ""
 
-#: setup/setup_migrate.tpl:37
-msgid "Add required object classes to the LDAP base"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:39 setup/setup_migrate.tpl:244
-#: setup/setup_migrate.tpl:344 setup/setup_migrate.tpl:398
-#: setup/setup_migrate.tpl:453 setup/setup_migrate.tpl:496
-#: setup/setup_migrate.tpl:540
-msgid "Current"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
+#, php-format
+msgid "The given filter '%s' for entry %s seems to be invalid!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:46 setup/setup_migrate.tpl:248
-#: setup/setup_migrate.tpl:351 setup/setup_migrate.tpl:405
-#: setup/setup_migrate.tpl:457 setup/setup_migrate.tpl:500
-#: setup/setup_migrate.tpl:544
-msgid "After migration"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
+msgid "Dynamic object"
 msgstr ""
 
-#: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:664 setup/class_setupStep_Migrate.inc:806
-#: setup/class_setupStep_Migrate.inc:1035
-#: setup/class_setupStep_Migrate.inc:2133
-#: setup/class_setupStep_Migrate.inc:2576
-#: setup/class_setupStep_Migrate.inc:2730
-#: setup/class_setupStep_Migrate.inc:3060
-msgid "Migrate"
+#: plugins/addons/propertyEditor/property-filter.xml:15
+msgid "Effective properties"
 msgstr ""
 
-#: setup/setup_migrate.tpl:60 setup/setup_migrate.tpl:107
-msgid "Close"
+#: plugins/addons/propertyEditor/property-filter.xml:29
+msgid "Modified properties"
 msgstr ""
 
-#: setup/setup_migrate.tpl:65
-msgid "Move windows workstations into a valid windows workstation department"
+#: plugins/addons/propertyEditor/property-filter.xml:43
+msgid "All properties"
 msgstr ""
 
-#: setup/setup_migrate.tpl:67
-msgid ""
-"This dialog allows you to move the displayed windows workstations into a "
-"valid department"
+#: plugins/addons/propertyEditor/property-filter.xml:57
+msgid "LDAP properties"
 msgstr ""
 
-#: setup/setup_migrate.tpl:69
-msgid ""
-"Be careful with this tool, there may be references pointing to this "
-"workstations that can't be migrated."
+#: plugins/addons/propertyEditor/property-filter.xml:71
+msgid "Search for property groups"
 msgstr ""
 
-#: setup/setup_migrate.tpl:95
-msgid "Move selected windows workstations into the following GOsa department"
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
 msgstr ""
 
-#: setup/setup_migrate.tpl:100
-msgid "Move selected workstations"
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Migration steps left"
 msgstr ""
 
-#: setup/setup_migrate.tpl:101
-msgid "What will be done here"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
+#, php-format
+msgid "Migration of property '%s'"
 msgstr ""
 
-#: setup/setup_migrate.tpl:113
-msgid "Move groups into configured group tree"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
+#, php-format
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
 msgstr ""
 
-#: setup/setup_migrate.tpl:116
-msgid ""
-"This dialog allows moving a couple of groups to the configured group tree. "
-"Doing this may straighten your LDAP service."
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
+msgid "Objects that will be added"
 msgstr ""
 
-#: setup/setup_migrate.tpl:119
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"groups. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+msgid "Objects that will be moved"
 msgstr ""
 
-#: setup/setup_migrate.tpl:122
-msgid "Move selected groups into this group tree"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
+#, php-format
+msgid "Moving object '%s' to '%s'"
 msgstr ""
 
-#: setup/setup_migrate.tpl:153 setup/setup_migrate.tpl:205
-#: setup/setup_migrate.tpl:254 setup/setup_migrate.tpl:372
-#: setup/setup_migrate.tpl:425 setup/setup_migrate.tpl:469
-#: setup/setup_migrate.tpl:512 setup/setup_migrate.tpl:556
-msgid "Hide changes"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
+#, php-format
+msgid "Migration failed for object %s: DN already exists!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:155 setup/setup_migrate.tpl:207
-#: setup/setup_migrate.tpl:237 setup/setup_migrate.tpl:374
-#: setup/setup_migrate.tpl:427 setup/setup_migrate.tpl:472
-#: setup/setup_migrate.tpl:515 setup/setup_migrate.tpl:559
-msgid "Show changes"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
+#, php-format
+msgid "Migration failed for object %s: please check if it already exists!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:168
-msgid "Move users into configured user tree"
+#: plugins/addons/propertyEditor/property-list.tpl:3
+msgid "Warning message"
 msgstr ""
 
-#: setup/setup_migrate.tpl:170
+#: plugins/addons/propertyEditor/property-list.tpl:9
 msgid ""
-"This dialog allows moving a couple of users to the configured user tree. "
-"Doing this may straighten your LDAP service."
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:173
+#: plugins/addons/propertyEditor/property-list.tpl:10
 msgid ""
-"Be careful with this option! There may be references pointing to these "
-"users. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
 msgstr ""
 
-#: setup/setup_migrate.tpl:176
-msgid "Move selected users into this people tree"
+#: plugins/addons/propertyEditor/property-list.tpl:14
+msgid ""
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
 msgstr ""
 
-#: setup/setup_migrate.tpl:219
-msgid "Migrate GOsa 2.5 administrative accounts"
+#: plugins/addons/propertyEditor/property-list.tpl:22
+msgid ""
+"I understand that there are certain risks, but I want to modify properties!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:221
-msgid ""
-"This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
-"useable accounts."
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:257 setup/setup_ldap.tpl:65
-msgid "Reload"
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
 msgstr ""
 
-#: setup/setup_migrate.tpl:273
-msgid "Abort"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
+msgid "Command verifier"
 msgstr ""
 
-#: setup/setup_migrate.tpl:275
-msgid "Create a new GOsa administrator account"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
+msgid ""
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
 msgstr ""
 
-#: setup/setup_migrate.tpl:278
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
 msgid ""
-"This dialog will automatically add a new super administrator to your LDAP "
-"tree."
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:307
-msgid "Password (again)"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
 msgstr ""
 
-#: setup/setup_migrate.tpl:333
-msgid ""
-"The listed departments are currently invisible in the GOsa user interface. "
-"If you want to change this for a couple of entries, select them and use the "
-"migrate button below."
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
+msgid "Test"
 msgstr ""
 
-#: setup/setup_migrate.tpl:334 setup/setup_migrate.tpl:389
-#: setup/setup_migrate.tpl:445 setup/setup_migrate.tpl:489
-#: setup/setup_migrate.tpl:533
-msgid ""
-"If you want to know what will be done when migrating the selected entries, "
-"use the 'Show changes' button to see the LDIF."
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
 msgstr ""
 
-#: setup/setup_migrate.tpl:388
-msgid ""
-"The listed users are currently invisible in the GOsa user interface. If you "
-"want to change this for a couple of users, just select them and use the "
-"'Migrate' button below."
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
+msgid "Preferences"
 msgstr ""
 
-#: setup/setup_migrate.tpl:444
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
 msgid ""
-"The listed devices are currently invisible in the GOsa interface. If you "
-"want to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+"Configure global and special GOsa settings like hooks and plug-in parameters"
 msgstr ""
 
-#: setup/setup_migrate.tpl:488
-msgid ""
-"The listed services are currently invalid for the GOsa version you are going "
-"to install. If you want to update a couple of service, just select them and "
-"use the 'Migrate' button below."
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
+msgid "No description"
 msgstr ""
 
-#: setup/setup_migrate.tpl:532
-msgid ""
-"The listed menus are currently invisible in the GOsa interface. If you want "
-"to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:38
-msgid "Write configuration file"
+#: plugins/addons/propertyEditor/property-list.xml:11
+msgid "List of configuration settings"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:39
-msgid "Finish - write the configuration file"
+#: plugins/addons/propertyEditor/property-list.xml:15
+msgid "Property not used"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:104
-msgid ""
-"Your configuration file is currently world readable. Please update the file "
-"permissions!"
+#: plugins/addons/propertyEditor/property-list.xml:23
+msgid "Property will be restored"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:106
-msgid "The configuration is currently not readable or it does not exists."
+#: plugins/addons/propertyEditor/property-list.xml:31
+msgid "Modified property"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:115
-#, php-format
-msgid ""
-"After downloading and placing the file under %s, please make sure that the "
-"user the webserver is running with is able to read %s, while other users "
-"shouldn't. You may want to execute these commands to achieve this "
-"requirement:"
+#: plugins/addons/propertyEditor/property-list.xml:39
+msgid "Property configured in LDAP"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:38 setup/class_setupStep_Checks.inc:39
-msgid "Installation check"
+#: plugins/addons/propertyEditor/property-list.xml:47
+msgid "Property configured in config file"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:40
-msgid "Basic checks for PHP compatibility and extensions"
+#: plugins/addons/propertyEditor/property-list.xml:80
+msgid "Class"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:64
-msgid "Checking PHP version"
+#: plugins/addons/propertyEditor/property-list.xml:88
+msgid "Value"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:65
-#, php-format
-msgid "PHP must be of version %s or above."
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:66
-msgid "Please upgrade to a supported version."
+#: plugins/admin/groups/paste_generic.tpl:1
+msgid "Group settings"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:73
-msgid "GOsa requires this module to talk with your LDAP server."
+#: plugins/admin/groups/paste_generic.tpl:2
+msgid "Paste group settings"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:81
-msgid "GOsa requires this module for an internationalized interface."
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:89
-msgid "GOsa requires this module for the samba integration."
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
+msgid "POSIX name of the group"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:97
-msgid ""
-"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
-"encryption."
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
+msgid "Normally IDs are auto-generated, select to specify manually"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:105
-msgid "GOsa requires this module to talk to an IMAP server."
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:112
-msgid "mbstring"
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr ""
+
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:113
-msgid "GOsa requires this module to handle unicode strings."
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
+msgid "User selection"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:120
-msgid "MySQL"
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Cannot find group SID in your configuration!"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:121
-msgid ""
-"GOsa requires this module to communicate with several supported databases."
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:138
-msgid "samba hash generator"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain administrators"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:139
-msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:140
-msgid ""
-"Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:153
-msgid "imagick"
+#: plugins/admin/groups/class_group.inc:316
+#, php-format
+msgid "Special group (%d)"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:154
-msgid "GOsa requires this extension to handle images."
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:169
-msgid "compression module"
+#: plugins/admin/groups/class_group.inc:470
+#, php-format
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:170
-msgid "GOsa requires this extension to handle snapshots."
+#: plugins/admin/groups/class_group.inc:753
+#, php-format
+msgid "Cannot find any SID for '%s'!"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:181
-msgid ""
-"register_globals is a PHP mechanism to register all global variables to be "
-"accessible from scripts without changing the scope. This may be a security "
-"risk."
+#: plugins/admin/groups/class_group.inc:758
+#, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:182
-msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+#: plugins/admin/groups/class_group.inc:852
+#, php-format
+msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:190
-msgid "PHP uses this value for the garbage collector to delete old sessions."
+#: plugins/admin/groups/class_group.inc:1036
+msgid "Generic group settings"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:191
-msgid ""
-"Setting this value to one day will prevent loosing session and cookies "
-"before they really timeout."
+#: plugins/admin/groups/class_group.inc:1049
+msgid "RDN for object group storage."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:192
-msgid ""
-"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
-"higher."
+#: plugins/admin/groups/class_group.inc:1063
+msgid "Samba group type"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:199 setup/class_setupStep_Checks.inc:215
-#: setup/class_setupStep_Checks.inc:231 setup/class_setupStep_Checks.inc:247
-msgid "Off"
+#: plugins/admin/groups/class_group.inc:1064
+msgid "Samba domain name"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:200
-msgid ""
-"In Order to use GOsa without any trouble, the session.auto_register option "
-"in your php.ini should be set to 'Off'."
+#: plugins/admin/groups/class_group.inc:1066
+msgid "Phone pickup group"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:201
-msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+#: plugins/admin/groups/class_group.inc:1067
+msgid "Nagios group"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:208
-msgid ""
-"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
-"errors that are not reproducable! Increase it for larger setups."
+#: plugins/admin/groups/class_group.inc:1069
+msgid "Group member"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:209
+#: plugins/admin/groups/class_groupManagement.inc:26
 msgid ""
-"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:216
-msgid ""
-"This option influences the PHP output handling. Turn this Option off, to "
-"increase performance."
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
+msgid "Infrastructure error"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:217
-msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
+msgid "Edit POSIX properties"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:224
-msgid "The Execution time should be at least 30 seconds."
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
+msgid "Edit mail properties"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:225
-msgid ""
-"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
+msgid "Edit samba properties"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:232
-msgid ""
-"Increase the server security by setting expose_php to 'off'. PHP won't send "
-"any information about the server you are running in this case."
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
+msgid "Edit phone properties"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:233
-msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+#: plugins/admin/groups/class_groupManagement.inc:189
+msgid "Menu"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:239
-msgid "On"
+#: plugins/admin/groups/class_groupManagement.inc:190
+msgid "Edit start menu properties"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:240
-msgid ""
-"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
-"escape all quotes in strings in this case."
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
+msgid "Edit environment properties"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:241
-msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+#: plugins/admin/groups/group-filter.xml:31
+msgid "Default filter2"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:248
-msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:249
-msgid ""
-"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+msgid "Select to create a samba conform group"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:259
-msgid "Configuration writeable"
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:260
-msgid "The configuration file can't be written"
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:261
-#, php-format
-msgid ""
-"GOsa reads its configuration from a file located in (%s/%s). The setup can "
-"write the configuration directly if it is writeable."
+#: plugins/admin/groups/generic.tpl:146
+msgid "Members are in a Nagios group"
 msgstr ""
 
-#: setup/setup_config3.tpl:2
-msgid "GOsa core settings"
+#: plugins/admin/groups/generic.tpl:174
+msgid "Common group members"
 msgstr ""
 
-#: setup/setup_config3.tpl:6
-msgid "Enable primary group filter"
+#: plugins/admin/groups/generic.tpl:183
+msgid "Partial group members"
 msgstr ""
 
-#: setup/setup_config3.tpl:18
-msgid "Display summary in listings"
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
 msgstr ""
 
-#: setup/setup_config3.tpl:30
-msgid "Honour administrative units"
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
 msgstr ""
 
-#: setup/setup_config3.tpl:42
-msgid "Smarty compile directory"
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
 msgstr ""
 
-#: setup/setup_config3.tpl:51
-msgid "SNMP community"
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
 msgstr ""
 
-#: setup/setup_config3.tpl:60
-msgid "Path for PPD storage"
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
+msgid "Send message"
 msgstr ""
 
-#: setup/setup_config3.tpl:77
-msgid "Path for kiosk profile storage"
+#: plugins/admin/groups/group-list.xml:138
+msgid "Edit group"
 msgstr ""
 
-#: setup/setup_config3.tpl:96
-msgid "SUDO role base"
+#: plugins/admin/groups/group-list.xml:151
+msgid "Remove group"
 msgstr ""
 
-#: setup/setup_config3.tpl:115
-msgid "Mail queue script"
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
+msgid "User and group selection"
 msgstr ""
 
-#: setup/setup_config3.tpl:134
-msgid "Notification script"
+#: plugins/admin/ogroups/ogroup-list.xml:11
+msgid "List of object groups"
 msgstr ""
 
-#: setup/setup_config3.tpl:153
-msgid "Enable edit locking"
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
 msgstr ""
 
-#: setup/setup_config3.tpl:174
-msgid "Gosa support daemon"
+#: plugins/admin/ogroups/ogroup-list.xml:142
+msgid "Edit object group"
 msgstr ""
 
-#: setup/setup_config3.tpl:193
-msgid "Daemon timeout"
+#: plugins/admin/ogroups/ogroup-list.xml:155
+msgid "Remove object group"
 msgstr ""
 
-#: setup/setup_config3.tpl:207
-msgid "Login and session"
+#: plugins/admin/ogroups/paste_generic.tpl:1
+msgid "Paste object group"
 msgstr ""
 
-#: setup/setup_config3.tpl:210
-msgid "Login attribute"
+#: plugins/admin/ogroups/paste_generic.tpl:7
+msgid "Please enter the new object group name"
 msgstr ""
 
-#: setup/setup_config3.tpl:221
-msgid "Enforce register_globals to be deactivated"
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
 msgstr ""
 
-#: setup/setup_config3.tpl:233
-msgid "Enforce encrypted connections"
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
 msgstr ""
 
-#: setup/setup_config3.tpl:245
-msgid "Warn if session is not encrypted"
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
+msgid "Object selection"
 msgstr ""
 
-#: setup/setup_config3.tpl:257
-msgid "Remember dialog filter settings"
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
+msgid "Phone queue"
 msgstr ""
 
-#: setup/setup_config3.tpl:269
-msgid "Session lifetime"
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
+msgid "Groupware"
 msgstr ""
 
-#: setup/setup_config3.tpl:278
-msgid "Debugging"
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
+msgid "System settings"
 msgstr ""
 
-#: setup/setup_config3.tpl:282
-msgid "Show PHP errors"
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
+msgid "Recipe"
 msgstr ""
 
-#: setup/setup_config3.tpl:294
-msgid "Maximum LDAP query time"
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
 msgstr ""
 
-#: setup/setup_config3.tpl:312
-msgid "Log LDAP statistics"
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
+msgid "Deployment summary"
 msgstr ""
 
-#: setup/setup_config3.tpl:324
-msgid "Debug level"
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
 msgstr ""
 
-#: setup/setup_config3.tpl:329 setup/setup_config3.tpl:332
-msgid "Disabled"
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
 msgstr ""
 
-#: setup/setup_config3.tpl:330 setup/setup_config3.tpl:333
-msgid "Enabled"
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
 msgstr ""
 
-#: setup/setup_feedback.tpl:5
-msgid "Feedback sucessfully send"
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
 msgstr ""
 
-#: setup/setup_feedback.tpl:15
-msgid "Subscribe to the gosa-announce mailinglist"
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: setup/setup_feedback.tpl:18
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to subscribe you to the gosa-announce mailing list. You've to confirm "
-"this by mail."
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
 msgstr ""
 
-#: setup/setup_feedback.tpl:39
-msgid "Mail address"
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
 msgstr ""
 
-#: setup/setup_feedback.tpl:50
-msgid "Send feedback to the GOsa project team"
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
 msgstr ""
 
-#: setup/setup_feedback.tpl:53
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to submit your form anonymously."
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
 msgstr ""
 
-#: setup/setup_feedback.tpl:59
-msgid "Did the setup procedure help you to get started?"
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
 msgstr ""
 
-#: setup/setup_feedback.tpl:62 setup/setup_feedback.tpl:80
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "Yes"
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
 msgstr ""
 
-#: setup/setup_feedback.tpl:64 setup/setup_feedback.tpl:82
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "No"
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
 msgstr ""
 
-#: setup/setup_feedback.tpl:69
-msgid "If not, what problems did you encounter"
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
 msgstr ""
 
-#: setup/setup_feedback.tpl:77
-msgid "Is this the first time you use GOsa?"
+#: plugins/admin/ogroups/class_ogroup.inc:328
+msgid "Windows workstations"
 msgstr ""
 
-#: setup/setup_feedback.tpl:83
-msgid "I use it since"
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
 msgstr ""
 
-#: setup/setup_feedback.tpl:84
-msgid "Select the year since when you are using GOsa"
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
 msgstr ""
 
-#: setup/setup_feedback.tpl:91
-msgid "What operating system / distribution do you use?"
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
 msgstr ""
 
-#: setup/setup_feedback.tpl:99
-msgid "What web server do you use?"
+#: plugins/admin/ogroups/class_ogroup.inc:533
+msgid "Non existing DN:"
 msgstr ""
 
-#: setup/setup_feedback.tpl:107
-msgid "What PHP version do you use?"
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
+msgid ""
+"These systems are already configured by other object groups and cannot be "
+"added:"
 msgstr ""
 
-#: setup/setup_feedback.tpl:115
-msgid "GOsa version"
+#: plugins/admin/ogroups/class_ogroup.inc:685
+msgid "You can combine two different object types at maximum, only!"
 msgstr ""
 
-#: setup/setup_feedback.tpl:123
-msgid "LDAP"
+#: plugins/admin/ogroups/class_ogroup.inc:849
+msgid "Object group generic"
 msgstr ""
 
-#: setup/setup_feedback.tpl:127
-msgid "What kind of LDAP server(s) do you use?"
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
 msgstr ""
 
-#: setup/setup_feedback.tpl:133
-msgid "How many objects are in your LDAP?"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
 msgstr ""
 
-#: setup/setup_feedback.tpl:140
-msgid "Features"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+msgid "Templates"
 msgstr ""
 
-#: setup/setup_feedback.tpl:143
-msgid "What features of GOsa do you use?"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
 msgstr ""
 
-#: setup/setup_feedback.tpl:153
-msgid "What features do you want to see in future versions of GOsa?"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+msgid "Windows Install"
 msgstr ""
 
-#: setup/setup_feedback.tpl:160
-msgid "Send feedback"
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
+msgid "ACL Templates"
 msgstr ""
 
-#: setup/setup_finish.tpl:3
-msgid "Create your configuration file"
+#: plugins/admin/acl/acl-list.xml:11
+msgid "List of ACLs"
 msgstr ""
 
-#: setup/setup_finish.tpl:10
-msgid "Depending on the user name your webserver is running on:"
+#: plugins/admin/acl/paste_role.tpl:1
+msgid "Paste ACL-role"
 msgstr ""
 
-#: setup/setup_finish.tpl:28
-msgid "Download configuration"
+#: plugins/admin/acl/acl-filter.xml:48
+#: plugins/admin/acl/class_aclManagement.inc:154
+msgid "ACL Assignment"
 msgstr ""
 
-#: setup/setup_finish.tpl:33
-msgid "Status: "
+#: plugins/admin/acl/class_aclManagement.inc:26
+msgid ""
+"Control access to GOsa managed objects down to attribute and action level"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:53
-msgid "LDAP setup"
+#: plugins/admin/acl/class_aclRole.inc:26
+#: plugins/admin/acl/class_aclRole.inc:715
+msgid "Access control roles"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:54
-msgid "LDAP connection setup"
+#: plugins/admin/acl/class_aclRole.inc:27
+msgid "Edit AC roles"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:55
-msgid ""
-"This dialog performs the basic configuration of the LDAP connectivity for "
-"GOsa."
+#: plugins/admin/acl/class_aclRole.inc:138
+msgid "Reset ACL"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:112
-#, php-format
-msgid "Anonymous bind to server '%s' failed!"
+#: plugins/admin/acl/class_aclRole.inc:411
+msgid "No ACL settings for this category"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:114
+#: plugins/admin/acl/class_aclRole.inc:413
 #, php-format
-msgid "Bind as user '%s' failed!"
+msgid "ACL for these objects: %s"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:119
-#, php-format
-msgid "Anonymous bind to server '%s' succeeded."
+#: plugins/admin/acl/class_aclRole.inc:418
+msgid "Edit category ACL"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:120
-msgid "Please specify user and password!"
+#: plugins/admin/acl/class_aclRole.inc:421
+msgid "Delete category ACL"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:122
+#: plugins/admin/acl/class_aclRole.inc:442
 #, php-format
-msgid "Bind as user '%s' to server '%s' succeeded!"
+msgid "Edit ACL for '%s', scope is '%s'"
 msgstr ""
 
-#: setup/setup_ldap.tpl:7
-msgid "Please choose the LDAP user to be used by GOsa"
+#: plugins/admin/acl/class_aclRole.inc:635
+msgid "Object in use"
 msgstr ""
 
-#: setup/setup_ldap.tpl:25
-msgid "LDAP connection"
+#: plugins/admin/acl/class_aclRole.inc:635
+#, php-format
+msgid "This role cannot be removed while it is in use by these objects:"
 msgstr ""
 
-#: setup/setup_ldap.tpl:29
-msgid "Location name"
+#: plugins/admin/acl/class_aclRole.inc:731
+msgid "RDN for role storage."
 msgstr ""
 
-#: setup/setup_ldap.tpl:37
-msgid "Connection URI"
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
+msgid "Domain component"
 msgstr ""
 
-#: setup/setup_ldap.tpl:45
-msgid "TLS connection"
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
+msgid "Locality name"
 msgstr ""
 
-#: setup/setup_ldap.tpl:69
-msgid "Authentication"
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
+msgid "Name of locality to create"
+msgstr ""
+
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
 msgstr ""
 
-#: setup/setup_ldap.tpl:73
-msgid "Admin DN"
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
+msgid "Administrative settings"
 msgstr ""
 
-#: setup/setup_ldap.tpl:86
-msgid "Automatically append LDAP base to admin DN"
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
 msgstr ""
 
-#: setup/setup_ldap.tpl:93
-msgid "Admin password"
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
 msgstr ""
 
-#: setup/setup_ldap.tpl:101
-msgid "Schema based settings"
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
+msgid "Locality"
 msgstr ""
 
-#: setup/setup_ldap.tpl:105
-msgid "Use rfc2307bis compliant groups"
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
+msgid "Domain"
 msgstr ""
 
-#: setup/setup_ldap.tpl:117
-msgid "Current status"
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
+msgid "Country name"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:127 setup/class_setupStep_Migrate.inc:128
-msgid "LDAP inspection"
+#: plugins/admin/departments/country.tpl:14
+msgid "Name of country to create"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:129
-msgid "Analyze your current LDAP for GOsa compatibility"
+#: plugins/admin/departments/dep-list.xml:11
+msgid "List of structural objects"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:135
-msgid "Checking for root object"
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "You are currently moving/renaming this department."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:141
-msgid "Inspecting object classes in root object"
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:147
-msgid "Checking permission for LDAP database"
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+msgid "GOsa can NOT fix this for you, yet."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:153
-msgid "Checking for invisible departments"
+#: plugins/admin/departments/dep_move_confirm.tpl:12
+msgid ""
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:158
-msgid "Checking for invisible users"
+#: plugins/admin/departments/organization.tpl:11
+msgid "Name of organization"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3211
-msgid "Checking for super administrator"
+#: plugins/admin/departments/organization.tpl:14
+msgid "Name of organization to create"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:171
-msgid "Checking for users outside the people tree"
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:177
-msgid "Checking for groups outside the groups tree"
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:184
-msgid "Checking for windows workstations outside the winstation tree"
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:190
-msgid "Checking for duplicated UID numbers"
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:196
-msgid "Checking for duplicate GID numbers"
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:202
-msgid "Checking for old style USB devices"
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:208
-msgid "Checking for old services that have to be migrated"
+#: plugins/admin/departments/class_department.inc:439
+msgid "Cannot find an unused tag for this administrative unit!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:214
-msgid "Checking for old style application menus"
+#: plugins/admin/departments/class_department.inc:507
+#, php-format
+msgid "Tagging '%s'."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:240 setup/class_setupStep_Migrate.inc:292
-#: setup/class_setupStep_Migrate.inc:357 setup/class_setupStep_Migrate.inc:421
-#: setup/class_setupStep_Migrate.inc:492 setup/class_setupStep_Migrate.inc:569
-#: setup/class_setupStep_Migrate.inc:653 setup/class_setupStep_Migrate.inc:796
-#: setup/class_setupStep_Migrate.inc:892
-#: setup/class_setupStep_Migrate.inc:2038
-#: setup/class_setupStep_Migrate.inc:2506
-#: setup/class_setupStep_Migrate.inc:2697
-#: setup/class_setupStep_Migrate.inc:2834
-msgid "LDAP query failed"
+#: plugins/admin/departments/class_department.inc:588
+#, php-format
+msgid "Moving '%s' to '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:241 setup/class_setupStep_Migrate.inc:293
-#: setup/class_setupStep_Migrate.inc:358 setup/class_setupStep_Migrate.inc:422
-#: setup/class_setupStep_Migrate.inc:493 setup/class_setupStep_Migrate.inc:570
-#: setup/class_setupStep_Migrate.inc:654 setup/class_setupStep_Migrate.inc:797
-#: setup/class_setupStep_Migrate.inc:893
-#: setup/class_setupStep_Migrate.inc:2039
-#: setup/class_setupStep_Migrate.inc:2507
-#: setup/class_setupStep_Migrate.inc:2698
-#: setup/class_setupStep_Migrate.inc:2835
-msgid "Possibly the 'root object' is missing."
+#: plugins/admin/departments/class_department.inc:629
+#, php-format
+msgid "FAILED to copy %s, aborting operation"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:263
-#, php-format
-msgid "Found %s duplicate values for attribute 'uidNumber'."
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:315
-#, php-format
-msgid "Found %s duplicate values for attribute 'gidNumber'."
+#: plugins/admin/departments/class_department.inc:674
+msgid "Department name"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:583
-#: setup/class_setupStep_Migrate.inc:596
-#: setup/class_setupStep_Migrate.inc:1032
-#: setup/class_setupStep_Migrate.inc:1050
-#: setup/class_setupStep_Migrate.inc:1990
-#: setup/class_setupStep_Migrate.inc:2003
-#: setup/class_setupStep_Migrate.inc:2058
-#: setup/class_setupStep_Migrate.inc:2079
-#: setup/class_setupStep_Migrate.inc:2131
-#: setup/class_setupStep_Migrate.inc:3213
-msgid "Failed"
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:375
+#: plugins/admin/departments/class_department.inc:737
 #, php-format
-msgid ""
-"Found %s winstations outside the predefined winstation department ou '%s'."
+msgid "Object '%s' is already tagged"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:448
+#: plugins/admin/departments/class_department.inc:744
 #, php-format
-msgid "Found %s groups outside the configured tree '%s'."
+msgid "Adding tag (%s) to object '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:449 setup/class_setupStep_Migrate.inc:526
-msgid "Move"
+#: plugins/admin/departments/class_department.inc:776
+#, php-format
+msgid "Removing tag from object '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:525
-#, php-format
-msgid "Found %s user(s) outside the configured tree '%s'."
+#: plugins/admin/departments/dep_iframe.tpl:1
+msgid "Processing the requested operation"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:598
-#, php-format
+#: plugins/admin/departments/dep_iframe.tpl:7
 msgid ""
-"The specified user '%s' does not have full access to your ldap database."
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:662
-#, php-format
-msgid "Found %s user(s) that will not be visible in GOsa."
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
+msgid "Domain Component"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#: setup/class_setupStep_Migrate.inc:1120
-msgid "Migration error"
+#: plugins/admin/departments/class_organizationGeneric.inc:122
+msgid "Organization name"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#, php-format
-msgid "Cannot migrate department '%s':"
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+msgid "Phone number"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:805
-#, php-format
-msgid "Found %s department(s) that will not be visible in GOsa."
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1029
-#, php-format
-msgid "GOsa 2.5 administrative accounts found: %s"
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1034
-msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
+#: plugins/admin/departments/generic.tpl:22
+msgid "Descriptive text for   department"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1051
-msgid "There is no GOsa administrator account inside your LDAP."
+#: plugins/admin/departments/class_departmentManagement.inc:25
+msgid "Directory structure"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1120
-#, php-format
-msgid "Cannot add ACL for user '%s':"
+#: plugins/admin/departments/class_departmentManagement.inc:26
+msgid ""
+"Manage organizations, organizational units, localities, countries and more"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1158
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Input error"
+#: plugins/admin/departments/class_departmentManagement.inc:125
+msgid ""
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1158
-msgid "Uid"
+#: plugins/admin/departments/domain.tpl:11
+msgid "Domain name"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Password error"
+#: plugins/admin/departments/domain.tpl:14
+msgid "Name of domain to create"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Provided passwords do not match!"
+#: plugins/admin/users/password.tpl:4
+msgid ""
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Specify a valid user ID!"
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
+msgid "Password input dialog"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1201
-#, php-format
-msgid "Adding an administrative user failed: object '%s' already exists!"
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
+msgid "Strength"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-msgid "Cannot move users to the requested department!"
+#: plugins/admin/users/password.tpl:95
+msgid "Enforce password change on next login."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1250
-msgid "Winstation will be moved from"
+#: plugins/admin/users/templatize.tpl:2
+msgid "Applying a template"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1261
-#: setup/class_setupStep_Migrate.inc:1310
-msgid "Updating following references too"
+#: plugins/admin/users/templatize.tpl:6
+msgid ""
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1300
-msgid "Group will be moved from"
+#: plugins/admin/users/templatize.tpl:13
+msgid "Apply user template"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "User will be moved from"
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1358
-msgid "The following references will be updated"
+#: plugins/admin/users/templatize.tpl:32
+msgid "No templates available!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1991
-msgid ""
-"The LDAP root object is missing. It is required to use your LDAP service."
+#: plugins/admin/users/user-filter.xml:33
+msgid "Show templates"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:1992
-#: setup/class_setupStep_Migrate.inc:2005
-msgid "Try to create root object"
+#: plugins/admin/users/user-filter.xml:47
+msgid "Show POSIX users"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2004
-msgid "Root object couldn't be created, you should try it on your own."
+#: plugins/admin/users/user-filter.xml:61
+msgid "Show SAMBA users"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2059
-#, php-format
-msgid "Missing GOsa object class '%s'!"
+#: plugins/admin/users/user-filter.xml:75
+msgid "Show mail users"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2060
-msgid "Please check your installation."
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2081
-#, php-format
+#: plugins/admin/users/template.tpl:6
 msgid ""
-"Cannot handle the structural object type of your root object. Please try to "
-"add the object class '%s' manually."
-msgstr ""
-
-#: setup/class_setupStep_Migrate.inc:2440
-#, php-format
-msgid "Copy '%s' to '%s' failed:"
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2575
-#, php-format
-msgid "There are %s devices that need to be migrated."
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2635
-#, php-format
-msgid "Adding '%s' to the LDAP failed: %s"
+#: plugins/admin/users/class_userManagement.inc:26
+msgid ""
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2655
-#: setup/class_setupStep_Migrate.inc:2772
-#, php-format
-msgid "Updating '%s' failed: %s"
+#: plugins/admin/users/class_userManagement.inc:401
+msgid "You have no permission to change this users password!"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:2728
-#, php-format
-msgid "There are %s services that need to be migrated."
+#: plugins/admin/users/class_userManagement.inc:791
+msgid "Account locking"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:3059
+#: plugins/admin/users/class_userManagement.inc:792
 #, php-format
-msgid "There are %s application menus which have to be migrated."
-msgstr ""
-
-#: setup/setup_welcome.tpl:4
 msgid ""
-"This seems to be the first time you start GOsa - we didn't find any "
-"configuration right now. This simple wizard intends to help you while "
-"setting it up."
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
 msgstr ""
 
-#: setup/setup_welcome.tpl:8
-msgid "What will the wizard do for you?"
+#: plugins/admin/users/class_userManagement.inc:865
+msgid "Unlock account"
 msgstr ""
 
-#: setup/setup_welcome.tpl:11
-msgid "Create a basic, single site configuration"
+#: plugins/admin/users/class_userManagement.inc:867
+msgid "Lock account"
 msgstr ""
 
-#: setup/setup_welcome.tpl:12
-msgid "Tries to find problems within your PHP and LDAP setup"
+#: plugins/admin/users/class_userManagement.inc:880
+msgid "Edit generic properties"
 msgstr ""
 
-#: setup/setup_welcome.tpl:13
-msgid "Let you choose from a set of basic and advanced configuration switches"
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
 msgstr ""
 
-#: setup/setup_welcome.tpl:14
-msgid "Guided migration of existing LDAP trees"
+#: plugins/admin/users/class_userManagement.inc:896
+msgid "Edit Netatalk properties"
 msgstr ""
 
-#: setup/setup_welcome.tpl:17
-msgid "What will the wizard NOT do for you?"
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
 msgstr ""
 
-#: setup/setup_welcome.tpl:20
-msgid "Find every possible configuration error"
+#: plugins/admin/users/class_userManagement.inc:904
+msgid "Edit FAX properties"
 msgstr ""
 
-#: setup/setup_welcome.tpl:21
-msgid "Migrate every possible LDAP setup - create backup dumps!"
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
 msgstr ""
 
-#: setup/setup_welcome.tpl:25
-msgid "To continue..."
+#: plugins/admin/users/user-list.xml:140
+msgid "Lock users"
 msgstr ""
 
-#: setup/setup_welcome.tpl:28
-msgid ""
-"For security reasons you need to authenticate for the installation by "
-"creating the file '/tmp/gosa.auth', containing the current session ID on the "
-"servers local filesystem. This can be done by executing the following "
-"command:"
+#: plugins/admin/users/user-list.xml:148
+msgid "Unlock users"
 msgstr ""
 
-#: setup/setup_welcome.tpl:34
-msgid "Click the 'Continue' button when you've finished."
+#: plugins/admin/users/user-list.xml:167
+msgid "Apply template"
 msgstr ""
 
-#: setup/setup_license.tpl:8
-msgid "I have read the license and accept it"
+#: plugins/admin/users/user-list.xml:199
+msgid "New user from template"
 msgstr ""
 
-#: setup/class_setupStep_Config3.inc:81 setup/class_setupStep_Config3.inc:82
-msgid "GOsa settings 3/3"
+#: plugins/admin/users/user-list.xml:213
+msgid "Edit user"
 msgstr ""
 
-#: setup/class_setupStep_Config3.inc:83
-msgid "Tweak some GOsa core behaviour"
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
 msgstr ""
 
-#: setup/class_setupStep_Config3.inc:212
-msgid "Session lifetime must be a numeric value!"
+#: plugins/admin/users/user-list.xml:245
+msgid "Remove user"
 msgstr ""
 
-#: setup/class_setupStep_Config3.inc:216
-msgid "Maximum LDAP query time must be a numeric value!"
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
+msgid "Back to main menu"
 msgstr ""
 
-#: setup/setup_checks.tpl:9
-msgid "PHP module and extension checks"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
 msgstr ""
 
-#: setup/setup_checks.tpl:41 setup/setup_checks.tpl:103
-msgid "GOsa will NOT run without fixing this."
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
 msgstr ""
 
-#: setup/setup_checks.tpl:45 setup/setup_checks.tpl:107
-msgid "GOsa will run without fixing this."
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
 msgstr ""
 
-#: setup/setup_checks.tpl:67
-msgid "PHP setup configuration"
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
+msgid "Action"
 msgstr ""
 
-#: setup/setup_checks.tpl:67
-msgid "show information"
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
+msgid "Systems"
 msgstr ""
 
-#: setup/setup_schema.tpl:3
-msgid "Schema specific settings"
+#: plugins/generic/statistics/statistics.tpl:2
+msgid "Usage statistics"
 msgstr ""
 
-#: setup/setup_schema.tpl:7
-msgid "Enable schema validation when logging in"
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
+msgid ""
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
 msgstr ""
 
-#: setup/setup_schema.tpl:16
-msgid "Check status"
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
+msgid "Dash board"
 msgstr ""
 
-#: setup/setup_schema.tpl:20
-msgid "Schema check succeeded"
+#: plugins/generic/statistics/statistics.tpl:16
+msgid ""
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
 msgstr ""
 
-#: setup/setup_schema.tpl:23
-msgid "Schema check failed"
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
 msgstr ""
 
-#: setup/setup_schema.tpl:31
-msgid ""
-"Could not read any schema informations, all checks skipped. Adjust your ldap "
-"acls."
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
 msgstr ""
 
-#: setup/setup_schema.tpl:35
-msgid ""
-"It seems that your ldap database wasn't initialized yet. This maybe the "
-"reason, why GOsa can't read your schema configuration!"
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
 msgstr ""
 
-#: setup/setup_config1.tpl:2
-msgid "Look and feel"
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
 msgstr ""
 
-#: setup/setup_config1.tpl:6
-msgid "Theme"
+#: plugins/generic/statistics/statistics.tpl:87
+msgid "Select report type"
 msgstr ""
 
-#: setup/setup_config1.tpl:15
-msgid "Apache"
+#: plugins/generic/statistics/class_statistics.inc:263
+#, php-format
+msgid ""
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
 msgstr ""
 
-#: setup/setup_config1.tpl:19
-msgid "Compress output send to browser"
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
+msgid "Channels"
 msgstr ""
 
-#: setup/setup_config1.tpl:27
-msgid "People and group storage"
+#: plugins/generic/dashBoard/Register/register.tpl:3
+msgid "GOsa registration"
 msgstr ""
 
-#: setup/setup_config1.tpl:30
-msgid "People DN attribute"
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
 msgstr ""
 
-#: setup/setup_config1.tpl:41
-msgid "People storage subtree"
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
 msgstr ""
 
-#: setup/setup_config1.tpl:50
-msgid "Group storage subtree"
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
 msgstr ""
 
-#: setup/setup_config1.tpl:59
-msgid "Include personal title in user DN"
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
 msgstr ""
 
-#: setup/setup_config1.tpl:70
-msgid "Relaxed naming policies"
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
 msgstr ""
 
-#: setup/setup_config1.tpl:81
-msgid "Automatic UIDs"
+#: plugins/generic/dashBoard/Register/register.tpl:22
+msgid ""
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
 msgstr ""
 
-#: setup/setup_config1.tpl:97 setup/class_setupStep_Config1.inc:118
-msgid "GID / UID min id"
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
 msgstr ""
 
-#: setup/setup_config1.tpl:113
-msgid "Number base for people/groups"
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
 msgstr ""
 
-#: setup/setup_config1.tpl:121
-msgid "Hook for number base"
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
 msgstr ""
 
-#: setup/setup_config1.tpl:140
-msgid "Password encryption algorithm"
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
 msgstr ""
 
-#: setup/setup_config1.tpl:151
-msgid "Password restrictions"
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
 msgstr ""
 
-#: setup/setup_config1.tpl:158 setup/setup_config1.tpl:162
-msgid "Password minimum length"
+#: plugins/generic/dashBoard/Register/register.tpl:33
+msgid ""
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
 msgstr ""
 
-#: setup/setup_config1.tpl:169 setup/setup_config1.tpl:173
-msgid "Different characters from old password"
+#: plugins/generic/dashBoard/Register/register.tpl:34
+msgid ""
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
 msgstr ""
 
-#: setup/setup_config1.tpl:182
-msgid "Password change hook"
+#: plugins/generic/dashBoard/Register/register.tpl:35
+msgid ""
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
 msgstr ""
 
-#: setup/setup_config1.tpl:198
-msgid "Use SASL for kerberos"
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
+msgid "Registration complete"
 msgstr ""
 
-#: setup/setup_config1.tpl:209
-msgid "Use account expiration"
+#: plugins/generic/dashBoard/Register/register.tpl:71
+msgid "GOsa instance sucessfully registered"
 msgstr ""
 
-#: setup/setup_config1.tpl:221
-msgid ""
-"GOsa supports several encryption types for your passwords. Normally this is "
-"adjustable via user templates, but you can specify a default method to be "
-"used here, too."
+#: plugins/generic/dashBoard/Register/register.tpl:82
+msgid "GOsa instance will not be registered"
 msgstr ""
 
-#: setup/setup_config1.tpl:222
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
 msgid ""
-"GOsa always acts as admin and manages access rights internally. This is a "
-"workaround till OpenLDAP's in directory ACI's are    fully implemented. For "
-"this to work, we need the admin DN and the corresponding password."
+"Communciation with the backend failed! Please check your internet connection!"
 msgstr ""
 
-#: setup/setup_config1.tpl:223
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
 msgid ""
-"Some basic LDAP parameters are tunable and affect the locations where GOsa "
-"saves people and groups, including the way accounts get created. Check the "
-"values below if the fit your needs."
+"Authentication failed, please check combination of username and password!"
 msgstr ""
 
-#: setup/setup_config1.tpl:224
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
 msgid ""
-"GOsa has modular support for several mail methods. These methods provide "
-"interfaces to users mailboxes and general handling    for quotas. You can "
-"choose the dummy plugin to leave all your mail settings untouched."
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
 msgstr ""
 
-#: setup/class_setupStep_Schema.inc:42 setup/class_setupStep_Schema.inc:43
-msgid "LDAP schema check"
-msgstr ""
-
-#: setup/class_setupStep_Schema.inc:44
-msgid "Perform test on your current LDAP schema"
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
+msgid "Notifications"
 msgstr ""
 
-#: setup/class_setupStep_Welcome.inc:38
-msgid "Welcome"
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
 msgstr ""
 
-#: setup/class_setupStep_Welcome.inc:39
-msgid "The welcome message"
+#: plugins/generic/dashBoard/dashBoard.tpl:7
+msgid ""
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
 msgstr ""
 
-#: setup/class_setupStep_Welcome.inc:40
-msgid "Welcome to GOsa setup wizard"
+#: plugins/generic/dashBoard/dashBoard.tpl:13
+msgid "GOsa dash board"
 msgstr ""
 
-#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
-msgid "License"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
 msgstr ""
 
-#: setup/class_setupStep_License.inc:58
-msgid "Terms and conditions for usage"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
+msgid "Schema missing"
 msgstr ""
 
-#: setup/setup_language.tpl:3
-msgid "Please select the preferred language"
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
+msgid "Plugin status"
 msgstr ""
 
-#: setup/setup_language.tpl:5
-msgid ""
-"At this point, you can select the site wide default language. Choosing "
-"'automatic' will use the language requested by the browser. This setting can "
-"be overriden per user."
+#: plugins/generic/references/class_reference.inc:70
+msgid "Role membership"
 msgstr ""
 
-#: setup/setup_language.tpl:9
-msgid "Please select your preferred language here"
+#: plugins/generic/references/class_reference.inc:76
+msgid "Object group membership"
 msgstr ""
 
-#: setup/class_setupStep_Config1.inc:74 setup/class_setupStep_Config1.inc:75
-msgid "GOsa settings 1/3"
+#: plugins/generic/references/class_reference.inc:82
+msgid "Department manager"
 msgstr ""
 
-#: setup/class_setupStep_Config1.inc:76
-msgid "GOsa generic settings"
+#: plugins/generic/references/class_reference.inc:88
+msgid "User manager"
 msgstr ""
 
-#: setup/class_setupStep_Config1.inc:118
-#, php-format
-msgid "The specified value for '%s' must be a numeric value"
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+msgid "Object information"
 msgstr ""
 
-#: setup/class_setupStep_Config1.inc:122 setup/class_setupStep_Config1.inc:126
-#, php-format
-msgid "Don't add a trailing comma to '%s'."
+#: plugins/generic/references/contents.tpl:7
+msgid "Show raw object entry"
 msgstr ""
 
-#: setup/class_setupStep_Config1.inc:122
-msgid "People storage ou"
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
+msgid "Last modification"
 msgstr ""
 
-#: setup/class_setupStep_Config1.inc:126
-msgid "Group storage ou"
+#: plugins/generic/references/contents.tpl:29
+msgid "Object references"
 msgstr ""
 
-#: setup/class_setupStep_Config1.inc:130
-msgid "Uid base must be numeric"
+#: plugins/generic/references/contents.tpl:45
+msgid "ACL trace"
 msgstr ""
 
-#: setup/class_setupStep_Config1.inc:134
-msgid "The given password minimum length is not numeric."
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
 msgstr ""
 
-#: setup/class_setupStep_Config1.inc:137
-msgid "The given password differ value is not numeric."
+#: plugins/generic/references/class_aclResolver.inc:193
+msgid "ACLs"
 msgstr ""
 
-#: setup/class_setupStep_Config2.inc:80 setup/class_setupStep_Config2.inc:81
-msgid "GOsa settings 2/3"
+#: plugins/generic/references/class_aclResolver.inc:198
+#, php-format
+msgid "List of effective ACLs for '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Config2.inc:82
-msgid "Customize special parameters"
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
+msgid "Object permissions"
 msgstr ""
 
-#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
-msgid "Language setup"
+#: plugins/generic/references/class_aclResolver.inc:311
+msgid "create"
 msgstr ""
 
-#: setup/class_setupStep_Language.inc:42
-msgid "This step allows you to select your preferred language."
+#: plugins/generic/references/class_aclResolver.inc:312
+msgid "remove"
 msgstr ""
 
-#: setup/class_setupStep_Language.inc:47
-msgid "Automatic"
+#: plugins/generic/references/class_aclResolver.inc:313
+msgid "move"
 msgstr ""
diff --git a/gosa-core/locale/core/nl/LC_MESSAGES/messages.po b/gosa-core/locale/core/nl/LC_MESSAGES/messages.po
index 8f0a6e7..1aaaffd 100644
--- a/gosa-core/locale/core/nl/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/nl/LC_MESSAGES/messages.po
@@ -11,2576 +11,2590 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-09 20:24+0200\n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
 "PO-Revision-Date: 2006-06-02 16:58+0100\n"
 "Last-Translator: Niels Klomp (CareWorks ICT Services) <nk at careworks.nl>\n"
 "Language-Team: CareWorks ICT Services <info at careworks.nl>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ihtml/themes/default/remove.tpl:2 ihtml/themes/default/msg_dialog.tpl:59
-#: ihtml/themes/default/msg_dialog.tpl:106 ihtml/themes/default/islocked.tpl:6
-#: ihtml/themes/default/conflict.tpl:6 html/password.php:280 html/index.php:57
-#: html/index.php:63 html/index.php:406 html/index.php:412
-#: include/functions.inc:954 include/functions.inc:2686
-#: include/functions.inc:2690 include/functions.inc:2696
-#: include/class_tabs.inc:268 include/utils/class_xml.inc:37
-#: plugins/admin/ogroups/remove.tpl:2 plugins/admin/groups/remove.tpl:2
-#: plugins/admin/groups/class_group.inc:994 plugins/admin/users/remove.tpl:2
-#: plugins/admin/departments/remove.tpl:2
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#: plugins/admin/acl/remove.tpl:2
-#: plugins/personal/posix/class_posixAccount.inc:793
-#: plugins/personal/posix/class_posixAccount.inc:946
-#: setup/class_setupStep_Migrate.inc:261 setup/class_setupStep_Migrate.inc:313
-#: setup/class_setupStep_Migrate.inc:446 setup/class_setupStep_Migrate.inc:523
-#: setup/class_setupStep_Migrate.inc:661 setup/class_setupStep_Migrate.inc:804
-#: setup/class_setupStep_Migrate.inc:2573
-#: setup/class_setupStep_Migrate.inc:2726
-#: setup/class_setupStep_Migrate.inc:3058 setup/setup_checks.tpl:32
-#: setup/setup_checks.tpl:93
-msgid "Warning"
-msgstr "Waarschuwing"
-
-#: ihtml/themes/default/remove.tpl:6
-msgid ""
-"This may be used by several groups. Please double check if your really want "
-"to do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Dit kan gebruikt worden door meerdere groepen. Verzeker uzelf ervan dat dit "
-"is wat u wil, aangezien er geen mogelijkheid voor GOsa is om uw date terug "
-"te halen."
-
-#: ihtml/themes/default/remove.tpl:9 plugins/admin/ogroups/remove.tpl:10
-#: plugins/admin/groups/remove.tpl:10 plugins/admin/users/remove.tpl:10
-#: plugins/admin/acl/remove.tpl:10
-msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-"Indien u zeker bent drukt u dan 'Verwijderen' om door te gaan of 'Annuleren' "
-"om te annuleren."
-
-#: ihtml/themes/default/remove.tpl:15
-#: ihtml/themes/default/copyPasteDialog.tpl:21
-#: ihtml/themes/default/acl.tpl:128 ihtml/themes/default/acl.tpl:142
-#: ihtml/themes/default/snapshotdialog.tpl:44
-#: ihtml/themes/default/snapshotdialog.tpl:89
-#: ihtml/themes/default/msg_dialog.tpl:79
-#: ihtml/themes/default/msg_dialog.tpl:139
-#: ihtml/themes/default/msg_dialog.tpl:144
-#: ihtml/themes/default/islocked.tpl:19 include/utils/class_msgPool.inc:312
-#: setup/setup_migrate.tpl:163 setup/setup_migrate.tpl:214
-#: setup/setup_migrate.tpl:261 setup/setup_migrate.tpl:326
-#: setup/setup_migrate.tpl:382 setup/setup_migrate.tpl:435
-#: setup/setup_migrate.tpl:480 setup/setup_migrate.tpl:523
-#: setup/setup_migrate.tpl:567 setup/setup_ldap.tpl:17
-#, php-format
-msgid "Cancel"
-msgstr "Annuleren"
-
-#: ihtml/themes/default/login.tpl:10
-msgid "GOsa login screen"
-msgstr ""
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
+msgstr "niet geconfigureerd"
 
-#: ihtml/themes/default/login.tpl:27
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
 #, fuzzy
-msgid "Login screen"
-msgstr "Log DB gebruiker"
+msgid "Permission"
+msgstr "Rechten"
 
-#: ihtml/themes/default/login.tpl:34
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
 #, fuzzy
-msgid ""
-"Please use your username and your password to log into the site "
-"administration system."
-msgstr "Voer uw <i>gebruikersnaam</i> en <i>wachtwoord</i> in"
-
-#: ihtml/themes/default/login.tpl:42 ihtml/themes/default/login.tpl:44
-#: ihtml/themes/default/password.tpl:69 ihtml/themes/default/password.tpl:71
-msgid "Username"
-msgstr "Gebruikersnaam"
+msgid "Permission error"
+msgstr "Rechten"
 
-#: ihtml/themes/default/login.tpl:47 ihtml/themes/default/login.tpl:49
-#: ihtml/themes/default/password.tpl:40
-#: plugins/personal/generic/paste_generic.tpl:20
-#: plugins/personal/password/class_password.inc:26 setup/setup_config2.tpl:237
-#: setup/setup_config2.tpl:282 setup/setup_migrate.tpl:299
-msgid "Password"
-msgstr "Wachtwoord"
+#: include/class_management.inc:487
+#, fuzzy, php-format
+msgid "You are not allowed to create a snapshot for %s!"
+msgstr "U heeft geen toestemming om uw wachtwoord te veranderen!"
 
-#: ihtml/themes/default/login.tpl:52 ihtml/themes/default/login.tpl:53
-#: ihtml/themes/default/password.tpl:60 ihtml/themes/default/password.tpl:62
-msgid "Directory"
-msgstr "Directory"
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
+#, php-format
+msgid "Error"
+msgstr "Fout"
 
-#: ihtml/themes/default/login.tpl:77 ihtml/themes/default/login.tpl:80
-msgid "Sign in"
-msgstr "Inloggen"
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, fuzzy, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
+msgstr "U heeft geen toestemming om uw wachtwoord te veranderen!"
 
-#: ihtml/themes/default/login.tpl:78
-msgid "Click here to log in"
-msgstr "Klik hier om in te loggen"
+#: include/class_management.inc:549
+#, fuzzy, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
+msgstr "U heeft geen toestemming om uw wachtwoord te veranderen!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:1
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
 #, fuzzy
-msgid "Copy & paste wizard"
-msgstr "Kopieren & plakken wizard"
+msgid "Internal error"
+msgstr "Terminal server"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:7
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
 msgid ""
-"Some values need to be unique in the complete directory while some "
-"combinations make no sense. GOsa shows the relevant attributes. Please "
-"maintain the values below to fullfill the policies."
-msgstr ""
-"Somige waardes moeten uniek zijn binnen de gehele directory, terwijl sommige "
-"combinaties geen zin hebben. GOsa toont de relevante attributen. Bewaar de "
-"waardes hieronder a.u.b. om aan deze vereisten te voldoen."
-
-#: ihtml/themes/default/copyPasteDialog.tpl:9
-msgid "Remember that some properties like taken snapshots will not be copied!"
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:10
+#: include/class_management.inc:669
+#, php-format
 msgid ""
-"Or if you copy or cut an entry within GOsa and delete the source object, you "
-"may get errors while pasting this object again!"
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:330
-#, php-format
-msgid "Save"
-msgstr "Opslaan"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:24
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
 #, fuzzy
-msgid "Cancel all"
-msgstr "Annuleren"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:30
-msgid "Operation complete"
-msgstr "Bewerking afgerond"
+msgid "Configuration error"
+msgstr "Configuratie bestand"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:32
-#: setup/class_setupStep_Finish.inc:37
-msgid "Finish"
-msgstr "Opslaan"
+#: include/class_pluglist.inc:147
+msgid "The configuration format has changed: please run the setup again!"
+msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:3
+#: include/class_pluglist.inc:304
+#, fuzzy
 msgid ""
-"The size limit option makes LDAP operations faster and saves the LDAP server "
-"from getting too much load. The easiest way to handle big databases without "
-"long timeouts would be to limit your search to smaller values and use "
-"filters to get the entries you are looking for."
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
 msgstr ""
-"De grootte limiet optie maakt LDAP bewerkingen sneller en behoedt de LDAP "
-"server voor een te grote werkdruk. De eenvoudigste manier om met grote "
-"databases te werken zonder lange timeouts is door zoekopdrachten in grootte "
-"te beperken en door filters te gebruiken voor de informatie die u zoekt."
-
-#: ihtml/themes/default/sizelimit.tpl:6
-msgid "Please choose the way to react for this session"
-msgstr "Kies a.u.b. de manier waarop gereageerd moet worden voor deze sessie"
+"U bent momenteel database gegevens aan het bewerken. Wilt u eventuele "
+"wijzigingen ongedaan maken?"
 
-#: ihtml/themes/default/sizelimit.tpl:9
-msgid "ignore this error and show all entries the LDAP server returns"
-msgstr "Negeer deze fout en toon alle gegevens die de LDAP server teruggeeft"
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
+msgid "Unknown"
+msgstr "Onbekend"
 
-#: ihtml/themes/default/sizelimit.tpl:10
-msgid ""
-"ignore this error and show all entries that fit into the defined sizelimit "
-"and let me use filters instead"
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
 msgstr ""
-"Negeer deze fout en toon alle gegevens die passen binnen de gedefiniëerde "
-"grootte limiet en laat me daarvoor in de plaats filters gebruiken"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
+#: include/utils/class_msgPool.inc:19
 #, php-format
-msgid "Set"
-msgstr "Stel in"
-
-#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
-msgid "Assigned ACL for current entry"
+msgid "This %s object will be deleted!"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:12 plugins/admin/acl/acl_role.tpl:38
-#, fuzzy
-msgid "New ACL"
-msgstr "Nieuw"
-
-#: ihtml/themes/default/acl.tpl:17 plugins/admin/acl/acl_role.tpl:44
-#, fuzzy
-msgid "ACL type"
-msgstr "type"
-
-#: ihtml/themes/default/acl.tpl:19 ihtml/themes/default/acl.tpl:24
-#: plugins/admin/acl/acl_role.tpl:44
-#, fuzzy
-msgid "Select an acl type"
-msgstr "Selecteer een basis"
-
-#: ihtml/themes/default/acl.tpl:29 ihtml/themes/default/acl.tpl:52
-#: ihtml/themes/default/acl.tpl:125 ihtml/themes/default/acl.tpl:140
-#: include/utils/class_msgPool.inc:324 setup/setup_migrate.tpl:161
-#: setup/setup_migrate.tpl:212 setup/setup_migrate.tpl:260
-#: setup/setup_migrate.tpl:325 setup/setup_migrate.tpl:380
-#: setup/setup_migrate.tpl:433 setup/setup_migrate.tpl:478
-#: setup/setup_migrate.tpl:521 setup/setup_migrate.tpl:565
-#: setup/setup_ldap.tpl:16
+#: include/utils/class_msgPool.inc:24
 #, php-format
-msgid "Apply"
-msgstr "Toepassen"
-
-#: ihtml/themes/default/acl.tpl:36
-#, fuzzy
-msgid "Additional filter options"
-msgstr "Programma instellingen"
+msgid "This object will be deleted: %s"
+msgstr ""
 
-#: ihtml/themes/default/acl.tpl:47
-msgid "Use members from"
+#: include/utils/class_msgPool.inc:26
+#, php-format
+msgid "This %s object will be deleted: %s"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:61
-msgid "Available members"
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:63 ihtml/themes/default/acl.tpl:68
-msgid "List message possible targets"
+#: include/utils/class_msgPool.inc:33
+#, php-format
+msgid "This %s object will be deleted:"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:82 include/class_acl.inc:1090
-msgid "Members"
-msgstr "Groepsleden"
+#: include/utils/class_msgPool.inc:37
+#, php-format
+msgid "These objects will be deleted: %s"
+msgstr ""
 
-#: ihtml/themes/default/acl.tpl:84 ihtml/themes/default/acl.tpl:90
-msgid "List message recipients"
+#: include/utils/class_msgPool.inc:39
+#, php-format
+msgid "These %s objects will be deleted: %s"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:104 plugins/admin/acl/acl_role.tpl:49
+#: include/utils/class_msgPool.inc:47
 #, fuzzy
-msgid "List of available ACL categories"
-msgstr "Lijst met beschikbare pakketten"
+msgid "You have no permission to delete this object!"
+msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
 
-#: ihtml/themes/default/acl.tpl:112
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
 #, fuzzy
-msgid "ACL for this object"
-msgstr "Zoeken naar iconv ondersteuning"
+msgid "You have no permission to delete the object:"
+msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
 
-#: ihtml/themes/default/acl.tpl:118
+#: include/utils/class_msgPool.inc:58
 #, fuzzy
-msgid "Available roles"
-msgstr "Beschikbare programma's"
+msgid "You have no permission to delete these objects:"
+msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
 
-#: ihtml/themes/default/accountexpired.tpl:15
+#: include/utils/class_msgPool.inc:65
 #, fuzzy
-msgid "Your password has expired. Please choose a new one!"
-msgstr "Uw wachtwoord is verlopen! Kies a.u.b. een nieuw wachtwoord. "
+msgid "You have no permission to create this object!"
+msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
 
-#: ihtml/themes/default/accountexpired.tpl:23
-#: ihtml/themes/default/accountexpired.tpl:27
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
 #, fuzzy
-msgid "Old password"
-msgstr "Oud wachtwoord"
-
-#: ihtml/themes/default/accountexpired.tpl:32
-#: ihtml/themes/default/accountexpired.tpl:36
-#: ihtml/themes/default/password.tpl:82 ihtml/themes/default/password.tpl:83
-#: html/password.php:196 plugins/admin/users/password.tpl:17
-#: plugins/admin/users/password.tpl:53
-#: plugins/admin/users/class_userManagement.inc:319
-#: plugins/personal/generic/password.tpl:22
-#: plugins/personal/generic/password.tpl:65
-#: plugins/personal/password/password.tpl:27
-#: plugins/personal/password/password.tpl:70
-msgid "New password"
-msgstr "Nieuw wachtwoord"
+msgid "You have no permission to create the object:"
+msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
 
-#: ihtml/themes/default/accountexpired.tpl:41
-#: ihtml/themes/default/accountexpired.tpl:45
+#: include/utils/class_msgPool.inc:76
 #, fuzzy
-msgid "Verify password"
-msgstr "Nogmaals wachtwoord"
-
-#: ihtml/themes/default/accountexpired.tpl:51
-#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
-msgid "Change password"
-msgstr "Verander wachtwoord"
+msgid "You have no permission to create these objects:"
+msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
 
-#: ihtml/themes/default/accountexpired.tpl:52
-#: ihtml/themes/default/password.tpl:102
+#: include/utils/class_msgPool.inc:83
 #, fuzzy
-msgid "Click here to change your password"
-msgstr "Klik hier om uw wachtwoord te veranderen."
+msgid "You have no permission to modify this object!"
+msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
 
-#: ihtml/themes/default/logout-close.tpl:5
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
 #, fuzzy
-msgid "Your GOsa session has been closed!"
-msgstr "Uw GOsa sessie is verlopen!"
-
-#: ihtml/themes/default/logout-close.tpl:7
-msgid ""
-"Please close this browser window and clean the authentication caches to "
-"avoid an automatic re-authentication by your browser."
-msgstr ""
+msgid "You have no permission to modify the object:"
+msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
 
-#: ihtml/themes/default/snapshotdialog.tpl:3
+#: include/utils/class_msgPool.inc:94
 #, fuzzy
-msgid "Restoring object snapshots"
-msgstr "Nieuwe objectgroep aanmaken"
+msgid "You have no permission to modify these objects:"
+msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
 
-#: ihtml/themes/default/snapshotdialog.tpl:6
-msgid ""
-"This procedure will restore a snapshot of the selected object. It will "
-"replace the existing object after pressing the restore button."
-msgstr ""
+#: include/utils/class_msgPool.inc:101
+#, fuzzy
+msgid "You have no permission to view this object!"
+msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
 
-#: ihtml/themes/default/snapshotdialog.tpl:9
-msgid ""
-"Remember that DNS configuration and database entries could not be restored. "
-"For some objects it is only nescessary to open and save them again (goFon), "
-"but some entries must be recreated manually (glpi)."
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
+#, fuzzy
+msgid "You have no permission to view the object:"
 msgstr ""
+"U heeft geen toestemming om een telefoon aan te maken onder deze 'Basis'."
 
-#: ihtml/themes/default/snapshotdialog.tpl:12
-msgid ""
-"Don't forget to check references to other objects, for example does the "
-"selected printer still exists ?"
-msgstr ""
+#: include/utils/class_msgPool.inc:112
+#, fuzzy
+msgid "You have no permission to view these objects:"
+msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
 
-#: ihtml/themes/default/snapshotdialog.tpl:20
-#: ihtml/themes/default/snapshotdialog.tpl:62 include/class_acl.inc:777
-#: include/class_acl.inc:784 include/class_acl.inc:791
-#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
-#: plugins/admin/departments/class_department.inc:621
-msgid "Object"
-msgstr "Object"
+#: include/utils/class_msgPool.inc:119
+#, fuzzy
+msgid "You have no permission to move this object!"
+msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
 
-#: ihtml/themes/default/snapshotdialog.tpl:29
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
 #, fuzzy
-msgid "There is no snapshot available that could be restored"
-msgstr ""
-"Er is geen MySQL extensie beschikbaar. Controleer uw PHP installatie a.u.b."
+msgid "You have no permission to move the object:"
+msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
 
-#: ihtml/themes/default/snapshotdialog.tpl:31
-msgid "Choose a snapshot and click the folder image, to restore the snapshot"
-msgstr ""
+#: include/utils/class_msgPool.inc:130
+#, fuzzy
+msgid "You have no permission to move these objects:"
+msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
 
-#: ihtml/themes/default/snapshotdialog.tpl:49
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
 #, fuzzy
-msgid "Creating object snapshots"
-msgstr "Nieuwe objectgroep aanmaken"
+msgid "Connection information"
+msgstr "Persoonlijke informatie"
 
-#: ihtml/themes/default/snapshotdialog.tpl:52
-msgid ""
-"This procedure will create a snapshot of the selected object. It will be "
-"stored inside a special branch of your directory system and can be restored "
-"later on."
-msgstr ""
-
-#: ihtml/themes/default/snapshotdialog.tpl:55
-msgid ""
-"Remember that database entries, DNS configurations and possibly created "
-"zones in server extensions will not be stored in the snapshot."
-msgstr ""
-
-#: ihtml/themes/default/snapshotdialog.tpl:70
-#, fuzzy
-msgid "Timestamp"
-msgstr "Timeout"
-
-#: ihtml/themes/default/snapshotdialog.tpl:79
-msgid "Reason for generating this snapshot"
-msgstr ""
-
-#: ihtml/themes/default/snapshotdialog.tpl:87
-#: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:561
-#: plugins/admin/departments/class_department.inc:643
-msgid "Continue"
-msgstr "Doorgaan"
-
-#: ihtml/themes/default/msg_dialog.tpl:57
-#: ihtml/themes/default/msg_dialog.tpl:104 html/index.php:224
-#: html/index.php:228 include/class_management.inc:448
-#: include/class_management.inc:584 include/class_management.inc:916
-#: include/password-methods/class_password-methods.inc:250
-#: include/password-methods/class_password-methods.inc:309
-#: include/password-methods/class_password-methods.inc:320
-#: include/class_listing.inc:480 include/functions.inc:3393
-#: include/functions.inc:3407 include/functions.inc:3437
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485 include/functions.inc:3545
-#: include/class_tabs.inc:56 include/class_plugin.inc:670
-#: include/class_plugin.inc:712 include/class_plugin.inc:755
-#: include/class_plugin.inc:1642 include/utils/class_xml.inc:40
-#: include/utils/class_msgPool.inc:154 include/utils/class_msgPool.inc:166
-#: include/utils/class_msgPool.inc:184 include/utils/class_msgPool.inc:457
-#: include/utils/class_msgPool.inc:478 include/utils/class_msgPool.inc:497
-#: include/class_gosaSupportDaemon.inc:1184
-#: include/class_gosaSupportDaemon.inc:1204
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:377 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:469
-#: plugins/admin/groups/class_group.inc:539
-#: plugins/admin/groups/class_group.inc:545
-#: plugins/admin/groups/class_group.inc:753
-#: plugins/admin/groups/class_group.inc:894
-#: plugins/admin/groups/class_group.inc:899
-#: plugins/admin/groups/class_group.inc:1221
-#: plugins/admin/departments/class_department.inc:311
-#: plugins/admin/acl/class_aclRole.inc:681
-#: plugins/personal/generic/class_user.inc:297
-#: plugins/personal/generic/class_user.inc:408
-#: plugins/personal/generic/class_user.inc:503
-#: plugins/personal/generic/class_user.inc:801
-#: plugins/personal/generic/class_user.inc:1190
-#: plugins/personal/generic/class_user.inc:1197
-#: plugins/personal/generic/class_user.inc:1215
-#: plugins/personal/generic/class_user.inc:1485
-#: plugins/personal/generic/class_user.inc:1783
-#: setup/class_setupStep_Migrate.inc:1201 setup/setup_checks.tpl:30
-#: setup/setup_checks.tpl:91
-#, php-format
-msgid "Error"
-msgstr "Fout"
+#: include/utils/class_msgPool.inc:142
+#, fuzzy, php-format
+msgid "Cannot connect to %s database!"
+msgstr "Kan niet verbinden met de database server!"
 
-#: ihtml/themes/default/msg_dialog.tpl:61
-#: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
-msgid "Information"
-msgstr "Informatie"
+#: include/utils/class_msgPool.inc:154
+#, fuzzy, php-format
+msgid "Cannot select %s database!"
+msgstr "De opgegeven database kon niet geselecteerd worden!"
 
-#: ihtml/themes/default/msg_dialog.tpl:76
-#: ihtml/themes/default/msg_dialog.tpl:78
-#: ihtml/themes/default/msg_dialog.tpl:134
-#: ihtml/themes/default/msg_dialog.tpl:137
-#: ihtml/themes/default/msg_dialog.tpl:142 include/utils/class_msgPool.inc:318
-#: setup/class_setupStep_Migrate.inc:267 setup/class_setupStep_Migrate.inc:319
-#: setup/class_setupStep_Migrate.inc:380 setup/class_setupStep_Migrate.inc:453
-#: setup/class_setupStep_Migrate.inc:530 setup/class_setupStep_Migrate.inc:604
-#: setup/class_setupStep_Migrate.inc:657 setup/class_setupStep_Migrate.inc:800
-#: setup/class_setupStep_Migrate.inc:1046
-#: setup/class_setupStep_Migrate.inc:2013
-#: setup/class_setupStep_Migrate.inc:2157
-#: setup/class_setupStep_Migrate.inc:2579
-#: setup/class_setupStep_Migrate.inc:2733
-#: setup/class_setupStep_Migrate.inc:3063 setup/setup_checks.tpl:27
-#: setup/setup_checks.tpl:87
+#: include/utils/class_msgPool.inc:160
 #, php-format
-msgid "Ok"
+msgid "No %s server defined!"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:6
-#, fuzzy
-msgid "Change your password"
-msgstr "Verander wachtwoord"
-
-#: ihtml/themes/default/password.tpl:35
-#, fuzzy
-msgid "Success"
-msgstr "Export was succesvol"
-
-#: ihtml/themes/default/password.tpl:35
-msgid "Your password has been changed successfully."
-msgstr ""
+#: include/utils/class_msgPool.inc:172
+#, fuzzy, php-format
+msgid "Cannot query %s database!"
+msgstr "De opgegeven database kon niet geselecteerd worden!"
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:198
-#: plugins/admin/users/class_userManagement.inc:390
-#: plugins/personal/password/class_password.inc:128
-#: plugins/personal/password/class_password.inc:131
-#: plugins/personal/password/class_password.inc:134
-#: plugins/personal/password/class_password.inc:137
-#: plugins/personal/password/class_password.inc:140
-#: plugins/personal/password/class_password.inc:143
-#: plugins/personal/password/class_password.inc:157
-#: plugins/personal/password/class_password.inc:163
-#, fuzzy
-msgid "Password change"
-msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+#: include/utils/class_msgPool.inc:178
+#, fuzzy, php-format
+msgid "The field %s contains a reserved keyword!"
+msgstr "Het veld 'Fax' bevat een ongeldig Faxnummer."
 
-#: ihtml/themes/default/password.tpl:53
-msgid ""
-"This dialog provides a simple way to change your password. Enter the current "
-"password and the new password (twice) in the fields below and press the "
-"'Change' button."
+#: include/utils/class_msgPool.inc:184
+#, fuzzy, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
 msgstr ""
+"Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module '%s' "
+"bestaat niet."
 
-#: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/generic/password.tpl:17
-#: plugins/personal/generic/password.tpl:44
-#: plugins/personal/password/password.tpl:22
-#: plugins/personal/password/password.tpl:49
-msgid "Current password"
-msgstr "Huidig wachtwoord"
-
-#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:87
-#, fuzzy
-msgid "New password repeated"
-msgstr "Nieuw wachtwoord"
-
-#: ihtml/themes/default/password.tpl:90
-#: plugins/personal/generic/password.tpl:32
-#: plugins/personal/generic/password.tpl:75
-#: plugins/personal/password/password.tpl:37
-#: plugins/personal/password/password.tpl:80
-#, fuzzy
-msgid "Password strength"
-msgstr "Wachtwoord encryptie"
+#: include/utils/class_msgPool.inc:191
+#, fuzzy, php-format
+msgid "%s command is invalid!"
+msgstr "De opgegeven naam is ongeldig."
 
-#: ihtml/themes/default/password.tpl:101
-#, fuzzy
-msgid "Change"
-msgstr "Kanaal"
+#: include/utils/class_msgPool.inc:193
+#, fuzzy, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
+msgstr "De opgegeven naam is ongeldig."
 
-#: ihtml/themes/default/islocked.tpl:2
-msgid "Locking conflict detected"
-msgstr "Er is een blokkade conflict gedetecteerd"
+#: include/utils/class_msgPool.inc:195
+#, fuzzy, php-format
+msgid "%s command for plugin %s is invalid!"
+msgstr "De opgegeven naam is ongeldig."
 
-#: ihtml/themes/default/islocked.tpl:9
-#, fuzzy
-msgid ""
-"If this lock detection is false, the other person has obviously closed the "
-"webbrowser during the edit operation. You may want to take over the lock by "
-"pressing the 'Edit anyway' button."
-msgstr ""
-"Indien deze blokkade detectie foutief is dan heeft de andere persoon de "
-"webbrowser afgesloten tijdens de bewerking. U kunt de blokkade in dit geval "
-"overnemen door de <i>Alsnog bewerken</i> knop te gebruiken."
+#: include/utils/class_msgPool.inc:197
+#, fuzzy, php-format
+msgid "%s command (%s) is invalid!"
+msgstr "De opgegeven naam is ongeldig."
 
-#: ihtml/themes/default/islocked.tpl:16
-#, fuzzy
-msgid "Read only"
-msgstr "Lijst herladen"
+#: include/utils/class_msgPool.inc:205
+#, fuzzy, php-format
+msgid "Cannot execute %s command!"
+msgstr "De opgegeven database kon niet geselecteerd worden!"
 
-#: ihtml/themes/default/help.tpl:9
-msgid "GOsa help viewer"
-msgstr "GOsa help"
+#: include/utils/class_msgPool.inc:207
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
+msgstr "De opgegeven database kon niet geselecteerd worden!"
 
-#: ihtml/themes/default/help.tpl:15
-msgid "Index"
-msgstr "Index"
+#: include/utils/class_msgPool.inc:209
+#, fuzzy, php-format
+msgid "Cannot execute %s command for plugin %s!"
+msgstr "De opgegeven database kon niet geselecteerd worden!"
 
-#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:13
-msgid "Search"
-msgstr "Zoeken"
+#: include/utils/class_msgPool.inc:211
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s)!"
+msgstr "De opgegeven database kon niet geselecteerd worden!"
 
-#: ihtml/themes/default/logout.tpl:5
-msgid "Your GOsa session has expired!"
-msgstr "Uw GOsa sessie is verlopen!"
+#: include/utils/class_msgPool.inc:219
+#, fuzzy, php-format
+msgid "Value for %s is too large!"
+msgstr "De opgegeven 'UID' waarde is te klein."
 
-#: ihtml/themes/default/logout.tpl:7
-msgid ""
-"The last interaction with the GOsa web interface has been some time ago in "
-"the past. For security reasons, the session has been closed. To continue "
-"with administrative tasks, please sign in again."
+#: include/utils/class_msgPool.inc:221
+#, fuzzy, php-format
+msgid "%s must be smaller than %s!"
 msgstr ""
-"Uw laatste interactie met de GOsa webinterface is enige tijd geleden. Uit "
-"veiligheidsoverwegingen is de sessie gesloten. Om door te gaan met "
-"administratieve taken, dient u opnieuw in te loggen."
-
-#: ihtml/themes/default/logout.tpl:10
-msgid "Sign in again"
-msgstr "Opnieuw inloggen"
+"De waarde opgegeven voor 'shadowMin' moet kleiner zijn dan 'shadowMax'."
 
-#: ihtml/themes/default/conflict.tpl:2
-msgid "Session conflict detected"
-msgstr "Er is een sessie conflict gedetecteerd"
+#: include/utils/class_msgPool.inc:229
+#, fuzzy, php-format
+msgid "Value for %s is too small!"
+msgstr "De opgegeven 'UID' waarde is te klein."
 
-#: ihtml/themes/default/conflict.tpl:6
-#, fuzzy
-msgid ""
-"Probably there's another active instance of your session. Multiple window "
-"operation is technical not possible and heavily depends on the browser "
-"you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is "
-"possible. Pressing the Logout button will close this session."
+#: include/utils/class_msgPool.inc:231
+#, fuzzy, php-format
+msgid "%s must be %s or above!"
 msgstr ""
-"Er is vermoedelijk een andere actieve instantiatie van uw sessie. Werken m.b."
-"v. meerdere schermen is technisch onmogelijk en is sterk afhankelijk van de "
-"gebruikte browser. Gelijktijdig gebruik van verschillende browsers "
-"(bijvoorbeeld Internet Explorer en Mozilla) is wel mogelijk. Via de "
-"<b>Uitloggen</b> knop wordt deze sessie afgesloten."
+"PHP moet minimaal versienummer 4.1.0 hebben. GOsa gebruikt bepaalde "
+"functionaliteit die in voorgaande versies niet goed of helemaal niet "
+"voorhanden is."
 
-#: ihtml/themes/default/conflict.tpl:10
-msgid ""
-"Ignoring this message will change/destroy the data you're currently editing, "
-"so please close multiple windows and log in again."
+#: include/utils/class_msgPool.inc:238
+#, php-format
+msgid "%s depends on %s - please provide both values!"
 msgstr ""
-"Het negeren van dit bericht zal de data die u op dit moment aan het bewerken "
-"bent veranderen/vernietigen, dus sluit a.u.b. enige overige vensters en log "
-"opnieuw in."
-
-#: ihtml/themes/default/conflict.tpl:14
-msgid "Logout"
-msgstr "Uitloggen"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-#: ihtml/themes/default/framework.tpl:20 ihtml/themes/default/framework.tpl:24
-#: include/class_pluglist.inc:212
-msgid ""
-"You are currently editing a database entry. Do you want to dismiss the "
-"changes?"
-msgstr ""
-"U bent momenteel database gegevens aan het bewerken. Wilt u eventuele "
-"wijzigingen ongedaan maken?"
+#: include/utils/class_msgPool.inc:244
+#, fuzzy, php-format
+msgid "There is already an entry with this %s attribute in the system!"
+msgstr "Er bestaat al een account met deze 'Inlog naam' in de database."
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-msgid "Main"
-msgstr "Hoofdmenu"
+#: include/utils/class_msgPool.inc:250
+#, fuzzy, php-format
+msgid "The required field %s is empty!"
+msgstr "Het vereiste veld '(Achter)naam' is leeg."
 
-#: ihtml/themes/default/framework.tpl:16
-msgid "Help"
-msgstr "Help"
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
+msgstr ""
 
-#: ihtml/themes/default/framework.tpl:21 ihtml/themes/default/framework.tpl:25
-msgid "Sign out"
-msgstr "Uitloggen"
+#: include/utils/class_msgPool.inc:278
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters"
+msgstr "Het veld 'Naam' bevat ongeldige karakters."
 
-#: ihtml/themes/default/framework.tpl:29
-msgid "Signed in:"
-msgstr "Aangemeld:"
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s is not allowed:"
+msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: ihtml/themes/default/framework.tpl:32
-msgid "GOsa main menu"
-msgstr ""
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s are not allowed!"
+msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:454
-#: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:433
-#, fuzzy
-msgid "Fatal error"
-msgstr "Terminal server"
+#: include/utils/class_msgPool.inc:282
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters!"
+msgstr "Het veld 'Naam' bevat ongeldige karakters."
 
-#: html/password.php:58 html/index.php:144
+#: include/utils/class_msgPool.inc:289
 #, fuzzy, php-format
-msgid "GOsa configuration %s/%s is not readable. Aborted."
-msgstr "GOsa configuratie %s/gosa.conf is niet leesbaar. Geannuleerd."
+msgid "Missing %s PHP extension!"
+msgstr "Verwijder printer mogelijkheden"
 
-#: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:268
-#: include/password-methods/class_password-methods-ssha.inc:51
-#: include/password-methods/class_password-methods-sha.inc:48
-#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:58
-#: include/class_SnapshotHandler.inc:76 include/functions.inc:825
-#: include/functions.inc:3067 include/functions.inc:3099
-#: include/functions.inc:3112 include/utils/class_timezone.inc:47
-#: include/class_config.inc:155 include/class_config.inc:695
-#: include/class_config.inc:1146 include/class_config.inc:1159
-#: include/class_config.inc:1177 include/class_pluglist.inc:182
-#: include/class_CopyPasteHandler.inc:119
-#: include/class_CopyPasteHandler.inc:128
-#: include/class_CopyPasteHandler.inc:177
-#: include/class_CopyPasteHandler.inc:186
-#: include/class_CopyPasteHandler.inc:194
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:667
-#: plugins/admin/groups/class_group.inc:1358
-#, fuzzy
-msgid "Configuration error"
-msgstr "Configuratie bestand"
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
+#: ihtml/themes/default/copyPasteDialog.tpl:21
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
+msgstr "Annuleren"
 
-#: html/password.php:74 html/index.php:165 html/setup.php:66
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
+#: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
+#: ihtml/themes/default/msg_dialog.tpl:139
+#: ihtml/themes/default/msg_dialog.tpl:144
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
 #, php-format
-msgid "Directory '%s' specified as compile directory is not accessible!"
+msgid "OK"
 msgstr ""
-"Directory '%s' die opgegeven is als compileer directory is niet toegankelijk!"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:593
-#, fuzzy
-msgid "Password method"
-msgstr "Wachtwoord encryptie"
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
+msgstr "Toepassen"
 
-#: html/password.php:159
-msgid "Error: Password method not available!"
-msgstr ""
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
+msgstr "Opslaan"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:316
-#: plugins/personal/password/class_password.inc:132
-msgid ""
-"The passwords you've entered as 'New password' and 'Repeated new password' "
-"do not match."
-msgstr ""
-"Het nieuwe wachtwoord en het herhaalde wachtwoord komen niet met elkaar "
-"overeen."
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
+msgstr "Toevoegen"
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:138
-msgid "The password used as new and current are too similar."
-msgstr ""
-"Het huidige wachtwoord en het nieuwe wachtwoord lijken te veel op elkaar."
+#: include/utils/class_msgPool.inc:319
+#, fuzzy, php-format
+msgid "Add %s"
+msgstr "Toevoegen"
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:141
-msgid "The password used as new is to short."
-msgstr "Het nieuw opgegeven wachtwoord is te kort."
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
+msgstr "Verwijderen"
 
-#: html/password.php:215 plugins/admin/groups/userSelect/user-list.xml:56
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
-#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
-#: plugins/personal/generic/class_user.inc:1313
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1345
-#: plugins/personal/generic/class_user.inc:1347
-#: plugins/personal/generic/generic.tpl:82
-#: plugins/personal/generic/paste_generic.tpl:15
-msgid "Login"
-msgstr "Inlognaam"
+#: include/utils/class_msgPool.inc:325
+#, fuzzy, php-format
+msgid "Delete %s"
+msgstr "Verwijderen"
 
-#: html/password.php:224 html/index.php:321
-msgid "Please check the username/password combination."
-msgstr "Controleer a.u.b. de gebruikersnaam/wachtwoord combinatie."
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
+msgstr "Stel in"
 
-#: html/password.php:228
-msgid "You have no permissions to change your password."
-msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
+#: include/utils/class_msgPool.inc:331
+#, fuzzy, php-format
+msgid "Set %s"
+msgstr "Stel in"
 
-#: html/password.php:249
-msgid "External password changer reported a problem: "
-msgstr "Extern wachtwoord verander mechanisme rapporteerde een probleem:"
+#: include/utils/class_msgPool.inc:337
+#, fuzzy, php-format
+msgid "Edit..."
+msgstr "Bewerken"
 
-#: html/password.php:280 html/index.php:406
-msgid "Session will not be encrypted."
-msgstr "De sessie zal niet versleuteld zijn."
+#: include/utils/class_msgPool.inc:337
+#, fuzzy, php-format
+msgid "Edit %s..."
+msgstr "Bewerk gebruiker"
 
-#: html/password.php:280 html/index.php:406
-msgid "Enter SSL session"
-msgstr "Gebruik een SSL sessie"
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
+msgstr "Terug"
 
-#: html/index.php:57
-#, fuzzy
-msgid "Session is not encrypted!"
-msgstr "De sessie zal niet versleuteld zijn."
+#: include/utils/class_msgPool.inc:363
+#, fuzzy, php-format
+msgid "This account has no valid %s extensions!"
+msgstr "Dit account heeft geen geldige GOsa extensies."
 
-#: html/index.php:64
+#: include/utils/class_msgPool.inc:369
+#, fuzzy, php-format
 msgid ""
-"The session lifetime configured in your gosa.conf will be overridden by php."
-"ini settings."
+"This account has %s settings enabled. You can disable them by clicking below."
 msgstr ""
+"Dit account heeft POSIX mogelijkheden ingeschakeld. U kunt deze uitschakelen "
+"door de knop hieronder te gebruiken."
 
-#: html/index.php:165
-#, fuzzy
-msgid "Smarty error"
-msgstr "Systeem status"
-
-#: html/index.php:216
-msgid "There is a problem with the authentication setup!"
-msgstr ""
-
-#: html/index.php:224
-msgid "Cannot find a valid user for the current authentication setup!"
-msgstr ""
-
-#: html/index.php:228
-msgid "User information is not unique accross the configured LDAP trees!"
-msgstr ""
-
-#: html/index.php:254 html/index.php:265 html/index.php:278
-#: include/class_SnapshotHandler.inc:124 include/class_SnapshotHandler.inc:281
-#: include/class_SnapshotHandler.inc:329 include/class_SnapshotHandler.inc:333
-#: include/class_SnapshotHandler.inc:348 include/class_SnapshotHandler.inc:383
-#: include/class_SnapshotHandler.inc:438 include/class_SnapshotHandler.inc:503
-#: include/class_SnapshotHandler.inc:518 include/class_acl.inc:1233
-#: include/class_acl.inc:1329 include/functions.inc:483
-#: include/functions.inc:518 include/functions.inc:526
-#: include/functions.inc:571 include/functions.inc:840
-#: include/functions.inc:889 include/functions.inc:946
-#: include/functions.inc:999 include/functions.inc:3046
-#: include/functions.inc:3319 include/class_plugin.inc:1319
-#: include/class_plugin.inc:1368 include/class_plugin.inc:1372
-#: include/class_plugin.inc:1388 include/class_plugin.inc:1428
-#: include/class_plugin.inc:1486 include/class_plugin.inc:1552
-#: include/class_plugin.inc:1567 include/class_ldap.inc:756
-#: include/class_ldap.inc:1222 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:888
-#: plugins/admin/ogroups/class_ogroup.inc:902
-#: plugins/admin/groups/class_group.inc:697
-#: plugins/admin/groups/class_group.inc:1018
-#: plugins/admin/departments/class_department.inc:279
-#: plugins/admin/departments/class_department.inc:476
-#: plugins/admin/departments/class_department.inc:750
-#: plugins/admin/departments/class_department.inc:781
-#: plugins/admin/acl/class_aclRole.inc:613
-#: plugins/admin/acl/class_aclRole.inc:653
-#: plugins/admin/acl/class_aclRole.inc:667
-#: plugins/personal/generic/class_user.inc:716
-#: plugins/personal/generic/class_user.inc:1112
-#: plugins/personal/posix/class_posixAccount.inc:631
-#: plugins/personal/posix/class_posixAccount.inc:963
-#: setup/class_setupStep_Migrate.inc:1212
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#: setup/class_setupStep_Migrate.inc:2143
-#: setup/class_setupStep_Migrate.inc:2440
-#: setup/class_setupStep_Migrate.inc:2444
-#: setup/class_setupStep_Migrate.inc:2634
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
-#: setup/class_setupStep_Migrate.inc:3118
-#: setup/class_setupStep_Migrate.inc:3132
-#, fuzzy
-msgid "LDAP error"
-msgstr "LDAP fout:"
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, fuzzy, php-format
+msgid ""
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
+msgstr ""
+"Dit account heeft Unix mogelijkheden ingeschakeld. Om deze te verwijderen "
+"moet u eerst het samba / omgevings account verwijderen."
 
-#: html/index.php:265
-msgid "Cannot detect information about the installed LDAP schema!"
+#: include/utils/class_msgPool.inc:388
+#, fuzzy, php-format
+msgid ""
+"This account has %s settings disabled. You can enable them by clicking below."
 msgstr ""
+"Dit account heeft POSIX mogelijkheden uitgeschakeld. U kunt deze inschakelen "
+"door de knop hieronder te gebruiken."
 
-#: html/index.php:278
-#, fuzzy
-msgid "Your LDAP setup contains old schema definitions:"
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, fuzzy, php-format
+msgid ""
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
 msgstr ""
-"Uw LDAP installatie bevat oude schema definities. Draai het installatie "
-"programma a.u.b. opnieuw."
+"Dit account heeft Unix mogelijkheden ingeschakeld. Om deze te verwijderen "
+"moet u eerst het samba / omgevings account verwijderen."
 
-#: html/index.php:299
-msgid "Please specify a valid username!"
-msgstr "Geef a.u.b. een geldige gebruikersnaam op!"
+#: include/utils/class_msgPool.inc:406
+#, fuzzy, php-format
+msgid "Add %s settings"
+msgstr "Programma instellingen"
 
-#: html/index.php:302
-msgid "Please specify your password!"
-msgstr "Geef a.u.b. uw wachtwoord op!"
+#: include/utils/class_msgPool.inc:412
+#, fuzzy, php-format
+msgid "Remove %s settings"
+msgstr "Posix instellingen"
+
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
+msgstr ""
+"Gebruik de 'Bewerk' knop hieronder om de informatie in deze dialoog te "
+"veranderen"
+
+#: include/utils/class_msgPool.inc:424
+msgid "January"
+msgstr "Januari"
+
+#: include/utils/class_msgPool.inc:424
+msgid "February"
+msgstr "Februari"
+
+#: include/utils/class_msgPool.inc:424
+msgid "March"
+msgstr "Maart"
+
+#: include/utils/class_msgPool.inc:424
+msgid "April"
+msgstr "April"
+
+#: include/utils/class_msgPool.inc:425
+msgid "May"
+msgstr "Mei"
+
+#: include/utils/class_msgPool.inc:425
+msgid "June"
+msgstr "Juni"
+
+#: include/utils/class_msgPool.inc:425
+msgid "July"
+msgstr "Juli"
+
+#: include/utils/class_msgPool.inc:425
+msgid "August"
+msgstr "Augustus"
+
+#: include/utils/class_msgPool.inc:425
+msgid "September"
+msgstr "September"
+
+#: include/utils/class_msgPool.inc:426
+msgid "October"
+msgstr "Oktober"
+
+#: include/utils/class_msgPool.inc:426
+msgid "November"
+msgstr "November"
 
-#: html/index.php:314
+#: include/utils/class_msgPool.inc:426
+msgid "December"
+msgstr "December"
+
+#: include/utils/class_msgPool.inc:432
 #, fuzzy
-msgid "Authentication error"
-msgstr "Nagios authenticatie"
+msgid "Sunday"
+msgstr "Achternaam"
+
+#: include/utils/class_msgPool.inc:432
+#, fuzzy
+msgid "Monday"
+msgstr "maand"
 
-#: html/index.php:314
-msgid "Cannot retrieve user information for htaccess authentication!"
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
 msgstr ""
 
-#: html/index.php:369
-#, fuzzy
-msgid "Account locked. Please contact your system administrator!"
+#: include/utils/class_msgPool.inc:432
+msgid "Wednesday"
 msgstr ""
-"Account is geblokkeerd. Neem a.u.b. contact op met de systeembeheerder."
 
-#: html/index.php:412
-msgid ""
-"Your browser has cookies disabled. Please enable cookies and reload this "
-"page before logging in!"
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
 msgstr ""
-"Cookies zijn uitgeschakeld in uw browser. Schakel cookies a.u.b. in en "
-"herlaad deze pagina voordat u inlogt!"
 
-#: html/setup.php:66
-#, fuzzy
-msgid "Smarty"
-msgstr "Samenvatting"
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
+msgstr ""
 
-#: html/main.php:148
-#, php-format
-msgid "Cannot locate file '%s' - please run '%s' to fix this"
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
 msgstr ""
 
-#: html/main.php:167
+#: include/utils/class_msgPool.inc:439
 #, fuzzy
-msgid "PHP configuration"
-msgstr "FAX database"
+msgid "MySQL operation failed!"
+msgstr "De database zoekopdracht is mislukt"
 
-#: html/main.php:168
-msgid ""
-"FATAL: Register globals is on. GOsa will refuse to login unless this is "
-"fixed by an administrator."
+#: include/utils/class_msgPool.inc:447
+#, fuzzy
+msgid "read operation"
+msgstr "E-mail opties"
+
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
 msgstr ""
-"FATAAL: 'Register globals' is geactiveerd in PHP. GOsa zal niemand laten "
-"inloggen totdat dit opgelost is door een systeembeheerder."
 
-#: html/main.php:198
+#: include/utils/class_msgPool.inc:447
 #, fuzzy
-msgid "Your password is about to expire, please change your password!"
-msgstr "Uw wachtwoord zal spoedig verlopen! Kies a.u.b. een nieuw wachtwoord."
+msgid "modify operation"
+msgstr "Persoonlijke informatie"
 
-#: html/main.php:268
-msgid "Running out of memory!"
-msgstr ""
+#: include/utils/class_msgPool.inc:448
+#, fuzzy
+msgid "delete operation"
+msgstr "Selecteer om werkstations te zien"
 
-#: html/main.php:325
-msgid "User ACL checks disabled"
-msgstr ""
+#: include/utils/class_msgPool.inc:448
+#, fuzzy
+msgid "search operation"
+msgstr "Het account verloopt op"
 
-#: html/main.php:373
+#: include/utils/class_msgPool.inc:448
 #, fuzzy
-msgid "Plugin"
-msgstr "in"
+msgid "authentication"
+msgstr "Nagios authenticatie"
 
-#: html/main.php:374
+#: include/utils/class_msgPool.inc:451
 #, fuzzy, php-format
-msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
-msgstr "FATAAL: Kan geen enkele module defenities vinden voor module '%s'!"
+msgid "LDAP %s failed!"
+msgstr "De database zoekopdracht is mislukt"
 
-#: html/main.php:388
+#: include/utils/class_msgPool.inc:453
 #, fuzzy
-msgid "Configuration Error"
-msgstr "Configuratie bestand"
-
-#: html/main.php:389
-#, php-format
-msgid ""
-"FATAL: not all POST variables have been transfered by PHP - please inform "
-"your administrator!"
-msgstr ""
+msgid "LDAP operation failed!"
+msgstr "De database zoekopdracht is mislukt"
 
-#: html/helpviewer.php:64
-msgid "Help browser"
-msgstr "Help verkenner"
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
+msgstr "Object"
 
-#: html/helpviewer.php:118
-msgid "There is no helpfile specified for this class"
-msgstr "Er is (nog) geen help bestand aanwezig voor deze klasse."
+#: include/utils/class_msgPool.inc:469
+#, fuzzy
+msgid "Upload failed!"
+msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
 
-#: html/helpviewer.php:194 include/functions_helpviewer.inc:97
-msgid "previous"
-msgstr "vorige"
+#: include/utils/class_msgPool.inc:472
+#, fuzzy, php-format
+msgid "Upload failed: %s"
+msgstr "Log DB gebruiker"
 
-#: html/helpviewer.php:198 include/functions_helpviewer.inc:101
-msgid "next"
-msgstr "volgende"
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
+msgstr ""
 
-#: html/helpviewer.php:269
+#: include/utils/class_msgPool.inc:481
 #, php-format
-msgid "Helpdir '%s' is not accessible, can't read any helpfiles."
+msgid "Communication failure with the infrastructure service: %s"
 msgstr ""
-"Help directory '%s' is niet toegankelijk. Er kunnen geen helpbestanden "
-"gelezen worden."
-
-#: include/class_management.inc:32 include/class_management.inc:33
-#: plugins/personal/posix/class_posixAccount.inc:237
-msgid "unconfigured"
-msgstr "niet geconfigureerd"
 
-#: include/class_management.inc:145
-#, fuzzy
-msgid "Filter error"
-msgstr "Terminal server"
-
-#: include/class_management.inc:145
-msgid "The filter is incomplete!"
+#: include/utils/class_msgPool.inc:488
+msgid "Communication failure with the GOsa-NG service!"
 msgstr ""
 
-#: include/class_management.inc:292 include/class_management.inc:427
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1590
-#: include/class_plugin.inc:1602 include/class_plugin.inc:1617
-#: include/class_plugin.inc:1630
-#: plugins/admin/users/class_userManagement.inc:236
-#: plugins/admin/users/class_userManagement.inc:744
-#, fuzzy
-msgid "Permission"
-msgstr "Rechten"
+#: include/utils/class_msgPool.inc:490
+#, php-format
+msgid "Communication failure with the GOsa-NG service: %s"
+msgstr ""
 
-#: include/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:702
-#: plugins/admin/users/class_userManagement.inc:706
-#: plugins/admin/acl/class_aclManagement.inc:98
-#, fuzzy
-msgid "Permission error"
-msgstr "Rechten"
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
+#, fuzzy, php-format
+msgid "This %s is still in use by this object: %s"
+msgstr "Deze 'dn' is geen groep."
 
-#: include/class_management.inc:427 include/class_plugin.inc:1590
+#: include/utils/class_msgPool.inc:503
 #, fuzzy, php-format
-msgid "You are not allowed to create a snapshot for %s."
-msgstr "U heeft geen toestemming om uw wachtwoord te veranderen!"
+msgid "This %s is still in use."
+msgstr "Deze 'dn' is geen groep."
 
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1602
-#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
+#: include/utils/class_msgPool.inc:505
 #, fuzzy, php-format
-msgid "You are not allowed to restore a snapshot for %s."
-msgstr "U heeft geen toestemming om uw wachtwoord te veranderen!"
+msgid "This %s is still in use by these objects: %s"
+msgstr "Deze 'dn' is geen groep."
 
-#: include/class_management.inc:584
+#: include/utils/class_msgPool.inc:511
 #, php-format
-msgid ""
-"No tab declaration for '%s' found in your configuration file. Cannot create "
-"plugin instance!"
+msgid "File %s does not exist!"
 msgstr ""
 
-#: include/class_socketClient.inc:60
-msgid "The mcrypt module was not found. Please install php5-mcrypt."
-msgstr ""
+#: include/utils/class_msgPool.inc:517
+#, fuzzy, php-format
+msgid "Cannot open file %s for reading!"
+msgstr "Kan bestand '%s' niet openen."
 
-#: include/class_socketClient.inc:108
-#, php-format
-msgid "Socket connection to host '%s:%s' failed: %s"
-msgstr ""
+#: include/utils/class_msgPool.inc:523
+#, fuzzy, php-format
+msgid "Cannot open file %s for writing!"
+msgstr "Kan bestand '%s' niet openen."
 
-#: include/class_socketClient.inc:191
-#, php-format
-msgid "Socket timeout of %s seconds reached."
+#: include/utils/class_msgPool.inc:529
+#, fuzzy, php-format
+msgid ""
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
 msgstr ""
+"Kan niet verbinden met de opgegeven database. Controleer uw GLPI "
+"configuratie a.u.b."
 
-#: include/password-methods/class_password-methods.inc:250
-msgid "Cannot find a suitable password method for the current hash!"
+#: include/utils/class_msgPool.inc:535
+#, fuzzy, php-format
+msgid "Cannot delete file %s!"
+msgstr "Kan bestand '%s' niet openen."
+
+#: include/utils/class_msgPool.inc:541
+#, fuzzy, php-format
+msgid "Cannot create folder %s!"
+msgstr "Ga naar basis afdelingen"
+
+#: include/utils/class_msgPool.inc:547
+#, fuzzy, php-format
+msgid "Cannot delete folder %s!"
+msgstr "Kan bestand '%s' niet openen."
+
+#: include/utils/class_msgPool.inc:553
+#, fuzzy, php-format
+msgid "Checking for %s support"
+msgstr "Zoeken naar iconv ondersteuning"
+
+#: include/utils/class_msgPool.inc:559
+#, php-format
+msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:46 include/class_SnapshotHandler.inc:77
-#: include/class_config.inc:1147 include/class_config.inc:1178
+#: include/utils/class_msgPool.inc:565
 #, php-format
 msgid ""
-"The snapshot functionality is enabled, but the required variable '%s' is not "
-"set."
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:59 include/class_config.inc:1160
-#, php-format
+#: include/utils/class_msgPool.inc:571
 msgid ""
-"The snapshot functionality is enabled, but the required compression module "
-"is missing. Please install '%s'."
+"The supplied base is not valid and has been reset to its previous value!"
 msgstr ""
 
-#: include/class_acl.inc:27
-#, fuzzy
-msgid "Access control"
-msgstr "Toegangsopties"
+#: include/utils/class_timezone.inc:47
+#, fuzzy, php-format
+msgid "The configured timezone %s is not valid!"
+msgstr "GOsa configuratie %s/gosa.conf is niet leesbaar. Geannuleerd."
 
-#: include/class_acl.inc:28 plugins/admin/acl/class_aclManagement.inc:26
-#, fuzzy
-msgid "Manage access control lists"
-msgstr "Toegangsopties"
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
+msgstr "Waarschuwing"
 
-#: include/class_acl.inc:120 include/class_acl.inc:581
-#: include/class_acl.inc:1009
-#, fuzzy, php-format
-msgid "All users"
-msgstr "gebruikers"
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+#, fuzzy
+msgid "Fatal error"
+msgstr "Terminal server"
 
-#: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
+#: include/utils/class_xml.inc:51
 #, fuzzy
-msgid "All categories"
-msgstr "Categorie toevoegen"
+msgid "XML error"
+msgstr "LDAP fout:"
 
-#: include/class_acl.inc:222
-msgid "Reset ACLs"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
 msgstr ""
 
-#: include/class_acl.inc:223 plugins/admin/acl/class_aclRole.inc:135
-#, fuzzy
-msgid "One level"
-msgstr "Log prioriteit"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
+msgstr ""
 
-#: include/class_acl.inc:224 include/class_acl.inc:229
-#: plugins/admin/acl/class_aclRole.inc:136
+#: include/class_listing.inc:319
 #, fuzzy
-msgid "Current object"
-msgstr "Nieuw FAI object aanmaken"
+msgid "Select all"
+msgstr "Selecteer"
 
-#: include/class_acl.inc:225 plugins/admin/acl/class_aclRole.inc:137
+#: include/class_listing.inc:578
 #, fuzzy
-msgid "Complete subtree"
-msgstr "Subonderdelen negeren"
+msgid "created by"
+msgstr "Aanmaken"
 
-#: include/class_acl.inc:226 plugins/admin/acl/class_aclRole.inc:138
-msgid "Complete subtree (permanent)"
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
+msgid "Root"
+msgstr "Basis"
+
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
 msgstr ""
 
-#: include/class_acl.inc:227 include/class_acl.inc:230
-msgid "Use ACL defined in role"
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
 msgstr ""
 
-#: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1674
-#: setup/class_setupStep_Migrate.inc:1040
-msgid "Users"
-msgstr "Gebruikers"
-
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
-#: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1043
-msgid "Groups"
-msgstr "Groepen"
-
-#: include/class_acl.inc:496 include/class_listing.inc:242
-#: include/class_listing.inc:999 include/class_listing.inc:1001
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:372
-msgid "Up"
-msgstr "Omhoog"
-
-#: include/class_acl.inc:498 include/class_listing.inc:242
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:374
-msgid "Down"
-msgstr "Omlaag"
-
-#: include/class_acl.inc:503 include/class_acl.inc:551
-#: include/class_sortableListing.inc:192 include/class_sortableListing.inc:194
-#: plugins/admin/ogroups/ogroup-list.xml:91
-#: plugins/admin/groups/group-list.xml:108
-#: plugins/admin/users/user-list.xml:114
-#: plugins/admin/departments/dep-list.xml:172
-#: plugins/admin/acl/class_aclRole.inc:377
-#: plugins/admin/acl/class_aclRole.inc:426 plugins/admin/acl/acl-list.xml:131
-msgid "Edit"
-msgstr "Bewerken"
-
-#: include/class_acl.inc:503 include/class_acl.inc:507
-#: include/class_acl.inc:1265 include/class_acl.inc:1266
-#: include/class_acl.inc:1271 include/class_tabs.inc:401
-#: plugins/admin/acl/tabs_acl.inc:28 plugins/admin/acl/class_aclRole.inc:378
-#: plugins/admin/acl/class_aclRole.inc:382
-#: plugins/admin/acl/class_aclRole.inc:762
-msgid "ACL"
-msgstr "Rechten"
-
-#: include/class_acl.inc:507 include/class_acl.inc:555
-#: include/class_sortableListing.inc:197 include/class_sortableListing.inc:199
-#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
-#: plugins/admin/acl/class_aclRole.inc:430
-#, php-format
-msgid "Delete"
-msgstr "Verwijderen"
+#: include/class_listing.inc:1079
+msgid "Reload list"
+msgstr "Lijst herladen"
 
-#: include/class_acl.inc:543
-msgid "No ACL settings for this category!"
-msgstr ""
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
+msgid "Actions"
+msgstr "Acties"
 
-#: include/class_acl.inc:545
-#, php-format
-msgid "Contains ACLs for these objects: %s"
-msgstr ""
+#: include/class_listing.inc:1453
+#, fuzzy
+msgid "Copy"
+msgstr "kopieer"
 
-#: include/class_acl.inc:551 include/class_acl.inc:555
+#: include/class_listing.inc:1459
 #, fuzzy
-msgid "category ACL"
-msgstr "Categorie"
+msgid "Cut"
+msgstr "knippen"
 
-#: include/class_acl.inc:608
-#, php-format
-msgid "Edit ACL for '%s' - scope is '%s'"
-msgstr ""
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
+msgid "Paste"
+msgstr "Plakken"
 
-#: include/class_acl.inc:618 plugins/admin/acl/class_aclRole.inc:460
-msgid "All objects in current subtree"
-msgstr ""
+#: include/class_listing.inc:1492
+msgid "Cut this entry"
+msgstr "Deze invoer knippen"
 
-#: include/class_acl.inc:779 include/class_acl.inc:786
-#, fuzzy
-msgid "Show/hide advanced settings"
-msgstr "Geavanceerde telefoon instellingen"
+#: include/class_listing.inc:1501
+msgid "Copy this entry"
+msgstr "Deze invoer kopieren"
 
-#: include/class_acl.inc:803
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
 #, fuzzy
-msgid "Create objects"
-msgstr "Nieuw FAI object aanmaken"
+msgid "Restore snapshots"
+msgstr "Nagios account aanmaken"
 
-#: include/class_acl.inc:804
+#: include/class_listing.inc:1549
 #, fuzzy
-msgid "Move objects"
-msgstr "Lidmaatschap objecten"
+msgid "Export list"
+msgstr "Exporteer"
 
-#: include/class_acl.inc:805
-#, fuzzy
-msgid "Remove objects"
-msgstr "Lidmaatschap objecten"
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
+msgid "Restore snapshot"
+msgstr ""
 
-#: include/class_acl.inc:807
+#: include/class_listing.inc:1591
 #, fuzzy
-msgid "Grant permission to owner"
-msgstr "Kan bestand '%s' niet aanmaken."
+msgid "Create new snapshot for this object"
+msgstr "Nieuw FAI object aanmaken"
 
-#: include/class_acl.inc:811 include/class_acl.inc:916
-#: include/class_acl.inc:920
-msgid "read"
-msgstr "alleen lezen"
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
+#, fuzzy
+msgid "Parent filter"
+msgstr "Parameters"
+
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
+msgstr "Naam"
 
-#: include/class_acl.inc:812 include/class_acl.inc:918
-#: include/class_acl.inc:921
-msgid "write"
-msgstr "afleveren, lezen & schrijven"
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
+msgstr "Omschrijving"
 
-#: include/class_acl.inc:816
-#, fuzzy
-msgid "Complete object"
-msgstr "Nieuw FAI object aanmaken"
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
+msgstr "Categorie"
 
-#: include/class_acl.inc:960 include/class_session.inc:76
-#: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:611 include/functions.inc:815
-#: include/functions.inc:933 include/functions.inc:1331
-#: include/functions.inc:2414 include/functions.inc:2448
-#: include/functions.inc:2468 include/class_ldap.inc:693
-#: include/class_ldap.inc:744 include/class_log.inc:87
-#: include/class_CopyPasteHandler.inc:160
-#: include/class_CopyPasteHandler.inc:274
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+msgid "Options"
+msgstr "Opties"
+
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
 #, fuzzy
-msgid "Internal error"
-msgstr "Terminal server"
-
-#: include/class_acl.inc:960
-#, fuzzy, php-format
-msgid "Unkown ACL type '%s'!"
-msgstr "Onbekende FAI status %s"
-
-#: include/class_acl.inc:1005
-#, fuzzy, php-format
-msgid "Unknown entry '%s'!"
-msgstr "Onbekende FAI status %s"
+msgid "LDAP error"
+msgstr "LDAP fout:"
 
-#: include/class_acl.inc:1069 include/class_acl.inc:1071
+#: include/class_log.inc:87
 #, fuzzy, php-format
-msgid "Role: %s"
-msgstr "Funktie"
-
-#: include/class_acl.inc:1071
-#, fuzzy
-msgid "unknown role"
-msgstr "! onbekend id"
+msgid "Logging failed: %s"
+msgstr "Log DB gebruiker"
 
-#: include/class_acl.inc:1079
+#: include/class_log.inc:102
 #, php-format
-msgid "Contains settings for these objects: %s"
+msgid "Invalid option %s specified!"
 msgstr ""
 
-#: include/class_acl.inc:1096
+#: include/class_log.inc:106
 #, fuzzy
-msgid "inactive"
-msgstr "actief"
+msgid "Specified 'objectType' is empty or invalid!"
+msgstr "De opgegeven naam is ongeldig."
 
-#: include/class_acl.inc:1096
+#: include/class_multi_plug.inc:362
 #, fuzzy
-msgid "No members"
-msgstr "Groepsleden"
+msgid "You are currently editing multiple entries."
+msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
 
-#: include/class_acl.inc:1266
+#: include/class_multi_plug.inc:394
 #, fuzzy
-msgid "Access control list"
-msgstr "Toegangsopties"
+msgid "Reset password"
+msgstr "Wachtwoord instellen"
 
-#: include/class_acl.inc:1271
+#: include/class_multi_plug.inc:394
 #, fuzzy
-msgid "ACL roles"
-msgstr "Rechten"
+msgid "The user password has been reset. Please set a new password!"
+msgstr "Uw wachtwoord is verlopen! Kies a.u.b. een nieuw wachtwoord. "
 
-#: include/class_session.inc:76 include/class_session.inc:101
-#: include/class_session.inc:127
-#, fuzzy
-msgid "Requested channel does not exist! Please contact your Administrator."
-msgstr "Gebruikersnaam / UID is niet uniek. Controleer uw LDAP database a.u.b."
+#: include/class_tabs.inc:72
+#, fuzzy, php-format
+msgid "No plugin definition for %s found: please check the configuration file!"
+msgstr ""
+"Kan niet verbinden met de opgegeven database. Controleer uw GLPI "
+"configuratie a.u.b."
 
-#: include/class_listing.inc:301 setup/setup_migrate.tpl:93
-#: setup/setup_migrate.tpl:149 setup/setup_migrate.tpl:201
-#: setup/setup_migrate.tpl:368 setup/setup_migrate.tpl:421
-#: setup/setup_migrate.tpl:464 setup/setup_migrate.tpl:507
-#: setup/setup_migrate.tpl:551
-#, fuzzy
-msgid "Select all"
-msgstr "Selecteer"
+#: include/class_tabs.inc:287
+#, fuzzy, php-format
+msgid "Delete process has been canceled by plugin %s: %s"
+msgstr "Het verwijder proces is geannuleerd door plugin '%s': %s"
 
-#: include/class_listing.inc:522
-#, fuzzy
-msgid "created by"
-msgstr "Aanmaken"
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
+msgstr "Rechten"
 
-#: include/class_listing.inc:991
-msgid "Go to root department"
-msgstr "Ga naar basis afdelingen"
+#: include/class_tabs.inc:425
+msgid "References"
+msgstr "Referenties"
 
-#: include/class_listing.inc:991 include/class_listing.inc:993
-#: include/class_baseSelector.inc:159
-msgid "Root"
-msgstr "Basis"
+#: include/functions_helpviewer.inc:45
+#, fuzzy, php-format
+msgid "XML error in guide.xml: %s at line %s"
+msgstr "XML fout in guide.conf: %s op regel %d"
 
-#: include/class_listing.inc:999
-msgid "Go up one department"
-msgstr "Ga een afdeling omhoog"
+#: include/functions_helpviewer.inc:88
+#, fuzzy
+msgid "No help available for this plug-in."
+msgstr "Help is (nog) niet beschikbaar voor deze module."
 
-#: include/class_listing.inc:1007
-msgid "Go to users department"
-msgstr "Ga naar gebruikers afdeling"
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
+msgstr "vorige"
 
-#: include/class_listing.inc:1007 include/class_listing.inc:1009
-msgid "Home"
-msgstr "Home"
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
+msgid "next"
+msgstr "volgende"
 
-#: include/class_listing.inc:1014
-msgid "Reload list"
-msgstr "Lijst herladen"
+#: include/functions_helpviewer.inc:388
+#, php-format
+msgid "%s results for your search with the keyword %s"
+msgstr "%s resultaten voor uw zoekopdracht met sleutelwoord %s"
 
-#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
-msgid "Submit"
-msgstr "Verwerk"
+#: include/functions_helpviewer.inc:461
+#, php-format
+msgid "%s%% hit rate in file %s"
+msgstr "%s%% resultaat in bestand %s"
 
-#: include/class_listing.inc:1109 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:64
-#: plugins/admin/groups/group-list.xml:79 plugins/admin/users/user-list.xml:78
-#: plugins/admin/departments/dep-list.xml:87 plugins/admin/acl/acl-list.xml:65
-msgid "Actions"
-msgstr "Acties"
+#: include/class_msg_dialog.inc:124
+msgid "Please fix the above error and reload the page."
+msgstr ""
 
-#: include/class_listing.inc:1380 include/class_listing.inc:1430
-#: include/class_plugin.inc:2114
-#, fuzzy
-msgid "Copy"
-msgstr "kopieer"
+#: include/class_plugin.inc:581
+msgid ""
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
+msgstr ""
 
-#: include/class_listing.inc:1386 include/class_listing.inc:1420
-#: include/class_plugin.inc:2118
-#, fuzzy
-msgid "Cut"
-msgstr "knippen"
+#: include/class_plugin.inc:1411
+#, php-format
+msgid "Changing ACL DN from %s to %s"
+msgstr ""
 
-#: include/class_listing.inc:1394 include/class_listing.inc:1396
-#: include/class_plugin.inc:2125 include/class_plugin.inc:2128
-#: include/class_CopyPasteHandler.inc:570
-msgid "Paste"
+#: include/class_SnapShotDialog.inc:55
+#, fuzzy
+msgid "Date"
 msgstr "Plakken"
 
-#: include/class_listing.inc:1420 include/class_plugin.inc:2072
-msgid "Cut this entry"
-msgstr "Deze invoer knippen"
-
-#: include/class_listing.inc:1430 include/class_plugin.inc:2080
-msgid "Copy this entry"
-msgstr "Deze invoer kopieren"
+#: include/class_SnapShotDialog.inc:94
+#, fuzzy, php-format
+msgid "You are about to delete the snapshot %s."
+msgstr "U staat op het punt de macro '%s' te verwijderen."
 
-#: include/class_listing.inc:1462 include/class_listing.inc:1464
+#: include/class_SnapShotDialog.inc:143
 #, fuzzy
-msgid "Restore snapshots"
+msgid "Delete snapshot"
 msgstr "Nagios account aanmaken"
 
-#: include/class_listing.inc:1478
-#, fuzzy
-msgid "Export list"
-msgstr "Exporteer"
-
-#: include/class_listing.inc:1513 include/class_listing.inc:1514
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
-msgid "Restore snapshot"
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+msgid "Y-m-d, H:i:s"
 msgstr ""
 
-#: include/class_listing.inc:1523 include/class_plugin.inc:2053
+#: include/class_pathNavigator.inc:86
 #, fuzzy
-msgid "Create snapshot"
-msgstr "Nagios account aanmaken"
+msgid "Welcome to GOsa"
+msgstr "Welkom bij het GOsa installatie programma!"
+
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
+msgstr ""
 
-#: include/class_listing.inc:1524 include/class_plugin.inc:2054
+#: include/class_sortableListing.inc:234
 #, fuzzy
-msgid "Create a new snapshot from this object"
-msgstr "Nieuw FAI object aanmaken"
+msgid "Sortable list"
+msgstr "Exporteer"
 
-#: include/class_sortableListing.inc:194
+#: include/class_sortableListing.inc:239
 msgid "Edit this entry"
 msgstr "Bewerk deze invoer"
 
-#: include/class_sortableListing.inc:199
+#: include/class_sortableListing.inc:244
 msgid "Delete this entry"
 msgstr "Verwijder deze invoer"
 
-#: include/functions.inc:134
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+#, fuzzy
+msgid "unknown"
+msgstr "Onbekend"
+
+#: include/class_configRegistry.inc:197
 #, php-format
-msgid "Fatal error: no class locations defined - please run '%s' to fix this"
+msgid "%s has version %s but %s is required!"
 msgstr ""
 
-#: include/functions.inc:141
-#, php-format
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
+msgstr ""
+
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+msgid "The following object classes are outdated:"
+msgstr ""
+
+#: include/class_configRegistry.inc:252
 msgid ""
-"Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
 msgstr ""
 
-#: include/functions.inc:455
-#, php-format
-msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#: include/class_configRegistry.inc:254
+#, fuzzy
+msgid "Schema validation error"
+msgstr "Nagios authenticatie"
+
+#: include/class_configRegistry.inc:689
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a bool value!"
 msgstr ""
-"FATAAL: Fout bij het verbinden met de LDAP server. De server meldt: '%s'."
+"Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module '%s' "
+"bestaat niet."
+
+#: include/class_configRegistry.inc:704
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a string!"
+msgstr ""
+"Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module '%s' "
+"bestaat niet."
+
+#: include/class_configRegistry.inc:719
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be numeric!"
+msgstr ""
+"Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module '%s' "
+"bestaat niet."
+
+#: include/class_configRegistry.inc:734
+#, fuzzy, php-format
+msgid "The path %s specified for %s:%s is invalid!"
+msgstr "De opgegeven 'UID' waarde is niet correct."
+
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
+msgstr ""
+"Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module '%s' "
+"bestaat niet."
+
+#: include/class_configRegistry.inc:755
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
+msgstr ""
+"Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module '%s' "
+"bestaat niet."
+
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not writeable!"
+msgstr ""
+"Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module '%s' "
+"bestaat niet."
+
+#: include/class_configRegistry.inc:802
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not writeable!"
+msgstr ""
+"Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module '%s' "
+"bestaat niet."
+
+#: include/class_configRegistry.inc:820
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s does not exists!"
+msgstr ""
+"Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module '%s' "
+"bestaat niet."
+
+#: include/class_configRegistry.inc:825
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not readable!"
+msgstr ""
+"Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module '%s' "
+"bestaat niet."
+
+#: include/class_configRegistry.inc:841
+#, fuzzy, php-format
+msgid "The command %s specified for %s:%s is invalid!"
+msgstr "De opgegeven 'UID' waarde is niet correct."
+
+#: include/class_configRegistry.inc:856
+#, fuzzy, php-format
+msgid "The DN %s specified for %s:%s is invalid!"
+msgstr "De opgegeven 'UID' waarde is niet correct."
+
+#: include/class_configRegistry.inc:871
+#, fuzzy, php-format
+msgid "The RDN %s specified for %s:%s is invalid!"
+msgstr "De opgegeven 'UID' waarde is niet correct."
+
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
+msgstr ""
+"Er is minimaal één PHP fout opgetreden bij het genereren van deze pagina!"
 
-#: include/functions.inc:526
+#: include/php_setup.inc:110
 #, fuzzy
-msgid "Username / UID is not unique inside the LDAP tree!"
-msgstr "Gebruikersnaam / UID is niet uniek. Controleer uw LDAP database a.u.b."
+msgid "Send bug report"
+msgstr "Afzender"
+
+#: include/php_setup.inc:114
+msgid "Toggle details"
+msgstr ""
+
+#: include/php_setup.inc:123
+msgid "PHP error"
+msgstr "PHP fout"
+
+#: include/php_setup.inc:142
+msgid "class"
+msgstr "klasse"
+
+#: include/php_setup.inc:148
+msgid "function"
+msgstr "functie"
+
+#: include/php_setup.inc:153
+msgid "static"
+msgstr "statisch"
+
+#: include/php_setup.inc:157
+msgid "method"
+msgstr "methode"
 
-#: include/functions.inc:611
+#: include/php_setup.inc:190
 #, fuzzy
-msgid ""
-"Username / UID is not unique inside the LDAP tree. Please contact your "
-"Administrator."
+msgid "Traceback"
+msgstr "Trace"
+
+#: include/php_setup.inc:191
+msgid "File"
+msgstr "Bestand"
+
+#: include/php_setup.inc:191
+msgid "Line"
+msgstr "Regel"
+
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+msgid "Type"
+msgstr "Type"
+
+#: include/php_setup.inc:192
+msgid "Arguments"
+msgstr "Argumenten"
+
+#: include/class_certificate.inc:73
+#, fuzzy
+msgid "Certificate is empty!"
+msgstr "Certificaten"
+
+#: include/class_certificate.inc:100
+msgid "Cannot load certificate: only PEM and DER are supported!"
+msgstr ""
+
+#: include/class_certificate.inc:115
+#, fuzzy
+msgid "Cannot extract information for non PEM certificates!"
+msgstr "Kan quota informatie niet ophaleven voor '%s'."
+
+#: include/class_certificate.inc:219
+#, fuzzy
+msgid "No valid certificate loaded!"
+msgstr "Geen geldig certificaat geladen"
+
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+#, fuzzy
+msgid "Requested channel does not exist!"
 msgstr "Gebruikersnaam / UID is niet uniek. Controleer uw LDAP database a.u.b."
 
-#: include/functions.inc:815 include/functions.inc:933
-msgid "Error while adding a lock. Contact the developers!"
+#: include/functions.inc:151
+#, php-format
+msgid "Fatal error: no class locations defined - please run %s to fix this"
 msgstr ""
 
-#: include/functions.inc:825
-#, fuzzy, php-format
-msgid ""
-"Cannot create locking information in LDAP tree. Please contact your "
-"administrator!"
+#: include/functions.inc:158
+#, php-format
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
 msgstr ""
-"Kan de blokkade informatie niet ophalen uit de LDAP database. Controleer a.u."
-"b. de 'config' regel in gosa.conf!"
 
-#: include/functions.inc:825
+#: include/functions.inc:483
 #, fuzzy, php-format
-msgid "LDAP server returned: %s"
-msgstr "LDAP server"
+msgid "Error while connecting to LDAP: %s"
+msgstr ""
+"FATAAL: Fout bij het verbinden met de LDAP server. De server meldt: '%s'."
 
-#: include/functions.inc:954
+#: include/functions.inc:554 include/functions.inc:640
 #, fuzzy
-msgid ""
-"Found multiple locks for object to be locked. This should not happen - "
-"cleaning up multiple references."
+msgid "User ID is not unique!"
+msgstr "Gebruikersnaam / UID is niet uniek. Controleer uw LDAP database a.u.b."
+
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
 msgstr ""
-"Er zijn meerdere blokkades voor het te blokkeren object gevonden. Dat zou "
-"niet mogelijk moeten zijn. Meervoudige verwijzingen worden opgeschoond."
 
-#: include/functions.inc:1258
-#, php-format
-msgid "The size limit of %d entries is exceed!"
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Cannot store lock information in LDAP!"
+msgstr "Kan quota informatie niet ophaleven voor '%s'."
+
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Error: %s"
+msgstr "Fout"
+
+#: include/functions.inc:1294
+#, fuzzy, php-format
+msgid "The current size limit of %d entries is exceeded!"
 msgstr "De hoeveelheidslimiet van %d invoeren is overschreden!"
 
-#: include/functions.inc:1260
+#: include/functions.inc:1296
 #, php-format
-msgid ""
-"Set the new size limit to %s and show me this message if the limit still "
-"exceeds"
+msgid "Set the size limit to %s"
 msgstr ""
-"Stel de nieuwe hoeveelheidslimiet in op %s en toon me dit bericht indien de "
-"limiet nog steeds overschreden wordt."
 
-#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
 msgid "Configure"
 msgstr "Instellen"
 
-#: include/functions.inc:1277
-msgid "incomplete"
+#: include/functions.inc:1313
+#, fuzzy
+msgid "list is incomplete"
 msgstr "onvolledig"
 
-#: include/functions.inc:1667
+#: include/functions.inc:1663
 msgid "Continue anyway"
 msgstr "Toch doorgaan"
 
-#: include/functions.inc:1669
+#: include/functions.inc:1665
 msgid "Edit anyway"
 msgstr "Alsnog bewerken"
 
-#: include/functions.inc:1671
-#, fuzzy, php-format
-msgid "You're going to edit the LDAP entry/entries %s"
-msgstr "U staat op het punt de invoer '%s' te kopieren."
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
+msgstr ""
 
-#: include/functions.inc:1911
+#: include/functions.inc:1909
 msgid "Entries per page"
 msgstr "Regels per pagina"
 
-#: include/functions.inc:1940 include/class_filter.inc:315
-msgid "Apply filter"
-msgstr "Filter toepassen"
-
-#: include/functions.inc:2252 include/class_filter.inc:281
-msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-
-#: include/functions.inc:2306
+#: include/functions.inc:2087
 #, fuzzy, php-format
 msgid "GOsa %s"
 msgstr "Log DB gebruiker"
 
-#: include/functions.inc:2313
+#: include/functions.inc:2094
 #, fuzzy, php-format
 msgid "GOsa %s snapshot (Rev %s)"
 msgstr "GOsa ontwikkelversie (Revisie %s)"
 
-#: include/functions.inc:2318
+#: include/functions.inc:2099
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "GOsa ontwikkelversie (Revisie %s)"
 
-#: include/functions.inc:2414
+#: include/functions.inc:2195
 #, php-format
-msgid "File '%s' could not be deleted."
+msgid "File %s cannot be deleted!"
 msgstr ""
 
-#: include/functions.inc:2448 include/functions.inc:2468
+#: include/functions.inc:2225 include/functions.inc:2245
 #, fuzzy
-msgid "Cannot write to revision file!"
+msgid "Cannot write revision file!"
 msgstr "Kan bestand '%s' niet aanmaken."
 
-#: include/functions.inc:2686 include/functions.inc:2690
-#: include/functions.inc:2696
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr ""
 
-#: include/functions.inc:2720
-#, fuzzy
-msgid "LDAP warning"
-msgstr "LDAP beheer"
-
-#: include/functions.inc:2720
+#: include/functions.inc:2550
 #, fuzzy
-msgid "Cannot get schema information from server. No schema check possible!"
+msgid ""
+"Cannot read schema information from LDAP. Schema validation is not possible!"
 msgstr ""
 "Kan de schema informatie niet ophalen van de server. Schema controle is "
 "onmogelijk!"
 
-#: include/functions.inc:2746
-msgid "Used to store account specific informations."
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
 msgstr ""
 
-#: include/functions.inc:2753
+#: include/functions.inc:2583
 msgid ""
-"Used to lock currently edited entries to avoid multiple changes at the same "
+"This class is used to lock entries in order to prevent multiple edits at a "
 "time."
 msgstr ""
 
-#: include/functions.inc:2798
+#: include/functions.inc:2628
 #, fuzzy, php-format
-msgid "Missing required object class '%s'!"
+msgid "Required object class %s is missing!"
 msgstr "Toon FAI sjabloon objecten"
 
-#: include/functions.inc:2801
+#: include/functions.inc:2631
 #, php-format
-msgid "Missing optional object class '%s'!"
+msgid "Optional object class %s is missing!"
 msgstr ""
 
-#: include/functions.inc:2806
-#, php-format
-msgid "Version mismatch for required object class '%s' (!=%s)!"
-msgstr ""
+#: include/functions.inc:2636
+#, fuzzy, php-format
+msgid "Wrong version of required object class %s (!=%s) detected!"
+msgstr "Toon FAI sjabloon objecten"
 
-#: include/functions.inc:2809
+#: include/functions.inc:2639
 #, fuzzy, php-format
-msgid "Class(es) available"
+msgid "Class available"
 msgstr "Bestand is beschikbaar"
 
-#: include/functions.inc:2831
+#: include/functions.inc:2661
 msgid ""
-"You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
-"schema    configuration do not support this option."
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
 msgstr ""
 
-#: include/functions.inc:2832
+#: include/functions.inc:2662
 msgid ""
-"In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
-"be      AUXILIARY"
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
 msgstr ""
 
-#: include/functions.inc:2836
+#: include/functions.inc:2666
 msgid ""
-"Your schema is configured to support the rfc2307bis group, but you have "
-"disabled this option on the 'ldap setup' step."
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
 msgstr ""
 
-#: include/functions.inc:2837
-msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#: include/functions.inc:2667
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
 msgstr ""
 
-#: include/functions.inc:2861
+#: include/functions.inc:2692
 msgid "German"
 msgstr "Duits"
 
-#: include/functions.inc:2862
+#: include/functions.inc:2693
 msgid "French"
 msgstr "Frans"
 
-#: include/functions.inc:2863
+#: include/functions.inc:2694
 msgid "Italian"
 msgstr "Italiaans"
 
-#: include/functions.inc:2864
+#: include/functions.inc:2695
 msgid "Spanish"
 msgstr "Spaans"
 
-#: include/functions.inc:2865
+#: include/functions.inc:2696
 msgid "English"
 msgstr "Engels"
 
-#: include/functions.inc:2866
+#: include/functions.inc:2697
 msgid "Dutch"
 msgstr "Nederlands"
 
-#: include/functions.inc:2867
+#: include/functions.inc:2698
 msgid "Polish"
 msgstr "Pools"
 
-#: include/functions.inc:2869
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
+msgstr ""
+
+#: include/functions.inc:2701
 #, fuzzy
 msgid "Chinese"
 msgstr "Chipset"
 
-#: include/functions.inc:2870
+#: include/functions.inc:2702
 #, fuzzy
 msgid "Vietnamese"
 msgstr "Naam"
 
-#: include/functions.inc:2871
+#: include/functions.inc:2703
 msgid "Russian"
 msgstr "Russisch"
 
-#: include/functions.inc:3066
+#: include/functions.inc:2896
+#, fuzzy
+msgid "Cannot detect password hash!"
+msgstr "De opgegeven database kon niet geselecteerd worden!"
+
+#: include/functions.inc:2937 include/functions.inc:3012
 #, php-format
-msgid ""
-"Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: include/functions.inc:2968
+#, fuzzy
+msgid "Password change failed!"
+msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+
+#: include/functions.inc:2976
+#, php-format
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
 msgstr ""
-"Het commando '%s' dat gespecificeerd is als POSTMODIFY voor module '%s' "
-"bestaat niet."
 
-#: include/functions.inc:3099
-msgid "Cannot generate samba hash!"
+#: include/functions.inc:3080
+msgid "Cannot generate SAMBA hash!"
 msgstr ""
 
-#: include/functions.inc:3112
+#: include/functions.inc:3095
 #, php-format
-msgid ""
-"Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+msgid "Generating SAMBA hash by running %s failed: check %s!"
 msgstr ""
 
-#: include/functions.inc:3393 include/functions.inc:3407
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
 #, fuzzy
-msgid "Cannot allocate a free ID:"
+msgid "Cannot allocate free ID:"
 msgstr ""
 "Er zitten te veel gebruikers in de database. Kan geen vrij ID toewijzen!"
 
-#: include/functions.inc:3393
+#: include/functions.inc:3373
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3407
+#: include/functions.inc:3387
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3437
+#: include/functions.inc:3417
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "Ga naar basis afdelingen"
 
-#: include/functions.inc:3445
+#: include/functions.inc:3425
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3457 include/functions.inc:3461
+#: include/functions.inc:3437 include/functions.inc:3441
 #, fuzzy
 msgid "no ID available!"
 msgstr "Bestand is beschikbaar"
 
-#: include/functions.inc:3485
-msgid "maximum tries exceeded!"
+#: include/functions.inc:3465
+msgid "maximum number of tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3545
+#: include/functions.inc:3525
 #, fuzzy
-msgid "Cannot allocate a free ID!"
+msgid "Cannot allocate free ID!"
 msgstr ""
 "Er zitten te veel gebruikers in de database. Kan geen vrij ID toewijzen!"
 
-#: include/class_tabs.inc:57
-#, fuzzy, php-format
-msgid ""
-"No plugin definitions found to initialize '%s', please check your "
-"configuration file."
-msgstr ""
-"Kan niet verbinden met de opgegeven database. Controleer uw GLPI "
-"configuratie a.u.b."
-
-#: include/class_tabs.inc:268
-#, php-format
-msgid "Delete process has been canceled by plugin '%s': %s"
-msgstr "Het verwijder proces is geannuleerd door plugin '%s': %s"
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
+msgstr "Zoeken"
 
-#: include/class_tabs.inc:406
-msgid "References"
-msgstr "Referenties"
+#: include/class_filter.inc:226
+#, fuzzy
+msgid "Search filter"
+msgstr "Parameters"
 
-#: include/class_SnapShotDialog.inc:82
-#, fuzzy, php-format
-msgid "You're about to delete the snapshot '%s'."
-msgstr "U staat op het punt de macro '%s' te verwijderen."
+#: include/class_filter.inc:444
+#, fuzzy
+msgid "Search in subtrees"
+msgstr "Zoek binnen subtree"
 
-#: include/class_SnapShotDialog.inc:137
+#: include/class_filter.inc:449
 #, fuzzy
-msgid "Remove snapshot"
-msgstr "Nagios account aanmaken"
+msgid "Edit filters"
+msgstr "Bewerk certificaten"
 
-#: include/class_SnapShotDialog.inc:139 include/class_SnapShotDialog.inc:159
-msgid "Y-m-d, H:i:s"
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
 msgstr ""
 
-#: include/class_SnapShotDialog.inc:171
-#: plugins/generic/references/contents.tpl:11
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
-#: plugins/admin/ogroups/class_ogroup.inc:977
-#: plugins/admin/ogroups/generic.tpl:15
-#: plugins/admin/ogroups/ogroup-list.xml:49
-#: plugins/admin/groups/generic.tpl:24
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:66
-#: plugins/admin/groups/class_group.inc:1184
-#: plugins/admin/departments/dep-list.xml:79
-#: plugins/admin/departments/locality.tpl:19
-#: plugins/admin/departments/generic.tpl:19
-#: plugins/admin/departments/class_domain.inc:63
-#: plugins/admin/departments/class_domain.inc:91
-#: plugins/admin/departments/class_localityGeneric.inc:64
-#: plugins/admin/departments/class_localityGeneric.inc:92
-#: plugins/admin/departments/class_organizationGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_countryGeneric.inc:63
-#: plugins/admin/departments/class_countryGeneric.inc:92
-#: plugins/admin/departments/class_dcObject.inc:63
-#: plugins/admin/departments/class_dcObject.inc:91
-#: plugins/admin/departments/domain.tpl:19
-#: plugins/admin/departments/country.tpl:19
-#: plugins/admin/departments/dcObject.tpl:19
-#: plugins/admin/departments/class_department.inc:359
-#: plugins/admin/departments/class_department.inc:666
-#: plugins/admin/departments/organization.tpl:19
-#: plugins/admin/acl/class_aclRole.inc:735 plugins/admin/acl/acl-list.xml:57
-#: plugins/admin/acl/acl_role.tpl:17
-#: plugins/personal/posix/trustSelect/trust-list.xml:64
-#: plugins/personal/posix/groupSelect/group-list.xml:49
-msgid "Description"
-msgstr "Omschrijving"
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+#, php-format
+msgid "LDAP performance is poor: last query took %.2fs!"
+msgstr ""
 
-#: include/exporter/class_cvsExporter.inc:48
-msgid "CSV"
+#: include/class_ldap.inc:784
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
 msgstr ""
 
-#: include/exporter/class_PDF.inc:24
-#, fuzzy
-msgid "Page"
-msgstr "Pieper"
+#: include/class_ldap.inc:835
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
+msgstr ""
 
-#: include/exporter/class_pdfExporter.inc:18
-msgid "No PDF export possible: there is no FPDF library installed."
+#: include/class_ldap.inc:922
+#, fuzzy, php-format
+msgid "while operating on %s using LDAP server %s"
+msgstr "bij het bewerken van '%s' op LDAP server '%s'"
+
+#: include/class_ldap.inc:924
+#, php-format
+msgid "while operating on LDAP server %s"
+msgstr "bij het bewerken van LDAP server %s"
+
+#: include/class_ldap.inc:977
+#, php-format
+msgid "Command line programm %s is missing!"
 msgstr ""
 
-#: include/exporter/class_pdfExporter.inc:145
-msgid "PDF"
+#: include/class_ldap.inc:1138
+#, fuzzy, php-format
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
 msgstr ""
+"Dit is geen geldige DN: '%s'. Een blok dat geïmporteerd wordt, dient te "
+"beginnen met 'dn: ...' op regel %s"
 
-#: include/class_multi_plug.inc:362
-#, fuzzy
-msgid "You are currently editing mutliple entries."
-msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
+#: include/class_ldap.inc:1167
+#, fuzzy, php-format
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
+msgstr ""
+"Fout bij het importeren van dn: '%s', controleer uw LDIF bestand a.u.b. "
+"vanaf regel %s!"
 
-#: include/class_multi_plug.inc:391
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
 #, fuzzy
-msgid "Password reset"
-msgstr "Wachtwoord verloopt op"
+msgid "All"
+msgstr "Alle"
 
-#: include/class_multi_plug.inc:391
+#: include/class_core.inc:114
 #, fuzzy
-msgid "The user password was resetted, please set a new password value!"
-msgstr "Uw wachtwoord is verlopen! Kies a.u.b. een nieuw wachtwoord. "
+msgid "All objects"
+msgstr "Lidmaatschap objecten"
 
-#: include/class_certificate.inc:73
+#: include/class_core.inc:132
 #, fuzzy
-msgid "Certificate is empty!"
-msgstr "Certificaten"
+msgid "Traditional"
+msgstr "Terminal"
 
-#: include/class_certificate.inc:100
-msgid "Cannot load certificate - only PEM/DER is supported!"
+#: include/class_core.inc:132
+msgid "Use samba pool"
 msgstr ""
 
-#: include/class_certificate.inc:115
+#: include/class_core.inc:164 include/class_core.inc:167
 #, fuzzy
-msgid "Cannot extract information for non PEM certificates!"
-msgstr "Kan quota informatie niet ophaleven voor '%s'."
+msgid "hours"
+msgstr "uur"
 
-#: include/class_certificate.inc:219
+#: include/class_core.inc:184
 #, fuzzy
-msgid "No valid certificate loaded!"
-msgstr "Geen geldig certificaat geladen"
+msgid "None"
+msgstr "geen"
 
-#: include/php_setup.inc:100
-msgid "Generating this page caused the PHP interpreter to raise some errors!"
-msgstr ""
-"Er is minimaal één PHP fout opgetreden bij het genereren van deze pagina!"
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
+#, fuzzy
+msgid "Automatic"
+msgstr "automatisch"
 
-#: include/php_setup.inc:105
-msgid "Send bug report to the GOsa Team"
-msgstr ""
+#: include/class_core.inc:200
+#, fuzzy
+msgid "User value"
+msgstr "Gebruikersnaam"
 
-#: include/php_setup.inc:105
+#: include/class_core.inc:209
 #, fuzzy
-msgid "Send bugreport"
-msgstr "Afzender"
+msgid "Core"
+msgstr "Sluiten"
 
-#: include/php_setup.inc:110
-msgid "Toggle information"
-msgstr "Informatie weergeven/verbergen"
+#: include/class_core.inc:210
+#, fuzzy
+msgid "GOsa core plugin"
+msgstr "E-mail instellingen"
 
-#: include/php_setup.inc:120
-msgid "PHP error"
-msgstr "PHP fout"
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
+msgstr ""
 
-#: include/php_setup.inc:139
-msgid "class"
-msgstr "klasse"
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
+msgstr ""
 
-#: include/php_setup.inc:145
-msgid "function"
-msgstr "functie"
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
+msgstr ""
 
-#: include/php_setup.inc:150
-msgid "static"
-msgstr "statisch"
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
+msgstr ""
 
-#: include/php_setup.inc:154
-msgid "method"
-msgstr "methode"
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
+msgstr ""
 
-#: include/php_setup.inc:187
-msgid "Trace"
-msgstr "Trace"
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "File"
-msgstr "Bestand"
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Line"
-msgstr "Regel"
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Type"
-msgstr "Type"
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
+msgstr ""
 
-#: include/php_setup.inc:189
-msgid "Arguments"
-msgstr "Argumenten"
+#: include/class_core.inc:319
+#, fuzzy, php-format
+msgid "Related option"
+msgstr "Selecteer om werkstations te zien"
 
-#: include/class_filter.inc:322 include/utils/class_msgPool.inc:24
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#: plugins/personal/posix/posix_groups.tpl:68
-#, fuzzy
-msgid "Search in subtrees"
-msgstr "Zoek binnen subtree"
+#: include/class_core.inc:329
+msgid ""
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
+msgstr ""
 
-#: include/class_plugin.inc:521
+#: include/class_core.inc:340
 msgid ""
-"The object has changed since opened in GOsa. All changes that may be done by "
-"others get lost if you save this entry!"
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
 msgstr ""
 
-#: include/class_plugin.inc:1844
-msgid "Changing ACL dn"
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
 msgstr ""
 
-#: include/class_plugin.inc:1844
-#, fuzzy
-msgid "from"
-msgstr "willekeurig"
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
+msgstr ""
 
-#: include/class_plugin.inc:1845 setup/class_setupStep_Migrate.inc:1250
-#: setup/class_setupStep_Migrate.inc:1300
-#: setup/class_setupStep_Migrate.inc:1348
-#, fuzzy
-msgid "to"
-msgstr "Stop"
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
+msgstr ""
 
-#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
-#, fuzzy
-msgid "Restore"
-msgstr "Opnieuw proberen"
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
+msgstr ""
 
-#: include/class_plugin.inc:2072
-msgid "cut"
-msgstr "knippen"
+#: include/class_core.inc:390
+#, fuzzy
+msgid "Enable LDAP referral chasing."
+msgstr "Verwijder printer mogelijkheden"
 
-#: include/class_plugin.inc:2080
-msgid "copy"
-msgstr "kopieer"
+#: include/class_core.inc:400
+msgid ""
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
+msgstr ""
 
-#: include/functions_helpviewer.inc:45
-#, php-format
-msgid "XML error in guide.xml: %s at line %d"
-msgstr "XML fout in guide.conf: %s op regel %d"
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
+msgstr ""
 
-#: include/functions_helpviewer.inc:88
-msgid "No help available for this plugin."
-msgstr "Help is (nog) niet beschikbaar voor deze module."
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
+msgstr ""
 
-#: include/functions_helpviewer.inc:388
-#, php-format
-msgid "%s results for your search with the keyword %s"
-msgstr "%s resultaten voor uw zoekopdracht met sleutelwoord %s"
+#: include/class_core.inc:430
+msgid "Enable warnings for non encrypted connections."
+msgstr ""
 
-#: include/functions_helpviewer.inc:462
-#, php-format
-msgid "%s%% hit rate in file %s"
-msgstr "%s%% resultaat in bestand %s"
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
+msgstr ""
 
-#: include/utils/class_timezone.inc:47
-#, php-format
+#: include/class_core.inc:451
 msgid ""
-"The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate "
-"correct timezone offset."
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
 msgstr ""
 
-#: include/utils/class_xml.inc:48
-#, fuzzy
-msgid "in"
-msgstr "Hoofdmenu"
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
+msgstr ""
 
-#: include/utils/class_xml.inc:50
-#, fuzzy
-msgid "on line"
-msgstr "Doorgaan"
+#: include/class_core.inc:472
+msgid ""
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
+msgstr ""
 
-#: include/utils/class_xml.inc:51
-#, fuzzy
-msgid "XML error"
-msgstr "LDAP fout:"
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:16
-#, fuzzy, php-format
-msgid "Select to list objects of type '%s'."
-msgstr "Selecteer de toe te voegen objecten"
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:18
-#, fuzzy, php-format
-msgid "Select to list objects containig '%s'."
-msgstr "Selecteer om groepen die gebruikers bevatten te tonen"
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:20
-#, fuzzy, php-format
-msgid "Select to list objects that have '%s' enabled"
-msgstr "Selecteer de toe te voegen objecten"
+#: include/class_core.inc:514
+msgid ""
+"ISO language code which is used to override the automatic language detection."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:22
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-msgid "Select to search within subtrees"
-msgstr "Selecteer om binnen subonderdelen te zoeken"
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:34
-msgid "This object will be deleted!"
+#: include/class_core.inc:535
+msgid ""
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:36
+#: include/class_core.inc:545
+#, fuzzy
+msgid "Template engine compile directory."
+msgstr "Persoonlijke map"
+
+#: include/class_core.inc:555
 #, php-format
-msgid "This '%s' object will be deleted!"
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:41
-#, php-format
-msgid "This object will be deleted: %s"
+#: include/class_core.inc:576
+msgid ""
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:43
-#, php-format
-msgid "This '%s' object will be deleted: %s"
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:48
-msgid "This object will be deleted:"
+#: include/class_core.inc:596
+msgid ""
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:50
-#, php-format
-msgid "This '%s' object will be deleted:"
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:54
-#, php-format
-msgid "These objects will be deleted: %s"
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:56
-#, php-format
-msgid "These '%s' objects will be deleted: %s"
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:64
-#, fuzzy
-msgid "You have no permission to delete this object!"
-msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:68 include/utils/class_msgPool.inc:72
-#, fuzzy
-msgid "You have no permission to delete the object:"
-msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:75
-#, fuzzy
-msgid "You have no permission to delete these objects:"
-msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:82
-#, fuzzy
-msgid "You have no permission to create this object!"
-msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
+#: include/class_core.inc:667
+msgid ""
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:86 include/utils/class_msgPool.inc:90
-#, fuzzy
-msgid "You have no permission to create the object:"
-msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:93
-#, fuzzy
-msgid "You have no permission to create these objects:"
-msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
+#: include/class_core.inc:687
+msgid ""
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:100
-#, fuzzy
-msgid "You have no permission to modify this object!"
-msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:104 include/utils/class_msgPool.inc:108
-#, fuzzy
-msgid "You have no permission to modify the object:"
-msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
+#: include/class_core.inc:707
+msgid "Connection URL for use with the gosa-ng service."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:111
-#, fuzzy
-msgid "You have no permission to modify these objects:"
-msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:118
+#: include/class_core.inc:727
 #, fuzzy
-msgid "You have no permission to view this object!"
-msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
+msgid "Password used to connect to the 'gosaRpcServer'."
+msgstr "Kan niet verbinden met de database server!"
 
-#: include/utils/class_msgPool.inc:122 include/utils/class_msgPool.inc:126
-#, fuzzy
-msgid "You have no permission to view the object:"
+#: include/class_core.inc:737
+msgid "Connection URI for use with the gosa-si service (obsolete)."
 msgstr ""
-"U heeft geen toestemming om een telefoon aan te maken onder deze 'Basis'."
 
-#: include/utils/class_msgPool.inc:129
-#, fuzzy
-msgid "You have no permission to view these objects:"
-msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:136
-#, fuzzy
-msgid "You have no permission to move this object!"
-msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:144
+#: include/class_core.inc:769
 #, fuzzy
-msgid "You have no permission to move the object:"
-msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
+msgid "Local time zone."
+msgstr "Plaats"
 
-#: include/utils/class_msgPool.inc:147
-#, fuzzy
-msgid "You have no permission to move these objects:"
-msgstr "U heeft geen toestemming om deze blokkeerlijst te verwijderen."
+#: include/class_core.inc:779
+msgid ""
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:157 include/utils/class_msgPool.inc:169
-#: include/utils/class_msgPool.inc:187
-#, fuzzy
-msgid "Connection information"
-msgstr "Persoonlijke informatie"
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:159
-#, fuzzy, php-format
-msgid "Cannot connect to %s database!"
-msgstr "Kan niet verbinden met de database server!"
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:171
-#, fuzzy, php-format
-msgid "Cannot select %s database!"
-msgstr "De opgegeven database kon niet geselecteerd worden!"
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:177
-#, php-format
-msgid "No %s server defined!"
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:189
-#, fuzzy, php-format
-msgid "Cannot query %s database!"
-msgstr "De opgegeven database kon niet geselecteerd worden!"
+#: include/class_core.inc:828
+msgid ""
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:195
-#, fuzzy, php-format
-msgid "The field '%s' contains a reserved keyword!"
-msgstr "Het veld 'Fax' bevat een ongeldig Faxnummer."
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:201
-#, fuzzy, php-format
-msgid "Command specified as %s hook for plugin '%s' does not exist!"
+#: include/class_core.inc:848
+msgid ""
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
 msgstr ""
-"Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module '%s' "
-"bestaat niet."
 
-#: include/utils/class_msgPool.inc:208
-#, fuzzy, php-format
-msgid "'%s' command is invalid!"
-msgstr "De opgegeven naam is ongeldig."
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:210
-#, php-format
-msgid "'%s' command (%s) for plugin %s is invalid!"
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:212
-#, php-format
-msgid "'%s' command for plugin %s is invalid!"
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:214
-#, fuzzy, php-format
-msgid "'%s' command (%s) is invalid!"
-msgstr "De opgegeven naam is ongeldig."
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:222
-#, fuzzy, php-format
-msgid "Cannot execute '%s' command!"
-msgstr "De opgegeven database kon niet geselecteerd worden!"
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:224
-#, php-format
-msgid "Cannot execute '%s' command (%s) for plugin %s!"
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:226
-#, php-format
-msgid "Cannot execute '%s' command for plugin %s!"
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:228
-#, fuzzy, php-format
-msgid "Cannot execute '%s' command (%s)!"
-msgstr "De opgegeven database kon niet geselecteerd worden!"
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:236
-#, fuzzy, php-format
-msgid "Value for '%s' is too large!"
-msgstr "De opgegeven 'UID' waarde is te klein."
+#: include/class_core.inc:940
+#, fuzzy
+msgid "Enable TLS for LDAP connections."
+msgstr "Max. verbrekingsduur"
 
-#: include/utils/class_msgPool.inc:238
-#, fuzzy, php-format
-msgid "'%s' must be smaller than %s!"
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
 msgstr ""
-"De waarde opgegeven voor 'shadowMin' moet kleiner zijn dan 'shadowMax'."
 
-#: include/utils/class_msgPool.inc:246
-#, fuzzy, php-format
-msgid "Value for '%s' is too small!"
-msgstr "De opgegeven 'UID' waarde is te klein."
+#: include/class_core.inc:960
+msgid ""
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:248
-#, fuzzy, php-format
-msgid "'%s' must be %d or above!"
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
 msgstr ""
-"PHP moet minimaal versienummer 4.1.0 hebben. GOsa gebruikt bepaalde "
-"functionaliteit die in voorgaande versies niet goed of helemaal niet "
-"voorhanden is."
 
-#: include/utils/class_msgPool.inc:255
-#, php-format
-msgid "'%s' depends on '%s' - please provide both values!"
+#: include/class_core.inc:980
+msgid ""
+"String containing the SID for Samba setups without the Domain object in LDAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:261
-#, fuzzy, php-format
-msgid "There is already an entry with this '%s' attribute in the system!"
-msgstr "Er bestaat al een account met deze 'Inlog naam' in de database."
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:267
-#, fuzzy, php-format
-msgid "The required field '%s' is empty!"
-msgstr "Het vereiste veld '(Achter)naam' is leeg."
+#: include/class_core.inc:1000
+#, fuzzy
+msgid "Enable manual object snapshots."
+msgstr "Nieuwe objectgroep aanmaken"
 
-#: include/utils/class_msgPool.inc:275
-msgid "Example"
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:295
-#, fuzzy, php-format
-msgid "The Field '%s' contains invalid characters"
-msgstr "Het veld 'Naam' bevat ongeldige karakters."
+#: include/class_core.inc:1020
+#, fuzzy
+msgid "DN of the snapshot administrator."
+msgstr "Windows beheerders"
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' is not allowed:"
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:296
-#, fuzzy, php-format
-msgid "'%s' are not allowed!"
-msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+#: include/class_core.inc:1041
+msgid ""
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:299
-#, fuzzy, php-format
-msgid "The Field '%s' contains invalid characters!"
-msgstr "Het veld 'Naam' bevat ongeldige karakters."
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:306
-#, fuzzy, php-format
-msgid "Missing %s PHP extension!"
-msgstr "Verwijder printer mogelijkheden"
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:336
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
-#: plugins/personal/generic/generic.tpl:251
-#: plugins/personal/generic/generic.tpl:269
-#: setup/class_setupStep_Migrate.inc:2869
+#: include/class_config.inc:168
 #, php-format
-msgid "Add"
-msgstr "Toevoegen"
-
-#: include/utils/class_msgPool.inc:336
-#, fuzzy, php-format
-msgid "Add %s"
-msgstr "Toevoegen"
-
-#: include/utils/class_msgPool.inc:342
-#, fuzzy, php-format
-msgid "Delete %s"
-msgstr "Verwijderen"
-
-#: include/utils/class_msgPool.inc:348
-#, fuzzy, php-format
-msgid "Set %s"
-msgstr "Stel in"
-
-#: include/utils/class_msgPool.inc:354
-#, fuzzy, php-format
-msgid "Edit..."
-msgstr "Bewerken"
-
-#: include/utils/class_msgPool.inc:354
-#, fuzzy, php-format
-msgid "Edit %s..."
-msgstr "Bewerk gebruiker"
+msgid "XML error in gosa.conf: %s at line %d"
+msgstr "XML fout in gosa.conf: %s op regel %d"
 
-#: include/utils/class_msgPool.inc:360
-msgid "Back"
-msgstr "Terug"
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:380
-#, fuzzy, php-format
-msgid "This account has no valid %s extensions!"
-msgstr "Dit account heeft geen geldige GOsa extensies."
+#: include/class_config.inc:711
+#, fuzzy
+msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+msgstr "SID en/of RIDBASE ontbreken in uw configuratie!"
 
-#: include/utils/class_msgPool.inc:386
-#, fuzzy, php-format
-msgid ""
-"This account has %s settings enabled. You can disable them by clicking below."
-msgstr ""
-"Dit account heeft POSIX mogelijkheden ingeschakeld. U kunt deze uitschakelen "
-"door de knop hieronder te gebruiken."
+#: include/class_config.inc:1130
+#, fuzzy
+msgid "Configuration"
+msgstr "Configuratie bestand"
 
-#: include/utils/class_msgPool.inc:389 include/utils/class_msgPool.inc:396
-#, fuzzy, php-format
+#: include/class_config.inc:1130
 msgid ""
-"This account has %s settings enabled. To disable them, you'll need to remove "
-"the %s settings first!"
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
 msgstr ""
-"Dit account heeft Unix mogelijkheden ingeschakeld. Om deze te verwijderen "
-"moet u eerst het samba / omgevings account verwijderen."
 
-#: include/utils/class_msgPool.inc:405
-#, fuzzy, php-format
+#: include/class_config.inc:1172 include/class_config.inc:1203
+#, php-format
 msgid ""
-"This account has %s settings disabled. You can enable them by clicking below."
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
 msgstr ""
-"Dit account heeft POSIX mogelijkheden uitgeschakeld. U kunt deze inschakelen "
-"door de knop hieronder te gebruiken."
 
-#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
-#, fuzzy, php-format
+#: include/class_config.inc:1185
+#, php-format
 msgid ""
-"This account has %s settings disabled. To enable them, you'll need to add "
-"the %s settings first!"
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
 msgstr ""
-"Dit account heeft Unix mogelijkheden ingeschakeld. Om deze te verwijderen "
-"moet u eerst het samba / omgevings account verwijderen."
 
-#: include/utils/class_msgPool.inc:423
-#, fuzzy, php-format
-msgid "Add %s settings"
-msgstr "Programma instellingen"
-
-#: include/utils/class_msgPool.inc:429
-#, fuzzy, php-format
-msgid "Remove %s settings"
-msgstr "Posix instellingen"
+#: include/exporter/class_PDF.inc:24
+#, fuzzy
+msgid "Page"
+msgstr "Pieper"
 
-#: include/utils/class_msgPool.inc:435
-msgid "Click the 'Edit' button below to change informations in this dialog"
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
 msgstr ""
-"Gebruik de 'Bewerk' knop hieronder om de informatie in deze dialoog te "
-"veranderen"
 
-#: include/utils/class_msgPool.inc:441
-msgid "January"
-msgstr "Januari"
+#: include/exporter/class_pdfExporter.inc:18
+msgid "No PDF export possible: there is no FPDF library installed."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "February"
-msgstr "Februari"
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "March"
-msgstr "Maart"
+#: include/class_jsonRPC.inc:38
+#, fuzzy, php-format
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
+msgstr "De opgegeven 'UID' waarde is niet correct."
 
-#: include/utils/class_msgPool.inc:441
-msgid "April"
-msgstr "April"
+#: include/class_jsonRPC.inc:330
+#, fuzzy, php-format
+msgid "Unknown HTTP status code %s!"
+msgstr "Onbekende FAI status %s"
 
-#: include/utils/class_msgPool.inc:442
-msgid "May"
-msgstr "Mei"
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
+msgstr "Verwerk"
 
-#: include/utils/class_msgPool.inc:442
-msgid "June"
-msgstr "Juni"
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#, fuzzy, php-format
+msgid "Copy and paste failed!"
+msgstr "Kopieren & plakken wizard"
 
-#: include/utils/class_msgPool.inc:442
-msgid "July"
-msgstr "Juli"
+#: include/class_CopyPasteHandler.inc:118
+#, fuzzy, php-format
+msgid "Cannot set permission for %s"
+msgstr "Kan bestand '%s' niet aanmaken."
 
-#: include/utils/class_msgPool.inc:442
-msgid "August"
-msgstr "Augustus"
+#: include/class_CopyPasteHandler.inc:159
+#, php-format
+msgid "'%s' is no valid LDAP object"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "September"
-msgstr "September"
+#: include/class_CopyPasteHandler.inc:176
+#, fuzzy, php-format
+msgid "No write permission in '%s'"
+msgstr "Kan bestand '%s' niet aanmaken."
 
-#: include/utils/class_msgPool.inc:443
-msgid "October"
-msgstr "Oktober"
+#: include/class_CopyPasteHandler.inc:193
+#, fuzzy, php-format
+msgid "Cannot set permission for '%s'"
+msgstr "Kan bestand '%s' niet aanmaken."
 
-#: include/utils/class_msgPool.inc:443
-msgid "November"
-msgstr "November"
+#: include/class_CopyPasteHandler.inc:396
+#, php-format
+msgid "These objects will be pasted: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:443
-msgid "December"
-msgstr "December"
+#: include/class_CopyPasteHandler.inc:420
+#, php-format
+msgid "This object will be pasted: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
+#: include/class_CopyPasteHandler.inc:573
 #, fuzzy
-msgid "Sunday"
-msgstr "Achternaam"
+msgid "Cannot paste"
+msgstr "Plakken onmogelijk"
 
-#: include/utils/class_msgPool.inc:449
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
 #, fuzzy
-msgid "Monday"
-msgstr "maand"
-
-#: include/utils/class_msgPool.inc:449
-msgid "Tuesday"
-msgstr ""
+msgid "Access control"
+msgstr "Toegangsopties"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Wednesday"
-msgstr ""
+#: include/class_acl.inc:28
+#, fuzzy
+msgid "Manage access control lists"
+msgstr "Toegangsopties"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Thursday"
-msgstr ""
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, fuzzy, php-format
+msgid "All users"
+msgstr "gebruikers"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Friday"
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Saturday"
-msgstr ""
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
+#, fuzzy
+msgid "One level"
+msgstr "Log prioriteit"
 
-#: include/utils/class_msgPool.inc:456
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
 #, fuzzy
-msgid "MySQL operation failed!"
-msgstr "De database zoekopdracht is mislukt"
+msgid "Current object"
+msgstr "Nieuw FAI object aanmaken"
 
-#: include/utils/class_msgPool.inc:464
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
 #, fuzzy
-msgid "read operation"
-msgstr "E-mail opties"
+msgid "Complete subtree"
+msgstr "Subonderdelen negeren"
 
-#: include/utils/class_msgPool.inc:464
-msgid "add operation"
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:464
-#, fuzzy
-msgid "modify operation"
-msgstr "Persoonlijke informatie"
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+msgid "Use ACL defined in role"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:465
-#, fuzzy
-msgid "delete operation"
-msgstr "Selecteer om werkstations te zien"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
+msgstr "Gebruikers"
 
-#: include/utils/class_msgPool.inc:465
-#, fuzzy
-msgid "search operation"
-msgstr "Het account verloopt op"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
+msgstr "Groepen"
 
-#: include/utils/class_msgPool.inc:465
+#: include/class_acl.inc:254
 #, fuzzy
-msgid "authentication"
-msgstr "Nagios authenticatie"
-
-#: include/utils/class_msgPool.inc:468
-#, fuzzy, php-format
-msgid "LDAP %s failed!"
-msgstr "De database zoekopdracht is mislukt"
+msgid "Section"
+msgstr "Actie"
 
-#: include/utils/class_msgPool.inc:470
+#: include/class_acl.inc:264
 #, fuzzy
-msgid "LDAP operation failed!"
-msgstr "De database zoekopdracht is mislukt"
+msgid "Used"
+msgstr "Gebruiker"
 
-#: include/utils/class_msgPool.inc:485
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
 #, fuzzy
-msgid "Upload failed!"
-msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
+msgid "Member"
+msgstr "Groepsleden"
 
-#: include/utils/class_msgPool.inc:488
-#, fuzzy, php-format
-msgid "Upload failed: %s"
-msgstr "Log DB gebruiker"
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
+#, fuzzy
+msgid "Permissions"
+msgstr "Rechten"
 
-#: include/utils/class_msgPool.inc:495
-msgid "Communication failure with the infrastructure service!"
+#: include/class_acl.inc:574
+msgid "No ACL settings for this category!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:497
+#: include/class_acl.inc:577
 #, php-format
-msgid "Communication failure with the infrastructure service: %s"
+msgid "ACLs for: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:504 include/utils/class_msgPool.inc:507
-#, php-format
-msgid "This '%s' is still in use by this object: %s"
-msgstr ""
-
-#: include/utils/class_msgPool.inc:510
-#, fuzzy, php-format
-msgid "This '%s' is still in use."
-msgstr "Deze 'dn' is geen groep."
+#: include/class_acl.inc:583 include/class_acl.inc:587
+#, fuzzy
+msgid "category ACL"
+msgstr "Categorie"
 
-#: include/utils/class_msgPool.inc:512
+#: include/class_acl.inc:639
 #, php-format
-msgid "This '%s' is still in use by these objects: %s"
+msgid "Edit ACL for '%s' with scope '%s'"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:518
-#, php-format
-msgid "File '%s' does not exist!"
-msgstr ""
+#: include/class_acl.inc:801 include/class_acl.inc:808
+#, fuzzy
+msgid "Show/hide advanced settings"
+msgstr "Geavanceerde telefoon instellingen"
 
-#: include/utils/class_msgPool.inc:524
-#, fuzzy, php-format
-msgid "Cannot open file '%s' for reading!"
-msgstr "Kan bestand '%s' niet openen."
+#: include/class_acl.inc:819
+#, fuzzy
+msgid "Create objects"
+msgstr "Nieuw FAI object aanmaken"
 
-#: include/utils/class_msgPool.inc:530
-#, fuzzy, php-format
-msgid "Cannot open file '%s' for writing!"
-msgstr "Kan bestand '%s' niet openen."
+#: include/class_acl.inc:820
+#, fuzzy
+msgid "Move objects"
+msgstr "Lidmaatschap objecten"
 
-#: include/utils/class_msgPool.inc:536
-#, php-format
-msgid ""
-"The value for '%s' is currently unconfigured or invalid, please check your "
-"configuration file!"
+#: include/class_acl.inc:821
+#, fuzzy
+msgid "Remove objects"
+msgstr "Lidmaatschap objecten"
+
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:542
-#, fuzzy, php-format
-msgid "Cannot delete file '%s'!"
-msgstr "Kan bestand '%s' niet openen."
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
+msgstr "alleen lezen"
+
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
+msgstr "afleveren, lezen & schrijven"
+
+#: include/class_acl.inc:832
+#, fuzzy
+msgid "Complete object"
+msgstr "Nieuw FAI object aanmaken"
 
-#: include/utils/class_msgPool.inc:548
+#: include/class_acl.inc:984
 #, fuzzy, php-format
-msgid "Cannot create folder '%s'!"
-msgstr "Ga naar basis afdelingen"
+msgid "Unknown ACL type '%s'!"
+msgstr "Onbekende FAI status %s"
 
-#: include/utils/class_msgPool.inc:554
+#: include/class_acl.inc:1029
 #, fuzzy, php-format
-msgid "Cannot delete folder '%s'!"
-msgstr "Kan bestand '%s' niet openen."
+msgid "Unknown entry '%s'!"
+msgstr "Onbekende FAI status %s"
 
-#: include/utils/class_msgPool.inc:560
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
 #, fuzzy, php-format
-msgid "Checking for %s support"
-msgstr "Zoeken naar iconv ondersteuning"
+msgid "ACL role: %s"
+msgstr "Rechten"
 
-#: include/utils/class_msgPool.inc:566
-#, php-format
-msgid "Install and activate the %s PHP module."
-msgstr ""
+#: include/class_acl.inc:1095
+#, fuzzy
+msgid "unknown ACL role"
+msgstr "! onbekend id"
 
-#: include/utils/class_msgPool.inc:572
+#: include/class_acl.inc:1103
 #, php-format
-msgid ""
-"Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
-"setup?"
-msgstr ""
-
-#: include/utils/class_msgPool.inc:578
-msgid ""
-"The supplied base is not valid and has been reset to the previous value!"
+msgid "Contains settings for these objects: %s"
 msgstr ""
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-msgid "Performance warning"
-msgstr ""
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+msgid "Members"
+msgstr "Groepsleden"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-#, php-format
-msgid "LDAP performance is poor: last query took about %.2fs!"
-msgstr ""
+#: include/class_acl.inc:1120
+#, fuzzy
+msgid "inactive"
+msgstr "actief"
 
-#: include/class_ldap.inc:693
-#, php-format
-msgid ""
-"Cannot automatically create subtrees with RDN '%s': no object class found!"
-msgstr ""
+#: include/class_acl.inc:1120
+#, fuzzy
+msgid "No members"
+msgstr "Groepsleden"
 
-#: include/class_ldap.inc:744
-#, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': not supported"
-msgstr ""
+#: include/class_acl.inc:1291
+#, fuzzy
+msgid "Access control list"
+msgstr "Toegangsopties"
 
-#: include/class_ldap.inc:831
-#, php-format
-msgid "while operating on '%s' using LDAP server '%s'"
-msgstr "bij het bewerken van '%s' op LDAP server '%s'"
+#: include/class_acl.inc:1297
+#, fuzzy
+msgid "ACL roles"
+msgstr "Rechten"
 
-#: include/class_ldap.inc:833
-#, php-format
-msgid "while operating on LDAP server %s"
-msgstr "bij het bewerken van LDAP server %s"
+#: include/class_acl.inc:1300
+#, fuzzy
+msgid "ACL Entries"
+msgstr "Nieuw profiel"
 
-#: include/class_ldap.inc:1055
+#: include/class_socketClient.inc:108
 #, php-format
-msgid ""
-"This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
-"in line %s"
+msgid "Socket connection to %s:%s failed: %s"
 msgstr ""
-"Dit is geen geldige DN: '%s'. Een blok dat geïmporteerd wordt, dient te "
-"beginnen met 'dn: ...' op regel %s"
 
-#: include/class_ldap.inc:1084
+#: include/class_socketClient.inc:191
 #, php-format
-msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
+msgid "Socket timeout of %s seconds reached!"
 msgstr ""
-"Fout bij het importeren van dn: '%s', controleer uw LDIF bestand a.u.b. "
-"vanaf regel %s!"
 
-#: include/class_log.inc:87
-#, fuzzy, php-format
-msgid "Logging failed: %s"
-msgstr "Log DB gebruiker"
-
-#: include/class_log.inc:102
+#: include/class_userFilterEditor.inc:254
 #, php-format
-msgid "Invalid option '%s' specified!"
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
 msgstr ""
 
-#: include/class_log.inc:106
-#, fuzzy
-msgid "Specified objectType is empty or invalid!"
-msgstr "De opgegeven naam is ongeldig."
-
 #: include/class_gosaSupportDaemon.inc:112
 msgid "GOsa support daemon"
 msgstr ""
@@ -2601,4357 +2615,5701 @@ msgstr "Kan bestand '%s' niet aanmaken."
 msgid "Cannot remove entry %s!"
 msgstr "Onbekende FAI status %s"
 
-#: include/class_config.inc:152
+#: include/class_GOsaRegistration.inc:127
+msgid ""
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
+msgstr ""
+
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
 #, php-format
-msgid "XML error in gosa.conf: %s at line %d"
-msgstr "XML fout in gosa.conf: %s op regel %d"
+msgid ""
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
+msgstr ""
 
-#: include/class_config.inc:318
-#, fuzzy
-msgid "Cannot bind to LDAP. Please contact the system administrator."
+#: include/class_SnapshotHandler.inc:58
+#, php-format
+msgid ""
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
 msgstr ""
-"Kan niet verbinden met de LDAP server. Neem a.u.b. contact op met de "
-"systeembeheerder."
 
-#: include/class_config.inc:695
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
 #, fuzzy
-msgid "sambaSID and/or sambaRidBase missing in the configuration!"
-msgstr "SID en/of RIDBASE ontbreken in uw configuratie!"
+msgid "Filter editor"
+msgstr "Terminal server"
 
-#: include/class_config.inc:1105
+#: ihtml/themes/default/userFilterEditor.tpl:8
 #, fuzzy
-msgid "Configuration"
-msgstr "Configuratie bestand"
+msgid "Filter properties"
+msgstr "Bewerk algemene eigenschappen"
 
-#: include/class_config.inc:1105
-msgid ""
-"The configuration file you are using seems to be outdated. Please move the "
-"GOsa configuration file away to run the GOsa setup again."
-msgstr ""
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+msgid "Public visible"
+msgstr "Publiek zichtbaar"
+
+#: ihtml/themes/default/userFilterEditor.tpl:45
+#, fuzzy
+msgid "Enabled"
+msgstr "gedeactiveerd"
 
-#: include/class_pluglist.inc:58
-msgid "All objects in this category"
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
 msgstr ""
 
-#: include/class_pluglist.inc:183
-msgid "The configuration format has changed. Please re-run setup!"
+#: ihtml/themes/default/userFilterEditor.tpl:69
+#, fuzzy
+msgid "Query"
+msgstr "gebruikers"
+
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+msgid "Assigned ACL for current entry"
 msgstr ""
 
-#: include/class_pluglist.inc:202 include/class_pluglist.inc:203
-#: include/class_pluglist.inc:316
-#: plugins/admin/departments/class_department.inc:145
-#: plugins/personal/generic/class_user.inc:273
-#: plugins/personal/generic/class_user.inc:1872
-msgid "Unknown"
-msgstr "Onbekend"
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
+#, fuzzy
+msgid "New ACL"
+msgstr "Nieuw"
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#, fuzzy, php-format
-msgid "Copy and paste failed!"
-msgstr "Kopieren & plakken wizard"
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "ACL type"
+msgstr "type"
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:193
-#, fuzzy, php-format
-msgid "Cannot set permission for '%s'"
-msgstr "Kan bestand '%s' niet aanmaken."
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "Select an ACL type"
+msgstr "Selecteer een basis"
 
-#: include/class_CopyPasteHandler.inc:159
-#, php-format
-msgid "'%s' is no vaild LDAP object"
-msgstr ""
+#: ihtml/themes/default/acl.tpl:40
+#, fuzzy
+msgid "Additional filter options"
+msgstr "Programma instellingen"
 
-#: include/class_CopyPasteHandler.inc:176
-#, fuzzy, php-format
-msgid "No write permission in '%s'"
-msgstr "Kan bestand '%s' niet aanmaken."
+#: ihtml/themes/default/acl.tpl:54
+#, fuzzy
+msgid "Member selection"
+msgstr "Groep instellingen"
 
-#: include/class_CopyPasteHandler.inc:396
-#, php-format
-msgid "These objects will be pasted: %s"
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:420
-#, php-format
-msgid "This object will be pasted: %s"
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+msgid "List message possible targets"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:572
-#, fuzzy
-msgid "Cannot paste"
-msgstr "Plakken onmogelijk"
-
-#: include/class_msg_dialog.inc:124
-msgid "Please fix the above error and reload the page."
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:966
-#: plugins/admin/groups/class_group.inc:1174
-#: plugins/admin/users/class_userManagement.inc:870
-#: plugins/admin/departments/class_department.inc:656
-#: plugins/personal/generic/class_user.inc:37
-#: plugins/personal/generic/class_user.inc:1668
-#: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
-msgid "Generic"
-msgstr "Algemeen"
-
-#: plugins/generic/references/class_reference.inc:43
-#: plugins/personal/posix/class_posixAccount.inc:37
-msgid "UNIX"
-msgstr "Unix"
-
-#: plugins/generic/references/class_reference.inc:45
-#: plugins/admin/ogroups/tabs_ogroups.inc:148
-#: plugins/admin/groups/class_groupManagement.inc:164
-#: plugins/admin/users/class_userManagement.inc:877
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
-msgid "Mail"
-msgstr "E-mail"
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+#, fuzzy
+msgid "List of available ACL categories"
+msgstr "Lijst met beschikbare pakketten"
 
-#: plugins/generic/references/class_reference.inc:47
-#: plugins/generic/references/class_reference.inc:49
-#: plugins/admin/groups/class_groupManagement.inc:172
-#: plugins/admin/users/class_userManagement.inc:882
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:78
-msgid "Samba"
-msgstr "Samba"
+#: ihtml/themes/default/acl.tpl:120
+#, fuzzy
+msgid "ACL for this object"
+msgstr "Zoeken naar iconv ondersteuning"
 
-#: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:894
-msgid "FAX"
-msgstr "Fax"
+#: ihtml/themes/default/acl.tpl:126
+#, fuzzy
+msgid "Available roles"
+msgstr "Beschikbare programma's"
 
-#: plugins/generic/references/class_reference.inc:53
-msgid "Proxy"
-msgstr "Proxy"
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+#, fuzzy
+msgid "Attention"
+msgstr "Nagios authenticatie"
 
-#: plugins/generic/references/class_reference.inc:55
-msgid "FTP"
-msgstr "Ftp"
+#: ihtml/themes/default/removeEntries.tpl:14
+#, fuzzy
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
+msgstr ""
+"Indien u zeker bent drukt u dan 'Verwijderen' om door te gaan of 'Annuleren' "
+"om te annuleren."
 
-#: plugins/generic/references/class_reference.inc:57
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
-#: plugins/admin/ogroups/class_ogroupManagement.inc:184
-#: plugins/admin/ogroups/ogroup-list.xml:79
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
-#: plugins/admin/groups/group-list.xml:15
-#: plugins/admin/groups/group-list.xml:96
-#: plugins/personal/posix/groupSelect/group-list.xml:15
-msgid "Group"
-msgstr "Groep"
+#: ihtml/themes/default/userFilter.tpl:1
+#, fuzzy
+msgid "List of defined filters"
+msgstr "Configuratie bestand"
 
-#: plugins/generic/references/class_reference.inc:59
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
-#: plugins/admin/ogroups/class_ogroupManagement.inc:186
-#: plugins/admin/departments/dep-list.xml:55
-#: plugins/admin/departments/dep-list.xml:71
-#: plugins/admin/departments/dep-list.xml:138
-#: plugins/admin/departments/class_departmentManagement.inc:249
-#: plugins/personal/generic/class_user.inc:1695
-#: plugins/personal/generic/generic.tpl:307
-msgid "Department"
-msgstr "Afdeling"
+#: ihtml/themes/default/snapshotdialog.tpl:3
+#, fuzzy
+msgid "Restoring object snapshots"
+msgstr "Nieuwe objectgroep aanmaken"
 
-#: plugins/generic/references/class_reference.inc:61
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
-#: plugins/admin/ogroups/class_ogroupManagement.inc:188
-#: plugins/admin/groups/class_groupManagement.inc:180
-#: plugins/admin/users/class_userManagement.inc:898
-#: plugins/admin/departments/generic.tpl:106
-#: plugins/admin/departments/class_department.inc:370
-#: plugins/admin/departments/organization.tpl:105
-#: plugins/personal/generic/class_user.inc:1356
-#: plugins/personal/generic/class_user.inc:1819
-#: plugins/personal/generic/generic.tpl:398
-#: plugins/personal/generic/generic.tpl:579
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:86
-msgid "Phone"
-msgstr "Telefoon"
+#: ihtml/themes/default/snapshotdialog.tpl:6
+msgid ""
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:185
-msgid "Application"
-msgstr "Programma"
+#: ihtml/themes/default/snapshotdialog.tpl:9
+msgid ""
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:65
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
-#: plugins/admin/ogroups/class_ogroupManagement.inc:187
-#: plugins/personal/posix/trustSelect/trust-list.xml:14
-#: setup/setup_config2.tpl:219 setup/setup_config2.tpl:264
-msgid "Server"
-msgstr "Server"
+#: ihtml/themes/default/snapshotdialog.tpl:12
+msgid ""
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:29
+#, fuzzy
+msgid "There is no snapshot available that can be restored"
+msgstr ""
+"Er is geen MySQL extensie beschikbaar. Controleer uw PHP installatie a.u.b."
+
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:50
+#, fuzzy
+msgid "Creating object snapshots"
+msgstr "Nieuwe objectgroep aanmaken"
+
+#: ihtml/themes/default/snapshotdialog.tpl:53
+msgid ""
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:56
+msgid ""
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:71
+#, fuzzy
+msgid "Time stamp"
+msgstr "Timeout"
+
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
+msgstr "Doorgaan"
+
+#: ihtml/themes/default/password.tpl:5
+#, fuzzy
+msgid "Change your password"
+msgstr "Verander wachtwoord"
+
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
+msgstr ""
+
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
+#, fuzzy
+msgid "Password change"
+msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+
+#: ihtml/themes/default/password.tpl:72
+msgid ""
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
+msgstr ""
+
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
+msgstr "Verander wachtwoord"
+
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
+msgstr "Directory"
+
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
+#, fuzzy
+msgid "User name"
+msgstr "Gebruikersnaam"
+
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
+msgstr "Huidig wachtwoord"
+
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
+msgstr "Nieuw wachtwoord"
+
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
+msgstr "Herhaal het nieuwe wachtwoord"
+
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
+#, fuzzy
+msgid "Password strength"
+msgstr "Wachtwoord encryptie"
+
+#: ihtml/themes/default/password.tpl:131
+#, fuzzy
+msgid "Click here to change your password"
+msgstr "Klik hier om uw wachtwoord te veranderen."
+
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
+msgstr "Wachtwoord instellen"
+
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
+msgstr "Er is een blokkade conflict gedetecteerd"
+
+#: ihtml/themes/default/islocked.tpl:14
+#, fuzzy
+msgid ""
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
+msgstr ""
+"Indien deze blokkade detectie foutief is dan heeft de andere persoon de "
+"webbrowser afgesloten tijdens de bewerking. U kunt de blokkade in dit geval "
+"overnemen door de <i>Alsnog bewerken</i> knop te gebruiken."
+
+#: ihtml/themes/default/islocked.tpl:23
+#, fuzzy
+msgid "Read only"
+msgstr "Lijst herladen"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:1
+#, fuzzy
+msgid "Copy & paste wizard"
+msgstr "Kopieren & plakken wizard"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:7
+#, fuzzy
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
+msgstr ""
+"Somige waardes moeten uniek zijn binnen de gehele directory, terwijl sommige "
+"combinaties geen zin hebben. GOsa toont de relevante attributen. Bewaar de "
+"waardes hieronder a.u.b. om aan deze vereisten te voldoen."
+
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+#, fuzzy
+msgid "Cancel all"
+msgstr "Annuleren"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+msgid "Operation complete"
+msgstr "Bewerking afgerond"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
+msgstr "Opslaan"
+
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
+msgstr "Uw GOsa sessie is verlopen!"
+
+#: ihtml/themes/default/logout.tpl:9
+#, fuzzy
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
+msgstr ""
+"Uw laatste interactie met de GOsa webinterface is enige tijd geleden. Uit "
+"veiligheidsoverwegingen is de sessie gesloten. Om door te gaan met "
+"administratieve taken, dient u opnieuw in te loggen."
+
+#: ihtml/themes/default/logout.tpl:16
+#, fuzzy
+msgid "Login again"
+msgstr "Opnieuw inloggen"
+
+#: ihtml/themes/default/login.tpl:31
+#, fuzzy
+msgid "Login to GOsa"
+msgstr "Welkom bij het GOsa installatie programma!"
+
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
+msgstr "Wachtwoord"
+
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
+msgstr ""
+
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
+msgstr "Klik hier om in te loggen"
+
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+#, fuzzy
+msgid "Log in"
+msgstr "Inlognaam"
+
+#: ihtml/themes/default/sizelimit.tpl:3
+msgid ""
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
+msgstr ""
+"De grootte limiet optie maakt LDAP bewerkingen sneller en behoedt de LDAP "
+"server voor een te grote werkdruk. De eenvoudigste manier om met grote "
+"databases te werken zonder lange timeouts is door zoekopdrachten in grootte "
+"te beperken en door filters te gebruiken voor de informatie die u zoekt."
+
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
+msgstr "Kies a.u.b. de manier waarop gereageerd moet worden voor deze sessie"
+
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
+msgstr "Negeer deze fout en toon alle gegevens die de LDAP server teruggeeft"
+
+#: ihtml/themes/default/sizelimit.tpl:11
+#, fuzzy
+msgid ""
+"ignore this error and show all entries that fit into the defined size limit"
+msgstr ""
+"Negeer deze fout en toon alle gegevens die passen binnen de gedefiniëerde "
+"grootte limiet en laat me daarvoor in de plaats filters gebruiken"
+
+#: ihtml/themes/default/infoPage.tpl:4
+#, fuzzy
+msgid "User information"
+msgstr "Persoonlijke informatie"
+
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
+msgstr "Gebruikers ID"
+
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+msgid "Surname"
+msgstr "Achternaam"
+
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+msgid "Given name"
+msgstr "Naam"
+
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
+msgstr "Aanhef"
+
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
+msgstr "Academische titel"
+
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
+msgstr "Adres thuis"
+
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
+msgstr "Geboortedatum"
+
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
+msgstr "E-mail"
+
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
+#, fuzzy
+msgid "Home phone number"
+msgstr "Telefoonnummer"
+
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
+msgstr "Organisatie"
+
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
+#, fuzzy
+msgid "Organizational Unit"
+msgstr "Afdeling"
+
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
+msgstr "Plaats"
+
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
+msgstr "Straat"
+
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
+#, fuzzy
+msgid "Department number"
+msgstr "Afdelingnaam"
+
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
+#, fuzzy
+msgid "Employee number"
+msgstr "Functie"
+
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
+msgstr "Functie"
+
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+msgid "User settings"
+msgstr "Gebruikersinstellingen"
+
+#: ihtml/themes/default/infoPage.tpl:55
+#, fuzzy
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
+msgstr ""
+"Kan de blokkade informatie niet ophalen uit de LDAP database. Controleer a.u."
+"b. de 'config' regel in gosa.conf!"
+
+#: ihtml/themes/default/infoPage.tpl:61
+#, fuzzy
+msgid "Administrative contact"
+msgstr "Administratieve instellingen"
+
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
+msgstr "Het GOsa team"
+
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
+msgstr ""
+
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
+#, fuzzy
+msgid "Error message"
+msgstr "Bericht in wachtstand plaatsen"
+
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
+msgstr ""
+
+#: ihtml/themes/default/framework.tpl:9
+#, fuzzy
+msgid "Log out"
+msgstr "Uitloggen"
+
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
+msgstr ""
+"U bent momenteel database gegevens aan het bewerken. Wilt u eventuele "
+"wijzigingen ongedaan maken?"
+
+#: ihtml/themes/default/framework.tpl:22
+#, fuzzy, php-format
+msgid "Session expires in %d!"
+msgstr "De sessie zal niet versleuteld zijn."
+
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
+msgstr "GOsa help"
+
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
+msgstr "Index"
+
+#: ihtml/themes/default/logout-close.tpl:5
+#, fuzzy
+msgid "Your GOsa session has been closed!"
+msgstr "Uw GOsa sessie is verlopen!"
+
+#: ihtml/themes/default/logout-close.tpl:7
+msgid ""
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+#, fuzzy
+msgid "LDAP inspection"
+msgstr "PHP configuratie inspectie"
+
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:59
+#, fuzzy
+msgid "Checking for root object"
+msgstr "Zoeken naar iconv ondersteuning"
+
+#: setup/class_setupStep_Migrate.inc:65
+#, fuzzy
+msgid "Inspecting object classes in root object"
+msgstr "Zoeken naar iconv ondersteuning"
+
+#: setup/class_setupStep_Migrate.inc:71
+#, fuzzy
+msgid "Checking permission for LDAP database"
+msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
+
+#: setup/class_setupStep_Migrate.inc:78
+#, fuzzy
+msgid "Checking for super administrator"
+msgstr "Zoeken naar enkele additionele programma's"
+
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+#, fuzzy
+msgid "LDAP query failed"
+msgstr "De database zoekopdracht is mislukt"
+
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
+msgstr "Mislukt"
+
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
+#, php-format
+msgid ""
+"The specified user '%s' does not have full access to your LDAP database."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
+msgstr "Aanmaken"
+
+#: setup/class_setupStep_Migrate.inc:377
+#, fuzzy
+msgid "Migration error"
+msgstr "Aanmaken"
+
+#: setup/class_setupStep_Migrate.inc:377
+#, php-format
+msgid "Cannot add ACL for user '%s':"
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
+#, fuzzy
+msgid "Input error"
+msgstr "PHP fout"
+
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
+msgstr "UID"
+
+#: setup/class_setupStep_Migrate.inc:420
+#, fuzzy
+msgid "Password error"
+msgstr "Wachtwoord verloopt op"
+
+#: setup/class_setupStep_Migrate.inc:420
+#, fuzzy
+msgid "Provided passwords do not match!"
+msgstr ""
+"Het nieuwe wachtwoord en het herhaalde wachtwoord komen niet met elkaar "
+"overeen!"
+
+#: setup/class_setupStep_Migrate.inc:425
+#, fuzzy
+msgid "Specify a valid user ID!"
+msgstr "Geef a.u.b. een geldige gebruikersnaam op!"
+
+#: setup/class_setupStep_Migrate.inc:450
+#, php-format
+msgid "Adding an administrative user failed: object '%s' already exists!"
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:662
+msgid ""
+"The LDAP root object is missing. It is required to use your LDAP service."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
+#, fuzzy
+msgid "Try to create root object"
+msgstr "Nieuw FAI object aanmaken"
+
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:730
+#, fuzzy, php-format
+msgid "Missing GOsa object class '%s'!"
+msgstr "Toon FAI sjabloon objecten"
+
+#: setup/class_setupStep_Migrate.inc:731
+#, fuzzy
+msgid "Please check your installation."
+msgstr "Controleer a.u.b. de gebruikersnaam/wachtwoord combinatie."
+
+#: setup/class_setupStep_Migrate.inc:752
+#, php-format
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
+#, fuzzy
+msgid "Migrate"
+msgstr "Aanmaken"
+
+#: setup/setup_checks.tpl:2
+msgid ""
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
+msgstr ""
+
+#: setup/setup_checks.tpl:5
+#, fuzzy
+msgid "Inspection"
+msgstr "PHP configuratie inspectie"
+
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
+msgstr ""
+
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
+msgstr ""
+
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
+msgstr ""
+
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
+msgstr ""
+
+#: setup/setup_checks.tpl:50
+#, fuzzy
+msgid "PHP setup configuration"
+msgstr "FAX database"
+
+#: setup/setup_checks.tpl:50
+#, fuzzy
+msgid "show information"
+msgstr "Persoonlijke informatie"
+
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
+msgstr ""
+
+#: setup/class_setupStep_Finish.inc:40
+#, fuzzy
+msgid "Write configuration file"
+msgstr "Configuratie bestand"
+
+#: setup/class_setupStep_Finish.inc:41
+#, fuzzy
+msgid "Finish - write the configuration file"
+msgstr "Configuratie bestand"
+
+#: setup/class_setupStep_Finish.inc:106
+#, fuzzy
+msgid ""
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
+msgstr "GOsa configuratie %s/gosa.conf is niet leesbaar. Geannuleerd."
+
+#: setup/class_setupStep_Finish.inc:108
+#, fuzzy
+msgid "The configuration is currently not readable or it does not exists."
+msgstr "GOsa configuratie %s/gosa.conf is niet leesbaar. Geannuleerd."
+
+#: setup/class_setupStep_Finish.inc:117
+#, fuzzy, php-format
+msgid ""
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
+msgstr ""
+"Controleer dat de webserver het bestand kan lezen (zonder dat andere "
+"gebruikers dit kunnen) nadat u het bestand in de directory /etc/gosa "
+"geplaatst heeft. U wil misschien de volgende commando's uitvoeren om aan "
+"deze vereiste te voldoen: "
+
+#: setup/class_setupStep_Ldap.inc:54
+#, fuzzy
+msgid "LDAP setup"
+msgstr "LDAP server"
+
+#: setup/class_setupStep_Ldap.inc:55
+#, fuzzy
+msgid "LDAP connection setup"
+msgstr "Bel..."
+
+#: setup/class_setupStep_Ldap.inc:56
+#, fuzzy
+msgid ""
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
+msgstr ""
+"De volgende velden definiëren de basis configuratie van GOsa's gedrag en "
+"beïnvloeden diverse eigenschappen in uw hoofd configuratie."
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+msgid "No"
+msgstr "Nee"
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+msgid "Yes"
+msgstr "Ja"
+
+#: setup/class_setupStep_Ldap.inc:113
+#, fuzzy, php-format
+msgid "Anonymous bind to server '%s' failed!"
+msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
+
+#: setup/class_setupStep_Ldap.inc:115
+#, fuzzy, php-format
+msgid "Bind as user '%s' failed!"
+msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
+
+#: setup/class_setupStep_Ldap.inc:120
+#, fuzzy, php-format
+msgid "Anonymous bind to server '%s' succeeded."
+msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
+
+#: setup/class_setupStep_Ldap.inc:121
+#, fuzzy
+msgid "Please specify user and password!"
+msgstr "Geef a.u.b. uw wachtwoord op!"
+
+#: setup/class_setupStep_Ldap.inc:123
+#, fuzzy, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
+msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
+
+#: setup/class_setupStep_Feedback.inc:94
+#, fuzzy
+msgid "UNIX accounts/groups"
+msgstr "Account code"
+
+#: setup/class_setupStep_Feedback.inc:96
+#, fuzzy
+msgid "Samba management"
+msgstr "Systeembeheer"
+
+#: setup/class_setupStep_Feedback.inc:98
+#, fuzzy
+msgid "Mail system management"
+msgstr "Systeembeheer"
+
+#: setup/class_setupStep_Feedback.inc:100
+#, fuzzy
+msgid "FAX system administration"
+msgstr "Gebruikersbeheer"
+
+#: setup/class_setupStep_Feedback.inc:102
+#, fuzzy
+msgid "Asterisk administration"
+msgstr "Gebruikersbeheer"
+
+#: setup/class_setupStep_Feedback.inc:104
+#, fuzzy
+msgid "System inventory"
+msgstr "Inventaris verwijderen"
+
+#: setup/class_setupStep_Feedback.inc:106
+#, fuzzy
+msgid "System/Configuration management"
+msgstr "Systeembeheer"
+
+#: setup/class_setupStep_Feedback.inc:108
+#, fuzzy
+msgid "Address book"
+msgstr "Adresboek"
+
+#: setup/class_setupStep_Feedback.inc:114
+msgid "Feedback"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:115
+#, fuzzy
+msgid "Get notifications or send feedback"
+msgstr "Secties voor deze versie"
+
+#: setup/class_setupStep_Feedback.inc:116
+#, fuzzy
+msgid "Notification and feedback"
+msgstr "Geen certificaat geinstalleerd"
+
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
+#, fuzzy
+msgid "Setup error"
+msgstr "Systeem status"
+
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Feedback error"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:140
+#, php-format
+msgid "Cannot send feedback to '%s': %s"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:181
+#, fuzzy
+msgid "Please specify a valid email address."
+msgstr "Geef a.u.b. een geldige scriptnaam op."
+
+#: setup/class_setupStep_Feedback.inc:185
+msgid ""
+"You have to select at least one of both options, subscribe or send feedback."
+msgstr ""
+
+#: setup/setup_license.tpl:3
+msgid ""
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
+msgstr ""
+
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
+msgstr ""
+
+#: setup/setup_ldap.tpl:2
+msgid ""
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
+msgstr ""
+
+#: setup/setup_ldap.tpl:9
+msgid "Please choose the LDAP user to be used by GOsa"
+msgstr ""
+
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
+#, fuzzy
+msgid "LDAP connection"
+msgstr "Max. verbrekingsduur"
+
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
+msgstr "Naam van de locatie"
+
+#: setup/setup_ldap.tpl:35
+#, fuzzy
+msgid "Connection URI"
+msgstr "Verbindingings URL"
+
+#: setup/setup_ldap.tpl:39
+#, fuzzy
+msgid "TLS connection"
+msgstr "Bel..."
+
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
+#: plugins/admin/ogroups/generic.tpl:26
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
+#: plugins/admin/departments/class_domain.inc:92
+#: plugins/admin/departments/class_organizationGeneric.inc:125
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
+#: plugins/admin/departments/class_dcObject.inc:93
+#: plugins/admin/departments/domain.tpl:28
+#: plugins/admin/users/user-list.tpl:12
+msgid "Base"
+msgstr "Basis"
+
+#: setup/setup_ldap.tpl:57
+#, fuzzy
+msgid "Reload"
+msgstr "Lezen"
+
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+#, fuzzy
+msgid "Authentication"
+msgstr "Nagios authenticatie"
+
+#: setup/setup_ldap.tpl:66
+#, fuzzy
+msgid "Administrator DN"
+msgstr "Beheer"
+
+#: setup/setup_ldap.tpl:71
+#, fuzzy
+msgid "Select user"
+msgstr "Verwijder gebruiker"
+
+#: setup/setup_ldap.tpl:81
+msgid "Automatically append LDAP base to administrator DN"
+msgstr ""
+
+#: setup/setup_ldap.tpl:85
+#, fuzzy
+msgid "Administrator password"
+msgstr "Beheerders wachtwoord"
+
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
+#, fuzzy
+msgid "Schema based settings"
+msgstr "Samba Instellingen"
+
+#: setup/setup_ldap.tpl:94
+msgid "Use RFC 2307bis compliant groups"
+msgstr ""
+
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
+#, fuzzy
+msgid "Current status"
+msgstr "Systeem status"
+
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
+msgstr "Informatie"
+
+#: setup/setup_language.tpl:3
+#, fuzzy
+msgid "Please select the preferred language"
+msgstr "Voorkeurstaal"
+
+#: setup/setup_language.tpl:5
+msgid ""
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
+msgstr ""
+
+#: setup/setup_language.tpl:9
+#, fuzzy
+msgid "Please select your preferred language here"
+msgstr "Voorkeurstaal"
+
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
+msgstr ""
+
+#: setup/setup_welcome.tpl:5
+msgid ""
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
+msgstr ""
+
+#: setup/setup_welcome.tpl:9
+#, fuzzy
+msgid "What you need to generate a configuration file:"
+msgstr "Configuratie bestand"
+
+#: setup/setup_welcome.tpl:13
+#, fuzzy
+msgid "The hostname of your LDAP server"
+msgstr "bij het bewerken van LDAP server %s"
+
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
+msgstr ""
+
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
+msgstr ""
+
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
+msgstr ""
+
+#: setup/setup_welcome.tpl:20
+msgid ""
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
+msgstr ""
+
+#: setup/setup_welcome.tpl:24
+#, fuzzy
+msgid "Starting the setup"
+msgstr "Taal"
+
+#: setup/setup_welcome.tpl:26
+msgid ""
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
+msgstr ""
+
+#: setup/setup_welcome.tpl:32
+msgid "Click the 'Next' button when you've finished."
+msgstr ""
+
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
+#, fuzzy
+msgid "LDAP schema check"
+msgstr "Ldap server"
+
+#: setup/class_setupStep_Schema.inc:39
+msgid "Perform test on your current LDAP schema"
+msgstr ""
+
+#: setup/class_setup.inc:183
+#, fuzzy
+msgid "Setup"
+msgstr "Stel in"
+
+#: setup/class_setup.inc:195
+#, fuzzy
+msgid "Completed"
+msgstr "onvolledig"
+
+#: setup/class_setup.inc:235
+#, fuzzy
+msgid "Check again"
+msgstr "Controleer"
+
+#: setup/class_setup.inc:238
+#, fuzzy
+msgid "Next"
+msgstr "tekst"
+
+#: setup/setup_migrate.tpl:2
+msgid ""
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
+msgstr ""
+
+#: setup/setup_migrate.tpl:5
+#, fuzzy
+msgid "Checks"
+msgstr "Systeem status"
+
+#: setup/setup_migrate.tpl:22
+#, fuzzy
+msgid "Add required object classes to the LDAP base"
+msgstr "Toon FAI sjabloon objecten"
+
+#: setup/setup_migrate.tpl:24
+#, fuzzy
+msgid "Current"
+msgstr "Nieuw FAI object aanmaken"
+
+#: setup/setup_migrate.tpl:28
+#, fuzzy
+msgid "After migration"
+msgstr "Gebruikersbeheer"
+
+#: setup/setup_migrate.tpl:35
+msgid "Close"
+msgstr "Sluiten"
+
+#: setup/setup_migrate.tpl:40
+#, fuzzy
+msgid "Create a new GOsa administrator account"
+msgstr "Netatalk account aanmaken"
+
+#: setup/setup_migrate.tpl:41
+msgid ""
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
+msgstr ""
+
+#: setup/setup_migrate.tpl:57
+#, fuzzy
+msgid "Password (again)"
+msgstr "Wachtwoord encryptie"
+
+#: setup/setup_finish.tpl:3
+#, fuzzy
+msgid "Create your configuration file"
+msgstr "Configuratie bestand"
+
+#: setup/setup_finish.tpl:10
+msgid "Depending on the user name your web server is running on:"
+msgstr ""
+
+#: setup/setup_finish.tpl:27
+msgid "Download configuration"
+msgstr "Systeem configuratie"
+
+#: setup/setup_finish.tpl:33
+#, fuzzy
+msgid "Status: "
+msgstr "Status"
+
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:66
+#, fuzzy
+msgid "Checking PHP version"
+msgstr "Controle op PHP versie (>=4.1.0)"
+
+#: setup/class_setupStep_Checks.inc:67
+#, fuzzy, php-format
+msgid "PHP must be of version %s or above."
+msgstr ""
+"PHP moet minimaal versienummer 4.1.0 hebben. GOsa gebruikt bepaalde "
+"functionaliteit die in voorgaande versies niet goed of helemaal niet "
+"voorhanden is."
+
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:91
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
+msgstr ""
+"MySQL ondersteuning is nodig voor het lezen van GOfax rapporten uit "
+"databases."
+
+#: setup/class_setupStep_Checks.inc:99
+msgid "GOsa requires this module for the samba integration."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:107
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:67
-msgid "Thin Client"
-msgstr "Thin Client"
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:69
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
-#: plugins/admin/ogroups/class_ogroupManagement.inc:189
-#: plugins/personal/posix/trustSelect/trust-list.xml:22
-msgid "Workstation"
-msgstr "Werkstation"
+#: setup/class_setupStep_Checks.inc:122
+#, fuzzy
+msgid "mbstring"
+msgstr "Samba Instellingen"
 
-#: plugins/generic/references/class_reference.inc:71
-#: plugins/admin/ogroups/ogroup-list.xml:15
-msgid "Object group"
-msgstr "Objectgroep"
+#: setup/class_setupStep_Checks.inc:123
+#, fuzzy
+msgid "GOsa requires this module to handle Unicode strings."
+msgstr ""
+"MySQL ondersteuning is nodig voor het lezen van GOfax rapporten uit "
+"databases."
 
-#: plugins/generic/references/class_reference.inc:73
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
-#: plugins/admin/ogroups/class_ogroupManagement.inc:192
-msgid "Printer"
-msgstr "Printer"
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
+msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Object name"
-msgstr "Objectnaam"
+#: setup/class_setupStep_Checks.inc:131
+#, fuzzy
+msgid "GOsa requires this module to calculate dates."
+msgstr ""
+"MySQL ondersteuning is nodig voor het lezen van GOfax rapporten uit "
+"databases."
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Contents"
-msgstr "Inhoud"
+#: setup/class_setupStep_Checks.inc:138
+#, fuzzy
+msgid "MySQL"
+msgstr "LDAP fout:"
 
-#: plugins/generic/references/contents.tpl:18
-msgid "This object has no relationship to other objects."
-msgstr "Dit object heeft geen relatie met andere objecten."
+#: setup/class_setupStep_Checks.inc:139
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with several supported databases."
+msgstr ""
+"MySQL ondersteuning is nodig voor het lezen van GOfax rapporten uit "
+"databases."
 
-#: plugins/generic/welcome/main.inc:26
-#, php-format
-msgid "Welcome %s!"
-msgstr "Welkom %s!"
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+msgstr ""
 
-#: plugins/generic/welcome/welcome.tpl:4
+#: setup/class_setupStep_Checks.inc:158
 msgid ""
-"This is the GOsa main menu. You can select your tasks from the menu on the "
-"left, or by choosing one of the pictograms below. All changes apply directly "
-"to your companies LDAP server."
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:172
+msgid "GOsa requires this extension to handle images."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:187
+#, fuzzy
+msgid "compression module"
+msgstr "Toegangsopties"
+
+#: setup/class_setupStep_Checks.inc:188
+msgid "GOsa requires this extension to handle snapshots."
 msgstr ""
-"Dit is het GOsa hoofdmenu. U kunt taken selecteren door het menu aan de "
-"linkerzijde te gebruiken of door een van de pictogrammen hieronder te "
-"selecteren. Alle veranderingen worden direct op de LDAP server van uw "
-"bedrijf doorgevoerd."
 
-#: plugins/generic/welcome/welcome.tpl:8
+#: setup/class_setupStep_Checks.inc:199
+#, fuzzy
 msgid ""
-"Use 'Sign out' on the upper left to close the connection and 'Main' to get "
-"back to the pictogram view."
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
 msgstr ""
-"Gebruik 'Uitloggen' bovenin om de verbinding te verbreken en 'Hoofdmenu' om "
-"terug te keren naar het onderstaande pictogrammen overzicht."
+"'register_globals' is een PHP mechanisme om alle globale variabelen te "
+"registreren zodat deze toegankelijk zijn voor scripts zonder dat de scope "
+"veranderd hoeft te worden. Dit is een veiligheidsrisico. GOsa zal in beide "
+"modi draaien."
 
-#: plugins/generic/welcome/welcome.tpl:15
-msgid "The GOsa team"
-msgstr "Het GOsa team"
+#: setup/class_setupStep_Checks.inc:200
+#, fuzzy
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+msgstr "Controle of 'register_globals' ingesteld staat op 'off'"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
-#: plugins/admin/groups/userSelect/user-list.xml:10
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
-#: plugins/personal/posix/trustSelect/trust-list.xml:10
-#: plugins/personal/posix/groupSelect/group-list.xml:11
+#: setup/class_setupStep_Checks.inc:208
+msgid "PHP uses this value for the garbage collector to delete old sessions."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:209
 #, fuzzy
-msgid "Please select the desired entries"
-msgstr "Voorkeurstaal"
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
+msgstr ""
+"PHP gebruikt deze waarde voor de garbage collector om oude sessies op te "
+"ruimen. Door deze waarde op een dag te zetten, voorkomt u dat sessie en "
+"cookie informatie verloren gaan, voordat deze daadwerkelijk ongeldig zijn."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
-#: plugins/admin/ogroups/class_ogroupManagement.inc:191
-#: plugins/personal/posix/trustSelect/trust-list.xml:30
-msgid "Terminal"
-msgstr "Terminal"
+#: setup/class_setupStep_Checks.inc:210
+#, fuzzy
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
+msgstr ""
+"Om GOsa zonder problemen te gebruiken, moet de session.auto_register optie "
+"in uw php.ini ingesteld zijn op 'Off'."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:183
-#: plugins/admin/groups/userSelect/user-list.xml:14
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
-#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
-#: setup/setup_config2.tpl:228 setup/setup_config2.tpl:273
-msgid "User"
-msgstr "Gebruiker"
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+#, fuzzy
+msgid "Off"
+msgstr "Offline"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:29
-#: plugins/admin/ogroups/class_ogroup.inc:768
-#: plugins/admin/ogroups/class_ogroup.inc:783
-#: plugins/admin/ogroups/class_ogroup.inc:787
-#: plugins/admin/ogroups/class_ogroup.inc:975
-#: plugins/admin/ogroups/ogroup-filter.tpl:29
-#: plugins/admin/ogroups/ogroup-list.xml:41
-#: plugins/admin/groups/userSelect/user-filter.tpl:17
-#: plugins/admin/groups/group-filter.tpl:21
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:17
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:21
-#: plugins/admin/groups/group-list.xml:58
-#: plugins/admin/groups/class_group.inc:1045
-#: plugins/admin/groups/class_group.inc:1056
-#: plugins/admin/groups/class_group.inc:1058
-#: plugins/admin/groups/class_group.inc:1075
-#: plugins/admin/groups/class_group.inc:1089
-#: plugins/admin/groups/class_group.inc:1096
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:538
-#: plugins/admin/users/class_userManagement.inc:585
-#: plugins/admin/users/user-filter.tpl:24
-#: plugins/admin/departments/class_domain.inc:47
-#: plugins/admin/departments/class_domain.inc:49
-#: plugins/admin/departments/class_domain.inc:54
-#: plugins/admin/departments/class_domain.inc:56
-#: plugins/admin/departments/class_domain.inc:58
-#: plugins/admin/departments/class_domain.inc:90
-#: plugins/admin/departments/dep-filter.tpl:13
-#: plugins/admin/departments/class_localityGeneric.inc:48
-#: plugins/admin/departments/class_localityGeneric.inc:50
-#: plugins/admin/departments/class_localityGeneric.inc:55
-#: plugins/admin/departments/class_localityGeneric.inc:57
-#: plugins/admin/departments/class_localityGeneric.inc:59
-#: plugins/admin/departments/class_organizationGeneric.inc:79
-#: plugins/admin/departments/class_organizationGeneric.inc:81
-#: plugins/admin/departments/class_organizationGeneric.inc:86
-#: plugins/admin/departments/class_organizationGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:90
-#: plugins/admin/departments/class_countryGeneric.inc:47
-#: plugins/admin/departments/class_countryGeneric.inc:49
-#: plugins/admin/departments/class_countryGeneric.inc:54
-#: plugins/admin/departments/class_countryGeneric.inc:56
-#: plugins/admin/departments/class_countryGeneric.inc:58
-#: plugins/admin/departments/class_dcObject.inc:47
-#: plugins/admin/departments/class_dcObject.inc:49
-#: plugins/admin/departments/class_dcObject.inc:54
-#: plugins/admin/departments/class_dcObject.inc:56
-#: plugins/admin/departments/class_dcObject.inc:58
-#: plugins/admin/departments/class_dcObject.inc:90
-#: plugins/admin/departments/class_department.inc:349
-#: plugins/admin/departments/class_department.inc:351
-#: plugins/admin/departments/class_department.inc:356
-#: plugins/admin/departments/class_department.inc:363
-#: plugins/admin/departments/class_department.inc:367
-#: plugins/admin/acl/class_aclRole.inc:733
-#: plugins/admin/acl/class_aclRole.inc:745
-#: plugins/admin/acl/class_aclRole.inc:755 plugins/admin/acl/acl-list.xml:49
-#: plugins/admin/acl/paste_role.tpl:4 plugins/admin/acl/acl-filter.tpl:21
-#: plugins/admin/acl/acl_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1336
-#: plugins/personal/generic/class_user.inc:1378
-#: plugins/personal/generic/class_user.inc:1834
-#: plugins/personal/posix/trustSelect/trust-list.xml:56
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:23
-#: plugins/personal/posix/groupSelect/group-filter.tpl:21
-#: plugins/personal/posix/groupSelect/group-list.xml:41
-#: setup/setup_migrate.tpl:283 setup/setup_feedback.tpl:31
-msgid "Name"
-msgstr "Naam"
+#: setup/class_setupStep_Checks.inc:218
+#, fuzzy
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
+msgstr ""
+"Om GOsa zonder problemen te gebruiken, moet de session.auto_register optie "
+"in uw php.ini ingesteld zijn op 'Off'."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
-#: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:976
-#: plugins/admin/ogroups/generic.tpl:26
-#: plugins/admin/groups/userSelect/user-list.tpl:13
-#: plugins/admin/groups/generic.tpl:39
-#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:13
-#: plugins/admin/groups/group-list.tpl:13
-#: plugins/admin/groups/class_group.inc:1185
-#: plugins/admin/users/user-list.tpl:13
-#: plugins/admin/departments/locality.tpl:28
-#: plugins/admin/departments/generic.tpl:39
-#: plugins/admin/departments/class_domain.inc:92
-#: plugins/admin/departments/class_localityGeneric.inc:94
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/admin/departments/class_countryGeneric.inc:94
-#: plugins/admin/departments/class_dcObject.inc:93
-#: plugins/admin/departments/domain.tpl:28
-#: plugins/admin/departments/country.tpl:28
-#: plugins/admin/departments/dcObject.tpl:28
-#: plugins/admin/departments/class_department.inc:668
-#: plugins/admin/departments/dep-list.tpl:13
-#: plugins/admin/departments/organization.tpl:39
-#: plugins/admin/acl/acl-list.tpl:13 plugins/admin/acl/class_aclRole.inc:734
-#: plugins/admin/acl/acl_role.tpl:27
-#: plugins/personal/generic/class_user.inc:1688
-#: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/posix/trustSelect/trust-list.tpl:13
-#: plugins/personal/posix/groupSelect/group-list.tpl:13
-#: setup/setup_ldap.tpl:55
-msgid "Base"
-msgstr "Basis"
+#: setup/class_setupStep_Checks.inc:219
+#, fuzzy
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+msgstr ""
+"Om GOsa zonder problemen te gebruiken, moet de session.auto_register optie "
+"in uw php.ini ingesteld zijn op 'Off'."
+
+#: setup/class_setupStep_Checks.inc:226
+#, fuzzy
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
+msgstr ""
+"GOsa heeft tenminste 16MB geheugen nodig. Minder geheugen kan diverse "
+"onvoorspelbare fouten opleveren!.Verhoog deze waarde nog verder voor zeer "
+"grote omgevingen."
+
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:234
+#, fuzzy
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
+msgstr ""
+"Deze Optie definieert Uitvoer afhandeling. Zet deze Optie uit om "
+"snelheiswinst te behalen"
+
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:242
+#, fuzzy
+msgid "The Execution time should be at least 30 seconds."
+msgstr ""
+"De uitvoer tijd moet minimaal 30 seconden zijn, omdat sommige acties lang "
+"kunnen duren."
+
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:250
+#, fuzzy
+msgid ""
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
+msgstr ""
+"Verhoog de server veiligheid door 'expose_php' op 'Off' in te stellen. PHP "
+"zal dan geen enkele informatie over de Server die u gebruikt weergeven."
+
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
+#, fuzzy
+msgid "On"
+msgstr "Open"
+
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
+msgstr ""
+"Verhoog de server veiligheid door 'magic_quotes_gpc op 'On' in te stellen."
+"PHP zal dan alle aanhalingstekens in strings omzetten."
+
+#: setup/class_setupStep_Checks.inc:259
+#, fuzzy
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+msgstr "Controle of 'register_globals' ingesteld staat op 'off'"
+
+#: setup/class_setupStep_Checks.inc:266
+#, fuzzy
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+msgstr ""
+"Verhoog de server veiligheid door 'magic_quotes_gpc op 'On' in te stellen."
+"PHP zal dan alle aanhalingstekens in strings omzetten."
+
+#: setup/class_setupStep_Checks.inc:267
+#, fuzzy
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+msgstr ""
+"Om GOsa zonder problemen te gebruiken, moet de session.auto_register optie "
+"in uw php.ini ingesteld zijn op 'Off'."
+
+#: setup/class_setupStep_Checks.inc:277
+#, fuzzy
+msgid "Configuration writable"
+msgstr "Configuratie bestand"
+
+#: setup/class_setupStep_Checks.inc:278
+#, fuzzy
+msgid "The configuration file can't be written"
+msgstr "Configuratie bestand"
+
+#: setup/class_setupStep_Checks.inc:279
+#, php-format
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:3
-#: plugins/admin/ogroups/ogroup-filter.tpl:3
-#: plugins/admin/groups/userSelect/user-filter.tpl:3
-#: plugins/admin/groups/group-filter.tpl:3
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:3
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:3
-#: plugins/admin/users/user-filter.tpl:3
-#: plugins/admin/departments/dep-filter.tpl:3
-#: plugins/admin/acl/acl-filter.tpl:3
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:3
-#: plugins/personal/posix/groupSelect/group-filter.tpl:3
+#: setup/class_setupStep_Welcome.inc:42
 #, fuzzy
-msgid "Filter"
-msgstr "Filters"
+msgid "Welcome"
+msgstr "Welkom %s!"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:11
+#: setup/class_setupStep_Welcome.inc:43
 #, fuzzy
-msgid "Show department"
-msgstr "Toon afdelingen"
+msgid "The welcome message"
+msgstr "Verwijder dit bericht"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:12
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:11
+#: setup/class_setupStep_Welcome.inc:44
 #, fuzzy
-msgid "Show users"
-msgstr "Toon servers"
+msgid "Welcome to the GOsa setup assistent"
+msgstr "Welkom bij het GOsa installatie programma!"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:12
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
 #, fuzzy
-msgid "Show groups"
-msgstr "Toon Samba groepen"
+msgid "License"
+msgstr "Regel"
+
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:15
+#: setup/setup_schema.tpl:1
 #, fuzzy
-msgid "Show server"
-msgstr "Toon servers"
+msgid "Schema specific settings"
+msgstr "Samba Instellingen"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:16
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
+msgstr ""
+
+#: setup/setup_schema.tpl:7
 #, fuzzy
-msgid "Show workstation"
-msgstr "Toon werkstations"
+msgid "Schema check failed"
+msgstr "Het opslaan van de telefoon is mislukt"
+
+#: setup/setup_schema.tpl:11
+msgid ""
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
+msgstr ""
+
+#: setup/setup_schema.tpl:13
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:17
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
 #, fuzzy
-msgid "Show terminal"
-msgstr "Toon terminals"
+msgid "Language setup"
+msgstr "Taal"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:19
+#: setup/class_setupStep_Language.inc:42
 #, fuzzy
-msgid "Show printer"
-msgstr "Toon printers"
+msgid "This step allows you to select your preferred language."
+msgstr ""
+"Deze dialoog maakt het mogelijk om een apparaat te verbinden aan de computer "
+"die u momenteel aan het bewerken bent."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:20
+#: setup/setup_feedback.tpl:2
 #, fuzzy
-msgid "Show phone"
-msgstr "Toon pakketten"
+msgid "Feedback successfully send"
+msgstr "Import was succesvol"
+
+#: setup/setup_feedback.tpl:6
+msgid "Subscribe to the gosa-announce mailing list"
+msgstr ""
 
-#: plugins/admin/ogroups/remove.tpl:6
+#: setup/setup_feedback.tpl:8
 msgid ""
-"Please double check if you really want to do this since there is no way for "
-"GOsa to get your data back."
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
 msgstr ""
-"Controleer a.u.b. of u dit daadwerkelijk wil doen, aangezien er geen "
-"mogelijkheid voor GOsa is om uw data terug te krijgen."
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:972
-msgid "Object groups"
-msgstr "Objectgroepen"
+#: setup/setup_feedback.tpl:20
+msgid "Mail address"
+msgstr "E-mail adres"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:26
-#, fuzzy
-msgid "Manage object groups"
-msgstr "Naam van objectgroepen"
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:115
-#: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:204
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
+msgstr ""
+
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
+msgstr "Algemeen"
+
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
+msgstr ""
+
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
+msgstr ""
+
+#: setup/setup_feedback.tpl:54
+msgid "Select the year since when you are using GOsa"
+msgstr ""
+
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:72
 #, fuzzy
-msgid "Infrastructure error"
-msgstr "PHP fout"
+msgid "GOsa version"
+msgstr "Algemene wachtrij instellingen"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
+msgstr ""
+
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
 #, fuzzy
-msgid "Templates"
-msgstr "Sjabloon"
+msgid "Features"
+msgstr "Toekomstig"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
+msgstr ""
+
+#: html/password.php:63 html/index.php:157
+#, fuzzy, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
+msgstr "GOsa configuratie %s/gosa.conf is niet leesbaar. Geannuleerd."
+
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, fuzzy, php-format
+msgid "Compile directory %s is not accessible!"
+msgstr ""
+"Directory '%s' die opgegeven is als compileer directory is niet toegankelijk!"
+
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
 #, fuzzy
-msgid "Windows Install"
-msgstr "Windows werkstation"
+msgid "Password method"
+msgstr "Wachtwoord encryptie"
 
-#: plugins/admin/ogroups/class_ogroup.inc:238
-msgid "You cannot combine terminals and workstations in one object group!"
+#: html/password.php:195
+msgid "Error: Password method not available!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:354
-#: plugins/admin/users/class_userManagement.inc:463
-#: plugins/admin/users/class_userManagement.inc:497
-#: plugins/admin/users/class_userManagement.inc:528
-msgid "none"
-msgstr "geen"
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
+msgstr "Inlognaam"
 
-#: plugins/admin/ogroups/class_ogroup.inc:356
-msgid "too many different objects!"
-msgstr "te veel verschillende object tpyes!"
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
+msgstr "U moet uw huidige wachtwoord opgeven om door te kunnen gaan."
 
-#: plugins/admin/ogroups/class_ogroup.inc:358
-msgid "users"
-msgstr "gebruikers"
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
+msgid ""
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
+msgstr ""
+"Het nieuwe wachtwoord en het herhaalde wachtwoord komen niet met elkaar "
+"overeen."
 
-#: plugins/admin/ogroups/class_ogroup.inc:359
-msgid "groups"
-msgstr "groepen"
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
+msgstr "Het nieuw ingevoerde wachtwoord is leeg."
 
-#: plugins/admin/ogroups/class_ogroup.inc:360
-msgid "applications"
-msgstr "programma's"
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
+msgstr ""
+"Het huidige wachtwoord en het nieuwe wachtwoord lijken te veel op elkaar."
 
-#: plugins/admin/ogroups/class_ogroup.inc:361
-msgid "departments"
-msgstr "afdelingen"
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
+msgstr "Het nieuw opgegeven wachtwoord is te kort."
 
-#: plugins/admin/ogroups/class_ogroup.inc:362
-msgid "servers"
-msgstr "servers"
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
+#, fuzzy
+msgid "The password contains possibly problematic Unicode characters!"
+msgstr "Het veld 'Naam' bevat ongeldige karakters."
 
-#: plugins/admin/ogroups/class_ogroup.inc:363
-msgid "workstations"
-msgstr "werkstations"
+#: html/password.php:261 html/index.php:311
+#, fuzzy
+msgid "Please check the username/password combination!"
+msgstr "Controleer a.u.b. de gebruikersnaam/wachtwoord combinatie."
 
-#: plugins/admin/ogroups/class_ogroup.inc:364
+#: html/password.php:268
 #, fuzzy
-msgid "winstations"
-msgstr "Windows werkstation"
+msgid "You have no permissions to change your password!"
+msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
 
-#: plugins/admin/ogroups/class_ogroup.inc:365
-msgid "terminals"
-msgstr "terminals"
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
+#, php-format
+msgid "Check-hook reported a problem: %s. Password change canceled!"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:366
-msgid "phones"
-msgstr "telefoons"
+#: html/password.php:315
+msgid "Session will not be encrypted."
+msgstr "De sessie zal niet versleuteld zijn."
 
-#: plugins/admin/ogroups/class_ogroup.inc:367
-msgid "printers"
-msgstr "printers"
+#: html/password.php:317
+msgid "Enter SSL session"
+msgstr "Gebruik een SSL sessie"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-#: setup/setup_config2.tpl:143
-msgid "disabled"
-msgstr "gedeactiveerd"
+#: html/index.php:45
+#, php-format
+msgid "Your browser (%s) is blacklisted for the current theme!"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-msgid "full access"
-msgstr "volledige toegang"
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:413
-#: plugins/admin/groups/class_group.inc:434
-#: plugins/personal/posix/class_posixAccount.inc:574
-msgid "allow access to these hosts"
-msgstr "sta toegang op deze computers toe"
+#: html/index.php:72
+#, fuzzy
+msgid "here"
+msgstr "MIME"
 
-#: plugins/admin/ogroups/class_ogroup.inc:601
-msgid "Non existing dn:"
-msgstr "Niet bestaande dn: "
+#: html/index.php:78
+msgid "The configured session lifetime will be overridden by php.ini settings!"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:758
-#, php-format
+#: html/index.php:179
+#, fuzzy
+msgid "Smarty error"
+msgstr "Systeem status"
+
+#: html/index.php:202
+#, fuzzy
 msgid ""
-"These systems are already configured by other object groups and cannot be "
-"added:"
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
+msgstr ""
+"Cookies zijn uitgeschakeld in uw browser. Schakel cookies a.u.b. in en "
+"herlaad deze pagina voordat u inlogt!"
+
+#: html/index.php:233
+msgid "Broken HTTP authentication setup!"
+msgstr ""
+
+#: html/index.php:241
+msgid "Cannot find a valid user for the current HTTP authentication!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:792
+#: html/index.php:245
 #, fuzzy
-msgid "You can combine two different object types at maximum, only!"
-msgstr "U kunt maximaal twee verschillende object types tegelijk combineren!"
+msgid "Cannot find a unique user for the current HTTP authentication!"
+msgstr ""
+"Fatale fout: Kon geen ongebruikte markering vinden om de administratieve "
+"eenheid te markeren!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:967
+#: html/index.php:289
 #, fuzzy
-msgid "Object group generic"
-msgstr "Objectgroep"
+msgid "Please specify a valid user name!"
+msgstr "Geef a.u.b. een geldige gebruikersnaam op!"
+
+#: html/index.php:292
+msgid "Please specify your password!"
+msgstr "Geef a.u.b. uw wachtwoord op!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:978
+#: html/index.php:304
 #, fuzzy
-msgid "Sytem trust"
-msgstr "Systeem vertrouwen"
+msgid "Authentication error"
+msgstr "Nagios authenticatie"
 
-#: plugins/admin/ogroups/class_ogroup.inc:979
+#: html/index.php:304
 #, fuzzy
-msgid "Member"
-msgstr "Groepsleden"
+msgid "Cannot retrieve user information for HTTP authentication!"
+msgstr "Kan quota informatie niet ophaleven voor '%s'."
 
-#: plugins/admin/ogroups/generic.tpl:7
-#: plugins/admin/ogroups/paste_generic.tpl:4
-#: plugins/admin/groups/generic.tpl:11
-#: plugins/admin/groups/paste_generic.tpl:5
-msgid "Group name"
-msgstr "Groepnaam"
+#: html/index.php:360
+#, fuzzy
+msgid "Account locked. Please contact your system administrator!"
+msgstr ""
+"Account is geblokkeerd. Neem a.u.b. contact op met de systeembeheerder."
+
+#: html/main.php:171
+#, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
+msgstr ""
+
+#: html/main.php:190
+#, fuzzy
+msgid "PHP configuration"
+msgstr "FAX database"
 
-#: plugins/admin/ogroups/generic.tpl:10
-msgid "Name of the group"
-msgstr "Naam van de groep"
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
+msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:18 plugins/admin/groups/generic.tpl:28
-msgid "Descriptive text for this group"
-msgstr "Omschrijving voor deze groep"
+#: html/main.php:220
+#, fuzzy
+msgid "Your password is about to expire, please change your password!"
+msgstr "Uw wachtwoord zal spoedig verlopen! Kies a.u.b. een nieuw wachtwoord."
 
-#: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1191
-#: plugins/personal/posix/generic.tpl:139
-msgid "System trust"
-msgstr "Systeem vertrouwen"
+#: html/main.php:295
+msgid "Running out of memory!"
+msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:37 plugins/admin/groups/generic.tpl:160
-#: plugins/admin/groups/generic.tpl:194 plugins/personal/posix/generic.tpl:141
-#: plugins/personal/posix/generic.tpl:169
-msgid "Trust mode"
-msgstr "Vertrouwensmodus"
+#: html/main.php:355
+#, php-format
+msgid "You're logged in as %s"
+msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:65
-msgid "Member objects"
-msgstr "Lidmaatschap objecten"
+#: html/main.php:358
+#, fuzzy
+msgid "ACLs are disabled"
+msgstr "gedeactiveerd"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:133
-msgid "Phone queue"
-msgstr "Telefoonwachtrij"
+#: html/main.php:408
+#, fuzzy
+msgid "Plug-in"
+msgstr "in"
+
+#: html/main.php:409
+#, fuzzy, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
+msgstr "FATAAL: Kan geen enkele module defenities vinden voor module '%s'!"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:160
+#: html/main.php:425
 #, fuzzy
-msgid "Systems"
-msgstr "Systeem"
+msgid "Configuration Error"
+msgstr "Configuratie bestand"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:171
-#: plugins/admin/ogroups/tabs_ogroups.inc:194
-msgid "Startup"
-msgstr "Opstarten"
+#: html/main.php:426
+#, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:182
-#: plugins/admin/ogroups/tabs_ogroups.inc:203
-msgid "Devices"
-msgstr "Apparaten"
+#: html/setup.php:73
+#, fuzzy
+msgid "Smarty"
+msgstr "Samenvatting"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:213
-msgid "FAI summary"
-msgstr "FAI samenvatting"
+#: html/helpviewer.php:64
+msgid "Help browser"
+msgstr "Help verkenner"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:222
-#: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:890
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
-msgid "Environment"
-msgstr "Omgeving"
+#: html/helpviewer.php:118
+#, fuzzy
+msgid "There is no help file specified for this class"
+msgstr "Er is (nog) geen help bestand aanwezig voor deze klasse."
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:241
-msgid "Applications"
-msgstr "Programma's"
+#: html/helpviewer.php:268
+#, fuzzy, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
+msgstr ""
+"Help directory '%s' is niet toegankelijk. Er kunnen geen helpbestanden "
+"gelezen worden."
 
-#: plugins/admin/ogroups/paste_generic.tpl:7
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
+msgstr ""
+"Gebruik het veld hieronder om uw persoonlijke wachtwoord te veranderen. De "
+"veranderingen worden direct doorgevoerd. Onthoud het nieuwe wachtwoord a.u."
+"b. aangezien u niet in zult kunnen loggen zonder dit wachtwoord."
+
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
 #, fuzzy
-msgid "Please enter the new object group name"
-msgstr "Geef a.u.b. een nieuwe naam op"
+msgid "Password change dialog"
+msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:11
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
 #, fuzzy
-msgid "user groups"
+msgid "Use proposal"
 msgstr "groepen"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:12
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
 #, fuzzy
-msgid "nested groups"
-msgstr "Objectgroepen"
+msgid "Manually specify a password"
+msgstr "Geef a.u.b. uw wachtwoord op!"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:13
-#, fuzzy
-msgid "application groups"
-msgstr "Toon programma groepen"
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
+msgstr "Wis velden"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:14
-#, fuzzy
-msgid "department groups"
-msgstr "afdelingen"
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
+msgstr "Mijn account"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:15
+#: plugins/personal/myaccount/class_MyAccount.inc:6
 #, fuzzy
-msgid "server groups"
-msgstr "servers"
+msgid "Edit personal settings"
+msgstr "Posix instellingen"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:16
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
 #, fuzzy
-msgid "workstation groups"
-msgstr "werkstations"
+msgid "You have no permission to change your password at this time"
+msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:17
+#: plugins/personal/myaccount/nochange.tpl:5
 #, fuzzy
-msgid "windows workstation groups"
-msgstr "Toon werkstations"
+msgid "Your password hash method will not be changed!"
+msgstr "Uw wachtwoord is verlopen! Kies a.u.b. een nieuw wachtwoord. "
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:18
+#: plugins/personal/myaccount/changed.tpl:3
+#: plugins/personal/password/changed.tpl:3
 #, fuzzy
-msgid "terminal groups"
-msgstr "Toon E-mail groepen"
+msgid ""
+"You've successfully changed your password. Remember to change all programs "
+"configured to use it as well."
+msgstr ""
+"U heeft succesvol uw wachtwoord veranderd. Denkt u eraan dat u alle "
+"programma's die dit wachtwoord gebruiken ook aanpast!"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:19
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
 #, fuzzy
-msgid "printer groups"
-msgstr "Primaire groep"
+msgid "POSIX settings"
+msgstr "Posix instellingen"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:20
-#, fuzzy
-msgid "phone groups"
-msgstr "Toon groepen"
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
+msgstr "Persoonlijke map"
 
-#: plugins/admin/ogroups/ogroup-list.xml:11
-msgid "List of object groups"
-msgstr "Lijst met objectgroepen"
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
+#, fuzzy
+msgid "Account settings"
+msgstr "Groep instellingen"
 
-#: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:74 plugins/admin/users/user-list.xml:73
-#: plugins/admin/departments/locality.tpl:8
-#: plugins/admin/departments/generic.tpl:7
-#: plugins/admin/departments/domain.tpl:8
-#: plugins/admin/departments/country.tpl:8
-#: plugins/admin/departments/dcObject.tpl:8
-#: plugins/admin/departments/organization.tpl:7
-msgid "Properties"
-msgstr "Eigenschappen"
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
+msgstr "Primaire groep"
 
-#: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:90 plugins/admin/users/user-list.xml:89
-#: plugins/admin/departments/dep-list.xml:98 plugins/admin/acl/acl-list.xml:76
-#: setup/class_setupStep_Migrate.inc:1036
-#: setup/class_setupStep_Migrate.inc:1052
-msgid "Create"
-msgstr "Aanmaken"
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
+msgstr "Forceer UID/GID"
 
-#: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-list.xml:115
-#: plugins/admin/users/user-list.xml:121
-#: plugins/admin/departments/dep-list.xml:160
-#: plugins/admin/departments/dep-list.xml:181
-#: plugins/admin/acl/acl-list.xml:95 plugins/admin/acl/acl-list.xml:144
-#: plugins/personal/generic/generic_certs.tpl:21
-#: plugins/personal/generic/generic_certs.tpl:45
-#: plugins/personal/generic/generic_certs.tpl:69
-#: setup/class_setupStep_Migrate.inc:2870
-msgid "Remove"
-msgstr "Verwijderen"
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
+msgstr "GID"
 
-#: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:123
-#: plugins/admin/users/user-list.xml:156
-#, fuzzy
-msgid "Send message"
-msgstr "Bericht in wachtstand plaatsen"
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
+msgstr "Groep lidmaatschap"
 
-#: plugins/admin/ogroups/ogroup-list.xml:142
-#, fuzzy
-msgid "Edit object group"
-msgstr "Objectgroep"
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
+msgstr "(Waarschuwing: NFS ondersteunt niet meer dan 16 groepen!)"
 
-#: plugins/admin/ogroups/ogroup-list.xml:155
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
+#, fuzzy
+msgid "Default filter"
+msgstr "Parameters"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
 #, fuzzy
-msgid "Remove object group"
-msgstr "servers"
+msgid "Please select the desired entries"
+msgstr "Voorkeurstaal"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:6
-msgid "Select objects to add"
-msgstr "Selecteer de toe te voegen objecten"
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
+msgstr "Server"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:20
-#: plugins/admin/groups/trust_machines.tpl:19
-#: plugins/personal/posix/posix_groups.tpl:21
-msgid "Filters"
-msgstr "Filters"
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
+msgstr "Werkstation"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:36
-msgid "Display objects of department"
-msgstr "Toon objecten van afdeling"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:37
-#: plugins/admin/ogroups/trust_machines.tpl:27
-#: plugins/admin/groups/trust_machines.tpl:26
-#: plugins/personal/posix/posix_groups.tpl:35
-#: plugins/personal/posix/trust_machines.tpl:27
-msgid "Choose the department the search will be based on"
-msgstr "Selecteer de afdeling waarbinnen gezocht zal worden"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:40
-msgid "Display objects matching"
-msgstr "Toon overeenkomende objecten"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:41
-msgid "Regular expression for matching object names"
-msgstr "Reguliere expressie voor overeenkomende objectnamen"
-
-#: plugins/admin/ogroups/trust_machines.tpl:6
-#: plugins/admin/groups/trust_machines.tpl:6
-#: plugins/personal/posix/trust_machines.tpl:6
-msgid "Select systems to add"
-msgstr "Selecteer de toe te voegen systemen"
-
-#: plugins/admin/ogroups/trust_machines.tpl:26
-#: plugins/admin/groups/trust_machines.tpl:25
-#: plugins/personal/posix/trust_machines.tpl:26
-msgid "Display systems of department"
-msgstr "Toon systemen van afdeling"
-
-#: plugins/admin/ogroups/trust_machines.tpl:30
-#: plugins/admin/groups/trust_machines.tpl:29
-#: plugins/personal/posix/trust_machines.tpl:30
-msgid "Display systems matching"
-msgstr "Toon de overeenkomende systemen"
-
-#: plugins/admin/ogroups/trust_machines.tpl:31
-#: plugins/admin/groups/trust_machines.tpl:30
-#: plugins/personal/posix/trust_machines.tpl:31
-msgid "Regular expression for matching addresses"
-msgstr "Reguliere expresie voor overeenkomende adressen"
-
-#: plugins/admin/groups/remove.tpl:6
-msgid ""
-"This may be a primary user group. Please double check if you really want to "
-"do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Dit kan een primaire groep zijn. Verzeker uzelf ervan dat dit is wat u wilt, "
-"aangezien er geen mogelijkheid voor GOsa is om deze gegevens terug te halen."
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+msgid "Terminal"
+msgstr "Terminal"
 
-#: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:541
-#: plugins/admin/users/user-list.xml:57
-#: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1375
-#: plugins/personal/generic/class_user.inc:1680
-#: plugins/personal/generic/class_user.inc:1831
-msgid "Given name"
-msgstr "Naam"
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
+#, fuzzy
+msgid "Trust machine selection"
+msgstr "Groep instellingen"
 
-#: plugins/admin/groups/userSelect/user-list.xml:48
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
-#: plugins/admin/users/user-list.xml:49
-#: plugins/personal/generic/class_user.inc:1679
-msgid "Surname"
-msgstr "Achternaam"
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+#, fuzzy
+msgid "Group selection"
+msgstr "Groep instellingen"
 
-#: plugins/admin/groups/generic.tpl:14 plugins/personal/generic/generic.tpl:52
-#: plugins/personal/generic/generic.tpl:73
-#: plugins/personal/generic/generic.tpl:89
-msgid "Multiple edit"
-msgstr ""
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
+msgstr "Groep"
 
-#: plugins/admin/groups/generic.tpl:17
-#: plugins/admin/groups/paste_generic.tpl:8
-msgid "Posix name of the group"
-msgstr "POSIX naam van de groep"
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
+msgstr "Het wachtwoord moet bij de eerste aanmelding gewijzigd worden"
 
-#: plugins/admin/groups/generic.tpl:59
-#: plugins/admin/groups/paste_generic.tpl:13
-msgid "Normally IDs are autogenerated, select to specify manually"
-msgstr ""
-"Normaliter worden IDs automatisch gegenereerd. Selecteer om handmatig te "
-"specificeren"
+#: plugins/personal/posix/posix_shadow.tpl:59
+#, fuzzy
+msgid "Password expiration settings"
+msgstr "Gebruikersinstellingen"
 
-#: plugins/admin/groups/generic.tpl:62
-#: plugins/admin/groups/paste_generic.tpl:15
-msgid "Force GID"
-msgstr "Forceer GID"
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
+msgstr "Wachtwoord verloopt op"
 
-#: plugins/admin/groups/generic.tpl:65
-#: plugins/admin/groups/paste_generic.tpl:18
-msgid "Forced ID number"
-msgstr "Geforceerd ID nummer"
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
+#, fuzzy
+msgid "Generic settings"
+msgstr "Algemene wachtrij instellingen"
 
-#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
-msgid "Select to create a samba conform group"
-msgstr "Selecteer om een samba conforme groep te maken"
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+msgid "Shell"
+msgstr "Shell"
 
-#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
-msgid "in domain"
-msgstr "in domein"
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
+msgstr "Status"
 
-#: plugins/admin/groups/generic.tpl:131
-msgid "Members are in a phone pickup group"
-msgstr "Leden zitten in een telefoon beantwoordgroep"
+#: plugins/personal/posix/generic.tpl:42
+#, fuzzy
+msgid "Last log-on"
+msgstr "Achternaam"
 
-#: plugins/admin/groups/generic.tpl:146
-msgid "Members are in a nagios group"
-msgstr "Leden zitten in een systeeminformatie groep (Nagios)"
+#: plugins/personal/posix/generic.tpl:101
+#, fuzzy
+msgid "Common group"
+msgstr "Toon groepen"
 
-#: plugins/admin/groups/generic.tpl:236
-msgid "Group members"
-msgstr "Groepsleden"
+#: plugins/personal/posix/generic.tpl:105
+#, fuzzy
+msgid "Groups differ"
+msgstr "Gebruikersgroep"
 
-#: plugins/admin/groups/generic.tpl:243
+#: plugins/personal/posix/generic.tpl:125
 #, fuzzy
-msgid "In all groups"
-msgstr "Primaire groep"
+msgid "Account permissions"
+msgstr "Groep instellingen"
+
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
+msgstr ""
+
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
+msgstr ""
 
-#: plugins/admin/groups/generic.tpl:246
+#: plugins/personal/posix/class_posixAccount.inc:38
 #, fuzzy
-msgid "Not in all groups"
-msgstr "Toon E-mail groepen"
+msgid "Edit users POSIX settings"
+msgstr "Posix instellingen"
 
-#: plugins/admin/groups/group-filter.tpl:11
-#: plugins/personal/posix/groupSelect/group-filter.tpl:11
-msgid "Show primary groups"
-msgstr "Toon primaire groepen"
+#: plugins/personal/posix/class_posixAccount.inc:146
+msgid "expired"
+msgstr "verlopen"
 
-#: plugins/admin/groups/group-filter.tpl:12
-#: plugins/personal/posix/groupSelect/group-filter.tpl:12
-msgid "Show samba groups"
-msgstr "Toon Samba groepen"
+#: plugins/personal/posix/class_posixAccount.inc:148
+msgid "grace time active"
+msgstr "gratie tijd actief"
 
-#: plugins/admin/groups/group-filter.tpl:13
-#: plugins/personal/posix/groupSelect/group-filter.tpl:13
-#, fuzzy
-msgid "Show mail groups"
-msgstr "Toon Samba groepen"
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
+msgid "active"
+msgstr "actief"
 
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:79
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:85
-#: setup/setup_ldap.tpl:78
+#: plugins/personal/posix/class_posixAccount.inc:151
 #, fuzzy
-msgid "Select user"
-msgstr "Verwijder gebruiker"
-
-#: plugins/admin/groups/paste_generic.tpl:1
-msgid "Group settings"
-msgstr "Groep instellingen"
-
-#: plugins/admin/groups/group-list.xml:11
-msgid "List of groups"
-msgstr "Lijst met groepen"
+msgid "password not changeable"
+msgstr "actief, wachtwoord onveranderbaar"
 
-#: plugins/admin/groups/group-list.xml:23
+#: plugins/personal/posix/class_posixAccount.inc:153
 #, fuzzy
-msgid "Group submenu entry"
-msgstr "Groepsleden"
+msgid "password expired"
+msgstr "actief, wachtwoord verlopen"
 
-#: plugins/admin/groups/group-list.xml:31
-#, fuzzy
-msgid "Group menu entry"
-msgstr "Groepsleden"
+#: plugins/personal/posix/class_posixAccount.inc:226
+msgid "automatic"
+msgstr "automatisch"
 
-#: plugins/admin/groups/group-list.xml:155
-#, fuzzy
-msgid "Edit group"
-msgstr "Primaire groep"
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr "Samba"
 
-#: plugins/admin/groups/group-list.xml:168
-#, fuzzy
-msgid "Remove group"
-msgstr "servers"
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr "Omgeving"
 
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:1358
-#, fuzzy
-msgid "Cannot find group SID in your configuration!"
+#: plugins/personal/posix/class_posixAccount.inc:374
+#, php-format
+msgid "Password can't be changed up to %s days after last change"
 msgstr ""
-"Kan de SID van deze groep niet vinden in de LDAP database of in uw "
-"configuratie bestand."
+"Het wachtwoord kan pas %s dag(en) na de laatste wijziging gewijzigd worden"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Samba group"
-msgstr "Samba groep"
+#: plugins/personal/posix/class_posixAccount.inc:378
+#, php-format
+msgid "Password must be changed after %s days"
+msgstr "Het wachtwoord moet na %s dag(en) gewijzigd worden"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain admins"
-msgstr "Windows beheerders"
+#: plugins/personal/posix/class_posixAccount.inc:382
+#, fuzzy, php-format
+msgid "Disable account after %s days of inactivity after password expiry"
+msgstr ""
+"Blokkeer het account na %s dag(en) inactiviteit nadat het wachtwoord "
+"verlopen is"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain users"
-msgstr "Windows gebruikers"
+#: plugins/personal/posix/class_posixAccount.inc:386
+#, fuzzy, php-format
+msgid "Warn user %s days before password expiry"
+msgstr "Waarschuw de gebruiker %s dagen voordat het wachtwoord verloopt"
 
-#: plugins/admin/groups/class_group.inc:401
-msgid "Domain guests"
-msgstr "Windows gasten"
+#: plugins/personal/posix/class_posixAccount.inc:651
+msgid "Timeout while waiting for lock. Ignoring lock!"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:406
-#, php-format
-msgid "Special group (%d)"
-msgstr "Speciale groep (%d)"
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
+msgid "Group of user"
+msgstr "Gebruikersgroep"
 
-#: plugins/admin/groups/class_group.inc:540
-#, php-format
-msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+#: plugins/personal/posix/class_posixAccount.inc:774
+msgid ""
+"A duplicated UID number was written for this user. If this was not intended "
+"please verify all used uidNumbers!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:546
-#, php-format
-msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
-msgstr ""
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
+#, fuzzy
+msgid "shadowMin"
+msgstr "Schaduwen van andere sessie"
 
-#: plugins/admin/groups/class_group.inc:624
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
 #, fuzzy
-msgid "! unknown UID"
-msgstr "! onbekend id"
+msgid "shadowMax"
+msgstr "Schaduwen van andere sessie"
 
-#: plugins/admin/groups/class_group.inc:667
-#, php-format
-msgid "Search returned too many results. Not displaying more than %s entries!"
-msgstr ""
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
+#, fuzzy
+msgid "shadowWarning"
+msgstr "Schaduwen van andere sessie"
 
-#: plugins/admin/groups/class_group.inc:894
-#, fuzzy, php-format
-msgid "Cannot find any SID for '%s'!"
-msgstr "Kan bestand '%s' niet aanmaken."
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
+#, fuzzy
+msgid "shadowInactive"
+msgstr "Schaduwen van andere sessie"
 
-#: plugins/admin/groups/class_group.inc:899
-#, fuzzy, php-format
-msgid "Cannot find any RIDBASE for '%s'!"
-msgstr "Kan bestand '%s' niet aanmaken."
+#: plugins/personal/posix/class_posixAccount.inc:1293
+#, fuzzy
+msgid "POSIX account"
+msgstr "GLPI account"
 
-#: plugins/admin/groups/class_group.inc:994
-#, php-format
-msgid "The gidNumber '%s' is already in use by %s!"
-msgstr ""
+#: plugins/personal/posix/class_posixAccount.inc:1311
+#, fuzzy
+msgid "Group ID"
+msgstr "Groep"
 
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1108
-#: plugins/admin/groups/class_group.inc:1187
-#: plugins/personal/posix/class_posixAccount.inc:1045
-#: plugins/personal/posix/class_posixAccount.inc:1048
-#: plugins/personal/posix/generic.tpl:74
-#: plugins/personal/posix/paste_generic.tpl:45
-msgid "GID"
-msgstr "GID"
+#: plugins/personal/posix/class_posixAccount.inc:1313
+#, fuzzy
+msgid "Shadow last changed"
+msgstr "Toon pakketten"
 
-#: plugins/admin/groups/class_group.inc:1175
+#: plugins/personal/posix/class_posixAccount.inc:1314
 #, fuzzy
-msgid "Generic group settings"
-msgstr "Algemene wachtrij instellingen"
+msgid "Last login"
+msgstr "Achternaam"
 
-#: plugins/admin/groups/class_group.inc:1189
+#: plugins/personal/posix/class_posixAccount.inc:1316
 #, fuzzy
-msgid "Samba group type"
-msgstr "Samba groep"
+msgid "Force password change on login"
+msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: plugins/admin/groups/class_group.inc:1190
+#: plugins/personal/posix/class_posixAccount.inc:1317
 #, fuzzy
-msgid "Samba domain name"
-msgstr "Samba home"
+msgid "Shadow min"
+msgstr "Schaduwen van andere sessie"
 
-#: plugins/admin/groups/class_group.inc:1192
+#: plugins/personal/posix/class_posixAccount.inc:1318
 #, fuzzy
-msgid "Phone pickup group"
-msgstr "Leden zitten in een telefoon beantwoordgroep"
+msgid "Shadow max"
+msgstr "Schaduwen van andere sessie"
 
-#: plugins/admin/groups/class_group.inc:1193
+#: plugins/personal/posix/class_posixAccount.inc:1319
 #, fuzzy
-msgid "Nagios group"
-msgstr "Nagios account"
+msgid "Shadow warning"
+msgstr "Schaduwen van andere sessie"
 
-#: plugins/admin/groups/class_group.inc:1195
+#: plugins/personal/posix/class_posixAccount.inc:1320
 #, fuzzy
-msgid "Group member"
-msgstr "Groepsleden"
+msgid "Shadow inactive"
+msgstr "Schaduwen van andere sessie"
 
-#: plugins/admin/groups/class_groupManagement.inc:26
-msgid "Group administration"
-msgstr "Groepen beheer"
+#: plugins/personal/posix/class_posixAccount.inc:1321
+#, fuzzy
+msgid "Shadow expire"
+msgstr "Toon personen"
 
-#: plugins/admin/groups/class_groupManagement.inc:156
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:62
-msgid "Posix"
-msgstr "Posix"
+#: plugins/personal/posix/class_posixAccount.inc:1322
+msgid "Public SSH key"
+msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:157
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:63
+#: plugins/personal/posix/class_posixAccount.inc:1323
 #, fuzzy
-msgid "Edit posix properties"
-msgstr "Bewerk telefoon eigenschappen"
+msgid "System trust model"
+msgstr "Systeem vertrouwen"
 
-#: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:879
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
-msgid "Edit mail properties"
-msgstr "Bewerk E-mail eigenschappen"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr "gedeactiveerd"
 
-#: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:883
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
-msgid "Edit samba properties"
-msgstr "Bewerk Samba eigenschappen"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr "volledige toegang"
 
-#: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:899
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
-msgid "Edit phone properties"
-msgstr "Bewerk telefoon eigenschappen"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr "sta toegang op deze computers toe"
 
-#: plugins/admin/groups/class_groupManagement.inc:188
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:94
-#, fuzzy
-msgid "Menu"
-msgstr "Printer"
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr "Systeem vertrouwen"
 
-#: plugins/admin/groups/class_groupManagement.inc:189
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:95
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
+msgid "Trust mode"
+msgstr "Vertrouwensmodus"
+
+#: plugins/personal/password/password.tpl:10
 #, fuzzy
-msgid "Edit start menu properties"
-msgstr "Bewerk Samba eigenschappen"
+msgid "Your Password has expired. Please choose a new password."
+msgstr "Uw wachtwoord is verlopen! Kies a.u.b. een nieuw wachtwoord. "
 
-#: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:891
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
-msgid "Edit environment properties"
-msgstr "Bewerk omgeving eigenschappen"
+#: plugins/personal/password/class_password.inc:27
+#, fuzzy
+msgid "Change user password"
+msgstr "Verander wachtwoord"
 
-#: plugins/admin/users/remove.tpl:6 plugins/admin/acl/remove.tpl:6
+#: plugins/personal/password/class_password.inc:156
 msgid ""
-"This includes all account data, system access rules, imap settings, etc. for "
-"this user. Please double check if your really want to do this since there is "
-"no way for GOsa to get your data back."
+"The password you've entered as your current password doesn't match the real "
+"one."
 msgstr ""
-"Dit omvat alle account gegevens, systeem toegangsregels, imap instellingen "
-"etc. voor deze gebruiker. Verzeker uzelf hiervan, aangezien er geen "
-"mogelijkheid voor GOsa is om deze informatie terug te halen."
+"Het wachtwoord dat u opgegeven heeft als uw huidige wachtwoord is niet "
+"correct."
 
-#: plugins/admin/users/password.tpl:4
-msgid ""
-"To change the user password use the fields below. The changes take effect "
-"immediately. Please memorize the new password, because the user wouldn't be "
-"able to login without it."
+#: plugins/personal/password/class_password.inc:159
+#, fuzzy
+msgid "You have no permission to change your password."
+msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
+
+#: plugins/personal/password/class_password.inc:223
+#, fuzzy
+msgid "User password"
+msgstr "Wachtwoord wissen"
+
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
 msgstr ""
-"Gebruik de velden hieronder om het gebruikers wachtwoord te veranderen. De "
-"veranderingen worden onmiddelijk doorgevoerd. Onthoud het nieuwe wachtwoord "
-"a.u.b. aangezien de gebruiker niet in kan loggen zonder dit wachtwoord."
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/generic/password.tpl:8
-#: plugins/personal/password/password.tpl:8
-msgid ""
-"Changing the password affects your authentification on mail, proxy, samba "
-"and unix services."
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
 msgstr ""
-"Het veranderen van het wachtwoord is van invloed op E-mail, proxy, samba en "
-"Unix diensten."
 
-#: plugins/admin/users/password.tpl:21 plugins/admin/users/password.tpl:57
-#: plugins/personal/generic/password.tpl:27
-#: plugins/personal/generic/password.tpl:70
-#: plugins/personal/password/password.tpl:32
-#: plugins/personal/password/password.tpl:75
-msgid "Repeat new password"
-msgstr "Herhaal het nieuwe wachtwoord"
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
+msgstr ""
 
-#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
-#, fuzzy
-msgid "Strength"
-msgstr "Straat"
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
+msgstr ""
 
-#: plugins/admin/users/password.tpl:35
-#, fuzzy
-msgid "Password input dialog"
-msgstr "Wachtwoord"
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr "Certificaten"
 
-#: plugins/admin/users/password.tpl:39
-#: plugins/personal/generic/password.tpl:51
-#: plugins/personal/password/password.tpl:56
+#: plugins/personal/generic/generic_certs.tpl:5
 #, fuzzy
-msgid "Use proposal"
-msgstr "groepen"
+msgid "The users standard certificate"
+msgstr "Standaard certificaat"
 
-#: plugins/admin/users/password.tpl:43
-#: plugins/personal/generic/password.tpl:55
-#: plugins/personal/password/password.tpl:60 setup/setup_migrate.tpl:470
-#: setup/setup_migrate.tpl:513 setup/setup_migrate.tpl:557
-#, fuzzy
-msgid "Refresh"
-msgstr "Referenties"
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr "Standaard certificaat"
+
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr "Verwijderen"
 
-#: plugins/admin/users/password.tpl:49
-#: plugins/personal/generic/password.tpl:61
-#: plugins/personal/password/password.tpl:66
+#: plugins/personal/generic/generic_certs.tpl:31
 #, fuzzy
-msgid "Manually specify a password"
-msgstr "Geef a.u.b. uw wachtwoord op!"
+msgid "The users S/MIME certificate"
+msgstr "S/MIME certificaat"
+
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr "S/MIME certificaat"
 
-#: plugins/admin/users/password.tpl:77
+#: plugins/personal/generic/generic_certs.tpl:57
 #, fuzzy
-msgid "Enforce password change on next login."
-msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+msgid "The users PKCS12 certificate"
+msgstr "PKCS12 certificaat"
 
-#: plugins/admin/users/password.tpl:84
-#: plugins/personal/generic/password.tpl:88
-#: plugins/personal/password/password.tpl:93
-msgid "Set password"
-msgstr "Wachtwoord instellen"
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr "PKCS12 certificaat"
 
-#: plugins/admin/users/template.tpl:2
-msgid "Creating a new user using templates"
-msgstr "Een nieuwe gebruiker aanmaken m.b.v. een sjabloon"
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr "Certificaat serienummer"
 
-#: plugins/admin/users/template.tpl:6
-msgid ""
-"Creating a new user can be assisted by using templates. Many database "
-"records will be filled automatically. Choose 'none' to skip the usage of "
-"templates."
-msgstr ""
-"Het aanmaken van een nieuwe gebruiker kan m.b.v. sjablonen gebeuren. Veel "
-"database records zullen dan automatisch gevuld worden. Kies 'geen' om het "
-"gebruik van sjablonen over te slaan."
+#: plugins/personal/generic/paste_generic.tpl:3
+#, fuzzy
+msgid "Paste user"
+msgstr "Plakken"
 
-#: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:535
-#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
-#: plugins/admin/users/templatize.tpl:15
-msgid "Template"
-msgstr "Sjabloon"
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr "Persoonlijke informatie"
 
-#: plugins/admin/users/template.tpl:23 plugins/personal/generic/generic.tpl:49
-#: plugins/personal/generic/paste_generic.tpl:7
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
 msgid "Last name"
 msgstr "Achternaam"
 
-#: plugins/admin/users/template.tpl:27 plugins/personal/generic/generic.tpl:69
-#: plugins/personal/generic/paste_generic.tpl:11
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
 msgid "First name"
 msgstr "Voornaam"
 
-#: plugins/admin/users/class_userManagement.inc:26
-#, fuzzy
-msgid "Manage users"
-msgstr "Windows gebruikers"
+#: plugins/personal/generic/paste_generic.tpl:24
+msgid "Clear password"
+msgstr "Wachtwoord wissen"
+
+#: plugins/personal/generic/paste_generic.tpl:25
+msgid "Set new password"
+msgstr "Nieuw wachtwoord instellen"
 
-#: plugins/admin/users/class_userManagement.inc:391
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
 #, fuzzy
-msgid "You have no permission to change this users password!"
-msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
+msgid "The users picture"
+msgstr "Persoonlijk plaatje"
+
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
+msgstr "Plaatje verwijderen"
 
-#: plugins/admin/users/class_userManagement.inc:782
+#: plugins/personal/generic/class_user.inc:38
 #, fuzzy
-msgid "Account locking"
-msgstr "Account"
+msgid "Edit organizational user settings"
+msgstr "Programma instellingen"
 
-#: plugins/admin/users/class_userManagement.inc:783
-#, php-format
-msgid ""
-"Password method '%s' does not support locking. Account (%s) has not been "
-"locked!"
+#: plugins/personal/generic/class_user.inc:297
+msgid "Please add a single IP address or a network/net mask combination!"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:856
-#, fuzzy
-msgid "Unlock account"
-msgstr "Mijn account"
+#: plugins/personal/generic/class_user.inc:339
+msgid "female"
+msgstr "vrouw"
 
-#: plugins/admin/users/class_userManagement.inc:858
-#, fuzzy
-msgid "Lock account"
-msgstr "Mijn account"
+#: plugins/personal/generic/class_user.inc:339
+msgid "male"
+msgstr "man"
 
-#: plugins/admin/users/class_userManagement.inc:871
-msgid "Edit generic properties"
-msgstr "Bewerk algemene eigenschappen"
+#: plugins/personal/generic/class_user.inc:395
+#, fuzzy
+msgid "Password configuration"
+msgstr "Systeem configuratie"
 
-#: plugins/admin/users/class_userManagement.inc:874
-#: plugins/personal/posix/class_posixAccount.inc:304
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/class_posixAccount.inc:326
-#: plugins/personal/posix/class_posixAccount.inc:329
-msgid "POSIX"
+#: plugins/personal/generic/class_user.inc:429
+msgid "Cannot upload file!"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:875
+#: plugins/personal/generic/class_user.inc:522
 #, fuzzy
-msgid "Edit POSIX properties"
-msgstr "Bewerk UNIX eigenschappen"
+msgid "Serial number"
+msgstr "Telefoonnummer"
 
-#: plugins/admin/users/class_userManagement.inc:886
-msgid "Netatalk"
-msgstr "Netatalk"
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
+msgid "User picture"
+msgstr "Persoonlijk plaatje"
 
-#: plugins/admin/users/class_userManagement.inc:887
-msgid "Edit netatalk properties"
-msgstr "Bewerk Netatalk eigenschappen"
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:895
-#, fuzzy
-msgid "Edit FAX properties"
-msgstr "Bewerk UNIX eigenschappen"
+#: plugins/personal/generic/class_user.inc:579
+#, php-format
+msgid "Certificate is valid from %s to %s and is currently %s."
+msgstr "Certificaat is geldig van '%s' tot '%s' en de huidige status is '%s'."
 
-#: plugins/admin/users/user-list.xml:11
-msgid "List of users"
-msgstr "Lijst met gebruikers"
+#: plugins/personal/generic/class_user.inc:582
+msgid "valid"
+msgstr "geldig"
 
-#: plugins/admin/users/user-list.xml:140
-#, fuzzy
-msgid "Lock users"
-msgstr "Lijst met gebruikers"
+#: plugins/personal/generic/class_user.inc:583
+msgid "invalid"
+msgstr "ongeldig"
 
-#: plugins/admin/users/user-list.xml:148
-#, fuzzy
-msgid "Unlock users"
-msgstr "Windows gebruikers"
+#: plugins/personal/generic/class_user.inc:588
+msgid "No certificate installed"
+msgstr "Geen certificaat geinstalleerd"
 
-#: plugins/admin/users/user-list.xml:167
+#: plugins/personal/generic/class_user.inc:614
 #, fuzzy
-msgid "Apply template"
-msgstr "Sjablonen"
+msgid "The selected password method is no longer available."
+msgstr "Dit programma is niet meer beschikbaar."
 
-#: plugins/admin/users/user-list.xml:199
-#, fuzzy
-msgid "New user from template"
-msgstr "Maak gebruiker aan vanuit sjabloon"
+#: plugins/personal/generic/class_user.inc:1051
+msgid ""
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
+msgstr ""
 
-#: plugins/admin/users/user-list.xml:213
-msgid "Edit user"
-msgstr "Bewerk gebruiker"
+#: plugins/personal/generic/class_user.inc:1177
+msgid "Cannot build RDN: no + allowed to build sub RDN!"
+msgstr ""
 
-#: plugins/admin/users/user-list.xml:222
-msgid "%{filter:lockLabel(userPassword)}"
+#: plugins/personal/generic/class_user.inc:1184
+msgid "Cannot build RDN: attribute is not defined!"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:245
+#: plugins/personal/generic/class_user.inc:1202
+msgid "Cannot build RDN: invalid attribute parameters!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1273
 #, fuzzy
-msgid "Remove user"
-msgstr "Plaatje verwijderen"
+msgid "The selected password method requires initial configuration!"
+msgstr "Dit programma is niet meer beschikbaar."
 
-#: plugins/admin/users/user-filter.tpl:11
-msgid "Show templates"
-msgstr "Toon sjablonen"
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
+msgid "Homepage"
+msgstr "Homepage"
 
-#: plugins/admin/users/user-filter.tpl:12
-#, fuzzy
-msgid "Show functional users"
-msgstr "Toon functionele gebruikers"
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
+msgstr "Telefoon"
 
-#: plugins/admin/users/user-filter.tpl:13
-#, fuzzy
-msgid "Show POSIX users"
-msgstr "Posix instellingen"
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
+msgstr "Fax"
 
-#: plugins/admin/users/user-filter.tpl:14
-#, fuzzy
-msgid "Show Mail users"
-msgstr "Toon E-mail gebruikers"
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
+msgid "Mobile"
+msgstr "GSM"
 
-#: plugins/admin/users/user-filter.tpl:15
-#, fuzzy
-msgid "Show Samba users"
-msgstr "Toon E-mail gebruikers"
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
+msgid "Pager"
+msgstr "Pieper"
 
-#: plugins/admin/users/templatize.tpl:2
+#: plugins/personal/generic/class_user.inc:1483
 #, fuzzy
-msgid "Applying a template"
-msgstr "Sjablonen"
+msgid "Cannot open certificate!"
+msgstr "Het opgegeven certificaat kon geopend worden!"
 
-#: plugins/admin/users/templatize.tpl:6
-msgid ""
-"Applying a template to several users will replace all user attributes "
-"defined in the template."
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
+msgid "Unit"
+msgstr "Eenheid"
 
-#: plugins/admin/users/templatize.tpl:33
-#, fuzzy
-msgid "No templates available!"
-msgstr "Bestand is beschikbaar"
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
+msgid "House identifier"
+msgstr "Huis identificatie"
 
-#: plugins/admin/departments/remove.tpl:6
-msgid ""
-"This includes 'all' accounts, systems, etc. in this subtree. Please double "
-"check if your really want to do this since there is no way for GOsa to get "
-"your data back."
-msgstr ""
-"Dit omvat 'alle' accounts, systemen etc. in deze subtree. Verzeker uzelf er "
-"van dat dit is wat u wilt, aangezien er geen mogelijkheid voor GOsa is om "
-"deze gegevens terug te halen."
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
+msgid "Vocation"
+msgstr "Beroep"
 
-#: plugins/admin/departments/remove.tpl:10
-msgid ""
-"Best thing to do before performing this action would be to save the current "
-"contents of your LDAP tree in a file. So - if you've done so - press "
-"'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-"Het is aan te raden de huidige inhoud van uw LDAP database op te slaan "
-"alvorens u doorgaat. Indien u dat gedaan heeft drukt u op 'Verwijderen' om "
-"door te gaan of op 'Annuleren' om te annuleren."
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
+msgid "Last delivery"
+msgstr "Laatste levering"
 
-#: plugins/admin/departments/dep-list.xml:11
-msgid "List of departments"
-msgstr "Lijst met afdelingen"
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
+msgid "Person locality"
+msgstr "Werkplaats"
 
-#: plugins/admin/departments/dep-list.xml:15
-#: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#, fuzzy
-msgid "Domain"
-msgstr "in domein"
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
+msgid "Unit description"
+msgstr "Eenheid omschrijving"
 
-#: plugins/admin/departments/dep-list.xml:23
-#: plugins/admin/departments/dep-list.xml:110
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
+msgid "Subject area"
+msgstr "Werkgebied"
+
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
+msgid "Functional title"
+msgstr "Functionele titel"
+
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
+msgstr "Funktie"
+
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
+msgid "Postal code"
+msgstr "Postcode"
+
+#: plugins/personal/generic/class_user.inc:1671
 #, fuzzy
-msgid "Domain component"
-msgstr "Windows beheerders"
+msgid "Generic user settings"
+msgstr "Algemene wachtrij instellingen"
 
-#: plugins/admin/departments/dep-list.xml:31
-#: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_countryGeneric.inc:82
-#: plugins/admin/departments/class_countryGeneric.inc:83
-msgid "Country"
-msgstr "Land"
+#: plugins/personal/generic/class_user.inc:1692
+msgid ""
+"Pattern for the generation of user DNs. Please read the FAQ for details."
+msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:39
-#: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_localityGeneric.inc:82
-#: plugins/admin/departments/class_localityGeneric.inc:83
+#: plugins/personal/generic/class_user.inc:1706
 #, fuzzy
-msgid "Locality"
-msgstr "Plaats"
+msgid "Allow definition of custom filters"
+msgstr "Configuratie bestand"
 
-#: plugins/admin/departments/dep-list.xml:47
-#: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:237
-#: plugins/admin/departments/class_organizationGeneric.inc:113
-#: plugins/admin/departments/class_organizationGeneric.inc:114
-#: plugins/personal/generic/class_user.inc:1694
-#: plugins/personal/generic/generic.tpl:299 setup/setup_feedback.tpl:23
-msgid "Organization"
-msgstr "Organisatie"
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
+msgid "Sex"
+msgstr "Geslacht"
 
-#: plugins/admin/departments/locality.tpl:11
-#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
 #, fuzzy
-msgid "Locality name"
-msgstr "Naam van de locatie"
+msgid "Preferred language"
+msgstr "Voorkeurstaal"
 
-#: plugins/admin/departments/locality.tpl:14
-#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/personal/generic/class_user.inc:1718
 #, fuzzy
-msgid "Name of locality to create"
-msgstr "Naam van de aan te maken subtree"
+msgid "Login restrictions"
+msgstr "Wachtwoord verloopt op"
 
-#: plugins/admin/departments/locality.tpl:22
-#: plugins/admin/departments/domain.tpl:22
-#: plugins/admin/departments/country.tpl:22
-#: plugins/admin/departments/dcObject.tpl:22
-#: plugins/admin/departments/organization.tpl:22
-msgid "Descriptive text for department"
-msgstr "Omschrijving voor de afdeling"
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
+msgstr "Afdeling"
 
-#: plugins/admin/departments/locality.tpl:39
-#: plugins/admin/departments/generic.tpl:51
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
 #: plugins/admin/departments/class_domain.inc:93
-#: plugins/admin/departments/class_localityGeneric.inc:93
 #: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/generic.tpl:51
+#: plugins/admin/departments/locality.tpl:39
+#: plugins/admin/departments/class_localityGeneric.inc:93
 #: plugins/admin/departments/class_dcObject.inc:92
 #: plugins/admin/departments/domain.tpl:39
-#: plugins/admin/departments/country.tpl:39
-#: plugins/admin/departments/dcObject.tpl:39
-#: plugins/admin/departments/class_department.inc:675
-#: plugins/admin/departments/organization.tpl:51
-#: plugins/personal/generic/class_user.inc:1697
-#: plugins/personal/generic/generic.tpl:340
-#: plugins/personal/generic/generic.tpl:361
 #, fuzzy
 msgid "Manager"
 msgstr "Windows gebruikers"
 
-#: plugins/admin/departments/locality.tpl:67
-#: plugins/admin/departments/generic.tpl:132
-#: plugins/admin/departments/class_domain.inc:94
-#: plugins/admin/departments/class_localityGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:135
-#: plugins/admin/departments/class_countryGeneric.inc:95
-#: plugins/admin/departments/class_dcObject.inc:94
-#: plugins/admin/departments/domain.tpl:67
-#: plugins/admin/departments/country.tpl:67
-#: plugins/admin/departments/dcObject.tpl:67
-#: plugins/admin/departments/class_department.inc:677
-#: plugins/admin/departments/organization.tpl:131
-msgid "Administrative settings"
-msgstr "Administratieve instellingen"
-
-#: plugins/admin/departments/locality.tpl:69
-#: plugins/admin/departments/generic.tpl:134
-#: plugins/admin/departments/domain.tpl:69
-#: plugins/admin/departments/country.tpl:69
-#: plugins/admin/departments/dcObject.tpl:69
-#: plugins/admin/departments/organization.tpl:133
-msgid "Tag department as an independent administrative unit"
-msgstr "Markeer de afdeling als een onafhankelijke administratieve eenheid"
-
-#: plugins/admin/departments/generic.tpl:11
-msgid "Name of department"
-msgstr "Naam van de afdeling"
-
-#: plugins/admin/departments/generic.tpl:14
-msgid "Name of subtree to create"
-msgstr "Naam van de aan te maken subtree"
+#: plugins/personal/generic/class_user.inc:1727
+#, fuzzy
+msgid "Room number"
+msgstr "Telefoonnummer"
 
-#: plugins/admin/departments/generic.tpl:22
+#: plugins/personal/generic/class_user.inc:1728
 #, fuzzy
-msgid "Descriptive text for   department"
-msgstr "Omschrijving voor de afdeling"
+msgid "Telephone number"
+msgstr "Telefoonnummer"
 
-#: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:667
-#: plugins/admin/departments/organization.tpl:27
-msgid "Category"
-msgstr "Categorie"
+#: plugins/personal/generic/class_user.inc:1729
+#, fuzzy
+msgid "Pager number"
+msgstr "Telefoonnummer"
 
-#: plugins/admin/departments/generic.tpl:30
-#: plugins/admin/departments/organization.tpl:30
-msgid "Category for this subtree"
-msgstr "Categorie voor deze subtree"
+#: plugins/personal/generic/class_user.inc:1730
+#, fuzzy
+msgid "Mobile number"
+msgstr "GSM nummer"
 
-#: plugins/admin/departments/generic.tpl:79
-#: plugins/admin/departments/generic.tpl:91
-#: plugins/admin/departments/class_localityGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:130
-#: plugins/admin/departments/class_department.inc:671
-#: plugins/admin/departments/organization.tpl:78
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1708
-#: plugins/personal/generic/generic.tpl:441
-msgid "Location"
-msgstr "Plaats"
+#: plugins/personal/generic/class_user.inc:1731
+#, fuzzy
+msgid "Fax number"
+msgstr "Serienummer"
 
-#: plugins/admin/departments/generic.tpl:83
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
 #: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_department.inc:670
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1707
-#: plugins/personal/generic/generic.tpl:449
+#: plugins/admin/departments/generic.tpl:87
 msgid "State"
 msgstr "Provincie"
 
-#: plugins/admin/departments/generic.tpl:86
-#: plugins/admin/departments/organization.tpl:85
-msgid "State where this subtree is located"
-msgstr "Provincie waar deze subtree zich bevindt"
+#: plugins/personal/generic/class_user.inc:1735
+#: plugins/personal/generic/generic.tpl:183
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+msgid "Postal address"
+msgstr "Adres thuis"
 
-#: plugins/admin/departments/generic.tpl:94
-#: plugins/admin/departments/organization.tpl:93
-msgid "Location of this subtree"
-msgstr "Plaats van deze subtree"
+#: plugins/personal/generic/class_user.inc:1740
+#, fuzzy
+msgid "User password method"
+msgstr "Wachtwoord encryptie"
 
-#: plugins/admin/departments/generic.tpl:99
-#: plugins/admin/departments/class_department.inc:672
-#: plugins/admin/departments/organization.tpl:98
-#: plugins/personal/generic/generic.tpl:183
-#: plugins/personal/generic/generic.tpl:457
+#: plugins/personal/generic/class_user.inc:1741
+#, fuzzy
+msgid "User certificates"
+msgstr "Standaard certificaat"
+
+#: plugins/personal/generic/class_user.inc:1949
+#, fuzzy
+msgid "Entries differ"
+msgstr "Regels per pagina"
+
+#: plugins/personal/generic/generic.tpl:21
+msgid "Change picture"
+msgstr "Verander plaatje"
+
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
+msgstr ""
+
+#: plugins/personal/generic/generic.tpl:83
+msgid "Template name"
+msgstr "Sjabloon naam"
+
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
 msgid "Address"
 msgstr "Adres"
 
-#: plugins/admin/departments/generic.tpl:102
-#: plugins/admin/departments/organization.tpl:101
-msgid "Postal address of this subtree"
-msgstr "Post adres van deze subtree"
+#: plugins/personal/generic/generic.tpl:193
+msgid "Private phone"
+msgstr "Telefoon privé"
 
-#: plugins/admin/departments/generic.tpl:109
-#: plugins/admin/departments/organization.tpl:108
-msgid "Base telephone number of this subtree"
-msgstr "Basis telefoonnummer van deze subtree"
+#: plugins/personal/generic/generic.tpl:209
+msgid "Password storage"
+msgstr "Wachtwoord encryptie"
 
-#: plugins/admin/departments/generic.tpl:114
-#: plugins/admin/departments/class_organizationGeneric.inc:133
-#: plugins/admin/departments/class_department.inc:373
-#: plugins/admin/departments/class_department.inc:674
-#: plugins/admin/departments/organization.tpl:113
-#: plugins/personal/generic/class_user.inc:1359
-#: plugins/personal/generic/class_user.inc:1822
-#: plugins/personal/generic/generic.tpl:423
-#: plugins/personal/generic/generic.tpl:591
-msgid "Fax"
-msgstr "Fax"
+#: plugins/personal/generic/generic.tpl:229
+msgid "Edit certificates"
+msgstr "Bewerk certificaten"
 
-#: plugins/admin/departments/generic.tpl:117
-#: plugins/admin/departments/organization.tpl:116
-msgid "Base facsimile telephone number of this subtree"
-msgstr "Basis Fax nummer van deze subtree"
+#: plugins/personal/generic/generic.tpl:241
+msgid "Restrict login to"
+msgstr ""
 
-#: plugins/admin/departments/class_domain.inc:81
-#: plugins/admin/departments/class_domain.inc:82
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_dcObject.inc:81
-#: plugins/admin/departments/class_dcObject.inc:82
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
+msgid "IP or network"
+msgstr ""
+
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "Organizational information"
+msgstr "Organisatie informatie"
+
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
 #, fuzzy
-msgid "Domain Component"
-msgstr "Windows beheerders"
+msgid "part"
+msgstr "Samenvatting"
 
-#: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:657
-#: plugins/admin/departments/class_department.inc:662
-msgid "Departments"
-msgstr "Afdelingen"
+#: plugins/personal/generic/generic.tpl:314
+msgid "Department No."
+msgstr "Afdeling nr."
 
-#: plugins/admin/departments/class_departmentManagement.inc:26
+#: plugins/personal/generic/generic.tpl:322
+msgid "Employee No."
+msgstr "Personeel nr."
+
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
+msgid "Room No."
+msgstr "Kamer nr."
+
+#: plugins/personal/generic/generic.tpl:580
+msgid "Please use the phone tab"
+msgstr "Gebruik a.u.b. de telefoon tab"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:1
 #, fuzzy
-msgid "Manage Departments"
-msgstr "Afdelingen"
+msgid "List of dynamic rules"
+msgstr "Lijst met macro's"
 
-#: plugins/admin/departments/class_departmentManagement.inc:122
-msgid ""
-"As soon as the tag operation has finished, you can scroll down to end of the "
-"page and    press the 'Continue' button to continue with the department "
-"management dialog."
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:122
+#: plugins/addons/dyngroup/dyngroup.tpl:6
 #, fuzzy
-msgid "Organization name"
-msgstr "Organisatie"
+msgid "Scope"
+msgstr "kopieer"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:131
-#: plugins/personal/generic/class_user.inc:1709
-msgid "Postal address"
-msgstr "Adres thuis"
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
+#, fuzzy
+msgid "Attribute"
+msgstr "Telefoon attributen "
 
-#: plugins/admin/departments/class_organizationGeneric.inc:132
-msgid "Phone number"
-msgstr "Telefoonnummer"
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
+#, fuzzy
+msgid "Filter"
+msgstr "Filters"
 
-#: plugins/admin/departments/class_countryGeneric.inc:91
-#: plugins/admin/departments/country.tpl:11
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
+#, php-format
+msgid "The given filter '%s' for entry %s seems to be invalid!"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
 #, fuzzy
-msgid "Country name"
-msgstr "Land"
+msgid "Dynamic object"
+msgstr "Object"
 
-#: plugins/admin/departments/domain.tpl:11
+#: plugins/addons/propertyEditor/property-filter.xml:15
 #, fuzzy
-msgid "Domain name"
-msgstr "Windows beheerders"
+msgid "Effective properties"
+msgstr "Bewerk algemene eigenschappen"
 
-#: plugins/admin/departments/domain.tpl:14
+#: plugins/addons/propertyEditor/property-filter.xml:29
 #, fuzzy
-msgid "Name of domain to create"
-msgstr "Naam van de aan te maken subtree"
+msgid "Modified properties"
+msgstr "Bewerk algemene eigenschappen"
 
-#: plugins/admin/departments/country.tpl:14
+#: plugins/addons/propertyEditor/property-filter.xml:43
 #, fuzzy
-msgid "Name of country to create"
-msgstr "Naam van de aan te maken subtree"
+msgid "All properties"
+msgstr "Bewerk algemene eigenschappen"
 
-#: plugins/admin/departments/class_department.inc:433
+#: plugins/addons/propertyEditor/property-filter.xml:57
 #, fuzzy
-msgid "Cannot find an unused tag for this administrative unit!"
+msgid "LDAP properties"
+msgstr "Eigenschappen"
+
+#: plugins/addons/propertyEditor/property-filter.xml:71
+#, fuzzy
+msgid "Search for property groups"
+msgstr "Toon primaire groepen"
+
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
 msgstr ""
-"Fatale fout: Kon geen ongebruikte markering vinden om de administratieve "
-"eenheid te markeren!"
 
-#: plugins/admin/departments/class_department.inc:504
-#, php-format
-msgid "Tagging '%s'."
-msgstr "Markeren van '%s'."
+#: plugins/addons/propertyEditor/migrate.tpl:3
+#, fuzzy
+msgid "Migration steps left"
+msgstr "Aanmaken"
 
-#: plugins/admin/departments/class_department.inc:585
-#, php-format
-msgid "Moving '%s' to '%s'"
-msgstr "Verplaatsen van %s naar %s"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
+#, fuzzy, php-format
+msgid "Migration of property '%s'"
+msgstr "Aanmaken"
 
-#: plugins/admin/departments/class_department.inc:626
-#, php-format
-msgid "FAILED to copy %s, aborting operation"
-msgstr "Kopieren van %s is mislukt. Bewerking afgebroken."
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
+#, fuzzy, php-format
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
+msgstr "U staat op het punt de invoer '%s' te kopieren."
 
-#: plugins/admin/departments/class_department.inc:665
-msgid "Department name"
-msgstr "Afdelingnaam"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
+msgid "Objects that will be added"
+msgstr ""
 
-#: plugins/admin/departments/class_department.inc:673
-msgid "Telephone"
-msgstr "Telefoon"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+msgid "Objects that will be moved"
+msgstr ""
 
-#: plugins/admin/departments/class_department.inc:728
-#, php-format
-msgid "Object '%s' is already tagged"
-msgstr "Object '%s' is al gemarkeerd"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
+#, fuzzy, php-format
+msgid "Moving object '%s' to '%s'"
+msgstr "Verplaatsen van %s naar %s"
 
-#: plugins/admin/departments/class_department.inc:735
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
 #, php-format
-msgid "Adding tag (%s) to object '%s'"
-msgstr "Toevoegen van markering (%s) aan object '%s'"
+msgid "Migration failed for object %s: DN already exists!"
+msgstr ""
 
-#: plugins/admin/departments/class_department.inc:767
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
 #, php-format
-msgid "Removing tag from object '%s'"
-msgstr "Verwijderen van markering van object '%s'"
-
-#: plugins/admin/departments/dep_iframe.tpl:1
-msgid "Processing the requested operation"
-msgstr "Bezig met verwerken van de gevraagde opdracht"
-
-#: plugins/admin/departments/dep_iframe.tpl:7
-msgid ""
-"Your browser doesn't support iframes, please use this link to perform the "
-"requested operation."
+msgid "Migration failed for object %s: please check if it already exists!"
 msgstr ""
-"Uw browser heeft geen ondersteuning voor frames. Gebruik a.u.b. deze link om "
-"de gewenste opdracht uit te voeren."
-
-#: plugins/admin/departments/organization.tpl:11
-#, fuzzy
-msgid "Name of organization"
-msgstr "Organisatie"
-
-#: plugins/admin/departments/organization.tpl:14
-#, fuzzy
-msgid "Name of organization to create"
-msgstr "Naam van de aan te maken subtree"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:2
+#: plugins/addons/propertyEditor/property-list.tpl:3
 #, fuzzy
-msgid "You are currently moving/renaming this department."
-msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
+msgid "Warning message"
+msgstr "Bericht in wachtstand plaatsen"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:5
+#: plugins/addons/propertyEditor/property-list.tpl:9
 msgid ""
-"Modifying a departments naming attribute 'ou' or base may corrupt acls and "
-"snapshot entries for all entire objects."
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:8
-msgid "GOsa can NOT fix this for you, yet."
+#: plugins/addons/propertyEditor/property-list.tpl:10
+msgid ""
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:11
+#: plugins/addons/propertyEditor/property-list.tpl:14
 msgid ""
-"Before you confirm this action, ensure that everything will be as expected, "
-"possibly the best solution is a backup."
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
 msgstr ""
 
-#: plugins/admin/acl/class_aclManagement.inc:25
-#: plugins/admin/acl/acl-list.xml:15
-#, fuzzy
-msgid "Acl"
-msgstr "Alle"
+#: plugins/addons/propertyEditor/property-list.tpl:22
+msgid ""
+"I understand that there are certain risks, but I want to modify properties!"
+msgstr ""
 
-#: plugins/admin/acl/class_aclManagement.inc:154
-#, fuzzy
-msgid "ACL Assignment"
-msgstr "Blokkeerlijst beheer"
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
+msgstr ""
 
-#: plugins/admin/acl/tabs_acl_role.inc:28
-#, fuzzy
-msgid "ACL Templates"
-msgstr "Sjablonen"
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
+msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:26
-#: plugins/admin/acl/class_aclRole.inc:726
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
 #, fuzzy
-msgid "Access control roles"
-msgstr "Toegangsopties"
+msgid "Command verifier"
+msgstr "en"
 
-#: plugins/admin/acl/class_aclRole.inc:27
-#, fuzzy
-msgid "Edit AC roles"
-msgstr "Rechten"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
+msgid ""
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
+msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:134
-#, fuzzy
-msgid "Reset ACL"
-msgstr "Verwijderen"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
+msgid ""
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
+msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:418
-msgid "No ACL settings for this category"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:420
-#, fuzzy, php-format
-msgid "ACL for these objects: %s"
-msgstr "Nieuw FAI object aanmaken"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
+#, fuzzy
+msgid "Test"
+msgstr "Timeout"
+
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
+msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:426
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
 #, fuzzy
-msgid "Edit category ACL"
-msgstr "Bewerk klasse"
+msgid "Preferences"
+msgstr "Referenties"
 
-#: plugins/admin/acl/class_aclRole.inc:430
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
+msgid ""
+"Configure global and special GOsa settings like hooks and plug-in parameters"
+msgstr ""
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
 #, fuzzy
-msgid "Reset category ACL"
-msgstr "Categorie"
+msgid "No description"
+msgstr "Eenheid omschrijving"
 
-#: plugins/admin/acl/class_aclRole.inc:450
-#, php-format
-msgid "Edit ACL for '%s', scope is '%s'"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:646
+#: plugins/addons/propertyEditor/property-list.xml:11
 #, fuzzy
-msgid "Object in use"
-msgstr "Objectnaam"
+msgid "List of configuration settings"
+msgstr "Gebruikersinstellingen"
 
-#: plugins/admin/acl/class_aclRole.inc:646
-#, php-format
-msgid "This role cannot be removed while it is in use by these objects:"
+#: plugins/addons/propertyEditor/property-list.xml:15
+#, fuzzy
+msgid "Property not used"
+msgstr "Gebruikersgroep"
+
+#: plugins/addons/propertyEditor/property-list.xml:23
+msgid "Property will be restored"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:725 plugins/admin/acl/acl-list.xml:23
-#: plugins/admin/acl/acl-list.xml:82
-#: plugins/personal/generic/class_user.inc:1664
-#: plugins/personal/generic/generic.tpl:508
-msgid "Role"
-msgstr "Funktie"
+#: plugins/addons/propertyEditor/property-list.xml:31
+#, fuzzy
+msgid "Modified property"
+msgstr "Persoonlijke informatie"
 
-#: plugins/admin/acl/class_aclRole.inc:736
+#: plugins/addons/propertyEditor/property-list.xml:39
 #, fuzzy
-msgid "Permissions"
-msgstr "Rechten"
+msgid "Property configured in LDAP"
+msgstr "Configuratie bestand"
 
-#: plugins/admin/acl/acl-list.xml:11
+#: plugins/addons/propertyEditor/property-list.xml:47
 #, fuzzy
-msgid "List of acls"
-msgstr "Lijst met macro's"
+msgid "Property configured in config file"
+msgstr "Configuratie bestand"
 
-#: plugins/admin/acl/acl-filter.tpl:11
+#: plugins/addons/propertyEditor/property-list.xml:80
 #, fuzzy
-msgid "Show access control lists"
-msgstr "Toegangsopties"
+msgid "Class"
+msgstr "klasse"
 
-#: plugins/admin/acl/acl-filter.tpl:12
+#: plugins/addons/propertyEditor/property-list.xml:88
 #, fuzzy
-msgid "Show roles"
-msgstr "Toon telefoons"
+msgid "Value"
+msgstr "man"
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:25
-msgid "Bug submitter"
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
 msgstr ""
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:26
-msgid ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
-msgstr ""
+#: plugins/admin/groups/paste_generic.tpl:1
+msgid "Group settings"
+msgstr "Groep instellingen"
 
-#: plugins/personal/generic/class_user.inc:38
+#: plugins/admin/groups/paste_generic.tpl:2
 #, fuzzy
-msgid "Edit organizational user settings"
-msgstr "Programma instellingen"
+msgid "Paste group settings"
+msgstr "Groep instellingen"
 
-#: plugins/personal/generic/class_user.inc:297
-msgid "Please add a single IP address or a network/netmask combination!"
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
+msgstr "Groepnaam"
+
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
+#, fuzzy
+msgid "POSIX name of the group"
+msgstr "POSIX naam van de groep"
+
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
+#, fuzzy
+msgid "Normally IDs are auto-generated, select to specify manually"
 msgstr ""
+"Normaliter worden IDs automatisch gegenereerd. Selecteer om handmatig te "
+"specificeren"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "female"
-msgstr "vrouw"
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
+msgstr "Forceer GID"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "male"
-msgstr "man"
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr "Geforceerd ID nummer"
 
-#: plugins/personal/generic/class_user.inc:408
-msgid "Cannot upload file!"
-msgstr ""
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
+msgstr "Gebruiker"
 
-#: plugins/personal/generic/class_user.inc:503
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
 #, fuzzy
-msgid "Serial number"
-msgstr "Telefoonnummer"
+msgid "User selection"
+msgstr "Groep instellingen"
 
-#: plugins/personal/generic/class_user.inc:548
-msgid ""
-"(Some types of certificates are currently not supported and may be displayed "
-"as 'invalid'.)"
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+#, fuzzy
+msgid "Cannot find group SID in your configuration!"
 msgstr ""
+"Kan de SID van deze groep niet vinden in de LDAP database of in uw "
+"configuratie bestand."
 
-#: plugins/personal/generic/class_user.inc:558
-#, php-format
-msgid "Certificate is valid from %s to %s and is currently %s."
-msgstr "Certificaat is geldig van '%s' tot '%s' en de huidige status is '%s'."
-
-#: plugins/personal/generic/class_user.inc:561
-msgid "valid"
-msgstr "geldig"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
+msgstr "Samba groep"
 
-#: plugins/personal/generic/class_user.inc:562
-msgid "invalid"
-msgstr "ongeldig"
+#: plugins/admin/groups/class_group.inc:310
+#, fuzzy
+msgid "Domain administrators"
+msgstr "Windows beheerders"
 
-#: plugins/personal/generic/class_user.inc:567
-msgid "No certificate installed"
-msgstr "Geen certificaat geinstalleerd"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
+msgstr "Windows gebruikers"
 
-#: plugins/personal/generic/class_user.inc:593
-#, fuzzy
-msgid "The selected password method is no longer available."
-msgstr "Dit programma is niet meer beschikbaar."
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
+msgstr "Windows gasten"
 
-#: plugins/personal/generic/class_user.inc:1190
-msgid "Cannot build RDN: no + allowed to build sub RDN!"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:316
+#, php-format
+msgid "Special group (%d)"
+msgstr "Speciale groep (%d)"
 
-#: plugins/personal/generic/class_user.inc:1197
-msgid "Cannot build RDN: attribute is not defined!"
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1215
-msgid "Cannot build RDN: invalid attribute parameters!"
+#: plugins/admin/groups/class_group.inc:470
+#, php-format
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1286
-#, fuzzy
-msgid "The selected password method requires initial configuration!"
-msgstr "Dit programma is niet meer beschikbaar."
-
-#: plugins/personal/generic/class_user.inc:1351
-#: plugins/personal/generic/class_user.inc:1713
-#: plugins/personal/generic/class_user.inc:1816
-#: plugins/personal/generic/generic.tpl:199
-msgid "Homepage"
-msgstr "Homepage"
+#: plugins/admin/groups/class_group.inc:753
+#, fuzzy, php-format
+msgid "Cannot find any SID for '%s'!"
+msgstr "Kan bestand '%s' niet aanmaken."
 
-#: plugins/personal/generic/class_user.inc:1362
-#: plugins/personal/generic/class_user.inc:1825
-#: plugins/personal/generic/generic.tpl:407
-msgid "Mobile"
-msgstr "GSM"
+#: plugins/admin/groups/class_group.inc:758
+#, fuzzy, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
+msgstr "Kan bestand '%s' niet aanmaken."
 
-#: plugins/personal/generic/class_user.inc:1365
-#: plugins/personal/generic/class_user.inc:1828
-#: plugins/personal/generic/generic.tpl:415
-msgid "Pager"
-msgstr "Pieper"
+#: plugins/admin/groups/class_group.inc:852
+#, php-format
+msgid "The gidNumber '%s' is already in use by %s!"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1370
-#: plugins/personal/generic/class_user.inc:1685
-#: plugins/personal/generic/generic.tpl:119
-msgid "Date of birth"
-msgstr "Geboortedatum"
+#: plugins/admin/groups/class_group.inc:1036
+#, fuzzy
+msgid "Generic group settings"
+msgstr "Algemene wachtrij instellingen"
 
-#: plugins/personal/generic/class_user.inc:1485
+#: plugins/admin/groups/class_group.inc:1049
 #, fuzzy
-msgid "Cannot open certificate!"
-msgstr "Het opgegeven certificaat kon geopend worden!"
+msgid "RDN for object group storage."
+msgstr "Naam van objectgroepen"
 
-#: plugins/personal/generic/class_user.inc:1653
-#: plugins/personal/generic/generic.tpl:531
-msgid "Unit"
-msgstr "Eenheid"
+#: plugins/admin/groups/class_group.inc:1063
+#, fuzzy
+msgid "Samba group type"
+msgstr "Samba groep"
 
-#: plugins/personal/generic/class_user.inc:1654
-#: plugins/personal/generic/generic.tpl:556
-msgid "House identifier"
-msgstr "Huis identificatie"
+#: plugins/admin/groups/class_group.inc:1064
+#, fuzzy
+msgid "Samba domain name"
+msgstr "Samba home"
 
-#: plugins/personal/generic/class_user.inc:1655
-#: plugins/personal/generic/generic.tpl:473
-msgid "Vocation"
-msgstr "Beroep"
+#: plugins/admin/groups/class_group.inc:1066
+#, fuzzy
+msgid "Phone pickup group"
+msgstr "Leden zitten in een telefoon beantwoordgroep"
 
-#: plugins/personal/generic/class_user.inc:1656
-#: plugins/personal/generic/generic.tpl:600
-msgid "Last delivery"
-msgstr "Laatste levering"
+#: plugins/admin/groups/class_group.inc:1067
+#, fuzzy
+msgid "Nagios group"
+msgstr "Nagios account"
 
-#: plugins/personal/generic/class_user.inc:1657
-#: plugins/personal/generic/generic.tpl:522
-msgid "Person locality"
-msgstr "Werkplaats"
+#: plugins/admin/groups/class_group.inc:1069
+#, fuzzy
+msgid "Group member"
+msgstr "Groepsleden"
 
-#: plugins/personal/generic/class_user.inc:1658
-#: plugins/personal/generic/generic.tpl:481
-msgid "Unit description"
-msgstr "Eenheid omschrijving"
+#: plugins/admin/groups/class_groupManagement.inc:26
+msgid ""
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1659
-#: plugins/personal/generic/generic.tpl:490
-msgid "Subject area"
-msgstr "Werkgebied"
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
+#, fuzzy
+msgid "Infrastructure error"
+msgstr "PHP fout"
 
-#: plugins/personal/generic/class_user.inc:1660
-#: plugins/personal/generic/generic.tpl:499
-msgid "Functional title"
-msgstr "Functionele titel"
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
+#, fuzzy
+msgid "Edit POSIX properties"
+msgstr "Bewerk UNIX eigenschappen"
 
-#: plugins/personal/generic/class_user.inc:1661
-#: plugins/personal/generic/generic_certs.tpl:78
-msgid "Certificate serial number"
-msgstr "Certificaat serienummer"
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
+msgid "Edit mail properties"
+msgstr "Bewerk E-mail eigenschappen"
 
-#: plugins/personal/generic/class_user.inc:1662
-#: plugins/personal/generic/generic.tpl:609
-msgid "Public visible"
-msgstr "Publiek zichtbaar"
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
+msgid "Edit samba properties"
+msgstr "Bewerk Samba eigenschappen"
 
-#: plugins/personal/generic/class_user.inc:1663
-#: plugins/personal/generic/generic.tpl:540
-msgid "Street"
-msgstr "Straat"
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
+msgid "Edit phone properties"
+msgstr "Bewerk telefoon eigenschappen"
 
-#: plugins/personal/generic/class_user.inc:1665
-#: plugins/personal/generic/generic.tpl:548
-msgid "Postal code"
-msgstr "Postcode"
+#: plugins/admin/groups/class_groupManagement.inc:189
+#, fuzzy
+msgid "Menu"
+msgstr "Printer"
 
-#: plugins/personal/generic/class_user.inc:1669
+#: plugins/admin/groups/class_groupManagement.inc:190
 #, fuzzy
-msgid "Generic user settings"
-msgstr "Algemene wachtrij instellingen"
+msgid "Edit start menu properties"
+msgstr "Bewerk Samba eigenschappen"
 
-#: plugins/personal/generic/class_user.inc:1673
-#: plugins/personal/posix/class_posixAccount.inc:1455
-#: plugins/personal/password/class_password.inc:205
-msgid "My account"
-msgstr "Mijn account"
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
+msgid "Edit environment properties"
+msgstr "Bewerk omgeving eigenschappen"
 
-#: plugins/personal/generic/class_user.inc:1681
+#: plugins/admin/groups/group-filter.xml:31
 #, fuzzy
-msgid "User identification"
-msgstr "Gebruikersinformatie"
+msgid "Default filter2"
+msgstr "Parameters"
 
-#: plugins/personal/generic/class_user.inc:1682
-#: plugins/personal/generic/generic.tpl:98
-msgid "Personal title"
-msgstr "Aanhef"
-
-#: plugins/personal/generic/class_user.inc:1683
-#: plugins/personal/generic/generic.tpl:108
-msgid "Academic title"
-msgstr "Academische titel"
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
+msgstr "Omschrijving voor deze groep"
 
-#: plugins/personal/generic/class_user.inc:1686
-#: plugins/personal/generic/generic.tpl:138
-msgid "Sex"
-msgstr "Geslacht"
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+msgid "Select to create a samba conform group"
+msgstr "Selecteer om een samba conforme groep te maken"
 
-#: plugins/personal/generic/class_user.inc:1687
-#, fuzzy
-msgid "Preferred language"
-msgstr "Voorkeurstaal"
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
+msgstr "in domein"
 
-#: plugins/personal/generic/class_user.inc:1690
-#: plugins/personal/generic/paste_generic.tpl:47
-msgid "User picture"
-msgstr "Persoonlijk plaatje"
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
+msgstr "Leden zitten in een telefoon beantwoordgroep"
 
-#: plugins/personal/generic/class_user.inc:1692
+#: plugins/admin/groups/generic.tpl:146
 #, fuzzy
-msgid "Login restrictions"
-msgstr "Wachtwoord verloopt op"
+msgid "Members are in a Nagios group"
+msgstr "Leden zitten in een systeeminformatie groep (Nagios)"
 
-#: plugins/personal/generic/class_user.inc:1696
+#: plugins/admin/groups/generic.tpl:174
 #, fuzzy
-msgid "Department number"
-msgstr "Afdelingnaam"
+msgid "Common group members"
+msgstr "Toon groepen"
 
-#: plugins/personal/generic/class_user.inc:1698
+#: plugins/admin/groups/generic.tpl:183
 #, fuzzy
-msgid "Employee number"
-msgstr "Functie"
+msgid "Partial group members"
+msgstr "Groepsleden"
 
-#: plugins/personal/generic/class_user.inc:1699
-#: plugins/personal/generic/generic.tpl:331
-msgid "Employee type"
-msgstr "Functie"
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
+msgstr "Groepsleden"
 
-#: plugins/personal/generic/class_user.inc:1701
-#, fuzzy
-msgid "Room number"
-msgstr "Telefoonnummer"
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
+msgstr "Lijst met groepen"
 
-#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
+msgstr "Eigenschappen"
+
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
+msgstr "Bewerken"
+
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
 #, fuzzy
-msgid "Telefon number"
-msgstr "Telefoonnummer"
+msgid "Send message"
+msgstr "Bericht in wachtstand plaatsen"
 
-#: plugins/personal/generic/class_user.inc:1703
+#: plugins/admin/groups/group-list.xml:138
 #, fuzzy
-msgid "Pager number"
-msgstr "Telefoonnummer"
+msgid "Edit group"
+msgstr "Primaire groep"
 
-#: plugins/personal/generic/class_user.inc:1704
+#: plugins/admin/groups/group-list.xml:151
 #, fuzzy
-msgid "Mobile number"
-msgstr "GSM nummer"
+msgid "Remove group"
+msgstr "servers"
 
-#: plugins/personal/generic/class_user.inc:1705
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
 #, fuzzy
-msgid "Fax number"
-msgstr "Serienummer"
+msgid "User and group selection"
+msgstr "Groep instellingen"
 
-#: plugins/personal/generic/class_user.inc:1711
-msgid "Home postal address"
-msgstr "Adres thuis"
+#: plugins/admin/ogroups/ogroup-list.xml:11
+msgid "List of object groups"
+msgstr "Lijst met objectgroepen"
 
-#: plugins/personal/generic/class_user.inc:1712
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
+msgstr "Objectgroep"
+
+#: plugins/admin/ogroups/ogroup-list.xml:142
 #, fuzzy
-msgid "Home phone number"
-msgstr "Telefoonnummer"
+msgid "Edit object group"
+msgstr "Objectgroep"
 
-#: plugins/personal/generic/class_user.inc:1714
+#: plugins/admin/ogroups/ogroup-list.xml:155
 #, fuzzy
-msgid "User password method"
-msgstr "Wachtwoord encryptie"
+msgid "Remove object group"
+msgstr "servers"
 
-#: plugins/personal/generic/class_user.inc:1715
+#: plugins/admin/ogroups/paste_generic.tpl:1
 #, fuzzy
-msgid "User certificates"
-msgstr "Standaard certificaat"
+msgid "Paste object group"
+msgstr "Objectgroep"
 
-#: plugins/personal/generic/class_user.inc:1923
+#: plugins/admin/ogroups/paste_generic.tpl:7
 #, fuzzy
-msgid "Entries differ"
-msgstr "Regels per pagina"
+msgid "Please enter the new object group name"
+msgstr "Geef a.u.b. een nieuwe naam op"
 
-#: plugins/personal/generic/changed.tpl:3
-#: plugins/personal/password/changed.tpl:3
-msgid ""
-"You've successfully changed your password. Remember to change all programms "
-"configured to use it as well."
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
 msgstr ""
-"U heeft succesvol uw wachtwoord veranderd. Denkt u eraan dat u alle "
-"programma's die dit wachtwoord gebruiken ook aanpast!"
-
-#: plugins/personal/generic/generic.tpl:6
-msgid "Personal information"
-msgstr "Persoonlijke informatie"
 
-#: plugins/personal/generic/generic.tpl:20
-#: plugins/personal/generic/generic.tpl:22
-#: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/paste_generic.tpl:37
-#: plugins/personal/generic/generic_picture.tpl:5
-#: plugins/personal/generic/generic_picture.tpl:15
-msgid "Personal picture"
-msgstr "Persoonlijk plaatje"
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
+msgstr "Printer"
 
-#: plugins/personal/generic/generic.tpl:29
-#: plugins/personal/generic/generic.tpl:40
-msgid "Change picture"
-msgstr "Verander plaatje"
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
+#, fuzzy
+msgid "Object selection"
+msgstr "Groep instellingen"
 
-#: plugins/personal/generic/generic.tpl:62
-msgid "Template name"
-msgstr "Sjabloon naam"
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
+msgid "Phone queue"
+msgstr "Telefoonwachtrij"
 
-#: plugins/personal/generic/generic.tpl:151
-msgid "Preferred langage"
-msgstr "Voorkeurstaal"
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
+#, fuzzy
+msgid "Groupware"
+msgstr "Groepnaam"
 
-#: plugins/personal/generic/generic.tpl:191
-msgid "Private phone"
-msgstr "Telefoon privé"
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
+#, fuzzy
+msgid "System settings"
+msgstr "Gebruikersinstellingen"
 
-#: plugins/personal/generic/generic.tpl:212
-msgid "Password storage"
-msgstr "Wachtwoord encryptie"
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
+#, fuzzy
+msgid "Recipe"
+msgstr "Ontvanger"
 
-#: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/generic_certs.tpl:3
-msgid "Certificates"
-msgstr "Certificaten"
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
+msgstr "Apparaten"
 
-#: plugins/personal/generic/generic.tpl:232
-msgid "Edit certificates"
-msgstr "Bewerk certificaten"
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
+#, fuzzy
+msgid "Deployment summary"
+msgstr "Afdelingnaam"
 
-#: plugins/personal/generic/generic.tpl:244
-msgid "Restrict login to"
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:250
-#: plugins/personal/generic/generic.tpl:266
-msgid "IP or network"
-msgstr ""
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
+msgstr "Programma's"
 
-#: plugins/personal/generic/generic.tpl:287
-msgid "Organizational information"
-msgstr "Organisatie informatie"
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
+msgstr "Naam van de groep"
 
-#: plugins/personal/generic/generic.tpl:315
-msgid "Department No."
-msgstr "Afdeling nr."
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
+msgstr "Lidmaatschap objecten"
 
-#: plugins/personal/generic/generic.tpl:323
-msgid "Employee No."
-msgstr "Personeel nr."
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
+msgstr ""
 
-#: plugins/personal/generic/generic.tpl:389
-#: plugins/personal/generic/generic.tpl:571
-msgid "Room No."
-msgstr "Kamer nr."
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
+msgstr "geen"
 
-#: plugins/personal/generic/generic.tpl:585
-msgid "Please use the phone tab"
-msgstr "Gebruik a.u.b. de telefoon tab"
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
+msgstr "te veel verschillende object tpyes!"
 
-#: plugins/personal/generic/paste_generic.tpl:1
-msgid "User settings"
-msgstr "Gebruikersinstellingen"
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
+msgstr "gebruikers"
 
-#: plugins/personal/generic/paste_generic.tpl:23
-msgid "Clear password"
-msgstr "Wachtwoord wissen"
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
+msgstr "groepen"
 
-#: plugins/personal/generic/paste_generic.tpl:24
-msgid "Set new password"
-msgstr "Nieuw wachtwoord instellen"
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
+msgstr "programma's"
 
-#: plugins/personal/generic/paste_generic.tpl:52
-#: plugins/personal/generic/generic_picture.tpl:27
-msgid "Remove picture"
-msgstr "Plaatje verwijderen"
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
+msgstr "afdelingen"
 
-#: plugins/personal/generic/main.inc:168
-msgid "Generic user information"
-msgstr "Algemene gebruikersinformatie"
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
+msgstr "servers"
 
-#: plugins/personal/generic/password.tpl:4
-#: plugins/personal/password/password.tpl:4
-msgid ""
-"To change your personal password use the fields below. The changes take "
-"effect immediately. Please memorize the new password, because you wouldn't "
-"be able to login without it."
-msgstr ""
-"Gebruik het veld hieronder om uw persoonlijke wachtwoord te veranderen. De "
-"veranderingen worden direct doorgevoerd. Onthoud het nieuwe wachtwoord a.u."
-"b. aangezien u niet in zult kunnen loggen zonder dit wachtwoord."
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
+msgstr "werkstations"
 
-#: plugins/personal/generic/password.tpl:42
-#: plugins/personal/password/password.tpl:47
+#: plugins/admin/ogroups/class_ogroup.inc:328
 #, fuzzy
-msgid "Password change dialog"
-msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+msgid "Windows workstations"
+msgstr "Toon werkstations"
 
-#: plugins/personal/generic/password.tpl:90
-#: plugins/personal/password/password.tpl:95
-msgid "Clear fields"
-msgstr "Wis velden"
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
+msgstr "terminals"
 
-#: plugins/personal/generic/generic_certs.tpl:8
-msgid "Standard certificate"
-msgstr "Standaard certificaat"
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
+msgstr "telefoons"
 
-#: plugins/personal/generic/generic_certs.tpl:33
-msgid "S/MIME certificate"
-msgstr "S/MIME certificaat"
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
+msgstr "printers"
 
-#: plugins/personal/generic/generic_certs.tpl:57
-msgid "PKCS12 certificate"
-msgstr "PKCS12 certificaat"
+#: plugins/admin/ogroups/class_ogroup.inc:533
+#, fuzzy
+msgid "Non existing DN:"
+msgstr "Niet bestaande dn: "
+
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
+msgid ""
+"These systems are already configured by other object groups and cannot be "
+"added:"
+msgstr ""
+
+#: plugins/admin/ogroups/class_ogroup.inc:685
+#, fuzzy
+msgid "You can combine two different object types at maximum, only!"
+msgstr "U kunt maximaal twee verschillende object types tegelijk combineren!"
 
-#: plugins/personal/generic/nochange.tpl:2
-#: plugins/personal/password/nochange.tpl:2
+#: plugins/admin/ogroups/class_ogroup.inc:849
 #, fuzzy
-msgid "You have no permission to change your password at this time"
-msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
+msgid "Object group generic"
+msgstr "Objectgroep"
 
-#: plugins/personal/generic/nochange.tpl:5
-#, fuzzy
-msgid "Your password hash method will not be changed!"
-msgstr "Uw wachtwoord is verlopen! Kies a.u.b. een nieuw wachtwoord. "
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
+msgstr "Objectgroepen"
 
-#: plugins/personal/posix/class_posixAccount.inc:38
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
+msgstr ""
+
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
 #, fuzzy
-msgid "Edit users POSIX settings"
-msgstr "Posix instellingen"
+msgid "Templates"
+msgstr "Sjabloon"
 
-#: plugins/personal/posix/class_posixAccount.inc:168
-msgid "expired"
-msgstr "verlopen"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
+msgstr "Programma"
 
-#: plugins/personal/posix/class_posixAccount.inc:170
-msgid "grace time active"
-msgstr "gratie tijd actief"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+#, fuzzy
+msgid "Windows Install"
+msgstr "Windows werkstation"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-#: plugins/personal/posix/class_posixAccount.inc:175
-#: plugins/personal/posix/class_posixAccount.inc:177
-msgid "active"
-msgstr "actief"
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
+#, fuzzy
+msgid "ACL Templates"
+msgstr "Sjablonen"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
+#: plugins/admin/acl/acl-list.xml:11
 #, fuzzy
-msgid "password not changeable"
-msgstr "actief, wachtwoord onveranderbaar"
+msgid "List of ACLs"
+msgstr "Lijst met macro's"
 
-#: plugins/personal/posix/class_posixAccount.inc:175
+#: plugins/admin/acl/paste_role.tpl:1
 #, fuzzy
-msgid "password expired"
-msgstr "actief, wachtwoord verlopen"
+msgid "Paste ACL-role"
+msgstr "Verwijder gebruiker"
 
-#: plugins/personal/posix/class_posixAccount.inc:248
-msgid "automatic"
-msgstr "automatisch"
+#: plugins/admin/acl/acl-filter.xml:48
+#: plugins/admin/acl/class_aclManagement.inc:154
+#, fuzzy
+msgid "ACL Assignment"
+msgstr "Blokkeerlijst beheer"
 
-#: plugins/personal/posix/class_posixAccount.inc:444
-#, php-format
-msgid "Password can't be changed up to %s days after last change"
+#: plugins/admin/acl/class_aclManagement.inc:26
+msgid ""
+"Control access to GOsa managed objects down to attribute and action level"
 msgstr ""
-"Het wachtwoord kan pas %s dag(en) na de laatste wijziging gewijzigd worden"
 
-#: plugins/personal/posix/class_posixAccount.inc:448
-#, php-format
-msgid "Password must be changed after %s days"
-msgstr "Het wachtwoord moet na %s dag(en) gewijzigd worden"
+#: plugins/admin/acl/class_aclRole.inc:26
+#: plugins/admin/acl/class_aclRole.inc:715
+#, fuzzy
+msgid "Access control roles"
+msgstr "Toegangsopties"
 
-#: plugins/personal/posix/class_posixAccount.inc:452
-#, fuzzy, php-format
-msgid "Disable account after %s days of inactivity after password expiry"
+#: plugins/admin/acl/class_aclRole.inc:27
+#, fuzzy
+msgid "Edit AC roles"
+msgstr "Rechten"
+
+#: plugins/admin/acl/class_aclRole.inc:138
+#, fuzzy
+msgid "Reset ACL"
+msgstr "Verwijderen"
+
+#: plugins/admin/acl/class_aclRole.inc:411
+msgid "No ACL settings for this category"
 msgstr ""
-"Blokkeer het account na %s dag(en) inactiviteit nadat het wachtwoord "
-"verlopen is"
 
-#: plugins/personal/posix/class_posixAccount.inc:456
+#: plugins/admin/acl/class_aclRole.inc:413
 #, fuzzy, php-format
-msgid "Warn user %s days before password expiry"
-msgstr "Waarschuw de gebruiker %s dagen voordat het wachtwoord verloopt"
+msgid "ACL for these objects: %s"
+msgstr "Nieuw FAI object aanmaken"
 
-#: plugins/personal/posix/class_posixAccount.inc:793
-msgid "Timeout while waiting for lock. Ignoring lock!"
-msgstr ""
+#: plugins/admin/acl/class_aclRole.inc:418
+#, fuzzy
+msgid "Edit category ACL"
+msgstr "Bewerk klasse"
 
-#: plugins/personal/posix/class_posixAccount.inc:851
-#: plugins/personal/posix/class_posixAccount.inc:1169
-msgid "Group of user"
-msgstr "Gebruikersgroep"
+#: plugins/admin/acl/class_aclRole.inc:421
+#, fuzzy
+msgid "Delete category ACL"
+msgstr "Categorie"
 
-#: plugins/personal/posix/class_posixAccount.inc:946
-msgid ""
-"A duplicated UID number was written for this user. If this was not intended "
-"please verify all used uidNumbers!"
+#: plugins/admin/acl/class_aclRole.inc:442
+#, php-format
+msgid "Edit ACL for '%s', scope is '%s'"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1027
-#: plugins/personal/posix/class_posixAccount.inc:1030
-#: plugins/personal/posix/class_posixAccount.inc:1105
-#: plugins/personal/posix/class_posixAccount.inc:1108
-#: plugins/personal/posix/class_posixAccount.inc:1461
-#: plugins/personal/posix/generic.tpl:7
-#: plugins/personal/posix/paste_generic.tpl:8
-msgid "Home directory"
-msgstr "Persoonlijke map"
+#: plugins/admin/acl/class_aclRole.inc:635
+#, fuzzy
+msgid "Object in use"
+msgstr "Objectnaam"
 
-#: plugins/personal/posix/class_posixAccount.inc:1038
-#: plugins/personal/posix/class_posixAccount.inc:1041
-#: plugins/personal/posix/generic.tpl:63
-#: plugins/personal/posix/paste_generic.tpl:36
-msgid "UID"
-msgstr "UID"
+#: plugins/admin/acl/class_aclRole.inc:635
+#, php-format
+msgid "This role cannot be removed while it is in use by these objects:"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1061
-#: plugins/personal/posix/class_posixAccount.inc:1114
+#: plugins/admin/acl/class_aclRole.inc:731
 #, fuzzy
-msgid "shadowMin"
-msgstr "Schaduwen van andere sessie"
+msgid "RDN for role storage."
+msgstr "Kiosk profiel instellingen"
 
-#: plugins/personal/posix/class_posixAccount.inc:1066
-#: plugins/personal/posix/class_posixAccount.inc:1119
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
 #, fuzzy
-msgid "shadowMax"
-msgstr "Schaduwen van andere sessie"
+msgid "Domain component"
+msgstr "Windows beheerders"
 
-#: plugins/personal/posix/class_posixAccount.inc:1071
-#: plugins/personal/posix/class_posixAccount.inc:1124
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
 #, fuzzy
-msgid "shadowWarning"
-msgstr "Schaduwen van andere sessie"
+msgid "Locality name"
+msgstr "Naam van de locatie"
 
-#: plugins/personal/posix/class_posixAccount.inc:1085
-#: plugins/personal/posix/class_posixAccount.inc:1138
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
 #, fuzzy
-msgid "shadowInactive"
-msgstr "Schaduwen van andere sessie"
+msgid "Name of locality to create"
+msgstr "Naam van de aan te maken subtree"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
-#, fuzzy
-msgid "POSIX account"
-msgstr "GLPI account"
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
+msgstr "Omschrijving voor de afdeling"
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
-#: plugins/personal/posix/generic.tpl:15
-msgid "Shell"
-msgstr "Shell"
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
+msgid "Administrative settings"
+msgstr "Administratieve instellingen"
 
-#: plugins/personal/posix/class_posixAccount.inc:1463
-#: setup/setup_migrate.tpl:291
-msgid "User ID"
-msgstr "Gebruikers ID"
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
+msgstr "Markeer de afdeling als een onafhankelijke administratieve eenheid"
 
-#: plugins/personal/posix/class_posixAccount.inc:1464
-#, fuzzy
-msgid "Group ID"
-msgstr "Groep"
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
+msgstr "Land"
 
-#: plugins/personal/posix/class_posixAccount.inc:1466
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
 #, fuzzy
-msgid "Force password change on login"
-msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+msgid "Locality"
+msgstr "Plaats"
 
-#: plugins/personal/posix/class_posixAccount.inc:1467
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
 #, fuzzy
-msgid "Shadow min"
-msgstr "Schaduwen van andere sessie"
+msgid "Domain"
+msgstr "in domein"
 
-#: plugins/personal/posix/class_posixAccount.inc:1468
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #, fuzzy
-msgid "Shadow max"
-msgstr "Schaduwen van andere sessie"
+msgid "Country name"
+msgstr "Land"
 
-#: plugins/personal/posix/class_posixAccount.inc:1469
+#: plugins/admin/departments/country.tpl:14
 #, fuzzy
-msgid "Shadow warning"
-msgstr "Schaduwen van andere sessie"
+msgid "Name of country to create"
+msgstr "Naam van de aan te maken subtree"
 
-#: plugins/personal/posix/class_posixAccount.inc:1470
+#: plugins/admin/departments/dep-list.xml:11
 #, fuzzy
-msgid "Shadow inactive"
-msgstr "Schaduwen van andere sessie"
+msgid "List of structural objects"
+msgstr "Lijst met objectgroepen"
 
-#: plugins/personal/posix/class_posixAccount.inc:1471
+#: plugins/admin/departments/dep_move_confirm.tpl:2
 #, fuzzy
-msgid "Shadow expire"
-msgstr "Toon personen"
+msgid "You are currently moving/renaming this department."
+msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
 
-#: plugins/personal/posix/class_posixAccount.inc:1472
-msgid "Public SSH key"
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1473
-#, fuzzy
-msgid "System trust model"
-msgstr "Systeem vertrouwen"
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+msgid "GOsa can NOT fix this for you, yet."
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:25
-#: plugins/personal/posix/paste_generic.tpl:17
-msgid "Primary group"
-msgstr "Primaire groep"
+#: plugins/admin/departments/dep_move_confirm.tpl:12
+msgid ""
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:36
-msgid "Status"
-msgstr "Status"
+#: plugins/admin/departments/organization.tpl:11
+#, fuzzy
+msgid "Name of organization"
+msgstr "Organisatie"
 
-#: plugins/personal/posix/generic.tpl:41
+#: plugins/admin/departments/organization.tpl:14
 #, fuzzy
-msgid "Last logon"
-msgstr "Achternaam"
+msgid "Name of organization to create"
+msgstr "Naam van de aan te maken subtree"
 
-#: plugins/personal/posix/generic.tpl:59
-#: plugins/personal/posix/paste_generic.tpl:31
-msgid "Force UID/GID"
-msgstr "Forceer UID/GID"
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
+msgstr "Categorie voor deze subtree"
 
-#: plugins/personal/posix/generic.tpl:89
-#: plugins/personal/posix/paste_generic.tpl:55
-msgid "Group membership"
-msgstr "Groep lidmaatschap"
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
+msgstr "Provincie waar deze subtree zich bevindt"
 
-#: plugins/personal/posix/generic.tpl:91
-#: plugins/personal/posix/paste_generic.tpl:62
-msgid "(Warning: more than 16 groups are not supported by NFS!)"
-msgstr "(Waarschuwing: NFS ondersteunt niet meer dan 16 groepen!)"
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
+msgstr "Plaats van deze subtree"
 
-#: plugins/personal/posix/generic.tpl:100
-#, fuzzy
-msgid "Common group"
-msgstr "Toon groepen"
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
+msgstr "Post adres van deze subtree"
 
-#: plugins/personal/posix/generic.tpl:104
-#, fuzzy
-msgid "Groups differ"
-msgstr "Gebruikersgroep"
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
+msgstr "Basis telefoonnummer van deze subtree"
 
-#: plugins/personal/posix/generic.tpl:127
-msgid "SSH keys"
-msgstr ""
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
+msgstr "Basis Fax nummer van deze subtree"
 
-#: plugins/personal/posix/generic.tpl:128
-msgid "Edit public ssh keys..."
+#: plugins/admin/departments/class_department.inc:439
+#, fuzzy
+msgid "Cannot find an unused tag for this administrative unit!"
 msgstr ""
+"Fatale fout: Kon geen ongebruikte markering vinden om de administratieve "
+"eenheid te markeren!"
+
+#: plugins/admin/departments/class_department.inc:507
+#, php-format
+msgid "Tagging '%s'."
+msgstr "Markeren van '%s'."
 
-#: plugins/personal/posix/generic.tpl:132
-msgid "Account"
-msgstr "Account"
+#: plugins/admin/departments/class_department.inc:588
+#, php-format
+msgid "Moving '%s' to '%s'"
+msgstr "Verplaatsen van %s naar %s"
 
-#: plugins/personal/posix/posix_groups.tpl:6
-msgid "Select groups to add"
-msgstr "Selecteer de toe te voegen groepen"
+#: plugins/admin/departments/class_department.inc:629
+#, php-format
+msgid "FAILED to copy %s, aborting operation"
+msgstr "Kopieren van %s is mislukt. Bewerking afgebroken."
 
-#: plugins/personal/posix/posix_groups.tpl:32
-msgid "Display groups of department"
-msgstr "Toon groepen van afdeling"
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
+msgstr "Afdelingen"
 
-#: plugins/personal/posix/posix_groups.tpl:44
-msgid "Display groups matching"
-msgstr "Toon overeenkomende groepen"
+#: plugins/admin/departments/class_department.inc:674
+msgid "Department name"
+msgstr "Afdelingnaam"
 
-#: plugins/personal/posix/posix_groups.tpl:48
-msgid "Regular expression for matching group names"
-msgstr "Reguliere expressie voor overeenkomende groepnamen"
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
+msgstr "Telefoon"
 
-#: plugins/personal/posix/posix_groups.tpl:55
-msgid "Display groups of user"
-msgstr "Toon groepen van gebruiker"
+#: plugins/admin/departments/class_department.inc:737
+#, php-format
+msgid "Object '%s' is already tagged"
+msgstr "Object '%s' is al gemarkeerd"
 
-#: plugins/personal/posix/posix_groups.tpl:59
-msgid "User name of which groups are shown"
-msgstr "Gebruikersnaam van wie de groepen getoond worden"
+#: plugins/admin/departments/class_department.inc:744
+#, php-format
+msgid "Adding tag (%s) to object '%s'"
+msgstr "Toevoegen van markering (%s) aan object '%s'"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:11
-msgid "Show servers"
-msgstr "Toon servers"
+#: plugins/admin/departments/class_department.inc:776
+#, php-format
+msgid "Removing tag from object '%s'"
+msgstr "Verwijderen van markering van object '%s'"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:12
-msgid "Show workstations"
-msgstr "Toon werkstations"
+#: plugins/admin/departments/dep_iframe.tpl:1
+msgid "Processing the requested operation"
+msgstr "Bezig met verwerken van de gevraagde opdracht"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:13
-msgid "Show terminals"
-msgstr "Toon terminals"
+#: plugins/admin/departments/dep_iframe.tpl:7
+#, fuzzy
+msgid ""
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
+msgstr ""
+"Uw browser heeft geen ondersteuning voor frames. Gebruik a.u.b. deze link om "
+"de gewenste opdracht uit te voeren."
 
-#: plugins/personal/posix/paste_generic.tpl:4
-msgid "Posix settings"
-msgstr "Posix instellingen"
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
+#, fuzzy
+msgid "Domain Component"
+msgstr "Windows beheerders"
 
-#: plugins/personal/posix/main.inc:142
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 #, fuzzy
-msgid "POSIX settings"
-msgstr "Posix instellingen"
+msgid "Organization name"
+msgstr "Organisatie"
 
-#: plugins/personal/posix/posix_shadow.tpl:9
-msgid "User must change password on first login"
-msgstr "Het wachtwoord moet bij de eerste aanmelding gewijzigd worden"
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+msgid "Phone number"
+msgstr "Telefoonnummer"
 
-#: plugins/personal/posix/posix_shadow.tpl:34
-msgid "Password expires on"
-msgstr "Wachtwoord verloopt op"
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
+msgstr "Naam van de afdeling"
 
-#: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
-#, fuzzy
-msgid "Password settings"
-msgstr "Gebruikersinstellingen"
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
+msgstr "Naam van de aan te maken subtree"
 
-#: plugins/personal/password/password.tpl:14
+#: plugins/admin/departments/generic.tpl:22
 #, fuzzy
-msgid "Your Password has expired. Please choose a new password!"
-msgstr "Uw wachtwoord is verlopen! Kies a.u.b. een nieuw wachtwoord. "
+msgid "Descriptive text for   department"
+msgstr "Omschrijving voor de afdeling"
 
-#: plugins/personal/password/class_password.inc:27
+#: plugins/admin/departments/class_departmentManagement.inc:25
 #, fuzzy
-msgid "Change user password"
-msgstr "Verander wachtwoord"
-
-#: plugins/personal/password/class_password.inc:129
-msgid "You need to specify your current password in order to proceed."
-msgstr "U moet uw huidige wachtwoord opgeven om door te kunnen gaan."
-
-#: plugins/personal/password/class_password.inc:135
-msgid "The password you've entered as 'New password' is empty."
-msgstr "Het nieuw ingevoerde wachtwoord is leeg."
+msgid "Directory structure"
+msgstr "Directory"
 
-#: plugins/personal/password/class_password.inc:144
-#, fuzzy, php-format
-msgid "External password changer reported a problem: %s."
-msgstr "Extern wachtwoord verander mechanisme rapporteerde een probleem:"
+#: plugins/admin/departments/class_departmentManagement.inc:26
+msgid ""
+"Manage organizations, organizational units, localities, countries and more"
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:158
+#: plugins/admin/departments/class_departmentManagement.inc:125
 msgid ""
-"The password you've entered as your current password doesn't match the real "
-"one."
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
 msgstr ""
-"Het wachtwoord dat u opgegeven heeft als uw huidige wachtwoord is niet "
-"correct."
 
-#: plugins/personal/password/class_password.inc:164
+#: plugins/admin/departments/domain.tpl:11
 #, fuzzy
-msgid "You have no permission to change your password."
-msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
+msgid "Domain name"
+msgstr "Windows beheerders"
 
-#: plugins/personal/password/class_password.inc:201
+#: plugins/admin/departments/domain.tpl:14
 #, fuzzy
-msgid "User password"
-msgstr "Wachtwoord wissen"
+msgid "Name of domain to create"
+msgstr "Naam van de aan te maken subtree"
 
-#: setup/class_setupStep_Feedback.inc:92
-#, fuzzy
-msgid "UNIX accounts/groups"
-msgstr "Account code"
+#: plugins/admin/users/password.tpl:4
+msgid ""
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
+msgstr ""
+"Gebruik de velden hieronder om het gebruikers wachtwoord te veranderen. De "
+"veranderingen worden onmiddelijk doorgevoerd. Onthoud het nieuwe wachtwoord "
+"a.u.b. aangezien de gebruiker niet in kan loggen zonder dit wachtwoord."
 
-#: setup/class_setupStep_Feedback.inc:94
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
 #, fuzzy
-msgid "Samba management"
-msgstr "Systeembeheer"
+msgid "Password input dialog"
+msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: setup/class_setupStep_Feedback.inc:96
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
 #, fuzzy
-msgid "Mailsystem management"
-msgstr "Systeembeheer"
+msgid "Strength"
+msgstr "Straat"
 
-#: setup/class_setupStep_Feedback.inc:98
+#: plugins/admin/users/password.tpl:95
 #, fuzzy
-msgid "FAX system administration"
-msgstr "Gebruikersbeheer"
+msgid "Enforce password change on next login."
+msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: setup/class_setupStep_Feedback.inc:100
+#: plugins/admin/users/templatize.tpl:2
 #, fuzzy
-msgid "Asterisk administration"
-msgstr "Gebruikersbeheer"
+msgid "Applying a template"
+msgstr "Sjablonen"
 
-#: setup/class_setupStep_Feedback.inc:102
-#, fuzzy
-msgid "System inventory"
-msgstr "Inventaris verwijderen"
+#: plugins/admin/users/templatize.tpl:6
+msgid ""
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:104
+#: plugins/admin/users/templatize.tpl:13
 #, fuzzy
-msgid "System-/Configmanagement"
-msgstr "Systeembeheer"
+msgid "Apply user template"
+msgstr "Sjablonen"
 
-#: setup/class_setupStep_Feedback.inc:106
-msgid "Addressbook"
-msgstr "Adresboek"
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
+msgstr "Sjabloon"
 
-#: setup/class_setupStep_Feedback.inc:112
-msgid "Feedback"
-msgstr ""
+#: plugins/admin/users/templatize.tpl:32
+#, fuzzy
+msgid "No templates available!"
+msgstr "Bestand is beschikbaar"
+
+#: plugins/admin/users/user-filter.xml:33
+msgid "Show templates"
+msgstr "Toon sjablonen"
 
-#: setup/class_setupStep_Feedback.inc:113
+#: plugins/admin/users/user-filter.xml:47
 #, fuzzy
-msgid "Get notifications or send feedback"
-msgstr "Secties voor deze versie"
+msgid "Show POSIX users"
+msgstr "Posix instellingen"
 
-#: setup/class_setupStep_Feedback.inc:114
+#: plugins/admin/users/user-filter.xml:61
 #, fuzzy
-msgid "Notification and feedback"
-msgstr "Geen certificaat geinstalleerd"
+msgid "Show SAMBA users"
+msgstr "Toon servers"
 
-#: setup/class_setupStep_Feedback.inc:131 setup/class_setup.inc:77
+#: plugins/admin/users/user-filter.xml:75
 #, fuzzy
-msgid "Setup error"
-msgstr "Systeem status"
+msgid "Show mail users"
+msgstr "Toon E-mail gebruikers"
 
-#: setup/class_setupStep_Feedback.inc:140
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Feedback error"
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
+msgstr "Een nieuwe gebruiker aanmaken m.b.v. een sjabloon"
+
+#: plugins/admin/users/template.tpl:6
+msgid ""
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
 msgstr ""
+"Het aanmaken van een nieuwe gebruiker kan m.b.v. sjablonen gebeuren. Veel "
+"database records zullen dan automatisch gevuld worden. Kies 'geen' om het "
+"gebruik van sjablonen over te slaan."
 
-#: setup/class_setupStep_Feedback.inc:140
-#, php-format
-msgid "Cannot send feedback to '%s': %s"
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Cannot send feedback: service temporarily unavailable"
+#: plugins/admin/users/class_userManagement.inc:26
+msgid ""
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:181
+#: plugins/admin/users/class_userManagement.inc:401
 #, fuzzy
-msgid "Please specify a valid email address."
-msgstr "Geef a.u.b. een geldige scriptnaam op."
+msgid "You have no permission to change this users password!"
+msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
 
-#: setup/class_setupStep_Feedback.inc:185
+#: plugins/admin/users/class_userManagement.inc:791
+#, fuzzy
+msgid "Account locking"
+msgstr "Account"
+
+#: plugins/admin/users/class_userManagement.inc:792
+#, php-format
 msgid ""
-"You have to select at least one of both options, subscribe or send feedback."
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
 msgstr ""
 
-#: setup/class_setup.inc:197
+#: plugins/admin/users/class_userManagement.inc:865
 #, fuzzy
-msgid "Completed"
-msgstr "onvolledig"
+msgid "Unlock account"
+msgstr "Mijn account"
 
-#: setup/class_setup.inc:267 setup/setup_migrate.tpl:272
+#: plugins/admin/users/class_userManagement.inc:867
 #, fuzzy
-msgid "Next"
-msgstr "tekst"
+msgid "Lock account"
+msgstr "Mijn account"
 
-#: setup/setup_config2.tpl:2
-msgid "Samba settings"
-msgstr "Samba Instellingen"
+#: plugins/admin/users/class_userManagement.inc:880
+msgid "Edit generic properties"
+msgstr "Bewerk algemene eigenschappen"
 
-#: setup/setup_config2.tpl:6
-msgid "Samba hash generator"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
+msgstr "Netatalk"
 
-#: setup/setup_config2.tpl:15
+#: plugins/admin/users/class_userManagement.inc:896
 #, fuzzy
-msgid "Samba SID"
-msgstr "Samba"
+msgid "Edit Netatalk properties"
+msgstr "Bewerk Netatalk eigenschappen"
 
-#: setup/setup_config2.tpl:31
-#, fuzzy
-msgid "RID base"
-msgstr "Database"
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
+msgstr "Fax"
 
-#: setup/setup_config2.tpl:46
+#: plugins/admin/users/class_userManagement.inc:904
 #, fuzzy
-msgid "Workstation container"
-msgstr "Werkstation naam"
+msgid "Edit FAX properties"
+msgstr "Bewerk UNIX eigenschappen"
+
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
+msgstr "Lijst met gebruikers"
 
-#: setup/setup_config2.tpl:61
+#: plugins/admin/users/user-list.xml:140
 #, fuzzy
-msgid "Samba SID mapping"
-msgstr "Samba"
+msgid "Lock users"
+msgstr "Lijst met gebruikers"
 
-#: setup/setup_config2.tpl:71
+#: plugins/admin/users/user-list.xml:148
 #, fuzzy
-msgid "Timezone"
-msgstr "Tijdzone"
+msgid "Unlock users"
+msgstr "Windows gebruikers"
 
-#: setup/setup_config2.tpl:74
+#: plugins/admin/users/user-list.xml:167
 #, fuzzy
-msgid "Please choose your preferred timezone here"
-msgstr "Voorkeurstaal"
+msgid "Apply template"
+msgstr "Sjablonen"
 
-#: setup/setup_config2.tpl:96
+#: plugins/admin/users/user-list.xml:199
 #, fuzzy
-msgid "Additional GOsa settings"
-msgstr "Programma instellingen"
+msgid "New user from template"
+msgstr "Maak gebruiker aan vanuit sjabloon"
 
-#: setup/setup_config2.tpl:100
-msgid "Enable Copy & Paste"
-msgstr ""
+#: plugins/admin/users/user-list.xml:213
+msgid "Edit user"
+msgstr "Bewerk gebruiker"
 
-#: setup/setup_config2.tpl:112
-#, fuzzy
-msgid "Government mode"
-msgstr "naar map"
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
+msgstr ""
 
-#: setup/setup_config2.tpl:123
+#: plugins/admin/users/user-list.xml:245
 #, fuzzy
-msgid "GOsa logging"
-msgstr "GOsa"
-
-#: setup/setup_config2.tpl:135
-msgid "Mail settings"
-msgstr "E-mail instellingen"
+msgid "Remove user"
+msgstr "Plaatje verwijderen"
 
-#: setup/setup_config2.tpl:139
-msgid "Mail method"
-msgstr "E-mail methode"
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
+msgid "Back to main menu"
+msgstr ""
 
-#: setup/setup_config2.tpl:155
-msgid "Account identification attribute"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
 msgstr ""
 
-#: setup/setup_config2.tpl:169
-#, fuzzy
-msgid "Vacation templates"
-msgstr "Werkstation sjabloon"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
+msgstr ""
 
-#: setup/setup_config2.tpl:185
-msgid "Use Cyrus UNIX style"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
 msgstr ""
 
-#: setup/setup_config2.tpl:195
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
 #, fuzzy
-msgid "Snapshots / Undo"
-msgstr "Het opslaan van de telefoon is mislukt"
+msgid "Action"
+msgstr "Acties"
 
-#: setup/setup_config2.tpl:204 setup/setup_config2.tpl:249
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
 #, fuzzy
-msgid "Enable snapshots"
-msgstr "Nagios account aanmaken"
+msgid "Systems"
+msgstr "Systeem"
 
-#: setup/setup_config2.tpl:210 setup/setup_config2.tpl:255
-#, fuzzy
-msgid "Snapshot base"
-msgstr "Het opslaan van de telefoon is mislukt"
+#: plugins/generic/statistics/statistics.tpl:2
+msgid "Usage statistics"
+msgstr ""
 
-#: setup/setup_frame.tpl:12
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
+msgid ""
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
 #, fuzzy
-msgid "GOsa setup wizard"
+msgid "Dash board"
 msgstr "GOsa help"
 
-#: setup/setup_frame.tpl:19
+#: plugins/generic/statistics/statistics.tpl:16
 #, fuzzy
-msgid "Installation"
-msgstr "Windows werkstation"
+msgid ""
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
+msgstr ""
+"Kan niet verbinden met de opgegeven database. Controleer uw GLPI "
+"configuratie a.u.b."
+
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
+msgstr ""
 
-#: setup/setup_frame.tpl:19
+#: plugins/generic/statistics/statistics.tpl:87
 #, fuzzy
-msgid "Setup"
-msgstr "Stel in"
+msgid "Select report type"
+msgstr "Selecteer een basis"
 
-#: setup/setup_migrate.tpl:5
+#: plugins/generic/statistics/class_statistics.inc:263
+#, fuzzy, php-format
 msgid ""
-"During the LDAP inspection, we're going to check for several common pitfalls "
-"that may occur when migration to GOsa base LDAP administration. You may want "
-"to fix the problems below, in order to provide smooth services."
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
 msgstr ""
+"U bent momenteel database gegevens aan het bewerken. Wilt u eventuele "
+"wijzigingen ongedaan maken?"
 
-#: setup/setup_migrate.tpl:33
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
 #, fuzzy
-msgid "Check again"
-msgstr "Controleer"
+msgid "Channels"
+msgstr "Annuleren"
 
-#: setup/setup_migrate.tpl:37
+#: plugins/generic/dashBoard/Register/register.tpl:3
 #, fuzzy
-msgid "Add required object classes to the LDAP base"
-msgstr "Toon FAI sjabloon objecten"
+msgid "GOsa registration"
+msgstr "Algemene wachtrij instellingen"
 
-#: setup/setup_migrate.tpl:39 setup/setup_migrate.tpl:244
-#: setup/setup_migrate.tpl:344 setup/setup_migrate.tpl:398
-#: setup/setup_migrate.tpl:453 setup/setup_migrate.tpl:496
-#: setup/setup_migrate.tpl:540
-#, fuzzy
-msgid "Current"
-msgstr "Nieuw FAI object aanmaken"
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
+msgstr ""
 
-#: setup/setup_migrate.tpl:46 setup/setup_migrate.tpl:248
-#: setup/setup_migrate.tpl:351 setup/setup_migrate.tpl:405
-#: setup/setup_migrate.tpl:457 setup/setup_migrate.tpl:500
-#: setup/setup_migrate.tpl:544
-#, fuzzy
-msgid "After migration"
-msgstr "Gebruikersbeheer"
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
+msgstr ""
 
-#: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:664 setup/class_setupStep_Migrate.inc:806
-#: setup/class_setupStep_Migrate.inc:1035
-#: setup/class_setupStep_Migrate.inc:2133
-#: setup/class_setupStep_Migrate.inc:2576
-#: setup/class_setupStep_Migrate.inc:2730
-#: setup/class_setupStep_Migrate.inc:3060
-#, fuzzy
-msgid "Migrate"
-msgstr "Aanmaken"
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
+msgstr ""
 
-#: setup/setup_migrate.tpl:60 setup/setup_migrate.tpl:107
-msgid "Close"
-msgstr "Sluiten"
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
+msgstr ""
 
-#: setup/setup_migrate.tpl:65
-msgid "Move windows workstations into a valid windows workstation department"
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
 msgstr ""
 
-#: setup/setup_migrate.tpl:67
+#: plugins/generic/dashBoard/Register/register.tpl:22
 msgid ""
-"This dialog allows you to move the displayed windows workstations into a "
-"valid department"
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
 msgstr ""
 
-#: setup/setup_migrate.tpl:69
-msgid ""
-"Be careful with this tool, there may be references pointing to this "
-"workstations that can't be migrated."
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
 msgstr ""
 
-#: setup/setup_migrate.tpl:95
-msgid "Move selected windows workstations into the following GOsa department"
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
 msgstr ""
 
-#: setup/setup_migrate.tpl:100
-#, fuzzy
-msgid "Move selected workstations"
-msgstr "Selecteer om werkstations te zien"
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
+msgstr ""
 
-#: setup/setup_migrate.tpl:101
-msgid "What will be done here"
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
 msgstr ""
 
-#: setup/setup_migrate.tpl:113
-msgid "Move groups into configured group tree"
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
 msgstr ""
 
-#: setup/setup_migrate.tpl:116
+#: plugins/generic/dashBoard/Register/register.tpl:33
 msgid ""
-"This dialog allows moving a couple of groups to the configured group tree. "
-"Doing this may straighten your LDAP service."
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
 msgstr ""
 
-#: setup/setup_migrate.tpl:119
+#: plugins/generic/dashBoard/Register/register.tpl:34
 msgid ""
-"Be careful with this option! There may be references pointing to these "
-"groups. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
 msgstr ""
 
-#: setup/setup_migrate.tpl:122
-msgid "Move selected groups into this group tree"
+#: plugins/generic/dashBoard/Register/register.tpl:35
+msgid ""
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
 msgstr ""
 
-#: setup/setup_migrate.tpl:153 setup/setup_migrate.tpl:205
-#: setup/setup_migrate.tpl:254 setup/setup_migrate.tpl:372
-#: setup/setup_migrate.tpl:425 setup/setup_migrate.tpl:469
-#: setup/setup_migrate.tpl:512 setup/setup_migrate.tpl:556
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
 #, fuzzy
-msgid "Hide changes"
-msgstr "Open-Xchange"
+msgid "Registration complete"
+msgstr "Bewerking afgerond"
+
+#: plugins/generic/dashBoard/Register/register.tpl:71
+msgid "GOsa instance sucessfully registered"
+msgstr ""
 
-#: setup/setup_migrate.tpl:155 setup/setup_migrate.tpl:207
-#: setup/setup_migrate.tpl:237 setup/setup_migrate.tpl:374
-#: setup/setup_migrate.tpl:427 setup/setup_migrate.tpl:472
-#: setup/setup_migrate.tpl:515 setup/setup_migrate.tpl:559
+#: plugins/generic/dashBoard/Register/register.tpl:82
 #, fuzzy
-msgid "Show changes"
-msgstr "Toon pakketten"
+msgid "GOsa instance will not be registered"
+msgstr "De sessie zal niet versleuteld zijn."
 
-#: setup/setup_migrate.tpl:168
-msgid "Move users into configured user tree"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
+msgid ""
+"Communciation with the backend failed! Please check your internet connection!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:170
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
 msgid ""
-"This dialog allows moving a couple of users to the configured user tree. "
-"Doing this may straighten your LDAP service."
+"Authentication failed, please check combination of username and password!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:173
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
 msgid ""
-"Be careful with this option! There may be references pointing to these "
-"users. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:176
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
 #, fuzzy
-msgid "Move selected users into this people tree"
-msgstr "Maak gebruiker aan met dit sjabloon"
+msgid "Notifications"
+msgstr "Beroep"
 
-#: setup/setup_migrate.tpl:219
-#, fuzzy
-msgid "Migrate GOsa 2.5 administrative accounts"
-msgstr "Netatalk account aanmaken"
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
+msgstr ""
 
-#: setup/setup_migrate.tpl:221
+#: plugins/generic/dashBoard/dashBoard.tpl:7
 msgid ""
-"This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
-"useable accounts."
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:257 setup/setup_ldap.tpl:65
+#: plugins/generic/dashBoard/dashBoard.tpl:13
 #, fuzzy
-msgid "Reload"
-msgstr "Lezen"
+msgid "GOsa dash board"
+msgstr "GOsa help"
+
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
+msgstr ""
 
-#: setup/setup_migrate.tpl:273
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
 #, fuzzy
-msgid "Abort"
-msgstr "Poort"
+msgid "Schema missing"
+msgstr "Samba Instellingen"
 
-#: setup/setup_migrate.tpl:275
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
 #, fuzzy
-msgid "Create a new GOsa administrator account"
-msgstr "Netatalk account aanmaken"
+msgid "Plugin status"
+msgstr "Systeem status"
 
-#: setup/setup_migrate.tpl:278
-msgid ""
-"This dialog will automatically add a new super administrator to your LDAP "
-"tree."
-msgstr ""
+#: plugins/generic/references/class_reference.inc:70
+#, fuzzy
+msgid "Role membership"
+msgstr "Groep lidmaatschap"
 
-#: setup/setup_migrate.tpl:307
+#: plugins/generic/references/class_reference.inc:76
 #, fuzzy
-msgid "Password (again)"
-msgstr "Wachtwoord encryptie"
+msgid "Object group membership"
+msgstr "Objectgroep"
 
-#: setup/setup_migrate.tpl:333
-msgid ""
-"The listed departments are currently invisible in the GOsa user interface. "
-"If you want to change this for a couple of entries, select them and use the "
-"migrate button below."
-msgstr ""
+#: plugins/generic/references/class_reference.inc:82
+#, fuzzy
+msgid "Department manager"
+msgstr "Afdeling beheer"
 
-#: setup/setup_migrate.tpl:334 setup/setup_migrate.tpl:389
-#: setup/setup_migrate.tpl:445 setup/setup_migrate.tpl:489
-#: setup/setup_migrate.tpl:533
-msgid ""
-"If you want to know what will be done when migrating the selected entries, "
-"use the 'Show changes' button to see the LDIF."
-msgstr ""
+#: plugins/generic/references/class_reference.inc:88
+#, fuzzy
+msgid "User manager"
+msgstr "Gebruikersnaam"
 
-#: setup/setup_migrate.tpl:388
-msgid ""
-"The listed users are currently invisible in the GOsa user interface. If you "
-"want to change this for a couple of users, just select them and use the "
-"'Migrate' button below."
-msgstr ""
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+#, fuzzy
+msgid "Object information"
+msgstr "Persoonlijke informatie"
 
-#: setup/setup_migrate.tpl:444
-msgid ""
-"The listed devices are currently invisible in the GOsa interface. If you "
-"want to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
-msgstr ""
+#: plugins/generic/references/contents.tpl:7
+#, fuzzy
+msgid "Show raw object entry"
+msgstr "Objectgroepen"
 
-#: setup/setup_migrate.tpl:488
-msgid ""
-"The listed services are currently invalid for the GOsa version you are going "
-"to install. If you want to update a couple of service, just select them and "
-"use the 'Migrate' button below."
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
+#, fuzzy
+msgid "Last modification"
+msgstr "Beroep"
+
+#: plugins/generic/references/contents.tpl:29
+#, fuzzy
+msgid "Object references"
+msgstr "Referenties"
+
+#: plugins/generic/references/contents.tpl:45
+#, fuzzy
+msgid "ACL trace"
+msgstr "type"
+
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
 msgstr ""
 
-#: setup/setup_migrate.tpl:532
-msgid ""
-"The listed menus are currently invisible in the GOsa interface. If you want "
-"to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+#: plugins/generic/references/class_aclResolver.inc:193
+#, fuzzy
+msgid "ACLs"
+msgstr "Rechten"
+
+#: plugins/generic/references/class_aclResolver.inc:198
+#, php-format
+msgid "List of effective ACLs for '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:38
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
 #, fuzzy
-msgid "Write configuration file"
-msgstr "Configuratie bestand"
+msgid "Object permissions"
+msgstr "Groep instellingen"
 
-#: setup/class_setupStep_Finish.inc:39
+#: plugins/generic/references/class_aclResolver.inc:311
 #, fuzzy
-msgid "Finish - write the configuration file"
-msgstr "Configuratie bestand"
+msgid "create"
+msgstr "Aanmaken"
 
-#: setup/class_setupStep_Finish.inc:104
+#: plugins/generic/references/class_aclResolver.inc:312
 #, fuzzy
-msgid ""
-"Your configuration file is currently world readable. Please update the file "
-"permissions!"
-msgstr "GOsa configuratie %s/gosa.conf is niet leesbaar. Geannuleerd."
+msgid "remove"
+msgstr "Verwijderen"
 
-#: setup/class_setupStep_Finish.inc:106
+#: plugins/generic/references/class_aclResolver.inc:313
 #, fuzzy
-msgid "The configuration is currently not readable or it does not exists."
-msgstr "GOsa configuratie %s/gosa.conf is niet leesbaar. Geannuleerd."
+msgid "move"
+msgstr "Verwijderen"
 
-#: setup/class_setupStep_Finish.inc:115
-#, fuzzy, php-format
-msgid ""
-"After downloading and placing the file under %s, please make sure that the "
-"user the webserver is running with is able to read %s, while other users "
-"shouldn't. You may want to execute these commands to achieve this "
-"requirement:"
-msgstr ""
-"Controleer dat de webserver het bestand kan lezen (zonder dat andere "
-"gebruikers dit kunnen) nadat u het bestand in de directory /etc/gosa "
-"geplaatst heeft. U wil misschien de volgende commando's uitvoeren om aan "
-"deze vereiste te voldoen: "
+#, fuzzy
+#~ msgid "List of items"
+#~ msgstr "Lijst met gebruikers"
 
-#: setup/class_setupStep_Checks.inc:38 setup/class_setupStep_Checks.inc:39
-msgid "Installation check"
-msgstr ""
+#, fuzzy
+#~ msgid "Edit item"
+#~ msgstr "Bewerk certificaten"
 
-#: setup/class_setupStep_Checks.inc:40
-msgid "Basic checks for PHP compatibility and extensions"
-msgstr ""
+#, fuzzy
+#~ msgid "Remove item"
+#~ msgstr "Plaatje verwijderen"
 
-#: setup/class_setupStep_Checks.inc:64
 #, fuzzy
-msgid "Checking PHP version"
-msgstr "Controle op PHP versie (>=4.1.0)"
+#~ msgid "Container"
+#~ msgstr "Doorgaan"
 
-#: setup/class_setupStep_Checks.inc:65
-#, fuzzy, php-format
-msgid "PHP must be of version %s or above."
-msgstr ""
-"PHP moet minimaal versienummer 4.1.0 hebben. GOsa gebruikt bepaalde "
-"functionaliteit die in voorgaande versies niet goed of helemaal niet "
-"voorhanden is."
+#, fuzzy
+#~ msgid "Config management"
+#~ msgstr "Systeembeheer"
 
-#: setup/class_setupStep_Checks.inc:66
-msgid "Please upgrade to a supported version."
-msgstr ""
+#, fuzzy
+#~ msgid "Distribution"
+#~ msgstr "Omschrijving"
 
-#: setup/class_setupStep_Checks.inc:73
-msgid "GOsa requires this module to talk with your LDAP server."
-msgstr ""
+#, fuzzy
+#~ msgid "Component"
+#~ msgstr "Windows beheerders"
 
-#: setup/class_setupStep_Checks.inc:81
-msgid "GOsa requires this module for an internationalized interface."
-msgstr ""
+#~ msgid "Home phone"
+#~ msgstr "Telefoon Privé"
 
-#: setup/class_setupStep_Checks.inc:89
-msgid "GOsa requires this module for the samba integration."
-msgstr ""
+#~ msgid "Organizational unit"
+#~ msgstr "Afdeling"
 
-#: setup/class_setupStep_Checks.inc:97
-msgid ""
-"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
-"encryption."
-msgstr ""
+#, fuzzy
+#~ msgid "Max"
+#~ msgstr "Mei"
 
-#: setup/class_setupStep_Checks.inc:105
-msgid "GOsa requires this module to talk to an IMAP server."
-msgstr ""
+#, fuzzy
+#~ msgid "Min"
+#~ msgstr "Hoofdmenu"
+
+#~ msgid "Welcome %s!"
+#~ msgstr "Welkom %s!"
 
-#: setup/class_setupStep_Checks.inc:112
 #, fuzzy
-msgid "mbstring"
-msgstr "Samba Instellingen"
+#~ msgid "The folder %s specified for %s:%s cannot be used for reading!"
+#~ msgstr ""
+#~ "Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module "
+#~ "'%s' bestaat niet."
 
-#: setup/class_setupStep_Checks.inc:113
-msgid "GOsa requires this module to handle unicode strings."
-msgstr ""
+#, fuzzy
+#~ msgid "Object info"
+#~ msgstr "Objectnaam"
 
-#: setup/class_setupStep_Checks.inc:120
 #, fuzzy
-msgid "MySQL"
-msgstr "LDAP fout:"
+#~ msgid "Acls"
+#~ msgstr "Alle"
 
-#: setup/class_setupStep_Checks.inc:121
 #, fuzzy
-msgid ""
-"GOsa requires this module to communicate with several supported databases."
-msgstr ""
-"MySQL ondersteuning is nodig voor het lezen van GOfax rapporten uit "
-"databases."
+#~ msgid ""
+#~ "The file '%s' specified for '%s:%s' cannot be created neither be used for "
+#~ "writing!"
+#~ msgstr ""
+#~ "Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module "
+#~ "'%s' bestaat niet."
 
-#: setup/class_setupStep_Checks.inc:138
-msgid "samba hash generator"
-msgstr ""
+#, fuzzy
+#~ msgid "The values for 'New password' and 'Repeated new password' differ!"
+#~ msgstr ""
+#~ "Het nieuwe wachtwoord en het herhaalde wachtwoord komen niet met elkaar "
+#~ "overeen."
 
-#: setup/class_setupStep_Checks.inc:139
-msgid "GOsa requires this command to synchronize POSIX and samba passwords."
-msgstr ""
+#, fuzzy
+#~ msgid "The password used as new and current are too similar!"
+#~ msgstr ""
+#~ "Het huidige wachtwoord en het nieuwe wachtwoord lijken te veel op elkaar."
 
-#: setup/class_setupStep_Checks.inc:140
-msgid ""
-"Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
-msgstr ""
+#, fuzzy
+#~ msgid "The password used as new is to short!"
+#~ msgstr "Het nieuw opgegeven wachtwoord is te kort."
+
+#, fuzzy
+#~ msgid "External password changer reported a problem: %s"
+#~ msgstr "Extern wachtwoord verander mechanisme rapporteerde een probleem:"
+
+#, fuzzy
+#~ msgid ""
+#~ "Command %s specified as post modify action for plugin %s does not exist!"
+#~ msgstr ""
+#~ "Het commando '%s' dat gespecificeerd is als CHECK inhaker voor module "
+#~ "'%s' bestaat niet."
+
+#, fuzzy
+#~ msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#~ msgstr ""
+#~ "FATAAL: Fout bij het verbinden met de LDAP server. De server meldt: '%s'."
+
+#, fuzzy
+#~ msgid "Username / UID is not unique inside the LDAP tree!"
+#~ msgstr ""
+#~ "Gebruikersnaam / UID is niet uniek. Controleer uw LDAP database a.u.b."
+
+#, fuzzy
+#~ msgid ""
+#~ "Username / UID is not unique inside the LDAP tree. Please contact your "
+#~ "Administrator."
+#~ msgstr ""
+#~ "Gebruikersnaam / UID is niet uniek. Controleer uw LDAP database a.u.b."
+
+#, fuzzy
+#~ msgid "LDAP server returned: %s"
+#~ msgstr "LDAP server"
+
+#, fuzzy
+#~ msgid ""
+#~ "Found multiple locks for object to be locked. This should not happen - "
+#~ "cleaning up multiple references."
+#~ msgstr ""
+#~ "Er zijn meerdere blokkades voor het te blokkeren object gevonden. Dat zou "
+#~ "niet mogelijk moeten zijn. Meervoudige verwijzingen worden opgeschoond."
+
+#, fuzzy
+#~ msgid "The size limit of %d entries is exceed!"
+#~ msgstr "De hoeveelheidslimiet van %d invoeren is overschreden!"
+
+#~ msgid ""
+#~ "Set the new size limit to %s and show me this message if the limit still "
+#~ "exceeds"
+#~ msgstr ""
+#~ "Stel de nieuwe hoeveelheidslimiet in op %s en toon me dit bericht indien "
+#~ "de limiet nog steeds overschreden wordt."
+
+#, fuzzy
+#~ msgid "incomplete"
+#~ msgstr "onvolledig"
+
+#, fuzzy
+#~ msgid "You're going to edit the LDAP entry/entries %s"
+#~ msgstr "U staat op het punt de invoer '%s' te kopieren."
+
+#~ msgid "Apply filter"
+#~ msgstr "Filter toepassen"
 
-#: setup/class_setupStep_Checks.inc:153
-msgid "imagick"
-msgstr ""
+#~ msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+#~ msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: setup/class_setupStep_Checks.inc:154
-msgid "GOsa requires this extension to handle images."
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot write to revision file!"
+#~ msgstr "Kan bestand '%s' niet aanmaken."
 
-#: setup/class_setupStep_Checks.inc:169
 #, fuzzy
-msgid "compression module"
-msgstr "Toegangsopties"
+#~ msgid "LDAP warning"
+#~ msgstr "LDAP beheer"
 
-#: setup/class_setupStep_Checks.inc:170
-msgid "GOsa requires this extension to handle snapshots."
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot get schema information from server. No schema check possible!"
+#~ msgstr ""
+#~ "Kan de schema informatie niet ophalen van de server. Schema controle is "
+#~ "onmogelijk!"
 
-#: setup/class_setupStep_Checks.inc:181
 #, fuzzy
-msgid ""
-"register_globals is a PHP mechanism to register all global variables to be "
-"accessible from scripts without changing the scope. This may be a security "
-"risk."
-msgstr ""
-"'register_globals' is een PHP mechanisme om alle globale variabelen te "
-"registreren zodat deze toegankelijk zijn voor scripts zonder dat de scope "
-"veranderd hoeft te worden. Dit is een veiligheidsrisico. GOsa zal in beide "
-"modi draaien."
+#~ msgid "Used to store account specific informations."
+#~ msgstr "Het account verloopt op"
 
-#: setup/class_setupStep_Checks.inc:182
 #, fuzzy
-msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
-msgstr "Controle of 'register_globals' ingesteld staat op 'off'"
+#~ msgid "Missing required object class '%s'!"
+#~ msgstr "Toon FAI sjabloon objecten"
 
-#: setup/class_setupStep_Checks.inc:190
-msgid "PHP uses this value for the garbage collector to delete old sessions."
-msgstr ""
+#, fuzzy
+#~ msgid "Missing optional object class '%s'!"
+#~ msgstr "Toon FAI sjabloon objecten"
 
-#: setup/class_setupStep_Checks.inc:191
 #, fuzzy
-msgid ""
-"Setting this value to one day will prevent loosing session and cookies "
-"before they really timeout."
-msgstr ""
-"PHP gebruikt deze waarde voor de garbage collector om oude sessies op te "
-"ruimen. Door deze waarde op een dag te zetten, voorkomt u dat sessie en "
-"cookie informatie verloren gaan, voordat deze daadwerkelijk ongeldig zijn."
+#~ msgid "Version mismatch for required object class '%s' (!=%s)!"
+#~ msgstr "Toon FAI sjabloon objecten"
 
-#: setup/class_setupStep_Checks.inc:192
 #, fuzzy
-msgid ""
-"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
-"higher."
-msgstr ""
-"Om GOsa zonder problemen te gebruiken, moet de session.auto_register optie "
-"in uw php.ini ingesteld zijn op 'Off'."
+#~ msgid "Class(es) available"
+#~ msgstr "Bestand is beschikbaar"
+
+#~ msgid ""
+#~ "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to "
+#~ "exist."
+#~ msgstr ""
+#~ "Het commando '%s' dat gespecificeerd is als POSTMODIFY voor module '%s' "
+#~ "bestaat niet."
 
-#: setup/class_setupStep_Checks.inc:199 setup/class_setupStep_Checks.inc:215
-#: setup/class_setupStep_Checks.inc:231 setup/class_setupStep_Checks.inc:247
 #, fuzzy
-msgid "Off"
-msgstr "Offline"
+#~ msgid "Cannot allocate a free ID:"
+#~ msgstr ""
+#~ "Er zitten te veel gebruikers in de database. Kan geen vrij ID toewijzen!"
 
-#: setup/class_setupStep_Checks.inc:200
 #, fuzzy
-msgid ""
-"In Order to use GOsa without any trouble, the session.auto_register option "
-"in your php.ini should be set to 'Off'."
-msgstr ""
-"Om GOsa zonder problemen te gebruiken, moet de session.auto_register optie "
-"in uw php.ini ingesteld zijn op 'Off'."
+#~ msgid "Cannot allocate a free ID!"
+#~ msgstr ""
+#~ "Er zitten te veel gebruikers in de database. Kan geen vrij ID toewijzen!"
 
-#: setup/class_setupStep_Checks.inc:201
 #, fuzzy
-msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
-msgstr ""
-"Om GOsa zonder problemen te gebruiken, moet de session.auto_register optie "
-"in uw php.ini ingesteld zijn op 'Off'."
+#~ msgid "Surename"
+#~ msgstr "Achternaam"
 
-#: setup/class_setupStep_Checks.inc:208
 #, fuzzy
-msgid ""
-"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
-"errors that are not reproducable! Increase it for larger setups."
-msgstr ""
-"GOsa heeft tenminste 16MB geheugen nodig. Minder geheugen kan diverse "
-"onvoorspelbare fouten opleveren!.Verhoog deze waarde nog verder voor zeer "
-"grote omgevingen."
+#~ msgid "External password changer reported a problem: %s."
+#~ msgstr "Extern wachtwoord verander mechanisme rapporteerde een probleem:"
 
-#: setup/class_setupStep_Checks.inc:209
-msgid ""
-"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
-msgstr ""
+#~ msgid "Username"
+#~ msgstr "Gebruikersnaam"
 
-#: setup/class_setupStep_Checks.inc:216
-#, fuzzy
-msgid ""
-"This option influences the PHP output handling. Turn this Option off, to "
-"increase performance."
-msgstr ""
-"Deze Optie definieert Uitvoer afhandeling. Zet deze Optie uit om "
-"snelheiswinst te behalen"
+#~ msgid ""
+#~ "You've successfully changed your password. Remember to change all "
+#~ "programms configured to use it as well."
+#~ msgstr ""
+#~ "U heeft succesvol uw wachtwoord veranderd. Denkt u eraan dat u alle "
+#~ "programma's die dit wachtwoord gebruiken ook aanpast!"
 
-#: setup/class_setupStep_Checks.inc:217
-msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
-msgstr ""
+#~ msgid "Admin DN"
+#~ msgstr "Beheerders DN"
 
-#: setup/class_setupStep_Checks.inc:224
 #, fuzzy
-msgid "The Execution time should be at least 30 seconds."
-msgstr ""
-"De uitvoer tijd moet minimaal 30 seconden zijn, omdat sommige acties lang "
-"kunnen duren."
+#~ msgid "Grant permission to owner"
+#~ msgstr "Kan bestand '%s' niet aanmaken."
 
-#: setup/class_setupStep_Checks.inc:225
-msgid ""
-"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
-msgstr ""
+#~ msgid "Password change not allowed"
+#~ msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: setup/class_setupStep_Checks.inc:232
-#, fuzzy
-msgid ""
-"Increase the server security by setting expose_php to 'off'. PHP won't send "
-"any information about the server you are running in this case."
-msgstr ""
-"Verhoog de server veiligheid door 'expose_php' op 'Off' in te stellen. PHP "
-"zal dan geen enkele informatie over de Server die u gebruikt weergeven."
+#~ msgid "Preferred langage"
+#~ msgstr "Voorkeurstaal"
 
-#: setup/class_setupStep_Checks.inc:233
-msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
-msgstr ""
+#~ msgid "Posix settings"
+#~ msgstr "Posix instellingen"
 
-#: setup/class_setupStep_Checks.inc:239
 #, fuzzy
-msgid "On"
-msgstr "Open"
+#~ msgid "You have no permission to set your password!"
+#~ msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
 
-#: setup/class_setupStep_Checks.inc:240
-msgid ""
-"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
-"escape all quotes in strings in this case."
-msgstr ""
-"Verhoog de server veiligheid door 'magic_quotes_gpc op 'On' in te stellen."
-"PHP zal dan alle aanhalingstekens in strings omzetten."
+#~ msgid ""
+#~ "You have changed the method your password is stored in the ldap database. "
+#~ "For that reason you've to enter your password at this point again. GOsa "
+#~ "will then encode it with the selected method."
+#~ msgstr ""
+#~ "U heeft de manier waarop uw wachtwoord wordt opgeslagen in de LDAP "
+#~ "database veranderd. Daarom moet u het wachtwoord op dit moment opnieuw "
+#~ "invoeren. GOsa zal dan het wachtwoord versleutelen op de door u "
+#~ "geselecteerde methode."
 
-#: setup/class_setupStep_Checks.inc:241
-#, fuzzy
-msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
-msgstr "Controle of 'register_globals' ingesteld staat op 'off'"
+#~ msgid "Posix"
+#~ msgstr "Posix"
 
-#: setup/class_setupStep_Checks.inc:248
 #, fuzzy
-msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
-msgstr ""
-"Verhoog de server veiligheid door 'magic_quotes_gpc op 'On' in te stellen."
-"PHP zal dan alle aanhalingstekens in strings omzetten."
+#~ msgid "Edit posix properties"
+#~ msgstr "Bewerk telefoon eigenschappen"
 
-#: setup/class_setupStep_Checks.inc:249
 #, fuzzy
-msgid ""
-"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
-msgstr ""
-"Om GOsa zonder problemen te gebruiken, moet de session.auto_register optie "
-"in uw php.ini ingesteld zijn op 'Off'."
+#~ msgid "Acl"
+#~ msgstr "Alle"
 
-#: setup/class_setupStep_Checks.inc:259
 #, fuzzy
-msgid "Configuration writeable"
-msgstr "Configuratie bestand"
+#~ msgid "winstations"
+#~ msgstr "Windows werkstation"
 
-#: setup/class_setupStep_Checks.inc:260
 #, fuzzy
-msgid "The configuration file can't be written"
-msgstr "Configuratie bestand"
-
-#: setup/class_setupStep_Checks.inc:261
-#, php-format
-msgid ""
-"GOsa reads its configuration from a file located in (%s/%s). The setup can "
-"write the configuration directly if it is writeable."
-msgstr ""
+#~ msgid "Sytem trust"
+#~ msgstr "Systeem vertrouwen"
 
-#: setup/setup_config3.tpl:2
 #, fuzzy
-msgid "GOsa core settings"
-msgstr "E-mail instellingen"
+#~ msgid "Processing"
+#~ msgstr "Rechten"
 
-#: setup/setup_config3.tpl:6
 #, fuzzy
-msgid "Enable primary group filter"
-msgstr "Toon groepen van gebruiker"
+#~ msgid "Created"
+#~ msgstr "Aanmaken"
 
-#: setup/setup_config3.tpl:18
 #, fuzzy
-msgid "Display summary in listings"
-msgstr "Toon overeenkomende macro's"
+#~ msgid "No Content"
+#~ msgstr "Inhoud"
 
-#: setup/setup_config3.tpl:30
 #, fuzzy
-msgid "Honour administrative units"
-msgstr "Groepen beheer"
+#~ msgid "Reset Content"
+#~ msgstr "Inhoud"
 
-#: setup/setup_config3.tpl:42
 #, fuzzy
-msgid "Smarty compile directory"
-msgstr "Persoonlijke map"
+#~ msgid "Partial Content"
+#~ msgstr "Postcode"
 
-#: setup/setup_config3.tpl:51
-msgid "SNMP community"
-msgstr ""
+#, fuzzy
+#~ msgid "Multi-Status"
+#~ msgstr "Status"
 
-#: setup/setup_config3.tpl:60
 #, fuzzy
-msgid "Path for PPD storage"
-msgstr "Wachtwoord encryptie"
+#~ msgid "See Other"
+#~ msgstr "Verwijder gebruiker"
 
-#: setup/setup_config3.tpl:77
 #, fuzzy
-msgid "Path for kiosk profile storage"
-msgstr "Kiosk profiel instellingen"
+#~ msgid "Not Modified"
+#~ msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: setup/setup_config3.tpl:96
-msgid "SUDO role base"
-msgstr ""
+#, fuzzy
+#~ msgid "Use Proxy"
+#~ msgstr "Proxy"
 
-#: setup/setup_config3.tpl:115
 #, fuzzy
-msgid "Mail queue script"
-msgstr "Inlogscript"
+#~ msgid "(reserviert)"
+#~ msgstr "servers"
 
-#: setup/setup_config3.tpl:134
 #, fuzzy
-msgid "Notification script"
-msgstr "Geen certificaat geinstalleerd"
+#~ msgid "Not Found"
+#~ msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: setup/setup_config3.tpl:153
-msgid "Enable edit locking"
-msgstr ""
+#, fuzzy
+#~ msgid "Method Not Allowed"
+#~ msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: setup/setup_config3.tpl:174
-msgid "Gosa support daemon"
-msgstr ""
+#, fuzzy
+#~ msgid "Proxy Authentication Required"
+#~ msgstr "Nagios authenticatie"
 
-#: setup/setup_config3.tpl:193
 #, fuzzy
-msgid "Daemon timeout"
-msgstr "Omlaag"
+#~ msgid "Gone"
+#~ msgstr "geen"
 
-#: setup/setup_config3.tpl:207
-msgid "Login and session"
-msgstr ""
+#, fuzzy
+#~ msgid "Precondition Failed"
+#~ msgstr "Configuratie bestand"
 
-#: setup/setup_config3.tpl:210
 #, fuzzy
-msgid "Login attribute"
-msgstr "Telefoon attributen "
+#~ msgid "Expectation Failed"
+#~ msgstr "De database zoekopdracht is mislukt"
 
-#: setup/setup_config3.tpl:221
-msgid "Enforce register_globals to be deactivated"
-msgstr ""
+#, fuzzy
+#~ msgid "Locked"
+#~ msgstr "Lijst met gebruikers"
 
-#: setup/setup_config3.tpl:233
-msgid "Enforce encrypted connections"
-msgstr ""
+#, fuzzy
+#~ msgid "Unordered Collection"
+#~ msgstr "Groep instellingen"
 
-#: setup/setup_config3.tpl:245
 #, fuzzy
-msgid "Warn if session is not encrypted"
-msgstr "De sessie zal niet versleuteld zijn."
+#~ msgid "Internal Server Error"
+#~ msgstr "Terminal server"
 
-#: setup/setup_config3.tpl:257
 #, fuzzy
-msgid "Remember dialog filter settings"
-msgstr "Algemene wachtrij instellingen"
+#~ msgid "Not Implemented"
+#~ msgstr "onvolledig"
 
-#: setup/setup_config3.tpl:269
 #, fuzzy
-msgid "Session lifetime"
-msgstr "Er is een sessie conflict gedetecteerd"
+#~ msgid "Service Unavailable"
+#~ msgstr "Servernaam"
 
-#: setup/setup_config3.tpl:278
-msgid "Debugging"
-msgstr ""
+#, fuzzy
+#~ msgid "Gateway Time-out"
+#~ msgstr "Omlaag"
 
-#: setup/setup_config3.tpl:282
 #, fuzzy
-msgid "Show PHP errors"
-msgstr "PHP fout"
+#~ msgid "GOsa settings 3/3"
+#~ msgstr "Gebruikersinstellingen"
 
-#: setup/setup_config3.tpl:294
 #, fuzzy
-msgid "Maximum LDAP query time"
-msgstr "E-mail grootte"
+#~ msgid "Session lifetime must be a numeric value!"
+#~ msgstr "Toekomstige dagen moet een waarde bevatten."
 
-#: setup/setup_config3.tpl:312
-msgid "Log LDAP statistics"
-msgstr ""
+#, fuzzy
+#~ msgid "Maximum LDAP query time must be a numeric value!"
+#~ msgstr "Toekomstige dagen moet een waarde bevatten."
 
-#: setup/setup_config3.tpl:324
 #, fuzzy
-msgid "Debug level"
-msgstr "Log prioriteit"
+#~ msgid "Create a basic, single site configuration"
+#~ msgstr "FAX database"
 
-#: setup/setup_config3.tpl:329 setup/setup_config3.tpl:332
 #, fuzzy
-msgid "Disabled"
-msgstr "gedeactiveerd"
+#~ msgid "Find every possible configuration error"
+#~ msgstr "Configuratie bestand"
 
-#: setup/setup_config3.tpl:330 setup/setup_config3.tpl:333
 #, fuzzy
-msgid "Enabled"
-msgstr "gedeactiveerd"
+#~ msgid "To continue..."
+#~ msgstr "Installatie vervolg..."
 
-#: setup/setup_feedback.tpl:5
-msgid "Feedback sucessfully send"
-msgstr ""
+#~ msgid "Samba settings"
+#~ msgstr "Samba Instellingen"
 
-#: setup/setup_feedback.tpl:15
-msgid "Subscribe to the gosa-announce mailinglist"
-msgstr ""
+#, fuzzy
+#~ msgid "Samba SID"
+#~ msgstr "Samba"
 
-#: setup/setup_feedback.tpl:18
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to subscribe you to the gosa-announce mailing list. You've to confirm "
-"this by mail."
-msgstr ""
+#, fuzzy
+#~ msgid "RID base"
+#~ msgstr "Database"
 
-#: setup/setup_feedback.tpl:39
-msgid "Mail address"
-msgstr "E-mail adres"
+#, fuzzy
+#~ msgid "Workstation container"
+#~ msgstr "Werkstation naam"
 
-#: setup/setup_feedback.tpl:50
-msgid "Send feedback to the GOsa project team"
-msgstr ""
+#, fuzzy
+#~ msgid "Samba SID mapping"
+#~ msgstr "Samba"
 
-#: setup/setup_feedback.tpl:53
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to submit your form anonymously."
-msgstr ""
+#, fuzzy
+#~ msgid "Timezone"
+#~ msgstr "Tijdzone"
 
-#: setup/setup_feedback.tpl:59
-msgid "Did the setup procedure help you to get started?"
-msgstr ""
+#, fuzzy
+#~ msgid "Please choose your preferred timezone here"
+#~ msgstr "Voorkeurstaal"
 
-#: setup/setup_feedback.tpl:62 setup/setup_feedback.tpl:80
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "Yes"
-msgstr "Ja"
+#, fuzzy
+#~ msgid "Additional GOsa settings"
+#~ msgstr "Programma instellingen"
 
-#: setup/setup_feedback.tpl:64 setup/setup_feedback.tpl:82
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "No"
-msgstr "Nee"
+#, fuzzy
+#~ msgid "Government mode"
+#~ msgstr "naar map"
 
-#: setup/setup_feedback.tpl:69
-msgid "If not, what problems did you encounter"
-msgstr ""
+#, fuzzy
+#~ msgid "GOsa logging"
+#~ msgstr "GOsa"
 
-#: setup/setup_feedback.tpl:77
-msgid "Is this the first time you use GOsa?"
-msgstr ""
+#~ msgid "Mail settings"
+#~ msgstr "E-mail instellingen"
 
-#: setup/setup_feedback.tpl:83
-msgid "I use it since"
-msgstr ""
+#~ msgid "Mail method"
+#~ msgstr "E-mail methode"
 
-#: setup/setup_feedback.tpl:84
-msgid "Select the year since when you are using GOsa"
-msgstr ""
+#, fuzzy
+#~ msgid "Vacation templates"
+#~ msgstr "Werkstation sjabloon"
 
-#: setup/setup_feedback.tpl:91
-msgid "What operating system / distribution do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Snapshots / Undo"
+#~ msgstr "Het opslaan van de telefoon is mislukt"
 
-#: setup/setup_feedback.tpl:99
-msgid "What web server do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Enable snapshots"
+#~ msgstr "Nagios account aanmaken"
 
-#: setup/setup_feedback.tpl:107
-msgid "What PHP version do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Snapshot base"
+#~ msgstr "Het opslaan van de telefoon is mislukt"
 
-#: setup/setup_feedback.tpl:115
 #, fuzzy
-msgid "GOsa version"
-msgstr "Algemene wachtrij instellingen"
+#~ msgid "GOsa settings 2/3"
+#~ msgstr "Gebruikersinstellingen"
 
-#: setup/setup_feedback.tpl:123
-msgid "LDAP"
-msgstr ""
+#, fuzzy
+#~ msgid "Customize special parameters"
+#~ msgstr "Controleer parameter"
 
-#: setup/setup_feedback.tpl:127
-msgid "What kind of LDAP server(s) do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for invisible departments"
+#~ msgstr "Zoeken naar iconv ondersteuning"
 
-#: setup/setup_feedback.tpl:133
-msgid "How many objects are in your LDAP?"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for invisible users"
+#~ msgstr "Zoeken naar iconv ondersteuning"
 
-#: setup/setup_feedback.tpl:140
 #, fuzzy
-msgid "Features"
-msgstr "Toekomstig"
+#~ msgid "Checking for users outside the people tree"
+#~ msgstr "Zoeken naar CUPS module"
 
-#: setup/setup_feedback.tpl:143
-msgid "What features of GOsa do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for groups outside the groups tree"
+#~ msgstr "Zoeken naar CUPS module"
 
-#: setup/setup_feedback.tpl:153
-msgid "What features do you want to see in future versions of GOsa?"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for duplicated UID numbers"
+#~ msgstr "Zoeken naar functie %s"
 
-#: setup/setup_feedback.tpl:160
-msgid "Send feedback"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for duplicate GID numbers"
+#~ msgstr "Zoeken naar functie %s"
 
-#: setup/setup_finish.tpl:3
 #, fuzzy
-msgid "Create your configuration file"
-msgstr "Configuratie bestand"
+#~ msgid "Checking for old style USB devices"
+#~ msgstr "Zoeken naar iconv ondersteuning"
 
-#: setup/setup_finish.tpl:10
-msgid "Depending on the user name your webserver is running on:"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for old services that have to be migrated"
+#~ msgstr "Zoeken naar CUPS module"
 
-#: setup/setup_finish.tpl:28
-msgid "Download configuration"
-msgstr "Systeem configuratie"
+#, fuzzy
+#~ msgid "Checking for old style application menus"
+#~ msgstr "Zoeken naar functie %s"
 
-#: setup/setup_finish.tpl:33
 #, fuzzy
-msgid "Status: "
-msgstr "Status"
+#~ msgid "Found %s duplicate values for attribute 'uidNumber'."
+#~ msgstr "Er is een dubbele waarde gevonden voor record type '%s'."
 
-#: setup/class_setupStep_Ldap.inc:53
 #, fuzzy
-msgid "LDAP setup"
-msgstr "LDAP server"
+#~ msgid "Found %s duplicate values for attribute 'gidNumber'."
+#~ msgstr "Er is een dubbele waarde gevonden voor record type '%s'."
 
-#: setup/class_setupStep_Ldap.inc:54
 #, fuzzy
-msgid "LDAP connection setup"
-msgstr "Bel..."
+#~ msgid "Move"
+#~ msgstr "Modus"
 
-#: setup/class_setupStep_Ldap.inc:55
 #, fuzzy
-msgid ""
-"This dialog performs the basic configuration of the LDAP connectivity for "
-"GOsa."
-msgstr ""
-"De volgende velden definiëren de basis configuratie van GOsa's gedrag en "
-"beïnvloeden diverse eigenschappen in uw hoofd configuratie."
+#~ msgid "Cannot migrate department '%s':"
+#~ msgstr "Ga naar basis afdelingen"
 
-#: setup/class_setupStep_Ldap.inc:112
-#, fuzzy, php-format
-msgid "Anonymous bind to server '%s' failed!"
-msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
+#, fuzzy
+#~ msgid "GOsa 2.5 administrative accounts found: %s"
+#~ msgstr "Netatalk account aanmaken"
 
-#: setup/class_setupStep_Ldap.inc:114
-#, fuzzy, php-format
-msgid "Bind as user '%s' failed!"
-msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
+#, fuzzy
+#~ msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
+#~ msgstr "Netatalk account aanmaken"
 
-#: setup/class_setupStep_Ldap.inc:119
-#, fuzzy, php-format
-msgid "Anonymous bind to server '%s' succeeded."
-msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
+#, fuzzy
+#~ msgid "Cannot move users to the requested department!"
+#~ msgstr "Ga naar de afdeling van de gebruiker"
 
-#: setup/class_setupStep_Ldap.inc:120
 #, fuzzy
-msgid "Please specify user and password!"
-msgstr "Geef a.u.b. uw wachtwoord op!"
+#~ msgid "to"
+#~ msgstr "Stop"
 
-#: setup/class_setupStep_Ldap.inc:122
-#, fuzzy, php-format
-msgid "Bind as user '%s' to server '%s' succeeded!"
-msgstr "Gebruikers inlog mislukt. De LDAP server meldt: '%s'."
+#, fuzzy
+#~ msgid "Copy '%s' to '%s' failed:"
+#~ msgstr "Verplaatsen van %s naar %s"
 
-#: setup/setup_ldap.tpl:7
-msgid "Please choose the LDAP user to be used by GOsa"
-msgstr ""
+#, fuzzy
+#~ msgid "Updating '%s' failed: %s"
+#~ msgstr "Log DB gebruiker"
 
-#: setup/setup_ldap.tpl:25
 #, fuzzy
-msgid "LDAP connection"
-msgstr "Max. verbrekingsduur"
+#~ msgid "Theme"
+#~ msgstr "MIME"
 
-#: setup/setup_ldap.tpl:29
-msgid "Location name"
-msgstr "Naam van de locatie"
+#, fuzzy
+#~ msgid "Apache"
+#~ msgstr "Cache"
 
-#: setup/setup_ldap.tpl:37
 #, fuzzy
-msgid "Connection URI"
-msgstr "Verbindingings URL"
+#~ msgid "People and group storage"
+#~ msgstr "OU voor gebruikers opslag"
 
-#: setup/setup_ldap.tpl:45
 #, fuzzy
-msgid "TLS connection"
-msgstr "Bel..."
+#~ msgid "People DN attribute"
+#~ msgstr "DN atribuut voor gebruikers"
 
-#: setup/setup_ldap.tpl:69
 #, fuzzy
-msgid "Authentication"
-msgstr "Nagios authenticatie"
+#~ msgid "People storage subtree"
+#~ msgstr "OU voor gebruikers opslag"
 
-#: setup/setup_ldap.tpl:73
-msgid "Admin DN"
-msgstr "Beheerders DN"
+#, fuzzy
+#~ msgid "Group storage subtree"
+#~ msgstr "OU voor groepen opslag"
 
-#: setup/setup_ldap.tpl:86
-msgid "Automatically append LDAP base to admin DN"
-msgstr ""
+#, fuzzy
+#~ msgid "Automatic UIDs"
+#~ msgstr "Automatische modusregels"
 
-#: setup/setup_ldap.tpl:93
-msgid "Admin password"
-msgstr "Beheerders wachtwoord"
+#, fuzzy
+#~ msgid "Number base for people/groups"
+#~ msgstr "ID basis voor gebruikers/groepen"
 
-#: setup/setup_ldap.tpl:101
 #, fuzzy
-msgid "Schema based settings"
-msgstr "Samba Instellingen"
+#~ msgid "Password settings"
+#~ msgstr "Gebruikersinstellingen"
 
-#: setup/setup_ldap.tpl:105
-msgid "Use rfc2307bis compliant groups"
-msgstr ""
+#, fuzzy
+#~ msgid "Password encryption algorithm"
+#~ msgstr "Encryptie algoritme"
 
-#: setup/setup_ldap.tpl:117
 #, fuzzy
-msgid "Current status"
-msgstr "Systeem status"
+#~ msgid "Password restrictions"
+#~ msgstr "Wachtwoord verloopt op"
 
-#: setup/class_setupStep_Migrate.inc:127 setup/class_setupStep_Migrate.inc:128
 #, fuzzy
-msgid "LDAP inspection"
-msgstr "PHP configuratie inspectie"
+#~ msgid "Password change hook"
+#~ msgstr "Het veranderen van het wachtwoord is niet toegestaan"
 
-#: setup/class_setupStep_Migrate.inc:129
-msgid "Analyze your current LDAP for GOsa compatibility"
-msgstr ""
+#~ msgid ""
+#~ "GOsa supports several encryption types for your passwords. Normally this "
+#~ "is adjustable via user templates, but you can specify a default method to "
+#~ "be used here, too."
+#~ msgstr ""
+#~ "GOsa ondersteunt diverse encryptie types voor uw wachtwoorden. Normaliter "
+#~ "is dit aanpasbaar via gebruikerssjablonen. Hier kunt u echter een "
+#~ "standaard te gebruiken methode opgeven."
 
-#: setup/class_setupStep_Migrate.inc:135
 #, fuzzy
-msgid "Checking for root object"
-msgstr "Zoeken naar iconv ondersteuning"
+#~ msgid ""
+#~ "GOsa always acts as admin and manages access rights internally. This is a "
+#~ "workaround till OpenLDAP's in directory ACI's are    fully implemented. "
+#~ "For this to work, we need the admin DN and the corresponding password."
+#~ msgstr ""
+#~ "GOsa werkt altijd als een beheerder en verzorgt het toegangsbeheer "
+#~ "intern. Dit is een tijdelijke oplossing totdat directory ACIs volledig "
+#~ "geïmplementeerd zijn in OpenLDAP. Om dit te kunnen laten werken is een "
+#~ "beheerders DN en het bijbehorende wachtwoord nodig."
+
+#~ msgid ""
+#~ "Some basic LDAP parameters are tunable and affect the locations where "
+#~ "GOsa saves people and groups, including the way accounts get created. "
+#~ "Check the values below if the fit your needs."
+#~ msgstr ""
+#~ "Sommige LDAP parameters zijn aan te passen en bepalen de locaties waar "
+#~ "GOsa gebruikers en groepen opslaat, evenals de manier waarop gebruikers "
+#~ "aangemaakt worden. Controleer of de waardes hieronder in uw behoeften "
+#~ "voorzien."
 
-#: setup/class_setupStep_Migrate.inc:141
 #, fuzzy
-msgid "Inspecting object classes in root object"
-msgstr "Zoeken naar iconv ondersteuning"
+#~ msgid ""
+#~ "GOsa has modular support for several mail methods. These methods provide "
+#~ "interfaces to users mailboxes and general handling    for quotas. You can "
+#~ "choose the dummy plugin to leave all your mail settings untouched."
+#~ msgstr ""
+#~ "GOsa heeft modulaire ondersteuning voor diverse E-mail methodes. Deze "
+#~ "methodes leveren toegang tot gebruikers mailboxen en algemene afhandeling "
+#~ "voor quota's. U kunt de dummy module kiezen om alle E-mail instellingen "
+#~ "ongewijzigd te laten."
 
-#: setup/class_setupStep_Migrate.inc:147
 #, fuzzy
-msgid "Checking permission for LDAP database"
-msgstr "U heeft geen toestemming om deze afdeling te verwijderen."
+#~ msgid "Enable primary group filter"
+#~ msgstr "Toon groepen van gebruiker"
 
-#: setup/class_setupStep_Migrate.inc:153
 #, fuzzy
-msgid "Checking for invisible departments"
-msgstr "Zoeken naar iconv ondersteuning"
+#~ msgid "Display summary in listings"
+#~ msgstr "Toon overeenkomende macro's"
 
-#: setup/class_setupStep_Migrate.inc:158
 #, fuzzy
-msgid "Checking for invisible users"
-msgstr "Zoeken naar iconv ondersteuning"
+#~ msgid "Honour administrative units"
+#~ msgstr "Groepen beheer"
 
-#: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3211
 #, fuzzy
-msgid "Checking for super administrator"
-msgstr "Zoeken naar enkele additionele programma's"
+#~ msgid "Path for PPD storage"
+#~ msgstr "Wachtwoord encryptie"
 
-#: setup/class_setupStep_Migrate.inc:171
 #, fuzzy
-msgid "Checking for users outside the people tree"
-msgstr "Zoeken naar CUPS module"
+#~ msgid "Mail queue script"
+#~ msgstr "Inlogscript"
 
-#: setup/class_setupStep_Migrate.inc:177
 #, fuzzy
-msgid "Checking for groups outside the groups tree"
-msgstr "Zoeken naar CUPS module"
+#~ msgid "Notification script"
+#~ msgstr "Geen certificaat geinstalleerd"
 
-#: setup/class_setupStep_Migrate.inc:184
-msgid "Checking for windows workstations outside the winstation tree"
-msgstr ""
+#, fuzzy
+#~ msgid "Warn if session is not encrypted"
+#~ msgstr "De sessie zal niet versleuteld zijn."
 
-#: setup/class_setupStep_Migrate.inc:190
 #, fuzzy
-msgid "Checking for duplicated UID numbers"
-msgstr "Zoeken naar functie %s"
+#~ msgid "Remember dialog filter settings"
+#~ msgstr "Algemene wachtrij instellingen"
 
-#: setup/class_setupStep_Migrate.inc:196
 #, fuzzy
-msgid "Checking for duplicate GID numbers"
-msgstr "Zoeken naar functie %s"
+#~ msgid "Session lifetime"
+#~ msgstr "Er is een sessie conflict gedetecteerd"
 
-#: setup/class_setupStep_Migrate.inc:202
 #, fuzzy
-msgid "Checking for old style USB devices"
-msgstr "Zoeken naar iconv ondersteuning"
+#~ msgid "Show PHP errors"
+#~ msgstr "PHP fout"
 
-#: setup/class_setupStep_Migrate.inc:208
 #, fuzzy
-msgid "Checking for old services that have to be migrated"
-msgstr "Zoeken naar CUPS module"
+#~ msgid "Maximum LDAP query time"
+#~ msgstr "E-mail grootte"
 
-#: setup/class_setupStep_Migrate.inc:214
 #, fuzzy
-msgid "Checking for old style application menus"
-msgstr "Zoeken naar functie %s"
+#~ msgid "Debug level"
+#~ msgstr "Log prioriteit"
 
-#: setup/class_setupStep_Migrate.inc:240 setup/class_setupStep_Migrate.inc:292
-#: setup/class_setupStep_Migrate.inc:357 setup/class_setupStep_Migrate.inc:421
-#: setup/class_setupStep_Migrate.inc:492 setup/class_setupStep_Migrate.inc:569
-#: setup/class_setupStep_Migrate.inc:653 setup/class_setupStep_Migrate.inc:796
-#: setup/class_setupStep_Migrate.inc:892
-#: setup/class_setupStep_Migrate.inc:2038
-#: setup/class_setupStep_Migrate.inc:2506
-#: setup/class_setupStep_Migrate.inc:2697
-#: setup/class_setupStep_Migrate.inc:2834
 #, fuzzy
-msgid "LDAP query failed"
-msgstr "De database zoekopdracht is mislukt"
+#~ msgid "Disabled"
+#~ msgstr "gedeactiveerd"
 
-#: setup/class_setupStep_Migrate.inc:241 setup/class_setupStep_Migrate.inc:293
-#: setup/class_setupStep_Migrate.inc:358 setup/class_setupStep_Migrate.inc:422
-#: setup/class_setupStep_Migrate.inc:493 setup/class_setupStep_Migrate.inc:570
-#: setup/class_setupStep_Migrate.inc:654 setup/class_setupStep_Migrate.inc:797
-#: setup/class_setupStep_Migrate.inc:893
-#: setup/class_setupStep_Migrate.inc:2039
-#: setup/class_setupStep_Migrate.inc:2507
-#: setup/class_setupStep_Migrate.inc:2698
-#: setup/class_setupStep_Migrate.inc:2835
-msgid "Possibly the 'root object' is missing."
-msgstr ""
+#, fuzzy
+#~ msgid "Move selected workstations"
+#~ msgstr "Selecteer om werkstations te zien"
 
-#: setup/class_setupStep_Migrate.inc:263
-#, fuzzy, php-format
-msgid "Found %s duplicate values for attribute 'uidNumber'."
-msgstr "Er is een dubbele waarde gevonden voor record type '%s'."
+#, fuzzy
+#~ msgid "Hide changes"
+#~ msgstr "Open-Xchange"
 
-#: setup/class_setupStep_Migrate.inc:315
-#, fuzzy, php-format
-msgid "Found %s duplicate values for attribute 'gidNumber'."
-msgstr "Er is een dubbele waarde gevonden voor record type '%s'."
-
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:583
-#: setup/class_setupStep_Migrate.inc:596
-#: setup/class_setupStep_Migrate.inc:1032
-#: setup/class_setupStep_Migrate.inc:1050
-#: setup/class_setupStep_Migrate.inc:1990
-#: setup/class_setupStep_Migrate.inc:2003
-#: setup/class_setupStep_Migrate.inc:2058
-#: setup/class_setupStep_Migrate.inc:2079
-#: setup/class_setupStep_Migrate.inc:2131
-#: setup/class_setupStep_Migrate.inc:3213
-msgid "Failed"
-msgstr "Mislukt"
+#, fuzzy
+#~ msgid "Show changes"
+#~ msgstr "Toon pakketten"
 
-#: setup/class_setupStep_Migrate.inc:375
-#, php-format
-msgid ""
-"Found %s winstations outside the predefined winstation department ou '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Move selected users into this people tree"
+#~ msgstr "Maak gebruiker aan met dit sjabloon"
 
-#: setup/class_setupStep_Migrate.inc:448
-#, fuzzy, php-format
-msgid "Found %s groups outside the configured tree '%s'."
-msgstr "U staat op het punt de invoer '%s' te kopieren."
+#, fuzzy
+#~ msgid "Migrate GOsa 2.5 administrative accounts"
+#~ msgstr "Netatalk account aanmaken"
 
-#: setup/class_setupStep_Migrate.inc:449 setup/class_setupStep_Migrate.inc:526
 #, fuzzy
-msgid "Move"
-msgstr "Modus"
+#~ msgid "Abort"
+#~ msgstr "Poort"
 
-#: setup/class_setupStep_Migrate.inc:525
-#, php-format
-msgid "Found %s user(s) outside the configured tree '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Refresh"
+#~ msgstr "Referenties"
 
-#: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:598
-#, php-format
-msgid ""
-"The specified user '%s' does not have full access to your ldap database."
-msgstr ""
+#, fuzzy
+#~ msgid "Installation"
+#~ msgstr "Windows werkstation"
 
-#: setup/class_setupStep_Migrate.inc:662
-#, php-format
-msgid "Found %s user(s) that will not be visible in GOsa."
-msgstr ""
+#, fuzzy
+#~ msgid "GOsa settings 1/3"
+#~ msgstr "Gebruikersinstellingen"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#: setup/class_setupStep_Migrate.inc:1120
 #, fuzzy
-msgid "Migration error"
-msgstr "Aanmaken"
+#~ msgid "The specified value for '%s' must be a numeric value"
+#~ msgstr "De sieve poort dient nummeriek te zijn."
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#, fuzzy, php-format
-msgid "Cannot migrate department '%s':"
-msgstr "Ga naar basis afdelingen"
+#~ msgid "People storage ou"
+#~ msgstr "OU voor gebruikers opslag"
 
-#: setup/class_setupStep_Migrate.inc:805
-#, php-format
-msgid "Found %s department(s) that will not be visible in GOsa."
-msgstr ""
+#~ msgid "Group storage ou"
+#~ msgstr "OU voor groepen opslag"
 
-#: setup/class_setupStep_Migrate.inc:1029
-#, fuzzy, php-format
-msgid "GOsa 2.5 administrative accounts found: %s"
-msgstr "Netatalk account aanmaken"
+#, fuzzy
+#~ msgid "Uid base must be numeric"
+#~ msgstr "Timeout dient nummeriek te zijn"
 
-#: setup/class_setupStep_Migrate.inc:1034
 #, fuzzy
-msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
-msgstr "Netatalk account aanmaken"
+#~ msgid "The given password minimum length is not numeric."
+#~ msgstr "De sieve poort dient nummeriek te zijn."
 
-#: setup/class_setupStep_Migrate.inc:1051
-msgid "There is no GOsa administrator account inside your LDAP."
-msgstr ""
+#, fuzzy
+#~ msgid "The given password differ value is not numeric."
+#~ msgstr "De sieve poort dient nummeriek te zijn."
 
-#: setup/class_setupStep_Migrate.inc:1120
-#, php-format
-msgid "Cannot add ACL for user '%s':"
-msgstr ""
+#, fuzzy
+#~ msgid "Login screen"
+#~ msgstr "Log DB gebruiker"
 
-#: setup/class_setupStep_Migrate.inc:1158
-#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
-msgid "Input error"
-msgstr "PHP fout"
+#~ msgid ""
+#~ "Please use your username and your password to log into the site "
+#~ "administration system."
+#~ msgstr "Voer uw <i>gebruikersnaam</i> en <i>wachtwoord</i> in"
 
-#: setup/class_setupStep_Migrate.inc:1158
-msgid "Uid"
-msgstr ""
+#~ msgid "Sign in"
+#~ msgstr "Inloggen"
 
-#: setup/class_setupStep_Migrate.inc:1163
-#, fuzzy
-msgid "Password error"
-msgstr "Wachtwoord verloopt op"
+#~ msgid ""
+#~ "This may be used by several groups. Please double check if your really "
+#~ "want to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Dit kan gebruikt worden door meerdere groepen. Verzeker uzelf ervan dat "
+#~ "dit is wat u wil, aangezien er geen mogelijkheid voor GOsa is om uw date "
+#~ "terug te halen."
 
-#: setup/class_setupStep_Migrate.inc:1163
-#, fuzzy
-msgid "Provided passwords do not match!"
-msgstr ""
-"Het nieuwe wachtwoord en het herhaalde wachtwoord komen niet met elkaar "
-"overeen!"
+#~ msgid ""
+#~ "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "Indien u zeker bent drukt u dan 'Verwijderen' om door te gaan of "
+#~ "'Annuleren' om te annuleren."
+
+#~ msgid "Help"
+#~ msgstr "Help"
+
+#~ msgid "Sign out"
+#~ msgstr "Uitloggen"
+
+#~ msgid "Signed in:"
+#~ msgstr "Aangemeld:"
 
-#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
-msgid "Specify a valid user ID!"
-msgstr "Geef a.u.b. een geldige gebruikersnaam op!"
+#~ msgid "Success"
+#~ msgstr "Export was succesvol"
 
-#: setup/class_setupStep_Migrate.inc:1201
-#, php-format
-msgid "Adding an administrative user failed: object '%s' already exists!"
-msgstr ""
+#, fuzzy
+#~ msgid "New password repeated"
+#~ msgstr "Nieuw wachtwoord"
 
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
 #, fuzzy
-msgid "Cannot move users to the requested department!"
-msgstr "Ga naar de afdeling van de gebruiker"
+#~ msgid "Change"
+#~ msgstr "Kanaal"
 
-#: setup/class_setupStep_Migrate.inc:1250
-msgid "Winstation will be moved from"
-msgstr ""
+#~ msgid "UNIX"
+#~ msgstr "Unix"
 
-#: setup/class_setupStep_Migrate.inc:1261
-#: setup/class_setupStep_Migrate.inc:1310
-msgid "Updating following references too"
-msgstr ""
+#~ msgid "FTP"
+#~ msgstr "Ftp"
 
-#: setup/class_setupStep_Migrate.inc:1300
-msgid "Group will be moved from"
-msgstr ""
+#~ msgid "Thin Client"
+#~ msgstr "Thin Client"
 
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "User will be moved from"
-msgstr ""
+#~ msgid "Object name"
+#~ msgstr "Objectnaam"
 
-#: setup/class_setupStep_Migrate.inc:1358
-msgid "The following references will be updated"
-msgstr ""
+#~ msgid "This object has no relationship to other objects."
+#~ msgstr "Dit object heeft geen relatie met andere objecten."
 
-#: setup/class_setupStep_Migrate.inc:1991
-msgid ""
-"The LDAP root object is missing. It is required to use your LDAP service."
-msgstr ""
+#~ msgid ""
+#~ "Changing the password affects your authentification on mail, proxy, samba "
+#~ "and unix services."
+#~ msgstr ""
+#~ "Het veranderen van het wachtwoord is van invloed op E-mail, proxy, samba "
+#~ "en Unix diensten."
 
-#: setup/class_setupStep_Migrate.inc:1992
-#: setup/class_setupStep_Migrate.inc:2005
 #, fuzzy
-msgid "Try to create root object"
-msgstr "Nieuw FAI object aanmaken"
-
-#: setup/class_setupStep_Migrate.inc:2004
-msgid "Root object couldn't be created, you should try it on your own."
-msgstr ""
+#~ msgid "User identification"
+#~ msgstr "Gebruikersinformatie"
 
-#: setup/class_setupStep_Migrate.inc:2059
-#, fuzzy, php-format
-msgid "Missing GOsa object class '%s'!"
-msgstr "Toon FAI sjabloon objecten"
+#~ msgid "Personal picture"
+#~ msgstr "Persoonlijk plaatje"
 
-#: setup/class_setupStep_Migrate.inc:2060
 #, fuzzy
-msgid "Please check your installation."
-msgstr "Controleer a.u.b. de gebruikersnaam/wachtwoord combinatie."
+#~ msgid "In all groups"
+#~ msgstr "Primaire groep"
 
-#: setup/class_setupStep_Migrate.inc:2081
-#, php-format
-msgid ""
-"Cannot handle the structural object type of your root object. Please try to "
-"add the object class '%s' manually."
-msgstr ""
+#, fuzzy
+#~ msgid "Not in all groups"
+#~ msgstr "Toon E-mail groepen"
 
-#: setup/class_setupStep_Migrate.inc:2440
-#, fuzzy, php-format
-msgid "Copy '%s' to '%s' failed:"
-msgstr "Verplaatsen van %s naar %s"
+#, fuzzy
+#~ msgid "! unknown UID"
+#~ msgstr "! onbekend id"
 
-#: setup/class_setupStep_Migrate.inc:2575
-#, php-format
-msgid "There are %s devices that need to be migrated."
-msgstr ""
+#, fuzzy
+#~ msgid "All categories"
+#~ msgstr "Categorie toevoegen"
 
-#: setup/class_setupStep_Migrate.inc:2635
-#, php-format
-msgid "Adding '%s' to the LDAP failed: %s"
-msgstr ""
+#~ msgid "Startup"
+#~ msgstr "Opstarten"
 
-#: setup/class_setupStep_Migrate.inc:2655
-#: setup/class_setupStep_Migrate.inc:2772
-#, fuzzy, php-format
-msgid "Updating '%s' failed: %s"
-msgstr "Log DB gebruiker"
+#~ msgid "FAI summary"
+#~ msgstr "FAI samenvatting"
 
-#: setup/class_setupStep_Migrate.inc:2728
-#, php-format
-msgid "There are %s services that need to be migrated."
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot bind to LDAP. Please contact the system administrator."
+#~ msgstr ""
+#~ "Kan niet verbinden met de LDAP server. Neem a.u.b. contact op met de "
+#~ "systeembeheerder."
 
-#: setup/class_setupStep_Migrate.inc:3059
-#, php-format
-msgid "There are %s application menus which have to be migrated."
-msgstr ""
+#, fuzzy
+#~ msgid "Password reset"
+#~ msgstr "Wachtwoord verloopt op"
 
-#: setup/setup_welcome.tpl:4
-msgid ""
-"This seems to be the first time you start GOsa - we didn't find any "
-"configuration right now. This simple wizard intends to help you while "
-"setting it up."
-msgstr ""
+#~ msgid "Up"
+#~ msgstr "Omhoog"
 
-#: setup/setup_welcome.tpl:8
-msgid "What will the wizard do for you?"
-msgstr ""
+#~ msgid "Down"
+#~ msgstr "Omlaag"
 
-#: setup/setup_welcome.tpl:11
 #, fuzzy
-msgid "Create a basic, single site configuration"
-msgstr "FAX database"
-
-#: setup/setup_welcome.tpl:12
-msgid "Tries to find problems within your PHP and LDAP setup"
-msgstr ""
+#~ msgid "Select to list objects of type '%s'."
+#~ msgstr "Selecteer de toe te voegen objecten"
 
-#: setup/setup_welcome.tpl:13
-msgid "Let you choose from a set of basic and advanced configuration switches"
-msgstr ""
+#, fuzzy
+#~ msgid "Select to list objects containig '%s'."
+#~ msgstr "Selecteer om groepen die gebruikers bevatten te tonen"
 
-#: setup/setup_welcome.tpl:14
-msgid "Guided migration of existing LDAP trees"
-msgstr ""
+#, fuzzy
+#~ msgid "Select to list objects that have '%s' enabled"
+#~ msgstr "Selecteer de toe te voegen objecten"
 
-#: setup/setup_welcome.tpl:17
-msgid "What will the wizard NOT do for you?"
-msgstr ""
+#~ msgid "Select to search within subtrees"
+#~ msgstr "Selecteer om binnen subonderdelen te zoeken"
 
-#: setup/setup_welcome.tpl:20
 #, fuzzy
-msgid "Find every possible configuration error"
-msgstr "Configuratie bestand"
-
-#: setup/setup_welcome.tpl:21
-msgid "Migrate every possible LDAP setup - create backup dumps!"
-msgstr ""
+#~ msgid "in"
+#~ msgstr "Hoofdmenu"
 
-#: setup/setup_welcome.tpl:25
 #, fuzzy
-msgid "To continue..."
-msgstr "Installatie vervolg..."
+#~ msgid "on line"
+#~ msgstr "Doorgaan"
 
-#: setup/setup_welcome.tpl:28
-msgid ""
-"For security reasons you need to authenticate for the installation by "
-"creating the file '/tmp/gosa.auth', containing the current session ID on the "
-"servers local filesystem. This can be done by executing the following "
-"command:"
-msgstr ""
+#, fuzzy
+#~ msgid "Role: %s"
+#~ msgstr "Funktie"
 
-#: setup/setup_welcome.tpl:34
-msgid "Click the 'Continue' button when you've finished."
-msgstr ""
+#~ msgid "Go up one department"
+#~ msgstr "Ga een afdeling omhoog"
 
-#: setup/setup_license.tpl:8
-msgid "I have read the license and accept it"
-msgstr ""
+#~ msgid "Go to users department"
+#~ msgstr "Ga naar gebruikers afdeling"
 
-#: setup/class_setupStep_Config3.inc:81 setup/class_setupStep_Config3.inc:82
 #, fuzzy
-msgid "GOsa settings 3/3"
-msgstr "Gebruikersinstellingen"
+#~ msgid "Remove snapshot"
+#~ msgstr "Nagios account aanmaken"
 
-#: setup/class_setupStep_Config3.inc:83
-msgid "Tweak some GOsa core behaviour"
-msgstr ""
+#~ msgid "Toggle information"
+#~ msgstr "Informatie weergeven/verbergen"
 
-#: setup/class_setupStep_Config3.inc:212
 #, fuzzy
-msgid "Session lifetime must be a numeric value!"
-msgstr "Toekomstige dagen moet een waarde bevatten."
+#~ msgid "from"
+#~ msgstr "willekeurig"
 
-#: setup/class_setupStep_Config3.inc:216
 #, fuzzy
-msgid "Maximum LDAP query time must be a numeric value!"
-msgstr "Toekomstige dagen moet een waarde bevatten."
+#~ msgid "Restore"
+#~ msgstr "Opnieuw proberen"
 
-#: setup/setup_checks.tpl:9
-msgid "PHP module and extension checks"
-msgstr ""
+#~ msgid "cut"
+#~ msgstr "knippen"
 
-#: setup/setup_checks.tpl:41 setup/setup_checks.tpl:103
-msgid "GOsa will NOT run without fixing this."
-msgstr ""
+#, fuzzy
+#~ msgid "Your LDAP setup contains old schema definitions:"
+#~ msgstr ""
+#~ "Uw LDAP installatie bevat oude schema definities. Draai het installatie "
+#~ "programma a.u.b. opnieuw."
 
-#: setup/setup_checks.tpl:45 setup/setup_checks.tpl:107
-msgid "GOsa will run without fixing this."
-msgstr ""
+#~ msgid ""
+#~ "FATAL: Register globals is on. GOsa will refuse to login unless this is "
+#~ "fixed by an administrator."
+#~ msgstr ""
+#~ "FATAAL: 'Register globals' is geactiveerd in PHP. GOsa zal niemand laten "
+#~ "inloggen totdat dit opgelost is door een systeembeheerder."
 
-#: setup/setup_checks.tpl:67
 #, fuzzy
-msgid "PHP setup configuration"
-msgstr "FAX database"
+#~ msgid "Prpperties"
+#~ msgstr "Eigenschappen"
 
-#: setup/setup_checks.tpl:67
 #, fuzzy
-msgid "show information"
-msgstr "Persoonlijke informatie"
+#~ msgid "Old password"
+#~ msgstr "Oud wachtwoord"
 
-#: setup/setup_schema.tpl:3
 #, fuzzy
-msgid "Schema specific settings"
-msgstr "Samba Instellingen"
+#~ msgid "Verify password"
+#~ msgstr "Nogmaals wachtwoord"
 
-#: setup/setup_schema.tpl:7
-msgid "Enable schema validation when logging in"
-msgstr ""
+#~ msgid "Session conflict detected"
+#~ msgstr "Er is een sessie conflict gedetecteerd"
 
-#: setup/setup_schema.tpl:16
 #, fuzzy
-msgid "Check status"
-msgstr "Systeem status"
-
-#: setup/setup_schema.tpl:20
-msgid "Schema check succeeded"
-msgstr ""
+#~ msgid ""
+#~ "Probably there's another active instance of your session. Multiple window "
+#~ "operation is technical not possible and heavily depends on the browser "
+#~ "you're using. Usage of different browsers at a time (i.e. IE and Mozilla) "
+#~ "is possible. Pressing the Logout button will close this session."
+#~ msgstr ""
+#~ "Er is vermoedelijk een andere actieve instantiatie van uw sessie. Werken "
+#~ "m.b.v. meerdere schermen is technisch onmogelijk en is sterk afhankelijk "
+#~ "van de gebruikte browser. Gelijktijdig gebruik van verschillende browsers "
+#~ "(bijvoorbeeld Internet Explorer en Mozilla) is wel mogelijk. Via de "
+#~ "<b>Uitloggen</b> knop wordt deze sessie afgesloten."
 
-#: setup/setup_schema.tpl:23
-#, fuzzy
-msgid "Schema check failed"
-msgstr "Het opslaan van de telefoon is mislukt"
+#~ msgid ""
+#~ "Ignoring this message will change/destroy the data you're currently "
+#~ "editing, so please close multiple windows and log in again."
+#~ msgstr ""
+#~ "Het negeren van dit bericht zal de data die u op dit moment aan het "
+#~ "bewerken bent veranderen/vernietigen, dus sluit a.u.b. enige overige "
+#~ "vensters en log opnieuw in."
 
-#: setup/setup_schema.tpl:31
-msgid ""
-"Could not read any schema informations, all checks skipped. Adjust your ldap "
-"acls."
-msgstr ""
+#~ msgid "External password changer reported a problem: "
+#~ msgstr "Extern wachtwoord verander mechanisme rapporteerde een probleem:"
 
-#: setup/setup_schema.tpl:35
-msgid ""
-"It seems that your ldap database wasn't initialized yet. This maybe the "
-"reason, why GOsa can't read your schema configuration!"
-msgstr ""
+#, fuzzy
+#~ msgid "Show department"
+#~ msgstr "Toon afdelingen"
 
-#: setup/setup_config1.tpl:2
-msgid "Look and feel"
-msgstr ""
+#, fuzzy
+#~ msgid "Show groups"
+#~ msgstr "Toon Samba groepen"
 
-#: setup/setup_config1.tpl:6
 #, fuzzy
-msgid "Theme"
-msgstr "MIME"
+#~ msgid "Show server"
+#~ msgstr "Toon servers"
 
-#: setup/setup_config1.tpl:15
 #, fuzzy
-msgid "Apache"
-msgstr "Cache"
+#~ msgid "Show workstation"
+#~ msgstr "Toon werkstations"
 
-#: setup/setup_config1.tpl:19
-msgid "Compress output send to browser"
-msgstr ""
+#, fuzzy
+#~ msgid "Show terminal"
+#~ msgstr "Toon terminals"
 
-#: setup/setup_config1.tpl:27
 #, fuzzy
-msgid "People and group storage"
-msgstr "OU voor gebruikers opslag"
+#~ msgid "Show printer"
+#~ msgstr "Toon printers"
 
-#: setup/setup_config1.tpl:30
 #, fuzzy
-msgid "People DN attribute"
-msgstr "DN atribuut voor gebruikers"
+#~ msgid "Show phone"
+#~ msgstr "Toon pakketten"
 
-#: setup/setup_config1.tpl:41
 #, fuzzy
-msgid "People storage subtree"
-msgstr "OU voor gebruikers opslag"
+#~ msgid "Filter options"
+#~ msgstr "Beschikbare programma's"
+
+#~ msgid ""
+#~ "Please double check if you really want to do this since there is no way "
+#~ "for GOsa to get your data back."
+#~ msgstr ""
+#~ "Controleer a.u.b. of u dit daadwerkelijk wil doen, aangezien er geen "
+#~ "mogelijkheid voor GOsa is om uw data terug te krijgen."
 
-#: setup/setup_config1.tpl:50
 #, fuzzy
-msgid "Group storage subtree"
-msgstr "OU voor groepen opslag"
+#~ msgid "Manage object groups"
+#~ msgstr "Naam van objectgroepen"
 
-#: setup/setup_config1.tpl:59
-msgid "Include personal title in user DN"
-msgstr ""
+#, fuzzy
+#~ msgid "nested groups"
+#~ msgstr "Objectgroepen"
 
-#: setup/setup_config1.tpl:70
-msgid "Relaxed naming policies"
-msgstr ""
+#, fuzzy
+#~ msgid "application groups"
+#~ msgstr "Toon programma groepen"
 
-#: setup/setup_config1.tpl:81
 #, fuzzy
-msgid "Automatic UIDs"
-msgstr "Automatische modusregels"
+#~ msgid "department groups"
+#~ msgstr "afdelingen"
 
-#: setup/setup_config1.tpl:97 setup/class_setupStep_Config1.inc:118
-msgid "GID / UID min id"
-msgstr ""
+#, fuzzy
+#~ msgid "server groups"
+#~ msgstr "servers"
 
-#: setup/setup_config1.tpl:113
 #, fuzzy
-msgid "Number base for people/groups"
-msgstr "ID basis voor gebruikers/groepen"
+#~ msgid "workstation groups"
+#~ msgstr "werkstations"
 
-#: setup/setup_config1.tpl:121
-msgid "Hook for number base"
-msgstr ""
+#, fuzzy
+#~ msgid "terminal groups"
+#~ msgstr "Toon E-mail groepen"
 
-#: setup/setup_config1.tpl:140
 #, fuzzy
-msgid "Password encryption algorithm"
-msgstr "Encryptie algoritme"
+#~ msgid "printer groups"
+#~ msgstr "Primaire groep"
 
-#: setup/setup_config1.tpl:151
 #, fuzzy
-msgid "Password restrictions"
-msgstr "Wachtwoord verloopt op"
+#~ msgid "phone groups"
+#~ msgstr "Toon groepen"
 
-#: setup/setup_config1.tpl:158 setup/setup_config1.tpl:162
-msgid "Password minimum length"
-msgstr ""
+#~ msgid "Select objects to add"
+#~ msgstr "Selecteer de toe te voegen objecten"
 
-#: setup/setup_config1.tpl:169 setup/setup_config1.tpl:173
-msgid "Different characters from old password"
-msgstr ""
+#~ msgid "Filters"
+#~ msgstr "Filters"
 
-#: setup/setup_config1.tpl:182
-#, fuzzy
-msgid "Password change hook"
-msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+#~ msgid "Display objects of department"
+#~ msgstr "Toon objecten van afdeling"
 
-#: setup/setup_config1.tpl:198
-msgid "Use SASL for kerberos"
-msgstr ""
+#~ msgid "Choose the department the search will be based on"
+#~ msgstr "Selecteer de afdeling waarbinnen gezocht zal worden"
 
-#: setup/setup_config1.tpl:209
-#, fuzzy
-msgid "Use account expiration"
-msgstr "Het account verloopt op"
+#~ msgid "Display objects matching"
+#~ msgstr "Toon overeenkomende objecten"
 
-#: setup/setup_config1.tpl:221
-msgid ""
-"GOsa supports several encryption types for your passwords. Normally this is "
-"adjustable via user templates, but you can specify a default method to be "
-"used here, too."
-msgstr ""
-"GOsa ondersteunt diverse encryptie types voor uw wachtwoorden. Normaliter is "
-"dit aanpasbaar via gebruikerssjablonen. Hier kunt u echter een standaard te "
-"gebruiken methode opgeven."
+#~ msgid "Regular expression for matching object names"
+#~ msgstr "Reguliere expressie voor overeenkomende objectnamen"
 
-#: setup/setup_config1.tpl:222
-#, fuzzy
-msgid ""
-"GOsa always acts as admin and manages access rights internally. This is a "
-"workaround till OpenLDAP's in directory ACI's are    fully implemented. For "
-"this to work, we need the admin DN and the corresponding password."
-msgstr ""
-"GOsa werkt altijd als een beheerder en verzorgt het toegangsbeheer intern. "
-"Dit is een tijdelijke oplossing totdat directory ACIs volledig "
-"geïmplementeerd zijn in OpenLDAP. Om dit te kunnen laten werken is een "
-"beheerders DN en het bijbehorende wachtwoord nodig."
+#~ msgid "Select systems to add"
+#~ msgstr "Selecteer de toe te voegen systemen"
 
-#: setup/setup_config1.tpl:223
-msgid ""
-"Some basic LDAP parameters are tunable and affect the locations where GOsa "
-"saves people and groups, including the way accounts get created. Check the "
-"values below if the fit your needs."
-msgstr ""
-"Sommige LDAP parameters zijn aan te passen en bepalen de locaties waar GOsa "
-"gebruikers en groepen opslaat, evenals de manier waarop gebruikers "
-"aangemaakt worden. Controleer of de waardes hieronder in uw behoeften "
-"voorzien."
+#~ msgid "Display systems of department"
+#~ msgstr "Toon systemen van afdeling"
 
-#: setup/setup_config1.tpl:224
-#, fuzzy
-msgid ""
-"GOsa has modular support for several mail methods. These methods provide "
-"interfaces to users mailboxes and general handling    for quotas. You can "
-"choose the dummy plugin to leave all your mail settings untouched."
-msgstr ""
-"GOsa heeft modulaire ondersteuning voor diverse E-mail methodes. Deze "
-"methodes leveren toegang tot gebruikers mailboxen en algemene afhandeling "
-"voor quota's. U kunt de dummy module kiezen om alle E-mail instellingen "
-"ongewijzigd te laten."
+#~ msgid "Display systems matching"
+#~ msgstr "Toon de overeenkomende systemen"
 
-#: setup/class_setupStep_Schema.inc:42 setup/class_setupStep_Schema.inc:43
-#, fuzzy
-msgid "LDAP schema check"
-msgstr "Ldap server"
+#~ msgid "Regular expression for matching addresses"
+#~ msgstr "Reguliere expresie voor overeenkomende adressen"
 
-#: setup/class_setupStep_Schema.inc:44
-msgid "Perform test on your current LDAP schema"
-msgstr ""
+#~ msgid ""
+#~ "This may be a primary user group. Please double check if you really want "
+#~ "to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Dit kan een primaire groep zijn. Verzeker uzelf ervan dat dit is wat u "
+#~ "wilt, aangezien er geen mogelijkheid voor GOsa is om deze gegevens terug "
+#~ "te halen."
 
-#: setup/class_setupStep_Welcome.inc:38
-#, fuzzy
-msgid "Welcome"
-msgstr "Welkom %s!"
+#~ msgid "Show samba groups"
+#~ msgstr "Toon Samba groepen"
 
-#: setup/class_setupStep_Welcome.inc:39
 #, fuzzy
-msgid "The welcome message"
-msgstr "Verwijder dit bericht"
+#~ msgid "Show mail groups"
+#~ msgstr "Toon Samba groepen"
 
-#: setup/class_setupStep_Welcome.inc:40
-#, fuzzy
-msgid "Welcome to GOsa setup wizard"
-msgstr "Welkom bij het GOsa installatie programma!"
+#~ msgid "Group administration"
+#~ msgstr "Groepen beheer"
+
+#~ msgid ""
+#~ "This includes all account data, system access rules, imap settings, etc. "
+#~ "for this user. Please double check if your really want to do this since "
+#~ "there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Dit omvat alle account gegevens, systeem toegangsregels, imap "
+#~ "instellingen etc. voor deze gebruiker. Verzeker uzelf hiervan, aangezien "
+#~ "er geen mogelijkheid voor GOsa is om deze informatie terug te halen."
 
-#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
 #, fuzzy
-msgid "License"
-msgstr "Regel"
+#~ msgid "Manage users"
+#~ msgstr "Windows gebruikers"
 
-#: setup/class_setupStep_License.inc:58
-msgid "Terms and conditions for usage"
-msgstr ""
+#~ msgid ""
+#~ "This includes 'all' accounts, systems, etc. in this subtree. Please "
+#~ "double check if your really want to do this since there is no way for "
+#~ "GOsa to get your data back."
+#~ msgstr ""
+#~ "Dit omvat 'alle' accounts, systemen etc. in deze subtree. Verzeker uzelf "
+#~ "er van dat dit is wat u wilt, aangezien er geen mogelijkheid voor GOsa is "
+#~ "om deze gegevens terug te halen."
 
-#: setup/setup_language.tpl:3
-#, fuzzy
-msgid "Please select the preferred language"
-msgstr "Voorkeurstaal"
+#~ msgid ""
+#~ "Best thing to do before performing this action would be to save the "
+#~ "current contents of your LDAP tree in a file. So - if you've done so - "
+#~ "press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "Het is aan te raden de huidige inhoud van uw LDAP database op te slaan "
+#~ "alvorens u doorgaat. Indien u dat gedaan heeft drukt u op 'Verwijderen' "
+#~ "om door te gaan of op 'Annuleren' om te annuleren."
 
-#: setup/setup_language.tpl:5
-msgid ""
-"At this point, you can select the site wide default language. Choosing "
-"'automatic' will use the language requested by the browser. This setting can "
-"be overriden per user."
-msgstr ""
+#~ msgid "List of departments"
+#~ msgstr "Lijst met afdelingen"
 
-#: setup/setup_language.tpl:9
 #, fuzzy
-msgid "Please select your preferred language here"
-msgstr "Voorkeurstaal"
+#~ msgid "Manage Departments"
+#~ msgstr "Afdelingen"
 
-#: setup/class_setupStep_Config1.inc:74 setup/class_setupStep_Config1.inc:75
 #, fuzzy
-msgid "GOsa settings 1/3"
-msgstr "Gebruikersinstellingen"
+#~ msgid "Show access control lists"
+#~ msgstr "Toegangsopties"
 
-#: setup/class_setupStep_Config1.inc:76
 #, fuzzy
-msgid "GOsa generic settings"
-msgstr "Algemene wachtrij instellingen"
+#~ msgid "Show roles"
+#~ msgstr "Toon telefoons"
 
-#: setup/class_setupStep_Config1.inc:118
-#, fuzzy, php-format
-msgid "The specified value for '%s' must be a numeric value"
-msgstr "De sieve poort dient nummeriek te zijn."
-
-#: setup/class_setupStep_Config1.inc:122 setup/class_setupStep_Config1.inc:126
-#, php-format
-msgid "Don't add a trailing comma to '%s'."
-msgstr ""
+#~ msgid "Show servers"
+#~ msgstr "Toon servers"
 
-#: setup/class_setupStep_Config1.inc:122
-msgid "People storage ou"
-msgstr "OU voor gebruikers opslag"
+#~ msgid "Show workstations"
+#~ msgstr "Toon werkstations"
 
-#: setup/class_setupStep_Config1.inc:126
-msgid "Group storage ou"
-msgstr "OU voor groepen opslag"
+#~ msgid "Show terminals"
+#~ msgstr "Toon terminals"
 
-#: setup/class_setupStep_Config1.inc:130
 #, fuzzy
-msgid "Uid base must be numeric"
-msgstr "Timeout dient nummeriek te zijn"
+#~ msgid "List navigation"
+#~ msgstr "Windows werkstation"
 
-#: setup/class_setupStep_Config1.inc:134
 #, fuzzy
-msgid "The given password minimum length is not numeric."
-msgstr "De sieve poort dient nummeriek te zijn."
+#~ msgid "Group selection filter"
+#~ msgstr "Groep instellingen"
 
-#: setup/class_setupStep_Config1.inc:137
 #, fuzzy
-msgid "The given password differ value is not numeric."
-msgstr "De sieve poort dient nummeriek te zijn."
+#~ msgid "Posix extension settings"
+#~ msgstr "Posix instellingen"
 
-#: setup/class_setupStep_Config2.inc:80 setup/class_setupStep_Config2.inc:81
 #, fuzzy
-msgid "GOsa settings 2/3"
-msgstr "Gebruikersinstellingen"
+#~ msgid "Account accessibility"
+#~ msgstr "Configuratie bestand"
 
-#: setup/class_setupStep_Config2.inc:82
-#, fuzzy
-msgid "Customize special parameters"
-msgstr "Controleer parameter"
+#~ msgid "Go to root department"
+#~ msgstr "Ga naar basis afdelingen"
 
-#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
-#, fuzzy
-msgid "Language setup"
-msgstr "Taal"
+#~ msgid "Home"
+#~ msgstr "Home"
 
-#: setup/class_setupStep_Language.inc:42
-#, fuzzy
-msgid "This step allows you to select your preferred language."
-msgstr ""
-"Deze dialoog maakt het mogelijk om een apparaat te verbinden aan de computer "
-"die u momenteel aan het bewerken bent."
+#~ msgid ""
+#~ "This is the GOsa main menu. You can select your tasks from the menu on "
+#~ "the left, or by choosing one of the pictograms below. All changes apply "
+#~ "directly to your companies LDAP server."
+#~ msgstr ""
+#~ "Dit is het GOsa hoofdmenu. U kunt taken selecteren door het menu aan de "
+#~ "linkerzijde te gebruiken of door een van de pictogrammen hieronder te "
+#~ "selecteren. Alle veranderingen worden direct op de LDAP server van uw "
+#~ "bedrijf doorgevoerd."
+
+#~ msgid ""
+#~ "Use 'Sign out' on the upper left to close the connection and 'Main' to "
+#~ "get back to the pictogram view."
+#~ msgstr ""
+#~ "Gebruik 'Uitloggen' bovenin om de verbinding te verbreken en 'Hoofdmenu' "
+#~ "om terug te keren naar het onderstaande pictogrammen overzicht."
 
-#: setup/class_setupStep_Language.inc:47
 #, fuzzy
-msgid "Automatic"
-msgstr "automatisch"
+#~ msgid "Show functional users"
+#~ msgstr "Toon functionele gebruikers"
 
 #, fuzzy
-#~ msgid "Group submenu menu"
-#~ msgstr "Groepsleden"
+#~ msgid "Show Samba users"
+#~ msgstr "Toon E-mail gebruikers"
 
 #~ msgid "Choose subtree to place user in"
 #~ msgstr "Kies de subtree waaronder de gebruiker geplaatst wordt"
@@ -6959,22 +8317,29 @@ msgstr "automatisch"
 #~ msgid "Select a base"
 #~ msgstr "Selecteer een basis"
 
-#, fuzzy
-#~ msgid "You have no permission to set your password!"
-#~ msgstr "U heeft geen toestemming om uw wachtwoord te veranderen."
+#~ msgid "Generic user information"
+#~ msgstr "Algemene gebruikersinformatie"
 
-#~ msgid ""
-#~ "You have changed the method your password is stored in the ldap database. "
-#~ "For that reason you've to enter your password at this point again. GOsa "
-#~ "will then encode it with the selected method."
-#~ msgstr ""
-#~ "U heeft de manier waarop uw wachtwoord wordt opgeslagen in de LDAP "
-#~ "database veranderd. Daarom moet u het wachtwoord op dit moment opnieuw "
-#~ "invoeren. GOsa zal dan het wachtwoord versleutelen op de door u "
-#~ "geselecteerde methode."
+#~ msgid "Account"
+#~ msgstr "Account"
 
-#~ msgid "Password change not allowed"
-#~ msgstr "Het veranderen van het wachtwoord is niet toegestaan"
+#~ msgid "Select groups to add"
+#~ msgstr "Selecteer de toe te voegen groepen"
+
+#~ msgid "Display groups of department"
+#~ msgstr "Toon groepen van afdeling"
+
+#~ msgid "Display groups matching"
+#~ msgstr "Toon overeenkomende groepen"
+
+#~ msgid "Regular expression for matching group names"
+#~ msgstr "Reguliere expressie voor overeenkomende groepnamen"
+
+#~ msgid "Display groups of user"
+#~ msgstr "Toon groepen van gebruiker"
+
+#~ msgid "User name of which groups are shown"
+#~ msgstr "Gebruikersnaam van wie de groepen getoond worden"
 
 #, fuzzy
 #~ msgid "Choose a base"
@@ -7017,10 +8382,6 @@ msgstr "automatisch"
 #~ msgstr "Reguliere expressie voor overeenkomende gebruikersnamen"
 
 #, fuzzy
-#~ msgid "List of systems"
-#~ msgstr "Lijst met gebruikers"
-
-#, fuzzy
 #~ msgid "givenname"
 #~ msgstr "Naam"
 
@@ -7037,10 +8398,6 @@ msgstr "automatisch"
 #~ msgstr "Lijst met groepen"
 
 #, fuzzy
-#~ msgid "Use"
-#~ msgstr "Gebruiker"
-
-#, fuzzy
 #~ msgid "Filter entries with this syntax"
 #~ msgstr "Filter regels met deze syntax"
 
@@ -7107,10 +8464,6 @@ msgstr "automatisch"
 #~ msgstr "Toon functionele groepen"
 
 #, fuzzy
-#~ msgid "Not allowed"
-#~ msgstr "Het veranderen van het wachtwoord is niet toegestaan"
-
-#, fuzzy
 #~ msgid "Number of listed groups"
 #~ msgstr "Naam van de groep"
 
@@ -7126,10 +8479,6 @@ msgstr "automatisch"
 #~ msgstr "Sjablonen"
 
 #, fuzzy
-#~ msgid "GOsa object"
-#~ msgstr "Object"
-
-#, fuzzy
 #~ msgid "functional users"
 #~ msgstr "Toon functionele gebruikers"
 
@@ -7161,10 +8510,6 @@ msgstr "automatisch"
 #~ msgid "Create user with this template"
 #~ msgstr "Maak gebruiker aan met dit sjabloon"
 
-#, fuzzy
-#~ msgid "user"
-#~ msgstr "gebruikers"
-
 #~ msgid "password"
 #~ msgstr "wachtwoord"
 
@@ -7194,9 +8539,6 @@ msgstr "automatisch"
 #~ msgid "Regular expression for matching department names"
 #~ msgstr "Reguliere expressie voor overeenkomende afdelingen"
 
-#~ msgid "Department management"
-#~ msgstr "Afdeling beheer"
-
 #, fuzzy
 #~ msgid ""
 #~ "This includes all system and setup informations. Please double check if "
@@ -7251,10 +8593,6 @@ msgstr "automatisch"
 #~ msgstr "Verwijder printer mogelijkheden"
 
 #, fuzzy
-#~ msgid "Enable DHCP extension"
-#~ msgstr "Verwijder printer mogelijkheden"
-
-#, fuzzy
 #~ msgid "Enable mime type management"
 #~ msgstr "Systeembeheer"
 
@@ -7295,19 +8633,12 @@ msgstr "automatisch"
 #~ msgstr "Hernoemen"
 
 #, fuzzy
-#~ msgid "Role description"
-#~ msgstr "Eenheid omschrijving"
-
-#, fuzzy
 #~ msgid "Override sudo role ou"
 #~ msgstr "! onbekend id"
 
 #~ msgid "Terminals"
 #~ msgstr "Terminals"
 
-#~ msgid "Action"
-#~ msgstr "Actie"
-
 #, fuzzy
 #~ msgid "Select this base"
 #~ msgstr "Selecteer een basis"
@@ -7316,10 +8647,6 @@ msgstr "automatisch"
 #~ msgid "add"
 #~ msgstr "Toevoegen"
 
-#, fuzzy
-#~ msgid "remove"
-#~ msgstr "Verwijderen"
-
 #~ msgid "You're about to delete the whole LDAP subtree placed under '%s'."
 #~ msgstr "U staat op het punt de hele LDAP subtree onder '%s' te verwijderen."
 
@@ -7327,10 +8654,6 @@ msgstr "automatisch"
 #~ msgstr "afdeling"
 
 #, fuzzy
-#~ msgid "Delete acl role"
-#~ msgstr "Verwijder gebruiker"
-
-#, fuzzy
 #~ msgid "Steps"
 #~ msgstr "Systemen"
 
@@ -7355,18 +8678,10 @@ msgstr "automatisch"
 #~ msgstr "Verwijder gebruiker"
 
 #, fuzzy
-#~ msgid "User successfully removed."
-#~ msgstr "Import was succesvol"
-
-#, fuzzy
 #~ msgid "Heimdal options"
 #~ msgstr "E-mail opties"
 
 #, fuzzy
-#~ msgid "Hour"
-#~ msgstr "uur"
-
-#, fuzzy
 #~ msgid "Day"
 #~ msgstr "dag"
 
@@ -7379,6 +8694,10 @@ msgstr "automatisch"
 #~ msgstr "Zoeken"
 
 #, fuzzy
+#~ msgid "Password end"
+#~ msgstr "Wachtwoord"
+
+#, fuzzy
 #~ msgid "Missing parameters!"
 #~ msgstr "Programmanaam"
 
@@ -7407,18 +8726,12 @@ msgstr "automatisch"
 #~ msgid "Common name"
 #~ msgstr "Algemene naam"
 
-#~ msgid "Server name"
-#~ msgstr "Servernaam"
-
 #~ msgid "Servers of %s on %s"
 #~ msgstr "Servers van %s in %s"
 
 #~ msgid "Display name"
 #~ msgstr "Getoonde naam"
 
-#~ msgid "Home phone"
-#~ msgstr "Telefoon Privé"
-
 #~ msgid "Initials"
 #~ msgstr "Initialen"
 
@@ -7446,12 +8759,6 @@ msgstr "automatisch"
 #~ msgid "Email address"
 #~ msgstr "E-mail adres"
 
-#~ msgid "Organizational unit"
-#~ msgstr "Afdeling"
-
-#~ msgid "Postal Code"
-#~ msgstr "Postcode"
-
 #~ msgid "Title"
 #~ msgstr "Titel"
 
@@ -7466,9 +8773,6 @@ msgstr "automatisch"
 #~ msgstr ""
 #~ "U heeft geen toestemming om een gebruiker aan te maken onder deze 'Basis'."
 
-#~ msgid "Could not connect to database server!"
-#~ msgstr "Kan niet verbinden met de database server!"
-
 #~ msgid "Could not select database!"
 #~ msgstr "De opgegeven database kon niet geselecteerd worden!"
 
@@ -7528,18 +8832,10 @@ msgstr "automatisch"
 #~ msgstr "Inhakers"
 
 #, fuzzy
-#~ msgid "Command"
-#~ msgstr "en"
-
-#, fuzzy
 #~ msgid "Run as user"
 #~ msgstr "Windows gebruikers"
 
 #, fuzzy
-#~ msgid "Available options"
-#~ msgstr "Beschikbare programma's"
-
-#, fuzzy
 #~ msgid "Sudo role administration"
 #~ msgstr "Groepen beheer"
 
@@ -7705,10 +9001,6 @@ msgstr "automatisch"
 #~ msgstr "Toon groepen die gebruikers bevatten"
 
 #, fuzzy
-#~ msgid "server"
-#~ msgstr "servers"
-
-#, fuzzy
 #~ msgid "Show %s user"
 #~ msgstr "Toon Samba gebruikers"
 
@@ -7805,10 +9097,6 @@ msgstr "automatisch"
 #~ msgid "Service infrastructure"
 #~ msgstr "Zoek binnen subtree"
 
-#, fuzzy
-#~ msgid "Password change failed."
-#~ msgstr "Het veranderen van het wachtwoord is niet toegestaan"
-
 #~ msgid "You are not allowed to set this users password!"
 #~ msgstr ""
 #~ "U heeft geen toestemming om het wachtwoord van deze gebruiker veranderen!"
@@ -7837,10 +9125,6 @@ msgstr "automatisch"
 #~ msgstr "U heeft geen toestemming om uw wachtwoord te veranderen!"
 
 #, fuzzy
-#~ msgid "Accessibility"
-#~ msgstr "Configuratie bestand"
-
-#, fuzzy
 #~ msgid "Configuration warning"
 #~ msgstr "Configuratie bestand"
 
@@ -8062,9 +9346,6 @@ msgstr "automatisch"
 #~ msgid "You're about to delete the object group '%s'."
 #~ msgstr "U staat op het punt de objectgroep '%s' te verwijderen."
 
-#~ msgid "Name of object groups"
-#~ msgstr "Naam van objectgroepen"
-
 #~ msgid "Select to see groups containing groups"
 #~ msgstr "Selecteer om groepen die groepen bevatten te tonen"
 
@@ -8129,10 +9410,6 @@ msgstr "automatisch"
 #~ msgid "Edit ACL"
 #~ msgstr "Bewerken"
 
-#, fuzzy
-#~ msgid "ACLs"
-#~ msgstr "Rechten"
-
 #~ msgid "Groupname / Department"
 #~ msgstr "Groepsnaam / Afdeling"
 
@@ -8156,10 +9433,6 @@ msgstr "automatisch"
 #~ msgstr "Toegangsopties"
 
 #, fuzzy
-#~ msgid "Acl roles"
-#~ msgstr "Nieuw profiel"
-
-#, fuzzy
 #~ msgid "Removing a lock failed."
 #~ msgstr "Het verwijderen van de FAI inhaker is mislukt"
 
@@ -8253,10 +9526,6 @@ msgstr "automatisch"
 #~ msgstr "Unix instellingen"
 
 #, fuzzy
-#~ msgid "Notifications"
-#~ msgstr "Beroep"
-
-#, fuzzy
 #~ msgid "Send user notifications"
 #~ msgstr "Gebruikersinformatie"
 
@@ -8269,10 +9538,6 @@ msgstr "automatisch"
 #~ msgstr "Kan bestand '%s' niet aanmaken."
 
 #, fuzzy
-#~ msgid "Notification"
-#~ msgstr "Beroep"
-
-#, fuzzy
 #~ msgid "Notification plugin"
 #~ msgstr "Geen certificaat geinstalleerd"
 
@@ -8284,10 +9549,6 @@ msgstr "automatisch"
 #~ msgid "Notification target"
 #~ msgstr "Geen certificaat geinstalleerd"
 
-#, fuzzy
-#~ msgid "Recipients"
-#~ msgstr "Ontvanger"
-
 #~ msgid "Message"
 #~ msgstr "Bericht"
 
@@ -8359,9 +9620,6 @@ msgstr "automatisch"
 #~ msgid "Please enter a valid path in 'Home directory' field."
 #~ msgstr "Geef a.u.b. een geldige map op in het 'Persoonlijke map' veld."
 
-#~ msgid "Value specified as 'UID' is not valid."
-#~ msgstr "De opgegeven 'UID' waarde is niet correct."
-
 #~ msgid "Value specified as 'GID' is not valid."
 #~ msgstr "De opgegeven 'GID' waarde is niet geldig."
 
@@ -8576,10 +9834,6 @@ msgstr "automatisch"
 #~ msgstr "Beschikbare programma's"
 
 #, fuzzy
-#~ msgid "Show object groups"
-#~ msgstr "Objectgroepen"
-
-#, fuzzy
 #~ msgid "You are not allowed to delete this acl!"
 #~ msgstr "U heeft geen toestemming om deze macro te verwijderen!"
 
@@ -8613,9 +9867,6 @@ msgstr "automatisch"
 #~ msgid "Network resolv hook"
 #~ msgstr "Netwerkadres"
 
-#~ msgid "Administration"
-#~ msgstr "Beheer"
-
 #~ msgid "Addons"
 #~ msgstr "Plugins"
 
@@ -8636,12 +9887,6 @@ msgstr "automatisch"
 #~ msgid "Nagios"
 #~ msgstr "Nagios"
 
-#~ msgid "Options"
-#~ msgstr "Opties"
-
-#~ msgid "Parameter"
-#~ msgstr "Parameters"
-
 #, fuzzy
 #~ msgid "Inventory"
 #~ msgstr "Inventaris toevoegen"
diff --git a/gosa-core/locale/core/pl/LC_MESSAGES/messages.po b/gosa-core/locale/core/pl/LC_MESSAGES/messages.po
index 53f3cfd..3016c0c 100644
--- a/gosa-core/locale/core/pl/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/pl/LC_MESSAGES/messages.po
@@ -2,10 +2,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: polski\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-09 20:24+0200\n"
-"PO-Revision-Date: 2009-09-05 15:13+0100\n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
+"PO-Revision-Date: 2010-04-30 21:15+0100\n"
 "Last-Translator: Piort Rybicki <meritus at innervision.pl>\n"
 "Language-Team: Piotr Rybicki <meritus at innervision.pl>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -14,2498 +15,2515 @@ msgstr ""
 "X-Poedit-SourceCharset: iso-8859-2\n"
 "X-Poedit-Basepath: tedst\n"
 
-#: ihtml/themes/default/remove.tpl:2 ihtml/themes/default/msg_dialog.tpl:59
-#: ihtml/themes/default/msg_dialog.tpl:106 ihtml/themes/default/islocked.tpl:6
-#: ihtml/themes/default/conflict.tpl:6 html/password.php:280 html/index.php:57
-#: html/index.php:63 html/index.php:406 html/index.php:412
-#: include/functions.inc:954 include/functions.inc:2686
-#: include/functions.inc:2690 include/functions.inc:2696
-#: include/class_tabs.inc:268 include/utils/class_xml.inc:37
-#: plugins/admin/ogroups/remove.tpl:2 plugins/admin/groups/remove.tpl:2
-#: plugins/admin/groups/class_group.inc:994 plugins/admin/users/remove.tpl:2
-#: plugins/admin/departments/remove.tpl:2
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#: plugins/admin/acl/remove.tpl:2
-#: plugins/personal/posix/class_posixAccount.inc:793
-#: plugins/personal/posix/class_posixAccount.inc:946
-#: setup/class_setupStep_Migrate.inc:261 setup/class_setupStep_Migrate.inc:313
-#: setup/class_setupStep_Migrate.inc:446 setup/class_setupStep_Migrate.inc:523
-#: setup/class_setupStep_Migrate.inc:661 setup/class_setupStep_Migrate.inc:804
-#: setup/class_setupStep_Migrate.inc:2573
-#: setup/class_setupStep_Migrate.inc:2726
-#: setup/class_setupStep_Migrate.inc:3058 setup/setup_checks.tpl:32
-#: setup/setup_checks.tpl:93
-msgid "Warning"
-msgstr "Ostrzeżenie"
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
+msgstr "nieskonfigurowane"
 
-#: ihtml/themes/default/remove.tpl:6
-msgid ""
-"This may be used by several groups. Please double check if your really want "
-"to do this since there is no way for GOsa to get your data back."
-msgstr ""
-"To może być używane przez kilka grup. Proszę upewnić się czy kontynuować, "
-"gdyż nie ma operacji powrotu."
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
+msgid "Permission"
+msgstr "Uprawnienie"
 
-#: ihtml/themes/default/remove.tpl:9 plugins/admin/ogroups/remove.tpl:10
-#: plugins/admin/groups/remove.tpl:10 plugins/admin/users/remove.tpl:10
-#: plugins/admin/acl/remove.tpl:10
-msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-"Jeśli jesteś pewien - naciśnij 'Usuń' aby kontynuować lub 'Anuluj' aby "
-"anulować."
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
+msgid "Permission error"
+msgstr "Błąd uprawnień"
 
-#: ihtml/themes/default/remove.tpl:15
-#: ihtml/themes/default/copyPasteDialog.tpl:21
-#: ihtml/themes/default/acl.tpl:128 ihtml/themes/default/acl.tpl:142
-#: ihtml/themes/default/snapshotdialog.tpl:44
-#: ihtml/themes/default/snapshotdialog.tpl:89
-#: ihtml/themes/default/msg_dialog.tpl:79
-#: ihtml/themes/default/msg_dialog.tpl:139
-#: ihtml/themes/default/msg_dialog.tpl:144
-#: ihtml/themes/default/islocked.tpl:19 include/utils/class_msgPool.inc:312
-#: setup/setup_migrate.tpl:163 setup/setup_migrate.tpl:214
-#: setup/setup_migrate.tpl:261 setup/setup_migrate.tpl:326
-#: setup/setup_migrate.tpl:382 setup/setup_migrate.tpl:435
-#: setup/setup_migrate.tpl:480 setup/setup_migrate.tpl:523
-#: setup/setup_migrate.tpl:567 setup/setup_ldap.tpl:17
+#: include/class_management.inc:487
+#, fuzzy, php-format
+msgid "You are not allowed to create a snapshot for %s!"
+msgstr "Brak uprawnień do utworzenia snapshotu dla %s."
+
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
 #, php-format
-msgid "Cancel"
-msgstr "Anuluj"
-
-#: ihtml/themes/default/login.tpl:10
-msgid "GOsa login screen"
-msgstr "Ekran logowania GOsa"
+msgid "Error"
+msgstr "Błąd"
 
-#: ihtml/themes/default/login.tpl:27
-msgid "Login screen"
-msgstr "Ekran Logowania"
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, fuzzy, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
+msgstr "Brak uprawnień do odtworzenia snapshotu dla %s."
 
-#: ihtml/themes/default/login.tpl:34
-#, fuzzy
-msgid ""
-"Please use your username and your password to log into the site "
-"administration system."
-msgstr "Proszę użyć swojego loginu i hasła aby się zalogować"
+#: include/class_management.inc:549
+#, fuzzy, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
+msgstr "Brak uprawnień do odtworzenia snapshotu dla %s."
 
-#: ihtml/themes/default/login.tpl:42 ihtml/themes/default/login.tpl:44
-#: ihtml/themes/default/password.tpl:69 ihtml/themes/default/password.tpl:71
-msgid "Username"
-msgstr "Nazwa użytkownika"
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
+msgid "Internal error"
+msgstr "Błąd wewnętrzny"
 
-#: ihtml/themes/default/login.tpl:47 ihtml/themes/default/login.tpl:49
-#: ihtml/themes/default/password.tpl:40
-#: plugins/personal/generic/paste_generic.tpl:20
-#: plugins/personal/password/class_password.inc:26 setup/setup_config2.tpl:237
-#: setup/setup_config2.tpl:282 setup/setup_migrate.tpl:299
-msgid "Password"
-msgstr "Hasło"
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
+msgid ""
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
+msgstr ""
 
-#: ihtml/themes/default/login.tpl:52 ihtml/themes/default/login.tpl:53
-#: ihtml/themes/default/password.tpl:60 ihtml/themes/default/password.tpl:62
-msgid "Directory"
-msgstr "Katalog"
+#: include/class_management.inc:669
+#, php-format
+msgid ""
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
+msgstr ""
 
-#: ihtml/themes/default/login.tpl:77 ihtml/themes/default/login.tpl:80
-msgid "Sign in"
-msgstr "Zaloguj"
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Configuration error"
+msgstr "Błąd konfiguracji"
 
-#: ihtml/themes/default/login.tpl:78
-msgid "Click here to log in"
-msgstr "Kliknij tutaj aby się zalogować"
+#: include/class_pluglist.inc:147
+msgid "The configuration format has changed: please run the setup again!"
+msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:1
+#: include/class_pluglist.inc:304
 #, fuzzy
-msgid "Copy & paste wizard"
-msgstr "Kreator Copy & paste"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:7
 msgid ""
-"Some values need to be unique in the complete directory while some "
-"combinations make no sense. GOsa shows the relevant attributes. Please "
-"maintain the values below to fullfill the policies."
-msgstr ""
-"Niektóre wartości muszą być unikalne w całym katalogu, podczas gdy niektóre "
-"kombinacje nie mają sensu. GOsa pokazuje dotyczące atrybuty. Proszę poprawić "
-"wartości poniżej aby utrzymać zgodność z regułami."
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
+msgstr "Obecnie edytujesz bazę danych. Czy chcesz porzucić zmiany?"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:9
-msgid "Remember that some properties like taken snapshots will not be copied!"
-msgstr ""
-"Pamiętaj, że niektóre właściwości jak snapshoty nie zostaną skopiowane!"
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
+msgid "Unknown"
+msgstr "Nieznane"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:10
-msgid ""
-"Or if you copy or cut an entry within GOsa and delete the source object, you "
-"may get errors while pasting this object again!"
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:330
+#: include/utils/class_msgPool.inc:19
 #, php-format
-msgid "Save"
-msgstr "Zapisz"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:24
-msgid "Cancel all"
-msgstr "Anuluj wszystko"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:30
-msgid "Operation complete"
-msgstr "Operacja zakończona"
+msgid "This %s object will be deleted!"
+msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:32
-#: setup/class_setupStep_Finish.inc:37
-msgid "Finish"
-msgstr "Zakończ"
+#: include/utils/class_msgPool.inc:24
+#, php-format
+msgid "This object will be deleted: %s"
+msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:3
-msgid ""
-"The size limit option makes LDAP operations faster and saves the LDAP server "
-"from getting too much load. The easiest way to handle big databases without "
-"long timeouts would be to limit your search to smaller values and use "
-"filters to get the entries you are looking for."
+#: include/utils/class_msgPool.inc:26
+#, php-format
+msgid "This %s object will be deleted: %s"
 msgstr ""
-"Limit rozmiaru powoduje szybsze operacje LDAP i zapobiega nadmiernemu "
-"obciążeniu serwera LDAP. Najprostrzym sposobem działania na dużych bazach "
-"bez opóźnień jest ograniczanie wyszukiwań do mniejszej ilości wyników oraz "
-"użycie filtrów dla otrzymania poszukiwanych elementów."
 
-#: ihtml/themes/default/sizelimit.tpl:6
-msgid "Please choose the way to react for this session"
-msgstr "Proszę wybrać sposób reakcji dla tej sesji"
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
+msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:9
-msgid "ignore this error and show all entries the LDAP server returns"
-msgstr "Ignoruj ten błąd i pokaż wszystkie elementy które zwraca serwer LDAP"
+#: include/utils/class_msgPool.inc:33
+#, php-format
+msgid "This %s object will be deleted:"
+msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:10
-msgid ""
-"ignore this error and show all entries that fit into the defined sizelimit "
-"and let me use filters instead"
+#: include/utils/class_msgPool.inc:37
+#, php-format
+msgid "These objects will be deleted: %s"
 msgstr ""
-"ignoruj ten błąd i pokaż wszystkie elementy które zmieszczą się w "
-"zdefiniowanych limicie rozmiaru i pozwól mi użyć filtrów"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
+#: include/utils/class_msgPool.inc:39
 #, php-format
-msgid "Set"
-msgstr "Ustaw"
+msgid "These %s objects will be deleted: %s"
+msgstr ""
 
-#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: include/utils/class_msgPool.inc:47
 #, fuzzy
-msgid "Assigned ACL for current entry"
-msgstr "Przypisane ACL'e dla obecnego wpisu"
+msgid "You have no permission to delete this object!"
+msgstr "Brak uprawnień do usunięcia tego departamentu."
 
-#: ihtml/themes/default/acl.tpl:12 plugins/admin/acl/acl_role.tpl:38
-msgid "New ACL"
-msgstr "Nowy ACL"
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
+#, fuzzy
+msgid "You have no permission to delete the object:"
+msgstr "Brak uprawnień do usunięcia tego departamentu."
 
-#: ihtml/themes/default/acl.tpl:17 plugins/admin/acl/acl_role.tpl:44
-msgid "ACL type"
-msgstr "typ ACL"
+#: include/utils/class_msgPool.inc:58
+#, fuzzy
+msgid "You have no permission to delete these objects:"
+msgstr "Brak uprawnień do usunięcia tego departamentu."
 
-#: ihtml/themes/default/acl.tpl:19 ihtml/themes/default/acl.tpl:24
-#: plugins/admin/acl/acl_role.tpl:44
-msgid "Select an acl type"
-msgstr "Wybierz typ ACL"
+#: include/utils/class_msgPool.inc:65
+#, fuzzy
+msgid "You have no permission to create this object!"
+msgstr "Brak uprawnień do usunięcia tego departamentu."
 
-#: ihtml/themes/default/acl.tpl:29 ihtml/themes/default/acl.tpl:52
-#: ihtml/themes/default/acl.tpl:125 ihtml/themes/default/acl.tpl:140
-#: include/utils/class_msgPool.inc:324 setup/setup_migrate.tpl:161
-#: setup/setup_migrate.tpl:212 setup/setup_migrate.tpl:260
-#: setup/setup_migrate.tpl:325 setup/setup_migrate.tpl:380
-#: setup/setup_migrate.tpl:433 setup/setup_migrate.tpl:478
-#: setup/setup_migrate.tpl:521 setup/setup_migrate.tpl:565
-#: setup/setup_ldap.tpl:16
-#, php-format
-msgid "Apply"
-msgstr "Zastosuj"
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
+#, fuzzy
+msgid "You have no permission to create the object:"
+msgstr "Brak uprawnień do usunięcia tego departamentu."
 
-#: ihtml/themes/default/acl.tpl:36
+#: include/utils/class_msgPool.inc:76
 #, fuzzy
-msgid "Additional filter options"
-msgstr "Ustawienia Aplikacji"
+msgid "You have no permission to create these objects:"
+msgstr "Brak uprawnień do usunięcia tego departamentu."
 
-#: ihtml/themes/default/acl.tpl:47
-msgid "Use members from"
-msgstr "Użyj członków z"
+#: include/utils/class_msgPool.inc:83
+#, fuzzy
+msgid "You have no permission to modify this object!"
+msgstr "Brak uprawnień do usunięcia grupy obiektowej."
 
-#: ihtml/themes/default/acl.tpl:61
-msgid "Available members"
-msgstr "Dostępni członkowie"
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
+#, fuzzy
+msgid "You have no permission to modify the object:"
+msgstr "Brak uprawnień do usunięcia grupy obiektowej."
 
-#: ihtml/themes/default/acl.tpl:63 ihtml/themes/default/acl.tpl:68
-msgid "List message possible targets"
-msgstr "Wyświetl możliwe cele wiadomości"
+#: include/utils/class_msgPool.inc:94
+#, fuzzy
+msgid "You have no permission to modify these objects:"
+msgstr "Brak uprawnień do usunięcia grupy obiektowej."
 
-#: ihtml/themes/default/acl.tpl:82 include/class_acl.inc:1090
-msgid "Members"
-msgstr "Członkowie"
+#: include/utils/class_msgPool.inc:101
+#, fuzzy
+msgid "You have no permission to view this object!"
+msgstr "Brak uprawnień do usunięcia grupy obiektowej."
 
-#: ihtml/themes/default/acl.tpl:84 ihtml/themes/default/acl.tpl:90
-msgid "List message recipients"
-msgstr "Wyświetl odbiorców wiadomości"
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
+#, fuzzy
+msgid "You have no permission to view the object:"
+msgstr "Brak uprawnień do tworzenia telefonu w tym elemencie."
 
-#: ihtml/themes/default/acl.tpl:104 plugins/admin/acl/acl_role.tpl:49
-msgid "List of available ACL categories"
-msgstr "Lista dostępnych kategorii ACL"
+#: include/utils/class_msgPool.inc:112
+#, fuzzy
+msgid "You have no permission to view these objects:"
+msgstr "Brak uprawnień do usunięcia grupy obiektowej."
 
-#: ihtml/themes/default/acl.tpl:112
+#: include/utils/class_msgPool.inc:119
 #, fuzzy
-msgid "ACL for this object"
-msgstr "ACLe dla tego obiektu"
+msgid "You have no permission to move this object!"
+msgstr "Brak uprawnień do usunięcia grupy obiektowej."
 
-#: ihtml/themes/default/acl.tpl:118
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
 #, fuzzy
-msgid "Available roles"
-msgstr "Dostępni członkowie"
+msgid "You have no permission to move the object:"
+msgstr "Brak uprawnień do usunięcia grupy obiektowej."
 
-#: ihtml/themes/default/accountexpired.tpl:15
+#: include/utils/class_msgPool.inc:130
 #, fuzzy
-msgid "Your password has expired. Please choose a new one!"
-msgstr "Twoje hasło wygasło !! Proszę wybrać inne hasło"
+msgid "You have no permission to move these objects:"
+msgstr "Brak uprawnień do usunięcia grupy obiektowej."
 
-#: ihtml/themes/default/accountexpired.tpl:23
-#: ihtml/themes/default/accountexpired.tpl:27
-msgid "Old password"
-msgstr "Stare hasło"
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
+msgid "Connection information"
+msgstr "Informacje o połączeniu"
 
-#: ihtml/themes/default/accountexpired.tpl:32
-#: ihtml/themes/default/accountexpired.tpl:36
-#: ihtml/themes/default/password.tpl:82 ihtml/themes/default/password.tpl:83
-#: html/password.php:196 plugins/admin/users/password.tpl:17
-#: plugins/admin/users/password.tpl:53
-#: plugins/admin/users/class_userManagement.inc:319
-#: plugins/personal/generic/password.tpl:22
-#: plugins/personal/generic/password.tpl:65
-#: plugins/personal/password/password.tpl:27
-#: plugins/personal/password/password.tpl:70
-msgid "New password"
-msgstr "Nowe hasło"
+#: include/utils/class_msgPool.inc:142
+#, fuzzy, php-format
+msgid "Cannot connect to %s database!"
+msgstr "Nie można połączyć się z serwerem baz danych!"
 
-#: ihtml/themes/default/accountexpired.tpl:41
-#: ihtml/themes/default/accountexpired.tpl:45
-msgid "Verify password"
-msgstr "Weryfikacja hasła"
+#: include/utils/class_msgPool.inc:154
+#, fuzzy, php-format
+msgid "Cannot select %s database!"
+msgstr "Nie można wybrać bazy danych!"
 
-#: ihtml/themes/default/accountexpired.tpl:51
-#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
-msgid "Change password"
-msgstr "Zmień hasło"
+#: include/utils/class_msgPool.inc:160
+#, php-format
+msgid "No %s server defined!"
+msgstr ""
 
-#: ihtml/themes/default/accountexpired.tpl:52
-#: ihtml/themes/default/password.tpl:102
-msgid "Click here to change your password"
-msgstr "Kliknij tutaj aby zmienić swoje hasło"
+#: include/utils/class_msgPool.inc:172
+#, fuzzy, php-format
+msgid "Cannot query %s database!"
+msgstr "Nie można wybrać bazy danych!"
 
-#: ihtml/themes/default/logout-close.tpl:5
-#, fuzzy
-msgid "Your GOsa session has been closed!"
-msgstr "Twoja sesja w GOsa wygasła!"
+#: include/utils/class_msgPool.inc:178
+#, fuzzy, php-format
+msgid "The field %s contains a reserved keyword!"
+msgstr "Pole 'Fax' zawiera nieprawidłowy numer telefonu."
 
-#: ihtml/themes/default/logout-close.tpl:7
-msgid ""
-"Please close this browser window and clean the authentication caches to "
-"avoid an automatic re-authentication by your browser."
-msgstr ""
+#: include/utils/class_msgPool.inc:184
+#, fuzzy, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
+msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
 
-#: ihtml/themes/default/snapshotdialog.tpl:3
-msgid "Restoring object snapshots"
-msgstr "Odtwarzanie obiektu snapshotów"
+#: include/utils/class_msgPool.inc:191
+#, fuzzy, php-format
+msgid "%s command is invalid!"
+msgstr "Podana nazwa jest nieprawidłowa"
 
-#: ihtml/themes/default/snapshotdialog.tpl:6
-msgid ""
-"This procedure will restore a snapshot of the selected object. It will "
-"replace the existing object after pressing the restore button."
-msgstr ""
-"Ta procedura przywróci snapshot wybranego obiektu. Obecny obiekt zostanie "
-"zamieniony po naciśnięciu przycisku przywróć."
+#: include/utils/class_msgPool.inc:193
+#, fuzzy, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
+msgstr "Podana nazwa jest nieprawidłowa"
 
-#: ihtml/themes/default/snapshotdialog.tpl:9
-msgid ""
-"Remember that DNS configuration and database entries could not be restored. "
-"For some objects it is only nescessary to open and save them again (goFon), "
-"but some entries must be recreated manually (glpi)."
-msgstr ""
+#: include/utils/class_msgPool.inc:195
+#, fuzzy, php-format
+msgid "%s command for plugin %s is invalid!"
+msgstr "Podana nazwa jest nieprawidłowa"
 
-#: ihtml/themes/default/snapshotdialog.tpl:12
-msgid ""
-"Don't forget to check references to other objects, for example does the "
-"selected printer still exists ?"
-msgstr ""
+#: include/utils/class_msgPool.inc:197
+#, fuzzy, php-format
+msgid "%s command (%s) is invalid!"
+msgstr "Podana nazwa jest nieprawidłowa"
 
-#: ihtml/themes/default/snapshotdialog.tpl:20
-#: ihtml/themes/default/snapshotdialog.tpl:62 include/class_acl.inc:777
-#: include/class_acl.inc:784 include/class_acl.inc:791
-#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
-#: plugins/admin/departments/class_department.inc:621
-msgid "Object"
-msgstr "Obiekt"
+#: include/utils/class_msgPool.inc:205
+#, fuzzy, php-format
+msgid "Cannot execute %s command!"
+msgstr "Nie można wybrać bazy danych!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:29
-msgid "There is no snapshot available that could be restored"
-msgstr "Brak snapshot'u który mógłby zostać odtworzony"
+#: include/utils/class_msgPool.inc:207
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
+msgstr "Nie można wybrać bazy danych!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:31
-msgid "Choose a snapshot and click the folder image, to restore the snapshot"
-msgstr "Wybierz snapshot i klinij w obrazek folderu, aby odtwodzyć snapshot."
+#: include/utils/class_msgPool.inc:209
+#, fuzzy, php-format
+msgid "Cannot execute %s command for plugin %s!"
+msgstr "Nie można wybrać bazy danych!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:49
-msgid "Creating object snapshots"
-msgstr "Tworzenie obiektu snapshoty"
+#: include/utils/class_msgPool.inc:211
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s)!"
+msgstr "Nie można wybrać bazy danych!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:52
-msgid ""
-"This procedure will create a snapshot of the selected object. It will be "
-"stored inside a special branch of your directory system and can be restored "
-"later on."
-msgstr ""
-"Ta procedura utworzy snapshot wybranego obiektu. Kopia obiektu zostanie "
-"zachowana w specjalnej gałęzi i będzie mogła zostać przywrócona później."
+#: include/utils/class_msgPool.inc:219
+#, fuzzy, php-format
+msgid "Value for %s is too large!"
+msgstr "Wartość podana jako 'UID' jest za mała."
 
-#: ihtml/themes/default/snapshotdialog.tpl:55
-msgid ""
-"Remember that database entries, DNS configurations and possibly created "
-"zones in server extensions will not be stored in the snapshot."
+#: include/utils/class_msgPool.inc:221
+#, fuzzy, php-format
+msgid "%s must be smaller than %s!"
+msgstr "Wartość podana jako 'shadowMin' powinna być mniejsza niż 'shadowMax'."
+
+#: include/utils/class_msgPool.inc:229
+#, fuzzy, php-format
+msgid "Value for %s is too small!"
+msgstr "Wartość dla '%s' jest za mała!"
+
+#: include/utils/class_msgPool.inc:231
+#, fuzzy, php-format
+msgid "%s must be %s or above!"
 msgstr ""
+"PHP musi być w wersji 4.1.0 lub wyższej z powodu używanych funkcji i błędów "
+"w języku PHP."
 
-#: ihtml/themes/default/snapshotdialog.tpl:70
-msgid "Timestamp"
-msgstr "Czas"
+#: include/utils/class_msgPool.inc:238
+#, php-format
+msgid "%s depends on %s - please provide both values!"
+msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:79
-msgid "Reason for generating this snapshot"
-msgstr "Przyczyna utworzenia tego snapshot'u"
+#: include/utils/class_msgPool.inc:244
+#, fuzzy, php-format
+msgid "There is already an entry with this %s attribute in the system!"
+msgstr "Już istnieje osoba z takim samym loginem w bazie."
 
-#: ihtml/themes/default/snapshotdialog.tpl:87
-#: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:561
-#: plugins/admin/departments/class_department.inc:643
-msgid "Continue"
-msgstr "Kontynuuj"
+#: include/utils/class_msgPool.inc:250
+#, fuzzy, php-format
+msgid "The required field %s is empty!"
+msgstr "Wymagane pole 'Nazwa' jest puste."
 
-#: ihtml/themes/default/msg_dialog.tpl:57
-#: ihtml/themes/default/msg_dialog.tpl:104 html/index.php:224
-#: html/index.php:228 include/class_management.inc:448
-#: include/class_management.inc:584 include/class_management.inc:916
-#: include/password-methods/class_password-methods.inc:250
-#: include/password-methods/class_password-methods.inc:309
-#: include/password-methods/class_password-methods.inc:320
-#: include/class_listing.inc:480 include/functions.inc:3393
-#: include/functions.inc:3407 include/functions.inc:3437
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485 include/functions.inc:3545
-#: include/class_tabs.inc:56 include/class_plugin.inc:670
-#: include/class_plugin.inc:712 include/class_plugin.inc:755
-#: include/class_plugin.inc:1642 include/utils/class_xml.inc:40
-#: include/utils/class_msgPool.inc:154 include/utils/class_msgPool.inc:166
-#: include/utils/class_msgPool.inc:184 include/utils/class_msgPool.inc:457
-#: include/utils/class_msgPool.inc:478 include/utils/class_msgPool.inc:497
-#: include/class_gosaSupportDaemon.inc:1184
-#: include/class_gosaSupportDaemon.inc:1204
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:377 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:469
-#: plugins/admin/groups/class_group.inc:539
-#: plugins/admin/groups/class_group.inc:545
-#: plugins/admin/groups/class_group.inc:753
-#: plugins/admin/groups/class_group.inc:894
-#: plugins/admin/groups/class_group.inc:899
-#: plugins/admin/groups/class_group.inc:1221
-#: plugins/admin/departments/class_department.inc:311
-#: plugins/admin/acl/class_aclRole.inc:681
-#: plugins/personal/generic/class_user.inc:297
-#: plugins/personal/generic/class_user.inc:408
-#: plugins/personal/generic/class_user.inc:503
-#: plugins/personal/generic/class_user.inc:801
-#: plugins/personal/generic/class_user.inc:1190
-#: plugins/personal/generic/class_user.inc:1197
-#: plugins/personal/generic/class_user.inc:1215
-#: plugins/personal/generic/class_user.inc:1485
-#: plugins/personal/generic/class_user.inc:1783
-#: setup/class_setupStep_Migrate.inc:1201 setup/setup_checks.tpl:30
-#: setup/setup_checks.tpl:91
-#, php-format
-msgid "Error"
-msgstr "Błąd"
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
+msgstr "Przykład"
 
-#: ihtml/themes/default/msg_dialog.tpl:61
-#: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
-msgid "Information"
-msgstr "Informacja"
+#: include/utils/class_msgPool.inc:278
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters"
+msgstr "Pole 'Nazwa' zawiera niedozwolone znaki."
 
-#: ihtml/themes/default/msg_dialog.tpl:76
-#: ihtml/themes/default/msg_dialog.tpl:78
-#: ihtml/themes/default/msg_dialog.tpl:134
-#: ihtml/themes/default/msg_dialog.tpl:137
-#: ihtml/themes/default/msg_dialog.tpl:142 include/utils/class_msgPool.inc:318
-#: setup/class_setupStep_Migrate.inc:267 setup/class_setupStep_Migrate.inc:319
-#: setup/class_setupStep_Migrate.inc:380 setup/class_setupStep_Migrate.inc:453
-#: setup/class_setupStep_Migrate.inc:530 setup/class_setupStep_Migrate.inc:604
-#: setup/class_setupStep_Migrate.inc:657 setup/class_setupStep_Migrate.inc:800
-#: setup/class_setupStep_Migrate.inc:1046
-#: setup/class_setupStep_Migrate.inc:2013
-#: setup/class_setupStep_Migrate.inc:2157
-#: setup/class_setupStep_Migrate.inc:2579
-#: setup/class_setupStep_Migrate.inc:2733
-#: setup/class_setupStep_Migrate.inc:3063 setup/setup_checks.tpl:27
-#: setup/setup_checks.tpl:87
-#, php-format
-msgid "Ok"
-msgstr "Ok"
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s is not allowed:"
+msgstr "Brak uprawnień do zmiay hasła"
 
-#: ihtml/themes/default/password.tpl:6
-msgid "Change your password"
-msgstr "Zmień swoje hasło"
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s are not allowed!"
+msgstr "Brak uprawnień do zmiay hasła"
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Success"
-msgstr "Powodzenie"
+#: include/utils/class_msgPool.inc:282
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters!"
+msgstr "Pole 'Nazwa' zawiera niedozwolone znaki."
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Your password has been changed successfully."
-msgstr "Twoje hasło zostało pomyślnie zmienione."
+#: include/utils/class_msgPool.inc:289
+#, fuzzy, php-format
+msgid "Missing %s PHP extension!"
+msgstr "Rozszerzenie inwentarza"
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:198
-#: plugins/admin/users/class_userManagement.inc:390
-#: plugins/personal/password/class_password.inc:128
-#: plugins/personal/password/class_password.inc:131
-#: plugins/personal/password/class_password.inc:134
-#: plugins/personal/password/class_password.inc:137
-#: plugins/personal/password/class_password.inc:140
-#: plugins/personal/password/class_password.inc:143
-#: plugins/personal/password/class_password.inc:157
-#: plugins/personal/password/class_password.inc:163
-msgid "Password change"
-msgstr "Zmiana hasła"
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
+#: ihtml/themes/default/copyPasteDialog.tpl:21
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
+msgstr "Anuluj"
 
-#: ihtml/themes/default/password.tpl:53
-msgid ""
-"This dialog provides a simple way to change your password. Enter the current "
-"password and the new password (twice) in the fields below and press the "
-"'Change' button."
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
+#: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
+#: ihtml/themes/default/msg_dialog.tpl:139
+#: ihtml/themes/default/msg_dialog.tpl:144
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
+#, php-format
+msgid "OK"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/generic/password.tpl:17
-#: plugins/personal/generic/password.tpl:44
-#: plugins/personal/password/password.tpl:22
-#: plugins/personal/password/password.tpl:49
-msgid "Current password"
-msgstr "Obecne hasło"
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
+msgstr "Zastosuj"
 
-#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:87
-#, fuzzy
-msgid "New password repeated"
-msgstr "Nowe hasło"
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
+msgstr "Zapisz"
 
-#: ihtml/themes/default/password.tpl:90
-#: plugins/personal/generic/password.tpl:32
-#: plugins/personal/generic/password.tpl:75
-#: plugins/personal/password/password.tpl:37
-#: plugins/personal/password/password.tpl:80
-#, fuzzy
-msgid "Password strength"
-msgstr "Przechowywanie hasła"
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
+msgstr "Dodaj"
 
-#: ihtml/themes/default/password.tpl:101
-msgid "Change"
-msgstr "Zmień"
+#: include/utils/class_msgPool.inc:319
+#, php-format
+msgid "Add %s"
+msgstr "Dodaj %s"
 
-#: ihtml/themes/default/islocked.tpl:2
-msgid "Locking conflict detected"
-msgstr "Wykryto konflikt blokady"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
+msgstr "Usuń"
 
-#: ihtml/themes/default/islocked.tpl:9
-msgid ""
-"If this lock detection is false, the other person has obviously closed the "
-"webbrowser during the edit operation. You may want to take over the lock by "
-"pressing the 'Edit anyway' button."
-msgstr ""
-"Jeśli to wykrycie blokady jest błędne, inna osoba prawdopodobnie zamknęła "
-"okno przeglądarki podczas operacji edycji. Można przejąć blokadę naciskając "
-"Edytuj."
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete %s"
+msgstr "Usuń %s"
 
-#: ihtml/themes/default/islocked.tpl:16
-msgid "Read only"
-msgstr "Tylko do odczytu"
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
+msgstr "Ustaw"
 
-#: ihtml/themes/default/help.tpl:9
-msgid "GOsa help viewer"
-msgstr "Podgląd pomocy GOsa"
+#: include/utils/class_msgPool.inc:331
+#, php-format
+msgid "Set %s"
+msgstr "Ustaw %s"
 
-#: ihtml/themes/default/help.tpl:15
-msgid "Index"
-msgstr "Indeks"
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit..."
+msgstr "Edytuj..."
 
-#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:13
-msgid "Search"
-msgstr "Szukaj"
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit %s..."
+msgstr "Edytuj %s..."
 
-#: ihtml/themes/default/logout.tpl:5
-msgid "Your GOsa session has expired!"
-msgstr "Twoja sesja w GOsa wygasła!"
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
+msgstr "Wróć"
+
+#: include/utils/class_msgPool.inc:363
+#, fuzzy, php-format
+msgid "This account has no valid %s extensions!"
+msgstr "To konto nie posiada poprawnych rozszerzeń GOsa."
 
-#: ihtml/themes/default/logout.tpl:7
+#: include/utils/class_msgPool.inc:369
+#, fuzzy, php-format
 msgid ""
-"The last interaction with the GOsa web interface has been some time ago in "
-"the past. For security reasons, the session has been closed. To continue "
-"with administrative tasks, please sign in again."
+"This account has %s settings enabled. You can disable them by clicking below."
 msgstr ""
-"Ostatnia interakcja z interfejsem GOsa była już jakiś czas temu. Z powodów "
-"bezpieczeństwa sesja została zamknięta. Aby kontynuować proszę zalogować się "
-"ponownie."
-
-#: ihtml/themes/default/logout.tpl:10
-msgid "Sign in again"
-msgstr "Zaloguj się ponownie"
-
-#: ihtml/themes/default/conflict.tpl:2
-msgid "Session conflict detected"
-msgstr "Wykryto konflikt sesji"
+"To konto posiada rozszerzenia posix. Można je wyłączyć klikająć poniżej."
 
-#: ihtml/themes/default/conflict.tpl:6
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, fuzzy, php-format
 msgid ""
-"Probably there's another active instance of your session. Multiple window "
-"operation is technical not possible and heavily depends on the browser "
-"you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is "
-"possible. Pressing the Logout button will close this session."
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
 msgstr ""
-"Prawdopodobnie istnieje inna aktywna instacja sesji. Operowanie na kilku "
-"oknach nie jest technicznie możliwe i mocno zależy od używanej przeglądarki. "
-"Użycie różnych przeglądarek (np. IE i Mozilla) jest możliwe. Naciśnięcie "
-"przycisku Wyloguj zamknie tą sesję."
+"To konto posiada rozszerzenia unix, Aby je wyłączyć należy najpierw usunąć "
+"konto Samba/Środowisko."
 
-#: ihtml/themes/default/conflict.tpl:10
+#: include/utils/class_msgPool.inc:388
+#, fuzzy, php-format
 msgid ""
-"Ignoring this message will change/destroy the data you're currently editing, "
-"so please close multiple windows and log in again."
+"This account has %s settings disabled. You can enable them by clicking below."
 msgstr ""
-"Ignorując ten komunikat zmienisz/usuniesz dane które obecnie edytujesz. "
-"Proszę zamknąć wiele okien i zalogować się ponownie."
-
-#: ihtml/themes/default/conflict.tpl:14
-msgid "Logout"
-msgstr "Wyloguj"
+"To konto nie posiada rozszerzenia posix. Można je włączyć klikająć poniżej."
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-#: ihtml/themes/default/framework.tpl:20 ihtml/themes/default/framework.tpl:24
-#: include/class_pluglist.inc:212
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, fuzzy, php-format
 msgid ""
-"You are currently editing a database entry. Do you want to dismiss the "
-"changes?"
-msgstr "Obecnie edytujesz bazę danych. Czy chcesz porzucić zmiany?"
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
+msgstr ""
+"To konto posiada rozszerzenia unix, Aby je wyłączyć należy najpierw usunąć "
+"konto Samba/Środowisko."
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-msgid "Main"
-msgstr "Główne"
+#: include/utils/class_msgPool.inc:406
+#, fuzzy, php-format
+msgid "Add %s settings"
+msgstr "Ustawienia Aplikacji"
 
-#: ihtml/themes/default/framework.tpl:16
-msgid "Help"
-msgstr "Pomoc"
+#: include/utils/class_msgPool.inc:412
+#, fuzzy, php-format
+msgid "Remove %s settings"
+msgstr "Ustawienia Posix"
 
-#: ihtml/themes/default/framework.tpl:21 ihtml/themes/default/framework.tpl:25
-msgid "Sign out"
-msgstr "Wyloguj"
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
+msgstr "Kliknij przycisk 'Edytuj' poniżej, aby zmienić informacje w tym oknie"
 
-#: ihtml/themes/default/framework.tpl:29
-msgid "Signed in:"
-msgstr "Zalogowano:"
+#: include/utils/class_msgPool.inc:424
+msgid "January"
+msgstr "Styczeń"
 
-#: ihtml/themes/default/framework.tpl:32
-msgid "GOsa main menu"
-msgstr "Menu główne GOsa"
+#: include/utils/class_msgPool.inc:424
+msgid "February"
+msgstr "Luty"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:454
-#: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:433
-msgid "Fatal error"
-msgstr "Błąd krytyczny"
+#: include/utils/class_msgPool.inc:424
+msgid "March"
+msgstr "Marzec"
 
-#: html/password.php:58 html/index.php:144
-#, fuzzy, php-format
-msgid "GOsa configuration %s/%s is not readable. Aborted."
-msgstr "Nie można czytać pliku konfiguracji %s/gosa.conf. Kończę."
+#: include/utils/class_msgPool.inc:424
+msgid "April"
+msgstr "Kwiecień"
 
-#: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:268
-#: include/password-methods/class_password-methods-ssha.inc:51
-#: include/password-methods/class_password-methods-sha.inc:48
-#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:58
-#: include/class_SnapshotHandler.inc:76 include/functions.inc:825
-#: include/functions.inc:3067 include/functions.inc:3099
-#: include/functions.inc:3112 include/utils/class_timezone.inc:47
-#: include/class_config.inc:155 include/class_config.inc:695
-#: include/class_config.inc:1146 include/class_config.inc:1159
-#: include/class_config.inc:1177 include/class_pluglist.inc:182
-#: include/class_CopyPasteHandler.inc:119
-#: include/class_CopyPasteHandler.inc:128
-#: include/class_CopyPasteHandler.inc:177
-#: include/class_CopyPasteHandler.inc:186
-#: include/class_CopyPasteHandler.inc:194
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:667
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Configuration error"
-msgstr "Błąd konfiguracji"
+#: include/utils/class_msgPool.inc:425
+msgid "May"
+msgstr "Maj"
 
-#: html/password.php:74 html/index.php:165 html/setup.php:66
-#, php-format
-msgid "Directory '%s' specified as compile directory is not accessible!"
-msgstr "Katalog '%s' podany jako katalog kompilacji jest niedostępny!"
+#: include/utils/class_msgPool.inc:425
+msgid "June"
+msgstr "Czerwiec"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:593
-#, fuzzy
-msgid "Password method"
-msgstr "Przechowywanie hasła"
+#: include/utils/class_msgPool.inc:425
+msgid "July"
+msgstr "Lipiec"
 
-#: html/password.php:159
-msgid "Error: Password method not available!"
-msgstr ""
+#: include/utils/class_msgPool.inc:425
+msgid "August"
+msgstr "Sierpień"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:316
-#: plugins/personal/password/class_password.inc:132
-msgid ""
-"The passwords you've entered as 'New password' and 'Repeated new password' "
-"do not match."
-msgstr "Podane hasła 'Nowe hasło' oraz 'Powtórz nowe hasło' nie są itentyczne."
+#: include/utils/class_msgPool.inc:425
+msgid "September"
+msgstr "Wrzesień"
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:138
-msgid "The password used as new and current are too similar."
-msgstr "Hasło podane jako nowe jest zbyt podobne do obecnego."
+#: include/utils/class_msgPool.inc:426
+msgid "October"
+msgstr "Październik"
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:141
-msgid "The password used as new is to short."
-msgstr "Hasło podane jako nowe jest za krótkie."
-
-#: html/password.php:215 plugins/admin/groups/userSelect/user-list.xml:56
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
-#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
-#: plugins/personal/generic/class_user.inc:1313
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1345
-#: plugins/personal/generic/class_user.inc:1347
-#: plugins/personal/generic/generic.tpl:82
-#: plugins/personal/generic/paste_generic.tpl:15
-msgid "Login"
-msgstr "Login"
-
-#: html/password.php:224 html/index.php:321
-msgid "Please check the username/password combination."
-msgstr "Proszę sprawdzić kombinację login/hasło."
-
-#: html/password.php:228
-msgid "You have no permissions to change your password."
-msgstr "Brak uprawnień do zmiany własnego hasła"
-
-#: html/password.php:249
-msgid "External password changer reported a problem: "
-msgstr "Zewnętrzny program do zmiany hasła zgłosił następujący problem:"
+#: include/utils/class_msgPool.inc:426
+msgid "November"
+msgstr "Listopad"
 
-#: html/password.php:280 html/index.php:406
-msgid "Session will not be encrypted."
-msgstr "Sesja nie będzie szyfrowana."
+#: include/utils/class_msgPool.inc:426
+msgid "December"
+msgstr "Grudzień"
 
-#: html/password.php:280 html/index.php:406
-msgid "Enter SSL session"
-msgstr "Sprowadź sesję SSL"
+#: include/utils/class_msgPool.inc:432
+msgid "Sunday"
+msgstr "Niedziela"
 
-#: html/index.php:57
-msgid "Session is not encrypted!"
-msgstr "Sesja nie jest szyfrowana!"
+#: include/utils/class_msgPool.inc:432
+msgid "Monday"
+msgstr "Poniedziałek"
 
-#: html/index.php:64
-msgid ""
-"The session lifetime configured in your gosa.conf will be overridden by php."
-"ini settings."
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
 msgstr ""
 
-#: html/index.php:165
-msgid "Smarty error"
-msgstr "Błąd Smarty"
-
-#: html/index.php:216
-msgid "There is a problem with the authentication setup!"
-msgstr "Istnieje problem z ustawieniami autentykacji!"
-
-#: html/index.php:224
-msgid "Cannot find a valid user for the current authentication setup!"
-msgstr ""
-
-#: html/index.php:228
-msgid "User information is not unique accross the configured LDAP trees!"
-msgstr ""
-
-#: html/index.php:254 html/index.php:265 html/index.php:278
-#: include/class_SnapshotHandler.inc:124 include/class_SnapshotHandler.inc:281
-#: include/class_SnapshotHandler.inc:329 include/class_SnapshotHandler.inc:333
-#: include/class_SnapshotHandler.inc:348 include/class_SnapshotHandler.inc:383
-#: include/class_SnapshotHandler.inc:438 include/class_SnapshotHandler.inc:503
-#: include/class_SnapshotHandler.inc:518 include/class_acl.inc:1233
-#: include/class_acl.inc:1329 include/functions.inc:483
-#: include/functions.inc:518 include/functions.inc:526
-#: include/functions.inc:571 include/functions.inc:840
-#: include/functions.inc:889 include/functions.inc:946
-#: include/functions.inc:999 include/functions.inc:3046
-#: include/functions.inc:3319 include/class_plugin.inc:1319
-#: include/class_plugin.inc:1368 include/class_plugin.inc:1372
-#: include/class_plugin.inc:1388 include/class_plugin.inc:1428
-#: include/class_plugin.inc:1486 include/class_plugin.inc:1552
-#: include/class_plugin.inc:1567 include/class_ldap.inc:756
-#: include/class_ldap.inc:1222 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:888
-#: plugins/admin/ogroups/class_ogroup.inc:902
-#: plugins/admin/groups/class_group.inc:697
-#: plugins/admin/groups/class_group.inc:1018
-#: plugins/admin/departments/class_department.inc:279
-#: plugins/admin/departments/class_department.inc:476
-#: plugins/admin/departments/class_department.inc:750
-#: plugins/admin/departments/class_department.inc:781
-#: plugins/admin/acl/class_aclRole.inc:613
-#: plugins/admin/acl/class_aclRole.inc:653
-#: plugins/admin/acl/class_aclRole.inc:667
-#: plugins/personal/generic/class_user.inc:716
-#: plugins/personal/generic/class_user.inc:1112
-#: plugins/personal/posix/class_posixAccount.inc:631
-#: plugins/personal/posix/class_posixAccount.inc:963
-#: setup/class_setupStep_Migrate.inc:1212
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#: setup/class_setupStep_Migrate.inc:2143
-#: setup/class_setupStep_Migrate.inc:2440
-#: setup/class_setupStep_Migrate.inc:2444
-#: setup/class_setupStep_Migrate.inc:2634
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
-#: setup/class_setupStep_Migrate.inc:3118
-#: setup/class_setupStep_Migrate.inc:3132
-msgid "LDAP error"
-msgstr "błąd LDAP"
+#: include/utils/class_msgPool.inc:432
+msgid "Wednesday"
+msgstr "Środa"
 
-#: html/index.php:265
-msgid "Cannot detect information about the installed LDAP schema!"
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
 msgstr ""
 
-#: html/index.php:278
-#, fuzzy
-msgid "Your LDAP setup contains old schema definitions:"
-msgstr ""
-"Ustawienia serwera LDAP zawierają stare definicje schema. Proszę uruchomić "
-"setup."
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
+msgstr "Piątek"
 
-#: html/index.php:299
-msgid "Please specify a valid username!"
-msgstr "Proszę podać prawidłową nazwę użytkownika!"
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
+msgstr "Sobota"
 
-#: html/index.php:302
-msgid "Please specify your password!"
-msgstr "Proszę podać prawidłowe hasło!"
+#: include/utils/class_msgPool.inc:439
+msgid "MySQL operation failed!"
+msgstr "Zapytanie MySQL nieudane!"
 
-#: html/index.php:314
-msgid "Authentication error"
-msgstr "Błąd autentykacji"
+#: include/utils/class_msgPool.inc:447
+#, fuzzy
+msgid "read operation"
+msgstr "Opcje poczty"
 
-#: html/index.php:314
-msgid "Cannot retrieve user information for htaccess authentication!"
-msgstr ""
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
+msgstr "dodaj operację"
 
-#: html/index.php:369
+#: include/utils/class_msgPool.inc:447
 #, fuzzy
-msgid "Account locked. Please contact your system administrator!"
-msgstr "Konto zablokowane. Proszę skontaktować się z administratorem systemu."
-
-#: html/index.php:412
-msgid ""
-"Your browser has cookies disabled. Please enable cookies and reload this "
-"page before logging in!"
-msgstr ""
-"Twoja przeglądarka ma wyłączone cookies. Proszę włączyć cookies i "
-"przeładować stronę przed logowaniem!"
+msgid "modify operation"
+msgstr "Informacje osobiste"
 
-#: html/setup.php:66
-msgid "Smarty"
-msgstr "Smarty"
+#: include/utils/class_msgPool.inc:448
+#, fuzzy
+msgid "delete operation"
+msgstr "Wybierz aby zobaczyc stacje robocze"
 
-#: html/main.php:148
-#, php-format
-msgid "Cannot locate file '%s' - please run '%s' to fix this"
-msgstr ""
+#: include/utils/class_msgPool.inc:448
+#, fuzzy
+msgid "search operation"
+msgstr "Konto wygasa po"
 
-#: html/main.php:167
-msgid "PHP configuration"
-msgstr "Konfiguracja PHP"
+#: include/utils/class_msgPool.inc:448
+msgid "authentication"
+msgstr "autentykacja"
 
-#: html/main.php:168
-msgid ""
-"FATAL: Register globals is on. GOsa will refuse to login unless this is "
-"fixed by an administrator."
-msgstr ""
-"BŁĄD: Register globals jest włączone. GOsa odmówi logowania do momentu "
-"poprawienia tego parametru przez administratora."
+#: include/utils/class_msgPool.inc:451
+#, fuzzy, php-format
+msgid "LDAP %s failed!"
+msgstr "Zapytanie do bazy danych nieudane"
 
-#: html/main.php:198
+#: include/utils/class_msgPool.inc:453
 #, fuzzy
-msgid "Your password is about to expire, please change your password!"
-msgstr "Twoje hasło zaraz wygaśnie, proszę zmienić hasło"
-
-#: html/main.php:268
-msgid "Running out of memory!"
-msgstr ""
+msgid "LDAP operation failed!"
+msgstr "Zapytanie do bazy danych nieudane"
 
-#: html/main.php:325
-msgid "User ACL checks disabled"
-msgstr ""
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
+msgstr "Obiekt"
 
-#: html/main.php:373
-msgid "Plugin"
-msgstr "Dodatek"
+#: include/utils/class_msgPool.inc:469
+#, fuzzy
+msgid "Upload failed!"
+msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
 
-#: html/main.php:374
+#: include/utils/class_msgPool.inc:472
 #, fuzzy, php-format
-msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
-msgstr "BŁĄD: Nie można znaleźć żadnych definicji dla pluginu '%s'!"
+msgid "Upload failed: %s"
+msgstr "Użytkownik bazy logowania"
 
-#: html/main.php:388
-msgid "Configuration Error"
-msgstr "Błąd konfiguracji"
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
+msgstr "Błąd komunikacji z usługą infrastruktury!"
 
-#: html/main.php:389
+#: include/utils/class_msgPool.inc:481
 #, php-format
-msgid ""
-"FATAL: not all POST variables have been transfered by PHP - please inform "
-"your administrator!"
-msgstr ""
+msgid "Communication failure with the infrastructure service: %s"
+msgstr "Błąd komunikacji z usługą infrastruktury: %s"
 
-#: html/helpviewer.php:64
-msgid "Help browser"
-msgstr "Wyszukiwarka pomocy"
+#: include/utils/class_msgPool.inc:488
+#, fuzzy
+msgid "Communication failure with the GOsa-NG service!"
+msgstr "Błąd komunikacji z usługą infrastruktury!"
 
-#: html/helpviewer.php:118
-msgid "There is no helpfile specified for this class"
-msgstr "Pomoc nie jest dostępna dla tej klasy."
+#: include/utils/class_msgPool.inc:490
+#, fuzzy, php-format
+msgid "Communication failure with the GOsa-NG service: %s"
+msgstr "Błąd komunikacji z usługą infrastruktury: %s"
 
-#: html/helpviewer.php:194 include/functions_helpviewer.inc:97
-msgid "previous"
-msgstr "poprzednie"
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
+#, fuzzy, php-format
+msgid "This %s is still in use by this object: %s"
+msgstr "Zawiera ustawienia dla tych obiektów: %s"
 
-#: html/helpviewer.php:198 include/functions_helpviewer.inc:101
-msgid "next"
-msgstr "następne"
+#: include/utils/class_msgPool.inc:503
+#, fuzzy, php-format
+msgid "This %s is still in use."
+msgstr "Zawiera ustawienia dla tych obiektów: %s"
 
-#: html/helpviewer.php:269
-#, php-format
-msgid "Helpdir '%s' is not accessible, can't read any helpfiles."
-msgstr ""
-"Katalog pomocy '%s' nie jest osiągalny, nie można czytać żadnych plików "
-"pomocy."
+#: include/utils/class_msgPool.inc:505
+#, fuzzy, php-format
+msgid "This %s is still in use by these objects: %s"
+msgstr "Zawiera ustawienia dla tych obiektów: %s"
 
-#: include/class_management.inc:32 include/class_management.inc:33
-#: plugins/personal/posix/class_posixAccount.inc:237
-msgid "unconfigured"
-msgstr "nieskonfigurowane"
+#: include/utils/class_msgPool.inc:511
+#, fuzzy, php-format
+msgid "File %s does not exist!"
+msgstr "Plik '%s' nie istnieje!"
 
-#: include/class_management.inc:145
-#, fuzzy
-msgid "Filter error"
-msgstr "Błąd krytyczny"
+#: include/utils/class_msgPool.inc:517
+#, fuzzy, php-format
+msgid "Cannot open file %s for reading!"
+msgstr "Nie można otworzyć pliku '%s' do odczytu!"
 
-#: include/class_management.inc:145
-msgid "The filter is incomplete!"
-msgstr ""
+#: include/utils/class_msgPool.inc:523
+#, fuzzy, php-format
+msgid "Cannot open file %s for writing!"
+msgstr "Nie można otworzyć pliku '%s' do zapisu!"
 
-#: include/class_management.inc:292 include/class_management.inc:427
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1590
-#: include/class_plugin.inc:1602 include/class_plugin.inc:1617
-#: include/class_plugin.inc:1630
-#: plugins/admin/users/class_userManagement.inc:236
-#: plugins/admin/users/class_userManagement.inc:744
-msgid "Permission"
-msgstr "Uprawnienie"
+#: include/utils/class_msgPool.inc:529
+#, fuzzy, php-format
+msgid ""
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
+msgstr ""
+"OpenGroupware: Nie można połączyć się z bazą. Proszę sprawdzić podane "
+"parametry konfiguracji."
 
-#: include/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:702
-#: plugins/admin/users/class_userManagement.inc:706
-#: plugins/admin/acl/class_aclManagement.inc:98
-#, fuzzy
-msgid "Permission error"
-msgstr "Uprawnienia"
+#: include/utils/class_msgPool.inc:535
+#, fuzzy, php-format
+msgid "Cannot delete file %s!"
+msgstr "Nie można usunąć pliku '%s'."
 
-#: include/class_management.inc:427 include/class_plugin.inc:1590
+#: include/utils/class_msgPool.inc:541
 #, fuzzy, php-format
-msgid "You are not allowed to create a snapshot for %s."
-msgstr "Brak uprawnień do zmiany przekazywania poczty"
+msgid "Cannot create folder %s!"
+msgstr "Nie można utworzyć folderu '%s'!"
 
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1602
-#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
+#: include/utils/class_msgPool.inc:547
 #, fuzzy, php-format
-msgid "You are not allowed to restore a snapshot for %s."
-msgstr "Brak uprawnień do zmiany przekazywania poczty"
+msgid "Cannot delete folder %s!"
+msgstr "Nie można usunąć folderu '%s'!"
 
-#: include/class_management.inc:584
+#: include/utils/class_msgPool.inc:553
 #, php-format
-msgid ""
-"No tab declaration for '%s' found in your configuration file. Cannot create "
-"plugin instance!"
-msgstr ""
-
-#: include/class_socketClient.inc:60
-msgid "The mcrypt module was not found. Please install php5-mcrypt."
-msgstr ""
+msgid "Checking for %s support"
+msgstr "Sprawdzam wsparcie dla %s"
 
-#: include/class_socketClient.inc:108
+#: include/utils/class_msgPool.inc:559
 #, php-format
-msgid "Socket connection to host '%s:%s' failed: %s"
+msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/class_socketClient.inc:191
+#: include/utils/class_msgPool.inc:565
 #, php-format
-msgid "Socket timeout of %s seconds reached."
-msgstr ""
-
-#: include/password-methods/class_password-methods.inc:250
-msgid "Cannot find a suitable password method for the current hash!"
-msgstr ""
-
-#: include/class_SnapshotHandler.inc:46 include/class_SnapshotHandler.inc:77
-#: include/class_config.inc:1147 include/class_config.inc:1178
-#, fuzzy, php-format
 msgid ""
-"The snapshot functionality is enabled, but the required variable '%s' is not "
-"set."
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
 msgstr ""
-"Funkcjonalność snapshot jest włączona, lecz wymagana zmienna '%s' nie jest "
-"skonfigurowana w gosa.conf."
 
-#: include/class_SnapshotHandler.inc:59 include/class_config.inc:1160
-#, fuzzy, php-format
+#: include/utils/class_msgPool.inc:571
 msgid ""
-"The snapshot functionality is enabled, but the required compression module "
-"is missing. Please install '%s'."
+"The supplied base is not valid and has been reset to its previous value!"
 msgstr ""
-"Funkcjonalność snapshot jest włączona, lecz wymagana zmienna '%s' nie jest "
-"skonfigurowana w gosa.conf."
 
-#: include/class_acl.inc:27
-msgid "Access control"
-msgstr "Kontrola dostępu"
-
-#: include/class_acl.inc:28 plugins/admin/acl/class_aclManagement.inc:26
-#, fuzzy
-msgid "Manage access control lists"
-msgstr "Kontrola dostępu"
-
-#: include/class_acl.inc:120 include/class_acl.inc:581
-#: include/class_acl.inc:1009
+#: include/utils/class_timezone.inc:47
 #, fuzzy, php-format
-msgid "All users"
-msgstr "użytkownicy"
+msgid "The configured timezone %s is not valid!"
+msgstr "Nie można czytać pliku konfiguracji %s/%s. Kończę."
+
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
+msgstr "Ostrzeżenie"
 
-#: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
-msgid "All categories"
-msgstr "Wszystkie kategorie"
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+msgid "Fatal error"
+msgstr "Błąd krytyczny"
 
-#: include/class_acl.inc:222
-msgid "Reset ACLs"
-msgstr "Resetuj ACL'e"
+#: include/utils/class_xml.inc:51
+msgid "XML error"
+msgstr "Błąd XML"
 
-#: include/class_acl.inc:223 plugins/admin/acl/class_aclRole.inc:135
-msgid "One level"
-msgstr "Jeden poziom"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
+msgstr ""
 
-#: include/class_acl.inc:224 include/class_acl.inc:229
-#: plugins/admin/acl/class_aclRole.inc:136
-msgid "Current object"
-msgstr "Obecny obiekt"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
+msgstr ""
 
-#: include/class_acl.inc:225 plugins/admin/acl/class_aclRole.inc:137
-msgid "Complete subtree"
-msgstr "Pełne poddrzewo"
+#: include/class_listing.inc:319
+msgid "Select all"
+msgstr "Wybierz wszystko"
 
-#: include/class_acl.inc:226 plugins/admin/acl/class_aclRole.inc:138
-msgid "Complete subtree (permanent)"
-msgstr "Pełne poddrzewo (trwałe)"
+#: include/class_listing.inc:578
+msgid "created by"
+msgstr "utworzone przez"
 
-#: include/class_acl.inc:227 include/class_acl.inc:230
-msgid "Use ACL defined in role"
-msgstr "Użyj ACL zdefiniowanego w tej roli"
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
+msgid "Root"
+msgstr "Główny"
 
-#: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1674
-#: setup/class_setupStep_Migrate.inc:1040
-msgid "Users"
-msgstr "Użytkownicy"
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
+msgstr ""
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
-#: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1043
-msgid "Groups"
-msgstr "Grupy"
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
+msgstr ""
 
-#: include/class_acl.inc:496 include/class_listing.inc:242
-#: include/class_listing.inc:999 include/class_listing.inc:1001
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:372
-msgid "Up"
-msgstr "Góra"
-
-#: include/class_acl.inc:498 include/class_listing.inc:242
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:374
-msgid "Down"
-msgstr "W dół"
-
-#: include/class_acl.inc:503 include/class_acl.inc:551
-#: include/class_sortableListing.inc:192 include/class_sortableListing.inc:194
-#: plugins/admin/ogroups/ogroup-list.xml:91
-#: plugins/admin/groups/group-list.xml:108
-#: plugins/admin/users/user-list.xml:114
-#: plugins/admin/departments/dep-list.xml:172
-#: plugins/admin/acl/class_aclRole.inc:377
-#: plugins/admin/acl/class_aclRole.inc:426 plugins/admin/acl/acl-list.xml:131
-msgid "Edit"
-msgstr "Edytuj"
+#: include/class_listing.inc:1079
+msgid "Reload list"
+msgstr "Przeładuj listę"
 
-#: include/class_acl.inc:503 include/class_acl.inc:507
-#: include/class_acl.inc:1265 include/class_acl.inc:1266
-#: include/class_acl.inc:1271 include/class_tabs.inc:401
-#: plugins/admin/acl/tabs_acl.inc:28 plugins/admin/acl/class_aclRole.inc:378
-#: plugins/admin/acl/class_aclRole.inc:382
-#: plugins/admin/acl/class_aclRole.inc:762
-msgid "ACL"
-msgstr "ACL"
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
+msgid "Actions"
+msgstr "Akcje"
 
-#: include/class_acl.inc:507 include/class_acl.inc:555
-#: include/class_sortableListing.inc:197 include/class_sortableListing.inc:199
-#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
-#: plugins/admin/acl/class_aclRole.inc:430
-#, php-format
-msgid "Delete"
-msgstr "Usuń"
+#: include/class_listing.inc:1453
+msgid "Copy"
+msgstr "Kopiuj"
 
-#: include/class_acl.inc:543
-#, fuzzy
-msgid "No ACL settings for this category!"
-msgstr "Brak ustawień ACL w tej kategorii"
+#: include/class_listing.inc:1459
+msgid "Cut"
+msgstr "Wytnij"
 
-#: include/class_acl.inc:545
-#, php-format
-msgid "Contains ACLs for these objects: %s"
-msgstr "Zawiera ACL'e w tych kategoriach: %s"
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
+msgid "Paste"
+msgstr "Wklej"
 
-#: include/class_acl.inc:551 include/class_acl.inc:555
-msgid "category ACL"
-msgstr "Kategoria ACL"
+#: include/class_listing.inc:1492
+msgid "Cut this entry"
+msgstr "Wytnij ten obiekt"
 
-#: include/class_acl.inc:608
-#, fuzzy, php-format
-msgid "Edit ACL for '%s' - scope is '%s'"
-msgstr "Edytuj ACL dla '%s', zakres to '%s'"
+#: include/class_listing.inc:1501
+msgid "Copy this entry"
+msgstr "Kopiuj ten obiekt"
 
-#: include/class_acl.inc:618 plugins/admin/acl/class_aclRole.inc:460
-msgid "All objects in current subtree"
-msgstr "Wszystkie obiekty w obecnym poddrzewie"
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
+msgid "Restore snapshots"
+msgstr "Odtwórz snapshoty"
 
-#: include/class_acl.inc:779 include/class_acl.inc:786
+#: include/class_listing.inc:1549
 #, fuzzy
-msgid "Show/hide advanced settings"
-msgstr "Zaawansowane ustawienia telefonu"
-
-#: include/class_acl.inc:803
-msgid "Create objects"
-msgstr "Utwórz obiekty"
-
-#: include/class_acl.inc:804
-msgid "Move objects"
-msgstr "Przenieś obiekty"
+msgid "Export list"
+msgstr "Export"
 
-#: include/class_acl.inc:805
-msgid "Remove objects"
-msgstr "Usuń obiekty"
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
+msgid "Restore snapshot"
+msgstr "Odtwórz snapshot"
 
-#: include/class_acl.inc:807
+#: include/class_listing.inc:1591
 #, fuzzy
-msgid "Grant permission to owner"
-msgstr "Nie można stworzyć pliku '%s'."
+msgid "Create new snapshot for this object"
+msgstr "Utwórz nowy snapshot z tego obiektu"
 
-#: include/class_acl.inc:811 include/class_acl.inc:916
-#: include/class_acl.inc:920
-msgid "read"
-msgstr "czytanie"
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
+msgid "Parent filter"
+msgstr "Filtr nadrzędny"
+
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
+msgstr "Imię"
 
-#: include/class_acl.inc:812 include/class_acl.inc:918
-#: include/class_acl.inc:921
-msgid "write"
-msgstr "zapisywanie"
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
+msgstr "Opis"
 
-#: include/class_acl.inc:816
-#, fuzzy
-msgid "Complete object"
-msgstr "Utwórz obiekty"
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
+msgstr "Kategoria"
 
-#: include/class_acl.inc:960 include/class_session.inc:76
-#: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:611 include/functions.inc:815
-#: include/functions.inc:933 include/functions.inc:1331
-#: include/functions.inc:2414 include/functions.inc:2448
-#: include/functions.inc:2468 include/class_ldap.inc:693
-#: include/class_ldap.inc:744 include/class_log.inc:87
-#: include/class_CopyPasteHandler.inc:160
-#: include/class_CopyPasteHandler.inc:274
-msgid "Internal error"
-msgstr "Błąd wewnętrzny"
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+msgid "Options"
+msgstr "Opcje"
+
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
+msgid "LDAP error"
+msgstr "błąd LDAP"
 
-#: include/class_acl.inc:960
+#: include/class_log.inc:87
 #, fuzzy, php-format
-msgid "Unkown ACL type '%s'!"
-msgstr "Nieznany wpis  '%s'!"
-
-#: include/class_acl.inc:1005
-#, php-format
-msgid "Unknown entry '%s'!"
-msgstr "Nieznany wpis  '%s'!"
+msgid "Logging failed: %s"
+msgstr "Użytkownik bazy logowania"
 
-#: include/class_acl.inc:1069 include/class_acl.inc:1071
+#: include/class_log.inc:102
 #, fuzzy, php-format
-msgid "Role: %s"
-msgstr "Pełniona funkcja"
-
-#: include/class_acl.inc:1071
-#, fuzzy
-msgid "unknown role"
-msgstr "! nieznane id"
-
-#: include/class_acl.inc:1079
-#, php-format
-msgid "Contains settings for these objects: %s"
-msgstr "Zawiera ustawienia dla tych obiektów: %s"
-
-#: include/class_acl.inc:1096
-#, fuzzy
-msgid "inactive"
-msgstr "Aktywne"
+msgid "Invalid option %s specified!"
+msgstr "Podano nieprawidłową opcję '%s'!"
 
-#: include/class_acl.inc:1096
+#: include/class_log.inc:106
 #, fuzzy
-msgid "No members"
-msgstr "Członkowie grupy"
+msgid "Specified 'objectType' is empty or invalid!"
+msgstr "Podana nazwa jest nieprawidłowa"
 
-#: include/class_acl.inc:1266
+#: include/class_multi_plug.inc:362
 #, fuzzy
-msgid "Access control list"
-msgstr "Kontrola dostępu"
+msgid "You are currently editing multiple entries."
+msgstr "Brak uprawnień do usunięcia tego departamentu."
 
-#: include/class_acl.inc:1271
+#: include/class_multi_plug.inc:394
 #, fuzzy
-msgid "ACL roles"
-msgstr "ACLe"
+msgid "Reset password"
+msgstr "Ustaw hasło"
 
-#: include/class_session.inc:76 include/class_session.inc:101
-#: include/class_session.inc:127
+#: include/class_multi_plug.inc:394
 #, fuzzy
-msgid "Requested channel does not exist! Please contact your Administrator."
-msgstr "Użytkownik /UID nie są unikalne. Proszę sprawdzić bazę LDAP."
+msgid "The user password has been reset. Please set a new password!"
+msgstr "Twoje hasło wygasło !! Proszę wybrać inne hasło"
 
-#: include/class_listing.inc:301 setup/setup_migrate.tpl:93
-#: setup/setup_migrate.tpl:149 setup/setup_migrate.tpl:201
-#: setup/setup_migrate.tpl:368 setup/setup_migrate.tpl:421
-#: setup/setup_migrate.tpl:464 setup/setup_migrate.tpl:507
-#: setup/setup_migrate.tpl:551
-msgid "Select all"
-msgstr "Wybierz wszystko"
+#: include/class_tabs.inc:72
+#, fuzzy, php-format
+msgid "No plugin definition for %s found: please check the configuration file!"
+msgstr ""
+"OpenGroupware: Nie można połączyć się z bazą. Proszę sprawdzić podane "
+"parametry konfiguracji."
 
-#: include/class_listing.inc:522
-msgid "created by"
-msgstr "utworzone przez"
+#: include/class_tabs.inc:287
+#, fuzzy, php-format
+msgid "Delete process has been canceled by plugin %s: %s"
+msgstr "Proces usuwania został anulowany przez dodatek '%s': %s"
 
-#: include/class_listing.inc:991
-msgid "Go to root department"
-msgstr "Idź do głównego departamentu"
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
+msgstr "ACL"
 
-#: include/class_listing.inc:991 include/class_listing.inc:993
-#: include/class_baseSelector.inc:159
-msgid "Root"
-msgstr "Główny"
+#: include/class_tabs.inc:425
+msgid "References"
+msgstr "Zależności"
 
-#: include/class_listing.inc:999
-msgid "Go up one department"
-msgstr "Idź jeden departament wyżej"
+#: include/functions_helpviewer.inc:45
+#, fuzzy, php-format
+msgid "XML error in guide.xml: %s at line %s"
+msgstr "Błąd XML w guide.xml: %s w linii %d"
 
-#: include/class_listing.inc:1007
-msgid "Go to users department"
-msgstr "Przejdź do departamentu użytkowników"
+#: include/functions_helpviewer.inc:88
+#, fuzzy
+msgid "No help available for this plug-in."
+msgstr "Pomoc nie jest dostępna dla tego dodatku."
 
-#: include/class_listing.inc:1007 include/class_listing.inc:1009
-msgid "Home"
-msgstr "Katalog domowy"
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
+msgstr "poprzednie"
 
-#: include/class_listing.inc:1014
-msgid "Reload list"
-msgstr "Przeładuj listę"
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
+msgid "next"
+msgstr "następne"
 
-#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
-msgid "Submit"
-msgstr "Wyślij"
+#: include/functions_helpviewer.inc:388
+#, php-format
+msgid "%s results for your search with the keyword %s"
+msgstr "%s wyników zapytania ze słowem %s"
 
-#: include/class_listing.inc:1109 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:64
-#: plugins/admin/groups/group-list.xml:79 plugins/admin/users/user-list.xml:78
-#: plugins/admin/departments/dep-list.xml:87 plugins/admin/acl/acl-list.xml:65
-msgid "Actions"
-msgstr "Akcje"
+#: include/functions_helpviewer.inc:461
+#, php-format
+msgid "%s%% hit rate in file %s"
+msgstr "%s%% trafień w pliku %s"
 
-#: include/class_listing.inc:1380 include/class_listing.inc:1430
-#: include/class_plugin.inc:2114
-msgid "Copy"
-msgstr "Kopiuj"
+#: include/class_msg_dialog.inc:124
+msgid "Please fix the above error and reload the page."
+msgstr ""
 
-#: include/class_listing.inc:1386 include/class_listing.inc:1420
-#: include/class_plugin.inc:2118
-msgid "Cut"
-msgstr "Wytnij"
+#: include/class_plugin.inc:581
+msgid ""
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
+msgstr ""
 
-#: include/class_listing.inc:1394 include/class_listing.inc:1396
-#: include/class_plugin.inc:2125 include/class_plugin.inc:2128
-#: include/class_CopyPasteHandler.inc:570
-msgid "Paste"
-msgstr "Wklej"
+#: include/class_plugin.inc:1411
+#, php-format
+msgid "Changing ACL DN from %s to %s"
+msgstr ""
 
-#: include/class_listing.inc:1420 include/class_plugin.inc:2072
-msgid "Cut this entry"
-msgstr "Wytnij ten obiekt"
+#: include/class_SnapShotDialog.inc:55
+msgid "Date"
+msgstr "Data"
 
-#: include/class_listing.inc:1430 include/class_plugin.inc:2080
-msgid "Copy this entry"
-msgstr "Kopiuj ten obiekt"
+#: include/class_SnapShotDialog.inc:94
+#, fuzzy, php-format
+msgid "You are about to delete the snapshot %s."
+msgstr "Zamierzasz usunąć snapshot '%s'."
 
-#: include/class_listing.inc:1462 include/class_listing.inc:1464
+#: include/class_SnapShotDialog.inc:143
 #, fuzzy
-msgid "Restore snapshots"
-msgstr "Odtwórz snapshot"
+msgid "Delete snapshot"
+msgstr "Utwórz spanshot"
 
-#: include/class_listing.inc:1478
-#, fuzzy
-msgid "Export list"
-msgstr "Export"
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+msgid "Y-m-d, H:i:s"
+msgstr "Y-m-d, H:i:s"
 
-#: include/class_listing.inc:1513 include/class_listing.inc:1514
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
-msgid "Restore snapshot"
-msgstr "Odtwórz snapshot"
+#: include/class_pathNavigator.inc:86
+msgid "Welcome to GOsa"
+msgstr "Witaj w GOsa"
 
-#: include/class_listing.inc:1523 include/class_plugin.inc:2053
-msgid "Create snapshot"
-msgstr "Utwórz spanshot"
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
+msgstr ""
 
-#: include/class_listing.inc:1524 include/class_plugin.inc:2054
-msgid "Create a new snapshot from this object"
-msgstr "Utwórz nowy snapshot z tego obiektu"
+#: include/class_sortableListing.inc:234
+msgid "Sortable list"
+msgstr "lista sortowalna"
 
-#: include/class_sortableListing.inc:194
+#: include/class_sortableListing.inc:239
 msgid "Edit this entry"
 msgstr "Edytuj ten obiekt"
 
-#: include/class_sortableListing.inc:199
+#: include/class_sortableListing.inc:244
 msgid "Delete this entry"
 msgstr "Usuń ten obiekt"
 
-#: include/functions.inc:134
-#, php-format
-msgid "Fatal error: no class locations defined - please run '%s' to fix this"
-msgstr ""
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+#, fuzzy
+msgid "unknown"
+msgstr "Nieznane"
 
-#: include/functions.inc:141
+#: include/class_configRegistry.inc:197
 #, php-format
-msgid ""
-"Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+msgid "%s has version %s but %s is required!"
 msgstr ""
 
-#: include/functions.inc:455
-#, php-format
-msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
-msgstr "BŁĄD: Nie można połączyć się z serwerem LDAP. Odpowiedź serwera '%s'."
-
-#: include/functions.inc:526
-#, fuzzy
-msgid "Username / UID is not unique inside the LDAP tree!"
-msgstr "Użytkownik /UID nie są unikalne. Proszę sprawdzić bazę LDAP."
-
-#: include/functions.inc:611
-#, fuzzy
-msgid ""
-"Username / UID is not unique inside the LDAP tree. Please contact your "
-"Administrator."
-msgstr "Użytkownik /UID nie są unikalne. Proszę sprawdzić bazę LDAP."
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
+msgstr ""
 
-#: include/functions.inc:815 include/functions.inc:933
-msgid "Error while adding a lock. Contact the developers!"
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+msgid "The following object classes are outdated:"
 msgstr ""
 
-#: include/functions.inc:825
-#, fuzzy, php-format
+#: include/class_configRegistry.inc:252
 msgid ""
-"Cannot create locking information in LDAP tree. Please contact your "
-"administrator!"
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
 msgstr ""
-"Nie można pobrać informacji o blokadach w bazie LDAP. Proszę sprawdzić wpis "
-"'config' w gosa.conf!"
 
-#: include/functions.inc:825
-#, fuzzy, php-format
-msgid "LDAP server returned: %s"
-msgstr "Serwer LDAP"
-
-#: include/functions.inc:954
+#: include/class_configRegistry.inc:254
 #, fuzzy
-msgid ""
-"Found multiple locks for object to be locked. This should not happen - "
-"cleaning up multiple references."
-msgstr ""
-"Znaleziono wiele blokad dla obiektu do zablokowania. Taka sytuacja nie "
-"powinna się wydażyć - czyszczę wiele odwołań."
+msgid "Schema validation error"
+msgstr "Błąd autentykacji"
 
-#: include/functions.inc:1258
-#, php-format
-msgid "The size limit of %d entries is exceed!"
-msgstr "Limit wielkości %d elementów został przekroczony!"
+#: include/class_configRegistry.inc:689
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a bool value!"
+msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
 
-#: include/functions.inc:1260
-#, php-format
-msgid ""
-"Set the new size limit to %s and show me this message if the limit still "
-"exceeds"
-msgstr ""
-"Ustaw nowy limit rozmiaru na %s i pokaż ten komunikat jeśli limit wciąż jest "
-"przekroczony"
+#: include/class_configRegistry.inc:704
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a string!"
+msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
 
-#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
-msgid "Configure"
-msgstr "Konfiguruj"
+#: include/class_configRegistry.inc:719
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be numeric!"
+msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
 
-#: include/functions.inc:1277
-msgid "incomplete"
-msgstr "niepełne"
+#: include/class_configRegistry.inc:734
+#, fuzzy, php-format
+msgid "The path %s specified for %s:%s is invalid!"
+msgstr "Wartość podana jako 'UID' jest nieprawidłowa."
 
-#: include/functions.inc:1667
-msgid "Continue anyway"
-msgstr "Kontynuuj mimo wszystko"
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
+msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
 
-#: include/functions.inc:1669
-msgid "Edit anyway"
-msgstr "Edytuj mimo wszystko"
+#: include/class_configRegistry.inc:755
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
+msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
 
-#: include/functions.inc:1671
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
 #, fuzzy, php-format
-msgid "You're going to edit the LDAP entry/entries %s"
-msgstr "Zamierzasz skopiować wpis '%s'."
+msgid "The file %s specified for %s:%s is not writeable!"
+msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
 
-#: include/functions.inc:1911
-msgid "Entries per page"
-msgstr "Wpisów na stronie"
+#: include/class_configRegistry.inc:802
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not writeable!"
+msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
+
+#: include/class_configRegistry.inc:820
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s does not exists!"
+msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
+
+#: include/class_configRegistry.inc:825
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not readable!"
+msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
+
+#: include/class_configRegistry.inc:841
+#, fuzzy, php-format
+msgid "The command %s specified for %s:%s is invalid!"
+msgstr "Wartość podana jako 'UID' jest nieprawidłowa."
+
+#: include/class_configRegistry.inc:856
+#, fuzzy, php-format
+msgid "The DN %s specified for %s:%s is invalid!"
+msgstr "Wartość podana jako 'UID' jest nieprawidłowa."
+
+#: include/class_configRegistry.inc:871
+#, fuzzy, php-format
+msgid "The RDN %s specified for %s:%s is invalid!"
+msgstr "Wartość podana jako 'UID' jest nieprawidłowa."
+
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
+msgstr "Tworzenie tej strony spowodowało, że interpreter PHP zwrócił błędy!"
+
+#: include/php_setup.inc:110
+#, fuzzy
+msgid "Send bug report"
+msgstr "Wyślij raport błędu"
+
+#: include/php_setup.inc:114
+msgid "Toggle details"
+msgstr ""
+
+#: include/php_setup.inc:123
+msgid "PHP error"
+msgstr "błąd PHP:"
+
+#: include/php_setup.inc:142
+msgid "class"
+msgstr "klasa"
+
+#: include/php_setup.inc:148
+msgid "function"
+msgstr "funkcja"
+
+#: include/php_setup.inc:153
+msgid "static"
+msgstr "statyczna"
+
+#: include/php_setup.inc:157
+msgid "method"
+msgstr "metoda"
+
+#: include/php_setup.inc:190
+#, fuzzy
+msgid "Traceback"
+msgstr "Śledzenie"
+
+#: include/php_setup.inc:191
+msgid "File"
+msgstr "Plik"
+
+#: include/php_setup.inc:191
+msgid "Line"
+msgstr "Linia"
+
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+msgid "Type"
+msgstr "Typ"
+
+#: include/php_setup.inc:192
+msgid "Arguments"
+msgstr "Argumenty"
+
+#: include/class_certificate.inc:73
+msgid "Certificate is empty!"
+msgstr "Certyfikat jest pusty!"
+
+#: include/class_certificate.inc:100
+msgid "Cannot load certificate: only PEM and DER are supported!"
+msgstr ""
+
+#: include/class_certificate.inc:115
+#, fuzzy
+msgid "Cannot extract information for non PEM certificates!"
+msgstr "Nie można pobrać informacji o quota dla '%s'."
 
-#: include/functions.inc:1940 include/class_filter.inc:315
-msgid "Apply filter"
-msgstr "Zastosuj filtr"
+#: include/class_certificate.inc:219
+msgid "No valid certificate loaded!"
+msgstr "Nie załadowano prawidłowego certyfikatu!"
+
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+#, fuzzy
+msgid "Requested channel does not exist!"
+msgstr "Żądany kanał nie istnieje! Skontaktuj się z Administratorem."
+
+#: include/functions.inc:151
+#, php-format
+msgid "Fatal error: no class locations defined - please run %s to fix this"
+msgstr ""
+
+#: include/functions.inc:158
+#, php-format
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
+msgstr ""
+
+#: include/functions.inc:483
+#, fuzzy, php-format
+msgid "Error while connecting to LDAP: %s"
+msgstr "BŁĄD: Nie można połączyć się z serwerem LDAP. Odpowiedź serwera '%s'."
+
+#: include/functions.inc:554 include/functions.inc:640
+#, fuzzy
+msgid "User ID is not unique!"
+msgstr "Użytkownik /UID nie są unikalne. Proszę sprawdzić bazę LDAP."
+
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
+msgstr ""
+
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Cannot store lock information in LDAP!"
+msgstr "Nie można pobrać informacji o quota dla '%s'."
+
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Error: %s"
+msgstr "Błąd"
+
+#: include/functions.inc:1294
+#, fuzzy, php-format
+msgid "The current size limit of %d entries is exceeded!"
+msgstr "Limit wielkości %d elementów został przekroczony!"
+
+#: include/functions.inc:1296
+#, php-format
+msgid "Set the size limit to %s"
+msgstr ""
+
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
+msgid "Configure"
+msgstr "Konfiguruj"
+
+#: include/functions.inc:1313
+#, fuzzy
+msgid "list is incomplete"
+msgstr "niepełne"
+
+#: include/functions.inc:1663
+msgid "Continue anyway"
+msgstr "Kontynuuj mimo wszystko"
+
+#: include/functions.inc:1665
+msgid "Edit anyway"
+msgstr "Edytuj mimo wszystko"
+
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
+msgstr ""
 
-#: include/functions.inc:2252 include/class_filter.inc:281
-msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+#: include/functions.inc:1909
+msgid "Entries per page"
+msgstr "Wpisów na stronie"
 
-#: include/functions.inc:2306
+#: include/functions.inc:2087
 #, fuzzy, php-format
 msgid "GOsa %s"
 msgstr "Usługa Logowania"
 
-#: include/functions.inc:2313
+#: include/functions.inc:2094
 #, fuzzy, php-format
 msgid "GOsa %s snapshot (Rev %s)"
 msgstr "Wersja deweloperska GOsa (Rev %s)"
 
-#: include/functions.inc:2318
+#: include/functions.inc:2099
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "Wersja deweloperska GOsa (Rev %s)"
 
-#: include/functions.inc:2414
-#, php-format
-msgid "File '%s' could not be deleted."
+#: include/functions.inc:2195
+#, fuzzy, php-format
+msgid "File %s cannot be deleted!"
 msgstr "Plik '%s' nie mógł zostać usunięty."
 
-#: include/functions.inc:2448 include/functions.inc:2468
+#: include/functions.inc:2225 include/functions.inc:2245
 #, fuzzy
-msgid "Cannot write to revision file!"
+msgid "Cannot write revision file!"
 msgstr "Nie można stworzyć pliku '%s'."
 
-#: include/functions.inc:2686 include/functions.inc:2690
-#: include/functions.inc:2696
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr ""
 
-#: include/functions.inc:2720
-msgid "LDAP warning"
-msgstr "Ostrzeżenie LDAP"
-
-#: include/functions.inc:2720
+#: include/functions.inc:2550
 #, fuzzy
-msgid "Cannot get schema information from server. No schema check possible!"
+msgid ""
+"Cannot read schema information from LDAP. Schema validation is not possible!"
 msgstr ""
 "Nie można pobrać informacji o schematach z serwera. Sprawdzenie schematów "
 "niemożliwe!"
 
-#: include/functions.inc:2746
-msgid "Used to store account specific informations."
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
 msgstr ""
 
-#: include/functions.inc:2753
+#: include/functions.inc:2583
 msgid ""
-"Used to lock currently edited entries to avoid multiple changes at the same "
+"This class is used to lock entries in order to prevent multiple edits at a "
 "time."
 msgstr ""
 
-#: include/functions.inc:2798
+#: include/functions.inc:2628
 #, fuzzy, php-format
-msgid "Missing required object class '%s'!"
+msgid "Required object class %s is missing!"
 msgstr "Wyświetl szablony FAI"
 
-#: include/functions.inc:2801
-#, php-format
-msgid "Missing optional object class '%s'!"
+#: include/functions.inc:2631
+#, fuzzy, php-format
+msgid "Optional object class %s is missing!"
 msgstr "Brak opcjonalnego obiektu klasy '%s'!"
 
-#: include/functions.inc:2806
-#, php-format
-msgid "Version mismatch for required object class '%s' (!=%s)!"
-msgstr ""
+#: include/functions.inc:2636
+#, fuzzy, php-format
+msgid "Wrong version of required object class %s (!=%s) detected!"
+msgstr "Wyświetl szablony FAI"
 
-#: include/functions.inc:2809
+#: include/functions.inc:2639
 #, fuzzy, php-format
-msgid "Class(es) available"
+msgid "Class available"
 msgstr "Plik jest dostępny"
 
-#: include/functions.inc:2831
+#: include/functions.inc:2661
 msgid ""
-"You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
-"schema    configuration do not support this option."
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
 msgstr ""
 
-#: include/functions.inc:2832
+#: include/functions.inc:2662
 msgid ""
-"In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
-"be      AUXILIARY"
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
 msgstr ""
 
-#: include/functions.inc:2836
+#: include/functions.inc:2666
 msgid ""
-"Your schema is configured to support the rfc2307bis group, but you have "
-"disabled this option on the 'ldap setup' step."
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
 msgstr ""
 
-#: include/functions.inc:2837
-msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#: include/functions.inc:2667
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
 msgstr ""
 
-#: include/functions.inc:2861
+#: include/functions.inc:2692
 msgid "German"
 msgstr "Niemiecki"
 
-#: include/functions.inc:2862
+#: include/functions.inc:2693
 msgid "French"
 msgstr "Francuski"
 
-#: include/functions.inc:2863
+#: include/functions.inc:2694
 msgid "Italian"
 msgstr "Włoski"
 
-#: include/functions.inc:2864
+#: include/functions.inc:2695
 msgid "Spanish"
 msgstr "Hiszpański"
 
-#: include/functions.inc:2865
+#: include/functions.inc:2696
 msgid "English"
 msgstr "Angielski"
 
-#: include/functions.inc:2866
+#: include/functions.inc:2697
 msgid "Dutch"
 msgstr "Holenderski"
 
-#: include/functions.inc:2867
+#: include/functions.inc:2698
 msgid "Polish"
 msgstr "Polski"
 
-#: include/functions.inc:2869
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
+msgstr "Brazylijski Portugalski"
+
+#: include/functions.inc:2701
 msgid "Chinese"
 msgstr "Chińsski"
 
-#: include/functions.inc:2870
+#: include/functions.inc:2702
 msgid "Vietnamese"
 msgstr "Wietnamski"
 
-#: include/functions.inc:2871
+#: include/functions.inc:2703
 msgid "Russian"
 msgstr "Rosyjski"
 
-#: include/functions.inc:3066
+#: include/functions.inc:2896
+#, fuzzy
+msgid "Cannot detect password hash!"
+msgstr "Nie można wybrać bazy danych!"
+
+#: include/functions.inc:2937 include/functions.inc:3012
 #, php-format
-msgid ""
-"Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
-msgstr "Polecenie '%s', podane jako POSTMODIFY dla dodatku '%s' nie istnieje."
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: include/functions.inc:2968
+#, fuzzy
+msgid "Password change failed!"
+msgstr "Brak uprawnień do zmiay hasła"
+
+#: include/functions.inc:2976
+#, php-format
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
 
-#: include/functions.inc:3099
-msgid "Cannot generate samba hash!"
+#: include/functions.inc:3080
+msgid "Cannot generate SAMBA hash!"
 msgstr ""
 
-#: include/functions.inc:3112
+#: include/functions.inc:3095
 #, php-format
-msgid ""
-"Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+msgid "Generating SAMBA hash by running %s failed: check %s!"
 msgstr ""
 
-#: include/functions.inc:3393 include/functions.inc:3407
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
 #, fuzzy
-msgid "Cannot allocate a free ID:"
-msgstr "Zbyt wielu użytkowników, nie można nadać wolnego ID"
+msgid "Cannot allocate free ID:"
+msgstr "Nie można nadać wolnego ID:"
 
-#: include/functions.inc:3393
+#: include/functions.inc:3373
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3407
+#: include/functions.inc:3387
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3437
+#: include/functions.inc:3417
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "Utwórz nowy departament"
 
-#: include/functions.inc:3445
+#: include/functions.inc:3425
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3457 include/functions.inc:3461
-#, fuzzy
+#: include/functions.inc:3437 include/functions.inc:3441
 msgid "no ID available!"
-msgstr "Brak szablonów!"
+msgstr "Brak dostępnego ID!"
 
-#: include/functions.inc:3485
-msgid "maximum tries exceeded!"
+#: include/functions.inc:3465
+msgid "maximum number of tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3545
+#: include/functions.inc:3525
 #, fuzzy
-msgid "Cannot allocate a free ID!"
+msgid "Cannot allocate free ID!"
 msgstr "Zbyt wielu użytkowników, nie można nadać wolnego ID"
 
-#: include/class_tabs.inc:57
-#, fuzzy, php-format
-msgid ""
-"No plugin definitions found to initialize '%s', please check your "
-"configuration file."
-msgstr ""
-"OpenGroupware: Nie można połączyć się z bazą. Proszę sprawdzić podane "
-"parametry konfiguracji."
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
+msgstr "Szukaj"
 
-#: include/class_tabs.inc:268
-#, php-format
-msgid "Delete process has been canceled by plugin '%s': %s"
-msgstr "Proces usuwania został anulowany przez dodatek '%s': %s"
+#: include/class_filter.inc:226
+msgid "Search filter"
+msgstr "Filtr wyszukiwania"
 
-#: include/class_tabs.inc:406
-msgid "References"
-msgstr "Zależności"
+#: include/class_filter.inc:444
+msgid "Search in subtrees"
+msgstr "Szukaj wewnątrz poddrzew"
+
+#: include/class_filter.inc:449
+msgid "Edit filters"
+msgstr "Edytuj filtry"
+
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
+msgstr "Ostrzeżenie wydajności"
 
-#: include/class_SnapShotDialog.inc:82
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
 #, php-format
-msgid "You're about to delete the snapshot '%s'."
-msgstr "Zamierzasz usunąć snapshot '%s'."
+msgid "LDAP performance is poor: last query took %.2fs!"
+msgstr ""
 
-#: include/class_SnapShotDialog.inc:137
-msgid "Remove snapshot"
-msgstr "Usuń snapshot"
+#: include/class_ldap.inc:784
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
+msgstr ""
 
-#: include/class_SnapShotDialog.inc:139 include/class_SnapShotDialog.inc:159
-msgid "Y-m-d, H:i:s"
-msgstr "Y-m-d, H:i:s"
+#: include/class_ldap.inc:835
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
+msgstr ""
 
-#: include/class_SnapShotDialog.inc:171
-#: plugins/generic/references/contents.tpl:11
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
-#: plugins/admin/ogroups/class_ogroup.inc:977
-#: plugins/admin/ogroups/generic.tpl:15
-#: plugins/admin/ogroups/ogroup-list.xml:49
-#: plugins/admin/groups/generic.tpl:24
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:66
-#: plugins/admin/groups/class_group.inc:1184
-#: plugins/admin/departments/dep-list.xml:79
-#: plugins/admin/departments/locality.tpl:19
-#: plugins/admin/departments/generic.tpl:19
-#: plugins/admin/departments/class_domain.inc:63
-#: plugins/admin/departments/class_domain.inc:91
-#: plugins/admin/departments/class_localityGeneric.inc:64
-#: plugins/admin/departments/class_localityGeneric.inc:92
-#: plugins/admin/departments/class_organizationGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_countryGeneric.inc:63
-#: plugins/admin/departments/class_countryGeneric.inc:92
-#: plugins/admin/departments/class_dcObject.inc:63
-#: plugins/admin/departments/class_dcObject.inc:91
-#: plugins/admin/departments/domain.tpl:19
-#: plugins/admin/departments/country.tpl:19
-#: plugins/admin/departments/dcObject.tpl:19
-#: plugins/admin/departments/class_department.inc:359
-#: plugins/admin/departments/class_department.inc:666
-#: plugins/admin/departments/organization.tpl:19
-#: plugins/admin/acl/class_aclRole.inc:735 plugins/admin/acl/acl-list.xml:57
-#: plugins/admin/acl/acl_role.tpl:17
-#: plugins/personal/posix/trustSelect/trust-list.xml:64
-#: plugins/personal/posix/groupSelect/group-list.xml:49
-msgid "Description"
-msgstr "Opis"
+#: include/class_ldap.inc:922
+#, fuzzy, php-format
+msgid "while operating on %s using LDAP server %s"
+msgstr "podczas działania na '%s' używając serwera LDAP '%s'"
 
-#: include/exporter/class_cvsExporter.inc:48
-msgid "CSV"
-msgstr "CSV"
+#: include/class_ldap.inc:924
+#, php-format
+msgid "while operating on LDAP server %s"
+msgstr "podczas połączenia z serwerem LDAP '%s'"
 
-#: include/exporter/class_PDF.inc:24
-msgid "Page"
-msgstr "Strona"
+#: include/class_ldap.inc:977
+#, php-format
+msgid "Command line programm %s is missing!"
+msgstr ""
 
-#: include/exporter/class_pdfExporter.inc:18
-msgid "No PDF export possible: there is no FPDF library installed."
+#: include/class_ldap.inc:1138
+#, fuzzy, php-format
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
 msgstr ""
+"To nie jest poprawne DN: '%s'. Blok dla importu powinien zaczynać się "
+"'dn: ...' w linii %s"
 
-#: include/exporter/class_pdfExporter.inc:145
-msgid "PDF"
-msgstr "PDF"
+#: include/class_ldap.inc:1167
+#, fuzzy, php-format
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
+msgstr "Błąd podczas importu dn: '%s', proszę sprawdzić LDIF od linii %s !"
 
-#: include/class_multi_plug.inc:362
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
 #, fuzzy
-msgid "You are currently editing mutliple entries."
-msgstr "Brak uprawnień do usunięcia tego departamentu."
-
-#: include/class_multi_plug.inc:391
-msgid "Password reset"
-msgstr "Reset hasła"
+msgid "All"
+msgstr "ACL"
 
-#: include/class_multi_plug.inc:391
+#: include/class_core.inc:114
 #, fuzzy
-msgid "The user password was resetted, please set a new password value!"
-msgstr "Twoje hasło wygasło !! Proszę wybrać inne hasło"
+msgid "All objects"
+msgstr "Przenieś obiekty"
 
-#: include/class_certificate.inc:73
-msgid "Certificate is empty!"
-msgstr "Certyfikat jest pusty!"
+#: include/class_core.inc:132
+#, fuzzy
+msgid "Traditional"
+msgstr "Terminal"
 
-#: include/class_certificate.inc:100
-msgid "Cannot load certificate - only PEM/DER is supported!"
+#: include/class_core.inc:132
+msgid "Use samba pool"
 msgstr ""
 
-#: include/class_certificate.inc:115
+#: include/class_core.inc:164 include/class_core.inc:167
 #, fuzzy
-msgid "Cannot extract information for non PEM certificates!"
-msgstr "Nie można pobrać informacji o quota dla '%s'."
+msgid "hours"
+msgstr "godzina"
 
-#: include/class_certificate.inc:219
-msgid "No valid certificate loaded!"
-msgstr "Nie załadowano prawidłowego certyfikatu!"
+#: include/class_core.inc:184
+#, fuzzy
+msgid "None"
+msgstr "żaden"
 
-#: include/php_setup.inc:100
-msgid "Generating this page caused the PHP interpreter to raise some errors!"
-msgstr "Tworzenie tej strony spowodowało, że interpreter PHP zwrócił błędy!"
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
+msgid "Automatic"
+msgstr "Automatycznie"
 
-#: include/php_setup.inc:105
-msgid "Send bug report to the GOsa Team"
-msgstr ""
+#: include/class_core.inc:200
+#, fuzzy
+msgid "User value"
+msgstr "Nazwa użytkownika"
 
-#: include/php_setup.inc:105
+#: include/class_core.inc:209
 #, fuzzy
-msgid "Send bugreport"
-msgstr "Nadawca"
+msgid "Core"
+msgstr "Zamknij"
 
-#: include/php_setup.inc:110
-msgid "Toggle information"
-msgstr "Przełącz informacje"
+#: include/class_core.inc:210
+#, fuzzy
+msgid "GOsa core plugin"
+msgstr "Ustawienia główne GOsa"
 
-#: include/php_setup.inc:120
-msgid "PHP error"
-msgstr "błąd PHP:"
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
+msgstr ""
 
-#: include/php_setup.inc:139
-msgid "class"
-msgstr "klasa"
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
+msgstr ""
 
-#: include/php_setup.inc:145
-msgid "function"
-msgstr "funkcja"
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
+msgstr ""
 
-#: include/php_setup.inc:150
-msgid "static"
-msgstr "statyczna"
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
+msgstr ""
 
-#: include/php_setup.inc:154
-msgid "method"
-msgstr "metoda"
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
+msgstr ""
 
-#: include/php_setup.inc:187
-msgid "Trace"
-msgstr "Śledzenie"
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "File"
-msgstr "Plik"
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Line"
-msgstr "Linia"
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Type"
-msgstr "Typ"
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
+msgstr ""
 
-#: include/php_setup.inc:189
-msgid "Arguments"
-msgstr "Argumenty"
+#: include/class_core.inc:319
+#, fuzzy, php-format
+msgid "Related option"
+msgstr "Wybierz aby zobaczyc stacje robocze"
 
-#: include/class_filter.inc:322 include/utils/class_msgPool.inc:24
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#: plugins/personal/posix/posix_groups.tpl:68
-#, fuzzy
-msgid "Search in subtrees"
-msgstr "Szukaj wewnątrz tego poddrzewa"
+#: include/class_core.inc:329
+msgid ""
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
+msgstr ""
 
-#: include/class_plugin.inc:521
+#: include/class_core.inc:340
 msgid ""
-"The object has changed since opened in GOsa. All changes that may be done by "
-"others get lost if you save this entry!"
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
 msgstr ""
 
-#: include/class_plugin.inc:1844
-msgid "Changing ACL dn"
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
 msgstr ""
 
-#: include/class_plugin.inc:1844
-msgid "from"
-msgstr "od"
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
+msgstr ""
 
-#: include/class_plugin.inc:1845 setup/class_setupStep_Migrate.inc:1250
-#: setup/class_setupStep_Migrate.inc:1300
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "to"
-msgstr "do"
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
+msgstr ""
 
-#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
-msgid "Restore"
-msgstr "Odtwórz"
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
+msgstr ""
 
-#: include/class_plugin.inc:2072
-msgid "cut"
-msgstr "wytnij"
+#: include/class_core.inc:390
+#, fuzzy
+msgid "Enable LDAP referral chasing."
+msgstr "Rozszerzenie inwentarza"
 
-#: include/class_plugin.inc:2080
-msgid "copy"
-msgstr "kopiuj"
+#: include/class_core.inc:400
+msgid ""
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
+msgstr ""
 
-#: include/functions_helpviewer.inc:45
-#, php-format
-msgid "XML error in guide.xml: %s at line %d"
-msgstr "Błąd XML w guide.xml: %s w linii %d"
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
+msgstr ""
 
-#: include/functions_helpviewer.inc:88
-msgid "No help available for this plugin."
-msgstr "Pomoc nie jest dostępna dla tego dodatku."
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
+msgstr ""
 
-#: include/functions_helpviewer.inc:388
-#, php-format
-msgid "%s results for your search with the keyword %s"
-msgstr "%s wyników zapytania ze słowem %s"
+#: include/class_core.inc:430
+msgid "Enable warnings for non encrypted connections."
+msgstr ""
 
-#: include/functions_helpviewer.inc:462
-#, php-format
-msgid "%s%% hit rate in file %s"
-msgstr "%s%% trafień w pliku %s"
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
+msgstr ""
 
-#: include/utils/class_timezone.inc:47
-#, php-format
+#: include/class_core.inc:451
 msgid ""
-"The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate "
-"correct timezone offset."
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
 msgstr ""
 
-#: include/utils/class_xml.inc:48
-msgid "in"
-msgstr "w"
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
+msgstr ""
 
-#: include/utils/class_xml.inc:50
-#, fuzzy
-msgid "on line"
-msgstr "Kontynuuj"
+#: include/class_core.inc:472
+msgid ""
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
+msgstr ""
 
-#: include/utils/class_xml.inc:51
-#, fuzzy
-msgid "XML error"
-msgstr "błąd LDAP:"
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:16
-#, fuzzy, php-format
-msgid "Select to list objects of type '%s'."
-msgstr "Wybierz obiekty do dodania"
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:18
-#, fuzzy, php-format
-msgid "Select to list objects containig '%s'."
-msgstr "Zaznacz aby zobaczyć grupy zawierające użytkowników"
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:20
-#, fuzzy, php-format
-msgid "Select to list objects that have '%s' enabled"
-msgstr "Wybierz obiekty do dodania"
+#: include/class_core.inc:514
+msgid ""
+"ISO language code which is used to override the automatic language detection."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:22
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-msgid "Select to search within subtrees"
-msgstr "Zaznacz aby wyszukiwać wewnątrz poddrzew"
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:34
-msgid "This object will be deleted!"
+#: include/class_core.inc:535
+msgid ""
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:36
+#: include/class_core.inc:545
+#, fuzzy
+msgid "Template engine compile directory."
+msgstr "Katalog kompilacji Smarty"
+
+#: include/class_core.inc:555
 #, php-format
-msgid "This '%s' object will be deleted!"
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:41
-#, php-format
-msgid "This object will be deleted: %s"
+#: include/class_core.inc:576
+msgid ""
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:43
-#, php-format
-msgid "This '%s' object will be deleted: %s"
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:48
-msgid "This object will be deleted:"
+#: include/class_core.inc:596
+msgid ""
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:50
-#, php-format
-msgid "This '%s' object will be deleted:"
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:54
-#, php-format
-msgid "These objects will be deleted: %s"
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:56
-#, php-format
-msgid "These '%s' objects will be deleted: %s"
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:64
-#, fuzzy
-msgid "You have no permission to delete this object!"
-msgstr "Brak uprawnień do usunięcia tego departamentu."
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:68 include/utils/class_msgPool.inc:72
-#, fuzzy
-msgid "You have no permission to delete the object:"
-msgstr "Brak uprawnień do usunięcia tego departamentu."
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:75
-#, fuzzy
-msgid "You have no permission to delete these objects:"
-msgstr "Brak uprawnień do usunięcia tego departamentu."
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:82
-#, fuzzy
-msgid "You have no permission to create this object!"
-msgstr "Brak uprawnień do usunięcia tego departamentu."
+#: include/class_core.inc:667
+msgid ""
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:86 include/utils/class_msgPool.inc:90
-#, fuzzy
-msgid "You have no permission to create the object:"
-msgstr "Brak uprawnień do usunięcia tego departamentu."
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:93
-#, fuzzy
-msgid "You have no permission to create these objects:"
-msgstr "Brak uprawnień do usunięcia tego departamentu."
+#: include/class_core.inc:687
+msgid ""
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:100
-#, fuzzy
-msgid "You have no permission to modify this object!"
-msgstr "Brak uprawnień do usunięcia grupy obiektowej."
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:104 include/utils/class_msgPool.inc:108
+#: include/class_core.inc:707
 #, fuzzy
-msgid "You have no permission to modify the object:"
-msgstr "Brak uprawnień do usunięcia grupy obiektowej."
+msgid "Connection URL for use with the gosa-ng service."
+msgstr "Błąd komunikacji z usługą infrastruktury!"
 
-#: include/utils/class_msgPool.inc:111
-#, fuzzy
-msgid "You have no permission to modify these objects:"
-msgstr "Brak uprawnień do usunięcia grupy obiektowej."
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:118
+#: include/class_core.inc:727
 #, fuzzy
-msgid "You have no permission to view this object!"
-msgstr "Brak uprawnień do usunięcia grupy obiektowej."
+msgid "Password used to connect to the 'gosaRpcServer'."
+msgstr "Nie można połączyć się z serwerem baz danych!"
 
-#: include/utils/class_msgPool.inc:122 include/utils/class_msgPool.inc:126
+#: include/class_core.inc:737
 #, fuzzy
-msgid "You have no permission to view the object:"
-msgstr "Brak uprawnień do tworzenia telefonu w tym elemencie."
+msgid "Connection URI for use with the gosa-si service (obsolete)."
+msgstr "Błąd komunikacji z usługą infrastruktury: %s"
 
-#: include/utils/class_msgPool.inc:129
-#, fuzzy
-msgid "You have no permission to view these objects:"
-msgstr "Brak uprawnień do usunięcia grupy obiektowej."
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:136
-#, fuzzy
-msgid "You have no permission to move this object!"
-msgstr "Brak uprawnień do usunięcia grupy obiektowej."
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:144
+#: include/class_core.inc:769
 #, fuzzy
-msgid "You have no permission to move the object:"
-msgstr "Brak uprawnień do usunięcia grupy obiektowej."
+msgid "Local time zone."
+msgstr "Lokalizacja"
 
-#: include/utils/class_msgPool.inc:147
-#, fuzzy
-msgid "You have no permission to move these objects:"
-msgstr "Brak uprawnień do usunięcia grupy obiektowej."
+#: include/class_core.inc:779
+msgid ""
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:157 include/utils/class_msgPool.inc:169
-#: include/utils/class_msgPool.inc:187
-#, fuzzy
-msgid "Connection information"
-msgstr "Informacje osobiste"
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:159
-#, fuzzy, php-format
-msgid "Cannot connect to %s database!"
-msgstr "Nie można połączyć się z serwerem baz danych!"
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:171
-#, fuzzy, php-format
-msgid "Cannot select %s database!"
-msgstr "Nie można wybrać bazy danych!"
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:177
-#, php-format
-msgid "No %s server defined!"
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:189
-#, fuzzy, php-format
-msgid "Cannot query %s database!"
-msgstr "Nie można wybrać bazy danych!"
+#: include/class_core.inc:828
+msgid ""
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:195
-#, fuzzy, php-format
-msgid "The field '%s' contains a reserved keyword!"
-msgstr "Pole 'Fax' zawiera nieprawidłowy numer telefonu."
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:201
-#, fuzzy, php-format
-msgid "Command specified as %s hook for plugin '%s' does not exist!"
-msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
+#: include/class_core.inc:848
+msgid ""
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:208
-#, fuzzy, php-format
-msgid "'%s' command is invalid!"
-msgstr "Podana nazwa jest nieprawidłowa"
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:210
-#, php-format
-msgid "'%s' command (%s) for plugin %s is invalid!"
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:212
-#, php-format
-msgid "'%s' command for plugin %s is invalid!"
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:214
-#, fuzzy, php-format
-msgid "'%s' command (%s) is invalid!"
-msgstr "Podana nazwa jest nieprawidłowa"
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:222
-#, fuzzy, php-format
-msgid "Cannot execute '%s' command!"
-msgstr "Nie można wybrać bazy danych!"
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:224
-#, php-format
-msgid "Cannot execute '%s' command (%s) for plugin %s!"
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:226
-#, php-format
-msgid "Cannot execute '%s' command for plugin %s!"
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:228
-#, fuzzy, php-format
-msgid "Cannot execute '%s' command (%s)!"
-msgstr "Nie można wybrać bazy danych!"
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:236
-#, fuzzy, php-format
-msgid "Value for '%s' is too large!"
-msgstr "Wartość podana jako 'UID' jest za mała."
+#: include/class_core.inc:940
+#, fuzzy
+msgid "Enable TLS for LDAP connections."
+msgstr "Połączenie LDAP"
 
-#: include/utils/class_msgPool.inc:238
-#, fuzzy, php-format
-msgid "'%s' must be smaller than %s!"
-msgstr "Wartość podana jako 'shadowMin' powinna być mniejsza niż 'shadowMax'."
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:246
-#, fuzzy, php-format
-msgid "Value for '%s' is too small!"
-msgstr "Wartość podana jako 'UID' jest za mała."
+#: include/class_core.inc:960
+msgid ""
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:248
-#, fuzzy, php-format
-msgid "'%s' must be %d or above!"
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
 msgstr ""
-"PHP musi być w wersji 4.1.0 lub wyższej z powodu używanych funkcji i błędów "
-"w języku PHP."
 
-#: include/utils/class_msgPool.inc:255
-#, php-format
-msgid "'%s' depends on '%s' - please provide both values!"
+#: include/class_core.inc:980
+msgid ""
+"String containing the SID for Samba setups without the Domain object in LDAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:261
-#, fuzzy, php-format
-msgid "There is already an entry with this '%s' attribute in the system!"
-msgstr "Już istnieje osoba z takim samym loginem w bazie."
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:267
-#, fuzzy, php-format
-msgid "The required field '%s' is empty!"
-msgstr "Wymagane pole 'Nazwa' jest puste."
+#: include/class_core.inc:1000
+#, fuzzy
+msgid "Enable manual object snapshots."
+msgstr "Tworzenie obiektu snapshoty"
 
-#: include/utils/class_msgPool.inc:275
-msgid "Example"
-msgstr "Przykład"
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:295
-#, fuzzy, php-format
-msgid "The Field '%s' contains invalid characters"
-msgstr "Pole 'Nazwa' zawiera niedozwolone znaki."
+#: include/class_core.inc:1020
+#, fuzzy
+msgid "DN of the snapshot administrator."
+msgstr "Administratorzy domeny"
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' is not allowed:"
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:296
-#, fuzzy, php-format
-msgid "'%s' are not allowed!"
-msgstr "Brak uprawnień do zmiay hasła"
+#: include/class_core.inc:1041
+msgid ""
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:299
-#, fuzzy, php-format
-msgid "The Field '%s' contains invalid characters!"
-msgstr "Pole 'Nazwa' zawiera niedozwolone znaki."
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:306
-#, fuzzy, php-format
-msgid "Missing %s PHP extension!"
-msgstr "Rozszerzenie inwentarza"
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:336
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
-#: plugins/personal/generic/generic.tpl:251
-#: plugins/personal/generic/generic.tpl:269
-#: setup/class_setupStep_Migrate.inc:2869
+#: include/class_config.inc:168
 #, php-format
-msgid "Add"
-msgstr "Dodaj"
+msgid "XML error in gosa.conf: %s at line %d"
+msgstr "Błąd XML w pliku gosa.conf: %s w linii %d"
 
-#: include/utils/class_msgPool.inc:336
-#, php-format
-msgid "Add %s"
-msgstr "Dodaj %s"
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:342
-#, php-format
-msgid "Delete %s"
-msgstr "Usuń %s"
-
-#: include/utils/class_msgPool.inc:348
-#, php-format
-msgid "Set %s"
-msgstr "Ustaw %s"
-
-#: include/utils/class_msgPool.inc:354
-#, php-format
-msgid "Edit..."
-msgstr "Edytuj..."
-
-#: include/utils/class_msgPool.inc:354
-#, php-format
-msgid "Edit %s..."
-msgstr "Edytuj %s..."
-
-#: include/utils/class_msgPool.inc:360
-msgid "Back"
-msgstr "Wróć"
+#: include/class_config.inc:711
+#, fuzzy
+msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+msgstr "Brak parametru SID lub/i RIDBASE w konfiguracji!"
 
-#: include/utils/class_msgPool.inc:380
-#, fuzzy, php-format
-msgid "This account has no valid %s extensions!"
-msgstr "To konto nie posiada poprawnych rozszerzeń GOsa."
+#: include/class_config.inc:1130
+msgid "Configuration"
+msgstr "Konfiguracja"
 
-#: include/utils/class_msgPool.inc:386
-#, fuzzy, php-format
+#: include/class_config.inc:1130
 msgid ""
-"This account has %s settings enabled. You can disable them by clicking below."
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
 msgstr ""
-"To konto posiada rozszerzenia posix. Można je wyłączyć klikająć poniżej."
 
-#: include/utils/class_msgPool.inc:389 include/utils/class_msgPool.inc:396
+#: include/class_config.inc:1172 include/class_config.inc:1203
 #, fuzzy, php-format
 msgid ""
-"This account has %s settings enabled. To disable them, you'll need to remove "
-"the %s settings first!"
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
 msgstr ""
-"To konto posiada rozszerzenia unix, Aby je wyłączyć należy najpierw usunąć "
-"konto Samba/Środowisko."
+"Funkcjonalność snapshot jest włączona, lecz wymagana zmienna '%s' nie jest "
+"skonfigurowana w gosa.conf."
 
-#: include/utils/class_msgPool.inc:405
+#: include/class_config.inc:1185
 #, fuzzy, php-format
 msgid ""
-"This account has %s settings disabled. You can enable them by clicking below."
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
 msgstr ""
-"To konto nie posiada rozszerzenia posix. Można je włączyć klikająć poniżej."
+"Funkcjonalność snapshot jest włączona, lecz wymagana zmienna '%s' nie jest "
+"skonfigurowana w gosa.conf."
 
-#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
-#, fuzzy, php-format
-msgid ""
-"This account has %s settings disabled. To enable them, you'll need to add "
-"the %s settings first!"
+#: include/exporter/class_PDF.inc:24
+msgid "Page"
+msgstr "Strona"
+
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
+msgstr "CSV"
+
+#: include/exporter/class_pdfExporter.inc:18
+msgid "No PDF export possible: there is no FPDF library installed."
 msgstr ""
-"To konto posiada rozszerzenia unix, Aby je wyłączyć należy najpierw usunąć "
-"konto Samba/Środowisko."
 
-#: include/utils/class_msgPool.inc:423
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
+msgstr "PDF"
+
+#: include/class_jsonRPC.inc:38
 #, fuzzy, php-format
-msgid "Add %s settings"
-msgstr "Ustawienia Aplikacji"
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
+msgstr "Wartość podana jako 'UID' jest nieprawidłowa."
 
-#: include/utils/class_msgPool.inc:429
+#: include/class_jsonRPC.inc:330
 #, fuzzy, php-format
-msgid "Remove %s settings"
-msgstr "Ustawienia Posix"
+msgid "Unknown HTTP status code %s!"
+msgstr "Nieznany wpis  '%s'!"
 
-#: include/utils/class_msgPool.inc:435
-msgid "Click the 'Edit' button below to change informations in this dialog"
-msgstr "Kliknij przycisk 'Edytuj' poniżej, aby zmienić informacje w tym oknie"
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
+msgstr "Wyślij"
 
-#: include/utils/class_msgPool.inc:441
-msgid "January"
-msgstr "Styczeń"
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#, php-format
+msgid "Copy and paste failed!"
+msgstr "Copy and paste nieudane!"
 
-#: include/utils/class_msgPool.inc:441
-msgid "February"
-msgstr "Luty"
+#: include/class_CopyPasteHandler.inc:118
+#, fuzzy, php-format
+msgid "Cannot set permission for %s"
+msgstr "Nie można stworzyć pliku '%s'."
 
-#: include/utils/class_msgPool.inc:441
-msgid "March"
-msgstr "Marzec"
+#: include/class_CopyPasteHandler.inc:159
+#, php-format
+msgid "'%s' is no valid LDAP object"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "April"
-msgstr "Kwiecień"
+#: include/class_CopyPasteHandler.inc:176
+#, fuzzy, php-format
+msgid "No write permission in '%s'"
+msgstr "Nie można stworzyć pliku '%s'."
 
-#: include/utils/class_msgPool.inc:442
-msgid "May"
-msgstr "Maj"
+#: include/class_CopyPasteHandler.inc:193
+#, fuzzy, php-format
+msgid "Cannot set permission for '%s'"
+msgstr "Nie można stworzyć pliku '%s'."
 
-#: include/utils/class_msgPool.inc:442
-msgid "June"
-msgstr "Czerwiec"
+#: include/class_CopyPasteHandler.inc:396
+#, php-format
+msgid "These objects will be pasted: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "July"
-msgstr "Lipiec"
+#: include/class_CopyPasteHandler.inc:420
+#, php-format
+msgid "This object will be pasted: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "August"
-msgstr "Sierpień"
+#: include/class_CopyPasteHandler.inc:573
+msgid "Cannot paste"
+msgstr "Nie można wkleić"
 
-#: include/utils/class_msgPool.inc:442
-msgid "September"
-msgstr "Wrzesień"
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
+msgid "Access control"
+msgstr "Kontrola dostępu"
 
-#: include/utils/class_msgPool.inc:443
-msgid "October"
-msgstr "Październik"
+#: include/class_acl.inc:28
+#, fuzzy
+msgid "Manage access control lists"
+msgstr "Kontrola dostępu"
 
-#: include/utils/class_msgPool.inc:443
-msgid "November"
-msgstr "Listopad"
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, php-format
+msgid "All users"
+msgstr "Wszyscy użytkownicy"
 
-#: include/utils/class_msgPool.inc:443
-msgid "December"
-msgstr "Grudzień"
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
+msgstr "Resetuj ACL'e"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Sunday"
-msgstr "Niedziela"
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
+msgid "One level"
+msgstr "Jeden poziom"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Monday"
-msgstr "Poniedziałek"
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
+msgid "Current object"
+msgstr "Obecny obiekt"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Tuesday"
-msgstr ""
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
+msgid "Complete subtree"
+msgstr "Pełne poddrzewo"
 
-#: include/utils/class_msgPool.inc:449
-#, fuzzy
-msgid "Wednesday"
-msgstr "Środa"
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
+msgstr "Pełne poddrzewo (trwałe)"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Thursday"
-msgstr ""
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+msgid "Use ACL defined in role"
+msgstr "Użyj ACL zdefiniowanego w tej roli"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Friday"
-msgstr "Piątek"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
+msgstr "Użytkownicy"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Saturday"
-msgstr "Sobota"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
+msgstr "Grupy"
 
-#: include/utils/class_msgPool.inc:456
-msgid "MySQL operation failed!"
-msgstr "Zapytanie MySQL nieudane!"
+#: include/class_acl.inc:254
+msgid "Section"
+msgstr "Sekcja"
 
-#: include/utils/class_msgPool.inc:464
+#: include/class_acl.inc:264
 #, fuzzy
-msgid "read operation"
-msgstr "Opcje poczty"
+msgid "Used"
+msgstr "Użyj"
 
-#: include/utils/class_msgPool.inc:464
-msgid "add operation"
-msgstr ""
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
+msgid "Member"
+msgstr "Członek"
 
-#: include/utils/class_msgPool.inc:464
-#, fuzzy
-msgid "modify operation"
-msgstr "Informacje osobiste"
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
+msgid "Permissions"
+msgstr "Uprawnienia"
 
-#: include/utils/class_msgPool.inc:465
+#: include/class_acl.inc:574
 #, fuzzy
-msgid "delete operation"
-msgstr "Wybierz aby zobaczyc stacje robocze"
+msgid "No ACL settings for this category!"
+msgstr "Brak ustawień ACL w tej kategorii"
 
-#: include/utils/class_msgPool.inc:465
-#, fuzzy
-msgid "search operation"
-msgstr "Konto wygasa po"
+#: include/class_acl.inc:577
+#, php-format
+msgid "ACLs for: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:465
-#, fuzzy
-msgid "authentication"
-msgstr "Autentykacja Nagios"
+#: include/class_acl.inc:583 include/class_acl.inc:587
+msgid "category ACL"
+msgstr "Kategoria ACL"
 
-#: include/utils/class_msgPool.inc:468
+#: include/class_acl.inc:639
 #, fuzzy, php-format
-msgid "LDAP %s failed!"
-msgstr "Zapytanie do bazy danych nieudane"
-
-#: include/utils/class_msgPool.inc:470
-#, fuzzy
-msgid "LDAP operation failed!"
-msgstr "Zapytanie do bazy danych nieudane"
+msgid "Edit ACL for '%s' with scope '%s'"
+msgstr "Edytuj ACL dla '%s', zakres to '%s'"
 
-#: include/utils/class_msgPool.inc:485
+#: include/class_acl.inc:801 include/class_acl.inc:808
 #, fuzzy
-msgid "Upload failed!"
-msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
+msgid "Show/hide advanced settings"
+msgstr "Zaawansowane ustawienia telefonu"
 
-#: include/utils/class_msgPool.inc:488
-#, fuzzy, php-format
-msgid "Upload failed: %s"
-msgstr "Użytkownik bazy logowania"
+#: include/class_acl.inc:819
+msgid "Create objects"
+msgstr "Utwórz obiekty"
 
-#: include/utils/class_msgPool.inc:495
-msgid "Communication failure with the infrastructure service!"
-msgstr "Błąd komunikacji z usługą infrastruktury!"
+#: include/class_acl.inc:820
+msgid "Move objects"
+msgstr "Przenieś obiekty"
 
-#: include/utils/class_msgPool.inc:497
-#, php-format
-msgid "Communication failure with the infrastructure service: %s"
-msgstr "Błąd komunikacji z usługą infrastruktury: %s"
+#: include/class_acl.inc:821
+msgid "Remove objects"
+msgstr "Usuń obiekty"
 
-#: include/utils/class_msgPool.inc:504 include/utils/class_msgPool.inc:507
-#, php-format
-msgid "This '%s' is still in use by this object: %s"
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:510
-#, fuzzy, php-format
-msgid "This '%s' is still in use."
-msgstr "Zawiera ustawienia dla tych obiektów: %s"
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
+msgstr "czytanie"
+
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
+msgstr "zapisywanie"
 
-#: include/utils/class_msgPool.inc:512
+#: include/class_acl.inc:832
+#, fuzzy
+msgid "Complete object"
+msgstr "Utwórz obiekty"
+
+#: include/class_acl.inc:984
 #, fuzzy, php-format
-msgid "This '%s' is still in use by these objects: %s"
-msgstr "Zawiera ustawienia dla tych obiektów: %s"
+msgid "Unknown ACL type '%s'!"
+msgstr "Nieznany wpis  '%s'!"
 
-#: include/utils/class_msgPool.inc:518
+#: include/class_acl.inc:1029
 #, php-format
-msgid "File '%s' does not exist!"
-msgstr "Plik '%s' nie istnieje!"
+msgid "Unknown entry '%s'!"
+msgstr "Nieznany wpis  '%s'!"
 
-#: include/utils/class_msgPool.inc:524
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
 #, fuzzy, php-format
-msgid "Cannot open file '%s' for reading!"
-msgstr "Nie można otworzyć pliku '%s'."
+msgid "ACL role: %s"
+msgstr "ACLe"
 
-#: include/utils/class_msgPool.inc:530
-#, fuzzy, php-format
-msgid "Cannot open file '%s' for writing!"
-msgstr "Nie można otworzyć pliku '%s'."
+#: include/class_acl.inc:1095
+#, fuzzy
+msgid "unknown ACL role"
+msgstr "! nieznane id"
 
-#: include/utils/class_msgPool.inc:536
+#: include/class_acl.inc:1103
 #, php-format
-msgid ""
-"The value for '%s' is currently unconfigured or invalid, please check your "
-"configuration file!"
-msgstr ""
+msgid "Contains settings for these objects: %s"
+msgstr "Zawiera ustawienia dla tych obiektów: %s"
 
-#: include/utils/class_msgPool.inc:542
-#, fuzzy, php-format
-msgid "Cannot delete file '%s'!"
-msgstr "Nie można otworzyć pliku '%s'."
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+msgid "Members"
+msgstr "Członkowie"
 
-#: include/utils/class_msgPool.inc:548
-#, fuzzy, php-format
-msgid "Cannot create folder '%s'!"
-msgstr "Utwórz nowy departament"
+#: include/class_acl.inc:1120
+msgid "inactive"
+msgstr "nieaktywne"
 
-#: include/utils/class_msgPool.inc:554
-#, fuzzy, php-format
-msgid "Cannot delete folder '%s'!"
-msgstr "Nie można otworzyć pliku '%s'."
+#: include/class_acl.inc:1120
+msgid "No members"
+msgstr "Brak członków"
 
-#: include/utils/class_msgPool.inc:560
-#, fuzzy, php-format
-msgid "Checking for %s support"
-msgstr "Sprawdzam wsparcie dla iconv"
+#: include/class_acl.inc:1291
+#, fuzzy
+msgid "Access control list"
+msgstr "Kontrola dostępu"
 
-#: include/utils/class_msgPool.inc:566
-#, php-format
-msgid "Install and activate the %s PHP module."
-msgstr ""
-
-#: include/utils/class_msgPool.inc:572
-#, php-format
-msgid ""
-"Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
-"setup?"
-msgstr ""
-
-#: include/utils/class_msgPool.inc:578
-msgid ""
-"The supplied base is not valid and has been reset to the previous value!"
-msgstr ""
-
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-msgid "Performance warning"
-msgstr "Ostrzeżenie wydajności"
+#: include/class_acl.inc:1297
+#, fuzzy
+msgid "ACL roles"
+msgstr "ACLe"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-#, php-format
-msgid "LDAP performance is poor: last query took about %.2fs!"
-msgstr ""
+#: include/class_acl.inc:1300
+#, fuzzy
+msgid "ACL Entries"
+msgstr "Profil FAI"
 
-#: include/class_ldap.inc:693
+#: include/class_socketClient.inc:108
 #, php-format
-msgid ""
-"Cannot automatically create subtrees with RDN '%s': no object class found!"
+msgid "Socket connection to %s:%s failed: %s"
 msgstr ""
 
-#: include/class_ldap.inc:744
+#: include/class_socketClient.inc:191
 #, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': not supported"
+msgid "Socket timeout of %s seconds reached!"
 msgstr ""
 
-#: include/class_ldap.inc:831
-#, php-format
-msgid "while operating on '%s' using LDAP server '%s'"
-msgstr "podczas działania na '%s' używając serwera LDAP '%s'"
-
-#: include/class_ldap.inc:833
-#, php-format
-msgid "while operating on LDAP server %s"
-msgstr "podczas połączenia z serwerem LDAP '%s'"
-
-#: include/class_ldap.inc:1055
+#: include/class_userFilterEditor.inc:254
 #, php-format
-msgid ""
-"This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
-"in line %s"
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
 msgstr ""
-"To nie jest poprawne DN: '%s'. Blok dla importu powinien zaczynać się "
-"'dn: ...' w linii %s"
-
-#: include/class_ldap.inc:1084
-#, php-format
-msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
-msgstr "Błąd podczas importu dn: '%s', proszę sprawdzić LDIF od linii %s !"
-
-#: include/class_log.inc:87
-#, fuzzy, php-format
-msgid "Logging failed: %s"
-msgstr "Użytkownik bazy logowania"
-
-#: include/class_log.inc:102
-#, php-format
-msgid "Invalid option '%s' specified!"
-msgstr "Podano nieprawidłową opcję '%s'!"
-
-#: include/class_log.inc:106
-#, fuzzy
-msgid "Specified objectType is empty or invalid!"
-msgstr "Podana nazwa jest nieprawidłowa"
 
 #: include/class_gosaSupportDaemon.inc:112
 msgid "GOsa support daemon"
 msgstr ""
 
 #: include/class_gosaSupportDaemon.inc:787
-#, fuzzy
 msgid "Cannot not parse XML!"
-msgstr "Zbyt wielu użytkowników, nie można nadać wolnego ID"
+msgstr "Nie można sparsować XML!"
 
 #: include/class_gosaSupportDaemon.inc:1184
 #, fuzzy, php-format
@@ -2513,4243 +2531,5540 @@ msgid "Cannot send abort event for entry %s!"
 msgstr "Nie można stworzyć pliku '%s'."
 
 #: include/class_gosaSupportDaemon.inc:1204
-#, fuzzy, php-format
-msgid "Cannot remove entry %s!"
-msgstr "Nieznany wpis  '%s'!"
-
-#: include/class_config.inc:152
 #, php-format
-msgid "XML error in gosa.conf: %s at line %d"
-msgstr "Błąd XML w pliku gosa.conf: %s w linii %d"
+msgid "Cannot remove entry %s!"
+msgstr "Nie można usunąć wpisu '%s!"
 
-#: include/class_config.inc:318
-#, fuzzy
-msgid "Cannot bind to LDAP. Please contact the system administrator."
+#: include/class_GOsaRegistration.inc:127
+msgid ""
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
 msgstr ""
-"Nie można połączyć się z LDAP. Proszę skontaktować się z administratorem."
-
-#: include/class_config.inc:695
-#, fuzzy
-msgid "sambaSID and/or sambaRidBase missing in the configuration!"
-msgstr "Brak parametru SID lub/i RIDBASE w konfiguracji!"
 
-#: include/class_config.inc:1105
-msgid "Configuration"
-msgstr "Konfiguracja"
-
-#: include/class_config.inc:1105
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
+#, fuzzy, php-format
 msgid ""
-"The configuration file you are using seems to be outdated. Please move the "
-"GOsa configuration file away to run the GOsa setup again."
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
 msgstr ""
+"Funkcjonalność snapshot jest włączona, lecz wymagana zmienna '%s' nie jest "
+"skonfigurowana w gosa.conf."
 
-#: include/class_pluglist.inc:58
-msgid "All objects in this category"
-msgstr "Wszystkie obiekty w tej kategorii"
-
-#: include/class_pluglist.inc:183
-msgid "The configuration format has changed. Please re-run setup!"
+#: include/class_SnapshotHandler.inc:58
+#, fuzzy, php-format
+msgid ""
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
 msgstr ""
+"Funkcjonalność snapshot jest włączona, lecz wymagana zmienna '%s' nie jest "
+"skonfigurowana w gosa.conf."
 
-#: include/class_pluglist.inc:202 include/class_pluglist.inc:203
-#: include/class_pluglist.inc:316
-#: plugins/admin/departments/class_department.inc:145
-#: plugins/personal/generic/class_user.inc:273
-#: plugins/personal/generic/class_user.inc:1872
-msgid "Unknown"
-msgstr "Nieznane"
-
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#, fuzzy, php-format
-msgid "Copy and paste failed!"
-msgstr "Kreator Copy & paste"
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
+#, fuzzy
+msgid "Filter editor"
+msgstr "Błąd krytyczny"
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:193
-#, fuzzy, php-format
-msgid "Cannot set permission for '%s'"
-msgstr "Nie można stworzyć pliku '%s'."
+#: ihtml/themes/default/userFilterEditor.tpl:8
+#, fuzzy
+msgid "Filter properties"
+msgstr "Edytuj ogólne właściwości"
 
-#: include/class_CopyPasteHandler.inc:159
-#, php-format
-msgid "'%s' is no vaild LDAP object"
-msgstr ""
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+msgid "Public visible"
+msgstr "Publicznie widoczne"
 
-#: include/class_CopyPasteHandler.inc:176
-#, fuzzy, php-format
-msgid "No write permission in '%s'"
-msgstr "Nie można stworzyć pliku '%s'."
+#: ihtml/themes/default/userFilterEditor.tpl:45
+msgid "Enabled"
+msgstr "Włączone"
 
-#: include/class_CopyPasteHandler.inc:396
-#, php-format
-msgid "These objects will be pasted: %s"
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:420
-#, php-format
-msgid "This object will be pasted: %s"
-msgstr ""
+#: ihtml/themes/default/userFilterEditor.tpl:69
+msgid "Query"
+msgstr "Kwerenda"
 
-#: include/class_CopyPasteHandler.inc:572
-msgid "Cannot paste"
-msgstr "Nie można wkleić"
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+#, fuzzy
+msgid "Assigned ACL for current entry"
+msgstr "Przypisane ACL'e dla obecnego wpisu"
 
-#: include/class_msg_dialog.inc:124
-msgid "Please fix the above error and reload the page."
-msgstr ""
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
+msgid "New ACL"
+msgstr "Nowy ACL"
 
-#: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:966
-#: plugins/admin/groups/class_group.inc:1174
-#: plugins/admin/users/class_userManagement.inc:870
-#: plugins/admin/departments/class_department.inc:656
-#: plugins/personal/generic/class_user.inc:37
-#: plugins/personal/generic/class_user.inc:1668
-#: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
-msgid "Generic"
-msgstr "Ogólne"
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
+msgid "ACL type"
+msgstr "typ ACL"
 
-#: plugins/generic/references/class_reference.inc:43
-#: plugins/personal/posix/class_posixAccount.inc:37
-msgid "UNIX"
-msgstr "UNIX"
-
-#: plugins/generic/references/class_reference.inc:45
-#: plugins/admin/ogroups/tabs_ogroups.inc:148
-#: plugins/admin/groups/class_groupManagement.inc:164
-#: plugins/admin/users/class_userManagement.inc:877
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
-msgid "Mail"
-msgstr "Poczta"
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "Select an ACL type"
+msgstr "Wybierz typ ACL"
 
-#: plugins/generic/references/class_reference.inc:47
-#: plugins/generic/references/class_reference.inc:49
-#: plugins/admin/groups/class_groupManagement.inc:172
-#: plugins/admin/users/class_userManagement.inc:882
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:78
-msgid "Samba"
-msgstr "Samba"
+#: ihtml/themes/default/acl.tpl:40
+#, fuzzy
+msgid "Additional filter options"
+msgstr "Ustawienia Aplikacji"
 
-#: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:894
-msgid "FAX"
-msgstr "FAX"
+#: ihtml/themes/default/acl.tpl:54
+#, fuzzy
+msgid "Member selection"
+msgstr "Ustawienia grupy"
 
-#: plugins/generic/references/class_reference.inc:53
-msgid "Proxy"
-msgstr "Proxy"
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
+msgstr "Użyj członków z"
 
-#: plugins/generic/references/class_reference.inc:55
-msgid "FTP"
-msgstr "FTP"
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+msgid "List message possible targets"
+msgstr "Wyświetl możliwe cele wiadomości"
 
-#: plugins/generic/references/class_reference.inc:57
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
-#: plugins/admin/ogroups/class_ogroupManagement.inc:184
-#: plugins/admin/ogroups/ogroup-list.xml:79
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
-#: plugins/admin/groups/group-list.xml:15
-#: plugins/admin/groups/group-list.xml:96
-#: plugins/personal/posix/groupSelect/group-list.xml:15
-msgid "Group"
-msgstr "Grupa"
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
+msgstr "Wyświetl odbiorców wiadomości"
 
-#: plugins/generic/references/class_reference.inc:59
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
-#: plugins/admin/ogroups/class_ogroupManagement.inc:186
-#: plugins/admin/departments/dep-list.xml:55
-#: plugins/admin/departments/dep-list.xml:71
-#: plugins/admin/departments/dep-list.xml:138
-#: plugins/admin/departments/class_departmentManagement.inc:249
-#: plugins/personal/generic/class_user.inc:1695
-#: plugins/personal/generic/generic.tpl:307
-msgid "Department"
-msgstr "Departament"
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+msgid "List of available ACL categories"
+msgstr "Lista dostępnych kategorii ACL"
 
-#: plugins/generic/references/class_reference.inc:61
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
-#: plugins/admin/ogroups/class_ogroupManagement.inc:188
-#: plugins/admin/groups/class_groupManagement.inc:180
-#: plugins/admin/users/class_userManagement.inc:898
-#: plugins/admin/departments/generic.tpl:106
-#: plugins/admin/departments/class_department.inc:370
-#: plugins/admin/departments/organization.tpl:105
-#: plugins/personal/generic/class_user.inc:1356
-#: plugins/personal/generic/class_user.inc:1819
-#: plugins/personal/generic/generic.tpl:398
-#: plugins/personal/generic/generic.tpl:579
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:86
-msgid "Phone"
-msgstr "Telefon"
+#: ihtml/themes/default/acl.tpl:120
+#, fuzzy
+msgid "ACL for this object"
+msgstr "ACLe dla tego obiektu"
 
-#: plugins/generic/references/class_reference.inc:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:185
-msgid "Application"
-msgstr "Aplikacja"
+#: ihtml/themes/default/acl.tpl:126
+#, fuzzy
+msgid "Available roles"
+msgstr "Dostępni członkowie"
 
-#: plugins/generic/references/class_reference.inc:65
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
-#: plugins/admin/ogroups/class_ogroupManagement.inc:187
-#: plugins/personal/posix/trustSelect/trust-list.xml:14
-#: setup/setup_config2.tpl:219 setup/setup_config2.tpl:264
-msgid "Server"
-msgstr "Serwer"
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+msgid "Attention"
+msgstr "Uwaga"
+
+#: ihtml/themes/default/removeEntries.tpl:14
+#, fuzzy
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
+msgstr ""
+"Jeśli jesteś pewien - naciśnij 'Usuń' aby kontynuować lub 'Anuluj' aby "
+"anulować."
 
-#: plugins/generic/references/class_reference.inc:67
-msgid "Thin Client"
-msgstr "Cienki klient"
+#: ihtml/themes/default/userFilter.tpl:1
+#, fuzzy
+msgid "List of defined filters"
+msgstr "Zapisz plik konfiguracyjny"
 
-#: plugins/generic/references/class_reference.inc:69
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
-#: plugins/admin/ogroups/class_ogroupManagement.inc:189
-#: plugins/personal/posix/trustSelect/trust-list.xml:22
-msgid "Workstation"
-msgstr "Stacja robocza"
+#: ihtml/themes/default/snapshotdialog.tpl:3
+msgid "Restoring object snapshots"
+msgstr "Odtwarzanie obiektu snapshotów"
 
-#: plugins/generic/references/class_reference.inc:71
-#: plugins/admin/ogroups/ogroup-list.xml:15
-msgid "Object group"
-msgstr "Grupa obiektu"
+#: ihtml/themes/default/snapshotdialog.tpl:6
+msgid ""
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
+msgstr ""
+"Ta procedura przywróci snapshot wybranego obiektu. Obecny obiekt zostanie "
+"zamieniony po naciśnięciu przycisku przywróć."
 
-#: plugins/generic/references/class_reference.inc:73
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
-#: plugins/admin/ogroups/class_ogroupManagement.inc:192
-msgid "Printer"
-msgstr "Drukarka"
+#: ihtml/themes/default/snapshotdialog.tpl:9
+msgid ""
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
+msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Object name"
-msgstr "Nazwa obiektu"
+#: ihtml/themes/default/snapshotdialog.tpl:12
+msgid ""
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
+msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Contents"
-msgstr "Zawartość"
+#: ihtml/themes/default/snapshotdialog.tpl:29
+#, fuzzy
+msgid "There is no snapshot available that can be restored"
+msgstr "Brak snapshot'u który mógłby zostać odtworzony"
 
-#: plugins/generic/references/contents.tpl:18
-msgid "This object has no relationship to other objects."
-msgstr "Ten obiekt nie posiada powiązań z innymi obiektami."
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+msgstr "Wybierz snapshot i klinij w obrazek folderu, aby odtwodzyć snapshot."
 
-#: plugins/generic/welcome/main.inc:26
-#, php-format
-msgid "Welcome %s!"
-msgstr "Witaj %s!"
+#: ihtml/themes/default/snapshotdialog.tpl:50
+msgid "Creating object snapshots"
+msgstr "Tworzenie obiektu snapshoty"
 
-#: plugins/generic/welcome/welcome.tpl:4
+#: ihtml/themes/default/snapshotdialog.tpl:53
 msgid ""
-"This is the GOsa main menu. You can select your tasks from the menu on the "
-"left, or by choosing one of the pictograms below. All changes apply directly "
-"to your companies LDAP server."
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
 msgstr ""
-"To jest główny ekran GOsa. Można wybrać zadania z menu po lewej stronie, lub "
-"wybierając jeden z piktogramów poniżej. Wszelkie zmiany wchodzą bezpośrednio "
-"do serwera LDAP."
+"Ta procedura utworzy snapshot wybranego obiektu. Kopia obiektu zostanie "
+"zachowana w specjalnej gałęzi i będzie mogła zostać przywrócona później."
 
-#: plugins/generic/welcome/welcome.tpl:8
+#: ihtml/themes/default/snapshotdialog.tpl:56
 msgid ""
-"Use 'Sign out' on the upper left to close the connection and 'Main' to get "
-"back to the pictogram view."
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
 msgstr ""
-"Użyj 'Wyloguj' na górze ekranu aby zamknąć połączenie oraz 'Główne' aby "
-"wrócić do głównego ekranu z widokiem piktogramów."
-
-#: plugins/generic/welcome/welcome.tpl:15
-msgid "The GOsa team"
-msgstr "Zespół GOsa"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
-#: plugins/admin/groups/userSelect/user-list.xml:10
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
-#: plugins/personal/posix/trustSelect/trust-list.xml:10
-#: plugins/personal/posix/groupSelect/group-list.xml:11
+#: ihtml/themes/default/snapshotdialog.tpl:71
 #, fuzzy
-msgid "Please select the desired entries"
-msgstr "Preferowany język"
+msgid "Time stamp"
+msgstr "Czas"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
-#: plugins/admin/ogroups/class_ogroupManagement.inc:191
-#: plugins/personal/posix/trustSelect/trust-list.xml:30
-msgid "Terminal"
-msgstr "Terminal"
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
+msgstr "Przyczyna utworzenia tego snapshot'u"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:183
-#: plugins/admin/groups/userSelect/user-list.xml:14
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
-#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
-#: setup/setup_config2.tpl:228 setup/setup_config2.tpl:273
-msgid "User"
-msgstr "Użytkownik"
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
+msgstr "Kontynuuj"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:29
-#: plugins/admin/ogroups/class_ogroup.inc:768
-#: plugins/admin/ogroups/class_ogroup.inc:783
-#: plugins/admin/ogroups/class_ogroup.inc:787
-#: plugins/admin/ogroups/class_ogroup.inc:975
-#: plugins/admin/ogroups/ogroup-filter.tpl:29
-#: plugins/admin/ogroups/ogroup-list.xml:41
-#: plugins/admin/groups/userSelect/user-filter.tpl:17
-#: plugins/admin/groups/group-filter.tpl:21
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:17
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:21
-#: plugins/admin/groups/group-list.xml:58
-#: plugins/admin/groups/class_group.inc:1045
-#: plugins/admin/groups/class_group.inc:1056
-#: plugins/admin/groups/class_group.inc:1058
-#: plugins/admin/groups/class_group.inc:1075
-#: plugins/admin/groups/class_group.inc:1089
-#: plugins/admin/groups/class_group.inc:1096
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:538
-#: plugins/admin/users/class_userManagement.inc:585
-#: plugins/admin/users/user-filter.tpl:24
-#: plugins/admin/departments/class_domain.inc:47
-#: plugins/admin/departments/class_domain.inc:49
-#: plugins/admin/departments/class_domain.inc:54
-#: plugins/admin/departments/class_domain.inc:56
-#: plugins/admin/departments/class_domain.inc:58
-#: plugins/admin/departments/class_domain.inc:90
-#: plugins/admin/departments/dep-filter.tpl:13
-#: plugins/admin/departments/class_localityGeneric.inc:48
-#: plugins/admin/departments/class_localityGeneric.inc:50
-#: plugins/admin/departments/class_localityGeneric.inc:55
-#: plugins/admin/departments/class_localityGeneric.inc:57
-#: plugins/admin/departments/class_localityGeneric.inc:59
-#: plugins/admin/departments/class_organizationGeneric.inc:79
-#: plugins/admin/departments/class_organizationGeneric.inc:81
-#: plugins/admin/departments/class_organizationGeneric.inc:86
-#: plugins/admin/departments/class_organizationGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:90
-#: plugins/admin/departments/class_countryGeneric.inc:47
-#: plugins/admin/departments/class_countryGeneric.inc:49
-#: plugins/admin/departments/class_countryGeneric.inc:54
-#: plugins/admin/departments/class_countryGeneric.inc:56
-#: plugins/admin/departments/class_countryGeneric.inc:58
-#: plugins/admin/departments/class_dcObject.inc:47
-#: plugins/admin/departments/class_dcObject.inc:49
-#: plugins/admin/departments/class_dcObject.inc:54
-#: plugins/admin/departments/class_dcObject.inc:56
-#: plugins/admin/departments/class_dcObject.inc:58
-#: plugins/admin/departments/class_dcObject.inc:90
-#: plugins/admin/departments/class_department.inc:349
-#: plugins/admin/departments/class_department.inc:351
-#: plugins/admin/departments/class_department.inc:356
-#: plugins/admin/departments/class_department.inc:363
-#: plugins/admin/departments/class_department.inc:367
-#: plugins/admin/acl/class_aclRole.inc:733
-#: plugins/admin/acl/class_aclRole.inc:745
-#: plugins/admin/acl/class_aclRole.inc:755 plugins/admin/acl/acl-list.xml:49
-#: plugins/admin/acl/paste_role.tpl:4 plugins/admin/acl/acl-filter.tpl:21
-#: plugins/admin/acl/acl_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1336
-#: plugins/personal/generic/class_user.inc:1378
-#: plugins/personal/generic/class_user.inc:1834
-#: plugins/personal/posix/trustSelect/trust-list.xml:56
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:23
-#: plugins/personal/posix/groupSelect/group-filter.tpl:21
-#: plugins/personal/posix/groupSelect/group-list.xml:41
-#: setup/setup_migrate.tpl:283 setup/setup_feedback.tpl:31
-msgid "Name"
-msgstr "Imię"
+#: ihtml/themes/default/password.tpl:5
+msgid "Change your password"
+msgstr "Zmień swoje hasło"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
-#: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:976
-#: plugins/admin/ogroups/generic.tpl:26
-#: plugins/admin/groups/userSelect/user-list.tpl:13
-#: plugins/admin/groups/generic.tpl:39
-#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:13
-#: plugins/admin/groups/group-list.tpl:13
-#: plugins/admin/groups/class_group.inc:1185
-#: plugins/admin/users/user-list.tpl:13
-#: plugins/admin/departments/locality.tpl:28
-#: plugins/admin/departments/generic.tpl:39
-#: plugins/admin/departments/class_domain.inc:92
-#: plugins/admin/departments/class_localityGeneric.inc:94
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/admin/departments/class_countryGeneric.inc:94
-#: plugins/admin/departments/class_dcObject.inc:93
-#: plugins/admin/departments/domain.tpl:28
-#: plugins/admin/departments/country.tpl:28
-#: plugins/admin/departments/dcObject.tpl:28
-#: plugins/admin/departments/class_department.inc:668
-#: plugins/admin/departments/dep-list.tpl:13
-#: plugins/admin/departments/organization.tpl:39
-#: plugins/admin/acl/acl-list.tpl:13 plugins/admin/acl/class_aclRole.inc:734
-#: plugins/admin/acl/acl_role.tpl:27
-#: plugins/personal/generic/class_user.inc:1688
-#: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/posix/trustSelect/trust-list.tpl:13
-#: plugins/personal/posix/groupSelect/group-list.tpl:13
-#: setup/setup_ldap.tpl:55
-msgid "Base"
-msgstr "Kontener"
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
+msgstr "Twoje hasło zostało pomyślnie zmienione."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:3
-#: plugins/admin/ogroups/ogroup-filter.tpl:3
-#: plugins/admin/groups/userSelect/user-filter.tpl:3
-#: plugins/admin/groups/group-filter.tpl:3
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:3
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:3
-#: plugins/admin/users/user-filter.tpl:3
-#: plugins/admin/departments/dep-filter.tpl:3
-#: plugins/admin/acl/acl-filter.tpl:3
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:3
-#: plugins/personal/posix/groupSelect/group-filter.tpl:3
-#, fuzzy
-msgid "Filter"
-msgstr "Filtry"
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
+msgid "Password change"
+msgstr "Zmiana hasła"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:11
-#, fuzzy
-msgid "Show department"
-msgstr "Pokaż departamenty"
+#: ihtml/themes/default/password.tpl:72
+msgid ""
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:12
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:11
-#, fuzzy
-msgid "Show users"
-msgstr "Pokaż serwery"
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
+msgstr "Zmień hasło"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:12
-#, fuzzy
-msgid "Show groups"
-msgstr "Pokaż grupy samba"
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
+msgstr "Katalog"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:15
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
 #, fuzzy
-msgid "Show server"
-msgstr "Pokaż serwery"
+msgid "User name"
+msgstr "Nazwa użytkownika"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:16
-#, fuzzy
-msgid "Show workstation"
-msgstr "Pokaż stacje robocze"
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
+msgstr "Obecne hasło"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:17
-#, fuzzy
-msgid "Show terminal"
-msgstr "Pokaż terminale"
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
+msgstr "Nowe hasło"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:19
-#, fuzzy
-msgid "Show printer"
-msgstr "Pokaż drukarki"
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
+msgstr "Powtórz nowe hasło"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:20
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
 #, fuzzy
-msgid "Show phone"
-msgstr "Pokaż pakiety"
+msgid "Password strength"
+msgstr "Przechowywanie hasła"
 
-#: plugins/admin/ogroups/remove.tpl:6
-msgid ""
-"Please double check if you really want to do this since there is no way for "
-"GOsa to get your data back."
-msgstr "Proszę upewnić się czy kontynuować, gdyż nie ma możliwości powrotu."
+#: ihtml/themes/default/password.tpl:131
+msgid "Click here to change your password"
+msgstr "Kliknij tutaj aby zmienić swoje hasło"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:972
-msgid "Object groups"
-msgstr "Grupy obiektów"
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
+msgstr "Ustaw hasło"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:26
-#, fuzzy
-msgid "Manage object groups"
-msgstr "Nazwa grupy obiektów"
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
+msgstr "Wykryto konflikt blokady"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:115
-#: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:204
+#: ihtml/themes/default/islocked.tpl:14
 #, fuzzy
-msgid "Infrastructure error"
-msgstr "błąd PHP:"
+msgid ""
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
+msgstr ""
+"Jeśli to wykrycie blokady jest błędne, inna osoba prawdopodobnie zamknęła "
+"okno przeglądarki podczas operacji edycji. Można przejąć blokadę naciskając "
+"Edytuj."
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:182
-msgid "Templates"
-msgstr "Szablony"
+#: ihtml/themes/default/islocked.tpl:23
+msgid "Read only"
+msgstr "Tylko do odczytu"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:190
-#, fuzzy
-msgid "Windows Install"
-msgstr "Stacja robocza Windows"
+#: ihtml/themes/default/copyPasteDialog.tpl:1
+msgid "Copy & paste wizard"
+msgstr "Kreator Copy & paste"
 
-#: plugins/admin/ogroups/class_ogroup.inc:238
-msgid "You cannot combine terminals and workstations in one object group!"
+#: ihtml/themes/default/copyPasteDialog.tpl:7
+#, fuzzy
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
 msgstr ""
+"Niektóre wartości muszą być unikalne w całym katalogu, podczas gdy niektóre "
+"kombinacje nie mają sensu. GOsa pokazuje dotyczące atrybuty. Proszę poprawić "
+"wartości poniżej aby utrzymać zgodność z regułami."
 
-#: plugins/admin/ogroups/class_ogroup.inc:354
-#: plugins/admin/users/class_userManagement.inc:463
-#: plugins/admin/users/class_userManagement.inc:497
-#: plugins/admin/users/class_userManagement.inc:528
-msgid "none"
-msgstr "żaden"
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
+msgstr ""
+"Pamiętaj, że niektóre właściwości jak snapshoty nie zostaną skopiowane!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:356
-msgid "too many different objects!"
-msgstr "za dużo różnych obiektów!"
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:358
-msgid "users"
-msgstr "użytkownicy"
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+msgid "Cancel all"
+msgstr "Anuluj wszystko"
 
-#: plugins/admin/ogroups/class_ogroup.inc:359
-msgid "groups"
-msgstr "grupy"
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+msgid "Operation complete"
+msgstr "Operacja zakończona"
 
-#: plugins/admin/ogroups/class_ogroup.inc:360
-msgid "applications"
-msgstr "aplikacje"
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
+msgstr "Zakończ"
 
-#: plugins/admin/ogroups/class_ogroup.inc:361
-msgid "departments"
-msgstr "departamenty"
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
+msgstr "Twoja sesja w GOsa wygasła!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:362
-msgid "servers"
-msgstr "serwery"
+#: ihtml/themes/default/logout.tpl:9
+#, fuzzy
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
+msgstr ""
+"Ostatnia interakcja z interfejsem GOsa była już jakiś czas temu. Z powodów "
+"bezpieczeństwa sesja została zamknięta. Aby kontynuować proszę zalogować się "
+"ponownie."
 
-#: plugins/admin/ogroups/class_ogroup.inc:363
-msgid "workstations"
-msgstr "stacje robocze"
+#: ihtml/themes/default/logout.tpl:16
+#, fuzzy
+msgid "Login again"
+msgstr "Zaloguj się ponownie"
 
-#: plugins/admin/ogroups/class_ogroup.inc:364
-msgid "winstations"
-msgstr "Stacje Windows"
+#: ihtml/themes/default/login.tpl:31
+#, fuzzy
+msgid "Login to GOsa"
+msgstr "Witaj w GOsa"
 
-#: plugins/admin/ogroups/class_ogroup.inc:365
-msgid "terminals"
-msgstr "terminale"
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
+msgstr "Hasło"
 
-#: plugins/admin/ogroups/class_ogroup.inc:366
-msgid "phones"
-msgstr "telefony"
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:367
-msgid "printers"
-msgstr "drukarki"
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
+msgstr "Kliknij tutaj aby się zalogować"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-#: setup/setup_config2.tpl:143
-msgid "disabled"
-msgstr "wyłączone"
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+#, fuzzy
+msgid "Log in"
+msgstr "Login"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-msgid "full access"
-msgstr "pełen dostęp"
+#: ihtml/themes/default/sizelimit.tpl:3
+msgid ""
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
+msgstr ""
+"Limit rozmiaru powoduje szybsze operacje LDAP i zapobiega nadmiernemu "
+"obciążeniu serwera LDAP. Najprostrzym sposobem działania na dużych bazach "
+"bez opóźnień jest ograniczanie wyszukiwań do mniejszej ilości wyników oraz "
+"użycie filtrów dla otrzymania poszukiwanych elementów."
 
-#: plugins/admin/ogroups/class_ogroup.inc:413
-#: plugins/admin/groups/class_group.inc:434
-#: plugins/personal/posix/class_posixAccount.inc:574
-msgid "allow access to these hosts"
-msgstr "zezwól na dostęp do tych hostów"
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
+msgstr "Proszę wybrać sposób reakcji dla tej sesji"
 
-#: plugins/admin/ogroups/class_ogroup.inc:601
-msgid "Non existing dn:"
-msgstr "Nieistniejące dn:"
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
+msgstr "Ignoruj ten błąd i pokaż wszystkie elementy które zwraca serwer LDAP"
 
-#: plugins/admin/ogroups/class_ogroup.inc:758
-#, php-format
+#: ihtml/themes/default/sizelimit.tpl:11
+#, fuzzy
 msgid ""
-"These systems are already configured by other object groups and cannot be "
-"added:"
+"ignore this error and show all entries that fit into the defined size limit"
 msgstr ""
+"ignoruj ten błąd i pokaż wszystkie elementy które zmieszczą się w "
+"zdefiniowanych limicie rozmiaru i pozwól mi użyć filtrów"
 
-#: plugins/admin/ogroups/class_ogroup.inc:792
+#: ihtml/themes/default/infoPage.tpl:4
 #, fuzzy
-msgid "You can combine two different object types at maximum, only!"
-msgstr "Można połączyć maksymalnie tylko 2 różne typy obiektów!"
+msgid "User information"
+msgstr "pokaż informacje"
 
-#: plugins/admin/ogroups/class_ogroup.inc:967
-msgid "Object group generic"
-msgstr "Podstawowa grupa obiektu"
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
+msgstr "Identyfikator użytkownika"
 
-#: plugins/admin/ogroups/class_ogroup.inc:978
-#, fuzzy
-msgid "Sytem trust"
-msgstr "Zaufanie systemowe"
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+msgid "Surname"
+msgstr "Nazwisko"
 
-#: plugins/admin/ogroups/class_ogroup.inc:979
-msgid "Member"
-msgstr "Członek"
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+msgid "Given name"
+msgstr "Imię"
 
-#: plugins/admin/ogroups/generic.tpl:7
-#: plugins/admin/ogroups/paste_generic.tpl:4
-#: plugins/admin/groups/generic.tpl:11
-#: plugins/admin/groups/paste_generic.tpl:5
-msgid "Group name"
-msgstr "Nazwa grupy"
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
+msgstr "Osobisty tytuł"
 
-#: plugins/admin/ogroups/generic.tpl:10
-msgid "Name of the group"
-msgstr "Nazwa grupy"
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
+msgstr "Tytuł naukowy"
 
-#: plugins/admin/ogroups/generic.tpl:18 plugins/admin/groups/generic.tpl:28
-msgid "Descriptive text for this group"
-msgstr "Tekst opisowy dla tej grupy"
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
+msgstr "Adres domowy"
 
-#: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1191
-#: plugins/personal/posix/generic.tpl:139
-msgid "System trust"
-msgstr "Zaufanie systemowe"
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
+msgstr "Data urodzenia"
 
-#: plugins/admin/ogroups/generic.tpl:37 plugins/admin/groups/generic.tpl:160
-#: plugins/admin/groups/generic.tpl:194 plugins/personal/posix/generic.tpl:141
-#: plugins/personal/posix/generic.tpl:169
-msgid "Trust mode"
-msgstr "Tryb zaufania"
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
+msgstr "Poczta"
 
-#: plugins/admin/ogroups/generic.tpl:65
-msgid "Member objects"
-msgstr "Dodaj członka"
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
+msgid "Home phone number"
+msgstr "Numer telefonu domowego"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:133
-msgid "Phone queue"
-msgstr "Kolejka telefoniczna"
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
+msgstr "Organizacja"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:160
-msgid "Systems"
-msgstr "Systemy"
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
+msgid "Organizational Unit"
+msgstr "Jednostka organizacyjna"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:171
-#: plugins/admin/ogroups/tabs_ogroups.inc:194
-msgid "Startup"
-msgstr "Startup"
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
+msgstr "Lokalizacja"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:182
-#: plugins/admin/ogroups/tabs_ogroups.inc:203
-msgid "Devices"
-msgstr "Urządzenia"
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
+msgstr "Ulica"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:213
-msgid "FAI summary"
-msgstr "Podsumowanie FAI"
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
+msgid "Department number"
+msgstr "Numer departamentu"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:222
-#: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:890
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
-msgid "Environment"
-msgstr "Środowisko"
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
+msgid "Employee number"
+msgstr "Numer pracownika"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:241
-msgid "Applications"
-msgstr "Aplikacje"
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
+msgstr "Typ pracownika"
 
-#: plugins/admin/ogroups/paste_generic.tpl:7
-#, fuzzy
-msgid "Please enter the new object group name"
-msgstr "Proszę podać nową nazwę."
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+msgid "User settings"
+msgstr "Ustawienia użytkownika"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:11
+#: ihtml/themes/default/infoPage.tpl:55
 #, fuzzy
-msgid "user groups"
-msgstr "grupy"
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
+msgstr ""
+"Nie można pobrać informacji o blokadach w bazie LDAP. Proszę sprawdzić wpis "
+"'config' w gosa.conf!"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:12
+#: ihtml/themes/default/infoPage.tpl:61
 #, fuzzy
-msgid "nested groups"
-msgstr "Grupy obiektów"
+msgid "Administrative contact"
+msgstr "Ustawienia administracyjne"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:13
-#, fuzzy
-msgid "application groups"
-msgstr "Pokaż grupy aplikacji"
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
+msgstr "Zespół GOsa"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:14
-#, fuzzy
-msgid "department groups"
-msgstr "departamenty"
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
+msgstr "Tytuł komunikatu błędu"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:15
-#, fuzzy
-msgid "server groups"
-msgstr "serwery"
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
+msgid "Error message"
+msgstr "Komunikat błędu"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:16
-#, fuzzy
-msgid "workstation groups"
-msgstr "stacje robocze"
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:17
+#: ihtml/themes/default/framework.tpl:9
 #, fuzzy
-msgid "windows workstation groups"
-msgstr "Pokaż stacje robocze"
+msgid "Log out"
+msgstr "Wyloguj"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:18
-#, fuzzy
-msgid "terminal groups"
-msgstr "Pokaż grupy pocztowe"
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
+msgstr "Obecnie edytujesz bazę danych. Czy chcesz porzucić zmiany?"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:19
-#, fuzzy
-msgid "printer groups"
-msgstr "Grupa podstawowa"
+#: ihtml/themes/default/framework.tpl:22
+#, fuzzy, php-format
+msgid "Session expires in %d!"
+msgstr "Sesja nie jest szyfrowana!"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:20
-#, fuzzy
-msgid "phone groups"
-msgstr "Pokaż grupy"
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
+msgstr "Podgląd pomocy GOsa"
 
-#: plugins/admin/ogroups/ogroup-list.xml:11
-msgid "List of object groups"
-msgstr "Lista grupy obiektów"
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
+msgstr "Indeks"
 
-#: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:74 plugins/admin/users/user-list.xml:73
-#: plugins/admin/departments/locality.tpl:8
-#: plugins/admin/departments/generic.tpl:7
-#: plugins/admin/departments/domain.tpl:8
-#: plugins/admin/departments/country.tpl:8
-#: plugins/admin/departments/dcObject.tpl:8
-#: plugins/admin/departments/organization.tpl:7
-msgid "Properties"
-msgstr "Właściwości"
+#: ihtml/themes/default/logout-close.tpl:5
+#, fuzzy
+msgid "Your GOsa session has been closed!"
+msgstr "Twoja sesja w GOsa wygasła!"
 
-#: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:90 plugins/admin/users/user-list.xml:89
-#: plugins/admin/departments/dep-list.xml:98 plugins/admin/acl/acl-list.xml:76
-#: setup/class_setupStep_Migrate.inc:1036
-#: setup/class_setupStep_Migrate.inc:1052
-msgid "Create"
-msgstr "Utwórz"
+#: ihtml/themes/default/logout-close.tpl:7
+msgid ""
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-list.xml:115
-#: plugins/admin/users/user-list.xml:121
-#: plugins/admin/departments/dep-list.xml:160
-#: plugins/admin/departments/dep-list.xml:181
-#: plugins/admin/acl/acl-list.xml:95 plugins/admin/acl/acl-list.xml:144
-#: plugins/personal/generic/generic_certs.tpl:21
-#: plugins/personal/generic/generic_certs.tpl:45
-#: plugins/personal/generic/generic_certs.tpl:69
-#: setup/class_setupStep_Migrate.inc:2870
-msgid "Remove"
-msgstr "Usuń"
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+msgid "LDAP inspection"
+msgstr "Inspekcja LDAP"
 
-#: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:123
-#: plugins/admin/users/user-list.xml:156
-msgid "Send message"
-msgstr "Wyślij wiadomość"
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:142
+#: setup/class_setupStep_Migrate.inc:59
 #, fuzzy
-msgid "Edit object group"
-msgstr "Grupa obiektu"
+msgid "Checking for root object"
+msgstr "Sprawdzam wsparcie dla iconv"
 
-#: plugins/admin/ogroups/ogroup-list.xml:155
+#: setup/class_setupStep_Migrate.inc:65
 #, fuzzy
-msgid "Remove object group"
-msgstr "serwery"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:6
-msgid "Select objects to add"
-msgstr "Wybierz obiekty do dodania"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:20
-#: plugins/admin/groups/trust_machines.tpl:19
-#: plugins/personal/posix/posix_groups.tpl:21
-msgid "Filters"
-msgstr "Filtry"
+msgid "Inspecting object classes in root object"
+msgstr "Sprawdzam wsparcie dla iconv"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:36
-msgid "Display objects of department"
-msgstr "Wyświetl obiekty departamentu"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:37
-#: plugins/admin/ogroups/trust_machines.tpl:27
-#: plugins/admin/groups/trust_machines.tpl:26
-#: plugins/personal/posix/posix_groups.tpl:35
-#: plugins/personal/posix/trust_machines.tpl:27
-msgid "Choose the department the search will be based on"
-msgstr "Wybierz departament na którym wyszukiwanie będzie bazować"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:40
-msgid "Display objects matching"
-msgstr "Wyświetl obiekty pasujące"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:41
-msgid "Regular expression for matching object names"
-msgstr "Wyrażenie regularne dla dopasowania nazw obiektów"
-
-#: plugins/admin/ogroups/trust_machines.tpl:6
-#: plugins/admin/groups/trust_machines.tpl:6
-#: plugins/personal/posix/trust_machines.tpl:6
-msgid "Select systems to add"
-msgstr "Wybierz systemy do dodania"
-
-#: plugins/admin/ogroups/trust_machines.tpl:26
-#: plugins/admin/groups/trust_machines.tpl:25
-#: plugins/personal/posix/trust_machines.tpl:26
-msgid "Display systems of department"
-msgstr "Wyświetl systemy departamentu"
-
-#: plugins/admin/ogroups/trust_machines.tpl:30
-#: plugins/admin/groups/trust_machines.tpl:29
-#: plugins/personal/posix/trust_machines.tpl:30
-msgid "Display systems matching"
-msgstr "Wyświetl systemy pasujące"
-
-#: plugins/admin/ogroups/trust_machines.tpl:31
-#: plugins/admin/groups/trust_machines.tpl:30
-#: plugins/personal/posix/trust_machines.tpl:31
-msgid "Regular expression for matching addresses"
-msgstr "Wyrażenie regularne dla dopasowania adresów"
-
-#: plugins/admin/groups/remove.tpl:6
-msgid ""
-"This may be a primary user group. Please double check if you really want to "
-"do this since there is no way for GOsa to get your data back."
-msgstr ""
-"To może być podstawowa grupa użytkownika. Proszę upewnić się czy aby na "
-"pewno kontynuować, gdyż tej operacji nie można cofnąć."
+#: setup/class_setupStep_Migrate.inc:71
+#, fuzzy
+msgid "Checking permission for LDAP database"
+msgstr "Brak uprawnień do usunięcia tego departamentu."
 
-#: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:541
-#: plugins/admin/users/user-list.xml:57
-#: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1375
-#: plugins/personal/generic/class_user.inc:1680
-#: plugins/personal/generic/class_user.inc:1831
-msgid "Given name"
-msgstr "Imię"
+#: setup/class_setupStep_Migrate.inc:78
+#, fuzzy
+msgid "Checking for super administrator"
+msgstr "Sprawedzam dodatkowe programy"
 
-#: plugins/admin/groups/userSelect/user-list.xml:48
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
-#: plugins/admin/users/user-list.xml:49
-#: plugins/personal/generic/class_user.inc:1679
-msgid "Surname"
-msgstr "Nazwisko"
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+msgid "LDAP query failed"
+msgstr "Kwerenda LDAP nieudana"
 
-#: plugins/admin/groups/generic.tpl:14 plugins/personal/generic/generic.tpl:52
-#: plugins/personal/generic/generic.tpl:73
-#: plugins/personal/generic/generic.tpl:89
-msgid "Multiple edit"
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:17
-#: plugins/admin/groups/paste_generic.tpl:8
-msgid "Posix name of the group"
-msgstr "Posixowa nazwa grupy"
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
+msgstr "Niepowodzenie"
 
-#: plugins/admin/groups/generic.tpl:59
-#: plugins/admin/groups/paste_generic.tpl:13
-msgid "Normally IDs are autogenerated, select to specify manually"
-msgstr "Zwyczajowo ID są generowane automatycznie, wybierz aby podać ręcznie"
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
+#, php-format
+msgid ""
+"The specified user '%s' does not have full access to your LDAP database."
+msgstr ""
 
-#: plugins/admin/groups/generic.tpl:62
-#: plugins/admin/groups/paste_generic.tpl:15
-msgid "Force GID"
-msgstr "Wymuś GID"
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
+msgstr ""
 
-#: plugins/admin/groups/generic.tpl:65
-#: plugins/admin/groups/paste_generic.tpl:18
-msgid "Forced ID number"
-msgstr "Wymuś numer ID"
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
+msgstr "Utwórz"
 
-#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
-msgid "Select to create a samba conform group"
-msgstr "Wybierz aby utworzyć grupę samba"
+#: setup/class_setupStep_Migrate.inc:377
+msgid "Migration error"
+msgstr "Błąd migracji"
 
-#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
-msgid "in domain"
-msgstr "w domenie"
+#: setup/class_setupStep_Migrate.inc:377
+#, php-format
+msgid "Cannot add ACL for user '%s':"
+msgstr ""
 
-#: plugins/admin/groups/generic.tpl:131
-msgid "Members are in a phone pickup group"
-msgstr "Członkowie są w grupie odbioru telefonu"
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
+msgid "Input error"
+msgstr "Błąd wejścia"
 
-#: plugins/admin/groups/generic.tpl:146
-msgid "Members are in a nagios group"
-msgstr "Członkowie są w grupie nagios."
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
+msgstr "UID"
 
-#: plugins/admin/groups/generic.tpl:236
-msgid "Group members"
-msgstr "Członkowie grupy"
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Password error"
+msgstr "Błąd hasła"
 
-#: plugins/admin/groups/generic.tpl:243
-msgid "In all groups"
-msgstr "We wszystkich grupach"
+#: setup/class_setupStep_Migrate.inc:420
+#, fuzzy
+msgid "Provided passwords do not match!"
+msgstr "Hasła podane jako nowe i powtórzone nie zgadzają się!"
 
-#: plugins/admin/groups/generic.tpl:246
-msgid "Not in all groups"
-msgstr "Nie we wszystkich grupach"
+#: setup/class_setupStep_Migrate.inc:425
+#, fuzzy
+msgid "Specify a valid user ID!"
+msgstr "Proszę podać prawidłową nazwę użytkownika!"
 
-#: plugins/admin/groups/group-filter.tpl:11
-#: plugins/personal/posix/groupSelect/group-filter.tpl:11
-msgid "Show primary groups"
-msgstr "Pokaż podstawowe grupy"
+#: setup/class_setupStep_Migrate.inc:450
+#, php-format
+msgid "Adding an administrative user failed: object '%s' already exists!"
+msgstr ""
 
-#: plugins/admin/groups/group-filter.tpl:12
-#: plugins/personal/posix/groupSelect/group-filter.tpl:12
-msgid "Show samba groups"
-msgstr "Pokaż grupy samba"
+#: setup/class_setupStep_Migrate.inc:662
+msgid ""
+"The LDAP root object is missing. It is required to use your LDAP service."
+msgstr ""
 
-#: plugins/admin/groups/group-filter.tpl:13
-#: plugins/personal/posix/groupSelect/group-filter.tpl:13
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
 #, fuzzy
-msgid "Show mail groups"
-msgstr "Pokaż grupy samba"
-
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:79
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:85
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr "Wybierz użytkownika"
+msgid "Try to create root object"
+msgstr "Utwórz obiekty"
 
-#: plugins/admin/groups/paste_generic.tpl:1
-msgid "Group settings"
-msgstr "Ustawienia grupy"
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:11
-msgid "List of groups"
-msgstr "Lista grup"
+#: setup/class_setupStep_Migrate.inc:730
+#, fuzzy, php-format
+msgid "Missing GOsa object class '%s'!"
+msgstr "Wyświetl szablony FAI"
 
-#: plugins/admin/groups/group-list.xml:23
+#: setup/class_setupStep_Migrate.inc:731
 #, fuzzy
-msgid "Group submenu entry"
-msgstr "Członek grupy"
-
-#: plugins/admin/groups/group-list.xml:31
-#, fuzzy
-msgid "Group menu entry"
-msgstr "Członek grupy"
+msgid "Please check your installation."
+msgstr "Proszę sprawdzić kombinację login/hasło."
 
-#: plugins/admin/groups/group-list.xml:155
-#, fuzzy
-msgid "Edit group"
-msgstr "Grupa podstawowa"
+#: setup/class_setupStep_Migrate.inc:752
+#, php-format
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:168
-#, fuzzy
-msgid "Remove group"
-msgstr "serwery"
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
+msgid "Migrate"
+msgstr "Migruj"
 
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:1358
+#: setup/setup_checks.tpl:2
+msgid ""
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
+msgstr ""
+
+#: setup/setup_checks.tpl:5
 #, fuzzy
-msgid "Cannot find group SID in your configuration!"
+msgid "Inspection"
+msgstr "Inspekcja LDAP"
+
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
 msgstr ""
-"Nie można znaleźć SID tych grup ani w  LDAP, ani w pliku konfiguracyjnym!"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Samba group"
-msgstr "Grupa Samba"
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain admins"
-msgstr "Administratorzy domeny"
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain users"
-msgstr "Użytkownicy domeny"
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:401
-msgid "Domain guests"
-msgstr "Goście domeny"
+#: setup/setup_checks.tpl:50
+msgid "PHP setup configuration"
+msgstr "Konfiguracja ustawień PHP"
 
-#: plugins/admin/groups/class_group.inc:406
-#, php-format
-msgid "Special group (%d)"
-msgstr "Specjalna grupa (%d)"
+#: setup/setup_checks.tpl:50
+msgid "show information"
+msgstr "pokaż informacje"
 
-#: plugins/admin/groups/class_group.inc:540
-#, php-format
-msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:546
-#, php-format
-msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
-msgstr ""
+#: setup/class_setupStep_Finish.inc:40
+msgid "Write configuration file"
+msgstr "Zapisz plik konfiguracyjny"
 
-#: plugins/admin/groups/class_group.inc:624
+#: setup/class_setupStep_Finish.inc:41
 #, fuzzy
-msgid "! unknown UID"
-msgstr "! nieznane id"
+msgid "Finish - write the configuration file"
+msgstr "Plik konfiguracyjny"
 
-#: plugins/admin/groups/class_group.inc:667
-#, php-format
-msgid "Search returned too many results. Not displaying more than %s entries!"
-msgstr ""
+#: setup/class_setupStep_Finish.inc:106
+#, fuzzy
+msgid ""
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
+msgstr "Nie można czytać pliku konfiguracji %s/gosa.conf. Kończę."
 
-#: plugins/admin/groups/class_group.inc:894
-#, fuzzy, php-format
-msgid "Cannot find any SID for '%s'!"
-msgstr "Nie można stworzyć pliku '%s'."
+#: setup/class_setupStep_Finish.inc:108
+#, fuzzy
+msgid "The configuration is currently not readable or it does not exists."
+msgstr "Nie można czytać pliku konfiguracji %s/gosa.conf. Kończę."
 
-#: plugins/admin/groups/class_group.inc:899
+#: setup/class_setupStep_Finish.inc:117
 #, fuzzy, php-format
-msgid "Cannot find any RIDBASE for '%s'!"
-msgstr "Nie można stworzyć pliku '%s'."
-
-#: plugins/admin/groups/class_group.inc:994
-#, php-format
-msgid "The gidNumber '%s' is already in use by %s!"
+msgid ""
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
 msgstr ""
+"Po umieszczeniu pliku w /etc/gosa upewnij się, że serwer www ma uprawnienia "
+"do jego odczytu, podczas gdy inni użytkownicy nie mają. Aby uzyskać takie "
+"uprawnienia, można wykonać te polecenia:"
 
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1108
-#: plugins/admin/groups/class_group.inc:1187
-#: plugins/personal/posix/class_posixAccount.inc:1045
-#: plugins/personal/posix/class_posixAccount.inc:1048
-#: plugins/personal/posix/generic.tpl:74
-#: plugins/personal/posix/paste_generic.tpl:45
-msgid "GID"
-msgstr "GID"
-
-#: plugins/admin/groups/class_group.inc:1175
-msgid "Generic group settings"
-msgstr "Ogólne ustawienia grupy"
-
-#: plugins/admin/groups/class_group.inc:1189
-msgid "Samba group type"
-msgstr "Typ grupy Samba"
+#: setup/class_setupStep_Ldap.inc:54
+msgid "LDAP setup"
+msgstr "Ustawienia LDAP"
 
-#: plugins/admin/groups/class_group.inc:1190
+#: setup/class_setupStep_Ldap.inc:55
 #, fuzzy
-msgid "Samba domain name"
-msgstr "Katalog domowy Samba"
+msgid "LDAP connection setup"
+msgstr "Połączenie dzwonienia..."
 
-#: plugins/admin/groups/class_group.inc:1192
-msgid "Phone pickup group"
-msgstr "Grupie odbioru telefonu"
+#: setup/class_setupStep_Ldap.inc:56
+#, fuzzy
+msgid ""
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
+msgstr ""
+"Poniższe pola pozwalają na podstawową konfigurację zachowania GOsa i "
+"wpływają na różne właściwości w głównej konfiguracji."
 
-#: plugins/admin/groups/class_group.inc:1193
-msgid "Nagios group"
-msgstr "Grupa nagios"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+msgid "No"
+msgstr "Nie"
 
-#: plugins/admin/groups/class_group.inc:1195
-msgid "Group member"
-msgstr "Członek grupy"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+msgid "Yes"
+msgstr "Tak"
 
-#: plugins/admin/groups/class_groupManagement.inc:26
-msgid "Group administration"
-msgstr "Administracja Grupą"
+#: setup/class_setupStep_Ldap.inc:113
+#, fuzzy, php-format
+msgid "Anonymous bind to server '%s' failed!"
+msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
 
-#: plugins/admin/groups/class_groupManagement.inc:156
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:62
-msgid "Posix"
-msgstr "Posix"
+#: setup/class_setupStep_Ldap.inc:115
+#, fuzzy, php-format
+msgid "Bind as user '%s' failed!"
+msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
 
-#: plugins/admin/groups/class_groupManagement.inc:157
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:63
-#, fuzzy
-msgid "Edit posix properties"
-msgstr "Edytuj właściwości Telefonu"
+#: setup/class_setupStep_Ldap.inc:120
+#, fuzzy, php-format
+msgid "Anonymous bind to server '%s' succeeded."
+msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
 
-#: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:879
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
-msgid "Edit mail properties"
-msgstr "Edytuj właściwości Poczty"
+#: setup/class_setupStep_Ldap.inc:121
+msgid "Please specify user and password!"
+msgstr "Proszę podać użytkownika i hasło!"
 
-#: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:883
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
-msgid "Edit samba properties"
-msgstr "Edytuj właściwości Samba"
+#: setup/class_setupStep_Ldap.inc:123
+#, fuzzy, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
+msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
 
-#: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:899
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
-msgid "Edit phone properties"
-msgstr "Edytuj właściwości Telefonu"
+#: setup/class_setupStep_Feedback.inc:94
+#, fuzzy
+msgid "UNIX accounts/groups"
+msgstr "Konta Unix"
 
-#: plugins/admin/groups/class_groupManagement.inc:188
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:94
+#: setup/class_setupStep_Feedback.inc:96
 #, fuzzy
-msgid "Menu"
-msgstr "Drukarka"
+msgid "Samba management"
+msgstr "Zarządzanie systemem"
 
-#: plugins/admin/groups/class_groupManagement.inc:189
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:95
+#: setup/class_setupStep_Feedback.inc:98
 #, fuzzy
-msgid "Edit start menu properties"
-msgstr "Edytuj właściwości Samba"
+msgid "Mail system management"
+msgstr "Zarządzanie systemem"
 
-#: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:891
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
-msgid "Edit environment properties"
-msgstr "Edytuj właściwości Środowiska"
+#: setup/class_setupStep_Feedback.inc:100
+#, fuzzy
+msgid "FAX system administration"
+msgstr "Administracja użytkownikami"
 
-#: plugins/admin/users/remove.tpl:6 plugins/admin/acl/remove.tpl:6
-msgid ""
-"This includes all account data, system access rules, imap settings, etc. for "
-"this user. Please double check if your really want to do this since there is "
-"no way for GOsa to get your data back."
-msgstr ""
-"Operacja odnosi się do wszystkich danych dotyczących konta, dostępu, "
-"ustawień imap, etc dla tego użytkownika. Proszę upewnić się czy na pewno "
-"kontynuować, gdyż nie ma możliwości powrotu."
+#: setup/class_setupStep_Feedback.inc:102
+#, fuzzy
+msgid "Asterisk administration"
+msgstr "Administracja użytkownikami"
 
-#: plugins/admin/users/password.tpl:4
-msgid ""
-"To change the user password use the fields below. The changes take effect "
-"immediately. Please memorize the new password, because the user wouldn't be "
-"able to login without it."
-msgstr ""
-"Aby zmienić hasło użytkownika, proszę użyć formularza poniżej. Zmiany są "
-"wprowadzane natychmiastowo. Proszę zapamiętać nowe hasło, gdyż bez niego "
-"zalogowanie będzie niemożliwe."
+#: setup/class_setupStep_Feedback.inc:104
+#, fuzzy
+msgid "System inventory"
+msgstr "Usuń inwentarz"
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/generic/password.tpl:8
-#: plugins/personal/password/password.tpl:8
-msgid ""
-"Changing the password affects your authentification on mail, proxy, samba "
-"and unix services."
-msgstr ""
-"Zmiana hasła jest powiązana z autentykacją do usług poczty, proxy, samba, "
-"oraz unix."
+#: setup/class_setupStep_Feedback.inc:106
+#, fuzzy
+msgid "System/Configuration management"
+msgstr "Zarządzanie systemem"
 
-#: plugins/admin/users/password.tpl:21 plugins/admin/users/password.tpl:57
-#: plugins/personal/generic/password.tpl:27
-#: plugins/personal/generic/password.tpl:70
-#: plugins/personal/password/password.tpl:32
-#: plugins/personal/password/password.tpl:75
-msgid "Repeat new password"
-msgstr "Powtórz nowe hasło"
+#: setup/class_setupStep_Feedback.inc:108
+#, fuzzy
+msgid "Address book"
+msgstr "Książka adresowa"
 
-#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
-msgid "Strength"
-msgstr "Siła"
+#: setup/class_setupStep_Feedback.inc:114
+msgid "Feedback"
+msgstr ""
 
-#: plugins/admin/users/password.tpl:35
+#: setup/class_setupStep_Feedback.inc:115
 #, fuzzy
-msgid "Password input dialog"
-msgstr "Minimalna długość hasła"
+msgid "Get notifications or send feedback"
+msgstr "Ograniczenia dla nadawcy"
 
-#: plugins/admin/users/password.tpl:39
-#: plugins/personal/generic/password.tpl:51
-#: plugins/personal/password/password.tpl:56
+#: setup/class_setupStep_Feedback.inc:116
 #, fuzzy
-msgid "Use proposal"
-msgstr "grupy"
+msgid "Notification and feedback"
+msgstr "Powiadomienie wysłane!"
 
-#: plugins/admin/users/password.tpl:43
-#: plugins/personal/generic/password.tpl:55
-#: plugins/personal/password/password.tpl:60 setup/setup_migrate.tpl:470
-#: setup/setup_migrate.tpl:513 setup/setup_migrate.tpl:557
-msgid "Refresh"
-msgstr "Odśwież"
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
+msgid "Setup error"
+msgstr "Błąd ustawień"
 
-#: plugins/admin/users/password.tpl:49
-#: plugins/personal/generic/password.tpl:61
-#: plugins/personal/password/password.tpl:66
-#, fuzzy
-msgid "Manually specify a password"
-msgstr "Proszę podać prawidłowe hasło!"
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Feedback error"
+msgstr ""
 
-#: plugins/admin/users/password.tpl:77
-#, fuzzy
-msgid "Enforce password change on next login."
-msgstr "Wymuś zmianę hasła podczas logowania"
+#: setup/class_setupStep_Feedback.inc:140
+#, php-format
+msgid "Cannot send feedback to '%s': %s"
+msgstr ""
 
-#: plugins/admin/users/password.tpl:84
-#: plugins/personal/generic/password.tpl:88
-#: plugins/personal/password/password.tpl:93
-msgid "Set password"
-msgstr "Ustaw hasło"
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
+msgstr ""
 
-#: plugins/admin/users/template.tpl:2
-msgid "Creating a new user using templates"
-msgstr "Utwórz nowego użytkownika używając szablonów"
+#: setup/class_setupStep_Feedback.inc:181
+#, fuzzy
+msgid "Please specify a valid email address."
+msgstr "Proszę podać prawidłową nazwę skryptu."
 
-#: plugins/admin/users/template.tpl:6
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
-"Creating a new user can be assisted by using templates. Many database "
-"records will be filled automatically. Choose 'none' to skip the usage of "
-"templates."
+"You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
-"Tworzenie nowego użytkownika może być wspomagane przez szablony. Wiele "
-"rekordów bazy będzie automatycznie wypełnionych. Wybierz 'brak' aby pominąć "
-"użycie szablonów."
 
-#: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:535
-#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
-#: plugins/admin/users/templatize.tpl:15
-msgid "Template"
-msgstr "Szablon"
+#: setup/setup_license.tpl:3
+msgid ""
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
+msgstr ""
 
-#: plugins/admin/users/template.tpl:23 plugins/personal/generic/generic.tpl:49
-#: plugins/personal/generic/paste_generic.tpl:7
-msgid "Last name"
-msgstr "Nazwisko"
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
+msgstr "Przeczytałem licencję i ją akceptuję"
 
-#: plugins/admin/users/template.tpl:27 plugins/personal/generic/generic.tpl:69
-#: plugins/personal/generic/paste_generic.tpl:11
-msgid "First name"
-msgstr "Imię"
+#: setup/setup_ldap.tpl:2
+msgid ""
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:26
-msgid "Manage users"
-msgstr "Zarządzaj użytkownikami"
+#: setup/setup_ldap.tpl:9
+msgid "Please choose the LDAP user to be used by GOsa"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:391
-#, fuzzy
-msgid "You have no permission to change this users password!"
-msgstr "Brak uprawnień do zmiany własnego hasła"
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
+msgid "LDAP connection"
+msgstr "Połączenie LDAP"
 
-#: plugins/admin/users/class_userManagement.inc:782
-msgid "Account locking"
-msgstr "Blokowanie konta"
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
+msgstr "Nazwa lokalizacji"
 
-#: plugins/admin/users/class_userManagement.inc:783
-#, php-format
-msgid ""
-"Password method '%s' does not support locking. Account (%s) has not been "
-"locked!"
-msgstr ""
+#: setup/setup_ldap.tpl:35
+msgid "Connection URI"
+msgstr "Połączeniowe URI"
 
-#: plugins/admin/users/class_userManagement.inc:856
-msgid "Unlock account"
-msgstr "Odblokuj konto"
+#: setup/setup_ldap.tpl:39
+msgid "TLS connection"
+msgstr "Połączenie TLS"
 
-#: plugins/admin/users/class_userManagement.inc:858
-msgid "Lock account"
-msgstr "Zablokuj konto"
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
+#: plugins/admin/ogroups/generic.tpl:26
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
+#: plugins/admin/departments/class_domain.inc:92
+#: plugins/admin/departments/class_organizationGeneric.inc:125
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
+#: plugins/admin/departments/class_dcObject.inc:93
+#: plugins/admin/departments/domain.tpl:28
+#: plugins/admin/users/user-list.tpl:12
+msgid "Base"
+msgstr "Kontener"
 
-#: plugins/admin/users/class_userManagement.inc:871
-msgid "Edit generic properties"
-msgstr "Edytuj ogólne właściwości"
+#: setup/setup_ldap.tpl:57
+msgid "Reload"
+msgstr "Przeładuj"
 
-#: plugins/admin/users/class_userManagement.inc:874
-#: plugins/personal/posix/class_posixAccount.inc:304
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/class_posixAccount.inc:326
-#: plugins/personal/posix/class_posixAccount.inc:329
-msgid "POSIX"
-msgstr "POSIX"
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+msgid "Authentication"
+msgstr "Autentykacja"
 
-#: plugins/admin/users/class_userManagement.inc:875
+#: setup/setup_ldap.tpl:66
 #, fuzzy
-msgid "Edit POSIX properties"
-msgstr "Edytuj właściwości UNIX"
+msgid "Administrator DN"
+msgstr "Administracja"
 
-#: plugins/admin/users/class_userManagement.inc:886
-msgid "Netatalk"
-msgstr "Netatalk"
+#: setup/setup_ldap.tpl:71
+msgid "Select user"
+msgstr "Wybierz użytkownika"
 
-#: plugins/admin/users/class_userManagement.inc:887
-msgid "Edit netatalk properties"
-msgstr "Edytuj właściwości Netatalk"
+#: setup/setup_ldap.tpl:81
+msgid "Automatically append LDAP base to administrator DN"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:895
+#: setup/setup_ldap.tpl:85
 #, fuzzy
-msgid "Edit FAX properties"
-msgstr "Edytuj właściwości UNIX"
-
-#: plugins/admin/users/user-list.xml:11
-msgid "List of users"
-msgstr "Lista użytkowników"
+msgid "Administrator password"
+msgstr "Hasło Administratora"
 
-#: plugins/admin/users/user-list.xml:140
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
 #, fuzzy
-msgid "Lock users"
-msgstr "Lista użytkowników"
+msgid "Schema based settings"
+msgstr "Ustawienia Samba"
 
-#: plugins/admin/users/user-list.xml:148
-#, fuzzy
-msgid "Unlock users"
-msgstr "Użytkownicy domeny"
+#: setup/setup_ldap.tpl:94
+msgid "Use RFC 2307bis compliant groups"
+msgstr ""
 
-#: plugins/admin/users/user-list.xml:167
-#, fuzzy
-msgid "Apply template"
-msgstr "Szablony"
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
+msgid "Current status"
+msgstr "Obecny status"
 
-#: plugins/admin/users/user-list.xml:199
-#, fuzzy
-msgid "New user from template"
-msgstr "Utwórz użytkownika z szablonu"
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
+msgstr "Informacja"
 
-#: plugins/admin/users/user-list.xml:213
-msgid "Edit user"
-msgstr "Edytuj użytkownika"
+#: setup/setup_language.tpl:3
+#, fuzzy
+msgid "Please select the preferred language"
+msgstr "Preferowany język"
 
-#: plugins/admin/users/user-list.xml:222
-msgid "%{filter:lockLabel(userPassword)}"
+#: setup/setup_language.tpl:5
+msgid ""
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:245
+#: setup/setup_language.tpl:9
 #, fuzzy
-msgid "Remove user"
-msgstr "Usuń obrazek"
-
-#: plugins/admin/users/user-filter.tpl:11
-msgid "Show templates"
-msgstr "Pokaż szablony"
+msgid "Please select your preferred language here"
+msgstr "Preferowany język"
 
-#: plugins/admin/users/user-filter.tpl:12
-#, fuzzy
-msgid "Show functional users"
-msgstr "Pokaż użytkowników funkcjonalnych"
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:13
-#, fuzzy
-msgid "Show POSIX users"
-msgstr "Ustawienia Posix"
+#: setup/setup_welcome.tpl:5
+msgid ""
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:14
+#: setup/setup_welcome.tpl:9
 #, fuzzy
-msgid "Show Mail users"
-msgstr "Pokaż użytkowników Poczty"
+msgid "What you need to generate a configuration file:"
+msgstr "Plik konfiguracyjny"
 
-#: plugins/admin/users/user-filter.tpl:15
+#: setup/setup_welcome.tpl:13
 #, fuzzy
-msgid "Show Samba users"
-msgstr "Pokaż użytkowników Poczty"
+msgid "The hostname of your LDAP server"
+msgstr "podczas połączenia z serwerem LDAP '%s'"
 
-#: plugins/admin/users/templatize.tpl:2
-#, fuzzy
-msgid "Applying a template"
-msgstr "Szablony"
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
+msgstr ""
 
-#: plugins/admin/users/templatize.tpl:6
-msgid ""
-"Applying a template to several users will replace all user attributes "
-"defined in the template."
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
 msgstr ""
 
-#: plugins/admin/users/templatize.tpl:33
-msgid "No templates available!"
-msgstr "Brak szablonów!"
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
+msgstr ""
 
-#: plugins/admin/departments/remove.tpl:6
+#: setup/setup_welcome.tpl:20
 msgid ""
-"This includes 'all' accounts, systems, etc. in this subtree. Please double "
-"check if your really want to do this since there is no way for GOsa to get "
-"your data back."
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
 msgstr ""
-"Operacja odnosi sie do 'wszystkich' kont, systemów, etc w tym poddrzewie. "
-"Proszę upewnić się czy kontynuować, gdyż nie ma operacji powrotu."
 
-#: plugins/admin/departments/remove.tpl:10
+#: setup/setup_welcome.tpl:24
+#, fuzzy
+msgid "Starting the setup"
+msgstr "Ustawienia językowe"
+
+#: setup/setup_welcome.tpl:26
 msgid ""
-"Best thing to do before performing this action would be to save the current "
-"contents of your LDAP tree in a file. So - if you've done so - press "
-"'Delete' to continue or 'Cancel' to abort."
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
 msgstr ""
-"Przed wykonaniem tej operacji zaleca się wykonanie kopii bezpieczeństwa "
-"drzewa LDAP. Naciśnij 'Usuń' aby kontynuować, lub 'Anuluj' aby przerwać."
 
-#: plugins/admin/departments/dep-list.xml:11
-msgid "List of departments"
-msgstr "Lista departamentów"
+#: setup/setup_welcome.tpl:32
+msgid "Click the 'Next' button when you've finished."
+msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:15
-#: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:189
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
 #, fuzzy
-msgid "Domain"
-msgstr "w domenie"
+msgid "LDAP schema check"
+msgstr "Usługa Ldap"
 
-#: plugins/admin/departments/dep-list.xml:23
-#: plugins/admin/departments/dep-list.xml:110
-#, fuzzy
-msgid "Domain component"
-msgstr "Administratorzy domeny"
+#: setup/class_setupStep_Schema.inc:39
+msgid "Perform test on your current LDAP schema"
+msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:31
-#: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_countryGeneric.inc:82
-#: plugins/admin/departments/class_countryGeneric.inc:83
-msgid "Country"
-msgstr "Kraj"
+#: setup/class_setup.inc:183
+msgid "Setup"
+msgstr "Ustawienia"
 
-#: plugins/admin/departments/dep-list.xml:39
-#: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_localityGeneric.inc:82
-#: plugins/admin/departments/class_localityGeneric.inc:83
-#, fuzzy
-msgid "Locality"
-msgstr "Lokalizacja"
+#: setup/class_setup.inc:195
+msgid "Completed"
+msgstr "Zakończono"
 
-#: plugins/admin/departments/dep-list.xml:47
-#: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:237
-#: plugins/admin/departments/class_organizationGeneric.inc:113
-#: plugins/admin/departments/class_organizationGeneric.inc:114
-#: plugins/personal/generic/class_user.inc:1694
-#: plugins/personal/generic/generic.tpl:299 setup/setup_feedback.tpl:23
-msgid "Organization"
-msgstr "Organizacja"
+#: setup/class_setup.inc:235
+msgid "Check again"
+msgstr "Sprawdź ponownie"
 
-#: plugins/admin/departments/locality.tpl:11
-#: plugins/admin/departments/dcObject.tpl:11
+#: setup/class_setup.inc:238
+msgid "Next"
+msgstr "Następne"
+
+#: setup/setup_migrate.tpl:2
+msgid ""
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
+msgstr ""
+
+#: setup/setup_migrate.tpl:5
 #, fuzzy
-msgid "Locality name"
-msgstr "Nazwa lokalizacji"
+msgid "Checks"
+msgstr "Ustaw status"
 
-#: plugins/admin/departments/locality.tpl:14
-#: plugins/admin/departments/dcObject.tpl:14
+#: setup/setup_migrate.tpl:22
 #, fuzzy
-msgid "Name of locality to create"
-msgstr "Nazwa tworzonego poddrzewa"
+msgid "Add required object classes to the LDAP base"
+msgstr "Wyświetl szablony FAI"
 
-#: plugins/admin/departments/locality.tpl:22
-#: plugins/admin/departments/domain.tpl:22
-#: plugins/admin/departments/country.tpl:22
-#: plugins/admin/departments/dcObject.tpl:22
-#: plugins/admin/departments/organization.tpl:22
-msgid "Descriptive text for department"
-msgstr "Tekst opisujący departament"
+#: setup/setup_migrate.tpl:24
+msgid "Current"
+msgstr "Obecne"
 
-#: plugins/admin/departments/locality.tpl:39
-#: plugins/admin/departments/generic.tpl:51
-#: plugins/admin/departments/class_domain.inc:93
-#: plugins/admin/departments/class_localityGeneric.inc:93
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_countryGeneric.inc:93
-#: plugins/admin/departments/class_dcObject.inc:92
-#: plugins/admin/departments/domain.tpl:39
-#: plugins/admin/departments/country.tpl:39
-#: plugins/admin/departments/dcObject.tpl:39
-#: plugins/admin/departments/class_department.inc:675
-#: plugins/admin/departments/organization.tpl:51
-#: plugins/personal/generic/class_user.inc:1697
-#: plugins/personal/generic/generic.tpl:340
-#: plugins/personal/generic/generic.tpl:361
+#: setup/setup_migrate.tpl:28
 #, fuzzy
-msgid "Manager"
-msgstr "Zarządzaj użytkownikami"
+msgid "After migration"
+msgstr "Administracja użytkownikami"
 
-#: plugins/admin/departments/locality.tpl:67
-#: plugins/admin/departments/generic.tpl:132
-#: plugins/admin/departments/class_domain.inc:94
-#: plugins/admin/departments/class_localityGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:135
-#: plugins/admin/departments/class_countryGeneric.inc:95
-#: plugins/admin/departments/class_dcObject.inc:94
-#: plugins/admin/departments/domain.tpl:67
-#: plugins/admin/departments/country.tpl:67
-#: plugins/admin/departments/dcObject.tpl:67
-#: plugins/admin/departments/class_department.inc:677
-#: plugins/admin/departments/organization.tpl:131
-msgid "Administrative settings"
-msgstr "Ustawienia administracyjne"
+#: setup/setup_migrate.tpl:35
+msgid "Close"
+msgstr "Zamknij"
 
-#: plugins/admin/departments/locality.tpl:69
-#: plugins/admin/departments/generic.tpl:134
-#: plugins/admin/departments/domain.tpl:69
-#: plugins/admin/departments/country.tpl:69
-#: plugins/admin/departments/dcObject.tpl:69
-#: plugins/admin/departments/organization.tpl:133
-msgid "Tag department as an independent administrative unit"
-msgstr "Zaznacz departament jako niezależną jednostkę administracyjną"
+#: setup/setup_migrate.tpl:40
+#, fuzzy
+msgid "Create a new GOsa administrator account"
+msgstr "Utwórz konto Netatalk"
 
-#: plugins/admin/departments/generic.tpl:11
-msgid "Name of department"
-msgstr "Nazwa departamentu"
+#: setup/setup_migrate.tpl:41
+msgid ""
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
+msgstr ""
 
-#: plugins/admin/departments/generic.tpl:14
-msgid "Name of subtree to create"
-msgstr "Nazwa tworzonego poddrzewa"
+#: setup/setup_migrate.tpl:57
+msgid "Password (again)"
+msgstr "Hasło (ponownie)"
 
-#: plugins/admin/departments/generic.tpl:22
+#: setup/setup_finish.tpl:3
 #, fuzzy
-msgid "Descriptive text for   department"
-msgstr "Tekst opisujący departament"
+msgid "Create your configuration file"
+msgstr "Plik konfiguracyjny"
 
-#: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:667
-#: plugins/admin/departments/organization.tpl:27
-msgid "Category"
-msgstr "Kategoria"
+#: setup/setup_finish.tpl:10
+msgid "Depending on the user name your web server is running on:"
+msgstr ""
+
+#: setup/setup_finish.tpl:27
+msgid "Download configuration"
+msgstr "Konfiguracja pobierania"
+
+#: setup/setup_finish.tpl:33
+msgid "Status: "
+msgstr "Status:"
+
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
+msgstr "Sprawdzenie instalacji"
+
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:66
+msgid "Checking PHP version"
+msgstr "Sprawdzam wersję PHP"
+
+#: setup/class_setupStep_Checks.inc:67
+#, fuzzy, php-format
+msgid "PHP must be of version %s or above."
+msgstr ""
+"PHP musi być w wersji 4.1.0 lub wyższej z powodu używanych funkcji i błędów "
+"w języku PHP."
+
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
+msgstr "Proszę zaktualizować do wspieranej wersji."
+
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:91
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
+msgstr ""
+"Wsparcie dla MySQL jest potrzebne do czytania raportów GOfax z bazy danych."
+
+#: setup/class_setupStep_Checks.inc:99
+msgid "GOsa requires this module for the samba integration."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:107
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:122
+msgid "mbstring"
+msgstr "mbstring"
+
+#: setup/class_setupStep_Checks.inc:123
+#, fuzzy
+msgid "GOsa requires this module to handle Unicode strings."
+msgstr ""
+"Wsparcie dla MySQL jest potrzebne do czytania raportów GOfax z bazy danych."
+
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:131
+#, fuzzy
+msgid "GOsa requires this module to calculate dates."
+msgstr ""
+"Wsparcie dla MySQL jest potrzebne do czytania raportów GOfax z bazy danych."
+
+#: setup/class_setupStep_Checks.inc:138
+msgid "MySQL"
+msgstr "MySQL"
+
+#: setup/class_setupStep_Checks.inc:139
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with several supported databases."
+msgstr ""
+"Wsparcie dla MySQL jest potrzebne do czytania raportów GOfax z bazy danych."
+
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:158
+msgid ""
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
+msgstr "imagick"
+
+#: setup/class_setupStep_Checks.inc:172
+msgid "GOsa requires this extension to handle images."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:187
+msgid "compression module"
+msgstr "moduł kompresji"
+
+#: setup/class_setupStep_Checks.inc:188
+msgid "GOsa requires this extension to handle snapshots."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:199
+#, fuzzy
+msgid ""
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
+msgstr ""
+"register_globals jest mechanizmem PHP umożliwiającym takie ustawienie "
+"zmiennych globalnych, że możliwy jest do nich dostęp bez zmiany zakresu. To "
+"może powodować zagrożenie bezpieczeństwa. Gosa może działać w obu trybach."
+
+#: setup/class_setupStep_Checks.inc:200
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+msgstr "Wyszukaj 'register_globals' w php.ini i ustaw na 'Off'"
+
+#: setup/class_setupStep_Checks.inc:208
+msgid "PHP uses this value for the garbage collector to delete old sessions."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:209
+#, fuzzy
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
+msgstr ""
+"PHP używa tej wartości dla garbage collector'a do usuwania starych sesji. "
+"Ustawienie tej wartości na jeden dzień zapobiegnie ustraceniu sesji oraz "
+"cookie zanim faktycznie wygasną."
+
+#: setup/class_setupStep_Checks.inc:210
+#, fuzzy
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
+msgstr ""
+"Aby używać GOsa bez problemow, opcja session.auto_register w pliku php.ini "
+"musi być ustawiona na 'off'."
+
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+msgid "Off"
+msgstr "Wyłączone"
+
+#: setup/class_setupStep_Checks.inc:218
+#, fuzzy
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
+msgstr ""
+"Aby używać GOsa bez problemow, opcja session.auto_register w pliku php.ini "
+"musi być ustawiona na 'off'."
+
+#: setup/class_setupStep_Checks.inc:219
+#, fuzzy
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+msgstr ""
+"Aby używać GOsa bez problemow, opcja session.auto_register w pliku php.ini "
+"musi być ustawiona na 'off'."
+
+#: setup/class_setupStep_Checks.inc:226
+#, fuzzy
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
+msgstr ""
+"GOsa potrzebuje conajmniej 16MB pamięci. Mniej może prowadzić do "
+"nieprzewidywalnych błędów. Dla większych instalacji, należy zwiększyć ten "
+"parametr."
+
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:234
+#, fuzzy
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
+msgstr ""
+"Ta opcja wpływa na obsługę output. Aby zwiększyć wydajność, należy ustawić "
+"na 'off'."
+
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:242
+#, fuzzy
+msgid "The Execution time should be at least 30 seconds."
+msgstr ""
+"Ten parametr powinien byc ustawniony na co najmniej 30 sekund. Niektóre "
+"funkcje mogą zabierać dużo czasu."
+
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:250
+#, fuzzy
+msgid ""
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
+msgstr ""
+"Aby zwiększyć bezpieczeństwo, należy ustawić expose_php na 'off'. PHP nie "
+"będzie wysyłać żadnych informacji na temat serwera na którym działa."
+
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
+msgid "On"
+msgstr "Włączone"
+
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
+msgstr ""
+"Ustawienie macig_quotes_gpc na 'on' zwiększy bezpieczeństwo serwera. PHP "
+"będzie zabezpieczać cudzysłowa w stringach."
+
+#: setup/class_setupStep_Checks.inc:259
+#, fuzzy
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+msgstr "Sprawdzam, czy register_globals jest ustawione na 'off'"
+
+#: setup/class_setupStep_Checks.inc:266
+#, fuzzy
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+msgstr ""
+"Ustawienie macig_quotes_gpc na 'on' zwiększy bezpieczeństwo serwera. PHP "
+"będzie zabezpieczać cudzysłowa w stringach."
+
+#: setup/class_setupStep_Checks.inc:267
+#, fuzzy
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+msgstr ""
+"Aby używać GOsa bez problemow, opcja session.auto_register w pliku php.ini "
+"musi być ustawiona na 'off'."
+
+#: setup/class_setupStep_Checks.inc:277
+#, fuzzy
+msgid "Configuration writable"
+msgstr "Plik konfiguracyjny zapisywalny"
+
+#: setup/class_setupStep_Checks.inc:278
+#, fuzzy
+msgid "The configuration file can't be written"
+msgstr "Plik konfiguracyjny"
+
+#: setup/class_setupStep_Checks.inc:279
+#, php-format
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
+msgstr ""
+
+#: setup/class_setupStep_Welcome.inc:42
+msgid "Welcome"
+msgstr "Witaj"
+
+#: setup/class_setupStep_Welcome.inc:43
+msgid "The welcome message"
+msgstr "Wiadomość powitalna"
+
+#: setup/class_setupStep_Welcome.inc:44
+#, fuzzy
+msgid "Welcome to the GOsa setup assistent"
+msgstr "Witaj w instalacji GOsa!"
+
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
+msgid "License"
+msgstr "Licencja"
+
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
+msgstr "Warunki użytkowania"
+
+#: setup/setup_schema.tpl:1
+#, fuzzy
+msgid "Schema specific settings"
+msgstr "Ustawienia Samba"
+
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
+msgstr "Sprawdzanie schematów zakończone powodzeniem"
+
+#: setup/setup_schema.tpl:7
+#, fuzzy
+msgid "Schema check failed"
+msgstr "Zapisywanie telefonu nieudane"
+
+#: setup/setup_schema.tpl:11
+msgid ""
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
+msgstr ""
+
+#: setup/setup_schema.tpl:13
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
+msgstr ""
+
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
+msgid "Language setup"
+msgstr "Ustawienia językowe"
+
+#: setup/class_setupStep_Language.inc:42
+msgid "This step allows you to select your preferred language."
+msgstr "Tek krok umożliwia wybranie preferowanego języka."
+
+#: setup/setup_feedback.tpl:2
+#, fuzzy
+msgid "Feedback successfully send"
+msgstr "Import powiódł się"
+
+#: setup/setup_feedback.tpl:6
+msgid "Subscribe to the gosa-announce mailing list"
+msgstr ""
+
+#: setup/setup_feedback.tpl:8
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
+msgstr ""
+
+#: setup/setup_feedback.tpl:20
+msgid "Mail address"
+msgstr "Adres email"
+
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
+msgstr ""
+
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
+msgstr ""
+
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
+msgstr "Ogólne"
+
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
+msgstr ""
+
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
+msgstr "Używam od"
+
+#: setup/setup_feedback.tpl:54
+msgid "Select the year since when you are using GOsa"
+msgstr ""
+
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:72
+#, fuzzy
+msgid "GOsa version"
+msgstr "Ogólne ustawienia GOsa"
+
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
+msgstr "LDAP"
+
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
+msgid "Features"
+msgstr "Cechy"
+
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
+msgstr ""
+
+#: html/password.php:63 html/index.php:157
+#, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
+msgstr "Nie można czytać pliku konfiguracji %s/%s. Kończę."
+
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, fuzzy, php-format
+msgid "Compile directory %s is not accessible!"
+msgstr "Katalog '%s' podany jako katalog kompilacji jest niedostępny!"
+
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
+#, fuzzy
+msgid "Password method"
+msgstr "Przechowywanie hasła"
+
+#: html/password.php:195
+msgid "Error: Password method not available!"
+msgstr ""
+
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
+msgstr "Login"
+
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
+msgstr "Proszę podać obecne hasło aby kontynuować."
+
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
+msgid ""
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
+msgstr "Podane hasła 'Nowe hasło' oraz 'Powtórz nowe hasło' nie są itentyczne."
+
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
+msgstr "Hasło które podano jako 'Nowe hasło' jest puste."
+
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
+msgstr "Hasło podane jako nowe jest zbyt podobne do obecnego."
+
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
+msgstr "Hasło podane jako nowe jest za krótkie."
+
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
+#, fuzzy
+msgid "The password contains possibly problematic Unicode characters!"
+msgstr "Pole 'Nazwa' zawiera niedozwolone znaki."
+
+#: html/password.php:261 html/index.php:311
+#, fuzzy
+msgid "Please check the username/password combination!"
+msgstr "Proszę sprawdzić kombinację login/hasło."
+
+#: html/password.php:268
+#, fuzzy
+msgid "You have no permissions to change your password!"
+msgstr "Brak uprawnień do zmiany własnego hasła"
+
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
+#, php-format
+msgid "Check-hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: html/password.php:315
+msgid "Session will not be encrypted."
+msgstr "Sesja nie będzie szyfrowana."
+
+#: html/password.php:317
+msgid "Enter SSL session"
+msgstr "Sprowadź sesję SSL"
+
+#: html/index.php:45
+#, php-format
+msgid "Your browser (%s) is blacklisted for the current theme!"
+msgstr ""
+
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
+msgstr ""
+
+#: html/index.php:72
+msgid "here"
+msgstr "tutaj"
+
+#: html/index.php:78
+msgid "The configured session lifetime will be overridden by php.ini settings!"
+msgstr ""
+
+#: html/index.php:179
+msgid "Smarty error"
+msgstr "Błąd Smarty"
+
+#: html/index.php:202
+#, fuzzy
+msgid ""
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
+msgstr ""
+"Twoja przeglądarka ma wyłączone cookies. Proszę włączyć cookies i "
+"przeładować stronę przed logowaniem!"
+
+#: html/index.php:233
+#, fuzzy
+msgid "Broken HTTP authentication setup!"
+msgstr "Istnieje problem z ustawieniami autentykacji!"
+
+#: html/index.php:241
+msgid "Cannot find a valid user for the current HTTP authentication!"
+msgstr ""
+
+#: html/index.php:245
+#, fuzzy
+msgid "Cannot find a unique user for the current HTTP authentication!"
+msgstr ""
+"Błąd krytyczny: Nie można znaleźć nieużywnego znacznika dla jednostki "
+"administracyjnej!"
+
+#: html/index.php:289
+#, fuzzy
+msgid "Please specify a valid user name!"
+msgstr "Proszę podać prawidłową nazwę użytkownika!"
+
+#: html/index.php:292
+msgid "Please specify your password!"
+msgstr "Proszę podać prawidłowe hasło!"
+
+#: html/index.php:304
+msgid "Authentication error"
+msgstr "Błąd autentykacji"
+
+#: html/index.php:304
+#, fuzzy
+msgid "Cannot retrieve user information for HTTP authentication!"
+msgstr "Nie można pobrać informacji o quota dla '%s'."
+
+#: html/index.php:360
+msgid "Account locked. Please contact your system administrator!"
+msgstr "Konto zablokowane. Proszę skontaktować się z administratorem systemu!"
+
+#: html/main.php:171
+#, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
+msgstr ""
+
+#: html/main.php:190
+msgid "PHP configuration"
+msgstr "Konfiguracja PHP"
+
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
+msgstr ""
+
+#: html/main.php:220
+msgid "Your password is about to expire, please change your password!"
+msgstr "Twoje hasło zaraz wygaśnie, proszę zmienić hasło!"
+
+#: html/main.php:295
+msgid "Running out of memory!"
+msgstr "Kończy się pamięć!"
+
+#: html/main.php:355
+#, php-format
+msgid "You're logged in as %s"
+msgstr ""
+
+#: html/main.php:358
+msgid "ACLs are disabled"
+msgstr "ACL wyłączone"
+
+#: html/main.php:408
+#, fuzzy
+msgid "Plug-in"
+msgstr "Dodatek"
+
+#: html/main.php:409
+#, fuzzy, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
+msgstr "BŁĄD: Nie można znaleźć żadnych definicji dla pluginu '%s'!"
+
+#: html/main.php:425
+msgid "Configuration Error"
+msgstr "Błąd konfiguracji"
+
+#: html/main.php:426
+#, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
+msgstr ""
+
+#: html/setup.php:73
+msgid "Smarty"
+msgstr "Smarty"
+
+#: html/helpviewer.php:64
+msgid "Help browser"
+msgstr "Wyszukiwarka pomocy"
+
+#: html/helpviewer.php:118
+#, fuzzy
+msgid "There is no help file specified for this class"
+msgstr "Pomoc nie jest dostępna dla tej klasy."
+
+#: html/helpviewer.php:268
+#, fuzzy, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
+msgstr ""
+"Katalog pomocy '%s' nie jest osiągalny, nie można czytać żadnych plików "
+"pomocy."
+
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
+msgstr ""
+"Aby zmienić własne hasło, proszę użyć formularza poniżej. Zmiany są "
+"wprowadzane do systemu natychmiast. Proszę zapamiętać nowe hasło, gdyż bez "
+"niego logowanie będzie niemożliwe."
+
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
+msgid "Password change dialog"
+msgstr "Dialog zmiany hasła"
+
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
+#, fuzzy
+msgid "Use proposal"
+msgstr "grupy"
+
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
+#, fuzzy
+msgid "Manually specify a password"
+msgstr "Proszę podać prawidłowe hasło!"
+
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
+msgstr "Wyczyść pola"
+
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
+msgstr "Moje konto "
+
+#: plugins/personal/myaccount/class_MyAccount.inc:6
+#, fuzzy
+msgid "Edit personal settings"
+msgstr "Ustawienia Posix"
+
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
+#, fuzzy
+msgid "You have no permission to change your password at this time"
+msgstr "Brak uprawnień do zmiany własnego hasła"
+
+#: plugins/personal/myaccount/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "Twoje hasło zostało pomyślnie zmienione."
+
+#: plugins/personal/myaccount/changed.tpl:3
+#: plugins/personal/password/changed.tpl:3
+#, fuzzy
+msgid ""
+"You've successfully changed your password. Remember to change all programs "
+"configured to use it as well."
+msgstr ""
+"Pomyślnie zmieniono hasło. Proszę pamiętać aby zmienić również ustawienia w "
+"programach skonfigurowanych do używania tego hasła."
+
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
+#, fuzzy
+msgid "POSIX settings"
+msgstr "Ustawienia Posix"
+
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
+msgstr "Katalog domowy"
+
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
+msgid "Account settings"
+msgstr "Ustawienia konta"
+
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
+msgstr "Grupa podstawowa"
+
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
+msgstr "Wymuś UID/GID"
+
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
+msgstr "GID"
+
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
+msgstr "Przynależność do grup"
+
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
+msgstr "(Uwaga: NFS nie wspiera więcej niż 16 grup!)"
+
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
+#, fuzzy
+msgid "Default filter"
+msgstr "Parametr"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
+#, fuzzy
+msgid "Please select the desired entries"
+msgstr "Preferowany język"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
+msgstr "Serwer"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
+msgstr "Stacja robocza"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+msgid "Terminal"
+msgstr "Terminal"
+
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
+#, fuzzy
+msgid "Trust machine selection"
+msgstr "Ustawienia grupy"
+
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+#, fuzzy
+msgid "Group selection"
+msgstr "Ustawienia grupy"
+
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
+msgstr "Grupa"
+
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
+msgstr "Użytkownik musi zmienić hasło przy pierwszym logowaniu"
+
+#: plugins/personal/posix/posix_shadow.tpl:59
+#, fuzzy
+msgid "Password expiration settings"
+msgstr "Ustawienia użytkownika"
+
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
+msgstr "Hasło wygasa"
+
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
+#, fuzzy
+msgid "Generic settings"
+msgstr "Ogólne ustawienia użytkownika"
+
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+msgid "Shell"
+msgstr "Shell"
+
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
+msgstr "Status"
+
+#: plugins/personal/posix/generic.tpl:42
+#, fuzzy
+msgid "Last log-on"
+msgstr "Ostatnie logowanie"
+
+#: plugins/personal/posix/generic.tpl:101
+#, fuzzy
+msgid "Common group"
+msgstr "Pokaż grupy"
+
+#: plugins/personal/posix/generic.tpl:105
+#, fuzzy
+msgid "Groups differ"
+msgstr "Grupa użytkownika"
+
+#: plugins/personal/posix/generic.tpl:125
+#, fuzzy
+msgid "Account permissions"
+msgstr "Ustawienia grupy"
+
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
+msgstr "Klucze SSH"
+
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
+msgstr "Edytuj publiczne klucze ssh"
+
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
+msgstr "POSIX"
+
+#: plugins/personal/posix/class_posixAccount.inc:38
+#, fuzzy
+msgid "Edit users POSIX settings"
+msgstr "Ustawienia Posix"
+
+#: plugins/personal/posix/class_posixAccount.inc:146
+msgid "expired"
+msgstr "wygasło"
+
+#: plugins/personal/posix/class_posixAccount.inc:148
+msgid "grace time active"
+msgstr "Czas prolongaty aktywny"
+
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
+msgid "active"
+msgstr "Aktywne"
+
+#: plugins/personal/posix/class_posixAccount.inc:151
+msgid "password not changeable"
+msgstr "hasło niezmienialne"
+
+#: plugins/personal/posix/class_posixAccount.inc:153
+msgid "password expired"
+msgstr "hasło wygasło"
+
+#: plugins/personal/posix/class_posixAccount.inc:226
+msgid "automatic"
+msgstr "automatyczne"
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr "Samba"
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr "Środowisko"
+
+#: plugins/personal/posix/class_posixAccount.inc:374
+#, php-format
+msgid "Password can't be changed up to %s days after last change"
+msgstr "Hasło nie może być zmienione do %s dni po ostatniej zmianie"
+
+#: plugins/personal/posix/class_posixAccount.inc:378
+#, php-format
+msgid "Password must be changed after %s days"
+msgstr "Hasło musi zostać zmienione po %s dniach"
+
+#: plugins/personal/posix/class_posixAccount.inc:382
+#, fuzzy, php-format
+msgid "Disable account after %s days of inactivity after password expiry"
+msgstr "Wyłącz konto po %s dniach nieaktywności po wygaśnięciu hasła"
+
+#: plugins/personal/posix/class_posixAccount.inc:386
+#, fuzzy, php-format
+msgid "Warn user %s days before password expiry"
+msgstr "Ostrzeż użytkownika na %s dni przed wygaśnięciem hasła"
+
+#: plugins/personal/posix/class_posixAccount.inc:651
+msgid "Timeout while waiting for lock. Ignoring lock!"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
+msgid "Group of user"
+msgstr "Grupa użytkownika"
+
+#: plugins/personal/posix/class_posixAccount.inc:774
+msgid ""
+"A duplicated UID number was written for this user. If this was not intended "
+"please verify all used uidNumbers!"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
+msgid "shadowMin"
+msgstr "shadowMin"
+
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
+msgid "shadowMax"
+msgstr "shadowMax"
+
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
+msgid "shadowWarning"
+msgstr "shadowWarning"
+
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
+#, fuzzy
+msgid "shadowInactive"
+msgstr "Shadow nieaktywne"
+
+#: plugins/personal/posix/class_posixAccount.inc:1293
+msgid "POSIX account"
+msgstr "Konto POSIX"
+
+#: plugins/personal/posix/class_posixAccount.inc:1311
+msgid "Group ID"
+msgstr "ID grupy"
+
+#: plugins/personal/posix/class_posixAccount.inc:1313
+#, fuzzy
+msgid "Shadow last changed"
+msgstr "Pokaż pakiety"
+
+#: plugins/personal/posix/class_posixAccount.inc:1314
+#, fuzzy
+msgid "Last login"
+msgstr "Ostatnie logowanie"
+
+#: plugins/personal/posix/class_posixAccount.inc:1316
+msgid "Force password change on login"
+msgstr "Wymuś zmianę hasła podczas logowania"
+
+#: plugins/personal/posix/class_posixAccount.inc:1317
+msgid "Shadow min"
+msgstr "Shadow min"
+
+#: plugins/personal/posix/class_posixAccount.inc:1318
+msgid "Shadow max"
+msgstr "Shadow max"
+
+#: plugins/personal/posix/class_posixAccount.inc:1319
+msgid "Shadow warning"
+msgstr "Shadow ostrzeżenie"
+
+#: plugins/personal/posix/class_posixAccount.inc:1320
+msgid "Shadow inactive"
+msgstr "Shadow nieaktywne"
+
+#: plugins/personal/posix/class_posixAccount.inc:1321
+msgid "Shadow expire"
+msgstr "Shadow wygasa"
+
+#: plugins/personal/posix/class_posixAccount.inc:1322
+msgid "Public SSH key"
+msgstr "Publiczny klucz SSH"
+
+#: plugins/personal/posix/class_posixAccount.inc:1323
+msgid "System trust model"
+msgstr "Zaufanie do systemów"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr "wyłączone"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr "pełen dostęp"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr "zezwól na dostęp do tych hostów"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr "Zaufanie systemowe"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
+msgid "Trust mode"
+msgstr "Tryb zaufania"
+
+#: plugins/personal/password/password.tpl:10
+#, fuzzy
+msgid "Your Password has expired. Please choose a new password."
+msgstr "Twoje hasło wygasło !! Proszę wybrać inne hasło"
+
+#: plugins/personal/password/class_password.inc:27
+#, fuzzy
+msgid "Change user password"
+msgstr "Zmień hasło"
+
+#: plugins/personal/password/class_password.inc:156
+msgid ""
+"The password you've entered as your current password doesn't match the real "
+"one."
+msgstr "Hasło które podano jako obecne nie zgadza się z prawdziwym hasłem."
+
+#: plugins/personal/password/class_password.inc:159
+#, fuzzy
+msgid "You have no permission to change your password."
+msgstr "Brak uprawnień do zmiany własnego hasła"
+
+#: plugins/personal/password/class_password.inc:223
+msgid "User password"
+msgstr "Hasło użytkownika"
+
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr "Certyfikaty"
+
+#: plugins/personal/generic/generic_certs.tpl:5
+#, fuzzy
+msgid "The users standard certificate"
+msgstr "Standardowy certyfikat"
+
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr "Standardowy certyfikat"
+
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr "Usuń"
+
+#: plugins/personal/generic/generic_certs.tpl:31
+#, fuzzy
+msgid "The users S/MIME certificate"
+msgstr "certyfikat S/MIME"
+
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr "certyfikat S/MIME"
+
+#: plugins/personal/generic/generic_certs.tpl:57
+#, fuzzy
+msgid "The users PKCS12 certificate"
+msgstr "certyfikat PKCS12"
+
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr "certyfikat PKCS12"
+
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr "Nmer seryjny certyfikatu"
+
+#: plugins/personal/generic/paste_generic.tpl:3
+msgid "Paste user"
+msgstr "Wklej użytkownika"
+
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr "Informacje osobiste"
+
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
+msgid "Last name"
+msgstr "Nazwisko"
+
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
+msgid "First name"
+msgstr "Imię"
+
+#: plugins/personal/generic/paste_generic.tpl:24
+msgid "Clear password"
+msgstr "Wyczyść hasło"
+
+#: plugins/personal/generic/paste_generic.tpl:25
+msgid "Set new password"
+msgstr "Ustaw nowe hasło"
+
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
+#, fuzzy
+msgid "The users picture"
+msgstr "Zdjęcie użytkownika"
+
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
+msgstr "Usuń obrazek"
+
+#: plugins/personal/generic/class_user.inc:38
+#, fuzzy
+msgid "Edit organizational user settings"
+msgstr "Ustawienia Aplikacji"
+
+#: plugins/personal/generic/class_user.inc:297
+msgid "Please add a single IP address or a network/net mask combination!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:339
+msgid "female"
+msgstr "kobieta"
+
+#: plugins/personal/generic/class_user.inc:339
+msgid "male"
+msgstr "mężczyzna"
 
-#: plugins/admin/departments/generic.tpl:30
-#: plugins/admin/departments/organization.tpl:30
-msgid "Category for this subtree"
-msgstr "Kategoria dla tego poddrzewa"
+#: plugins/personal/generic/class_user.inc:395
+msgid "Password configuration"
+msgstr "Konfiguracja hasła"
 
-#: plugins/admin/departments/generic.tpl:79
-#: plugins/admin/departments/generic.tpl:91
-#: plugins/admin/departments/class_localityGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:130
-#: plugins/admin/departments/class_department.inc:671
-#: plugins/admin/departments/organization.tpl:78
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1708
-#: plugins/personal/generic/generic.tpl:441
-msgid "Location"
-msgstr "Lokalizacja"
+#: plugins/personal/generic/class_user.inc:429
+msgid "Cannot upload file!"
+msgstr "Nie można wgrać pliku!"
 
-#: plugins/admin/departments/generic.tpl:83
+#: plugins/personal/generic/class_user.inc:522
+msgid "Serial number"
+msgstr "Numer seryjny"
+
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
+msgid "User picture"
+msgstr "Zdjęcie użytkownika"
+
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:579
+#, php-format
+msgid "Certificate is valid from %s to %s and is currently %s."
+msgstr "Certyfikat jest ważny od %s do %s i jest obecnie %s."
+
+#: plugins/personal/generic/class_user.inc:582
+msgid "valid"
+msgstr "prawidłowy"
+
+#: plugins/personal/generic/class_user.inc:583
+msgid "invalid"
+msgstr "nieprawidłowy"
+
+#: plugins/personal/generic/class_user.inc:588
+msgid "No certificate installed"
+msgstr "Brak zainstalowanych certyfikatów"
+
+#: plugins/personal/generic/class_user.inc:614
+#, fuzzy
+msgid "The selected password method is no longer available."
+msgstr "Ta aplikacja nie jest już dostępna."
+
+#: plugins/personal/generic/class_user.inc:1051
+msgid ""
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1177
+msgid "Cannot build RDN: no + allowed to build sub RDN!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1184
+msgid "Cannot build RDN: attribute is not defined!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1202
+msgid "Cannot build RDN: invalid attribute parameters!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1273
+#, fuzzy
+msgid "The selected password method requires initial configuration!"
+msgstr "Ta aplikacja nie jest już dostępna."
+
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
+msgid "Homepage"
+msgstr "Strona domowa"
+
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
+msgstr "Telefon"
+
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
+msgstr "Fax"
+
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
+msgid "Mobile"
+msgstr "Komórka"
+
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
+msgid "Pager"
+msgstr "Pager"
+
+#: plugins/personal/generic/class_user.inc:1483
+msgid "Cannot open certificate!"
+msgstr "Nie można otworzyć certyfikatu!"
+
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
+msgid "Unit"
+msgstr "Jednostka"
+
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
+msgid "House identifier"
+msgstr "Identyfikator budynku"
+
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
+msgid "Vocation"
+msgstr "Wywołanie"
+
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
+msgid "Last delivery"
+msgstr "Ostatnia dostawa"
+
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
+msgid "Person locality"
+msgstr "Lokalizacja osoby"
+
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
+msgid "Unit description"
+msgstr "Opis jednostki"
+
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
+msgid "Subject area"
+msgstr "Sektor"
+
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
+msgid "Functional title"
+msgstr "Tytuł funkcjonalny"
+
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
+msgstr "Pełniona funkcja"
+
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
+msgid "Postal code"
+msgstr "Kod pocztowy"
+
+#: plugins/personal/generic/class_user.inc:1671
+msgid "Generic user settings"
+msgstr "Ogólne ustawienia użytkownika"
+
+#: plugins/personal/generic/class_user.inc:1692
+msgid ""
+"Pattern for the generation of user DNs. Please read the FAQ for details."
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1706
+#, fuzzy
+msgid "Allow definition of custom filters"
+msgstr "Zapisz plik konfiguracyjny"
+
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
+msgid "Sex"
+msgstr "Płeć"
+
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
+msgid "Preferred language"
+msgstr "Preferowany język"
+
+#: plugins/personal/generic/class_user.inc:1718
+#, fuzzy
+msgid "Login restrictions"
+msgstr "Hasło wygasa"
+
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
+msgstr "Departament"
+
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
+#: plugins/admin/departments/class_domain.inc:93
+#: plugins/admin/departments/class_organizationGeneric.inc:127
+#: plugins/admin/departments/generic.tpl:51
+#: plugins/admin/departments/locality.tpl:39
+#: plugins/admin/departments/class_localityGeneric.inc:93
+#: plugins/admin/departments/class_dcObject.inc:92
+#: plugins/admin/departments/domain.tpl:39
+msgid "Manager"
+msgstr "Manager"
+
+#: plugins/personal/generic/class_user.inc:1727
+msgid "Room number"
+msgstr "Numer pokoju"
+
+#: plugins/personal/generic/class_user.inc:1728
+#, fuzzy
+msgid "Telephone number"
+msgstr "Numer telefonu"
+
+#: plugins/personal/generic/class_user.inc:1729
+msgid "Pager number"
+msgstr "Numer pagera"
+
+#: plugins/personal/generic/class_user.inc:1730
+msgid "Mobile number"
+msgstr "Telefon komórkowy"
+
+#: plugins/personal/generic/class_user.inc:1731
+msgid "Fax number"
+msgstr "Numer fax"
+
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
 #: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_department.inc:670
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1707
-#: plugins/personal/generic/generic.tpl:449
+#: plugins/admin/departments/generic.tpl:87
 msgid "State"
 msgstr "Stan"
 
-#: plugins/admin/departments/generic.tpl:86
-#: plugins/admin/departments/organization.tpl:85
-msgid "State where this subtree is located"
-msgstr "Stan w którym jest umieszczone to poddrzewo"
+#: plugins/personal/generic/class_user.inc:1735
+#: plugins/personal/generic/generic.tpl:183
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+msgid "Postal address"
+msgstr "Adres pocztowy"
 
-#: plugins/admin/departments/generic.tpl:94
-#: plugins/admin/departments/organization.tpl:93
-msgid "Location of this subtree"
-msgstr "Lokalizacja tego poddrzewa"
+#: plugins/personal/generic/class_user.inc:1740
+#, fuzzy
+msgid "User password method"
+msgstr "Przechowywanie hasła"
 
-#: plugins/admin/departments/generic.tpl:99
-#: plugins/admin/departments/class_department.inc:672
-#: plugins/admin/departments/organization.tpl:98
-#: plugins/personal/generic/generic.tpl:183
-#: plugins/personal/generic/generic.tpl:457
+#: plugins/personal/generic/class_user.inc:1741
+msgid "User certificates"
+msgstr "Certyfikaty użytkownika"
+
+#: plugins/personal/generic/class_user.inc:1949
+#, fuzzy
+msgid "Entries differ"
+msgstr "Wpisów na stronie"
+
+#: plugins/personal/generic/generic.tpl:21
+msgid "Change picture"
+msgstr "Zmień zdjęcie"
+
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
+msgstr ""
+
+#: plugins/personal/generic/generic.tpl:83
+msgid "Template name"
+msgstr "Nazwa Szablonu"
+
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
 msgid "Address"
 msgstr "Adres"
 
-#: plugins/admin/departments/generic.tpl:102
-#: plugins/admin/departments/organization.tpl:101
-msgid "Postal address of this subtree"
-msgstr "Kod pocztowy tego poddrzewa"
+#: plugins/personal/generic/generic.tpl:193
+msgid "Private phone"
+msgstr "Telefon prywatny"
 
-#: plugins/admin/departments/generic.tpl:109
-#: plugins/admin/departments/organization.tpl:108
-msgid "Base telephone number of this subtree"
-msgstr "Bazowy numer telefonu tego poddrzewa"
+#: plugins/personal/generic/generic.tpl:209
+msgid "Password storage"
+msgstr "Przechowywanie hasła"
 
-#: plugins/admin/departments/generic.tpl:114
-#: plugins/admin/departments/class_organizationGeneric.inc:133
-#: plugins/admin/departments/class_department.inc:373
-#: plugins/admin/departments/class_department.inc:674
-#: plugins/admin/departments/organization.tpl:113
-#: plugins/personal/generic/class_user.inc:1359
-#: plugins/personal/generic/class_user.inc:1822
-#: plugins/personal/generic/generic.tpl:423
-#: plugins/personal/generic/generic.tpl:591
-msgid "Fax"
-msgstr "Fax"
+#: plugins/personal/generic/generic.tpl:229
+msgid "Edit certificates"
+msgstr "Edytuj certyfikaty"
 
-#: plugins/admin/departments/generic.tpl:117
-#: plugins/admin/departments/organization.tpl:116
-msgid "Base facsimile telephone number of this subtree"
-msgstr "Bazowy numer faxu tego poddrzewa"
+#: plugins/personal/generic/generic.tpl:241
+msgid "Restrict login to"
+msgstr "Ogranicz logowanie do"
 
-#: plugins/admin/departments/class_domain.inc:81
-#: plugins/admin/departments/class_domain.inc:82
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_dcObject.inc:81
-#: plugins/admin/departments/class_dcObject.inc:82
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
+msgid "IP or network"
+msgstr "IP lub sieć"
+
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "Organizational information"
+msgstr "Informacje organizacyjne"
+
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "part"
+msgstr "część"
+
+#: plugins/personal/generic/generic.tpl:314
+msgid "Department No."
+msgstr "Numer departamentu"
+
+#: plugins/personal/generic/generic.tpl:322
+msgid "Employee No."
+msgstr "Numer pracownika"
+
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
+msgid "Room No."
+msgstr "Numer pokoju"
+
+#: plugins/personal/generic/generic.tpl:580
+msgid "Please use the phone tab"
+msgstr "Proszę użyć zakładki telefony"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:1
 #, fuzzy
-msgid "Domain Component"
-msgstr "Administratorzy domeny"
+msgid "List of dynamic rules"
+msgstr "Lista ACLi"
 
-#: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:657
-#: plugins/admin/departments/class_department.inc:662
-msgid "Departments"
-msgstr "Departamenty"
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
+msgstr ""
+
+#: plugins/addons/dyngroup/dyngroup.tpl:6
+#, fuzzy
+msgid "Scope"
+msgstr "kopiuj"
 
-#: plugins/admin/departments/class_departmentManagement.inc:26
-msgid "Manage Departments"
-msgstr "Zarządzaj Departamentami"
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
+#, fuzzy
+msgid "Attribute"
+msgstr "Atrybuty telefonu"
 
-#: plugins/admin/departments/class_departmentManagement.inc:122
-msgid ""
-"As soon as the tag operation has finished, you can scroll down to end of the "
-"page and    press the 'Continue' button to continue with the department "
-"management dialog."
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
+#, fuzzy
+msgid "Filter"
+msgstr "Filtry"
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:122
-msgid "Organization name"
-msgstr "Nazwa organizacji"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
+msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:131
-#: plugins/personal/generic/class_user.inc:1709
-msgid "Postal address"
-msgstr "Adres pocztowy"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
+#, php-format
+msgid "The given filter '%s' for entry %s seems to be invalid!"
+msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:132
-msgid "Phone number"
-msgstr "Numer telefonu"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
+#, fuzzy
+msgid "Dynamic object"
+msgstr "Obiekt GOsa"
 
-#: plugins/admin/departments/class_countryGeneric.inc:91
-#: plugins/admin/departments/country.tpl:11
-msgid "Country name"
-msgstr "Nazwa Kraju"
+#: plugins/addons/propertyEditor/property-filter.xml:15
+#, fuzzy
+msgid "Effective properties"
+msgstr "Edytuj ogólne właściwości"
 
-#: plugins/admin/departments/domain.tpl:11
+#: plugins/addons/propertyEditor/property-filter.xml:29
 #, fuzzy
-msgid "Domain name"
-msgstr "Administratorzy domeny"
+msgid "Modified properties"
+msgstr "Edytuj ogólne właściwości"
 
-#: plugins/admin/departments/domain.tpl:14
+#: plugins/addons/propertyEditor/property-filter.xml:43
 #, fuzzy
-msgid "Name of domain to create"
-msgstr "Nazwa tworzonego poddrzewa"
+msgid "All properties"
+msgstr "Edytuj ogólne właściwości"
 
-#: plugins/admin/departments/country.tpl:14
+#: plugins/addons/propertyEditor/property-filter.xml:57
 #, fuzzy
-msgid "Name of country to create"
-msgstr "Nazwa tworzonego poddrzewa"
+msgid "LDAP properties"
+msgstr "Właściwości"
 
-#: plugins/admin/departments/class_department.inc:433
+#: plugins/addons/propertyEditor/property-filter.xml:71
 #, fuzzy
-msgid "Cannot find an unused tag for this administrative unit!"
+msgid "Search for property groups"
+msgstr "Pokaż podstawowe grupy"
+
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
 msgstr ""
-"Błąd krytyczny: Nie można znaleźć nieużywnego znacznika dla jednostki "
-"administracyjnej!"
 
-#: plugins/admin/departments/class_department.inc:504
-#, php-format
-msgid "Tagging '%s'."
-msgstr "Zaznaczanie '%s'."
+#: plugins/addons/propertyEditor/migrate.tpl:3
+#, fuzzy
+msgid "Migration steps left"
+msgstr "Błąd migracji"
 
-#: plugins/admin/departments/class_department.inc:585
-#, php-format
-msgid "Moving '%s' to '%s'"
-msgstr "Przenoszenie '%s' do '%s'"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
+#, fuzzy, php-format
+msgid "Migration of property '%s'"
+msgstr "Błąd migracji"
 
-#: plugins/admin/departments/class_department.inc:626
-#, php-format
-msgid "FAILED to copy %s, aborting operation"
-msgstr "BŁĄD kopiowania %s, anulowanie operacji"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
+#, fuzzy, php-format
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
+msgstr "Zamierzasz skopiować wpis '%s'."
 
-#: plugins/admin/departments/class_department.inc:665
-msgid "Department name"
-msgstr "Nazwa departamentu"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
+msgid "Objects that will be added"
+msgstr ""
 
-#: plugins/admin/departments/class_department.inc:673
-msgid "Telephone"
-msgstr "Telefon"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+#, fuzzy
+msgid "Objects that will be moved"
+msgstr "Użyj członków z"
 
-#: plugins/admin/departments/class_department.inc:728
-#, php-format
-msgid "Object '%s' is already tagged"
-msgstr "Obiekt '%s' jest już zaznaczony"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
+#, fuzzy, php-format
+msgid "Moving object '%s' to '%s'"
+msgstr "Przenoszenie '%s' do '%s'"
 
-#: plugins/admin/departments/class_department.inc:735
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
 #, php-format
-msgid "Adding tag (%s) to object '%s'"
-msgstr "Dodawanie znacznika (%s) do obiektu '%s'"
+msgid "Migration failed for object %s: DN already exists!"
+msgstr ""
 
-#: plugins/admin/departments/class_department.inc:767
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
 #, php-format
-msgid "Removing tag from object '%s'"
-msgstr "Usuwanie znacznika z obiektu '%s'"
+msgid "Migration failed for object %s: please check if it already exists!"
+msgstr ""
 
-#: plugins/admin/departments/dep_iframe.tpl:1
-msgid "Processing the requested operation"
-msgstr "Przetwarzam zadaną operację"
+#: plugins/addons/propertyEditor/property-list.tpl:3
+#, fuzzy
+msgid "Warning message"
+msgstr "Wyślij wiadomość"
 
-#: plugins/admin/departments/dep_iframe.tpl:7
+#: plugins/addons/propertyEditor/property-list.tpl:9
 msgid ""
-"Your browser doesn't support iframes, please use this link to perform the "
-"requested operation."
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
 msgstr ""
-"Twoja przeglądarka nie obsługuje iframes, proszę użyć tego linku aby wykonać "
-"żądaną operację."
 
-#: plugins/admin/departments/organization.tpl:11
-#, fuzzy
-msgid "Name of organization"
-msgstr "Organizacja"
+#: plugins/addons/propertyEditor/property-list.tpl:10
+msgid ""
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
+msgstr ""
 
-#: plugins/admin/departments/organization.tpl:14
-#, fuzzy
-msgid "Name of organization to create"
-msgstr "Nazwa tworzonego poddrzewa"
+#: plugins/addons/propertyEditor/property-list.tpl:14
+msgid ""
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
+msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:2
+#: plugins/addons/propertyEditor/property-list.tpl:22
+msgid ""
+"I understand that there are certain risks, but I want to modify properties!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
 #, fuzzy
-msgid "You are currently moving/renaming this department."
-msgstr "Brak uprawnień do usunięcia tego departamentu."
+msgid "Command verifier"
+msgstr "i"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:5
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
 msgid ""
-"Modifying a departments naming attribute 'ou' or base may corrupt acls and "
-"snapshot entries for all entire objects."
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:8
-msgid "GOsa can NOT fix this for you, yet."
-msgstr "GOsa NIE może naprawić tego dla Ciebie, jeszcze."
-
-#: plugins/admin/departments/dep_move_confirm.tpl:11
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
 msgid ""
-"Before you confirm this action, ensure that everything will be as expected, "
-"possibly the best solution is a backup."
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
 msgstr ""
 
-#: plugins/admin/acl/class_aclManagement.inc:25
-#: plugins/admin/acl/acl-list.xml:15
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
 #, fuzzy
-msgid "Acl"
-msgstr "ACL"
+msgid "Test"
+msgstr "Czas"
 
-#: plugins/admin/acl/class_aclManagement.inc:154
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
+msgstr ""
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
 #, fuzzy
-msgid "ACL Assignment"
-msgstr "Zarządzanie ACL"
+msgid "Preferences"
+msgstr "Zależności"
 
-#: plugins/admin/acl/tabs_acl_role.inc:28
-msgid "ACL Templates"
-msgstr "Szablony ACL"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
+msgid ""
+"Configure global and special GOsa settings like hooks and plug-in parameters"
+msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:26
-#: plugins/admin/acl/class_aclRole.inc:726
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
 #, fuzzy
-msgid "Access control roles"
-msgstr "Kontrola dostępu"
+msgid "No description"
+msgstr "Opis jednostki"
 
-#: plugins/admin/acl/class_aclRole.inc:27
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.xml:11
 #, fuzzy
-msgid "Edit AC roles"
-msgstr "ACLe"
+msgid "List of configuration settings"
+msgstr "Ustawienia użytkownika"
 
-#: plugins/admin/acl/class_aclRole.inc:134
-msgid "Reset ACL"
-msgstr "Resetuj ACL"
+#: plugins/addons/propertyEditor/property-list.xml:15
+#, fuzzy
+msgid "Property not used"
+msgstr "Grupa użytkownika"
 
-#: plugins/admin/acl/class_aclRole.inc:418
-msgid "No ACL settings for this category"
-msgstr "Brak ustawień ACL w tej kategorii"
+#: plugins/addons/propertyEditor/property-list.xml:23
+#, fuzzy
+msgid "Property will be restored"
+msgstr "Będzie możliwość odtworzenia z"
 
-#: plugins/admin/acl/class_aclRole.inc:420
-#, fuzzy, php-format
-msgid "ACL for these objects: %s"
-msgstr "Zawiera ACL'e w tych kategoriach: %s"
+#: plugins/addons/propertyEditor/property-list.xml:31
+#, fuzzy
+msgid "Modified property"
+msgstr "Informacje osobiste"
 
-#: plugins/admin/acl/class_aclRole.inc:426
+#: plugins/addons/propertyEditor/property-list.xml:39
 #, fuzzy
-msgid "Edit category ACL"
-msgstr "Edytuj kategorie ACL'i"
+msgid "Property configured in LDAP"
+msgstr "Plik konfiguracyjny"
 
-#: plugins/admin/acl/class_aclRole.inc:430
+#: plugins/addons/propertyEditor/property-list.xml:47
 #, fuzzy
-msgid "Reset category ACL"
-msgstr "Kategoria"
+msgid "Property configured in config file"
+msgstr "Plik konfiguracyjny"
 
-#: plugins/admin/acl/class_aclRole.inc:450
-#, php-format
-msgid "Edit ACL for '%s', scope is '%s'"
-msgstr "Edytuj ACL dla '%s', zakres to '%s'"
+#: plugins/addons/propertyEditor/property-list.xml:80
+#, fuzzy
+msgid "Class"
+msgstr "klasa"
 
-#: plugins/admin/acl/class_aclRole.inc:646
+#: plugins/addons/propertyEditor/property-list.xml:88
 #, fuzzy
-msgid "Object in use"
-msgstr "Nazwa obiektu"
+msgid "Value"
+msgstr "mężczyzna"
 
-#: plugins/admin/acl/class_aclRole.inc:646
-#, php-format
-msgid "This role cannot be removed while it is in use by these objects:"
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:725 plugins/admin/acl/acl-list.xml:23
-#: plugins/admin/acl/acl-list.xml:82
-#: plugins/personal/generic/class_user.inc:1664
-#: plugins/personal/generic/generic.tpl:508
-msgid "Role"
-msgstr "Pełniona funkcja"
+#: plugins/admin/groups/paste_generic.tpl:1
+msgid "Group settings"
+msgstr "Ustawienia grupy"
 
-#: plugins/admin/acl/class_aclRole.inc:736
-msgid "Permissions"
-msgstr "Uprawnienia"
+#: plugins/admin/groups/paste_generic.tpl:2
+#, fuzzy
+msgid "Paste group settings"
+msgstr "Ustawienia grupy"
 
-#: plugins/admin/acl/acl-list.xml:11
-msgid "List of acls"
-msgstr "Lista ACLi"
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
+msgstr "Nazwa grupy"
 
-#: plugins/admin/acl/acl-filter.tpl:11
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
 #, fuzzy
-msgid "Show access control lists"
-msgstr "Kontrola dostępu"
+msgid "POSIX name of the group"
+msgstr "Posixowa nazwa grupy"
 
-#: plugins/admin/acl/acl-filter.tpl:12
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
 #, fuzzy
-msgid "Show roles"
-msgstr "Pokaż telefony"
+msgid "Normally IDs are auto-generated, select to specify manually"
+msgstr "Zwyczajowo ID są generowane automatycznie, wybierz aby podać ręcznie"
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:25
-msgid "Bug submitter"
-msgstr ""
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
+msgstr "Wymuś GID"
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:26
-msgid ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
-msgstr ""
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr "Wymuś numer ID"
 
-#: plugins/personal/generic/class_user.inc:38
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
+msgstr "Użytkownik"
+
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
 #, fuzzy
-msgid "Edit organizational user settings"
-msgstr "Ustawienia Aplikacji"
+msgid "User selection"
+msgstr "Ustawienia grupy"
 
-#: plugins/personal/generic/class_user.inc:297
-msgid "Please add a single IP address or a network/netmask combination!"
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+#, fuzzy
+msgid "Cannot find group SID in your configuration!"
 msgstr ""
+"Nie można znaleźć SID tych grup ani w  LDAP, ani w pliku konfiguracyjnym!"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "female"
-msgstr "kobieta"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
+msgstr "Grupa Samba"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "male"
-msgstr "mężczyzna"
+#: plugins/admin/groups/class_group.inc:310
+#, fuzzy
+msgid "Domain administrators"
+msgstr "Administratorzy domeny"
 
-#: plugins/personal/generic/class_user.inc:408
-msgid "Cannot upload file!"
-msgstr "Nie można wgrać pliku!"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
+msgstr "Użytkownicy domeny"
 
-#: plugins/personal/generic/class_user.inc:503
-msgid "Serial number"
-msgstr "Numer seryjny"
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
+msgstr "Goście domeny"
+
+#: plugins/admin/groups/class_group.inc:316
+#, php-format
+msgid "Special group (%d)"
+msgstr "Specjalna grupa (%d)"
+
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+msgstr ""
+
+#: plugins/admin/groups/class_group.inc:470
+#, php-format
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+msgstr ""
+
+#: plugins/admin/groups/class_group.inc:753
+#, fuzzy, php-format
+msgid "Cannot find any SID for '%s'!"
+msgstr "Nie można stworzyć pliku '%s'."
 
-#: plugins/personal/generic/class_user.inc:548
-msgid ""
-"(Some types of certificates are currently not supported and may be displayed "
-"as 'invalid'.)"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:758
+#, fuzzy, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
+msgstr "Nie można stworzyć pliku '%s'."
 
-#: plugins/personal/generic/class_user.inc:558
+#: plugins/admin/groups/class_group.inc:852
 #, php-format
-msgid "Certificate is valid from %s to %s and is currently %s."
-msgstr "Certyfikat jest ważny od %s do %s i jest obecnie %s."
+msgid "The gidNumber '%s' is already in use by %s!"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:561
-msgid "valid"
-msgstr "prawidłowy"
+#: plugins/admin/groups/class_group.inc:1036
+msgid "Generic group settings"
+msgstr "Ogólne ustawienia grupy"
 
-#: plugins/personal/generic/class_user.inc:562
-msgid "invalid"
-msgstr "nieprawidłowy"
+#: plugins/admin/groups/class_group.inc:1049
+#, fuzzy
+msgid "RDN for object group storage."
+msgstr "Nazwa grupy obiektów"
 
-#: plugins/personal/generic/class_user.inc:567
-msgid "No certificate installed"
-msgstr "Brak zainstalowanych certyfikatów"
+#: plugins/admin/groups/class_group.inc:1063
+msgid "Samba group type"
+msgstr "Typ grupy Samba"
 
-#: plugins/personal/generic/class_user.inc:593
+#: plugins/admin/groups/class_group.inc:1064
 #, fuzzy
-msgid "The selected password method is no longer available."
-msgstr "Ta aplikacja nie jest już dostępna."
+msgid "Samba domain name"
+msgstr "Katalog domowy Samba"
 
-#: plugins/personal/generic/class_user.inc:1190
-msgid "Cannot build RDN: no + allowed to build sub RDN!"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:1066
+msgid "Phone pickup group"
+msgstr "Grupie odbioru telefonu"
 
-#: plugins/personal/generic/class_user.inc:1197
-msgid "Cannot build RDN: attribute is not defined!"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:1067
+msgid "Nagios group"
+msgstr "Grupa nagios"
 
-#: plugins/personal/generic/class_user.inc:1215
-msgid "Cannot build RDN: invalid attribute parameters!"
+#: plugins/admin/groups/class_group.inc:1069
+msgid "Group member"
+msgstr "Członek grupy"
+
+#: plugins/admin/groups/class_groupManagement.inc:26
+msgid ""
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1286
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
 #, fuzzy
-msgid "The selected password method requires initial configuration!"
-msgstr "Ta aplikacja nie jest już dostępna."
-
-#: plugins/personal/generic/class_user.inc:1351
-#: plugins/personal/generic/class_user.inc:1713
-#: plugins/personal/generic/class_user.inc:1816
-#: plugins/personal/generic/generic.tpl:199
-msgid "Homepage"
-msgstr "Strona domowa"
-
-#: plugins/personal/generic/class_user.inc:1362
-#: plugins/personal/generic/class_user.inc:1825
-#: plugins/personal/generic/generic.tpl:407
-msgid "Mobile"
-msgstr "Komórka"
-
-#: plugins/personal/generic/class_user.inc:1365
-#: plugins/personal/generic/class_user.inc:1828
-#: plugins/personal/generic/generic.tpl:415
-msgid "Pager"
-msgstr "Pager"
+msgid "Infrastructure error"
+msgstr "błąd PHP:"
 
-#: plugins/personal/generic/class_user.inc:1370
-#: plugins/personal/generic/class_user.inc:1685
-#: plugins/personal/generic/generic.tpl:119
-msgid "Date of birth"
-msgstr "Data urodzenia"
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
+#, fuzzy
+msgid "Edit POSIX properties"
+msgstr "Edytuj właściwości UNIX"
 
-#: plugins/personal/generic/class_user.inc:1485
-msgid "Cannot open certificate!"
-msgstr "Nie można otworzyć certyfikatu!"
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
+msgid "Edit mail properties"
+msgstr "Edytuj właściwości Poczty"
 
-#: plugins/personal/generic/class_user.inc:1653
-#: plugins/personal/generic/generic.tpl:531
-msgid "Unit"
-msgstr "Jednostka"
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
+msgid "Edit samba properties"
+msgstr "Edytuj właściwości Samba"
 
-#: plugins/personal/generic/class_user.inc:1654
-#: plugins/personal/generic/generic.tpl:556
-msgid "House identifier"
-msgstr "Identyfikator budynku"
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
+msgid "Edit phone properties"
+msgstr "Edytuj właściwości Telefonu"
 
-#: plugins/personal/generic/class_user.inc:1655
-#: plugins/personal/generic/generic.tpl:473
-msgid "Vocation"
-msgstr "Wywołanie"
+#: plugins/admin/groups/class_groupManagement.inc:189
+msgid "Menu"
+msgstr "Menu"
 
-#: plugins/personal/generic/class_user.inc:1656
-#: plugins/personal/generic/generic.tpl:600
-msgid "Last delivery"
-msgstr "Ostatnia dostawa"
+#: plugins/admin/groups/class_groupManagement.inc:190
+#, fuzzy
+msgid "Edit start menu properties"
+msgstr "Edytuj właściwości Samba"
 
-#: plugins/personal/generic/class_user.inc:1657
-#: plugins/personal/generic/generic.tpl:522
-msgid "Person locality"
-msgstr "Lokalizacja osoby"
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
+msgid "Edit environment properties"
+msgstr "Edytuj właściwości Środowiska"
 
-#: plugins/personal/generic/class_user.inc:1658
-#: plugins/personal/generic/generic.tpl:481
-msgid "Unit description"
-msgstr "Opis jednostki"
+#: plugins/admin/groups/group-filter.xml:31
+#, fuzzy
+msgid "Default filter2"
+msgstr "Parametr"
 
-#: plugins/personal/generic/class_user.inc:1659
-#: plugins/personal/generic/generic.tpl:490
-msgid "Subject area"
-msgstr "Sektor"
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
+msgstr "Tekst opisowy dla tej grupy"
 
-#: plugins/personal/generic/class_user.inc:1660
-#: plugins/personal/generic/generic.tpl:499
-msgid "Functional title"
-msgstr "Tytuł funkcjonalny"
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+msgid "Select to create a samba conform group"
+msgstr "Wybierz aby utworzyć grupę samba"
 
-#: plugins/personal/generic/class_user.inc:1661
-#: plugins/personal/generic/generic_certs.tpl:78
-msgid "Certificate serial number"
-msgstr "Nmer seryjny certyfikatu"
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
+msgstr "w domenie"
 
-#: plugins/personal/generic/class_user.inc:1662
-#: plugins/personal/generic/generic.tpl:609
-msgid "Public visible"
-msgstr "Publicznie widoczne"
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
+msgstr "Członkowie są w grupie odbioru telefonu"
 
-#: plugins/personal/generic/class_user.inc:1663
-#: plugins/personal/generic/generic.tpl:540
-msgid "Street"
-msgstr "Ulica"
+#: plugins/admin/groups/generic.tpl:146
+#, fuzzy
+msgid "Members are in a Nagios group"
+msgstr "Członkowie są w grupie nagios."
 
-#: plugins/personal/generic/class_user.inc:1665
-#: plugins/personal/generic/generic.tpl:548
-msgid "Postal code"
-msgstr "Kod pocztowy"
+#: plugins/admin/groups/generic.tpl:174
+#, fuzzy
+msgid "Common group members"
+msgstr "Pokaż grupy"
 
-#: plugins/personal/generic/class_user.inc:1669
-msgid "Generic user settings"
-msgstr "Ogólne ustawienia użytkownika"
+#: plugins/admin/groups/generic.tpl:183
+#, fuzzy
+msgid "Partial group members"
+msgstr "Członkowie grupy"
 
-#: plugins/personal/generic/class_user.inc:1673
-#: plugins/personal/posix/class_posixAccount.inc:1455
-#: plugins/personal/password/class_password.inc:205
-msgid "My account"
-msgstr "Moje konto "
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
+msgstr "Członkowie grupy"
 
-#: plugins/personal/generic/class_user.inc:1681
-msgid "User identification"
-msgstr "Identyfikacja użytkownika"
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
+msgstr "Lista grup"
 
-#: plugins/personal/generic/class_user.inc:1682
-#: plugins/personal/generic/generic.tpl:98
-msgid "Personal title"
-msgstr "Osobisty tytuł"
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
+msgstr "Właściwości"
 
-#: plugins/personal/generic/class_user.inc:1683
-#: plugins/personal/generic/generic.tpl:108
-msgid "Academic title"
-msgstr "Tytuł naukowy"
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
+msgstr "Edytuj"
 
-#: plugins/personal/generic/class_user.inc:1686
-#: plugins/personal/generic/generic.tpl:138
-msgid "Sex"
-msgstr "Płeć"
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
+msgid "Send message"
+msgstr "Wyślij wiadomość"
 
-#: plugins/personal/generic/class_user.inc:1687
-msgid "Preferred language"
-msgstr "Preferowany język"
+#: plugins/admin/groups/group-list.xml:138
+#, fuzzy
+msgid "Edit group"
+msgstr "Grupa podstawowa"
 
-#: plugins/personal/generic/class_user.inc:1690
-#: plugins/personal/generic/paste_generic.tpl:47
-msgid "User picture"
-msgstr "Zdjęcie użytkownika"
+#: plugins/admin/groups/group-list.xml:151
+#, fuzzy
+msgid "Remove group"
+msgstr "serwery"
 
-#: plugins/personal/generic/class_user.inc:1692
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
 #, fuzzy
-msgid "Login restrictions"
-msgstr "Hasło wygasa"
+msgid "User and group selection"
+msgstr "Ustawienia grupy"
 
-#: plugins/personal/generic/class_user.inc:1696
-msgid "Department number"
-msgstr "Numer departamentu"
+#: plugins/admin/ogroups/ogroup-list.xml:11
+msgid "List of object groups"
+msgstr "Lista grupy obiektów"
 
-#: plugins/personal/generic/class_user.inc:1698
-msgid "Employee number"
-msgstr "Numer pracownika"
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
+msgstr "Grupa obiektu"
 
-#: plugins/personal/generic/class_user.inc:1699
-#: plugins/personal/generic/generic.tpl:331
-msgid "Employee type"
-msgstr "Typ pracownika"
+#: plugins/admin/ogroups/ogroup-list.xml:142
+msgid "Edit object group"
+msgstr "Modyfikuj grupę obiektów"
 
-#: plugins/personal/generic/class_user.inc:1701
-msgid "Room number"
-msgstr "Numer pokoju"
+#: plugins/admin/ogroups/ogroup-list.xml:155
+msgid "Remove object group"
+msgstr "Usuń grupę obiektów"
 
-#: plugins/personal/generic/class_user.inc:1702
-msgid "Telefon number"
-msgstr "Numer telefonu"
+#: plugins/admin/ogroups/paste_generic.tpl:1
+#, fuzzy
+msgid "Paste object group"
+msgstr "Grupa obiektu"
 
-#: plugins/personal/generic/class_user.inc:1703
-msgid "Pager number"
-msgstr "Numer pagera"
+#: plugins/admin/ogroups/paste_generic.tpl:7
+#, fuzzy
+msgid "Please enter the new object group name"
+msgstr "Proszę podać nową nazwę."
 
-#: plugins/personal/generic/class_user.inc:1704
-msgid "Mobile number"
-msgstr "Telefon komórkowy"
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1705
-msgid "Fax number"
-msgstr "Numer fax"
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
+msgstr "Drukarka"
 
-#: plugins/personal/generic/class_user.inc:1711
-msgid "Home postal address"
-msgstr "Adres domowy"
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
+#, fuzzy
+msgid "Object selection"
+msgstr "Ustawienia grupy"
 
-#: plugins/personal/generic/class_user.inc:1712
-msgid "Home phone number"
-msgstr "Numer telefonu domowego"
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
+msgid "Phone queue"
+msgstr "Kolejka telefoniczna"
 
-#: plugins/personal/generic/class_user.inc:1714
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
 #, fuzzy
-msgid "User password method"
-msgstr "Przechowywanie hasła"
-
-#: plugins/personal/generic/class_user.inc:1715
-msgid "User certificates"
-msgstr "Certyfikaty użytkownika"
+msgid "Groupware"
+msgstr "Nazwa grupy"
 
-#: plugins/personal/generic/class_user.inc:1923
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
 #, fuzzy
-msgid "Entries differ"
-msgstr "Wpisów na stronie"
+msgid "System settings"
+msgstr "Ustawienia użytkownika"
 
-#: plugins/personal/generic/changed.tpl:3
-#: plugins/personal/password/changed.tpl:3
-msgid ""
-"You've successfully changed your password. Remember to change all programms "
-"configured to use it as well."
-msgstr ""
-"Pomyślnie zmieniono hasło. Proszę pamiętać aby zmienić również ustawienia w "
-"programach skonfigurowanych do używania tego hasła."
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
+#, fuzzy
+msgid "Recipe"
+msgstr "Odbiorcy"
 
-#: plugins/personal/generic/generic.tpl:6
-msgid "Personal information"
-msgstr "Informacje osobiste"
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
+msgstr "Urządzenia"
 
-#: plugins/personal/generic/generic.tpl:20
-#: plugins/personal/generic/generic.tpl:22
-#: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/paste_generic.tpl:37
-#: plugins/personal/generic/generic_picture.tpl:5
-#: plugins/personal/generic/generic_picture.tpl:15
-msgid "Personal picture"
-msgstr "Osobiste zdjęcie"
-
-#: plugins/personal/generic/generic.tpl:29
-#: plugins/personal/generic/generic.tpl:40
-msgid "Change picture"
-msgstr "Zmień zdjęcie"
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
+#, fuzzy
+msgid "Deployment summary"
+msgstr "Numer departamentu"
 
-#: plugins/personal/generic/generic.tpl:62
-msgid "Template name"
-msgstr "Nazwa Szablonu"
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
+msgstr ""
 
-#: plugins/personal/generic/generic.tpl:151
-msgid "Preferred langage"
-msgstr "Preferowany język"
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
+msgstr "Aplikacje"
 
-#: plugins/personal/generic/generic.tpl:191
-msgid "Private phone"
-msgstr "Telefon prywatny"
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
+msgstr "Nazwa grupy"
 
-#: plugins/personal/generic/generic.tpl:212
-msgid "Password storage"
-msgstr "Przechowywanie hasła"
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
+msgstr "Dodaj członka"
 
-#: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/generic_certs.tpl:3
-msgid "Certificates"
-msgstr "Certyfikaty"
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
+msgstr ""
 
-#: plugins/personal/generic/generic.tpl:232
-msgid "Edit certificates"
-msgstr "Edytuj certyfikaty"
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
+msgstr "żaden"
 
-#: plugins/personal/generic/generic.tpl:244
-msgid "Restrict login to"
-msgstr "Ogranicz logowanie do"
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
+msgstr "za dużo różnych obiektów!"
 
-#: plugins/personal/generic/generic.tpl:250
-#: plugins/personal/generic/generic.tpl:266
-msgid "IP or network"
-msgstr "IP lub sieć"
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
+msgstr "użytkownicy"
 
-#: plugins/personal/generic/generic.tpl:287
-msgid "Organizational information"
-msgstr "Informacje organizacyjne"
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
+msgstr "grupy"
 
-#: plugins/personal/generic/generic.tpl:315
-msgid "Department No."
-msgstr "Numer departamentu"
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
+msgstr "aplikacje"
 
-#: plugins/personal/generic/generic.tpl:323
-msgid "Employee No."
-msgstr "Numer pracownika"
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
+msgstr "departamenty"
 
-#: plugins/personal/generic/generic.tpl:389
-#: plugins/personal/generic/generic.tpl:571
-msgid "Room No."
-msgstr "Numer pokoju"
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
+msgstr "serwery"
 
-#: plugins/personal/generic/generic.tpl:585
-msgid "Please use the phone tab"
-msgstr "Proszę użyć zakładki telefony"
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
+msgstr "stacje robocze"
 
-#: plugins/personal/generic/paste_generic.tpl:1
-msgid "User settings"
-msgstr "Ustawienia użytkownika"
+#: plugins/admin/ogroups/class_ogroup.inc:328
+#, fuzzy
+msgid "Windows workstations"
+msgstr "Pokaż stacje robocze"
 
-#: plugins/personal/generic/paste_generic.tpl:23
-msgid "Clear password"
-msgstr "Wyczyść hasło"
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
+msgstr "terminale"
 
-#: plugins/personal/generic/paste_generic.tpl:24
-msgid "Set new password"
-msgstr "Ustaw nowe hasło"
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
+msgstr "telefony"
 
-#: plugins/personal/generic/paste_generic.tpl:52
-#: plugins/personal/generic/generic_picture.tpl:27
-msgid "Remove picture"
-msgstr "Usuń obrazek"
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
+msgstr "drukarki"
 
-#: plugins/personal/generic/main.inc:168
-msgid "Generic user information"
-msgstr "Ogólne informacje o użytkowniku"
+#: plugins/admin/ogroups/class_ogroup.inc:533
+#, fuzzy
+msgid "Non existing DN:"
+msgstr "Nieistniejące dn:"
 
-#: plugins/personal/generic/password.tpl:4
-#: plugins/personal/password/password.tpl:4
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
 msgid ""
-"To change your personal password use the fields below. The changes take "
-"effect immediately. Please memorize the new password, because you wouldn't "
-"be able to login without it."
+"These systems are already configured by other object groups and cannot be "
+"added:"
 msgstr ""
-"Aby zmienić własne hasło, proszę użyć formularza poniżej. Zmiany są "
-"wprowadzane do systemu natychmiast. Proszę zapamiętać nowe hasło, gdyż bez "
-"niego logowanie będzie niemożliwe."
 
-#: plugins/personal/generic/password.tpl:42
-#: plugins/personal/password/password.tpl:47
+#: plugins/admin/ogroups/class_ogroup.inc:685
 #, fuzzy
-msgid "Password change dialog"
-msgstr "Zmiana hasła"
+msgid "You can combine two different object types at maximum, only!"
+msgstr "Można połączyć maksymalnie tylko 2 różne typy obiektów!"
 
-#: plugins/personal/generic/password.tpl:90
-#: plugins/personal/password/password.tpl:95
-msgid "Clear fields"
-msgstr "Wyczyść pola"
+#: plugins/admin/ogroups/class_ogroup.inc:849
+msgid "Object group generic"
+msgstr "Podstawowa grupa obiektu"
 
-#: plugins/personal/generic/generic_certs.tpl:8
-msgid "Standard certificate"
-msgstr "Standardowy certyfikat"
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
+msgstr "Grupy obiektów"
 
-#: plugins/personal/generic/generic_certs.tpl:33
-msgid "S/MIME certificate"
-msgstr "certyfikat S/MIME"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
+msgstr ""
 
-#: plugins/personal/generic/generic_certs.tpl:57
-msgid "PKCS12 certificate"
-msgstr "certyfikat PKCS12"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+msgid "Templates"
+msgstr "Szablony"
 
-#: plugins/personal/generic/nochange.tpl:2
-#: plugins/personal/password/nochange.tpl:2
-#, fuzzy
-msgid "You have no permission to change your password at this time"
-msgstr "Brak uprawnień do zmiany własnego hasła"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
+msgstr "Aplikacja"
 
-#: plugins/personal/generic/nochange.tpl:5
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
 #, fuzzy
-msgid "Your password hash method will not be changed!"
-msgstr "Twoje hasło zostało pomyślnie zmienione."
+msgid "Windows Install"
+msgstr "Stacja robocza Windows"
 
-#: plugins/personal/posix/class_posixAccount.inc:38
-#, fuzzy
-msgid "Edit users POSIX settings"
-msgstr "Ustawienia Posix"
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
+msgid "ACL Templates"
+msgstr "Szablony ACL"
 
-#: plugins/personal/posix/class_posixAccount.inc:168
-msgid "expired"
-msgstr "wygasło"
+#: plugins/admin/acl/acl-list.xml:11
+#, fuzzy
+msgid "List of ACLs"
+msgstr "Lista ACLi"
 
-#: plugins/personal/posix/class_posixAccount.inc:170
-msgid "grace time active"
-msgstr "Czas prolongaty aktywny"
+#: plugins/admin/acl/paste_role.tpl:1
+#, fuzzy
+msgid "Paste ACL-role"
+msgstr "Usuń makro"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-#: plugins/personal/posix/class_posixAccount.inc:175
-#: plugins/personal/posix/class_posixAccount.inc:177
-msgid "active"
-msgstr "Aktywne"
+#: plugins/admin/acl/acl-filter.xml:48
+#: plugins/admin/acl/class_aclManagement.inc:154
+#, fuzzy
+msgid "ACL Assignment"
+msgstr "Zarządzanie ACL"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-msgid "password not changeable"
-msgstr "hasło niezmienialne"
+#: plugins/admin/acl/class_aclManagement.inc:26
+msgid ""
+"Control access to GOsa managed objects down to attribute and action level"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:175
-msgid "password expired"
-msgstr "hasło wygasło"
+#: plugins/admin/acl/class_aclRole.inc:26
+#: plugins/admin/acl/class_aclRole.inc:715
+#, fuzzy
+msgid "Access control roles"
+msgstr "Kontrola dostępu"
 
-#: plugins/personal/posix/class_posixAccount.inc:248
-msgid "automatic"
-msgstr "automatyczne"
+#: plugins/admin/acl/class_aclRole.inc:27
+#, fuzzy
+msgid "Edit AC roles"
+msgstr "ACLe"
 
-#: plugins/personal/posix/class_posixAccount.inc:444
-#, php-format
-msgid "Password can't be changed up to %s days after last change"
-msgstr "Hasło nie może być zmienione do %s dni po ostatniej zmianie"
+#: plugins/admin/acl/class_aclRole.inc:138
+msgid "Reset ACL"
+msgstr "Resetuj ACL"
 
-#: plugins/personal/posix/class_posixAccount.inc:448
-#, php-format
-msgid "Password must be changed after %s days"
-msgstr "Hasło musi zostać zmienione po %s dniach"
+#: plugins/admin/acl/class_aclRole.inc:411
+msgid "No ACL settings for this category"
+msgstr "Brak ustawień ACL w tej kategorii"
 
-#: plugins/personal/posix/class_posixAccount.inc:452
+#: plugins/admin/acl/class_aclRole.inc:413
 #, fuzzy, php-format
-msgid "Disable account after %s days of inactivity after password expiry"
-msgstr "Wyłącz konto po %s dniach nieaktywności po wygaśnięciu hasła"
+msgid "ACL for these objects: %s"
+msgstr "Zawiera ACL'e w tych kategoriach: %s"
 
-#: plugins/personal/posix/class_posixAccount.inc:456
-#, fuzzy, php-format
-msgid "Warn user %s days before password expiry"
-msgstr "Ostrzeż użytkownika na %s dni przed wygaśnięciem hasła"
+#: plugins/admin/acl/class_aclRole.inc:418
+#, fuzzy
+msgid "Edit category ACL"
+msgstr "Edytuj kategorie ACL'i"
 
-#: plugins/personal/posix/class_posixAccount.inc:793
-msgid "Timeout while waiting for lock. Ignoring lock!"
-msgstr ""
+#: plugins/admin/acl/class_aclRole.inc:421
+#, fuzzy
+msgid "Delete category ACL"
+msgstr "Kategoria"
 
-#: plugins/personal/posix/class_posixAccount.inc:851
-#: plugins/personal/posix/class_posixAccount.inc:1169
-msgid "Group of user"
-msgstr "Grupa użytkownika"
+#: plugins/admin/acl/class_aclRole.inc:442
+#, php-format
+msgid "Edit ACL for '%s', scope is '%s'"
+msgstr "Edytuj ACL dla '%s', zakres to '%s'"
 
-#: plugins/personal/posix/class_posixAccount.inc:946
-msgid ""
-"A duplicated UID number was written for this user. If this was not intended "
-"please verify all used uidNumbers!"
+#: plugins/admin/acl/class_aclRole.inc:635
+#, fuzzy
+msgid "Object in use"
+msgstr "Nazwa obiektu"
+
+#: plugins/admin/acl/class_aclRole.inc:635
+#, php-format
+msgid "This role cannot be removed while it is in use by these objects:"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1027
-#: plugins/personal/posix/class_posixAccount.inc:1030
-#: plugins/personal/posix/class_posixAccount.inc:1105
-#: plugins/personal/posix/class_posixAccount.inc:1108
-#: plugins/personal/posix/class_posixAccount.inc:1461
-#: plugins/personal/posix/generic.tpl:7
-#: plugins/personal/posix/paste_generic.tpl:8
-msgid "Home directory"
-msgstr "Katalog domowy"
+#: plugins/admin/acl/class_aclRole.inc:731
+#, fuzzy
+msgid "RDN for role storage."
+msgstr "Ustawienia profilu Kiosk"
 
-#: plugins/personal/posix/class_posixAccount.inc:1038
-#: plugins/personal/posix/class_posixAccount.inc:1041
-#: plugins/personal/posix/generic.tpl:63
-#: plugins/personal/posix/paste_generic.tpl:36
-msgid "UID"
-msgstr "UID"
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
+msgid "Domain component"
+msgstr "Komponent domeny"
 
-#: plugins/personal/posix/class_posixAccount.inc:1061
-#: plugins/personal/posix/class_posixAccount.inc:1114
-msgid "shadowMin"
-msgstr "shadowMin"
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
+#, fuzzy
+msgid "Locality name"
+msgstr "Nazwa lokalizacji"
 
-#: plugins/personal/posix/class_posixAccount.inc:1066
-#: plugins/personal/posix/class_posixAccount.inc:1119
-msgid "shadowMax"
-msgstr "shadowMax"
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
+#, fuzzy
+msgid "Name of locality to create"
+msgstr "Nazwa tworzonego poddrzewa"
 
-#: plugins/personal/posix/class_posixAccount.inc:1071
-#: plugins/personal/posix/class_posixAccount.inc:1124
-msgid "shadowWarning"
-msgstr "shadowWarning"
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
+msgstr "Tekst opisujący departament"
 
-#: plugins/personal/posix/class_posixAccount.inc:1085
-#: plugins/personal/posix/class_posixAccount.inc:1138
-#, fuzzy
-msgid "shadowInactive"
-msgstr "Shadow nieaktywne"
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
+msgid "Administrative settings"
+msgstr "Ustawienia administracyjne"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
-msgid "POSIX account"
-msgstr "Konto POSIX"
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
+msgstr "Zaznacz departament jako niezależną jednostkę administracyjną"
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
-#: plugins/personal/posix/generic.tpl:15
-msgid "Shell"
-msgstr "Shell"
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
+msgstr "Kraj"
 
-#: plugins/personal/posix/class_posixAccount.inc:1463
-#: setup/setup_migrate.tpl:291
-msgid "User ID"
-msgstr "Identyfikator użytkownika"
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
+#, fuzzy
+msgid "Locality"
+msgstr "Lokalizacja"
 
-#: plugins/personal/posix/class_posixAccount.inc:1464
-msgid "Group ID"
-msgstr "ID grupy"
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
+msgid "Domain"
+msgstr "Domena"
 
-#: plugins/personal/posix/class_posixAccount.inc:1466
-msgid "Force password change on login"
-msgstr "Wymuś zmianę hasła podczas logowania"
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
+msgid "Country name"
+msgstr "Nazwa Kraju"
 
-#: plugins/personal/posix/class_posixAccount.inc:1467
-msgid "Shadow min"
-msgstr "Shadow min"
+#: plugins/admin/departments/country.tpl:14
+#, fuzzy
+msgid "Name of country to create"
+msgstr "Nazwa tworzonego poddrzewa"
 
-#: plugins/personal/posix/class_posixAccount.inc:1468
-msgid "Shadow max"
-msgstr "Shadow max"
+#: plugins/admin/departments/dep-list.xml:11
+#, fuzzy
+msgid "List of structural objects"
+msgstr "Lista grupy obiektów"
 
-#: plugins/personal/posix/class_posixAccount.inc:1469
-msgid "Shadow warning"
-msgstr "Shadow ostrzeżenie"
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+#, fuzzy
+msgid "You are currently moving/renaming this department."
+msgstr "Brak uprawnień do usunięcia tego departamentu."
 
-#: plugins/personal/posix/class_posixAccount.inc:1470
-msgid "Shadow inactive"
-msgstr "Shadow nieaktywne"
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1471
-msgid "Shadow expire"
-msgstr "Shadow wygasa"
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+msgid "GOsa can NOT fix this for you, yet."
+msgstr "GOsa NIE może naprawić tego dla Ciebie, jeszcze."
 
-#: plugins/personal/posix/class_posixAccount.inc:1472
-msgid "Public SSH key"
-msgstr "Publiczny klucz SSH"
+#: plugins/admin/departments/dep_move_confirm.tpl:12
+msgid ""
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1473
-msgid "System trust model"
-msgstr "Zaufanie do systemów"
+#: plugins/admin/departments/organization.tpl:11
+#, fuzzy
+msgid "Name of organization"
+msgstr "Organizacja"
 
-#: plugins/personal/posix/generic.tpl:25
-#: plugins/personal/posix/paste_generic.tpl:17
-msgid "Primary group"
-msgstr "Grupa podstawowa"
+#: plugins/admin/departments/organization.tpl:14
+#, fuzzy
+msgid "Name of organization to create"
+msgstr "Nazwa tworzonego poddrzewa"
 
-#: plugins/personal/posix/generic.tpl:36
-msgid "Status"
-msgstr "Status"
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
+msgstr "Kategoria dla tego poddrzewa"
 
-#: plugins/personal/posix/generic.tpl:41
-msgid "Last logon"
-msgstr "Ostatnie logowanie"
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
+msgstr "Stan w którym jest umieszczone to poddrzewo"
 
-#: plugins/personal/posix/generic.tpl:59
-#: plugins/personal/posix/paste_generic.tpl:31
-msgid "Force UID/GID"
-msgstr "Wymuś UID/GID"
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
+msgstr "Lokalizacja tego poddrzewa"
 
-#: plugins/personal/posix/generic.tpl:89
-#: plugins/personal/posix/paste_generic.tpl:55
-msgid "Group membership"
-msgstr "Przynależność do grup"
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
+msgstr "Kod pocztowy tego poddrzewa"
 
-#: plugins/personal/posix/generic.tpl:91
-#: plugins/personal/posix/paste_generic.tpl:62
-msgid "(Warning: more than 16 groups are not supported by NFS!)"
-msgstr "(Uwaga: NFS nie wspiera więcej niż 16 grup!)"
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
+msgstr "Bazowy numer telefonu tego poddrzewa"
 
-#: plugins/personal/posix/generic.tpl:100
-#, fuzzy
-msgid "Common group"
-msgstr "Pokaż grupy"
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
+msgstr "Bazowy numer faxu tego poddrzewa"
 
-#: plugins/personal/posix/generic.tpl:104
+#: plugins/admin/departments/class_department.inc:439
 #, fuzzy
-msgid "Groups differ"
-msgstr "Grupa użytkownika"
+msgid "Cannot find an unused tag for this administrative unit!"
+msgstr ""
+"Błąd krytyczny: Nie można znaleźć nieużywnego znacznika dla jednostki "
+"administracyjnej!"
 
-#: plugins/personal/posix/generic.tpl:127
-msgid "SSH keys"
-msgstr "Klucze SSH"
+#: plugins/admin/departments/class_department.inc:507
+#, php-format
+msgid "Tagging '%s'."
+msgstr "Zaznaczanie '%s'."
 
-#: plugins/personal/posix/generic.tpl:128
-msgid "Edit public ssh keys..."
-msgstr "Edytuj publiczne klucze ssh"
+#: plugins/admin/departments/class_department.inc:588
+#, php-format
+msgid "Moving '%s' to '%s'"
+msgstr "Przenoszenie '%s' do '%s'"
 
-#: plugins/personal/posix/generic.tpl:132
-msgid "Account"
-msgstr "Konto"
+#: plugins/admin/departments/class_department.inc:629
+#, php-format
+msgid "FAILED to copy %s, aborting operation"
+msgstr "BŁĄD kopiowania %s, anulowanie operacji"
 
-#: plugins/personal/posix/posix_groups.tpl:6
-msgid "Select groups to add"
-msgstr "Wybierz grupy do dodania"
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
+msgstr "Departamenty"
 
-#: plugins/personal/posix/posix_groups.tpl:32
-msgid "Display groups of department"
-msgstr "Wyświetl grupy departamentu"
+#: plugins/admin/departments/class_department.inc:674
+msgid "Department name"
+msgstr "Nazwa departamentu"
 
-#: plugins/personal/posix/posix_groups.tpl:44
-msgid "Display groups matching"
-msgstr "Wyświetl grupy pasujące"
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
+msgstr "Telefon"
 
-#: plugins/personal/posix/posix_groups.tpl:48
-msgid "Regular expression for matching group names"
-msgstr "Wyrażenie regularne dla dopasowania nazw grup"
+#: plugins/admin/departments/class_department.inc:737
+#, php-format
+msgid "Object '%s' is already tagged"
+msgstr "Obiekt '%s' jest już zaznaczony"
 
-#: plugins/personal/posix/posix_groups.tpl:55
-msgid "Display groups of user"
-msgstr "Wyświetl grupy użytkownika"
+#: plugins/admin/departments/class_department.inc:744
+#, php-format
+msgid "Adding tag (%s) to object '%s'"
+msgstr "Dodawanie znacznika (%s) do obiektu '%s'"
 
-#: plugins/personal/posix/posix_groups.tpl:59
-msgid "User name of which groups are shown"
-msgstr "Nazwa użytkownika którego grupy są pokazane"
+#: plugins/admin/departments/class_department.inc:776
+#, php-format
+msgid "Removing tag from object '%s'"
+msgstr "Usuwanie znacznika z obiektu '%s'"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:11
-msgid "Show servers"
-msgstr "Pokaż serwery"
+#: plugins/admin/departments/dep_iframe.tpl:1
+msgid "Processing the requested operation"
+msgstr "Przetwarzam zadaną operację"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:12
-msgid "Show workstations"
-msgstr "Pokaż stacje robocze"
+#: plugins/admin/departments/dep_iframe.tpl:7
+#, fuzzy
+msgid ""
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
+msgstr ""
+"Twoja przeglądarka nie obsługuje iframes, proszę użyć tego linku aby wykonać "
+"żądaną operację."
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:13
-msgid "Show terminals"
-msgstr "Pokaż terminale"
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
+msgid "Domain Component"
+msgstr "Komponent Domeny"
 
-#: plugins/personal/posix/paste_generic.tpl:4
-msgid "Posix settings"
-msgstr "Ustawienia Posix"
+#: plugins/admin/departments/class_organizationGeneric.inc:122
+msgid "Organization name"
+msgstr "Nazwa organizacji"
 
-#: plugins/personal/posix/main.inc:142
-#, fuzzy
-msgid "POSIX settings"
-msgstr "Ustawienia Posix"
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+msgid "Phone number"
+msgstr "Numer telefonu"
 
-#: plugins/personal/posix/posix_shadow.tpl:9
-msgid "User must change password on first login"
-msgstr "Użytkownik musi zmienić hasło przy pierwszym logowaniu"
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
+msgstr "Nazwa departamentu"
 
-#: plugins/personal/posix/posix_shadow.tpl:34
-msgid "Password expires on"
-msgstr "Hasło wygasa"
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
+msgstr "Nazwa tworzonego poddrzewa"
 
-#: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
+#: plugins/admin/departments/generic.tpl:22
 #, fuzzy
-msgid "Password settings"
-msgstr "Ustawienia użytkownika"
+msgid "Descriptive text for   department"
+msgstr "Tekst opisujący departament"
 
-#: plugins/personal/password/password.tpl:14
+#: plugins/admin/departments/class_departmentManagement.inc:25
 #, fuzzy
-msgid "Your Password has expired. Please choose a new password!"
-msgstr "Twoje hasło wygasło !! Proszę wybrać inne hasło"
+msgid "Directory structure"
+msgstr "Katalog"
 
-#: plugins/personal/password/class_password.inc:27
-#, fuzzy
-msgid "Change user password"
-msgstr "Zmień hasło"
+#: plugins/admin/departments/class_departmentManagement.inc:26
+msgid ""
+"Manage organizations, organizational units, localities, countries and more"
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:129
-msgid "You need to specify your current password in order to proceed."
-msgstr "Proszę podać obecne hasło aby kontynuować."
+#: plugins/admin/departments/class_departmentManagement.inc:125
+msgid ""
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:135
-msgid "The password you've entered as 'New password' is empty."
-msgstr "Hasło które podano jako 'Nowe hasło' jest puste."
+#: plugins/admin/departments/domain.tpl:11
+#, fuzzy
+msgid "Domain name"
+msgstr "Administratorzy domeny"
 
-#: plugins/personal/password/class_password.inc:144
-#, fuzzy, php-format
-msgid "External password changer reported a problem: %s."
-msgstr "Zewnętrzny program do zmiany hasła zgłosił następujący problem:"
+#: plugins/admin/departments/domain.tpl:14
+#, fuzzy
+msgid "Name of domain to create"
+msgstr "Nazwa tworzonego poddrzewa"
 
-#: plugins/personal/password/class_password.inc:158
+#: plugins/admin/users/password.tpl:4
 msgid ""
-"The password you've entered as your current password doesn't match the real "
-"one."
-msgstr "Hasło które podano jako obecne nie zgadza się z prawdziwym hasłem."
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
+msgstr ""
+"Aby zmienić hasło użytkownika, proszę użyć formularza poniżej. Zmiany są "
+"wprowadzane natychmiastowo. Proszę zapamiętać nowe hasło, gdyż bez niego "
+"zalogowanie będzie niemożliwe."
 
-#: plugins/personal/password/class_password.inc:164
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
 #, fuzzy
-msgid "You have no permission to change your password."
-msgstr "Brak uprawnień do zmiany własnego hasła"
-
-#: plugins/personal/password/class_password.inc:201
-msgid "User password"
-msgstr "Hasło użytkownika"
+msgid "Password input dialog"
+msgstr "Zmiana hasła"
 
-#: setup/class_setupStep_Feedback.inc:92
-#, fuzzy
-msgid "UNIX accounts/groups"
-msgstr "Konta Unix"
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
+msgid "Strength"
+msgstr "Siła"
 
-#: setup/class_setupStep_Feedback.inc:94
+#: plugins/admin/users/password.tpl:95
 #, fuzzy
-msgid "Samba management"
-msgstr "Zarządzanie systemem"
+msgid "Enforce password change on next login."
+msgstr "Wymuś zmianę hasła podczas logowania"
 
-#: setup/class_setupStep_Feedback.inc:96
+#: plugins/admin/users/templatize.tpl:2
 #, fuzzy
-msgid "Mailsystem management"
-msgstr "Zarządzanie systemem"
+msgid "Applying a template"
+msgstr "Szablony"
 
-#: setup/class_setupStep_Feedback.inc:98
-#, fuzzy
-msgid "FAX system administration"
-msgstr "Administracja użytkownikami"
+#: plugins/admin/users/templatize.tpl:6
+msgid ""
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:100
+#: plugins/admin/users/templatize.tpl:13
 #, fuzzy
-msgid "Asterisk administration"
-msgstr "Administracja użytkownikami"
+msgid "Apply user template"
+msgstr "Szablony"
 
-#: setup/class_setupStep_Feedback.inc:102
-#, fuzzy
-msgid "System inventory"
-msgstr "Usuń inwentarz"
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
+msgstr "Szablon"
 
-#: setup/class_setupStep_Feedback.inc:104
-#, fuzzy
-msgid "System-/Configmanagement"
-msgstr "Zarządzanie systemem"
+#: plugins/admin/users/templatize.tpl:32
+msgid "No templates available!"
+msgstr "Brak szablonów!"
 
-#: setup/class_setupStep_Feedback.inc:106
-msgid "Addressbook"
-msgstr "Książka adresowa"
+#: plugins/admin/users/user-filter.xml:33
+msgid "Show templates"
+msgstr "Pokaż szablony"
 
-#: setup/class_setupStep_Feedback.inc:112
-msgid "Feedback"
-msgstr ""
+#: plugins/admin/users/user-filter.xml:47
+#, fuzzy
+msgid "Show POSIX users"
+msgstr "Ustawienia Posix"
 
-#: setup/class_setupStep_Feedback.inc:113
+#: plugins/admin/users/user-filter.xml:61
 #, fuzzy
-msgid "Get notifications or send feedback"
-msgstr "Ograniczenia dla nadawcy"
+msgid "Show SAMBA users"
+msgstr "Pokaż serwery"
 
-#: setup/class_setupStep_Feedback.inc:114
+#: plugins/admin/users/user-filter.xml:75
 #, fuzzy
-msgid "Notification and feedback"
-msgstr "Powiadomienie wysłane!"
+msgid "Show mail users"
+msgstr "Pokaż użytkowników Poczty"
 
-#: setup/class_setupStep_Feedback.inc:131 setup/class_setup.inc:77
-msgid "Setup error"
-msgstr "Błąd ustawień"
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
+msgstr "Utwórz nowego użytkownika używając szablonów"
 
-#: setup/class_setupStep_Feedback.inc:140
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Feedback error"
+#: plugins/admin/users/template.tpl:6
+msgid ""
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
 msgstr ""
+"Tworzenie nowego użytkownika może być wspomagane przez szablony. Wiele "
+"rekordów bazy będzie automatycznie wypełnionych. Wybierz 'brak' aby pominąć "
+"użycie szablonów."
 
-#: setup/class_setupStep_Feedback.inc:140
-#, php-format
-msgid "Cannot send feedback to '%s': %s"
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Cannot send feedback: service temporarily unavailable"
+#: plugins/admin/users/class_userManagement.inc:26
+msgid ""
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:181
+#: plugins/admin/users/class_userManagement.inc:401
 #, fuzzy
-msgid "Please specify a valid email address."
-msgstr "Proszę podać prawidłową nazwę skryptu."
+msgid "You have no permission to change this users password!"
+msgstr "Brak uprawnień do zmiany własnego hasła"
 
-#: setup/class_setupStep_Feedback.inc:185
+#: plugins/admin/users/class_userManagement.inc:791
+msgid "Account locking"
+msgstr "Blokowanie konta"
+
+#: plugins/admin/users/class_userManagement.inc:792
+#, php-format
 msgid ""
-"You have to select at least one of both options, subscribe or send feedback."
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
 msgstr ""
 
-#: setup/class_setup.inc:197
-#, fuzzy
-msgid "Completed"
-msgstr "niepełne"
-
-#: setup/class_setup.inc:267 setup/setup_migrate.tpl:272
-msgid "Next"
-msgstr "Następne"
+#: plugins/admin/users/class_userManagement.inc:865
+msgid "Unlock account"
+msgstr "Odblokuj konto"
 
-#: setup/setup_config2.tpl:2
-msgid "Samba settings"
-msgstr "Ustawienia Samba"
+#: plugins/admin/users/class_userManagement.inc:867
+msgid "Lock account"
+msgstr "Zablokuj konto"
 
-#: setup/setup_config2.tpl:6
-msgid "Samba hash generator"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:880
+msgid "Edit generic properties"
+msgstr "Edytuj ogólne właściwości"
 
-#: setup/setup_config2.tpl:15
-msgid "Samba SID"
-msgstr "Samba SID"
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
+msgstr "Netatalk"
 
-#: setup/setup_config2.tpl:31
+#: plugins/admin/users/class_userManagement.inc:896
 #, fuzzy
-msgid "RID base"
-msgstr "Baza"
+msgid "Edit Netatalk properties"
+msgstr "Edytuj właściwości Netatalk"
 
-#: setup/setup_config2.tpl:46
-#, fuzzy
-msgid "Workstation container"
-msgstr "Nazwa stacji roboczej"
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
+msgstr "FAX"
 
-#: setup/setup_config2.tpl:61
+#: plugins/admin/users/class_userManagement.inc:904
 #, fuzzy
-msgid "Samba SID mapping"
-msgstr "Samba SID"
+msgid "Edit FAX properties"
+msgstr "Edytuj właściwości UNIX"
 
-#: setup/setup_config2.tpl:71
-msgid "Timezone"
-msgstr "Strefa czasowa"
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
+msgstr "Lista użytkowników"
 
-#: setup/setup_config2.tpl:74
-#, fuzzy
-msgid "Please choose your preferred timezone here"
-msgstr "Preferowany język"
+#: plugins/admin/users/user-list.xml:140
+msgid "Lock users"
+msgstr "Zablokuj użytkowników"
+
+#: plugins/admin/users/user-list.xml:148
+msgid "Unlock users"
+msgstr "Odblokuj użytkowników"
+
+#: plugins/admin/users/user-list.xml:167
+msgid "Apply template"
+msgstr "Zastosuj szablon"
 
-#: setup/setup_config2.tpl:96
+#: plugins/admin/users/user-list.xml:199
 #, fuzzy
-msgid "Additional GOsa settings"
-msgstr "Ustawienia Aplikacji"
+msgid "New user from template"
+msgstr "Utwórz użytkownika z szablonu"
+
+#: plugins/admin/users/user-list.xml:213
+msgid "Edit user"
+msgstr "Edytuj użytkownika"
 
-#: setup/setup_config2.tpl:100
-msgid "Enable Copy & Paste"
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
 msgstr ""
 
-#: setup/setup_config2.tpl:112
-#, fuzzy
-msgid "Government mode"
-msgstr "do folferu"
+#: plugins/admin/users/user-list.xml:245
+msgid "Remove user"
+msgstr "Usuń użytkownika"
 
-#: setup/setup_config2.tpl:123
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
 #, fuzzy
-msgid "GOsa logging"
-msgstr "GOsa"
+msgid "Back to main menu"
+msgstr "Menu główne GOsa"
 
-#: setup/setup_config2.tpl:135
-msgid "Mail settings"
-msgstr "Ustawienia pocztowe"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
+msgstr ""
 
-#: setup/setup_config2.tpl:139
-msgid "Mail method"
-msgstr "Typ pocztowy"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
+msgstr ""
 
-#: setup/setup_config2.tpl:155
-msgid "Account identification attribute"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
 msgstr ""
 
-#: setup/setup_config2.tpl:169
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
 #, fuzzy
-msgid "Vacation templates"
-msgstr "Szablon stacji roboczej"
+msgid "Action"
+msgstr "Akcje"
+
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
+msgid "Systems"
+msgstr "Systemy"
 
-#: setup/setup_config2.tpl:185
-msgid "Use Cyrus UNIX style"
+#: plugins/generic/statistics/statistics.tpl:2
+msgid "Usage statistics"
 msgstr ""
 
-#: setup/setup_config2.tpl:195
-#, fuzzy
-msgid "Snapshots / Undo"
-msgstr "Tworzenie snapshot'u nieudane"
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
+msgid ""
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
+msgstr ""
 
-#: setup/setup_config2.tpl:204 setup/setup_config2.tpl:249
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
 #, fuzzy
-msgid "Enable snapshots"
-msgstr "Utwórz spanshot"
+msgid "Dash board"
+msgstr "Kreator ustawień GOsa"
 
-#: setup/setup_config2.tpl:210 setup/setup_config2.tpl:255
+#: plugins/generic/statistics/statistics.tpl:16
 #, fuzzy
-msgid "Snapshot base"
-msgstr "Tworzenie snapshot'u nieudane"
+msgid ""
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
+msgstr ""
+"OpenGroupware: Nie można połączyć się z bazą. Proszę sprawdzić podane "
+"parametry konfiguracji."
 
-#: setup/setup_frame.tpl:12
-#, fuzzy
-msgid "GOsa setup wizard"
-msgstr "Podgląd pomocy GOsa"
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
+msgstr ""
 
-#: setup/setup_frame.tpl:19
-#, fuzzy
-msgid "Installation"
-msgstr "Stacja Windows"
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
+msgstr ""
 
-#: setup/setup_frame.tpl:19
-msgid "Setup"
-msgstr "Ustawienia"
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
+msgstr "Aktualizuj"
 
-#: setup/setup_migrate.tpl:5
-msgid ""
-"During the LDAP inspection, we're going to check for several common pitfalls "
-"that may occur when migration to GOsa base LDAP administration. You may want "
-"to fix the problems below, in order to provide smooth services."
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
 msgstr ""
 
-#: setup/setup_migrate.tpl:33
+#: plugins/generic/statistics/statistics.tpl:87
 #, fuzzy
-msgid "Check again"
-msgstr "Sprawdź"
-
-#: setup/setup_migrate.tpl:37
-#, fuzzy
-msgid "Add required object classes to the LDAP base"
-msgstr "Wyświetl szablony FAI"
+msgid "Select report type"
+msgstr "Wybierz typ ACL"
 
-#: setup/setup_migrate.tpl:39 setup/setup_migrate.tpl:244
-#: setup/setup_migrate.tpl:344 setup/setup_migrate.tpl:398
-#: setup/setup_migrate.tpl:453 setup/setup_migrate.tpl:496
-#: setup/setup_migrate.tpl:540
-msgid "Current"
-msgstr "Obecne"
+#: plugins/generic/statistics/class_statistics.inc:263
+#, fuzzy, php-format
+msgid ""
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
+msgstr "Obecnie edytujesz bazę danych. Czy chcesz porzucić zmiany?"
 
-#: setup/setup_migrate.tpl:46 setup/setup_migrate.tpl:248
-#: setup/setup_migrate.tpl:351 setup/setup_migrate.tpl:405
-#: setup/setup_migrate.tpl:457 setup/setup_migrate.tpl:500
-#: setup/setup_migrate.tpl:544
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
 #, fuzzy
-msgid "After migration"
-msgstr "Administracja użytkownikami"
+msgid "Channels"
+msgstr "Anuluj"
 
-#: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:664 setup/class_setupStep_Migrate.inc:806
-#: setup/class_setupStep_Migrate.inc:1035
-#: setup/class_setupStep_Migrate.inc:2133
-#: setup/class_setupStep_Migrate.inc:2576
-#: setup/class_setupStep_Migrate.inc:2730
-#: setup/class_setupStep_Migrate.inc:3060
+#: plugins/generic/dashBoard/Register/register.tpl:3
 #, fuzzy
-msgid "Migrate"
-msgstr "Utwórz"
+msgid "GOsa registration"
+msgstr "Ogólne ustawienia GOsa"
 
-#: setup/setup_migrate.tpl:60 setup/setup_migrate.tpl:107
-msgid "Close"
-msgstr "Zamknij"
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
+msgstr ""
 
-#: setup/setup_migrate.tpl:65
-msgid "Move windows workstations into a valid windows workstation department"
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
 msgstr ""
 
-#: setup/setup_migrate.tpl:67
-msgid ""
-"This dialog allows you to move the displayed windows workstations into a "
-"valid department"
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
 msgstr ""
 
-#: setup/setup_migrate.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:22
 msgid ""
-"Be careful with this tool, there may be references pointing to this "
-"workstations that can't be migrated."
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
 msgstr ""
 
-#: setup/setup_migrate.tpl:95
-msgid "Move selected windows workstations into the following GOsa department"
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
 msgstr ""
 
-#: setup/setup_migrate.tpl:100
-#, fuzzy
-msgid "Move selected workstations"
-msgstr "Wybierz aby zobaczyc stacje robocze"
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
+msgstr ""
 
-#: setup/setup_migrate.tpl:101
-msgid "What will be done here"
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
 msgstr ""
 
-#: setup/setup_migrate.tpl:113
-msgid "Move groups into configured group tree"
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
 msgstr ""
 
-#: setup/setup_migrate.tpl:116
+#: plugins/generic/dashBoard/Register/register.tpl:33
 msgid ""
-"This dialog allows moving a couple of groups to the configured group tree. "
-"Doing this may straighten your LDAP service."
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
 msgstr ""
 
-#: setup/setup_migrate.tpl:119
+#: plugins/generic/dashBoard/Register/register.tpl:34
 msgid ""
-"Be careful with this option! There may be references pointing to these "
-"groups. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
 msgstr ""
 
-#: setup/setup_migrate.tpl:122
-msgid "Move selected groups into this group tree"
+#: plugins/generic/dashBoard/Register/register.tpl:35
+msgid ""
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
 msgstr ""
 
-#: setup/setup_migrate.tpl:153 setup/setup_migrate.tpl:205
-#: setup/setup_migrate.tpl:254 setup/setup_migrate.tpl:372
-#: setup/setup_migrate.tpl:425 setup/setup_migrate.tpl:469
-#: setup/setup_migrate.tpl:512 setup/setup_migrate.tpl:556
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
 #, fuzzy
-msgid "Hide changes"
-msgstr "Open xchange"
+msgid "Registration complete"
+msgstr "Operacja zakończona"
+
+#: plugins/generic/dashBoard/Register/register.tpl:71
+msgid "GOsa instance sucessfully registered"
+msgstr ""
 
-#: setup/setup_migrate.tpl:155 setup/setup_migrate.tpl:207
-#: setup/setup_migrate.tpl:237 setup/setup_migrate.tpl:374
-#: setup/setup_migrate.tpl:427 setup/setup_migrate.tpl:472
-#: setup/setup_migrate.tpl:515 setup/setup_migrate.tpl:559
+#: plugins/generic/dashBoard/Register/register.tpl:82
 #, fuzzy
-msgid "Show changes"
-msgstr "Pokaż pakiety"
+msgid "GOsa instance will not be registered"
+msgstr "Sesja nie będzie szyfrowana."
 
-#: setup/setup_migrate.tpl:168
-msgid "Move users into configured user tree"
-msgstr "Przenieś użytkowników do skonfigurowanego drzewa"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
+msgid ""
+"Communciation with the backend failed! Please check your internet connection!"
+msgstr ""
 
-#: setup/setup_migrate.tpl:170
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
 msgid ""
-"This dialog allows moving a couple of users to the configured user tree. "
-"Doing this may straighten your LDAP service."
+"Authentication failed, please check combination of username and password!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:173
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
 msgid ""
-"Be careful with this option! There may be references pointing to these "
-"users. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:176
-#, fuzzy
-msgid "Move selected users into this people tree"
-msgstr "Utwórz użytkownika z tego szablonu"
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
+msgid "Notifications"
+msgstr "Powiadamiania"
 
-#: setup/setup_migrate.tpl:219
-#, fuzzy
-msgid "Migrate GOsa 2.5 administrative accounts"
-msgstr "Utwórz konto Netatalk"
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
+msgstr ""
 
-#: setup/setup_migrate.tpl:221
+#: plugins/generic/dashBoard/dashBoard.tpl:7
 msgid ""
-"This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
-"useable accounts."
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:257 setup/setup_ldap.tpl:65
-msgid "Reload"
-msgstr "Przeładuj"
+#: plugins/generic/dashBoard/dashBoard.tpl:13
+#, fuzzy
+msgid "GOsa dash board"
+msgstr "Kreator ustawień GOsa"
 
-#: setup/setup_migrate.tpl:273
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
+msgstr ""
+
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
 #, fuzzy
-msgid "Abort"
-msgstr "Port"
+msgid "Schema missing"
+msgstr "Ustawienia Samba"
 
-#: setup/setup_migrate.tpl:275
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
 #, fuzzy
-msgid "Create a new GOsa administrator account"
-msgstr "Utwórz konto Netatalk"
+msgid "Plugin status"
+msgstr "Obecny status"
 
-#: setup/setup_migrate.tpl:278
-msgid ""
-"This dialog will automatically add a new super administrator to your LDAP "
-"tree."
-msgstr ""
+#: plugins/generic/references/class_reference.inc:70
+#, fuzzy
+msgid "Role membership"
+msgstr "Przynależność do grup"
 
-#: setup/setup_migrate.tpl:307
+#: plugins/generic/references/class_reference.inc:76
 #, fuzzy
-msgid "Password (again)"
-msgstr "Przechowywanie hasła"
+msgid "Object group membership"
+msgstr "Podstawowa grupa obiektu"
 
-#: setup/setup_migrate.tpl:333
-msgid ""
-"The listed departments are currently invisible in the GOsa user interface. "
-"If you want to change this for a couple of entries, select them and use the "
-"migrate button below."
-msgstr ""
+#: plugins/generic/references/class_reference.inc:82
+#, fuzzy
+msgid "Department manager"
+msgstr "Zarządzanie departamentem"
 
-#: setup/setup_migrate.tpl:334 setup/setup_migrate.tpl:389
-#: setup/setup_migrate.tpl:445 setup/setup_migrate.tpl:489
-#: setup/setup_migrate.tpl:533
-msgid ""
-"If you want to know what will be done when migrating the selected entries, "
-"use the 'Show changes' button to see the LDIF."
-msgstr ""
+#: plugins/generic/references/class_reference.inc:88
+#, fuzzy
+msgid "User manager"
+msgstr "Nazwa użytkownika"
 
-#: setup/setup_migrate.tpl:388
-msgid ""
-"The listed users are currently invisible in the GOsa user interface. If you "
-"want to change this for a couple of users, just select them and use the "
-"'Migrate' button below."
-msgstr ""
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+#, fuzzy
+msgid "Object information"
+msgstr "Informacje o połączeniu"
 
-#: setup/setup_migrate.tpl:444
-msgid ""
-"The listed devices are currently invisible in the GOsa interface. If you "
-"want to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
-msgstr ""
+#: plugins/generic/references/contents.tpl:7
+#, fuzzy
+msgid "Show raw object entry"
+msgstr "Grupy obiektów"
 
-#: setup/setup_migrate.tpl:488
-msgid ""
-"The listed services are currently invalid for the GOsa version you are going "
-"to install. If you want to update a couple of service, just select them and "
-"use the 'Migrate' button below."
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
+#, fuzzy
+msgid "Last modification"
+msgstr "Powiadamiania"
+
+#: plugins/generic/references/contents.tpl:29
+#, fuzzy
+msgid "Object references"
+msgstr "Zależności"
+
+#: plugins/generic/references/contents.tpl:45
+#, fuzzy
+msgid "ACL trace"
+msgstr "typ ACL"
+
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
 msgstr ""
 
-#: setup/setup_migrate.tpl:532
-msgid ""
-"The listed menus are currently invisible in the GOsa interface. If you want "
-"to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+#: plugins/generic/references/class_aclResolver.inc:193
+msgid "ACLs"
+msgstr "ACLe"
+
+#: plugins/generic/references/class_aclResolver.inc:198
+#, php-format
+msgid "List of effective ACLs for '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:38
-msgid "Write configuration file"
-msgstr "Zapisz plik konfiguracyjny"
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
+#, fuzzy
+msgid "Object permissions"
+msgstr "Ustawienia grupy"
 
-#: setup/class_setupStep_Finish.inc:39
+#: plugins/generic/references/class_aclResolver.inc:311
 #, fuzzy
-msgid "Finish - write the configuration file"
-msgstr "Plik konfiguracyjny"
+msgid "create"
+msgstr "Utwórz"
 
-#: setup/class_setupStep_Finish.inc:104
+#: plugins/generic/references/class_aclResolver.inc:312
 #, fuzzy
-msgid ""
-"Your configuration file is currently world readable. Please update the file "
-"permissions!"
-msgstr "Nie można czytać pliku konfiguracji %s/gosa.conf. Kończę."
+msgid "remove"
+msgstr "Usuń"
 
-#: setup/class_setupStep_Finish.inc:106
+#: plugins/generic/references/class_aclResolver.inc:313
 #, fuzzy
-msgid "The configuration is currently not readable or it does not exists."
-msgstr "Nie można czytać pliku konfiguracji %s/gosa.conf. Kończę."
+msgid "move"
+msgstr "Usuń"
 
-#: setup/class_setupStep_Finish.inc:115
-#, fuzzy, php-format
-msgid ""
-"After downloading and placing the file under %s, please make sure that the "
-"user the webserver is running with is able to read %s, while other users "
-"shouldn't. You may want to execute these commands to achieve this "
-"requirement:"
-msgstr ""
-"Po umieszczeniu pliku w /etc/gosa upewnij się, że serwer www ma uprawnienia "
-"do jego odczytu, podczas gdy inni użytkownicy nie mają. Aby uzyskać takie "
-"uprawnienia, można wykonać te polecenia:"
+#, fuzzy
+#~ msgid "List of items"
+#~ msgstr "Lista użytkowników"
 
-#: setup/class_setupStep_Checks.inc:38 setup/class_setupStep_Checks.inc:39
-msgid "Installation check"
-msgstr "Sprawdzenie instalacji"
+#, fuzzy
+#~ msgid "Edit item"
+#~ msgstr "Edytuj filtry"
 
-#: setup/class_setupStep_Checks.inc:40
-msgid "Basic checks for PHP compatibility and extensions"
-msgstr ""
+#, fuzzy
+#~ msgid "Remove item"
+#~ msgstr "Usuń obrazek"
+
+#, fuzzy
+#~ msgid "Container"
+#~ msgstr "Kontynuuj"
+
+#, fuzzy
+#~ msgid "Config management"
+#~ msgstr "Zarządzanie systemem"
+
+#, fuzzy
+#~ msgid "Distribution"
+#~ msgstr "Opis"
+
+#, fuzzy
+#~ msgid "Component"
+#~ msgstr "Komponent Domeny"
+
+#~ msgid "Home phone"
+#~ msgstr "Telefon domowy"
+
+#~ msgid "Organizational unit"
+#~ msgstr "Jednostka organizacyjna"
 
-#: setup/class_setupStep_Checks.inc:64
-msgid "Checking PHP version"
-msgstr "Sprawdzam wersję PHP"
+#, fuzzy
+#~ msgid "Max"
+#~ msgstr "Maj"
 
-#: setup/class_setupStep_Checks.inc:65
-#, fuzzy, php-format
-msgid "PHP must be of version %s or above."
-msgstr ""
-"PHP musi być w wersji 4.1.0 lub wyższej z powodu używanych funkcji i błędów "
-"w języku PHP."
+#, fuzzy
+#~ msgid "Min"
+#~ msgstr "Główne"
 
-#: setup/class_setupStep_Checks.inc:66
-msgid "Please upgrade to a supported version."
-msgstr "Proszę zaktualizować do wspieranej wersji."
+#~ msgid "Welcome %s!"
+#~ msgstr "Witaj %s!"
 
-#: setup/class_setupStep_Checks.inc:73
-msgid "GOsa requires this module to talk with your LDAP server."
-msgstr ""
+#, fuzzy
+#~ msgid "The folder %s specified for %s:%s cannot be used for reading!"
+#~ msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
 
-#: setup/class_setupStep_Checks.inc:81
-msgid "GOsa requires this module for an internationalized interface."
-msgstr ""
+#, fuzzy
+#~ msgid "Object info"
+#~ msgstr "Nazwa obiektu"
 
-#: setup/class_setupStep_Checks.inc:89
-msgid "GOsa requires this module for the samba integration."
-msgstr ""
+#, fuzzy
+#~ msgid "Acls"
+#~ msgstr "Acl"
 
-#: setup/class_setupStep_Checks.inc:97
-msgid ""
-"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
-"encryption."
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "The file '%s' specified for '%s:%s' cannot be created neither be used for "
+#~ "writing!"
+#~ msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
 
-#: setup/class_setupStep_Checks.inc:105
-msgid "GOsa requires this module to talk to an IMAP server."
-msgstr ""
+#, fuzzy
+#~ msgid "The values for 'New password' and 'Repeated new password' differ!"
+#~ msgstr ""
+#~ "Podane hasła 'Nowe hasło' oraz 'Powtórz nowe hasło' nie są itentyczne."
 
-#: setup/class_setupStep_Checks.inc:112
-msgid "mbstring"
-msgstr "mbstring"
+#, fuzzy
+#~ msgid "The password used as new and current are too similar!"
+#~ msgstr "Hasło podane jako nowe jest zbyt podobne do obecnego."
 
-#: setup/class_setupStep_Checks.inc:113
-msgid "GOsa requires this module to handle unicode strings."
-msgstr ""
+#, fuzzy
+#~ msgid "The password used as new is to short!"
+#~ msgstr "Hasło podane jako nowe jest za krótkie."
 
-#: setup/class_setupStep_Checks.inc:120
-msgid "MySQL"
-msgstr "MySQL"
+#~ msgid "External password changer reported a problem: %s"
+#~ msgstr "Zewnętrzny program do zmiany hasła zgłosił następujący problem: %s"
 
-#: setup/class_setupStep_Checks.inc:121
 #, fuzzy
-msgid ""
-"GOsa requires this module to communicate with several supported databases."
-msgstr ""
-"Wsparcie dla MySQL jest potrzebne do czytania raportów GOfax z bazy danych."
+#~ msgid ""
+#~ "Command %s specified as post modify action for plugin %s does not exist!"
+#~ msgstr "Polecenie '%s' podane jako CHECK dla dodatku '%s' nie istnieje."
 
-#: setup/class_setupStep_Checks.inc:138
-msgid "samba hash generator"
-msgstr ""
+#, fuzzy
+#~ msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#~ msgstr ""
+#~ "BŁĄD: Nie można połączyć się z serwerem LDAP. Odpowiedź serwera '%s'."
 
-#: setup/class_setupStep_Checks.inc:139
-msgid "GOsa requires this command to synchronize POSIX and samba passwords."
-msgstr ""
+#, fuzzy
+#~ msgid "Username / UID is not unique inside the LDAP tree!"
+#~ msgstr "Użytkownik /UID nie są unikalne. Proszę sprawdzić bazę LDAP."
 
-#: setup/class_setupStep_Checks.inc:140
-msgid ""
-"Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "Username / UID is not unique inside the LDAP tree. Please contact your "
+#~ "Administrator."
+#~ msgstr "Użytkownik /UID nie są unikalne. Proszę sprawdzić bazę LDAP."
 
-#: setup/class_setupStep_Checks.inc:153
-msgid "imagick"
-msgstr "imagick"
+#~ msgid "LDAP server returned: %s"
+#~ msgstr "Serwer LDAP zwrócił: %s"
 
-#: setup/class_setupStep_Checks.inc:154
-msgid "GOsa requires this extension to handle images."
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "Found multiple locks for object to be locked. This should not happen - "
+#~ "cleaning up multiple references."
+#~ msgstr ""
+#~ "Znaleziono wiele blokad dla obiektu do zablokowania. Taka sytuacja nie "
+#~ "powinna się wydażyć - czyszczę wiele odwołań."
 
-#: setup/class_setupStep_Checks.inc:169
-msgid "compression module"
-msgstr "moduł kompresji"
+#, fuzzy
+#~ msgid "The size limit of %d entries is exceed!"
+#~ msgstr "Limit wielkości %d elementów został przekroczony!"
 
-#: setup/class_setupStep_Checks.inc:170
-msgid "GOsa requires this extension to handle snapshots."
-msgstr ""
+#~ msgid ""
+#~ "Set the new size limit to %s and show me this message if the limit still "
+#~ "exceeds"
+#~ msgstr ""
+#~ "Ustaw nowy limit rozmiaru na %s i pokaż ten komunikat jeśli limit wciąż "
+#~ "jest przekroczony"
 
-#: setup/class_setupStep_Checks.inc:181
 #, fuzzy
-msgid ""
-"register_globals is a PHP mechanism to register all global variables to be "
-"accessible from scripts without changing the scope. This may be a security "
-"risk."
-msgstr ""
-"register_globals jest mechanizmem PHP umożliwiającym takie ustawienie "
-"zmiennych globalnych, że możliwy jest do nich dostęp bez zmiany zakresu. To "
-"może powodować zagrożenie bezpieczeństwa. Gosa może działać w obu trybach."
+#~ msgid "incomplete"
+#~ msgstr "Zakończono"
 
-#: setup/class_setupStep_Checks.inc:182
 #, fuzzy
-msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
-msgstr "Sprawdzam, czy register_globals jest ustawione na 'off'"
+#~ msgid "You're going to edit the LDAP entry/entries %s"
+#~ msgstr "Zamierzasz skopiować wpis '%s'."
 
-#: setup/class_setupStep_Checks.inc:190
-msgid "PHP uses this value for the garbage collector to delete old sessions."
-msgstr ""
+#~ msgid "Apply filter"
+#~ msgstr "Zastosuj filtr"
+
+#~ msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+#~ msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: setup/class_setupStep_Checks.inc:191
 #, fuzzy
-msgid ""
-"Setting this value to one day will prevent loosing session and cookies "
-"before they really timeout."
-msgstr ""
-"PHP używa tej wartości dla garbage collector'a do usuwania starych sesji. "
-"Ustawienie tej wartości na jeden dzień zapobiegnie ustraceniu sesji oraz "
-"cookie zanim faktycznie wygasną."
+#~ msgid "File '%s' could not be deleted."
+#~ msgstr "Plik '%s' nie mógł zostać usunięty."
 
-#: setup/class_setupStep_Checks.inc:192
 #, fuzzy
-msgid ""
-"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
-"higher."
-msgstr ""
-"Aby używać GOsa bez problemow, opcja session.auto_register w pliku php.ini "
-"musi być ustawiona na 'off'."
+#~ msgid "Cannot write to revision file!"
+#~ msgstr "Nie można stworzyć pliku '%s'."
 
-#: setup/class_setupStep_Checks.inc:199 setup/class_setupStep_Checks.inc:215
-#: setup/class_setupStep_Checks.inc:231 setup/class_setupStep_Checks.inc:247
-msgid "Off"
-msgstr "Wyłączone"
+#~ msgid "LDAP warning"
+#~ msgstr "Ostrzeżenie LDAP"
 
-#: setup/class_setupStep_Checks.inc:200
 #, fuzzy
-msgid ""
-"In Order to use GOsa without any trouble, the session.auto_register option "
-"in your php.ini should be set to 'Off'."
-msgstr ""
-"Aby używać GOsa bez problemow, opcja session.auto_register w pliku php.ini "
-"musi być ustawiona na 'off'."
+#~ msgid "Cannot get schema information from server. No schema check possible!"
+#~ msgstr ""
+#~ "Nie można pobrać informacji o schematach z serwera. Sprawdzenie schematów "
+#~ "niemożliwe!"
 
-#: setup/class_setupStep_Checks.inc:201
 #, fuzzy
-msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
-msgstr ""
-"Aby używać GOsa bez problemow, opcja session.auto_register w pliku php.ini "
-"musi być ustawiona na 'off'."
+#~ msgid "Used to store account specific informations."
+#~ msgstr "Konto wygasa po"
 
-#: setup/class_setupStep_Checks.inc:208
 #, fuzzy
-msgid ""
-"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
-"errors that are not reproducable! Increase it for larger setups."
-msgstr ""
-"GOsa potrzebuje conajmniej 16MB pamięci. Mniej może prowadzić do "
-"nieprzewidywalnych błędów. Dla większych instalacji, należy zwiększyć ten "
-"parametr."
+#~ msgid "Missing required object class '%s'!"
+#~ msgstr "Wyświetl szablony FAI"
 
-#: setup/class_setupStep_Checks.inc:209
-msgid ""
-"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
-msgstr ""
+#, fuzzy
+#~ msgid "Missing optional object class '%s'!"
+#~ msgstr "Wyświetl szablony FAI"
 
-#: setup/class_setupStep_Checks.inc:216
 #, fuzzy
-msgid ""
-"This option influences the PHP output handling. Turn this Option off, to "
-"increase performance."
-msgstr ""
-"Ta opcja wpływa na obsługę output. Aby zwiększyć wydajność, należy ustawić "
-"na 'off'."
+#~ msgid "Version mismatch for required object class '%s' (!=%s)!"
+#~ msgstr "Wyświetl szablony FAI"
 
-#: setup/class_setupStep_Checks.inc:217
-msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
-msgstr ""
+#, fuzzy
+#~ msgid "Class(es) available"
+#~ msgstr "Plik jest dostępny"
+
+#~ msgid ""
+#~ "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to "
+#~ "exist."
+#~ msgstr ""
+#~ "Polecenie '%s', podane jako POSTMODIFY dla dodatku '%s' nie istnieje."
 
-#: setup/class_setupStep_Checks.inc:224
 #, fuzzy
-msgid "The Execution time should be at least 30 seconds."
-msgstr ""
-"Ten parametr powinien byc ustawniony na co najmniej 30 sekund. Niektóre "
-"funkcje mogą zabierać dużo czasu."
+#~ msgid "Cannot allocate a free ID:"
+#~ msgstr "Nie można nadać wolnego ID:"
 
-#: setup/class_setupStep_Checks.inc:225
-msgid ""
-"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot allocate a free ID!"
+#~ msgstr "Zbyt wielu użytkowników, nie można nadać wolnego ID"
 
-#: setup/class_setupStep_Checks.inc:232
 #, fuzzy
-msgid ""
-"Increase the server security by setting expose_php to 'off'. PHP won't send "
-"any information about the server you are running in this case."
-msgstr ""
-"Aby zwiększyć bezpieczeństwo, należy ustawić expose_php na 'off'. PHP nie "
-"będzie wysyłać żadnych informacji na temat serwera na którym działa."
+#~ msgid "Surename"
+#~ msgstr "Nazwisko"
 
-#: setup/class_setupStep_Checks.inc:233
-msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
-msgstr ""
+#, fuzzy
+#~ msgid "External password changer reported a problem: %s."
+#~ msgstr "Zewnętrzny program do zmiany hasła zgłosił następujący problem:"
 
-#: setup/class_setupStep_Checks.inc:239
-msgid "On"
-msgstr "Włączone"
+#~ msgid "Username"
+#~ msgstr "Nazwa użytkownika"
 
-#: setup/class_setupStep_Checks.inc:240
-msgid ""
-"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
-"escape all quotes in strings in this case."
-msgstr ""
-"Ustawienie macig_quotes_gpc na 'on' zwiększy bezpieczeństwo serwera. PHP "
-"będzie zabezpieczać cudzysłowa w stringach."
+#~ msgid ""
+#~ "You've successfully changed your password. Remember to change all "
+#~ "programms configured to use it as well."
+#~ msgstr ""
+#~ "Pomyślnie zmieniono hasło. Proszę pamiętać aby zmienić również ustawienia "
+#~ "w programach skonfigurowanych do używania tego hasła."
+
+#~ msgid "Admin DN"
+#~ msgstr "DN Administratora"
+
+#~ msgid "Ok"
+#~ msgstr "Ok"
+
+#~ msgid "Uid"
+#~ msgstr "Uid"
 
-#: setup/class_setupStep_Checks.inc:241
 #, fuzzy
-msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
-msgstr "Sprawdzam, czy register_globals jest ustawione na 'off'"
+#~ msgid "Grant permission to owner"
+#~ msgstr "Nie można stworzyć pliku '%s'."
+
+#~ msgid "Password change not allowed"
+#~ msgstr "Brak uprawnień do zmiay hasła"
+
+#~ msgid "Preferred langage"
+#~ msgstr "Preferowany język"
+
+#~ msgid "Posix settings"
+#~ msgstr "Ustawienia Posix"
 
-#: setup/class_setupStep_Checks.inc:248
 #, fuzzy
-msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
-msgstr ""
-"Ustawienie macig_quotes_gpc na 'on' zwiększy bezpieczeństwo serwera. PHP "
-"będzie zabezpieczać cudzysłowa w stringach."
+#~ msgid "You have no permission to set your password!"
+#~ msgstr "Brak uprawnień do zmiany własnego hasła"
+
+#~ msgid ""
+#~ "You have changed the method your password is stored in the ldap database. "
+#~ "For that reason you've to enter your password at this point again. GOsa "
+#~ "will then encode it with the selected method."
+#~ msgstr ""
+#~ "Zmieniono metodę kodowania hasła w bazie ldap. Z tego powodu należy teraz "
+#~ "podać ponownie swoje hasło. GOsa zakoduje to hasło używając wybranej "
+#~ "metody."
+
+#~ msgid "Posix"
+#~ msgstr "Posix"
 
-#: setup/class_setupStep_Checks.inc:249
 #, fuzzy
-msgid ""
-"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
-msgstr ""
-"Aby używać GOsa bez problemow, opcja session.auto_register w pliku php.ini "
-"musi być ustawiona na 'off'."
+#~ msgid "Edit posix properties"
+#~ msgstr "Edytuj właściwości Telefonu"
 
-#: setup/class_setupStep_Checks.inc:259
-msgid "Configuration writeable"
-msgstr "Plik konfiguracyjny zapisywalny"
+#~ msgid "Acl"
+#~ msgstr "Acl"
+
+#~ msgid "winstations"
+#~ msgstr "Stacje Windows"
 
-#: setup/class_setupStep_Checks.inc:260
 #, fuzzy
-msgid "The configuration file can't be written"
-msgstr "Plik konfiguracyjny"
+#~ msgid "Sytem trust"
+#~ msgstr "Zaufanie systemowe"
 
-#: setup/class_setupStep_Checks.inc:261
-#, php-format
-msgid ""
-"GOsa reads its configuration from a file located in (%s/%s). The setup can "
-"write the configuration directly if it is writeable."
-msgstr ""
+#, fuzzy
+#~ msgid "Processing"
+#~ msgstr "Uprawnienie"
 
-#: setup/setup_config3.tpl:2
 #, fuzzy
-msgid "GOsa core settings"
-msgstr "Ustawienia pocztowe"
+#~ msgid "Created"
+#~ msgstr "Utwórz"
 
-#: setup/setup_config3.tpl:6
 #, fuzzy
-msgid "Enable primary group filter"
-msgstr "Wyświetl grupy użytkownika"
+#~ msgid "No Content"
+#~ msgstr "Zawartość"
 
-#: setup/setup_config3.tpl:18
 #, fuzzy
-msgid "Display summary in listings"
-msgstr "Wyświetl makra pasujące"
+#~ msgid "Reset Content"
+#~ msgstr "Zawartość"
 
-#: setup/setup_config3.tpl:30
 #, fuzzy
-msgid "Honour administrative units"
-msgstr "Administracja Grupą"
+#~ msgid "Partial Content"
+#~ msgstr "Kod Pocztowy"
 
-#: setup/setup_config3.tpl:42
 #, fuzzy
-msgid "Smarty compile directory"
-msgstr "Katalog domowy"
+#~ msgid "Multi-Status"
+#~ msgstr "Status"
 
-#: setup/setup_config3.tpl:51
-msgid "SNMP community"
-msgstr "SNMP community"
+#, fuzzy
+#~ msgid "See Other"
+#~ msgstr "Wybierz użytkownika"
 
-#: setup/setup_config3.tpl:60
 #, fuzzy
-msgid "Path for PPD storage"
-msgstr "Przechowywanie hasła"
+#~ msgid "Not Modified"
+#~ msgstr "Brak uprawnień do zmiay hasła"
 
-#: setup/setup_config3.tpl:77
 #, fuzzy
-msgid "Path for kiosk profile storage"
-msgstr "Ustawienia profilu Kiosk"
+#~ msgid "Use Proxy"
+#~ msgstr "Proxy"
 
-#: setup/setup_config3.tpl:96
-msgid "SUDO role base"
-msgstr ""
+#, fuzzy
+#~ msgid "(reserviert)"
+#~ msgstr "serwery"
 
-#: setup/setup_config3.tpl:115
 #, fuzzy
-msgid "Mail queue script"
-msgstr "Ogólna ścieżka do skryptu"
+#~ msgid "Not Found"
+#~ msgstr "Brak uprawnień do zmiay hasła"
 
-#: setup/setup_config3.tpl:134
 #, fuzzy
-msgid "Notification script"
-msgstr "Cel powiadomienia"
+#~ msgid "Method Not Allowed"
+#~ msgstr "Brak uprawnień do zmiay hasła"
 
-#: setup/setup_config3.tpl:153
 #, fuzzy
-msgid "Enable edit locking"
-msgstr "Włącz skanowanie antyfirusowe"
+#~ msgid "Proxy Authentication Required"
+#~ msgstr "Błąd autentykacji"
 
-#: setup/setup_config3.tpl:174
-msgid "Gosa support daemon"
-msgstr ""
+#, fuzzy
+#~ msgid "Gone"
+#~ msgstr "żaden"
 
-#: setup/setup_config3.tpl:193
 #, fuzzy
-msgid "Daemon timeout"
-msgstr "W dół"
+#~ msgid "Precondition Failed"
+#~ msgstr "Zapisz plik konfiguracyjny"
 
-#: setup/setup_config3.tpl:207
-msgid "Login and session"
-msgstr ""
+#, fuzzy
+#~ msgid "Expectation Failed"
+#~ msgstr "Zapytanie do bazy danych nieudane"
 
-#: setup/setup_config3.tpl:210
 #, fuzzy
-msgid "Login attribute"
-msgstr "Atrybuty telefonu"
+#~ msgid "Locked"
+#~ msgstr "Zablokuj użytkowników"
 
-#: setup/setup_config3.tpl:221
-msgid "Enforce register_globals to be deactivated"
-msgstr ""
+#, fuzzy
+#~ msgid "Unordered Collection"
+#~ msgstr "Ustawienia grupy"
 
-#: setup/setup_config3.tpl:233
-msgid "Enforce encrypted connections"
-msgstr ""
+#, fuzzy
+#~ msgid "Internal Server Error"
+#~ msgstr "Błąd wewnętrzny"
 
-#: setup/setup_config3.tpl:245
 #, fuzzy
-msgid "Warn if session is not encrypted"
-msgstr "Sesja nie będzie szyfrowana."
+#~ msgid "Not Implemented"
+#~ msgstr "Zakończono"
 
-#: setup/setup_config3.tpl:257
 #, fuzzy
-msgid "Remember dialog filter settings"
-msgstr "Ogólne ustawienia użytkownika"
+#~ msgid "Service Unavailable"
+#~ msgstr "Nazwa serwera"
 
-#: setup/setup_config3.tpl:269
 #, fuzzy
-msgid "Session lifetime"
-msgstr "Wykryto konflikt sesji"
+#~ msgid "Gateway Time-out"
+#~ msgstr "W dół"
 
-#: setup/setup_config3.tpl:278
-msgid "Debugging"
-msgstr ""
+#~ msgid "GOsa settings 3/3"
+#~ msgstr "Ustawienia GOsa 3/3"
 
-#: setup/setup_config3.tpl:282
 #, fuzzy
-msgid "Show PHP errors"
-msgstr "błąd PHP:"
+#~ msgid "Session lifetime must be a numeric value!"
+#~ msgstr "Przyszłe dni muszą być liczbą."
 
-#: setup/setup_config3.tpl:294
 #, fuzzy
-msgid "Maximum LDAP query time"
-msgstr "Max rozmiar nagłówków poczty"
+#~ msgid "Maximum LDAP query time must be a numeric value!"
+#~ msgstr "Przyszłe dni muszą być liczbą."
 
-#: setup/setup_config3.tpl:312
-msgid "Log LDAP statistics"
-msgstr ""
+#~ msgid "What will the wizard do for you?"
+#~ msgstr "Co kreator zrobi dla Ciebie?"
 
-#: setup/setup_config3.tpl:324
 #, fuzzy
-msgid "Debug level"
-msgstr "Jeden poziom"
+#~ msgid "Create a basic, single site configuration"
+#~ msgstr "Konfiguracja bazy FAX"
 
-#: setup/setup_config3.tpl:329 setup/setup_config3.tpl:332
-msgid "Disabled"
-msgstr "Wyłączone"
+#, fuzzy
+#~ msgid "Find every possible configuration error"
+#~ msgstr "Plik konfiguracyjny"
 
-#: setup/setup_config3.tpl:330 setup/setup_config3.tpl:333
-msgid "Enabled"
-msgstr "Włączone"
+#~ msgid "To continue..."
+#~ msgstr "Aby kontynuować..."
 
-#: setup/setup_feedback.tpl:5
-msgid "Feedback sucessfully send"
-msgstr ""
+#~ msgid "Samba settings"
+#~ msgstr "Ustawienia Samba"
 
-#: setup/setup_feedback.tpl:15
-msgid "Subscribe to the gosa-announce mailinglist"
-msgstr ""
+#~ msgid "Samba SID"
+#~ msgstr "Samba SID"
 
-#: setup/setup_feedback.tpl:18
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to subscribe you to the gosa-announce mailing list. You've to confirm "
-"this by mail."
-msgstr ""
+#~ msgid "RID base"
+#~ msgstr "Baza RID"
+
+#, fuzzy
+#~ msgid "Workstation container"
+#~ msgstr "Nazwa stacji roboczej"
+
+#~ msgid "Samba SID mapping"
+#~ msgstr "Mapowanie Samba SID"
 
-#: setup/setup_feedback.tpl:39
-msgid "Mail address"
-msgstr "Adres email"
+#~ msgid "Timezone"
+#~ msgstr "Strefa czasowa"
 
-#: setup/setup_feedback.tpl:50
-msgid "Send feedback to the GOsa project team"
-msgstr ""
+#, fuzzy
+#~ msgid "Please choose your preferred timezone here"
+#~ msgstr "Preferowany język"
 
-#: setup/setup_feedback.tpl:53
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to submit your form anonymously."
-msgstr ""
+#~ msgid "Additional GOsa settings"
+#~ msgstr "Dodatkowe ustawienia GOsa"
 
-#: setup/setup_feedback.tpl:59
-msgid "Did the setup procedure help you to get started?"
-msgstr ""
+#~ msgid "Enable Copy & Paste"
+#~ msgstr "Włącz Copy & Paste"
 
-#: setup/setup_feedback.tpl:62 setup/setup_feedback.tpl:80
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "Yes"
-msgstr "Tak"
+#, fuzzy
+#~ msgid "Government mode"
+#~ msgstr "do folferu"
 
-#: setup/setup_feedback.tpl:64 setup/setup_feedback.tpl:82
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "No"
-msgstr "Nie"
+#~ msgid "GOsa logging"
+#~ msgstr "logowanie GOsa"
 
-#: setup/setup_feedback.tpl:69
-msgid "If not, what problems did you encounter"
-msgstr ""
+#~ msgid "Mail settings"
+#~ msgstr "Ustawienia pocztowe"
 
-#: setup/setup_feedback.tpl:77
-msgid "Is this the first time you use GOsa?"
-msgstr ""
+#~ msgid "Mail method"
+#~ msgstr "Typ pocztowy"
 
-#: setup/setup_feedback.tpl:83
-msgid "I use it since"
-msgstr "Używam od"
+#, fuzzy
+#~ msgid "Vacation templates"
+#~ msgstr "Szablon stacji roboczej"
 
-#: setup/setup_feedback.tpl:84
-msgid "Select the year since when you are using GOsa"
-msgstr ""
+#~ msgid "Snapshots / Undo"
+#~ msgstr "Snapshoty / Undo"
 
-#: setup/setup_feedback.tpl:91
-msgid "What operating system / distribution do you use?"
-msgstr ""
+#~ msgid "Enable snapshots"
+#~ msgstr "Włąćż snapshoty"
 
-#: setup/setup_feedback.tpl:99
-msgid "What web server do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Snapshot base"
+#~ msgstr "Tworzenie snapshot'u nieudane"
 
-#: setup/setup_feedback.tpl:107
-msgid "What PHP version do you use?"
-msgstr ""
+#~ msgid "GOsa settings 2/3"
+#~ msgstr "Ustawienia GOsa 2/3"
+
+#~ msgid "Customize special parameters"
+#~ msgstr "Dostosuj specjalne parametry"
 
-#: setup/setup_feedback.tpl:115
 #, fuzzy
-msgid "GOsa version"
-msgstr "Ogólne ustawienia użytkownika"
+#~ msgid "Checking for invisible departments"
+#~ msgstr "Sprawdzam wsparcie dla iconv"
 
-#: setup/setup_feedback.tpl:123
-msgid "LDAP"
-msgstr "LDAP"
+#, fuzzy
+#~ msgid "Checking for invisible users"
+#~ msgstr "Sprawdzam wsparcie dla iconv"
 
-#: setup/setup_feedback.tpl:127
-msgid "What kind of LDAP server(s) do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for users outside the people tree"
+#~ msgstr "Sprawdzam moduł cups"
 
-#: setup/setup_feedback.tpl:133
-msgid "How many objects are in your LDAP?"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for groups outside the groups tree"
+#~ msgstr "Sprawdzam moduł cups"
 
-#: setup/setup_feedback.tpl:140
-msgid "Features"
-msgstr "Cechy"
+#, fuzzy
+#~ msgid "Checking for duplicated UID numbers"
+#~ msgstr "Sprawdzam funkcję %s"
 
-#: setup/setup_feedback.tpl:143
-msgid "What features of GOsa do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for duplicate GID numbers"
+#~ msgstr "Sprawdzam funkcję %s"
 
-#: setup/setup_feedback.tpl:153
-msgid "What features do you want to see in future versions of GOsa?"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for old style USB devices"
+#~ msgstr "Sprawdzam wsparcie dla iconv"
 
-#: setup/setup_feedback.tpl:160
-msgid "Send feedback"
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for old services that have to be migrated"
+#~ msgstr "Sprawdzam moduł cups"
 
-#: setup/setup_finish.tpl:3
 #, fuzzy
-msgid "Create your configuration file"
-msgstr "Plik konfiguracyjny"
+#~ msgid "Checking for old style application menus"
+#~ msgstr "Sprawdzam funkcję %s"
 
-#: setup/setup_finish.tpl:10
-msgid "Depending on the user name your webserver is running on:"
-msgstr ""
+#, fuzzy
+#~ msgid "Found %s duplicate values for attribute 'uidNumber'."
+#~ msgstr "Znaleziono powtórzoną wartość dla typu rekordu '%s'."
 
-#: setup/setup_finish.tpl:28
-msgid "Download configuration"
-msgstr "Konfiguracja pobierania"
+#, fuzzy
+#~ msgid "Found %s duplicate values for attribute 'gidNumber'."
+#~ msgstr "Znaleziono powtórzoną wartość dla typu rekordu '%s'."
 
-#: setup/setup_finish.tpl:33
-msgid "Status: "
-msgstr "Status:"
+#~ msgid "Move"
+#~ msgstr "Przenieś"
 
-#: setup/class_setupStep_Ldap.inc:53
-msgid "LDAP setup"
-msgstr "Ustawienia LDAP"
+#, fuzzy
+#~ msgid "Cannot migrate department '%s':"
+#~ msgstr "Utwórz nowy departament"
 
-#: setup/class_setupStep_Ldap.inc:54
 #, fuzzy
-msgid "LDAP connection setup"
-msgstr "Połączenie dzwonienia..."
+#~ msgid "GOsa 2.5 administrative accounts found: %s"
+#~ msgstr "Utwórz konto Netatalk"
 
-#: setup/class_setupStep_Ldap.inc:55
 #, fuzzy
-msgid ""
-"This dialog performs the basic configuration of the LDAP connectivity for "
-"GOsa."
-msgstr ""
-"Poniższe pola pozwalają na podstawową konfigurację zachowania GOsa i "
-"wpływają na różne właściwości w głównej konfiguracji."
+#~ msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
+#~ msgstr "Utwórz konto Netatalk"
 
-#: setup/class_setupStep_Ldap.inc:112
-#, fuzzy, php-format
-msgid "Anonymous bind to server '%s' failed!"
-msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
+#, fuzzy
+#~ msgid "Cannot move users to the requested department!"
+#~ msgstr "Przejdź do domowego departamentu użytkowników"
 
-#: setup/class_setupStep_Ldap.inc:114
-#, fuzzy, php-format
-msgid "Bind as user '%s' failed!"
-msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
+#~ msgid "to"
+#~ msgstr "do"
 
-#: setup/class_setupStep_Ldap.inc:119
-#, fuzzy, php-format
-msgid "Anonymous bind to server '%s' succeeded."
-msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
+#, fuzzy
+#~ msgid "Copy '%s' to '%s' failed:"
+#~ msgstr "Przenoszenie '%s' do '%s'"
 
-#: setup/class_setupStep_Ldap.inc:120
 #, fuzzy
-msgid "Please specify user and password!"
-msgstr "Proszę podać prawidłowe hasło!"
+#~ msgid "Updating '%s' failed: %s"
+#~ msgstr "Użytkownik bazy logowania"
 
-#: setup/class_setupStep_Ldap.inc:122
-#, fuzzy, php-format
-msgid "Bind as user '%s' to server '%s' succeeded!"
-msgstr "Logowanie użytkownika nieudane, odpowiedź serwera LDAP '%s'."
+#~ msgid "Look and feel"
+#~ msgstr "Wygląd"
 
-#: setup/setup_ldap.tpl:7
-msgid "Please choose the LDAP user to be used by GOsa"
-msgstr ""
+#, fuzzy
+#~ msgid "Theme"
+#~ msgstr "Mime"
+
+#~ msgid "Apache"
+#~ msgstr "Apache"
 
-#: setup/setup_ldap.tpl:25
 #, fuzzy
-msgid "LDAP connection"
-msgstr "Rozłączenie"
+#~ msgid "People and group storage"
+#~ msgstr "Prosze wyszczególnić długość pamięci."
 
-#: setup/setup_ldap.tpl:29
-msgid "Location name"
-msgstr "Nazwa lokalizacji"
+#, fuzzy
+#~ msgid "People DN attribute"
+#~ msgstr "Ten 'dn' nie jest aplikacją."
 
-#: setup/setup_ldap.tpl:37
 #, fuzzy
-msgid "Connection URI"
-msgstr "Połączeniowy URL"
+#~ msgid "People storage subtree"
+#~ msgstr "Prosze wyszczególnić długość pamięci."
 
-#: setup/setup_ldap.tpl:45
 #, fuzzy
-msgid "TLS connection"
-msgstr "Połączenie dzwonienia..."
+#~ msgid "Group storage subtree"
+#~ msgstr "Proszę wybrać grupę obiektów"
+
+#~ msgid "Automatic UIDs"
+#~ msgstr "Automatyczne UID-y"
 
-#: setup/setup_ldap.tpl:69
 #, fuzzy
-msgid "Authentication"
-msgstr "Autentykacja Nagios"
+#~ msgid "Number base for people/groups"
+#~ msgstr "Podstawowe ID dla użytkowników/grup"
 
-#: setup/setup_ldap.tpl:73
-msgid "Admin DN"
-msgstr "DN Administratora"
+#~ msgid "Password settings"
+#~ msgstr "Ustawienia hasła"
 
-#: setup/setup_ldap.tpl:86
-msgid "Automatically append LDAP base to admin DN"
-msgstr ""
+#~ msgid "Password encryption algorithm"
+#~ msgstr "Algorytm szyfrowania hasła"
 
-#: setup/setup_ldap.tpl:93
-msgid "Admin password"
-msgstr "Hasło Administratora"
+#~ msgid "Password restrictions"
+#~ msgstr "Ograniczenia hasła"
+
+#~ msgid "Password minimum length"
+#~ msgstr "Minimalna długość hasła"
 
-#: setup/setup_ldap.tpl:101
 #, fuzzy
-msgid "Schema based settings"
-msgstr "Ustawienia Samba"
+#~ msgid "Password change hook"
+#~ msgstr "Brak uprawnień do zmiay hasła"
 
-#: setup/setup_ldap.tpl:105
-msgid "Use rfc2307bis compliant groups"
-msgstr ""
+#~ msgid "Use SASL for kerberos"
+#~ msgstr "Użyj SASL dla kerberosa"
 
-#: setup/setup_ldap.tpl:117
-msgid "Current status"
-msgstr "Obecny status"
+#~ msgid ""
+#~ "GOsa supports several encryption types for your passwords. Normally this "
+#~ "is adjustable via user templates, but you can specify a default method to "
+#~ "be used here, too."
+#~ msgstr ""
+#~ "GOsa wspiera kilka typów szyfrowania hasła. Typy można ustawić przez "
+#~ "szablony użytkownika, oraz można też ustawić typ domyślny tutaj."
 
-#: setup/class_setupStep_Migrate.inc:127 setup/class_setupStep_Migrate.inc:128
 #, fuzzy
-msgid "LDAP inspection"
-msgstr "Inspekcja instalacji PHP"
+#~ msgid ""
+#~ "GOsa always acts as admin and manages access rights internally. This is a "
+#~ "workaround till OpenLDAP's in directory ACI's are    fully implemented. "
+#~ "For this to work, we need the admin DN and the corresponding password."
+#~ msgstr ""
+#~ "GOsa zawsze zachowuje się jak admin i zarządza uprawnieniami wewnętrznie. "
+#~ "Jest to obejście dopóki ACL w katalogu OpenLDAP zostaną w pełni "
+#~ "zaimplementowane. Trzeba podać administracyjne DN i odpowiednie hasło."
 
-#: setup/class_setupStep_Migrate.inc:129
-msgid "Analyze your current LDAP for GOsa compatibility"
-msgstr ""
+#~ msgid ""
+#~ "Some basic LDAP parameters are tunable and affect the locations where "
+#~ "GOsa saves people and groups, including the way accounts get created. "
+#~ "Check the values below if the fit your needs."
+#~ msgstr ""
+#~ "Pewne podstawowe parametry LDAP są zmienialne i wpływają na lokalizacje "
+#~ "gdzie GOsa zapisuje użytkowników i grupy razem ze sposobem w jaki konta "
+#~ "są tworzone. Sprawdź wartości poniżej i dostosuj do wymagań."
 
-#: setup/class_setupStep_Migrate.inc:135
 #, fuzzy
-msgid "Checking for root object"
-msgstr "Sprawdzam wsparcie dla iconv"
+#~ msgid ""
+#~ "GOsa has modular support for several mail methods. These methods provide "
+#~ "interfaces to users mailboxes and general handling    for quotas. You can "
+#~ "choose the dummy plugin to leave all your mail settings untouched."
+#~ msgstr ""
+#~ "GOsa posiada modularne wsparcie dla kilku metod pocztowych. Te metody "
+#~ "zapewniają interfejsy dla kont użytkowników oraz quota. Można wybrać "
+#~ "sztuczny dodatek, aby pozostawić ustawienia poczty nietknięte."
 
-#: setup/class_setupStep_Migrate.inc:141
 #, fuzzy
-msgid "Inspecting object classes in root object"
-msgstr "Sprawdzam wsparcie dla iconv"
+#~ msgid "Enable primary group filter"
+#~ msgstr "Wyświetl grupy użytkownika"
 
-#: setup/class_setupStep_Migrate.inc:147
 #, fuzzy
-msgid "Checking permission for LDAP database"
-msgstr "Brak uprawnień do usunięcia tego departamentu."
+#~ msgid "Display summary in listings"
+#~ msgstr "Wyświetl makra pasujące"
 
-#: setup/class_setupStep_Migrate.inc:153
 #, fuzzy
-msgid "Checking for invisible departments"
-msgstr "Sprawdzam wsparcie dla iconv"
+#~ msgid "Honour administrative units"
+#~ msgstr "Administracja Grupą"
+
+#~ msgid "SNMP community"
+#~ msgstr "SNMP community"
 
-#: setup/class_setupStep_Migrate.inc:158
 #, fuzzy
-msgid "Checking for invisible users"
-msgstr "Sprawdzam wsparcie dla iconv"
+#~ msgid "Path for PPD storage"
+#~ msgstr "Przechowywanie hasła"
 
-#: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3211
 #, fuzzy
-msgid "Checking for super administrator"
-msgstr "Sprawedzam dodatkowe programy"
+#~ msgid "Mail queue script"
+#~ msgstr "Ogólna ścieżka do skryptu"
 
-#: setup/class_setupStep_Migrate.inc:171
 #, fuzzy
-msgid "Checking for users outside the people tree"
-msgstr "Sprawdzam moduł cups"
+#~ msgid "Notification script"
+#~ msgstr "Cel powiadomienia"
 
-#: setup/class_setupStep_Migrate.inc:177
 #, fuzzy
-msgid "Checking for groups outside the groups tree"
-msgstr "Sprawdzam moduł cups"
+#~ msgid "Enable edit locking"
+#~ msgstr "Włącz skanowanie antyfirusowe"
 
-#: setup/class_setupStep_Migrate.inc:184
-msgid "Checking for windows workstations outside the winstation tree"
-msgstr ""
+#, fuzzy
+#~ msgid "Warn if session is not encrypted"
+#~ msgstr "Sesja nie będzie szyfrowana."
 
-#: setup/class_setupStep_Migrate.inc:190
 #, fuzzy
-msgid "Checking for duplicated UID numbers"
-msgstr "Sprawdzam funkcję %s"
+#~ msgid "Remember dialog filter settings"
+#~ msgstr "Ogólne ustawienia użytkownika"
 
-#: setup/class_setupStep_Migrate.inc:196
 #, fuzzy
-msgid "Checking for duplicate GID numbers"
-msgstr "Sprawdzam funkcję %s"
+#~ msgid "Session lifetime"
+#~ msgstr "Wykryto konflikt sesji"
 
-#: setup/class_setupStep_Migrate.inc:202
 #, fuzzy
-msgid "Checking for old style USB devices"
-msgstr "Sprawdzam wsparcie dla iconv"
+#~ msgid "Show PHP errors"
+#~ msgstr "błąd PHP:"
 
-#: setup/class_setupStep_Migrate.inc:208
 #, fuzzy
-msgid "Checking for old services that have to be migrated"
-msgstr "Sprawdzam moduł cups"
+#~ msgid "Maximum LDAP query time"
+#~ msgstr "Max rozmiar nagłówków poczty"
 
-#: setup/class_setupStep_Migrate.inc:214
 #, fuzzy
-msgid "Checking for old style application menus"
-msgstr "Sprawdzam funkcję %s"
+#~ msgid "Debug level"
+#~ msgstr "Jeden poziom"
+
+#~ msgid "Disabled"
+#~ msgstr "Wyłączone"
 
-#: setup/class_setupStep_Migrate.inc:240 setup/class_setupStep_Migrate.inc:292
-#: setup/class_setupStep_Migrate.inc:357 setup/class_setupStep_Migrate.inc:421
-#: setup/class_setupStep_Migrate.inc:492 setup/class_setupStep_Migrate.inc:569
-#: setup/class_setupStep_Migrate.inc:653 setup/class_setupStep_Migrate.inc:796
-#: setup/class_setupStep_Migrate.inc:892
-#: setup/class_setupStep_Migrate.inc:2038
-#: setup/class_setupStep_Migrate.inc:2506
-#: setup/class_setupStep_Migrate.inc:2697
-#: setup/class_setupStep_Migrate.inc:2834
 #, fuzzy
-msgid "LDAP query failed"
-msgstr "Zapytanie do bazy danych nieudane"
+#~ msgid "Move selected workstations"
+#~ msgstr "Wybierz aby zobaczyc stacje robocze"
 
-#: setup/class_setupStep_Migrate.inc:241 setup/class_setupStep_Migrate.inc:293
-#: setup/class_setupStep_Migrate.inc:358 setup/class_setupStep_Migrate.inc:422
-#: setup/class_setupStep_Migrate.inc:493 setup/class_setupStep_Migrate.inc:570
-#: setup/class_setupStep_Migrate.inc:654 setup/class_setupStep_Migrate.inc:797
-#: setup/class_setupStep_Migrate.inc:893
-#: setup/class_setupStep_Migrate.inc:2039
-#: setup/class_setupStep_Migrate.inc:2507
-#: setup/class_setupStep_Migrate.inc:2698
-#: setup/class_setupStep_Migrate.inc:2835
-msgid "Possibly the 'root object' is missing."
-msgstr ""
+#~ msgid "What will be done here"
+#~ msgstr "Co zostanie zrobione"
 
-#: setup/class_setupStep_Migrate.inc:263
-#, fuzzy, php-format
-msgid "Found %s duplicate values for attribute 'uidNumber'."
-msgstr "Znaleziono powtórzoną wartość dla typu rekordu '%s'."
+#, fuzzy
+#~ msgid "Hide changes"
+#~ msgstr "Open xchange"
 
-#: setup/class_setupStep_Migrate.inc:315
-#, fuzzy, php-format
-msgid "Found %s duplicate values for attribute 'gidNumber'."
-msgstr "Znaleziono powtórzoną wartość dla typu rekordu '%s'."
-
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:583
-#: setup/class_setupStep_Migrate.inc:596
-#: setup/class_setupStep_Migrate.inc:1032
-#: setup/class_setupStep_Migrate.inc:1050
-#: setup/class_setupStep_Migrate.inc:1990
-#: setup/class_setupStep_Migrate.inc:2003
-#: setup/class_setupStep_Migrate.inc:2058
-#: setup/class_setupStep_Migrate.inc:2079
-#: setup/class_setupStep_Migrate.inc:2131
-#: setup/class_setupStep_Migrate.inc:3213
-msgid "Failed"
-msgstr "Niepowodzenie"
+#, fuzzy
+#~ msgid "Show changes"
+#~ msgstr "Pokaż pakiety"
 
-#: setup/class_setupStep_Migrate.inc:375
-#, php-format
-msgid ""
-"Found %s winstations outside the predefined winstation department ou '%s'."
-msgstr ""
+#~ msgid "Move users into configured user tree"
+#~ msgstr "Przenieś użytkowników do skonfigurowanego drzewa"
 
-#: setup/class_setupStep_Migrate.inc:448
-#, fuzzy, php-format
-msgid "Found %s groups outside the configured tree '%s'."
-msgstr "Zamierzasz skopiować wpis '%s'."
+#, fuzzy
+#~ msgid "Move selected users into this people tree"
+#~ msgstr "Utwórz użytkownika z tego szablonu"
 
-#: setup/class_setupStep_Migrate.inc:449 setup/class_setupStep_Migrate.inc:526
-msgid "Move"
-msgstr "Przenieś"
+#, fuzzy
+#~ msgid "Migrate GOsa 2.5 administrative accounts"
+#~ msgstr "Utwórz konto Netatalk"
 
-#: setup/class_setupStep_Migrate.inc:525
-#, php-format
-msgid "Found %s user(s) outside the configured tree '%s'."
-msgstr ""
+#~ msgid "Abort"
+#~ msgstr "Anuluj"
 
-#: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:598
-#, php-format
-msgid ""
-"The specified user '%s' does not have full access to your ldap database."
-msgstr ""
+#~ msgid "Refresh"
+#~ msgstr "Odśwież"
 
-#: setup/class_setupStep_Migrate.inc:662
-#, php-format
-msgid "Found %s user(s) that will not be visible in GOsa."
-msgstr ""
+#~ msgid "Installation"
+#~ msgstr "Instalacja"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#: setup/class_setupStep_Migrate.inc:1120
-msgid "Migration error"
-msgstr "Błąd migracji"
+#~ msgid "GOsa settings 1/3"
+#~ msgstr "Ustawienia GOsa 1/3"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#, fuzzy, php-format
-msgid "Cannot migrate department '%s':"
-msgstr "Utwórz nowy departament"
+#, fuzzy
+#~ msgid "The specified value for '%s' must be a numeric value"
+#~ msgstr "Port sieve musi być liczbą."
 
-#: setup/class_setupStep_Migrate.inc:805
-#, php-format
-msgid "Found %s department(s) that will not be visible in GOsa."
-msgstr ""
+#~ msgid "Don't add a trailing comma to '%s'."
+#~ msgstr "Nie dodawaj kropki na końcu '%s'."
 
-#: setup/class_setupStep_Migrate.inc:1029
-#, fuzzy, php-format
-msgid "GOsa 2.5 administrative accounts found: %s"
-msgstr "Utwórz konto Netatalk"
+#~ msgid "People storage ou"
+#~ msgstr "Prosze wyszczególnić długość pamięci."
+
+#~ msgid "Group storage ou"
+#~ msgstr "Proszę wybrać grupę obiektów"
 
-#: setup/class_setupStep_Migrate.inc:1034
 #, fuzzy
-msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
-msgstr "Utwórz konto Netatalk"
+#~ msgid "Uid base must be numeric"
+#~ msgstr "Limit czasu musi być liczbą"
 
-#: setup/class_setupStep_Migrate.inc:1051
-msgid "There is no GOsa administrator account inside your LDAP."
-msgstr ""
+#, fuzzy
+#~ msgid "The given password minimum length is not numeric."
+#~ msgstr "Port sieve musi być liczbą."
 
-#: setup/class_setupStep_Migrate.inc:1120
-#, php-format
-msgid "Cannot add ACL for user '%s':"
-msgstr ""
+#, fuzzy
+#~ msgid "The given password differ value is not numeric."
+#~ msgstr "Port sieve musi być liczbą."
 
-#: setup/class_setupStep_Migrate.inc:1158
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Input error"
-msgstr "Błąd wejścia"
+#~ msgid "Available members"
+#~ msgstr "Dostępni członkowie"
 
-#: setup/class_setupStep_Migrate.inc:1158
-msgid "Uid"
-msgstr "Uid"
+#~ msgid "GOsa login screen"
+#~ msgstr "Ekran logowania GOsa"
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Password error"
-msgstr "Błąd hasła"
+#~ msgid "Login screen"
+#~ msgstr "Ekran Logowania"
 
-#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
-msgid "Provided passwords do not match!"
-msgstr "Hasła podane jako nowe i powtórzone nie zgadzają się!"
+#~ msgid ""
+#~ "Please use your username and your password to log into the site "
+#~ "administration system."
+#~ msgstr "Proszę użyć swojego loginu i hasła aby się zalogować"
 
-#: setup/class_setupStep_Migrate.inc:1168
-#, fuzzy
-msgid "Specify a valid user ID!"
-msgstr "Proszę podać prawidłową nazwę użytkownika!"
+#~ msgid "Sign in"
+#~ msgstr "Zaloguj"
 
-#: setup/class_setupStep_Migrate.inc:1201
-#, php-format
-msgid "Adding an administrative user failed: object '%s' already exists!"
-msgstr ""
+#~ msgid ""
+#~ "This may be used by several groups. Please double check if your really "
+#~ "want to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "To może być używane przez kilka grup. Proszę upewnić się czy kontynuować, "
+#~ "gdyż nie ma operacji powrotu."
 
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#, fuzzy
-msgid "Cannot move users to the requested department!"
-msgstr "Przejdź do domowego departamentu użytkowników"
+#~ msgid ""
+#~ "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "Jeśli jesteś pewien - naciśnij 'Usuń' aby kontynuować lub 'Anuluj' aby "
+#~ "anulować."
 
-#: setup/class_setupStep_Migrate.inc:1250
-msgid "Winstation will be moved from"
-msgstr ""
+#~ msgid "Help"
+#~ msgstr "Pomoc"
 
-#: setup/class_setupStep_Migrate.inc:1261
-#: setup/class_setupStep_Migrate.inc:1310
-msgid "Updating following references too"
-msgstr ""
+#~ msgid "Sign out"
+#~ msgstr "Wyloguj"
 
-#: setup/class_setupStep_Migrate.inc:1300
-#, fuzzy
-msgid "Group will be moved from"
-msgstr "Będzie możliwość odtworzenia z"
+#~ msgid "Signed in:"
+#~ msgstr "Zalogowano:"
+
+#~ msgid "Success"
+#~ msgstr "Powodzenie"
 
-#: setup/class_setupStep_Migrate.inc:1348
 #, fuzzy
-msgid "User will be moved from"
-msgstr "Użyj członków z"
+#~ msgid "New password repeated"
+#~ msgstr "Nowe hasło"
 
-#: setup/class_setupStep_Migrate.inc:1358
-msgid "The following references will be updated"
-msgstr ""
+#~ msgid "Change"
+#~ msgstr "Zmień"
 
-#: setup/class_setupStep_Migrate.inc:1991
-msgid ""
-"The LDAP root object is missing. It is required to use your LDAP service."
-msgstr ""
+#~ msgid "UNIX"
+#~ msgstr "UNIX"
 
-#: setup/class_setupStep_Migrate.inc:1992
-#: setup/class_setupStep_Migrate.inc:2005
-#, fuzzy
-msgid "Try to create root object"
-msgstr "Utwórz obiekty"
+#~ msgid "FTP"
+#~ msgstr "FTP"
 
-#: setup/class_setupStep_Migrate.inc:2004
-msgid "Root object couldn't be created, you should try it on your own."
-msgstr ""
+#~ msgid "Thin Client"
+#~ msgstr "Cienki klient"
 
-#: setup/class_setupStep_Migrate.inc:2059
-#, fuzzy, php-format
-msgid "Missing GOsa object class '%s'!"
-msgstr "Wyświetl szablony FAI"
+#~ msgid "Object name"
+#~ msgstr "Nazwa obiektu"
 
-#: setup/class_setupStep_Migrate.inc:2060
-#, fuzzy
-msgid "Please check your installation."
-msgstr "Proszę sprawdzić kombinację login/hasło."
+#~ msgid "This object has no relationship to other objects."
+#~ msgstr "Ten obiekt nie posiada powiązań z innymi obiektami."
 
-#: setup/class_setupStep_Migrate.inc:2081
-#, php-format
-msgid ""
-"Cannot handle the structural object type of your root object. Please try to "
-"add the object class '%s' manually."
-msgstr ""
+#~ msgid ""
+#~ "Changing the password affects your authentification on mail, proxy, samba "
+#~ "and unix services."
+#~ msgstr ""
+#~ "Zmiana hasła jest powiązana z autentykacją do usług poczty, proxy, samba, "
+#~ "oraz unix."
 
-#: setup/class_setupStep_Migrate.inc:2440
-#, fuzzy, php-format
-msgid "Copy '%s' to '%s' failed:"
-msgstr "Przenoszenie '%s' do '%s'"
+#~ msgid "User identification"
+#~ msgstr "Identyfikacja użytkownika"
 
-#: setup/class_setupStep_Migrate.inc:2575
-#, php-format
-msgid "There are %s devices that need to be migrated."
-msgstr ""
+#~ msgid "Personal picture"
+#~ msgstr "Osobiste zdjęcie"
 
-#: setup/class_setupStep_Migrate.inc:2635
-#, php-format
-msgid "Adding '%s' to the LDAP failed: %s"
-msgstr ""
+#~ msgid "In all groups"
+#~ msgstr "We wszystkich grupach"
+
+#~ msgid "Not in all groups"
+#~ msgstr "Nie we wszystkich grupach"
 
-#: setup/class_setupStep_Migrate.inc:2655
-#: setup/class_setupStep_Migrate.inc:2772
-#, fuzzy, php-format
-msgid "Updating '%s' failed: %s"
-msgstr "Użytkownik bazy logowania"
+#~ msgid "! unknown UID"
+#~ msgstr "! nieznane UID"
 
-#: setup/class_setupStep_Migrate.inc:2728
-#, php-format
-msgid "There are %s services that need to be migrated."
-msgstr ""
+#~ msgid "All categories"
+#~ msgstr "Wszystkie kategorie"
 
-#: setup/class_setupStep_Migrate.inc:3059
-#, php-format
-msgid "There are %s application menus which have to be migrated."
-msgstr ""
+#~ msgid "All objects in current subtree"
+#~ msgstr "Wszystkie obiekty w obecnym poddrzewie"
 
-#: setup/setup_welcome.tpl:4
-msgid ""
-"This seems to be the first time you start GOsa - we didn't find any "
-"configuration right now. This simple wizard intends to help you while "
-"setting it up."
-msgstr ""
+#~ msgid "Startup"
+#~ msgstr "Startup"
 
-#: setup/setup_welcome.tpl:8
-msgid "What will the wizard do for you?"
-msgstr ""
+#~ msgid "FAI summary"
+#~ msgstr "Podsumowanie FAI"
 
-#: setup/setup_welcome.tpl:11
 #, fuzzy
-msgid "Create a basic, single site configuration"
-msgstr "Konfiguracja bazy FAX"
-
-#: setup/setup_welcome.tpl:12
-msgid "Tries to find problems within your PHP and LDAP setup"
-msgstr ""
+#~ msgid "Cannot bind to LDAP. Please contact the system administrator."
+#~ msgstr ""
+#~ "Nie można połączyć się z LDAP. Proszę skontaktować się z administratorem."
 
-#: setup/setup_welcome.tpl:13
-msgid "Let you choose from a set of basic and advanced configuration switches"
-msgstr ""
+#~ msgid "Password reset"
+#~ msgstr "Reset hasła"
 
-#: setup/setup_welcome.tpl:14
-msgid "Guided migration of existing LDAP trees"
-msgstr ""
+#~ msgid "Up"
+#~ msgstr "Góra"
 
-#: setup/setup_welcome.tpl:17
-msgid "What will the wizard NOT do for you?"
-msgstr ""
+#~ msgid "Down"
+#~ msgstr "W dół"
 
-#: setup/setup_welcome.tpl:20
 #, fuzzy
-msgid "Find every possible configuration error"
-msgstr "Plik konfiguracyjny"
+#~ msgid "Select to list objects of type '%s'."
+#~ msgstr "Wybierz obiekty do dodania"
 
-#: setup/setup_welcome.tpl:21
-msgid "Migrate every possible LDAP setup - create backup dumps!"
-msgstr ""
+#, fuzzy
+#~ msgid "Select to list objects containig '%s'."
+#~ msgstr "Zaznacz aby zobaczyć grupy zawierające użytkowników"
 
-#: setup/setup_welcome.tpl:25
 #, fuzzy
-msgid "To continue..."
-msgstr "Ustawienia trwają..."
+#~ msgid "Select to list objects that have '%s' enabled"
+#~ msgstr "Wybierz obiekty do dodania"
 
-#: setup/setup_welcome.tpl:28
-msgid ""
-"For security reasons you need to authenticate for the installation by "
-"creating the file '/tmp/gosa.auth', containing the current session ID on the "
-"servers local filesystem. This can be done by executing the following "
-"command:"
-msgstr ""
+#~ msgid "Select to search within subtrees"
+#~ msgstr "Zaznacz aby wyszukiwać wewnątrz poddrzew"
 
-#: setup/setup_welcome.tpl:34
-msgid "Click the 'Continue' button when you've finished."
-msgstr ""
+#~ msgid "in"
+#~ msgstr "w"
 
-#: setup/setup_license.tpl:8
-msgid "I have read the license and accept it"
-msgstr ""
+#~ msgid "on line"
+#~ msgstr "włączone"
+
+#~ msgid "Contains ACLs for these objects: %s"
+#~ msgstr "Zawiera ACL'e w tych kategoriach: %s"
 
-#: setup/class_setupStep_Config3.inc:81 setup/class_setupStep_Config3.inc:82
 #, fuzzy
-msgid "GOsa settings 3/3"
-msgstr "Ustawienia użytkownika"
+#~ msgid "Role: %s"
+#~ msgstr "Pełniona funkcja"
 
-#: setup/class_setupStep_Config3.inc:83
-msgid "Tweak some GOsa core behaviour"
-msgstr ""
+#~ msgid "Go up one department"
+#~ msgstr "Idź jeden departament wyżej"
 
-#: setup/class_setupStep_Config3.inc:212
-#, fuzzy
-msgid "Session lifetime must be a numeric value!"
-msgstr "Przyszłe dni muszą być liczbą."
+#~ msgid "Go to users department"
+#~ msgstr "Przejdź do departamentu użytkowników"
 
-#: setup/class_setupStep_Config3.inc:216
-#, fuzzy
-msgid "Maximum LDAP query time must be a numeric value!"
-msgstr "Przyszłe dni muszą być liczbą."
+#~ msgid "Remove snapshot"
+#~ msgstr "Usuń snapshot"
 
-#: setup/setup_checks.tpl:9
-msgid "PHP module and extension checks"
-msgstr ""
+#~ msgid "Toggle information"
+#~ msgstr "Przełącz informacje"
 
-#: setup/setup_checks.tpl:41 setup/setup_checks.tpl:103
-msgid "GOsa will NOT run without fixing this."
-msgstr ""
+#~ msgid "All objects in this category"
+#~ msgstr "Wszystkie obiekty w tej kategorii"
 
-#: setup/setup_checks.tpl:45 setup/setup_checks.tpl:107
-msgid "GOsa will run without fixing this."
-msgstr ""
+#~ msgid "from"
+#~ msgstr "od"
 
-#: setup/setup_checks.tpl:67
-#, fuzzy
-msgid "PHP setup configuration"
-msgstr "Konfiguracja bazy FAX"
+#~ msgid "Restore"
+#~ msgstr "Odtwórz"
 
-#: setup/setup_checks.tpl:67
-#, fuzzy
-msgid "show information"
-msgstr "Informacje osobiste"
+#~ msgid "cut"
+#~ msgstr "wytnij"
 
-#: setup/setup_schema.tpl:3
-#, fuzzy
-msgid "Schema specific settings"
-msgstr "Ustawienia Samba"
+#~ msgid "Your LDAP setup contains old schema definitions:"
+#~ msgstr "Ustawienia serwera LDAP zawierają stare definicje schema:"
 
-#: setup/setup_schema.tpl:7
-msgid "Enable schema validation when logging in"
-msgstr ""
+#~ msgid ""
+#~ "FATAL: Register globals is on. GOsa will refuse to login unless this is "
+#~ "fixed by an administrator."
+#~ msgstr ""
+#~ "BŁĄD: Register globals jest włączone. GOsa odmówi logowania do momentu "
+#~ "poprawienia tego parametru przez administratora."
 
-#: setup/setup_schema.tpl:16
 #, fuzzy
-msgid "Check status"
-msgstr "Ustaw status"
+#~ msgid "Prpperties"
+#~ msgstr "Właściwości"
 
-#: setup/setup_schema.tpl:20
-msgid "Schema check succeeded"
-msgstr "Sprawdzanie schematów zakończone powodzeniem"
+#~ msgid "Old password"
+#~ msgstr "Stare hasło"
 
-#: setup/setup_schema.tpl:23
-#, fuzzy
-msgid "Schema check failed"
-msgstr "Zapisywanie telefonu nieudane"
+#~ msgid "Verify password"
+#~ msgstr "Weryfikacja hasła"
 
-#: setup/setup_schema.tpl:31
-msgid ""
-"Could not read any schema informations, all checks skipped. Adjust your ldap "
-"acls."
-msgstr ""
+#~ msgid "Session conflict detected"
+#~ msgstr "Wykryto konflikt sesji"
 
-#: setup/setup_schema.tpl:35
-msgid ""
-"It seems that your ldap database wasn't initialized yet. This maybe the "
-"reason, why GOsa can't read your schema configuration!"
-msgstr ""
+#~ msgid ""
+#~ "Probably there's another active instance of your session. Multiple window "
+#~ "operation is technical not possible and heavily depends on the browser "
+#~ "you're using. Usage of different browsers at a time (i.e. IE and Mozilla) "
+#~ "is possible. Pressing the Logout button will close this session."
+#~ msgstr ""
+#~ "Prawdopodobnie istnieje inna aktywna instacja sesji. Operowanie na kilku "
+#~ "oknach nie jest technicznie możliwe i mocno zależy od używanej "
+#~ "przeglądarki. Użycie różnych przeglądarek (np. IE i Mozilla) jest "
+#~ "możliwe. Naciśnięcie przycisku Wyloguj zamknie tą sesję."
 
-#: setup/setup_config1.tpl:2
-msgid "Look and feel"
-msgstr ""
+#~ msgid ""
+#~ "Ignoring this message will change/destroy the data you're currently "
+#~ "editing, so please close multiple windows and log in again."
+#~ msgstr ""
+#~ "Ignorując ten komunikat zmienisz/usuniesz dane które obecnie edytujesz. "
+#~ "Proszę zamknąć wiele okien i zalogować się ponownie."
+
+#~ msgid "External password changer reported a problem: "
+#~ msgstr "Zewnętrzny program do zmiany hasła zgłosił następujący problem:"
 
-#: setup/setup_config1.tpl:6
 #, fuzzy
-msgid "Theme"
-msgstr "Mime"
+#~ msgid "Show department"
+#~ msgstr "Pokaż departamenty"
 
-#: setup/setup_config1.tpl:15
-msgid "Apache"
-msgstr "Apache"
+#, fuzzy
+#~ msgid "Show groups"
+#~ msgstr "Pokaż grupy samba"
 
-#: setup/setup_config1.tpl:19
-msgid "Compress output send to browser"
-msgstr ""
+#, fuzzy
+#~ msgid "Show server"
+#~ msgstr "Pokaż serwery"
 
-#: setup/setup_config1.tpl:27
 #, fuzzy
-msgid "People and group storage"
-msgstr "Prosze wyszczególnić długość pamięci."
+#~ msgid "Show workstation"
+#~ msgstr "Pokaż stacje robocze"
 
-#: setup/setup_config1.tpl:30
 #, fuzzy
-msgid "People DN attribute"
-msgstr "Ten 'dn' nie jest aplikacją."
+#~ msgid "Show terminal"
+#~ msgstr "Pokaż terminale"
 
-#: setup/setup_config1.tpl:41
 #, fuzzy
-msgid "People storage subtree"
-msgstr "Prosze wyszczególnić długość pamięci."
+#~ msgid "Show printer"
+#~ msgstr "Pokaż drukarki"
 
-#: setup/setup_config1.tpl:50
 #, fuzzy
-msgid "Group storage subtree"
-msgstr "Proszę wybrać grupę obiektów"
+#~ msgid "Show phone"
+#~ msgstr "Pokaż pakiety"
 
-#: setup/setup_config1.tpl:59
-msgid "Include personal title in user DN"
-msgstr ""
+#, fuzzy
+#~ msgid "Filter options"
+#~ msgstr "Dostępni odbiorcy"
 
-#: setup/setup_config1.tpl:70
-msgid "Relaxed naming policies"
-msgstr ""
+#~ msgid ""
+#~ "Please double check if you really want to do this since there is no way "
+#~ "for GOsa to get your data back."
+#~ msgstr "Proszę upewnić się czy kontynuować, gdyż nie ma możliwości powrotu."
 
-#: setup/setup_config1.tpl:81
 #, fuzzy
-msgid "Automatic UIDs"
-msgstr "Automatyczne tryby"
+#~ msgid "Manage object groups"
+#~ msgstr "Nazwa grupy obiektów"
 
-#: setup/setup_config1.tpl:97 setup/class_setupStep_Config1.inc:118
-msgid "GID / UID min id"
-msgstr ""
+#, fuzzy
+#~ msgid "nested groups"
+#~ msgstr "Grupy obiektów"
 
-#: setup/setup_config1.tpl:113
 #, fuzzy
-msgid "Number base for people/groups"
-msgstr "Podstawowe ID dla użytkowników/grup"
+#~ msgid "application groups"
+#~ msgstr "Pokaż grupy aplikacji"
 
-#: setup/setup_config1.tpl:121
-msgid "Hook for number base"
-msgstr ""
+#, fuzzy
+#~ msgid "department groups"
+#~ msgstr "departamenty"
 
-#: setup/setup_config1.tpl:140
 #, fuzzy
-msgid "Password encryption algorithm"
-msgstr "Algorytm szyfrowania"
+#~ msgid "server groups"
+#~ msgstr "serwery"
 
-#: setup/setup_config1.tpl:151
 #, fuzzy
-msgid "Password restrictions"
-msgstr "Hasło wygasa"
+#~ msgid "workstation groups"
+#~ msgstr "stacje robocze"
 
-#: setup/setup_config1.tpl:158 setup/setup_config1.tpl:162
-msgid "Password minimum length"
-msgstr "Minimalna długość hasła"
+#, fuzzy
+#~ msgid "terminal groups"
+#~ msgstr "Pokaż grupy pocztowe"
 
-#: setup/setup_config1.tpl:169 setup/setup_config1.tpl:173
-msgid "Different characters from old password"
-msgstr ""
+#, fuzzy
+#~ msgid "printer groups"
+#~ msgstr "Grupa podstawowa"
 
-#: setup/setup_config1.tpl:182
 #, fuzzy
-msgid "Password change hook"
-msgstr "Brak uprawnień do zmiay hasła"
+#~ msgid "phone groups"
+#~ msgstr "Pokaż grupy"
 
-#: setup/setup_config1.tpl:198
-msgid "Use SASL for kerberos"
-msgstr "Użyj SASL dla kerberosa"
+#~ msgid "Select objects to add"
+#~ msgstr "Wybierz obiekty do dodania"
 
-#: setup/setup_config1.tpl:209
-#, fuzzy
-msgid "Use account expiration"
-msgstr "Konto wygasa po"
+#~ msgid "Filters"
+#~ msgstr "Filtry"
 
-#: setup/setup_config1.tpl:221
-msgid ""
-"GOsa supports several encryption types for your passwords. Normally this is "
-"adjustable via user templates, but you can specify a default method to be "
-"used here, too."
-msgstr ""
-"GOsa wspiera kilka typów szyfrowania hasła. Typy można ustawić przez "
-"szablony użytkownika, oraz można też ustawić typ domyślny tutaj."
+#~ msgid "Display objects of department"
+#~ msgstr "Wyświetl obiekty departamentu"
 
-#: setup/setup_config1.tpl:222
-#, fuzzy
-msgid ""
-"GOsa always acts as admin and manages access rights internally. This is a "
-"workaround till OpenLDAP's in directory ACI's are    fully implemented. For "
-"this to work, we need the admin DN and the corresponding password."
-msgstr ""
-"GOsa zawsze zachowuje się jak admin i zarządza uprawnieniami wewnętrznie. "
-"Jest to obejście dopóki ACL w katalogu OpenLDAP zostaną w pełni "
-"zaimplementowane. Trzeba podać administracyjne DN i odpowiednie hasło."
+#~ msgid "Choose the department the search will be based on"
+#~ msgstr "Wybierz departament na którym wyszukiwanie będzie bazować"
 
-#: setup/setup_config1.tpl:223
-msgid ""
-"Some basic LDAP parameters are tunable and affect the locations where GOsa "
-"saves people and groups, including the way accounts get created. Check the "
-"values below if the fit your needs."
-msgstr ""
-"Pewne podstawowe parametry LDAP są zmienialne i wpływają na lokalizacje "
-"gdzie GOsa zapisuje użytkowników i grupy razem ze sposobem w jaki konta są "
-"tworzone. Sprawdź wartości poniżej i dostosuj do wymagań."
+#~ msgid "Display objects matching"
+#~ msgstr "Wyświetl obiekty pasujące"
 
-#: setup/setup_config1.tpl:224
-#, fuzzy
-msgid ""
-"GOsa has modular support for several mail methods. These methods provide "
-"interfaces to users mailboxes and general handling    for quotas. You can "
-"choose the dummy plugin to leave all your mail settings untouched."
-msgstr ""
-"GOsa posiada modularne wsparcie dla kilku metod pocztowych. Te metody "
-"zapewniają interfejsy dla kont użytkowników oraz quota. Można wybrać "
-"sztuczny dodatek, aby pozostawić ustawienia poczty nietknięte."
+#~ msgid "Regular expression for matching object names"
+#~ msgstr "Wyrażenie regularne dla dopasowania nazw obiektów"
 
-#: setup/class_setupStep_Schema.inc:42 setup/class_setupStep_Schema.inc:43
-#, fuzzy
-msgid "LDAP schema check"
-msgstr "Usługa Ldap"
+#~ msgid "Select systems to add"
+#~ msgstr "Wybierz systemy do dodania"
 
-#: setup/class_setupStep_Schema.inc:44
-msgid "Perform test on your current LDAP schema"
-msgstr ""
+#~ msgid "Display systems of department"
+#~ msgstr "Wyświetl systemy departamentu"
 
-#: setup/class_setupStep_Welcome.inc:38
-msgid "Welcome"
-msgstr "Witaj"
+#~ msgid "Display systems matching"
+#~ msgstr "Wyświetl systemy pasujące"
 
-#: setup/class_setupStep_Welcome.inc:39
-msgid "The welcome message"
-msgstr "Wiadomość powitalna"
+#~ msgid "Regular expression for matching addresses"
+#~ msgstr "Wyrażenie regularne dla dopasowania adresów"
+
+#~ msgid ""
+#~ "This may be a primary user group. Please double check if you really want "
+#~ "to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "To może być podstawowa grupa użytkownika. Proszę upewnić się czy aby na "
+#~ "pewno kontynuować, gdyż tej operacji nie można cofnąć."
+
+#~ msgid "Show samba groups"
+#~ msgstr "Pokaż grupy samba"
 
-#: setup/class_setupStep_Welcome.inc:40
 #, fuzzy
-msgid "Welcome to GOsa setup wizard"
-msgstr "Witaj w instalacji GOsa!"
+#~ msgid "Show mail groups"
+#~ msgstr "Pokaż grupy samba"
 
-#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
-msgid "License"
-msgstr "Licencja"
+#~ msgid "Group administration"
+#~ msgstr "Administracja Grupą"
 
-#: setup/class_setupStep_License.inc:58
-msgid "Terms and conditions for usage"
-msgstr "Warunki użytkowania"
+#~ msgid ""
+#~ "This includes all account data, system access rules, imap settings, etc. "
+#~ "for this user. Please double check if your really want to do this since "
+#~ "there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Operacja odnosi się do wszystkich danych dotyczących konta, dostępu, "
+#~ "ustawień imap, etc dla tego użytkownika. Proszę upewnić się czy na pewno "
+#~ "kontynuować, gdyż nie ma możliwości powrotu."
 
-#: setup/setup_language.tpl:3
-#, fuzzy
-msgid "Please select the preferred language"
-msgstr "Preferowany język"
+#~ msgid "Manage users"
+#~ msgstr "Zarządzaj użytkownikami"
 
-#: setup/setup_language.tpl:5
-msgid ""
-"At this point, you can select the site wide default language. Choosing "
-"'automatic' will use the language requested by the browser. This setting can "
-"be overriden per user."
-msgstr ""
+#~ msgid ""
+#~ "This includes 'all' accounts, systems, etc. in this subtree. Please "
+#~ "double check if your really want to do this since there is no way for "
+#~ "GOsa to get your data back."
+#~ msgstr ""
+#~ "Operacja odnosi sie do 'wszystkich' kont, systemów, etc w tym poddrzewie. "
+#~ "Proszę upewnić się czy kontynuować, gdyż nie ma operacji powrotu."
 
-#: setup/setup_language.tpl:9
-#, fuzzy
-msgid "Please select your preferred language here"
-msgstr "Preferowany język"
+#~ msgid ""
+#~ "Best thing to do before performing this action would be to save the "
+#~ "current contents of your LDAP tree in a file. So - if you've done so - "
+#~ "press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "Przed wykonaniem tej operacji zaleca się wykonanie kopii bezpieczeństwa "
+#~ "drzewa LDAP. Naciśnij 'Usuń' aby kontynuować, lub 'Anuluj' aby przerwać."
+
+#~ msgid "List of departments"
+#~ msgstr "Lista departamentów"
 
-#: setup/class_setupStep_Config1.inc:74 setup/class_setupStep_Config1.inc:75
-msgid "GOsa settings 1/3"
-msgstr "Ustawienia GOsa 1/3"
+#~ msgid "Manage Departments"
+#~ msgstr "Zarządzaj Departamentami"
 
-#: setup/class_setupStep_Config1.inc:76
 #, fuzzy
-msgid "GOsa generic settings"
-msgstr "Ogólne ustawienia użytkownika"
+#~ msgid "Show access control lists"
+#~ msgstr "Kontrola dostępu"
 
-#: setup/class_setupStep_Config1.inc:118
-#, fuzzy, php-format
-msgid "The specified value for '%s' must be a numeric value"
-msgstr "Port sieve musi być liczbą."
+#, fuzzy
+#~ msgid "Show roles"
+#~ msgstr "Pokaż telefony"
 
-#: setup/class_setupStep_Config1.inc:122 setup/class_setupStep_Config1.inc:126
-#, php-format
-msgid "Don't add a trailing comma to '%s'."
-msgstr "Nie dodawaj kropki na końcu '%s'."
+#~ msgid "Show servers"
+#~ msgstr "Pokaż serwery"
 
-#: setup/class_setupStep_Config1.inc:122
-msgid "People storage ou"
-msgstr "Prosze wyszczególnić długość pamięci."
+#~ msgid "Show workstations"
+#~ msgstr "Pokaż stacje robocze"
 
-#: setup/class_setupStep_Config1.inc:126
-msgid "Group storage ou"
-msgstr "Proszę wybrać grupę obiektów"
+#~ msgid "Show terminals"
+#~ msgstr "Pokaż terminale"
 
-#: setup/class_setupStep_Config1.inc:130
 #, fuzzy
-msgid "Uid base must be numeric"
-msgstr "Limit czasu musi być liczbą"
+#~ msgid "List navigation"
+#~ msgstr "Stacje Windows"
 
-#: setup/class_setupStep_Config1.inc:134
 #, fuzzy
-msgid "The given password minimum length is not numeric."
-msgstr "Port sieve musi być liczbą."
+#~ msgid "Group selection filter"
+#~ msgstr "Ustawienia grupy"
 
-#: setup/class_setupStep_Config1.inc:137
 #, fuzzy
-msgid "The given password differ value is not numeric."
-msgstr "Port sieve musi być liczbą."
+#~ msgid "Posix extension settings"
+#~ msgstr "Ustawienia Posix"
 
-#: setup/class_setupStep_Config2.inc:80 setup/class_setupStep_Config2.inc:81
-msgid "GOsa settings 2/3"
-msgstr "Ustawienia GOsa 2/3"
+#, fuzzy
+#~ msgid "Account accessibility"
+#~ msgstr "Plik konfiguracyjny"
 
-#: setup/class_setupStep_Config2.inc:82
-msgid "Customize special parameters"
-msgstr "Dostosuj specjalne parametry"
+#~ msgid "Go to root department"
+#~ msgstr "Idź do głównego departamentu"
 
-#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
-msgid "Language setup"
-msgstr "Ustawienia językowe"
+#~ msgid "Home"
+#~ msgstr "Katalog domowy"
 
-#: setup/class_setupStep_Language.inc:42
-msgid "This step allows you to select your preferred language."
-msgstr "Tek krok umożliwia wybranie preferowanego języka."
+#~ msgid ""
+#~ "This is the GOsa main menu. You can select your tasks from the menu on "
+#~ "the left, or by choosing one of the pictograms below. All changes apply "
+#~ "directly to your companies LDAP server."
+#~ msgstr ""
+#~ "To jest główny ekran GOsa. Można wybrać zadania z menu po lewej stronie, "
+#~ "lub wybierając jeden z piktogramów poniżej. Wszelkie zmiany wchodzą "
+#~ "bezpośrednio do serwera LDAP."
 
-#: setup/class_setupStep_Language.inc:47
-msgid "Automatic"
-msgstr "Automatycznie"
+#~ msgid ""
+#~ "Use 'Sign out' on the upper left to close the connection and 'Main' to "
+#~ "get back to the pictogram view."
+#~ msgstr ""
+#~ "Użyj 'Wyloguj' na górze ekranu aby zamknąć połączenie oraz 'Główne' aby "
+#~ "wrócić do głównego ekranu z widokiem piktogramów."
+
+#, fuzzy
+#~ msgid "Show functional users"
+#~ msgstr "Pokaż użytkowników funkcjonalnych"
 
 #, fuzzy
-#~ msgid "Group submenu menu"
-#~ msgstr "Członek grupy"
+#~ msgid "Show Samba users"
+#~ msgstr "Pokaż użytkowników Poczty"
 
 #~ msgid "Choose subtree to place user in"
 #~ msgstr "Wybierz poddrzewo do umieszczenia konta."
@@ -6757,21 +8072,29 @@ msgstr "Automatycznie"
 #~ msgid "Select a base"
 #~ msgstr "Wybierz bazę"
 
-#, fuzzy
-#~ msgid "You have no permission to set your password!"
-#~ msgstr "Brak uprawnień do zmiany własnego hasła"
+#~ msgid "Generic user information"
+#~ msgstr "Ogólne informacje o użytkowniku"
 
-#~ msgid ""
-#~ "You have changed the method your password is stored in the ldap database. "
-#~ "For that reason you've to enter your password at this point again. GOsa "
-#~ "will then encode it with the selected method."
-#~ msgstr ""
-#~ "Zmieniono metodę kodowania hasła w bazie ldap. Z tego powodu należy teraz "
-#~ "podać ponownie swoje hasło. GOsa zakoduje to hasło używając wybranej "
-#~ "metody."
+#~ msgid "Account"
+#~ msgstr "Konto"
 
-#~ msgid "Password change not allowed"
-#~ msgstr "Brak uprawnień do zmiay hasła"
+#~ msgid "Select groups to add"
+#~ msgstr "Wybierz grupy do dodania"
+
+#~ msgid "Display groups of department"
+#~ msgstr "Wyświetl grupy departamentu"
+
+#~ msgid "Display groups matching"
+#~ msgstr "Wyświetl grupy pasujące"
+
+#~ msgid "Regular expression for matching group names"
+#~ msgstr "Wyrażenie regularne dla dopasowania nazw grup"
+
+#~ msgid "Display groups of user"
+#~ msgstr "Wyświetl grupy użytkownika"
+
+#~ msgid "User name of which groups are shown"
+#~ msgstr "Nazwa użytkownika którego grupy są pokazane"
 
 #, fuzzy
 #~ msgid "Choose a base"
@@ -6783,9 +8106,6 @@ msgstr "Automatycznie"
 #~ msgid "Choose subtree to place department in"
 #~ msgstr "Wybierz poddrzewo do umieszczenia departamentu"
 
-#~ msgid "Update"
-#~ msgstr "Aktualizuj"
-
 #~ msgid "Show %s"
 #~ msgstr "Pokaż %s"
 
@@ -6814,10 +8134,6 @@ msgstr "Automatycznie"
 #~ msgstr "Wyrażenie regularne do dopasowania nazw użytkowników"
 
 #, fuzzy
-#~ msgid "List of systems"
-#~ msgstr "Lista użytkowników"
-
-#, fuzzy
 #~ msgid "givenname"
 #~ msgstr "Imię"
 
@@ -6833,9 +8149,6 @@ msgstr "Automatycznie"
 #~ msgid "List of ogroups"
 #~ msgstr "Lista grup"
 
-#~ msgid "Use"
-#~ msgstr "Użyj"
-
 #, fuzzy
 #~ msgid "Filter entries with this syntax"
 #~ msgstr "Filtruj elementy z tą składnią"
@@ -6899,10 +8212,6 @@ msgstr "Automatycznie"
 #~ msgstr "Pokaż grupy funkcjonalne"
 
 #, fuzzy
-#~ msgid "Not allowed"
-#~ msgstr "Brak uprawnień do zmiay hasła"
-
-#, fuzzy
 #~ msgid "Number of listed groups"
 #~ msgstr "Nazwa grupy"
 
@@ -6918,9 +8227,6 @@ msgstr "Automatycznie"
 #~ msgid "templates"
 #~ msgstr "Szablon"
 
-#~ msgid "GOsa object"
-#~ msgstr "Obiekt GOsa"
-
 #, fuzzy
 #~ msgid "functional users"
 #~ msgstr "Pokaż użytkowników funkcjonalnych"
@@ -6953,9 +8259,6 @@ msgstr "Automatycznie"
 #~ msgid "Create user with this template"
 #~ msgstr "Utwórz użytkownika z tego szablonu"
 
-#~ msgid "user"
-#~ msgstr "użytkownik"
-
 #~ msgid "password"
 #~ msgstr "hasło"
 
@@ -6985,9 +8288,6 @@ msgstr "Automatycznie"
 #~ msgid "Regular expression for matching department names"
 #~ msgstr "Wyrażenie regularne dla dopasowania nazw departamentów"
 
-#~ msgid "Department management"
-#~ msgstr "Zarządzanie departamentem"
-
 #~ msgid ""
 #~ "This includes all system and setup informations. Please double check if "
 #~ "your really want to do this since there is no way for GOsa to get your "
@@ -7040,10 +8340,6 @@ msgstr "Automatycznie"
 #~ msgstr "Rozszerzenie inwentarza"
 
 #, fuzzy
-#~ msgid "Enable DHCP extension"
-#~ msgstr "Rozszerzenie inwentarza"
-
-#, fuzzy
 #~ msgid "Enable mime type management"
 #~ msgstr "Zarządzanie typami mime"
 
@@ -7087,19 +8383,12 @@ msgstr "Automatycznie"
 #~ msgstr "Zmień nazwę"
 
 #, fuzzy
-#~ msgid "Role description"
-#~ msgstr "Opis jednostki"
-
-#, fuzzy
 #~ msgid "Override sudo role ou"
 #~ msgstr "! nieznane id"
 
 #~ msgid "Terminals"
 #~ msgstr "Terminale"
 
-#~ msgid "Action"
-#~ msgstr "Akcja"
-
 #, fuzzy
 #~ msgid "Select this base"
 #~ msgstr "Wybierz bazę"
@@ -7108,10 +8397,6 @@ msgstr "Automatycznie"
 #~ msgid "add"
 #~ msgstr "Dodaj"
 
-#, fuzzy
-#~ msgid "remove"
-#~ msgstr "Usuń"
-
 #~ msgid "You're about to delete the whole LDAP subtree placed under '%s'."
 #~ msgstr "Zamierzasz usunąć całe poddrzewo LDAP umieszczone pod '%s'."
 
@@ -7119,10 +8404,6 @@ msgstr "Automatycznie"
 #~ msgstr "departament"
 
 #, fuzzy
-#~ msgid "Delete acl role"
-#~ msgstr "Usuń makro"
-
-#, fuzzy
 #~ msgid "Steps"
 #~ msgstr "Systemy"
 
@@ -7148,18 +8429,10 @@ msgstr "Automatycznie"
 #~ msgstr "Usuń użytkownika"
 
 #, fuzzy
-#~ msgid "User successfully removed."
-#~ msgstr "Import powiódł się"
-
-#, fuzzy
 #~ msgid "Heimdal options"
 #~ msgstr "Opcje poczty"
 
 #, fuzzy
-#~ msgid "Hour"
-#~ msgstr "godzina"
-
-#, fuzzy
 #~ msgid "Day"
 #~ msgstr "dzień"
 
@@ -7204,18 +8477,12 @@ msgstr "Automatycznie"
 #~ msgid "Common name"
 #~ msgstr "Nazwa potoczna"
 
-#~ msgid "Server name"
-#~ msgstr "Nazwa serwera"
-
 #~ msgid "Servers of %s on %s"
 #~ msgstr "Serwery %s na %s"
 
 #~ msgid "Display name"
 #~ msgstr "Wyświetl nazwę"
 
-#~ msgid "Home phone"
-#~ msgstr "Telefon domowy"
-
 #~ msgid "Initials"
 #~ msgstr "Inicjały"
 
@@ -7243,12 +8510,6 @@ msgstr "Automatycznie"
 #~ msgid "Email address"
 #~ msgstr "Adres email"
 
-#~ msgid "Organizational unit"
-#~ msgstr "Jednostka organizacyjna"
-
-#~ msgid "Postal Code"
-#~ msgstr "Kod Pocztowy"
-
 #~ msgid "Title"
 #~ msgstr "Tytuł"
 
@@ -7262,9 +8523,6 @@ msgstr "Automatycznie"
 #~ msgid "You have no permission to do LDAP exports!"
 #~ msgstr "Brak uprawnień do wysyłania wiadomości!"
 
-#~ msgid "Could not connect to database server!"
-#~ msgstr "Nie można połączyć się z serwerem baz danych!"
-
 #~ msgid "Could not select database!"
 #~ msgstr "Nie można wybrać bazy danych!"
 
@@ -7324,18 +8582,10 @@ msgstr "Automatycznie"
 #~ msgstr "Zaczepy"
 
 #, fuzzy
-#~ msgid "Command"
-#~ msgstr "i"
-
-#, fuzzy
 #~ msgid "Run as user"
 #~ msgstr "Użytkownicy domeny"
 
 #, fuzzy
-#~ msgid "Available options"
-#~ msgstr "Dostępni odbiorcy"
-
-#, fuzzy
 #~ msgid "Sudo role administration"
 #~ msgstr "Administracja Grupą"
 
@@ -7497,10 +8747,6 @@ msgstr "Automatycznie"
 #~ msgstr "Pokaż grupy zawierające użytkowników"
 
 #, fuzzy
-#~ msgid "server"
-#~ msgstr "serwery"
-
-#, fuzzy
 #~ msgid "Show %s user"
 #~ msgstr "Pokaż użytkowników Samby"
 
@@ -7593,10 +8839,6 @@ msgstr "Automatycznie"
 #~ msgid "Service infrastructure"
 #~ msgstr "Szukaj wewnątrz tego poddrzewa"
 
-#, fuzzy
-#~ msgid "Password change failed."
-#~ msgstr "Brak uprawnień do zmiay hasła"
-
 #~ msgid "You are not allowed to set this users password!"
 #~ msgstr "Brak uprawnień do zmiany hasła tym użytkownikom!"
 
@@ -7624,10 +8866,6 @@ msgstr "Automatycznie"
 #~ msgstr "Brak uprawnień do zmiany przekazywania poczty"
 
 #, fuzzy
-#~ msgid "Accessibility"
-#~ msgstr "Plik konfiguracyjny"
-
-#, fuzzy
 #~ msgid "Configuration warning"
 #~ msgstr "Plik konfiguracyjny"
 
@@ -7852,9 +9090,6 @@ msgstr "Automatycznie"
 #~ msgid "You're about to delete the object group '%s'."
 #~ msgstr "Zamierzasz usunąć grupę obiektową '%s'."
 
-#~ msgid "Name of object groups"
-#~ msgstr "Nazwa grupy obiektów"
-
 #~ msgid "Select to see groups containing groups"
 #~ msgstr "Zaznacz aby zobaczyć grupy zawierające grupy"
 
@@ -7924,9 +9159,6 @@ msgstr "Automatycznie"
 #~ msgid "Clear categories ACLs"
 #~ msgstr "Wyczyść ACL'e kategorii"
 
-#~ msgid "ACLs"
-#~ msgstr "ACLe"
-
 #~ msgid "Groupname / Department"
 #~ msgstr "Nazwa grupy / Departament"
 
@@ -7955,10 +9187,6 @@ msgstr "Automatycznie"
 #~ msgstr "Kontrola dostępu"
 
 #, fuzzy
-#~ msgid "Acl roles"
-#~ msgstr "Profil FAI"
-
-#, fuzzy
 #~ msgid "Removing a lock failed."
 #~ msgstr "Usuwanie zaczepu FAI nieudane"
 
@@ -8043,9 +9271,6 @@ msgstr "Automatycznie"
 #~ msgid "Unix settings"
 #~ msgstr "Ustawienia Unix"
 
-#~ msgid "Notifications"
-#~ msgstr "Powiadamiania"
-
 #, fuzzy
 #~ msgid "Send user notifications"
 #~ msgstr "Identyfikacja użytkownika"
@@ -8058,10 +9283,6 @@ msgstr "Automatycznie"
 #~ msgstr "Nie można stworzyć pliku '%s'."
 
 #, fuzzy
-#~ msgid "Notification"
-#~ msgstr "Powiadamiania"
-
-#, fuzzy
 #~ msgid "Notification plugin"
 #~ msgstr "Powiadomienie wysłane!"
 
@@ -8075,9 +9296,6 @@ msgstr "Automatycznie"
 #~ msgid "Use target from"
 #~ msgstr "Użyj celu z"
 
-#~ msgid "Recipients"
-#~ msgstr "Odbiorcy"
-
 #~ msgid "Message"
 #~ msgstr "Wiadomość"
 
@@ -8145,9 +9363,6 @@ msgstr "Automatycznie"
 #~ msgid "Please enter a valid path in 'Home directory' field."
 #~ msgstr "Proszę podać prawidłową ścieżkę w polu 'Katalog domowy'."
 
-#~ msgid "Value specified as 'UID' is not valid."
-#~ msgstr "Wartość podana jako 'UID' jest nieprawidłowa."
-
 #~ msgid "Value specified as 'GID' is not valid."
 #~ msgstr "Wartość podana jako 'GID' jest nieprawidłowa."
 
@@ -8350,10 +9565,6 @@ msgstr "Automatycznie"
 #~ msgid "Available targets"
 #~ msgstr "Dostępni członkowie"
 
-#, fuzzy
-#~ msgid "Show object groups"
-#~ msgstr "Grupy obiektów"
-
 #~ msgid "You are not allowed to delete this acl!"
 #~ msgstr "Brak uprawnień do usunięcia  tego ACL!"
 
@@ -8387,9 +9598,6 @@ msgstr "Automatycznie"
 #~ msgid "Network resolv hook"
 #~ msgstr "Adres sieciowy"
 
-#~ msgid "Administration"
-#~ msgstr "Administracja"
-
 #~ msgid "Addons"
 #~ msgstr "Dodatki"
 
@@ -8410,12 +9618,6 @@ msgstr "Automatycznie"
 #~ msgid "Nagios"
 #~ msgstr "Nagios"
 
-#~ msgid "Options"
-#~ msgstr "Opcje"
-
-#~ msgid "Parameter"
-#~ msgstr "Parametr"
-
 #, fuzzy
 #~ msgid "Inventory"
 #~ msgstr "Dodaj inwentarz"
diff --git a/gosa-core/locale/core/pt/LC_MESSAGES/messages.po b/gosa-core/locale/core/pt/LC_MESSAGES/messages.po
index ff2b13f..82674b1 100644
--- a/gosa-core/locale/core/pt/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/pt/LC_MESSAGES/messages.po
@@ -7,1605 +7,2190 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages-2.6.4-pt_BR\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-09 20:24+0200\n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
 "PO-Revision-Date: 2009-03-02 15:03-0300\n"
 "Last-Translator: Clever de Oliveira Jr. <clever at dri.cefetmg.br>\n"
 "Language-Team: Brazilian Portuguese <pt at li.org>\n"
+"Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: ihtml/themes/default/remove.tpl:2 ihtml/themes/default/msg_dialog.tpl:59
-#: ihtml/themes/default/msg_dialog.tpl:106 ihtml/themes/default/islocked.tpl:6
-#: ihtml/themes/default/conflict.tpl:6 html/password.php:280 html/index.php:57
-#: html/index.php:63 html/index.php:406 html/index.php:412
-#: include/functions.inc:954 include/functions.inc:2686
-#: include/functions.inc:2690 include/functions.inc:2696
-#: include/class_tabs.inc:268 include/utils/class_xml.inc:37
-#: plugins/admin/ogroups/remove.tpl:2 plugins/admin/groups/remove.tpl:2
-#: plugins/admin/groups/class_group.inc:994 plugins/admin/users/remove.tpl:2
-#: plugins/admin/departments/remove.tpl:2
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#: plugins/admin/acl/remove.tpl:2
-#: plugins/personal/posix/class_posixAccount.inc:793
-#: plugins/personal/posix/class_posixAccount.inc:946
-#: setup/class_setupStep_Migrate.inc:261 setup/class_setupStep_Migrate.inc:313
-#: setup/class_setupStep_Migrate.inc:446 setup/class_setupStep_Migrate.inc:523
-#: setup/class_setupStep_Migrate.inc:661 setup/class_setupStep_Migrate.inc:804
-#: setup/class_setupStep_Migrate.inc:2573
-#: setup/class_setupStep_Migrate.inc:2726
-#: setup/class_setupStep_Migrate.inc:3058 setup/setup_checks.tpl:32
-#: setup/setup_checks.tpl:93
-msgid "Warning"
-msgstr "Atenção"
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
+msgstr "desconfigurado"
+
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
+msgid "Permission"
+msgstr ""
+
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
+msgid "Permission error"
+msgstr ""
+
+#: include/class_management.inc:487
+#, php-format
+msgid "You are not allowed to create a snapshot for %s!"
+msgstr ""
+
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
+#, php-format
+msgid "Error"
+msgstr "Erro"
+
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
+msgstr ""
+
+#: include/class_management.inc:549
+#, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
+msgstr ""
+
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
+msgid "Internal error"
+msgstr "Erro interno"
 
-#: ihtml/themes/default/remove.tpl:6
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
 msgid ""
-"This may be used by several groups. Please double check if your really want "
-"to do this since there is no way for GOsa to get your data back."
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
 msgstr ""
 
-#: ihtml/themes/default/remove.tpl:9 plugins/admin/ogroups/remove.tpl:10
-#: plugins/admin/groups/remove.tpl:10 plugins/admin/users/remove.tpl:10
-#: plugins/admin/acl/remove.tpl:10
-msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
+#: include/class_management.inc:669
+#, php-format
+msgid ""
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
 msgstr ""
-"Então, se você tem certeza, pressione 'Deletar' para continuar ou 'Cancelar' "
-"para abortar."
 
-#: ihtml/themes/default/remove.tpl:15
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Configuration error"
+msgstr "Erro de configuração"
+
+#: include/class_pluglist.inc:147
+#, fuzzy
+msgid "The configuration format has changed: please run the setup again!"
+msgstr ""
+"O formato da configuração foi alterado. Por favor, execute novamente o "
+"configurador!"
+
+#: include/class_pluglist.inc:304
+#, fuzzy
+msgid ""
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
+msgstr ""
+"Você esta atualmente editando uma entrada na base de dados. Você quer perder "
+"as alterações realizadas?"
+
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
+msgid "Unknown"
+msgstr "Desconhecido"
+
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
+msgstr "Esse objeto será apagado!"
+
+#: include/utils/class_msgPool.inc:19
+#, fuzzy, php-format
+msgid "This %s object will be deleted!"
+msgstr "Esse objeto '%s' será apagado!"
+
+#: include/utils/class_msgPool.inc:24
+#, php-format
+msgid "This object will be deleted: %s"
+msgstr "Esse objeto será apagado: %s"
+
+#: include/utils/class_msgPool.inc:26
+#, fuzzy, php-format
+msgid "This %s object will be deleted: %s"
+msgstr "Esse objeto '%s' será apagado: %s"
+
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
+msgstr "Esse objeto será apagado:"
+
+#: include/utils/class_msgPool.inc:33
+#, fuzzy, php-format
+msgid "This %s object will be deleted:"
+msgstr "Esse objeto '%s' será apagado:"
+
+#: include/utils/class_msgPool.inc:37
+#, php-format
+msgid "These objects will be deleted: %s"
+msgstr "Estes objetos serão apagados: %s"
+
+#: include/utils/class_msgPool.inc:39
+#, fuzzy, php-format
+msgid "These %s objects will be deleted: %s"
+msgstr "Estes objetos '%s' serão apagados: %s"
+
+#: include/utils/class_msgPool.inc:47
+msgid "You have no permission to delete this object!"
+msgstr "Você não tem permissão para apagar esse objeto!"
+
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
+msgid "You have no permission to delete the object:"
+msgstr "Você não tem permissão para apagar o objeto:"
+
+#: include/utils/class_msgPool.inc:58
+msgid "You have no permission to delete these objects:"
+msgstr "Você não tem permissão para apagar estes objetos:"
+
+#: include/utils/class_msgPool.inc:65
+msgid "You have no permission to create this object!"
+msgstr "Você não tem permissão para criar esse objeto!"
+
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
+msgid "You have no permission to create the object:"
+msgstr "Você não tem permissão para criar o objeto:"
+
+#: include/utils/class_msgPool.inc:76
+msgid "You have no permission to create these objects:"
+msgstr "Você não tem permissão para criar estes objetos:"
+
+#: include/utils/class_msgPool.inc:83
+msgid "You have no permission to modify this object!"
+msgstr "Você não tem permissão para modificar esse objeto!"
+
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
+msgid "You have no permission to modify the object:"
+msgstr "Você não tem permissão para modificar o objeto:"
+
+#: include/utils/class_msgPool.inc:94
+msgid "You have no permission to modify these objects:"
+msgstr "Você não tem permissão para modificar estes objetos:"
+
+#: include/utils/class_msgPool.inc:101
+msgid "You have no permission to view this object!"
+msgstr "Você não tem permissão para ver esse objeto!"
+
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
+msgid "You have no permission to view the object:"
+msgstr "Você não tem permissão para ver o objeto:"
+
+#: include/utils/class_msgPool.inc:112
+msgid "You have no permission to view these objects:"
+msgstr "Você não tem permissão para ver estes objetos:"
+
+#: include/utils/class_msgPool.inc:119
+msgid "You have no permission to move this object!"
+msgstr "Você não tem permissão para mover esse objeto!"
+
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
+msgid "You have no permission to move the object:"
+msgstr "Você não tem permissão para mover o objeto:"
+
+#: include/utils/class_msgPool.inc:130
+msgid "You have no permission to move these objects:"
+msgstr "Você não tem permissão para mover estes objetos:"
+
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
+msgid "Connection information"
+msgstr "Informação da conexão"
+
+#: include/utils/class_msgPool.inc:142
+#, php-format
+msgid "Cannot connect to %s database!"
+msgstr "Não foi possível conectar ao banco de dados  %s!"
+
+#: include/utils/class_msgPool.inc:154
+#, php-format
+msgid "Cannot select %s database!"
+msgstr "Não foi possível selecionar o banco de dados %s!"
+
+#: include/utils/class_msgPool.inc:160
+#, php-format
+msgid "No %s server defined!"
+msgstr "Servidor %s não definido!"
+
+#: include/utils/class_msgPool.inc:172
+#, php-format
+msgid "Cannot query %s database!"
+msgstr "Não foi possível pesquisar no banco de dados %s!"
+
+#: include/utils/class_msgPool.inc:178
+#, fuzzy, php-format
+msgid "The field %s contains a reserved keyword!"
+msgstr "O campo '%s' contém uma palavra reservada!"
+
+#: include/utils/class_msgPool.inc:184
+#, fuzzy, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
+msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!"
+
+#: include/utils/class_msgPool.inc:191
+#, fuzzy, php-format
+msgid "%s command is invalid!"
+msgstr "O comando '%s' é inválido!"
+
+#: include/utils/class_msgPool.inc:193
+#, fuzzy, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
+msgstr "O comando '%s' (%s) para o plugin %s é inválido!"
+
+#: include/utils/class_msgPool.inc:195
+#, fuzzy, php-format
+msgid "%s command for plugin %s is invalid!"
+msgstr "O comando '%s' para o plugin %s is invalid!"
+
+#: include/utils/class_msgPool.inc:197
+#, fuzzy, php-format
+msgid "%s command (%s) is invalid!"
+msgstr "O comando '%s' (%s) é inválido!"
+
+#: include/utils/class_msgPool.inc:205
+#, fuzzy, php-format
+msgid "Cannot execute %s command!"
+msgstr "Não foi possível executar o comando '%s'!"
+
+#: include/utils/class_msgPool.inc:207
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
+msgstr "Não foi possível executar o comando '%s' (%s) para o plugin %s!"
+
+#: include/utils/class_msgPool.inc:209
+#, fuzzy, php-format
+msgid "Cannot execute %s command for plugin %s!"
+msgstr "Não foi possível executar o comando '%s' para o plugin %s!"
+
+#: include/utils/class_msgPool.inc:211
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s)!"
+msgstr "Não foi possível executar o comando '%s'!"
+
+#: include/utils/class_msgPool.inc:219
+#, php-format
+msgid "Value for %s is too large!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:221
+#, php-format
+msgid "%s must be smaller than %s!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:229
+#, php-format
+msgid "Value for %s is too small!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:231
+#, php-format
+msgid "%s must be %s or above!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:238
+#, php-format
+msgid "%s depends on %s - please provide both values!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:244
+#, php-format
+msgid "There is already an entry with this %s attribute in the system!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:250
+#, php-format
+msgid "The required field %s is empty!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:278
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters"
+msgstr "O campo '%s' contém uma palavra reservada!"
+
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s is not allowed:"
+msgstr "Alteração de senha não permitida"
+
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s are not allowed!"
+msgstr "Alteração de senha não permitida"
+
+#: include/utils/class_msgPool.inc:282
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters!"
+msgstr "O campo '%s' contém uma palavra reservada!"
+
+#: include/utils/class_msgPool.inc:289
+#, php-format
+msgid "Missing %s PHP extension!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
 #: ihtml/themes/default/copyPasteDialog.tpl:21
-#: ihtml/themes/default/acl.tpl:128 ihtml/themes/default/acl.tpl:142
-#: ihtml/themes/default/snapshotdialog.tpl:44
-#: ihtml/themes/default/snapshotdialog.tpl:89
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
 #: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
 #: ihtml/themes/default/msg_dialog.tpl:139
 #: ihtml/themes/default/msg_dialog.tpl:144
-#: ihtml/themes/default/islocked.tpl:19 include/utils/class_msgPool.inc:312
-#: setup/setup_migrate.tpl:163 setup/setup_migrate.tpl:214
-#: setup/setup_migrate.tpl:261 setup/setup_migrate.tpl:326
-#: setup/setup_migrate.tpl:382 setup/setup_migrate.tpl:435
-#: setup/setup_migrate.tpl:480 setup/setup_migrate.tpl:523
-#: setup/setup_migrate.tpl:567 setup/setup_ldap.tpl:17
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
 #, php-format
-msgid "Cancel"
-msgstr "Cancelar"
+msgid "OK"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
+msgstr "Aplicar"
+
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
+msgstr "Salvar"
+
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
+msgstr "Adicionar"
+
+#: include/utils/class_msgPool.inc:319
+#, php-format
+msgid "Add %s"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
+msgstr "Deletar"
+
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete %s"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
+msgstr "Definir"
+
+#: include/utils/class_msgPool.inc:331
+#, php-format
+msgid "Set %s"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit..."
+msgstr ""
+
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit %s..."
+msgstr ""
+
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
+msgstr "Voltar"
+
+#: include/utils/class_msgPool.inc:363
+#, php-format
+msgid "This account has no valid %s extensions!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:369
+#, php-format
+msgid ""
+"This account has %s settings enabled. You can disable them by clicking below."
+msgstr ""
+
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, php-format
+msgid ""
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:388
+#, php-format
+msgid ""
+"This account has %s settings disabled. You can enable them by clicking below."
+msgstr ""
+
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, php-format
+msgid ""
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:406
+#, php-format
+msgid "Add %s settings"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:412
+#, php-format
+msgid "Remove %s settings"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
+msgstr "Clique em Editar para alterar as informações desta janela"
+
+#: include/utils/class_msgPool.inc:424
+msgid "January"
+msgstr "Janeiro"
+
+#: include/utils/class_msgPool.inc:424
+msgid "February"
+msgstr "Fevereiro"
+
+#: include/utils/class_msgPool.inc:424
+msgid "March"
+msgstr "Março"
+
+#: include/utils/class_msgPool.inc:424
+msgid "April"
+msgstr "Abril"
+
+#: include/utils/class_msgPool.inc:425
+msgid "May"
+msgstr "Maio"
+
+#: include/utils/class_msgPool.inc:425
+msgid "June"
+msgstr "Junho"
+
+#: include/utils/class_msgPool.inc:425
+msgid "July"
+msgstr "Julho"
+
+#: include/utils/class_msgPool.inc:425
+msgid "August"
+msgstr "Agosto"
+
+#: include/utils/class_msgPool.inc:425
+msgid "September"
+msgstr "Setembro"
+
+#: include/utils/class_msgPool.inc:426
+msgid "October"
+msgstr "Outubro"
+
+#: include/utils/class_msgPool.inc:426
+msgid "November"
+msgstr "Novembro"
+
+#: include/utils/class_msgPool.inc:426
+msgid "December"
+msgstr "Dezembro"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Sunday"
+msgstr "Domingo"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Monday"
+msgstr "Segunda"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
+msgstr "Terça"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Wednesday"
+msgstr "Quarta"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
+msgstr "Quinta"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
+msgstr "Sexta"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
+msgstr "Sábado"
+
+#: include/utils/class_msgPool.inc:439
+msgid "MySQL operation failed!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:447
+msgid "read operation"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:447
+msgid "modify operation"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:448
+msgid "delete operation"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:448
+msgid "search operation"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:448
+msgid "authentication"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:451
+#, php-format
+msgid "LDAP %s failed!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:453
+msgid "LDAP operation failed!"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
+msgstr "Objeto"
 
-#: ihtml/themes/default/login.tpl:10
-msgid "GOsa login screen"
+#: include/utils/class_msgPool.inc:469
+msgid "Upload failed!"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:27
-msgid "Login screen"
+#: include/utils/class_msgPool.inc:472
+#, php-format
+msgid "Upload failed: %s"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:34
-msgid ""
-"Please use your username and your password to log into the site "
-"administration system."
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
 msgstr ""
 
-#: ihtml/themes/default/login.tpl:42 ihtml/themes/default/login.tpl:44
-#: ihtml/themes/default/password.tpl:69 ihtml/themes/default/password.tpl:71
-msgid "Username"
-msgstr "Nome do usuário"
-
-#: ihtml/themes/default/login.tpl:47 ihtml/themes/default/login.tpl:49
-#: ihtml/themes/default/password.tpl:40
-#: plugins/personal/generic/paste_generic.tpl:20
-#: plugins/personal/password/class_password.inc:26 setup/setup_config2.tpl:237
-#: setup/setup_config2.tpl:282 setup/setup_migrate.tpl:299
-msgid "Password"
-msgstr "Senha"
-
-#: ihtml/themes/default/login.tpl:52 ihtml/themes/default/login.tpl:53
-#: ihtml/themes/default/password.tpl:60 ihtml/themes/default/password.tpl:62
-msgid "Directory"
-msgstr "Diretório"
+#: include/utils/class_msgPool.inc:481
+#, php-format
+msgid "Communication failure with the infrastructure service: %s"
+msgstr ""
 
-#: ihtml/themes/default/login.tpl:77 ihtml/themes/default/login.tpl:80
-msgid "Sign in"
-msgstr "Entrar"
+#: include/utils/class_msgPool.inc:488
+msgid "Communication failure with the GOsa-NG service!"
+msgstr ""
 
-#: ihtml/themes/default/login.tpl:78
-msgid "Click here to log in"
-msgstr "Clique aqui para logar"
+#: include/utils/class_msgPool.inc:490
+#, php-format
+msgid "Communication failure with the GOsa-NG service: %s"
+msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:1
-msgid "Copy & paste wizard"
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
+#, php-format
+msgid "This %s is still in use by this object: %s"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:7
-msgid ""
-"Some values need to be unique in the complete directory while some "
-"combinations make no sense. GOsa shows the relevant attributes. Please "
-"maintain the values below to fullfill the policies."
+#: include/utils/class_msgPool.inc:503
+#, php-format
+msgid "This %s is still in use."
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:9
-msgid "Remember that some properties like taken snapshots will not be copied!"
+#: include/utils/class_msgPool.inc:505
+#, fuzzy, php-format
+msgid "This %s is still in use by these objects: %s"
+msgstr "Contém configurações para estes objetos: %s"
+
+#: include/utils/class_msgPool.inc:511
+#, php-format
+msgid "File %s does not exist!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:10
-msgid ""
-"Or if you copy or cut an entry within GOsa and delete the source object, you "
-"may get errors while pasting this object again!"
+#: include/utils/class_msgPool.inc:517
+#, php-format
+msgid "Cannot open file %s for reading!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:330
+#: include/utils/class_msgPool.inc:523
 #, php-format
-msgid "Save"
-msgstr "Salvar"
+msgid "Cannot open file %s for writing!"
+msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:24
-msgid "Cancel all"
+#: include/utils/class_msgPool.inc:529
+#, php-format
+msgid ""
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:30
-msgid "Operation complete"
-msgstr "Operação finalizada"
+#: include/utils/class_msgPool.inc:535
+#, fuzzy, php-format
+msgid "Cannot delete file %s!"
+msgstr "Não foi possível selecionar o banco de dados %s!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:32
-#: setup/class_setupStep_Finish.inc:37
-msgid "Finish"
-msgstr "Finalizar"
+#: include/utils/class_msgPool.inc:541
+#, fuzzy, php-format
+msgid "Cannot create folder %s!"
+msgstr "Não foi possível atribuir permissão para '%s'"
 
-#: ihtml/themes/default/sizelimit.tpl:3
-msgid ""
-"The size limit option makes LDAP operations faster and saves the LDAP server "
-"from getting too much load. The easiest way to handle big databases without "
-"long timeouts would be to limit your search to smaller values and use "
-"filters to get the entries you are looking for."
+#: include/utils/class_msgPool.inc:547
+#, fuzzy, php-format
+msgid "Cannot delete folder %s!"
+msgstr "Não foi possível atribuir permissão para '%s'"
+
+#: include/utils/class_msgPool.inc:553
+#, php-format
+msgid "Checking for %s support"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:6
-msgid "Please choose the way to react for this session"
+#: include/utils/class_msgPool.inc:559
+#, php-format
+msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:9
-msgid "ignore this error and show all entries the LDAP server returns"
+#: include/utils/class_msgPool.inc:565
+#, php-format
+msgid ""
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:10
+#: include/utils/class_msgPool.inc:571
 msgid ""
-"ignore this error and show all entries that fit into the defined sizelimit "
-"and let me use filters instead"
+"The supplied base is not valid and has been reset to its previous value!"
 msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
-#, php-format
-msgid "Set"
-msgstr "Definir"
+#: include/utils/class_timezone.inc:47
+#, fuzzy, php-format
+msgid "The configured timezone %s is not valid!"
+msgstr "A configuração GOsa %s/%s não pôde ser lida. Abortado."
 
-#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
-msgid "Assigned ACL for current entry"
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
+msgstr "Atenção"
+
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+msgid "Fatal error"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:12 plugins/admin/acl/acl_role.tpl:38
-msgid "New ACL"
+#: include/utils/class_xml.inc:51
+#, fuzzy
+msgid "XML error"
+msgstr "Erro de LDAP"
+
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:17 plugins/admin/acl/acl_role.tpl:44
-msgid "ACL type"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:19 ihtml/themes/default/acl.tpl:24
-#: plugins/admin/acl/acl_role.tpl:44
-msgid "Select an acl type"
+#: include/class_listing.inc:319
+msgid "Select all"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:29 ihtml/themes/default/acl.tpl:52
-#: ihtml/themes/default/acl.tpl:125 ihtml/themes/default/acl.tpl:140
-#: include/utils/class_msgPool.inc:324 setup/setup_migrate.tpl:161
-#: setup/setup_migrate.tpl:212 setup/setup_migrate.tpl:260
-#: setup/setup_migrate.tpl:325 setup/setup_migrate.tpl:380
-#: setup/setup_migrate.tpl:433 setup/setup_migrate.tpl:478
-#: setup/setup_migrate.tpl:521 setup/setup_migrate.tpl:565
-#: setup/setup_ldap.tpl:16
-#, php-format
-msgid "Apply"
-msgstr "Aplicar"
+#: include/class_listing.inc:578
+#, fuzzy
+msgid "created by"
+msgstr "Criar"
 
-#: ihtml/themes/default/acl.tpl:36
-msgid "Additional filter options"
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
+msgid "Root"
+msgstr "Raiz"
+
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:47
-msgid "Use members from"
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:61
-msgid "Available members"
+#: include/class_listing.inc:1079
+msgid "Reload list"
+msgstr "Recarregar lista"
+
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
+msgid "Actions"
+msgstr "Ações"
+
+#: include/class_listing.inc:1453
+msgid "Copy"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:63 ihtml/themes/default/acl.tpl:68
-msgid "List message possible targets"
+#: include/class_listing.inc:1459
+msgid "Cut"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:82 include/class_acl.inc:1090
-msgid "Members"
-msgstr "Membros"
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
+msgid "Paste"
+msgstr "Colar"
 
-#: ihtml/themes/default/acl.tpl:84 ihtml/themes/default/acl.tpl:90
-msgid "List message recipients"
+#: include/class_listing.inc:1492
+msgid "Cut this entry"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:104 plugins/admin/acl/acl_role.tpl:49
-msgid "List of available ACL categories"
+#: include/class_listing.inc:1501
+msgid "Copy this entry"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:112
-msgid "ACL for this object"
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
+msgid "Restore snapshots"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:118
-msgid "Available roles"
+#: include/class_listing.inc:1549
+msgid "Export list"
 msgstr ""
 
-#: ihtml/themes/default/accountexpired.tpl:15
-msgid "Your password has expired. Please choose a new one!"
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
+msgid "Restore snapshot"
 msgstr ""
 
-#: ihtml/themes/default/accountexpired.tpl:23
-#: ihtml/themes/default/accountexpired.tpl:27
-msgid "Old password"
+#: include/class_listing.inc:1591
+msgid "Create new snapshot for this object"
 msgstr ""
 
-#: ihtml/themes/default/accountexpired.tpl:32
-#: ihtml/themes/default/accountexpired.tpl:36
-#: ihtml/themes/default/password.tpl:82 ihtml/themes/default/password.tpl:83
-#: html/password.php:196 plugins/admin/users/password.tpl:17
-#: plugins/admin/users/password.tpl:53
-#: plugins/admin/users/class_userManagement.inc:319
-#: plugins/personal/generic/password.tpl:22
-#: plugins/personal/generic/password.tpl:65
-#: plugins/personal/password/password.tpl:27
-#: plugins/personal/password/password.tpl:70
-msgid "New password"
-msgstr "Nova senha"
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
+#, fuzzy
+msgid "Parent filter"
+msgstr "Impressora"
+
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
+msgstr "Nome"
+
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
+msgstr "Descrição"
 
-#: ihtml/themes/default/accountexpired.tpl:41
-#: ihtml/themes/default/accountexpired.tpl:45
-msgid "Verify password"
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
 msgstr ""
 
-#: ihtml/themes/default/accountexpired.tpl:51
-#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
-msgid "Change password"
-msgstr "Alterar senha"
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+#, fuzzy
+msgid "Options"
+msgstr "Ações"
 
-#: ihtml/themes/default/accountexpired.tpl:52
-#: ihtml/themes/default/password.tpl:102
-msgid "Click here to change your password"
-msgstr "Clique aqui para alterar sua senha"
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
+msgid "LDAP error"
+msgstr "Erro de LDAP"
 
-#: ihtml/themes/default/logout-close.tpl:5
-msgid "Your GOsa session has been closed!"
+#: include/class_log.inc:87
+#, php-format
+msgid "Logging failed: %s"
 msgstr ""
 
-#: ihtml/themes/default/logout-close.tpl:7
-msgid ""
-"Please close this browser window and clean the authentication caches to "
-"avoid an automatic re-authentication by your browser."
+#: include/class_log.inc:102
+#, php-format
+msgid "Invalid option %s specified!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:3
-msgid "Restoring object snapshots"
+#: include/class_log.inc:106
+msgid "Specified 'objectType' is empty or invalid!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:6
-msgid ""
-"This procedure will restore a snapshot of the selected object. It will "
-"replace the existing object after pressing the restore button."
+#: include/class_multi_plug.inc:362
+msgid "You are currently editing multiple entries."
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:9
-msgid ""
-"Remember that DNS configuration and database entries could not be restored. "
-"For some objects it is only nescessary to open and save them again (goFon), "
-"but some entries must be recreated manually (glpi)."
+#: include/class_multi_plug.inc:394
+#, fuzzy
+msgid "Reset password"
+msgstr "Definir a senha"
+
+#: include/class_multi_plug.inc:394
+msgid "The user password has been reset. Please set a new password!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:12
-msgid ""
-"Don't forget to check references to other objects, for example does the "
-"selected printer still exists ?"
+#: include/class_tabs.inc:72
+#, php-format
+msgid "No plugin definition for %s found: please check the configuration file!"
+msgstr ""
+
+#: include/class_tabs.inc:287
+#, php-format
+msgid "Delete process has been canceled by plugin %s: %s"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:20
-#: ihtml/themes/default/snapshotdialog.tpl:62 include/class_acl.inc:777
-#: include/class_acl.inc:784 include/class_acl.inc:791
-#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
-#: plugins/admin/departments/class_department.inc:621
-msgid "Object"
-msgstr "Objeto"
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
+msgstr "ACL"
+
+#: include/class_tabs.inc:425
+msgid "References"
+msgstr "Referências"
+
+#: include/functions_helpviewer.inc:45
+#, fuzzy, php-format
+msgid "XML error in guide.xml: %s at line %s"
+msgstr "Erro de XML no gosa.conf: %s na linha %d"
+
+#: include/functions_helpviewer.inc:88
+msgid "No help available for this plug-in."
+msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:29
-msgid "There is no snapshot available that could be restored"
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:31
-msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
+msgid "next"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:49
-msgid "Creating object snapshots"
+#: include/functions_helpviewer.inc:388
+#, php-format
+msgid "%s results for your search with the keyword %s"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:52
-msgid ""
-"This procedure will create a snapshot of the selected object. It will be "
-"stored inside a special branch of your directory system and can be restored "
-"later on."
+#: include/functions_helpviewer.inc:461
+#, php-format
+msgid "%s%% hit rate in file %s"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:55
-msgid ""
-"Remember that database entries, DNS configurations and possibly created "
-"zones in server extensions will not be stored in the snapshot."
+#: include/class_msg_dialog.inc:124
+msgid "Please fix the above error and reload the page."
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:70
-msgid "Timestamp"
+#: include/class_plugin.inc:581
+msgid ""
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:79
-msgid "Reason for generating this snapshot"
+#: include/class_plugin.inc:1411
+#, php-format
+msgid "Changing ACL DN from %s to %s"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:87
-#: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:561
-#: plugins/admin/departments/class_department.inc:643
-msgid "Continue"
-msgstr "Continuar"
+#: include/class_SnapShotDialog.inc:55
+#, fuzzy
+msgid "Date"
+msgstr "Colar"
 
-#: ihtml/themes/default/msg_dialog.tpl:57
-#: ihtml/themes/default/msg_dialog.tpl:104 html/index.php:224
-#: html/index.php:228 include/class_management.inc:448
-#: include/class_management.inc:584 include/class_management.inc:916
-#: include/password-methods/class_password-methods.inc:250
-#: include/password-methods/class_password-methods.inc:309
-#: include/password-methods/class_password-methods.inc:320
-#: include/class_listing.inc:480 include/functions.inc:3393
-#: include/functions.inc:3407 include/functions.inc:3437
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485 include/functions.inc:3545
-#: include/class_tabs.inc:56 include/class_plugin.inc:670
-#: include/class_plugin.inc:712 include/class_plugin.inc:755
-#: include/class_plugin.inc:1642 include/utils/class_xml.inc:40
-#: include/utils/class_msgPool.inc:154 include/utils/class_msgPool.inc:166
-#: include/utils/class_msgPool.inc:184 include/utils/class_msgPool.inc:457
-#: include/utils/class_msgPool.inc:478 include/utils/class_msgPool.inc:497
-#: include/class_gosaSupportDaemon.inc:1184
-#: include/class_gosaSupportDaemon.inc:1204
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:377 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:469
-#: plugins/admin/groups/class_group.inc:539
-#: plugins/admin/groups/class_group.inc:545
-#: plugins/admin/groups/class_group.inc:753
-#: plugins/admin/groups/class_group.inc:894
-#: plugins/admin/groups/class_group.inc:899
-#: plugins/admin/groups/class_group.inc:1221
-#: plugins/admin/departments/class_department.inc:311
-#: plugins/admin/acl/class_aclRole.inc:681
-#: plugins/personal/generic/class_user.inc:297
-#: plugins/personal/generic/class_user.inc:408
-#: plugins/personal/generic/class_user.inc:503
-#: plugins/personal/generic/class_user.inc:801
-#: plugins/personal/generic/class_user.inc:1190
-#: plugins/personal/generic/class_user.inc:1197
-#: plugins/personal/generic/class_user.inc:1215
-#: plugins/personal/generic/class_user.inc:1485
-#: plugins/personal/generic/class_user.inc:1783
-#: setup/class_setupStep_Migrate.inc:1201 setup/setup_checks.tpl:30
-#: setup/setup_checks.tpl:91
+#: include/class_SnapShotDialog.inc:94
 #, php-format
-msgid "Error"
-msgstr "Erro"
-
-#: ihtml/themes/default/msg_dialog.tpl:61
-#: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
-msgid "Information"
-msgstr "Informação"
+msgid "You are about to delete the snapshot %s."
+msgstr ""
 
-#: ihtml/themes/default/msg_dialog.tpl:76
-#: ihtml/themes/default/msg_dialog.tpl:78
-#: ihtml/themes/default/msg_dialog.tpl:134
-#: ihtml/themes/default/msg_dialog.tpl:137
-#: ihtml/themes/default/msg_dialog.tpl:142 include/utils/class_msgPool.inc:318
-#: setup/class_setupStep_Migrate.inc:267 setup/class_setupStep_Migrate.inc:319
-#: setup/class_setupStep_Migrate.inc:380 setup/class_setupStep_Migrate.inc:453
-#: setup/class_setupStep_Migrate.inc:530 setup/class_setupStep_Migrate.inc:604
-#: setup/class_setupStep_Migrate.inc:657 setup/class_setupStep_Migrate.inc:800
-#: setup/class_setupStep_Migrate.inc:1046
-#: setup/class_setupStep_Migrate.inc:2013
-#: setup/class_setupStep_Migrate.inc:2157
-#: setup/class_setupStep_Migrate.inc:2579
-#: setup/class_setupStep_Migrate.inc:2733
-#: setup/class_setupStep_Migrate.inc:3063 setup/setup_checks.tpl:27
-#: setup/setup_checks.tpl:87
-#, php-format
-msgid "Ok"
-msgstr "Ok"
-
-#: ihtml/themes/default/password.tpl:6
-msgid "Change your password"
-msgstr "Altere sua senha"
+#: include/class_SnapShotDialog.inc:143
+#, fuzzy
+msgid "Delete snapshot"
+msgstr "Deletar esta entrada"
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Success"
-msgstr "Sucesso"
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+msgid "Y-m-d, H:i:s"
+msgstr ""
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Your password has been changed successfully."
-msgstr "Sua senha foi alterada com sucesso."
+#: include/class_pathNavigator.inc:86
+#, fuzzy
+msgid "Welcome to GOsa"
+msgstr "Bem vindo %s!"
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:198
-#: plugins/admin/users/class_userManagement.inc:390
-#: plugins/personal/password/class_password.inc:128
-#: plugins/personal/password/class_password.inc:131
-#: plugins/personal/password/class_password.inc:134
-#: plugins/personal/password/class_password.inc:137
-#: plugins/personal/password/class_password.inc:140
-#: plugins/personal/password/class_password.inc:143
-#: plugins/personal/password/class_password.inc:157
-#: plugins/personal/password/class_password.inc:163
-msgid "Password change"
-msgstr "Senha alterada"
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
+msgstr ""
 
-#: ihtml/themes/default/password.tpl:53
-msgid ""
-"This dialog provides a simple way to change your password. Enter the current "
-"password and the new password (twice) in the fields below and press the "
-"'Change' button."
+#: include/class_sortableListing.inc:234
+msgid "Sortable list"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/generic/password.tpl:17
-#: plugins/personal/generic/password.tpl:44
-#: plugins/personal/password/password.tpl:22
-#: plugins/personal/password/password.tpl:49
-msgid "Current password"
-msgstr "Senha atual"
+#: include/class_sortableListing.inc:239
+msgid "Edit this entry"
+msgstr "Editar esta entrada"
+
+#: include/class_sortableListing.inc:244
+msgid "Delete this entry"
+msgstr "Deletar esta entrada"
 
-#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:87
-msgid "New password repeated"
-msgstr "Nova senha repetida"
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+#, fuzzy
+msgid "unknown"
+msgstr "Desconhecido"
 
-#: ihtml/themes/default/password.tpl:90
-#: plugins/personal/generic/password.tpl:32
-#: plugins/personal/generic/password.tpl:75
-#: plugins/personal/password/password.tpl:37
-#: plugins/personal/password/password.tpl:80
-msgid "Password strength"
+#: include/class_configRegistry.inc:197
+#, php-format
+msgid "%s has version %s but %s is required!"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:101
-msgid "Change"
-msgstr "Alterar"
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
+msgstr ""
 
-#: ihtml/themes/default/islocked.tpl:2
-msgid "Locking conflict detected"
-msgstr "Conflito de travamento detectado"
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+msgid "The following object classes are outdated:"
+msgstr ""
 
-#: ihtml/themes/default/islocked.tpl:9
+#: include/class_configRegistry.inc:252
 msgid ""
-"If this lock detection is false, the other person has obviously closed the "
-"webbrowser during the edit operation. You may want to take over the lock by "
-"pressing the 'Edit anyway' button."
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
 msgstr ""
-"Se esta detecção for falsa, um usuário pode ter fechado o navegador durante "
-"a operação de edição. Você pode destravar pressionando o botão 'Editar mesmo "
-"assim'."
 
-#: ihtml/themes/default/islocked.tpl:16
-msgid "Read only"
+#: include/class_configRegistry.inc:254
+msgid "Schema validation error"
 msgstr ""
 
-#: ihtml/themes/default/help.tpl:9
-msgid "GOsa help viewer"
-msgstr "Visualizador de ajuda do GOsa"
+#: include/class_configRegistry.inc:689
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a bool value!"
+msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: ihtml/themes/default/help.tpl:15
-msgid "Index"
-msgstr "Índice"
+#: include/class_configRegistry.inc:704
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a string!"
+msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:13
-msgid "Search"
-msgstr "Procura"
+#: include/class_configRegistry.inc:719
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be numeric!"
+msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: ihtml/themes/default/logout.tpl:5
-msgid "Your GOsa session has expired!"
-msgstr "Sua sessão do GOsa expirou!"
+#: include/class_configRegistry.inc:734
+#, fuzzy, php-format
+msgid "The path %s specified for %s:%s is invalid!"
+msgstr "O comando '%s' para o plugin %s is invalid!"
 
-#: ihtml/themes/default/logout.tpl:7
-msgid ""
-"The last interaction with the GOsa web interface has been some time ago in "
-"the past. For security reasons, the session has been closed. To continue "
-"with administrative tasks, please sign in again."
-msgstr ""
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
+msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: ihtml/themes/default/logout.tpl:10
-msgid "Sign in again"
-msgstr "Entrar novamente"
+#: include/class_configRegistry.inc:755
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
+msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: ihtml/themes/default/conflict.tpl:2
-msgid "Session conflict detected"
-msgstr "Conflito de sessão detectado"
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not writeable!"
+msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: ihtml/themes/default/conflict.tpl:6
-msgid ""
-"Probably there's another active instance of your session. Multiple window "
-"operation is technical not possible and heavily depends on the browser "
-"you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is "
-"possible. Pressing the Logout button will close this session."
-msgstr ""
+#: include/class_configRegistry.inc:802
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not writeable!"
+msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: ihtml/themes/default/conflict.tpl:10
-msgid ""
-"Ignoring this message will change/destroy the data you're currently editing, "
-"so please close multiple windows and log in again."
-msgstr ""
+#: include/class_configRegistry.inc:820
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s does not exists!"
+msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: ihtml/themes/default/conflict.tpl:14
-msgid "Logout"
-msgstr "Sair"
+#: include/class_configRegistry.inc:825
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not readable!"
+msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-#: ihtml/themes/default/framework.tpl:20 ihtml/themes/default/framework.tpl:24
-#: include/class_pluglist.inc:212
-msgid ""
-"You are currently editing a database entry. Do you want to dismiss the "
-"changes?"
+#: include/class_configRegistry.inc:841
+#, fuzzy, php-format
+msgid "The command %s specified for %s:%s is invalid!"
+msgstr "O comando '%s' (%s) para o plugin %s é inválido!"
+
+#: include/class_configRegistry.inc:856
+#, fuzzy, php-format
+msgid "The DN %s specified for %s:%s is invalid!"
+msgstr "O comando '%s' para o plugin %s is invalid!"
+
+#: include/class_configRegistry.inc:871
+#, fuzzy, php-format
+msgid "The RDN %s specified for %s:%s is invalid!"
+msgstr "O comando '%s' para o plugin %s is invalid!"
+
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
 msgstr ""
-"Você esta atualmente editando uma entrada na base de dados. Você quer perder "
-"as alterações realizadas?"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-msgid "Main"
-msgstr "Principal"
+#: include/php_setup.inc:110
+msgid "Send bug report"
+msgstr ""
 
-#: ihtml/themes/default/framework.tpl:16
-msgid "Help"
-msgstr "Ajuda"
+#: include/php_setup.inc:114
+msgid "Toggle details"
+msgstr ""
 
-#: ihtml/themes/default/framework.tpl:21 ihtml/themes/default/framework.tpl:25
-msgid "Sign out"
-msgstr "Sair"
+#: include/php_setup.inc:123
+msgid "PHP error"
+msgstr ""
 
-#: ihtml/themes/default/framework.tpl:29
-msgid "Signed in:"
-msgstr "Logado:"
+#: include/php_setup.inc:142
+msgid "class"
+msgstr ""
 
-#: ihtml/themes/default/framework.tpl:32
-msgid "GOsa main menu"
+#: include/php_setup.inc:148
+msgid "function"
 msgstr ""
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:454
-#: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:433
-msgid "Fatal error"
+#: include/php_setup.inc:153
+msgid "static"
 msgstr ""
 
-#: html/password.php:58 html/index.php:144
-#, php-format
-msgid "GOsa configuration %s/%s is not readable. Aborted."
-msgstr "A configuração GOsa %s/%s não pôde ser lida. Abortado."
+#: include/php_setup.inc:157
+msgid "method"
+msgstr ""
 
-#: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:268
-#: include/password-methods/class_password-methods-ssha.inc:51
-#: include/password-methods/class_password-methods-sha.inc:48
-#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:58
-#: include/class_SnapshotHandler.inc:76 include/functions.inc:825
-#: include/functions.inc:3067 include/functions.inc:3099
-#: include/functions.inc:3112 include/utils/class_timezone.inc:47
-#: include/class_config.inc:155 include/class_config.inc:695
-#: include/class_config.inc:1146 include/class_config.inc:1159
-#: include/class_config.inc:1177 include/class_pluglist.inc:182
-#: include/class_CopyPasteHandler.inc:119
-#: include/class_CopyPasteHandler.inc:128
-#: include/class_CopyPasteHandler.inc:177
-#: include/class_CopyPasteHandler.inc:186
-#: include/class_CopyPasteHandler.inc:194
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:667
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Configuration error"
-msgstr "Erro de configuração"
+#: include/php_setup.inc:190
+msgid "Traceback"
+msgstr ""
 
-#: html/password.php:74 html/index.php:165 html/setup.php:66
-#, php-format
-msgid "Directory '%s' specified as compile directory is not accessible!"
+#: include/php_setup.inc:191
+msgid "File"
 msgstr ""
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:593
-msgid "Password method"
+#: include/php_setup.inc:191
+msgid "Line"
 msgstr ""
 
-#: html/password.php:159
-msgid "Error: Password method not available!"
-msgstr "Erro: Método de senha não disponível!"
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+msgid "Type"
+msgstr "Tipo"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:316
-#: plugins/personal/password/class_password.inc:132
-msgid ""
-"The passwords you've entered as 'New password' and 'Repeated new password' "
-"do not match."
+#: include/php_setup.inc:192
+msgid "Arguments"
 msgstr ""
-"A senha digitada nos campos 'Nova senha' e 'Repita nova senha' não conferem."
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:138
-msgid "The password used as new and current are too similar."
-msgstr "A senha utilizada como nova e atual são muito similares."
+#: include/class_certificate.inc:73
+msgid "Certificate is empty!"
+msgstr ""
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:141
-msgid "The password used as new is to short."
-msgstr "A senha utilizada como nova é curta."
+#: include/class_certificate.inc:100
+msgid "Cannot load certificate: only PEM and DER are supported!"
+msgstr ""
 
-#: html/password.php:215 plugins/admin/groups/userSelect/user-list.xml:56
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
-#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
-#: plugins/personal/generic/class_user.inc:1313
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1345
-#: plugins/personal/generic/class_user.inc:1347
-#: plugins/personal/generic/generic.tpl:82
-#: plugins/personal/generic/paste_generic.tpl:15
-msgid "Login"
-msgstr "Login"
+#: include/class_certificate.inc:115
+msgid "Cannot extract information for non PEM certificates!"
+msgstr ""
 
-#: html/password.php:224 html/index.php:321
-msgid "Please check the username/password combination."
-msgstr "Por favor, verifique a combinação usuário / senha"
+#: include/class_certificate.inc:219
+msgid "No valid certificate loaded!"
+msgstr ""
 
-#: html/password.php:228
-msgid "You have no permissions to change your password."
-msgstr "Você não tem permissão para alterar sua senha."
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+msgid "Requested channel does not exist!"
+msgstr ""
 
-#: html/password.php:249
-msgid "External password changer reported a problem: "
-msgstr "O alterador externo de senhas reportou um problema:"
+#: include/functions.inc:151
+#, php-format
+msgid "Fatal error: no class locations defined - please run %s to fix this"
+msgstr ""
 
-#: html/password.php:280 html/index.php:406
-msgid "Session will not be encrypted."
-msgstr "A sessão não será criptografada."
+#: include/functions.inc:158
+#, php-format
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
+msgstr ""
 
-#: html/password.php:280 html/index.php:406
-msgid "Enter SSL session"
-msgstr "Entre com a sessão SSL"
+#: include/functions.inc:483
+#, fuzzy, php-format
+msgid "Error while connecting to LDAP: %s"
+msgstr "enquanto executava no LDAP server %s"
 
-#: html/index.php:57
-msgid "Session is not encrypted!"
+#: include/functions.inc:554 include/functions.inc:640
+msgid "User ID is not unique!"
 msgstr ""
 
-#: html/index.php:64
-msgid ""
-"The session lifetime configured in your gosa.conf will be overridden by php."
-"ini settings."
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
 msgstr ""
 
-#: html/index.php:165
-msgid "Smarty error"
+#: include/functions.inc:864
+#, php-format
+msgid "Cannot store lock information in LDAP!"
 msgstr ""
 
-#: html/index.php:216
-msgid "There is a problem with the authentication setup!"
-msgstr ""
-
-#: html/index.php:224
-msgid "Cannot find a valid user for the current authentication setup!"
-msgstr ""
-
-#: html/index.php:228
-msgid "User information is not unique accross the configured LDAP trees!"
-msgstr ""
-
-#: html/index.php:254 html/index.php:265 html/index.php:278
-#: include/class_SnapshotHandler.inc:124 include/class_SnapshotHandler.inc:281
-#: include/class_SnapshotHandler.inc:329 include/class_SnapshotHandler.inc:333
-#: include/class_SnapshotHandler.inc:348 include/class_SnapshotHandler.inc:383
-#: include/class_SnapshotHandler.inc:438 include/class_SnapshotHandler.inc:503
-#: include/class_SnapshotHandler.inc:518 include/class_acl.inc:1233
-#: include/class_acl.inc:1329 include/functions.inc:483
-#: include/functions.inc:518 include/functions.inc:526
-#: include/functions.inc:571 include/functions.inc:840
-#: include/functions.inc:889 include/functions.inc:946
-#: include/functions.inc:999 include/functions.inc:3046
-#: include/functions.inc:3319 include/class_plugin.inc:1319
-#: include/class_plugin.inc:1368 include/class_plugin.inc:1372
-#: include/class_plugin.inc:1388 include/class_plugin.inc:1428
-#: include/class_plugin.inc:1486 include/class_plugin.inc:1552
-#: include/class_plugin.inc:1567 include/class_ldap.inc:756
-#: include/class_ldap.inc:1222 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:888
-#: plugins/admin/ogroups/class_ogroup.inc:902
-#: plugins/admin/groups/class_group.inc:697
-#: plugins/admin/groups/class_group.inc:1018
-#: plugins/admin/departments/class_department.inc:279
-#: plugins/admin/departments/class_department.inc:476
-#: plugins/admin/departments/class_department.inc:750
-#: plugins/admin/departments/class_department.inc:781
-#: plugins/admin/acl/class_aclRole.inc:613
-#: plugins/admin/acl/class_aclRole.inc:653
-#: plugins/admin/acl/class_aclRole.inc:667
-#: plugins/personal/generic/class_user.inc:716
-#: plugins/personal/generic/class_user.inc:1112
-#: plugins/personal/posix/class_posixAccount.inc:631
-#: plugins/personal/posix/class_posixAccount.inc:963
-#: setup/class_setupStep_Migrate.inc:1212
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#: setup/class_setupStep_Migrate.inc:2143
-#: setup/class_setupStep_Migrate.inc:2440
-#: setup/class_setupStep_Migrate.inc:2444
-#: setup/class_setupStep_Migrate.inc:2634
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
-#: setup/class_setupStep_Migrate.inc:3118
-#: setup/class_setupStep_Migrate.inc:3132
-msgid "LDAP error"
-msgstr "Erro de LDAP"
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Error: %s"
+msgstr "Erro"
 
-#: html/index.php:265
-msgid "Cannot detect information about the installed LDAP schema!"
+#: include/functions.inc:1294
+#, php-format
+msgid "The current size limit of %d entries is exceeded!"
 msgstr ""
 
-#: html/index.php:278
-msgid "Your LDAP setup contains old schema definitions:"
+#: include/functions.inc:1296
+#, php-format
+msgid "Set the size limit to %s"
 msgstr ""
 
-#: html/index.php:299
-msgid "Please specify a valid username!"
-msgstr "Por favor, especifique um nome de usuário válido!"
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
+msgid "Configure"
+msgstr "Configurar"
 
-#: html/index.php:302
-msgid "Please specify your password!"
-msgstr "Por favor, especifique sua senha!"
+#: include/functions.inc:1313
+#, fuzzy
+msgid "list is incomplete"
+msgstr "Operação finalizada"
 
-#: html/index.php:314
-msgid "Authentication error"
+#: include/functions.inc:1663
+msgid "Continue anyway"
 msgstr ""
 
-#: html/index.php:314
-msgid "Cannot retrieve user information for htaccess authentication!"
-msgstr ""
+#: include/functions.inc:1665
+msgid "Edit anyway"
+msgstr "Editar mesmo assim"
 
-#: html/index.php:369
-msgid "Account locked. Please contact your system administrator!"
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
 msgstr ""
 
-#: html/index.php:412
-msgid ""
-"Your browser has cookies disabled. Please enable cookies and reload this "
-"page before logging in!"
+#: include/functions.inc:1909
+msgid "Entries per page"
 msgstr ""
-"Seu navegador está com suporte a cookies desabilitado. Por favor, habilite-o "
-"e recarregue essa página antes de entrar!"
 
-#: html/setup.php:66
-msgid "Smarty"
+#: include/functions.inc:2087
+#, fuzzy, php-format
+msgid "GOsa %s"
+msgstr "GOsa"
+
+#: include/functions.inc:2094
+#, php-format
+msgid "GOsa %s snapshot (Rev %s)"
 msgstr ""
 
-#: html/main.php:148
+#: include/functions.inc:2099
 #, php-format
-msgid "Cannot locate file '%s' - please run '%s' to fix this"
+msgid "GOsa development snapshot (Rev %s)"
+msgstr ""
+
+#: include/functions.inc:2195
+#, fuzzy, php-format
+msgid "File %s cannot be deleted!"
+msgstr "Esse objeto '%s' será apagado!"
+
+#: include/functions.inc:2225 include/functions.inc:2245
+msgid "Cannot write revision file!"
 msgstr ""
 
-#: html/main.php:167
-msgid "PHP configuration"
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
+msgid "'baseIdHook' is not available. Using default base!"
 msgstr ""
 
-#: html/main.php:168
+#: include/functions.inc:2550
 msgid ""
-"FATAL: Register globals is on. GOsa will refuse to login unless this is "
-"fixed by an administrator."
+"Cannot read schema information from LDAP. Schema validation is not possible!"
 msgstr ""
 
-#: html/main.php:198
-msgid "Your password is about to expire, please change your password!"
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
 msgstr ""
 
-#: html/main.php:268
-msgid "Running out of memory!"
+#: include/functions.inc:2583
+msgid ""
+"This class is used to lock entries in order to prevent multiple edits at a "
+"time."
 msgstr ""
 
-#: html/main.php:325
-msgid "User ACL checks disabled"
+#: include/functions.inc:2628
+#, php-format
+msgid "Required object class %s is missing!"
 msgstr ""
 
-#: html/main.php:373
-msgid "Plugin"
+#: include/functions.inc:2631
+#, php-format
+msgid "Optional object class %s is missing!"
 msgstr ""
 
-#: html/main.php:374
+#: include/functions.inc:2636
 #, php-format
-msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
+msgid "Wrong version of required object class %s (!=%s) detected!"
 msgstr ""
 
-#: html/main.php:388
-msgid "Configuration Error"
+#: include/functions.inc:2639
+#, php-format
+msgid "Class available"
 msgstr ""
 
-#: html/main.php:389
-#, php-format
+#: include/functions.inc:2661
 msgid ""
-"FATAL: not all POST variables have been transfered by PHP - please inform "
-"your administrator!"
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
 msgstr ""
 
-#: html/helpviewer.php:64
-msgid "Help browser"
-msgstr "Navegador de ajuda"
-
-#: html/helpviewer.php:118
-msgid "There is no helpfile specified for this class"
-msgstr "Não existe helpfile especificado para essa classe"
-
-#: html/helpviewer.php:194 include/functions_helpviewer.inc:97
-msgid "previous"
+#: include/functions.inc:2662
+msgid ""
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
 msgstr ""
 
-#: html/helpviewer.php:198 include/functions_helpviewer.inc:101
-msgid "next"
+#: include/functions.inc:2666
+msgid ""
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
 msgstr ""
 
-#: html/helpviewer.php:269
-#, php-format
-msgid "Helpdir '%s' is not accessible, can't read any helpfiles."
+#: include/functions.inc:2667
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
 msgstr ""
-"Helpdir '%s' não está acessível, não foi possível ler nenhum helpfiles."
 
-#: include/class_management.inc:32 include/class_management.inc:33
-#: plugins/personal/posix/class_posixAccount.inc:237
-msgid "unconfigured"
-msgstr "desconfigurado"
+#: include/functions.inc:2692
+msgid "German"
+msgstr "Alemão"
 
-#: include/class_management.inc:145
-#, fuzzy
-msgid "Filter error"
-msgstr "Erro interno"
+#: include/functions.inc:2693
+msgid "French"
+msgstr "Francês"
 
-#: include/class_management.inc:145
-msgid "The filter is incomplete!"
-msgstr ""
+#: include/functions.inc:2694
+msgid "Italian"
+msgstr "Italiano"
 
-#: include/class_management.inc:292 include/class_management.inc:427
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1590
-#: include/class_plugin.inc:1602 include/class_plugin.inc:1617
-#: include/class_plugin.inc:1630
-#: plugins/admin/users/class_userManagement.inc:236
-#: plugins/admin/users/class_userManagement.inc:744
-msgid "Permission"
-msgstr ""
+#: include/functions.inc:2695
+msgid "Spanish"
+msgstr "Espanhol"
 
-#: include/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:702
-#: plugins/admin/users/class_userManagement.inc:706
-#: plugins/admin/acl/class_aclManagement.inc:98
-msgid "Permission error"
-msgstr ""
+#: include/functions.inc:2696
+msgid "English"
+msgstr "Inglês"
 
-#: include/class_management.inc:427 include/class_plugin.inc:1590
-#, php-format
-msgid "You are not allowed to create a snapshot for %s."
+#: include/functions.inc:2697
+msgid "Dutch"
+msgstr "Holandês"
+
+#: include/functions.inc:2698
+msgid "Polish"
+msgstr "Polonês"
+
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
 msgstr ""
 
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1602
-#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
-#, php-format
-msgid "You are not allowed to restore a snapshot for %s."
+#: include/functions.inc:2701
+msgid "Chinese"
 msgstr ""
 
-#: include/class_management.inc:584
-#, php-format
-msgid ""
-"No tab declaration for '%s' found in your configuration file. Cannot create "
-"plugin instance!"
+#: include/functions.inc:2702
+msgid "Vietnamese"
 msgstr ""
 
-#: include/class_socketClient.inc:60
-msgid "The mcrypt module was not found. Please install php5-mcrypt."
-msgstr "O módulo mcrypt não foi encontrado. Por favor, instale o php5-mcrypt."
+#: include/functions.inc:2703
+msgid "Russian"
+msgstr "Russo"
+
+#: include/functions.inc:2896
+#, fuzzy
+msgid "Cannot detect password hash!"
+msgstr "Não foi possível selecionar o banco de dados %s!"
 
-#: include/class_socketClient.inc:108
+#: include/functions.inc:2937 include/functions.inc:3012
 #, php-format
-msgid "Socket connection to host '%s:%s' failed: %s"
-msgstr "A conexão com o host '%s:%s' falhou: %s"
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
 
-#: include/class_socketClient.inc:191
+#: include/functions.inc:2968
+#, fuzzy
+msgid "Password change failed!"
+msgstr "Senha alterada"
+
+#: include/functions.inc:2976
 #, php-format
-msgid "Socket timeout of %s seconds reached."
-msgstr "Alcançado o limite de tempo de %s segundos para a conexão."
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
 
-#: include/password-methods/class_password-methods.inc:250
-msgid "Cannot find a suitable password method for the current hash!"
+#: include/functions.inc:3080
+msgid "Cannot generate SAMBA hash!"
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:46 include/class_SnapshotHandler.inc:77
-#: include/class_config.inc:1147 include/class_config.inc:1178
+#: include/functions.inc:3095
 #, php-format
-msgid ""
-"The snapshot functionality is enabled, but the required variable '%s' is not "
-"set."
+msgid "Generating SAMBA hash by running %s failed: check %s!"
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:59 include/class_config.inc:1160
-#, php-format
-msgid ""
-"The snapshot functionality is enabled, but the required compression module "
-"is missing. Please install '%s'."
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
+msgid "Cannot allocate free ID:"
 msgstr ""
 
-#: include/class_acl.inc:27
-msgid "Access control"
-msgstr "Controle de acesso"
+#: include/functions.inc:3373
+msgid "unknown idAllocation method!"
+msgstr ""
 
-#: include/class_acl.inc:28 plugins/admin/acl/class_aclManagement.inc:26
-msgid "Manage access control lists"
-msgstr "Gerenciar listas de controle de acesso"
+#: include/functions.inc:3387
+#, php-format
+msgid "%sPoolMin >= %sPoolMax!"
+msgstr ""
 
-#: include/class_acl.inc:120 include/class_acl.inc:581
-#: include/class_acl.inc:1009
-#, fuzzy, php-format
-msgid "All users"
-msgstr "Usuários"
+#: include/functions.inc:3417
+msgid "Cannot create sambaUnixIdPool entry!"
+msgstr ""
 
-#: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
-msgid "All categories"
-msgstr "Todas as categorias"
+#: include/functions.inc:3425
+msgid "sambaUnixIdPool is not unique!"
+msgstr ""
 
-#: include/class_acl.inc:222
-msgid "Reset ACLs"
-msgstr "Limpar ACLs"
+#: include/functions.inc:3437 include/functions.inc:3441
+msgid "no ID available!"
+msgstr ""
 
-#: include/class_acl.inc:223 plugins/admin/acl/class_aclRole.inc:135
-msgid "One level"
-msgstr "Um nível"
+#: include/functions.inc:3465
+msgid "maximum number of tries exceeded!"
+msgstr ""
 
-#: include/class_acl.inc:224 include/class_acl.inc:229
-#: plugins/admin/acl/class_aclRole.inc:136
-msgid "Current object"
-msgstr "Objeto atual"
+#: include/functions.inc:3525
+msgid "Cannot allocate free ID!"
+msgstr ""
 
-#: include/class_acl.inc:225 plugins/admin/acl/class_aclRole.inc:137
-msgid "Complete subtree"
-msgstr "Subárvore completa"
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
+msgstr "Procura"
 
-#: include/class_acl.inc:226 plugins/admin/acl/class_aclRole.inc:138
-msgid "Complete subtree (permanent)"
-msgstr "Subárvore completa (permanente)"
+#: include/class_filter.inc:226
+#, fuzzy
+msgid "Search filter"
+msgstr "Impressora"
 
-#: include/class_acl.inc:227 include/class_acl.inc:230
-msgid "Use ACL defined in role"
-msgstr "Use ACL definida na regra"
+#: include/class_filter.inc:444
+msgid "Search in subtrees"
+msgstr "Procurar em subárvores"
 
-#: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1674
-#: setup/class_setupStep_Migrate.inc:1040
-msgid "Users"
-msgstr "Usuários"
+#: include/class_filter.inc:449
+#, fuzzy
+msgid "Edit filters"
+msgstr "Editar certificados"
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
-#: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1043
-msgid "Groups"
-msgstr "Grupos"
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
+msgstr "Alerta de performance"
 
-#: include/class_acl.inc:496 include/class_listing.inc:242
-#: include/class_listing.inc:999 include/class_listing.inc:1001
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:372
-msgid "Up"
-msgstr "Para cima"
-
-#: include/class_acl.inc:498 include/class_listing.inc:242
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:374
-msgid "Down"
-msgstr "Para baixo"
-
-#: include/class_acl.inc:503 include/class_acl.inc:551
-#: include/class_sortableListing.inc:192 include/class_sortableListing.inc:194
-#: plugins/admin/ogroups/ogroup-list.xml:91
-#: plugins/admin/groups/group-list.xml:108
-#: plugins/admin/users/user-list.xml:114
-#: plugins/admin/departments/dep-list.xml:172
-#: plugins/admin/acl/class_aclRole.inc:377
-#: plugins/admin/acl/class_aclRole.inc:426 plugins/admin/acl/acl-list.xml:131
-msgid "Edit"
-msgstr "Editar"
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+#, fuzzy, php-format
+msgid "LDAP performance is poor: last query took %.2fs!"
+msgstr ""
+"A performance do LDAP está ruim: a última pesquisa levou cerca de %.2fs!"
 
-#: include/class_acl.inc:503 include/class_acl.inc:507
-#: include/class_acl.inc:1265 include/class_acl.inc:1266
-#: include/class_acl.inc:1271 include/class_tabs.inc:401
-#: plugins/admin/acl/tabs_acl.inc:28 plugins/admin/acl/class_aclRole.inc:378
-#: plugins/admin/acl/class_aclRole.inc:382
-#: plugins/admin/acl/class_aclRole.inc:762
-msgid "ACL"
-msgstr "ACL"
+#: include/class_ldap.inc:784
+#, fuzzy, php-format
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
+msgstr ""
+"Não foi possível criar subárvores automaticamente com RDN '%s': classe de "
+"objeto não encontrada!"
 
-#: include/class_acl.inc:507 include/class_acl.inc:555
-#: include/class_sortableListing.inc:197 include/class_sortableListing.inc:199
-#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
-#: plugins/admin/acl/class_aclRole.inc:430
-#, php-format
-msgid "Delete"
-msgstr "Deletar"
+#: include/class_ldap.inc:835
+#, fuzzy, php-format
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
+msgstr ""
+"Não foi possível criar subárvores automaticamente com '%s': não suportado"
 
-#: include/class_acl.inc:543
-msgid "No ACL settings for this category!"
-msgstr "Nenhuma configuração de ACL para essa categoria!"
+#: include/class_ldap.inc:922
+#, fuzzy, php-format
+msgid "while operating on %s using LDAP server %s"
+msgstr "enquanto executava em '%s' usando LDAP server '%s'"
 
-#: include/class_acl.inc:545
+#: include/class_ldap.inc:924
 #, php-format
-msgid "Contains ACLs for these objects: %s"
-msgstr "Contém ACLs para estes objetos: %s"
-
-#: include/class_acl.inc:551 include/class_acl.inc:555
-msgid "category ACL"
-msgstr "Categoria ACL"
+msgid "while operating on LDAP server %s"
+msgstr "enquanto executava no LDAP server %s"
 
-#: include/class_acl.inc:608
+#: include/class_ldap.inc:977
 #, php-format
-msgid "Edit ACL for '%s' - scope is '%s'"
-msgstr "Editar ACL para '%s' - o escopo é '%s'"
+msgid "Command line programm %s is missing!"
+msgstr ""
 
-#: include/class_acl.inc:618 plugins/admin/acl/class_aclRole.inc:460
-msgid "All objects in current subtree"
-msgstr "Todos os objetos na subárvore atual"
+#: include/class_ldap.inc:1138
+#, fuzzy, php-format
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
+msgstr ""
+"Esse não é um DN válido: '%s'. O bloco para importação deve iniciar com "
+"'dn: ...' na linha %s"
 
-#: include/class_acl.inc:779 include/class_acl.inc:786
-msgid "Show/hide advanced settings"
-msgstr "Exibir/Ocultar configurações avançadas"
+#: include/class_ldap.inc:1167
+#, fuzzy, php-format
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
+msgstr ""
+"Erro enquanto importava dn: '%s', por favor, verifique seu LDIF na linha %s!"
 
-#: include/class_acl.inc:803
-msgid "Create objects"
-msgstr "Criar objetos"
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
+msgid "All"
+msgstr ""
 
-#: include/class_acl.inc:804
-msgid "Move objects"
+#: include/class_core.inc:114
+#, fuzzy
+msgid "All objects"
 msgstr "Mover objetos"
 
-#: include/class_acl.inc:805
-msgid "Remove objects"
-msgstr "Remover objetos"
-
-#: include/class_acl.inc:807
-msgid "Grant permission to owner"
-msgstr "Conceder permissão para o dono"
-
-#: include/class_acl.inc:811 include/class_acl.inc:916
-#: include/class_acl.inc:920
-msgid "read"
-msgstr "leitura"
-
-#: include/class_acl.inc:812 include/class_acl.inc:918
-#: include/class_acl.inc:921
-msgid "write"
-msgstr "escrita"
-
-#: include/class_acl.inc:816
-msgid "Complete object"
-msgstr "Objeto completo"
-
-#: include/class_acl.inc:960 include/class_session.inc:76
-#: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:611 include/functions.inc:815
-#: include/functions.inc:933 include/functions.inc:1331
-#: include/functions.inc:2414 include/functions.inc:2448
-#: include/functions.inc:2468 include/class_ldap.inc:693
-#: include/class_ldap.inc:744 include/class_log.inc:87
-#: include/class_CopyPasteHandler.inc:160
-#: include/class_CopyPasteHandler.inc:274
-msgid "Internal error"
-msgstr "Erro interno"
-
-#: include/class_acl.inc:960
-#, php-format
-msgid "Unkown ACL type '%s'!"
-msgstr "Tipo de ACL desconhecida '%s'!"
-
-#: include/class_acl.inc:1005
-#, php-format
-msgid "Unknown entry '%s'!"
-msgstr "Entrada desconhecida '%s'!"
+#: include/class_core.inc:132
+#, fuzzy
+msgid "Traditional"
+msgstr "Organização"
 
-#: include/class_acl.inc:1069 include/class_acl.inc:1071
-#, php-format
-msgid "Role: %s"
-msgstr "Regra: %s"
+#: include/class_core.inc:132
+msgid "Use samba pool"
+msgstr ""
 
-#: include/class_acl.inc:1071
-msgid "unknown role"
-msgstr "regra desconhecida"
+#: include/class_core.inc:164 include/class_core.inc:167
+#, fuzzy
+msgid "hours"
+msgstr "Telefones"
 
-#: include/class_acl.inc:1079
-#, php-format
-msgid "Contains settings for these objects: %s"
-msgstr "Contém configurações para estes objetos: %s"
+#: include/class_core.inc:184
+#, fuzzy
+msgid "None"
+msgstr "nenhum"
 
-#: include/class_acl.inc:1096
-msgid "inactive"
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
+msgid "Automatic"
 msgstr ""
 
-#: include/class_acl.inc:1096
+#: include/class_core.inc:200
 #, fuzzy
-msgid "No members"
-msgstr "Membros do grupo"
-
-#: include/class_acl.inc:1266
-msgid "Access control list"
-msgstr "Lista de controle de acesso"
+msgid "User value"
+msgstr "Nome do usuário"
 
-#: include/class_acl.inc:1271
-msgid "ACL roles"
-msgstr "Regras de ACL"
+#: include/class_core.inc:209
+#, fuzzy
+msgid "Core"
+msgstr "Fechar"
 
-#: include/class_session.inc:76 include/class_session.inc:101
-#: include/class_session.inc:127
-msgid "Requested channel does not exist! Please contact your Administrator."
+#: include/class_core.inc:210
+msgid "GOsa core plugin"
 msgstr ""
 
-#: include/class_listing.inc:301 setup/setup_migrate.tpl:93
-#: setup/setup_migrate.tpl:149 setup/setup_migrate.tpl:201
-#: setup/setup_migrate.tpl:368 setup/setup_migrate.tpl:421
-#: setup/setup_migrate.tpl:464 setup/setup_migrate.tpl:507
-#: setup/setup_migrate.tpl:551
-msgid "Select all"
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
 msgstr ""
 
-#: include/class_listing.inc:522
-#, fuzzy
-msgid "created by"
-msgstr "Criar"
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
+msgstr ""
 
-#: include/class_listing.inc:991
-msgid "Go to root department"
-msgstr "Ir para departamento raiz"
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
+msgstr ""
 
-#: include/class_listing.inc:991 include/class_listing.inc:993
-#: include/class_baseSelector.inc:159
-msgid "Root"
-msgstr "Raiz"
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
+msgstr ""
 
-#: include/class_listing.inc:999
-msgid "Go up one department"
-msgstr "Subir um departamento"
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
+msgstr ""
 
-#: include/class_listing.inc:1007
-msgid "Go to users department"
-msgstr "Ir para departamento de usuários"
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
+msgstr ""
 
-#: include/class_listing.inc:1007 include/class_listing.inc:1009
-msgid "Home"
-msgstr "Origem"
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
+msgstr ""
 
-#: include/class_listing.inc:1014
-msgid "Reload list"
-msgstr "Recarregar lista"
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
+msgstr ""
 
-#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
-msgid "Submit"
-msgstr "Submeter"
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
+msgstr ""
 
-#: include/class_listing.inc:1109 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:64
-#: plugins/admin/groups/group-list.xml:79 plugins/admin/users/user-list.xml:78
-#: plugins/admin/departments/dep-list.xml:87 plugins/admin/acl/acl-list.xml:65
-msgid "Actions"
-msgstr "Ações"
+#: include/class_core.inc:319
+#, fuzzy, php-format
+msgid "Related option"
+msgstr "Filtros"
 
-#: include/class_listing.inc:1380 include/class_listing.inc:1430
-#: include/class_plugin.inc:2114
-msgid "Copy"
+#: include/class_core.inc:329
+msgid ""
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
 msgstr ""
 
-#: include/class_listing.inc:1386 include/class_listing.inc:1420
-#: include/class_plugin.inc:2118
-msgid "Cut"
+#: include/class_core.inc:340
+msgid ""
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
 msgstr ""
 
-#: include/class_listing.inc:1394 include/class_listing.inc:1396
-#: include/class_plugin.inc:2125 include/class_plugin.inc:2128
-#: include/class_CopyPasteHandler.inc:570
-msgid "Paste"
-msgstr "Colar"
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
+msgstr ""
 
-#: include/class_listing.inc:1420 include/class_plugin.inc:2072
-msgid "Cut this entry"
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
 msgstr ""
 
-#: include/class_listing.inc:1430 include/class_plugin.inc:2080
-msgid "Copy this entry"
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
 msgstr ""
 
-#: include/class_listing.inc:1462 include/class_listing.inc:1464
-msgid "Restore snapshots"
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
 msgstr ""
 
-#: include/class_listing.inc:1478
-msgid "Export list"
+#: include/class_core.inc:390
+msgid "Enable LDAP referral chasing."
 msgstr ""
 
-#: include/class_listing.inc:1513 include/class_listing.inc:1514
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
-msgid "Restore snapshot"
+#: include/class_core.inc:400
+msgid ""
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
 msgstr ""
 
-#: include/class_listing.inc:1523 include/class_plugin.inc:2053
-msgid "Create snapshot"
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
 msgstr ""
 
-#: include/class_listing.inc:1524 include/class_plugin.inc:2054
-msgid "Create a new snapshot from this object"
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
 msgstr ""
 
-#: include/class_sortableListing.inc:194
-msgid "Edit this entry"
-msgstr "Editar esta entrada"
+#: include/class_core.inc:430
+msgid "Enable warnings for non encrypted connections."
+msgstr ""
 
-#: include/class_sortableListing.inc:199
-msgid "Delete this entry"
-msgstr "Deletar esta entrada"
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
+msgstr ""
 
-#: include/functions.inc:134
-#, php-format
-msgid "Fatal error: no class locations defined - please run '%s' to fix this"
+#: include/class_core.inc:451
+msgid ""
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
 msgstr ""
 
-#: include/functions.inc:141
-#, php-format
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
+msgstr ""
+
+#: include/class_core.inc:472
 msgid ""
-"Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
 msgstr ""
 
-#: include/functions.inc:455
-#, php-format
-msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
+msgstr ""
+
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
 msgstr ""
 
-#: include/functions.inc:526
-msgid "Username / UID is not unique inside the LDAP tree!"
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
 msgstr ""
 
-#: include/functions.inc:611
+#: include/class_core.inc:514
 msgid ""
-"Username / UID is not unique inside the LDAP tree. Please contact your "
-"Administrator."
+"ISO language code which is used to override the automatic language detection."
 msgstr ""
 
-#: include/functions.inc:815 include/functions.inc:933
-msgid "Error while adding a lock. Contact the developers!"
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
 msgstr ""
 
-#: include/functions.inc:825
-#, php-format
+#: include/class_core.inc:535
 msgid ""
-"Cannot create locking information in LDAP tree. Please contact your "
-"administrator!"
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
+msgstr ""
+
+#: include/class_core.inc:545
+msgid "Template engine compile directory."
 msgstr ""
 
-#: include/functions.inc:825
+#: include/class_core.inc:555
 #, php-format
-msgid "LDAP server returned: %s"
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
 msgstr ""
 
-#: include/functions.inc:954
+#: include/class_core.inc:576
 msgid ""
-"Found multiple locks for object to be locked. This should not happen - "
-"cleaning up multiple references."
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
 msgstr ""
 
-#: include/functions.inc:1258
-#, php-format
-msgid "The size limit of %d entries is exceed!"
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
 msgstr ""
 
-#: include/functions.inc:1260
-#, php-format
+#: include/class_core.inc:596
 msgid ""
-"Set the new size limit to %s and show me this message if the limit still "
-"exceeds"
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
 msgstr ""
 
-#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
-msgid "Configure"
-msgstr "Configurar"
-
-#: include/functions.inc:1277
-msgid "incomplete"
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
 msgstr ""
 
-#: include/functions.inc:1667
-msgid "Continue anyway"
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
 msgstr ""
 
-#: include/functions.inc:1669
-msgid "Edit anyway"
-msgstr "Editar mesmo assim"
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
+msgstr ""
 
-#: include/functions.inc:1671
-#, php-format
-msgid "You're going to edit the LDAP entry/entries %s"
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
 msgstr ""
 
-#: include/functions.inc:1911
-msgid "Entries per page"
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
 msgstr ""
 
-#: include/functions.inc:1940 include/class_filter.inc:315
-msgid "Apply filter"
-msgstr "Aplicar filtro"
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/functions.inc:2252 include/class_filter.inc:281
-msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+#: include/class_core.inc:667
+msgid ""
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
 msgstr ""
 
-#: include/functions.inc:2306
-#, fuzzy, php-format
-msgid "GOsa %s"
-msgstr "GOsa"
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/functions.inc:2313
-#, php-format
-msgid "GOsa %s snapshot (Rev %s)"
+#: include/class_core.inc:687
+msgid ""
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
 msgstr ""
 
-#: include/functions.inc:2318
-#, php-format
-msgid "GOsa development snapshot (Rev %s)"
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
 msgstr ""
 
-#: include/functions.inc:2414
-#, php-format
-msgid "File '%s' could not be deleted."
+#: include/class_core.inc:707
+msgid "Connection URL for use with the gosa-ng service."
 msgstr ""
 
-#: include/functions.inc:2448 include/functions.inc:2468
-msgid "Cannot write to revision file!"
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
 msgstr ""
 
-#: include/functions.inc:2686 include/functions.inc:2690
-#: include/functions.inc:2696
-msgid "'baseIdHook' is not available. Using default base!"
+#: include/class_core.inc:727
+msgid "Password used to connect to the 'gosaRpcServer'."
 msgstr ""
 
-#: include/functions.inc:2720
-msgid "LDAP warning"
+#: include/class_core.inc:737
+msgid "Connection URI for use with the gosa-si service (obsolete)."
 msgstr ""
 
-#: include/functions.inc:2720
-msgid "Cannot get schema information from server. No schema check possible!"
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
 msgstr ""
 
-#: include/functions.inc:2746
-msgid "Used to store account specific informations."
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
 msgstr ""
 
-#: include/functions.inc:2753
+#: include/class_core.inc:769
+#, fuzzy
+msgid "Local time zone."
+msgstr "Localização"
+
+#: include/class_core.inc:779
 msgid ""
-"Used to lock currently edited entries to avoid multiple changes at the same "
-"time."
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
 msgstr ""
 
-#: include/functions.inc:2798
-#, php-format
-msgid "Missing required object class '%s'!"
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
 msgstr ""
 
-#: include/functions.inc:2801
-#, php-format
-msgid "Missing optional object class '%s'!"
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
 msgstr ""
 
-#: include/functions.inc:2806
-#, php-format
-msgid "Version mismatch for required object class '%s' (!=%s)!"
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
 msgstr ""
 
-#: include/functions.inc:2809
-#, php-format
-msgid "Class(es) available"
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
 msgstr ""
 
-#: include/functions.inc:2831
+#: include/class_core.inc:828
 msgid ""
-"You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
-"schema    configuration do not support this option."
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
 msgstr ""
 
-#: include/functions.inc:2832
-msgid ""
-"In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
-"be      AUXILIARY"
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
 msgstr ""
 
-#: include/functions.inc:2836
+#: include/class_core.inc:848
 msgid ""
-"Your schema is configured to support the rfc2307bis group, but you have "
-"disabled this option on the 'ldap setup' step."
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
 msgstr ""
 
-#: include/functions.inc:2837
-msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
 msgstr ""
 
-#: include/functions.inc:2861
-msgid "German"
-msgstr "Alemão"
-
-#: include/functions.inc:2862
-msgid "French"
-msgstr "Francês"
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
+msgstr ""
 
-#: include/functions.inc:2863
-msgid "Italian"
-msgstr "Italiano"
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/functions.inc:2864
-msgid "Spanish"
-msgstr "Espanhol"
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/functions.inc:2865
-msgid "English"
-msgstr "Inglês"
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
+msgstr ""
 
-#: include/functions.inc:2866
-msgid "Dutch"
-msgstr "Holandês"
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
+msgstr ""
 
-#: include/functions.inc:2867
-msgid "Polish"
-msgstr "Polonês"
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
+msgstr ""
 
-#: include/functions.inc:2869
-msgid "Chinese"
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
 msgstr ""
 
-#: include/functions.inc:2870
-msgid "Vietnamese"
+#: include/class_core.inc:940
+msgid "Enable TLS for LDAP connections."
 msgstr ""
 
-#: include/functions.inc:2871
-msgid "Russian"
-msgstr "Russo"
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
+msgstr ""
 
-#: include/functions.inc:3066
-#, php-format
+#: include/class_core.inc:960
 msgid ""
-"Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
 msgstr ""
 
-#: include/functions.inc:3099
-msgid "Cannot generate samba hash!"
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
 msgstr ""
 
-#: include/functions.inc:3112
-#, php-format
+#: include/class_core.inc:980
 msgid ""
-"Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+"String containing the SID for Samba setups without the Domain object in LDAP."
 msgstr ""
 
-#: include/functions.inc:3393 include/functions.inc:3407
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485
-msgid "Cannot allocate a free ID:"
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
 msgstr ""
 
-#: include/functions.inc:3393
-msgid "unknown idAllocation method!"
+#: include/class_core.inc:1000
+msgid "Enable manual object snapshots."
 msgstr ""
 
-#: include/functions.inc:3407
-#, php-format
-msgid "%sPoolMin >= %sPoolMax!"
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
 msgstr ""
 
-#: include/functions.inc:3437
-msgid "Cannot create sambaUnixIdPool entry!"
-msgstr ""
+#: include/class_core.inc:1020
+#, fuzzy
+msgid "DN of the snapshot administrator."
+msgstr "Administradores do domínio"
 
-#: include/functions.inc:3445
-msgid "sambaUnixIdPool is not unique!"
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
 msgstr ""
 
-#: include/functions.inc:3457 include/functions.inc:3461
-msgid "no ID available!"
+#: include/class_core.inc:1041
+msgid ""
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
 msgstr ""
 
-#: include/functions.inc:3485
-msgid "maximum tries exceeded!"
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
 msgstr ""
 
-#: include/functions.inc:3545
-msgid "Cannot allocate a free ID!"
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
 msgstr ""
 
-#: include/class_tabs.inc:57
+#: include/class_config.inc:168
 #, php-format
-msgid ""
-"No plugin definitions found to initialize '%s', please check your "
-"configuration file."
-msgstr ""
+msgid "XML error in gosa.conf: %s at line %d"
+msgstr "Erro de XML no gosa.conf: %s na linha %d"
 
-#: include/class_tabs.inc:268
-#, php-format
-msgid "Delete process has been canceled by plugin '%s': %s"
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
 msgstr ""
 
-#: include/class_tabs.inc:406
-msgid "References"
-msgstr "Referências"
+#: include/class_config.inc:711
+msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+msgstr "sambaSID e/ou sambaRidBase não configurado!"
 
-#: include/class_SnapShotDialog.inc:82
-#, php-format
-msgid "You're about to delete the snapshot '%s'."
-msgstr ""
+#: include/class_config.inc:1130
+msgid "Configuration"
+msgstr "Configuração"
 
-#: include/class_SnapShotDialog.inc:137
-msgid "Remove snapshot"
+#: include/class_config.inc:1130
+#, fuzzy
+msgid ""
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
 msgstr ""
+"O arquivo de configuração do GOsa parece estar desatualizador. Por favor, "
+"remova-o e execute o configurador novamente."
 
-#: include/class_SnapShotDialog.inc:139 include/class_SnapShotDialog.inc:159
-msgid "Y-m-d, H:i:s"
+#: include/class_config.inc:1172 include/class_config.inc:1203
+#, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
 msgstr ""
 
-#: include/class_SnapShotDialog.inc:171
-#: plugins/generic/references/contents.tpl:11
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
-#: plugins/admin/ogroups/class_ogroup.inc:977
-#: plugins/admin/ogroups/generic.tpl:15
-#: plugins/admin/ogroups/ogroup-list.xml:49
-#: plugins/admin/groups/generic.tpl:24
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:66
-#: plugins/admin/groups/class_group.inc:1184
-#: plugins/admin/departments/dep-list.xml:79
-#: plugins/admin/departments/locality.tpl:19
-#: plugins/admin/departments/generic.tpl:19
-#: plugins/admin/departments/class_domain.inc:63
-#: plugins/admin/departments/class_domain.inc:91
-#: plugins/admin/departments/class_localityGeneric.inc:64
-#: plugins/admin/departments/class_localityGeneric.inc:92
-#: plugins/admin/departments/class_organizationGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_countryGeneric.inc:63
-#: plugins/admin/departments/class_countryGeneric.inc:92
-#: plugins/admin/departments/class_dcObject.inc:63
-#: plugins/admin/departments/class_dcObject.inc:91
-#: plugins/admin/departments/domain.tpl:19
-#: plugins/admin/departments/country.tpl:19
-#: plugins/admin/departments/dcObject.tpl:19
-#: plugins/admin/departments/class_department.inc:359
-#: plugins/admin/departments/class_department.inc:666
-#: plugins/admin/departments/organization.tpl:19
-#: plugins/admin/acl/class_aclRole.inc:735 plugins/admin/acl/acl-list.xml:57
-#: plugins/admin/acl/acl_role.tpl:17
-#: plugins/personal/posix/trustSelect/trust-list.xml:64
-#: plugins/personal/posix/groupSelect/group-list.xml:49
-msgid "Description"
-msgstr "Descrição"
-
-#: include/exporter/class_cvsExporter.inc:48
-msgid "CSV"
+#: include/class_config.inc:1185
+#, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
 msgstr ""
 
 #: include/exporter/class_PDF.inc:24
@@ -1613,4826 +2198,5036 @@ msgstr ""
 msgid "Page"
 msgstr "Pager"
 
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
+msgstr ""
+
 #: include/exporter/class_pdfExporter.inc:18
 msgid "No PDF export possible: there is no FPDF library installed."
 msgstr ""
 
-#: include/exporter/class_pdfExporter.inc:145
-msgid "PDF"
-msgstr ""
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
+msgstr ""
+
+#: include/class_jsonRPC.inc:38
+#, fuzzy, php-format
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
+msgstr "O comando '%s' para o plugin %s is invalid!"
+
+#: include/class_jsonRPC.inc:330
+#, fuzzy, php-format
+msgid "Unknown HTTP status code %s!"
+msgstr "Tipo de ACL desconhecida '%s'!"
+
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
+msgstr "Submeter"
+
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#, php-format
+msgid "Copy and paste failed!"
+msgstr "Falha em copiar e colar!"
+
+#: include/class_CopyPasteHandler.inc:118
+#, fuzzy, php-format
+msgid "Cannot set permission for %s"
+msgstr "Não foi possível atribuir permissão para '%s'"
+
+#: include/class_CopyPasteHandler.inc:159
+#, fuzzy, php-format
+msgid "'%s' is no valid LDAP object"
+msgstr "'%s' não é um objeto LDAP válido"
+
+#: include/class_CopyPasteHandler.inc:176
+#, php-format
+msgid "No write permission in '%s'"
+msgstr "Sem permissão de escrita em '%s'"
+
+#: include/class_CopyPasteHandler.inc:193
+#, php-format
+msgid "Cannot set permission for '%s'"
+msgstr "Não foi possível atribuir permissão para '%s'"
+
+#: include/class_CopyPasteHandler.inc:396
+#, php-format
+msgid "These objects will be pasted: %s"
+msgstr "Estes objetos serão colados: %s"
+
+#: include/class_CopyPasteHandler.inc:420
+#, php-format
+msgid "This object will be pasted: %s"
+msgstr "Esse objeto será colado: %s"
+
+#: include/class_CopyPasteHandler.inc:573
+msgid "Cannot paste"
+msgstr "Impossível colar"
+
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
+msgid "Access control"
+msgstr "Controle de acesso"
+
+#: include/class_acl.inc:28
+msgid "Manage access control lists"
+msgstr "Gerenciar listas de controle de acesso"
+
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, fuzzy, php-format
+msgid "All users"
+msgstr "Usuários"
+
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
+msgstr "Limpar ACLs"
+
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
+msgid "One level"
+msgstr "Um nível"
+
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
+msgid "Current object"
+msgstr "Objeto atual"
+
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
+msgid "Complete subtree"
+msgstr "Subárvore completa"
+
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
+msgstr "Subárvore completa (permanente)"
+
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+msgid "Use ACL defined in role"
+msgstr "Use ACL definida na regra"
+
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
+msgstr "Usuários"
+
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
+msgstr "Grupos"
+
+#: include/class_acl.inc:254
+#, fuzzy
+msgid "Section"
+msgstr "Ações"
+
+#: include/class_acl.inc:264
+#, fuzzy
+msgid "Used"
+msgstr "Usuário"
 
-#: include/class_multi_plug.inc:362
-msgid "You are currently editing mutliple entries."
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
+msgid "Member"
 msgstr ""
 
-#: include/class_multi_plug.inc:391
-msgid "Password reset"
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
+msgid "Permissions"
 msgstr ""
 
-#: include/class_multi_plug.inc:391
-msgid "The user password was resetted, please set a new password value!"
-msgstr ""
+#: include/class_acl.inc:574
+msgid "No ACL settings for this category!"
+msgstr "Nenhuma configuração de ACL para essa categoria!"
 
-#: include/class_certificate.inc:73
-msgid "Certificate is empty!"
+#: include/class_acl.inc:577
+#, php-format
+msgid "ACLs for: %s"
 msgstr ""
 
-#: include/class_certificate.inc:100
-msgid "Cannot load certificate - only PEM/DER is supported!"
-msgstr ""
+#: include/class_acl.inc:583 include/class_acl.inc:587
+msgid "category ACL"
+msgstr "Categoria ACL"
 
-#: include/class_certificate.inc:115
-msgid "Cannot extract information for non PEM certificates!"
-msgstr ""
+#: include/class_acl.inc:639
+#, fuzzy, php-format
+msgid "Edit ACL for '%s' with scope '%s'"
+msgstr "Editar ACL para '%s' - o escopo é '%s'"
 
-#: include/class_certificate.inc:219
-msgid "No valid certificate loaded!"
-msgstr ""
+#: include/class_acl.inc:801 include/class_acl.inc:808
+msgid "Show/hide advanced settings"
+msgstr "Exibir/Ocultar configurações avançadas"
 
-#: include/php_setup.inc:100
-msgid "Generating this page caused the PHP interpreter to raise some errors!"
-msgstr ""
+#: include/class_acl.inc:819
+msgid "Create objects"
+msgstr "Criar objetos"
 
-#: include/php_setup.inc:105
-msgid "Send bug report to the GOsa Team"
-msgstr ""
+#: include/class_acl.inc:820
+msgid "Move objects"
+msgstr "Mover objetos"
 
-#: include/php_setup.inc:105
-msgid "Send bugreport"
-msgstr ""
+#: include/class_acl.inc:821
+msgid "Remove objects"
+msgstr "Remover objetos"
 
-#: include/php_setup.inc:110
-msgid "Toggle information"
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
 msgstr ""
 
-#: include/php_setup.inc:120
-msgid "PHP error"
-msgstr ""
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
+msgstr "leitura"
 
-#: include/php_setup.inc:139
-msgid "class"
-msgstr ""
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
+msgstr "escrita"
 
-#: include/php_setup.inc:145
-msgid "function"
-msgstr ""
+#: include/class_acl.inc:832
+msgid "Complete object"
+msgstr "Objeto completo"
 
-#: include/php_setup.inc:150
-msgid "static"
-msgstr ""
+#: include/class_acl.inc:984
+#, fuzzy, php-format
+msgid "Unknown ACL type '%s'!"
+msgstr "Tipo de ACL desconhecida '%s'!"
 
-#: include/php_setup.inc:154
-msgid "method"
-msgstr ""
+#: include/class_acl.inc:1029
+#, php-format
+msgid "Unknown entry '%s'!"
+msgstr "Entrada desconhecida '%s'!"
 
-#: include/php_setup.inc:187
-msgid "Trace"
-msgstr ""
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
+#, fuzzy, php-format
+msgid "ACL role: %s"
+msgstr "Regras de ACL"
 
-#: include/php_setup.inc:188
-msgid "File"
-msgstr ""
+#: include/class_acl.inc:1095
+#, fuzzy
+msgid "unknown ACL role"
+msgstr "regra desconhecida"
 
-#: include/php_setup.inc:188
-msgid "Line"
-msgstr ""
+#: include/class_acl.inc:1103
+#, php-format
+msgid "Contains settings for these objects: %s"
+msgstr "Contém configurações para estes objetos: %s"
 
-#: include/php_setup.inc:188
-msgid "Type"
-msgstr "Tipo"
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+msgid "Members"
+msgstr "Membros"
 
-#: include/php_setup.inc:189
-msgid "Arguments"
+#: include/class_acl.inc:1120
+msgid "inactive"
 msgstr ""
 
-#: include/class_filter.inc:322 include/utils/class_msgPool.inc:24
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#: plugins/personal/posix/posix_groups.tpl:68
-msgid "Search in subtrees"
-msgstr "Procurar em subárvores"
+#: include/class_acl.inc:1120
+#, fuzzy
+msgid "No members"
+msgstr "Membros do grupo"
 
-#: include/class_plugin.inc:521
-msgid ""
-"The object has changed since opened in GOsa. All changes that may be done by "
-"others get lost if you save this entry!"
-msgstr ""
+#: include/class_acl.inc:1291
+msgid "Access control list"
+msgstr "Lista de controle de acesso"
 
-#: include/class_plugin.inc:1844
-msgid "Changing ACL dn"
-msgstr ""
+#: include/class_acl.inc:1297
+msgid "ACL roles"
+msgstr "Regras de ACL"
 
-#: include/class_plugin.inc:1844
-msgid "from"
-msgstr "de"
+#: include/class_acl.inc:1300
+#, fuzzy
+msgid "ACL Entries"
+msgstr "Todas as categorias"
 
-#: include/class_plugin.inc:1845 setup/class_setupStep_Migrate.inc:1250
-#: setup/class_setupStep_Migrate.inc:1300
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "to"
-msgstr ""
+#: include/class_socketClient.inc:108
+#, fuzzy, php-format
+msgid "Socket connection to %s:%s failed: %s"
+msgstr "A conexão com o host '%s:%s' falhou: %s"
+
+#: include/class_socketClient.inc:191
+#, fuzzy, php-format
+msgid "Socket timeout of %s seconds reached!"
+msgstr "Alcançado o limite de tempo de %s segundos para a conexão."
 
-#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
-msgid "Restore"
+#: include/class_userFilterEditor.inc:254
+#, php-format
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
 msgstr ""
 
-#: include/class_plugin.inc:2072
-msgid "cut"
+#: include/class_gosaSupportDaemon.inc:112
+msgid "GOsa support daemon"
 msgstr ""
 
-#: include/class_plugin.inc:2080
-msgid "copy"
+#: include/class_gosaSupportDaemon.inc:787
+msgid "Cannot not parse XML!"
 msgstr ""
 
-#: include/functions_helpviewer.inc:45
+#: include/class_gosaSupportDaemon.inc:1184
 #, php-format
-msgid "XML error in guide.xml: %s at line %d"
+msgid "Cannot send abort event for entry %s!"
 msgstr ""
 
-#: include/functions_helpviewer.inc:88
-msgid "No help available for this plugin."
+#: include/class_gosaSupportDaemon.inc:1204
+#, php-format
+msgid "Cannot remove entry %s!"
 msgstr ""
 
-#: include/functions_helpviewer.inc:388
-#, php-format
-msgid "%s results for your search with the keyword %s"
+#: include/class_GOsaRegistration.inc:127
+msgid ""
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
 msgstr ""
 
-#: include/functions_helpviewer.inc:462
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
 #, php-format
-msgid "%s%% hit rate in file %s"
+msgid ""
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
 msgstr ""
 
-#: include/utils/class_timezone.inc:47
+#: include/class_SnapshotHandler.inc:58
 #, php-format
 msgid ""
-"The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate "
-"correct timezone offset."
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
 msgstr ""
-"A configuração do fuso horário '%s' no gosa.conf não é válida. Não foi "
-"possível calcular o intervalo do fuso horário corretamente."
 
-#: include/utils/class_xml.inc:48
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
 #, fuzzy
-msgid "in"
-msgstr "Principal"
-
-#: include/utils/class_xml.inc:50
-#, fuzzy
-msgid "on line"
-msgstr "Continuar"
+msgid "Filter editor"
+msgstr "Erro interno"
 
-#: include/utils/class_xml.inc:51
+#: ihtml/themes/default/userFilterEditor.tpl:8
 #, fuzzy
-msgid "XML error"
-msgstr "Erro de LDAP"
-
-#: include/utils/class_msgPool.inc:16
-#, php-format
-msgid "Select to list objects of type '%s'."
-msgstr "Selecione para listar objetos do tipo '%s'."
+msgid "Filter properties"
+msgstr "Editar propriedades gerais"
 
-#: include/utils/class_msgPool.inc:18
-#, php-format
-msgid "Select to list objects containig '%s'."
-msgstr "Selecione para listar objetos contendo '%s'."
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+msgid "Public visible"
+msgstr "Visível publicamente"
 
-#: include/utils/class_msgPool.inc:20
-#, php-format
-msgid "Select to list objects that have '%s' enabled"
-msgstr "Selecione para listar objetos que possuem '%s' habilitado"
+#: ihtml/themes/default/userFilterEditor.tpl:45
+msgid "Enabled"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:22
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-msgid "Select to search within subtrees"
-msgstr "Selecione para pesquisar dentro das sub-árvores"
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:34
-msgid "This object will be deleted!"
-msgstr "Esse objeto será apagado!"
+#: ihtml/themes/default/userFilterEditor.tpl:69
+#, fuzzy
+msgid "Query"
+msgstr "Usuários"
 
-#: include/utils/class_msgPool.inc:36
-#, php-format
-msgid "This '%s' object will be deleted!"
-msgstr "Esse objeto '%s' será apagado!"
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+msgid "Assigned ACL for current entry"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:41
-#, php-format
-msgid "This object will be deleted: %s"
-msgstr "Esse objeto será apagado: %s"
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
+msgid "New ACL"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:43
-#, php-format
-msgid "This '%s' object will be deleted: %s"
-msgstr "Esse objeto '%s' será apagado: %s"
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
+msgid "ACL type"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:48
-msgid "This object will be deleted:"
-msgstr "Esse objeto será apagado:"
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "Select an ACL type"
+msgstr "Selecione a base"
 
-#: include/utils/class_msgPool.inc:50
-#, php-format
-msgid "This '%s' object will be deleted:"
-msgstr "Esse objeto '%s' será apagado:"
+#: ihtml/themes/default/acl.tpl:40
+msgid "Additional filter options"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:54
-#, php-format
-msgid "These objects will be deleted: %s"
-msgstr "Estes objetos serão apagados: %s"
+#: ihtml/themes/default/acl.tpl:54
+#, fuzzy
+msgid "Member selection"
+msgstr "Administração de grupos"
 
-#: include/utils/class_msgPool.inc:56
-#, php-format
-msgid "These '%s' objects will be deleted: %s"
-msgstr "Estes objetos '%s' serão apagados: %s"
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:64
-msgid "You have no permission to delete this object!"
-msgstr "Você não tem permissão para apagar esse objeto!"
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+msgid "List message possible targets"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:68 include/utils/class_msgPool.inc:72
-msgid "You have no permission to delete the object:"
-msgstr "Você não tem permissão para apagar o objeto:"
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:75
-msgid "You have no permission to delete these objects:"
-msgstr "Você não tem permissão para apagar estes objetos:"
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+msgid "List of available ACL categories"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:82
-msgid "You have no permission to create this object!"
-msgstr "Você não tem permissão para criar esse objeto!"
+#: ihtml/themes/default/acl.tpl:120
+msgid "ACL for this object"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:86 include/utils/class_msgPool.inc:90
-msgid "You have no permission to create the object:"
-msgstr "Você não tem permissão para criar o objeto:"
+#: ihtml/themes/default/acl.tpl:126
+msgid "Available roles"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:93
-msgid "You have no permission to create these objects:"
-msgstr "Você não tem permissão para criar estes objetos:"
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+#, fuzzy
+msgid "Attention"
+msgstr "Ações"
 
-#: include/utils/class_msgPool.inc:100
-msgid "You have no permission to modify this object!"
-msgstr "Você não tem permissão para modificar esse objeto!"
+#: ihtml/themes/default/removeEntries.tpl:14
+#, fuzzy
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
+msgstr ""
+"Então, se você tem certeza, pressione 'Deletar' para continuar ou 'Cancelar' "
+"para abortar."
 
-#: include/utils/class_msgPool.inc:104 include/utils/class_msgPool.inc:108
-msgid "You have no permission to modify the object:"
-msgstr "Você não tem permissão para modificar o objeto:"
+#: ihtml/themes/default/userFilter.tpl:1
+#, fuzzy
+msgid "List of defined filters"
+msgstr "Lista de usuários"
 
-#: include/utils/class_msgPool.inc:111
-msgid "You have no permission to modify these objects:"
-msgstr "Você não tem permissão para modificar estes objetos:"
+#: ihtml/themes/default/snapshotdialog.tpl:3
+msgid "Restoring object snapshots"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:118
-msgid "You have no permission to view this object!"
-msgstr "Você não tem permissão para ver esse objeto!"
+#: ihtml/themes/default/snapshotdialog.tpl:6
+msgid ""
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:122 include/utils/class_msgPool.inc:126
-msgid "You have no permission to view the object:"
-msgstr "Você não tem permissão para ver o objeto:"
+#: ihtml/themes/default/snapshotdialog.tpl:9
+msgid ""
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:129
-msgid "You have no permission to view these objects:"
-msgstr "Você não tem permissão para ver estes objetos:"
+#: ihtml/themes/default/snapshotdialog.tpl:12
+msgid ""
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:136
-msgid "You have no permission to move this object!"
-msgstr "Você não tem permissão para mover esse objeto!"
+#: ihtml/themes/default/snapshotdialog.tpl:29
+msgid "There is no snapshot available that can be restored"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:144
-msgid "You have no permission to move the object:"
-msgstr "Você não tem permissão para mover o objeto:"
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:147
-msgid "You have no permission to move these objects:"
-msgstr "Você não tem permissão para mover estes objetos:"
+#: ihtml/themes/default/snapshotdialog.tpl:50
+msgid "Creating object snapshots"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:157 include/utils/class_msgPool.inc:169
-#: include/utils/class_msgPool.inc:187
-msgid "Connection information"
-msgstr "Informação da conexão"
+#: ihtml/themes/default/snapshotdialog.tpl:53
+msgid ""
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:159
-#, php-format
-msgid "Cannot connect to %s database!"
-msgstr "Não foi possível conectar ao banco de dados  %s!"
+#: ihtml/themes/default/snapshotdialog.tpl:56
+msgid ""
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:171
-#, php-format
-msgid "Cannot select %s database!"
-msgstr "Não foi possível selecionar o banco de dados %s!"
+#: ihtml/themes/default/snapshotdialog.tpl:71
+msgid "Time stamp"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:177
-#, php-format
-msgid "No %s server defined!"
-msgstr "Servidor %s não definido!"
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:189
-#, php-format
-msgid "Cannot query %s database!"
-msgstr "Não foi possível pesquisar no banco de dados %s!"
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
+msgstr "Continuar"
 
-#: include/utils/class_msgPool.inc:195
-#, php-format
-msgid "The field '%s' contains a reserved keyword!"
-msgstr "O campo '%s' contém uma palavra reservada!"
+#: ihtml/themes/default/password.tpl:5
+msgid "Change your password"
+msgstr "Altere sua senha"
 
-#: include/utils/class_msgPool.inc:201
-#, php-format
-msgid "Command specified as %s hook for plugin '%s' does not exist!"
-msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!"
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
+msgstr "Sua senha foi alterada com sucesso."
 
-#: include/utils/class_msgPool.inc:208
-#, php-format
-msgid "'%s' command is invalid!"
-msgstr "O comando '%s' é inválido!"
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
+msgid "Password change"
+msgstr "Senha alterada"
 
-#: include/utils/class_msgPool.inc:210
-#, php-format
-msgid "'%s' command (%s) for plugin %s is invalid!"
-msgstr "O comando '%s' (%s) para o plugin %s é inválido!"
+#: ihtml/themes/default/password.tpl:72
+msgid ""
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:212
-#, php-format
-msgid "'%s' command for plugin %s is invalid!"
-msgstr "O comando '%s' para o plugin %s is invalid!"
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
+msgstr "Alterar senha"
 
-#: include/utils/class_msgPool.inc:214
-#, php-format
-msgid "'%s' command (%s) is invalid!"
-msgstr "O comando '%s' (%s) é inválido!"
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
+msgstr "Diretório"
 
-#: include/utils/class_msgPool.inc:222
-#, php-format
-msgid "Cannot execute '%s' command!"
-msgstr "Não foi possível executar o comando '%s'!"
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
+#, fuzzy
+msgid "User name"
+msgstr "Nome do usuário"
 
-#: include/utils/class_msgPool.inc:224
-#, php-format
-msgid "Cannot execute '%s' command (%s) for plugin %s!"
-msgstr "Não foi possível executar o comando '%s' (%s) para o plugin %s!"
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
+msgstr "Senha atual"
 
-#: include/utils/class_msgPool.inc:226
-#, php-format
-msgid "Cannot execute '%s' command for plugin %s!"
-msgstr "Não foi possível executar o comando '%s' para o plugin %s!"
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
+msgstr "Nova senha"
 
-#: include/utils/class_msgPool.inc:228
-#, php-format
-msgid "Cannot execute '%s' command (%s)!"
-msgstr ""
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
+msgstr "Repita nova senha"
 
-#: include/utils/class_msgPool.inc:236
-#, php-format
-msgid "Value for '%s' is too large!"
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
+msgid "Password strength"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:238
-#, php-format
-msgid "'%s' must be smaller than %s!"
-msgstr ""
+#: ihtml/themes/default/password.tpl:131
+msgid "Click here to change your password"
+msgstr "Clique aqui para alterar sua senha"
 
-#: include/utils/class_msgPool.inc:246
-#, php-format
-msgid "Value for '%s' is too small!"
-msgstr ""
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
+msgstr "Definir a senha"
 
-#: include/utils/class_msgPool.inc:248
-#, php-format
-msgid "'%s' must be %d or above!"
-msgstr ""
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
+msgstr "Conflito de travamento detectado"
 
-#: include/utils/class_msgPool.inc:255
-#, php-format
-msgid "'%s' depends on '%s' - please provide both values!"
+#: ihtml/themes/default/islocked.tpl:14
+#, fuzzy
+msgid ""
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
 msgstr ""
+"Se esta detecção for falsa, um usuário pode ter fechado o navegador durante "
+"a operação de edição. Você pode destravar pressionando o botão 'Editar mesmo "
+"assim'."
 
-#: include/utils/class_msgPool.inc:261
-#, php-format
-msgid "There is already an entry with this '%s' attribute in the system!"
+#: ihtml/themes/default/islocked.tpl:23
+msgid "Read only"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:267
-#, php-format
-msgid "The required field '%s' is empty!"
+#: ihtml/themes/default/copyPasteDialog.tpl:1
+msgid "Copy & paste wizard"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:275
-msgid "Example"
+#: ihtml/themes/default/copyPasteDialog.tpl:7
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:295
-#, php-format
-msgid "The Field '%s' contains invalid characters"
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' is not allowed:"
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' are not allowed!"
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+msgid "Cancel all"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:299
-#, php-format
-msgid "The Field '%s' contains invalid characters!"
-msgstr ""
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+msgid "Operation complete"
+msgstr "Operação finalizada"
 
-#: include/utils/class_msgPool.inc:306
-#, php-format
-msgid "Missing %s PHP extension!"
-msgstr ""
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
+msgstr "Finalizar"
 
-#: include/utils/class_msgPool.inc:336
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
-#: plugins/personal/generic/generic.tpl:251
-#: plugins/personal/generic/generic.tpl:269
-#: setup/class_setupStep_Migrate.inc:2869
-#, php-format
-msgid "Add"
-msgstr "Adicionar"
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
+msgstr "Sua sessão do GOsa expirou!"
 
-#: include/utils/class_msgPool.inc:336
-#, php-format
-msgid "Add %s"
+#: ihtml/themes/default/logout.tpl:9
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:342
-#, php-format
-msgid "Delete %s"
-msgstr ""
+#: ihtml/themes/default/logout.tpl:16
+#, fuzzy
+msgid "Login again"
+msgstr "Entrar novamente"
 
-#: include/utils/class_msgPool.inc:348
-#, php-format
-msgid "Set %s"
-msgstr ""
+#: ihtml/themes/default/login.tpl:31
+#, fuzzy
+msgid "Login to GOsa"
+msgstr "Bem vindo %s!"
 
-#: include/utils/class_msgPool.inc:354
-#, php-format
-msgid "Edit..."
-msgstr ""
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
+msgstr "Senha"
 
-#: include/utils/class_msgPool.inc:354
-#, php-format
-msgid "Edit %s..."
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:360
-msgid "Back"
-msgstr "Voltar"
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
+msgstr "Clique aqui para logar"
 
-#: include/utils/class_msgPool.inc:380
-#, php-format
-msgid "This account has no valid %s extensions!"
-msgstr ""
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+#, fuzzy
+msgid "Log in"
+msgstr "Login"
 
-#: include/utils/class_msgPool.inc:386
-#, php-format
+#: ihtml/themes/default/sizelimit.tpl:3
 msgid ""
-"This account has %s settings enabled. You can disable them by clicking below."
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:389 include/utils/class_msgPool.inc:396
-#, php-format
-msgid ""
-"This account has %s settings enabled. To disable them, you'll need to remove "
-"the %s settings first!"
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:405
-#, php-format
-msgid ""
-"This account has %s settings disabled. You can enable them by clicking below."
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
-#, php-format
+#: ihtml/themes/default/sizelimit.tpl:11
 msgid ""
-"This account has %s settings disabled. To enable them, you'll need to add "
-"the %s settings first!"
+"ignore this error and show all entries that fit into the defined size limit"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:423
-#, php-format
-msgid "Add %s settings"
-msgstr ""
+#: ihtml/themes/default/infoPage.tpl:4
+#, fuzzy
+msgid "User information"
+msgstr "Informação pessoal"
 
-#: include/utils/class_msgPool.inc:429
-#, php-format
-msgid "Remove %s settings"
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
+msgstr "ID do usuário"
+
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+msgid "Surname"
+msgstr "Sobrenome"
+
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+msgid "Given name"
+msgstr "Nome fornecido"
+
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
+msgstr "Título pessoal"
+
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
+msgstr "Título acadêmico"
+
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
+msgstr "Caixa postal residencial"
+
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
+msgstr "Data de nascimento"
+
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
+msgstr "Correio"
+
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
+msgid "Home phone number"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:435
-msgid "Click the 'Edit' button below to change informations in this dialog"
-msgstr "Clique em Editar para alterar as informações desta janela"
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
+msgstr "Organização"
 
-#: include/utils/class_msgPool.inc:441
-msgid "January"
-msgstr "Janeiro"
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
+#, fuzzy
+msgid "Organizational Unit"
+msgstr "Organização"
 
-#: include/utils/class_msgPool.inc:441
-msgid "February"
-msgstr "Fevereiro"
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
+msgstr "Localização"
 
-#: include/utils/class_msgPool.inc:441
-msgid "March"
-msgstr "Março"
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
+msgstr "Rua"
 
-#: include/utils/class_msgPool.inc:441
-msgid "April"
-msgstr "Abril"
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
+msgid "Department number"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "May"
-msgstr "Maio"
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
+msgid "Employee number"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "June"
-msgstr "Junho"
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
+msgstr "Tipo de empregado"
 
-#: include/utils/class_msgPool.inc:442
-msgid "July"
-msgstr "Julho"
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+msgid "User settings"
+msgstr "Configurações do usuário"
 
-#: include/utils/class_msgPool.inc:442
-msgid "August"
-msgstr "Agosto"
+#: ihtml/themes/default/infoPage.tpl:55
+#, fuzzy
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
+msgstr ""
+"Não foi possível realizar bind para o LDAP. Por favor, contacte o "
+"administrador do sistema."
 
-#: include/utils/class_msgPool.inc:442
-msgid "September"
-msgstr "Setembro"
+#: ihtml/themes/default/infoPage.tpl:61
+#, fuzzy
+msgid "Administrative contact"
+msgstr "Administração de usuários"
 
-#: include/utils/class_msgPool.inc:443
-msgid "October"
-msgstr "Outubro"
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:443
-msgid "November"
-msgstr "Novembro"
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:443
-msgid "December"
-msgstr "Dezembro"
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
+msgid "Error message"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Sunday"
-msgstr "Domingo"
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Monday"
-msgstr "Segunda"
+#: ihtml/themes/default/framework.tpl:9
+#, fuzzy
+msgid "Log out"
+msgstr "Sair"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Tuesday"
-msgstr "Terça"
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
+msgstr ""
+"Você esta atualmente editando uma entrada na base de dados. Você quer perder "
+"as alterações realizadas?"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Wednesday"
-msgstr "Quarta"
+#: ihtml/themes/default/framework.tpl:22
+#, fuzzy, php-format
+msgid "Session expires in %d!"
+msgstr "Senha expira em"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Thursday"
-msgstr "Quinta"
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
+msgstr "Visualizador de ajuda do GOsa"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Friday"
-msgstr "Sexta"
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
+msgstr "Índice"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Saturday"
-msgstr "Sábado"
+#: ihtml/themes/default/logout-close.tpl:5
+msgid "Your GOsa session has been closed!"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:456
-msgid "MySQL operation failed!"
+#: ihtml/themes/default/logout-close.tpl:7
+msgid ""
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:464
-msgid "read operation"
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+msgid "LDAP inspection"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:464
-msgid "add operation"
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:464
-msgid "modify operation"
+#: setup/class_setupStep_Migrate.inc:59
+msgid "Checking for root object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:465
-msgid "delete operation"
+#: setup/class_setupStep_Migrate.inc:65
+msgid "Inspecting object classes in root object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:465
-msgid "search operation"
+#: setup/class_setupStep_Migrate.inc:71
+msgid "Checking permission for LDAP database"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:465
-msgid "authentication"
+#: setup/class_setupStep_Migrate.inc:78
+msgid "Checking for super administrator"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:468
-#, php-format
-msgid "LDAP %s failed!"
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+msgid "LDAP query failed"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:470
-msgid "LDAP operation failed!"
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:485
-msgid "Upload failed!"
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:488
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
 #, php-format
-msgid "Upload failed: %s"
+msgid ""
+"The specified user '%s' does not have full access to your LDAP database."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:495
-msgid "Communication failure with the infrastructure service!"
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:497
-#, php-format
-msgid "Communication failure with the infrastructure service: %s"
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
+msgstr "Criar"
+
+#: setup/class_setupStep_Migrate.inc:377
+msgid "Migration error"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:504 include/utils/class_msgPool.inc:507
+#: setup/class_setupStep_Migrate.inc:377
 #, php-format
-msgid "This '%s' is still in use by this object: %s"
+msgid "Cannot add ACL for user '%s':"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:510
-#, php-format
-msgid "This '%s' is still in use."
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
+msgid "Input error"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:512
-#, php-format
-msgid "This '%s' is still in use by these objects: %s"
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
+msgstr "UID"
+
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Password error"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:518
-#, php-format
-msgid "File '%s' does not exist!"
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Provided passwords do not match!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:524
-#, php-format
-msgid "Cannot open file '%s' for reading!"
+#: setup/class_setupStep_Migrate.inc:425
+msgid "Specify a valid user ID!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:530
+#: setup/class_setupStep_Migrate.inc:450
 #, php-format
-msgid "Cannot open file '%s' for writing!"
+msgid "Adding an administrative user failed: object '%s' already exists!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:536
-#, php-format
+#: setup/class_setupStep_Migrate.inc:662
 msgid ""
-"The value for '%s' is currently unconfigured or invalid, please check your "
-"configuration file!"
+"The LDAP root object is missing. It is required to use your LDAP service."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:542
-#, php-format
-msgid "Cannot delete file '%s'!"
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
+msgid "Try to create root object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:548
-#, php-format
-msgid "Cannot create folder '%s'!"
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:554
+#: setup/class_setupStep_Migrate.inc:730
 #, php-format
-msgid "Cannot delete folder '%s'!"
+msgid "Missing GOsa object class '%s'!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:560
-#, php-format
-msgid "Checking for %s support"
-msgstr ""
+#: setup/class_setupStep_Migrate.inc:731
+#, fuzzy
+msgid "Please check your installation."
+msgstr "Por favor, verifique a combinação usuário / senha"
 
-#: include/utils/class_msgPool.inc:566
+#: setup/class_setupStep_Migrate.inc:752
 #, php-format
-msgid "Install and activate the %s PHP module."
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:572
-#, php-format
-msgid ""
-"Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
-"setup?"
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
+msgid "Migrate"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:578
+#: setup/setup_checks.tpl:2
 msgid ""
-"The supplied base is not valid and has been reset to the previous value!"
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
 msgstr ""
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-msgid "Performance warning"
-msgstr "Alerta de performance"
+#: setup/setup_checks.tpl:5
+#, fuzzy
+msgid "Inspection"
+msgstr "Ações"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-#, php-format
-msgid "LDAP performance is poor: last query took about %.2fs!"
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
 msgstr ""
-"A performance do LDAP está ruim: a última pesquisa levou cerca de %.2fs!"
 
-#: include/class_ldap.inc:693
-#, php-format
-msgid ""
-"Cannot automatically create subtrees with RDN '%s': no object class found!"
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
 msgstr ""
-"Não foi possível criar subárvores automaticamente com RDN '%s': classe de "
-"objeto não encontrada!"
 
-#: include/class_ldap.inc:744
-#, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': not supported"
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
 msgstr ""
-"Não foi possível criar subárvores automaticamente com '%s': não suportado"
-
-#: include/class_ldap.inc:831
-#, php-format
-msgid "while operating on '%s' using LDAP server '%s'"
-msgstr "enquanto executava em '%s' usando LDAP server '%s'"
-
-#: include/class_ldap.inc:833
-#, php-format
-msgid "while operating on LDAP server %s"
-msgstr "enquanto executava no LDAP server %s"
 
-#: include/class_ldap.inc:1055
-#, php-format
-msgid ""
-"This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
-"in line %s"
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
 msgstr ""
-"Esse não é um DN válido: '%s'. O bloco para importação deve iniciar com "
-"'dn: ...' na linha %s"
 
-#: include/class_ldap.inc:1084
-#, php-format
-msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
+#: setup/setup_checks.tpl:50
+msgid "PHP setup configuration"
 msgstr ""
-"Erro enquanto importava dn: '%s', por favor, verifique seu LDIF na linha %s!"
 
-#: include/class_log.inc:87
-#, php-format
-msgid "Logging failed: %s"
+#: setup/setup_checks.tpl:50
+msgid "show information"
 msgstr ""
 
-#: include/class_log.inc:102
-#, php-format
-msgid "Invalid option '%s' specified!"
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
 msgstr ""
 
-#: include/class_log.inc:106
-msgid "Specified objectType is empty or invalid!"
+#: setup/class_setupStep_Finish.inc:40
+msgid "Write configuration file"
 msgstr ""
 
-#: include/class_gosaSupportDaemon.inc:112
-msgid "GOsa support daemon"
+#: setup/class_setupStep_Finish.inc:41
+msgid "Finish - write the configuration file"
 msgstr ""
 
-#: include/class_gosaSupportDaemon.inc:787
-msgid "Cannot not parse XML!"
+#: setup/class_setupStep_Finish.inc:106
+msgid ""
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
 msgstr ""
 
-#: include/class_gosaSupportDaemon.inc:1184
-#, php-format
-msgid "Cannot send abort event for entry %s!"
+#: setup/class_setupStep_Finish.inc:108
+msgid "The configuration is currently not readable or it does not exists."
 msgstr ""
 
-#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Finish.inc:117
 #, php-format
-msgid "Cannot remove entry %s!"
+msgid ""
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
 msgstr ""
 
-#: include/class_config.inc:152
-#, php-format
-msgid "XML error in gosa.conf: %s at line %d"
-msgstr "Erro de XML no gosa.conf: %s na linha %d"
-
-#: include/class_config.inc:318
-msgid "Cannot bind to LDAP. Please contact the system administrator."
+#: setup/class_setupStep_Ldap.inc:54
+msgid "LDAP setup"
 msgstr ""
-"Não foi possível realizar bind para o LDAP. Por favor, contacte o "
-"administrador do sistema."
-
-#: include/class_config.inc:695
-msgid "sambaSID and/or sambaRidBase missing in the configuration!"
-msgstr "sambaSID e/ou sambaRidBase não configurado!"
 
-#: include/class_config.inc:1105
-msgid "Configuration"
-msgstr "Configuração"
+#: setup/class_setupStep_Ldap.inc:55
+msgid "LDAP connection setup"
+msgstr ""
 
-#: include/class_config.inc:1105
+#: setup/class_setupStep_Ldap.inc:56
 msgid ""
-"The configuration file you are using seems to be outdated. Please move the "
-"GOsa configuration file away to run the GOsa setup again."
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
 msgstr ""
-"O arquivo de configuração do GOsa parece estar desatualizador. Por favor, "
-"remova-o e execute o configurador novamente."
-
-#: include/class_pluglist.inc:58
-msgid "All objects in this category"
-msgstr "Todos os objetos nessa categoria"
 
-#: include/class_pluglist.inc:183
-msgid "The configuration format has changed. Please re-run setup!"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+msgid "No"
 msgstr ""
-"O formato da configuração foi alterado. Por favor, execute novamente o "
-"configurador!"
-
-#: include/class_pluglist.inc:202 include/class_pluglist.inc:203
-#: include/class_pluglist.inc:316
-#: plugins/admin/departments/class_department.inc:145
-#: plugins/personal/generic/class_user.inc:273
-#: plugins/personal/generic/class_user.inc:1872
-msgid "Unknown"
-msgstr "Desconhecido"
-
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#, php-format
-msgid "Copy and paste failed!"
-msgstr "Falha em copiar e colar!"
-
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:193
-#, php-format
-msgid "Cannot set permission for '%s'"
-msgstr "Não foi possível atribuir permissão para '%s'"
-
-#: include/class_CopyPasteHandler.inc:159
-#, php-format
-msgid "'%s' is no vaild LDAP object"
-msgstr "'%s' não é um objeto LDAP válido"
-
-#: include/class_CopyPasteHandler.inc:176
-#, php-format
-msgid "No write permission in '%s'"
-msgstr "Sem permissão de escrita em '%s'"
 
-#: include/class_CopyPasteHandler.inc:396
-#, php-format
-msgid "These objects will be pasted: %s"
-msgstr "Estes objetos serão colados: %s"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+msgid "Yes"
+msgstr ""
 
-#: include/class_CopyPasteHandler.inc:420
+#: setup/class_setupStep_Ldap.inc:113
 #, php-format
-msgid "This object will be pasted: %s"
-msgstr "Esse objeto será colado: %s"
-
-#: include/class_CopyPasteHandler.inc:572
-msgid "Cannot paste"
-msgstr "Impossível colar"
+msgid "Anonymous bind to server '%s' failed!"
+msgstr ""
 
-#: include/class_msg_dialog.inc:124
-msgid "Please fix the above error and reload the page."
+#: setup/class_setupStep_Ldap.inc:115
+#, php-format
+msgid "Bind as user '%s' failed!"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:966
-#: plugins/admin/groups/class_group.inc:1174
-#: plugins/admin/users/class_userManagement.inc:870
-#: plugins/admin/departments/class_department.inc:656
-#: plugins/personal/generic/class_user.inc:37
-#: plugins/personal/generic/class_user.inc:1668
-#: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
-msgid "Generic"
-msgstr "Geral"
+#: setup/class_setupStep_Ldap.inc:120
+#, php-format
+msgid "Anonymous bind to server '%s' succeeded."
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:43
-#: plugins/personal/posix/class_posixAccount.inc:37
-msgid "UNIX"
-msgstr "UNIX"
-
-#: plugins/generic/references/class_reference.inc:45
-#: plugins/admin/ogroups/tabs_ogroups.inc:148
-#: plugins/admin/groups/class_groupManagement.inc:164
-#: plugins/admin/users/class_userManagement.inc:877
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
-msgid "Mail"
-msgstr "Correio"
+#: setup/class_setupStep_Ldap.inc:121
+msgid "Please specify user and password!"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:47
-#: plugins/generic/references/class_reference.inc:49
-#: plugins/admin/groups/class_groupManagement.inc:172
-#: plugins/admin/users/class_userManagement.inc:882
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:78
-msgid "Samba"
-msgstr "Samba"
+#: setup/class_setupStep_Ldap.inc:123
+#, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:894
-msgid "FAX"
-msgstr "FAX"
+#: setup/class_setupStep_Feedback.inc:94
+msgid "UNIX accounts/groups"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:53
-msgid "Proxy"
-msgstr "Proxy"
+#: setup/class_setupStep_Feedback.inc:96
+msgid "Samba management"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:55
-msgid "FTP"
-msgstr "FTP"
+#: setup/class_setupStep_Feedback.inc:98
+#, fuzzy
+msgid "Mail system management"
+msgstr "Exibir sistemas combinados"
 
-#: plugins/generic/references/class_reference.inc:57
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
-#: plugins/admin/ogroups/class_ogroupManagement.inc:184
-#: plugins/admin/ogroups/ogroup-list.xml:79
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
-#: plugins/admin/groups/group-list.xml:15
-#: plugins/admin/groups/group-list.xml:96
-#: plugins/personal/posix/groupSelect/group-list.xml:15
-msgid "Group"
+#: setup/class_setupStep_Feedback.inc:100
+msgid "FAX system administration"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:59
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
-#: plugins/admin/ogroups/class_ogroupManagement.inc:186
-#: plugins/admin/departments/dep-list.xml:55
-#: plugins/admin/departments/dep-list.xml:71
-#: plugins/admin/departments/dep-list.xml:138
-#: plugins/admin/departments/class_departmentManagement.inc:249
-#: plugins/personal/generic/class_user.inc:1695
-#: plugins/personal/generic/generic.tpl:307
-msgid "Department"
-msgstr "Departamento"
+#: setup/class_setupStep_Feedback.inc:102
+msgid "Asterisk administration"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:61
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
-#: plugins/admin/ogroups/class_ogroupManagement.inc:188
-#: plugins/admin/groups/class_groupManagement.inc:180
-#: plugins/admin/users/class_userManagement.inc:898
-#: plugins/admin/departments/generic.tpl:106
-#: plugins/admin/departments/class_department.inc:370
-#: plugins/admin/departments/organization.tpl:105
-#: plugins/personal/generic/class_user.inc:1356
-#: plugins/personal/generic/class_user.inc:1819
-#: plugins/personal/generic/generic.tpl:398
-#: plugins/personal/generic/generic.tpl:579
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:86
-msgid "Phone"
-msgstr "Fone"
+#: setup/class_setupStep_Feedback.inc:104
+msgid "System inventory"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:185
-msgid "Application"
-msgstr "Aplicação"
+#: setup/class_setupStep_Feedback.inc:106
+#, fuzzy
+msgid "System/Configuration management"
+msgstr "Erro de configuração"
 
-#: plugins/generic/references/class_reference.inc:65
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
-#: plugins/admin/ogroups/class_ogroupManagement.inc:187
-#: plugins/personal/posix/trustSelect/trust-list.xml:14
-#: setup/setup_config2.tpl:219 setup/setup_config2.tpl:264
-msgid "Server"
-msgstr "Servidor"
+#: setup/class_setupStep_Feedback.inc:108
+#, fuzzy
+msgid "Address book"
+msgstr "Catálogo de Endereços"
 
-#: plugins/generic/references/class_reference.inc:67
-msgid "Thin Client"
+#: setup/class_setupStep_Feedback.inc:114
+msgid "Feedback"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:69
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
-#: plugins/admin/ogroups/class_ogroupManagement.inc:189
-#: plugins/personal/posix/trustSelect/trust-list.xml:22
-msgid "Workstation"
-msgstr "Estação de trabalho"
+#: setup/class_setupStep_Feedback.inc:115
+msgid "Get notifications or send feedback"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:71
-#: plugins/admin/ogroups/ogroup-list.xml:15
-msgid "Object group"
+#: setup/class_setupStep_Feedback.inc:116
+msgid "Notification and feedback"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:73
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
-#: plugins/admin/ogroups/class_ogroupManagement.inc:192
-msgid "Printer"
-msgstr "Impressora"
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
+msgid "Setup error"
+msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Object name"
-msgstr "Nome do objeto"
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Feedback error"
+msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Contents"
+#: setup/class_setupStep_Feedback.inc:140
+#, php-format
+msgid "Cannot send feedback to '%s': %s"
 msgstr ""
 
-#: plugins/generic/references/contents.tpl:18
-msgid "This object has no relationship to other objects."
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
 msgstr ""
 
-#: plugins/generic/welcome/main.inc:26
-#, php-format
-msgid "Welcome %s!"
-msgstr "Bem vindo %s!"
+#: setup/class_setupStep_Feedback.inc:181
+msgid "Please specify a valid email address."
+msgstr ""
 
-#: plugins/generic/welcome/welcome.tpl:4
+#: setup/class_setupStep_Feedback.inc:185
 msgid ""
-"This is the GOsa main menu. You can select your tasks from the menu on the "
-"left, or by choosing one of the pictograms below. All changes apply directly "
-"to your companies LDAP server."
+"You have to select at least one of both options, subscribe or send feedback."
 msgstr ""
-"Este é o menu principal do GOsa. Você pode selecionar tarefas a partir do "
-"menu esquerdo ou através dos ícones abaixo. Todas as alterações serão "
-"aplicadas diretamente ao seu servidor LDAP."
 
-#: plugins/generic/welcome/welcome.tpl:8
+#: setup/setup_license.tpl:3
 msgid ""
-"Use 'Sign out' on the upper left to close the connection and 'Main' to get "
-"back to the pictogram view."
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
 msgstr ""
-"Utilize 'Sair' no canto superior esquerdo para fechar a conexão e "
-"'Principal' para voltar a visão de ícones."
 
-#: plugins/generic/welcome/welcome.tpl:15
-msgid "The GOsa team"
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
-#: plugins/admin/groups/userSelect/user-list.xml:10
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
-#: plugins/personal/posix/trustSelect/trust-list.xml:10
-#: plugins/personal/posix/groupSelect/group-list.xml:11
-msgid "Please select the desired entries"
+#: setup/setup_ldap.tpl:2
+msgid ""
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
-#: plugins/admin/ogroups/class_ogroupManagement.inc:191
-#: plugins/personal/posix/trustSelect/trust-list.xml:30
-msgid "Terminal"
+#: setup/setup_ldap.tpl:9
+msgid "Please choose the LDAP user to be used by GOsa"
 msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:183
-#: plugins/admin/groups/userSelect/user-list.xml:14
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
-#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
-#: setup/setup_config2.tpl:228 setup/setup_config2.tpl:273
-msgid "User"
-msgstr "Usuário"
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
+msgid "LDAP connection"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:29
-#: plugins/admin/ogroups/class_ogroup.inc:768
-#: plugins/admin/ogroups/class_ogroup.inc:783
-#: plugins/admin/ogroups/class_ogroup.inc:787
-#: plugins/admin/ogroups/class_ogroup.inc:975
-#: plugins/admin/ogroups/ogroup-filter.tpl:29
-#: plugins/admin/ogroups/ogroup-list.xml:41
-#: plugins/admin/groups/userSelect/user-filter.tpl:17
-#: plugins/admin/groups/group-filter.tpl:21
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:17
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:21
-#: plugins/admin/groups/group-list.xml:58
-#: plugins/admin/groups/class_group.inc:1045
-#: plugins/admin/groups/class_group.inc:1056
-#: plugins/admin/groups/class_group.inc:1058
-#: plugins/admin/groups/class_group.inc:1075
-#: plugins/admin/groups/class_group.inc:1089
-#: plugins/admin/groups/class_group.inc:1096
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:538
-#: plugins/admin/users/class_userManagement.inc:585
-#: plugins/admin/users/user-filter.tpl:24
-#: plugins/admin/departments/class_domain.inc:47
-#: plugins/admin/departments/class_domain.inc:49
-#: plugins/admin/departments/class_domain.inc:54
-#: plugins/admin/departments/class_domain.inc:56
-#: plugins/admin/departments/class_domain.inc:58
-#: plugins/admin/departments/class_domain.inc:90
-#: plugins/admin/departments/dep-filter.tpl:13
-#: plugins/admin/departments/class_localityGeneric.inc:48
-#: plugins/admin/departments/class_localityGeneric.inc:50
-#: plugins/admin/departments/class_localityGeneric.inc:55
-#: plugins/admin/departments/class_localityGeneric.inc:57
-#: plugins/admin/departments/class_localityGeneric.inc:59
-#: plugins/admin/departments/class_organizationGeneric.inc:79
-#: plugins/admin/departments/class_organizationGeneric.inc:81
-#: plugins/admin/departments/class_organizationGeneric.inc:86
-#: plugins/admin/departments/class_organizationGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:90
-#: plugins/admin/departments/class_countryGeneric.inc:47
-#: plugins/admin/departments/class_countryGeneric.inc:49
-#: plugins/admin/departments/class_countryGeneric.inc:54
-#: plugins/admin/departments/class_countryGeneric.inc:56
-#: plugins/admin/departments/class_countryGeneric.inc:58
-#: plugins/admin/departments/class_dcObject.inc:47
-#: plugins/admin/departments/class_dcObject.inc:49
-#: plugins/admin/departments/class_dcObject.inc:54
-#: plugins/admin/departments/class_dcObject.inc:56
-#: plugins/admin/departments/class_dcObject.inc:58
-#: plugins/admin/departments/class_dcObject.inc:90
-#: plugins/admin/departments/class_department.inc:349
-#: plugins/admin/departments/class_department.inc:351
-#: plugins/admin/departments/class_department.inc:356
-#: plugins/admin/departments/class_department.inc:363
-#: plugins/admin/departments/class_department.inc:367
-#: plugins/admin/acl/class_aclRole.inc:733
-#: plugins/admin/acl/class_aclRole.inc:745
-#: plugins/admin/acl/class_aclRole.inc:755 plugins/admin/acl/acl-list.xml:49
-#: plugins/admin/acl/paste_role.tpl:4 plugins/admin/acl/acl-filter.tpl:21
-#: plugins/admin/acl/acl_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1336
-#: plugins/personal/generic/class_user.inc:1378
-#: plugins/personal/generic/class_user.inc:1834
-#: plugins/personal/posix/trustSelect/trust-list.xml:56
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:23
-#: plugins/personal/posix/groupSelect/group-filter.tpl:21
-#: plugins/personal/posix/groupSelect/group-list.xml:41
-#: setup/setup_migrate.tpl:283 setup/setup_feedback.tpl:31
-msgid "Name"
-msgstr "Nome"
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
+msgstr ""
+
+#: setup/setup_ldap.tpl:35
+msgid "Connection URI"
+msgstr ""
+
+#: setup/setup_ldap.tpl:39
+msgid "TLS connection"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
-#: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:976
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
 #: plugins/admin/ogroups/generic.tpl:26
-#: plugins/admin/groups/userSelect/user-list.tpl:13
-#: plugins/admin/groups/generic.tpl:39
-#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:13
-#: plugins/admin/groups/group-list.tpl:13
-#: plugins/admin/groups/class_group.inc:1185
-#: plugins/admin/users/user-list.tpl:13
-#: plugins/admin/departments/locality.tpl:28
-#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
 #: plugins/admin/departments/class_domain.inc:92
-#: plugins/admin/departments/class_localityGeneric.inc:94
 #: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
 #: plugins/admin/departments/class_dcObject.inc:93
 #: plugins/admin/departments/domain.tpl:28
-#: plugins/admin/departments/country.tpl:28
-#: plugins/admin/departments/dcObject.tpl:28
-#: plugins/admin/departments/class_department.inc:668
-#: plugins/admin/departments/dep-list.tpl:13
-#: plugins/admin/departments/organization.tpl:39
-#: plugins/admin/acl/acl-list.tpl:13 plugins/admin/acl/class_aclRole.inc:734
-#: plugins/admin/acl/acl_role.tpl:27
-#: plugins/personal/generic/class_user.inc:1688
-#: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/posix/trustSelect/trust-list.tpl:13
-#: plugins/personal/posix/groupSelect/group-list.tpl:13
-#: setup/setup_ldap.tpl:55
+#: plugins/admin/users/user-list.tpl:12
 msgid "Base"
 msgstr "Base"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:3
-#: plugins/admin/ogroups/ogroup-filter.tpl:3
-#: plugins/admin/groups/userSelect/user-filter.tpl:3
-#: plugins/admin/groups/group-filter.tpl:3
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:3
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:3
-#: plugins/admin/users/user-filter.tpl:3
-#: plugins/admin/departments/dep-filter.tpl:3
-#: plugins/admin/acl/acl-filter.tpl:3
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:3
-#: plugins/personal/posix/groupSelect/group-filter.tpl:3
-#, fuzzy
-msgid "Filter"
-msgstr "Filtros"
+#: setup/setup_ldap.tpl:57
+msgid "Reload"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:11
-#, fuzzy
-msgid "Show department"
-msgstr "Departamentos"
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+msgid "Authentication"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:12
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:11
+#: setup/setup_ldap.tpl:66
 #, fuzzy
-msgid "Show users"
-msgstr "Servidores"
+msgid "Administrator DN"
+msgstr "Administração de usuários"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:12
-#, fuzzy
-msgid "Show groups"
-msgstr "Usuários do domínio"
+#: setup/setup_ldap.tpl:71
+msgid "Select user"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:15
-#, fuzzy
-msgid "Show server"
-msgstr "Servidores"
+#: setup/setup_ldap.tpl:81
+msgid "Automatically append LDAP base to administrator DN"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:16
+#: setup/setup_ldap.tpl:85
 #, fuzzy
-msgid "Show workstation"
-msgstr "Estações de Trabalho"
+msgid "Administrator password"
+msgstr "Administração de usuários"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:17
-#, fuzzy
-msgid "Show terminal"
-msgstr "Terminais"
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
+msgid "Schema based settings"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:19
-#, fuzzy
-msgid "Show printer"
-msgstr "Impressoras"
+#: setup/setup_ldap.tpl:94
+msgid "Use RFC 2307bis compliant groups"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:20
-#, fuzzy
-msgid "Show phone"
-msgstr "Modelos"
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
+msgid "Current status"
+msgstr ""
+
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
+msgstr "Informação"
+
+#: setup/setup_language.tpl:3
+msgid "Please select the preferred language"
+msgstr ""
 
-#: plugins/admin/ogroups/remove.tpl:6
+#: setup/setup_language.tpl:5
 msgid ""
-"Please double check if you really want to do this since there is no way for "
-"GOsa to get your data back."
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:972
-msgid "Object groups"
-msgstr "Grupos de objeto"
+#: setup/setup_language.tpl:9
+msgid "Please select your preferred language here"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:26
-msgid "Manage object groups"
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:115
-#: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:204
-msgid "Infrastructure error"
+#: setup/setup_welcome.tpl:5
+msgid ""
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:182
-msgid "Templates"
-msgstr "Modelos"
+#: setup/setup_welcome.tpl:9
+msgid "What you need to generate a configuration file:"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:190
-msgid "Windows Install"
+#: setup/setup_welcome.tpl:13
+#, fuzzy
+msgid "The hostname of your LDAP server"
+msgstr "enquanto executava no LDAP server %s"
+
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:238
-msgid "You cannot combine terminals and workstations in one object group!"
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:354
-#: plugins/admin/users/class_userManagement.inc:463
-#: plugins/admin/users/class_userManagement.inc:497
-#: plugins/admin/users/class_userManagement.inc:528
-msgid "none"
-msgstr "nenhum"
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
+msgstr ""
+
+#: setup/setup_welcome.tpl:20
+msgid ""
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:356
-msgid "too many different objects!"
+#: setup/setup_welcome.tpl:24
+msgid "Starting the setup"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:358
-msgid "users"
-msgstr "Usuários"
+#: setup/setup_welcome.tpl:26
+msgid ""
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:359
-msgid "groups"
-msgstr "Grupos"
+#: setup/setup_welcome.tpl:32
+msgid "Click the 'Next' button when you've finished."
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:360
-msgid "applications"
-msgstr "Aplicações"
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
+msgid "LDAP schema check"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:361
-msgid "departments"
-msgstr "Departamentos"
+#: setup/class_setupStep_Schema.inc:39
+msgid "Perform test on your current LDAP schema"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:362
-msgid "servers"
-msgstr "Servidores"
+#: setup/class_setup.inc:183
+msgid "Setup"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:363
-msgid "workstations"
-msgstr "Estações de Trabalho"
+#: setup/class_setup.inc:195
+msgid "Completed"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:364
-msgid "winstations"
+#: setup/class_setup.inc:235
+msgid "Check again"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:365
-msgid "terminals"
-msgstr "Terminais"
+#: setup/class_setup.inc:238
+msgid "Next"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:366
-msgid "phones"
-msgstr "Telefones"
+#: setup/setup_migrate.tpl:2
+msgid ""
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:367
-msgid "printers"
-msgstr "Impressoras"
+#: setup/setup_migrate.tpl:5
+msgid "Checks"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-#: setup/setup_config2.tpl:143
-msgid "disabled"
-msgstr "desabilitado"
+#: setup/setup_migrate.tpl:22
+msgid "Add required object classes to the LDAP base"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-msgid "full access"
-msgstr "acesso completo"
+#: setup/setup_migrate.tpl:24
+msgid "Current"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:413
-#: plugins/admin/groups/class_group.inc:434
-#: plugins/personal/posix/class_posixAccount.inc:574
-msgid "allow access to these hosts"
-msgstr "permitir acesso a estas máquinas"
+#: setup/setup_migrate.tpl:28
+msgid "After migration"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:601
-msgid "Non existing dn:"
-msgstr "Dn não existente:"
+#: setup/setup_migrate.tpl:35
+msgid "Close"
+msgstr "Fechar"
 
-#: plugins/admin/ogroups/class_ogroup.inc:758
-#, php-format
-msgid ""
-"These systems are already configured by other object groups and cannot be "
-"added:"
+#: setup/setup_migrate.tpl:40
+msgid "Create a new GOsa administrator account"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:792
-msgid "You can combine two different object types at maximum, only!"
+#: setup/setup_migrate.tpl:41
+msgid ""
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:967
-msgid "Object group generic"
+#: setup/setup_migrate.tpl:57
+msgid "Password (again)"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:978
-msgid "Sytem trust"
+#: setup/setup_finish.tpl:3
+msgid "Create your configuration file"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:979
-msgid "Member"
+#: setup/setup_finish.tpl:10
+msgid "Depending on the user name your web server is running on:"
 msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:7
-#: plugins/admin/ogroups/paste_generic.tpl:4
-#: plugins/admin/groups/generic.tpl:11
-#: plugins/admin/groups/paste_generic.tpl:5
-msgid "Group name"
-msgstr "Nome do grupo"
-
-#: plugins/admin/ogroups/generic.tpl:10
-msgid "Name of the group"
+#: setup/setup_finish.tpl:27
+msgid "Download configuration"
 msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:18 plugins/admin/groups/generic.tpl:28
-msgid "Descriptive text for this group"
+#: setup/setup_finish.tpl:33
+msgid "Status: "
 msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1191
-#: plugins/personal/posix/generic.tpl:139
-msgid "System trust"
-msgstr "Sistema de confiança"
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
+msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:37 plugins/admin/groups/generic.tpl:160
-#: plugins/admin/groups/generic.tpl:194 plugins/personal/posix/generic.tpl:141
-#: plugins/personal/posix/generic.tpl:169
-msgid "Trust mode"
-msgstr "Modo de confiança"
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
+msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:65
-msgid "Member objects"
+#: setup/class_setupStep_Checks.inc:66
+msgid "Checking PHP version"
 msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:133
-msgid "Phone queue"
-msgstr "Fila de Telefone"
+#: setup/class_setupStep_Checks.inc:67
+#, php-format
+msgid "PHP must be of version %s or above."
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:160
-msgid "Systems"
-msgstr "Sistemas"
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:171
-#: plugins/admin/ogroups/tabs_ogroups.inc:194
-msgid "Startup"
-msgstr "Início"
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:182
-#: plugins/admin/ogroups/tabs_ogroups.inc:203
-msgid "Devices"
-msgstr "Dispositivos"
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:213
-msgid "FAI summary"
-msgstr "Sumário FAI"
+#: setup/class_setupStep_Checks.inc:91
+msgid ""
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:222
-#: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:890
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
-msgid "Environment"
-msgstr "Ambiente"
+#: setup/class_setupStep_Checks.inc:99
+msgid "GOsa requires this module for the samba integration."
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:241
-msgid "Applications"
-msgstr "Aplicações"
+#: setup/class_setupStep_Checks.inc:107
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
+msgstr ""
 
-#: plugins/admin/ogroups/paste_generic.tpl:7
-msgid "Please enter the new object group name"
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:11
-msgid "user groups"
+#: setup/class_setupStep_Checks.inc:122
+msgid "mbstring"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:12
-msgid "nested groups"
+#: setup/class_setupStep_Checks.inc:123
+msgid "GOsa requires this module to handle Unicode strings."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:13
-msgid "application groups"
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:14
-msgid "department groups"
+#: setup/class_setupStep_Checks.inc:131
+msgid "GOsa requires this module to calculate dates."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:15
-msgid "server groups"
+#: setup/class_setupStep_Checks.inc:138
+msgid "MySQL"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:16
-msgid "workstation groups"
+#: setup/class_setupStep_Checks.inc:139
+msgid ""
+"GOsa requires this module to communicate with several supported databases."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:17
-msgid "windows workstation groups"
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:18
-msgid "terminal groups"
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:19
-msgid "printer groups"
+#: setup/class_setupStep_Checks.inc:158
+msgid ""
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:20
-msgid "phone groups"
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:11
-#, fuzzy
-msgid "List of object groups"
-msgstr "Lista dos grupos"
+#: setup/class_setupStep_Checks.inc:172
+msgid "GOsa requires this extension to handle images."
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:74 plugins/admin/users/user-list.xml:73
-#: plugins/admin/departments/locality.tpl:8
-#: plugins/admin/departments/generic.tpl:7
-#: plugins/admin/departments/domain.tpl:8
-#: plugins/admin/departments/country.tpl:8
-#: plugins/admin/departments/dcObject.tpl:8
-#: plugins/admin/departments/organization.tpl:7
-msgid "Properties"
-msgstr "Propriedades"
+#: setup/class_setupStep_Checks.inc:187
+msgid "compression module"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:90 plugins/admin/users/user-list.xml:89
-#: plugins/admin/departments/dep-list.xml:98 plugins/admin/acl/acl-list.xml:76
-#: setup/class_setupStep_Migrate.inc:1036
-#: setup/class_setupStep_Migrate.inc:1052
-msgid "Create"
-msgstr "Criar"
+#: setup/class_setupStep_Checks.inc:188
+msgid "GOsa requires this extension to handle snapshots."
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-list.xml:115
-#: plugins/admin/users/user-list.xml:121
-#: plugins/admin/departments/dep-list.xml:160
-#: plugins/admin/departments/dep-list.xml:181
-#: plugins/admin/acl/acl-list.xml:95 plugins/admin/acl/acl-list.xml:144
-#: plugins/personal/generic/generic_certs.tpl:21
-#: plugins/personal/generic/generic_certs.tpl:45
-#: plugins/personal/generic/generic_certs.tpl:69
-#: setup/class_setupStep_Migrate.inc:2870
-msgid "Remove"
-msgstr "Remover"
+#: setup/class_setupStep_Checks.inc:199
+msgid ""
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:123
-#: plugins/admin/users/user-list.xml:156
-msgid "Send message"
+#: setup/class_setupStep_Checks.inc:200
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:142
-#, fuzzy
-msgid "Edit object group"
-msgstr "Lista dos grupos"
+#: setup/class_setupStep_Checks.inc:208
+msgid "PHP uses this value for the garbage collector to delete old sessions."
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:155
-#, fuzzy
-msgid "Remove object group"
-msgstr "Remover foto"
+#: setup/class_setupStep_Checks.inc:209
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:6
-msgid "Select objects to add"
+#: setup/class_setupStep_Checks.inc:210
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:20
-#: plugins/admin/groups/trust_machines.tpl:19
-#: plugins/personal/posix/posix_groups.tpl:21
-msgid "Filters"
-msgstr "Filtros"
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+msgid "Off"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:36
-msgid "Display objects of department"
+#: setup/class_setupStep_Checks.inc:218
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:37
-#: plugins/admin/ogroups/trust_machines.tpl:27
-#: plugins/admin/groups/trust_machines.tpl:26
-#: plugins/personal/posix/posix_groups.tpl:35
-#: plugins/personal/posix/trust_machines.tpl:27
-msgid "Choose the department the search will be based on"
-msgstr "Escolha o departamento para base de procura"
+#: setup/class_setupStep_Checks.inc:219
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:40
-msgid "Display objects matching"
-msgstr "Exibir combinação de objetos"
+#: setup/class_setupStep_Checks.inc:226
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:41
-msgid "Regular expression for matching object names"
-msgstr "Expressão regular para combinação de nomes de objeto"
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+msgstr ""
 
-#: plugins/admin/ogroups/trust_machines.tpl:6
-#: plugins/admin/groups/trust_machines.tpl:6
-#: plugins/personal/posix/trust_machines.tpl:6
-msgid "Select systems to add"
-msgstr "Selecione sistemas para adicionar"
+#: setup/class_setupStep_Checks.inc:234
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
+msgstr ""
 
-#: plugins/admin/ogroups/trust_machines.tpl:26
-#: plugins/admin/groups/trust_machines.tpl:25
-#: plugins/personal/posix/trust_machines.tpl:26
-msgid "Display systems of department"
-msgstr "Exibir sistemas do departamento"
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+msgstr ""
 
-#: plugins/admin/ogroups/trust_machines.tpl:30
-#: plugins/admin/groups/trust_machines.tpl:29
-#: plugins/personal/posix/trust_machines.tpl:30
-msgid "Display systems matching"
-msgstr "Exibir sistemas combinados"
+#: setup/class_setupStep_Checks.inc:242
+msgid "The Execution time should be at least 30 seconds."
+msgstr ""
 
-#: plugins/admin/ogroups/trust_machines.tpl:31
-#: plugins/admin/groups/trust_machines.tpl:30
-#: plugins/personal/posix/trust_machines.tpl:31
-msgid "Regular expression for matching addresses"
-msgstr "Expressão regular para conferência de endereços"
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+msgstr ""
 
-#: plugins/admin/groups/remove.tpl:6
+#: setup/class_setupStep_Checks.inc:250
 msgid ""
-"This may be a primary user group. Please double check if you really want to "
-"do this since there is no way for GOsa to get your data back."
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
 msgstr ""
-"Ele pode ser o grupo primário de um usuário. Por favor, tenha certeza se "
-"realmente quer fazer isso, pois o GOsa não possui uma forma para restaurar "
-"seus dados anteriores."
 
-#: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:541
-#: plugins/admin/users/user-list.xml:57
-#: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1375
-#: plugins/personal/generic/class_user.inc:1680
-#: plugins/personal/generic/class_user.inc:1831
-msgid "Given name"
-msgstr "Nome fornecido"
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+msgstr ""
 
-#: plugins/admin/groups/userSelect/user-list.xml:48
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
-#: plugins/admin/users/user-list.xml:49
-#: plugins/personal/generic/class_user.inc:1679
-msgid "Surname"
-msgstr "Sobrenome"
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
+msgid "On"
+msgstr ""
 
-#: plugins/admin/groups/generic.tpl:14 plugins/personal/generic/generic.tpl:52
-#: plugins/personal/generic/generic.tpl:73
-#: plugins/personal/generic/generic.tpl:89
-msgid "Multiple edit"
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:17
-#: plugins/admin/groups/paste_generic.tpl:8
-msgid "Posix name of the group"
+#: setup/class_setupStep_Checks.inc:259
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:59
-#: plugins/admin/groups/paste_generic.tpl:13
-msgid "Normally IDs are autogenerated, select to specify manually"
+#: setup/class_setupStep_Checks.inc:266
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:62
-#: plugins/admin/groups/paste_generic.tpl:15
-msgid "Force GID"
-msgstr "Forçar GID"
+#: setup/class_setupStep_Checks.inc:267
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:277
+#, fuzzy
+msgid "Configuration writable"
+msgstr "Configuração"
 
-#: plugins/admin/groups/generic.tpl:65
-#: plugins/admin/groups/paste_generic.tpl:18
-msgid "Forced ID number"
+#: setup/class_setupStep_Checks.inc:278
+msgid "The configuration file can't be written"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
-msgid "Select to create a samba conform group"
+#: setup/class_setupStep_Checks.inc:279
+#, php-format
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
-msgid "in domain"
-msgstr "no domínio"
+#: setup/class_setupStep_Welcome.inc:42
+msgid "Welcome"
+msgstr ""
 
-#: plugins/admin/groups/generic.tpl:131
-msgid "Members are in a phone pickup group"
-msgstr "Membros estão no grupo phone pickup"
+#: setup/class_setupStep_Welcome.inc:43
+msgid "The welcome message"
+msgstr ""
 
-#: plugins/admin/groups/generic.tpl:146
-msgid "Members are in a nagios group"
+#: setup/class_setupStep_Welcome.inc:44
+#, fuzzy
+msgid "Welcome to the GOsa setup assistent"
+msgstr "Bem vindo %s!"
+
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
+msgid "License"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:236
-msgid "Group members"
-msgstr "Membros do grupo"
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
+msgstr ""
 
-#: plugins/admin/groups/generic.tpl:243
-msgid "In all groups"
+#: setup/setup_schema.tpl:1
+msgid "Schema specific settings"
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:246
-msgid "Not in all groups"
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
 msgstr ""
 
-#: plugins/admin/groups/group-filter.tpl:11
-#: plugins/personal/posix/groupSelect/group-filter.tpl:11
-#, fuzzy
-msgid "Show primary groups"
-msgstr "Grupo primário"
+#: setup/setup_schema.tpl:7
+msgid "Schema check failed"
+msgstr ""
 
-#: plugins/admin/groups/group-filter.tpl:12
-#: plugins/personal/posix/groupSelect/group-filter.tpl:12
-#, fuzzy
-msgid "Show samba groups"
-msgstr "Usuários do domínio"
+#: setup/setup_schema.tpl:11
+msgid ""
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
+msgstr ""
 
-#: plugins/admin/groups/group-filter.tpl:13
-#: plugins/personal/posix/groupSelect/group-filter.tpl:13
-#, fuzzy
-msgid "Show mail groups"
-msgstr "Usuários do domínio"
+#: setup/setup_schema.tpl:13
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
+msgstr ""
 
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:79
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:85
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
+msgid "Language setup"
 msgstr ""
 
-#: plugins/admin/groups/paste_generic.tpl:1
-msgid "Group settings"
+#: setup/class_setupStep_Language.inc:42
+msgid "This step allows you to select your preferred language."
 msgstr ""
 
-#: plugins/admin/groups/group-list.xml:11
-msgid "List of groups"
-msgstr "Lista dos grupos"
+#: setup/setup_feedback.tpl:2
+msgid "Feedback successfully send"
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:23
-#, fuzzy
-msgid "Group submenu entry"
-msgstr "Membros do grupo"
+#: setup/setup_feedback.tpl:6
+msgid "Subscribe to the gosa-announce mailing list"
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:31
-#, fuzzy
-msgid "Group menu entry"
-msgstr "Membros do grupo"
+#: setup/setup_feedback.tpl:8
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:155
-#, fuzzy
-msgid "Edit group"
-msgstr "Lista dos grupos"
+#: setup/setup_feedback.tpl:20
+msgid "Mail address"
+msgstr "Endereço de Correio"
 
-#: plugins/admin/groups/group-list.xml:168
-#, fuzzy
-msgid "Remove group"
-msgstr "Remover foto"
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Cannot find group SID in your configuration!"
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Samba group"
-msgstr "Grupo samba"
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
+msgstr "Geral"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain admins"
-msgstr "Administradores do domínio"
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain users"
-msgstr "Usuários do domínio"
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:401
-msgid "Domain guests"
-msgstr "Convidados do domínio"
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:406
-#, php-format
-msgid "Special group (%d)"
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:540
-#, php-format
-msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+#: setup/setup_feedback.tpl:54
+msgid "Select the year since when you are using GOsa"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:546
-#, php-format
-msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:624
-#, fuzzy
-msgid "! unknown UID"
-msgstr "! id desconhecido"
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:667
-#, php-format
-msgid "Search returned too many results. Not displaying more than %s entries!"
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:894
-#, php-format
-msgid "Cannot find any SID for '%s'!"
+#: setup/setup_feedback.tpl:72
+msgid "GOsa version"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:899
-#, php-format
-msgid "Cannot find any RIDBASE for '%s'!"
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:994
-#, php-format
-msgid "The gidNumber '%s' is already in use by %s!"
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1108
-#: plugins/admin/groups/class_group.inc:1187
-#: plugins/personal/posix/class_posixAccount.inc:1045
-#: plugins/personal/posix/class_posixAccount.inc:1048
-#: plugins/personal/posix/generic.tpl:74
-#: plugins/personal/posix/paste_generic.tpl:45
-msgid "GID"
-msgstr "GID"
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1175
-msgid "Generic group settings"
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
+msgid "Features"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1189
-msgid "Samba group type"
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1190
-msgid "Samba domain name"
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1192
-msgid "Phone pickup group"
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1193
-msgid "Nagios group"
+#: html/password.php:63 html/index.php:157
+#, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
+msgstr "A configuração GOsa %s/%s não pôde ser lida. Abortado."
+
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, php-format
+msgid "Compile directory %s is not accessible!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1195
-msgid "Group member"
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
+msgid "Password method"
 msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:26
-msgid "Group administration"
-msgstr "Administração de grupos"
+#: html/password.php:195
+msgid "Error: Password method not available!"
+msgstr "Erro: Método de senha não disponível!"
 
-#: plugins/admin/groups/class_groupManagement.inc:156
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:62
-msgid "Posix"
-msgstr "Posix"
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
+msgstr "Login"
 
-#: plugins/admin/groups/class_groupManagement.inc:157
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:63
-#, fuzzy
-msgid "Edit posix properties"
-msgstr "Editar propriedades de telefone"
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
+msgstr "Você precisa especificar sua senha atual para continuar."
 
-#: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:879
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
-msgid "Edit mail properties"
-msgstr "Editar propriedades de correio"
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
+msgid ""
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
+msgstr ""
+"A senha digitada nos campos 'Nova senha' e 'Repita nova senha' não conferem."
 
-#: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:883
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
-msgid "Edit samba properties"
-msgstr "Editar propriedades do samba"
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
+msgstr "O campo 'Nova senha' esta vazio."
 
-#: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:899
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
-msgid "Edit phone properties"
-msgstr "Editar propriedades de telefone"
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
+msgstr "A senha utilizada como nova e atual são muito similares."
 
-#: plugins/admin/groups/class_groupManagement.inc:188
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:94
-msgid "Menu"
-msgstr ""
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
+msgstr "A senha utilizada como nova é curta."
 
-#: plugins/admin/groups/class_groupManagement.inc:189
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:95
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
 #, fuzzy
-msgid "Edit start menu properties"
-msgstr "Editar propriedades do samba"
+msgid "The password contains possibly problematic Unicode characters!"
+msgstr "O campo '%s' contém uma palavra reservada!"
 
-#: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:891
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
-msgid "Edit environment properties"
-msgstr "Editar propriedades de ambiente"
+#: html/password.php:261 html/index.php:311
+#, fuzzy
+msgid "Please check the username/password combination!"
+msgstr "Por favor, verifique a combinação usuário / senha"
 
-#: plugins/admin/users/remove.tpl:6 plugins/admin/acl/remove.tpl:6
-msgid ""
-"This includes all account data, system access rules, imap settings, etc. for "
-"this user. Please double check if your really want to do this since there is "
-"no way for GOsa to get your data back."
+#: html/password.php:268
+#, fuzzy
+msgid "You have no permissions to change your password!"
+msgstr "Você não tem permissão para alterar sua senha."
+
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
+#, php-format
+msgid "Check-hook reported a problem: %s. Password change canceled!"
 msgstr ""
-"Isso inclui, para este usuário, todos os dados da conta, regras de acesso, "
-"configurações imap e etc. Por favor, tenha certeza se quer realmente fazer "
-"isso, pois o GOsa não tem como recuperar seus dados anteriores."
 
-#: plugins/admin/users/password.tpl:4
-msgid ""
-"To change the user password use the fields below. The changes take effect "
-"immediately. Please memorize the new password, because the user wouldn't be "
-"able to login without it."
+#: html/password.php:315
+msgid "Session will not be encrypted."
+msgstr "A sessão não será criptografada."
+
+#: html/password.php:317
+msgid "Enter SSL session"
+msgstr "Entre com a sessão SSL"
+
+#: html/index.php:45
+#, php-format
+msgid "Your browser (%s) is blacklisted for the current theme!"
 msgstr ""
-"Para alterar a senha do usuário utilize os campos abaixo. As alterações "
-"surtem efeito imediatamente. Por favor, memorize a nova senha porque o "
-"usuário não será capaz de acessar o sistema sem ela."
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/generic/password.tpl:8
-#: plugins/personal/password/password.tpl:8
-msgid ""
-"Changing the password affects your authentification on mail, proxy, samba "
-"and unix services."
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
 msgstr ""
-"Alteração de senha afeta a autenticação dos serviços de correio, proxy, "
-"samba e unix."
 
-#: plugins/admin/users/password.tpl:21 plugins/admin/users/password.tpl:57
-#: plugins/personal/generic/password.tpl:27
-#: plugins/personal/generic/password.tpl:70
-#: plugins/personal/password/password.tpl:32
-#: plugins/personal/password/password.tpl:75
-msgid "Repeat new password"
-msgstr "Repita nova senha"
+#: html/index.php:72
+#, fuzzy
+msgid "here"
+msgstr "Servidor"
 
-#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
-msgid "Strength"
+#: html/index.php:78
+msgid "The configured session lifetime will be overridden by php.ini settings!"
+msgstr ""
+
+#: html/index.php:179
+msgid "Smarty error"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:35
+#: html/index.php:202
 #, fuzzy
-msgid "Password input dialog"
-msgstr "Armazenamento da senha"
+msgid ""
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
+msgstr ""
+"Seu navegador está com suporte a cookies desabilitado. Por favor, habilite-o "
+"e recarregue essa página antes de entrar!"
 
-#: plugins/admin/users/password.tpl:39
-#: plugins/personal/generic/password.tpl:51
-#: plugins/personal/password/password.tpl:56
-msgid "Use proposal"
+#: html/index.php:233
+msgid "Broken HTTP authentication setup!"
 msgstr ""
 
-#: plugins/admin/users/password.tpl:43
-#: plugins/personal/generic/password.tpl:55
-#: plugins/personal/password/password.tpl:60 setup/setup_migrate.tpl:470
-#: setup/setup_migrate.tpl:513 setup/setup_migrate.tpl:557
-msgid "Refresh"
-msgstr "Recarregar"
+#: html/index.php:241
+msgid "Cannot find a valid user for the current HTTP authentication!"
+msgstr ""
 
-#: plugins/admin/users/password.tpl:49
-#: plugins/personal/generic/password.tpl:61
-#: plugins/personal/password/password.tpl:66
-#, fuzzy
-msgid "Manually specify a password"
-msgstr "Por favor, especifique sua senha!"
+#: html/index.php:245
+msgid "Cannot find a unique user for the current HTTP authentication!"
+msgstr ""
 
-#: plugins/admin/users/password.tpl:77
+#: html/index.php:289
 #, fuzzy
-msgid "Enforce password change on next login."
-msgstr "Alteração de senha não permitida"
+msgid "Please specify a valid user name!"
+msgstr "Por favor, especifique um nome de usuário válido!"
 
-#: plugins/admin/users/password.tpl:84
-#: plugins/personal/generic/password.tpl:88
-#: plugins/personal/password/password.tpl:93
-msgid "Set password"
-msgstr "Definir a senha"
+#: html/index.php:292
+msgid "Please specify your password!"
+msgstr "Por favor, especifique sua senha!"
 
-#: plugins/admin/users/template.tpl:2
-msgid "Creating a new user using templates"
-msgstr "Criando um novo usuário usando modelos"
+#: html/index.php:304
+msgid "Authentication error"
+msgstr ""
 
-#: plugins/admin/users/template.tpl:6
-msgid ""
-"Creating a new user can be assisted by using templates. Many database "
-"records will be filled automatically. Choose 'none' to skip the usage of "
-"templates."
+#: html/index.php:304
+msgid "Cannot retrieve user information for HTTP authentication!"
 msgstr ""
-"A criação de usuários pode ser assistida pelo uso de modelos. Muitos campos "
-"podem ser preenchidos automaticamente. Escolha 'nenhum' para não utilizar "
-"modelos."
 
-#: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:535
-#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
-#: plugins/admin/users/templatize.tpl:15
-msgid "Template"
-msgstr "Modelo"
+#: html/index.php:360
+msgid "Account locked. Please contact your system administrator!"
+msgstr ""
 
-#: plugins/admin/users/template.tpl:23 plugins/personal/generic/generic.tpl:49
-#: plugins/personal/generic/paste_generic.tpl:7
-msgid "Last name"
-msgstr "Último nome"
+#: html/main.php:171
+#, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
+msgstr ""
 
-#: plugins/admin/users/template.tpl:27 plugins/personal/generic/generic.tpl:69
-#: plugins/personal/generic/paste_generic.tpl:11
-msgid "First name"
-msgstr "Primeiro nome"
+#: html/main.php:190
+msgid "PHP configuration"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:26
-msgid "Manage users"
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:391
-msgid "You have no permission to change this users password!"
+#: html/main.php:220
+msgid "Your password is about to expire, please change your password!"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:782
-msgid "Account locking"
+#: html/main.php:295
+msgid "Running out of memory!"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:783
+#: html/main.php:355
 #, php-format
-msgid ""
-"Password method '%s' does not support locking. Account (%s) has not been "
-"locked!"
+msgid "You're logged in as %s"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:856
+#: html/main.php:358
 #, fuzzy
-msgid "Unlock account"
-msgstr "Minha conta"
+msgid "ACLs are disabled"
+msgstr "desabilitado"
 
-#: plugins/admin/users/class_userManagement.inc:858
-#, fuzzy
-msgid "Lock account"
-msgstr "Minha conta"
+#: html/main.php:408
+msgid "Plug-in"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:871
-msgid "Edit generic properties"
-msgstr "Editar propriedades gerais"
+#: html/main.php:409
+#, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:874
-#: plugins/personal/posix/class_posixAccount.inc:304
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/class_posixAccount.inc:326
-#: plugins/personal/posix/class_posixAccount.inc:329
-msgid "POSIX"
+#: html/main.php:425
+msgid "Configuration Error"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:875
-#, fuzzy
-msgid "Edit POSIX properties"
-msgstr "Editar propriedades UNIX"
+#: html/main.php:426
+#, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:886
-msgid "Netatalk"
-msgstr "Netatalk"
+#: html/setup.php:73
+msgid "Smarty"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:887
-msgid "Edit netatalk properties"
-msgstr "Editar propriedades do netatalk"
+#: html/helpviewer.php:64
+msgid "Help browser"
+msgstr "Navegador de ajuda"
 
-#: plugins/admin/users/class_userManagement.inc:895
+#: html/helpviewer.php:118
 #, fuzzy
-msgid "Edit FAX properties"
-msgstr "Editar propriedades UNIX"
+msgid "There is no help file specified for this class"
+msgstr "Não existe helpfile especificado para essa classe"
 
-#: plugins/admin/users/user-list.xml:11
-msgid "List of users"
-msgstr "Lista de usuários"
+#: html/helpviewer.php:268
+#, fuzzy, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
+msgstr ""
+"Helpdir '%s' não está acessível, não foi possível ler nenhum helpfiles."
 
-#: plugins/admin/users/user-list.xml:140
-#, fuzzy
-msgid "Lock users"
-msgstr "Lista de usuários"
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
+msgstr ""
+"Para alterar sua senha pessoal, use os campos abaixo. As alterações terão "
+"efeito imediato. Por favor, memorize a nova senha porque você não será capaz "
+"de acessar o sistema sem ela."
 
-#: plugins/admin/users/user-list.xml:148
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
 #, fuzzy
-msgid "Unlock users"
-msgstr "Minha conta"
+msgid "Password change dialog"
+msgstr "Senha alterada"
 
-#: plugins/admin/users/user-list.xml:167
-msgid "Apply template"
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
+msgid "Use proposal"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:199
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
 #, fuzzy
-msgid "New user from template"
-msgstr "Criar usuário do modelo"
+msgid "Manually specify a password"
+msgstr "Por favor, especifique sua senha!"
 
-#: plugins/admin/users/user-list.xml:213
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
+msgstr "Limpar campos"
+
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
+msgstr "Minha conta"
+
+#: plugins/personal/myaccount/class_MyAccount.inc:6
 #, fuzzy
-msgid "Edit user"
-msgstr "Editar esta entrada"
+msgid "Edit personal settings"
+msgstr "Configurações do usuário"
 
-#: plugins/admin/users/user-list.xml:222
-msgid "%{filter:lockLabel(userPassword)}"
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
+msgid "You have no permission to change your password at this time"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:245
+#: plugins/personal/myaccount/nochange.tpl:5
 #, fuzzy
-msgid "Remove user"
-msgstr "Remover foto"
+msgid "Your password hash method will not be changed!"
+msgstr "Sua senha foi alterada com sucesso."
 
-#: plugins/admin/users/user-filter.tpl:11
+#: plugins/personal/myaccount/changed.tpl:3
+#: plugins/personal/password/changed.tpl:3
 #, fuzzy
-msgid "Show templates"
-msgstr "Modelos"
-
-#: plugins/admin/users/user-filter.tpl:12
-msgid "Show functional users"
-msgstr ""
-
-#: plugins/admin/users/user-filter.tpl:13
-msgid "Show POSIX users"
+msgid ""
+"You've successfully changed your password. Remember to change all programs "
+"configured to use it as well."
 msgstr ""
+"Sua senha foi alterada com sucesso. Lembre-se de alterar todos os programas "
+"que a usem."
 
-#: plugins/admin/users/user-filter.tpl:14
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
 #, fuzzy
-msgid "Show Mail users"
-msgstr "Usuários do domínio"
+msgid "POSIX settings"
+msgstr "Configurações samba"
 
-#: plugins/admin/users/user-filter.tpl:15
-#, fuzzy
-msgid "Show Samba users"
-msgstr "Usuários do domínio"
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
+msgstr "Diretório pessoal"
 
-#: plugins/admin/users/templatize.tpl:2
-msgid "Applying a template"
-msgstr ""
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
+#, fuzzy
+msgid "Account settings"
+msgstr "Configurações Posix"
 
-#: plugins/admin/users/templatize.tpl:6
-msgid ""
-"Applying a template to several users will replace all user attributes "
-"defined in the template."
-msgstr ""
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
+msgstr "Grupo primário"
 
-#: plugins/admin/users/templatize.tpl:33
-msgid "No templates available!"
-msgstr ""
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
+msgstr "Forçar UID/GID"
 
-#: plugins/admin/departments/remove.tpl:6
-msgid ""
-"This includes 'all' accounts, systems, etc. in this subtree. Please double "
-"check if your really want to do this since there is no way for GOsa to get "
-"your data back."
-msgstr ""
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
+msgstr "GID"
 
-#: plugins/admin/departments/remove.tpl:10
-msgid ""
-"Best thing to do before performing this action would be to save the current "
-"contents of your LDAP tree in a file. So - if you've done so - press "
-"'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-"O melhor que se tem a fazer antes de realizar esta ação é salvar os dados da "
-"sua árvore LDAP em um arquivo. Então, se pronto, pressione 'Deletar' para "
-"continuar ou 'Cancelar' para abortar."
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
+msgstr "Membros do grupo"
 
-#: plugins/admin/departments/dep-list.xml:11
-msgid "List of departments"
-msgstr "Lista dos departamentos"
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
+msgstr "(Atenção: mais do que 16 grupos não são suportados pelo NFS!)"
 
-#: plugins/admin/departments/dep-list.xml:15
-#: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:189
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
 #, fuzzy
-msgid "Domain"
-msgstr "no domínio"
+msgid "Default filter"
+msgstr "Impressora"
 
-#: plugins/admin/departments/dep-list.xml:23
-#: plugins/admin/departments/dep-list.xml:110
-#, fuzzy
-msgid "Domain component"
-msgstr "Administradores do domínio"
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
+msgid "Please select the desired entries"
+msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:31
-#: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_countryGeneric.inc:82
-#: plugins/admin/departments/class_countryGeneric.inc:83
-msgid "Country"
-msgstr "País"
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
+msgstr "Servidor"
 
-#: plugins/admin/departments/dep-list.xml:39
-#: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_localityGeneric.inc:82
-#: plugins/admin/departments/class_localityGeneric.inc:83
-msgid "Locality"
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
+msgstr "Estação de trabalho"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+msgid "Terminal"
 msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:47
-#: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:237
-#: plugins/admin/departments/class_organizationGeneric.inc:113
-#: plugins/admin/departments/class_organizationGeneric.inc:114
-#: plugins/personal/generic/class_user.inc:1694
-#: plugins/personal/generic/generic.tpl:299 setup/setup_feedback.tpl:23
-msgid "Organization"
-msgstr "Organização"
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
+#, fuzzy
+msgid "Trust machine selection"
+msgstr "Administração de grupos"
 
-#: plugins/admin/departments/locality.tpl:11
-#: plugins/admin/departments/dcObject.tpl:11
-msgid "Locality name"
-msgstr ""
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+#, fuzzy
+msgid "Group selection"
+msgstr "Administração de grupos"
 
-#: plugins/admin/departments/locality.tpl:14
-#: plugins/admin/departments/dcObject.tpl:14
-msgid "Name of locality to create"
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
 msgstr ""
 
-#: plugins/admin/departments/locality.tpl:22
-#: plugins/admin/departments/domain.tpl:22
-#: plugins/admin/departments/country.tpl:22
-#: plugins/admin/departments/dcObject.tpl:22
-#: plugins/admin/departments/organization.tpl:22
-msgid "Descriptive text for department"
-msgstr ""
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
+msgstr "O usuário deve alterar sua senha no primeiro acesso"
 
-#: plugins/admin/departments/locality.tpl:39
-#: plugins/admin/departments/generic.tpl:51
-#: plugins/admin/departments/class_domain.inc:93
-#: plugins/admin/departments/class_localityGeneric.inc:93
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_countryGeneric.inc:93
-#: plugins/admin/departments/class_dcObject.inc:92
-#: plugins/admin/departments/domain.tpl:39
-#: plugins/admin/departments/country.tpl:39
-#: plugins/admin/departments/dcObject.tpl:39
-#: plugins/admin/departments/class_department.inc:675
-#: plugins/admin/departments/organization.tpl:51
-#: plugins/personal/generic/class_user.inc:1697
-#: plugins/personal/generic/generic.tpl:340
-#: plugins/personal/generic/generic.tpl:361
+#: plugins/personal/posix/posix_shadow.tpl:59
 #, fuzzy
-msgid "Manager"
-msgstr "Pager"
+msgid "Password expiration settings"
+msgstr "Configurações de senha"
 
-#: plugins/admin/departments/locality.tpl:67
-#: plugins/admin/departments/generic.tpl:132
-#: plugins/admin/departments/class_domain.inc:94
-#: plugins/admin/departments/class_localityGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:135
-#: plugins/admin/departments/class_countryGeneric.inc:95
-#: plugins/admin/departments/class_dcObject.inc:94
-#: plugins/admin/departments/domain.tpl:67
-#: plugins/admin/departments/country.tpl:67
-#: plugins/admin/departments/dcObject.tpl:67
-#: plugins/admin/departments/class_department.inc:677
-#: plugins/admin/departments/organization.tpl:131
-msgid "Administrative settings"
-msgstr ""
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
+msgstr "Senha expira em"
 
-#: plugins/admin/departments/locality.tpl:69
-#: plugins/admin/departments/generic.tpl:134
-#: plugins/admin/departments/domain.tpl:69
-#: plugins/admin/departments/country.tpl:69
-#: plugins/admin/departments/dcObject.tpl:69
-#: plugins/admin/departments/organization.tpl:133
-msgid "Tag department as an independent administrative unit"
-msgstr ""
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
+#, fuzzy
+msgid "Generic settings"
+msgstr "Configurações do usuário"
 
-#: plugins/admin/departments/generic.tpl:11
-msgid "Name of department"
-msgstr ""
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+msgid "Shell"
+msgstr "Shell"
 
-#: plugins/admin/departments/generic.tpl:14
-msgid "Name of subtree to create"
-msgstr ""
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
+msgstr "Estatus"
 
-#: plugins/admin/departments/generic.tpl:22
+#: plugins/personal/posix/generic.tpl:42
 #, fuzzy
-msgid "Descriptive text for   department"
-msgstr "Exibir sistemas do departamento"
-
-#: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:667
-#: plugins/admin/departments/organization.tpl:27
-msgid "Category"
-msgstr ""
+msgid "Last log-on"
+msgstr "Login"
 
-#: plugins/admin/departments/generic.tpl:30
-#: plugins/admin/departments/organization.tpl:30
-msgid "Category for this subtree"
+#: plugins/personal/posix/generic.tpl:101
+msgid "Common group"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:79
-#: plugins/admin/departments/generic.tpl:91
-#: plugins/admin/departments/class_localityGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:130
-#: plugins/admin/departments/class_department.inc:671
-#: plugins/admin/departments/organization.tpl:78
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1708
-#: plugins/personal/generic/generic.tpl:441
-msgid "Location"
-msgstr "Localização"
+#: plugins/personal/posix/generic.tpl:105
+#, fuzzy
+msgid "Groups differ"
+msgstr "Grupo do usuário"
 
-#: plugins/admin/departments/generic.tpl:83
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_department.inc:670
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1707
-#: plugins/personal/generic/generic.tpl:449
-msgid "State"
-msgstr "Estado"
+#: plugins/personal/posix/generic.tpl:125
+#, fuzzy
+msgid "Account permissions"
+msgstr "Configurações Posix"
 
-#: plugins/admin/departments/generic.tpl:86
-#: plugins/admin/departments/organization.tpl:85
-msgid "State where this subtree is located"
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:94
-#: plugins/admin/departments/organization.tpl:93
-msgid "Location of this subtree"
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:99
-#: plugins/admin/departments/class_department.inc:672
-#: plugins/admin/departments/organization.tpl:98
-#: plugins/personal/generic/generic.tpl:183
-#: plugins/personal/generic/generic.tpl:457
-msgid "Address"
-msgstr "Endereço"
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
+msgstr ""
 
-#: plugins/admin/departments/generic.tpl:102
-#: plugins/admin/departments/organization.tpl:101
-msgid "Postal address of this subtree"
+#: plugins/personal/posix/class_posixAccount.inc:38
+msgid "Edit users POSIX settings"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:109
-#: plugins/admin/departments/organization.tpl:108
-msgid "Base telephone number of this subtree"
+#: plugins/personal/posix/class_posixAccount.inc:146
+msgid "expired"
+msgstr "expirado"
+
+#: plugins/personal/posix/class_posixAccount.inc:148
+msgid "grace time active"
 msgstr ""
 
-#: plugins/admin/departments/generic.tpl:114
-#: plugins/admin/departments/class_organizationGeneric.inc:133
-#: plugins/admin/departments/class_department.inc:373
-#: plugins/admin/departments/class_department.inc:674
-#: plugins/admin/departments/organization.tpl:113
-#: plugins/personal/generic/class_user.inc:1359
-#: plugins/personal/generic/class_user.inc:1822
-#: plugins/personal/generic/generic.tpl:423
-#: plugins/personal/generic/generic.tpl:591
-msgid "Fax"
-msgstr "Fax"
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
+msgid "active"
+msgstr "ativo"
 
-#: plugins/admin/departments/generic.tpl:117
-#: plugins/admin/departments/organization.tpl:116
-msgid "Base facsimile telephone number of this subtree"
+#: plugins/personal/posix/class_posixAccount.inc:151
+msgid "password not changeable"
 msgstr ""
 
-#: plugins/admin/departments/class_domain.inc:81
-#: plugins/admin/departments/class_domain.inc:82
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_dcObject.inc:81
-#: plugins/admin/departments/class_dcObject.inc:82
-msgid "Domain Component"
+#: plugins/personal/posix/class_posixAccount.inc:153
+msgid "password expired"
 msgstr ""
 
-#: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:657
-#: plugins/admin/departments/class_department.inc:662
-msgid "Departments"
-msgstr "Departamentos"
+#: plugins/personal/posix/class_posixAccount.inc:226
+msgid "automatic"
+msgstr "automático"
 
-#: plugins/admin/departments/class_departmentManagement.inc:26
-msgid "Manage Departments"
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr "Samba"
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr "Ambiente"
+
+#: plugins/personal/posix/class_posixAccount.inc:374
+#, php-format
+msgid "Password can't be changed up to %s days after last change"
+msgstr "A senha não pode ser alterada até %s dias após a última troca"
+
+#: plugins/personal/posix/class_posixAccount.inc:378
+#, php-format
+msgid "Password must be changed after %s days"
+msgstr "A senha deve ser alterada após %s dias"
+
+#: plugins/personal/posix/class_posixAccount.inc:382
+#, php-format
+msgid "Disable account after %s days of inactivity after password expiry"
 msgstr ""
 
-#: plugins/admin/departments/class_departmentManagement.inc:122
-msgid ""
-"As soon as the tag operation has finished, you can scroll down to end of the "
-"page and    press the 'Continue' button to continue with the department "
-"management dialog."
+#: plugins/personal/posix/class_posixAccount.inc:386
+#, php-format
+msgid "Warn user %s days before password expiry"
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:122
-msgid "Organization name"
+#: plugins/personal/posix/class_posixAccount.inc:651
+msgid "Timeout while waiting for lock. Ignoring lock!"
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:131
-#: plugins/personal/generic/class_user.inc:1709
-msgid "Postal address"
-msgstr "Caixa postal"
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
+msgid "Group of user"
+msgstr "Grupo do usuário"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:132
-msgid "Phone number"
+#: plugins/personal/posix/class_posixAccount.inc:774
+msgid ""
+"A duplicated UID number was written for this user. If this was not intended "
+"please verify all used uidNumbers!"
 msgstr ""
 
-#: plugins/admin/departments/class_countryGeneric.inc:91
-#: plugins/admin/departments/country.tpl:11
-msgid "Country name"
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
+msgid "shadowMin"
 msgstr ""
 
-#: plugins/admin/departments/domain.tpl:11
-#, fuzzy
-msgid "Domain name"
-msgstr "Administradores do domínio"
-
-#: plugins/admin/departments/domain.tpl:14
-msgid "Name of domain to create"
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
+msgid "shadowMax"
 msgstr ""
 
-#: plugins/admin/departments/country.tpl:14
-msgid "Name of country to create"
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
+msgid "shadowWarning"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:433
-msgid "Cannot find an unused tag for this administrative unit!"
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
+msgid "shadowInactive"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:504
-#, php-format
-msgid "Tagging '%s'."
+#: plugins/personal/posix/class_posixAccount.inc:1293
+msgid "POSIX account"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:585
-#, php-format
-msgid "Moving '%s' to '%s'"
+#: plugins/personal/posix/class_posixAccount.inc:1311
+msgid "Group ID"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:626
-#, php-format
-msgid "FAILED to copy %s, aborting operation"
+#: plugins/personal/posix/class_posixAccount.inc:1313
+msgid "Shadow last changed"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:665
-msgid "Department name"
-msgstr "Nome do departamento"
+#: plugins/personal/posix/class_posixAccount.inc:1314
+#, fuzzy
+msgid "Last login"
+msgstr "Login"
 
-#: plugins/admin/departments/class_department.inc:673
-msgid "Telephone"
+#: plugins/personal/posix/class_posixAccount.inc:1316
+msgid "Force password change on login"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:728
-#, php-format
-msgid "Object '%s' is already tagged"
+#: plugins/personal/posix/class_posixAccount.inc:1317
+msgid "Shadow min"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:735
-#, php-format
-msgid "Adding tag (%s) to object '%s'"
+#: plugins/personal/posix/class_posixAccount.inc:1318
+msgid "Shadow max"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:767
-#, php-format
-msgid "Removing tag from object '%s'"
+#: plugins/personal/posix/class_posixAccount.inc:1319
+msgid "Shadow warning"
 msgstr ""
 
-#: plugins/admin/departments/dep_iframe.tpl:1
-msgid "Processing the requested operation"
+#: plugins/personal/posix/class_posixAccount.inc:1320
+msgid "Shadow inactive"
 msgstr ""
 
-#: plugins/admin/departments/dep_iframe.tpl:7
-msgid ""
-"Your browser doesn't support iframes, please use this link to perform the "
-"requested operation."
+#: plugins/personal/posix/class_posixAccount.inc:1321
+msgid "Shadow expire"
 msgstr ""
 
-#: plugins/admin/departments/organization.tpl:11
-msgid "Name of organization"
+#: plugins/personal/posix/class_posixAccount.inc:1322
+msgid "Public SSH key"
 msgstr ""
 
-#: plugins/admin/departments/organization.tpl:14
-msgid "Name of organization to create"
+#: plugins/personal/posix/class_posixAccount.inc:1323
+msgid "System trust model"
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-msgid "You are currently moving/renaming this department."
-msgstr ""
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr "desabilitado"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:5
-msgid ""
-"Modifying a departments naming attribute 'ou' or base may corrupt acls and "
-"snapshot entries for all entire objects."
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr "acesso completo"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr "permitir acesso a estas máquinas"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr "Sistema de confiança"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
+msgid "Trust mode"
+msgstr "Modo de confiança"
+
+#: plugins/personal/password/password.tpl:10
+msgid "Your Password has expired. Please choose a new password."
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:8
-msgid "GOsa can NOT fix this for you, yet."
+#: plugins/personal/password/class_password.inc:27
+msgid "Change user password"
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:11
+#: plugins/personal/password/class_password.inc:156
 msgid ""
-"Before you confirm this action, ensure that everything will be as expected, "
-"possibly the best solution is a backup."
-msgstr ""
+"The password you've entered as your current password doesn't match the real "
+"one."
+msgstr "A senha digitada não confere com a senha atual."
 
-#: plugins/admin/acl/class_aclManagement.inc:25
-#: plugins/admin/acl/acl-list.xml:15
-msgid "Acl"
+#: plugins/personal/password/class_password.inc:159
+msgid "You have no permission to change your password."
 msgstr ""
 
-#: plugins/admin/acl/class_aclManagement.inc:154
-msgid "ACL Assignment"
+#: plugins/personal/password/class_password.inc:223
+msgid "User password"
 msgstr ""
 
-#: plugins/admin/acl/tabs_acl_role.inc:28
-msgid "ACL Templates"
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:26
-#: plugins/admin/acl/class_aclRole.inc:726
-msgid "Access control roles"
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:27
-msgid "Edit AC roles"
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:134
-msgid "Reset ACL"
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:418
-msgid "No ACL settings for this category"
-msgstr ""
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr "Certificados"
 
-#: plugins/admin/acl/class_aclRole.inc:420
-#, php-format
-msgid "ACL for these objects: %s"
-msgstr ""
+#: plugins/personal/generic/generic_certs.tpl:5
+#, fuzzy
+msgid "The users standard certificate"
+msgstr "Certificado padrão"
 
-#: plugins/admin/acl/class_aclRole.inc:426
-msgid "Edit category ACL"
-msgstr ""
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr "Certificado padrão"
 
-#: plugins/admin/acl/class_aclRole.inc:430
-msgid "Reset category ACL"
-msgstr ""
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr "Remover"
 
-#: plugins/admin/acl/class_aclRole.inc:450
-#, php-format
-msgid "Edit ACL for '%s', scope is '%s'"
-msgstr ""
+#: plugins/personal/generic/generic_certs.tpl:31
+#, fuzzy
+msgid "The users S/MIME certificate"
+msgstr "Certificado S/MIME"
+
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr "Certificado S/MIME"
+
+#: plugins/personal/generic/generic_certs.tpl:57
+#, fuzzy
+msgid "The users PKCS12 certificate"
+msgstr "Certificado PKCS12"
+
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr "Certificado PKCS12"
+
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr "Número serial do certificado"
 
-#: plugins/admin/acl/class_aclRole.inc:646
-msgid "Object in use"
-msgstr ""
+#: plugins/personal/generic/paste_generic.tpl:3
+#, fuzzy
+msgid "Paste user"
+msgstr "Colar"
 
-#: plugins/admin/acl/class_aclRole.inc:646
-#, php-format
-msgid "This role cannot be removed while it is in use by these objects:"
-msgstr ""
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr "Informação pessoal"
 
-#: plugins/admin/acl/class_aclRole.inc:725 plugins/admin/acl/acl-list.xml:23
-#: plugins/admin/acl/acl-list.xml:82
-#: plugins/personal/generic/class_user.inc:1664
-#: plugins/personal/generic/generic.tpl:508
-msgid "Role"
-msgstr "Papel"
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
+msgid "Last name"
+msgstr "Último nome"
 
-#: plugins/admin/acl/class_aclRole.inc:736
-msgid "Permissions"
-msgstr ""
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
+msgid "First name"
+msgstr "Primeiro nome"
 
-#: plugins/admin/acl/acl-list.xml:11
-msgid "List of acls"
-msgstr ""
+#: plugins/personal/generic/paste_generic.tpl:24
+msgid "Clear password"
+msgstr "Senha limpa"
 
-#: plugins/admin/acl/acl-filter.tpl:11
-#, fuzzy
-msgid "Show access control lists"
-msgstr "Lista de controle de acesso"
+#: plugins/personal/generic/paste_generic.tpl:25
+msgid "Set new password"
+msgstr "Definir nova senha"
 
-#: plugins/admin/acl/acl-filter.tpl:12
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
 #, fuzzy
-msgid "Show roles"
-msgstr "Modelos"
-
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:25
-msgid "Bug submitter"
-msgstr ""
+msgid "The users picture"
+msgstr "Foto do usuário"
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:26
-msgid ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
-msgstr ""
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
+msgstr "Remover foto"
 
 #: plugins/personal/generic/class_user.inc:38
 msgid "Edit organizational user settings"
 msgstr ""
 
 #: plugins/personal/generic/class_user.inc:297
-msgid "Please add a single IP address or a network/netmask combination!"
+msgid "Please add a single IP address or a network/net mask combination!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:340
+#: plugins/personal/generic/class_user.inc:339
 msgid "female"
 msgstr "feminino"
 
-#: plugins/personal/generic/class_user.inc:340
+#: plugins/personal/generic/class_user.inc:339
 msgid "male"
 msgstr "masculino"
 
-#: plugins/personal/generic/class_user.inc:408
+#: plugins/personal/generic/class_user.inc:395
+#, fuzzy
+msgid "Password configuration"
+msgstr "Configuração"
+
+#: plugins/personal/generic/class_user.inc:429
 msgid "Cannot upload file!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:503
+#: plugins/personal/generic/class_user.inc:522
 msgid "Serial number"
 msgstr "Número serial"
 
-#: plugins/personal/generic/class_user.inc:548
-msgid ""
-"(Some types of certificates are currently not supported and may be displayed "
-"as 'invalid'.)"
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
+msgid "User picture"
+msgstr "Foto do usuário"
+
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
 msgstr ""
-"(Alguns tipos de certificados não são suportados atualmente e podem ser "
-"exibidos como 'inválidos'.)"
 
-#: plugins/personal/generic/class_user.inc:558
+#: plugins/personal/generic/class_user.inc:579
 #, php-format
 msgid "Certificate is valid from %s to %s and is currently %s."
 msgstr "Certificado é válido de %s para %s e está atualmente %s."
 
-#: plugins/personal/generic/class_user.inc:561
+#: plugins/personal/generic/class_user.inc:582
 msgid "valid"
 msgstr "válido"
 
-#: plugins/personal/generic/class_user.inc:562
+#: plugins/personal/generic/class_user.inc:583
 msgid "invalid"
 msgstr "inválido"
 
-#: plugins/personal/generic/class_user.inc:567
+#: plugins/personal/generic/class_user.inc:588
 msgid "No certificate installed"
 msgstr "Nenhum certificado instalado"
 
-#: plugins/personal/generic/class_user.inc:593
+#: plugins/personal/generic/class_user.inc:614
 msgid "The selected password method is no longer available."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1190
+#: plugins/personal/generic/class_user.inc:1051
+msgid ""
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1177
 msgid "Cannot build RDN: no + allowed to build sub RDN!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1197
+#: plugins/personal/generic/class_user.inc:1184
 msgid "Cannot build RDN: attribute is not defined!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1215
+#: plugins/personal/generic/class_user.inc:1202
 msgid "Cannot build RDN: invalid attribute parameters!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1286
+#: plugins/personal/generic/class_user.inc:1273
 msgid "The selected password method requires initial configuration!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1351
-#: plugins/personal/generic/class_user.inc:1713
-#: plugins/personal/generic/class_user.inc:1816
-#: plugins/personal/generic/generic.tpl:199
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
 msgid "Homepage"
 msgstr "Página pessoal"
 
-#: plugins/personal/generic/class_user.inc:1362
-#: plugins/personal/generic/class_user.inc:1825
-#: plugins/personal/generic/generic.tpl:407
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
+msgstr "Fone"
+
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
+msgstr "Fax"
+
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
 msgid "Mobile"
 msgstr "Celular"
 
-#: plugins/personal/generic/class_user.inc:1365
-#: plugins/personal/generic/class_user.inc:1828
-#: plugins/personal/generic/generic.tpl:415
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
 msgid "Pager"
 msgstr "Pager"
 
-#: plugins/personal/generic/class_user.inc:1370
-#: plugins/personal/generic/class_user.inc:1685
-#: plugins/personal/generic/generic.tpl:119
-msgid "Date of birth"
-msgstr "Data de nascimento"
-
-#: plugins/personal/generic/class_user.inc:1485
+#: plugins/personal/generic/class_user.inc:1483
 msgid "Cannot open certificate!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1653
-#: plugins/personal/generic/generic.tpl:531
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
 msgid "Unit"
 msgstr "Unidade"
 
-#: plugins/personal/generic/class_user.inc:1654
-#: plugins/personal/generic/generic.tpl:556
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
 msgid "House identifier"
 msgstr "Identificação da residência"
 
-#: plugins/personal/generic/class_user.inc:1655
-#: plugins/personal/generic/generic.tpl:473
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
 msgid "Vocation"
 msgstr "Vocação"
 
-#: plugins/personal/generic/class_user.inc:1656
-#: plugins/personal/generic/generic.tpl:600
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
 msgid "Last delivery"
 msgstr "Última entrega"
 
-#: plugins/personal/generic/class_user.inc:1657
-#: plugins/personal/generic/generic.tpl:522
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
 msgid "Person locality"
 msgstr "Localização da pessoa"
 
-#: plugins/personal/generic/class_user.inc:1658
-#: plugins/personal/generic/generic.tpl:481
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
 msgid "Unit description"
 msgstr "Descrição da unidade"
 
-#: plugins/personal/generic/class_user.inc:1659
-#: plugins/personal/generic/generic.tpl:490
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
 msgid "Subject area"
 msgstr "Área de assunto"
 
-#: plugins/personal/generic/class_user.inc:1660
-#: plugins/personal/generic/generic.tpl:499
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
 msgid "Functional title"
 msgstr "Título funcional"
 
-#: plugins/personal/generic/class_user.inc:1661
-#: plugins/personal/generic/generic_certs.tpl:78
-msgid "Certificate serial number"
-msgstr "Número serial do certificado"
-
-#: plugins/personal/generic/class_user.inc:1662
-#: plugins/personal/generic/generic.tpl:609
-msgid "Public visible"
-msgstr "Visível publicamente"
-
-#: plugins/personal/generic/class_user.inc:1663
-#: plugins/personal/generic/generic.tpl:540
-msgid "Street"
-msgstr "Rua"
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
+msgstr "Papel"
 
-#: plugins/personal/generic/class_user.inc:1665
-#: plugins/personal/generic/generic.tpl:548
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
 msgid "Postal code"
 msgstr "CEP"
 
-#: plugins/personal/generic/class_user.inc:1669
+#: plugins/personal/generic/class_user.inc:1671
 msgid "Generic user settings"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1673
-#: plugins/personal/posix/class_posixAccount.inc:1455
-#: plugins/personal/password/class_password.inc:205
-msgid "My account"
-msgstr "Minha conta"
-
-#: plugins/personal/generic/class_user.inc:1681
-msgid "User identification"
+#: plugins/personal/generic/class_user.inc:1692
+msgid ""
+"Pattern for the generation of user DNs. Please read the FAQ for details."
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1682
-#: plugins/personal/generic/generic.tpl:98
-msgid "Personal title"
-msgstr "Título pessoal"
-
-#: plugins/personal/generic/class_user.inc:1683
-#: plugins/personal/generic/generic.tpl:108
-msgid "Academic title"
-msgstr "Título acadêmico"
+#: plugins/personal/generic/class_user.inc:1706
+#, fuzzy
+msgid "Allow definition of custom filters"
+msgstr "Lista de usuários"
 
-#: plugins/personal/generic/class_user.inc:1686
-#: plugins/personal/generic/generic.tpl:138
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
 msgid "Sex"
 msgstr "Sexo"
 
-#: plugins/personal/generic/class_user.inc:1687
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
 msgid "Preferred language"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1690
-#: plugins/personal/generic/paste_generic.tpl:47
-msgid "User picture"
-msgstr "Foto do usuário"
-
-#: plugins/personal/generic/class_user.inc:1692
+#: plugins/personal/generic/class_user.inc:1718
 #, fuzzy
 msgid "Login restrictions"
 msgstr "Estações de Trabalho"
 
-#: plugins/personal/generic/class_user.inc:1696
-msgid "Department number"
-msgstr ""
-
-#: plugins/personal/generic/class_user.inc:1698
-msgid "Employee number"
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
+msgstr "Departamento"
 
-#: plugins/personal/generic/class_user.inc:1699
-#: plugins/personal/generic/generic.tpl:331
-msgid "Employee type"
-msgstr "Tipo de empregado"
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
+#: plugins/admin/departments/class_domain.inc:93
+#: plugins/admin/departments/class_organizationGeneric.inc:127
+#: plugins/admin/departments/generic.tpl:51
+#: plugins/admin/departments/locality.tpl:39
+#: plugins/admin/departments/class_localityGeneric.inc:93
+#: plugins/admin/departments/class_dcObject.inc:92
+#: plugins/admin/departments/domain.tpl:39
+#, fuzzy
+msgid "Manager"
+msgstr "Pager"
 
-#: plugins/personal/generic/class_user.inc:1701
+#: plugins/personal/generic/class_user.inc:1727
 msgid "Room number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1702
-msgid "Telefon number"
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1728
+#, fuzzy
+msgid "Telephone number"
+msgstr "Número serial"
 
-#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1729
 msgid "Pager number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/class_user.inc:1730
 msgid "Mobile number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1705
+#: plugins/personal/generic/class_user.inc:1731
 msgid "Fax number"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1711
-msgid "Home postal address"
-msgstr "Caixa postal residencial"
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
+#: plugins/admin/departments/class_organizationGeneric.inc:129
+#: plugins/admin/departments/generic.tpl:87
+msgid "State"
+msgstr "Estado"
 
-#: plugins/personal/generic/class_user.inc:1712
-msgid "Home phone number"
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1735
+#: plugins/personal/generic/generic.tpl:183
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+msgid "Postal address"
+msgstr "Caixa postal"
 
-#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/class_user.inc:1740
 msgid "User password method"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1715
+#: plugins/personal/generic/class_user.inc:1741
 msgid "User certificates"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1923
+#: plugins/personal/generic/class_user.inc:1949
 #, fuzzy
 msgid "Entries differ"
 msgstr "Grupo do usuário"
 
-#: plugins/personal/generic/changed.tpl:3
-#: plugins/personal/password/changed.tpl:3
-msgid ""
-"You've successfully changed your password. Remember to change all programms "
-"configured to use it as well."
-msgstr ""
-"Sua senha foi alterada com sucesso. Lembre-se de alterar todos os programas "
-"que a usem."
-
-#: plugins/personal/generic/generic.tpl:6
-msgid "Personal information"
-msgstr "Informação pessoal"
-
-#: plugins/personal/generic/generic.tpl:20
-#: plugins/personal/generic/generic.tpl:22
-#: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/paste_generic.tpl:37
-#: plugins/personal/generic/generic_picture.tpl:5
-#: plugins/personal/generic/generic_picture.tpl:15
-msgid "Personal picture"
-msgstr "Foto pessoal"
-
-#: plugins/personal/generic/generic.tpl:29
-#: plugins/personal/generic/generic.tpl:40
+#: plugins/personal/generic/generic.tpl:21
 msgid "Change picture"
 msgstr "Alterar foto"
 
-#: plugins/personal/generic/generic.tpl:62
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
+msgstr ""
+
+#: plugins/personal/generic/generic.tpl:83
 msgid "Template name"
 msgstr "Nome modelo"
 
-#: plugins/personal/generic/generic.tpl:151
-msgid "Preferred langage"
-msgstr "Linguagem preferida"
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
+msgid "Address"
+msgstr "Endereço"
 
-#: plugins/personal/generic/generic.tpl:191
+#: plugins/personal/generic/generic.tpl:193
 msgid "Private phone"
 msgstr "Telefone privativo"
 
-#: plugins/personal/generic/generic.tpl:212
+#: plugins/personal/generic/generic.tpl:209
 msgid "Password storage"
 msgstr "Armazenamento da senha"
 
 #: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/generic_certs.tpl:3
-msgid "Certificates"
-msgstr "Certificados"
-
-#: plugins/personal/generic/generic.tpl:232
 msgid "Edit certificates"
 msgstr "Editar certificados"
 
-#: plugins/personal/generic/generic.tpl:244
+#: plugins/personal/generic/generic.tpl:241
 msgid "Restrict login to"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:250
-#: plugins/personal/generic/generic.tpl:266
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
 msgid "IP or network"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:287
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
 msgid "Organizational information"
 msgstr "Informação organizacional"
 
-#: plugins/personal/generic/generic.tpl:315
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "part"
+msgstr ""
+
+#: plugins/personal/generic/generic.tpl:314
 msgid "Department No."
 msgstr "Nº do departamento"
 
-#: plugins/personal/generic/generic.tpl:323
+#: plugins/personal/generic/generic.tpl:322
 msgid "Employee No."
 msgstr "Nº do empregado"
 
-#: plugins/personal/generic/generic.tpl:389
-#: plugins/personal/generic/generic.tpl:571
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
 msgid "Room No."
 msgstr "Nº da sala"
 
-#: plugins/personal/generic/generic.tpl:585
+#: plugins/personal/generic/generic.tpl:580
 msgid "Please use the phone tab"
 msgstr "Por favor, utilize a orelha telefone"
 
-#: plugins/personal/generic/paste_generic.tpl:1
-msgid "User settings"
-msgstr "Configurações do usuário"
-
-#: plugins/personal/generic/paste_generic.tpl:23
-msgid "Clear password"
-msgstr "Senha limpa"
-
-#: plugins/personal/generic/paste_generic.tpl:24
-msgid "Set new password"
-msgstr "Definir nova senha"
+#: plugins/addons/dyngroup/dyngroup.tpl:1
+#, fuzzy
+msgid "List of dynamic rules"
+msgstr "Lista dos departamentos"
 
-#: plugins/personal/generic/paste_generic.tpl:52
-#: plugins/personal/generic/generic_picture.tpl:27
-msgid "Remove picture"
-msgstr "Remover foto"
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
+msgstr ""
 
-#: plugins/personal/generic/main.inc:168
-msgid "Generic user information"
-msgstr "Informação geral do usuário"
+#: plugins/addons/dyngroup/dyngroup.tpl:6
+msgid "Scope"
+msgstr ""
 
-#: plugins/personal/generic/password.tpl:4
-#: plugins/personal/password/password.tpl:4
-msgid ""
-"To change your personal password use the fields below. The changes take "
-"effect immediately. Please memorize the new password, because you wouldn't "
-"be able to login without it."
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
+msgid "Attribute"
 msgstr ""
-"Para alterar sua senha pessoal, use os campos abaixo. As alterações terão "
-"efeito imediato. Por favor, memorize a nova senha porque você não será capaz "
-"de acessar o sistema sem ela."
 
-#: plugins/personal/generic/password.tpl:42
-#: plugins/personal/password/password.tpl:47
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
 #, fuzzy
-msgid "Password change dialog"
-msgstr "Senha alterada"
-
-#: plugins/personal/generic/password.tpl:90
-#: plugins/personal/password/password.tpl:95
-msgid "Clear fields"
-msgstr "Limpar campos"
+msgid "Filter"
+msgstr "Filtros"
 
-#: plugins/personal/generic/generic_certs.tpl:8
-msgid "Standard certificate"
-msgstr "Certificado padrão"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
+msgstr ""
 
-#: plugins/personal/generic/generic_certs.tpl:33
-msgid "S/MIME certificate"
-msgstr "Certificado S/MIME"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
+msgstr ""
 
-#: plugins/personal/generic/generic_certs.tpl:57
-msgid "PKCS12 certificate"
-msgstr "Certificado PKCS12"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
+#, php-format
+msgid "The given filter '%s' for entry %s seems to be invalid!"
+msgstr ""
 
-#: plugins/personal/generic/nochange.tpl:2
-#: plugins/personal/password/nochange.tpl:2
-msgid "You have no permission to change your password at this time"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
+msgid "Dynamic object"
 msgstr ""
 
-#: plugins/personal/generic/nochange.tpl:5
+#: plugins/addons/propertyEditor/property-filter.xml:15
 #, fuzzy
-msgid "Your password hash method will not be changed!"
-msgstr "Sua senha foi alterada com sucesso."
+msgid "Effective properties"
+msgstr "Editar propriedades gerais"
 
-#: plugins/personal/posix/class_posixAccount.inc:38
-msgid "Edit users POSIX settings"
-msgstr ""
+#: plugins/addons/propertyEditor/property-filter.xml:29
+#, fuzzy
+msgid "Modified properties"
+msgstr "Editar propriedades gerais"
 
-#: plugins/personal/posix/class_posixAccount.inc:168
-msgid "expired"
-msgstr "expirado"
+#: plugins/addons/propertyEditor/property-filter.xml:43
+#, fuzzy
+msgid "All properties"
+msgstr "Editar propriedades gerais"
 
-#: plugins/personal/posix/class_posixAccount.inc:170
-msgid "grace time active"
-msgstr ""
+#: plugins/addons/propertyEditor/property-filter.xml:57
+#, fuzzy
+msgid "LDAP properties"
+msgstr "Propriedades"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-#: plugins/personal/posix/class_posixAccount.inc:175
-#: plugins/personal/posix/class_posixAccount.inc:177
-msgid "active"
-msgstr "ativo"
+#: plugins/addons/propertyEditor/property-filter.xml:71
+#, fuzzy
+msgid "Search for property groups"
+msgstr "Grupo primário"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-msgid "password not changeable"
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:175
-msgid "password expired"
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Migration steps left"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:248
-msgid "automatic"
-msgstr "automático"
-
-#: plugins/personal/posix/class_posixAccount.inc:444
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
 #, php-format
-msgid "Password can't be changed up to %s days after last change"
-msgstr "A senha não pode ser alterada até %s dias após a última troca"
+msgid "Migration of property '%s'"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:448
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
 #, php-format
-msgid "Password must be changed after %s days"
-msgstr "A senha deve ser alterada após %s dias"
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
+msgstr ""
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
+#, fuzzy
+msgid "Objects that will be added"
+msgstr "Esse objeto será apagado!"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+msgid "Objects that will be moved"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:452
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
 #, php-format
-msgid "Disable account after %s days of inactivity after password expiry"
+msgid "Moving object '%s' to '%s'"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:456
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
 #, php-format
-msgid "Warn user %s days before password expiry"
+msgid "Migration failed for object %s: DN already exists!"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:793
-msgid "Timeout while waiting for lock. Ignoring lock!"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
+#, php-format
+msgid "Migration failed for object %s: please check if it already exists!"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:851
-#: plugins/personal/posix/class_posixAccount.inc:1169
-msgid "Group of user"
-msgstr "Grupo do usuário"
+#: plugins/addons/propertyEditor/property-list.tpl:3
+#, fuzzy
+msgid "Warning message"
+msgstr "Atenção"
 
-#: plugins/personal/posix/class_posixAccount.inc:946
+#: plugins/addons/propertyEditor/property-list.tpl:9
 msgid ""
-"A duplicated UID number was written for this user. If this was not intended "
-"please verify all used uidNumbers!"
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1027
-#: plugins/personal/posix/class_posixAccount.inc:1030
-#: plugins/personal/posix/class_posixAccount.inc:1105
-#: plugins/personal/posix/class_posixAccount.inc:1108
-#: plugins/personal/posix/class_posixAccount.inc:1461
-#: plugins/personal/posix/generic.tpl:7
-#: plugins/personal/posix/paste_generic.tpl:8
-msgid "Home directory"
-msgstr "Diretório pessoal"
-
-#: plugins/personal/posix/class_posixAccount.inc:1038
-#: plugins/personal/posix/class_posixAccount.inc:1041
-#: plugins/personal/posix/generic.tpl:63
-#: plugins/personal/posix/paste_generic.tpl:36
-msgid "UID"
-msgstr "UID"
-
-#: plugins/personal/posix/class_posixAccount.inc:1061
-#: plugins/personal/posix/class_posixAccount.inc:1114
-msgid "shadowMin"
+#: plugins/addons/propertyEditor/property-list.tpl:10
+msgid ""
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1066
-#: plugins/personal/posix/class_posixAccount.inc:1119
-msgid "shadowMax"
+#: plugins/addons/propertyEditor/property-list.tpl:14
+msgid ""
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1071
-#: plugins/personal/posix/class_posixAccount.inc:1124
-msgid "shadowWarning"
+#: plugins/addons/propertyEditor/property-list.tpl:22
+msgid ""
+"I understand that there are certain risks, but I want to modify properties!"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1085
-#: plugins/personal/posix/class_posixAccount.inc:1138
-msgid "shadowInactive"
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
-msgid "POSIX account"
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
-#: plugins/personal/posix/generic.tpl:15
-msgid "Shell"
-msgstr "Shell"
-
-#: plugins/personal/posix/class_posixAccount.inc:1463
-#: setup/setup_migrate.tpl:291
-msgid "User ID"
-msgstr "ID do usuário"
-
-#: plugins/personal/posix/class_posixAccount.inc:1464
-msgid "Group ID"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
+msgid "Command verifier"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1466
-msgid "Force password change on login"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
+msgid ""
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1467
-msgid "Shadow min"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
+msgid ""
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1468
-msgid "Shadow max"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1469
-msgid "Shadow warning"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
+msgid "Test"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1470
-msgid "Shadow inactive"
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1471
-msgid "Shadow expire"
-msgstr ""
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
+#, fuzzy
+msgid "Preferences"
+msgstr "Referências"
 
-#: plugins/personal/posix/class_posixAccount.inc:1472
-msgid "Public SSH key"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
+msgid ""
+"Configure global and special GOsa settings like hooks and plug-in parameters"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1473
-msgid "System trust model"
-msgstr ""
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
+#, fuzzy
+msgid "No description"
+msgstr "Descrição"
 
-#: plugins/personal/posix/generic.tpl:25
-#: plugins/personal/posix/paste_generic.tpl:17
-msgid "Primary group"
-msgstr "Grupo primário"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:36
-msgid "Status"
-msgstr "Estatus"
+#: plugins/addons/propertyEditor/property-list.xml:11
+#, fuzzy
+msgid "List of configuration settings"
+msgstr "Configurações do usuário"
 
-#: plugins/personal/posix/generic.tpl:41
-msgid "Last logon"
-msgstr ""
+#: plugins/addons/propertyEditor/property-list.xml:15
+#, fuzzy
+msgid "Property not used"
+msgstr "Grupo do usuário"
 
-#: plugins/personal/posix/generic.tpl:59
-#: plugins/personal/posix/paste_generic.tpl:31
-msgid "Force UID/GID"
-msgstr "Forçar UID/GID"
+#: plugins/addons/propertyEditor/property-list.xml:23
+#, fuzzy
+msgid "Property will be restored"
+msgstr "Esse objeto será apagado!"
 
-#: plugins/personal/posix/generic.tpl:89
-#: plugins/personal/posix/paste_generic.tpl:55
-msgid "Group membership"
-msgstr "Membros do grupo"
+#: plugins/addons/propertyEditor/property-list.xml:31
+msgid "Modified property"
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:91
-#: plugins/personal/posix/paste_generic.tpl:62
-msgid "(Warning: more than 16 groups are not supported by NFS!)"
-msgstr "(Atenção: mais do que 16 grupos não são suportados pelo NFS!)"
+#: plugins/addons/propertyEditor/property-list.xml:39
+msgid "Property configured in LDAP"
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:100
-msgid "Common group"
+#: plugins/addons/propertyEditor/property-list.xml:47
+msgid "Property configured in config file"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:104
+#: plugins/addons/propertyEditor/property-list.xml:80
 #, fuzzy
-msgid "Groups differ"
-msgstr "Grupo do usuário"
+msgid "Class"
+msgstr "Fechar"
 
-#: plugins/personal/posix/generic.tpl:127
-msgid "SSH keys"
-msgstr ""
+#: plugins/addons/propertyEditor/property-list.xml:88
+#, fuzzy
+msgid "Value"
+msgstr "masculino"
 
-#: plugins/personal/posix/generic.tpl:128
-msgid "Edit public ssh keys..."
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:132
-msgid "Account"
-msgstr "Conta"
-
-#: plugins/personal/posix/posix_groups.tpl:6
-msgid "Select groups to add"
-msgstr "Selecione grupos para adicionar"
+#: plugins/admin/groups/paste_generic.tpl:1
+msgid "Group settings"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:32
-msgid "Display groups of department"
-msgstr "Exibir grupos do departamento"
+#: plugins/admin/groups/paste_generic.tpl:2
+#, fuzzy
+msgid "Paste group settings"
+msgstr "Configurações do usuário"
 
-#: plugins/personal/posix/posix_groups.tpl:44
-msgid "Display groups matching"
-msgstr "Exibir grupos combinados"
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
+msgstr "Nome do grupo"
 
-#: plugins/personal/posix/posix_groups.tpl:48
-msgid "Regular expression for matching group names"
-msgstr "Expressão regular para combinação de nomes de grupos"
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
+msgid "POSIX name of the group"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:55
-msgid "Display groups of user"
-msgstr "Exibir grupos de usuários"
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
+msgid "Normally IDs are auto-generated, select to specify manually"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:59
-msgid "User name of which groups are shown"
-msgstr "Nome do usuário dos grupos exibidos"
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
+msgstr "Forçar GID"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:11
-#, fuzzy
-msgid "Show servers"
-msgstr "Servidores"
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr ""
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:12
-#, fuzzy
-msgid "Show workstations"
-msgstr "Estações de Trabalho"
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
+msgstr "Usuário"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:13
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
 #, fuzzy
-msgid "Show terminals"
-msgstr "Terminais"
-
-#: plugins/personal/posix/paste_generic.tpl:4
-msgid "Posix settings"
-msgstr "Configurações Posix"
+msgid "User selection"
+msgstr "Administração de grupos"
 
-#: plugins/personal/posix/main.inc:142
-msgid "POSIX settings"
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Cannot find group SID in your configuration!"
 msgstr ""
 
-#: plugins/personal/posix/posix_shadow.tpl:9
-msgid "User must change password on first login"
-msgstr "O usuário deve alterar sua senha no primeiro acesso"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
+msgstr "Grupo samba"
 
-#: plugins/personal/posix/posix_shadow.tpl:34
-msgid "Password expires on"
-msgstr "Senha expira em"
+#: plugins/admin/groups/class_group.inc:310
+#, fuzzy
+msgid "Domain administrators"
+msgstr "Administradores do domínio"
 
-#: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
-msgid "Password settings"
-msgstr "Configurações de senha"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
+msgstr "Usuários do domínio"
 
-#: plugins/personal/password/password.tpl:14
-msgid "Your Password has expired. Please choose a new password!"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
+msgstr "Convidados do domínio"
 
-#: plugins/personal/password/class_password.inc:27
-msgid "Change user password"
+#: plugins/admin/groups/class_group.inc:316
+#, php-format
+msgid "Special group (%d)"
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:129
-msgid "You need to specify your current password in order to proceed."
-msgstr "Você precisa especificar sua senha atual para continuar."
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:135
-msgid "The password you've entered as 'New password' is empty."
-msgstr "O campo 'Nova senha' esta vazio."
+#: plugins/admin/groups/class_group.inc:470
+#, php-format
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:144
+#: plugins/admin/groups/class_group.inc:753
 #, php-format
-msgid "External password changer reported a problem: %s."
+msgid "Cannot find any SID for '%s'!"
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:158
-msgid ""
-"The password you've entered as your current password doesn't match the real "
-"one."
-msgstr "A senha digitada não confere com a senha atual."
+#: plugins/admin/groups/class_group.inc:758
+#, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:164
-msgid "You have no permission to change your password."
+#: plugins/admin/groups/class_group.inc:852
+#, php-format
+msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: plugins/personal/password/class_password.inc:201
-msgid "User password"
+#: plugins/admin/groups/class_group.inc:1036
+msgid "Generic group settings"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:92
-msgid "UNIX accounts/groups"
+#: plugins/admin/groups/class_group.inc:1049
+#, fuzzy
+msgid "RDN for object group storage."
+msgstr "Lista dos grupos"
+
+#: plugins/admin/groups/class_group.inc:1063
+msgid "Samba group type"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:94
-msgid "Samba management"
+#: plugins/admin/groups/class_group.inc:1064
+msgid "Samba domain name"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:96
-msgid "Mailsystem management"
+#: plugins/admin/groups/class_group.inc:1066
+msgid "Phone pickup group"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:98
-msgid "FAX system administration"
+#: plugins/admin/groups/class_group.inc:1067
+msgid "Nagios group"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:100
-msgid "Asterisk administration"
+#: plugins/admin/groups/class_group.inc:1069
+msgid "Group member"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:102
-msgid "System inventory"
+#: plugins/admin/groups/class_groupManagement.inc:26
+msgid ""
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:104
-msgid "System-/Configmanagement"
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
+msgid "Infrastructure error"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:106
-msgid "Addressbook"
-msgstr "Catálogo de Endereços"
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
+#, fuzzy
+msgid "Edit POSIX properties"
+msgstr "Editar propriedades UNIX"
 
-#: setup/class_setupStep_Feedback.inc:112
-msgid "Feedback"
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
+msgid "Edit mail properties"
+msgstr "Editar propriedades de correio"
+
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
+msgid "Edit samba properties"
+msgstr "Editar propriedades do samba"
+
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
+msgid "Edit phone properties"
+msgstr "Editar propriedades de telefone"
+
+#: plugins/admin/groups/class_groupManagement.inc:189
+msgid "Menu"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:113
-msgid "Get notifications or send feedback"
+#: plugins/admin/groups/class_groupManagement.inc:190
+#, fuzzy
+msgid "Edit start menu properties"
+msgstr "Editar propriedades do samba"
+
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
+msgid "Edit environment properties"
+msgstr "Editar propriedades de ambiente"
+
+#: plugins/admin/groups/group-filter.xml:31
+#, fuzzy
+msgid "Default filter2"
+msgstr "Impressora"
+
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:114
-msgid "Notification and feedback"
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+msgid "Select to create a samba conform group"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:131 setup/class_setup.inc:77
-msgid "Setup error"
-msgstr ""
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
+msgstr "no domínio"
+
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
+msgstr "Membros estão no grupo phone pickup"
+
+#: plugins/admin/groups/generic.tpl:146
+#, fuzzy
+msgid "Members are in a Nagios group"
+msgstr "Membros estão no grupo phone pickup"
+
+#: plugins/admin/groups/generic.tpl:174
+#, fuzzy
+msgid "Common group members"
+msgstr "Membros do grupo"
+
+#: plugins/admin/groups/generic.tpl:183
+#, fuzzy
+msgid "Partial group members"
+msgstr "Membros do grupo"
+
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
+msgstr "Membros do grupo"
+
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
+msgstr "Lista dos grupos"
+
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
+msgstr "Propriedades"
+
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
+msgstr "Editar"
 
-#: setup/class_setupStep_Feedback.inc:140
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Feedback error"
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
+msgid "Send message"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:140
-#, php-format
-msgid "Cannot send feedback to '%s': %s"
-msgstr ""
+#: plugins/admin/groups/group-list.xml:138
+#, fuzzy
+msgid "Edit group"
+msgstr "Lista dos grupos"
 
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Cannot send feedback: service temporarily unavailable"
-msgstr ""
+#: plugins/admin/groups/group-list.xml:151
+#, fuzzy
+msgid "Remove group"
+msgstr "Remover foto"
 
-#: setup/class_setupStep_Feedback.inc:181
-msgid "Please specify a valid email address."
-msgstr ""
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
+#, fuzzy
+msgid "User and group selection"
+msgstr "Administração de grupos"
 
-#: setup/class_setupStep_Feedback.inc:185
-msgid ""
-"You have to select at least one of both options, subscribe or send feedback."
-msgstr ""
+#: plugins/admin/ogroups/ogroup-list.xml:11
+#, fuzzy
+msgid "List of object groups"
+msgstr "Lista dos grupos"
 
-#: setup/class_setup.inc:197
-msgid "Completed"
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
 msgstr ""
 
-#: setup/class_setup.inc:267 setup/setup_migrate.tpl:272
-msgid "Next"
-msgstr ""
+#: plugins/admin/ogroups/ogroup-list.xml:142
+#, fuzzy
+msgid "Edit object group"
+msgstr "Lista dos grupos"
 
-#: setup/setup_config2.tpl:2
-msgid "Samba settings"
-msgstr "Configurações samba"
+#: plugins/admin/ogroups/ogroup-list.xml:155
+#, fuzzy
+msgid "Remove object group"
+msgstr "Remover foto"
 
-#: setup/setup_config2.tpl:6
-msgid "Samba hash generator"
-msgstr ""
+#: plugins/admin/ogroups/paste_generic.tpl:1
+#, fuzzy
+msgid "Paste object group"
+msgstr "Lista dos grupos"
 
-#: setup/setup_config2.tpl:15
-msgid "Samba SID"
+#: plugins/admin/ogroups/paste_generic.tpl:7
+msgid "Please enter the new object group name"
 msgstr ""
 
-#: setup/setup_config2.tpl:31
-msgid "RID base"
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
 msgstr ""
 
-#: setup/setup_config2.tpl:46
-msgid "Workstation container"
-msgstr ""
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
+msgstr "Impressora"
 
-#: setup/setup_config2.tpl:61
-msgid "Samba SID mapping"
-msgstr ""
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
+#, fuzzy
+msgid "Object selection"
+msgstr "Administração de grupos"
 
-#: setup/setup_config2.tpl:71
-msgid "Timezone"
-msgstr ""
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
+msgid "Phone queue"
+msgstr "Fila de Telefone"
 
-#: setup/setup_config2.tpl:74
-msgid "Please choose your preferred timezone here"
-msgstr ""
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
+#, fuzzy
+msgid "Groupware"
+msgstr "Nome do grupo"
 
-#: setup/setup_config2.tpl:96
-msgid "Additional GOsa settings"
-msgstr ""
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
+#, fuzzy
+msgid "System settings"
+msgstr "Configurações do usuário"
 
-#: setup/setup_config2.tpl:100
-msgid "Enable Copy & Paste"
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
+msgid "Recipe"
 msgstr ""
 
-#: setup/setup_config2.tpl:112
-msgid "Government mode"
-msgstr ""
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
+msgstr "Dispositivos"
 
-#: setup/setup_config2.tpl:123
-msgid "GOsa logging"
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
+msgid "Deployment summary"
 msgstr ""
 
-#: setup/setup_config2.tpl:135
-msgid "Mail settings"
-msgstr "Configurações de Correio"
-
-#: setup/setup_config2.tpl:139
-msgid "Mail method"
-msgstr "Método de correio"
-
-#: setup/setup_config2.tpl:155
-msgid "Account identification attribute"
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
 msgstr ""
 
-#: setup/setup_config2.tpl:169
-msgid "Vacation templates"
-msgstr ""
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
+msgstr "Aplicações"
 
-#: setup/setup_config2.tpl:185
-msgid "Use Cyrus UNIX style"
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
 msgstr ""
 
-#: setup/setup_config2.tpl:195
-msgid "Snapshots / Undo"
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
 msgstr ""
 
-#: setup/setup_config2.tpl:204 setup/setup_config2.tpl:249
-msgid "Enable snapshots"
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: setup/setup_config2.tpl:210 setup/setup_config2.tpl:255
-msgid "Snapshot base"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
+msgstr "nenhum"
 
-#: setup/setup_frame.tpl:12
-msgid "GOsa setup wizard"
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
 msgstr ""
 
-#: setup/setup_frame.tpl:19
-msgid "Installation"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
+msgstr "Usuários"
 
-#: setup/setup_frame.tpl:19
-msgid "Setup"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
+msgstr "Grupos"
 
-#: setup/setup_migrate.tpl:5
-msgid ""
-"During the LDAP inspection, we're going to check for several common pitfalls "
-"that may occur when migration to GOsa base LDAP administration. You may want "
-"to fix the problems below, in order to provide smooth services."
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
+msgstr "Aplicações"
 
-#: setup/setup_migrate.tpl:33
-msgid "Check again"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
+msgstr "Departamentos"
 
-#: setup/setup_migrate.tpl:37
-msgid "Add required object classes to the LDAP base"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
+msgstr "Servidores"
 
-#: setup/setup_migrate.tpl:39 setup/setup_migrate.tpl:244
-#: setup/setup_migrate.tpl:344 setup/setup_migrate.tpl:398
-#: setup/setup_migrate.tpl:453 setup/setup_migrate.tpl:496
-#: setup/setup_migrate.tpl:540
-msgid "Current"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
+msgstr "Estações de Trabalho"
 
-#: setup/setup_migrate.tpl:46 setup/setup_migrate.tpl:248
-#: setup/setup_migrate.tpl:351 setup/setup_migrate.tpl:405
-#: setup/setup_migrate.tpl:457 setup/setup_migrate.tpl:500
-#: setup/setup_migrate.tpl:544
-msgid "After migration"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:328
+#, fuzzy
+msgid "Windows workstations"
+msgstr "Estações de Trabalho"
 
-#: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:664 setup/class_setupStep_Migrate.inc:806
-#: setup/class_setupStep_Migrate.inc:1035
-#: setup/class_setupStep_Migrate.inc:2133
-#: setup/class_setupStep_Migrate.inc:2576
-#: setup/class_setupStep_Migrate.inc:2730
-#: setup/class_setupStep_Migrate.inc:3060
-msgid "Migrate"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
+msgstr "Terminais"
 
-#: setup/setup_migrate.tpl:60 setup/setup_migrate.tpl:107
-msgid "Close"
-msgstr "Fechar"
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
+msgstr "Telefones"
 
-#: setup/setup_migrate.tpl:65
-msgid "Move windows workstations into a valid windows workstation department"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
+msgstr "Impressoras"
 
-#: setup/setup_migrate.tpl:67
-msgid ""
-"This dialog allows you to move the displayed windows workstations into a "
-"valid department"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:533
+#, fuzzy
+msgid "Non existing DN:"
+msgstr "Dn não existente:"
 
-#: setup/setup_migrate.tpl:69
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
 msgid ""
-"Be careful with this tool, there may be references pointing to this "
-"workstations that can't be migrated."
+"These systems are already configured by other object groups and cannot be "
+"added:"
 msgstr ""
 
-#: setup/setup_migrate.tpl:95
-msgid "Move selected windows workstations into the following GOsa department"
+#: plugins/admin/ogroups/class_ogroup.inc:685
+msgid "You can combine two different object types at maximum, only!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:100
-msgid "Move selected workstations"
+#: plugins/admin/ogroups/class_ogroup.inc:849
+msgid "Object group generic"
 msgstr ""
 
-#: setup/setup_migrate.tpl:101
-msgid "What will be done here"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
+msgstr "Grupos de objeto"
 
-#: setup/setup_migrate.tpl:113
-msgid "Move groups into configured group tree"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
 msgstr ""
 
-#: setup/setup_migrate.tpl:116
-msgid ""
-"This dialog allows moving a couple of groups to the configured group tree. "
-"Doing this may straighten your LDAP service."
-msgstr ""
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+msgid "Templates"
+msgstr "Modelos"
 
-#: setup/setup_migrate.tpl:119
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"groups. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
-msgstr ""
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
+msgstr "Aplicação"
 
-#: setup/setup_migrate.tpl:122
-msgid "Move selected groups into this group tree"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+msgid "Windows Install"
 msgstr ""
 
-#: setup/setup_migrate.tpl:153 setup/setup_migrate.tpl:205
-#: setup/setup_migrate.tpl:254 setup/setup_migrate.tpl:372
-#: setup/setup_migrate.tpl:425 setup/setup_migrate.tpl:469
-#: setup/setup_migrate.tpl:512 setup/setup_migrate.tpl:556
-msgid "Hide changes"
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
+msgid "ACL Templates"
 msgstr ""
 
-#: setup/setup_migrate.tpl:155 setup/setup_migrate.tpl:207
-#: setup/setup_migrate.tpl:237 setup/setup_migrate.tpl:374
-#: setup/setup_migrate.tpl:427 setup/setup_migrate.tpl:472
-#: setup/setup_migrate.tpl:515 setup/setup_migrate.tpl:559
-msgid "Show changes"
-msgstr ""
+#: plugins/admin/acl/acl-list.xml:11
+#, fuzzy
+msgid "List of ACLs"
+msgstr "Lista de usuários"
 
-#: setup/setup_migrate.tpl:168
-msgid "Move users into configured user tree"
-msgstr ""
+#: plugins/admin/acl/paste_role.tpl:1
+#, fuzzy
+msgid "Paste ACL-role"
+msgstr "Regras de ACL"
 
-#: setup/setup_migrate.tpl:170
-msgid ""
-"This dialog allows moving a couple of users to the configured user tree. "
-"Doing this may straighten your LDAP service."
+#: plugins/admin/acl/acl-filter.xml:48
+#: plugins/admin/acl/class_aclManagement.inc:154
+msgid "ACL Assignment"
 msgstr ""
 
-#: setup/setup_migrate.tpl:173
+#: plugins/admin/acl/class_aclManagement.inc:26
 msgid ""
-"Be careful with this option! There may be references pointing to these "
-"users. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
-msgstr ""
-
-#: setup/setup_migrate.tpl:176
-msgid "Move selected users into this people tree"
+"Control access to GOsa managed objects down to attribute and action level"
 msgstr ""
 
-#: setup/setup_migrate.tpl:219
-msgid "Migrate GOsa 2.5 administrative accounts"
+#: plugins/admin/acl/class_aclRole.inc:26
+#: plugins/admin/acl/class_aclRole.inc:715
+msgid "Access control roles"
 msgstr ""
 
-#: setup/setup_migrate.tpl:221
-msgid ""
-"This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
-"useable accounts."
+#: plugins/admin/acl/class_aclRole.inc:27
+msgid "Edit AC roles"
 msgstr ""
 
-#: setup/setup_migrate.tpl:257 setup/setup_ldap.tpl:65
-msgid "Reload"
+#: plugins/admin/acl/class_aclRole.inc:138
+msgid "Reset ACL"
 msgstr ""
 
-#: setup/setup_migrate.tpl:273
-msgid "Abort"
+#: plugins/admin/acl/class_aclRole.inc:411
+msgid "No ACL settings for this category"
 msgstr ""
 
-#: setup/setup_migrate.tpl:275
-msgid "Create a new GOsa administrator account"
+#: plugins/admin/acl/class_aclRole.inc:413
+#, php-format
+msgid "ACL for these objects: %s"
 msgstr ""
 
-#: setup/setup_migrate.tpl:278
-msgid ""
-"This dialog will automatically add a new super administrator to your LDAP "
-"tree."
+#: plugins/admin/acl/class_aclRole.inc:418
+msgid "Edit category ACL"
 msgstr ""
 
-#: setup/setup_migrate.tpl:307
-msgid "Password (again)"
-msgstr ""
+#: plugins/admin/acl/class_aclRole.inc:421
+#, fuzzy
+msgid "Delete category ACL"
+msgstr "Categoria ACL"
 
-#: setup/setup_migrate.tpl:333
-msgid ""
-"The listed departments are currently invisible in the GOsa user interface. "
-"If you want to change this for a couple of entries, select them and use the "
-"migrate button below."
+#: plugins/admin/acl/class_aclRole.inc:442
+#, php-format
+msgid "Edit ACL for '%s', scope is '%s'"
 msgstr ""
 
-#: setup/setup_migrate.tpl:334 setup/setup_migrate.tpl:389
-#: setup/setup_migrate.tpl:445 setup/setup_migrate.tpl:489
-#: setup/setup_migrate.tpl:533
-msgid ""
-"If you want to know what will be done when migrating the selected entries, "
-"use the 'Show changes' button to see the LDIF."
+#: plugins/admin/acl/class_aclRole.inc:635
+msgid "Object in use"
 msgstr ""
 
-#: setup/setup_migrate.tpl:388
-msgid ""
-"The listed users are currently invisible in the GOsa user interface. If you "
-"want to change this for a couple of users, just select them and use the "
-"'Migrate' button below."
+#: plugins/admin/acl/class_aclRole.inc:635
+#, php-format
+msgid "This role cannot be removed while it is in use by these objects:"
 msgstr ""
 
-#: setup/setup_migrate.tpl:444
-msgid ""
-"The listed devices are currently invisible in the GOsa interface. If you "
-"want to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+#: plugins/admin/acl/class_aclRole.inc:731
+msgid "RDN for role storage."
 msgstr ""
 
-#: setup/setup_migrate.tpl:488
-msgid ""
-"The listed services are currently invalid for the GOsa version you are going "
-"to install. If you want to update a couple of service, just select them and "
-"use the 'Migrate' button below."
-msgstr ""
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
+#, fuzzy
+msgid "Domain component"
+msgstr "Administradores do domínio"
 
-#: setup/setup_migrate.tpl:532
-msgid ""
-"The listed menus are currently invisible in the GOsa interface. If you want "
-"to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
+msgid "Locality name"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:38
-msgid "Write configuration file"
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
+msgid "Name of locality to create"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:39
-msgid "Finish - write the configuration file"
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:104
-msgid ""
-"Your configuration file is currently world readable. Please update the file "
-"permissions!"
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
+msgid "Administrative settings"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:106
-msgid "The configuration is currently not readable or it does not exists."
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:115
-#, php-format
-msgid ""
-"After downloading and placing the file under %s, please make sure that the "
-"user the webserver is running with is able to read %s, while other users "
-"shouldn't. You may want to execute these commands to achieve this "
-"requirement:"
-msgstr ""
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
+msgstr "País"
 
-#: setup/class_setupStep_Checks.inc:38 setup/class_setupStep_Checks.inc:39
-msgid "Installation check"
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
+msgid "Locality"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:40
-msgid "Basic checks for PHP compatibility and extensions"
-msgstr ""
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
+#, fuzzy
+msgid "Domain"
+msgstr "no domínio"
 
-#: setup/class_setupStep_Checks.inc:64
-msgid "Checking PHP version"
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
+msgid "Country name"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:65
-#, php-format
-msgid "PHP must be of version %s or above."
+#: plugins/admin/departments/country.tpl:14
+msgid "Name of country to create"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:66
-msgid "Please upgrade to a supported version."
-msgstr ""
+#: plugins/admin/departments/dep-list.xml:11
+#, fuzzy
+msgid "List of structural objects"
+msgstr "Lista dos grupos"
 
-#: setup/class_setupStep_Checks.inc:73
-msgid "GOsa requires this module to talk with your LDAP server."
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "You are currently moving/renaming this department."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:81
-msgid "GOsa requires this module for an internationalized interface."
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:89
-msgid "GOsa requires this module for the samba integration."
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+msgid "GOsa can NOT fix this for you, yet."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:97
+#: plugins/admin/departments/dep_move_confirm.tpl:12
 msgid ""
-"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
-"encryption."
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:105
-msgid "GOsa requires this module to talk to an IMAP server."
+#: plugins/admin/departments/organization.tpl:11
+msgid "Name of organization"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:112
-msgid "mbstring"
+#: plugins/admin/departments/organization.tpl:14
+msgid "Name of organization to create"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:113
-msgid "GOsa requires this module to handle unicode strings."
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:120
-msgid "MySQL"
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:121
-msgid ""
-"GOsa requires this module to communicate with several supported databases."
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:138
-msgid "samba hash generator"
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:139
-msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:140
-msgid ""
-"Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:153
-msgid "imagick"
+#: plugins/admin/departments/class_department.inc:439
+msgid "Cannot find an unused tag for this administrative unit!"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:154
-msgid "GOsa requires this extension to handle images."
+#: plugins/admin/departments/class_department.inc:507
+#, php-format
+msgid "Tagging '%s'."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:169
-msgid "compression module"
+#: plugins/admin/departments/class_department.inc:588
+#, php-format
+msgid "Moving '%s' to '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:170
-msgid "GOsa requires this extension to handle snapshots."
+#: plugins/admin/departments/class_department.inc:629
+#, php-format
+msgid "FAILED to copy %s, aborting operation"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:181
-msgid ""
-"register_globals is a PHP mechanism to register all global variables to be "
-"accessible from scripts without changing the scope. This may be a security "
-"risk."
-msgstr ""
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
+msgstr "Departamentos"
 
-#: setup/class_setupStep_Checks.inc:182
-msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+#: plugins/admin/departments/class_department.inc:674
+msgid "Department name"
+msgstr "Nome do departamento"
+
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:190
-msgid "PHP uses this value for the garbage collector to delete old sessions."
+#: plugins/admin/departments/class_department.inc:737
+#, php-format
+msgid "Object '%s' is already tagged"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:191
-msgid ""
-"Setting this value to one day will prevent loosing session and cookies "
-"before they really timeout."
+#: plugins/admin/departments/class_department.inc:744
+#, php-format
+msgid "Adding tag (%s) to object '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:192
-msgid ""
-"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
-"higher."
+#: plugins/admin/departments/class_department.inc:776
+#, php-format
+msgid "Removing tag from object '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:199 setup/class_setupStep_Checks.inc:215
-#: setup/class_setupStep_Checks.inc:231 setup/class_setupStep_Checks.inc:247
-msgid "Off"
+#: plugins/admin/departments/dep_iframe.tpl:1
+msgid "Processing the requested operation"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:200
+#: plugins/admin/departments/dep_iframe.tpl:7
 msgid ""
-"In Order to use GOsa without any trouble, the session.auto_register option "
-"in your php.ini should be set to 'Off'."
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:201
-msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
+msgid "Domain Component"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:208
-msgid ""
-"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
-"errors that are not reproducable! Increase it for larger setups."
+#: plugins/admin/departments/class_organizationGeneric.inc:122
+msgid "Organization name"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:209
-msgid ""
-"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+msgid "Phone number"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:216
-msgid ""
-"This option influences the PHP output handling. Turn this Option off, to "
-"increase performance."
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:217
-msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:224
-msgid "The Execution time should be at least 30 seconds."
-msgstr ""
+#: plugins/admin/departments/generic.tpl:22
+#, fuzzy
+msgid "Descriptive text for   department"
+msgstr "Exibir sistemas do departamento"
+
+#: plugins/admin/departments/class_departmentManagement.inc:25
+#, fuzzy
+msgid "Directory structure"
+msgstr "Diretório"
 
-#: setup/class_setupStep_Checks.inc:225
+#: plugins/admin/departments/class_departmentManagement.inc:26
 msgid ""
-"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+"Manage organizations, organizational units, localities, countries and more"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:232
+#: plugins/admin/departments/class_departmentManagement.inc:125
 msgid ""
-"Increase the server security by setting expose_php to 'off'. PHP won't send "
-"any information about the server you are running in this case."
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:233
-msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
-msgstr ""
+#: plugins/admin/departments/domain.tpl:11
+#, fuzzy
+msgid "Domain name"
+msgstr "Administradores do domínio"
 
-#: setup/class_setupStep_Checks.inc:239
-msgid "On"
+#: plugins/admin/departments/domain.tpl:14
+msgid "Name of domain to create"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:240
+#: plugins/admin/users/password.tpl:4
 msgid ""
-"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
-"escape all quotes in strings in this case."
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
 msgstr ""
+"Para alterar a senha do usuário utilize os campos abaixo. As alterações "
+"surtem efeito imediatamente. Por favor, memorize a nova senha porque o "
+"usuário não será capaz de acessar o sistema sem ela."
 
-#: setup/class_setupStep_Checks.inc:241
-msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
+#, fuzzy
+msgid "Password input dialog"
+msgstr "Senha alterada"
+
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
+msgid "Strength"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:248
-msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+#: plugins/admin/users/password.tpl:95
+#, fuzzy
+msgid "Enforce password change on next login."
+msgstr "Alteração de senha não permitida"
+
+#: plugins/admin/users/templatize.tpl:2
+msgid "Applying a template"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:249
+#: plugins/admin/users/templatize.tpl:6
 msgid ""
-"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:259
-msgid "Configuration writeable"
-msgstr ""
+#: plugins/admin/users/templatize.tpl:13
+#, fuzzy
+msgid "Apply user template"
+msgstr "Criar usuário do modelo"
 
-#: setup/class_setupStep_Checks.inc:260
-msgid "The configuration file can't be written"
-msgstr ""
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
+msgstr "Modelo"
 
-#: setup/class_setupStep_Checks.inc:261
-#, php-format
-msgid ""
-"GOsa reads its configuration from a file located in (%s/%s). The setup can "
-"write the configuration directly if it is writeable."
+#: plugins/admin/users/templatize.tpl:32
+msgid "No templates available!"
 msgstr ""
 
-#: setup/setup_config3.tpl:2
-msgid "GOsa core settings"
-msgstr ""
+#: plugins/admin/users/user-filter.xml:33
+#, fuzzy
+msgid "Show templates"
+msgstr "Modelos"
 
-#: setup/setup_config3.tpl:6
-msgid "Enable primary group filter"
-msgstr ""
+#: plugins/admin/users/user-filter.xml:47
+#, fuzzy
+msgid "Show POSIX users"
+msgstr "Servidores"
 
-#: setup/setup_config3.tpl:18
-msgid "Display summary in listings"
-msgstr ""
+#: plugins/admin/users/user-filter.xml:61
+#, fuzzy
+msgid "Show SAMBA users"
+msgstr "Servidores"
 
-#: setup/setup_config3.tpl:30
-msgid "Honour administrative units"
-msgstr ""
+#: plugins/admin/users/user-filter.xml:75
+#, fuzzy
+msgid "Show mail users"
+msgstr "Usuários do domínio"
 
-#: setup/setup_config3.tpl:42
-msgid "Smarty compile directory"
-msgstr ""
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
+msgstr "Criando um novo usuário usando modelos"
 
-#: setup/setup_config3.tpl:51
-msgid "SNMP community"
+#: plugins/admin/users/template.tpl:6
+msgid ""
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
 msgstr ""
+"A criação de usuários pode ser assistida pelo uso de modelos. Muitos campos "
+"podem ser preenchidos automaticamente. Escolha 'nenhum' para não utilizar "
+"modelos."
 
-#: setup/setup_config3.tpl:60
-msgid "Path for PPD storage"
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
 msgstr ""
 
-#: setup/setup_config3.tpl:77
-msgid "Path for kiosk profile storage"
+#: plugins/admin/users/class_userManagement.inc:26
+msgid ""
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
 msgstr ""
 
-#: setup/setup_config3.tpl:96
-msgid "SUDO role base"
+#: plugins/admin/users/class_userManagement.inc:401
+msgid "You have no permission to change this users password!"
 msgstr ""
 
-#: setup/setup_config3.tpl:115
-msgid "Mail queue script"
+#: plugins/admin/users/class_userManagement.inc:791
+msgid "Account locking"
 msgstr ""
 
-#: setup/setup_config3.tpl:134
-msgid "Notification script"
+#: plugins/admin/users/class_userManagement.inc:792
+#, php-format
+msgid ""
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
 msgstr ""
 
-#: setup/setup_config3.tpl:153
-msgid "Enable edit locking"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:865
+#, fuzzy
+msgid "Unlock account"
+msgstr "Minha conta"
 
-#: setup/setup_config3.tpl:174
-msgid "Gosa support daemon"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:867
+#, fuzzy
+msgid "Lock account"
+msgstr "Minha conta"
 
-#: setup/setup_config3.tpl:193
-msgid "Daemon timeout"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:880
+msgid "Edit generic properties"
+msgstr "Editar propriedades gerais"
 
-#: setup/setup_config3.tpl:207
-msgid "Login and session"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
+msgstr "Netatalk"
 
-#: setup/setup_config3.tpl:210
-msgid "Login attribute"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:896
+#, fuzzy
+msgid "Edit Netatalk properties"
+msgstr "Editar propriedades do netatalk"
 
-#: setup/setup_config3.tpl:221
-msgid "Enforce register_globals to be deactivated"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
+msgstr "FAX"
 
-#: setup/setup_config3.tpl:233
-msgid "Enforce encrypted connections"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:904
+#, fuzzy
+msgid "Edit FAX properties"
+msgstr "Editar propriedades UNIX"
 
-#: setup/setup_config3.tpl:245
-msgid "Warn if session is not encrypted"
-msgstr ""
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
+msgstr "Lista de usuários"
 
-#: setup/setup_config3.tpl:257
-msgid "Remember dialog filter settings"
-msgstr ""
+#: plugins/admin/users/user-list.xml:140
+#, fuzzy
+msgid "Lock users"
+msgstr "Lista de usuários"
 
-#: setup/setup_config3.tpl:269
-msgid "Session lifetime"
-msgstr ""
+#: plugins/admin/users/user-list.xml:148
+#, fuzzy
+msgid "Unlock users"
+msgstr "Minha conta"
 
-#: setup/setup_config3.tpl:278
-msgid "Debugging"
+#: plugins/admin/users/user-list.xml:167
+msgid "Apply template"
 msgstr ""
 
-#: setup/setup_config3.tpl:282
-msgid "Show PHP errors"
-msgstr ""
+#: plugins/admin/users/user-list.xml:199
+#, fuzzy
+msgid "New user from template"
+msgstr "Criar usuário do modelo"
 
-#: setup/setup_config3.tpl:294
-msgid "Maximum LDAP query time"
-msgstr ""
+#: plugins/admin/users/user-list.xml:213
+#, fuzzy
+msgid "Edit user"
+msgstr "Editar esta entrada"
 
-#: setup/setup_config3.tpl:312
-msgid "Log LDAP statistics"
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
 msgstr ""
 
-#: setup/setup_config3.tpl:324
-msgid "Debug level"
-msgstr ""
+#: plugins/admin/users/user-list.xml:245
+#, fuzzy
+msgid "Remove user"
+msgstr "Remover foto"
 
-#: setup/setup_config3.tpl:329 setup/setup_config3.tpl:332
-msgid "Disabled"
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
+msgid "Back to main menu"
 msgstr ""
 
-#: setup/setup_config3.tpl:330 setup/setup_config3.tpl:333
-msgid "Enabled"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
 msgstr ""
 
-#: setup/setup_feedback.tpl:5
-msgid "Feedback sucessfully send"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
 msgstr ""
 
-#: setup/setup_feedback.tpl:15
-msgid "Subscribe to the gosa-announce mailinglist"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
 msgstr ""
 
-#: setup/setup_feedback.tpl:18
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to subscribe you to the gosa-announce mailing list. You've to confirm "
-"this by mail."
-msgstr ""
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
+#, fuzzy
+msgid "Action"
+msgstr "Ações"
 
-#: setup/setup_feedback.tpl:39
-msgid "Mail address"
-msgstr "Endereço de Correio"
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
+msgid "Systems"
+msgstr "Sistemas"
 
-#: setup/setup_feedback.tpl:50
-msgid "Send feedback to the GOsa project team"
+#: plugins/generic/statistics/statistics.tpl:2
+msgid "Usage statistics"
 msgstr ""
 
-#: setup/setup_feedback.tpl:53
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
 msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to submit your form anonymously."
-msgstr ""
-
-#: setup/setup_feedback.tpl:59
-msgid "Did the setup procedure help you to get started?"
-msgstr ""
-
-#: setup/setup_feedback.tpl:62 setup/setup_feedback.tpl:80
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "Yes"
-msgstr ""
-
-#: setup/setup_feedback.tpl:64 setup/setup_feedback.tpl:82
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "No"
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
 msgstr ""
 
-#: setup/setup_feedback.tpl:69
-msgid "If not, what problems did you encounter"
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
+msgid "Dash board"
 msgstr ""
 
-#: setup/setup_feedback.tpl:77
-msgid "Is this the first time you use GOsa?"
+#: plugins/generic/statistics/statistics.tpl:16
+msgid ""
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
 msgstr ""
 
-#: setup/setup_feedback.tpl:83
-msgid "I use it since"
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
 msgstr ""
 
-#: setup/setup_feedback.tpl:84
-msgid "Select the year since when you are using GOsa"
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
 msgstr ""
 
-#: setup/setup_feedback.tpl:91
-msgid "What operating system / distribution do you use?"
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
 msgstr ""
 
-#: setup/setup_feedback.tpl:99
-msgid "What web server do you use?"
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
 msgstr ""
 
-#: setup/setup_feedback.tpl:107
-msgid "What PHP version do you use?"
-msgstr ""
+#: plugins/generic/statistics/statistics.tpl:87
+#, fuzzy
+msgid "Select report type"
+msgstr "Selecione a base"
 
-#: setup/setup_feedback.tpl:115
-msgid "GOsa version"
+#: plugins/generic/statistics/class_statistics.inc:263
+#, fuzzy, php-format
+msgid ""
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
 msgstr ""
+"Você esta atualmente editando uma entrada na base de dados. Você quer perder "
+"as alterações realizadas?"
 
-#: setup/setup_feedback.tpl:123
-msgid "LDAP"
-msgstr ""
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
+#, fuzzy
+msgid "Channels"
+msgstr "Cancelar"
 
-#: setup/setup_feedback.tpl:127
-msgid "What kind of LDAP server(s) do you use?"
-msgstr ""
+#: plugins/generic/dashBoard/Register/register.tpl:3
+#, fuzzy
+msgid "GOsa registration"
+msgstr "Organização"
 
-#: setup/setup_feedback.tpl:133
-msgid "How many objects are in your LDAP?"
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
 msgstr ""
 
-#: setup/setup_feedback.tpl:140
-msgid "Features"
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
 msgstr ""
 
-#: setup/setup_feedback.tpl:143
-msgid "What features of GOsa do you use?"
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
 msgstr ""
 
-#: setup/setup_feedback.tpl:153
-msgid "What features do you want to see in future versions of GOsa?"
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
 msgstr ""
 
-#: setup/setup_feedback.tpl:160
-msgid "Send feedback"
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
 msgstr ""
 
-#: setup/setup_finish.tpl:3
-msgid "Create your configuration file"
+#: plugins/generic/dashBoard/Register/register.tpl:22
+msgid ""
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
 msgstr ""
 
-#: setup/setup_finish.tpl:10
-msgid "Depending on the user name your webserver is running on:"
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
 msgstr ""
 
-#: setup/setup_finish.tpl:28
-msgid "Download configuration"
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
 msgstr ""
 
-#: setup/setup_finish.tpl:33
-msgid "Status: "
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:53
-msgid "LDAP setup"
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:54
-msgid "LDAP connection setup"
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:55
+#: plugins/generic/dashBoard/Register/register.tpl:33
 msgid ""
-"This dialog performs the basic configuration of the LDAP connectivity for "
-"GOsa."
-msgstr ""
-
-#: setup/class_setupStep_Ldap.inc:112
-#, php-format
-msgid "Anonymous bind to server '%s' failed!"
-msgstr ""
-
-#: setup/class_setupStep_Ldap.inc:114
-#, php-format
-msgid "Bind as user '%s' failed!"
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:119
-#, php-format
-msgid "Anonymous bind to server '%s' succeeded."
+#: plugins/generic/dashBoard/Register/register.tpl:34
+msgid ""
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:120
-msgid "Please specify user and password!"
+#: plugins/generic/dashBoard/Register/register.tpl:35
+msgid ""
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
 msgstr ""
 
-#: setup/class_setupStep_Ldap.inc:122
-#, php-format
-msgid "Bind as user '%s' to server '%s' succeeded!"
-msgstr ""
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
+#, fuzzy
+msgid "Registration complete"
+msgstr "Operação finalizada"
 
-#: setup/setup_ldap.tpl:7
-msgid "Please choose the LDAP user to be used by GOsa"
+#: plugins/generic/dashBoard/Register/register.tpl:71
+msgid "GOsa instance sucessfully registered"
 msgstr ""
 
-#: setup/setup_ldap.tpl:25
-msgid "LDAP connection"
-msgstr ""
+#: plugins/generic/dashBoard/Register/register.tpl:82
+#, fuzzy
+msgid "GOsa instance will not be registered"
+msgstr "A sessão não será criptografada."
 
-#: setup/setup_ldap.tpl:29
-msgid "Location name"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
+msgid ""
+"Communciation with the backend failed! Please check your internet connection!"
 msgstr ""
 
-#: setup/setup_ldap.tpl:37
-msgid "Connection URI"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
+msgid ""
+"Authentication failed, please check combination of username and password!"
 msgstr ""
 
-#: setup/setup_ldap.tpl:45
-msgid "TLS connection"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
+msgid ""
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
 msgstr ""
 
-#: setup/setup_ldap.tpl:69
-msgid "Authentication"
-msgstr ""
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
+#, fuzzy
+msgid "Notifications"
+msgstr "Localização"
 
-#: setup/setup_ldap.tpl:73
-msgid "Admin DN"
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
 msgstr ""
 
-#: setup/setup_ldap.tpl:86
-msgid "Automatically append LDAP base to admin DN"
+#: plugins/generic/dashBoard/dashBoard.tpl:7
+msgid ""
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
 msgstr ""
 
-#: setup/setup_ldap.tpl:93
-msgid "Admin password"
+#: plugins/generic/dashBoard/dashBoard.tpl:13
+msgid "GOsa dash board"
 msgstr ""
 
-#: setup/setup_ldap.tpl:101
-msgid "Schema based settings"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
 msgstr ""
 
-#: setup/setup_ldap.tpl:105
-msgid "Use rfc2307bis compliant groups"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
+msgid "Schema missing"
 msgstr ""
 
-#: setup/setup_ldap.tpl:117
-msgid "Current status"
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
+msgid "Plugin status"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:127 setup/class_setupStep_Migrate.inc:128
-msgid "LDAP inspection"
-msgstr ""
+#: plugins/generic/references/class_reference.inc:70
+#, fuzzy
+msgid "Role membership"
+msgstr "Membros do grupo"
 
-#: setup/class_setupStep_Migrate.inc:129
-msgid "Analyze your current LDAP for GOsa compatibility"
-msgstr ""
+#: plugins/generic/references/class_reference.inc:76
+#, fuzzy
+msgid "Object group membership"
+msgstr "Membros do grupo"
 
-#: setup/class_setupStep_Migrate.inc:135
-msgid "Checking for root object"
-msgstr ""
+#: plugins/generic/references/class_reference.inc:82
+#, fuzzy
+msgid "Department manager"
+msgstr "Nome do departamento"
 
-#: setup/class_setupStep_Migrate.inc:141
-msgid "Inspecting object classes in root object"
-msgstr ""
+#: plugins/generic/references/class_reference.inc:88
+#, fuzzy
+msgid "User manager"
+msgstr "Nome do usuário"
 
-#: setup/class_setupStep_Migrate.inc:147
-msgid "Checking permission for LDAP database"
-msgstr ""
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+#, fuzzy
+msgid "Object information"
+msgstr "Informação da conexão"
 
-#: setup/class_setupStep_Migrate.inc:153
-msgid "Checking for invisible departments"
+#: plugins/generic/references/contents.tpl:7
+msgid "Show raw object entry"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:158
-msgid "Checking for invisible users"
-msgstr ""
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
+#, fuzzy
+msgid "Last modification"
+msgstr "Localização"
 
-#: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3211
-msgid "Checking for super administrator"
-msgstr ""
+#: plugins/generic/references/contents.tpl:29
+#, fuzzy
+msgid "Object references"
+msgstr "Referências"
 
-#: setup/class_setupStep_Migrate.inc:171
-msgid "Checking for users outside the people tree"
-msgstr ""
+#: plugins/generic/references/contents.tpl:45
+#, fuzzy
+msgid "ACL trace"
+msgstr "Todas as categorias"
 
-#: setup/class_setupStep_Migrate.inc:177
-msgid "Checking for groups outside the groups tree"
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:184
-msgid "Checking for windows workstations outside the winstation tree"
+#: plugins/generic/references/class_aclResolver.inc:193
+msgid "ACLs"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:190
-msgid "Checking for duplicated UID numbers"
+#: plugins/generic/references/class_aclResolver.inc:198
+#, php-format
+msgid "List of effective ACLs for '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Migrate.inc:196
-msgid "Checking for duplicate GID numbers"
-msgstr ""
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
+#, fuzzy
+msgid "Object permissions"
+msgstr "Configurações Posix"
 
-#: setup/class_setupStep_Migrate.inc:202
-msgid "Checking for old style USB devices"
-msgstr ""
+#: plugins/generic/references/class_aclResolver.inc:311
+#, fuzzy
+msgid "create"
+msgstr "Criar"
 
-#: setup/class_setupStep_Migrate.inc:208
-msgid "Checking for old services that have to be migrated"
-msgstr ""
+#: plugins/generic/references/class_aclResolver.inc:312
+#, fuzzy
+msgid "remove"
+msgstr "Remover"
 
-#: setup/class_setupStep_Migrate.inc:214
-msgid "Checking for old style application menus"
-msgstr ""
+#: plugins/generic/references/class_aclResolver.inc:313
+#, fuzzy
+msgid "move"
+msgstr "Remover"
 
-#: setup/class_setupStep_Migrate.inc:240 setup/class_setupStep_Migrate.inc:292
-#: setup/class_setupStep_Migrate.inc:357 setup/class_setupStep_Migrate.inc:421
-#: setup/class_setupStep_Migrate.inc:492 setup/class_setupStep_Migrate.inc:569
-#: setup/class_setupStep_Migrate.inc:653 setup/class_setupStep_Migrate.inc:796
-#: setup/class_setupStep_Migrate.inc:892
-#: setup/class_setupStep_Migrate.inc:2038
-#: setup/class_setupStep_Migrate.inc:2506
-#: setup/class_setupStep_Migrate.inc:2697
-#: setup/class_setupStep_Migrate.inc:2834
-msgid "LDAP query failed"
-msgstr ""
+#, fuzzy
+#~ msgid "List of items"
+#~ msgstr "Lista de usuários"
 
-#: setup/class_setupStep_Migrate.inc:241 setup/class_setupStep_Migrate.inc:293
-#: setup/class_setupStep_Migrate.inc:358 setup/class_setupStep_Migrate.inc:422
-#: setup/class_setupStep_Migrate.inc:493 setup/class_setupStep_Migrate.inc:570
-#: setup/class_setupStep_Migrate.inc:654 setup/class_setupStep_Migrate.inc:797
-#: setup/class_setupStep_Migrate.inc:893
-#: setup/class_setupStep_Migrate.inc:2039
-#: setup/class_setupStep_Migrate.inc:2507
-#: setup/class_setupStep_Migrate.inc:2698
-#: setup/class_setupStep_Migrate.inc:2835
-msgid "Possibly the 'root object' is missing."
-msgstr ""
+#, fuzzy
+#~ msgid "Edit item"
+#~ msgstr "Editar certificados"
 
-#: setup/class_setupStep_Migrate.inc:263
-#, php-format
-msgid "Found %s duplicate values for attribute 'uidNumber'."
-msgstr ""
+#, fuzzy
+#~ msgid "Remove item"
+#~ msgstr "Remover foto"
 
-#: setup/class_setupStep_Migrate.inc:315
-#, php-format
-msgid "Found %s duplicate values for attribute 'gidNumber'."
-msgstr ""
+#, fuzzy
+#~ msgid "Container"
+#~ msgstr "Continuar"
 
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:583
-#: setup/class_setupStep_Migrate.inc:596
-#: setup/class_setupStep_Migrate.inc:1032
-#: setup/class_setupStep_Migrate.inc:1050
-#: setup/class_setupStep_Migrate.inc:1990
-#: setup/class_setupStep_Migrate.inc:2003
-#: setup/class_setupStep_Migrate.inc:2058
-#: setup/class_setupStep_Migrate.inc:2079
-#: setup/class_setupStep_Migrate.inc:2131
-#: setup/class_setupStep_Migrate.inc:3213
-msgid "Failed"
-msgstr ""
+#, fuzzy
+#~ msgid "Config management"
+#~ msgstr "Erro de configuração"
 
-#: setup/class_setupStep_Migrate.inc:375
-#, php-format
-msgid ""
-"Found %s winstations outside the predefined winstation department ou '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Distribution"
+#~ msgstr "Descrição"
 
-#: setup/class_setupStep_Migrate.inc:448
-#, php-format
-msgid "Found %s groups outside the configured tree '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Component"
+#~ msgstr "Administradores do domínio"
 
-#: setup/class_setupStep_Migrate.inc:449 setup/class_setupStep_Migrate.inc:526
-msgid "Move"
-msgstr ""
+#, fuzzy
+#~ msgid "Home phone"
+#~ msgstr "Modelos"
 
-#: setup/class_setupStep_Migrate.inc:525
-#, php-format
-msgid "Found %s user(s) outside the configured tree '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Organizational unit"
+#~ msgstr "Organização"
 
-#: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:598
-#, php-format
-msgid ""
-"The specified user '%s' does not have full access to your ldap database."
-msgstr ""
+#, fuzzy
+#~ msgid "Max"
+#~ msgstr "Maio"
 
-#: setup/class_setupStep_Migrate.inc:662
-#, php-format
-msgid "Found %s user(s) that will not be visible in GOsa."
-msgstr ""
+#, fuzzy
+#~ msgid "Min"
+#~ msgstr "Principal"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#: setup/class_setupStep_Migrate.inc:1120
-msgid "Migration error"
-msgstr ""
+#~ msgid "Welcome %s!"
+#~ msgstr "Bem vindo %s!"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#, php-format
-msgid "Cannot migrate department '%s':"
-msgstr ""
+#, fuzzy
+#~ msgid "The folder %s specified for %s:%s cannot be used for reading!"
+#~ msgstr ""
+#~ "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: setup/class_setupStep_Migrate.inc:805
-#, php-format
-msgid "Found %s department(s) that will not be visible in GOsa."
-msgstr ""
+#, fuzzy
+#~ msgid "Object info"
+#~ msgstr "Nome do objeto"
 
-#: setup/class_setupStep_Migrate.inc:1029
-#, php-format
-msgid "GOsa 2.5 administrative accounts found: %s"
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "The file '%s' specified for '%s:%s' cannot be created neither be used for "
+#~ "writing!"
+#~ msgstr ""
+#~ "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: setup/class_setupStep_Migrate.inc:1034
-msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
-msgstr ""
+#, fuzzy
+#~ msgid "The rdn '%s' specified for '%s:%s' is invalid!"
+#~ msgstr "O comando '%s' para o plugin %s is invalid!"
 
-#: setup/class_setupStep_Migrate.inc:1051
-msgid "There is no GOsa administrator account inside your LDAP."
-msgstr ""
+#, fuzzy
+#~ msgid "The values for 'New password' and 'Repeated new password' differ!"
+#~ msgstr ""
+#~ "A senha digitada nos campos 'Nova senha' e 'Repita nova senha' não "
+#~ "conferem."
 
-#: setup/class_setupStep_Migrate.inc:1120
-#, php-format
-msgid "Cannot add ACL for user '%s':"
-msgstr ""
+#, fuzzy
+#~ msgid "The password used as new and current are too similar!"
+#~ msgstr "A senha utilizada como nova e atual são muito similares."
 
-#: setup/class_setupStep_Migrate.inc:1158
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Input error"
-msgstr ""
+#, fuzzy
+#~ msgid "The password used as new is to short!"
+#~ msgstr "A senha utilizada como nova é curta."
 
-#: setup/class_setupStep_Migrate.inc:1158
-msgid "Uid"
-msgstr ""
+#, fuzzy
+#~ msgid "External password changer reported a problem: %s"
+#~ msgstr "O alterador externo de senhas reportou um problema:"
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Password error"
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "Command %s specified as post modify action for plugin %s does not exist!"
+#~ msgstr ""
+#~ "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Provided passwords do not match!"
-msgstr ""
+#, fuzzy
+#~ msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#~ msgstr "enquanto executava no LDAP server %s"
 
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Specify a valid user ID!"
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "Username / UID is not unique inside the LDAP tree. Please contact your "
+#~ "Administrator."
+#~ msgstr ""
+#~ "Não foi possível realizar bind para o LDAP. Por favor, contacte o "
+#~ "administrador do sistema."
 
-#: setup/class_setupStep_Migrate.inc:1201
-#, php-format
-msgid "Adding an administrative user failed: object '%s' already exists!"
-msgstr ""
+#, fuzzy
+#~ msgid "incomplete"
+#~ msgstr "Operação finalizada"
 
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-msgid "Cannot move users to the requested department!"
-msgstr ""
+#~ msgid "Apply filter"
+#~ msgstr "Aplicar filtro"
 
-#: setup/class_setupStep_Migrate.inc:1250
-msgid "Winstation will be moved from"
-msgstr ""
+#, fuzzy
+#~ msgid "File '%s' could not be deleted."
+#~ msgstr "Esse objeto '%s' será apagado!"
 
-#: setup/class_setupStep_Migrate.inc:1261
-#: setup/class_setupStep_Migrate.inc:1310
-msgid "Updating following references too"
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot write to revision file!"
+#~ msgstr "Não foi possível atribuir permissão para '%s'"
 
-#: setup/class_setupStep_Migrate.inc:1300
-msgid "Group will be moved from"
-msgstr ""
+#, fuzzy
+#~ msgid "LDAP warning"
+#~ msgstr "Atenção"
 
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "User will be moved from"
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to "
+#~ "exist."
+#~ msgstr ""
+#~ "O comando especificado como %s, relativo ao plugin '%s', não existe!"
 
-#: setup/class_setupStep_Migrate.inc:1358
-msgid "The following references will be updated"
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot allocate a free ID:"
+#~ msgstr "Não foi possível atribuir permissão para '%s'"
 
-#: setup/class_setupStep_Migrate.inc:1991
-msgid ""
-"The LDAP root object is missing. It is required to use your LDAP service."
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot allocate a free ID!"
+#~ msgstr "Não foi possível atribuir permissão para '%s'"
 
-#: setup/class_setupStep_Migrate.inc:1992
-#: setup/class_setupStep_Migrate.inc:2005
-msgid "Try to create root object"
-msgstr ""
+#, fuzzy
+#~ msgid "Surename"
+#~ msgstr "Sobrenome"
 
-#: setup/class_setupStep_Migrate.inc:2004
-msgid "Root object couldn't be created, you should try it on your own."
-msgstr ""
+#~ msgid "Username"
+#~ msgstr "Nome do usuário"
 
-#: setup/class_setupStep_Migrate.inc:2059
-#, php-format
-msgid "Missing GOsa object class '%s'!"
-msgstr ""
+#~ msgid ""
+#~ "You've successfully changed your password. Remember to change all "
+#~ "programms configured to use it as well."
+#~ msgstr ""
+#~ "Sua senha foi alterada com sucesso. Lembre-se de alterar todos os "
+#~ "programas que a usem."
 
-#: setup/class_setupStep_Migrate.inc:2060
-#, fuzzy
-msgid "Please check your installation."
-msgstr "Por favor, verifique a combinação usuário / senha"
+#~ msgid "Ok"
+#~ msgstr "Ok"
 
-#: setup/class_setupStep_Migrate.inc:2081
-#, php-format
-msgid ""
-"Cannot handle the structural object type of your root object. Please try to "
-"add the object class '%s' manually."
-msgstr ""
+#~ msgid "Grant permission to owner"
+#~ msgstr "Conceder permissão para o dono"
 
-#: setup/class_setupStep_Migrate.inc:2440
-#, php-format
-msgid "Copy '%s' to '%s' failed:"
-msgstr ""
+#~ msgid "Preferred langage"
+#~ msgstr "Linguagem preferida"
 
-#: setup/class_setupStep_Migrate.inc:2575
-#, php-format
-msgid "There are %s devices that need to be migrated."
-msgstr ""
+#~ msgid "Posix settings"
+#~ msgstr "Configurações Posix"
 
-#: setup/class_setupStep_Migrate.inc:2635
-#, php-format
-msgid "Adding '%s' to the LDAP failed: %s"
-msgstr ""
+#, fuzzy
+#~ msgid "You have no permission to set your password!"
+#~ msgstr "Você não tem permissão para alterar sua senha."
 
-#: setup/class_setupStep_Migrate.inc:2655
-#: setup/class_setupStep_Migrate.inc:2772
-#, php-format
-msgid "Updating '%s' failed: %s"
-msgstr ""
+#~ msgid ""
+#~ "You have changed the method your password is stored in the ldap database. "
+#~ "For that reason you've to enter your password at this point again. GOsa "
+#~ "will then encode it with the selected method."
+#~ msgstr ""
+#~ "Você alterou o método de armazenamento da senha na base ldap. Por esta "
+#~ "razão você terá que digitar sua senha novamente agora. GOsa irá codifica-"
+#~ "la com o método selecionado."
 
-#: setup/class_setupStep_Migrate.inc:2728
-#, php-format
-msgid "There are %s services that need to be migrated."
-msgstr ""
+#~ msgid "Posix"
+#~ msgstr "Posix"
 
-#: setup/class_setupStep_Migrate.inc:3059
-#, php-format
-msgid "There are %s application menus which have to be migrated."
-msgstr ""
+#, fuzzy
+#~ msgid "Edit posix properties"
+#~ msgstr "Editar propriedades de telefone"
 
-#: setup/setup_welcome.tpl:4
-msgid ""
-"This seems to be the first time you start GOsa - we didn't find any "
-"configuration right now. This simple wizard intends to help you while "
-"setting it up."
-msgstr ""
+#, fuzzy
+#~ msgid "Created"
+#~ msgstr "Criar"
 
-#: setup/setup_welcome.tpl:8
-msgid "What will the wizard do for you?"
-msgstr ""
+#, fuzzy
+#~ msgid "Reset Content"
+#~ msgstr "Limpar ACLs"
 
-#: setup/setup_welcome.tpl:11
-msgid "Create a basic, single site configuration"
-msgstr ""
+#, fuzzy
+#~ msgid "Multi-Status"
+#~ msgstr "Estatus"
 
-#: setup/setup_welcome.tpl:12
-msgid "Tries to find problems within your PHP and LDAP setup"
-msgstr ""
+#, fuzzy
+#~ msgid "Use Proxy"
+#~ msgstr "Proxy"
 
-#: setup/setup_welcome.tpl:13
-msgid "Let you choose from a set of basic and advanced configuration switches"
-msgstr ""
+#, fuzzy
+#~ msgid "(reserviert)"
+#~ msgstr "Servidores"
 
-#: setup/setup_welcome.tpl:14
-msgid "Guided migration of existing LDAP trees"
-msgstr ""
+#, fuzzy
+#~ msgid "Gone"
+#~ msgstr "nenhum"
 
-#: setup/setup_welcome.tpl:17
-msgid "What will the wizard NOT do for you?"
-msgstr ""
+#, fuzzy
+#~ msgid "Locked"
+#~ msgstr "Lista de usuários"
 
-#: setup/setup_welcome.tpl:20
-msgid "Find every possible configuration error"
-msgstr ""
+#, fuzzy
+#~ msgid "Unordered Collection"
+#~ msgstr "Administração de grupos"
 
-#: setup/setup_welcome.tpl:21
-msgid "Migrate every possible LDAP setup - create backup dumps!"
-msgstr ""
+#, fuzzy
+#~ msgid "Internal Server Error"
+#~ msgstr "Erro interno"
 
-#: setup/setup_welcome.tpl:25
-msgid "To continue..."
-msgstr ""
+#~ msgid "Samba settings"
+#~ msgstr "Configurações samba"
 
-#: setup/setup_welcome.tpl:28
-msgid ""
-"For security reasons you need to authenticate for the installation by "
-"creating the file '/tmp/gosa.auth', containing the current session ID on the "
-"servers local filesystem. This can be done by executing the following "
-"command:"
-msgstr ""
+#~ msgid "Mail settings"
+#~ msgstr "Configurações de Correio"
 
-#: setup/setup_welcome.tpl:34
-msgid "Click the 'Continue' button when you've finished."
-msgstr ""
+#~ msgid "Mail method"
+#~ msgstr "Método de correio"
 
-#: setup/setup_license.tpl:8
-msgid "I have read the license and accept it"
-msgstr ""
+#~ msgid "Password settings"
+#~ msgstr "Configurações de senha"
 
-#: setup/class_setupStep_Config3.inc:81 setup/class_setupStep_Config3.inc:82
-msgid "GOsa settings 3/3"
-msgstr ""
+#~ msgid "Refresh"
+#~ msgstr "Recarregar"
 
-#: setup/class_setupStep_Config3.inc:83
-msgid "Tweak some GOsa core behaviour"
-msgstr ""
+#~ msgid "Sign in"
+#~ msgstr "Entrar"
 
-#: setup/class_setupStep_Config3.inc:212
-msgid "Session lifetime must be a numeric value!"
-msgstr ""
+#~ msgid ""
+#~ "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "Então, se você tem certeza, pressione 'Deletar' para continuar ou "
+#~ "'Cancelar' para abortar."
 
-#: setup/class_setupStep_Config3.inc:216
-msgid "Maximum LDAP query time must be a numeric value!"
-msgstr ""
+#~ msgid "Help"
+#~ msgstr "Ajuda"
 
-#: setup/setup_checks.tpl:9
-msgid "PHP module and extension checks"
-msgstr ""
+#~ msgid "Sign out"
+#~ msgstr "Sair"
 
-#: setup/setup_checks.tpl:41 setup/setup_checks.tpl:103
-msgid "GOsa will NOT run without fixing this."
-msgstr ""
+#~ msgid "Signed in:"
+#~ msgstr "Logado:"
 
-#: setup/setup_checks.tpl:45 setup/setup_checks.tpl:107
-msgid "GOsa will run without fixing this."
-msgstr ""
+#~ msgid "Success"
+#~ msgstr "Sucesso"
 
-#: setup/setup_checks.tpl:67
-msgid "PHP setup configuration"
-msgstr ""
+#~ msgid "New password repeated"
+#~ msgstr "Nova senha repetida"
 
-#: setup/setup_checks.tpl:67
-msgid "show information"
-msgstr ""
+#~ msgid "Change"
+#~ msgstr "Alterar"
 
-#: setup/setup_schema.tpl:3
-msgid "Schema specific settings"
-msgstr ""
+#~ msgid "UNIX"
+#~ msgstr "UNIX"
 
-#: setup/setup_schema.tpl:7
-msgid "Enable schema validation when logging in"
-msgstr ""
+#~ msgid "FTP"
+#~ msgstr "FTP"
 
-#: setup/setup_schema.tpl:16
-msgid "Check status"
-msgstr ""
+#~ msgid ""
+#~ "Changing the password affects your authentification on mail, proxy, samba "
+#~ "and unix services."
+#~ msgstr ""
+#~ "Alteração de senha afeta a autenticação dos serviços de correio, proxy, "
+#~ "samba e unix."
 
-#: setup/setup_schema.tpl:20
-msgid "Schema check succeeded"
-msgstr ""
+#~ msgid ""
+#~ "(Some types of certificates are currently not supported and may be "
+#~ "displayed as 'invalid'.)"
+#~ msgstr ""
+#~ "(Alguns tipos de certificados não são suportados atualmente e podem ser "
+#~ "exibidos como 'inválidos'.)"
 
-#: setup/setup_schema.tpl:23
-msgid "Schema check failed"
-msgstr ""
+#~ msgid "Personal picture"
+#~ msgstr "Foto pessoal"
 
-#: setup/setup_schema.tpl:31
-msgid ""
-"Could not read any schema informations, all checks skipped. Adjust your ldap "
-"acls."
-msgstr ""
+#, fuzzy
+#~ msgid "! unknown UID"
+#~ msgstr "! id desconhecido"
 
-#: setup/setup_schema.tpl:35
-msgid ""
-"It seems that your ldap database wasn't initialized yet. This maybe the "
-"reason, why GOsa can't read your schema configuration!"
-msgstr ""
+#~ msgid "All categories"
+#~ msgstr "Todas as categorias"
 
-#: setup/setup_config1.tpl:2
-msgid "Look and feel"
-msgstr ""
+#~ msgid "All objects in current subtree"
+#~ msgstr "Todos os objetos na subárvore atual"
 
-#: setup/setup_config1.tpl:6
-msgid "Theme"
-msgstr ""
+#~ msgid "Startup"
+#~ msgstr "Início"
 
-#: setup/setup_config1.tpl:15
-msgid "Apache"
-msgstr ""
+#~ msgid "FAI summary"
+#~ msgstr "Sumário FAI"
 
-#: setup/setup_config1.tpl:19
-msgid "Compress output send to browser"
-msgstr ""
+#~ msgid "The mcrypt module was not found. Please install php5-mcrypt."
+#~ msgstr ""
+#~ "O módulo mcrypt não foi encontrado. Por favor, instale o php5-mcrypt."
 
-#: setup/setup_config1.tpl:27
-msgid "People and group storage"
-msgstr ""
+#~ msgid "Up"
+#~ msgstr "Para cima"
 
-#: setup/setup_config1.tpl:30
-msgid "People DN attribute"
-msgstr ""
+#~ msgid "Down"
+#~ msgstr "Para baixo"
 
-#: setup/setup_config1.tpl:41
-msgid "People storage subtree"
-msgstr ""
+#~ msgid ""
+#~ "The timezone setting '%s' in your gosa.conf is not valid. Cannot "
+#~ "calculate correct timezone offset."
+#~ msgstr ""
+#~ "A configuração do fuso horário '%s' no gosa.conf não é válida. Não foi "
+#~ "possível calcular o intervalo do fuso horário corretamente."
 
-#: setup/setup_config1.tpl:50
-msgid "Group storage subtree"
-msgstr ""
+#~ msgid "Select to list objects of type '%s'."
+#~ msgstr "Selecione para listar objetos do tipo '%s'."
 
-#: setup/setup_config1.tpl:59
-msgid "Include personal title in user DN"
-msgstr ""
+#~ msgid "Select to list objects containig '%s'."
+#~ msgstr "Selecione para listar objetos contendo '%s'."
 
-#: setup/setup_config1.tpl:70
-msgid "Relaxed naming policies"
-msgstr ""
+#~ msgid "Select to list objects that have '%s' enabled"
+#~ msgstr "Selecione para listar objetos que possuem '%s' habilitado"
 
-#: setup/setup_config1.tpl:81
-msgid "Automatic UIDs"
-msgstr ""
+#~ msgid "Select to search within subtrees"
+#~ msgstr "Selecione para pesquisar dentro das sub-árvores"
 
-#: setup/setup_config1.tpl:97 setup/class_setupStep_Config1.inc:118
-msgid "GID / UID min id"
-msgstr ""
+#, fuzzy
+#~ msgid "in"
+#~ msgstr "Principal"
 
-#: setup/setup_config1.tpl:113
-msgid "Number base for people/groups"
-msgstr ""
+#, fuzzy
+#~ msgid "on line"
+#~ msgstr "Continuar"
 
-#: setup/setup_config1.tpl:121
-msgid "Hook for number base"
-msgstr ""
+#~ msgid "Contains ACLs for these objects: %s"
+#~ msgstr "Contém ACLs para estes objetos: %s"
 
-#: setup/setup_config1.tpl:140
-msgid "Password encryption algorithm"
-msgstr ""
+#~ msgid "Role: %s"
+#~ msgstr "Regra: %s"
 
-#: setup/setup_config1.tpl:151
-msgid "Password restrictions"
-msgstr ""
+#~ msgid "Go up one department"
+#~ msgstr "Subir um departamento"
 
-#: setup/setup_config1.tpl:158 setup/setup_config1.tpl:162
-msgid "Password minimum length"
-msgstr ""
+#~ msgid "Go to users department"
+#~ msgstr "Ir para departamento de usuários"
 
-#: setup/setup_config1.tpl:169 setup/setup_config1.tpl:173
-msgid "Different characters from old password"
-msgstr ""
+#~ msgid "All objects in this category"
+#~ msgstr "Todos os objetos nessa categoria"
 
-#: setup/setup_config1.tpl:182
-msgid "Password change hook"
-msgstr ""
+#~ msgid "from"
+#~ msgstr "de"
 
-#: setup/setup_config1.tpl:198
-msgid "Use SASL for kerberos"
-msgstr ""
+#, fuzzy
+#~ msgid "Prpperties"
+#~ msgstr "Propriedades"
 
-#: setup/setup_config1.tpl:209
-msgid "Use account expiration"
-msgstr ""
+#~ msgid "Session conflict detected"
+#~ msgstr "Conflito de sessão detectado"
 
-#: setup/setup_config1.tpl:221
-msgid ""
-"GOsa supports several encryption types for your passwords. Normally this is "
-"adjustable via user templates, but you can specify a default method to be "
-"used here, too."
-msgstr ""
+#, fuzzy
+#~ msgid "Show department"
+#~ msgstr "Departamentos"
 
-#: setup/setup_config1.tpl:222
-msgid ""
-"GOsa always acts as admin and manages access rights internally. This is a "
-"workaround till OpenLDAP's in directory ACI's are    fully implemented. For "
-"this to work, we need the admin DN and the corresponding password."
-msgstr ""
+#, fuzzy
+#~ msgid "Show groups"
+#~ msgstr "Usuários do domínio"
 
-#: setup/setup_config1.tpl:223
-msgid ""
-"Some basic LDAP parameters are tunable and affect the locations where GOsa "
-"saves people and groups, including the way accounts get created. Check the "
-"values below if the fit your needs."
-msgstr ""
+#, fuzzy
+#~ msgid "Show server"
+#~ msgstr "Servidores"
 
-#: setup/setup_config1.tpl:224
-msgid ""
-"GOsa has modular support for several mail methods. These methods provide "
-"interfaces to users mailboxes and general handling    for quotas. You can "
-"choose the dummy plugin to leave all your mail settings untouched."
-msgstr ""
+#, fuzzy
+#~ msgid "Show workstation"
+#~ msgstr "Estações de Trabalho"
 
-#: setup/class_setupStep_Schema.inc:42 setup/class_setupStep_Schema.inc:43
-msgid "LDAP schema check"
-msgstr ""
+#, fuzzy
+#~ msgid "Show terminal"
+#~ msgstr "Terminais"
 
-#: setup/class_setupStep_Schema.inc:44
-msgid "Perform test on your current LDAP schema"
-msgstr ""
+#, fuzzy
+#~ msgid "Show printer"
+#~ msgstr "Impressoras"
 
-#: setup/class_setupStep_Welcome.inc:38
-msgid "Welcome"
-msgstr ""
+#~ msgid "Filters"
+#~ msgstr "Filtros"
 
-#: setup/class_setupStep_Welcome.inc:39
-msgid "The welcome message"
-msgstr ""
+#~ msgid "Choose the department the search will be based on"
+#~ msgstr "Escolha o departamento para base de procura"
 
-#: setup/class_setupStep_Welcome.inc:40
-msgid "Welcome to GOsa setup wizard"
-msgstr ""
+#~ msgid "Display objects matching"
+#~ msgstr "Exibir combinação de objetos"
 
-#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
-msgid "License"
-msgstr ""
+#~ msgid "Regular expression for matching object names"
+#~ msgstr "Expressão regular para combinação de nomes de objeto"
 
-#: setup/class_setupStep_License.inc:58
-msgid "Terms and conditions for usage"
-msgstr ""
+#~ msgid "Select systems to add"
+#~ msgstr "Selecione sistemas para adicionar"
 
-#: setup/setup_language.tpl:3
-msgid "Please select the preferred language"
-msgstr ""
+#~ msgid "Display systems of department"
+#~ msgstr "Exibir sistemas do departamento"
 
-#: setup/setup_language.tpl:5
-msgid ""
-"At this point, you can select the site wide default language. Choosing "
-"'automatic' will use the language requested by the browser. This setting can "
-"be overriden per user."
-msgstr ""
+#~ msgid "Regular expression for matching addresses"
+#~ msgstr "Expressão regular para conferência de endereços"
 
-#: setup/setup_language.tpl:9
-msgid "Please select your preferred language here"
-msgstr ""
+#~ msgid ""
+#~ "This may be a primary user group. Please double check if you really want "
+#~ "to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Ele pode ser o grupo primário de um usuário. Por favor, tenha certeza se "
+#~ "realmente quer fazer isso, pois o GOsa não possui uma forma para "
+#~ "restaurar seus dados anteriores."
 
-#: setup/class_setupStep_Config1.inc:74 setup/class_setupStep_Config1.inc:75
-msgid "GOsa settings 1/3"
-msgstr ""
+#, fuzzy
+#~ msgid "Show samba groups"
+#~ msgstr "Usuários do domínio"
 
-#: setup/class_setupStep_Config1.inc:76
-msgid "GOsa generic settings"
-msgstr ""
+#, fuzzy
+#~ msgid "Show mail groups"
+#~ msgstr "Usuários do domínio"
 
-#: setup/class_setupStep_Config1.inc:118
-#, php-format
-msgid "The specified value for '%s' must be a numeric value"
-msgstr ""
+#~ msgid "Group administration"
+#~ msgstr "Administração de grupos"
 
-#: setup/class_setupStep_Config1.inc:122 setup/class_setupStep_Config1.inc:126
-#, php-format
-msgid "Don't add a trailing comma to '%s'."
-msgstr ""
+#~ msgid ""
+#~ "This includes all account data, system access rules, imap settings, etc. "
+#~ "for this user. Please double check if your really want to do this since "
+#~ "there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Isso inclui, para este usuário, todos os dados da conta, regras de "
+#~ "acesso, configurações imap e etc. Por favor, tenha certeza se quer "
+#~ "realmente fazer isso, pois o GOsa não tem como recuperar seus dados "
+#~ "anteriores."
 
-#: setup/class_setupStep_Config1.inc:122
-msgid "People storage ou"
-msgstr ""
+#~ msgid ""
+#~ "Best thing to do before performing this action would be to save the "
+#~ "current contents of your LDAP tree in a file. So - if you've done so - "
+#~ "press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "O melhor que se tem a fazer antes de realizar esta ação é salvar os dados "
+#~ "da sua árvore LDAP em um arquivo. Então, se pronto, pressione 'Deletar' "
+#~ "para continuar ou 'Cancelar' para abortar."
 
-#: setup/class_setupStep_Config1.inc:126
-msgid "Group storage ou"
-msgstr ""
+#, fuzzy
+#~ msgid "Show access control lists"
+#~ msgstr "Lista de controle de acesso"
 
-#: setup/class_setupStep_Config1.inc:130
-msgid "Uid base must be numeric"
-msgstr ""
+#, fuzzy
+#~ msgid "Show roles"
+#~ msgstr "Modelos"
 
-#: setup/class_setupStep_Config1.inc:134
-msgid "The given password minimum length is not numeric."
-msgstr ""
+#, fuzzy
+#~ msgid "Show servers"
+#~ msgstr "Servidores"
 
-#: setup/class_setupStep_Config1.inc:137
-msgid "The given password differ value is not numeric."
-msgstr ""
+#, fuzzy
+#~ msgid "Show terminals"
+#~ msgstr "Terminais"
 
-#: setup/class_setupStep_Config2.inc:80 setup/class_setupStep_Config2.inc:81
-msgid "GOsa settings 2/3"
-msgstr ""
+#, fuzzy
+#~ msgid "Posix extension settings"
+#~ msgstr "Configurações Posix"
 
-#: setup/class_setupStep_Config2.inc:82
-msgid "Customize special parameters"
-msgstr ""
+#~ msgid "Go to root department"
+#~ msgstr "Ir para departamento raiz"
 
-#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
-msgid "Language setup"
-msgstr ""
+#~ msgid "Home"
+#~ msgstr "Origem"
 
-#: setup/class_setupStep_Language.inc:42
-msgid "This step allows you to select your preferred language."
-msgstr ""
+#~ msgid ""
+#~ "This is the GOsa main menu. You can select your tasks from the menu on "
+#~ "the left, or by choosing one of the pictograms below. All changes apply "
+#~ "directly to your companies LDAP server."
+#~ msgstr ""
+#~ "Este é o menu principal do GOsa. Você pode selecionar tarefas a partir do "
+#~ "menu esquerdo ou através dos ícones abaixo. Todas as alterações serão "
+#~ "aplicadas diretamente ao seu servidor LDAP."
 
-#: setup/class_setupStep_Language.inc:47
-msgid "Automatic"
-msgstr ""
+#~ msgid ""
+#~ "Use 'Sign out' on the upper left to close the connection and 'Main' to "
+#~ "get back to the pictogram view."
+#~ msgstr ""
+#~ "Utilize 'Sair' no canto superior esquerdo para fechar a conexão e "
+#~ "'Principal' para voltar a visão de ícones."
 
 #, fuzzy
-#~ msgid "Group submenu menu"
-#~ msgstr "Membros do grupo"
+#~ msgid "Show Samba users"
+#~ msgstr "Usuários do domínio"
 
 #~ msgid "Choose subtree to place user in"
 #~ msgstr "Escolha a sub-árvore para adicionar o usuário"
 
-#~ msgid "Select a base"
-#~ msgstr "Selecione a base"
+#~ msgid "Generic user information"
+#~ msgstr "Informação geral do usuário"
 
-#~ msgid ""
-#~ "You have changed the method your password is stored in the ldap database. "
-#~ "For that reason you've to enter your password at this point again. GOsa "
-#~ "will then encode it with the selected method."
-#~ msgstr ""
-#~ "Você alterou o método de armazenamento da senha na base ldap. Por esta "
-#~ "razão você terá que digitar sua senha novamente agora. GOsa irá codifica-"
-#~ "la com o método selecionado."
+#~ msgid "Account"
+#~ msgstr "Conta"
+
+#~ msgid "Select groups to add"
+#~ msgstr "Selecione grupos para adicionar"
+
+#~ msgid "Display groups of department"
+#~ msgstr "Exibir grupos do departamento"
+
+#~ msgid "Display groups matching"
+#~ msgstr "Exibir grupos combinados"
+
+#~ msgid "Regular expression for matching group names"
+#~ msgstr "Expressão regular para combinação de nomes de grupos"
+
+#~ msgid "Display groups of user"
+#~ msgstr "Exibir grupos de usuários"
+
+#~ msgid "User name of which groups are shown"
+#~ msgstr "Nome do usuário dos grupos exibidos"
 
 #~ msgid "Select to see servers"
 #~ msgstr "Selecione para ver servidores"
@@ -6441,10 +7236,6 @@ msgstr ""
 #~ msgstr "Exibir combinação de usuários"
 
 #, fuzzy
-#~ msgid "List of systems"
-#~ msgstr "Lista de usuários"
-
-#, fuzzy
 #~ msgid "givenname"
 #~ msgstr "Nome fornecido"
 
@@ -6475,13 +7266,6 @@ msgstr ""
 #~ msgstr ""
 #~ "Selecione para ver grupos normais que tem somente aspectos funcionais"
 
-#~ msgid "User administration"
-#~ msgstr "Administração de usuários"
-
-#, fuzzy
-#~ msgid "phone users"
-#~ msgstr "Telefones"
-
 #~ msgid "Edit UNIX properties"
 #~ msgstr "Editar propriedades UNIX"
 
diff --git a/gosa-core/locale/core/pt_BR/LC_MESSAGES/messages.po b/gosa-core/locale/core/pt_BR/LC_MESSAGES/messages.po
new file mode 100644
index 0000000..d7de2d1
--- /dev/null
+++ b/gosa-core/locale/core/pt_BR/LC_MESSAGES/messages.po
@@ -0,0 +1,8369 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GOsa core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
+"PO-Revision-Date: 2010-03-12 14:48-0300\n"
+"Last-Translator: Marcos Amorim <marcosmamorim at gmail.com>\n"
+"Language-Team: Marcos Amorim <marcosmamorim at gmail.com> Clever de Oliveira "
+"<clever at dri.cefetmg.br>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Portuguese\n"
+"X-Poedit-Country: BRAZIL\n"
+
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
+msgstr "desconfigurado"
+
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
+msgid "Permission"
+msgstr "Permissão"
+
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
+msgid "Permission error"
+msgstr "Erro de permissão"
+
+#: include/class_management.inc:487
+#, fuzzy, php-format
+msgid "You are not allowed to create a snapshot for %s!"
+msgstr "Você não tem permissão para criar um snapshot para %s."
+
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
+#, php-format
+msgid "Error"
+msgstr "Erro"
+
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, fuzzy, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
+msgstr "Você não tem permissão para restaurar um snapshot para %s."
+
+#: include/class_management.inc:549
+#, fuzzy, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
+msgstr "Você não tem permissão para restaurar um snapshot para %s."
+
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
+msgid "Internal error"
+msgstr "Erro interno"
+
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
+msgid ""
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
+msgstr ""
+
+#: include/class_management.inc:669
+#, fuzzy, php-format
+msgid ""
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
+msgstr ""
+"Nenhuma declaração para '%s' foi encontrada em seu arquivo de configuração. "
+"Não é possível criar a instância do plugin!"
+
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Configuration error"
+msgstr "Erro de configuração"
+
+#: include/class_pluglist.inc:147
+#, fuzzy
+msgid "The configuration format has changed: please run the setup again!"
+msgstr ""
+"O formato de configuração foi alterado. Por favor execute a instalação "
+"novamente!"
+
+#: include/class_pluglist.inc:304
+#, fuzzy
+msgid ""
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
+msgstr ""
+"Você está editando uma entrada de dados. Você quer rejeitar as mudanças?"
+
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
+msgid "Unknown"
+msgstr "Desconhecido"
+
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
+msgstr "Este objeto será excluído!"
+
+#: include/utils/class_msgPool.inc:19
+#, fuzzy, php-format
+msgid "This %s object will be deleted!"
+msgstr "Este objeto '%s' será excluído!"
+
+#: include/utils/class_msgPool.inc:24
+#, php-format
+msgid "This object will be deleted: %s"
+msgstr "Este objeto será excluído: %s"
+
+#: include/utils/class_msgPool.inc:26
+#, fuzzy, php-format
+msgid "This %s object will be deleted: %s"
+msgstr "Este objeto '%s' será excluído: %s"
+
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
+msgstr "Este objeto será excluído:"
+
+#: include/utils/class_msgPool.inc:33
+#, fuzzy, php-format
+msgid "This %s object will be deleted:"
+msgstr "Este objeto '%s' será excluído:"
+
+#: include/utils/class_msgPool.inc:37
+#, php-format
+msgid "These objects will be deleted: %s"
+msgstr "Esses objetos serão excluídos: %s"
+
+#: include/utils/class_msgPool.inc:39
+#, fuzzy, php-format
+msgid "These %s objects will be deleted: %s"
+msgstr "Esses objetos '%s' serão excluídos: %s"
+
+#: include/utils/class_msgPool.inc:47
+msgid "You have no permission to delete this object!"
+msgstr "Você não tem permissão para excluir esse objeto!"
+
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
+msgid "You have no permission to delete the object:"
+msgstr "Você não tem permissão para excluir esse objeto:"
+
+#: include/utils/class_msgPool.inc:58
+msgid "You have no permission to delete these objects:"
+msgstr "Você não tem permissão para excluir esses objetos:"
+
+#: include/utils/class_msgPool.inc:65
+msgid "You have no permission to create this object!"
+msgstr "Você não tem permissão para criar este objeto!"
+
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
+msgid "You have no permission to create the object:"
+msgstr "Vocẽ não tem permissão para criar o objeto:"
+
+#: include/utils/class_msgPool.inc:76
+msgid "You have no permission to create these objects:"
+msgstr "Você não tem permissão para criar esses objetos:"
+
+#: include/utils/class_msgPool.inc:83
+msgid "You have no permission to modify this object!"
+msgstr "Você não tem permissão para modificar esse objeto!"
+
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
+msgid "You have no permission to modify the object:"
+msgstr "Você não tem permissão para modificar esse objeto:"
+
+#: include/utils/class_msgPool.inc:94
+msgid "You have no permission to modify these objects:"
+msgstr "Você não tem permissão para modificar esses objetos:"
+
+#: include/utils/class_msgPool.inc:101
+msgid "You have no permission to view this object!"
+msgstr "Você não tem permissão para ver esse objeto!"
+
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
+msgid "You have no permission to view the object:"
+msgstr "Você não tem permissão para ver esse objeto:"
+
+#: include/utils/class_msgPool.inc:112
+msgid "You have no permission to view these objects:"
+msgstr "Você não tem permissão para ver esses objetos!"
+
+#: include/utils/class_msgPool.inc:119
+msgid "You have no permission to move this object!"
+msgstr "Você não tem permissão para mover esse objeto!"
+
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
+msgid "You have no permission to move the object:"
+msgstr "Você não tem permissão para mover esse objeto:"
+
+#: include/utils/class_msgPool.inc:130
+msgid "You have no permission to move these objects:"
+msgstr "Você não tem permissão para ver esses objetos:"
+
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
+msgid "Connection information"
+msgstr "Informação de conexão"
+
+#: include/utils/class_msgPool.inc:142
+#, php-format
+msgid "Cannot connect to %s database!"
+msgstr "Não é possivel conectar ao banco de dados %s"
+
+#: include/utils/class_msgPool.inc:154
+#, php-format
+msgid "Cannot select %s database!"
+msgstr "Não é possível selecionar o banco de dados %s"
+
+#: include/utils/class_msgPool.inc:160
+#, fuzzy, php-format
+msgid "No %s server defined!"
+msgstr "Nenhum %s servidor foi definido!"
+
+#: include/utils/class_msgPool.inc:172
+#, php-format
+msgid "Cannot query %s database!"
+msgstr "Não é possível executar a pesquisa %s no banco de dados!"
+
+#: include/utils/class_msgPool.inc:178
+#, fuzzy, php-format
+msgid "The field %s contains a reserved keyword!"
+msgstr "O campo '%s' contém uma palavra reservada"
+
+#: include/utils/class_msgPool.inc:184
+#, fuzzy, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
+msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#: include/utils/class_msgPool.inc:191
+#, fuzzy, php-format
+msgid "%s command is invalid!"
+msgstr "O comando '%s' é inválido!"
+
+#: include/utils/class_msgPool.inc:193
+#, fuzzy, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
+msgstr "'%s' o comando (%s) para o plugin %s é inválido!"
+
+#: include/utils/class_msgPool.inc:195
+#, fuzzy, php-format
+msgid "%s command for plugin %s is invalid!"
+msgstr "'%s' comando para o plugin %s é inválido!"
+
+#: include/utils/class_msgPool.inc:197
+#, fuzzy, php-format
+msgid "%s command (%s) is invalid!"
+msgstr "'%s' o comando (%s) é inválido!"
+
+#: include/utils/class_msgPool.inc:205
+#, fuzzy, php-format
+msgid "Cannot execute %s command!"
+msgstr "Não é possível executar o comando '%s'!"
+
+#: include/utils/class_msgPool.inc:207
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
+msgstr "Não é possível executar o comando '%s' (%s) para o plugin %s!"
+
+#: include/utils/class_msgPool.inc:209
+#, fuzzy, php-format
+msgid "Cannot execute %s command for plugin %s!"
+msgstr "Não é possível executar o comando '%s' para o plugin %s!"
+
+#: include/utils/class_msgPool.inc:211
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s)!"
+msgstr "Não é possível executar o comando '%s' (%s)!"
+
+#: include/utils/class_msgPool.inc:219
+#, fuzzy, php-format
+msgid "Value for %s is too large!"
+msgstr "Valor para '%s' é muito grande!"
+
+#: include/utils/class_msgPool.inc:221
+#, fuzzy, php-format
+msgid "%s must be smaller than %s!"
+msgstr "'%s' deve ser menor que %s!"
+
+#: include/utils/class_msgPool.inc:229
+#, fuzzy, php-format
+msgid "Value for %s is too small!"
+msgstr "Valor para %s é muito pequeno!"
+
+#: include/utils/class_msgPool.inc:231
+#, fuzzy, php-format
+msgid "%s must be %s or above!"
+msgstr "'%s' deve ser %d ou maior!"
+
+#: include/utils/class_msgPool.inc:238
+#, fuzzy, php-format
+msgid "%s depends on %s - please provide both values!"
+msgstr "'%s' depende de '%s' - por favor informe ambos os valores!"
+
+#: include/utils/class_msgPool.inc:244
+#, fuzzy, php-format
+msgid "There is already an entry with this %s attribute in the system!"
+msgstr "Já existe uma entrada com '%s' atributo no sistema!"
+
+#: include/utils/class_msgPool.inc:250
+#, fuzzy, php-format
+msgid "The required field %s is empty!"
+msgstr "O campo '%s' é requerido e esta vázio!"
+
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
+msgstr "Exemplo"
+
+#: include/utils/class_msgPool.inc:278
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters"
+msgstr "O Campo '%s' contém caracteres inválidos"
+
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s is not allowed:"
+msgstr "'%s' não é permitido:"
+
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s are not allowed!"
+msgstr "'%s' não são permitidos!"
+
+#: include/utils/class_msgPool.inc:282
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters!"
+msgstr "O Campo '%s' contém caracteres inválidos!"
+
+#: include/utils/class_msgPool.inc:289
+#, fuzzy, php-format
+msgid "Missing %s PHP extension!"
+msgstr "Faltando %s extensão do PHP"
+
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
+#: ihtml/themes/default/copyPasteDialog.tpl:21
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
+#: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
+#: ihtml/themes/default/msg_dialog.tpl:139
+#: ihtml/themes/default/msg_dialog.tpl:144
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
+#, php-format
+msgid "OK"
+msgstr ""
+
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
+msgstr "Aplicar"
+
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
+msgstr "Salvar"
+
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
+msgstr "Adicionar"
+
+#: include/utils/class_msgPool.inc:319
+#, php-format
+msgid "Add %s"
+msgstr "Adicionar %s"
+
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
+msgstr "Excluir"
+
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete %s"
+msgstr "Excluir %s"
+
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
+msgstr "Ajuste"
+
+#: include/utils/class_msgPool.inc:331
+#, php-format
+msgid "Set %s"
+msgstr "Configurar %s"
+
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit..."
+msgstr "Editar..."
+
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit %s..."
+msgstr "Editar %s..."
+
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
+msgstr "Voltar"
+
+#: include/utils/class_msgPool.inc:363
+#, php-format
+msgid "This account has no valid %s extensions!"
+msgstr "Esta conta não tem extensões válidas de %s!"
+
+#: include/utils/class_msgPool.inc:369
+#, php-format
+msgid ""
+"This account has %s settings enabled. You can disable them by clicking below."
+msgstr ""
+"Essa conta tem as configurações de %s habilitado. Você pode desativá-los "
+"clicando abaixo."
+
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, php-format
+msgid ""
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
+msgstr ""
+"Essa conta tem as configurações de %s habilitado. Para desativar, você "
+"precisa remover a configuração %s primeiro!"
+
+#: include/utils/class_msgPool.inc:388
+#, php-format
+msgid ""
+"This account has %s settings disabled. You can enable them by clicking below."
+msgstr "Configurações de %s desabilitado. Você pode ativa-la clicando abaixo."
+
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, php-format
+msgid ""
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
+msgstr ""
+"Configurações de %s desabilitado. Para habilitar, você precisa adicionar as "
+"configurações de '%s' primeiro!"
+
+#: include/utils/class_msgPool.inc:406
+#, php-format
+msgid "Add %s settings"
+msgstr "Adicionar configurações de %s"
+
+#: include/utils/class_msgPool.inc:412
+#, php-format
+msgid "Remove %s settings"
+msgstr "Remover configurações de %s"
+
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
+msgstr ""
+"Clique no botão editar abaixo para alterar as informações neste diálogo"
+
+#: include/utils/class_msgPool.inc:424
+msgid "January"
+msgstr "Janeiro"
+
+#: include/utils/class_msgPool.inc:424
+msgid "February"
+msgstr "Fevereiro"
+
+#: include/utils/class_msgPool.inc:424
+msgid "March"
+msgstr "Março"
+
+#: include/utils/class_msgPool.inc:424
+msgid "April"
+msgstr "Abril"
+
+#: include/utils/class_msgPool.inc:425
+msgid "May"
+msgstr "Maio"
+
+#: include/utils/class_msgPool.inc:425
+msgid "June"
+msgstr "Junho"
+
+#: include/utils/class_msgPool.inc:425
+msgid "July"
+msgstr "Julho"
+
+#: include/utils/class_msgPool.inc:425
+msgid "August"
+msgstr "Agosto"
+
+#: include/utils/class_msgPool.inc:425
+msgid "September"
+msgstr "Setembro"
+
+#: include/utils/class_msgPool.inc:426
+msgid "October"
+msgstr "Outubro"
+
+#: include/utils/class_msgPool.inc:426
+msgid "November"
+msgstr "Novembro"
+
+#: include/utils/class_msgPool.inc:426
+msgid "December"
+msgstr "Dezembro"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Sunday"
+msgstr "Domingo"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Monday"
+msgstr "Segunda"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
+msgstr "Terça"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Wednesday"
+msgstr "Quarta"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
+msgstr "Quinta"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
+msgstr "Sexta"
+
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
+msgstr "Sábado"
+
+#: include/utils/class_msgPool.inc:439
+#, fuzzy
+msgid "MySQL operation failed!"
+msgstr "Operação do MySQL falhou!"
+
+#: include/utils/class_msgPool.inc:447
+msgid "read operation"
+msgstr "operação de leitura"
+
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
+msgstr "operação de adição"
+
+#: include/utils/class_msgPool.inc:447
+msgid "modify operation"
+msgstr "operação de modificação"
+
+#: include/utils/class_msgPool.inc:448
+msgid "delete operation"
+msgstr "operação de exclusão"
+
+#: include/utils/class_msgPool.inc:448
+msgid "search operation"
+msgstr "operação de pesquisa"
+
+#: include/utils/class_msgPool.inc:448
+msgid "authentication"
+msgstr "autenticação"
+
+#: include/utils/class_msgPool.inc:451
+#, fuzzy, php-format
+msgid "LDAP %s failed!"
+msgstr "LDAP %s falhou!"
+
+#: include/utils/class_msgPool.inc:453
+msgid "LDAP operation failed!"
+msgstr "Operação no LDAP falhou"
+
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
+msgstr "Objeto"
+
+#: include/utils/class_msgPool.inc:469
+msgid "Upload failed!"
+msgstr "Upload falhou!"
+
+#: include/utils/class_msgPool.inc:472
+#, php-format
+msgid "Upload failed: %s"
+msgstr "Upload falhou: %s"
+
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
+msgstr "Falha na comunicação com o serviço de infraestrutura!"
+
+#: include/utils/class_msgPool.inc:481
+#, php-format
+msgid "Communication failure with the infrastructure service: %s"
+msgstr "Falha na comunicação com o serviço de infraestrutura: %s"
+
+#: include/utils/class_msgPool.inc:488
+#, fuzzy
+msgid "Communication failure with the GOsa-NG service!"
+msgstr "Falha na comunicação com o serviço de infraestrutura!"
+
+#: include/utils/class_msgPool.inc:490
+#, fuzzy, php-format
+msgid "Communication failure with the GOsa-NG service: %s"
+msgstr "Falha na comunicação com o serviço de infraestrutura: %s"
+
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
+#, fuzzy, php-format
+msgid "This %s is still in use by this object: %s"
+msgstr "Este '%s' ainda esta em uso por este objeto: %s"
+
+#: include/utils/class_msgPool.inc:503
+#, fuzzy, php-format
+msgid "This %s is still in use."
+msgstr "Este '%s' ainda esta em uso."
+
+#: include/utils/class_msgPool.inc:505
+#, fuzzy, php-format
+msgid "This %s is still in use by these objects: %s"
+msgstr "Este '%s' ainda esta sendo usado por estes objetos: %s"
+
+#: include/utils/class_msgPool.inc:511
+#, fuzzy, php-format
+msgid "File %s does not exist!"
+msgstr "O arquivo '%s' não existe!"
+
+#: include/utils/class_msgPool.inc:517
+#, fuzzy, php-format
+msgid "Cannot open file %s for reading!"
+msgstr "Não é possível abrir o arquivo '%s' para leitura!"
+
+#: include/utils/class_msgPool.inc:523
+#, fuzzy, php-format
+msgid "Cannot open file %s for writing!"
+msgstr "Nã é possíve abrir o arquivo '%s' para gravação!"
+
+#: include/utils/class_msgPool.inc:529
+#, fuzzy, php-format
+msgid ""
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
+msgstr ""
+"O valor para '%s' não esta configurado ou é inválido, por favor verifique "
+"seu arquivo de configuração!"
+
+#: include/utils/class_msgPool.inc:535
+#, fuzzy, php-format
+msgid "Cannot delete file %s!"
+msgstr "Não foi possível excluir o arquivo '%s'!"
+
+#: include/utils/class_msgPool.inc:541
+#, fuzzy, php-format
+msgid "Cannot create folder %s!"
+msgstr "Não é possível criar a pasta '%s'!"
+
+#: include/utils/class_msgPool.inc:547
+#, fuzzy, php-format
+msgid "Cannot delete folder %s!"
+msgstr "Não é possível excluir a pasta '%s'!"
+
+#: include/utils/class_msgPool.inc:553
+#, php-format
+msgid "Checking for %s support"
+msgstr "Verificando suporte para %s"
+
+#: include/utils/class_msgPool.inc:559
+#, php-format
+msgid "Install and activate the %s PHP module."
+msgstr "Instalar e ativar o módulo %s do PHP."
+
+#: include/utils/class_msgPool.inc:565
+#, fuzzy, php-format
+msgid ""
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
+msgstr ""
+"Não é possível inicializar a classe '%s'! Talvez haja um plugin faltando na "
+"configuração do gosa?"
+
+#: include/utils/class_msgPool.inc:571
+#, fuzzy
+msgid ""
+"The supplied base is not valid and has been reset to its previous value!"
+msgstr "A base não é válida e foi redefinida para o valor anterior!"
+
+#: include/utils/class_timezone.inc:47
+#, fuzzy, php-format
+msgid "The configured timezone %s is not valid!"
+msgstr "Não é possivel ler o arquivo de configuração do GOsa: %s/%s"
+
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
+msgstr "Aviso"
+
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+msgid "Fatal error"
+msgstr "Erro fatal"
+
+#: include/utils/class_xml.inc:51
+#, fuzzy
+msgid "XML error"
+msgstr "erro XML "
+
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
+msgstr ""
+
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
+msgstr ""
+
+#: include/class_listing.inc:319
+msgid "Select all"
+msgstr "Selecionar todos"
+
+#: include/class_listing.inc:578
+msgid "created by"
+msgstr "criado por"
+
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
+msgid "Root"
+msgstr "Raiz"
+
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
+msgstr ""
+
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
+msgstr ""
+
+#: include/class_listing.inc:1079
+msgid "Reload list"
+msgstr "Recarregar lista"
+
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
+msgid "Actions"
+msgstr "Ações"
+
+#: include/class_listing.inc:1453
+msgid "Copy"
+msgstr "Copiar"
+
+#: include/class_listing.inc:1459
+msgid "Cut"
+msgstr "Cortar"
+
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
+msgid "Paste"
+msgstr "Colar"
+
+#: include/class_listing.inc:1492
+msgid "Cut this entry"
+msgstr "Cortar esta entrada"
+
+#: include/class_listing.inc:1501
+msgid "Copy this entry"
+msgstr "Copiar esta entrada"
+
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
+msgid "Restore snapshots"
+msgstr "Restaurar snapshots"
+
+#: include/class_listing.inc:1549
+msgid "Export list"
+msgstr "Exportar lista"
+
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
+#, fuzzy
+msgid "Restore snapshot"
+msgstr "Restaurar snapshot"
+
+#: include/class_listing.inc:1591
+#, fuzzy
+msgid "Create new snapshot for this object"
+msgstr "Criar novo snapshot deste objeto"
+
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
+#, fuzzy
+msgid "Parent filter"
+msgstr "Impressoras"
+
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
+msgstr "Nome"
+
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
+msgstr "Descrição"
+
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
+msgstr "Categoria"
+
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+#, fuzzy
+msgid "Options"
+msgstr "Ações"
+
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
+msgid "LDAP error"
+msgstr "Erro LDAP"
+
+#: include/class_log.inc:87
+#, fuzzy, php-format
+msgid "Logging failed: %s"
+msgstr "Logging failed: %s"
+
+#: include/class_log.inc:102
+#, fuzzy, php-format
+msgid "Invalid option %s specified!"
+msgstr "a opção '%s' inválida foi especificada!"
+
+#: include/class_log.inc:106
+#, fuzzy
+msgid "Specified 'objectType' is empty or invalid!"
+msgstr "ObjectType especificado esta vazio ou inválido!"
+
+#: include/class_multi_plug.inc:362
+#, fuzzy
+msgid "You are currently editing multiple entries."
+msgstr "Você esta editando multiplas entradas."
+
+#: include/class_multi_plug.inc:394
+#, fuzzy
+msgid "Reset password"
+msgstr "Salvar senha"
+
+#: include/class_multi_plug.inc:394
+#, fuzzy
+msgid "The user password has been reset. Please set a new password!"
+msgstr ""
+"A senha do usuário foi reiniciada, por favor informe um valor para a nova "
+"senha!"
+
+#: include/class_tabs.inc:72
+#, fuzzy, php-format
+msgid "No plugin definition for %s found: please check the configuration file!"
+msgstr ""
+"Sem definição encontrada para inicializar o plugin '%s', verifique o seu "
+"arquivo de configuração."
+
+#: include/class_tabs.inc:287
+#, fuzzy, php-format
+msgid "Delete process has been canceled by plugin %s: %s"
+msgstr "Processo de exclusão foi cancelado pelo plugin '%s': %s"
+
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
+msgstr "ACL"
+
+#: include/class_tabs.inc:425
+msgid "References"
+msgstr "Referências"
+
+#: include/functions_helpviewer.inc:45
+#, fuzzy, php-format
+msgid "XML error in guide.xml: %s at line %s"
+msgstr "Erro no XML guide.xml: %s na linha %d"
+
+#: include/functions_helpviewer.inc:88
+#, fuzzy
+msgid "No help available for this plug-in."
+msgstr "Sem arquivo de ajuda para este plugin."
+
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
+msgstr "anterior"
+
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
+msgid "next"
+msgstr "próximo"
+
+#: include/functions_helpviewer.inc:388
+#, php-format
+msgid "%s results for your search with the keyword %s"
+msgstr "%s resultados para sua busca com a palavra-chave %s"
+
+#: include/functions_helpviewer.inc:461
+#, fuzzy, php-format
+msgid "%s%% hit rate in file %s"
+msgstr "%s%% taxa de acerto no arquivo %s"
+
+#: include/class_msg_dialog.inc:124
+msgid "Please fix the above error and reload the page."
+msgstr "Corrija o erro acima e recarregue a página."
+
+#: include/class_plugin.inc:581
+msgid ""
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
+msgstr ""
+
+#: include/class_plugin.inc:1411
+#, php-format
+msgid "Changing ACL DN from %s to %s"
+msgstr ""
+
+#: include/class_SnapShotDialog.inc:55
+#, fuzzy
+msgid "Date"
+msgstr "Colar"
+
+#: include/class_SnapShotDialog.inc:94
+#, fuzzy, php-format
+msgid "You are about to delete the snapshot %s."
+msgstr "Você esta preste a excluir o snapshot '%s'."
+
+#: include/class_SnapShotDialog.inc:143
+#, fuzzy
+msgid "Delete snapshot"
+msgstr "Criar snapshot"
+
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+#, fuzzy
+msgid "Y-m-d, H:i:s"
+msgstr "Y-m-d, H:i:s"
+
+#: include/class_pathNavigator.inc:86
+#, fuzzy
+msgid "Welcome to GOsa"
+msgstr "Bem-vindo ao assistente de configuração do GOsa"
+
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
+msgstr "Não é possível encontrar um método adequado para a senha atual!"
+
+#: include/class_sortableListing.inc:234
+#, fuzzy
+msgid "Sortable list"
+msgstr "Exportar lista"
+
+#: include/class_sortableListing.inc:239
+msgid "Edit this entry"
+msgstr "Editar entrada"
+
+#: include/class_sortableListing.inc:244
+msgid "Delete this entry"
+msgstr "Excluir entrada"
+
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+#, fuzzy
+msgid "unknown"
+msgstr "Desconhecido"
+
+#: include/class_configRegistry.inc:197
+#, php-format
+msgid "%s has version %s but %s is required!"
+msgstr ""
+
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
+msgstr ""
+
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+#, fuzzy
+msgid "The following object classes are outdated:"
+msgstr "As seguintes referências serão atualizadas"
+
+#: include/class_configRegistry.inc:252
+msgid ""
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
+msgstr ""
+
+#: include/class_configRegistry.inc:254
+#, fuzzy
+msgid "Schema validation error"
+msgstr "Erro de autenticação"
+
+#: include/class_configRegistry.inc:689
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a bool value!"
+msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#: include/class_configRegistry.inc:704
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a string!"
+msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#: include/class_configRegistry.inc:719
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be numeric!"
+msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#: include/class_configRegistry.inc:734
+#, fuzzy, php-format
+msgid "The path %s specified for %s:%s is invalid!"
+msgstr "'%s' comando para o plugin %s é inválido!"
+
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
+msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#: include/class_configRegistry.inc:755
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
+msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not writeable!"
+msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#: include/class_configRegistry.inc:802
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not writeable!"
+msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#: include/class_configRegistry.inc:820
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s does not exists!"
+msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#: include/class_configRegistry.inc:825
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not readable!"
+msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#: include/class_configRegistry.inc:841
+#, fuzzy, php-format
+msgid "The command %s specified for %s:%s is invalid!"
+msgstr "'%s' o comando (%s) para o plugin %s é inválido!"
+
+#: include/class_configRegistry.inc:856
+#, fuzzy, php-format
+msgid "The DN %s specified for %s:%s is invalid!"
+msgstr "'%s' comando para o plugin %s é inválido!"
+
+#: include/class_configRegistry.inc:871
+#, fuzzy, php-format
+msgid "The RDN %s specified for %s:%s is invalid!"
+msgstr "'%s' comando para o plugin %s é inválido!"
+
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
+msgstr "Ao gerar esta página o interpretador do PHP gerou alguns erros!"
+
+#: include/php_setup.inc:110
+#, fuzzy
+msgid "Send bug report"
+msgstr "Enviar relatório de erro"
+
+#: include/php_setup.inc:114
+msgid "Toggle details"
+msgstr ""
+
+#: include/php_setup.inc:123
+msgid "PHP error"
+msgstr "Erro PHP"
+
+#: include/php_setup.inc:142
+#, fuzzy
+msgid "class"
+msgstr "classes"
+
+#: include/php_setup.inc:148
+#, fuzzy
+msgid "function"
+msgstr "function"
+
+#: include/php_setup.inc:153
+#, fuzzy
+msgid "static"
+msgstr "stático"
+
+#: include/php_setup.inc:157
+#, fuzzy
+msgid "method"
+msgstr "método"
+
+#: include/php_setup.inc:190
+#, fuzzy
+msgid "Traceback"
+msgstr "Marca"
+
+#: include/php_setup.inc:191
+#, fuzzy
+msgid "File"
+msgstr "Arquivo"
+
+#: include/php_setup.inc:191
+#, fuzzy
+msgid "Line"
+msgstr "Linha"
+
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+#, fuzzy
+msgid "Type"
+msgstr "Tipo"
+
+#: include/php_setup.inc:192
+#, fuzzy
+msgid "Arguments"
+msgstr "Arguments"
+
+#: include/class_certificate.inc:73
+msgid "Certificate is empty!"
+msgstr "Certificado esta vazio!"
+
+#: include/class_certificate.inc:100
+#, fuzzy
+msgid "Cannot load certificate: only PEM and DER are supported!"
+msgstr "Não é possível carregar o certificado - somente PEM/DER é suportado!"
+
+#: include/class_certificate.inc:115
+#, fuzzy
+msgid "Cannot extract information for non PEM certificates!"
+msgstr "Não é possível extrair informações de certificados não PEM!"
+
+#: include/class_certificate.inc:219
+msgid "No valid certificate loaded!"
+msgstr "Nenhum certificado válido carregado!"
+
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+#, fuzzy
+msgid "Requested channel does not exist!"
+msgstr "O canal solicitado não existe! Por favor, contate o administrador."
+
+#: include/functions.inc:151
+#, fuzzy, php-format
+msgid "Fatal error: no class locations defined - please run %s to fix this"
+msgstr ""
+"Erro fatal: Não locais definidos para a classe - por favor execute '%s' para "
+"corrigir isso"
+
+#: include/functions.inc:158
+#, fuzzy, php-format
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
+msgstr ""
+"Erro fatal: Não foi possível instanciar a classe '%s' - tente executar '%s' "
+"para corrigir isso"
+
+#: include/functions.inc:483
+#, fuzzy, php-format
+msgid "Error while connecting to LDAP: %s"
+msgstr "Erro fatal: Erro enquanto conectava no LDAP. O servidor informou '%s'."
+
+#: include/functions.inc:554 include/functions.inc:640
+#, fuzzy
+msgid "User ID is not unique!"
+msgstr "sambaUnixIdPool não é único!"
+
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
+msgstr ""
+
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Cannot store lock information in LDAP!"
+msgstr ""
+"Não é possível detectar informações sobre os esquemas do LDAP instalado!"
+
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Error: %s"
+msgstr "Erro"
+
+#: include/functions.inc:1294
+#, fuzzy, php-format
+msgid "The current size limit of %d entries is exceeded!"
+msgstr "O tamanho limite %d de entradas foi execedido!"
+
+#: include/functions.inc:1296
+#, php-format
+msgid "Set the size limit to %s"
+msgstr ""
+
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
+msgid "Configure"
+msgstr "Configurar"
+
+#: include/functions.inc:1313
+#, fuzzy
+msgid "list is incomplete"
+msgstr "O filtro esta incompleto!"
+
+#: include/functions.inc:1663
+msgid "Continue anyway"
+msgstr "Continuar de qualquer maneira"
+
+#: include/functions.inc:1665
+msgid "Edit anyway"
+msgstr "Editar de qualquer maneira"
+
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
+msgstr ""
+
+#: include/functions.inc:1909
+msgid "Entries per page"
+msgstr "Entradas por página"
+
+#: include/functions.inc:2087
+#, php-format
+msgid "GOsa %s"
+msgstr ""
+
+#: include/functions.inc:2094
+#, fuzzy, php-format
+msgid "GOsa %s snapshot (Rev %s)"
+msgstr "GOsa development snapshot (Rev %s)"
+
+#: include/functions.inc:2099
+#, fuzzy, php-format
+msgid "GOsa development snapshot (Rev %s)"
+msgstr "GOsa development snapshot (Rev %s)"
+
+#: include/functions.inc:2195
+#, fuzzy, php-format
+msgid "File %s cannot be deleted!"
+msgstr "O arquivo '%s' não pode ser excluido."
+
+#: include/functions.inc:2225 include/functions.inc:2245
+#, fuzzy
+msgid "Cannot write revision file!"
+msgstr "Não foi possível escrever o arquivo de revisão!"
+
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
+msgid "'baseIdHook' is not available. Using default base!"
+msgstr "'baseldHook' não disponível. Usando a base padrão!"
+
+#: include/functions.inc:2550
+#, fuzzy
+msgid ""
+"Cannot read schema information from LDAP. Schema validation is not possible!"
+msgstr ""
+"Não é possível obter informações sobre o esquema do servidor. Nenhuma "
+"verificação do esquema possível!"
+
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
+msgstr ""
+
+#: include/functions.inc:2583
+#, fuzzy
+msgid ""
+"This class is used to lock entries in order to prevent multiple edits at a "
+"time."
+msgstr ""
+"Utilizado para bloquear as entradas atualmente editado para evitar várias "
+"alterações ao mesmo tempo."
+
+#: include/functions.inc:2628
+#, fuzzy, php-format
+msgid "Required object class %s is missing!"
+msgstr "Classe de objeto '%s' é requerida e esta ausente!"
+
+#: include/functions.inc:2631
+#, fuzzy, php-format
+msgid "Optional object class %s is missing!"
+msgstr "Classe de objeto '%s' é opcional esta ausente!"
+
+#: include/functions.inc:2636
+#, fuzzy, php-format
+msgid "Wrong version of required object class %s (!=%s) detected!"
+msgstr "Conflito de versão para a classe de objeto necessária: '%s' (!=%s)!"
+
+#: include/functions.inc:2639
+#, fuzzy, php-format
+msgid "Class available"
+msgstr "Classe(s) disponível(is)"
+
+#: include/functions.inc:2661
+msgid ""
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
+msgstr ""
+
+#: include/functions.inc:2662
+#, fuzzy
+msgid ""
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
+msgstr ""
+"Para usar a rf2307bis os grupos da classe de objetos 'posixGroup' devem ser "
+"AUXILIARY"
+
+#: include/functions.inc:2666
+msgid ""
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
+msgstr ""
+
+#: include/functions.inc:2667
+#, fuzzy
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
+msgstr "A classe de objeto 'posixGroup' deve ser STRUCTURAL"
+
+#: include/functions.inc:2692
+msgid "German"
+msgstr "Alemão"
+
+#: include/functions.inc:2693
+msgid "French"
+msgstr "Francês"
+
+#: include/functions.inc:2694
+msgid "Italian"
+msgstr "Italiano"
+
+#: include/functions.inc:2695
+msgid "Spanish"
+msgstr "Espanhol"
+
+#: include/functions.inc:2696
+msgid "English"
+msgstr "Inglês"
+
+#: include/functions.inc:2697
+msgid "Dutch"
+msgstr "Holandês"
+
+#: include/functions.inc:2698
+msgid "Polish"
+msgstr "Polonês"
+
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
+msgstr ""
+
+#: include/functions.inc:2701
+msgid "Chinese"
+msgstr "Chinês"
+
+#: include/functions.inc:2702
+msgid "Vietnamese"
+msgstr "Vietnamita"
+
+#: include/functions.inc:2703
+msgid "Russian"
+msgstr "Russo"
+
+#: include/functions.inc:2896
+#, fuzzy
+msgid "Cannot detect password hash!"
+msgstr "Não é possível gerar o hash do samba!"
+
+#: include/functions.inc:2937 include/functions.inc:3012
+#, php-format
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: include/functions.inc:2968
+#, fuzzy
+msgid "Password change failed!"
+msgstr "Alterar senha"
+
+#: include/functions.inc:2976
+#, php-format
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: include/functions.inc:3080
+#, fuzzy
+msgid "Cannot generate SAMBA hash!"
+msgstr "Não é possível gerar o hash do samba!"
+
+#: include/functions.inc:3095
+#, fuzzy, php-format
+msgid "Generating SAMBA hash by running %s failed: check %s!"
+msgstr ""
+"Não foi possível gerar o hash do samba: '%s' falhou, verifique o "
+"'sambaHashHook'!"
+
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
+#, fuzzy
+msgid "Cannot allocate free ID:"
+msgstr "Não é possível alocar um ID livre:"
+
+#: include/functions.inc:3373
+#, fuzzy
+msgid "unknown idAllocation method!"
+msgstr "método idAllocation desconhecido!"
+
+#: include/functions.inc:3387
+#, php-format
+msgid "%sPoolMin >= %sPoolMax!"
+msgstr "%sPoolMin >= %sPoolMax!"
+
+#: include/functions.inc:3417
+msgid "Cannot create sambaUnixIdPool entry!"
+msgstr "Não é possível criar a entrada sambaUnixIdPool!"
+
+#: include/functions.inc:3425
+msgid "sambaUnixIdPool is not unique!"
+msgstr "sambaUnixIdPool não é único!"
+
+#: include/functions.inc:3437 include/functions.inc:3441
+msgid "no ID available!"
+msgstr "sem ID disponíveis"
+
+#: include/functions.inc:3465
+#, fuzzy
+msgid "maximum number of tries exceeded!"
+msgstr "tentativas máxima excedida!"
+
+#: include/functions.inc:3525
+#, fuzzy
+msgid "Cannot allocate free ID!"
+msgstr "Não é possível alocar um ID livre"
+
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
+msgstr "Procurar"
+
+#: include/class_filter.inc:226
+#, fuzzy
+msgid "Search filter"
+msgstr "Procurar na subárvore"
+
+#: include/class_filter.inc:444
+msgid "Search in subtrees"
+msgstr "Procurar na subárvore"
+
+#: include/class_filter.inc:449
+#, fuzzy
+msgid "Edit filters"
+msgstr "Editar certificados"
+
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
+msgstr "Aviso de desempenho"
+
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+#, fuzzy, php-format
+msgid "LDAP performance is poor: last query took %.2fs!"
+msgstr ""
+"O desempenho do LDAP esta baixo: A última consulta demorou cerca de %2fs!"
+
+#: include/class_ldap.inc:784
+#, fuzzy, php-format
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
+msgstr ""
+"Não é possivel criar automaticamente as subárvores com RDN '%s': nenhuma "
+"classe de objeto encontrada!"
+
+#: include/class_ldap.inc:835
+#, fuzzy, php-format
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
+msgstr ""
+"Não é possivel criar automaticamente as subárvores com RDN '%s': não "
+"suportado"
+
+#: include/class_ldap.inc:922
+#, fuzzy, php-format
+msgid "while operating on %s using LDAP server %s"
+msgstr "operando em '%s' usando o servidor LDAP '%s'"
+
+#: include/class_ldap.inc:924
+#, php-format
+msgid "while operating on LDAP server %s"
+msgstr "operando usando o servidor LDAP '%s'"
+
+#: include/class_ldap.inc:977
+#, php-format
+msgid "Command line programm %s is missing!"
+msgstr ""
+
+#: include/class_ldap.inc:1138
+#, fuzzy, php-format
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
+msgstr ""
+"Este DN não é válido: '%s'. Um bloco para a importação deve começar com "
+"'dn:...' na linha %s"
+
+#: include/class_ldap.inc:1167
+#, fuzzy, php-format
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
+msgstr ""
+"Erro enquanto importava a dn: '%s', por favor verifique seu LDIF na linha %s!"
+
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
+#, fuzzy
+msgid "All"
+msgstr "Acl"
+
+#: include/class_core.inc:114
+#, fuzzy
+msgid "All objects"
+msgstr "Mover objetos"
+
+#: include/class_core.inc:132
+#, fuzzy
+msgid "Traditional"
+msgstr "Terminal"
+
+#: include/class_core.inc:132
+msgid "Use samba pool"
+msgstr ""
+
+#: include/class_core.inc:164 include/class_core.inc:167
+#, fuzzy
+msgid "hours"
+msgstr "Mostrar usuários"
+
+#: include/class_core.inc:184
+#, fuzzy
+msgid "None"
+msgstr "nenhum"
+
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
+msgid "Automatic"
+msgstr "Automático"
+
+#: include/class_core.inc:200
+#, fuzzy
+msgid "User value"
+msgstr "Usuário"
+
+#: include/class_core.inc:209
+#, fuzzy
+msgid "Core"
+msgstr "Fechar"
+
+#: include/class_core.inc:210
+#, fuzzy
+msgid "GOsa core plugin"
+msgstr "Configurações principais do GOsa"
+
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
+msgstr ""
+
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
+msgstr ""
+
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
+msgstr ""
+
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
+msgstr ""
+
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
+msgstr ""
+
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
+msgstr ""
+
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
+msgstr ""
+
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
+msgstr ""
+
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
+msgstr ""
+
+#: include/class_core.inc:319
+#, fuzzy, php-format
+msgid "Related option"
+msgstr "operação de exclusão"
+
+#: include/class_core.inc:329
+msgid ""
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
+msgstr ""
+
+#: include/class_core.inc:340
+msgid ""
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
+msgstr ""
+
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
+msgstr ""
+
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
+msgstr ""
+
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
+msgstr ""
+
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
+msgstr ""
+
+#: include/class_core.inc:390
+msgid "Enable LDAP referral chasing."
+msgstr ""
+
+#: include/class_core.inc:400
+msgid ""
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
+msgstr ""
+
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
+msgstr ""
+
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
+msgstr ""
+
+#: include/class_core.inc:430
+#, fuzzy
+msgid "Enable warnings for non encrypted connections."
+msgstr "Exigir conexões criptografadas"
+
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
+msgstr ""
+
+#: include/class_core.inc:451
+msgid ""
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
+msgstr ""
+
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
+msgstr ""
+
+#: include/class_core.inc:472
+msgid ""
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
+msgstr ""
+
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
+msgstr ""
+
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
+msgstr ""
+
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
+msgstr ""
+
+#: include/class_core.inc:514
+msgid ""
+"ISO language code which is used to override the automatic language detection."
+msgstr ""
+
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
+msgstr ""
+
+#: include/class_core.inc:535
+msgid ""
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
+msgstr ""
+
+#: include/class_core.inc:545
+#, fuzzy
+msgid "Template engine compile directory."
+msgstr "Diretório de compilação Smarty"
+
+#: include/class_core.inc:555
+#, php-format
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
+msgstr ""
+
+#: include/class_core.inc:576
+msgid ""
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
+msgstr ""
+
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
+msgstr ""
+
+#: include/class_core.inc:596
+msgid ""
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
+msgstr ""
+
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
+msgstr ""
+
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
+msgstr ""
+
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
+msgstr ""
+
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
+
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
+
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
+
+#: include/class_core.inc:667
+msgid ""
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
+msgstr ""
+
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
+
+#: include/class_core.inc:687
+msgid ""
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
+
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
+msgstr ""
+
+#: include/class_core.inc:707
+#, fuzzy
+msgid "Connection URL for use with the gosa-ng service."
+msgstr "Falha na comunicação com o serviço de infraestrutura!"
+
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
+msgstr ""
+
+#: include/class_core.inc:727
+msgid "Password used to connect to the 'gosaRpcServer'."
+msgstr ""
+
+#: include/class_core.inc:737
+#, fuzzy
+msgid "Connection URI for use with the gosa-si service (obsolete)."
+msgstr "Falha na comunicação com o serviço de infraestrutura: %s"
+
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
+msgstr ""
+
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
+msgstr ""
+
+#: include/class_core.inc:769
+#, fuzzy
+msgid "Local time zone."
+msgstr "Localização"
+
+#: include/class_core.inc:779
+msgid ""
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
+msgstr ""
+
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
+msgstr ""
+
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
+msgstr ""
+
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
+msgstr ""
+
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
+msgstr ""
+
+#: include/class_core.inc:828
+msgid ""
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
+msgstr ""
+
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
+msgstr ""
+
+#: include/class_core.inc:848
+msgid ""
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
+msgstr ""
+
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
+msgstr ""
+
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
+msgstr ""
+
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
+msgstr ""
+
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
+msgstr ""
+
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
+msgstr ""
+
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
+msgstr ""
+
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
+msgstr ""
+
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
+msgstr ""
+
+#: include/class_core.inc:940
+#, fuzzy
+msgid "Enable TLS for LDAP connections."
+msgstr "Conexão LDAP"
+
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
+msgstr ""
+
+#: include/class_core.inc:960
+msgid ""
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
+msgstr ""
+
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
+msgstr ""
+
+#: include/class_core.inc:980
+msgid ""
+"String containing the SID for Samba setups without the Domain object in LDAP."
+msgstr ""
+
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
+msgstr ""
+
+#: include/class_core.inc:1000
+#, fuzzy
+msgid "Enable manual object snapshots."
+msgstr "Criando imagens dos objetos"
+
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
+msgstr ""
+
+#: include/class_core.inc:1020
+#, fuzzy
+msgid "DN of the snapshot administrator."
+msgstr "Admin do Domínio"
+
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
+msgstr ""
+
+#: include/class_core.inc:1041
+msgid ""
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
+msgstr ""
+
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
+msgstr ""
+
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
+msgstr ""
+
+#: include/class_config.inc:168
+#, php-format
+msgid "XML error in gosa.conf: %s at line %d"
+msgstr "Erro de XML no gosa.conf: %s na linha %d"
+
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
+msgstr ""
+
+#: include/class_config.inc:711
+msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+msgstr "sambaSID e/ou sambaRidBase faltando na configuração!"
+
+#: include/class_config.inc:1130
+msgid "Configuration"
+msgstr "Configuração"
+
+#: include/class_config.inc:1130
+#, fuzzy
+msgid ""
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
+msgstr ""
+"O arquivo de configuração que você está usando parece ser antigo. Por favor "
+"mover o arquivo de configuração GOsa para executar a instalação GOsa "
+"novamente."
+
+#: include/class_config.inc:1172 include/class_config.inc:1203
+#, fuzzy, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
+msgstr ""
+"A funcionalidade de snapshot esta habilitado, mas a variável '%s' exigida "
+"não está definida."
+
+#: include/class_config.inc:1185
+#, fuzzy, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
+msgstr ""
+"A funcionalidade de snapshot esta habilitada, mas o módulo de compressão "
+"necessário está faltando. Por favor instalar '%s'."
+
+#: include/exporter/class_PDF.inc:24
+msgid "Page"
+msgstr "Página"
+
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
+msgstr "CSV"
+
+#: include/exporter/class_pdfExporter.inc:18
+msgid "No PDF export possible: there is no FPDF library installed."
+msgstr ""
+"Não é possível exportar para PDF: não existe a biblioteca FPDF instalada."
+
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
+msgstr "PDF"
+
+#: include/class_jsonRPC.inc:38
+#, fuzzy, php-format
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
+msgstr "'%s' comando para o plugin %s é inválido!"
+
+#: include/class_jsonRPC.inc:330
+#, fuzzy, php-format
+msgid "Unknown HTTP status code %s!"
+msgstr "Tipo de ACL desconhecida '%s'!"
+
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
+msgstr "Enviar"
+
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#, php-format
+msgid "Copy and paste failed!"
+msgstr "Copiar e colar falhou!"
+
+#: include/class_CopyPasteHandler.inc:118
+#, fuzzy, php-format
+msgid "Cannot set permission for %s"
+msgstr "Não é possível configurar permissões para '%s'"
+
+#: include/class_CopyPasteHandler.inc:159
+#, fuzzy, php-format
+msgid "'%s' is no valid LDAP object"
+msgstr "'%s' não é um objeto LDAP válido"
+
+#: include/class_CopyPasteHandler.inc:176
+#, php-format
+msgid "No write permission in '%s'"
+msgstr "Sem permissão de gravação em '%s'"
+
+#: include/class_CopyPasteHandler.inc:193
+#, php-format
+msgid "Cannot set permission for '%s'"
+msgstr "Não é possível configurar permissões para '%s'"
+
+#: include/class_CopyPasteHandler.inc:396
+#, php-format
+msgid "These objects will be pasted: %s"
+msgstr "Estes objetos serão colados: %s"
+
+#: include/class_CopyPasteHandler.inc:420
+#, php-format
+msgid "This object will be pasted: %s"
+msgstr "Este objeto será colado: %s"
+
+#: include/class_CopyPasteHandler.inc:573
+msgid "Cannot paste"
+msgstr "Não é possível colar"
+
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
+msgid "Access control"
+msgstr "Controle de Acesso"
+
+#: include/class_acl.inc:28
+msgid "Manage access control lists"
+msgstr "Gerenciar lista de controle de acesso"
+
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, php-format
+msgid "All users"
+msgstr "Todos usuários"
+
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
+msgstr "Reiniciar ACLs"
+
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
+msgid "One level"
+msgstr "Um nível"
+
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
+msgid "Current object"
+msgstr "Objeto corrente"
+
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
+msgid "Complete subtree"
+msgstr "Subárvore completa"
+
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
+msgstr "Subárvore completa (permanente)"
+
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+#, fuzzy
+msgid "Use ACL defined in role"
+msgstr "Use a ACL definida no papel"
+
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
+msgstr "Usuários"
+
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
+msgstr "Grupos"
+
+#: include/class_acl.inc:254
+#, fuzzy
+msgid "Section"
+msgstr "Ações"
+
+#: include/class_acl.inc:264
+#, fuzzy
+msgid "Used"
+msgstr "Usuário"
+
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
+msgid "Member"
+msgstr "Membro"
+
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
+msgid "Permissions"
+msgstr "Permissões"
+
+#: include/class_acl.inc:574
+msgid "No ACL settings for this category!"
+msgstr "Nenhuma configuração de ACL para esta categoria!"
+
+#: include/class_acl.inc:577
+#, php-format
+msgid "ACLs for: %s"
+msgstr ""
+
+#: include/class_acl.inc:583 include/class_acl.inc:587
+msgid "category ACL"
+msgstr "categoria ACL"
+
+#: include/class_acl.inc:639
+#, fuzzy, php-format
+msgid "Edit ACL for '%s' with scope '%s'"
+msgstr "Editar ACL para '%s' - o escopo é '%s'"
+
+#: include/class_acl.inc:801 include/class_acl.inc:808
+msgid "Show/hide advanced settings"
+msgstr "Mostrar/Esconder configuração avançada"
+
+#: include/class_acl.inc:819
+msgid "Create objects"
+msgstr "Criar objetos"
+
+#: include/class_acl.inc:820
+msgid "Move objects"
+msgstr "Mover objetos"
+
+#: include/class_acl.inc:821
+msgid "Remove objects"
+msgstr "Remover objetos"
+
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
+msgstr ""
+
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
+msgstr "leitura"
+
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
+msgstr "gravação"
+
+#: include/class_acl.inc:832
+msgid "Complete object"
+msgstr "Objeto completo"
+
+#: include/class_acl.inc:984
+#, fuzzy, php-format
+msgid "Unknown ACL type '%s'!"
+msgstr "Tipo de ACL desconhecida '%s'!"
+
+#: include/class_acl.inc:1029
+#, php-format
+msgid "Unknown entry '%s'!"
+msgstr "Entrada desconhecida '%s'!"
+
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
+#, fuzzy, php-format
+msgid "ACL role: %s"
+msgstr "Papel de ACL"
+
+#: include/class_acl.inc:1095
+#, fuzzy
+msgid "unknown ACL role"
+msgstr "Papel desconhecido"
+
+#: include/class_acl.inc:1103
+#, php-format
+msgid "Contains settings for these objects: %s"
+msgstr "Contém configurações para estes objetos: %s"
+
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+msgid "Members"
+msgstr "Membros"
+
+#: include/class_acl.inc:1120
+msgid "inactive"
+msgstr "inativo"
+
+#: include/class_acl.inc:1120
+msgid "No members"
+msgstr "Sem membros"
+
+#: include/class_acl.inc:1291
+msgid "Access control list"
+msgstr "Lista de controle de acesso"
+
+#: include/class_acl.inc:1297
+msgid "ACL roles"
+msgstr "Papel de ACL"
+
+#: include/class_acl.inc:1300
+#, fuzzy
+msgid "ACL Entries"
+msgstr "Papel de ACL"
+
+#: include/class_socketClient.inc:108
+#, fuzzy, php-format
+msgid "Socket connection to %s:%s failed: %s"
+msgstr "A conexão com o host '%s:%s' falhou: %s"
+
+#: include/class_socketClient.inc:191
+#, fuzzy, php-format
+msgid "Socket timeout of %s seconds reached!"
+msgstr "Socket timeout de %s segundos atingidos"
+
+#: include/class_userFilterEditor.inc:254
+#, php-format
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
+msgstr ""
+
+#: include/class_gosaSupportDaemon.inc:112
+msgid "GOsa support daemon"
+msgstr "GOsa support daemon"
+
+#: include/class_gosaSupportDaemon.inc:787
+msgid "Cannot not parse XML!"
+msgstr "Não é possivel analisar o XML!"
+
+#: include/class_gosaSupportDaemon.inc:1184
+#, php-format
+msgid "Cannot send abort event for entry %s!"
+msgstr "Não é possível abortar o evento para a entrada %s!"
+
+#: include/class_gosaSupportDaemon.inc:1204
+#, php-format
+msgid "Cannot remove entry %s!"
+msgstr "Não é possível remover a entrada %s!"
+
+#: include/class_GOsaRegistration.inc:127
+msgid ""
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
+msgstr ""
+
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
+#, fuzzy, php-format
+msgid ""
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
+msgstr ""
+"A funcionalidade de snapshot esta habilitado, mas a variável '%s' exigida "
+"não está definida."
+
+#: include/class_SnapshotHandler.inc:58
+#, fuzzy, php-format
+msgid ""
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
+msgstr ""
+"A funcionalidade de snapshot esta habilitada, mas o módulo de compressão "
+"necessário está faltando. Por favor instalar '%s'."
+
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
+#, fuzzy
+msgid "Filter editor"
+msgstr "Erro de filtro"
+
+#: ihtml/themes/default/userFilterEditor.tpl:8
+#, fuzzy
+msgid "Filter properties"
+msgstr "Editar propriedade gerais"
+
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+#, fuzzy
+msgid "Public visible"
+msgstr "Visibilidade pública"
+
+#: ihtml/themes/default/userFilterEditor.tpl:45
+msgid "Enabled"
+msgstr "Habilitado"
+
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
+msgstr ""
+
+#: ihtml/themes/default/userFilterEditor.tpl:69
+#, fuzzy
+msgid "Query"
+msgstr "usuários"
+
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+msgid "Assigned ACL for current entry"
+msgstr "Atribuir ACL para a entrada atual"
+
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
+msgid "New ACL"
+msgstr "Nova ACL"
+
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
+msgid "ACL type"
+msgstr "ACL tipo"
+
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "Select an ACL type"
+msgstr "Selecione um tipo de ACL"
+
+#: ihtml/themes/default/acl.tpl:40
+msgid "Additional filter options"
+msgstr "Opções de filtros adicional"
+
+#: ihtml/themes/default/acl.tpl:54
+#, fuzzy
+msgid "Member selection"
+msgstr "Objetos membros"
+
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
+msgstr "Usar membros de"
+
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+#, fuzzy
+msgid "List message possible targets"
+msgstr "Lista de possíveis alvos de mensagem"
+
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
+msgstr "Lista de recipientes de mensagens"
+
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+msgid "List of available ACL categories"
+msgstr "Lista de categorias de ACL disponíveis"
+
+#: ihtml/themes/default/acl.tpl:120
+msgid "ACL for this object"
+msgstr "ACL para este objeto"
+
+#: ihtml/themes/default/acl.tpl:126
+msgid "Available roles"
+msgstr "Papéis disponíveis"
+
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+#, fuzzy
+msgid "Attention"
+msgstr "Autenticação"
+
+#: ihtml/themes/default/removeEntries.tpl:14
+#, fuzzy
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
+msgstr ""
+"Portanto - se você está certo - pressione 'Excluir' para continuar ou "
+"\"Cancelar\" para abortar."
+
+#: ihtml/themes/default/userFilter.tpl:1
+#, fuzzy
+msgid "List of defined filters"
+msgstr "Lista de departamentos"
+
+#: ihtml/themes/default/snapshotdialog.tpl:3
+msgid "Restoring object snapshots"
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:6
+msgid ""
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
+msgstr ""
+"Este procedimento irá restaurar uma imagem do objeto selecionado. Ele irá "
+"substituir o objeto existente após pressionar o botão restaurar."
+
+#: ihtml/themes/default/snapshotdialog.tpl:9
+#, fuzzy
+msgid ""
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
+msgstr ""
+"Lembre-se que a configuração de DNS e as entradas do banco de dados não pôde "
+"ser restaurado. Para alguns objetos só é nescessario para abrir e salvá-los "
+"novamente (goFon), mas alguns itens devem ser recriados manualmente (GLPI)."
+
+#: ihtml/themes/default/snapshotdialog.tpl:12
+msgid ""
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
+msgstr ""
+"Não se esqueça de verificar as referências a outros objetos, por exemplo, se "
+"a impressora selecionada ainda existe?"
+
+#: ihtml/themes/default/snapshotdialog.tpl:29
+msgid "There is no snapshot available that can be restored"
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:50
+msgid "Creating object snapshots"
+msgstr "Criando imagens dos objetos"
+
+#: ihtml/themes/default/snapshotdialog.tpl:53
+msgid ""
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
+msgstr ""
+"Este procedimento irá criar um imagem do objeto selecionado. Ele será "
+"armazenado dentro de um árvore especial do seu sistema de diretório e podem "
+"ser recuperados mais tarde."
+
+#: ihtml/themes/default/snapshotdialog.tpl:56
+#, fuzzy
+msgid ""
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
+msgstr ""
+"Lembre-se que as entradas de dados, configurações de DNS e possivelmente "
+"criado em zonas de extensões de servidor não será armazenado no snapshot."
+
+#: ihtml/themes/default/snapshotdialog.tpl:71
+#, fuzzy
+msgid "Time stamp"
+msgstr "Timestamp"
+
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
+msgstr "Continuar"
+
+#: ihtml/themes/default/password.tpl:5
+msgid "Change your password"
+msgstr "Alterar sua senha"
+
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
+msgstr "Sua senha foi alterada com sucesso."
+
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
+msgid "Password change"
+msgstr "Alterar senha"
+
+#: ihtml/themes/default/password.tpl:72
+#, fuzzy
+msgid ""
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
+msgstr ""
+"Esta janela fornece uma maneira simples de alterar sua senha. Digite a senha "
+"atual e a nova senha (duas vezes) nos campos abaixo e pressione o botão "
+"'Alterar'."
+
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
+msgstr "alterar senha"
+
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
+msgstr "Diretório"
+
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
+#, fuzzy
+msgid "User name"
+msgstr "Usuário"
+
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
+msgstr "Senha atual"
+
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
+msgstr "Nova Senha"
+
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
+msgstr "Repita a nova senha"
+
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
+msgid "Password strength"
+msgstr "Complexidade"
+
+#: ihtml/themes/default/password.tpl:131
+msgid "Click here to change your password"
+msgstr "Clique aqui para alterar sua senha"
+
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
+msgstr "Salvar senha"
+
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
+msgstr "Conflito de bloqueio detectado"
+
+#: ihtml/themes/default/islocked.tpl:14
+#, fuzzy
+msgid ""
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
+msgstr ""
+"Se esta detecção de bloqueio é falsa, a outra pessoa tem, obviamente, "
+"fechado o navegador durante a operação de edição. Você pode querer assumir o "
+"bloqueio pressionando o botão 'Editar de qualquer maneira'."
+
+#: ihtml/themes/default/islocked.tpl:23
+msgid "Read only"
+msgstr "Somente leitura"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:1
+msgid "Copy & paste wizard"
+msgstr "Assistente para copiar e colar"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:7
+#, fuzzy
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
+msgstr ""
+"Alguns valores precisam ser único no diretório, enquanto algumas combinações "
+"não fazem sentido. O GOsa mostra os atributos relevantes. Por favor, "
+"mantenham os valores abaixo antes de preencher as políticas."
+
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
+msgstr "Lembre-se que algumas propriedades como 'imagens' não será copiado!"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
+msgstr ""
+"Ou se você copiar ou cortar uma entrada dentro GOsa e excluir o objeto de "
+"origem, você pode obter erros ao colar esse objeto de novo!"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+msgid "Cancel all"
+msgstr "Cancelar todos"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+msgid "Operation complete"
+msgstr "Operação finalizada"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
+msgstr "Finalizar"
+
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
+msgstr "Sua sessão do GOsa expirou!"
+
+#: ihtml/themes/default/logout.tpl:9
+#, fuzzy
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
+msgstr ""
+"A última interação com a interface web GOsa foi há algum tempo. Por razões "
+"de segurança, a sessão foi fechada. Para continuar com as tarefas "
+"administrativas, por favor conectar-se novamente."
+
+#: ihtml/themes/default/logout.tpl:16
+#, fuzzy
+msgid "Login again"
+msgstr "Registrar-se novamente"
+
+#: ihtml/themes/default/login.tpl:31
+msgid "Login to GOsa"
+msgstr ""
+
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
+msgstr "Senha"
+
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
+msgstr ""
+
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
+msgstr "Clique aqui para logar"
+
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+#, fuzzy
+msgid "Log in"
+msgstr "Usuário"
+
+#: ihtml/themes/default/sizelimit.tpl:3
+msgid ""
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
+msgstr ""
+"A opção de limite de tamanho faz operações no LDAP mais rápido e economiza o "
+"servidor LDAP. A maneira mais fácil de lidar com grandes bases de dados, sem "
+"limites de tempo longa seria limitar a pesquisa a valores menores e usar "
+"filtros para obter as entradas que você está procurando."
+
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
+msgstr "Por favor, escolha a forma de reagir para esta sessão"
+
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
+msgstr ""
+"ignorar este erro e mostrar todas as entradas que o servidor retorna LDAP"
+
+#: ihtml/themes/default/sizelimit.tpl:11
+#, fuzzy
+msgid ""
+"ignore this error and show all entries that fit into the defined size limit"
+msgstr ""
+"ignorar este erro e mostrar todas as entradas que se encaixam na definição "
+"sizelimit e deixe-me usar filtros em vez"
+
+#: ihtml/themes/default/infoPage.tpl:4
+#, fuzzy
+msgid "User information"
+msgstr "exibir informações"
+
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
+msgstr "ID do usuário"
+
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+msgid "Surname"
+msgstr "Sobrenome"
+
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+#, fuzzy
+msgid "Given name"
+msgstr "Primeiro Nome"
+
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
+msgstr "Título pessoal"
+
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
+msgstr "Título acadêmico"
+
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
+msgstr "Endereço residêncial"
+
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
+msgstr "Data de nascimento"
+
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
+msgstr "Email"
+
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
+msgid "Home phone number"
+msgstr "Telefone residêncial"
+
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
+msgstr "Empresa"
+
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
+#, fuzzy
+msgid "Organizational Unit"
+msgstr "Nome da Empresa"
+
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
+msgstr "Localização"
+
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
+msgstr "Rua"
+
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
+msgid "Department number"
+msgstr "Número do departamento"
+
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
+msgid "Employee number"
+msgstr "Registro de funcionário"
+
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
+msgstr "Tipo de funcionário"
+
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+msgid "User settings"
+msgstr "Configurações do usuário"
+
+#: ihtml/themes/default/infoPage.tpl:55
+#, fuzzy
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
+msgstr ""
+"Não foi possível criar as informações de bloqueio na árvore LDAP. Por favor "
+"entre em contato com o Administrador!"
+
+#: ihtml/themes/default/infoPage.tpl:61
+#, fuzzy
+msgid "Administrative contact"
+msgstr "Configurações administrativas"
+
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
+msgstr "A equipe GOsa"
+
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
+msgstr ""
+
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
+#, fuzzy
+msgid "Error message"
+msgstr "Enviar mensagem"
+
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
+msgstr ""
+
+#: ihtml/themes/default/framework.tpl:9
+#, fuzzy
+msgid "Log out"
+msgstr "Sair"
+
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
+msgstr ""
+"Você está editando uma entrada de dados. Você quer rejeitar as mudanças?"
+
+#: ihtml/themes/default/framework.tpl:22
+#, fuzzy, php-format
+msgid "Session expires in %d!"
+msgstr "A sessão não é criptografada."
+
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
+msgstr "Visualizar a Ajuda do GOsa "
+
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
+msgstr "Índice"
+
+#: ihtml/themes/default/logout-close.tpl:5
+msgid "Your GOsa session has been closed!"
+msgstr "Sua sessão foi encerrada!"
+
+#: ihtml/themes/default/logout-close.tpl:7
+msgid ""
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
+msgstr ""
+"Por favor, feche esta janela do navegador e limpe o cache de autenticação "
+"para evitar uma re-autenticação automática pelo seu navegador."
+
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+msgid "LDAP inspection"
+msgstr "Inspeção no LDAP"
+
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
+msgstr "Analisa o seu LDAP para compatibilidade com o GOsa"
+
+#: setup/class_setupStep_Migrate.inc:59
+msgid "Checking for root object"
+msgstr "Verificando por objeto raiz"
+
+#: setup/class_setupStep_Migrate.inc:65
+msgid "Inspecting object classes in root object"
+msgstr "Inspecionando classes de objetos em objetos raiz"
+
+#: setup/class_setupStep_Migrate.inc:71
+msgid "Checking permission for LDAP database"
+msgstr "Verificando permissões no banco de dados LDAP"
+
+#: setup/class_setupStep_Migrate.inc:78
+msgid "Checking for super administrator"
+msgstr "Verificando super administrador"
+
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+msgid "LDAP query failed"
+msgstr "Consulta ao LDAP falhou"
+
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
+msgstr "Possivelmente o 'objeto raiz' esta faltando."
+
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
+msgstr "Falha"
+
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
+#, fuzzy, php-format
+msgid ""
+"The specified user '%s' does not have full access to your LDAP database."
+msgstr "O usuário '%s' não tem acesso completo ao bando de dados LDAP"
+
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
+msgstr "Não há nenhuma conta de administrador GOsa no seu LDAP"
+
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
+msgstr "Criar"
+
+#: setup/class_setupStep_Migrate.inc:377
+msgid "Migration error"
+msgstr "Erro de migração"
+
+#: setup/class_setupStep_Migrate.inc:377
+#, php-format
+msgid "Cannot add ACL for user '%s':"
+msgstr "Não é possível adicionar ACL para o usuário '%s':"
+
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
+msgid "Input error"
+msgstr "Erro de entrada"
+
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
+msgstr "UID"
+
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Password error"
+msgstr "Erro de senha"
+
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Provided passwords do not match!"
+msgstr "As senhas não conferem!"
+
+#: setup/class_setupStep_Migrate.inc:425
+msgid "Specify a valid user ID!"
+msgstr "Especifique um ID de usuário válido!"
+
+#: setup/class_setupStep_Migrate.inc:450
+#, php-format
+msgid "Adding an administrative user failed: object '%s' already exists!"
+msgstr "Falha ao adicionar um usuário administrativo: o objeto '%s' já existe!"
+
+#: setup/class_setupStep_Migrate.inc:662
+msgid ""
+"The LDAP root object is missing. It is required to use your LDAP service."
+msgstr ""
+"O objeto raiz do LDAP esta faltando. É necessário para utilizar o serviço "
+"LDAP."
+
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
+msgid "Try to create root object"
+msgstr "Tentar criar o objeto raiz"
+
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
+msgstr ""
+"O objeto raiz  não pode ser criado, você deve cria-lo por conta própria."
+
+#: setup/class_setupStep_Migrate.inc:730
+#, php-format
+msgid "Missing GOsa object class '%s'!"
+msgstr "A classe de objeto do GOsa '%s' esta ausente!"
+
+#: setup/class_setupStep_Migrate.inc:731
+msgid "Please check your installation."
+msgstr "Por favor verifique a sua instalação."
+
+#: setup/class_setupStep_Migrate.inc:752
+#, fuzzy, php-format
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
+msgstr ""
+"Não pode lidar com o tipo de objeto estrutura do seu objeto raiz. Por favor "
+"tente adicionar a classe de objeto '%s' manualmente."
+
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
+msgid "Migrate"
+msgstr "Migrar"
+
+#: setup/setup_checks.tpl:2
+msgid ""
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
+msgstr ""
+
+#: setup/setup_checks.tpl:5
+#, fuzzy
+msgid "Inspection"
+msgstr "Inspeção no LDAP"
+
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
+msgstr "Verifica módulos e extensões do PHP"
+
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
+msgstr ""
+
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
+msgstr "O GOsa não será executado sem corrigir isso."
+
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
+msgstr "O GOsa pode ser executado sem corrigir isso."
+
+#: setup/setup_checks.tpl:50
+msgid "PHP setup configuration"
+msgstr "Configurações do PHP"
+
+#: setup/setup_checks.tpl:50
+msgid "show information"
+msgstr "exibir informações"
+
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
+msgstr ""
+
+#: setup/class_setupStep_Finish.inc:40
+msgid "Write configuration file"
+msgstr "Gravando o arquivo de configuração"
+
+#: setup/class_setupStep_Finish.inc:41
+msgid "Finish - write the configuration file"
+msgstr "Concluindo - gravar arquivo de configuração"
+
+#: setup/class_setupStep_Finish.inc:106
+#, fuzzy
+msgid ""
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
+msgstr ""
+"Seu arquivo de configuração permite que todos leiam. Por favor atualize as "
+"permissões do arquivo!"
+
+#: setup/class_setupStep_Finish.inc:108
+msgid "The configuration is currently not readable or it does not exists."
+msgstr "O arquivo de configuração não permite a leitura ou ele não existe."
+
+#: setup/class_setupStep_Finish.inc:117
+#, fuzzy, php-format
+msgid ""
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
+msgstr ""
+"Depois de baixar e colocar o arquivo em %s, certifique-se que o usuário do "
+"servidor está sendo executado com é capaz de ler %s, enquanto outros "
+"usuários não devem. Você pode querer executar estes comandos para conseguir "
+"este requisito:"
+
+#: setup/class_setupStep_Ldap.inc:54
+msgid "LDAP setup"
+msgstr "Configuração do LDAP"
+
+#: setup/class_setupStep_Ldap.inc:55
+msgid "LDAP connection setup"
+msgstr "Configuração de conexão LDAP"
+
+#: setup/class_setupStep_Ldap.inc:56
+msgid ""
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
+msgstr ""
+"Esse diálogo faz a configuração básica de conectividade no LDAP para o GOsa."
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+msgid "No"
+msgstr "Não"
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+msgid "Yes"
+msgstr "Sim"
+
+#: setup/class_setupStep_Ldap.inc:113
+#, php-format
+msgid "Anonymous bind to server '%s' failed!"
+msgstr "Conexão anônima ao servidor %s falhou!"
+
+#: setup/class_setupStep_Ldap.inc:115
+#, php-format
+msgid "Bind as user '%s' failed!"
+msgstr "Conexão utilizando o usuário '%s' falhou!"
+
+#: setup/class_setupStep_Ldap.inc:120
+#, php-format
+msgid "Anonymous bind to server '%s' succeeded."
+msgstr "Conexão anônima ao servidor %s feita com sucesso."
+
+#: setup/class_setupStep_Ldap.inc:121
+msgid "Please specify user and password!"
+msgstr "Por favor informe o usuário e senha!"
+
+#: setup/class_setupStep_Ldap.inc:123
+#, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
+msgstr "Conexão utilizando o usuário '%s' no servidor '%s' feita com sucesso !"
+
+#: setup/class_setupStep_Feedback.inc:94
+msgid "UNIX accounts/groups"
+msgstr "Contas/Grupos UNIX"
+
+#: setup/class_setupStep_Feedback.inc:96
+msgid "Samba management"
+msgstr "Gerenciamento Samba"
+
+#: setup/class_setupStep_Feedback.inc:98
+#, fuzzy
+msgid "Mail system management"
+msgstr "Gerenciamento de Email"
+
+#: setup/class_setupStep_Feedback.inc:100
+msgid "FAX system administration"
+msgstr "Sistema de administração FAX"
+
+#: setup/class_setupStep_Feedback.inc:102
+msgid "Asterisk administration"
+msgstr "Administração Asterisk"
+
+#: setup/class_setupStep_Feedback.inc:104
+msgid "System inventory"
+msgstr "Sistema de inventário"
+
+#: setup/class_setupStep_Feedback.inc:106
+#, fuzzy
+msgid "System/Configuration management"
+msgstr "Sistema/Gerenciamento de Configurações"
+
+#: setup/class_setupStep_Feedback.inc:108
+#, fuzzy
+msgid "Address book"
+msgstr "Catálogo de Endereços"
+
+#: setup/class_setupStep_Feedback.inc:114
+#, fuzzy
+msgid "Feedback"
+msgstr "Resposta"
+
+#: setup/class_setupStep_Feedback.inc:115
+msgid "Get notifications or send feedback"
+msgstr "Obtenha notificações ou envie comentários"
+
+#: setup/class_setupStep_Feedback.inc:116
+msgid "Notification and feedback"
+msgstr "Notificações e Comentário"
+
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
+msgid "Setup error"
+msgstr "Erro de instalação"
+
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+#, fuzzy
+msgid "Feedback error"
+msgstr "Erro de resposta"
+
+#: setup/class_setupStep_Feedback.inc:140
+#, php-format
+msgid "Cannot send feedback to '%s': %s"
+msgstr "Não é possível enviar resposta para '%s':%s"
+
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
+msgstr "Não é possível enviar resposta: serviço temporariamente indisponível"
+
+#: setup/class_setupStep_Feedback.inc:181
+#, fuzzy
+msgid "Please specify a valid email address."
+msgstr "Por favor informe um endereço de email válido."
+
+#: setup/class_setupStep_Feedback.inc:185
+#, fuzzy
+msgid ""
+"You have to select at least one of both options, subscribe or send feedback."
+msgstr ""
+"Você deve selecionar pelo menos uma das duas opções, ou cadastrar-se ou "
+"enviar uma resposta."
+
+#: setup/setup_license.tpl:3
+msgid ""
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
+msgstr ""
+
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
+msgstr "Eu li a licença e aceito"
+
+#: setup/setup_ldap.tpl:2
+msgid ""
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
+msgstr ""
+
+#: setup/setup_ldap.tpl:9
+#, fuzzy
+msgid "Please choose the LDAP user to be used by GOsa"
+msgstr "Por favor escolha o usuário LDAP para ser utilizado pelo GOsa"
+
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
+msgid "LDAP connection"
+msgstr "Conexão LDAP"
+
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
+msgstr "Nome"
+
+#: setup/setup_ldap.tpl:35
+msgid "Connection URI"
+msgstr "URI de conexão"
+
+#: setup/setup_ldap.tpl:39
+msgid "TLS connection"
+msgstr "Usar TLS"
+
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
+#: plugins/admin/ogroups/generic.tpl:26
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
+#: plugins/admin/departments/class_domain.inc:92
+#: plugins/admin/departments/class_organizationGeneric.inc:125
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
+#: plugins/admin/departments/class_dcObject.inc:93
+#: plugins/admin/departments/domain.tpl:28
+#: plugins/admin/users/user-list.tpl:12
+msgid "Base"
+msgstr "Base"
+
+#: setup/setup_ldap.tpl:57
+msgid "Reload"
+msgstr "Recarregar"
+
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+msgid "Authentication"
+msgstr "Autenticação"
+
+#: setup/setup_ldap.tpl:66
+#, fuzzy
+msgid "Administrator DN"
+msgstr "DN Admin"
+
+#: setup/setup_ldap.tpl:71
+msgid "Select user"
+msgstr "Selecione o usuário"
+
+#: setup/setup_ldap.tpl:81
+#, fuzzy
+msgid "Automatically append LDAP base to administrator DN"
+msgstr "Adicionar automaticamente o DN admin à base LDAP."
+
+#: setup/setup_ldap.tpl:85
+#, fuzzy
+msgid "Administrator password"
+msgstr "Senha Admin"
+
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
+msgid "Schema based settings"
+msgstr "Configurações baseada nos esquema"
+
+#: setup/setup_ldap.tpl:94
+#, fuzzy
+msgid "Use RFC 2307bis compliant groups"
+msgstr "Usar rfc2307bis para grupos"
+
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
+msgid "Current status"
+msgstr "Estatus atual"
+
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
+msgstr "Informação"
+
+#: setup/setup_language.tpl:3
+msgid "Please select the preferred language"
+msgstr "Por favor selecione o idioma preferido"
+
+#: setup/setup_language.tpl:5
+#, fuzzy
+msgid ""
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
+msgstr ""
+"Neste ponto, você pode selecionar o idioma padrão do site. Escolhendo "
+"'Automático' ele usará o idioma solicitado pelo navegador. Esta configuração "
+"pode ser alterada pelo usuário."
+
+#: setup/setup_language.tpl:9
+msgid "Please select your preferred language here"
+msgstr "Por favor, selecione o idioma preferido aqui"
+
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
+msgstr ""
+
+#: setup/setup_welcome.tpl:5
+msgid ""
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
+msgstr ""
+
+#: setup/setup_welcome.tpl:9
+#, fuzzy
+msgid "What you need to generate a configuration file:"
+msgstr "Criando o seu arquivo de configuração"
+
+#: setup/setup_welcome.tpl:13
+#, fuzzy
+msgid "The hostname of your LDAP server"
+msgstr "operando usando o servidor LDAP '%s'"
+
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
+msgstr ""
+
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
+msgstr ""
+
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
+msgstr ""
+
+#: setup/setup_welcome.tpl:20
+msgid ""
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
+msgstr ""
+
+#: setup/setup_welcome.tpl:24
+#, fuzzy
+msgid "Starting the setup"
+msgstr "Configurações de idomas"
+
+#: setup/setup_welcome.tpl:26
+#, fuzzy
+msgid ""
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
+msgstr ""
+"Por razões de segurança que você precisa se autenticar para a instalação "
+"através da criação do arquivo '/ tmp/gosa.auth', contendo a ID da sessão "
+"atual no servidor de arquivos local. Isso pode ser feito executando o "
+"seguinte comando:"
+
+#: setup/setup_welcome.tpl:32
+#, fuzzy
+msgid "Click the 'Next' button when you've finished."
+msgstr "Clique no botão 'Continuar' quando você tiver concluído."
+
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
+msgid "LDAP schema check"
+msgstr "LDAP verificar esquema"
+
+#: setup/class_setupStep_Schema.inc:39
+#, fuzzy
+msgid "Perform test on your current LDAP schema"
+msgstr "Executar teste no esquema atual do LDAP"
+
+#: setup/class_setup.inc:183
+msgid "Setup"
+msgstr "Configuração"
+
+#: setup/class_setup.inc:195
+msgid "Completed"
+msgstr "Concluído"
+
+#: setup/class_setup.inc:235
+msgid "Check again"
+msgstr "Checar novamente"
+
+#: setup/class_setup.inc:238
+msgid "Next"
+msgstr "Próximo"
+
+#: setup/setup_migrate.tpl:2
+msgid ""
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
+msgstr ""
+"Durante a verificação no LDAP, nós estamos indo para buscar por várias "
+"armadilhas comuns que podem ocorrer durante a migração para o GOsa. Você "
+"pode querer resolver os problemas abaixo, afim de prestar um serviço limpo."
+
+#: setup/setup_migrate.tpl:5
+#, fuzzy
+msgid "Checks"
+msgstr "Estatus da verificação"
+
+#: setup/setup_migrate.tpl:22
+msgid "Add required object classes to the LDAP base"
+msgstr "Adicionar os objetos requeridos para a base LDAP"
+
+#: setup/setup_migrate.tpl:24
+msgid "Current"
+msgstr "Atual"
+
+#: setup/setup_migrate.tpl:28
+msgid "After migration"
+msgstr "Após a migração"
+
+#: setup/setup_migrate.tpl:35
+msgid "Close"
+msgstr "Fechar"
+
+#: setup/setup_migrate.tpl:40
+msgid "Create a new GOsa administrator account"
+msgstr "Criar nova conta de administrador do GOsa"
+
+#: setup/setup_migrate.tpl:41
+msgid ""
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
+msgstr ""
+"Este diálogo irá adicionar automaticamente um novo super administrador a sua "
+"árvore LDAP."
+
+#: setup/setup_migrate.tpl:57
+msgid "Password (again)"
+msgstr "Senha (novamente)"
+
+#: setup/setup_finish.tpl:3
+msgid "Create your configuration file"
+msgstr "Criando o seu arquivo de configuração"
+
+#: setup/setup_finish.tpl:10
+#, fuzzy
+msgid "Depending on the user name your web server is running on:"
+msgstr "Dependendo do nome de usuário que o seu servidor web esta rodando:"
+
+#: setup/setup_finish.tpl:27
+msgid "Download configuration"
+msgstr "Baixar configuração"
+
+#: setup/setup_finish.tpl:33
+msgid "Status: "
+msgstr "Estatus:"
+
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
+msgstr "Verificação de instalação"
+
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
+msgstr "Verificações básicas de compatibilidade do PHP e extensões"
+
+#: setup/class_setupStep_Checks.inc:66
+msgid "Checking PHP version"
+msgstr "Verificando versão do PHP"
+
+#: setup/class_setupStep_Checks.inc:67
+#, php-format
+msgid "PHP must be of version %s or above."
+msgstr "O PHP deve ser a versão %s ou superior."
+
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
+msgstr "Por favor atualize para uma versão suportada"
+
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
+msgstr "O GOsa requer esse módulo para comunicar com o seu servidor LDAP."
+
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
+msgstr "O GOsa requer esse módulo para uma interface internacionalizada."
+
+#: setup/class_setupStep_Checks.inc:91
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
+msgstr ""
+"O GOsa requer esse módulo para conectar com diversos banco de dados "
+"suportados."
+
+#: setup/class_setupStep_Checks.inc:99
+#, fuzzy
+msgid "GOsa requires this module for the samba integration."
+msgstr "GOsa requires this module for a integração com o samba."
+
+#: setup/class_setupStep_Checks.inc:107
+#, fuzzy
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
+msgstr "O GOsa requer esse módulo para fazer uso de criptografia SSHA."
+
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
+msgstr "O GOsa requer esse módulo para conectar em um servidor IMAP."
+
+#: setup/class_setupStep_Checks.inc:122
+msgid "mbstring"
+msgstr "mbstring"
+
+#: setup/class_setupStep_Checks.inc:123
+#, fuzzy
+msgid "GOsa requires this module to handle Unicode strings."
+msgstr "O GOsa requer esse módulo para manipular caracteres unicode."
+
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:131
+#, fuzzy
+msgid "GOsa requires this module to calculate dates."
+msgstr "O GOsa requer esse módulo para manipular caracteres unicode."
+
+#: setup/class_setupStep_Checks.inc:138
+msgid "MySQL"
+msgstr "MySQL"
+
+#: setup/class_setupStep_Checks.inc:139
+msgid ""
+"GOsa requires this module to communicate with several supported databases."
+msgstr ""
+"O GOsa requer esse módulo para conectar com diversos banco de dados "
+"suportados."
+
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
+msgstr "gerador de hash samba"
+
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+msgstr "O GOsa requer esse comando para sincronizar as senhas POSIX e Samba."
+
+#: setup/class_setupStep_Checks.inc:158
+#, fuzzy
+msgid ""
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
+msgstr ""
+"Implantar uma instalação gosa-si ou instale o módulo perl Crypt::SmbHash"
+
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
+msgstr "imagick"
+
+#: setup/class_setupStep_Checks.inc:172
+msgid "GOsa requires this extension to handle images."
+msgstr "O GOsa requer esta extensão para manipular imagens."
+
+#: setup/class_setupStep_Checks.inc:187
+msgid "compression module"
+msgstr "módulo de compressão"
+
+#: setup/class_setupStep_Checks.inc:188
+#, fuzzy
+msgid "GOsa requires this extension to handle snapshots."
+msgstr "O GOsa requer esta extensão para manipular snapshot"
+
+#: setup/class_setupStep_Checks.inc:199
+#, fuzzy
+msgid ""
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
+msgstr ""
+"O register_globals do PHP é um mecanismo para registrar todas as variáveis "
+"globais para ser acessível a partir de scripts, sem alterar o âmbito de "
+"aplicação. Este pode ser um risco de segurança."
+
+#: setup/class_setupStep_Checks.inc:200
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+msgstr "Procure por 'register_globals' no seu php.ini e altere para 'Off'."
+
+#: setup/class_setupStep_Checks.inc:208
+#, fuzzy
+msgid "PHP uses this value for the garbage collector to delete old sessions."
+msgstr "O PHP usa esse valor para apagar sessões antigas."
+
+#: setup/class_setupStep_Checks.inc:209
+#, fuzzy
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
+msgstr ""
+"Definir esse valor para um dia irá evitar perder a sessão e os cookies antes "
+"de eles realmente alcancem o tempo limite."
+
+#: setup/class_setupStep_Checks.inc:210
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
+msgstr ""
+"Procure por 'session.gc_maxlifetime' no seu php.ini e altere para 86400 ou "
+"superior."
+
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+#, fuzzy
+msgid "Off"
+msgstr "Off"
+
+#: setup/class_setupStep_Checks.inc:218
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
+msgstr ""
+"O GOsa pode funcionar sem qualquer problema, a opção session.auto_register "
+"no seu php.ini dever ser definida para 'Off'."
+
+#: setup/class_setupStep_Checks.inc:219
+#, fuzzy
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+msgstr "Procurar por 'session.auto_start' no seu php.ini e altere para 'Off'."
+
+#: setup/class_setupStep_Checks.inc:226
+#, fuzzy
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
+msgstr ""
+"O GOsa precisa de pelo menos 32MB de memória. Defini-lo abaixo desse limite "
+"pode causar erros que não reproduzidos! Configure para valores maiores."
+
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+msgstr ""
+"Procure por 'memory_limit' no seu php.ini e altere para '32M' ou maior."
+
+#: setup/class_setupStep_Checks.inc:234
+#, fuzzy
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
+msgstr ""
+"Esta opção influencia a movimentação de saída do PHP. Desative essa opção "
+"para aumentar o desempenho."
+
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+msgstr "Procure por 'implicit_flush' no seu php.ini e altere para 'Off'."
+
+#: setup/class_setupStep_Checks.inc:242
+msgid "The Execution time should be at least 30 seconds."
+msgstr "O tempo de execução deve ser de pelo menos 30 segundos."
+
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+msgstr ""
+"Procure por 'max_execution_time' no seu php.ini e altere para '30' ou maior"
+
+#: setup/class_setupStep_Checks.inc:250
+msgid ""
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
+msgstr ""
+"Aumente a segurança do servidor, definindo expose_php para 'Off'. PHP não "
+"envia qualquer informação sobre o servidor que está executando."
+
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+msgstr "Procure por 'expose_php' no seu php.ini e altere para 'Off'."
+
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
+#, fuzzy
+msgid "On"
+msgstr "On"
+
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
+msgstr ""
+"Aumente a segurança do servidor, definindo magic_quotes_gpc para 'On'. O PHP "
+"vai escapar todas as aspas em string nesse caso."
+
+#: setup/class_setupStep_Checks.inc:259
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+msgstr "Procure por 'magic_quotes_gpc' no seu php.ini e altere para 'On'."
+
+#: setup/class_setupStep_Checks.inc:266
+#, fuzzy
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+msgstr ""
+"Aumente a performance do seu servidor configurando magic_quotes_gpc para "
+"'Off'."
+
+#: setup/class_setupStep_Checks.inc:267
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+msgstr ""
+"Procure por 'zend.ze1_compatibility_mode' no seu php.ini e altere para 'Off'."
+
+#: setup/class_setupStep_Checks.inc:277
+#, fuzzy
+msgid "Configuration writable"
+msgstr "Configuração gravável"
+
+#: setup/class_setupStep_Checks.inc:278
+#, fuzzy
+msgid "The configuration file can't be written"
+msgstr "O arquivo de configuração não pode ser escrito"
+
+#: setup/class_setupStep_Checks.inc:279
+#, fuzzy, php-format
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
+msgstr ""
+"O GOsa lê suas configurações em um arquivo localizado em (%s/%s). A "
+"instalação pode escrever essa configuração se é permitido."
+
+#: setup/class_setupStep_Welcome.inc:42
+msgid "Welcome"
+msgstr "Bem Vindo"
+
+#: setup/class_setupStep_Welcome.inc:43
+msgid "The welcome message"
+msgstr "Mensagem de boas vindas"
+
+#: setup/class_setupStep_Welcome.inc:44
+#, fuzzy
+msgid "Welcome to the GOsa setup assistent"
+msgstr "Bem-vindo ao assistente de configuração do GOsa"
+
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
+msgid "License"
+msgstr "Lincença"
+
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
+msgstr "Termos e condições de utilização"
+
+#: setup/setup_schema.tpl:1
+msgid "Schema specific settings"
+msgstr "Configurações específicas de esquema"
+
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
+msgstr "Verificação de esquema com sucesso"
+
+#: setup/setup_schema.tpl:7
+msgid "Schema check failed"
+msgstr "Verificação de esquema falhou"
+
+#: setup/setup_schema.tpl:11
+#, fuzzy
+msgid ""
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
+msgstr ""
+"Não foi possível ler as informações de esquema, todas as verificações foram "
+"puladas. Ajuste as ACLs no seu LDAP."
+
+#: setup/setup_schema.tpl:13
+#, fuzzy
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
+msgstr ""
+"Parece que o seu banco de dados LDAP não foi inicializado ainda. Esta talvez "
+"seja a razão, porque o GOsa não conseguiu ler a configuração do esquema!"
+
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
+msgid "Language setup"
+msgstr "Configurações de idomas"
+
+#: setup/class_setupStep_Language.inc:42
+msgid "This step allows you to select your preferred language."
+msgstr "Esta etapa permite que você selecione seu idioma preferido"
+
+#: setup/setup_feedback.tpl:2
+#, fuzzy
+msgid "Feedback successfully send"
+msgstr "Resposta enviada com sucesso"
+
+#: setup/setup_feedback.tpl:6
+#, fuzzy
+msgid "Subscribe to the gosa-announce mailing list"
+msgstr "Inscrever-se para a lista de email gosa-announce"
+
+#: setup/setup_feedback.tpl:8
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
+msgstr ""
+"Ao verificar esta opção, o GOsa tentará se conectar http://oss.gonicus.de "
+"para se inscrever você a lista de email gosa-announce. Você tem que "
+"confirmar isso pelo email."
+
+#: setup/setup_feedback.tpl:20
+msgid "Mail address"
+msgstr "Endereço de Email"
+
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
+msgstr "Envie comentários à equipe do projeto GOsa"
+
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
+msgstr ""
+"Ao verificar esta opção, GOsa tentará se conectar http://oss.gonicus.de a "
+"fim de enviar seu formulário anonimamente."
+
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
+msgstr "Geral"
+
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
+msgstr "O procedimento de configuração foi útil para você?"
+
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
+msgstr "Se não, quais os problemas você encontrou"
+
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
+msgstr "Esta é a primeira vez que utiliza o GOsa?"
+
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
+msgstr "Eu uso ele desde"
+
+#: setup/setup_feedback.tpl:54
+#, fuzzy
+msgid "Select the year since when you are using GOsa"
+msgstr "Selecione o ano, desde quando você estiver usando o GOsa"
+
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
+msgstr "Qual o sistema operacional / distribuição você usa?"
+
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
+msgstr "Qual o servidor web você usa?"
+
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
+msgstr "Qual a versão do PHP você usa?"
+
+#: setup/setup_feedback.tpl:72
+#, fuzzy
+msgid "GOsa version"
+msgstr "GOsa configurações gerais"
+
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
+msgstr "LDAP"
+
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
+msgstr "Que tipo de servidor LDAP(s) você usa?"
+
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
+msgstr "Quantos objetos você tem no LDAP?"
+
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
+msgid "Features"
+msgstr "Recursos"
+
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
+msgstr "Quais características do GOsa você usa?"
+
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
+msgstr "Que características você quer ver em futuras versões do GOsa?"
+
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
+msgstr "Enviar comentário"
+
+#: html/password.php:63 html/index.php:157
+#, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
+msgstr "Não é possivel ler o arquivo de configuração do GOsa: %s/%s"
+
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, fuzzy, php-format
+msgid "Compile directory %s is not accessible!"
+msgstr ""
+"O diretório '%s' especificado como diretório de compilação não esta "
+"acessível!"
+
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
+msgid "Password method"
+msgstr "Método de senha"
+
+#: html/password.php:195
+msgid "Error: Password method not available!"
+msgstr "Erro: Método de senha não esta dispnível!"
+
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
+msgstr "Usuário"
+
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
+msgstr "Você precisa informar a sua senha atual para continuar."
+
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
+msgid ""
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
+msgstr ""
+"As senhas que você digitou como 'Nova senha' e 'Repita a nova senha' não "
+"coincidem."
+
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
+msgstr "A senha que você digitou em 'Nova senha' esta em branco."
+
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
+msgstr "A nova senha usada e atuais são muito semelhantes."
+
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
+msgstr "A nova senha usada é muito curta."
+
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
+msgid "The password contains possibly problematic Unicode characters!"
+msgstr ""
+
+#: html/password.php:261 html/index.php:311
+#, fuzzy
+msgid "Please check the username/password combination!"
+msgstr "Por favor, verifique as combinações de usuário/senha."
+
+#: html/password.php:268
+#, fuzzy
+msgid "You have no permissions to change your password!"
+msgstr "Você não tem permissão para alterar a sua senha."
+
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
+#, php-format
+msgid "Check-hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: html/password.php:315
+msgid "Session will not be encrypted."
+msgstr "A sessão não será criptografada."
+
+#: html/password.php:317
+msgid "Enter SSL session"
+msgstr "Entrar sessão com SSL"
+
+#: html/index.php:45
+#, php-format
+msgid "Your browser (%s) is blacklisted for the current theme!"
+msgstr ""
+
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
+msgstr ""
+
+#: html/index.php:72
+#, fuzzy
+msgid "here"
+msgstr "Tema"
+
+#: html/index.php:78
+#, fuzzy
+msgid "The configured session lifetime will be overridden by php.ini settings!"
+msgstr ""
+"O tempo da sessão configurada no gosa.conf serão substituídas pelas "
+"configurações do php.ini."
+
+#: html/index.php:179
+#, fuzzy
+msgid "Smarty error"
+msgstr "Erro Smarty"
+
+#: html/index.php:202
+#, fuzzy
+msgid ""
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
+msgstr ""
+"O seu navegador tem cookies desativada. Ative os cookies e recarregue esta "
+"página antes de fazer login!"
+
+#: html/index.php:233
+#, fuzzy
+msgid "Broken HTTP authentication setup!"
+msgstr "Há um problema com a configuração de autenticação!"
+
+#: html/index.php:241
+#, fuzzy
+msgid "Cannot find a valid user for the current HTTP authentication!"
+msgstr ""
+"Não é possível localizar um usuário válido para a configuração atual da "
+"autenticação!"
+
+#: html/index.php:245
+#, fuzzy
+msgid "Cannot find a unique user for the current HTTP authentication!"
+msgstr ""
+"Não é possível localizar um usuário válido para a configuração atual da "
+"autenticação!"
+
+#: html/index.php:289
+#, fuzzy
+msgid "Please specify a valid user name!"
+msgstr "Por favor, informe um nome de usuário válido!"
+
+#: html/index.php:292
+msgid "Please specify your password!"
+msgstr "Por favor, informe sua senha!"
+
+#: html/index.php:304
+msgid "Authentication error"
+msgstr "Erro de autenticação"
+
+#: html/index.php:304
+#, fuzzy
+msgid "Cannot retrieve user information for HTTP authentication!"
+msgstr ""
+"Não é possível recuperar as informações do usuário para autenticação no "
+"htaccess!"
+
+#: html/index.php:360
+msgid "Account locked. Please contact your system administrator!"
+msgstr "Conta bloqueada. Por favor entre em contato com o administrador!"
+
+#: html/main.php:171
+#, fuzzy, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
+msgstr ""
+"Não foi possível localizar o arquivo '%s' - por favor execute '%s' para "
+"corrigir"
+
+#: html/main.php:190
+msgid "PHP configuration"
+msgstr "Configuração do PHP"
+
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
+msgstr ""
+
+#: html/main.php:220
+msgid "Your password is about to expire, please change your password!"
+msgstr "Sua senha irá expirar em breve, por favor altere sua senha!"
+
+#: html/main.php:295
+#, fuzzy
+msgid "Running out of memory!"
+msgstr "Running out of memory!"
+
+#: html/main.php:355
+#, php-format
+msgid "You're logged in as %s"
+msgstr ""
+
+#: html/main.php:358
+#, fuzzy
+msgid "ACLs are disabled"
+msgstr "Verificação de ACL desabilitada"
+
+#: html/main.php:408
+#, fuzzy
+msgid "Plug-in"
+msgstr "Plugin"
+
+#: html/main.php:409
+#, fuzzy, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
+msgstr ""
+"FATAL: Não foi possível encontrar qualquer definição para o plugin '%s'!"
+
+#: html/main.php:425
+msgid "Configuration Error"
+msgstr "Erro de configuração"
+
+#: html/main.php:426
+#, fuzzy, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
+msgstr ""
+"FATAL: nem todas as variáveis POST foram transferidos pelo PHP - Por favor, "
+"informe ao administrador!"
+
+#: html/setup.php:73
+#, fuzzy
+msgid "Smarty"
+msgstr "Smarty"
+
+#: html/helpviewer.php:64
+msgid "Help browser"
+msgstr "Navegador de Ajuda"
+
+#: html/helpviewer.php:118
+#, fuzzy
+msgid "There is no help file specified for this class"
+msgstr "Não há arquivo de ajuda especificado para esta classe"
+
+#: html/helpviewer.php:268
+#, fuzzy, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
+msgstr ""
+"Diretório de ajuda '%s', não esta acessível, não é possível ler qualquer "
+"arquivo de ajuda."
+
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
+msgstr ""
+"Para alterar sua senha de uso pessoal use os campos abaixo. As alterações "
+"terão efeito imediatamente. Por favor, memorize a nova senha, porque você "
+"não seria capaz de logon sem ela."
+
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
+#, fuzzy
+msgid "Password change dialog"
+msgstr "Alterar senha"
+
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
+#, fuzzy
+msgid "Use proposal"
+msgstr "grupo de usuários"
+
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
+#, fuzzy
+msgid "Manually specify a password"
+msgstr "Por favor, informe sua senha!"
+
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
+msgstr "Limpar campos"
+
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
+msgstr "Minha conta"
+
+#: plugins/personal/myaccount/class_MyAccount.inc:6
+#, fuzzy
+msgid "Edit personal settings"
+msgstr "Editar configurações POSIX dos usuários"
+
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
+msgid "You have no permission to change your password at this time"
+msgstr "Você não tem permissão para alterar a sua senha neste momento"
+
+#: plugins/personal/myaccount/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "Sua senha foi alterada com sucesso."
+
+#: plugins/personal/myaccount/changed.tpl:3
+#: plugins/personal/password/changed.tpl:3
+#, fuzzy
+msgid ""
+"You've successfully changed your password. Remember to change all programs "
+"configured to use it as well."
+msgstr ""
+"Você alterou sua senha com sucesso. Lembre-se de alterar todos os programas "
+"configurado para usá-la também."
+
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
+msgid "POSIX settings"
+msgstr "Configurações POSIX"
+
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
+msgstr "Diretório pessoal"
+
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
+#, fuzzy
+msgid "Account settings"
+msgstr "Configurações de grupo"
+
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
+msgstr "Grupo primário"
+
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
+msgstr "Forçar UID/GID"
+
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
+msgstr "GID"
+
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
+msgstr "Membro do grupo"
+
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
+msgstr "(Aviso: mais de 16 grupos não são suportados pelo NFS!)"
+
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
+#, fuzzy
+msgid "Default filter"
+msgstr "Aplicar filtro"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
+msgid "Please select the desired entries"
+msgstr "Por favor selecione as entradas desejadas"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
+msgstr "Servidor"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
+msgstr "Estação"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+msgid "Terminal"
+msgstr "Terminal"
+
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
+msgid "Trust machine selection"
+msgstr ""
+
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+#, fuzzy
+msgid "Group selection"
+msgstr "Configurações de grupo"
+
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
+msgstr "Grupo"
+
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
+msgstr "O usuário deve alterar a senha no primeiro logon"
+
+#: plugins/personal/posix/posix_shadow.tpl:59
+#, fuzzy
+msgid "Password expiration settings"
+msgstr "Configurações de senha"
+
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
+msgstr "A senha expira em"
+
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
+#, fuzzy
+msgid "Generic settings"
+msgstr "Configurações gerais do usuário"
+
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+#, fuzzy
+msgid "Shell"
+msgstr "Shell"
+
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
+msgstr "Estatus"
+
+#: plugins/personal/posix/generic.tpl:42
+#, fuzzy
+msgid "Last log-on"
+msgstr "Último logon"
+
+#: plugins/personal/posix/generic.tpl:101
+msgid "Common group"
+msgstr "Grupo comum"
+
+#: plugins/personal/posix/generic.tpl:105
+#, fuzzy
+msgid "Groups differ"
+msgstr "Grupos diferem"
+
+#: plugins/personal/posix/generic.tpl:125
+#, fuzzy
+msgid "Account permissions"
+msgstr "Permissões"
+
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
+msgstr "Chaves SSH"
+
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
+msgstr "Editar chaves públicas do ssh..."
+
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
+msgstr "POSIX"
+
+#: plugins/personal/posix/class_posixAccount.inc:38
+#, fuzzy
+msgid "Edit users POSIX settings"
+msgstr "Editar configurações POSIX dos usuários"
+
+#: plugins/personal/posix/class_posixAccount.inc:146
+msgid "expired"
+msgstr "expirado"
+
+#: plugins/personal/posix/class_posixAccount.inc:148
+#, fuzzy
+msgid "grace time active"
+msgstr "tempo de carência para ativo"
+
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
+msgid "active"
+msgstr "ativo"
+
+#: plugins/personal/posix/class_posixAccount.inc:151
+msgid "password not changeable"
+msgstr "a senha não pode ser modificada"
+
+#: plugins/personal/posix/class_posixAccount.inc:153
+msgid "password expired"
+msgstr "senha expirada"
+
+#: plugins/personal/posix/class_posixAccount.inc:226
+msgid "automatic"
+msgstr "automático"
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr "Samba"
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr "Ambiente"
+
+#: plugins/personal/posix/class_posixAccount.inc:374
+#, php-format
+msgid "Password can't be changed up to %s days after last change"
+msgstr "A senha não pode ser alterada até %s dias após a última alteração"
+
+#: plugins/personal/posix/class_posixAccount.inc:378
+#, php-format
+msgid "Password must be changed after %s days"
+msgstr "A senha deve ser alterada após %s dias"
+
+#: plugins/personal/posix/class_posixAccount.inc:382
+#, php-format
+msgid "Disable account after %s days of inactivity after password expiry"
+msgstr ""
+"Desativar a conta após %s dias de inatividade depois que a senha expirar"
+
+#: plugins/personal/posix/class_posixAccount.inc:386
+#, php-format
+msgid "Warn user %s days before password expiry"
+msgstr "Avisar usuário %s dias antes da senha expirar"
+
+#: plugins/personal/posix/class_posixAccount.inc:651
+msgid "Timeout while waiting for lock. Ignoring lock!"
+msgstr "Tempo de espera enquanto aguarda o bloqueio. Ignorar o bloqueio!"
+
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
+msgid "Group of user"
+msgstr "Grupo de usuário"
+
+#: plugins/personal/posix/class_posixAccount.inc:774
+#, fuzzy
+msgid ""
+"A duplicated UID number was written for this user. If this was not intended "
+"please verify all used uidNumbers!"
+msgstr ""
+"Um número repetido UID foi escrito para este usuário. Se este não se destina "
+"por favor verifique todos os uidNumbers usados!"
+
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
+#, fuzzy
+msgid "shadowMin"
+msgstr "shadowMin"
+
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
+#, fuzzy
+msgid "shadowMax"
+msgstr "shadowMax"
+
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
+#, fuzzy
+msgid "shadowWarning"
+msgstr "shadowWarning"
+
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
+#, fuzzy
+msgid "shadowInactive"
+msgstr "shadowInactive"
+
+#: plugins/personal/posix/class_posixAccount.inc:1293
+msgid "POSIX account"
+msgstr "Conta POSIX"
+
+#: plugins/personal/posix/class_posixAccount.inc:1311
+msgid "Group ID"
+msgstr "ID do grupo"
+
+#: plugins/personal/posix/class_posixAccount.inc:1313
+#, fuzzy
+msgid "Shadow last changed"
+msgstr "Mostrar alterações"
+
+#: plugins/personal/posix/class_posixAccount.inc:1314
+#, fuzzy
+msgid "Last login"
+msgstr "Último logon"
+
+#: plugins/personal/posix/class_posixAccount.inc:1316
+#, fuzzy
+msgid "Force password change on login"
+msgstr "Forçar usuário alterar a senha no logon"
+
+#: plugins/personal/posix/class_posixAccount.inc:1317
+#, fuzzy
+msgid "Shadow min"
+msgstr "Shadow min"
+
+#: plugins/personal/posix/class_posixAccount.inc:1318
+#, fuzzy
+msgid "Shadow max"
+msgstr "Shadow max"
+
+#: plugins/personal/posix/class_posixAccount.inc:1319
+#, fuzzy
+msgid "Shadow warning"
+msgstr "Shadow warning"
+
+#: plugins/personal/posix/class_posixAccount.inc:1320
+#, fuzzy
+msgid "Shadow inactive"
+msgstr "Shadow inactive"
+
+#: plugins/personal/posix/class_posixAccount.inc:1321
+#, fuzzy
+msgid "Shadow expire"
+msgstr "Shadow expire"
+
+#: plugins/personal/posix/class_posixAccount.inc:1322
+msgid "Public SSH key"
+msgstr "Chave pública SSH"
+
+#: plugins/personal/posix/class_posixAccount.inc:1323
+#, fuzzy
+msgid "System trust model"
+msgstr "Sistema de modelo de confiança"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr "desabilitado"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr "acesso total"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr "permitir acesso a esses hosts"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr "Sistema de confiança"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
+msgid "Trust mode"
+msgstr "Modo de confiança"
+
+#: plugins/personal/password/password.tpl:10
+#, fuzzy
+msgid "Your Password has expired. Please choose a new password."
+msgstr "Sua senha expirou. Por favor, escolha uma nova!"
+
+#: plugins/personal/password/class_password.inc:27
+msgid "Change user password"
+msgstr "Alterar senha do usuário"
+
+#: plugins/personal/password/class_password.inc:156
+#, fuzzy
+msgid ""
+"The password you've entered as your current password doesn't match the real "
+"one."
+msgstr "A senha atual que você digitou não corresponde a uma real."
+
+#: plugins/personal/password/class_password.inc:159
+msgid "You have no permission to change your password."
+msgstr "Você não tem permissão para alterar sua senha."
+
+#: plugins/personal/password/class_password.inc:223
+msgid "User password"
+msgstr "Senha do usuário"
+
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr "Certificados"
+
+#: plugins/personal/generic/generic_certs.tpl:5
+#, fuzzy
+msgid "The users standard certificate"
+msgstr "Padrão de Certificado"
+
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr "Padrão de Certificado"
+
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr "Remover"
+
+#: plugins/personal/generic/generic_certs.tpl:31
+#, fuzzy
+msgid "The users S/MIME certificate"
+msgstr "Certificado S/MIME"
+
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr "Certificado S/MIME"
+
+#: plugins/personal/generic/generic_certs.tpl:57
+#, fuzzy
+msgid "The users PKCS12 certificate"
+msgstr "Certificado PKCS12"
+
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr "Certificado PKCS12"
+
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr "Número serial do certificado"
+
+#: plugins/personal/generic/paste_generic.tpl:3
+#, fuzzy
+msgid "Paste user"
+msgstr "Colar"
+
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr "Informações pessoais"
+
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
+msgid "Last name"
+msgstr "Último Nome"
+
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
+msgid "First name"
+msgstr "Primeiro Nome"
+
+#: plugins/personal/generic/paste_generic.tpl:24
+msgid "Clear password"
+msgstr "Limpar senha"
+
+#: plugins/personal/generic/paste_generic.tpl:25
+msgid "Set new password"
+msgstr "Defina uma nova senha"
+
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
+#, fuzzy
+msgid "The users picture"
+msgstr "Foto"
+
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
+msgstr "Remover foto"
+
+#: plugins/personal/generic/class_user.inc:38
+#, fuzzy
+msgid "Edit organizational user settings"
+msgstr "Editar configurações da organização do usuário"
+
+#: plugins/personal/generic/class_user.inc:297
+#, fuzzy
+msgid "Please add a single IP address or a network/net mask combination!"
+msgstr ""
+"Por favor, adicionar um único endereço IP ou uma combinação de rede/máscara!"
+
+#: plugins/personal/generic/class_user.inc:339
+msgid "female"
+msgstr "feminino"
+
+#: plugins/personal/generic/class_user.inc:339
+msgid "male"
+msgstr "masculino"
+
+#: plugins/personal/generic/class_user.inc:395
+#, fuzzy
+msgid "Password configuration"
+msgstr "Baixar configuração"
+
+#: plugins/personal/generic/class_user.inc:429
+msgid "Cannot upload file!"
+msgstr "Não é possível carregar o arquivo!"
+
+#: plugins/personal/generic/class_user.inc:522
+msgid "Serial number"
+msgstr "Número serial"
+
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
+msgid "User picture"
+msgstr "Foto"
+
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:579
+#, php-format
+msgid "Certificate is valid from %s to %s and is currently %s."
+msgstr "O certificado é valido apartir de %s até %s e atualmente é %s."
+
+#: plugins/personal/generic/class_user.inc:582
+msgid "valid"
+msgstr "válido"
+
+#: plugins/personal/generic/class_user.inc:583
+msgid "invalid"
+msgstr "inválido"
+
+#: plugins/personal/generic/class_user.inc:588
+msgid "No certificate installed"
+msgstr "Nenhum certificado instalado"
+
+#: plugins/personal/generic/class_user.inc:614
+msgid "The selected password method is no longer available."
+msgstr "O método de senha selecionado não esta mais disponível."
+
+#: plugins/personal/generic/class_user.inc:1051
+msgid ""
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1177
+msgid "Cannot build RDN: no + allowed to build sub RDN!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1184
+msgid "Cannot build RDN: attribute is not defined!"
+msgstr "Não é possível criar RDN: o atributo não esta definido!"
+
+#: plugins/personal/generic/class_user.inc:1202
+#, fuzzy
+msgid "Cannot build RDN: invalid attribute parameters!"
+msgstr "Não é possível criar RDN: parâmetros inválidos para o atributo!"
+
+#: plugins/personal/generic/class_user.inc:1273
+#, fuzzy
+msgid "The selected password method requires initial configuration!"
+msgstr "O método de senha escolhido requer uma configuração inicial!"
+
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
+msgid "Homepage"
+msgstr "Página Web"
+
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
+msgstr "Telefone"
+
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
+msgstr "Fax"
+
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
+msgid "Mobile"
+msgstr "Celular"
+
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
+msgid "Pager"
+msgstr "Pager"
+
+#: plugins/personal/generic/class_user.inc:1483
+msgid "Cannot open certificate!"
+msgstr "Não é possível abrir o certificado!"
+
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
+msgid "Unit"
+msgstr "Unidade"
+
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
+#, fuzzy
+msgid "House identifier"
+msgstr "Identificador de Casa"
+
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
+msgid "Vocation"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
+#, fuzzy
+msgid "Last delivery"
+msgstr "Último envio"
+
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
+#, fuzzy
+msgid "Person locality"
+msgstr "Localidade pessoal"
+
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
+msgid "Unit description"
+msgstr "Descrição da unidade"
+
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
+msgid "Subject area"
+msgstr "Título da área"
+
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
+msgid "Functional title"
+msgstr "Título funcional"
+
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
+msgstr "Papéis"
+
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
+msgid "Postal code"
+msgstr "Código postal"
+
+#: plugins/personal/generic/class_user.inc:1671
+msgid "Generic user settings"
+msgstr "Configurações gerais do usuário"
+
+#: plugins/personal/generic/class_user.inc:1692
+msgid ""
+"Pattern for the generation of user DNs. Please read the FAQ for details."
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1706
+msgid "Allow definition of custom filters"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
+msgid "Sex"
+msgstr "Sexo"
+
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
+msgid "Preferred language"
+msgstr "Idioma preferencial"
+
+#: plugins/personal/generic/class_user.inc:1718
+msgid "Login restrictions"
+msgstr "Restrições de login"
+
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
+msgstr "Departamento"
+
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
+#: plugins/admin/departments/class_domain.inc:93
+#: plugins/admin/departments/class_organizationGeneric.inc:127
+#: plugins/admin/departments/generic.tpl:51
+#: plugins/admin/departments/locality.tpl:39
+#: plugins/admin/departments/class_localityGeneric.inc:93
+#: plugins/admin/departments/class_dcObject.inc:92
+#: plugins/admin/departments/domain.tpl:39
+#, fuzzy
+msgid "Manager"
+msgstr "Gerenciar usuários"
+
+#: plugins/personal/generic/class_user.inc:1727
+msgid "Room number"
+msgstr "Número da sala"
+
+#: plugins/personal/generic/class_user.inc:1728
+#, fuzzy
+msgid "Telephone number"
+msgstr "Número de Telefone"
+
+#: plugins/personal/generic/class_user.inc:1729
+msgid "Pager number"
+msgstr "Número do pager"
+
+#: plugins/personal/generic/class_user.inc:1730
+msgid "Mobile number"
+msgstr "Número do celular"
+
+#: plugins/personal/generic/class_user.inc:1731
+msgid "Fax number"
+msgstr "Número do Fax"
+
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
+#: plugins/admin/departments/class_organizationGeneric.inc:129
+#: plugins/admin/departments/generic.tpl:87
+msgid "State"
+msgstr "Estado"
+
+#: plugins/personal/generic/class_user.inc:1735
+#: plugins/personal/generic/generic.tpl:183
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+msgid "Postal address"
+msgstr "Código Postal"
+
+#: plugins/personal/generic/class_user.inc:1740
+#, fuzzy
+msgid "User password method"
+msgstr "Método de senha do usuário"
+
+#: plugins/personal/generic/class_user.inc:1741
+msgid "User certificates"
+msgstr "Certificados do usuário"
+
+#: plugins/personal/generic/class_user.inc:1949
+#, fuzzy
+msgid "Entries differ"
+msgstr "Entradas por página"
+
+#: plugins/personal/generic/generic.tpl:21
+msgid "Change picture"
+msgstr "Alterar foto"
+
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
+msgstr "Editar vários"
+
+#: plugins/personal/generic/generic.tpl:83
+msgid "Template name"
+msgstr "Nome do modelo"
+
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
+msgid "Address"
+msgstr "Endereço"
+
+#: plugins/personal/generic/generic.tpl:193
+msgid "Private phone"
+msgstr "Telefone pessoal"
+
+#: plugins/personal/generic/generic.tpl:209
+msgid "Password storage"
+msgstr "Tipo de senha"
+
+#: plugins/personal/generic/generic.tpl:229
+msgid "Edit certificates"
+msgstr "Editar certificados"
+
+#: plugins/personal/generic/generic.tpl:241
+msgid "Restrict login to"
+msgstr "Restringir login para"
+
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
+msgid "IP or network"
+msgstr "IP ou rede"
+
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "Organizational information"
+msgstr "Informações Organizacionais"
+
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+#, fuzzy
+msgid "part"
+msgstr "Smarty"
+
+#: plugins/personal/generic/generic.tpl:314
+msgid "Department No."
+msgstr "No. Departamento"
+
+#: plugins/personal/generic/generic.tpl:322
+msgid "Employee No."
+msgstr "No. de Funcionário"
+
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
+msgid "Room No."
+msgstr "No. da Sala"
+
+#: plugins/personal/generic/generic.tpl:580
+#, fuzzy
+msgid "Please use the phone tab"
+msgstr "Por favor utilize o separador de telefone"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:1
+#, fuzzy
+msgid "List of dynamic rules"
+msgstr "Lista de acls"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
+msgstr ""
+
+#: plugins/addons/dyngroup/dyngroup.tpl:6
+#, fuzzy
+msgid "Scope"
+msgstr "copiar"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
+#, fuzzy
+msgid "Attribute"
+msgstr "Atributo de Login"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
+msgid "Filter"
+msgstr "Filtro"
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
+#, php-format
+msgid "The given filter '%s' for entry %s seems to be invalid!"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
+msgid "Dynamic object"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-filter.xml:15
+#, fuzzy
+msgid "Effective properties"
+msgstr "Editar propriedades do email"
+
+#: plugins/addons/propertyEditor/property-filter.xml:29
+#, fuzzy
+msgid "Modified properties"
+msgstr "Editar propriedades do email"
+
+#: plugins/addons/propertyEditor/property-filter.xml:43
+#, fuzzy
+msgid "All properties"
+msgstr "Propriedade"
+
+#: plugins/addons/propertyEditor/property-filter.xml:57
+#, fuzzy
+msgid "LDAP properties"
+msgstr "Propriedade"
+
+#: plugins/addons/propertyEditor/property-filter.xml:71
+#, fuzzy
+msgid "Search for property groups"
+msgstr "Mostrar grupos primários"
+
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
+msgstr ""
+
+#: plugins/addons/propertyEditor/migrate.tpl:3
+#, fuzzy
+msgid "Migration steps left"
+msgstr "Erro de migração"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
+#, fuzzy, php-format
+msgid "Migration of property '%s'"
+msgstr "Erro de migração"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
+#, fuzzy, php-format
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
+msgstr "Encontrados %s grupos fora da árvore configurada '%s'."
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
+#, fuzzy
+msgid "Objects that will be added"
+msgstr "Este objeto será excluído!"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+#, fuzzy
+msgid "Objects that will be moved"
+msgstr "Estações Windows serão movidas de"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
+#, fuzzy, php-format
+msgid "Moving object '%s' to '%s'"
+msgstr "Movendo '%s' para '%s'"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
+#, fuzzy, php-format
+msgid "Migration failed for object %s: DN already exists!"
+msgstr "Falha ao adicionar um usuário administrativo: o objeto '%s' já existe!"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
+#, fuzzy, php-format
+msgid "Migration failed for object %s: please check if it already exists!"
+msgstr "Falha ao adicionar um usuário administrativo: o objeto '%s' já existe!"
+
+#: plugins/addons/propertyEditor/property-list.tpl:3
+#, fuzzy
+msgid "Warning message"
+msgstr "Enviar mensagem"
+
+#: plugins/addons/propertyEditor/property-list.tpl:9
+msgid ""
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:10
+msgid ""
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:14
+msgid ""
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:22
+msgid ""
+"I understand that there are certain risks, but I want to modify properties!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
+msgid "Command verifier"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
+msgid ""
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
+msgid ""
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
+#, fuzzy
+msgid "Test"
+msgstr "Timestamp"
+
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
+msgstr ""
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
+#, fuzzy
+msgid "Preferences"
+msgstr "Referências"
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
+msgid ""
+"Configure global and special GOsa settings like hooks and plug-in parameters"
+msgstr ""
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
+#, fuzzy
+msgid "No description"
+msgstr "Descrição"
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.xml:11
+#, fuzzy
+msgid "List of configuration settings"
+msgstr "Gravando o arquivo de configuração"
+
+#: plugins/addons/propertyEditor/property-list.xml:15
+#, fuzzy
+msgid "Property not used"
+msgstr "Grupo de usuário"
+
+#: plugins/addons/propertyEditor/property-list.xml:23
+#, fuzzy
+msgid "Property will be restored"
+msgstr "Grupos serão movidos de"
+
+#: plugins/addons/propertyEditor/property-list.xml:31
+#, fuzzy
+msgid "Modified property"
+msgstr "operação de modificação"
+
+#: plugins/addons/propertyEditor/property-list.xml:39
+msgid "Property configured in LDAP"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.xml:47
+#, fuzzy
+msgid "Property configured in config file"
+msgstr "Criando o seu arquivo de configuração"
+
+#: plugins/addons/propertyEditor/property-list.xml:80
+#, fuzzy
+msgid "Class"
+msgstr "classes"
+
+#: plugins/addons/propertyEditor/property-list.xml:88
+#, fuzzy
+msgid "Value"
+msgstr "masculino"
+
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
+msgstr ""
+
+#: plugins/admin/groups/paste_generic.tpl:1
+msgid "Group settings"
+msgstr "Configurações de grupo"
+
+#: plugins/admin/groups/paste_generic.tpl:2
+#, fuzzy
+msgid "Paste group settings"
+msgstr "Configurações de grupo"
+
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
+msgstr "Nome do Grupo"
+
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
+#, fuzzy
+msgid "POSIX name of the group"
+msgstr "Nome do grupo Posix"
+
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
+#, fuzzy
+msgid "Normally IDs are auto-generated, select to specify manually"
+msgstr ""
+"Normalmente IDs são gerados automaticamente, selecione para especificar "
+"manualmente"
+
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
+msgstr "Forçar GID"
+
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr "Forçar número ID "
+
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
+msgstr "Usuário"
+
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
+#, fuzzy
+msgid "User selection"
+msgstr "Configurações do usuário"
+
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Cannot find group SID in your configuration!"
+msgstr "Não é possível localizar o SID do grupo na sua configuração!"
+
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
+msgstr "Grupos Samba"
+
+#: plugins/admin/groups/class_group.inc:310
+#, fuzzy
+msgid "Domain administrators"
+msgstr "Admin do Domínio"
+
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
+msgstr "Usuários do Domínio"
+
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
+msgstr "Visitantes"
+
+#: plugins/admin/groups/class_group.inc:316
+#, php-format
+msgid "Special group (%d)"
+msgstr "Grupo especial (%d)"
+
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+msgstr ""
+"Falha ao adicionar o UID '%s' no grupo '%s': Não foi possível localizar o "
+"usuário!"
+
+#: plugins/admin/groups/class_group.inc:470
+#, php-format
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+msgstr ""
+"Falha ao adicionar UID '%s' no grupo '%s': UID adicionado mais de uma vez!"
+
+#: plugins/admin/groups/class_group.inc:753
+#, php-format
+msgid "Cannot find any SID for '%s'!"
+msgstr "Não é possível encontrar qualquer SID para '%s'!"
+
+#: plugins/admin/groups/class_group.inc:758
+#, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
+msgstr "Não é possível encontrar qualquer RIDBASE para '%s'!"
+
+#: plugins/admin/groups/class_group.inc:852
+#, php-format
+msgid "The gidNumber '%s' is already in use by %s!"
+msgstr "O gidNumber '%s' já esta em uso por %s\""
+
+#: plugins/admin/groups/class_group.inc:1036
+#, fuzzy
+msgid "Generic group settings"
+msgstr "Configuração geral de grupo"
+
+#: plugins/admin/groups/class_group.inc:1049
+#, fuzzy
+msgid "RDN for object group storage."
+msgstr "Lista de grupo de objetos"
+
+#: plugins/admin/groups/class_group.inc:1063
+msgid "Samba group type"
+msgstr "Tipo de grupo samba"
+
+#: plugins/admin/groups/class_group.inc:1064
+msgid "Samba domain name"
+msgstr "Nome do domínio Samba"
+
+#: plugins/admin/groups/class_group.inc:1066
+#, fuzzy
+msgid "Phone pickup group"
+msgstr "Grupo de captura de telefone"
+
+#: plugins/admin/groups/class_group.inc:1067
+msgid "Nagios group"
+msgstr "Grupo Nágios"
+
+#: plugins/admin/groups/class_group.inc:1069
+msgid "Group member"
+msgstr "Membro do Grupo"
+
+#: plugins/admin/groups/class_groupManagement.inc:26
+msgid ""
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
+msgstr ""
+
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
+msgid "Infrastructure error"
+msgstr "Erro de infraestrutura"
+
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
+msgid "Edit POSIX properties"
+msgstr "Editar propriedades POSIX"
+
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
+msgid "Edit mail properties"
+msgstr "Editar propriedades do email"
+
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
+msgid "Edit samba properties"
+msgstr "Editar propriedades do samba"
+
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
+msgid "Edit phone properties"
+msgstr "Editar propriedades do telefone"
+
+#: plugins/admin/groups/class_groupManagement.inc:189
+msgid "Menu"
+msgstr "Menu"
+
+#: plugins/admin/groups/class_groupManagement.inc:190
+msgid "Edit start menu properties"
+msgstr "Editar propriedade do menu iniciar"
+
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
+msgid "Edit environment properties"
+msgstr "Editar propriedades do ambiente"
+
+#: plugins/admin/groups/group-filter.xml:31
+msgid "Default filter2"
+msgstr ""
+
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
+msgstr "Descrição para este grupo"
+
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+#, fuzzy
+msgid "Select to create a samba conform group"
+msgstr "Selecione para criar um grupo do samba"
+
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
+msgstr "no domínio"
+
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
+msgstr "Membros estão em um grupo de captura de telefone"
+
+#: plugins/admin/groups/generic.tpl:146
+#, fuzzy
+msgid "Members are in a Nagios group"
+msgstr "Membros estão em um grupo do nágios"
+
+#: plugins/admin/groups/generic.tpl:174
+#, fuzzy
+msgid "Common group members"
+msgstr "Grupo comum"
+
+#: plugins/admin/groups/generic.tpl:183
+#, fuzzy
+msgid "Partial group members"
+msgstr "Membros do grupo"
+
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
+msgstr "Membros do grupo"
+
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
+msgstr "Lista de grupos"
+
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
+msgstr "Propriedade"
+
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
+msgstr "Editar"
+
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
+msgid "Send message"
+msgstr "Enviar mensagem"
+
+#: plugins/admin/groups/group-list.xml:138
+msgid "Edit group"
+msgstr "Editar grupo"
+
+#: plugins/admin/groups/group-list.xml:151
+msgid "Remove group"
+msgstr "Remover grupo"
+
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
+#, fuzzy
+msgid "User and group selection"
+msgstr "Armazenamento de pessoas e grupos"
+
+#: plugins/admin/ogroups/ogroup-list.xml:11
+msgid "List of object groups"
+msgstr "Lista de grupo de objetos"
+
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
+msgstr "Grupo de Objeto"
+
+#: plugins/admin/ogroups/ogroup-list.xml:142
+msgid "Edit object group"
+msgstr "Editar grupo de objeto"
+
+#: plugins/admin/ogroups/ogroup-list.xml:155
+msgid "Remove object group"
+msgstr "Excluir grupo de objetos"
+
+#: plugins/admin/ogroups/paste_generic.tpl:1
+#, fuzzy
+msgid "Paste object group"
+msgstr "Editar grupo de objeto"
+
+#: plugins/admin/ogroups/paste_generic.tpl:7
+msgid "Please enter the new object group name"
+msgstr "Por favor entre com o nome do novo grupo de objeto"
+
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
+msgstr ""
+
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
+msgstr "Impressoras"
+
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
+#, fuzzy
+msgid "Object selection"
+msgstr "Objetos em uso"
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
+msgid "Phone queue"
+msgstr "Fila de telefone"
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
+#, fuzzy
+msgid "Groupware"
+msgstr "Nome do Grupo"
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
+#, fuzzy
+msgid "System settings"
+msgstr "Configurações do usuário"
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
+msgid "Recipe"
+msgstr ""
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
+msgstr "Dispositivos"
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
+#, fuzzy
+msgid "Deployment summary"
+msgstr "Número do departamento"
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
+msgstr ""
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
+msgstr "Aplicações"
+
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
+msgstr "Nome do Grupo"
+
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
+msgstr "Objetos membros"
+
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
+msgstr ""
+"Você não pode combinar os terminais e estações de trabalho em um grupo de "
+"objeto!"
+
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
+msgstr "nenhum"
+
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
+msgstr "muitos objetos diferentes!"
+
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
+msgstr "usuários"
+
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
+msgstr "grupos"
+
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
+msgstr "aplicações"
+
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
+msgstr "departamentos"
+
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
+msgstr "servidores"
+
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
+msgstr "estações"
+
+#: plugins/admin/ogroups/class_ogroup.inc:328
+#, fuzzy
+msgid "Windows workstations"
+msgstr "grupo de estações windows"
+
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
+msgstr "terminais"
+
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
+msgstr "telefones"
+
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
+msgstr "impressoras"
+
+#: plugins/admin/ogroups/class_ogroup.inc:533
+#, fuzzy
+msgid "Non existing DN:"
+msgstr "DN não existente:"
+
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
+msgid ""
+"These systems are already configured by other object groups and cannot be "
+"added:"
+msgstr ""
+"Estes sistemas já estão configurados por grupos de outro objeto e não pode "
+"ser adicionado:"
+
+#: plugins/admin/ogroups/class_ogroup.inc:685
+msgid "You can combine two different object types at maximum, only!"
+msgstr ""
+"É possível combinar dois diferentes tipos de objeto, no máximo, apenas!"
+
+#: plugins/admin/ogroups/class_ogroup.inc:849
+#, fuzzy
+msgid "Object group generic"
+msgstr "Grupo de objeto genérico"
+
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
+msgstr "Grupo de objetos"
+
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
+msgstr ""
+
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+msgid "Templates"
+msgstr "Modelos"
+
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
+msgstr "Aplicação"
+
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+#, fuzzy
+msgid "Windows Install"
+msgstr "Instalar o Windows"
+
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
+msgid "ACL Templates"
+msgstr "Modelos de ACL"
+
+#: plugins/admin/acl/acl-list.xml:11
+#, fuzzy
+msgid "List of ACLs"
+msgstr "Lista de acls"
+
+#: plugins/admin/acl/paste_role.tpl:1
+#, fuzzy
+msgid "Paste ACL-role"
+msgstr "Papel de ACL"
+
+#: plugins/admin/acl/acl-filter.xml:48
+#: plugins/admin/acl/class_aclManagement.inc:154
+msgid "ACL Assignment"
+msgstr "Atribuição de ACL"
+
+#: plugins/admin/acl/class_aclManagement.inc:26
+msgid ""
+"Control access to GOsa managed objects down to attribute and action level"
+msgstr ""
+
+#: plugins/admin/acl/class_aclRole.inc:26
+#: plugins/admin/acl/class_aclRole.inc:715
+msgid "Access control roles"
+msgstr "Papéis de controle de acesso"
+
+#: plugins/admin/acl/class_aclRole.inc:27
+#, fuzzy
+msgid "Edit AC roles"
+msgstr "Editar papél de ACL"
+
+#: plugins/admin/acl/class_aclRole.inc:138
+msgid "Reset ACL"
+msgstr "Reiniciar ACL"
+
+#: plugins/admin/acl/class_aclRole.inc:411
+#, fuzzy
+msgid "No ACL settings for this category"
+msgstr "Nenhuma ACL configurada para esta categoria"
+
+#: plugins/admin/acl/class_aclRole.inc:413
+#, php-format
+msgid "ACL for these objects: %s"
+msgstr "ACL para esses objetos: %s"
+
+#: plugins/admin/acl/class_aclRole.inc:418
+#, fuzzy
+msgid "Edit category ACL"
+msgstr "Editar categoria ACL"
+
+#: plugins/admin/acl/class_aclRole.inc:421
+#, fuzzy
+msgid "Delete category ACL"
+msgstr "Reiniciar categoria ACL"
+
+#: plugins/admin/acl/class_aclRole.inc:442
+#, php-format
+msgid "Edit ACL for '%s', scope is '%s'"
+msgstr "Editar ACL para '%s', o escopo é '%s'"
+
+#: plugins/admin/acl/class_aclRole.inc:635
+msgid "Object in use"
+msgstr "Objetos em uso"
+
+#: plugins/admin/acl/class_aclRole.inc:635
+#, fuzzy, php-format
+msgid "This role cannot be removed while it is in use by these objects:"
+msgstr ""
+"Esse papel não pode ser removido enquanto ele esta em uso por esses objetos:"
+
+#: plugins/admin/acl/class_aclRole.inc:731
+#, fuzzy
+msgid "RDN for role storage."
+msgstr "Caminho dos perfis Kiosk"
+
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
+msgid "Domain component"
+msgstr "Componente do domínio"
+
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
+msgid "Locality name"
+msgstr "Nome da localidade"
+
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
+msgid "Name of locality to create"
+msgstr "Nome da localidade a ser criada"
+
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
+msgstr "Descrição para o departamento"
+
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
+msgid "Administrative settings"
+msgstr "Configurações administrativas"
+
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
+msgstr "Departamento com uma unidade administrativa independente"
+
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
+msgstr "País"
+
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
+msgid "Locality"
+msgstr "Cidade"
+
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
+msgid "Domain"
+msgstr "Domínio"
+
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
+msgid "Country name"
+msgstr "País"
+
+#: plugins/admin/departments/country.tpl:14
+msgid "Name of country to create"
+msgstr "Nome de país a ser criado"
+
+#: plugins/admin/departments/dep-list.xml:11
+#, fuzzy
+msgid "List of structural objects"
+msgstr "Lista de grupo de objetos"
+
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+#, fuzzy
+msgid "You are currently moving/renaming this department."
+msgstr "Você esta movendo/renomeando este departamento."
+
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+#, fuzzy
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
+msgstr ""
+"Modificando o atributo nome de departamento 'ou' ou base pode corromper acls "
+"e snapshot para todas as entradas de objetos."
+
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+#, fuzzy
+msgid "GOsa can NOT fix this for you, yet."
+msgstr "O GOsa NÃO pode corrigir isso para você, ainda."
+
+#: plugins/admin/departments/dep_move_confirm.tpl:12
+msgid ""
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
+msgstr ""
+"Antes de confirmar essa ação e garantir que tudo será como o esperado, "
+"possivelmente, a melhor solução é um backup."
+
+#: plugins/admin/departments/organization.tpl:11
+msgid "Name of organization"
+msgstr "Nome da organização"
+
+#: plugins/admin/departments/organization.tpl:14
+msgid "Name of organization to create"
+msgstr "Nome da organização a ser criada"
+
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
+msgstr "Categorias para esta subárvore"
+
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
+msgstr "Estado onde esta localizado"
+
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
+msgstr "Localização desta subárvore"
+
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
+msgstr "Código postal para esta subárvore"
+
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
+msgstr "Número de telefone dessa subárvore"
+
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
+msgstr "Número do fax dessa subárvore"
+
+#: plugins/admin/departments/class_department.inc:439
+#, fuzzy
+msgid "Cannot find an unused tag for this administrative unit!"
+msgstr ""
+"Não é possível encontrar uma marca utilizada para essa unidade "
+"administrativa!"
+
+#: plugins/admin/departments/class_department.inc:507
+#, php-format
+msgid "Tagging '%s'."
+msgstr "Marcando '%s'"
+
+#: plugins/admin/departments/class_department.inc:588
+#, php-format
+msgid "Moving '%s' to '%s'"
+msgstr "Movendo '%s' para '%s'"
+
+#: plugins/admin/departments/class_department.inc:629
+#, php-format
+msgid "FAILED to copy %s, aborting operation"
+msgstr "FALHA ao copiar %s, operação abortada"
+
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
+msgstr "Departamentos"
+
+#: plugins/admin/departments/class_department.inc:674
+msgid "Department name"
+msgstr "Nome do departamento"
+
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
+msgstr "Telefone"
+
+#: plugins/admin/departments/class_department.inc:737
+#, php-format
+msgid "Object '%s' is already tagged"
+msgstr "O objeto '%s' já esta marcado"
+
+#: plugins/admin/departments/class_department.inc:744
+#, php-format
+msgid "Adding tag (%s) to object '%s'"
+msgstr "Adicionando marca (%s) para o objeto '%s'"
+
+#: plugins/admin/departments/class_department.inc:776
+#, php-format
+msgid "Removing tag from object '%s'"
+msgstr "Removendo marcas do objeto '%s'"
+
+#: plugins/admin/departments/dep_iframe.tpl:1
+#, fuzzy
+msgid "Processing the requested operation"
+msgstr "Processando a operação solicitada"
+
+#: plugins/admin/departments/dep_iframe.tpl:7
+#, fuzzy
+msgid ""
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
+msgstr ""
+"Seu navegador não suporta iframes, por favor, use este link para executar a "
+"operação solicitada."
+
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
+msgid "Domain Component"
+msgstr "Componente do domínio"
+
+#: plugins/admin/departments/class_organizationGeneric.inc:122
+#, fuzzy
+msgid "Organization name"
+msgstr "Nome da Empresa"
+
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+msgid "Phone number"
+msgstr "Número de telefone"
+
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
+msgstr "Nome do departamento"
+
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
+msgstr "Nome da subárvore a ser criada"
+
+#: plugins/admin/departments/generic.tpl:22
+msgid "Descriptive text for   department"
+msgstr "Descrição para o departamento"
+
+#: plugins/admin/departments/class_departmentManagement.inc:25
+#, fuzzy
+msgid "Directory structure"
+msgstr "Diretório"
+
+#: plugins/admin/departments/class_departmentManagement.inc:26
+msgid ""
+"Manage organizations, organizational units, localities, countries and more"
+msgstr ""
+
+#: plugins/admin/departments/class_departmentManagement.inc:125
+#, fuzzy
+msgid ""
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
+msgstr ""
+"Tão logo a operação de tag tiver terminado, você pode ir para o final da "
+"página e pressione o botão 'Continuar' para continuar com o diálogo de "
+"gestão do departamento."
+
+#: plugins/admin/departments/domain.tpl:11
+msgid "Domain name"
+msgstr "Nome do domínio"
+
+#: plugins/admin/departments/domain.tpl:14
+msgid "Name of domain to create"
+msgstr "Nome de domínio a ser criado"
+
+#: plugins/admin/users/password.tpl:4
+#, fuzzy
+msgid ""
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
+msgstr ""
+"Para alterar a senha do usuário utilizar os campos abaixo. As alterações "
+"terão efeito imediatamente. Por favor, memorize a nova senha, porque o "
+"usuário não seria capaz de fazer login sem ele."
+
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
+#, fuzzy
+msgid "Password input dialog"
+msgstr "Tamanho minimo da senha"
+
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
+#, fuzzy
+msgid "Strength"
+msgstr "Força"
+
+#: plugins/admin/users/password.tpl:95
+#, fuzzy
+msgid "Enforce password change on next login."
+msgstr "Forçar usuário alterar a senha no logon"
+
+#: plugins/admin/users/templatize.tpl:2
+msgid "Applying a template"
+msgstr "Aplicando um modelo"
+
+#: plugins/admin/users/templatize.tpl:6
+msgid ""
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
+msgstr ""
+"Aplicando um modelo para vários usuários irá substituir todos os atributos "
+"de usuário definido no modelo."
+
+#: plugins/admin/users/templatize.tpl:13
+#, fuzzy
+msgid "Apply user template"
+msgstr "Aplicar modelo"
+
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
+msgstr "Modelo"
+
+#: plugins/admin/users/templatize.tpl:32
+msgid "No templates available!"
+msgstr "Nenhum modelo disponível!"
+
+#: plugins/admin/users/user-filter.xml:33
+msgid "Show templates"
+msgstr "Mostrar modelos"
+
+#: plugins/admin/users/user-filter.xml:47
+msgid "Show POSIX users"
+msgstr "Mostrar usuários POSIX"
+
+#: plugins/admin/users/user-filter.xml:61
+#, fuzzy
+msgid "Show SAMBA users"
+msgstr "Mostrar usuários de email"
+
+#: plugins/admin/users/user-filter.xml:75
+#, fuzzy
+msgid "Show mail users"
+msgstr "Mostrar usuários de email"
+
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
+msgstr "Criando um novo usuário usando modelos"
+
+#: plugins/admin/users/template.tpl:6
+msgid ""
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
+msgstr ""
+"Criar um novo usuário pode ser usando modelos. Muitos registros de banco de "
+"dados serão preenchidos automaticamente. Escolha 'nenhum' para ignorar o uso "
+"de modelos."
+
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
+msgstr ""
+
+#: plugins/admin/users/class_userManagement.inc:26
+msgid ""
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
+msgstr ""
+
+#: plugins/admin/users/class_userManagement.inc:401
+#, fuzzy
+msgid "You have no permission to change this users password!"
+msgstr "Você não tem permissão para alterar esta senha de usuários!"
+
+#: plugins/admin/users/class_userManagement.inc:791
+#, fuzzy
+msgid "Account locking"
+msgstr "Bloqueio de conta"
+
+#: plugins/admin/users/class_userManagement.inc:792
+#, fuzzy, php-format
+msgid ""
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
+msgstr ""
+"Método de senha '%s' não suporta bloqueio. A conta (%s) não foi bloqueada!"
+
+#: plugins/admin/users/class_userManagement.inc:865
+#, fuzzy
+msgid "Unlock account"
+msgstr "Debloquear conta"
+
+#: plugins/admin/users/class_userManagement.inc:867
+msgid "Lock account"
+msgstr "Bloquear conta"
+
+#: plugins/admin/users/class_userManagement.inc:880
+msgid "Edit generic properties"
+msgstr "Editar propriedade gerais"
+
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
+msgstr "Netatalk"
+
+#: plugins/admin/users/class_userManagement.inc:896
+#, fuzzy
+msgid "Edit Netatalk properties"
+msgstr "Editar propriedades netatalk"
+
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
+msgstr "FAX"
+
+#: plugins/admin/users/class_userManagement.inc:904
+msgid "Edit FAX properties"
+msgstr "Editar propriedades FAX"
+
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
+msgstr "Lista de usuários"
+
+#: plugins/admin/users/user-list.xml:140
+msgid "Lock users"
+msgstr "Bloquear Usuários"
+
+#: plugins/admin/users/user-list.xml:148
+msgid "Unlock users"
+msgstr "Desbloquear usuários"
+
+#: plugins/admin/users/user-list.xml:167
+msgid "Apply template"
+msgstr "Aplicar modelo"
+
+#: plugins/admin/users/user-list.xml:199
+msgid "New user from template"
+msgstr "Novo usuário a partir do modelo"
+
+#: plugins/admin/users/user-list.xml:213
+msgid "Edit user"
+msgstr "Editar usuário"
+
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
+msgstr "%{filter:lockLabel(userPassword)}"
+
+#: plugins/admin/users/user-list.xml:245
+msgid "Remove user"
+msgstr "Remover usuário"
+
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
+#, fuzzy
+msgid "Back to main menu"
+msgstr "GOsa menu principal"
+
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
+msgstr ""
+
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
+msgstr ""
+
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
+msgstr ""
+
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
+#, fuzzy
+msgid "Action"
+msgstr "Ações"
+
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
+msgid "Systems"
+msgstr "Sistemas"
+
+#: plugins/generic/statistics/statistics.tpl:2
+#, fuzzy
+msgid "Usage statistics"
+msgstr "Log de estatísticas do LDAP"
+
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
+msgid ""
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
+#, fuzzy
+msgid "Dash board"
+msgstr "Assistente de configuração do GOsa"
+
+#: plugins/generic/statistics/statistics.tpl:16
+#, fuzzy
+msgid ""
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
+msgstr ""
+"Sem definição encontrada para inicializar o plugin '%s', verifique o seu "
+"arquivo de configuração."
+
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:87
+#, fuzzy
+msgid "Select report type"
+msgstr "Selecione um tipo de ACL"
+
+#: plugins/generic/statistics/class_statistics.inc:263
+#, fuzzy, php-format
+msgid ""
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
+msgstr ""
+"Você está editando uma entrada de dados. Você quer rejeitar as mudanças?"
+
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
+#, fuzzy
+msgid "Channels"
+msgstr "Cancelar"
+
+#: plugins/generic/dashBoard/Register/register.tpl:3
+#, fuzzy
+msgid "GOsa registration"
+msgstr "GOsa configurações gerais"
+
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:22
+msgid ""
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:33
+msgid ""
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:34
+msgid ""
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:35
+msgid ""
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
+#, fuzzy
+msgid "Registration complete"
+msgstr "Operação finalizada"
+
+#: plugins/generic/dashBoard/Register/register.tpl:71
+msgid "GOsa instance sucessfully registered"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:82
+#, fuzzy
+msgid "GOsa instance will not be registered"
+msgstr "A sessão não será criptografada."
+
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
+msgid ""
+"Communciation with the backend failed! Please check your internet connection!"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
+msgid ""
+"Authentication failed, please check combination of username and password!"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
+msgid ""
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
+msgstr ""
+
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
+#, fuzzy
+msgid "Notifications"
+msgstr "Script de notificação"
+
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
+msgstr ""
+
+#: plugins/generic/dashBoard/dashBoard.tpl:7
+msgid ""
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
+msgstr ""
+
+#: plugins/generic/dashBoard/dashBoard.tpl:13
+#, fuzzy
+msgid "GOsa dash board"
+msgstr "Assistente de configuração do GOsa"
+
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
+msgstr ""
+
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
+#, fuzzy
+msgid "Schema missing"
+msgstr "Configurações baseada nos esquema"
+
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
+#, fuzzy
+msgid "Plugin status"
+msgstr "Estatus atual"
+
+#: plugins/generic/references/class_reference.inc:70
+#, fuzzy
+msgid "Role membership"
+msgstr "Membro do grupo"
+
+#: plugins/generic/references/class_reference.inc:76
+#, fuzzy
+msgid "Object group membership"
+msgstr "Grupo de objeto genérico"
+
+#: plugins/generic/references/class_reference.inc:82
+#, fuzzy
+msgid "Department manager"
+msgstr "Nome do departamento"
+
+#: plugins/generic/references/class_reference.inc:88
+#, fuzzy
+msgid "User manager"
+msgstr "Usuário"
+
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+#, fuzzy
+msgid "Object information"
+msgstr "Informação de conexão"
+
+#: plugins/generic/references/contents.tpl:7
+msgid "Show raw object entry"
+msgstr ""
+
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
+#, fuzzy
+msgid "Last modification"
+msgstr "Identificação do usuário"
+
+#: plugins/generic/references/contents.tpl:29
+#, fuzzy
+msgid "Object references"
+msgstr "Referências"
+
+#: plugins/generic/references/contents.tpl:45
+#, fuzzy
+msgid "ACL trace"
+msgstr "ACL tipo"
+
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
+msgstr ""
+
+#: plugins/generic/references/class_aclResolver.inc:193
+msgid "ACLs"
+msgstr ""
+
+#: plugins/generic/references/class_aclResolver.inc:198
+#, php-format
+msgid "List of effective ACLs for '%s'"
+msgstr ""
+
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
+#, fuzzy
+msgid "Object permissions"
+msgstr "Permissões"
+
+#: plugins/generic/references/class_aclResolver.inc:311
+#, fuzzy
+msgid "create"
+msgstr "Criar"
+
+#: plugins/generic/references/class_aclResolver.inc:312
+#, fuzzy
+msgid "remove"
+msgstr "Remover"
+
+#: plugins/generic/references/class_aclResolver.inc:313
+#, fuzzy
+msgid "move"
+msgstr "Remover"
+
+#, fuzzy
+#~ msgid "List of items"
+#~ msgstr "Lista de usuários"
+
+#, fuzzy
+#~ msgid "Edit item"
+#~ msgstr "Editar certificados"
+
+#, fuzzy
+#~ msgid "Remove item"
+#~ msgstr "Remover foto"
+
+#, fuzzy
+#~ msgid "Container"
+#~ msgstr "Continuar"
+
+#, fuzzy
+#~ msgid "Config management"
+#~ msgstr "Sistema/Gerenciamento de Configurações"
+
+#, fuzzy
+#~ msgid "Distribution"
+#~ msgstr "Descrição"
+
+#, fuzzy
+#~ msgid "Component"
+#~ msgstr "Componente do domínio"
+
+#, fuzzy
+#~ msgid "Home phone"
+#~ msgstr "Telefone residêncial"
+
+#, fuzzy
+#~ msgid "Organizational unit"
+#~ msgstr "Nome da Empresa"
+
+#, fuzzy
+#~ msgid "Max"
+#~ msgstr "Maio"
+
+#, fuzzy
+#~ msgid "Min"
+#~ msgstr "Inicio"
+
+#~ msgid "Welcome %s!"
+#~ msgstr "Bem Vindo %s!"
+
+#, fuzzy
+#~ msgid "The folder %s specified for %s:%s cannot be used for reading!"
+#~ msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#, fuzzy
+#~ msgid "Object info"
+#~ msgstr "Objetos em uso"
+
+#, fuzzy
+#~ msgid "Acls"
+#~ msgstr "Acl"
+
+#, fuzzy
+#~ msgid ""
+#~ "The file '%s' specified for '%s:%s' cannot be created neither be used for "
+#~ "writing!"
+#~ msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#, fuzzy
+#~ msgid "The rdn '%s' specified for '%s:%s' is invalid!"
+#~ msgstr "'%s' comando para o plugin %s é inválido!"
+
+#, fuzzy
+#~ msgid "The values for 'New password' and 'Repeated new password' differ!"
+#~ msgstr ""
+#~ "As senhas que você digitou como 'Nova senha' e 'Repita a nova senha' não "
+#~ "coincidem."
+
+#, fuzzy
+#~ msgid "The password used as new and current are too similar!"
+#~ msgstr "A nova senha usada e atuais são muito semelhantes."
+
+#, fuzzy
+#~ msgid "The password used as new is to short!"
+#~ msgstr "A nova senha usada é muito curta."
+
+#, fuzzy
+#~ msgid "External password changer reported a problem: %s"
+#~ msgstr "A alteração de senha externa reportou um problema: %s."
+
+#, fuzzy
+#~ msgid ""
+#~ "Command %s specified as post modify action for plugin %s does not exist!"
+#~ msgstr "O comando auxiliar especificado %s para o plugin '%s' não existe!"
+
+#~ msgid ""
+#~ "Fatal error: no class locations defined - please run '%s' to fix this"
+#~ msgstr ""
+#~ "Erro fatal: Não locais definidos para a classe - por favor execute '%s' "
+#~ "para corrigir isso"
+
+#~ msgid ""
+#~ "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+#~ msgstr ""
+#~ "Erro fatal: Não foi possível instanciar a classe '%s' - tente executar "
+#~ "'%s' para corrigir isso"
+
+#~ msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#~ msgstr ""
+#~ "Erro fatal: Erro enquanto conectava no LDAP. O servidor informou '%s'."
+
+#~ msgid "Username / UID is not unique inside the LDAP tree!"
+#~ msgstr "Usuário / UID não é único na árvore LDAP!"
+
+#~ msgid ""
+#~ "Username / UID is not unique inside the LDAP tree. Please contact your "
+#~ "Administrator."
+#~ msgstr ""
+#~ "Usuário / UID não é único na árvore LDAP. Por favor entre em contato com "
+#~ "o Administrador."
+
+#~ msgid "Error while adding a lock. Contact the developers!"
+#~ msgstr ""
+#~ "Erro adicionando o bloqueio. Entre em contato com os desenvolvedores!"
+
+#~ msgid "LDAP server returned: %s"
+#~ msgstr "O servidor LDAP retornou: %s"
+
+#~ msgid ""
+#~ "Found multiple locks for object to be locked. This should not happen - "
+#~ "cleaning up multiple references."
+#~ msgstr ""
+#~ "Encontrados vários bloqueios de objeto a ser bloqueado. Isso não deve "
+#~ "acontecer - limpando múltiplas referências."
+
+#, fuzzy
+#~ msgid "The size limit of %d entries is exceed!"
+#~ msgstr "O tamanho limite %d de entradas foi execedido!"
+
+#~ msgid ""
+#~ "Set the new size limit to %s and show me this message if the limit still "
+#~ "exceeds"
+#~ msgstr ""
+#~ "Definir o limite de tamanho para %s e mostrar essa mensagem se o limite "
+#~ "continua a ser superior"
+
+#~ msgid "incomplete"
+#~ msgstr "incompleto"
+
+#, fuzzy
+#~ msgid "You're going to edit the LDAP entry/entries %s"
+#~ msgstr "Você esta editando a(s) entrada/entradas %s no LDAP"
+
+#~ msgid "Apply filter"
+#~ msgstr "Aplicar filtro"
+
+#~ msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+#~ msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+
+#~ msgid "File '%s' could not be deleted."
+#~ msgstr "O arquivo '%s' não pode ser excluido."
+
+#~ msgid "Cannot write to revision file!"
+#~ msgstr "Não foi possível escrever o arquivo de revisão!"
+
+#~ msgid "LDAP warning"
+#~ msgstr "Aviso LDAP"
+
+#~ msgid "Cannot get schema information from server. No schema check possible!"
+#~ msgstr ""
+#~ "Não é possível obter informações sobre o esquema do servidor. Nenhuma "
+#~ "verificação do esquema possível!"
+
+#~ msgid "Used to store account specific informations."
+#~ msgstr "Usado para guardar informações específicas da conta."
+
+#~ msgid ""
+#~ "Used to lock currently edited entries to avoid multiple changes at the "
+#~ "same time."
+#~ msgstr ""
+#~ "Utilizado para bloquear as entradas atualmente editado para evitar várias "
+#~ "alterações ao mesmo tempo."
+
+#~ msgid "Missing required object class '%s'!"
+#~ msgstr "Classe de objeto '%s' é requerida e esta ausente!"
+
+#~ msgid "Missing optional object class '%s'!"
+#~ msgstr "Classe de objeto '%s' é opcional esta ausente!"
+
+#~ msgid "Version mismatch for required object class '%s' (!=%s)!"
+#~ msgstr "Conflito de versão para a classe de objeto necessária: '%s' (!=%s)!"
+
+#~ msgid "Class(es) available"
+#~ msgstr "Classe(s) disponível(is)"
+
+#~ msgid ""
+#~ "You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
+#~ "schema    configuration do not support this option."
+#~ msgstr ""
+#~ "Você habilitou a opção do rfc2307bis no passo 'configurações do LDAP', "
+#~ "mas a sua configuração de esquema não suportam essa opção."
+
+#, fuzzy
+#~ msgid ""
+#~ "In order to use rfc2307bis conform groups the objectClass 'posixGroup' "
+#~ "must be      AUXILIARY"
+#~ msgstr ""
+#~ "Para usar a rf2307bis os grupos da classe de objetos 'posixGroup' devem "
+#~ "ser AUXILIARY"
+
+#~ msgid ""
+#~ "Your schema is configured to support the rfc2307bis group, but you have "
+#~ "disabled this option on the 'ldap setup' step."
+#~ msgstr ""
+#~ "Seu esquema esta configurado para suportar o grupo rfc2307bis, mas você "
+#~ "desativou esta opção na etapa da 'configuração do LDAP'."
+
+#~ msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#~ msgstr "A classe de objeto 'posixGroup' deve ser STRUCTURAL"
+
+#~ msgid ""
+#~ "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to "
+#~ "exist."
+#~ msgstr ""
+#~ "O comando '%s' especificado como POSTMODIFY para o plugin '%s' não parece "
+#~ "existir."
+
+#~ msgid ""
+#~ "Cannot generate samba hash: running '%s' failed, check the "
+#~ "'sambaHashHook'!"
+#~ msgstr ""
+#~ "Não foi possível gerar o hash do samba: '%s' falhou, verifique o "
+#~ "'sambaHashHook'!"
+
+#~ msgid "Cannot allocate a free ID:"
+#~ msgstr "Não é possível alocar um ID livre:"
+
+#, fuzzy
+#~ msgid "maximum tries exceeded!"
+#~ msgstr "tentativas máxima excedida!"
+
+#~ msgid "Cannot allocate a free ID!"
+#~ msgstr "Não é possível alocar um ID livre"
+
+#, fuzzy
+#~ msgid "Surename"
+#~ msgstr "Sobrenome"
+
+#, fuzzy
+#~ msgid "External password changer reported a problem: %s."
+#~ msgstr "A alteração de senha externa reportou um problema: %s."
+
+#~ msgid "Username"
+#~ msgstr "Usuário"
+
+#, fuzzy
+#~ msgid ""
+#~ "You've successfully changed your password. Remember to change all "
+#~ "programms configured to use it as well."
+#~ msgstr ""
+#~ "Você alterou sua senha com sucesso. Lembre-se de alterar todos os "
+#~ "programas configurado para usá-la também."
+
+#~ msgid ""
+#~ "This may be used by several groups. Please double check if your really "
+#~ "want to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Isso pode ser usado por vários grupos. Por favor, verifique novamente se "
+#~ "o você realmente quer fazer isso já que não há caminho para GOsa para "
+#~ "obter seus dados de volta."
+
+#~ msgid "GOsa login screen"
+#~ msgstr "GOsa tela de login"
+
+#~ msgid "Login screen"
+#~ msgstr "Tela de login"
+
+#~ msgid ""
+#~ "Please use your username and your password to log into the site "
+#~ "administration system."
+#~ msgstr ""
+#~ "Por favor informe o nome de usuário e senha para logar na administração "
+#~ "do sistema"
+
+#~ msgid "Sign in"
+#~ msgstr "Entrar"
+
+#~ msgid "Available members"
+#~ msgstr "Membros disponíveis"
+
+#~ msgid "Old password"
+#~ msgstr "Senha antiga"
+
+#~ msgid "Verify password"
+#~ msgstr "Redigite a nova senha"
+
+#~ msgid "Ok"
+#~ msgstr "Ok"
+
+#~ msgid "Success"
+#~ msgstr "Sucesso"
+
+#~ msgid "New password repeated"
+#~ msgstr "Repita a nova senha"
+
+#~ msgid "Change"
+#~ msgstr "Alterar"
+
+#~ msgid "Session conflict detected"
+#~ msgstr "Conflito de sessões detectada"
+
+#~ msgid ""
+#~ "Probably there's another active instance of your session. Multiple window "
+#~ "operation is technical not possible and heavily depends on the browser "
+#~ "you're using. Usage of different browsers at a time (i.e. IE and Mozilla) "
+#~ "is possible. Pressing the Logout button will close this session."
+#~ msgstr ""
+#~ "Provavelmente há outra instância ativa de sua sessão. Operação em "
+#~ "múltiplas janelas não é possível depende muito do navegador que você está "
+#~ "usando. O uso de diferentes navegadores em um momento (ou seja, o IE e "
+#~ "Mozilla) é possível. Pressionando o botão Sair fecha esta sessão."
+
+#~ msgid ""
+#~ "Ignoring this message will change/destroy the data you're currently "
+#~ "editing, so please close multiple windows and log in again."
+#~ msgstr ""
+#~ "Ignorar essa mensagem irá alterar/excluir os dados que você está editando "
+#~ "no momento, por isso, fechar as janelas múltiplas e entre novamente."
+
+#~ msgid "Help"
+#~ msgstr "Ajuda"
+
+#~ msgid "Sign out"
+#~ msgstr "Sair"
+
+#~ msgid "Signed in:"
+#~ msgstr "Logado como:"
+
+#~ msgid "External password changer reported a problem: "
+#~ msgstr "Alteração externa de senha reportou um problema:"
+
+#~ msgid "User information is not unique accross the configured LDAP trees!"
+#~ msgstr ""
+#~ "As informações do usuário não é exclusivo entre as árvores configurado "
+#~ "LDAP!"
+
+#~ msgid "Your LDAP setup contains old schema definitions:"
+#~ msgstr "Suas configurações do LDAP contém definições de esquemas antigos:"
+
+#~ msgid ""
+#~ "FATAL: Register globals is on. GOsa will refuse to login unless this is "
+#~ "fixed by an administrator."
+#~ msgstr ""
+#~ "FATAL: O regiter_globals está ON. O GOsa irá recusar fazer o login, a "
+#~ "menos esta seja corrigida pelo administrador."
+
+#~ msgid "The mcrypt module was not found. Please install php5-mcrypt."
+#~ msgstr "O módulo mcrypt não foi encontrado. Por favor instale php5-mcrypt."
+
+#~ msgid "All categories"
+#~ msgstr "Todas categorias"
+
+#~ msgid "Up"
+#~ msgstr "Acima"
+
+#~ msgid "Down"
+#~ msgstr "Abaixo"
+
+#~ msgid "Contains ACLs for these objects: %s"
+#~ msgstr "Contém ACLs para estes objetos: %s"
+
+#~ msgid "All objects in current subtree"
+#~ msgstr "Todos os objetos na subárvore"
+
+#~ msgid "Grant permission to owner"
+#~ msgstr "Concede permissão para o dono"
+
+#~ msgid "Role: %s"
+#~ msgstr "Papel: %s"
+
+#~ msgid "Go to root department"
+#~ msgstr "Ir para a raiz do departamento"
+
+#~ msgid "Go up one department"
+#~ msgstr "Subir um nível de departamento"
+
+#~ msgid "Go to users department"
+#~ msgstr "Ir para usuários do departamento"
+
+#~ msgid "Home"
+#~ msgstr "Home"
+
+#, fuzzy
+#~ msgid "Remove snapshot"
+#~ msgstr "Remover snapshot"
+
+#~ msgid "Password reset"
+#~ msgstr "Reiniciar senha"
+
+#~ msgid "Send bug report to the GOsa Team"
+#~ msgstr "Enviar relatório de erro para a Equipe do GOsa"
+
+#, fuzzy
+#~ msgid "Toggle information"
+#~ msgstr "Alternar informações"
+
+#~ msgid ""
+#~ "The object has changed since opened in GOsa. All changes that may be done "
+#~ "by others get lost if you save this entry!"
+#~ msgstr ""
+#~ "O objeto foi alterado desde que abriu em GOsa. Todas as alterações que "
+#~ "pode ser feito por outros se perdem se você salvar esta entrada!"
+
+#~ msgid "Changing ACL dn"
+#~ msgstr "Alterar dn ACL"
+
+#~ msgid "from"
+#~ msgstr "de"
+
+#~ msgid "to"
+#~ msgstr "para"
+
+#~ msgid "Restore"
+#~ msgstr "Restaurar"
+
+#~ msgid "cut"
+#~ msgstr "recortar"
+
+#, fuzzy
+#~ msgid ""
+#~ "The timezone setting '%s' in your gosa.conf is not valid. Cannot "
+#~ "calculate correct timezone offset."
+#~ msgstr ""
+#~ "A configuração de fuso horário '%s', no seu gosa.conf não é válido. Não é "
+#~ "possível determinar o fuso horário correto."
+
+#~ msgid "Select to list objects of type '%s'."
+#~ msgstr "Selecione a lista de objetos do tipo '%s'."
+
+#~ msgid "Select to list objects containig '%s'."
+#~ msgstr "Selecione a lista de objetos contendo '%s'."
+
+#~ msgid "Select to list objects that have '%s' enabled"
+#~ msgstr "Selecione a lista de objetos que têm '%s' habilitado"
+
+#~ msgid "Select to search within subtrees"
+#~ msgstr "Selecione a pesquisa dentro de subárvores"
+
+#~ msgid "Cannot bind to LDAP. Please contact the system administrator."
+#~ msgstr ""
+#~ "Não é possível logar no LDAP. Por favor entre em contato com o "
+#~ "administrador do sistema."
+
+#~ msgid "All objects in this category"
+#~ msgstr "Todos os objetos nesta categoria"
+
+#~ msgid "UNIX"
+#~ msgstr "UNIX"
+
+#~ msgid "Proxy"
+#~ msgstr "Proxy"
+
+#~ msgid "FTP"
+#~ msgstr "FTP"
+
+#~ msgid "Thin Client"
+#~ msgstr "Thin Client"
+
+#~ msgid "Object name"
+#~ msgstr "Nome do Objeto"
+
+#~ msgid "Contents"
+#~ msgstr "Conteúdo"
+
+#~ msgid "This object has no relationship to other objects."
+#~ msgstr "Este objeto não tem relação com outros objetos."
+
+#~ msgid ""
+#~ "This is the GOsa main menu. You can select your tasks from the menu on "
+#~ "the left, or by choosing one of the pictograms below. All changes apply "
+#~ "directly to your companies LDAP server."
+#~ msgstr ""
+#~ "Este é o menu principal GOsa. Você pode selecionar suas tarefas a partir "
+#~ "do menu do lado esquerdo, ou escolhendo uma das imagens abaixo. Todas as "
+#~ "alterações aplicam-se diretamente para o seu servidor LDAP."
+
+#~ msgid ""
+#~ "Use 'Sign out' on the upper left to close the connection and 'Main' to "
+#~ "get back to the pictogram view."
+#~ msgstr ""
+#~ "Use o 'Sair' na parte superior esquerda para finalizar sua sessão e "
+#~ "'Inicio' para voltar a página inicial."
+
+#~ msgid "Show department"
+#~ msgstr "Mostrar departamentos"
+
+#~ msgid "Show groups"
+#~ msgstr "Mostrar grupos"
+
+#~ msgid "Show server"
+#~ msgstr "Mostrar servidor"
+
+#~ msgid "Show workstation"
+#~ msgstr "Mostrar estação"
+
+#~ msgid "Show terminal"
+#~ msgstr "Mostrar terminal"
+
+#~ msgid "Show printer"
+#~ msgstr "Mostrar impressora"
+
+#~ msgid "Show phone"
+#~ msgstr "Mostrar telefone"
+
+#~ msgid ""
+#~ "Please double check if you really want to do this since there is no way "
+#~ "for GOsa to get your data back."
+#~ msgstr ""
+#~ "Por favor, verifique se você realmente quer fazer isso já que não há "
+#~ "caminho para GOsa para obter seus dados de volta."
+
+#~ msgid "Manage object groups"
+#~ msgstr "Gerenciar grupo de objetos"
+
+#~ msgid "winstations"
+#~ msgstr "estações windows"
+
+#~ msgid "Sytem trust"
+#~ msgstr "Sistema de confiança"
+
+#, fuzzy
+#~ msgid "Startup"
+#~ msgstr "Inicialização"
+
+#~ msgid "FAI summary"
+#~ msgstr "Sumário FAI"
+
+#~ msgid "nested groups"
+#~ msgstr "grupo aninhados"
+
+#~ msgid "application groups"
+#~ msgstr "grupo de aplicações"
+
+#~ msgid "department groups"
+#~ msgstr "grupo de departamentos"
+
+#~ msgid "server groups"
+#~ msgstr "grupo de servidores"
+
+#~ msgid "workstation groups"
+#~ msgstr "grupo de estações"
+
+#~ msgid "terminal groups"
+#~ msgstr "grupo de terminais"
+
+#~ msgid "printer groups"
+#~ msgstr "grupo de impressoras"
+
+#~ msgid "phone groups"
+#~ msgstr "grup de telefones"
+
+#~ msgid "Select objects to add"
+#~ msgstr "Selecionar objetos para adicionar"
+
+#~ msgid "Filters"
+#~ msgstr "Filtros"
+
+#~ msgid "Display objects of department"
+#~ msgstr "Exibir objetos de departamento"
+
+#~ msgid "Choose the department the search will be based on"
+#~ msgstr "Escolha o departamento na qual a pesquisa sera baseada"
+
+#, fuzzy
+#~ msgid "Display objects matching"
+#~ msgstr "Exibir objetos que correspondam"
+
+#~ msgid "Regular expression for matching object names"
+#~ msgstr "Expressões regulares para correspondência nomes de objeto"
+
+#~ msgid "Select systems to add"
+#~ msgstr "Selecionar sistemas para adicionar"
+
+#, fuzzy
+#~ msgid "Display systems of department"
+#~ msgstr "Exibir sistemas de departamento"
+
+#, fuzzy
+#~ msgid "Display systems matching"
+#~ msgstr "Exibir sistemas que correspondam"
+
+#, fuzzy
+#~ msgid "Regular expression for matching addresses"
+#~ msgstr "Expressões regulares para correspondência com endereços"
+
+#~ msgid ""
+#~ "This may be a primary user group. Please double check if you really want "
+#~ "to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Este pode ser um grupo primário de usuários. Por favor, verifique se você "
+#~ "realmente quer fazer isso já que não há caminho para GOsa para obter seus "
+#~ "dados de volta."
+
+#~ msgid "In all groups"
+#~ msgstr "Em todos os grupos"
+
+#, fuzzy
+#~ msgid "Not in all groups"
+#~ msgstr "Não esta em todos os grupos"
+
+#~ msgid "Show samba groups"
+#~ msgstr "Mostrar grupos do samba"
+
+#~ msgid "Show mail groups"
+#~ msgstr "Mostrar grupos de email"
+
+#~ msgid "! unknown UID"
+#~ msgstr "! UID desconhecido"
+
+#~ msgid ""
+#~ "Search returned too many results. Not displaying more than %s entries!"
+#~ msgstr ""
+#~ "Pequisa retornou muitos resultados, Não exibir mais que %s entradas!"
+
+#~ msgid "Group administration"
+#~ msgstr "Administração de Grupo"
+
+#~ msgid "Posix"
+#~ msgstr "Posix"
+
+#~ msgid "Edit posix properties"
+#~ msgstr "Editar propriedades do posix"
+
+#, fuzzy
+#~ msgid ""
+#~ "This includes all account data, system access rules, imap settings, etc. "
+#~ "for this user. Please double check if your really want to do this since "
+#~ "there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Isso inclui todos os dados da conta, as regras de acesso ao sistema, as "
+#~ "configurações de IMAP, etc para este usuário. Por favor, verifique "
+#~ "novamente se você realmente quer fazer isso já que não há caminho para "
+#~ "GOsa para obter seus dados de volta."
+
+#~ msgid ""
+#~ "Changing the password affects your authentification on mail, proxy, samba "
+#~ "and unix services."
+#~ msgstr ""
+#~ "Alterando a senha afeta a sua autenticação no email, proxy, samba e "
+#~ "serviços UNIX."
+
+#~ msgid "Show functional users"
+#~ msgstr "Mostrar usuários funcionais"
+
+#~ msgid "Show Samba users"
+#~ msgstr "Mostrar usuários Samba"
+
+#, fuzzy
+#~ msgid ""
+#~ "This includes 'all' accounts, systems, etc. in this subtree. Please "
+#~ "double check if your really want to do this since there is no way for "
+#~ "GOsa to get your data back."
+#~ msgstr ""
+#~ "Isso inclui 'todas' as contas, sistemas, etc nessa subárvore. Por favor, "
+#~ "verifique novamente se você realmente quer fazer isso já que não há "
+#~ "caminho para GOsa para obter seus dados de volta."
+
+#, fuzzy
+#~ msgid ""
+#~ "Best thing to do before performing this action would be to save the "
+#~ "current contents of your LDAP tree in a file. So - if you've done so - "
+#~ "press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "A melhor coisa a fazer antes de executar essa ação seria a de salvar o "
+#~ "conteúdo atual da sua árvore LDAP em um arquivo. Portanto - se você tiver "
+#~ "feito isso - pressione 'Excluir' para continuar ou \"Cancelar\" para "
+#~ "abortar."
+
+#~ msgid "Manage Departments"
+#~ msgstr "Gerenciar departamentos"
+
+#~ msgid "Show access control lists"
+#~ msgstr "Mostrar lista de controle de acesso"
+
+#~ msgid "Show roles"
+#~ msgstr "Mostrar papéis"
+
+#, fuzzy
+#~ msgid "Bug submitter"
+#~ msgstr "Submeter bug"
+
+#, fuzzy
+#~ msgid ""
+#~ "<a\thref='https://oss.gonicus.de/labs/gosa/"
+#~ "newticket'\ttarget='_blank'>Bugsubmitter</a>"
+#~ msgstr ""
+#~ "<a\thref='https://oss.gonicus.de/labs/gosa/"
+#~ "newticket'\ttarget='_blank'>Submeter bug</a>"
+
+#~ msgid ""
+#~ "(Some types of certificates are currently not supported and may be "
+#~ "displayed as 'invalid'.)"
+#~ msgstr ""
+#~ "(Alguns tipos de certificados não são suportados e podem ser exibidos "
+#~ "como \"inválido\".)"
+
+#~ msgid "Personal picture"
+#~ msgstr "Foto pessoal"
+
+#~ msgid "Preferred langage"
+#~ msgstr "Idioma preferencial"
+
+#, fuzzy
+#~ msgid "Choose subtree to place user in"
+#~ msgstr "Escolha uma subárvore para colocar o usuário no"
+
+#~ msgid "Select a base"
+#~ msgstr "Selecione a base"
+
+#, fuzzy
+#~ msgid "You have no permission to set your password!"
+#~ msgstr "Você não tem permissão para definir sua senha!"
+
+#~ msgid "Generic user information"
+#~ msgstr "Informações gerais do usuário"
+
+#~ msgid ""
+#~ "You have changed the method your password is stored in the ldap database. "
+#~ "For that reason you've to enter your password at this point again. GOsa "
+#~ "will then encode it with the selected method."
+#~ msgstr ""
+#~ "Você mudou o método de sua senha armazenada no banco de dados LDAP. Por "
+#~ "essa razão, você tem que digitar sua senha, neste momento novamente. GOsa "
+#~ "irá codificá-lo com o método selecionado."
+
+#~ msgid "Account"
+#~ msgstr "Conta"
+
+#~ msgid "Select groups to add"
+#~ msgstr "Selecione os grupos para adicionar"
+
+#~ msgid "Display groups of department"
+#~ msgstr "Exibir grupos de departamento"
+
+#, fuzzy
+#~ msgid "Display groups matching"
+#~ msgstr "Exibir grupos combinados"
+
+#, fuzzy
+#~ msgid "Regular expression for matching group names"
+#~ msgstr "Expressões regulares para correspondência dos nomes de grupos"
+
+#~ msgid "Display groups of user"
+#~ msgstr "Exibir grupos de usuários"
+
+#, fuzzy
+#~ msgid "User name of which groups are shown"
+#~ msgstr "Nome de usuário que os grupos são mostrados"
+
+#~ msgid "Show servers"
+#~ msgstr "Mostrar servidores"
+
+#~ msgid "Show workstations"
+#~ msgstr "Mostrar estações"
+
+#~ msgid "Show terminals"
+#~ msgstr "Mostrar terminais"
+
+#~ msgid "Posix settings"
+#~ msgstr "Configurações Posix"
+
+#~ msgid "Password change not allowed"
+#~ msgstr "Alteração de senha não é permitido"
+
+#~ msgid "Samba settings"
+#~ msgstr "Configurações do Samba"
+
+#~ msgid "Samba hash generator"
+#~ msgstr "Gerador de hash do samba"
+
+#~ msgid "Samba SID"
+#~ msgstr "Samba SID"
+
+#~ msgid "RID base"
+#~ msgstr "Base RID "
+
+#~ msgid "Workstation container"
+#~ msgstr "Recipiente de estações"
+
+#, fuzzy
+#~ msgid "Samba SID mapping"
+#~ msgstr "Mapeamento de SID Samba"
+
+#~ msgid "Timezone"
+#~ msgstr "Fuso horário"
+
+#~ msgid "Please choose your preferred timezone here"
+#~ msgstr "Por favor escolha o seu fuso horário preferido aqui"
+
+#~ msgid "Additional GOsa settings"
+#~ msgstr "Outras configurações do GOsa"
+
+#~ msgid "Enable Copy & Paste"
+#~ msgstr "Habilitar copiar & colar"
+
+#~ msgid "Government mode"
+#~ msgstr "Modo de governo"
+
+#~ msgid "GOsa logging"
+#~ msgstr "GOsa log"
+
+#~ msgid "Mail settings"
+#~ msgstr "Configurações de email"
+
+#~ msgid "Mail method"
+#~ msgstr "Método de email"
+
+#~ msgid "Account identification attribute"
+#~ msgstr "Atributo de identificação de conta"
+
+#~ msgid "Vacation templates"
+#~ msgstr "Modelo aviso de férias"
+
+#~ msgid "Use Cyrus UNIX style"
+#~ msgstr "Usar estilo Cyrus UNIX"
+
+#, fuzzy
+#~ msgid "Snapshots / Undo"
+#~ msgstr "Snapshots / Desfazer"
+
+#, fuzzy
+#~ msgid "Enable snapshots"
+#~ msgstr "Habilitar snapshots"
+
+#, fuzzy
+#~ msgid "Snapshot base"
+#~ msgstr "Base do snapshot"
+
+#~ msgid "Installation"
+#~ msgstr "Instalação"
+
+#~ msgid ""
+#~ "Move windows workstations into a valid windows workstation department"
+#~ msgstr ""
+#~ "Move estações de trabalho Windows em um departamento de estação de "
+#~ "trabalho válido para o Windows"
+
+#, fuzzy
+#~ msgid ""
+#~ "This dialog allows you to move the displayed windows workstations into a "
+#~ "valid department"
+#~ msgstr ""
+#~ "Este diálogo lhe permite mover as estações de trabalho Windows para um "
+#~ "departamento válido"
+
+#, fuzzy
+#~ msgid ""
+#~ "Be careful with this tool, there may be references pointing to this "
+#~ "workstations that can't be migrated."
+#~ msgstr ""
+#~ "Tenha cuidado com essa ferramenta, pode haver referências apontando para "
+#~ "esta estação de trabalho que não podem ser migrados."
+
+#, fuzzy
+#~ msgid ""
+#~ "Move selected windows workstations into the following GOsa department"
+#~ msgstr ""
+#~ "Mover as estações de trabalho selecionadas para o seguinte departamento "
+#~ "no GOsa"
+
+#~ msgid "Move selected workstations"
+#~ msgstr "Mover as estações de trabalho selecionadas"
+
+#, fuzzy
+#~ msgid "What will be done here"
+#~ msgstr "O que será feito aqui"
+
+#~ msgid "Move groups into configured group tree"
+#~ msgstr "Mover os grupos para a árvore de grupos configurado"
+
+#, fuzzy
+#~ msgid ""
+#~ "This dialog allows moving a couple of groups to the configured group "
+#~ "tree. Doing this may straighten your LDAP service."
+#~ msgstr ""
+#~ "Este diálogo permite mover os grupos para a árvore de grupos configurado. "
+#~ "isso pode corrigir o seu serviço LDAP."
+
+#~ msgid ""
+#~ "Be careful with this option! There may be references pointing to these "
+#~ "groups. The GOsa setup can't migrate references, so you may want to "
+#~ "cancel the migration in this case."
+#~ msgstr ""
+#~ "Tenha cuidado com esta opção! Pode haver referências que apontam para "
+#~ "esses grupos. A configuração GOsa não pode migrar referências, assim você "
+#~ "pode querer cancelar a migração neste caso."
+
+#, fuzzy
+#~ msgid "Move selected groups into this group tree"
+#~ msgstr "Mover os grupos selecionados para o seguinte departamento"
+
+#~ msgid "Hide changes"
+#~ msgstr "Esconder alterações"
+
+#, fuzzy
+#~ msgid "Move users into configured user tree"
+#~ msgstr "Mover os usuários configurados para á arvore de usuário"
+
+#, fuzzy
+#~ msgid ""
+#~ "This dialog allows moving a couple of users to the configured user tree. "
+#~ "Doing this may straighten your LDAP service."
+#~ msgstr ""
+#~ "Este diálogo permite mover os usuários para a árvore de usuários "
+#~ "configurado. isso pode corrigir o seu serviço LDAP."
+
+#~ msgid ""
+#~ "Be careful with this option! There may be references pointing to these "
+#~ "users. The GOsa setup can't migrate references, so you may want to cancel "
+#~ "the migration in this case."
+#~ msgstr ""
+#~ "Tenha cuidado com esta opção! Pode haver referências que apontam para "
+#~ "esses usuários. A configuração GOsa não pode migrar referências, assim "
+#~ "você pode querer cancelar a migração neste caso."
+
+#, fuzzy
+#~ msgid "Move selected users into this people tree"
+#~ msgstr "Mover usuários selecionados para esta árvore de usuários"
+
+#~ msgid "Migrate GOsa 2.5 administrative accounts"
+#~ msgstr "Migrar contas administrativas do GOsa 2.5"
+
+#~ msgid ""
+#~ "This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
+#~ "useable accounts."
+#~ msgstr ""
+#~ "Este diálogo permite a migração das contas admin do GOsa 2.5 para o GOsa "
+#~ "2.6."
+
+#~ msgid "Abort"
+#~ msgstr "Abortar"
+
+#~ msgid ""
+#~ "The listed departments are currently invisible in the GOsa user "
+#~ "interface. If you want to change this for a couple of entries, select "
+#~ "them and use the migrate button below."
+#~ msgstr ""
+#~ "Os departamentos listados estão atualmente invisíveis na interface do "
+#~ "usuário GOsa. Se você quiser mudar isso, selecioná-los e usar o botão "
+#~ "aplicar abaixo."
+
+#~ msgid ""
+#~ "If you want to know what will be done when migrating the selected "
+#~ "entries, use the 'Show changes' button to see the LDIF."
+#~ msgstr ""
+#~ "Se você quiser saber o que será feito quando a migração das entradas "
+#~ "selecionadas, use o botão 'Mostrar alterações' para ver o LDIF."
+
+#, fuzzy
+#~ msgid ""
+#~ "The listed users are currently invisible in the GOsa user interface. If "
+#~ "you want to change this for a couple of users, just select them and use "
+#~ "the 'Migrate' button below."
+#~ msgstr ""
+#~ "Os usuários listados estão atualmente invisíveis na interface do usuário "
+#~ "GOsa. Se você quiser mudar isso, selecioná-los e usar o botão 'Migrar' "
+#~ "abaixo."
+
+#, fuzzy
+#~ msgid ""
+#~ "The listed devices are currently invisible in the GOsa interface. If you "
+#~ "want to change this for a couple of devices, just select them and use the "
+#~ "'Migrate' button below."
+#~ msgstr ""
+#~ "Os dispositivos listados estão atualmente invisíveis na interface do "
+#~ "usuário GOsa. Se você quiser mudar isso, selecioná-los e usar o botão "
+#~ "'Migrar' abaixo."
+
+#~ msgid "Refresh"
+#~ msgstr "Atualizar"
+
+#, fuzzy
+#~ msgid ""
+#~ "The listed services are currently invalid for the GOsa version you are "
+#~ "going to install. If you want to update a couple of service, just select "
+#~ "them and use the 'Migrate' button below."
+#~ msgstr ""
+#~ "Os serviços listados estão atualmente invisíveis na interface do usuário "
+#~ "GOsa. Se você quiser mudar isso, selecioná-los e usar o botão 'Migrar' "
+#~ "abaixo."
+
+#, fuzzy
+#~ msgid ""
+#~ "The listed menus are currently invisible in the GOsa interface. If you "
+#~ "want to change this for a couple of devices, just select them and use the "
+#~ "'Migrate' button below."
+#~ msgstr ""
+#~ "Os menus listados estão atualmente invisíveis na interface do usuário "
+#~ "GOsa. Se você quiser mudar isso, selecioná-los e usar o botão 'Migrar' "
+#~ "abaixo."
+
+#~ msgid "Enable primary group filter"
+#~ msgstr "Habilitar filtro de grupo primário"
+
+#~ msgid "Display summary in listings"
+#~ msgstr "Mostrar resumo em lista"
+
+#~ msgid "Honour administrative units"
+#~ msgstr "Reconhecer unidades administrativas"
+
+#~ msgid "SNMP community"
+#~ msgstr "Comunidade SNMP"
+
+#~ msgid "Path for PPD storage"
+#~ msgstr "Caminho para arquivos PPD"
+
+#~ msgid "SUDO role base"
+#~ msgstr "Base SUDO para papel"
+
+#~ msgid "Mail queue script"
+#~ msgstr "Script fila de email"
+
+#~ msgid "Enable edit locking"
+#~ msgstr "Habilitar edição de bloqueio"
+
+#~ msgid "Gosa support daemon"
+#~ msgstr "Daemon de serviço GOsa"
+
+#~ msgid "Daemon timeout"
+#~ msgstr "Tempo de vida do daemon"
+
+#~ msgid "Login and session"
+#~ msgstr "Logon e sessão"
+
+#~ msgid "Enforce register_globals to be deactivated"
+#~ msgstr "Exigir que o register_globals esteja desativado"
+
+#~ msgid "Warn if session is not encrypted"
+#~ msgstr "Avisar se a sessão não for criptografada"
+
+#~ msgid "Remember dialog filter settings"
+#~ msgstr "Lembrar as definições de filtros"
+
+#~ msgid "Session lifetime"
+#~ msgstr "Duração da sessão"
+
+#~ msgid "Debugging"
+#~ msgstr "Depuração"
+
+#~ msgid "Show PHP errors"
+#~ msgstr "Mostrar erros do PHP"
+
+#~ msgid "Maximum LDAP query time"
+#~ msgstr "Tempo máximo de consulta LDAP"
+
+#~ msgid "Debug level"
+#~ msgstr "Nível de depuração"
+
+#~ msgid "Disabled"
+#~ msgstr "Desabilitado"
+
+#~ msgid "Checking for invisible departments"
+#~ msgstr "Verificando departamentos invisíveis"
+
+#~ msgid "Checking for invisible users"
+#~ msgstr "Verificando usuários invisíveis"
+
+#~ msgid "Checking for users outside the people tree"
+#~ msgstr "Verificando usuário fora da árvore de usuários"
+
+#~ msgid "Checking for groups outside the groups tree"
+#~ msgstr "Verificando grupos fora da árvore de grupos"
+
+#~ msgid "Checking for windows workstations outside the winstation tree"
+#~ msgstr "Verificando estações Windows fora da árvore de estações Windows"
+
+#~ msgid "Checking for duplicated UID numbers"
+#~ msgstr "Verificando duplicação de números UID"
+
+#~ msgid "Checking for duplicate GID numbers"
+#~ msgstr "Verificando duplicação de números GID"
+
+#~ msgid "Checking for old style USB devices"
+#~ msgstr "Verificando os dispositivos USB com estilo antigo"
+
+#~ msgid "Checking for old services that have to be migrated"
+#~ msgstr "Verificando serviços antigos, que devem ser migrados"
+
+#~ msgid "Checking for old style application menus"
+#~ msgstr "Verificando menus de aplicações com estilo antigo"
+
+#~ msgid "Found %s duplicate values for attribute 'uidNumber'."
+#~ msgstr "Encontrados %s valores duplicados para o atributo 'uidNumber'."
+
+#~ msgid "Found %s duplicate values for attribute 'gidNumber'."
+#~ msgstr "Encontrados %s valores duplicados para o atributo 'gidNumber'."
+
+#~ msgid ""
+#~ "Found %s winstations outside the predefined winstation department ou '%s'."
+#~ msgstr ""
+#~ "Encontrados %s estações Windows fora da ou predefinida para estações "
+#~ "windows '%s'."
+
+#~ msgid "Move"
+#~ msgstr "Mover"
+
+#~ msgid "Found %s user(s) outside the configured tree '%s'."
+#~ msgstr "Encontrados %s usuário(s) fora da árvore configurada '%s'."
+
+#~ msgid "Found %s user(s) that will not be visible in GOsa."
+#~ msgstr "Encontrados %s usuário(s) que não serão visíveis no GOsa."
+
+#~ msgid "Cannot migrate department '%s':"
+#~ msgstr "Não é possível migrar o departamento '%s':"
+
+#~ msgid "Found %s department(s) that will not be visible in GOsa."
+#~ msgstr "Encontrados %s departamento(s) que não serão visíveis no GOsa."
+
+#~ msgid "GOsa 2.5 administrative accounts found: %s"
+#~ msgstr "Contas administrativas do GOsa 2.5 encontrado: %s"
+
+#~ msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
+#~ msgstr ""
+#~ "Não há nenhuma conta de administrador válida para o GOsa 2.6 no seu LDAP."
+
+#~ msgid "Uid"
+#~ msgstr "Uid"
+
+#~ msgid "Cannot move users to the requested department!"
+#~ msgstr "Não é possível mover os usuários para o departamento solicitado!"
+
+#, fuzzy
+#~ msgid "Updating following references too"
+#~ msgstr "Atualizando as seguintes referências"
+
+#~ msgid "User will be moved from"
+#~ msgstr "O usuário será movido de"
+
+#~ msgid "Copy '%s' to '%s' failed:"
+#~ msgstr "A cópia de '%s' para '%s' falhou:"
+
+#, fuzzy
+#~ msgid "There are %s devices that need to be migrated."
+#~ msgstr "Existem %s dispositivos que precisam ser migrados."
+
+#~ msgid "Adding '%s' to the LDAP failed: %s"
+#~ msgstr "Falha ao adicionar '%s' no LDAP: %s"
+
+#, fuzzy
+#~ msgid "Updating '%s' failed: %s"
+#~ msgstr "A atualização '%s' falhou: %s"
+
+#, fuzzy
+#~ msgid "There are %s services that need to be migrated."
+#~ msgstr "Existem %s serviços que precisam ser migrados."
+
+#, fuzzy
+#~ msgid "There are %s application menus which have to be migrated."
+#~ msgstr "Existem %s aplicações de menu que precisam ser migrados."
+
+#~ msgid ""
+#~ "This seems to be the first time you start GOsa - we didn't find any "
+#~ "configuration right now. This simple wizard intends to help you while "
+#~ "setting it up."
+#~ msgstr ""
+#~ "Esta parece ser a primeira vez que inicia o GOsa - não encontramos "
+#~ "nenhuma configuração agora. Este assistente tem a intenção de ajudá-lo na "
+#~ "sua criação."
+
+#~ msgid "What will the wizard do for you?"
+#~ msgstr "O que o assistente pode fazer por você?"
+
+#~ msgid "Create a basic, single site configuration"
+#~ msgstr "Criar uma configuração simples e básica do site"
+
+#~ msgid "Tries to find problems within your PHP and LDAP setup"
+#~ msgstr "Tentar encontrar problemas de configuração no PHP e LDAP"
+
+#~ msgid ""
+#~ "Let you choose from a set of basic and advanced configuration switches"
+#~ msgstr ""
+#~ "Permitir que você escolha as definições básicas e avançadas de "
+#~ "configuração"
+
+#~ msgid "Guided migration of existing LDAP trees"
+#~ msgstr "Guia para migração de uma árvore LDAP existente"
+
+#~ msgid "What will the wizard NOT do for you?"
+#~ msgstr "O que o assistente NÃO pode fazer por você?"
+
+#~ msgid "Find every possible configuration error"
+#~ msgstr "Encontrar todos os erros de configuração possível"
+
+#~ msgid "Migrate every possible LDAP setup - create backup dumps!"
+#~ msgstr "Migrar cada configuração do LDAP possível - criar dumps de backup!"
+
+#~ msgid "To continue..."
+#~ msgstr "Para continuar..."
+
+#~ msgid "GOsa settings 3/3"
+#~ msgstr "Configurações do GOsa 3/3"
+
+#~ msgid "Session lifetime must be a numeric value!"
+#~ msgstr "Tempo de vida da sessão deve ser um valor numérico!"
+
+#~ msgid "Maximum LDAP query time must be a numeric value!"
+#~ msgstr "O tempo máximo de consulta LDAP deve ser um valor numérico!"
+
+#~ msgid "Enable schema validation when logging in"
+#~ msgstr "Habilitar validação de esquema quando efetuar o logon"
+
+#~ msgid "Look and feel"
+#~ msgstr "Aparência"
+
+#~ msgid "Apache"
+#~ msgstr "Apache"
+
+#~ msgid "Compress output send to browser"
+#~ msgstr "Comprimir a saída para enviar para o navegador"
+
+#~ msgid "People DN attribute"
+#~ msgstr "Atributo DN para pessoa"
+
+#~ msgid "People storage subtree"
+#~ msgstr "Pessoas na subárvore"
+
+#~ msgid "Group storage subtree"
+#~ msgstr "Grupo na subárvore"
+
+#~ msgid "Include personal title in user DN"
+#~ msgstr "Incluir título pessoal do usuário no DN"
+
+#~ msgid "Relaxed naming policies"
+#~ msgstr "Política de nomes relaxada"
+
+#~ msgid "Automatic UIDs"
+#~ msgstr "UIDs automáticos"
+
+#~ msgid "GID / UID min id"
+#~ msgstr "GID/ID minimo"
+
+#~ msgid "Number base for people/groups"
+#~ msgstr "Número base para pessoas/grupos"
+
+#~ msgid "Hook for number base"
+#~ msgstr "Comando auxiliar para número base"
+
+#~ msgid "Password encryption algorithm"
+#~ msgstr "Algorítimo de criptografia de senhas"
+
+#~ msgid "Password restrictions"
+#~ msgstr "Restrições de senha"
+
+#~ msgid "Different characters from old password"
+#~ msgstr "Caracteres diferentes da senha antiga"
+
+#~ msgid "Password change hook"
+#~ msgstr "Comando auxiliar para alteração de senha"
+
+#~ msgid "Use SASL for kerberos"
+#~ msgstr "Usar SASL para Kerberos"
+
+#~ msgid "Use account expiration"
+#~ msgstr "Usar expiração de conta"
+
+#~ msgid ""
+#~ "GOsa supports several encryption types for your passwords. Normally this "
+#~ "is adjustable via user templates, but you can specify a default method to "
+#~ "be used here, too."
+#~ msgstr ""
+#~ "O GOsa suporta diversos tipos de criptografia para as senhas. "
+#~ "Normalmente, esta é ajustável através de modelos de usuário, mas você "
+#~ "pode especificar um método padrão a ser usado também."
+
+#, fuzzy
+#~ msgid ""
+#~ "GOsa always acts as admin and manages access rights internally. This is a "
+#~ "workaround till OpenLDAP's in directory ACI's are    fully implemented. "
+#~ "For this to work, we need the admin DN and the corresponding password."
+#~ msgstr ""
+#~ "GOsa sempre atua como administrador e gera os direitos de acesso "
+#~ "internamente. Esta é uma solução alternativa ao diretório OpenLDAP quando "
+#~ "as ACI's estão totalmente implementadas. Para que isso funcione, "
+#~ "precisamos que o DN admin e a senha correspondente."
+
+#, fuzzy
+#~ msgid ""
+#~ "Some basic LDAP parameters are tunable and affect the locations where "
+#~ "GOsa saves people and groups, including the way accounts get created. "
+#~ "Check the values below if the fit your needs."
+#~ msgstr ""
+#~ "Alguns parâmetros básicos de LDAP são ajustáveis e afeta os locais onde "
+#~ "GOsa salva as pessoas e grupos, incluindo o modo como as contas são "
+#~ "criadas. Verifique os valores abaixo se a atender às suas necessidades."
+
+#, fuzzy
+#~ msgid ""
+#~ "GOsa has modular support for several mail methods. These methods provide "
+#~ "interfaces to users mailboxes and general handling    for quotas. You can "
+#~ "choose the dummy plugin to leave all your mail settings untouched."
+#~ msgstr ""
+#~ "O GOsa tem suporte para vários métodos de correio. Estes métodos oferecem "
+#~ "interfaces para usuários as caixas de correio e manutenção geral das "
+#~ "quotas. Você pode escolher o plugin fictício para deixar todos os seus e-"
+#~ "mails sem trocar as configurações."
+
+#~ msgid "GOsa settings 1/3"
+#~ msgstr "Configurações do GOsa 1/3"
+
+#~ msgid "The specified value for '%s' must be a numeric value"
+#~ msgstr "O valor especificado para '%s' deve ser um valor numérico"
+
+#~ msgid "Don't add a trailing comma to '%s'."
+#~ msgstr "Não adicione uma virgula no de '%s'."
+
+#~ msgid "People storage ou"
+#~ msgstr "OU de armazenamento para Pessoas"
+
+#~ msgid "Group storage ou"
+#~ msgstr "OU de armazenamento para Grupos"
+
+#~ msgid "Uid base must be numeric"
+#~ msgstr "UID base deve ser numérico"
+
+#~ msgid "The given password minimum length is not numeric."
+#~ msgstr "O comprimento mínimo de senha informado não é numérico."
+
+#~ msgid "The given password differ value is not numeric."
+#~ msgstr "A senha informada diferem, o valor não é numérico."
+
+#~ msgid "GOsa settings 2/3"
+#~ msgstr "Configurações do GOsa 2/3"
+
+#~ msgid "Customize special parameters"
+#~ msgstr "Personalizar parâmetros especiais"
diff --git a/gosa-core/locale/core/ru/LC_MESSAGES/messages.po b/gosa-core/locale/core/ru/LC_MESSAGES/messages.po
index 1c21033..7863df9 100644
--- a/gosa-core/locale/core/ru/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/ru/LC_MESSAGES/messages.po
@@ -5,2577 +5,2583 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-09 20:24+0200\n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
 "PO-Revision-Date: 2005-04-18 14:35+0300\n"
 "Last-Translator: Igor Muratov <migor at altlinux.org>\n"
 "Language-Team: ALT Linux Team\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: poEdit 1.3.1\n"
 
-#: ihtml/themes/default/remove.tpl:2 ihtml/themes/default/msg_dialog.tpl:59
-#: ihtml/themes/default/msg_dialog.tpl:106 ihtml/themes/default/islocked.tpl:6
-#: ihtml/themes/default/conflict.tpl:6 html/password.php:280 html/index.php:57
-#: html/index.php:63 html/index.php:406 html/index.php:412
-#: include/functions.inc:954 include/functions.inc:2686
-#: include/functions.inc:2690 include/functions.inc:2696
-#: include/class_tabs.inc:268 include/utils/class_xml.inc:37
-#: plugins/admin/ogroups/remove.tpl:2 plugins/admin/groups/remove.tpl:2
-#: plugins/admin/groups/class_group.inc:994 plugins/admin/users/remove.tpl:2
-#: plugins/admin/departments/remove.tpl:2
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#: plugins/admin/acl/remove.tpl:2
-#: plugins/personal/posix/class_posixAccount.inc:793
-#: plugins/personal/posix/class_posixAccount.inc:946
-#: setup/class_setupStep_Migrate.inc:261 setup/class_setupStep_Migrate.inc:313
-#: setup/class_setupStep_Migrate.inc:446 setup/class_setupStep_Migrate.inc:523
-#: setup/class_setupStep_Migrate.inc:661 setup/class_setupStep_Migrate.inc:804
-#: setup/class_setupStep_Migrate.inc:2573
-#: setup/class_setupStep_Migrate.inc:2726
-#: setup/class_setupStep_Migrate.inc:3058 setup/setup_checks.tpl:32
-#: setup/setup_checks.tpl:93
-msgid "Warning"
-msgstr "Предупреждение"
-
-#: ihtml/themes/default/remove.tpl:6
-msgid ""
-"This may be used by several groups. Please double check if your really want "
-"to do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Это приложение может использоваться несколькими группами. Подумайте еще раз, "
-"действительно ли вы хотите удалить его, так как GOsa не сможет отменить "
-"результаты этой операции."
-
-#: ihtml/themes/default/remove.tpl:9 plugins/admin/ogroups/remove.tpl:10
-#: plugins/admin/groups/remove.tpl:10 plugins/admin/users/remove.tpl:10
-#: plugins/admin/acl/remove.tpl:10
-#, fuzzy
-msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-"Если вы уверены в своих действиях, нажмите на кнопку <i>Удалить</i>, иначе "
-"нажмите <i>Отмена</i>."
-
-#: ihtml/themes/default/remove.tpl:15
-#: ihtml/themes/default/copyPasteDialog.tpl:21
-#: ihtml/themes/default/acl.tpl:128 ihtml/themes/default/acl.tpl:142
-#: ihtml/themes/default/snapshotdialog.tpl:44
-#: ihtml/themes/default/snapshotdialog.tpl:89
-#: ihtml/themes/default/msg_dialog.tpl:79
-#: ihtml/themes/default/msg_dialog.tpl:139
-#: ihtml/themes/default/msg_dialog.tpl:144
-#: ihtml/themes/default/islocked.tpl:19 include/utils/class_msgPool.inc:312
-#: setup/setup_migrate.tpl:163 setup/setup_migrate.tpl:214
-#: setup/setup_migrate.tpl:261 setup/setup_migrate.tpl:326
-#: setup/setup_migrate.tpl:382 setup/setup_migrate.tpl:435
-#: setup/setup_migrate.tpl:480 setup/setup_migrate.tpl:523
-#: setup/setup_migrate.tpl:567 setup/setup_ldap.tpl:17
-#, php-format
-msgid "Cancel"
-msgstr "Отмена"
-
-#: ihtml/themes/default/login.tpl:10
-msgid "GOsa login screen"
-msgstr ""
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
+msgstr "Не настроено"
 
-#: ihtml/themes/default/login.tpl:27
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
 #, fuzzy
-msgid "Login screen"
-msgstr "Служба печати"
+msgid "Permission"
+msgstr "Права для членов группы"
 
-#: ihtml/themes/default/login.tpl:34
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
 #, fuzzy
-msgid ""
-"Please use your username and your password to log into the site "
-"administration system."
-msgstr ""
-"Чтобы войти в систему<br> введите свои <i>имя пользователя</i> и <i>пароль</"
-"i>."
+msgid "Permission error"
+msgstr "Права для членов группы"
 
-#: ihtml/themes/default/login.tpl:42 ihtml/themes/default/login.tpl:44
-#: ihtml/themes/default/password.tpl:69 ihtml/themes/default/password.tpl:71
-msgid "Username"
-msgstr "Имя пользователя"
+#: include/class_management.inc:487
+#, fuzzy, php-format
+msgid "You are not allowed to create a snapshot for %s!"
+msgstr "Вам не разрешено менять пароль."
 
-#: ihtml/themes/default/login.tpl:47 ihtml/themes/default/login.tpl:49
-#: ihtml/themes/default/password.tpl:40
-#: plugins/personal/generic/paste_generic.tpl:20
-#: plugins/personal/password/class_password.inc:26 setup/setup_config2.tpl:237
-#: setup/setup_config2.tpl:282 setup/setup_migrate.tpl:299
-msgid "Password"
-msgstr "Пароль"
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
+#, php-format
+msgid "Error"
+msgstr ""
 
-#: ihtml/themes/default/login.tpl:52 ihtml/themes/default/login.tpl:53
-#: ihtml/themes/default/password.tpl:60 ihtml/themes/default/password.tpl:62
-msgid "Directory"
-msgstr "Каталог"
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, fuzzy, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
+msgstr "Вам не разрешено менять пароль."
 
-#: ihtml/themes/default/login.tpl:77 ihtml/themes/default/login.tpl:80
-msgid "Sign in"
-msgstr "Войти"
+#: include/class_management.inc:549
+#, fuzzy, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
+msgstr "Вам не разрешено менять пароль."
 
-#: ihtml/themes/default/login.tpl:78
-msgid "Click here to log in"
-msgstr "Нажмите на эту кнопку, чтобы войти в систему"
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
+#, fuzzy
+msgid "Internal error"
+msgstr "Терминал-сервер"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:1
-msgid "Copy & paste wizard"
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
+msgid ""
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:7
+#: include/class_management.inc:669
+#, php-format
 msgid ""
-"Some values need to be unique in the complete directory while some "
-"combinations make no sense. GOsa shows the relevant attributes. Please "
-"maintain the values below to fullfill the policies."
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:9
-msgid "Remember that some properties like taken snapshots will not be copied!"
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+#, fuzzy
+msgid "Configuration error"
+msgstr "Настроить"
+
+#: include/class_pluglist.inc:147
+msgid "The configuration format has changed: please run the setup again!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:10
+#: include/class_pluglist.inc:304
+#, fuzzy
 msgid ""
-"Or if you copy or cut an entry within GOsa and delete the source object, you "
-"may get errors while pasting this object again!"
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
 msgstr ""
+"Вы сейчас редактируете объект базы данных. Хотите отказаться от изменений?"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:330
-#, php-format
-msgid "Save"
-msgstr "Сохранить"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:24
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
 #, fuzzy
-msgid "Cancel all"
-msgstr "Отмена"
+msgid "Unknown"
+msgstr "состояние неизвестно"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:30
-#, fuzzy
-msgid "Operation complete"
-msgstr "не полный"
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
+msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:32
-#: setup/class_setupStep_Finish.inc:37
-msgid "Finish"
-msgstr "Готово"
+#: include/utils/class_msgPool.inc:19
+#, php-format
+msgid "This %s object will be deleted!"
+msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:3
-msgid ""
-"The size limit option makes LDAP operations faster and saves the LDAP server "
-"from getting too much load. The easiest way to handle big databases without "
-"long timeouts would be to limit your search to smaller values and use "
-"filters to get the entries you are looking for."
+#: include/utils/class_msgPool.inc:24
+#, php-format
+msgid "This object will be deleted: %s"
 msgstr ""
-"Ограничение на количество возвращаемых объектов позволяет ускорить операции "
-"поиска и предохраняет сервер LDAP от большой нагрузки. Простейший способ "
-"снизить время обработки запроса при обслуживаии большой базы данных это "
-"установить минимальное значение. Кроме того, будет очень полезно "
-"использовать фильтры для просмотра только ограниченного количества объектов."
 
-#: ihtml/themes/default/sizelimit.tpl:6
-msgid "Please choose the way to react for this session"
-msgstr "Выберите тип реакции для данной сессии"
+#: include/utils/class_msgPool.inc:26
+#, php-format
+msgid "This %s object will be deleted: %s"
+msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:9
-msgid "ignore this error and show all entries the LDAP server returns"
-msgstr "игнорировать ошибку и показать все найденые объекты"
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
+msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:10
-#, fuzzy
-msgid ""
-"ignore this error and show all entries that fit into the defined sizelimit "
-"and let me use filters instead"
+#: include/utils/class_msgPool.inc:33
+#, php-format
+msgid "This %s object will be deleted:"
 msgstr ""
-"Игнорировать ошибку и показать все возвращаемые объекты в пределах лимита и "
-"позволить использовать фильтры"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
+#: include/utils/class_msgPool.inc:37
 #, php-format
-msgid "Set"
-msgstr "Установить"
+msgid "These objects will be deleted: %s"
+msgstr ""
 
-#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
-msgid "Assigned ACL for current entry"
+#: include/utils/class_msgPool.inc:39
+#, php-format
+msgid "These %s objects will be deleted: %s"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:12 plugins/admin/acl/acl_role.tpl:38
+#: include/utils/class_msgPool.inc:47
 #, fuzzy
-msgid "New ACL"
-msgstr "Создать"
+msgid "You have no permission to delete this object!"
+msgstr "У вас недостаточно прав для удаления этого подразделения."
 
-#: ihtml/themes/default/acl.tpl:17 plugins/admin/acl/acl_role.tpl:44
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
 #, fuzzy
-msgid "ACL type"
-msgstr "Тип"
+msgid "You have no permission to delete the object:"
+msgstr "У вас недостаточно прав для удаления этого подразделения."
 
-#: ihtml/themes/default/acl.tpl:19 ihtml/themes/default/acl.tpl:24
-#: plugins/admin/acl/acl_role.tpl:44
+#: include/utils/class_msgPool.inc:58
 #, fuzzy
-msgid "Select an acl type"
-msgstr "Выберите, чтобы просмотреть серверы"
-
-#: ihtml/themes/default/acl.tpl:29 ihtml/themes/default/acl.tpl:52
-#: ihtml/themes/default/acl.tpl:125 ihtml/themes/default/acl.tpl:140
-#: include/utils/class_msgPool.inc:324 setup/setup_migrate.tpl:161
-#: setup/setup_migrate.tpl:212 setup/setup_migrate.tpl:260
-#: setup/setup_migrate.tpl:325 setup/setup_migrate.tpl:380
-#: setup/setup_migrate.tpl:433 setup/setup_migrate.tpl:478
-#: setup/setup_migrate.tpl:521 setup/setup_migrate.tpl:565
-#: setup/setup_ldap.tpl:16
-#, php-format
-msgid "Apply"
-msgstr "Применить"
+msgid "You have no permission to delete these objects:"
+msgstr "У вас недостаточно прав для удаления этого подразделения."
 
-#: ihtml/themes/default/acl.tpl:36
+#: include/utils/class_msgPool.inc:65
 #, fuzzy
-msgid "Additional filter options"
-msgstr "Дополнительные записи в fstab"
+msgid "You have no permission to create this object!"
+msgstr "У вас недостаточно прав для удаления этого подразделения."
 
-#: ihtml/themes/default/acl.tpl:47
-msgid "Use members from"
-msgstr ""
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
+#, fuzzy
+msgid "You have no permission to create the object:"
+msgstr "У вас недостаточно прав для удаления этого подразделения."
 
-#: ihtml/themes/default/acl.tpl:61
+#: include/utils/class_msgPool.inc:76
 #, fuzzy
-msgid "Available members"
-msgstr "Доступные приложения"
+msgid "You have no permission to create these objects:"
+msgstr "У вас недостаточно прав для удаления этого подразделения."
 
-#: ihtml/themes/default/acl.tpl:63 ihtml/themes/default/acl.tpl:68
-msgid "List message possible targets"
-msgstr ""
+#: include/utils/class_msgPool.inc:83
+#, fuzzy
+msgid "You have no permission to modify this object!"
+msgstr "У вас недостаточно прав для удаления этого стоп-листа."
 
-#: ihtml/themes/default/acl.tpl:82 include/class_acl.inc:1090
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
 #, fuzzy
-msgid "Members"
-msgstr "Включаемые объекты"
+msgid "You have no permission to modify the object:"
+msgstr "У вас недостаточно прав для удаления этого стоп-листа."
 
-#: ihtml/themes/default/acl.tpl:84 ihtml/themes/default/acl.tpl:90
-msgid "List message recipients"
-msgstr ""
+#: include/utils/class_msgPool.inc:94
+#, fuzzy
+msgid "You have no permission to modify these objects:"
+msgstr "У вас недостаточно прав для удаления этого стоп-листа."
 
-#: ihtml/themes/default/acl.tpl:104 plugins/admin/acl/acl_role.tpl:49
+#: include/utils/class_msgPool.inc:101
 #, fuzzy
-msgid "List of available ACL categories"
-msgstr "Выберите тип мыши"
+msgid "You have no permission to view this object!"
+msgstr "У вас недостаточно прав для удаления этого стоп-листа."
 
-#: ihtml/themes/default/acl.tpl:112
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
 #, fuzzy
-msgid "ACL for this object"
-msgstr "Проверка модуля gd"
+msgid "You have no permission to view the object:"
+msgstr "У вас недостаточно прав для создания телефонов в этой ветке."
 
-#: ihtml/themes/default/acl.tpl:118
+#: include/utils/class_msgPool.inc:112
 #, fuzzy
-msgid "Available roles"
-msgstr "Доступные приложения"
+msgid "You have no permission to view these objects:"
+msgstr "У вас недостаточно прав для удаления этого стоп-листа."
 
-#: ihtml/themes/default/accountexpired.tpl:15
+#: include/utils/class_msgPool.inc:119
 #, fuzzy
-msgid "Your password has expired. Please choose a new one!"
-msgstr "У вас недостаточно прав для смены своего пароля."
+msgid "You have no permission to move this object!"
+msgstr "У вас недостаточно прав для удаления этого стоп-листа."
 
-#: ihtml/themes/default/accountexpired.tpl:23
-#: ihtml/themes/default/accountexpired.tpl:27
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
 #, fuzzy
-msgid "Old password"
-msgstr "Пароль"
+msgid "You have no permission to move the object:"
+msgstr "У вас недостаточно прав для удаления этого стоп-листа."
 
-#: ihtml/themes/default/accountexpired.tpl:32
-#: ihtml/themes/default/accountexpired.tpl:36
-#: ihtml/themes/default/password.tpl:82 ihtml/themes/default/password.tpl:83
-#: html/password.php:196 plugins/admin/users/password.tpl:17
-#: plugins/admin/users/password.tpl:53
-#: plugins/admin/users/class_userManagement.inc:319
-#: plugins/personal/generic/password.tpl:22
-#: plugins/personal/generic/password.tpl:65
-#: plugins/personal/password/password.tpl:27
-#: plugins/personal/password/password.tpl:70
-msgid "New password"
-msgstr "Новый пароль"
+#: include/utils/class_msgPool.inc:130
+#, fuzzy
+msgid "You have no permission to move these objects:"
+msgstr "У вас недостаточно прав для удаления этого стоп-листа."
 
-#: ihtml/themes/default/accountexpired.tpl:41
-#: ihtml/themes/default/accountexpired.tpl:45
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
 #, fuzzy
-msgid "Verify password"
-msgstr "Пароль"
+msgid "Connection information"
+msgstr "Личная информация"
 
-#: ihtml/themes/default/accountexpired.tpl:51
-#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
-msgid "Change password"
-msgstr "Сменить пароль"
+#: include/utils/class_msgPool.inc:142
+#, fuzzy, php-format
+msgid "Cannot connect to %s database!"
+msgstr "Невозможно подключиться к серверу базы данных!"
 
-#: ihtml/themes/default/accountexpired.tpl:52
-#: ihtml/themes/default/password.tpl:102
-#, fuzzy
-msgid "Click here to change your password"
-msgstr "У вас недостаточно прав для смены своего пароля."
+#: include/utils/class_msgPool.inc:154
+#, fuzzy, php-format
+msgid "Cannot select %s database!"
+msgstr "Невозможно выбрать базу данных!"
 
-#: ihtml/themes/default/logout-close.tpl:5
-msgid "Your GOsa session has been closed!"
+#: include/utils/class_msgPool.inc:160
+#, php-format
+msgid "No %s server defined!"
 msgstr ""
 
-#: ihtml/themes/default/logout-close.tpl:7
-msgid ""
-"Please close this browser window and clean the authentication caches to "
-"avoid an automatic re-authentication by your browser."
-msgstr ""
+#: include/utils/class_msgPool.inc:172
+#, fuzzy, php-format
+msgid "Cannot query %s database!"
+msgstr "Невозможно выбрать базу данных!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:3
-#, fuzzy
-msgid "Restoring object snapshots"
-msgstr "Объект группы"
+#: include/utils/class_msgPool.inc:178
+#, fuzzy, php-format
+msgid "The field %s contains a reserved keyword!"
+msgstr "Значение поля \"Факс\" содержит недопустимый номер телефона."
 
-#: ihtml/themes/default/snapshotdialog.tpl:6
-msgid ""
-"This procedure will restore a snapshot of the selected object. It will "
-"replace the existing object after pressing the restore button."
+#: include/utils/class_msgPool.inc:184
+#, fuzzy, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
 msgstr ""
+"Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s\"."
 
-#: ihtml/themes/default/snapshotdialog.tpl:9
-msgid ""
-"Remember that DNS configuration and database entries could not be restored. "
-"For some objects it is only nescessary to open and save them again (goFon), "
-"but some entries must be recreated manually (glpi)."
-msgstr ""
+#: include/utils/class_msgPool.inc:191
+#, fuzzy, php-format
+msgid "%s command is invalid!"
+msgstr "Указанное имя уже используется."
 
-#: ihtml/themes/default/snapshotdialog.tpl:12
-msgid ""
-"Don't forget to check references to other objects, for example does the "
-"selected printer still exists ?"
-msgstr ""
+#: include/utils/class_msgPool.inc:193
+#, fuzzy, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
+msgstr "Указанное имя уже используется."
 
-#: ihtml/themes/default/snapshotdialog.tpl:20
-#: ihtml/themes/default/snapshotdialog.tpl:62 include/class_acl.inc:777
-#: include/class_acl.inc:784 include/class_acl.inc:791
-#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
-#: plugins/admin/departments/class_department.inc:621
-msgid "Object"
-msgstr "Объект"
+#: include/utils/class_msgPool.inc:195
+#, fuzzy, php-format
+msgid "%s command for plugin %s is invalid!"
+msgstr "Указанное имя уже используется."
 
-#: ihtml/themes/default/snapshotdialog.tpl:29
-msgid "There is no snapshot available that could be restored"
-msgstr ""
+#: include/utils/class_msgPool.inc:197
+#, fuzzy, php-format
+msgid "%s command (%s) is invalid!"
+msgstr "Указанное имя уже используется."
 
-#: ihtml/themes/default/snapshotdialog.tpl:31
-msgid "Choose a snapshot and click the folder image, to restore the snapshot"
-msgstr ""
+#: include/utils/class_msgPool.inc:205
+#, fuzzy, php-format
+msgid "Cannot execute %s command!"
+msgstr "Невозможно выбрать базу данных!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:49
-#, fuzzy
-msgid "Creating object snapshots"
-msgstr "Объект группы"
+#: include/utils/class_msgPool.inc:207
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
+msgstr "Невозможно выбрать базу данных!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:52
-msgid ""
-"This procedure will create a snapshot of the selected object. It will be "
-"stored inside a special branch of your directory system and can be restored "
-"later on."
-msgstr ""
+#: include/utils/class_msgPool.inc:209
+#, fuzzy, php-format
+msgid "Cannot execute %s command for plugin %s!"
+msgstr "Невозможно выбрать базу данных!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:55
-msgid ""
-"Remember that database entries, DNS configurations and possibly created "
-"zones in server extensions will not be stored in the snapshot."
-msgstr ""
+#: include/utils/class_msgPool.inc:211
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s)!"
+msgstr "Невозможно выбрать базу данных!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:70
-#, fuzzy
-msgid "Timestamp"
-msgstr "Таймаут (с)"
+#: include/utils/class_msgPool.inc:219
+#, fuzzy, php-format
+msgid "Value for %s is too large!"
+msgstr "Значение 'UID' слишком маленькое."
 
-#: ihtml/themes/default/snapshotdialog.tpl:79
-msgid "Reason for generating this snapshot"
+#: include/utils/class_msgPool.inc:221
+#, fuzzy, php-format
+msgid "%s must be smaller than %s!"
 msgstr ""
+"Значение поля \"shadowMin\" должно быть меньше значения поля \"shadowMax\"."
 
-#: ihtml/themes/default/snapshotdialog.tpl:87
-#: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:561
-#: plugins/admin/departments/class_department.inc:643
-msgid "Continue"
-msgstr "Продолжить"
+#: include/utils/class_msgPool.inc:229
+#, fuzzy, php-format
+msgid "Value for %s is too small!"
+msgstr "Значение 'UID' слишком маленькое."
 
-#: ihtml/themes/default/msg_dialog.tpl:57
-#: ihtml/themes/default/msg_dialog.tpl:104 html/index.php:224
-#: html/index.php:228 include/class_management.inc:448
-#: include/class_management.inc:584 include/class_management.inc:916
-#: include/password-methods/class_password-methods.inc:250
-#: include/password-methods/class_password-methods.inc:309
-#: include/password-methods/class_password-methods.inc:320
-#: include/class_listing.inc:480 include/functions.inc:3393
-#: include/functions.inc:3407 include/functions.inc:3437
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485 include/functions.inc:3545
-#: include/class_tabs.inc:56 include/class_plugin.inc:670
-#: include/class_plugin.inc:712 include/class_plugin.inc:755
-#: include/class_plugin.inc:1642 include/utils/class_xml.inc:40
-#: include/utils/class_msgPool.inc:154 include/utils/class_msgPool.inc:166
-#: include/utils/class_msgPool.inc:184 include/utils/class_msgPool.inc:457
-#: include/utils/class_msgPool.inc:478 include/utils/class_msgPool.inc:497
-#: include/class_gosaSupportDaemon.inc:1184
-#: include/class_gosaSupportDaemon.inc:1204
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:377 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:469
-#: plugins/admin/groups/class_group.inc:539
-#: plugins/admin/groups/class_group.inc:545
-#: plugins/admin/groups/class_group.inc:753
-#: plugins/admin/groups/class_group.inc:894
-#: plugins/admin/groups/class_group.inc:899
-#: plugins/admin/groups/class_group.inc:1221
-#: plugins/admin/departments/class_department.inc:311
-#: plugins/admin/acl/class_aclRole.inc:681
-#: plugins/personal/generic/class_user.inc:297
-#: plugins/personal/generic/class_user.inc:408
-#: plugins/personal/generic/class_user.inc:503
-#: plugins/personal/generic/class_user.inc:801
-#: plugins/personal/generic/class_user.inc:1190
-#: plugins/personal/generic/class_user.inc:1197
-#: plugins/personal/generic/class_user.inc:1215
-#: plugins/personal/generic/class_user.inc:1485
-#: plugins/personal/generic/class_user.inc:1783
-#: setup/class_setupStep_Migrate.inc:1201 setup/setup_checks.tpl:30
-#: setup/setup_checks.tpl:91
-#, php-format
-msgid "Error"
+#: include/utils/class_msgPool.inc:231
+#, fuzzy, php-format
+msgid "%s must be %s or above!"
 msgstr ""
+"У вас должна быть установка PHP версии не ниже 4.1.0, так как в ней "
+"реализованы некоторые новые функции и исправлены некоторые ошибки."
 
-#: ihtml/themes/default/msg_dialog.tpl:61
-#: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
-msgid "Information"
-msgstr "Информация"
-
-#: ihtml/themes/default/msg_dialog.tpl:76
-#: ihtml/themes/default/msg_dialog.tpl:78
-#: ihtml/themes/default/msg_dialog.tpl:134
-#: ihtml/themes/default/msg_dialog.tpl:137
-#: ihtml/themes/default/msg_dialog.tpl:142 include/utils/class_msgPool.inc:318
-#: setup/class_setupStep_Migrate.inc:267 setup/class_setupStep_Migrate.inc:319
-#: setup/class_setupStep_Migrate.inc:380 setup/class_setupStep_Migrate.inc:453
-#: setup/class_setupStep_Migrate.inc:530 setup/class_setupStep_Migrate.inc:604
-#: setup/class_setupStep_Migrate.inc:657 setup/class_setupStep_Migrate.inc:800
-#: setup/class_setupStep_Migrate.inc:1046
-#: setup/class_setupStep_Migrate.inc:2013
-#: setup/class_setupStep_Migrate.inc:2157
-#: setup/class_setupStep_Migrate.inc:2579
-#: setup/class_setupStep_Migrate.inc:2733
-#: setup/class_setupStep_Migrate.inc:3063 setup/setup_checks.tpl:27
-#: setup/setup_checks.tpl:87
+#: include/utils/class_msgPool.inc:238
 #, php-format
-msgid "Ok"
+msgid "%s depends on %s - please provide both values!"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:6
-#, fuzzy
-msgid "Change your password"
-msgstr "Сменить пароль"
+#: include/utils/class_msgPool.inc:244
+#, fuzzy, php-format
+msgid "There is already an entry with this %s attribute in the system!"
+msgstr ""
+"Пользователь с таким регистрационным именем в базе данных уже существует."
 
-#: ihtml/themes/default/password.tpl:35
-#, fuzzy
-msgid "Success"
-msgstr "Экспорт успешен."
+#: include/utils/class_msgPool.inc:250
+#, fuzzy, php-format
+msgid "The required field %s is empty!"
+msgstr "Обязательное поле \"Имя\" не заполнено."
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Your password has been changed successfully."
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:198
-#: plugins/admin/users/class_userManagement.inc:390
-#: plugins/personal/password/class_password.inc:128
-#: plugins/personal/password/class_password.inc:131
-#: plugins/personal/password/class_password.inc:134
-#: plugins/personal/password/class_password.inc:137
-#: plugins/personal/password/class_password.inc:140
-#: plugins/personal/password/class_password.inc:143
-#: plugins/personal/password/class_password.inc:157
-#: plugins/personal/password/class_password.inc:163
-#, fuzzy
-msgid "Password change"
+#: include/utils/class_msgPool.inc:278
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters"
+msgstr "Значение поля \"Имя\" содержит недопустимые символы."
+
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s is not allowed:"
 msgstr "Сменить пароль"
 
-#: ihtml/themes/default/password.tpl:53
-msgid ""
-"This dialog provides a simple way to change your password. Enter the current "
-"password and the new password (twice) in the fields below and press the "
-"'Change' button."
-msgstr ""
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s are not allowed!"
+msgstr "Сменить пароль"
 
-#: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/generic/password.tpl:17
-#: plugins/personal/generic/password.tpl:44
-#: plugins/personal/password/password.tpl:22
-#: plugins/personal/password/password.tpl:49
-msgid "Current password"
-msgstr "Текущий пароль"
+#: include/utils/class_msgPool.inc:282
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters!"
+msgstr "Значение поля \"Имя\" содержит недопустимые символы."
 
-#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:87
-#, fuzzy
-msgid "New password repeated"
-msgstr "Новый пароль"
+#: include/utils/class_msgPool.inc:289
+#, fuzzy, php-format
+msgid "Missing %s PHP extension!"
+msgstr "Удалить параметры"
 
-#: ihtml/themes/default/password.tpl:90
-#: plugins/personal/generic/password.tpl:32
-#: plugins/personal/generic/password.tpl:75
-#: plugins/personal/password/password.tpl:37
-#: plugins/personal/password/password.tpl:80
-#, fuzzy
-msgid "Password strength"
-msgstr "Хэширование паролей"
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
+#: ihtml/themes/default/copyPasteDialog.tpl:21
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
+msgstr "Отмена"
 
-#: ihtml/themes/default/password.tpl:101
-#, fuzzy
-msgid "Change"
-msgstr "Канал"
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
+#: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
+#: ihtml/themes/default/msg_dialog.tpl:139
+#: ihtml/themes/default/msg_dialog.tpl:144
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
+#, php-format
+msgid "OK"
+msgstr ""
 
-#: ihtml/themes/default/islocked.tpl:2
-msgid "Locking conflict detected"
-msgstr "Конфликт блокировок"
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
+msgstr "Применить"
 
-#: ihtml/themes/default/islocked.tpl:9
-#, fuzzy
-msgid ""
-"If this lock detection is false, the other person has obviously closed the "
-"webbrowser during the edit operation. You may want to take over the lock by "
-"pressing the 'Edit anyway' button."
-msgstr ""
-"Если результат этой проверки блокировки - ложь, очевидно, другой человек "
-"закрыл браузер во время редактирования данных. Вы можете удалить файл "
-"блокировки, нажав на кнопку <i>Удалить</i>."
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
+msgstr "Сохранить"
 
-#: ihtml/themes/default/islocked.tpl:16
-msgid "Read only"
-msgstr ""
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
+msgstr "Добавить"
 
-#: ihtml/themes/default/help.tpl:9
-msgid "GOsa help viewer"
-msgstr ""
+#: include/utils/class_msgPool.inc:319
+#, fuzzy, php-format
+msgid "Add %s"
+msgstr "Добавить"
 
-#: ihtml/themes/default/help.tpl:15
-msgid "Index"
-msgstr ""
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
+msgstr "Удалить"
 
-#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:13
-msgid "Search"
-msgstr "Поиск"
+#: include/utils/class_msgPool.inc:325
+#, fuzzy, php-format
+msgid "Delete %s"
+msgstr "Удалить"
 
-#: ihtml/themes/default/logout.tpl:5
-msgid "Your GOsa session has expired!"
-msgstr ""
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
+msgstr "Установить"
 
-#: ihtml/themes/default/logout.tpl:7
-msgid ""
-"The last interaction with the GOsa web interface has been some time ago in "
-"the past. For security reasons, the session has been closed. To continue "
-"with administrative tasks, please sign in again."
-msgstr ""
+#: include/utils/class_msgPool.inc:331
+#, fuzzy, php-format
+msgid "Set %s"
+msgstr "Установить"
 
-#: ihtml/themes/default/logout.tpl:10
-#, fuzzy
-msgid "Sign in again"
-msgstr "Войти"
+#: include/utils/class_msgPool.inc:337
+#, fuzzy, php-format
+msgid "Edit..."
+msgstr "Изменить"
 
-#: ihtml/themes/default/conflict.tpl:2
-msgid "Session conflict detected"
-msgstr "Конфликт сеансов"
+#: include/utils/class_msgPool.inc:337
+#, fuzzy, php-format
+msgid "Edit %s..."
+msgstr "Пользователи домена"
 
-#: ihtml/themes/default/conflict.tpl:6
-#, fuzzy
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
+msgstr "Назад"
+
+#: include/utils/class_msgPool.inc:363
+#, fuzzy, php-format
+msgid "This account has no valid %s extensions!"
+msgstr "Для этой учетной записи нет корректных расширений GOsa."
+
+#: include/utils/class_msgPool.inc:369
+#, fuzzy, php-format
 msgid ""
-"Probably there's another active instance of your session. Multiple window "
-"operation is technical not possible and heavily depends on the browser "
-"you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is "
-"possible. Pressing the Logout button will close this session."
+"This account has %s settings enabled. You can disable them by clicking below."
 msgstr ""
-"Возможно, есть еще один экземпляр вашего сеанса. Работа с несколькими окнами "
-"одновременно технически невозможна и в значительной мере зависит от "
-"используемого браузера. Использование разных браузеров одновременно "
-"(например, IE и Mozilla) возможно. Нажав на кнопку <b>Выход</b>, вы "
-"завершите текущий сеанс."
+"В этой учетной записи используются атрибуты POSIX. Вы можете отключить их "
+"использование, щелкнув ниже."
 
-#: ihtml/themes/default/conflict.tpl:10
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, fuzzy, php-format
 msgid ""
-"Ignoring this message will change/destroy the data you're currently editing, "
-"so please close multiple windows and log in again."
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
 msgstr ""
-"Если вы ничего не предпримете, редактируемые вами данные не будут сохранены, "
-"поэтому закройте все окна, кроме одного, и начните сеанс заново."
+"В этой учетной записи используются атрибуты POSIX. Чтобы отключить их "
+"использование, сначала нужно удалить учетную запись Samba."
 
-#: ihtml/themes/default/conflict.tpl:14
-msgid "Logout"
-msgstr "Выход"
+#: include/utils/class_msgPool.inc:388
+#, fuzzy, php-format
+msgid ""
+"This account has %s settings disabled. You can enable them by clicking below."
+msgstr ""
+"В этой учетной записи не используются атрибуты POSIX. Вы можете использовать "
+"их, щелкнув ниже."
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-#: ihtml/themes/default/framework.tpl:20 ihtml/themes/default/framework.tpl:24
-#: include/class_pluglist.inc:212
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, fuzzy, php-format
 msgid ""
-"You are currently editing a database entry. Do you want to dismiss the "
-"changes?"
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
 msgstr ""
-"Вы сейчас редактируете объект базы данных. Хотите отказаться от изменений?"
+"В этой учетной записи используются атрибуты POSIX. Чтобы отключить их "
+"использование, сначала нужно удалить учетную запись Samba."
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-msgid "Main"
-msgstr "Начало"
+#: include/utils/class_msgPool.inc:406
+#, fuzzy, php-format
+msgid "Add %s settings"
+msgstr "Дополнительные записи в fstab"
 
-#: ihtml/themes/default/framework.tpl:16
-msgid "Help"
-msgstr "Справка"
+#: include/utils/class_msgPool.inc:412
+#, fuzzy, php-format
+msgid "Remove %s settings"
+msgstr "Атрибуты UNIX"
 
-#: ihtml/themes/default/framework.tpl:21 ihtml/themes/default/framework.tpl:25
-msgid "Sign out"
-msgstr "Выход"
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
+msgstr "Нажмите 'Изменить' чтобы отредактировать данные в этой форме."
 
-#: ihtml/themes/default/framework.tpl:29
-msgid "Signed in:"
-msgstr "Пользователь:"
+#: include/utils/class_msgPool.inc:424
+msgid "January"
+msgstr "Январь"
 
-#: ihtml/themes/default/framework.tpl:32
-msgid "GOsa main menu"
-msgstr ""
+#: include/utils/class_msgPool.inc:424
+msgid "February"
+msgstr "Февраль"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:454
-#: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:433
-#, fuzzy
-msgid "Fatal error"
-msgstr "Терминал-сервер"
+#: include/utils/class_msgPool.inc:424
+msgid "March"
+msgstr "Март"
 
-#: html/password.php:58 html/index.php:144
-#, fuzzy, php-format
-msgid "GOsa configuration %s/%s is not readable. Aborted."
-msgstr ""
-"Не удается прочитать файл настройки GOsa %s/gosa.conf. Операция прервана."
+#: include/utils/class_msgPool.inc:424
+msgid "April"
+msgstr "Апрель"
 
-#: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:268
-#: include/password-methods/class_password-methods-ssha.inc:51
-#: include/password-methods/class_password-methods-sha.inc:48
-#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:58
-#: include/class_SnapshotHandler.inc:76 include/functions.inc:825
-#: include/functions.inc:3067 include/functions.inc:3099
-#: include/functions.inc:3112 include/utils/class_timezone.inc:47
-#: include/class_config.inc:155 include/class_config.inc:695
-#: include/class_config.inc:1146 include/class_config.inc:1159
-#: include/class_config.inc:1177 include/class_pluglist.inc:182
-#: include/class_CopyPasteHandler.inc:119
-#: include/class_CopyPasteHandler.inc:128
-#: include/class_CopyPasteHandler.inc:177
-#: include/class_CopyPasteHandler.inc:186
-#: include/class_CopyPasteHandler.inc:194
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:667
-#: plugins/admin/groups/class_group.inc:1358
-#, fuzzy
-msgid "Configuration error"
-msgstr "Настроить"
+#: include/utils/class_msgPool.inc:425
+msgid "May"
+msgstr "Май"
 
-#: html/password.php:74 html/index.php:165 html/setup.php:66
-#, fuzzy, php-format
-msgid "Directory '%s' specified as compile directory is not accessible!"
-msgstr "Недоступен каталог \"%s\", указанный как каталог компиляции!"
+#: include/utils/class_msgPool.inc:425
+msgid "June"
+msgstr "Июнь"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:593
-#, fuzzy
-msgid "Password method"
-msgstr "Хэширование паролей"
+#: include/utils/class_msgPool.inc:425
+msgid "July"
+msgstr "Июль"
 
-#: html/password.php:159
-msgid "Error: Password method not available!"
-msgstr ""
+#: include/utils/class_msgPool.inc:425
+msgid "August"
+msgstr "Август"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:316
-#: plugins/personal/password/class_password.inc:132
-msgid ""
-"The passwords you've entered as 'New password' and 'Repeated new password' "
-"do not match."
-msgstr "Введенные пароли не совпадают!"
-
-#: html/password.php:204 plugins/personal/password/class_password.inc:138
-msgid "The password used as new and current are too similar."
-msgstr "Новый и текущий пароли слишком похожи."
-
-#: html/password.php:209 plugins/personal/password/class_password.inc:141
-msgid "The password used as new is to short."
-msgstr "Новый пароль слишком короткий."
-
-#: html/password.php:215 plugins/admin/groups/userSelect/user-list.xml:56
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
-#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
-#: plugins/personal/generic/class_user.inc:1313
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1345
-#: plugins/personal/generic/class_user.inc:1347
-#: plugins/personal/generic/generic.tpl:82
-#: plugins/personal/generic/paste_generic.tpl:15
-msgid "Login"
-msgstr "Имя пользователя"
-
-#: html/password.php:224 html/index.php:321
-msgid "Please check the username/password combination."
-msgstr "Проверьте, правильно ли вы ввели имя пользователя и пароль."
-
-#: html/password.php:228
-msgid "You have no permissions to change your password."
-msgstr "У вас недостаточно прав для смены своего пароля."
-
-#: html/password.php:249
-msgid "External password changer reported a problem: "
-msgstr "При попытке сменить пароль извне возникла проблема: "
-
-#: html/password.php:280 html/index.php:406
-msgid "Session will not be encrypted."
-msgstr "Данные, передаваемые в течение этого сеанса, не будут зашифрованы."
+#: include/utils/class_msgPool.inc:425
+msgid "September"
+msgstr "Сентябрь"
 
-#: html/password.php:280 html/index.php:406
-msgid "Enter SSL session"
-msgstr "Использовать шифрование SSL"
+#: include/utils/class_msgPool.inc:426
+msgid "October"
+msgstr "Октябрь"
 
-#: html/index.php:57
-#, fuzzy
-msgid "Session is not encrypted!"
-msgstr "Данные, передаваемые в течение этого сеанса, не будут зашифрованы."
+#: include/utils/class_msgPool.inc:426
+msgid "November"
+msgstr "Ноябрь"
 
-#: html/index.php:64
-msgid ""
-"The session lifetime configured in your gosa.conf will be overridden by php."
-"ini settings."
-msgstr ""
+#: include/utils/class_msgPool.inc:426
+msgid "December"
+msgstr "Декабрь"
 
-#: html/index.php:165
+#: include/utils/class_msgPool.inc:432
 #, fuzzy
-msgid "Smarty error"
-msgstr "Состояние системы"
+msgid "Sunday"
+msgstr "Имя сервера"
 
-#: html/index.php:216
-msgid "There is a problem with the authentication setup!"
-msgstr ""
-
-#: html/index.php:224
-msgid "Cannot find a valid user for the current authentication setup!"
-msgstr ""
-
-#: html/index.php:228
-msgid "User information is not unique accross the configured LDAP trees!"
-msgstr ""
-
-#: html/index.php:254 html/index.php:265 html/index.php:278
-#: include/class_SnapshotHandler.inc:124 include/class_SnapshotHandler.inc:281
-#: include/class_SnapshotHandler.inc:329 include/class_SnapshotHandler.inc:333
-#: include/class_SnapshotHandler.inc:348 include/class_SnapshotHandler.inc:383
-#: include/class_SnapshotHandler.inc:438 include/class_SnapshotHandler.inc:503
-#: include/class_SnapshotHandler.inc:518 include/class_acl.inc:1233
-#: include/class_acl.inc:1329 include/functions.inc:483
-#: include/functions.inc:518 include/functions.inc:526
-#: include/functions.inc:571 include/functions.inc:840
-#: include/functions.inc:889 include/functions.inc:946
-#: include/functions.inc:999 include/functions.inc:3046
-#: include/functions.inc:3319 include/class_plugin.inc:1319
-#: include/class_plugin.inc:1368 include/class_plugin.inc:1372
-#: include/class_plugin.inc:1388 include/class_plugin.inc:1428
-#: include/class_plugin.inc:1486 include/class_plugin.inc:1552
-#: include/class_plugin.inc:1567 include/class_ldap.inc:756
-#: include/class_ldap.inc:1222 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:888
-#: plugins/admin/ogroups/class_ogroup.inc:902
-#: plugins/admin/groups/class_group.inc:697
-#: plugins/admin/groups/class_group.inc:1018
-#: plugins/admin/departments/class_department.inc:279
-#: plugins/admin/departments/class_department.inc:476
-#: plugins/admin/departments/class_department.inc:750
-#: plugins/admin/departments/class_department.inc:781
-#: plugins/admin/acl/class_aclRole.inc:613
-#: plugins/admin/acl/class_aclRole.inc:653
-#: plugins/admin/acl/class_aclRole.inc:667
-#: plugins/personal/generic/class_user.inc:716
-#: plugins/personal/generic/class_user.inc:1112
-#: plugins/personal/posix/class_posixAccount.inc:631
-#: plugins/personal/posix/class_posixAccount.inc:963
-#: setup/class_setupStep_Migrate.inc:1212
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#: setup/class_setupStep_Migrate.inc:2143
-#: setup/class_setupStep_Migrate.inc:2440
-#: setup/class_setupStep_Migrate.inc:2444
-#: setup/class_setupStep_Migrate.inc:2634
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
-#: setup/class_setupStep_Migrate.inc:3118
-#: setup/class_setupStep_Migrate.inc:3132
+#: include/utils/class_msgPool.inc:432
 #, fuzzy
-msgid "LDAP error"
-msgstr "Ошибка LDAP:"
+msgid "Monday"
+msgstr "месяц"
 
-#: html/index.php:265
-msgid "Cannot detect information about the installed LDAP schema!"
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
 msgstr ""
 
-#: html/index.php:278
-msgid "Your LDAP setup contains old schema definitions:"
+#: include/utils/class_msgPool.inc:432
+msgid "Wednesday"
 msgstr ""
 
-#: html/index.php:299
-msgid "Please specify a valid username!"
-msgstr "Введите корректное имя пользователя!"
-
-#: html/index.php:302
-msgid "Please specify your password!"
-msgstr "Введите свой пароль!"
-
-#: html/index.php:314
-#, fuzzy
-msgid "Authentication error"
-msgstr "Рабочая станция Windows"
-
-#: html/index.php:314
-msgid "Cannot retrieve user information for htaccess authentication!"
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
 msgstr ""
 
-#: html/index.php:369
-#, fuzzy
-msgid "Account locked. Please contact your system administrator!"
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
 msgstr ""
-"Не удается начать сеанс на LDAP-сервере. Обратитесь к системному "
-"администратору."
 
-#: html/index.php:412
-msgid ""
-"Your browser has cookies disabled. Please enable cookies and reload this "
-"page before logging in!"
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
 msgstr ""
 
-#: html/setup.php:66
+#: include/utils/class_msgPool.inc:439
 #, fuzzy
-msgid "Smarty"
-msgstr "Запуск"
+msgid "MySQL operation failed!"
+msgstr "Невозможно выполнить запрос к базе данных!"
 
-#: html/main.php:148
-#, php-format
-msgid "Cannot locate file '%s' - please run '%s' to fix this"
+#: include/utils/class_msgPool.inc:447
+#, fuzzy
+msgid "read operation"
+msgstr "Почтовые настройки"
+
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
 msgstr ""
 
-#: html/main.php:167
+#: include/utils/class_msgPool.inc:447
 #, fuzzy
-msgid "PHP configuration"
-msgstr "Базы данных"
+msgid "modify operation"
+msgstr "Личная информация"
 
-#: html/main.php:168
+#: include/utils/class_msgPool.inc:448
 #, fuzzy
-msgid ""
-"FATAL: Register globals is on. GOsa will refuse to login unless this is "
-"fixed by an administrator."
-msgstr ""
-"Используется механизм register_globals. GOsa не допустит пользователей в "
-"систему, пока он не будет отключен администратором."
+msgid "delete operation"
+msgstr "Выберите чтобы посмотреть рабочие станции"
 
-#: html/main.php:198
+#: include/utils/class_msgPool.inc:448
 #, fuzzy
-msgid "Your password is about to expire, please change your password!"
-msgstr "У вас недостаточно прав для смены своего пароля."
+msgid "search operation"
+msgstr "Учетная запись"
 
-#: html/main.php:268
-msgid "Running out of memory!"
-msgstr ""
+#: include/utils/class_msgPool.inc:448
+#, fuzzy
+msgid "authentication"
+msgstr "Рабочая станция Windows"
 
-#: html/main.php:325
-msgid "User ACL checks disabled"
-msgstr ""
+#: include/utils/class_msgPool.inc:451
+#, fuzzy, php-format
+msgid "LDAP %s failed!"
+msgstr "Невозможно выполнить запрос к базе данных!"
 
-#: html/main.php:373
+#: include/utils/class_msgPool.inc:453
 #, fuzzy
-msgid "Plugin"
-msgstr "в"
+msgid "LDAP operation failed!"
+msgstr "Невозможно выполнить запрос к базе данных!"
 
-#: html/main.php:374
-#, fuzzy, php-format
-msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
-msgstr "Не удается найти определение для модуля \"%s\"!"
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
+msgstr "Объект"
 
-#: html/main.php:388
+#: include/utils/class_msgPool.inc:469
 #, fuzzy
-msgid "Configuration Error"
-msgstr "Настроить"
+msgid "Upload failed!"
+msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
 
-#: html/main.php:389
-#, php-format
-msgid ""
-"FATAL: not all POST variables have been transfered by PHP - please inform "
-"your administrator!"
-msgstr ""
+#: include/utils/class_msgPool.inc:472
+#, fuzzy, php-format
+msgid "Upload failed: %s"
+msgstr "Служба печати"
 
-#: html/helpviewer.php:64
-msgid "Help browser"
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
 msgstr ""
 
-#: html/helpviewer.php:118
-#, fuzzy
-msgid "There is no helpfile specified for this class"
-msgstr "Метод '%s' не описан в вашем файле конфигурации."
-
-#: html/helpviewer.php:194 include/functions_helpviewer.inc:97
-msgid "previous"
+#: include/utils/class_msgPool.inc:481
+#, php-format
+msgid "Communication failure with the infrastructure service: %s"
 msgstr ""
 
-#: html/helpviewer.php:198 include/functions_helpviewer.inc:101
-#, fuzzy
-msgid "next"
-msgstr "текст"
+#: include/utils/class_msgPool.inc:488
+msgid "Communication failure with the GOsa-NG service!"
+msgstr ""
 
-#: html/helpviewer.php:269
+#: include/utils/class_msgPool.inc:490
 #, php-format
-msgid "Helpdir '%s' is not accessible, can't read any helpfiles."
+msgid "Communication failure with the GOsa-NG service: %s"
 msgstr ""
 
-#: include/class_management.inc:32 include/class_management.inc:33
-#: plugins/personal/posix/class_posixAccount.inc:237
-msgid "unconfigured"
-msgstr "Не настроено"
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
+#, fuzzy, php-format
+msgid "This %s is still in use by this object: %s"
+msgstr "Описание группы"
 
-#: include/class_management.inc:145
-#, fuzzy
-msgid "Filter error"
-msgstr "Терминал-сервер"
+#: include/utils/class_msgPool.inc:503
+#, fuzzy, php-format
+msgid "This %s is still in use."
+msgstr "Описание группы"
 
-#: include/class_management.inc:145
-msgid "The filter is incomplete!"
+#: include/utils/class_msgPool.inc:505
+#, fuzzy, php-format
+msgid "This %s is still in use by these objects: %s"
+msgstr "Описание группы"
+
+#: include/utils/class_msgPool.inc:511
+#, php-format
+msgid "File %s does not exist!"
 msgstr ""
 
-#: include/class_management.inc:292 include/class_management.inc:427
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1590
-#: include/class_plugin.inc:1602 include/class_plugin.inc:1617
-#: include/class_plugin.inc:1630
-#: plugins/admin/users/class_userManagement.inc:236
-#: plugins/admin/users/class_userManagement.inc:744
-#, fuzzy
-msgid "Permission"
-msgstr "Права для членов группы"
+#: include/utils/class_msgPool.inc:517
+#, fuzzy, php-format
+msgid "Cannot open file %s for reading!"
+msgstr "Удалить"
 
-#: include/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:702
-#: plugins/admin/users/class_userManagement.inc:706
-#: plugins/admin/acl/class_aclManagement.inc:98
-#, fuzzy
-msgid "Permission error"
-msgstr "Права для членов группы"
+#: include/utils/class_msgPool.inc:523
+#, fuzzy, php-format
+msgid "Cannot open file %s for writing!"
+msgstr "Удалить"
 
-#: include/class_management.inc:427 include/class_plugin.inc:1590
+#: include/utils/class_msgPool.inc:529
 #, fuzzy, php-format
-msgid "You are not allowed to create a snapshot for %s."
-msgstr "Вам не разрешено менять пароль."
+msgid ""
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
+msgstr "Не удается подключиться к базе журналов, отчеты показаны не будут!"
 
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1602
-#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
+#: include/utils/class_msgPool.inc:535
 #, fuzzy, php-format
-msgid "You are not allowed to restore a snapshot for %s."
-msgstr "Вам не разрешено менять пароль."
+msgid "Cannot delete file %s!"
+msgstr "Удалить"
 
-#: include/class_management.inc:584
-#, php-format
-msgid ""
-"No tab declaration for '%s' found in your configuration file. Cannot create "
-"plugin instance!"
-msgstr ""
+#: include/utils/class_msgPool.inc:541
+#, fuzzy, php-format
+msgid "Cannot create folder %s!"
+msgstr "Список подразделений"
 
-#: include/class_socketClient.inc:60
-msgid "The mcrypt module was not found. Please install php5-mcrypt."
-msgstr ""
+#: include/utils/class_msgPool.inc:547
+#, fuzzy, php-format
+msgid "Cannot delete folder %s!"
+msgstr "Удалить"
 
-#: include/class_socketClient.inc:108
-#, php-format
-msgid "Socket connection to host '%s:%s' failed: %s"
-msgstr ""
+#: include/utils/class_msgPool.inc:553
+#, fuzzy, php-format
+msgid "Checking for %s support"
+msgstr "Проверка поддержки gettext"
 
-#: include/class_socketClient.inc:191
+#: include/utils/class_msgPool.inc:559
 #, php-format
-msgid "Socket timeout of %s seconds reached."
-msgstr ""
-
-#: include/password-methods/class_password-methods.inc:250
-msgid "Cannot find a suitable password method for the current hash!"
+msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:46 include/class_SnapshotHandler.inc:77
-#: include/class_config.inc:1147 include/class_config.inc:1178
+#: include/utils/class_msgPool.inc:565
 #, php-format
 msgid ""
-"The snapshot functionality is enabled, but the required variable '%s' is not "
-"set."
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:59 include/class_config.inc:1160
-#, php-format
+#: include/utils/class_msgPool.inc:571
 msgid ""
-"The snapshot functionality is enabled, but the required compression module "
-"is missing. Please install '%s'."
+"The supplied base is not valid and has been reset to its previous value!"
 msgstr ""
 
-#: include/class_acl.inc:27
-#, fuzzy
-msgid "Access control"
-msgstr "Параметры доступа"
+#: include/utils/class_timezone.inc:47
+#, fuzzy, php-format
+msgid "The configured timezone %s is not valid!"
+msgstr ""
+"Не удается прочитать файл настройки GOsa %s/gosa.conf. Операция прервана."
 
-#: include/class_acl.inc:28 plugins/admin/acl/class_aclManagement.inc:26
-#, fuzzy
-msgid "Manage access control lists"
-msgstr "Параметры доступа"
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
+msgstr "Предупреждение"
 
-#: include/class_acl.inc:120 include/class_acl.inc:581
-#: include/class_acl.inc:1009
-#, fuzzy, php-format
-msgid "All users"
-msgstr "пользователи"
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+#, fuzzy
+msgid "Fatal error"
+msgstr "Терминал-сервер"
 
-#: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
+#: include/utils/class_xml.inc:51
 #, fuzzy
-msgid "All categories"
-msgstr "Категория"
+msgid "XML error"
+msgstr "Ошибка LDAP:"
 
-#: include/class_acl.inc:222
-msgid "Reset ACLs"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
 msgstr ""
 
-#: include/class_acl.inc:223 plugins/admin/acl/class_aclRole.inc:135
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
+msgstr ""
+
+#: include/class_listing.inc:319
 #, fuzzy
-msgid "One level"
-msgstr "Уровень информативности"
+msgid "Select all"
+msgstr "Удалить"
 
-#: include/class_acl.inc:224 include/class_acl.inc:229
-#: plugins/admin/acl/class_aclRole.inc:136
+#: include/class_listing.inc:578
 #, fuzzy
-msgid "Current object"
-msgstr "Текущий пароль"
+msgid "created by"
+msgstr "Создать"
 
-#: include/class_acl.inc:225 plugins/admin/acl/class_aclRole.inc:137
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
 #, fuzzy
-msgid "Complete subtree"
-msgstr "не полный"
+msgid "Root"
+msgstr "Перезагрузить"
 
-#: include/class_acl.inc:226 plugins/admin/acl/class_aclRole.inc:138
-msgid "Complete subtree (permanent)"
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
 msgstr ""
 
-#: include/class_acl.inc:227 include/class_acl.inc:230
-msgid "Use ACL defined in role"
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
 msgstr ""
 
-#: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1674
-#: setup/class_setupStep_Migrate.inc:1040
-msgid "Users"
-msgstr "Пользователи"
-
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
-#: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1043
-msgid "Groups"
-msgstr "Группы"
-
-#: include/class_acl.inc:496 include/class_listing.inc:242
-#: include/class_listing.inc:999 include/class_listing.inc:1001
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:372
-msgid "Up"
+#: include/class_listing.inc:1079
+msgid "Reload list"
 msgstr ""
 
-#: include/class_acl.inc:498 include/class_listing.inc:242
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:374
-#, fuzzy
-msgid "Down"
-msgstr "Домен"
-
-#: include/class_acl.inc:503 include/class_acl.inc:551
-#: include/class_sortableListing.inc:192 include/class_sortableListing.inc:194
-#: plugins/admin/ogroups/ogroup-list.xml:91
-#: plugins/admin/groups/group-list.xml:108
-#: plugins/admin/users/user-list.xml:114
-#: plugins/admin/departments/dep-list.xml:172
-#: plugins/admin/acl/class_aclRole.inc:377
-#: plugins/admin/acl/class_aclRole.inc:426 plugins/admin/acl/acl-list.xml:131
-msgid "Edit"
-msgstr "Изменить"
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
+msgid "Actions"
+msgstr "Действия"
 
-#: include/class_acl.inc:503 include/class_acl.inc:507
-#: include/class_acl.inc:1265 include/class_acl.inc:1266
-#: include/class_acl.inc:1271 include/class_tabs.inc:401
-#: plugins/admin/acl/tabs_acl.inc:28 plugins/admin/acl/class_aclRole.inc:378
-#: plugins/admin/acl/class_aclRole.inc:382
-#: plugins/admin/acl/class_aclRole.inc:762
-msgid "ACL"
-msgstr "Доступ"
+#: include/class_listing.inc:1453
+#, fuzzy
+msgid "Copy"
+msgstr "Компания"
 
-#: include/class_acl.inc:507 include/class_acl.inc:555
-#: include/class_sortableListing.inc:197 include/class_sortableListing.inc:199
-#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
-#: plugins/admin/acl/class_aclRole.inc:430
-#, php-format
-msgid "Delete"
-msgstr "Удалить"
+#: include/class_listing.inc:1459
+#, fuzzy
+msgid "Cut"
+msgstr "Выполнить"
 
-#: include/class_acl.inc:543
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
 #, fuzzy
-msgid "No ACL settings for this category!"
-msgstr "Описание группы"
+msgid "Paste"
+msgstr "Дата"
 
-#: include/class_acl.inc:545
-#, php-format
-msgid "Contains ACLs for these objects: %s"
-msgstr ""
+#: include/class_listing.inc:1492
+#, fuzzy
+msgid "Cut this entry"
+msgstr "Редактиовать объект"
 
-#: include/class_acl.inc:551 include/class_acl.inc:555
+#: include/class_listing.inc:1501
 #, fuzzy
-msgid "category ACL"
-msgstr "Категория"
-
-#: include/class_acl.inc:608
-#, php-format
-msgid "Edit ACL for '%s' - scope is '%s'"
-msgstr ""
-
-#: include/class_acl.inc:618 plugins/admin/acl/class_aclRole.inc:460
-msgid "All objects in current subtree"
-msgstr ""
+msgid "Copy this entry"
+msgstr "Редактиовать объект"
 
-#: include/class_acl.inc:779 include/class_acl.inc:786
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
 #, fuzzy
-msgid "Show/hide advanced settings"
-msgstr "Настройки телефона"
+msgid "Restore snapshots"
+msgstr "Создать настройки запись эл. почты"
 
-#: include/class_acl.inc:803
+#: include/class_listing.inc:1549
 #, fuzzy
-msgid "Create objects"
-msgstr "Объект группы"
+msgid "Export list"
+msgstr "Экспорт"
 
-#: include/class_acl.inc:804
-#, fuzzy
-msgid "Move objects"
-msgstr "Включаемые объекты"
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
+msgid "Restore snapshot"
+msgstr ""
 
-#: include/class_acl.inc:805
+#: include/class_listing.inc:1591
 #, fuzzy
-msgid "Remove objects"
-msgstr "Включаемые объекты"
+msgid "Create new snapshot for this object"
+msgstr "Объект группы"
 
-#: include/class_acl.inc:807
-#, fuzzy
-msgid "Grant permission to owner"
-msgstr "Удалить"
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
+#, fuzzy
+msgid "Parent filter"
+msgstr "Параметры загрузки"
+
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
+msgstr "Фамилия"
 
-#: include/class_acl.inc:811 include/class_acl.inc:916
-#: include/class_acl.inc:920
-msgid "read"
-msgstr "чтение"
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
+msgstr "Описание"
 
-#: include/class_acl.inc:812 include/class_acl.inc:918
-#: include/class_acl.inc:921
-msgid "write"
-msgstr "запись"
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
+msgstr "Категория"
 
-#: include/class_acl.inc:816
-#, fuzzy
-msgid "Complete object"
-msgstr "Включаемые объекты"
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+msgid "Options"
+msgstr "Параметры"
 
-#: include/class_acl.inc:960 include/class_session.inc:76
-#: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:611 include/functions.inc:815
-#: include/functions.inc:933 include/functions.inc:1331
-#: include/functions.inc:2414 include/functions.inc:2448
-#: include/functions.inc:2468 include/class_ldap.inc:693
-#: include/class_ldap.inc:744 include/class_log.inc:87
-#: include/class_CopyPasteHandler.inc:160
-#: include/class_CopyPasteHandler.inc:274
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
 #, fuzzy
-msgid "Internal error"
-msgstr "Терминал-сервер"
-
-#: include/class_acl.inc:960
-#, fuzzy, php-format
-msgid "Unkown ACL type '%s'!"
-msgstr "состояние неизвестно"
+msgid "LDAP error"
+msgstr "Ошибка LDAP:"
 
-#: include/class_acl.inc:1005
+#: include/class_log.inc:87
 #, fuzzy, php-format
-msgid "Unknown entry '%s'!"
-msgstr "состояние неизвестно"
+msgid "Logging failed: %s"
+msgstr "Служба печати"
 
-#: include/class_acl.inc:1069 include/class_acl.inc:1071
+#: include/class_log.inc:102
 #, fuzzy, php-format
-msgid "Role: %s"
-msgstr "Роль"
+msgid "Invalid option %s specified!"
+msgstr "Значение поля \"Имя\" содержит недопустимые символы."
 
-#: include/class_acl.inc:1071
+#: include/class_log.inc:106
 #, fuzzy
-msgid "unknown role"
-msgstr "состояние неизвестно"
-
-#: include/class_acl.inc:1079
-#, fuzzy, php-format
-msgid "Contains settings for these objects: %s"
-msgstr "Описание группы"
+msgid "Specified 'objectType' is empty or invalid!"
+msgstr "Указанное имя уже используется."
 
-#: include/class_acl.inc:1096
+#: include/class_multi_plug.inc:362
 #, fuzzy
-msgid "inactive"
-msgstr "Личный"
+msgid "You are currently editing multiple entries."
+msgstr "У вас недостаточно прав для удаления этого подразделения."
 
-#: include/class_acl.inc:1096
+#: include/class_multi_plug.inc:394
 #, fuzzy
-msgid "No members"
-msgstr "Члены группы"
+msgid "Reset password"
+msgstr "Изменить пароль"
 
-#: include/class_acl.inc:1266
+#: include/class_multi_plug.inc:394
 #, fuzzy
-msgid "Access control list"
-msgstr "Параметры доступа"
+msgid "The user password has been reset. Please set a new password!"
+msgstr "У вас недостаточно прав для смены своего пароля."
 
-#: include/class_acl.inc:1271
-#, fuzzy
-msgid "ACL roles"
-msgstr "Доступ"
+#: include/class_tabs.inc:72
+#, fuzzy, php-format
+msgid "No plugin definition for %s found: please check the configuration file!"
+msgstr "Не удается подключиться к базе журналов, отчеты показаны не будут!"
 
-#: include/class_session.inc:76 include/class_session.inc:101
-#: include/class_session.inc:127
-#, fuzzy
-msgid "Requested channel does not exist! Please contact your Administrator."
+#: include/class_tabs.inc:287
+#, php-format
+msgid "Delete process has been canceled by plugin %s: %s"
 msgstr ""
-"Имя/идентификатор пользователя не уникальны. Проверьте свою базу данных LDAP."
-
-#: include/class_listing.inc:301 setup/setup_migrate.tpl:93
-#: setup/setup_migrate.tpl:149 setup/setup_migrate.tpl:201
-#: setup/setup_migrate.tpl:368 setup/setup_migrate.tpl:421
-#: setup/setup_migrate.tpl:464 setup/setup_migrate.tpl:507
-#: setup/setup_migrate.tpl:551
-#, fuzzy
-msgid "Select all"
-msgstr "Удалить"
 
-#: include/class_listing.inc:522
-#, fuzzy
-msgid "created by"
-msgstr "Создать"
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
+msgstr "Доступ"
 
-#: include/class_listing.inc:991
-#, fuzzy
-msgid "Go to root department"
-msgstr "Список подразделений"
+#: include/class_tabs.inc:425
+msgid "References"
+msgstr "Ссылки"
 
-#: include/class_listing.inc:991 include/class_listing.inc:993
-#: include/class_baseSelector.inc:159
-#, fuzzy
-msgid "Root"
-msgstr "Перезагрузить"
+#: include/functions_helpviewer.inc:45
+#, fuzzy, php-format
+msgid "XML error in guide.xml: %s at line %s"
+msgstr "Ошибка XML в gosa.conf: %s в строке %d"
 
-#: include/class_listing.inc:999
-#, fuzzy
-msgid "Go up one department"
-msgstr "Подразделение"
+#: include/functions_helpviewer.inc:88
+msgid "No help available for this plug-in."
+msgstr ""
 
-#: include/class_listing.inc:1007
-#, fuzzy
-msgid "Go to users department"
-msgstr "Выберите подразделение"
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
+msgstr ""
 
-#: include/class_listing.inc:1007 include/class_listing.inc:1009
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
 #, fuzzy
-msgid "Home"
-msgstr "Имя системы"
+msgid "next"
+msgstr "текст"
 
-#: include/class_listing.inc:1014
-msgid "Reload list"
+#: include/functions_helpviewer.inc:388
+#, php-format
+msgid "%s results for your search with the keyword %s"
 msgstr ""
 
-#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
-msgid "Submit"
+#: include/functions_helpviewer.inc:461
+#, php-format
+msgid "%s%% hit rate in file %s"
 msgstr ""
 
-#: include/class_listing.inc:1109 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:64
-#: plugins/admin/groups/group-list.xml:79 plugins/admin/users/user-list.xml:78
-#: plugins/admin/departments/dep-list.xml:87 plugins/admin/acl/acl-list.xml:65
-msgid "Actions"
-msgstr "Действия"
+#: include/class_msg_dialog.inc:124
+msgid "Please fix the above error and reload the page."
+msgstr ""
 
-#: include/class_listing.inc:1380 include/class_listing.inc:1430
-#: include/class_plugin.inc:2114
-#, fuzzy
-msgid "Copy"
-msgstr "Компания"
+#: include/class_plugin.inc:581
+msgid ""
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
+msgstr ""
 
-#: include/class_listing.inc:1386 include/class_listing.inc:1420
-#: include/class_plugin.inc:2118
-#, fuzzy
-msgid "Cut"
-msgstr "Выполнить"
+#: include/class_plugin.inc:1411
+#, php-format
+msgid "Changing ACL DN from %s to %s"
+msgstr ""
 
-#: include/class_listing.inc:1394 include/class_listing.inc:1396
-#: include/class_plugin.inc:2125 include/class_plugin.inc:2128
-#: include/class_CopyPasteHandler.inc:570
+#: include/class_SnapShotDialog.inc:55
 #, fuzzy
-msgid "Paste"
+msgid "Date"
 msgstr "Дата"
 
-#: include/class_listing.inc:1420 include/class_plugin.inc:2072
-#, fuzzy
-msgid "Cut this entry"
-msgstr "Редактиовать объект"
-
-#: include/class_listing.inc:1430 include/class_plugin.inc:2080
-#, fuzzy
-msgid "Copy this entry"
-msgstr "Редактиовать объект"
+#: include/class_SnapShotDialog.inc:94
+#, fuzzy, php-format
+msgid "You are about to delete the snapshot %s."
+msgstr "Вы собираетесь удалить группу \"%s\"."
 
-#: include/class_listing.inc:1462 include/class_listing.inc:1464
+#: include/class_SnapShotDialog.inc:143
 #, fuzzy
-msgid "Restore snapshots"
+msgid "Delete snapshot"
 msgstr "Создать настройки запись эл. почты"
 
-#: include/class_listing.inc:1478
-#, fuzzy
-msgid "Export list"
-msgstr "Экспорт"
-
-#: include/class_listing.inc:1513 include/class_listing.inc:1514
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
-msgid "Restore snapshot"
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+msgid "Y-m-d, H:i:s"
 msgstr ""
 
-#: include/class_listing.inc:1523 include/class_plugin.inc:2053
+#: include/class_pathNavigator.inc:86
 #, fuzzy
-msgid "Create snapshot"
-msgstr "Создать настройки запись эл. почты"
+msgid "Welcome to GOsa"
+msgstr "Добро пожаловать в раздел настройки GOsa!"
+
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
+msgstr ""
 
-#: include/class_listing.inc:1524 include/class_plugin.inc:2054
+#: include/class_sortableListing.inc:234
 #, fuzzy
-msgid "Create a new snapshot from this object"
-msgstr "Объект группы"
+msgid "Sortable list"
+msgstr "Экспорт"
 
-#: include/class_sortableListing.inc:194
+#: include/class_sortableListing.inc:239
 #, fuzzy
 msgid "Edit this entry"
 msgstr "Редактиовать объект"
 
-#: include/class_sortableListing.inc:199
+#: include/class_sortableListing.inc:244
 #, fuzzy
 msgid "Delete this entry"
 msgstr "Удалить"
 
-#: include/functions.inc:134
-#, php-format
-msgid "Fatal error: no class locations defined - please run '%s' to fix this"
-msgstr ""
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+#, fuzzy
+msgid "unknown"
+msgstr "состояние неизвестно"
 
-#: include/functions.inc:141
+#: include/class_configRegistry.inc:197
 #, php-format
-msgid ""
-"Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+msgid "%s has version %s but %s is required!"
 msgstr ""
 
-#: include/functions.inc:455
-#, fuzzy, php-format
-msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
-msgstr "Ошибка при подключении к LDAP-серверу. Ответ сервера: \"%s\"."
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
+msgstr ""
 
-#: include/functions.inc:526
-#, fuzzy
-msgid "Username / UID is not unique inside the LDAP tree!"
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+msgid "The following object classes are outdated:"
 msgstr ""
-"Имя/идентификатор пользователя не уникальны. Проверьте свою базу данных LDAP."
 
-#: include/functions.inc:611
-#, fuzzy
+#: include/class_configRegistry.inc:252
 msgid ""
-"Username / UID is not unique inside the LDAP tree. Please contact your "
-"Administrator."
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
 msgstr ""
-"Имя/идентификатор пользователя не уникальны. Проверьте свою базу данных LDAP."
 
-#: include/functions.inc:815 include/functions.inc:933
-msgid "Error while adding a lock. Contact the developers!"
-msgstr ""
+#: include/class_configRegistry.inc:254
+#, fuzzy
+msgid "Schema validation error"
+msgstr "Рабочая станция Windows"
 
-#: include/functions.inc:825
+#: include/class_configRegistry.inc:689
 #, fuzzy, php-format
-msgid ""
-"Cannot create locking information in LDAP tree. Please contact your "
-"administrator!"
+msgid "The value %s specified for %s:%s needs to be a bool value!"
 msgstr ""
-"Не удается считать блокировку в базе данных LDAP. Проверьте, раздел \"config"
-"\" в файле gosa.conf!"
+"Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s\"."
 
-#: include/functions.inc:825
+#: include/class_configRegistry.inc:704
 #, fuzzy, php-format
-msgid "LDAP server returned: %s"
-msgstr "LDAP-сервер"
+msgid "The value %s specified for %s:%s needs to be a string!"
+msgstr ""
+"Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s\"."
 
-#: include/functions.inc:954
-#, fuzzy
-msgid ""
-"Found multiple locks for object to be locked. This should not happen - "
-"cleaning up multiple references."
+#: include/class_configRegistry.inc:719
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be numeric!"
 msgstr ""
-"Для блокируемого объекта обнаружено несколько блокировок. Этого быть не "
-"должно, проверьте работу LDAP."
+"Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s\"."
 
-#: include/functions.inc:1258
-#, php-format
-msgid "The size limit of %d entries is exceed!"
-msgstr "Найдено более %d объектов."
+#: include/class_configRegistry.inc:734
+#, fuzzy, php-format
+msgid "The path %s specified for %s:%s is invalid!"
+msgstr "Значение поля \"UID\" некорректно."
 
-#: include/functions.inc:1260
-#, php-format
-msgid ""
-"Set the new size limit to %s and show me this message if the limit still "
-"exceeds"
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
 msgstr ""
-"Установить новое значение лимита в %s и показать мне это сообщение если "
-"лимит будет исчерпан."
+"Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s\"."
 
-#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
+#: include/class_configRegistry.inc:755
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
+msgstr ""
+"Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s\"."
+
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not writeable!"
+msgstr ""
+"Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s\"."
+
+#: include/class_configRegistry.inc:802
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not writeable!"
+msgstr ""
+"Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s\"."
+
+#: include/class_configRegistry.inc:820
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s does not exists!"
+msgstr ""
+"Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s\"."
+
+#: include/class_configRegistry.inc:825
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not readable!"
+msgstr ""
+"Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s\"."
+
+#: include/class_configRegistry.inc:841
+#, fuzzy, php-format
+msgid "The command %s specified for %s:%s is invalid!"
+msgstr "Значение поля \"UID\" некорректно."
+
+#: include/class_configRegistry.inc:856
+#, fuzzy, php-format
+msgid "The DN %s specified for %s:%s is invalid!"
+msgstr "Значение поля \"UID\" некорректно."
+
+#: include/class_configRegistry.inc:871
+#, fuzzy, php-format
+msgid "The RDN %s specified for %s:%s is invalid!"
+msgstr "Значение поля \"UID\" некорректно."
+
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
+msgstr ""
+
+#: include/php_setup.inc:110
+#, fuzzy
+msgid "Send bug report"
+msgstr "Отправитель"
+
+#: include/php_setup.inc:114
+msgid "Toggle details"
+msgstr ""
+
+#: include/php_setup.inc:123
+#, fuzzy
+msgid "PHP error"
+msgstr "Ошибка LDAP:"
+
+#: include/php_setup.inc:142
+msgid "class"
+msgstr ""
+
+#: include/php_setup.inc:148
+#, fuzzy
+msgid "function"
+msgstr "Действие"
+
+#: include/php_setup.inc:153
+#, fuzzy
+msgid "static"
+msgstr "Состояние"
+
+#: include/php_setup.inc:157
+#, fuzzy
+msgid "method"
+msgstr "Почтовые настройки"
+
+#: include/php_setup.inc:190
+msgid "Traceback"
+msgstr ""
+
+#: include/php_setup.inc:191
+#, fuzzy
+msgid "File"
+msgstr "Файлы"
+
+#: include/php_setup.inc:191
+#, fuzzy
+msgid "Line"
+msgstr "в"
+
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+msgid "Type"
+msgstr "Тип"
+
+#: include/php_setup.inc:192
+#, fuzzy
+msgid "Arguments"
+msgstr "подразделения"
+
+#: include/class_certificate.inc:73
+#, fuzzy
+msgid "Certificate is empty!"
+msgstr "Сертификаты"
+
+#: include/class_certificate.inc:100
+msgid "Cannot load certificate: only PEM and DER are supported!"
+msgstr ""
+
+#: include/class_certificate.inc:115
+#, fuzzy
+msgid "Cannot extract information for non PEM certificates!"
+msgstr "Не удается создать квоту IMAP. Ответ сервера: \"%s\"."
+
+#: include/class_certificate.inc:219
+#, fuzzy
+msgid "No valid certificate loaded!"
+msgstr "Изменить сертификаты"
+
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+#, fuzzy
+msgid "Requested channel does not exist!"
+msgstr ""
+"Имя/идентификатор пользователя не уникальны. Проверьте свою базу данных LDAP."
+
+#: include/functions.inc:151
+#, php-format
+msgid "Fatal error: no class locations defined - please run %s to fix this"
+msgstr ""
+
+#: include/functions.inc:158
+#, php-format
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
+msgstr ""
+
+#: include/functions.inc:483
+#, fuzzy, php-format
+msgid "Error while connecting to LDAP: %s"
+msgstr "Ошибка при подключении к LDAP-серверу. Ответ сервера: \"%s\"."
+
+#: include/functions.inc:554 include/functions.inc:640
+#, fuzzy
+msgid "User ID is not unique!"
+msgstr ""
+"Имя/идентификатор пользователя не уникальны. Проверьте свою базу данных LDAP."
+
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
+msgstr ""
+
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Cannot store lock information in LDAP!"
+msgstr "Не удается создать квоту IMAP. Ответ сервера: \"%s\"."
+
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Error: %s"
+msgstr "Домашняя страница"
+
+#: include/functions.inc:1294
+#, fuzzy, php-format
+msgid "The current size limit of %d entries is exceeded!"
+msgstr "Найдено более %d объектов."
+
+#: include/functions.inc:1296
+#, php-format
+msgid "Set the size limit to %s"
+msgstr ""
+
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
 msgid "Configure"
 msgstr "Настроить"
 
-#: include/functions.inc:1277
-msgid "incomplete"
+#: include/functions.inc:1313
+#, fuzzy
+msgid "list is incomplete"
 msgstr "не полный"
 
-#: include/functions.inc:1667
+#: include/functions.inc:1663
 #, fuzzy
 msgid "Continue anyway"
 msgstr "Продолжить"
 
-#: include/functions.inc:1669
+#: include/functions.inc:1665
 #, fuzzy
 msgid "Edit anyway"
 msgstr "Редактиовать объект"
 
-#: include/functions.inc:1671
-#, fuzzy, php-format
-msgid "You're going to edit the LDAP entry/entries %s"
-msgstr "Вы собираетесь удалить объект %s."
-
-#: include/functions.inc:1911
-msgid "Entries per page"
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
 msgstr ""
 
-#: include/functions.inc:1940 include/class_filter.inc:315
-msgid "Apply filter"
+#: include/functions.inc:1909
+msgid "Entries per page"
 msgstr ""
 
-#: include/functions.inc:2252 include/class_filter.inc:281
-msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-msgstr "*АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЭЮЯ0123456789"
-
-#: include/functions.inc:2306
+#: include/functions.inc:2087
 #, fuzzy, php-format
 msgid "GOsa %s"
 msgstr "Служба печати"
 
-#: include/functions.inc:2313
+#: include/functions.inc:2094
 #, php-format
 msgid "GOsa %s snapshot (Rev %s)"
 msgstr ""
 
-#: include/functions.inc:2318
+#: include/functions.inc:2099
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr ""
 
-#: include/functions.inc:2414
+#: include/functions.inc:2195
 #, php-format
-msgid "File '%s' could not be deleted."
+msgid "File %s cannot be deleted!"
 msgstr ""
 
-#: include/functions.inc:2448 include/functions.inc:2468
+#: include/functions.inc:2225 include/functions.inc:2245
 #, fuzzy
-msgid "Cannot write to revision file!"
+msgid "Cannot write revision file!"
 msgstr "Удалить"
 
-#: include/functions.inc:2686 include/functions.inc:2690
-#: include/functions.inc:2696
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr ""
 
-#: include/functions.inc:2720
-#, fuzzy
-msgid "LDAP warning"
-msgstr "Экспорт в LDIF"
-
-#: include/functions.inc:2720
+#: include/functions.inc:2550
 #, fuzzy
-msgid "Cannot get schema information from server. No schema check possible!"
+msgid ""
+"Cannot read schema information from LDAP. Schema validation is not possible!"
 msgstr "Не удается получить информацию о схемах. Проверка схем невозможна!"
 
-#: include/functions.inc:2746
-msgid "Used to store account specific informations."
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
 msgstr ""
 
-#: include/functions.inc:2753
+#: include/functions.inc:2583
 msgid ""
-"Used to lock currently edited entries to avoid multiple changes at the same "
+"This class is used to lock entries in order to prevent multiple edits at a "
 "time."
 msgstr ""
 
-#: include/functions.inc:2798
+#: include/functions.inc:2628
 #, fuzzy, php-format
-msgid "Missing required object class '%s'!"
+msgid "Required object class %s is missing!"
 msgstr "Список подразделений"
 
-#: include/functions.inc:2801
+#: include/functions.inc:2631
 #, php-format
-msgid "Missing optional object class '%s'!"
+msgid "Optional object class %s is missing!"
 msgstr ""
 
-#: include/functions.inc:2806
-#, php-format
-msgid "Version mismatch for required object class '%s' (!=%s)!"
-msgstr ""
+#: include/functions.inc:2636
+#, fuzzy, php-format
+msgid "Wrong version of required object class %s (!=%s) detected!"
+msgstr "Список подразделений"
 
-#: include/functions.inc:2809
+#: include/functions.inc:2639
 #, php-format
-msgid "Class(es) available"
+msgid "Class available"
 msgstr ""
 
-#: include/functions.inc:2831
+#: include/functions.inc:2661
 msgid ""
-"You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
-"schema    configuration do not support this option."
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
 msgstr ""
 
-#: include/functions.inc:2832
+#: include/functions.inc:2662
 msgid ""
-"In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
-"be      AUXILIARY"
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
 msgstr ""
 
-#: include/functions.inc:2836
+#: include/functions.inc:2666
 msgid ""
-"Your schema is configured to support the rfc2307bis group, but you have "
-"disabled this option on the 'ldap setup' step."
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
 msgstr ""
 
-#: include/functions.inc:2837
-msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#: include/functions.inc:2667
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
 msgstr ""
 
-#: include/functions.inc:2861
+#: include/functions.inc:2692
 msgid "German"
 msgstr "Немецкий"
 
-#: include/functions.inc:2862
+#: include/functions.inc:2693
 msgid "French"
 msgstr "Французский"
 
-#: include/functions.inc:2863
+#: include/functions.inc:2694
 msgid "Italian"
 msgstr ""
 
-#: include/functions.inc:2864
+#: include/functions.inc:2695
 msgid "Spanish"
 msgstr "Испанский"
 
-#: include/functions.inc:2865
+#: include/functions.inc:2696
 msgid "English"
 msgstr "Английский"
 
-#: include/functions.inc:2866
+#: include/functions.inc:2697
 msgid "Dutch"
 msgstr "Датский"
 
-#: include/functions.inc:2867
+#: include/functions.inc:2698
 #, fuzzy
 msgid "Polish"
 msgstr "Английский"
 
-#: include/functions.inc:2869
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
+msgstr ""
+
+#: include/functions.inc:2701
 #, fuzzy
 msgid "Chinese"
 msgstr "сброс"
 
-#: include/functions.inc:2870
+#: include/functions.inc:2702
 #, fuzzy
 msgid "Vietnamese"
 msgstr "Имя"
 
-#: include/functions.inc:2871
+#: include/functions.inc:2703
 msgid "Russian"
 msgstr "Русский"
 
-#: include/functions.inc:3066
-#, fuzzy, php-format
-msgid ""
-"Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
+#: include/functions.inc:2896
+#, fuzzy
+msgid "Cannot detect password hash!"
+msgstr "Невозможно выбрать базу данных!"
+
+#: include/functions.inc:2937 include/functions.inc:3012
+#, php-format
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: include/functions.inc:2968
+#, fuzzy
+msgid "Password change failed!"
+msgstr "Сменить пароль"
+
+#: include/functions.inc:2976
+#, php-format
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
 msgstr ""
-"Не удается найти команду \"%s\", указанную в поле POSTREMOVE модуля \"%s\"."
 
-#: include/functions.inc:3099
-msgid "Cannot generate samba hash!"
+#: include/functions.inc:3080
+msgid "Cannot generate SAMBA hash!"
 msgstr ""
 
-#: include/functions.inc:3112
+#: include/functions.inc:3095
 #, php-format
-msgid ""
-"Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+msgid "Generating SAMBA hash by running %s failed: check %s!"
 msgstr ""
 
-#: include/functions.inc:3393 include/functions.inc:3407
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
 #, fuzzy
-msgid "Cannot allocate a free ID:"
+msgid "Cannot allocate free ID:"
 msgstr "Слишком много пользователей, невозможно создать идентификатор!"
 
-#: include/functions.inc:3393
+#: include/functions.inc:3373
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3407
+#: include/functions.inc:3387
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3437
+#: include/functions.inc:3417
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "Список подразделений"
 
-#: include/functions.inc:3445
+#: include/functions.inc:3425
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3457 include/functions.inc:3461
+#: include/functions.inc:3437 include/functions.inc:3441
 msgid "no ID available!"
 msgstr ""
 
-#: include/functions.inc:3485
-msgid "maximum tries exceeded!"
+#: include/functions.inc:3465
+msgid "maximum number of tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3545
+#: include/functions.inc:3525
 #, fuzzy
-msgid "Cannot allocate a free ID!"
+msgid "Cannot allocate free ID!"
 msgstr "Слишком много пользователей, невозможно создать идентификатор!"
 
-#: include/class_tabs.inc:57
-#, fuzzy, php-format
-msgid ""
-"No plugin definitions found to initialize '%s', please check your "
-"configuration file."
-msgstr "Не удается подключиться к базе журналов, отчеты показаны не будут!"
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
+msgstr "Поиск"
+
+#: include/class_filter.inc:226
+#, fuzzy
+msgid "Search filter"
+msgstr "Параметры загрузки"
 
-#: include/class_tabs.inc:268
+#: include/class_filter.inc:444
+#, fuzzy
+msgid "Search in subtrees"
+msgstr "Искать в поддеревьях"
+
+#: include/class_filter.inc:449
+#, fuzzy
+msgid "Edit filters"
+msgstr "Изменить сертификаты"
+
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
+msgstr ""
+
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
 #, php-format
-msgid "Delete process has been canceled by plugin '%s': %s"
+msgid "LDAP performance is poor: last query took %.2fs!"
 msgstr ""
 
-#: include/class_tabs.inc:406
-msgid "References"
-msgstr "Ссылки"
+#: include/class_ldap.inc:784
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
+msgstr ""
+
+#: include/class_ldap.inc:835
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
+msgstr ""
 
-#: include/class_SnapShotDialog.inc:82
+#: include/class_ldap.inc:922
 #, fuzzy, php-format
-msgid "You're about to delete the snapshot '%s'."
-msgstr "Вы собираетесь удалить группу \"%s\"."
+msgid "while operating on %s using LDAP server %s"
+msgstr "Ошибка при подключении к LDAP-серверу. Ответ сервера: \"%s\"."
 
-#: include/class_SnapShotDialog.inc:137
-#, fuzzy
-msgid "Remove snapshot"
-msgstr "Создать настройки запись эл. почты"
+#: include/class_ldap.inc:924
+#, fuzzy, php-format
+msgid "while operating on LDAP server %s"
+msgstr "Ошибка при подключении к LDAP-серверу. Ответ сервера: \"%s\"."
 
-#: include/class_SnapShotDialog.inc:139 include/class_SnapShotDialog.inc:159
-msgid "Y-m-d, H:i:s"
+#: include/class_ldap.inc:977
+#, php-format
+msgid "Command line programm %s is missing!"
 msgstr ""
 
-#: include/class_SnapShotDialog.inc:171
-#: plugins/generic/references/contents.tpl:11
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
-#: plugins/admin/ogroups/class_ogroup.inc:977
-#: plugins/admin/ogroups/generic.tpl:15
-#: plugins/admin/ogroups/ogroup-list.xml:49
-#: plugins/admin/groups/generic.tpl:24
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:66
-#: plugins/admin/groups/class_group.inc:1184
-#: plugins/admin/departments/dep-list.xml:79
-#: plugins/admin/departments/locality.tpl:19
-#: plugins/admin/departments/generic.tpl:19
-#: plugins/admin/departments/class_domain.inc:63
-#: plugins/admin/departments/class_domain.inc:91
-#: plugins/admin/departments/class_localityGeneric.inc:64
-#: plugins/admin/departments/class_localityGeneric.inc:92
-#: plugins/admin/departments/class_organizationGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_countryGeneric.inc:63
-#: plugins/admin/departments/class_countryGeneric.inc:92
-#: plugins/admin/departments/class_dcObject.inc:63
-#: plugins/admin/departments/class_dcObject.inc:91
-#: plugins/admin/departments/domain.tpl:19
-#: plugins/admin/departments/country.tpl:19
-#: plugins/admin/departments/dcObject.tpl:19
-#: plugins/admin/departments/class_department.inc:359
-#: plugins/admin/departments/class_department.inc:666
-#: plugins/admin/departments/organization.tpl:19
-#: plugins/admin/acl/class_aclRole.inc:735 plugins/admin/acl/acl-list.xml:57
-#: plugins/admin/acl/acl_role.tpl:17
-#: plugins/personal/posix/trustSelect/trust-list.xml:64
-#: plugins/personal/posix/groupSelect/group-list.xml:49
-msgid "Description"
-msgstr "Описание"
+#: include/class_ldap.inc:1138
+#, php-format
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
+msgstr ""
 
-#: include/exporter/class_cvsExporter.inc:48
-msgid "CSV"
+#: include/class_ldap.inc:1167
+#, php-format
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
 msgstr ""
 
-#: include/exporter/class_PDF.inc:24
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
 #, fuzzy
-msgid "Page"
-msgstr "Пейджер"
+msgid "All"
+msgstr "Все"
 
-#: include/exporter/class_pdfExporter.inc:18
-msgid "No PDF export possible: there is no FPDF library installed."
-msgstr ""
+#: include/class_core.inc:114
+#, fuzzy
+msgid "All objects"
+msgstr "Включаемые объекты"
 
-#: include/exporter/class_pdfExporter.inc:145
-msgid "PDF"
+#: include/class_core.inc:132
+#, fuzzy
+msgid "Traditional"
+msgstr "Терминалы"
+
+#: include/class_core.inc:132
+msgid "Use samba pool"
 msgstr ""
 
-#: include/class_multi_plug.inc:362
+#: include/class_core.inc:164 include/class_core.inc:167
 #, fuzzy
-msgid "You are currently editing mutliple entries."
-msgstr "У вас недостаточно прав для удаления этого подразделения."
+msgid "hours"
+msgstr "час"
 
-#: include/class_multi_plug.inc:391
+#: include/class_core.inc:184
 #, fuzzy
-msgid "Password reset"
-msgstr "Срок действия пароля истекает"
+msgid "None"
+msgstr "нет"
 
-#: include/class_multi_plug.inc:391
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
 #, fuzzy
-msgid "The user password was resetted, please set a new password value!"
-msgstr "У вас недостаточно прав для смены своего пароля."
+msgid "Automatic"
+msgstr "автоматически"
 
-#: include/class_certificate.inc:73
+#: include/class_core.inc:200
 #, fuzzy
-msgid "Certificate is empty!"
-msgstr "Сертификаты"
-
-#: include/class_certificate.inc:100
-msgid "Cannot load certificate - only PEM/DER is supported!"
-msgstr ""
+msgid "User value"
+msgstr "Имя пользователя"
 
-#: include/class_certificate.inc:115
+#: include/class_core.inc:209
 #, fuzzy
-msgid "Cannot extract information for non PEM certificates!"
-msgstr "Не удается создать квоту IMAP. Ответ сервера: \"%s\"."
+msgid "Core"
+msgstr "Выбрать"
 
-#: include/class_certificate.inc:219
+#: include/class_core.inc:210
 #, fuzzy
-msgid "No valid certificate loaded!"
-msgstr "Изменить сертификаты"
+msgid "GOsa core plugin"
+msgstr "Почтовые настройки пользователя"
 
-#: include/php_setup.inc:100
-msgid "Generating this page caused the PHP interpreter to raise some errors!"
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
 msgstr ""
 
-#: include/php_setup.inc:105
-msgid "Send bug report to the GOsa Team"
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
 msgstr ""
 
-#: include/php_setup.inc:105
-#, fuzzy
-msgid "Send bugreport"
-msgstr "Отправитель"
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
+msgstr ""
 
-#: include/php_setup.inc:110
-#, fuzzy
-msgid "Toggle information"
-msgstr "Личная информация"
-
-#: include/php_setup.inc:120
-#, fuzzy
-msgid "PHP error"
-msgstr "Ошибка LDAP:"
-
-#: include/php_setup.inc:139
-msgid "class"
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
 msgstr ""
 
-#: include/php_setup.inc:145
-#, fuzzy
-msgid "function"
-msgstr "Действие"
-
-#: include/php_setup.inc:150
-#, fuzzy
-msgid "static"
-msgstr "Состояние"
-
-#: include/php_setup.inc:154
-#, fuzzy
-msgid "method"
-msgstr "Почтовые настройки"
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
+msgstr ""
 
-#: include/php_setup.inc:187
-msgid "Trace"
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
 msgstr ""
 
-#: include/php_setup.inc:188
-#, fuzzy
-msgid "File"
-msgstr "Файлы"
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
+msgstr ""
 
-#: include/php_setup.inc:188
-#, fuzzy
-msgid "Line"
-msgstr "в"
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Type"
-msgstr "Тип"
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
+msgstr ""
 
-#: include/php_setup.inc:189
-#, fuzzy
-msgid "Arguments"
-msgstr "подразделения"
+#: include/class_core.inc:319
+#, fuzzy, php-format
+msgid "Related option"
+msgstr "Выберите чтобы посмотреть рабочие станции"
 
-#: include/class_filter.inc:322 include/utils/class_msgPool.inc:24
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#: plugins/personal/posix/posix_groups.tpl:68
-#, fuzzy
-msgid "Search in subtrees"
-msgstr "Искать в поддеревьях"
+#: include/class_core.inc:329
+msgid ""
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
+msgstr ""
 
-#: include/class_plugin.inc:521
+#: include/class_core.inc:340
 msgid ""
-"The object has changed since opened in GOsa. All changes that may be done by "
-"others get lost if you save this entry!"
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
 msgstr ""
 
-#: include/class_plugin.inc:1844
-msgid "Changing ACL dn"
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
 msgstr ""
 
-#: include/class_plugin.inc:1844
-#, fuzzy
-msgid "from"
-msgstr "и"
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
+msgstr ""
 
-#: include/class_plugin.inc:1845 setup/class_setupStep_Migrate.inc:1250
-#: setup/class_setupStep_Migrate.inc:1300
-#: setup/class_setupStep_Migrate.inc:1348
-#, fuzzy
-msgid "to"
-msgstr "Отношение"
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
+msgstr ""
 
-#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
-#, fuzzy
-msgid "Restore"
-msgstr "Повторить"
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
+msgstr ""
 
-#: include/class_plugin.inc:2072
+#: include/class_core.inc:390
 #, fuzzy
-msgid "cut"
-msgstr "Выполнить"
+msgid "Enable LDAP referral chasing."
+msgstr "Удалить параметры"
 
-#: include/class_plugin.inc:2080
-msgid "copy"
+#: include/class_core.inc:400
+msgid ""
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
 msgstr ""
 
-#: include/functions_helpviewer.inc:45
-#, fuzzy, php-format
-msgid "XML error in guide.xml: %s at line %d"
-msgstr "Ошибка XML в gosa.conf: %s в строке %d"
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
+msgstr ""
 
-#: include/functions_helpviewer.inc:88
-msgid "No help available for this plugin."
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
 msgstr ""
 
-#: include/functions_helpviewer.inc:388
-#, php-format
-msgid "%s results for your search with the keyword %s"
+#: include/class_core.inc:430
+msgid "Enable warnings for non encrypted connections."
 msgstr ""
 
-#: include/functions_helpviewer.inc:462
-#, php-format
-msgid "%s%% hit rate in file %s"
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
 msgstr ""
 
-#: include/utils/class_timezone.inc:47
-#, php-format
+#: include/class_core.inc:451
 msgid ""
-"The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate "
-"correct timezone offset."
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
 msgstr ""
 
-#: include/utils/class_xml.inc:48
-#, fuzzy
-msgid "in"
-msgstr "Начало"
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
+msgstr ""
 
-#: include/utils/class_xml.inc:50
-#, fuzzy
-msgid "on line"
-msgstr "Продолжить"
+#: include/class_core.inc:472
+msgid ""
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
+msgstr ""
 
-#: include/utils/class_xml.inc:51
-#, fuzzy
-msgid "XML error"
-msgstr "Ошибка LDAP:"
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:16
-#, fuzzy, php-format
-msgid "Select to list objects of type '%s'."
-msgstr "Выбрать объекты для добавления"
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:18
-#, fuzzy, php-format
-msgid "Select to list objects containig '%s'."
-msgstr "Показать группы с пользователями"
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:20
-#, fuzzy, php-format
-msgid "Select to list objects that have '%s' enabled"
-msgstr "Выбрать объекты для добавления"
+#: include/class_core.inc:514
+msgid ""
+"ISO language code which is used to override the automatic language detection."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:22
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#, fuzzy
-msgid "Select to search within subtrees"
-msgstr "Искать в поддеревьях"
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:34
-msgid "This object will be deleted!"
+#: include/class_core.inc:535
+msgid ""
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:36
+#: include/class_core.inc:545
+#, fuzzy
+msgid "Template engine compile directory."
+msgstr "Домашний каталог"
+
+#: include/class_core.inc:555
 #, php-format
-msgid "This '%s' object will be deleted!"
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:41
-#, php-format
-msgid "This object will be deleted: %s"
+#: include/class_core.inc:576
+msgid ""
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:43
-#, php-format
-msgid "This '%s' object will be deleted: %s"
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:48
-msgid "This object will be deleted:"
+#: include/class_core.inc:596
+msgid ""
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:50
-#, php-format
-msgid "This '%s' object will be deleted:"
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:54
-#, php-format
-msgid "These objects will be deleted: %s"
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:56
-#, php-format
-msgid "These '%s' objects will be deleted: %s"
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:64
-#, fuzzy
-msgid "You have no permission to delete this object!"
-msgstr "У вас недостаточно прав для удаления этого подразделения."
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:68 include/utils/class_msgPool.inc:72
-#, fuzzy
-msgid "You have no permission to delete the object:"
-msgstr "У вас недостаточно прав для удаления этого подразделения."
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:75
-#, fuzzy
-msgid "You have no permission to delete these objects:"
-msgstr "У вас недостаточно прав для удаления этого подразделения."
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:82
-#, fuzzy
-msgid "You have no permission to create this object!"
-msgstr "У вас недостаточно прав для удаления этого подразделения."
+#: include/class_core.inc:667
+msgid ""
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:86 include/utils/class_msgPool.inc:90
-#, fuzzy
-msgid "You have no permission to create the object:"
-msgstr "У вас недостаточно прав для удаления этого подразделения."
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:93
-#, fuzzy
-msgid "You have no permission to create these objects:"
-msgstr "У вас недостаточно прав для удаления этого подразделения."
+#: include/class_core.inc:687
+msgid ""
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:100
-#, fuzzy
-msgid "You have no permission to modify this object!"
-msgstr "У вас недостаточно прав для удаления этого стоп-листа."
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:104 include/utils/class_msgPool.inc:108
-#, fuzzy
-msgid "You have no permission to modify the object:"
-msgstr "У вас недостаточно прав для удаления этого стоп-листа."
+#: include/class_core.inc:707
+msgid "Connection URL for use with the gosa-ng service."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:111
-#, fuzzy
-msgid "You have no permission to modify these objects:"
-msgstr "У вас недостаточно прав для удаления этого стоп-листа."
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:118
+#: include/class_core.inc:727
 #, fuzzy
-msgid "You have no permission to view this object!"
-msgstr "У вас недостаточно прав для удаления этого стоп-листа."
+msgid "Password used to connect to the 'gosaRpcServer'."
+msgstr "Невозможно подключиться к серверу базы данных!"
 
-#: include/utils/class_msgPool.inc:122 include/utils/class_msgPool.inc:126
-#, fuzzy
-msgid "You have no permission to view the object:"
-msgstr "У вас недостаточно прав для создания телефонов в этой ветке."
+#: include/class_core.inc:737
+msgid "Connection URI for use with the gosa-si service (obsolete)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:129
-#, fuzzy
-msgid "You have no permission to view these objects:"
-msgstr "У вас недостаточно прав для удаления этого стоп-листа."
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:136
-#, fuzzy
-msgid "You have no permission to move this object!"
-msgstr "У вас недостаточно прав для удаления этого стоп-листа."
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:144
+#: include/class_core.inc:769
 #, fuzzy
-msgid "You have no permission to move the object:"
-msgstr "У вас недостаточно прав для удаления этого стоп-листа."
+msgid "Local time zone."
+msgstr "Местоположение"
 
-#: include/utils/class_msgPool.inc:147
-#, fuzzy
-msgid "You have no permission to move these objects:"
-msgstr "У вас недостаточно прав для удаления этого стоп-листа."
+#: include/class_core.inc:779
+msgid ""
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:157 include/utils/class_msgPool.inc:169
-#: include/utils/class_msgPool.inc:187
-#, fuzzy
-msgid "Connection information"
-msgstr "Личная информация"
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:159
-#, fuzzy, php-format
-msgid "Cannot connect to %s database!"
-msgstr "Невозможно подключиться к серверу базы данных!"
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:171
-#, fuzzy, php-format
-msgid "Cannot select %s database!"
-msgstr "Невозможно выбрать базу данных!"
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:177
-#, php-format
-msgid "No %s server defined!"
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:189
-#, fuzzy, php-format
-msgid "Cannot query %s database!"
-msgstr "Невозможно выбрать базу данных!"
+#: include/class_core.inc:828
+msgid ""
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:195
-#, fuzzy, php-format
-msgid "The field '%s' contains a reserved keyword!"
-msgstr "Значение поля \"Факс\" содержит недопустимый номер телефона."
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:201
-#, fuzzy, php-format
-msgid "Command specified as %s hook for plugin '%s' does not exist!"
+#: include/class_core.inc:848
+msgid ""
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
 msgstr ""
-"Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s\"."
 
-#: include/utils/class_msgPool.inc:208
-#, fuzzy, php-format
-msgid "'%s' command is invalid!"
-msgstr "Указанное имя уже используется."
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:210
-#, php-format
-msgid "'%s' command (%s) for plugin %s is invalid!"
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:212
-#, php-format
-msgid "'%s' command for plugin %s is invalid!"
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:214
-#, fuzzy, php-format
-msgid "'%s' command (%s) is invalid!"
-msgstr "Указанное имя уже используется."
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:222
-#, fuzzy, php-format
-msgid "Cannot execute '%s' command!"
-msgstr "Невозможно выбрать базу данных!"
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:224
-#, php-format
-msgid "Cannot execute '%s' command (%s) for plugin %s!"
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:226
-#, php-format
-msgid "Cannot execute '%s' command for plugin %s!"
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:228
-#, fuzzy, php-format
-msgid "Cannot execute '%s' command (%s)!"
-msgstr "Невозможно выбрать базу данных!"
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:236
-#, fuzzy, php-format
-msgid "Value for '%s' is too large!"
-msgstr "Значение 'UID' слишком маленькое."
+#: include/class_core.inc:940
+#, fuzzy
+msgid "Enable TLS for LDAP connections."
+msgstr "Отключение"
 
-#: include/utils/class_msgPool.inc:238
-#, fuzzy, php-format
-msgid "'%s' must be smaller than %s!"
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
 msgstr ""
-"Значение поля \"shadowMin\" должно быть меньше значения поля \"shadowMax\"."
 
-#: include/utils/class_msgPool.inc:246
-#, fuzzy, php-format
-msgid "Value for '%s' is too small!"
-msgstr "Значение 'UID' слишком маленькое."
+#: include/class_core.inc:960
+msgid ""
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:248
-#, fuzzy, php-format
-msgid "'%s' must be %d or above!"
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
 msgstr ""
-"У вас должна быть установка PHP версии не ниже 4.1.0, так как в ней "
-"реализованы некоторые новые функции и исправлены некоторые ошибки."
 
-#: include/utils/class_msgPool.inc:255
-#, php-format
-msgid "'%s' depends on '%s' - please provide both values!"
+#: include/class_core.inc:980
+msgid ""
+"String containing the SID for Samba setups without the Domain object in LDAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:261
-#, fuzzy, php-format
-msgid "There is already an entry with this '%s' attribute in the system!"
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
 msgstr ""
-"Пользователь с таким регистрационным именем в базе данных уже существует."
 
-#: include/utils/class_msgPool.inc:267
-#, fuzzy, php-format
-msgid "The required field '%s' is empty!"
-msgstr "Обязательное поле \"Имя\" не заполнено."
+#: include/class_core.inc:1000
+#, fuzzy
+msgid "Enable manual object snapshots."
+msgstr "Объект группы"
 
-#: include/utils/class_msgPool.inc:275
-msgid "Example"
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:295
-#, fuzzy, php-format
-msgid "The Field '%s' contains invalid characters"
-msgstr "Значение поля \"Имя\" содержит недопустимые символы."
+#: include/class_core.inc:1020
+#, fuzzy
+msgid "DN of the snapshot administrator."
+msgstr "Администраторы домена"
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' is not allowed:"
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:296
-#, fuzzy, php-format
-msgid "'%s' are not allowed!"
-msgstr "Сменить пароль"
+#: include/class_core.inc:1041
+msgid ""
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:299
-#, fuzzy, php-format
-msgid "The Field '%s' contains invalid characters!"
-msgstr "Значение поля \"Имя\" содержит недопустимые символы."
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:306
-#, fuzzy, php-format
-msgid "Missing %s PHP extension!"
-msgstr "Удалить параметры"
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:336
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
-#: plugins/personal/generic/generic.tpl:251
-#: plugins/personal/generic/generic.tpl:269
-#: setup/class_setupStep_Migrate.inc:2869
+#: include/class_config.inc:168
 #, php-format
-msgid "Add"
-msgstr "Добавить"
-
-#: include/utils/class_msgPool.inc:336
-#, fuzzy, php-format
-msgid "Add %s"
-msgstr "Добавить"
-
-#: include/utils/class_msgPool.inc:342
-#, fuzzy, php-format
-msgid "Delete %s"
-msgstr "Удалить"
-
-#: include/utils/class_msgPool.inc:348
-#, fuzzy, php-format
-msgid "Set %s"
-msgstr "Установить"
-
-#: include/utils/class_msgPool.inc:354
-#, fuzzy, php-format
-msgid "Edit..."
-msgstr "Изменить"
+msgid "XML error in gosa.conf: %s at line %d"
+msgstr "Ошибка XML в gosa.conf: %s в строке %d"
 
-#: include/utils/class_msgPool.inc:354
-#, fuzzy, php-format
-msgid "Edit %s..."
-msgstr "Пользователи домена"
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:360
-msgid "Back"
-msgstr "Назад"
+#: include/class_config.inc:711
+#, fuzzy
+msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+msgstr "В вашем файле настройки отсутствуют значения SID и/или RIDBASE!"
 
-#: include/utils/class_msgPool.inc:380
-#, fuzzy, php-format
-msgid "This account has no valid %s extensions!"
-msgstr "Для этой учетной записи нет корректных расширений GOsa."
+#: include/class_config.inc:1130
+#, fuzzy
+msgid "Configuration"
+msgstr "Настроить"
 
-#: include/utils/class_msgPool.inc:386
-#, fuzzy, php-format
+#: include/class_config.inc:1130
 msgid ""
-"This account has %s settings enabled. You can disable them by clicking below."
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
 msgstr ""
-"В этой учетной записи используются атрибуты POSIX. Вы можете отключить их "
-"использование, щелкнув ниже."
 
-#: include/utils/class_msgPool.inc:389 include/utils/class_msgPool.inc:396
-#, fuzzy, php-format
+#: include/class_config.inc:1172 include/class_config.inc:1203
+#, php-format
 msgid ""
-"This account has %s settings enabled. To disable them, you'll need to remove "
-"the %s settings first!"
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
 msgstr ""
-"В этой учетной записи используются атрибуты POSIX. Чтобы отключить их "
-"использование, сначала нужно удалить учетную запись Samba."
 
-#: include/utils/class_msgPool.inc:405
-#, fuzzy, php-format
+#: include/class_config.inc:1185
+#, php-format
 msgid ""
-"This account has %s settings disabled. You can enable them by clicking below."
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
 msgstr ""
-"В этой учетной записи не используются атрибуты POSIX. Вы можете использовать "
-"их, щелкнув ниже."
 
-#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
-#, fuzzy, php-format
-msgid ""
-"This account has %s settings disabled. To enable them, you'll need to add "
-"the %s settings first!"
+#: include/exporter/class_PDF.inc:24
+#, fuzzy
+msgid "Page"
+msgstr "Пейджер"
+
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
+msgstr ""
+
+#: include/exporter/class_pdfExporter.inc:18
+msgid "No PDF export possible: there is no FPDF library installed."
+msgstr ""
+
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
 msgstr ""
-"В этой учетной записи используются атрибуты POSIX. Чтобы отключить их "
-"использование, сначала нужно удалить учетную запись Samba."
 
-#: include/utils/class_msgPool.inc:423
+#: include/class_jsonRPC.inc:38
 #, fuzzy, php-format
-msgid "Add %s settings"
-msgstr "Дополнительные записи в fstab"
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
+msgstr "Значение поля \"UID\" некорректно."
 
-#: include/utils/class_msgPool.inc:429
+#: include/class_jsonRPC.inc:330
 #, fuzzy, php-format
-msgid "Remove %s settings"
-msgstr "Атрибуты UNIX"
+msgid "Unknown HTTP status code %s!"
+msgstr "состояние неизвестно"
 
-#: include/utils/class_msgPool.inc:435
-msgid "Click the 'Edit' button below to change informations in this dialog"
-msgstr "Нажмите 'Изменить' чтобы отредактировать данные в этой форме."
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "January"
-msgstr "Январь"
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#, fuzzy, php-format
+msgid "Copy and paste failed!"
+msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
 
-#: include/utils/class_msgPool.inc:441
-msgid "February"
-msgstr "Февраль"
+#: include/class_CopyPasteHandler.inc:118
+#, fuzzy, php-format
+msgid "Cannot set permission for %s"
+msgstr "Удалить"
 
-#: include/utils/class_msgPool.inc:441
-msgid "March"
-msgstr "Март"
+#: include/class_CopyPasteHandler.inc:159
+#, php-format
+msgid "'%s' is no valid LDAP object"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "April"
-msgstr "Апрель"
+#: include/class_CopyPasteHandler.inc:176
+#, fuzzy, php-format
+msgid "No write permission in '%s'"
+msgstr "Удалить"
 
-#: include/utils/class_msgPool.inc:442
-msgid "May"
-msgstr "Май"
+#: include/class_CopyPasteHandler.inc:193
+#, fuzzy, php-format
+msgid "Cannot set permission for '%s'"
+msgstr "Удалить"
 
-#: include/utils/class_msgPool.inc:442
-msgid "June"
-msgstr "Июнь"
+#: include/class_CopyPasteHandler.inc:396
+#, php-format
+msgid "These objects will be pasted: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "July"
-msgstr "Июль"
+#: include/class_CopyPasteHandler.inc:420
+#, php-format
+msgid "This object will be pasted: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "August"
-msgstr "Август"
+#: include/class_CopyPasteHandler.inc:573
+#, fuzzy
+msgid "Cannot paste"
+msgstr "Создать телефонный аккаунт"
 
-#: include/utils/class_msgPool.inc:442
-msgid "September"
-msgstr "Сентябрь"
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
+#, fuzzy
+msgid "Access control"
+msgstr "Параметры доступа"
 
-#: include/utils/class_msgPool.inc:443
-msgid "October"
-msgstr "Октябрь"
+#: include/class_acl.inc:28
+#, fuzzy
+msgid "Manage access control lists"
+msgstr "Параметры доступа"
 
-#: include/utils/class_msgPool.inc:443
-msgid "November"
-msgstr "Ноябрь"
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, fuzzy, php-format
+msgid "All users"
+msgstr "пользователи"
 
-#: include/utils/class_msgPool.inc:443
-msgid "December"
-msgstr "Декабрь"
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
 #, fuzzy
-msgid "Sunday"
-msgstr "Имя сервера"
+msgid "One level"
+msgstr "Уровень информативности"
 
-#: include/utils/class_msgPool.inc:449
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
 #, fuzzy
-msgid "Monday"
-msgstr "месяц"
+msgid "Current object"
+msgstr "Текущий пароль"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Tuesday"
-msgstr ""
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
+#, fuzzy
+msgid "Complete subtree"
+msgstr "не полный"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Wednesday"
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Thursday"
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+msgid "Use ACL defined in role"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Friday"
-msgstr ""
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
+msgstr "Пользователи"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Saturday"
-msgstr ""
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
+msgstr "Группы"
 
-#: include/utils/class_msgPool.inc:456
+#: include/class_acl.inc:254
 #, fuzzy
-msgid "MySQL operation failed!"
-msgstr "Невозможно выполнить запрос к базе данных!"
+msgid "Section"
+msgstr "Действие"
 
-#: include/utils/class_msgPool.inc:464
+#: include/class_acl.inc:264
 #, fuzzy
-msgid "read operation"
-msgstr "Почтовые настройки"
-
-#: include/utils/class_msgPool.inc:464
-msgid "add operation"
-msgstr ""
+msgid "Used"
+msgstr "Пользователь"
 
-#: include/utils/class_msgPool.inc:464
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
 #, fuzzy
-msgid "modify operation"
-msgstr "Личная информация"
+msgid "Member"
+msgstr "Включаемые объекты"
 
-#: include/utils/class_msgPool.inc:465
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
 #, fuzzy
-msgid "delete operation"
-msgstr "Выберите чтобы посмотреть рабочие станции"
+msgid "Permissions"
+msgstr "Права для членов группы"
 
-#: include/utils/class_msgPool.inc:465
+#: include/class_acl.inc:574
 #, fuzzy
-msgid "search operation"
-msgstr "Учетная запись"
+msgid "No ACL settings for this category!"
+msgstr "Описание группы"
+
+#: include/class_acl.inc:577
+#, php-format
+msgid "ACLs for: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:465
+#: include/class_acl.inc:583 include/class_acl.inc:587
 #, fuzzy
-msgid "authentication"
-msgstr "Рабочая станция Windows"
+msgid "category ACL"
+msgstr "Категория"
 
-#: include/utils/class_msgPool.inc:468
-#, fuzzy, php-format
-msgid "LDAP %s failed!"
-msgstr "Невозможно выполнить запрос к базе данных!"
+#: include/class_acl.inc:639
+#, php-format
+msgid "Edit ACL for '%s' with scope '%s'"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:470
+#: include/class_acl.inc:801 include/class_acl.inc:808
 #, fuzzy
-msgid "LDAP operation failed!"
-msgstr "Невозможно выполнить запрос к базе данных!"
+msgid "Show/hide advanced settings"
+msgstr "Настройки телефона"
 
-#: include/utils/class_msgPool.inc:485
+#: include/class_acl.inc:819
 #, fuzzy
-msgid "Upload failed!"
-msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
+msgid "Create objects"
+msgstr "Объект группы"
 
-#: include/utils/class_msgPool.inc:488
-#, fuzzy, php-format
-msgid "Upload failed: %s"
-msgstr "Служба печати"
+#: include/class_acl.inc:820
+#, fuzzy
+msgid "Move objects"
+msgstr "Включаемые объекты"
 
-#: include/utils/class_msgPool.inc:495
-msgid "Communication failure with the infrastructure service!"
-msgstr ""
+#: include/class_acl.inc:821
+#, fuzzy
+msgid "Remove objects"
+msgstr "Включаемые объекты"
 
-#: include/utils/class_msgPool.inc:497
-#, php-format
-msgid "Communication failure with the infrastructure service: %s"
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:504 include/utils/class_msgPool.inc:507
-#, php-format
-msgid "This '%s' is still in use by this object: %s"
-msgstr ""
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
+msgstr "чтение"
+
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
+msgstr "запись"
+
+#: include/class_acl.inc:832
+#, fuzzy
+msgid "Complete object"
+msgstr "Включаемые объекты"
 
-#: include/utils/class_msgPool.inc:510
+#: include/class_acl.inc:984
 #, fuzzy, php-format
-msgid "This '%s' is still in use."
-msgstr "Описание группы"
+msgid "Unknown ACL type '%s'!"
+msgstr "состояние неизвестно"
 
-#: include/utils/class_msgPool.inc:512
+#: include/class_acl.inc:1029
 #, fuzzy, php-format
-msgid "This '%s' is still in use by these objects: %s"
-msgstr "Описание группы"
-
-#: include/utils/class_msgPool.inc:518
-#, php-format
-msgid "File '%s' does not exist!"
-msgstr ""
-
-#: include/utils/class_msgPool.inc:524
-#, fuzzy, php-format
-msgid "Cannot open file '%s' for reading!"
-msgstr "Удалить"
-
-#: include/utils/class_msgPool.inc:530
-#, fuzzy, php-format
-msgid "Cannot open file '%s' for writing!"
-msgstr "Удалить"
-
-#: include/utils/class_msgPool.inc:536
-#, php-format
-msgid ""
-"The value for '%s' is currently unconfigured or invalid, please check your "
-"configuration file!"
-msgstr ""
-
-#: include/utils/class_msgPool.inc:542
-#, fuzzy, php-format
-msgid "Cannot delete file '%s'!"
-msgstr "Удалить"
+msgid "Unknown entry '%s'!"
+msgstr "состояние неизвестно"
 
-#: include/utils/class_msgPool.inc:548
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
 #, fuzzy, php-format
-msgid "Cannot create folder '%s'!"
-msgstr "Список подразделений"
+msgid "ACL role: %s"
+msgstr "Доступ"
 
-#: include/utils/class_msgPool.inc:554
-#, fuzzy, php-format
-msgid "Cannot delete folder '%s'!"
-msgstr "Удалить"
+#: include/class_acl.inc:1095
+#, fuzzy
+msgid "unknown ACL role"
+msgstr "состояние неизвестно"
 
-#: include/utils/class_msgPool.inc:560
+#: include/class_acl.inc:1103
 #, fuzzy, php-format
-msgid "Checking for %s support"
-msgstr "Проверка поддержки gettext"
+msgid "Contains settings for these objects: %s"
+msgstr "Описание группы"
 
-#: include/utils/class_msgPool.inc:566
-#, php-format
-msgid "Install and activate the %s PHP module."
-msgstr ""
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+#, fuzzy
+msgid "Members"
+msgstr "Включаемые объекты"
 
-#: include/utils/class_msgPool.inc:572
-#, php-format
-msgid ""
-"Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
-"setup?"
-msgstr ""
+#: include/class_acl.inc:1120
+#, fuzzy
+msgid "inactive"
+msgstr "Личный"
 
-#: include/utils/class_msgPool.inc:578
-msgid ""
-"The supplied base is not valid and has been reset to the previous value!"
-msgstr ""
+#: include/class_acl.inc:1120
+#, fuzzy
+msgid "No members"
+msgstr "Члены группы"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-msgid "Performance warning"
-msgstr ""
+#: include/class_acl.inc:1291
+#, fuzzy
+msgid "Access control list"
+msgstr "Параметры доступа"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-#, php-format
-msgid "LDAP performance is poor: last query took about %.2fs!"
-msgstr ""
+#: include/class_acl.inc:1297
+#, fuzzy
+msgid "ACL roles"
+msgstr "Доступ"
 
-#: include/class_ldap.inc:693
-#, php-format
-msgid ""
-"Cannot automatically create subtrees with RDN '%s': no object class found!"
-msgstr ""
+#: include/class_acl.inc:1300
+#, fuzzy
+msgid "ACL Entries"
+msgstr "Управление системами"
 
-#: include/class_ldap.inc:744
+#: include/class_socketClient.inc:108
 #, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': not supported"
+msgid "Socket connection to %s:%s failed: %s"
 msgstr ""
 
-#: include/class_ldap.inc:831
-#, fuzzy, php-format
-msgid "while operating on '%s' using LDAP server '%s'"
-msgstr "Ошибка при подключении к LDAP-серверу. Ответ сервера: \"%s\"."
-
-#: include/class_ldap.inc:833
-#, fuzzy, php-format
-msgid "while operating on LDAP server %s"
-msgstr "Ошибка при подключении к LDAP-серверу. Ответ сервера: \"%s\"."
-
-#: include/class_ldap.inc:1055
+#: include/class_socketClient.inc:191
 #, php-format
-msgid ""
-"This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
-"in line %s"
+msgid "Socket timeout of %s seconds reached!"
 msgstr ""
 
-#: include/class_ldap.inc:1084
+#: include/class_userFilterEditor.inc:254
 #, php-format
-msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
 msgstr ""
 
-#: include/class_log.inc:87
-#, fuzzy, php-format
-msgid "Logging failed: %s"
-msgstr "Служба печати"
-
-#: include/class_log.inc:102
-#, fuzzy, php-format
-msgid "Invalid option '%s' specified!"
-msgstr "Значение поля \"Имя\" содержит недопустимые символы."
-
-#: include/class_log.inc:106
-#, fuzzy
-msgid "Specified objectType is empty or invalid!"
-msgstr "Указанное имя уже используется."
-
 #: include/class_gosaSupportDaemon.inc:112
 msgid "GOsa support daemon"
 msgstr ""
@@ -2595,4353 +2601,5637 @@ msgstr "Удалить"
 msgid "Cannot remove entry %s!"
 msgstr "состояние неизвестно"
 
-#: include/class_config.inc:152
+#: include/class_GOsaRegistration.inc:127
+msgid ""
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
+msgstr ""
+
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
 #, php-format
-msgid "XML error in gosa.conf: %s at line %d"
-msgstr "Ошибка XML в gosa.conf: %s в строке %d"
+msgid ""
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
+msgstr ""
 
-#: include/class_config.inc:318
-#, fuzzy
-msgid "Cannot bind to LDAP. Please contact the system administrator."
+#: include/class_SnapshotHandler.inc:58
+#, php-format
+msgid ""
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
 msgstr ""
-"Не удается начать сеанс на LDAP-сервере. Обратитесь к системному "
-"администратору."
 
-#: include/class_config.inc:695
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
 #, fuzzy
-msgid "sambaSID and/or sambaRidBase missing in the configuration!"
-msgstr "В вашем файле настройки отсутствуют значения SID и/или RIDBASE!"
+msgid "Filter editor"
+msgstr "Терминал-сервер"
 
-#: include/class_config.inc:1105
+#: ihtml/themes/default/userFilterEditor.tpl:8
 #, fuzzy
-msgid "Configuration"
-msgstr "Настроить"
+msgid "Filter properties"
+msgstr "Изменить свойства"
 
-#: include/class_config.inc:1105
-msgid ""
-"The configuration file you are using seems to be outdated. Please move the "
-"GOsa configuration file away to run the GOsa setup again."
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+msgid "Public visible"
+msgstr "Видимый всем"
+
+#: ihtml/themes/default/userFilterEditor.tpl:45
+#, fuzzy
+msgid "Enabled"
+msgstr "отключен"
+
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
 msgstr ""
 
-#: include/class_pluglist.inc:58
+#: ihtml/themes/default/userFilterEditor.tpl:69
 #, fuzzy
-msgid "All objects in this category"
-msgstr "Описание группы"
+msgid "Query"
+msgstr "пользователи"
 
-#: include/class_pluglist.inc:183
-msgid "The configuration format has changed. Please re-run setup!"
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+msgid "Assigned ACL for current entry"
 msgstr ""
 
-#: include/class_pluglist.inc:202 include/class_pluglist.inc:203
-#: include/class_pluglist.inc:316
-#: plugins/admin/departments/class_department.inc:145
-#: plugins/personal/generic/class_user.inc:273
-#: plugins/personal/generic/class_user.inc:1872
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
 #, fuzzy
-msgid "Unknown"
-msgstr "состояние неизвестно"
+msgid "New ACL"
+msgstr "Создать"
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#, fuzzy, php-format
-msgid "Copy and paste failed!"
-msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "ACL type"
+msgstr "Тип"
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:193
-#, fuzzy, php-format
-msgid "Cannot set permission for '%s'"
-msgstr "Удалить"
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "Select an ACL type"
+msgstr "Выберите, чтобы просмотреть серверы"
 
-#: include/class_CopyPasteHandler.inc:159
-#, php-format
-msgid "'%s' is no vaild LDAP object"
-msgstr ""
+#: ihtml/themes/default/acl.tpl:40
+#, fuzzy
+msgid "Additional filter options"
+msgstr "Дополнительные записи в fstab"
 
-#: include/class_CopyPasteHandler.inc:176
-#, fuzzy, php-format
-msgid "No write permission in '%s'"
-msgstr "Удалить"
+#: ihtml/themes/default/acl.tpl:54
+#, fuzzy
+msgid "Member selection"
+msgstr "Настройки Samba"
 
-#: include/class_CopyPasteHandler.inc:396
-#, php-format
-msgid "These objects will be pasted: %s"
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:420
-#, php-format
-msgid "This object will be pasted: %s"
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+msgid "List message possible targets"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:572
-#, fuzzy
-msgid "Cannot paste"
-msgstr "Создать телефонный аккаунт"
-
-#: include/class_msg_dialog.inc:124
-msgid "Please fix the above error and reload the page."
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
 msgstr ""
 
-#: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:966
-#: plugins/admin/groups/class_group.inc:1174
-#: plugins/admin/users/class_userManagement.inc:870
-#: plugins/admin/departments/class_department.inc:656
-#: plugins/personal/generic/class_user.inc:37
-#: plugins/personal/generic/class_user.inc:1668
-#: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
-msgid "Generic"
-msgstr "Общее"
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+#, fuzzy
+msgid "List of available ACL categories"
+msgstr "Выберите тип мыши"
 
-#: plugins/generic/references/class_reference.inc:43
-#: plugins/personal/posix/class_posixAccount.inc:37
-msgid "UNIX"
-msgstr "Unix"
-
-#: plugins/generic/references/class_reference.inc:45
-#: plugins/admin/ogroups/tabs_ogroups.inc:148
-#: plugins/admin/groups/class_groupManagement.inc:164
-#: plugins/admin/users/class_userManagement.inc:877
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
-msgid "Mail"
-msgstr "Почта"
+#: ihtml/themes/default/acl.tpl:120
+#, fuzzy
+msgid "ACL for this object"
+msgstr "Проверка модуля gd"
 
-#: plugins/generic/references/class_reference.inc:47
-#: plugins/generic/references/class_reference.inc:49
-#: plugins/admin/groups/class_groupManagement.inc:172
-#: plugins/admin/users/class_userManagement.inc:882
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:78
-msgid "Samba"
-msgstr "Samba"
+#: ihtml/themes/default/acl.tpl:126
+#, fuzzy
+msgid "Available roles"
+msgstr "Доступные приложения"
 
-#: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:894
-msgid "FAX"
-msgstr "Факс"
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+#, fuzzy
+msgid "Attention"
+msgstr "Рабочая станция Windows"
 
-#: plugins/generic/references/class_reference.inc:53
-msgid "Proxy"
-msgstr "Прокси-сервер"
+#: ihtml/themes/default/removeEntries.tpl:14
+#, fuzzy
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
+msgstr ""
+"Если вы уверены в своих действиях, нажмите на кнопку <i>Удалить</i>, иначе "
+"нажмите <i>Отмена</i>."
 
-#: plugins/generic/references/class_reference.inc:55
-msgid "FTP"
-msgstr "FTP"
+#: ihtml/themes/default/userFilter.tpl:1
+#, fuzzy
+msgid "List of defined filters"
+msgstr "Настроить"
 
-#: plugins/generic/references/class_reference.inc:57
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
-#: plugins/admin/ogroups/class_ogroupManagement.inc:184
-#: plugins/admin/ogroups/ogroup-list.xml:79
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
-#: plugins/admin/groups/group-list.xml:15
-#: plugins/admin/groups/group-list.xml:96
-#: plugins/personal/posix/groupSelect/group-list.xml:15
-msgid "Group"
-msgstr "Группа"
+#: ihtml/themes/default/snapshotdialog.tpl:3
+#, fuzzy
+msgid "Restoring object snapshots"
+msgstr "Объект группы"
 
-#: plugins/generic/references/class_reference.inc:59
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
-#: plugins/admin/ogroups/class_ogroupManagement.inc:186
-#: plugins/admin/departments/dep-list.xml:55
-#: plugins/admin/departments/dep-list.xml:71
-#: plugins/admin/departments/dep-list.xml:138
-#: plugins/admin/departments/class_departmentManagement.inc:249
-#: plugins/personal/generic/class_user.inc:1695
-#: plugins/personal/generic/generic.tpl:307
-msgid "Department"
-msgstr "Подразделение"
+#: ihtml/themes/default/snapshotdialog.tpl:6
+msgid ""
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:61
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
-#: plugins/admin/ogroups/class_ogroupManagement.inc:188
-#: plugins/admin/groups/class_groupManagement.inc:180
-#: plugins/admin/users/class_userManagement.inc:898
-#: plugins/admin/departments/generic.tpl:106
-#: plugins/admin/departments/class_department.inc:370
-#: plugins/admin/departments/organization.tpl:105
-#: plugins/personal/generic/class_user.inc:1356
-#: plugins/personal/generic/class_user.inc:1819
-#: plugins/personal/generic/generic.tpl:398
-#: plugins/personal/generic/generic.tpl:579
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:86
-msgid "Phone"
-msgstr "Телефон"
+#: ihtml/themes/default/snapshotdialog.tpl:9
+msgid ""
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:185
-msgid "Application"
-msgstr "Приложение"
+#: ihtml/themes/default/snapshotdialog.tpl:12
+msgid ""
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:65
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
-#: plugins/admin/ogroups/class_ogroupManagement.inc:187
-#: plugins/personal/posix/trustSelect/trust-list.xml:14
-#: setup/setup_config2.tpl:219 setup/setup_config2.tpl:264
-msgid "Server"
-msgstr "Сервер"
+#: ihtml/themes/default/snapshotdialog.tpl:29
+msgid "There is no snapshot available that can be restored"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:67
-msgid "Thin Client"
-msgstr "Тонкий клиент"
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:69
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
-#: plugins/admin/ogroups/class_ogroupManagement.inc:189
-#: plugins/personal/posix/trustSelect/trust-list.xml:22
-msgid "Workstation"
-msgstr "Рабочая станция"
+#: ihtml/themes/default/snapshotdialog.tpl:50
+#, fuzzy
+msgid "Creating object snapshots"
+msgstr "Объект группы"
 
-#: plugins/generic/references/class_reference.inc:71
-#: plugins/admin/ogroups/ogroup-list.xml:15
-msgid "Object group"
+#: ihtml/themes/default/snapshotdialog.tpl:53
+msgid ""
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:56
+msgid ""
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:71
+#, fuzzy
+msgid "Time stamp"
+msgstr "Таймаут (с)"
+
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
+msgstr ""
+
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
+msgstr "Продолжить"
+
+#: ihtml/themes/default/password.tpl:5
+#, fuzzy
+msgid "Change your password"
+msgstr "Сменить пароль"
+
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
+msgstr ""
+
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
+#, fuzzy
+msgid "Password change"
+msgstr "Сменить пароль"
+
+#: ihtml/themes/default/password.tpl:72
+msgid ""
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
+msgstr ""
+
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
+msgstr "Сменить пароль"
+
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
+msgstr "Каталог"
+
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
+#, fuzzy
+msgid "User name"
+msgstr "Имя пользователя"
+
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
+msgstr "Текущий пароль"
+
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
+msgstr "Новый пароль"
+
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
+msgstr "Подтверждение"
+
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
+#, fuzzy
+msgid "Password strength"
+msgstr "Хэширование паролей"
+
+#: ihtml/themes/default/password.tpl:131
+#, fuzzy
+msgid "Click here to change your password"
+msgstr "У вас недостаточно прав для смены своего пароля."
+
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
+msgstr "Изменить пароль"
+
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
+msgstr "Конфликт блокировок"
+
+#: ihtml/themes/default/islocked.tpl:14
+#, fuzzy
+msgid ""
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
+msgstr ""
+"Если результат этой проверки блокировки - ложь, очевидно, другой человек "
+"закрыл браузер во время редактирования данных. Вы можете удалить файл "
+"блокировки, нажав на кнопку <i>Удалить</i>."
+
+#: ihtml/themes/default/islocked.tpl:23
+msgid "Read only"
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:1
+msgid "Copy & paste wizard"
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:7
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
+msgstr ""
+
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+#, fuzzy
+msgid "Cancel all"
+msgstr "Отмена"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+#, fuzzy
+msgid "Operation complete"
+msgstr "не полный"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
+msgstr "Готово"
+
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
+msgstr ""
+
+#: ihtml/themes/default/logout.tpl:9
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
+msgstr ""
+
+#: ihtml/themes/default/logout.tpl:16
+#, fuzzy
+msgid "Login again"
+msgstr "Войти"
+
+#: ihtml/themes/default/login.tpl:31
+#, fuzzy
+msgid "Login to GOsa"
+msgstr "Добро пожаловать в раздел настройки GOsa!"
+
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
+msgstr "Пароль"
+
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
+msgstr ""
+
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
+msgstr "Нажмите на эту кнопку, чтобы войти в систему"
+
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+#, fuzzy
+msgid "Log in"
+msgstr "Имя пользователя"
+
+#: ihtml/themes/default/sizelimit.tpl:3
+msgid ""
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
+msgstr ""
+"Ограничение на количество возвращаемых объектов позволяет ускорить операции "
+"поиска и предохраняет сервер LDAP от большой нагрузки. Простейший способ "
+"снизить время обработки запроса при обслуживаии большой базы данных это "
+"установить минимальное значение. Кроме того, будет очень полезно "
+"использовать фильтры для просмотра только ограниченного количества объектов."
+
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
+msgstr "Выберите тип реакции для данной сессии"
+
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
+msgstr "игнорировать ошибку и показать все найденые объекты"
+
+#: ihtml/themes/default/sizelimit.tpl:11
+#, fuzzy
+msgid ""
+"ignore this error and show all entries that fit into the defined size limit"
+msgstr ""
+"Игнорировать ошибку и показать все возвращаемые объекты в пределах лимита и "
+"позволить использовать фильтры"
+
+#: ihtml/themes/default/infoPage.tpl:4
+#, fuzzy
+msgid "User information"
+msgstr "Личная информация"
+
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
+msgstr "Идентификатор пользователя"
+
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+#, fuzzy
+msgid "Surname"
+msgstr "Имя сервера"
+
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+msgid "Given name"
+msgstr "Имя"
+
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
+msgstr "Обращение"
+
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
+msgstr "Академическое звание"
+
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
+msgstr ""
+
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
+msgstr "Дата рождения"
+
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
+msgstr "Почта"
+
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
+#, fuzzy
+msgid "Home phone number"
+msgstr "Телефонные номера"
+
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
+msgstr "Организация"
+
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
+#, fuzzy
+msgid "Organizational Unit"
+msgstr "Организация"
+
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
+msgstr "Местоположение"
+
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
+msgstr "Улица"
+
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
+#, fuzzy
+msgid "Department number"
+msgstr "Управление подразделениями"
+
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
+#, fuzzy
+msgid "Employee number"
+msgstr "Форма трудоустройства"
+
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
+msgstr "Форма трудоустройства"
+
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+#, fuzzy
+msgid "User settings"
+msgstr "Почтовые настройки пользователя"
+
+#: ihtml/themes/default/infoPage.tpl:55
+#, fuzzy
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
+msgstr ""
+"Не удается считать блокировку в базе данных LDAP. Проверьте, раздел \"config"
+"\" в файле gosa.conf!"
+
+#: ihtml/themes/default/infoPage.tpl:61
+#, fuzzy
+msgid "Administrative contact"
+msgstr "Администрирование"
+
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
+msgstr "Команда разработчиков GOsa"
+
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
+msgstr ""
+
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
+#, fuzzy
+msgid "Error message"
+msgstr "Домашняя страница"
+
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
+msgstr ""
+
+#: ihtml/themes/default/framework.tpl:9
+#, fuzzy
+msgid "Log out"
+msgstr "Выход"
+
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
+msgstr ""
+"Вы сейчас редактируете объект базы данных. Хотите отказаться от изменений?"
+
+#: ihtml/themes/default/framework.tpl:22
+#, fuzzy, php-format
+msgid "Session expires in %d!"
+msgstr "Данные, передаваемые в течение этого сеанса, не будут зашифрованы."
+
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
+msgstr ""
+
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
+msgstr ""
+
+#: ihtml/themes/default/logout-close.tpl:5
+msgid "Your GOsa session has been closed!"
+msgstr ""
+
+#: ihtml/themes/default/logout-close.tpl:7
+msgid ""
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+#, fuzzy
+msgid "LDAP inspection"
+msgstr "Проверка конфигурации PHP"
+
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:59
+#, fuzzy
+msgid "Checking for root object"
+msgstr "Проверка модуля gd"
+
+#: setup/class_setupStep_Migrate.inc:65
+#, fuzzy
+msgid "Inspecting object classes in root object"
+msgstr "Проверка модуля gd"
+
+#: setup/class_setupStep_Migrate.inc:71
+#, fuzzy
+msgid "Checking permission for LDAP database"
+msgstr "У вас недостаточно прав для удаления этого подразделения."
+
+#: setup/class_setupStep_Migrate.inc:78
+#, fuzzy
+msgid "Checking for super administrator"
+msgstr "Проверка дополнительных программ"
+
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+#, fuzzy
+msgid "LDAP query failed"
+msgstr "Невозможно выполнить запрос к базе данных!"
+
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
+msgstr "Ошибка"
+
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
+#, php-format
+msgid ""
+"The specified user '%s' does not have full access to your LDAP database."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
+msgstr "Создать"
+
+#: setup/class_setupStep_Migrate.inc:377
+#, fuzzy
+msgid "Migration error"
+msgstr "Дата"
+
+#: setup/class_setupStep_Migrate.inc:377
+#, php-format
+msgid "Cannot add ACL for user '%s':"
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
+#, fuzzy
+msgid "Input error"
+msgstr "Ошибка LDAP:"
+
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
+msgstr "UID"
+
+#: setup/class_setupStep_Migrate.inc:420
+#, fuzzy
+msgid "Password error"
+msgstr "Срок действия пароля истекает"
+
+#: setup/class_setupStep_Migrate.inc:420
+#, fuzzy
+msgid "Provided passwords do not match!"
+msgstr "Введенные пароли не совпадают!"
+
+#: setup/class_setupStep_Migrate.inc:425
+#, fuzzy
+msgid "Specify a valid user ID!"
+msgstr "Введите корректное имя пользователя!"
+
+#: setup/class_setupStep_Migrate.inc:450
+#, php-format
+msgid "Adding an administrative user failed: object '%s' already exists!"
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:662
+msgid ""
+"The LDAP root object is missing. It is required to use your LDAP service."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
+#, fuzzy
+msgid "Try to create root object"
 msgstr "Объект группы"
 
-#: plugins/generic/references/class_reference.inc:73
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
-#: plugins/admin/ogroups/class_ogroupManagement.inc:192
-msgid "Printer"
-msgstr "Принтер"
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:730
+#, fuzzy, php-format
+msgid "Missing GOsa object class '%s'!"
+msgstr "Список подразделений"
+
+#: setup/class_setupStep_Migrate.inc:731
+#, fuzzy
+msgid "Please check your installation."
+msgstr "Проверьте, правильно ли вы ввели имя пользователя и пароль."
+
+#: setup/class_setupStep_Migrate.inc:752
+#, php-format
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
+#, fuzzy
+msgid "Migrate"
+msgstr "Дата"
+
+#: setup/setup_checks.tpl:2
+msgid ""
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
+msgstr ""
+
+#: setup/setup_checks.tpl:5
+#, fuzzy
+msgid "Inspection"
+msgstr "Проверка конфигурации PHP"
+
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
+msgstr ""
+
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
+msgstr ""
+
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
+msgstr ""
+
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
+msgstr ""
+
+#: setup/setup_checks.tpl:50
+#, fuzzy
+msgid "PHP setup configuration"
+msgstr "Базы данных"
+
+#: setup/setup_checks.tpl:50
+#, fuzzy
+msgid "show information"
+msgstr "Личная информация"
+
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
+msgstr ""
+
+#: setup/class_setupStep_Finish.inc:40
+#, fuzzy
+msgid "Write configuration file"
+msgstr "Настроить"
+
+#: setup/class_setupStep_Finish.inc:41
+#, fuzzy
+msgid "Finish - write the configuration file"
+msgstr "Настроить"
+
+#: setup/class_setupStep_Finish.inc:106
+#, fuzzy
+msgid ""
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
+msgstr ""
+"Не удается прочитать файл настройки GOsa %s/gosa.conf. Операция прервана."
+
+#: setup/class_setupStep_Finish.inc:108
+#, fuzzy
+msgid "The configuration is currently not readable or it does not exists."
+msgstr ""
+"Не удается прочитать файл настройки GOsa %s/gosa.conf. Операция прервана."
+
+#: setup/class_setupStep_Finish.inc:117
+#, fuzzy, php-format
+msgid ""
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
+msgstr ""
+"Поместив файл gosa.conf в каталог /etc/gosa, убедитесь, что только "
+"пользователь веб-сервера может его читать. Для этого вам, возможно, "
+"понадобится выполнить следующие команды:"
+
+#: setup/class_setupStep_Ldap.inc:54
+#, fuzzy
+msgid "LDAP setup"
+msgstr "LDAP-сервер"
+
+#: setup/class_setupStep_Ldap.inc:55
+#, fuzzy
+msgid "LDAP connection setup"
+msgstr "Соединение..."
+
+#: setup/class_setupStep_Ldap.inc:56
+msgid ""
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
+msgstr ""
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+#, fuzzy
+msgid "No"
+msgstr "нет"
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+#, fuzzy
+msgid "Yes"
+msgstr "Системы"
+
+#: setup/class_setupStep_Ldap.inc:113
+#, fuzzy, php-format
+msgid "Anonymous bind to server '%s' failed!"
+msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
+
+#: setup/class_setupStep_Ldap.inc:115
+#, fuzzy, php-format
+msgid "Bind as user '%s' failed!"
+msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
+
+#: setup/class_setupStep_Ldap.inc:120
+#, fuzzy, php-format
+msgid "Anonymous bind to server '%s' succeeded."
+msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
+
+#: setup/class_setupStep_Ldap.inc:121
+#, fuzzy
+msgid "Please specify user and password!"
+msgstr "Введите свой пароль!"
+
+#: setup/class_setupStep_Ldap.inc:123
+#, fuzzy, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
+msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
+
+#: setup/class_setupStep_Feedback.inc:94
+#, fuzzy
+msgid "UNIX accounts/groups"
+msgstr "UNIX аккаунт"
+
+#: setup/class_setupStep_Feedback.inc:96
+#, fuzzy
+msgid "Samba management"
+msgstr "Управление системами"
+
+#: setup/class_setupStep_Feedback.inc:98
+#, fuzzy
+msgid "Mail system management"
+msgstr "Управление системами"
+
+#: setup/class_setupStep_Feedback.inc:100
+#, fuzzy
+msgid "FAX system administration"
+msgstr "Управление пользователями"
+
+#: setup/class_setupStep_Feedback.inc:102
+#, fuzzy
+msgid "Asterisk administration"
+msgstr "Управление пользователями"
+
+#: setup/class_setupStep_Feedback.inc:104
+#, fuzzy
+msgid "System inventory"
+msgstr "Удалить объект"
+
+#: setup/class_setupStep_Feedback.inc:106
+#, fuzzy
+msgid "System/Configuration management"
+msgstr "Управление системами"
+
+#: setup/class_setupStep_Feedback.inc:108
+#, fuzzy
+msgid "Address book"
+msgstr "Адресная книга"
+
+#: setup/class_setupStep_Feedback.inc:114
+msgid "Feedback"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:115
+#, fuzzy
+msgid "Get notifications or send feedback"
+msgstr "Местоположение ветки"
+
+#: setup/class_setupStep_Feedback.inc:116
+#, fuzzy
+msgid "Notification and feedback"
+msgstr "Изменить сертификаты"
+
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
+#, fuzzy
+msgid "Setup error"
+msgstr "Состояние системы"
+
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Feedback error"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:140
+#, php-format
+msgid "Cannot send feedback to '%s': %s"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
+msgstr ""
+
+#: setup/class_setupStep_Feedback.inc:181
+#, fuzzy
+msgid "Please specify a valid email address."
+msgstr "Введите корректное имя пользователя!"
+
+#: setup/class_setupStep_Feedback.inc:185
+msgid ""
+"You have to select at least one of both options, subscribe or send feedback."
+msgstr ""
+
+#: setup/setup_license.tpl:3
+msgid ""
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
+msgstr ""
+
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
+msgstr ""
+
+#: setup/setup_ldap.tpl:2
+msgid ""
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
+msgstr ""
+
+#: setup/setup_ldap.tpl:9
+msgid "Please choose the LDAP user to be used by GOsa"
+msgstr ""
+
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
+#, fuzzy
+msgid "LDAP connection"
+msgstr "Отключение"
+
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
+msgstr "Местоположение"
+
+#: setup/setup_ldap.tpl:35
+#, fuzzy
+msgid "Connection URI"
+msgstr "Подключение"
+
+#: setup/setup_ldap.tpl:39
+#, fuzzy
+msgid "TLS connection"
+msgstr "Соединение..."
+
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
+#: plugins/admin/ogroups/generic.tpl:26
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
+#: plugins/admin/departments/class_domain.inc:92
+#: plugins/admin/departments/class_organizationGeneric.inc:125
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
+#: plugins/admin/departments/class_dcObject.inc:93
+#: plugins/admin/departments/domain.tpl:28
+#: plugins/admin/users/user-list.tpl:12
+msgid "Base"
+msgstr "Ветка"
+
+#: setup/setup_ldap.tpl:57
+#, fuzzy
+msgid "Reload"
+msgstr "чтение"
+
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+#, fuzzy
+msgid "Authentication"
+msgstr "Рабочая станция Windows"
+
+#: setup/setup_ldap.tpl:66
+#, fuzzy
+msgid "Administrator DN"
+msgstr "Администрирование"
+
+#: setup/setup_ldap.tpl:71
+#, fuzzy
+msgid "Select user"
+msgstr "Удалить"
+
+#: setup/setup_ldap.tpl:81
+msgid "Automatically append LDAP base to administrator DN"
+msgstr ""
+
+#: setup/setup_ldap.tpl:85
+#, fuzzy
+msgid "Administrator password"
+msgstr "Пароль администратора"
+
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
+#, fuzzy
+msgid "Schema based settings"
+msgstr "Настройки Samba"
+
+#: setup/setup_ldap.tpl:94
+msgid "Use RFC 2307bis compliant groups"
+msgstr ""
+
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
+#, fuzzy
+msgid "Current status"
+msgstr "Состояние системы"
+
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
+msgstr "Информация"
+
+#: setup/setup_language.tpl:3
+#, fuzzy
+msgid "Please select the preferred language"
+msgstr "Язык по умолчанию"
+
+#: setup/setup_language.tpl:5
+msgid ""
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
+msgstr ""
+
+#: setup/setup_language.tpl:9
+#, fuzzy
+msgid "Please select your preferred language here"
+msgstr "Язык по умолчанию"
+
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
+msgstr ""
+
+#: setup/setup_welcome.tpl:5
+msgid ""
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
+msgstr ""
+
+#: setup/setup_welcome.tpl:9
+#, fuzzy
+msgid "What you need to generate a configuration file:"
+msgstr "Настроить"
+
+#: setup/setup_welcome.tpl:13
+#, fuzzy
+msgid "The hostname of your LDAP server"
+msgstr "Ошибка при подключении к LDAP-серверу. Ответ сервера: \"%s\"."
+
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
+msgstr ""
+
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
+msgstr ""
+
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
+msgstr ""
+
+#: setup/setup_welcome.tpl:20
+msgid ""
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
+msgstr ""
+
+#: setup/setup_welcome.tpl:24
+#, fuzzy
+msgid "Starting the setup"
+msgstr "Язык"
+
+#: setup/setup_welcome.tpl:26
+msgid ""
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
+msgstr ""
+
+#: setup/setup_welcome.tpl:32
+msgid "Click the 'Next' button when you've finished."
+msgstr ""
+
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
+#, fuzzy
+msgid "LDAP schema check"
+msgstr "Сервер подкачки"
+
+#: setup/class_setupStep_Schema.inc:39
+msgid "Perform test on your current LDAP schema"
+msgstr ""
+
+#: setup/class_setup.inc:183
+#, fuzzy
+msgid "Setup"
+msgstr "Установить"
+
+#: setup/class_setup.inc:195
+#, fuzzy
+msgid "Completed"
+msgstr "не полный"
+
+#: setup/class_setup.inc:235
+#, fuzzy
+msgid "Check again"
+msgstr "Проверить"
+
+#: setup/class_setup.inc:238
+#, fuzzy
+msgid "Next"
+msgstr "текст"
+
+#: setup/setup_migrate.tpl:2
+msgid ""
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
+msgstr ""
+
+#: setup/setup_migrate.tpl:5
+#, fuzzy
+msgid "Checks"
+msgstr "Состояние системы"
+
+#: setup/setup_migrate.tpl:22
+#, fuzzy
+msgid "Add required object classes to the LDAP base"
+msgstr "Список подразделений"
+
+#: setup/setup_migrate.tpl:24
+#, fuzzy
+msgid "Current"
+msgstr "Текущий пароль"
+
+#: setup/setup_migrate.tpl:28
+#, fuzzy
+msgid "After migration"
+msgstr "Управление пользователями"
+
+#: setup/setup_migrate.tpl:35
+#, fuzzy
+msgid "Close"
+msgstr "Выбрать"
+
+#: setup/setup_migrate.tpl:40
+#, fuzzy
+msgid "Create a new GOsa administrator account"
+msgstr "Создать настройки запись эл. почты"
+
+#: setup/setup_migrate.tpl:41
+msgid ""
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
+msgstr ""
+
+#: setup/setup_migrate.tpl:57
+#, fuzzy
+msgid "Password (again)"
+msgstr "Хэширование паролей"
+
+#: setup/setup_finish.tpl:3
+#, fuzzy
+msgid "Create your configuration file"
+msgstr "Настроить"
+
+#: setup/setup_finish.tpl:10
+msgid "Depending on the user name your web server is running on:"
+msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Object name"
-msgstr "Имя объекта"
+#: setup/setup_finish.tpl:27
+#, fuzzy
+msgid "Download configuration"
+msgstr "Системная информация"
 
-#: plugins/generic/references/contents.tpl:11
+#: setup/setup_finish.tpl:33
 #, fuzzy
-msgid "Contents"
-msgstr "Контакт"
+msgid "Status: "
+msgstr "Состояние"
 
-#: plugins/generic/references/contents.tpl:18
-msgid "This object has no relationship to other objects."
-msgstr "Данный объект не имеет ссылок на другие объекты"
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
+msgstr ""
 
-#: plugins/generic/welcome/main.inc:26
-#, php-format
-msgid "Welcome %s!"
-msgstr "Добро пожаловать %s!"
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:66
+#, fuzzy
+msgid "Checking PHP version"
+msgstr "Проверка версии PHP (>=4.1.0)"
+
+#: setup/class_setupStep_Checks.inc:67
+#, fuzzy, php-format
+msgid "PHP must be of version %s or above."
+msgstr ""
+"У вас должна быть установка PHP версии не ниже 4.1.0, так как в ней "
+"реализованы некоторые новые функции и исправлены некоторые ошибки."
+
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
+msgstr ""
 
-#: plugins/generic/welcome/welcome.tpl:4
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:91
 #, fuzzy
 msgid ""
-"This is the GOsa main menu. You can select your tasks from the menu on the "
-"left, or by choosing one of the pictograms below. All changes apply directly "
-"to your companies LDAP server."
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
+msgstr ""
+"Необходим для чтения отчетов о полученных факсимильных сообщениях из базы "
+"данных."
+
+#: setup/class_setupStep_Checks.inc:99
+msgid "GOsa requires this module for the samba integration."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:107
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:122
+#, fuzzy
+msgid "mbstring"
+msgstr "Настройки Samba"
+
+#: setup/class_setupStep_Checks.inc:123
+#, fuzzy
+msgid "GOsa requires this module to handle Unicode strings."
+msgstr ""
+"Необходим для чтения отчетов о полученных факсимильных сообщениях из базы "
+"данных."
+
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:131
+#, fuzzy
+msgid "GOsa requires this module to calculate dates."
 msgstr ""
-"Это начальная страница GOsa. Из меню слева или среди пиктограмм ниже вы "
-"можете выбрать нужный вам раздел. Все изменения будут сразу же переноситься "
-"на LDAP-сервер вашей компании."
+"Необходим для чтения отчетов о полученных факсимильных сообщениях из базы "
+"данных."
 
-#: plugins/generic/welcome/welcome.tpl:8
+#: setup/class_setupStep_Checks.inc:138
+#, fuzzy
+msgid "MySQL"
+msgstr "Ошибка LDAP:"
+
+#: setup/class_setupStep_Checks.inc:139
 #, fuzzy
 msgid ""
-"Use 'Sign out' on the upper left to close the connection and 'Main' to get "
-"back to the pictogram view."
+"GOsa requires this module to communicate with several supported databases."
+msgstr ""
+"Необходим для чтения отчетов о полученных факсимильных сообщениях из базы "
+"данных."
+
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
 msgstr ""
-"Чтобы завершить сеанс, выберите в меню слева вверху пункт <b>Выход</b>. "
-"Чтобы вернуться на начальную страницу, выберите <b>Начало</b>."
 
-#: plugins/generic/welcome/welcome.tpl:15
-msgid "The GOsa team"
-msgstr "Команда разработчиков GOsa"
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
-#: plugins/admin/groups/userSelect/user-list.xml:10
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
-#: plugins/personal/posix/trustSelect/trust-list.xml:10
-#: plugins/personal/posix/groupSelect/group-list.xml:11
+#: setup/class_setupStep_Checks.inc:158
+msgid ""
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:172
+msgid "GOsa requires this extension to handle images."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:187
 #, fuzzy
-msgid "Please select the desired entries"
-msgstr "Язык по умолчанию"
+msgid "compression module"
+msgstr "Параметры доступа"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
-#: plugins/admin/ogroups/class_ogroupManagement.inc:191
-#: plugins/personal/posix/trustSelect/trust-list.xml:30
+#: setup/class_setupStep_Checks.inc:188
+msgid "GOsa requires this extension to handle snapshots."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:199
 #, fuzzy
-msgid "Terminal"
-msgstr "Терминалы"
+msgid ""
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
+msgstr ""
+"register_globals - механизм PHP, позволяющий делать все глобальные "
+"переменные доступными из сценария без смены области действия. Это может быть "
+"нарушением безопасности. Тем не менее, GOsa будет работать в любом случае."
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:183
-#: plugins/admin/groups/userSelect/user-list.xml:14
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
-#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
-#: setup/setup_config2.tpl:228 setup/setup_config2.tpl:273
-msgid "User"
-msgstr "Пользователь"
+#: setup/class_setupStep_Checks.inc:200
+#, fuzzy
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+msgstr "Проверка значения параметра register_globals (должно быть: off)"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:29
-#: plugins/admin/ogroups/class_ogroup.inc:768
-#: plugins/admin/ogroups/class_ogroup.inc:783
-#: plugins/admin/ogroups/class_ogroup.inc:787
-#: plugins/admin/ogroups/class_ogroup.inc:975
-#: plugins/admin/ogroups/ogroup-filter.tpl:29
-#: plugins/admin/ogroups/ogroup-list.xml:41
-#: plugins/admin/groups/userSelect/user-filter.tpl:17
-#: plugins/admin/groups/group-filter.tpl:21
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:17
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:21
-#: plugins/admin/groups/group-list.xml:58
-#: plugins/admin/groups/class_group.inc:1045
-#: plugins/admin/groups/class_group.inc:1056
-#: plugins/admin/groups/class_group.inc:1058
-#: plugins/admin/groups/class_group.inc:1075
-#: plugins/admin/groups/class_group.inc:1089
-#: plugins/admin/groups/class_group.inc:1096
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:538
-#: plugins/admin/users/class_userManagement.inc:585
-#: plugins/admin/users/user-filter.tpl:24
-#: plugins/admin/departments/class_domain.inc:47
-#: plugins/admin/departments/class_domain.inc:49
-#: plugins/admin/departments/class_domain.inc:54
-#: plugins/admin/departments/class_domain.inc:56
-#: plugins/admin/departments/class_domain.inc:58
-#: plugins/admin/departments/class_domain.inc:90
-#: plugins/admin/departments/dep-filter.tpl:13
-#: plugins/admin/departments/class_localityGeneric.inc:48
-#: plugins/admin/departments/class_localityGeneric.inc:50
-#: plugins/admin/departments/class_localityGeneric.inc:55
-#: plugins/admin/departments/class_localityGeneric.inc:57
-#: plugins/admin/departments/class_localityGeneric.inc:59
-#: plugins/admin/departments/class_organizationGeneric.inc:79
-#: plugins/admin/departments/class_organizationGeneric.inc:81
-#: plugins/admin/departments/class_organizationGeneric.inc:86
-#: plugins/admin/departments/class_organizationGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:90
-#: plugins/admin/departments/class_countryGeneric.inc:47
-#: plugins/admin/departments/class_countryGeneric.inc:49
-#: plugins/admin/departments/class_countryGeneric.inc:54
-#: plugins/admin/departments/class_countryGeneric.inc:56
-#: plugins/admin/departments/class_countryGeneric.inc:58
-#: plugins/admin/departments/class_dcObject.inc:47
-#: plugins/admin/departments/class_dcObject.inc:49
-#: plugins/admin/departments/class_dcObject.inc:54
-#: plugins/admin/departments/class_dcObject.inc:56
-#: plugins/admin/departments/class_dcObject.inc:58
-#: plugins/admin/departments/class_dcObject.inc:90
-#: plugins/admin/departments/class_department.inc:349
-#: plugins/admin/departments/class_department.inc:351
-#: plugins/admin/departments/class_department.inc:356
-#: plugins/admin/departments/class_department.inc:363
-#: plugins/admin/departments/class_department.inc:367
-#: plugins/admin/acl/class_aclRole.inc:733
-#: plugins/admin/acl/class_aclRole.inc:745
-#: plugins/admin/acl/class_aclRole.inc:755 plugins/admin/acl/acl-list.xml:49
-#: plugins/admin/acl/paste_role.tpl:4 plugins/admin/acl/acl-filter.tpl:21
-#: plugins/admin/acl/acl_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1336
-#: plugins/personal/generic/class_user.inc:1378
-#: plugins/personal/generic/class_user.inc:1834
-#: plugins/personal/posix/trustSelect/trust-list.xml:56
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:23
-#: plugins/personal/posix/groupSelect/group-filter.tpl:21
-#: plugins/personal/posix/groupSelect/group-list.xml:41
-#: setup/setup_migrate.tpl:283 setup/setup_feedback.tpl:31
-msgid "Name"
-msgstr "Фамилия"
+#: setup/class_setupStep_Checks.inc:208
+msgid "PHP uses this value for the garbage collector to delete old sessions."
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
-#: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:976
-#: plugins/admin/ogroups/generic.tpl:26
-#: plugins/admin/groups/userSelect/user-list.tpl:13
-#: plugins/admin/groups/generic.tpl:39
-#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:13
-#: plugins/admin/groups/group-list.tpl:13
-#: plugins/admin/groups/class_group.inc:1185
-#: plugins/admin/users/user-list.tpl:13
-#: plugins/admin/departments/locality.tpl:28
-#: plugins/admin/departments/generic.tpl:39
-#: plugins/admin/departments/class_domain.inc:92
-#: plugins/admin/departments/class_localityGeneric.inc:94
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/admin/departments/class_countryGeneric.inc:94
-#: plugins/admin/departments/class_dcObject.inc:93
-#: plugins/admin/departments/domain.tpl:28
-#: plugins/admin/departments/country.tpl:28
-#: plugins/admin/departments/dcObject.tpl:28
-#: plugins/admin/departments/class_department.inc:668
-#: plugins/admin/departments/dep-list.tpl:13
-#: plugins/admin/departments/organization.tpl:39
-#: plugins/admin/acl/acl-list.tpl:13 plugins/admin/acl/class_aclRole.inc:734
-#: plugins/admin/acl/acl_role.tpl:27
-#: plugins/personal/generic/class_user.inc:1688
-#: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/posix/trustSelect/trust-list.tpl:13
-#: plugins/personal/posix/groupSelect/group-list.tpl:13
-#: setup/setup_ldap.tpl:55
-msgid "Base"
-msgstr "Ветка"
+#: setup/class_setupStep_Checks.inc:209
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:210
+#, fuzzy
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
+msgstr "Проверка значения параметра register_globals (должно быть: off)"
+
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+#, fuzzy
+msgid "Off"
+msgstr "не в сети"
+
+#: setup/class_setupStep_Checks.inc:218
+#, fuzzy
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
+msgstr "Проверка значения параметра register_globals (должно быть: off)"
+
+#: setup/class_setupStep_Checks.inc:219
+#, fuzzy
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+msgstr "Проверка значения параметра register_globals (должно быть: off)"
+
+#: setup/class_setupStep_Checks.inc:226
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:234
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:242
+msgid "The Execution time should be at least 30 seconds."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:250
+msgid ""
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
+#, fuzzy
+msgid "On"
+msgstr "Параметры"
+
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:259
+#, fuzzy
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+msgstr "Проверка значения параметра register_globals (должно быть: off)"
+
+#: setup/class_setupStep_Checks.inc:266
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:3
-#: plugins/admin/ogroups/ogroup-filter.tpl:3
-#: plugins/admin/groups/userSelect/user-filter.tpl:3
-#: plugins/admin/groups/group-filter.tpl:3
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:3
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:3
-#: plugins/admin/users/user-filter.tpl:3
-#: plugins/admin/departments/dep-filter.tpl:3
-#: plugins/admin/acl/acl-filter.tpl:3
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:3
-#: plugins/personal/posix/groupSelect/group-filter.tpl:3
+#: setup/class_setupStep_Checks.inc:267
 #, fuzzy
-msgid "Filter"
-msgstr "Фильтры"
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+msgstr "Проверка значения параметра register_globals (должно быть: off)"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:11
+#: setup/class_setupStep_Checks.inc:277
 #, fuzzy
-msgid "Show department"
-msgstr "Показать подразделения"
+msgid "Configuration writable"
+msgstr "Настроить"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:12
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:11
+#: setup/class_setupStep_Checks.inc:278
 #, fuzzy
-msgid "Show users"
-msgstr "Показать серверы"
+msgid "The configuration file can't be written"
+msgstr "Настроить"
+
+#: setup/class_setupStep_Checks.inc:279
+#, php-format
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:12
+#: setup/class_setupStep_Welcome.inc:42
 #, fuzzy
-msgid "Show groups"
-msgstr "Показать группы samba"
+msgid "Welcome"
+msgstr "Добро пожаловать %s!"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:15
+#: setup/class_setupStep_Welcome.inc:43
 #, fuzzy
-msgid "Show server"
-msgstr "Показать серверы"
+msgid "The welcome message"
+msgstr "Удалить"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:16
+#: setup/class_setupStep_Welcome.inc:44
 #, fuzzy
-msgid "Show workstation"
-msgstr "Показать рабочие станции"
+msgid "Welcome to the GOsa setup assistent"
+msgstr "Добро пожаловать в раздел настройки GOsa!"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:17
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
 #, fuzzy
-msgid "Show terminal"
-msgstr "Показать терминалы"
+msgid "License"
+msgstr "в"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:19
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
+msgstr ""
+
+#: setup/setup_schema.tpl:1
 #, fuzzy
-msgid "Show printer"
-msgstr "Показать принтеры"
+msgid "Schema specific settings"
+msgstr "Настройки телефона"
+
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:20
+#: setup/setup_schema.tpl:7
 #, fuzzy
-msgid "Show phone"
-msgstr "Показать телефоны"
+msgid "Schema check failed"
+msgstr "Приложение"
 
-#: plugins/admin/ogroups/remove.tpl:6
+#: setup/setup_schema.tpl:11
 msgid ""
-"Please double check if you really want to do this since there is no way for "
-"GOsa to get your data back."
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
 msgstr ""
-"Подумайте еще раз, действительно ли вам нужно удаление, так как GOsa не "
-"сможет восстановить эти данные."
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:972
-msgid "Object groups"
-msgstr "Объединения"
+#: setup/setup_schema.tpl:13
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
 #, fuzzy
-msgid "Manage object groups"
-msgstr "Название группы"
+msgid "Language setup"
+msgstr "Язык"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:115
-#: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:204
+#: setup/class_setupStep_Language.inc:42
 #, fuzzy
-msgid "Infrastructure error"
-msgstr "Ошибка LDAP:"
+msgid "This step allows you to select your preferred language."
+msgstr "Язык по умолчанию"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+#: setup/setup_feedback.tpl:2
 #, fuzzy
-msgid "Templates"
-msgstr "Шаблон"
+msgid "Feedback successfully send"
+msgstr "Настройка завершена"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+#: setup/setup_feedback.tpl:6
+msgid "Subscribe to the gosa-announce mailing list"
+msgstr ""
+
+#: setup/setup_feedback.tpl:8
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
+msgstr ""
+
+#: setup/setup_feedback.tpl:20
 #, fuzzy
-msgid "Windows Install"
-msgstr "Рабочая станция Windows"
+msgid "Mail address"
+msgstr "MAC-адрес"
 
-#: plugins/admin/ogroups/class_ogroup.inc:238
-msgid "You cannot combine terminals and workstations in one object group!"
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:354
-#: plugins/admin/users/class_userManagement.inc:463
-#: plugins/admin/users/class_userManagement.inc:497
-#: plugins/admin/users/class_userManagement.inc:528
-msgid "none"
-msgstr "нет"
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:356
-msgid "too many different objects!"
-msgstr "слишком много различных объектов!"
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
+msgstr "Общее"
 
-#: plugins/admin/ogroups/class_ogroup.inc:358
-msgid "users"
-msgstr "пользователи"
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:359
-msgid "groups"
-msgstr "группы"
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:360
-msgid "applications"
-msgstr "приложения"
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:361
-msgid "departments"
-msgstr "подразделения"
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:362
-msgid "servers"
-msgstr "серверы"
+#: setup/setup_feedback.tpl:54
+msgid "Select the year since when you are using GOsa"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:363
-msgid "workstations"
-msgstr "рабочие станции"
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:364
+#: setup/setup_feedback.tpl:72
 #, fuzzy
-msgid "winstations"
-msgstr "Рабочая станция"
+msgid "GOsa version"
+msgstr "Общая информация о пользователе"
 
-#: plugins/admin/ogroups/class_ogroup.inc:365
-msgid "terminals"
-msgstr "терминалы"
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:366
-msgid "phones"
-msgstr "телефоны"
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:367
-msgid "printers"
-msgstr "принтеры"
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-#: setup/setup_config2.tpl:143
-msgid "disabled"
-msgstr "отключен"
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
+msgid "Features"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-msgid "full access"
-msgstr "полный доступ"
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:413
-#: plugins/admin/groups/class_group.inc:434
-#: plugins/personal/posix/class_posixAccount.inc:574
-msgid "allow access to these hosts"
-msgstr "разрешить доступ только на эти хосты"
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
+msgstr ""
+
+#: html/password.php:63 html/index.php:157
+#, fuzzy, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
+msgstr ""
+"Не удается прочитать файл настройки GOsa %s/gosa.conf. Операция прервана."
 
-#: plugins/admin/ogroups/class_ogroup.inc:601
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, fuzzy, php-format
+msgid "Compile directory %s is not accessible!"
+msgstr "Недоступен каталог \"%s\", указанный как каталог компиляции!"
+
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
 #, fuzzy
-msgid "Non existing dn:"
-msgstr "Не существующий dn:"
+msgid "Password method"
+msgstr "Хэширование паролей"
 
-#: plugins/admin/ogroups/class_ogroup.inc:758
-#, php-format
+#: html/password.php:195
+msgid "Error: Password method not available!"
+msgstr ""
+
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
+msgstr "Имя пользователя"
+
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
+msgstr "Для продолжения укажите свой текущий пароль."
+
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
 msgid ""
-"These systems are already configured by other object groups and cannot be "
-"added:"
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
+msgstr "Введенные пароли не совпадают!"
+
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
+msgstr "Вы не указали новый пароль."
+
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
+msgstr "Новый и текущий пароли слишком похожи."
+
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
+msgstr "Новый пароль слишком короткий."
+
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
+#, fuzzy
+msgid "The password contains possibly problematic Unicode characters!"
+msgstr "Значение поля \"Имя\" содержит недопустимые символы."
+
+#: html/password.php:261 html/index.php:311
+#, fuzzy
+msgid "Please check the username/password combination!"
+msgstr "Проверьте, правильно ли вы ввели имя пользователя и пароль."
+
+#: html/password.php:268
+#, fuzzy
+msgid "You have no permissions to change your password!"
+msgstr "У вас недостаточно прав для смены своего пароля."
+
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
+#, php-format
+msgid "Check-hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: html/password.php:315
+msgid "Session will not be encrypted."
+msgstr "Данные, передаваемые в течение этого сеанса, не будут зашифрованы."
+
+#: html/password.php:317
+msgid "Enter SSL session"
+msgstr "Использовать шифрование SSL"
+
+#: html/index.php:45
+#, php-format
+msgid "Your browser (%s) is blacklisted for the current theme!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:792
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
+msgstr ""
+
+#: html/index.php:72
 #, fuzzy
-msgid "You can combine two different object types at maximum, only!"
+msgid "here"
+msgstr "Мобильный"
+
+#: html/index.php:78
+msgid "The configured session lifetime will be overridden by php.ini settings!"
 msgstr ""
-"Вы можете комбинировать не более двух различных классов в одном объекте!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:967
+#: html/index.php:179
 #, fuzzy
-msgid "Object group generic"
-msgstr "Объект группы"
+msgid "Smarty error"
+msgstr "Состояние системы"
+
+#: html/index.php:202
+msgid ""
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
+msgstr ""
+
+#: html/index.php:233
+msgid "Broken HTTP authentication setup!"
+msgstr ""
+
+#: html/index.php:241
+msgid "Cannot find a valid user for the current HTTP authentication!"
+msgstr ""
+
+#: html/index.php:245
+msgid "Cannot find a unique user for the current HTTP authentication!"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:978
+#: html/index.php:289
 #, fuzzy
-msgid "Sytem trust"
-msgstr "Системные доверия"
+msgid "Please specify a valid user name!"
+msgstr "Введите корректное имя пользователя!"
+
+#: html/index.php:292
+msgid "Please specify your password!"
+msgstr "Введите свой пароль!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:979
+#: html/index.php:304
 #, fuzzy
-msgid "Member"
-msgstr "Включаемые объекты"
+msgid "Authentication error"
+msgstr "Рабочая станция Windows"
 
-#: plugins/admin/ogroups/generic.tpl:7
-#: plugins/admin/ogroups/paste_generic.tpl:4
-#: plugins/admin/groups/generic.tpl:11
-#: plugins/admin/groups/paste_generic.tpl:5
-msgid "Group name"
-msgstr "Группа"
+#: html/index.php:304
+#, fuzzy
+msgid "Cannot retrieve user information for HTTP authentication!"
+msgstr "Не удается создать квоту IMAP. Ответ сервера: \"%s\"."
 
-#: plugins/admin/ogroups/generic.tpl:10
-msgid "Name of the group"
-msgstr "Название группы"
+#: html/index.php:360
+#, fuzzy
+msgid "Account locked. Please contact your system administrator!"
+msgstr ""
+"Не удается начать сеанс на LDAP-сервере. Обратитесь к системному "
+"администратору."
+
+#: html/main.php:171
+#, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
+msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:18 plugins/admin/groups/generic.tpl:28
-msgid "Descriptive text for this group"
-msgstr "Описание группы"
+#: html/main.php:190
+#, fuzzy
+msgid "PHP configuration"
+msgstr "Базы данных"
 
-#: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1191
-#: plugins/personal/posix/generic.tpl:139
-msgid "System trust"
-msgstr "Системные доверия"
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
+msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:37 plugins/admin/groups/generic.tpl:160
-#: plugins/admin/groups/generic.tpl:194 plugins/personal/posix/generic.tpl:141
-#: plugins/personal/posix/generic.tpl:169
+#: html/main.php:220
 #, fuzzy
-msgid "Trust mode"
-msgstr "Режим"
+msgid "Your password is about to expire, please change your password!"
+msgstr "У вас недостаточно прав для смены своего пароля."
 
-#: plugins/admin/ogroups/generic.tpl:65
-msgid "Member objects"
-msgstr "Включаемые объекты"
+#: html/main.php:295
+msgid "Running out of memory!"
+msgstr ""
+
+#: html/main.php:355
+#, php-format
+msgid "You're logged in as %s"
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:133
+#: html/main.php:358
 #, fuzzy
-msgid "Phone queue"
-msgstr "Номер телефона"
+msgid "ACLs are disabled"
+msgstr "отключен"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:160
+#: html/main.php:408
 #, fuzzy
-msgid "Systems"
-msgstr "Системы"
+msgid "Plug-in"
+msgstr "в"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:171
-#: plugins/admin/ogroups/tabs_ogroups.inc:194
-msgid "Startup"
-msgstr "Запуск"
+#: html/main.php:409
+#, fuzzy, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
+msgstr "Не удается найти определение для модуля \"%s\"!"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:182
-#: plugins/admin/ogroups/tabs_ogroups.inc:203
-msgid "Devices"
-msgstr "Устройства"
+#: html/main.php:425
+#, fuzzy
+msgid "Configuration Error"
+msgstr "Настроить"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:213
-msgid "FAI summary"
+#: html/main.php:426
+#, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
 msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:222
-#: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:890
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
-msgid "Environment"
-msgstr "Окружение"
+#: html/setup.php:73
+#, fuzzy
+msgid "Smarty"
+msgstr "Запуск"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:241
-msgid "Applications"
-msgstr "Приложения"
+#: html/helpviewer.php:64
+msgid "Help browser"
+msgstr ""
 
-#: plugins/admin/ogroups/paste_generic.tpl:7
+#: html/helpviewer.php:118
 #, fuzzy
-msgid "Please enter the new object group name"
-msgstr "Введите адрес сервера"
+msgid "There is no help file specified for this class"
+msgstr "Метод '%s' не описан в вашем файле конфигурации."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:11
-#, fuzzy
-msgid "user groups"
-msgstr "группы"
+#: html/helpviewer.php:268
+#, fuzzy, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
+msgstr "Недоступен каталог \"%s\", указанный как каталог компиляции!"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:12
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
 #, fuzzy
-msgid "nested groups"
-msgstr "Объединения"
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
+msgstr ""
+"В полях ниже вы можете изменить свой пароль. Изменения вступят в силу "
+"немедленно. Пожалуйста, запомните новый пароль, так как иначе вы не сможете "
+"войти в систему."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:13
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
 #, fuzzy
-msgid "application groups"
-msgstr "Показать группы приложений"
+msgid "Password change dialog"
+msgstr "Сменить пароль"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:14
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
 #, fuzzy
-msgid "department groups"
-msgstr "подразделения"
+msgid "Use proposal"
+msgstr "группы"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:15
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
 #, fuzzy
-msgid "server groups"
-msgstr "серверы"
+msgid "Manually specify a password"
+msgstr "Введите свой пароль!"
+
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
+msgstr "Очистить поля"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:16
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
+msgstr "Моя учетная запись"
+
+#: plugins/personal/myaccount/class_MyAccount.inc:6
 #, fuzzy
-msgid "workstation groups"
-msgstr "рабочие станции"
+msgid "Edit personal settings"
+msgstr "Атрибуты UNIX"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:17
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
 #, fuzzy
-msgid "windows workstation groups"
-msgstr "Показать рабочие станции"
+msgid "You have no permission to change your password at this time"
+msgstr "У вас недостаточно прав для смены своего пароля."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:18
+#: plugins/personal/myaccount/nochange.tpl:5
 #, fuzzy
-msgid "terminal groups"
-msgstr "Показать группы с эл. почтой"
+msgid "Your password hash method will not be changed!"
+msgstr "У вас недостаточно прав для смены своего пароля."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:19
+#: plugins/personal/myaccount/changed.tpl:3
+#: plugins/personal/password/changed.tpl:3
 #, fuzzy
-msgid "printer groups"
-msgstr "Основная группа"
+msgid ""
+"You've successfully changed your password. Remember to change all programs "
+"configured to use it as well."
+msgstr ""
+"Вы успешно сменили свой пароль. Не забудьте изменить нужные настройки "
+"использующих его программ."
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:20
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
 #, fuzzy
-msgid "phone groups"
-msgstr "Показать группы"
+msgid "POSIX settings"
+msgstr "Атрибуты UNIX"
 
-#: plugins/admin/ogroups/ogroup-list.xml:11
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
+msgstr "Домашний каталог"
+
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
 #, fuzzy
-msgid "List of object groups"
-msgstr "Название группы"
+msgid "Account settings"
+msgstr "Настройки Samba"
 
-#: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:74 plugins/admin/users/user-list.xml:73
-#: plugins/admin/departments/locality.tpl:8
-#: plugins/admin/departments/generic.tpl:7
-#: plugins/admin/departments/domain.tpl:8
-#: plugins/admin/departments/country.tpl:8
-#: plugins/admin/departments/dcObject.tpl:8
-#: plugins/admin/departments/organization.tpl:7
-msgid "Properties"
-msgstr "Свойства"
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
+msgstr "Основная группа"
 
-#: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:90 plugins/admin/users/user-list.xml:89
-#: plugins/admin/departments/dep-list.xml:98 plugins/admin/acl/acl-list.xml:76
-#: setup/class_setupStep_Migrate.inc:1036
-#: setup/class_setupStep_Migrate.inc:1052
-msgid "Create"
-msgstr "Создать"
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
+msgstr "Указать UID/GID вручную"
 
-#: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-list.xml:115
-#: plugins/admin/users/user-list.xml:121
-#: plugins/admin/departments/dep-list.xml:160
-#: plugins/admin/departments/dep-list.xml:181
-#: plugins/admin/acl/acl-list.xml:95 plugins/admin/acl/acl-list.xml:144
-#: plugins/personal/generic/generic_certs.tpl:21
-#: plugins/personal/generic/generic_certs.tpl:45
-#: plugins/personal/generic/generic_certs.tpl:69
-#: setup/class_setupStep_Migrate.inc:2870
-msgid "Remove"
-msgstr "Удалить"
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
+msgstr "GID"
 
-#: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:123
-#: plugins/admin/users/user-list.xml:156
-#, fuzzy
-msgid "Send message"
-msgstr "Домашняя страница"
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
+msgstr "Членство в группах"
 
-#: plugins/admin/ogroups/ogroup-list.xml:142
-#, fuzzy
-msgid "Edit object group"
-msgstr "Объект группы"
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
+msgstr ""
+"(Предупреждение: NFS не поддерживает более 16 групп для одного пользователя!)"
 
-#: plugins/admin/ogroups/ogroup-list.xml:155
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
+#, fuzzy
+msgid "Default filter"
+msgstr "Параметры загрузки"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
 #, fuzzy
-msgid "Remove object group"
-msgstr "серверы"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:6
-msgid "Select objects to add"
-msgstr "Выбрать объекты для добавления"
+msgid "Please select the desired entries"
+msgstr "Язык по умолчанию"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:20
-#: plugins/admin/groups/trust_machines.tpl:19
-#: plugins/personal/posix/posix_groups.tpl:21
-msgid "Filters"
-msgstr "Фильтры"
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
+msgstr "Сервер"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:36
-msgid "Display objects of department"
-msgstr "Показать объекты подразделения"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:37
-#: plugins/admin/ogroups/trust_machines.tpl:27
-#: plugins/admin/groups/trust_machines.tpl:26
-#: plugins/personal/posix/posix_groups.tpl:35
-#: plugins/personal/posix/trust_machines.tpl:27
-msgid "Choose the department the search will be based on"
-msgstr "Выбрать раздел, для которого будет осуществлен поиск"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:40
-msgid "Display objects matching"
-msgstr "Показать совпадения объектов"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:41
-msgid "Regular expression for matching object names"
-msgstr "Регулярное выражение, соответствующее именам объектов"
-
-#: plugins/admin/ogroups/trust_machines.tpl:6
-#: plugins/admin/groups/trust_machines.tpl:6
-#: plugins/personal/posix/trust_machines.tpl:6
-msgid "Select systems to add"
-msgstr "Выберите системы для добавления"
-
-#: plugins/admin/ogroups/trust_machines.tpl:26
-#: plugins/admin/groups/trust_machines.tpl:25
-#: plugins/personal/posix/trust_machines.tpl:26
-msgid "Display systems of department"
-msgstr "Показать системы в подразделении"
-
-#: plugins/admin/ogroups/trust_machines.tpl:30
-#: plugins/admin/groups/trust_machines.tpl:29
-#: plugins/personal/posix/trust_machines.tpl:30
-msgid "Display systems matching"
-msgstr "Показать подходяшие системы"
-
-#: plugins/admin/ogroups/trust_machines.tpl:31
-#: plugins/admin/groups/trust_machines.tpl:30
-#: plugins/personal/posix/trust_machines.tpl:31
-msgid "Regular expression for matching addresses"
-msgstr "Регулярное выражение для поиска адреса"
-
-#: plugins/admin/groups/remove.tpl:6
-msgid ""
-"This may be a primary user group. Please double check if you really want to "
-"do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Возможно, это основная группа пользователей. Еще раз проверте что Вы "
-"действительно хотите удалить ее, так как GOsa не сможет отменить результаты "
-"этой операции."
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
+msgstr "Рабочая станция"
 
-#: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:541
-#: plugins/admin/users/user-list.xml:57
-#: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1375
-#: plugins/personal/generic/class_user.inc:1680
-#: plugins/personal/generic/class_user.inc:1831
-msgid "Given name"
-msgstr "Имя"
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+#, fuzzy
+msgid "Terminal"
+msgstr "Терминалы"
 
-#: plugins/admin/groups/userSelect/user-list.xml:48
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
-#: plugins/admin/users/user-list.xml:49
-#: plugins/personal/generic/class_user.inc:1679
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
 #, fuzzy
-msgid "Surname"
-msgstr "Имя сервера"
+msgid "Trust machine selection"
+msgstr "Настройки Samba"
 
-#: plugins/admin/groups/generic.tpl:14 plugins/personal/generic/generic.tpl:52
-#: plugins/personal/generic/generic.tpl:73
-#: plugins/personal/generic/generic.tpl:89
-msgid "Multiple edit"
-msgstr ""
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+#, fuzzy
+msgid "Group selection"
+msgstr "Настройки Samba"
 
-#: plugins/admin/groups/generic.tpl:17
-#: plugins/admin/groups/paste_generic.tpl:8
-msgid "Posix name of the group"
-msgstr "Имя группы, соответствующее стандарту POSIX"
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
+msgstr "Группа"
 
-#: plugins/admin/groups/generic.tpl:59
-#: plugins/admin/groups/paste_generic.tpl:13
-msgid "Normally IDs are autogenerated, select to specify manually"
-msgstr ""
-"Обычно идентификаторы создаются автоматически, но вы можете выбрать указание "
-"вручную"
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
+msgstr "Пользователь должен сменить пароль при первом входе в систему"
 
-#: plugins/admin/groups/generic.tpl:62
-#: plugins/admin/groups/paste_generic.tpl:15
-msgid "Force GID"
-msgstr "Указать GID вручную"
+#: plugins/personal/posix/posix_shadow.tpl:59
+#, fuzzy
+msgid "Password expiration settings"
+msgstr "Почтовые настройки пользователя"
 
-#: plugins/admin/groups/generic.tpl:65
-#: plugins/admin/groups/paste_generic.tpl:18
-msgid "Forced ID number"
-msgstr "Указанный вручную GID"
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
+msgstr "Срок действия пароля истекает"
 
-#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
-msgid "Select to create a samba conform group"
-msgstr "Создать группу для работы с Samba"
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
+#, fuzzy
+msgid "Generic settings"
+msgstr "Общая информация о пользователе"
 
-#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
-msgid "in domain"
-msgstr "в домене"
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+msgid "Shell"
+msgstr "Оболочка"
 
-#: plugins/admin/groups/generic.tpl:131
-msgid "Members are in a phone pickup group"
-msgstr "Члены телефонной группы"
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
+msgstr "Состояние"
 
-#: plugins/admin/groups/generic.tpl:146
+#: plugins/personal/posix/generic.tpl:42
 #, fuzzy
-msgid "Members are in a nagios group"
-msgstr "Члены телефонной группы"
-
-#: plugins/admin/groups/generic.tpl:236
-msgid "Group members"
-msgstr "Члены группы"
+msgid "Last log-on"
+msgstr "Список"
 
-#: plugins/admin/groups/generic.tpl:243
+#: plugins/personal/posix/generic.tpl:101
 #, fuzzy
-msgid "In all groups"
-msgstr "Основная группа"
+msgid "Common group"
+msgstr "Показать группы"
 
-#: plugins/admin/groups/generic.tpl:246
+#: plugins/personal/posix/generic.tpl:105
 #, fuzzy
-msgid "Not in all groups"
-msgstr "Показать группы с эл. почтой"
+msgid "Groups differ"
+msgstr "Группа пользователя"
 
-#: plugins/admin/groups/group-filter.tpl:11
-#: plugins/personal/posix/groupSelect/group-filter.tpl:11
-msgid "Show primary groups"
-msgstr "Показать основные группы"
+#: plugins/personal/posix/generic.tpl:125
+#, fuzzy
+msgid "Account permissions"
+msgstr "Настройки Samba"
 
-#: plugins/admin/groups/group-filter.tpl:12
-#: plugins/personal/posix/groupSelect/group-filter.tpl:12
-msgid "Show samba groups"
-msgstr "Показать группы samba"
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
+msgstr ""
 
-#: plugins/admin/groups/group-filter.tpl:13
-#: plugins/personal/posix/groupSelect/group-filter.tpl:13
-#, fuzzy
-msgid "Show mail groups"
-msgstr "Показать группы samba"
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
+msgstr ""
 
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:79
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:85
-#: setup/setup_ldap.tpl:78
-#, fuzzy
-msgid "Select user"
-msgstr "Удалить"
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
+msgstr ""
 
-#: plugins/admin/groups/paste_generic.tpl:1
+#: plugins/personal/posix/class_posixAccount.inc:38
 #, fuzzy
-msgid "Group settings"
-msgstr "Настройки Samba"
-
-#: plugins/admin/groups/group-list.xml:11
-msgid "List of groups"
-msgstr "Список групп"
+msgid "Edit users POSIX settings"
+msgstr "Атрибуты UNIX"
 
-#: plugins/admin/groups/group-list.xml:23
+#: plugins/personal/posix/class_posixAccount.inc:146
 #, fuzzy
-msgid "Group submenu entry"
-msgstr "Члены группы"
+msgid "expired"
+msgstr "Экспорт"
 
-#: plugins/admin/groups/group-list.xml:31
-#, fuzzy
-msgid "Group menu entry"
-msgstr "Члены группы"
+#: plugins/personal/posix/class_posixAccount.inc:148
+msgid "grace time active"
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:155
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
 #, fuzzy
-msgid "Edit group"
-msgstr "Основная группа"
+msgid "active"
+msgstr "Личный"
 
-#: plugins/admin/groups/group-list.xml:168
+#: plugins/personal/posix/class_posixAccount.inc:151
 #, fuzzy
-msgid "Remove group"
-msgstr "серверы"
+msgid "password not changeable"
+msgstr "Новый пароль"
 
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:1358
+#: plugins/personal/posix/class_posixAccount.inc:153
 #, fuzzy
-msgid "Cannot find group SID in your configuration!"
-msgstr "Не могу найти SID в базе LDAP или в сонфигурационном файле!"
-
-#: plugins/admin/groups/class_group.inc:400
-msgid "Samba group"
-msgstr "Группа Samba"
+msgid "password expired"
+msgstr "Срок действия пароля истекает"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain admins"
-msgstr "Администраторы домена"
+#: plugins/personal/posix/class_posixAccount.inc:226
+msgid "automatic"
+msgstr "автоматически"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain users"
-msgstr "Пользователи домена"
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr "Samba"
 
-#: plugins/admin/groups/class_group.inc:401
-msgid "Domain guests"
-msgstr "Непривилегированные пользователи домена"
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr "Окружение"
 
-#: plugins/admin/groups/class_group.inc:406
+#: plugins/personal/posix/class_posixAccount.inc:374
 #, php-format
-msgid "Special group (%d)"
-msgstr "Специальная группа (%d)"
+msgid "Password can't be changed up to %s days after last change"
+msgstr "Пароль нельзя изменить в течение %s дн. с последней смены (shadowMin)"
 
-#: plugins/admin/groups/class_group.inc:540
+#: plugins/personal/posix/class_posixAccount.inc:378
 #, php-format
-msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
-msgstr ""
+msgid "Password must be changed after %s days"
+msgstr "Пароль должен быть изменен по истечении %s дн. (shadowMax)"
 
-#: plugins/admin/groups/class_group.inc:546
-#, php-format
-msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+#: plugins/personal/posix/class_posixAccount.inc:382
+#, fuzzy, php-format
+msgid "Disable account after %s days of inactivity after password expiry"
 msgstr ""
+"Отключить учетную запись, если срок действия пароля истек и прошло %s дн. "
+"бездействия (shadowInactive)"
 
-#: plugins/admin/groups/class_group.inc:624
-#, fuzzy
-msgid "! unknown UID"
-msgstr "состояние неизвестно"
-
-#: plugins/admin/groups/class_group.inc:667
-#, php-format
-msgid "Search returned too many results. Not displaying more than %s entries!"
+#: plugins/personal/posix/class_posixAccount.inc:386
+#, fuzzy, php-format
+msgid "Warn user %s days before password expiry"
 msgstr ""
+"Предупреждать пользователей за %s дн. до истечения срока действия пароля "
+"(shadowWarning)"
 
-#: plugins/admin/groups/class_group.inc:894
-#, fuzzy, php-format
-msgid "Cannot find any SID for '%s'!"
-msgstr "Удалить"
+#: plugins/personal/posix/class_posixAccount.inc:651
+msgid "Timeout while waiting for lock. Ignoring lock!"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:899
-#, fuzzy, php-format
-msgid "Cannot find any RIDBASE for '%s'!"
-msgstr "Удалить"
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
+msgid "Group of user"
+msgstr "Группа пользователя"
 
-#: plugins/admin/groups/class_group.inc:994
-#, php-format
-msgid "The gidNumber '%s' is already in use by %s!"
+#: plugins/personal/posix/class_posixAccount.inc:774
+msgid ""
+"A duplicated UID number was written for this user. If this was not intended "
+"please verify all used uidNumbers!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1108
-#: plugins/admin/groups/class_group.inc:1187
-#: plugins/personal/posix/class_posixAccount.inc:1045
-#: plugins/personal/posix/class_posixAccount.inc:1048
-#: plugins/personal/posix/generic.tpl:74
-#: plugins/personal/posix/paste_generic.tpl:45
-msgid "GID"
-msgstr "GID"
-
-#: plugins/admin/groups/class_group.inc:1175
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
 #, fuzzy
-msgid "Generic group settings"
-msgstr "Общая информация о пользователе"
+msgid "shadowMin"
+msgstr "Затенение"
 
-#: plugins/admin/groups/class_group.inc:1189
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
 #, fuzzy
-msgid "Samba group type"
-msgstr "Группа Samba"
+msgid "shadowMax"
+msgstr "Затенение"
 
-#: plugins/admin/groups/class_group.inc:1190
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
 #, fuzzy
-msgid "Samba domain name"
-msgstr "Домашний каталог Samba"
+msgid "shadowWarning"
+msgstr "Затенение"
 
-#: plugins/admin/groups/class_group.inc:1192
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
 #, fuzzy
-msgid "Phone pickup group"
-msgstr "Члены телефонной группы"
+msgid "shadowInactive"
+msgstr "Затенение"
 
-#: plugins/admin/groups/class_group.inc:1193
+#: plugins/personal/posix/class_posixAccount.inc:1293
 #, fuzzy
-msgid "Nagios group"
-msgstr "Контакт"
+msgid "POSIX account"
+msgstr "Аккаунт FTP"
 
-#: plugins/admin/groups/class_group.inc:1195
+#: plugins/personal/posix/class_posixAccount.inc:1311
 #, fuzzy
-msgid "Group member"
-msgstr "Члены группы"
-
-#: plugins/admin/groups/class_groupManagement.inc:26
-msgid "Group administration"
-msgstr "Управление группами"
+msgid "Group ID"
+msgstr "Группа"
 
-#: plugins/admin/groups/class_groupManagement.inc:156
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:62
+#: plugins/personal/posix/class_posixAccount.inc:1313
 #, fuzzy
-msgid "Posix"
-msgstr "Прокси-сервер"
+msgid "Shadow last changed"
+msgstr "Показать телефоны"
 
-#: plugins/admin/groups/class_groupManagement.inc:157
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:63
+#: plugins/personal/posix/class_posixAccount.inc:1314
 #, fuzzy
-msgid "Edit posix properties"
-msgstr "Изменить свойства"
+msgid "Last login"
+msgstr "Список"
 
-#: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:879
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
+#: plugins/personal/posix/class_posixAccount.inc:1316
 #, fuzzy
-msgid "Edit mail properties"
-msgstr "Изменить свойства"
+msgid "Force password change on login"
+msgstr "Сменить пароль"
 
-#: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:883
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
+#: plugins/personal/posix/class_posixAccount.inc:1317
 #, fuzzy
-msgid "Edit samba properties"
-msgstr "Изменить свойства"
+msgid "Shadow min"
+msgstr "Затенение"
 
-#: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:899
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
+#: plugins/personal/posix/class_posixAccount.inc:1318
 #, fuzzy
-msgid "Edit phone properties"
-msgstr "Изменить свойства"
+msgid "Shadow max"
+msgstr "Затенение"
 
-#: plugins/admin/groups/class_groupManagement.inc:188
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:94
+#: plugins/personal/posix/class_posixAccount.inc:1319
 #, fuzzy
-msgid "Menu"
-msgstr "Принтер"
+msgid "Shadow warning"
+msgstr "Затенение"
 
-#: plugins/admin/groups/class_groupManagement.inc:189
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:95
+#: plugins/personal/posix/class_posixAccount.inc:1320
 #, fuzzy
-msgid "Edit start menu properties"
-msgstr "Изменить свойства"
+msgid "Shadow inactive"
+msgstr "Затенение"
 
-#: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:891
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
+#: plugins/personal/posix/class_posixAccount.inc:1321
 #, fuzzy
-msgid "Edit environment properties"
-msgstr "Изменить свойства"
+msgid "Shadow expire"
+msgstr "Показать людей"
 
-#: plugins/admin/users/remove.tpl:6 plugins/admin/acl/remove.tpl:6
-msgid ""
-"This includes all account data, system access rules, imap settings, etc. for "
-"this user. Please double check if your really want to do this since there is "
-"no way for GOsa to get your data back."
+#: plugins/personal/posix/class_posixAccount.inc:1322
+msgid "Public SSH key"
 msgstr ""
-"Сюда входит вся информация об учетной записи этого пользователя, его права "
-"доступа в системе, настройки IMAP и т. д. Подумайте еще раз, действительно "
-"ли вам нужно удаление, так как GOsa не сможет отменить результаты этой "
-"операции."
 
-#: plugins/admin/users/password.tpl:4
+#: plugins/personal/posix/class_posixAccount.inc:1323
 #, fuzzy
-msgid ""
-"To change the user password use the fields below. The changes take effect "
-"immediately. Please memorize the new password, because the user wouldn't be "
-"able to login without it."
-msgstr ""
-"В полях ниже вы можете изменить пароль выбранного пользователя. Изменения "
-"вступят в силу немедленно. Пожалуйста, запомните новый пароль, так как иначе "
-"пользователь не сможет войти в систему."
+msgid "System trust model"
+msgstr "Системные доверия"
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/generic/password.tpl:8
-#: plugins/personal/password/password.tpl:8
-#, fuzzy
-msgid ""
-"Changing the password affects your authentification on mail, proxy, samba "
-"and unix services."
-msgstr ""
-"Изменение пароля влияет на аутентификацию при использовании почты, прокси-"
-"сервера, Samba и служб UNIX."
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr "отключен"
 
-#: plugins/admin/users/password.tpl:21 plugins/admin/users/password.tpl:57
-#: plugins/personal/generic/password.tpl:27
-#: plugins/personal/generic/password.tpl:70
-#: plugins/personal/password/password.tpl:32
-#: plugins/personal/password/password.tpl:75
-msgid "Repeat new password"
-msgstr "Подтверждение"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr "полный доступ"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr "разрешить доступ только на эти хосты"
 
-#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr "Системные доверия"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
 #, fuzzy
-msgid "Strength"
-msgstr "Улица"
+msgid "Trust mode"
+msgstr "Режим"
 
-#: plugins/admin/users/password.tpl:35
+#: plugins/personal/password/password.tpl:10
 #, fuzzy
-msgid "Password input dialog"
-msgstr "Пароль"
+msgid "Your Password has expired. Please choose a new password."
+msgstr "У вас недостаточно прав для смены своего пароля."
 
-#: plugins/admin/users/password.tpl:39
-#: plugins/personal/generic/password.tpl:51
-#: plugins/personal/password/password.tpl:56
+#: plugins/personal/password/class_password.inc:27
 #, fuzzy
-msgid "Use proposal"
-msgstr "группы"
+msgid "Change user password"
+msgstr "Сменить пароль"
 
-#: plugins/admin/users/password.tpl:43
-#: plugins/personal/generic/password.tpl:55
-#: plugins/personal/password/password.tpl:60 setup/setup_migrate.tpl:470
-#: setup/setup_migrate.tpl:513 setup/setup_migrate.tpl:557
+#: plugins/personal/password/class_password.inc:156
+msgid ""
+"The password you've entered as your current password doesn't match the real "
+"one."
+msgstr "Введенный вами текущий пароль не совпадает с реальным."
+
+#: plugins/personal/password/class_password.inc:159
 #, fuzzy
-msgid "Refresh"
-msgstr "Ссылки"
+msgid "You have no permission to change your password."
+msgstr "У вас недостаточно прав для смены своего пароля."
 
-#: plugins/admin/users/password.tpl:49
-#: plugins/personal/generic/password.tpl:61
-#: plugins/personal/password/password.tpl:66
+#: plugins/personal/password/class_password.inc:223
 #, fuzzy
-msgid "Manually specify a password"
-msgstr "Введите свой пароль!"
+msgid "User password"
+msgstr "Новый пароль"
+
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
+msgstr ""
 
-#: plugins/admin/users/password.tpl:77
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr "Сертификаты"
+
+#: plugins/personal/generic/generic_certs.tpl:5
 #, fuzzy
-msgid "Enforce password change on next login."
-msgstr "Сменить пароль"
+msgid "The users standard certificate"
+msgstr "Стандартный сертификат"
 
-#: plugins/admin/users/password.tpl:84
-#: plugins/personal/generic/password.tpl:88
-#: plugins/personal/password/password.tpl:93
-msgid "Set password"
-msgstr "Изменить пароль"
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr "Стандартный сертификат"
 
-#: plugins/admin/users/template.tpl:2
-msgid "Creating a new user using templates"
-msgstr "Создание пользователя на основе шаблона"
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr "Удалить"
 
-#: plugins/admin/users/template.tpl:6
+#: plugins/personal/generic/generic_certs.tpl:31
 #, fuzzy
-msgid ""
-"Creating a new user can be assisted by using templates. Many database "
-"records will be filled automatically. Choose 'none' to skip the usage of "
-"templates."
-msgstr ""
-"Можно создавать пользователей на основе шаблонов. При этом многие поля в "
-"базе данных будут заполнены автоматически. Выберите <b>нет</b>, чтобы не "
-"использовать шаблоны."
+msgid "The users S/MIME certificate"
+msgstr "Сертификат S/MIME"
+
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr "Сертификат S/MIME"
+
+#: plugins/personal/generic/generic_certs.tpl:57
+#, fuzzy
+msgid "The users PKCS12 certificate"
+msgstr "Сертификат PKCS12"
+
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr "Сертификат PKCS12"
+
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr "Серийный номер сертификата"
 
-#: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:535
-#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
-#: plugins/admin/users/templatize.tpl:15
-msgid "Template"
-msgstr "Шаблон"
+#: plugins/personal/generic/paste_generic.tpl:3
+#, fuzzy
+msgid "Paste user"
+msgstr "Дата"
+
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr "Личная информация"
 
-#: plugins/admin/users/template.tpl:23 plugins/personal/generic/generic.tpl:49
-#: plugins/personal/generic/paste_generic.tpl:7
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
 #, fuzzy
 msgid "Last name"
 msgstr "Список"
 
-#: plugins/admin/users/template.tpl:27 plugins/personal/generic/generic.tpl:69
-#: plugins/personal/generic/paste_generic.tpl:11
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
 #, fuzzy
 msgid "First name"
 msgstr "Список"
 
-#: plugins/admin/users/class_userManagement.inc:26
+#: plugins/personal/generic/paste_generic.tpl:24
 #, fuzzy
-msgid "Manage users"
-msgstr "Пользователи домена"
+msgid "Clear password"
+msgstr "Новый пароль"
 
-#: plugins/admin/users/class_userManagement.inc:391
+#: plugins/personal/generic/paste_generic.tpl:25
 #, fuzzy
-msgid "You have no permission to change this users password!"
-msgstr "У вас недостаточно прав для смены своего пароля."
+msgid "Set new password"
+msgstr "Изменить пароль"
 
-#: plugins/admin/users/class_userManagement.inc:782
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
 #, fuzzy
-msgid "Account locking"
-msgstr "Учетная запись"
+msgid "The users picture"
+msgstr "Изображение"
 
-#: plugins/admin/users/class_userManagement.inc:783
-#, php-format
-msgid ""
-"Password method '%s' does not support locking. Account (%s) has not been "
-"locked!"
-msgstr ""
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
+msgstr "Удалить изображение"
 
-#: plugins/admin/users/class_userManagement.inc:856
+#: plugins/personal/generic/class_user.inc:38
 #, fuzzy
-msgid "Unlock account"
-msgstr "Моя учетная запись"
+msgid "Edit organizational user settings"
+msgstr "Дополнительные записи в fstab"
 
-#: plugins/admin/users/class_userManagement.inc:858
-#, fuzzy
-msgid "Lock account"
-msgstr "Моя учетная запись"
+#: plugins/personal/generic/class_user.inc:297
+msgid "Please add a single IP address or a network/net mask combination!"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:871
-#, fuzzy
-msgid "Edit generic properties"
-msgstr "Изменить свойства"
+#: plugins/personal/generic/class_user.inc:339
+msgid "female"
+msgstr "женский"
 
-#: plugins/admin/users/class_userManagement.inc:874
-#: plugins/personal/posix/class_posixAccount.inc:304
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/class_posixAccount.inc:326
-#: plugins/personal/posix/class_posixAccount.inc:329
-msgid "POSIX"
-msgstr ""
+#: plugins/personal/generic/class_user.inc:339
+msgid "male"
+msgstr "мужской"
 
-#: plugins/admin/users/class_userManagement.inc:875
+#: plugins/personal/generic/class_user.inc:395
 #, fuzzy
-msgid "Edit POSIX properties"
-msgstr "Изменить свойства"
+msgid "Password configuration"
+msgstr "Системная информация"
 
-#: plugins/admin/users/class_userManagement.inc:886
-msgid "Netatalk"
+#: plugins/personal/generic/class_user.inc:429
+msgid "Cannot upload file!"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:887
+#: plugins/personal/generic/class_user.inc:522
 #, fuzzy
-msgid "Edit netatalk properties"
-msgstr "Изменить свойства"
+msgid "Serial number"
+msgstr "Телефонные номера"
 
-#: plugins/admin/users/class_userManagement.inc:895
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
 #, fuzzy
-msgid "Edit FAX properties"
-msgstr "Изменить свойства"
+msgid "User picture"
+msgstr "Изображение"
 
-#: plugins/admin/users/user-list.xml:11
-msgid "List of users"
-msgstr "Список пользователей"
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
+msgstr ""
 
-#: plugins/admin/users/user-list.xml:140
-#, fuzzy
-msgid "Lock users"
-msgstr "Список пользователей"
+#: plugins/personal/generic/class_user.inc:579
+#, php-format
+msgid "Certificate is valid from %s to %s and is currently %s."
+msgstr ""
 
-#: plugins/admin/users/user-list.xml:148
-#, fuzzy
-msgid "Unlock users"
-msgstr "Пользователи домена"
+#: plugins/personal/generic/class_user.inc:582
+msgid "valid"
+msgstr ""
 
-#: plugins/admin/users/user-list.xml:167
-#, fuzzy
-msgid "Apply template"
-msgstr "Шаблон"
+#: plugins/personal/generic/class_user.inc:583
+msgid "invalid"
+msgstr ""
 
-#: plugins/admin/users/user-list.xml:199
+#: plugins/personal/generic/class_user.inc:588
 #, fuzzy
-msgid "New user from template"
-msgstr "Создать шаблон"
+msgid "No certificate installed"
+msgstr "Изменить сертификаты"
 
-#: plugins/admin/users/user-list.xml:213
+#: plugins/personal/generic/class_user.inc:614
 #, fuzzy
-msgid "Edit user"
-msgstr "Пользователи домена"
+msgid "The selected password method is no longer available."
+msgstr "У выбранного приложения нет параметров."
 
-#: plugins/admin/users/user-list.xml:222
-msgid "%{filter:lockLabel(userPassword)}"
+#: plugins/personal/generic/class_user.inc:1051
+msgid ""
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:245
-#, fuzzy
-msgid "Remove user"
-msgstr "Удалить изображение"
+#: plugins/personal/generic/class_user.inc:1177
+msgid "Cannot build RDN: no + allowed to build sub RDN!"
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:11
-msgid "Show templates"
-msgstr "Показать шаблоны"
+#: plugins/personal/generic/class_user.inc:1184
+msgid "Cannot build RDN: attribute is not defined!"
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:12
-#, fuzzy
-msgid "Show functional users"
-msgstr "Показать обычных пользователей"
+#: plugins/personal/generic/class_user.inc:1202
+msgid "Cannot build RDN: invalid attribute parameters!"
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:13
+#: plugins/personal/generic/class_user.inc:1273
 #, fuzzy
-msgid "Show POSIX users"
-msgstr "Атрибуты UNIX"
+msgid "The selected password method requires initial configuration!"
+msgstr "У выбранного приложения нет параметров."
 
-#: plugins/admin/users/user-filter.tpl:14
-#, fuzzy
-msgid "Show Mail users"
-msgstr "Показать пользователей с почтой"
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
+msgid "Homepage"
+msgstr "Домашняя страница"
 
-#: plugins/admin/users/user-filter.tpl:15
-#, fuzzy
-msgid "Show Samba users"
-msgstr "Показать пользователей с почтой"
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
+msgstr "Телефон"
 
-#: plugins/admin/users/templatize.tpl:2
-#, fuzzy
-msgid "Applying a template"
-msgstr "Шаблон"
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
+msgstr "Факс"
 
-#: plugins/admin/users/templatize.tpl:6
-msgid ""
-"Applying a template to several users will replace all user attributes "
-"defined in the template."
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
+msgid "Mobile"
+msgstr "Мобильный"
 
-#: plugins/admin/users/templatize.tpl:33
-msgid "No templates available!"
-msgstr ""
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
+msgid "Pager"
+msgstr "Пейджер"
 
-#: plugins/admin/departments/remove.tpl:6
+#: plugins/personal/generic/class_user.inc:1483
 #, fuzzy
-msgid ""
-"This includes 'all' accounts, systems, etc. in this subtree. Please double "
-"check if your really want to do this since there is no way for GOsa to get "
-"your data back."
-msgstr ""
-"Это включает <b>все</b> учетные записи, системы и т.п. для данного "
-"подразделения. Подумайте еще раз, действительно ли вы хотите его удалить, "
-"так как GOsa не сможет отменить результаты этой операции."
+msgid "Cannot open certificate!"
+msgstr "Невозможно выбрать базу данных!"
 
-#: plugins/admin/departments/remove.tpl:10
-#, fuzzy
-msgid ""
-"Best thing to do before performing this action would be to save the current "
-"contents of your LDAP tree in a file. So - if you've done so - press "
-"'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-"Лучше всего перед удалением сохранить резервную копию текущего дерева LDAP в "
-"файл. Если вы сделали это и действительно хотите выполнить удаление, нажмите "
-"<i>Удалить</i>, иначе нажмите <i>Отмена</i>."
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
+msgid "Unit"
+msgstr "Подразделение"
 
-#: plugins/admin/departments/dep-list.xml:11
-msgid "List of departments"
-msgstr "Список подразделений"
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
+msgid "House identifier"
+msgstr "Номер дома"
 
-#: plugins/admin/departments/dep-list.xml:15
-#: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:189
-#, fuzzy
-msgid "Domain"
-msgstr "в домене"
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
+msgid "Vocation"
+msgstr "Специальность"
 
-#: plugins/admin/departments/dep-list.xml:23
-#: plugins/admin/departments/dep-list.xml:110
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
+msgid "Last delivery"
+msgstr "Последняя доставка"
+
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
+msgid "Person locality"
+msgstr "Местоположение сотрудника"
+
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
+msgid "Unit description"
+msgstr "Описание подразделения"
+
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
+msgid "Subject area"
+msgstr "Область деятельности"
+
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
+msgid "Functional title"
+msgstr "Должность"
+
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
+msgstr "Роль"
+
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
+msgid "Postal code"
+msgstr "Почтовый индекс"
+
+#: plugins/personal/generic/class_user.inc:1671
 #, fuzzy
-msgid "Domain component"
-msgstr "Администраторы домена"
+msgid "Generic user settings"
+msgstr "Общая информация о пользователе"
 
-#: plugins/admin/departments/dep-list.xml:31
-#: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_countryGeneric.inc:82
-#: plugins/admin/departments/class_countryGeneric.inc:83
-msgid "Country"
-msgstr "Страна"
+#: plugins/personal/generic/class_user.inc:1692
+msgid ""
+"Pattern for the generation of user DNs. Please read the FAQ for details."
+msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:39
-#: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_localityGeneric.inc:82
-#: plugins/admin/departments/class_localityGeneric.inc:83
+#: plugins/personal/generic/class_user.inc:1706
 #, fuzzy
-msgid "Locality"
-msgstr "Местоположение"
+msgid "Allow definition of custom filters"
+msgstr "Настроить"
 
-#: plugins/admin/departments/dep-list.xml:47
-#: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:237
-#: plugins/admin/departments/class_organizationGeneric.inc:113
-#: plugins/admin/departments/class_organizationGeneric.inc:114
-#: plugins/personal/generic/class_user.inc:1694
-#: plugins/personal/generic/generic.tpl:299 setup/setup_feedback.tpl:23
-msgid "Organization"
-msgstr "Организация"
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
+msgid "Sex"
+msgstr "Пол"
 
-#: plugins/admin/departments/locality.tpl:11
-#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
 #, fuzzy
-msgid "Locality name"
-msgstr "Местоположение"
+msgid "Preferred language"
+msgstr "Язык по умолчанию"
 
-#: plugins/admin/departments/locality.tpl:14
-#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/personal/generic/class_user.inc:1718
 #, fuzzy
-msgid "Name of locality to create"
-msgstr "Имя создаваемой ветки"
+msgid "Login restrictions"
+msgstr "Срок действия пароля истекает"
 
-#: plugins/admin/departments/locality.tpl:22
-#: plugins/admin/departments/domain.tpl:22
-#: plugins/admin/departments/country.tpl:22
-#: plugins/admin/departments/dcObject.tpl:22
-#: plugins/admin/departments/organization.tpl:22
-msgid "Descriptive text for department"
-msgstr "Описание подразделения"
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
+msgstr "Подразделение"
 
-#: plugins/admin/departments/locality.tpl:39
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
+#: plugins/admin/departments/class_domain.inc:93
+#: plugins/admin/departments/class_organizationGeneric.inc:127
 #: plugins/admin/departments/generic.tpl:51
-#: plugins/admin/departments/class_domain.inc:93
+#: plugins/admin/departments/locality.tpl:39
 #: plugins/admin/departments/class_localityGeneric.inc:93
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_countryGeneric.inc:93
 #: plugins/admin/departments/class_dcObject.inc:92
 #: plugins/admin/departments/domain.tpl:39
-#: plugins/admin/departments/country.tpl:39
-#: plugins/admin/departments/dcObject.tpl:39
-#: plugins/admin/departments/class_department.inc:675
-#: plugins/admin/departments/organization.tpl:51
-#: plugins/personal/generic/class_user.inc:1697
-#: plugins/personal/generic/generic.tpl:340
-#: plugins/personal/generic/generic.tpl:361
 #, fuzzy
 msgid "Manager"
 msgstr "Пользователи домена"
 
-#: plugins/admin/departments/locality.tpl:67
-#: plugins/admin/departments/generic.tpl:132
-#: plugins/admin/departments/class_domain.inc:94
-#: plugins/admin/departments/class_localityGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:135
-#: plugins/admin/departments/class_countryGeneric.inc:95
-#: plugins/admin/departments/class_dcObject.inc:94
-#: plugins/admin/departments/domain.tpl:67
-#: plugins/admin/departments/country.tpl:67
-#: plugins/admin/departments/dcObject.tpl:67
-#: plugins/admin/departments/class_department.inc:677
-#: plugins/admin/departments/organization.tpl:131
+#: plugins/personal/generic/class_user.inc:1727
 #, fuzzy
-msgid "Administrative settings"
-msgstr "Администрирование"
-
-#: plugins/admin/departments/locality.tpl:69
-#: plugins/admin/departments/generic.tpl:134
-#: plugins/admin/departments/domain.tpl:69
-#: plugins/admin/departments/country.tpl:69
-#: plugins/admin/departments/dcObject.tpl:69
-#: plugins/admin/departments/organization.tpl:133
-msgid "Tag department as an independent administrative unit"
-msgstr ""
-
-#: plugins/admin/departments/generic.tpl:11
-msgid "Name of department"
-msgstr "Подразделение"
-
-#: plugins/admin/departments/generic.tpl:14
-msgid "Name of subtree to create"
-msgstr "Имя создаваемой ветки"
+msgid "Room number"
+msgstr "Телефонные номера"
 
-#: plugins/admin/departments/generic.tpl:22
+#: plugins/personal/generic/class_user.inc:1728
 #, fuzzy
-msgid "Descriptive text for   department"
-msgstr "Описание подразделения"
+msgid "Telephone number"
+msgstr "Телефонные номера"
 
-#: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:667
-#: plugins/admin/departments/organization.tpl:27
-msgid "Category"
-msgstr "Категория"
+#: plugins/personal/generic/class_user.inc:1729
+#, fuzzy
+msgid "Pager number"
+msgstr "Телефонные номера"
 
-#: plugins/admin/departments/generic.tpl:30
-#: plugins/admin/departments/organization.tpl:30
-msgid "Category for this subtree"
-msgstr "Категория этой ветки"
+#: plugins/personal/generic/class_user.inc:1730
+#, fuzzy
+msgid "Mobile number"
+msgstr "Домашний телефон"
 
-#: plugins/admin/departments/generic.tpl:79
-#: plugins/admin/departments/generic.tpl:91
-#: plugins/admin/departments/class_localityGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:130
-#: plugins/admin/departments/class_department.inc:671
-#: plugins/admin/departments/organization.tpl:78
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1708
-#: plugins/personal/generic/generic.tpl:441
-msgid "Location"
-msgstr "Местоположение"
+#: plugins/personal/generic/class_user.inc:1731
+#, fuzzy
+msgid "Fax number"
+msgstr "Терминал"
 
-#: plugins/admin/departments/generic.tpl:83
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
 #: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_department.inc:670
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1707
-#: plugins/personal/generic/generic.tpl:449
+#: plugins/admin/departments/generic.tpl:87
 msgid "State"
 msgstr "Адм. единица"
 
-#: plugins/admin/departments/generic.tpl:86
-#: plugins/admin/departments/organization.tpl:85
-msgid "State where this subtree is located"
-msgstr "Адм. единица, в которой находится ветка"
+#: plugins/personal/generic/class_user.inc:1735
+#: plugins/personal/generic/generic.tpl:183
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+#, fuzzy
+msgid "Postal address"
+msgstr "Почтовый индекс"
 
-#: plugins/admin/departments/generic.tpl:94
-#: plugins/admin/departments/organization.tpl:93
-msgid "Location of this subtree"
-msgstr "Местоположение ветки"
+#: plugins/personal/generic/class_user.inc:1740
+#, fuzzy
+msgid "User password method"
+msgstr "Хэширование паролей"
 
-#: plugins/admin/departments/generic.tpl:99
-#: plugins/admin/departments/class_department.inc:672
-#: plugins/admin/departments/organization.tpl:98
-#: plugins/personal/generic/generic.tpl:183
-#: plugins/personal/generic/generic.tpl:457
+#: plugins/personal/generic/class_user.inc:1741
+#, fuzzy
+msgid "User certificates"
+msgstr "Стандартный сертификат"
+
+#: plugins/personal/generic/class_user.inc:1949
+#, fuzzy
+msgid "Entries differ"
+msgstr "Группа пользователя"
+
+#: plugins/personal/generic/generic.tpl:21
+msgid "Change picture"
+msgstr "Сменить изображение"
+
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
+msgstr ""
+
+#: plugins/personal/generic/generic.tpl:83
+#, fuzzy
+msgid "Template name"
+msgstr "Шаблон"
+
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
 msgid "Address"
 msgstr "Адрес"
 
-#: plugins/admin/departments/generic.tpl:102
-#: plugins/admin/departments/organization.tpl:101
-msgid "Postal address of this subtree"
-msgstr "Почтовый адрес для ветки"
+#: plugins/personal/generic/generic.tpl:193
+msgid "Private phone"
+msgstr "Личный телефон"
 
-#: plugins/admin/departments/generic.tpl:109
-#: plugins/admin/departments/organization.tpl:108
-msgid "Base telephone number of this subtree"
-msgstr "Основный телефонный номер для ветки"
+#: plugins/personal/generic/generic.tpl:209
+msgid "Password storage"
+msgstr "Хэширование паролей"
 
-#: plugins/admin/departments/generic.tpl:114
-#: plugins/admin/departments/class_organizationGeneric.inc:133
-#: plugins/admin/departments/class_department.inc:373
-#: plugins/admin/departments/class_department.inc:674
-#: plugins/admin/departments/organization.tpl:113
-#: plugins/personal/generic/class_user.inc:1359
-#: plugins/personal/generic/class_user.inc:1822
-#: plugins/personal/generic/generic.tpl:423
-#: plugins/personal/generic/generic.tpl:591
-msgid "Fax"
-msgstr "Факс"
+#: plugins/personal/generic/generic.tpl:229
+msgid "Edit certificates"
+msgstr "Изменить сертификаты"
 
-#: plugins/admin/departments/generic.tpl:117
-#: plugins/admin/departments/organization.tpl:116
-msgid "Base facsimile telephone number of this subtree"
-msgstr "Основный номер факса для ветки"
+#: plugins/personal/generic/generic.tpl:241
+msgid "Restrict login to"
+msgstr ""
 
-#: plugins/admin/departments/class_domain.inc:81
-#: plugins/admin/departments/class_domain.inc:82
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_dcObject.inc:81
-#: plugins/admin/departments/class_dcObject.inc:82
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
+msgid "IP or network"
+msgstr ""
+
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "Organizational information"
+msgstr "Информация об организации"
+
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
 #, fuzzy
-msgid "Domain Component"
-msgstr "Администраторы домена"
+msgid "part"
+msgstr "Запуск"
 
-#: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:657
-#: plugins/admin/departments/class_department.inc:662
-msgid "Departments"
-msgstr "Подразделения"
+#: plugins/personal/generic/generic.tpl:314
+msgid "Department No."
+msgstr "Номер подразделения"
 
-#: plugins/admin/departments/class_departmentManagement.inc:26
+#: plugins/personal/generic/generic.tpl:322
+msgid "Employee No."
+msgstr "Номер работника"
+
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
+msgid "Room No."
+msgstr "Номер комнаты"
+
+#: plugins/personal/generic/generic.tpl:580
+msgid "Please use the phone tab"
+msgstr "Воспользуйтесь закладкой \"Телефон\""
+
+#: plugins/addons/dyngroup/dyngroup.tpl:1
 #, fuzzy
-msgid "Manage Departments"
-msgstr "Подразделения"
+msgid "List of dynamic rules"
+msgstr "Список групп"
 
-#: plugins/admin/departments/class_departmentManagement.inc:122
-msgid ""
-"As soon as the tag operation has finished, you can scroll down to end of the "
-"page and    press the 'Continue' button to continue with the department "
-"management dialog."
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:122
+#: plugins/addons/dyngroup/dyngroup.tpl:6
+msgid "Scope"
+msgstr ""
+
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
 #, fuzzy
-msgid "Organization name"
-msgstr "Организация"
+msgid "Attribute"
+msgstr "Атрибут DN пользователей"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:131
-#: plugins/personal/generic/class_user.inc:1709
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
 #, fuzzy
-msgid "Postal address"
-msgstr "Почтовый индекс"
+msgid "Filter"
+msgstr "Фильтры"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
+#, php-format
+msgid "The given filter '%s' for entry %s seems to be invalid!"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
 #, fuzzy
-msgid "Phone number"
-msgstr "Телефонные номера"
+msgid "Dynamic object"
+msgstr "Объект"
 
-#: plugins/admin/departments/class_countryGeneric.inc:91
-#: plugins/admin/departments/country.tpl:11
+#: plugins/addons/propertyEditor/property-filter.xml:15
 #, fuzzy
-msgid "Country name"
-msgstr "Страна"
+msgid "Effective properties"
+msgstr "Изменить свойства"
 
-#: plugins/admin/departments/domain.tpl:11
+#: plugins/addons/propertyEditor/property-filter.xml:29
 #, fuzzy
-msgid "Domain name"
-msgstr "Администраторы домена"
+msgid "Modified properties"
+msgstr "Изменить свойства"
 
-#: plugins/admin/departments/domain.tpl:14
+#: plugins/addons/propertyEditor/property-filter.xml:43
 #, fuzzy
-msgid "Name of domain to create"
-msgstr "Имя создаваемой ветки"
+msgid "All properties"
+msgstr "Изменить свойства"
 
-#: plugins/admin/departments/country.tpl:14
+#: plugins/addons/propertyEditor/property-filter.xml:57
 #, fuzzy
-msgid "Name of country to create"
-msgstr "Имя создаваемой ветки"
+msgid "LDAP properties"
+msgstr "Свойства"
 
-#: plugins/admin/departments/class_department.inc:433
-msgid "Cannot find an unused tag for this administrative unit!"
+#: plugins/addons/propertyEditor/property-filter.xml:71
+#, fuzzy
+msgid "Search for property groups"
+msgstr "Показать основные группы"
+
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:504
-#, php-format
-msgid "Tagging '%s'."
+#: plugins/addons/propertyEditor/migrate.tpl:3
+#, fuzzy
+msgid "Migration steps left"
+msgstr "Дата"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
+#, fuzzy, php-format
+msgid "Migration of property '%s'"
+msgstr "Дата"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
+#, fuzzy, php-format
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
+msgstr "Вы собираетесь удалить объект %s."
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
+msgid "Objects that will be added"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:585
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+msgid "Objects that will be moved"
+msgstr ""
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
+#, fuzzy, php-format
+msgid "Moving object '%s' to '%s'"
+msgstr "Список подразделений"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
 #, php-format
-msgid "Moving '%s' to '%s'"
+msgid "Migration failed for object %s: DN already exists!"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:626
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
 #, php-format
-msgid "FAILED to copy %s, aborting operation"
+msgid "Migration failed for object %s: please check if it already exists!"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:665
+#: plugins/addons/propertyEditor/property-list.tpl:3
 #, fuzzy
-msgid "Department name"
-msgstr "Управление подразделениями"
-
-#: plugins/admin/departments/class_department.inc:673
-msgid "Telephone"
-msgstr "Телефон"
+msgid "Warning message"
+msgstr "Домашняя страница"
 
-#: plugins/admin/departments/class_department.inc:728
-#, php-format
-msgid "Object '%s' is already tagged"
+#: plugins/addons/propertyEditor/property-list.tpl:9
+msgid ""
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:735
-#, php-format
-msgid "Adding tag (%s) to object '%s'"
+#: plugins/addons/propertyEditor/property-list.tpl:10
+msgid ""
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
 msgstr ""
 
-#: plugins/admin/departments/class_department.inc:767
-#, php-format
-msgid "Removing tag from object '%s'"
+#: plugins/addons/propertyEditor/property-list.tpl:14
+msgid ""
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
 msgstr ""
 
-#: plugins/admin/departments/dep_iframe.tpl:1
-msgid "Processing the requested operation"
+#: plugins/addons/propertyEditor/property-list.tpl:22
+msgid ""
+"I understand that there are certain risks, but I want to modify properties!"
 msgstr ""
 
-#: plugins/admin/departments/dep_iframe.tpl:7
-msgid ""
-"Your browser doesn't support iframes, please use this link to perform the "
-"requested operation."
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
 msgstr ""
 
-#: plugins/admin/departments/organization.tpl:11
-#, fuzzy
-msgid "Name of organization"
-msgstr "Организация"
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
+msgstr ""
 
-#: plugins/admin/departments/organization.tpl:14
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
 #, fuzzy
-msgid "Name of organization to create"
-msgstr "Имя создаваемой ветки"
+msgid "Command verifier"
+msgstr "и"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#, fuzzy
-msgid "You are currently moving/renaming this department."
-msgstr "У вас недостаточно прав для удаления этого подразделения."
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
+msgid ""
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
+msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:5
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
 msgid ""
-"Modifying a departments naming attribute 'ou' or base may corrupt acls and "
-"snapshot entries for all entire objects."
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:8
-msgid "GOsa can NOT fix this for you, yet."
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:11
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
+#, fuzzy
+msgid "Test"
+msgstr "Таймаут (с)"
+
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
+msgstr ""
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
+#, fuzzy
+msgid "Preferences"
+msgstr "Ссылки"
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
 msgid ""
-"Before you confirm this action, ensure that everything will be as expected, "
-"possibly the best solution is a backup."
+"Configure global and special GOsa settings like hooks and plug-in parameters"
 msgstr ""
 
-#: plugins/admin/acl/class_aclManagement.inc:25
-#: plugins/admin/acl/acl-list.xml:15
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
 #, fuzzy
-msgid "Acl"
-msgstr "Все"
+msgid "No description"
+msgstr "Описание подразделения"
 
-#: plugins/admin/acl/class_aclManagement.inc:154
-#, fuzzy
-msgid "ACL Assignment"
-msgstr "Управление подразделениями"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
+msgstr ""
 
-#: plugins/admin/acl/tabs_acl_role.inc:28
+#: plugins/addons/propertyEditor/property-list.xml:11
 #, fuzzy
-msgid "ACL Templates"
-msgstr "Шаблон"
+msgid "List of configuration settings"
+msgstr "Почтовые настройки пользователя"
 
-#: plugins/admin/acl/class_aclRole.inc:26
-#: plugins/admin/acl/class_aclRole.inc:726
+#: plugins/addons/propertyEditor/property-list.xml:15
 #, fuzzy
-msgid "Access control roles"
-msgstr "Параметры доступа"
+msgid "Property not used"
+msgstr "Группа пользователя"
 
-#: plugins/admin/acl/class_aclRole.inc:27
-#, fuzzy
-msgid "Edit AC roles"
-msgstr "Доступ"
+#: plugins/addons/propertyEditor/property-list.xml:23
+msgid "Property will be restored"
+msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:134
+#: plugins/addons/propertyEditor/property-list.xml:31
 #, fuzzy
-msgid "Reset ACL"
-msgstr "Удалить"
+msgid "Modified property"
+msgstr "Личная информация"
 
-#: plugins/admin/acl/class_aclRole.inc:418
+#: plugins/addons/propertyEditor/property-list.xml:39
 #, fuzzy
-msgid "No ACL settings for this category"
-msgstr "Описание группы"
+msgid "Property configured in LDAP"
+msgstr "Настроить"
 
-#: plugins/admin/acl/class_aclRole.inc:420
-#, fuzzy, php-format
-msgid "ACL for these objects: %s"
-msgstr "Описание группы"
+#: plugins/addons/propertyEditor/property-list.xml:47
+#, fuzzy
+msgid "Property configured in config file"
+msgstr "Настроить"
 
-#: plugins/admin/acl/class_aclRole.inc:426
+#: plugins/addons/propertyEditor/property-list.xml:80
 #, fuzzy
-msgid "Edit category ACL"
-msgstr "Список систем"
+msgid "Class"
+msgstr "Выбрать"
 
-#: plugins/admin/acl/class_aclRole.inc:430
+#: plugins/addons/propertyEditor/property-list.xml:88
 #, fuzzy
-msgid "Reset category ACL"
-msgstr "Категория"
+msgid "Value"
+msgstr "мужской"
 
-#: plugins/admin/acl/class_aclRole.inc:450
-#, php-format
-msgid "Edit ACL for '%s', scope is '%s'"
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:646
+#: plugins/admin/groups/paste_generic.tpl:1
 #, fuzzy
-msgid "Object in use"
-msgstr "Имя объекта"
+msgid "Group settings"
+msgstr "Настройки Samba"
 
-#: plugins/admin/acl/class_aclRole.inc:646
-#, php-format
-msgid "This role cannot be removed while it is in use by these objects:"
-msgstr ""
+#: plugins/admin/groups/paste_generic.tpl:2
+#, fuzzy
+msgid "Paste group settings"
+msgstr "Настройки Samba"
 
-#: plugins/admin/acl/class_aclRole.inc:725 plugins/admin/acl/acl-list.xml:23
-#: plugins/admin/acl/acl-list.xml:82
-#: plugins/personal/generic/class_user.inc:1664
-#: plugins/personal/generic/generic.tpl:508
-msgid "Role"
-msgstr "Роль"
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
+msgstr "Группа"
 
-#: plugins/admin/acl/class_aclRole.inc:736
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
 #, fuzzy
-msgid "Permissions"
-msgstr "Права для членов группы"
+msgid "POSIX name of the group"
+msgstr "Имя группы, соответствующее стандарту POSIX"
 
-#: plugins/admin/acl/acl-list.xml:11
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
 #, fuzzy
-msgid "List of acls"
-msgstr "Список групп"
+msgid "Normally IDs are auto-generated, select to specify manually"
+msgstr ""
+"Обычно идентификаторы создаются автоматически, но вы можете выбрать указание "
+"вручную"
 
-#: plugins/admin/acl/acl-filter.tpl:11
-#, fuzzy
-msgid "Show access control lists"
-msgstr "Параметры доступа"
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
+msgstr "Указать GID вручную"
 
-#: plugins/admin/acl/acl-filter.tpl:12
-#, fuzzy
-msgid "Show roles"
-msgstr "Показать телефоны"
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr "Указанный вручную GID"
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:25
-msgid "Bug submitter"
-msgstr ""
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
+msgstr "Пользователь"
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:26
-msgid ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
-msgstr ""
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
+#, fuzzy
+msgid "User selection"
+msgstr "Настройки Samba"
 
-#: plugins/personal/generic/class_user.inc:38
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
 #, fuzzy
-msgid "Edit organizational user settings"
-msgstr "Дополнительные записи в fstab"
+msgid "Cannot find group SID in your configuration!"
+msgstr "Не могу найти SID в базе LDAP или в сонфигурационном файле!"
 
-#: plugins/personal/generic/class_user.inc:297
-msgid "Please add a single IP address or a network/netmask combination!"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
+msgstr "Группа Samba"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "female"
-msgstr "женский"
+#: plugins/admin/groups/class_group.inc:310
+#, fuzzy
+msgid "Domain administrators"
+msgstr "Администраторы домена"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "male"
-msgstr "мужской"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
+msgstr "Пользователи домена"
 
-#: plugins/personal/generic/class_user.inc:408
-msgid "Cannot upload file!"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
+msgstr "Непривилегированные пользователи домена"
 
-#: plugins/personal/generic/class_user.inc:503
-#, fuzzy
-msgid "Serial number"
-msgstr "Телефонные номера"
+#: plugins/admin/groups/class_group.inc:316
+#, php-format
+msgid "Special group (%d)"
+msgstr "Специальная группа (%d)"
 
-#: plugins/personal/generic/class_user.inc:548
-msgid ""
-"(Some types of certificates are currently not supported and may be displayed "
-"as 'invalid'.)"
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:558
+#: plugins/admin/groups/class_group.inc:470
 #, php-format
-msgid "Certificate is valid from %s to %s and is currently %s."
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:561
-msgid "valid"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:753
+#, fuzzy, php-format
+msgid "Cannot find any SID for '%s'!"
+msgstr "Удалить"
 
-#: plugins/personal/generic/class_user.inc:562
-msgid "invalid"
+#: plugins/admin/groups/class_group.inc:758
+#, fuzzy, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
+msgstr "Удалить"
+
+#: plugins/admin/groups/class_group.inc:852
+#, php-format
+msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:567
+#: plugins/admin/groups/class_group.inc:1036
 #, fuzzy
-msgid "No certificate installed"
-msgstr "Изменить сертификаты"
+msgid "Generic group settings"
+msgstr "Общая информация о пользователе"
 
-#: plugins/personal/generic/class_user.inc:593
+#: plugins/admin/groups/class_group.inc:1049
 #, fuzzy
-msgid "The selected password method is no longer available."
-msgstr "У выбранного приложения нет параметров."
-
-#: plugins/personal/generic/class_user.inc:1190
-msgid "Cannot build RDN: no + allowed to build sub RDN!"
-msgstr ""
-
-#: plugins/personal/generic/class_user.inc:1197
-msgid "Cannot build RDN: attribute is not defined!"
-msgstr ""
+msgid "RDN for object group storage."
+msgstr "Название группы"
 
-#: plugins/personal/generic/class_user.inc:1215
-msgid "Cannot build RDN: invalid attribute parameters!"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:1063
+#, fuzzy
+msgid "Samba group type"
+msgstr "Группа Samba"
 
-#: plugins/personal/generic/class_user.inc:1286
+#: plugins/admin/groups/class_group.inc:1064
 #, fuzzy
-msgid "The selected password method requires initial configuration!"
-msgstr "У выбранного приложения нет параметров."
+msgid "Samba domain name"
+msgstr "Домашний каталог Samba"
 
-#: plugins/personal/generic/class_user.inc:1351
-#: plugins/personal/generic/class_user.inc:1713
-#: plugins/personal/generic/class_user.inc:1816
-#: plugins/personal/generic/generic.tpl:199
-msgid "Homepage"
-msgstr "Домашняя страница"
+#: plugins/admin/groups/class_group.inc:1066
+#, fuzzy
+msgid "Phone pickup group"
+msgstr "Члены телефонной группы"
 
-#: plugins/personal/generic/class_user.inc:1362
-#: plugins/personal/generic/class_user.inc:1825
-#: plugins/personal/generic/generic.tpl:407
-msgid "Mobile"
-msgstr "Мобильный"
+#: plugins/admin/groups/class_group.inc:1067
+#, fuzzy
+msgid "Nagios group"
+msgstr "Контакт"
 
-#: plugins/personal/generic/class_user.inc:1365
-#: plugins/personal/generic/class_user.inc:1828
-#: plugins/personal/generic/generic.tpl:415
-msgid "Pager"
-msgstr "Пейджер"
+#: plugins/admin/groups/class_group.inc:1069
+#, fuzzy
+msgid "Group member"
+msgstr "Члены группы"
 
-#: plugins/personal/generic/class_user.inc:1370
-#: plugins/personal/generic/class_user.inc:1685
-#: plugins/personal/generic/generic.tpl:119
-msgid "Date of birth"
-msgstr "Дата рождения"
+#: plugins/admin/groups/class_groupManagement.inc:26
+msgid ""
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1485
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
 #, fuzzy
-msgid "Cannot open certificate!"
-msgstr "Невозможно выбрать базу данных!"
+msgid "Infrastructure error"
+msgstr "Ошибка LDAP:"
 
-#: plugins/personal/generic/class_user.inc:1653
-#: plugins/personal/generic/generic.tpl:531
-msgid "Unit"
-msgstr "Подразделение"
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
+#, fuzzy
+msgid "Edit POSIX properties"
+msgstr "Изменить свойства"
 
-#: plugins/personal/generic/class_user.inc:1654
-#: plugins/personal/generic/generic.tpl:556
-msgid "House identifier"
-msgstr "Номер дома"
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
+#, fuzzy
+msgid "Edit mail properties"
+msgstr "Изменить свойства"
 
-#: plugins/personal/generic/class_user.inc:1655
-#: plugins/personal/generic/generic.tpl:473
-msgid "Vocation"
-msgstr "Специальность"
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
+#, fuzzy
+msgid "Edit samba properties"
+msgstr "Изменить свойства"
 
-#: plugins/personal/generic/class_user.inc:1656
-#: plugins/personal/generic/generic.tpl:600
-msgid "Last delivery"
-msgstr "Последняя доставка"
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
+#, fuzzy
+msgid "Edit phone properties"
+msgstr "Изменить свойства"
 
-#: plugins/personal/generic/class_user.inc:1657
-#: plugins/personal/generic/generic.tpl:522
-msgid "Person locality"
-msgstr "Местоположение сотрудника"
+#: plugins/admin/groups/class_groupManagement.inc:189
+#, fuzzy
+msgid "Menu"
+msgstr "Принтер"
 
-#: plugins/personal/generic/class_user.inc:1658
-#: plugins/personal/generic/generic.tpl:481
-msgid "Unit description"
-msgstr "Описание подразделения"
+#: plugins/admin/groups/class_groupManagement.inc:190
+#, fuzzy
+msgid "Edit start menu properties"
+msgstr "Изменить свойства"
 
-#: plugins/personal/generic/class_user.inc:1659
-#: plugins/personal/generic/generic.tpl:490
-msgid "Subject area"
-msgstr "Область деятельности"
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
+#, fuzzy
+msgid "Edit environment properties"
+msgstr "Изменить свойства"
 
-#: plugins/personal/generic/class_user.inc:1660
-#: plugins/personal/generic/generic.tpl:499
-msgid "Functional title"
-msgstr "Должность"
+#: plugins/admin/groups/group-filter.xml:31
+#, fuzzy
+msgid "Default filter2"
+msgstr "Параметры загрузки"
 
-#: plugins/personal/generic/class_user.inc:1661
-#: plugins/personal/generic/generic_certs.tpl:78
-msgid "Certificate serial number"
-msgstr "Серийный номер сертификата"
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
+msgstr "Описание группы"
 
-#: plugins/personal/generic/class_user.inc:1662
-#: plugins/personal/generic/generic.tpl:609
-msgid "Public visible"
-msgstr "Видимый всем"
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+msgid "Select to create a samba conform group"
+msgstr "Создать группу для работы с Samba"
 
-#: plugins/personal/generic/class_user.inc:1663
-#: plugins/personal/generic/generic.tpl:540
-msgid "Street"
-msgstr "Улица"
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
+msgstr "в домене"
 
-#: plugins/personal/generic/class_user.inc:1665
-#: plugins/personal/generic/generic.tpl:548
-msgid "Postal code"
-msgstr "Почтовый индекс"
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
+msgstr "Члены телефонной группы"
 
-#: plugins/personal/generic/class_user.inc:1669
+#: plugins/admin/groups/generic.tpl:146
 #, fuzzy
-msgid "Generic user settings"
-msgstr "Общая информация о пользователе"
+msgid "Members are in a Nagios group"
+msgstr "Члены телефонной группы"
 
-#: plugins/personal/generic/class_user.inc:1673
-#: plugins/personal/posix/class_posixAccount.inc:1455
-#: plugins/personal/password/class_password.inc:205
-msgid "My account"
-msgstr "Моя учетная запись"
+#: plugins/admin/groups/generic.tpl:174
+#, fuzzy
+msgid "Common group members"
+msgstr "Показать группы"
 
-#: plugins/personal/generic/class_user.inc:1681
+#: plugins/admin/groups/generic.tpl:183
 #, fuzzy
-msgid "User identification"
-msgstr "Информация"
+msgid "Partial group members"
+msgstr "Члены группы"
 
-#: plugins/personal/generic/class_user.inc:1682
-#: plugins/personal/generic/generic.tpl:98
-msgid "Personal title"
-msgstr "Обращение"
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
+msgstr "Члены группы"
 
-#: plugins/personal/generic/class_user.inc:1683
-#: plugins/personal/generic/generic.tpl:108
-msgid "Academic title"
-msgstr "Академическое звание"
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
+msgstr "Список групп"
 
-#: plugins/personal/generic/class_user.inc:1686
-#: plugins/personal/generic/generic.tpl:138
-msgid "Sex"
-msgstr "Пол"
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
+msgstr "Свойства"
 
-#: plugins/personal/generic/class_user.inc:1687
-#, fuzzy
-msgid "Preferred language"
-msgstr "Язык по умолчанию"
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
+msgstr "Изменить"
 
-#: plugins/personal/generic/class_user.inc:1690
-#: plugins/personal/generic/paste_generic.tpl:47
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
 #, fuzzy
-msgid "User picture"
-msgstr "Изображение"
+msgid "Send message"
+msgstr "Домашняя страница"
 
-#: plugins/personal/generic/class_user.inc:1692
+#: plugins/admin/groups/group-list.xml:138
 #, fuzzy
-msgid "Login restrictions"
-msgstr "Срок действия пароля истекает"
+msgid "Edit group"
+msgstr "Основная группа"
 
-#: plugins/personal/generic/class_user.inc:1696
+#: plugins/admin/groups/group-list.xml:151
 #, fuzzy
-msgid "Department number"
-msgstr "Управление подразделениями"
+msgid "Remove group"
+msgstr "серверы"
 
-#: plugins/personal/generic/class_user.inc:1698
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
 #, fuzzy
-msgid "Employee number"
-msgstr "Форма трудоустройства"
-
-#: plugins/personal/generic/class_user.inc:1699
-#: plugins/personal/generic/generic.tpl:331
-msgid "Employee type"
-msgstr "Форма трудоустройства"
+msgid "User and group selection"
+msgstr "Настройки Samba"
 
-#: plugins/personal/generic/class_user.inc:1701
+#: plugins/admin/ogroups/ogroup-list.xml:11
 #, fuzzy
-msgid "Room number"
-msgstr "Телефонные номера"
+msgid "List of object groups"
+msgstr "Название группы"
 
-#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
+msgstr "Объект группы"
+
+#: plugins/admin/ogroups/ogroup-list.xml:142
 #, fuzzy
-msgid "Telefon number"
-msgstr "Телефонные номера"
+msgid "Edit object group"
+msgstr "Объект группы"
 
-#: plugins/personal/generic/class_user.inc:1703
+#: plugins/admin/ogroups/ogroup-list.xml:155
 #, fuzzy
-msgid "Pager number"
-msgstr "Телефонные номера"
+msgid "Remove object group"
+msgstr "серверы"
 
-#: plugins/personal/generic/class_user.inc:1704
+#: plugins/admin/ogroups/paste_generic.tpl:1
 #, fuzzy
-msgid "Mobile number"
-msgstr "Домашний телефон"
+msgid "Paste object group"
+msgstr "Объект группы"
 
-#: plugins/personal/generic/class_user.inc:1705
+#: plugins/admin/ogroups/paste_generic.tpl:7
 #, fuzzy
-msgid "Fax number"
-msgstr "Терминал"
+msgid "Please enter the new object group name"
+msgstr "Введите адрес сервера"
 
-#: plugins/personal/generic/class_user.inc:1711
-msgid "Home postal address"
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1712
-#, fuzzy
-msgid "Home phone number"
-msgstr "Телефонные номера"
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
+msgstr "Принтер"
 
-#: plugins/personal/generic/class_user.inc:1714
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
 #, fuzzy
-msgid "User password method"
-msgstr "Хэширование паролей"
+msgid "Object selection"
+msgstr "Настройки Samba"
 
-#: plugins/personal/generic/class_user.inc:1715
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
 #, fuzzy
-msgid "User certificates"
-msgstr "Стандартный сертификат"
+msgid "Phone queue"
+msgstr "Номер телефона"
 
-#: plugins/personal/generic/class_user.inc:1923
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
 #, fuzzy
-msgid "Entries differ"
-msgstr "Группа пользователя"
-
-#: plugins/personal/generic/changed.tpl:3
-#: plugins/personal/password/changed.tpl:3
-msgid ""
-"You've successfully changed your password. Remember to change all programms "
-"configured to use it as well."
-msgstr ""
-"Вы успешно сменили свой пароль. Не забудьте изменить нужные настройки "
-"использующих его программ."
-
-#: plugins/personal/generic/generic.tpl:6
-msgid "Personal information"
-msgstr "Личная информация"
-
-#: plugins/personal/generic/generic.tpl:20
-#: plugins/personal/generic/generic.tpl:22
-#: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/paste_generic.tpl:37
-#: plugins/personal/generic/generic_picture.tpl:5
-#: plugins/personal/generic/generic_picture.tpl:15
-msgid "Personal picture"
-msgstr "Изображение"
+msgid "Groupware"
+msgstr "Группа"
 
-#: plugins/personal/generic/generic.tpl:29
-#: plugins/personal/generic/generic.tpl:40
-msgid "Change picture"
-msgstr "Сменить изображение"
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
+#, fuzzy
+msgid "System settings"
+msgstr "Почтовые настройки пользователя"
 
-#: plugins/personal/generic/generic.tpl:62
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
 #, fuzzy
-msgid "Template name"
-msgstr "Шаблон"
+msgid "Recipe"
+msgstr "Описание"
+
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
+msgstr "Устройства"
 
-#: plugins/personal/generic/generic.tpl:151
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
 #, fuzzy
-msgid "Preferred langage"
-msgstr "Язык по умолчанию"
+msgid "Deployment summary"
+msgstr "Управление подразделениями"
 
-#: plugins/personal/generic/generic.tpl:191
-msgid "Private phone"
-msgstr "Личный телефон"
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
+msgstr ""
 
-#: plugins/personal/generic/generic.tpl:212
-msgid "Password storage"
-msgstr "Хэширование паролей"
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
+msgstr "Приложения"
 
-#: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/generic_certs.tpl:3
-msgid "Certificates"
-msgstr "Сертификаты"
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
+msgstr "Название группы"
 
-#: plugins/personal/generic/generic.tpl:232
-msgid "Edit certificates"
-msgstr "Изменить сертификаты"
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
+msgstr "Включаемые объекты"
 
-#: plugins/personal/generic/generic.tpl:244
-msgid "Restrict login to"
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:250
-#: plugins/personal/generic/generic.tpl:266
-msgid "IP or network"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
+msgstr "нет"
 
-#: plugins/personal/generic/generic.tpl:287
-msgid "Organizational information"
-msgstr "Информация об организации"
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
+msgstr "слишком много различных объектов!"
 
-#: plugins/personal/generic/generic.tpl:315
-msgid "Department No."
-msgstr "Номер подразделения"
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
+msgstr "пользователи"
 
-#: plugins/personal/generic/generic.tpl:323
-msgid "Employee No."
-msgstr "Номер работника"
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
+msgstr "группы"
 
-#: plugins/personal/generic/generic.tpl:389
-#: plugins/personal/generic/generic.tpl:571
-msgid "Room No."
-msgstr "Номер комнаты"
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
+msgstr "приложения"
 
-#: plugins/personal/generic/generic.tpl:585
-msgid "Please use the phone tab"
-msgstr "Воспользуйтесь закладкой \"Телефон\""
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
+msgstr "подразделения"
 
-#: plugins/personal/generic/paste_generic.tpl:1
-#, fuzzy
-msgid "User settings"
-msgstr "Почтовые настройки пользователя"
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
+msgstr "серверы"
 
-#: plugins/personal/generic/paste_generic.tpl:23
-#, fuzzy
-msgid "Clear password"
-msgstr "Новый пароль"
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
+msgstr "рабочие станции"
 
-#: plugins/personal/generic/paste_generic.tpl:24
+#: plugins/admin/ogroups/class_ogroup.inc:328
 #, fuzzy
-msgid "Set new password"
-msgstr "Изменить пароль"
+msgid "Windows workstations"
+msgstr "Показать рабочие станции"
 
-#: plugins/personal/generic/paste_generic.tpl:52
-#: plugins/personal/generic/generic_picture.tpl:27
-msgid "Remove picture"
-msgstr "Удалить изображение"
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
+msgstr "терминалы"
 
-#: plugins/personal/generic/main.inc:168
-msgid "Generic user information"
-msgstr "Общая информация о пользователе"
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
+msgstr "телефоны"
 
-#: plugins/personal/generic/password.tpl:4
-#: plugins/personal/password/password.tpl:4
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
+msgstr "принтеры"
+
+#: plugins/admin/ogroups/class_ogroup.inc:533
 #, fuzzy
+msgid "Non existing DN:"
+msgstr "Не существующий dn:"
+
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
 msgid ""
-"To change your personal password use the fields below. The changes take "
-"effect immediately. Please memorize the new password, because you wouldn't "
-"be able to login without it."
+"These systems are already configured by other object groups and cannot be "
+"added:"
 msgstr ""
-"В полях ниже вы можете изменить свой пароль. Изменения вступят в силу "
-"немедленно. Пожалуйста, запомните новый пароль, так как иначе вы не сможете "
-"войти в систему."
 
-#: plugins/personal/generic/password.tpl:42
-#: plugins/personal/password/password.tpl:47
+#: plugins/admin/ogroups/class_ogroup.inc:685
 #, fuzzy
-msgid "Password change dialog"
-msgstr "Сменить пароль"
+msgid "You can combine two different object types at maximum, only!"
+msgstr ""
+"Вы можете комбинировать не более двух различных классов в одном объекте!"
 
-#: plugins/personal/generic/password.tpl:90
-#: plugins/personal/password/password.tpl:95
-msgid "Clear fields"
-msgstr "Очистить поля"
+#: plugins/admin/ogroups/class_ogroup.inc:849
+#, fuzzy
+msgid "Object group generic"
+msgstr "Объект группы"
 
-#: plugins/personal/generic/generic_certs.tpl:8
-msgid "Standard certificate"
-msgstr "Стандартный сертификат"
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
+msgstr "Объединения"
 
-#: plugins/personal/generic/generic_certs.tpl:33
-msgid "S/MIME certificate"
-msgstr "Сертификат S/MIME"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
+msgstr ""
 
-#: plugins/personal/generic/generic_certs.tpl:57
-msgid "PKCS12 certificate"
-msgstr "Сертификат PKCS12"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+#, fuzzy
+msgid "Templates"
+msgstr "Шаблон"
 
-#: plugins/personal/generic/nochange.tpl:2
-#: plugins/personal/password/nochange.tpl:2
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
+msgstr "Приложение"
+
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
 #, fuzzy
-msgid "You have no permission to change your password at this time"
-msgstr "У вас недостаточно прав для смены своего пароля."
+msgid "Windows Install"
+msgstr "Рабочая станция Windows"
+
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
+#, fuzzy
+msgid "ACL Templates"
+msgstr "Шаблон"
 
-#: plugins/personal/generic/nochange.tpl:5
+#: plugins/admin/acl/acl-list.xml:11
 #, fuzzy
-msgid "Your password hash method will not be changed!"
-msgstr "У вас недостаточно прав для смены своего пароля."
+msgid "List of ACLs"
+msgstr "Список групп"
 
-#: plugins/personal/posix/class_posixAccount.inc:38
+#: plugins/admin/acl/paste_role.tpl:1
 #, fuzzy
-msgid "Edit users POSIX settings"
-msgstr "Атрибуты UNIX"
+msgid "Paste ACL-role"
+msgstr "Удалить"
 
-#: plugins/personal/posix/class_posixAccount.inc:168
+#: plugins/admin/acl/acl-filter.xml:48
+#: plugins/admin/acl/class_aclManagement.inc:154
 #, fuzzy
-msgid "expired"
-msgstr "Экспорт"
+msgid "ACL Assignment"
+msgstr "Управление подразделениями"
 
-#: plugins/personal/posix/class_posixAccount.inc:170
-msgid "grace time active"
+#: plugins/admin/acl/class_aclManagement.inc:26
+msgid ""
+"Control access to GOsa managed objects down to attribute and action level"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-#: plugins/personal/posix/class_posixAccount.inc:175
-#: plugins/personal/posix/class_posixAccount.inc:177
+#: plugins/admin/acl/class_aclRole.inc:26
+#: plugins/admin/acl/class_aclRole.inc:715
 #, fuzzy
-msgid "active"
-msgstr "Личный"
+msgid "Access control roles"
+msgstr "Параметры доступа"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
+#: plugins/admin/acl/class_aclRole.inc:27
 #, fuzzy
-msgid "password not changeable"
-msgstr "Новый пароль"
+msgid "Edit AC roles"
+msgstr "Доступ"
 
-#: plugins/personal/posix/class_posixAccount.inc:175
+#: plugins/admin/acl/class_aclRole.inc:138
 #, fuzzy
-msgid "password expired"
-msgstr "Срок действия пароля истекает"
-
-#: plugins/personal/posix/class_posixAccount.inc:248
-msgid "automatic"
-msgstr "автоматически"
-
-#: plugins/personal/posix/class_posixAccount.inc:444
-#, php-format
-msgid "Password can't be changed up to %s days after last change"
-msgstr "Пароль нельзя изменить в течение %s дн. с последней смены (shadowMin)"
-
-#: plugins/personal/posix/class_posixAccount.inc:448
-#, php-format
-msgid "Password must be changed after %s days"
-msgstr "Пароль должен быть изменен по истечении %s дн. (shadowMax)"
+msgid "Reset ACL"
+msgstr "Удалить"
 
-#: plugins/personal/posix/class_posixAccount.inc:452
-#, fuzzy, php-format
-msgid "Disable account after %s days of inactivity after password expiry"
-msgstr ""
-"Отключить учетную запись, если срок действия пароля истек и прошло %s дн. "
-"бездействия (shadowInactive)"
+#: plugins/admin/acl/class_aclRole.inc:411
+#, fuzzy
+msgid "No ACL settings for this category"
+msgstr "Описание группы"
 
-#: plugins/personal/posix/class_posixAccount.inc:456
+#: plugins/admin/acl/class_aclRole.inc:413
 #, fuzzy, php-format
-msgid "Warn user %s days before password expiry"
-msgstr ""
-"Предупреждать пользователей за %s дн. до истечения срока действия пароля "
-"(shadowWarning)"
+msgid "ACL for these objects: %s"
+msgstr "Описание группы"
 
-#: plugins/personal/posix/class_posixAccount.inc:793
-msgid "Timeout while waiting for lock. Ignoring lock!"
-msgstr ""
+#: plugins/admin/acl/class_aclRole.inc:418
+#, fuzzy
+msgid "Edit category ACL"
+msgstr "Список систем"
 
-#: plugins/personal/posix/class_posixAccount.inc:851
-#: plugins/personal/posix/class_posixAccount.inc:1169
-msgid "Group of user"
-msgstr "Группа пользователя"
+#: plugins/admin/acl/class_aclRole.inc:421
+#, fuzzy
+msgid "Delete category ACL"
+msgstr "Категория"
 
-#: plugins/personal/posix/class_posixAccount.inc:946
-msgid ""
-"A duplicated UID number was written for this user. If this was not intended "
-"please verify all used uidNumbers!"
+#: plugins/admin/acl/class_aclRole.inc:442
+#, php-format
+msgid "Edit ACL for '%s', scope is '%s'"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1027
-#: plugins/personal/posix/class_posixAccount.inc:1030
-#: plugins/personal/posix/class_posixAccount.inc:1105
-#: plugins/personal/posix/class_posixAccount.inc:1108
-#: plugins/personal/posix/class_posixAccount.inc:1461
-#: plugins/personal/posix/generic.tpl:7
-#: plugins/personal/posix/paste_generic.tpl:8
-msgid "Home directory"
-msgstr "Домашний каталог"
+#: plugins/admin/acl/class_aclRole.inc:635
+#, fuzzy
+msgid "Object in use"
+msgstr "Имя объекта"
 
-#: plugins/personal/posix/class_posixAccount.inc:1038
-#: plugins/personal/posix/class_posixAccount.inc:1041
-#: plugins/personal/posix/generic.tpl:63
-#: plugins/personal/posix/paste_generic.tpl:36
-msgid "UID"
-msgstr "UID"
+#: plugins/admin/acl/class_aclRole.inc:635
+#, php-format
+msgid "This role cannot be removed while it is in use by these objects:"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1061
-#: plugins/personal/posix/class_posixAccount.inc:1114
+#: plugins/admin/acl/class_aclRole.inc:731
 #, fuzzy
-msgid "shadowMin"
-msgstr "Затенение"
+msgid "RDN for role storage."
+msgstr "Почтовые настройки пользователя"
 
-#: plugins/personal/posix/class_posixAccount.inc:1066
-#: plugins/personal/posix/class_posixAccount.inc:1119
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
 #, fuzzy
-msgid "shadowMax"
-msgstr "Затенение"
+msgid "Domain component"
+msgstr "Администраторы домена"
 
-#: plugins/personal/posix/class_posixAccount.inc:1071
-#: plugins/personal/posix/class_posixAccount.inc:1124
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
 #, fuzzy
-msgid "shadowWarning"
-msgstr "Затенение"
+msgid "Locality name"
+msgstr "Местоположение"
 
-#: plugins/personal/posix/class_posixAccount.inc:1085
-#: plugins/personal/posix/class_posixAccount.inc:1138
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
 #, fuzzy
-msgid "shadowInactive"
-msgstr "Затенение"
+msgid "Name of locality to create"
+msgstr "Имя создаваемой ветки"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
-#, fuzzy
-msgid "POSIX account"
-msgstr "Аккаунт FTP"
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
+msgstr "Описание подразделения"
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
-#: plugins/personal/posix/generic.tpl:15
-msgid "Shell"
-msgstr "Оболочка"
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
+#, fuzzy
+msgid "Administrative settings"
+msgstr "Администрирование"
 
-#: plugins/personal/posix/class_posixAccount.inc:1463
-#: setup/setup_migrate.tpl:291
-msgid "User ID"
-msgstr "Идентификатор пользователя"
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1464
-#, fuzzy
-msgid "Group ID"
-msgstr "Группа"
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
+msgstr "Страна"
 
-#: plugins/personal/posix/class_posixAccount.inc:1466
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
 #, fuzzy
-msgid "Force password change on login"
-msgstr "Сменить пароль"
+msgid "Locality"
+msgstr "Местоположение"
 
-#: plugins/personal/posix/class_posixAccount.inc:1467
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
 #, fuzzy
-msgid "Shadow min"
-msgstr "Затенение"
+msgid "Domain"
+msgstr "в домене"
 
-#: plugins/personal/posix/class_posixAccount.inc:1468
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
 #, fuzzy
-msgid "Shadow max"
-msgstr "Затенение"
+msgid "Country name"
+msgstr "Страна"
 
-#: plugins/personal/posix/class_posixAccount.inc:1469
+#: plugins/admin/departments/country.tpl:14
 #, fuzzy
-msgid "Shadow warning"
-msgstr "Затенение"
+msgid "Name of country to create"
+msgstr "Имя создаваемой ветки"
 
-#: plugins/personal/posix/class_posixAccount.inc:1470
+#: plugins/admin/departments/dep-list.xml:11
 #, fuzzy
-msgid "Shadow inactive"
-msgstr "Затенение"
+msgid "List of structural objects"
+msgstr "Название группы"
 
-#: plugins/personal/posix/class_posixAccount.inc:1471
+#: plugins/admin/departments/dep_move_confirm.tpl:2
 #, fuzzy
-msgid "Shadow expire"
-msgstr "Показать людей"
+msgid "You are currently moving/renaming this department."
+msgstr "У вас недостаточно прав для удаления этого подразделения."
 
-#: plugins/personal/posix/class_posixAccount.inc:1472
-msgid "Public SSH key"
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1473
-#, fuzzy
-msgid "System trust model"
-msgstr "Системные доверия"
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+msgid "GOsa can NOT fix this for you, yet."
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:25
-#: plugins/personal/posix/paste_generic.tpl:17
-msgid "Primary group"
-msgstr "Основная группа"
+#: plugins/admin/departments/dep_move_confirm.tpl:12
+msgid ""
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:36
-msgid "Status"
-msgstr "Состояние"
+#: plugins/admin/departments/organization.tpl:11
+#, fuzzy
+msgid "Name of organization"
+msgstr "Организация"
 
-#: plugins/personal/posix/generic.tpl:41
+#: plugins/admin/departments/organization.tpl:14
 #, fuzzy
-msgid "Last logon"
-msgstr "Список"
+msgid "Name of organization to create"
+msgstr "Имя создаваемой ветки"
 
-#: plugins/personal/posix/generic.tpl:59
-#: plugins/personal/posix/paste_generic.tpl:31
-msgid "Force UID/GID"
-msgstr "Указать UID/GID вручную"
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
+msgstr "Категория этой ветки"
 
-#: plugins/personal/posix/generic.tpl:89
-#: plugins/personal/posix/paste_generic.tpl:55
-msgid "Group membership"
-msgstr "Членство в группах"
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
+msgstr "Адм. единица, в которой находится ветка"
 
-#: plugins/personal/posix/generic.tpl:91
-#: plugins/personal/posix/paste_generic.tpl:62
-msgid "(Warning: more than 16 groups are not supported by NFS!)"
-msgstr ""
-"(Предупреждение: NFS не поддерживает более 16 групп для одного пользователя!)"
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
+msgstr "Местоположение ветки"
 
-#: plugins/personal/posix/generic.tpl:100
-#, fuzzy
-msgid "Common group"
-msgstr "Показать группы"
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
+msgstr "Почтовый адрес для ветки"
 
-#: plugins/personal/posix/generic.tpl:104
-#, fuzzy
-msgid "Groups differ"
-msgstr "Группа пользователя"
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
+msgstr "Основный телефонный номер для ветки"
 
-#: plugins/personal/posix/generic.tpl:127
-msgid "SSH keys"
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
+msgstr "Основный номер факса для ветки"
+
+#: plugins/admin/departments/class_department.inc:439
+msgid "Cannot find an unused tag for this administrative unit!"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:128
-msgid "Edit public ssh keys..."
+#: plugins/admin/departments/class_department.inc:507
+#, php-format
+msgid "Tagging '%s'."
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:132
-msgid "Account"
-msgstr "Учетная запись"
+#: plugins/admin/departments/class_department.inc:588
+#, php-format
+msgid "Moving '%s' to '%s'"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:6
-msgid "Select groups to add"
-msgstr "Выберите группы для добавления"
+#: plugins/admin/departments/class_department.inc:629
+#, php-format
+msgid "FAILED to copy %s, aborting operation"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:32
-msgid "Display groups of department"
-msgstr "Объединения в подразделении"
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
+msgstr "Подразделения"
 
-#: plugins/personal/posix/posix_groups.tpl:44
-msgid "Display groups matching"
-msgstr "Шаблон для групп"
+#: plugins/admin/departments/class_department.inc:674
+#, fuzzy
+msgid "Department name"
+msgstr "Управление подразделениями"
 
-#: plugins/personal/posix/posix_groups.tpl:48
-msgid "Regular expression for matching group names"
-msgstr "Регулярное выражение, соответствующее именам групп"
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
+msgstr "Телефон"
 
-#: plugins/personal/posix/posix_groups.tpl:55
-msgid "Display groups of user"
-msgstr "Показать группы пользователей"
+#: plugins/admin/departments/class_department.inc:737
+#, php-format
+msgid "Object '%s' is already tagged"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:59
-msgid "User name of which groups are shown"
-msgstr "Имя пользователя, для которого перечисляются группы"
+#: plugins/admin/departments/class_department.inc:744
+#, php-format
+msgid "Adding tag (%s) to object '%s'"
+msgstr ""
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:11
-msgid "Show servers"
-msgstr "Показать серверы"
+#: plugins/admin/departments/class_department.inc:776
+#, php-format
+msgid "Removing tag from object '%s'"
+msgstr ""
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:12
-msgid "Show workstations"
-msgstr "Показать рабочие станции"
+#: plugins/admin/departments/dep_iframe.tpl:1
+msgid "Processing the requested operation"
+msgstr ""
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:13
-msgid "Show terminals"
-msgstr "Показать терминалы"
+#: plugins/admin/departments/dep_iframe.tpl:7
+msgid ""
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
+msgstr ""
 
-#: plugins/personal/posix/paste_generic.tpl:4
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
 #, fuzzy
-msgid "Posix settings"
-msgstr "Атрибуты UNIX"
+msgid "Domain Component"
+msgstr "Администраторы домена"
 
-#: plugins/personal/posix/main.inc:142
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 #, fuzzy
-msgid "POSIX settings"
-msgstr "Атрибуты UNIX"
+msgid "Organization name"
+msgstr "Организация"
 
-#: plugins/personal/posix/posix_shadow.tpl:9
-msgid "User must change password on first login"
-msgstr "Пользователь должен сменить пароль при первом входе в систему"
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+#, fuzzy
+msgid "Phone number"
+msgstr "Телефонные номера"
 
-#: plugins/personal/posix/posix_shadow.tpl:34
-msgid "Password expires on"
-msgstr "Срок действия пароля истекает"
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
+msgstr "Подразделение"
 
-#: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
-#, fuzzy
-msgid "Password settings"
-msgstr "Почтовые настройки пользователя"
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
+msgstr "Имя создаваемой ветки"
 
-#: plugins/personal/password/password.tpl:14
+#: plugins/admin/departments/generic.tpl:22
 #, fuzzy
-msgid "Your Password has expired. Please choose a new password!"
-msgstr "У вас недостаточно прав для смены своего пароля."
+msgid "Descriptive text for   department"
+msgstr "Описание подразделения"
 
-#: plugins/personal/password/class_password.inc:27
+#: plugins/admin/departments/class_departmentManagement.inc:25
 #, fuzzy
-msgid "Change user password"
-msgstr "Сменить пароль"
-
-#: plugins/personal/password/class_password.inc:129
-msgid "You need to specify your current password in order to proceed."
-msgstr "Для продолжения укажите свой текущий пароль."
-
-#: plugins/personal/password/class_password.inc:135
-msgid "The password you've entered as 'New password' is empty."
-msgstr "Вы не указали новый пароль."
+msgid "Directory structure"
+msgstr "Каталог"
 
-#: plugins/personal/password/class_password.inc:144
-#, fuzzy, php-format
-msgid "External password changer reported a problem: %s."
-msgstr "При попытке сменить пароль извне возникла проблема: "
+#: plugins/admin/departments/class_departmentManagement.inc:26
+msgid ""
+"Manage organizations, organizational units, localities, countries and more"
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:158
+#: plugins/admin/departments/class_departmentManagement.inc:125
 msgid ""
-"The password you've entered as your current password doesn't match the real "
-"one."
-msgstr "Введенный вами текущий пароль не совпадает с реальным."
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:164
+#: plugins/admin/departments/domain.tpl:11
 #, fuzzy
-msgid "You have no permission to change your password."
-msgstr "У вас недостаточно прав для смены своего пароля."
+msgid "Domain name"
+msgstr "Администраторы домена"
 
-#: plugins/personal/password/class_password.inc:201
+#: plugins/admin/departments/domain.tpl:14
 #, fuzzy
-msgid "User password"
-msgstr "Новый пароль"
+msgid "Name of domain to create"
+msgstr "Имя создаваемой ветки"
 
-#: setup/class_setupStep_Feedback.inc:92
+#: plugins/admin/users/password.tpl:4
 #, fuzzy
-msgid "UNIX accounts/groups"
-msgstr "UNIX аккаунт"
+msgid ""
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
+msgstr ""
+"В полях ниже вы можете изменить пароль выбранного пользователя. Изменения "
+"вступят в силу немедленно. Пожалуйста, запомните новый пароль, так как иначе "
+"пользователь не сможет войти в систему."
 
-#: setup/class_setupStep_Feedback.inc:94
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
 #, fuzzy
-msgid "Samba management"
-msgstr "Управление системами"
+msgid "Password input dialog"
+msgstr "Сменить пароль"
 
-#: setup/class_setupStep_Feedback.inc:96
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
 #, fuzzy
-msgid "Mailsystem management"
-msgstr "Управление системами"
+msgid "Strength"
+msgstr "Улица"
 
-#: setup/class_setupStep_Feedback.inc:98
+#: plugins/admin/users/password.tpl:95
 #, fuzzy
-msgid "FAX system administration"
-msgstr "Управление пользователями"
+msgid "Enforce password change on next login."
+msgstr "Сменить пароль"
 
-#: setup/class_setupStep_Feedback.inc:100
+#: plugins/admin/users/templatize.tpl:2
 #, fuzzy
-msgid "Asterisk administration"
-msgstr "Управление пользователями"
+msgid "Applying a template"
+msgstr "Шаблон"
 
-#: setup/class_setupStep_Feedback.inc:102
-#, fuzzy
-msgid "System inventory"
-msgstr "Удалить объект"
+#: plugins/admin/users/templatize.tpl:6
+msgid ""
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:104
+#: plugins/admin/users/templatize.tpl:13
 #, fuzzy
-msgid "System-/Configmanagement"
-msgstr "Управление системами"
+msgid "Apply user template"
+msgstr "Шаблон"
 
-#: setup/class_setupStep_Feedback.inc:106
-msgid "Addressbook"
-msgstr "Адресная книга"
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
+msgstr "Шаблон"
 
-#: setup/class_setupStep_Feedback.inc:112
-msgid "Feedback"
+#: plugins/admin/users/templatize.tpl:32
+msgid "No templates available!"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:113
+#: plugins/admin/users/user-filter.xml:33
+msgid "Show templates"
+msgstr "Показать шаблоны"
+
+#: plugins/admin/users/user-filter.xml:47
 #, fuzzy
-msgid "Get notifications or send feedback"
-msgstr "Местоположение ветки"
+msgid "Show POSIX users"
+msgstr "Атрибуты UNIX"
 
-#: setup/class_setupStep_Feedback.inc:114
+#: plugins/admin/users/user-filter.xml:61
 #, fuzzy
-msgid "Notification and feedback"
-msgstr "Изменить сертификаты"
+msgid "Show SAMBA users"
+msgstr "Показать серверы"
 
-#: setup/class_setupStep_Feedback.inc:131 setup/class_setup.inc:77
+#: plugins/admin/users/user-filter.xml:75
 #, fuzzy
-msgid "Setup error"
-msgstr "Состояние системы"
+msgid "Show mail users"
+msgstr "Показать пользователей с почтой"
 
-#: setup/class_setupStep_Feedback.inc:140
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Feedback error"
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
+msgstr "Создание пользователя на основе шаблона"
+
+#: plugins/admin/users/template.tpl:6
+#, fuzzy
+msgid ""
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
 msgstr ""
+"Можно создавать пользователей на основе шаблонов. При этом многие поля в "
+"базе данных будут заполнены автоматически. Выберите <b>нет</b>, чтобы не "
+"использовать шаблоны."
 
-#: setup/class_setupStep_Feedback.inc:140
-#, php-format
-msgid "Cannot send feedback to '%s': %s"
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Cannot send feedback: service temporarily unavailable"
+#: plugins/admin/users/class_userManagement.inc:26
+msgid ""
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:181
+#: plugins/admin/users/class_userManagement.inc:401
 #, fuzzy
-msgid "Please specify a valid email address."
-msgstr "Введите корректное имя пользователя!"
+msgid "You have no permission to change this users password!"
+msgstr "У вас недостаточно прав для смены своего пароля."
 
-#: setup/class_setupStep_Feedback.inc:185
+#: plugins/admin/users/class_userManagement.inc:791
+#, fuzzy
+msgid "Account locking"
+msgstr "Учетная запись"
+
+#: plugins/admin/users/class_userManagement.inc:792
+#, php-format
 msgid ""
-"You have to select at least one of both options, subscribe or send feedback."
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
 msgstr ""
 
-#: setup/class_setup.inc:197
+#: plugins/admin/users/class_userManagement.inc:865
 #, fuzzy
-msgid "Completed"
-msgstr "не полный"
+msgid "Unlock account"
+msgstr "Моя учетная запись"
 
-#: setup/class_setup.inc:267 setup/setup_migrate.tpl:272
+#: plugins/admin/users/class_userManagement.inc:867
 #, fuzzy
-msgid "Next"
-msgstr "текст"
+msgid "Lock account"
+msgstr "Моя учетная запись"
 
-#: setup/setup_config2.tpl:2
-msgid "Samba settings"
-msgstr "Настройки Samba"
+#: plugins/admin/users/class_userManagement.inc:880
+#, fuzzy
+msgid "Edit generic properties"
+msgstr "Изменить свойства"
 
-#: setup/setup_config2.tpl:6
-msgid "Samba hash generator"
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
 msgstr ""
 
-#: setup/setup_config2.tpl:15
+#: plugins/admin/users/class_userManagement.inc:896
 #, fuzzy
-msgid "Samba SID"
-msgstr "Samba"
+msgid "Edit Netatalk properties"
+msgstr "Изменить свойства"
+
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
+msgstr "Факс"
 
-#: setup/setup_config2.tpl:31
+#: plugins/admin/users/class_userManagement.inc:904
 #, fuzzy
-msgid "RID base"
-msgstr "Базы данных"
+msgid "Edit FAX properties"
+msgstr "Изменить свойства"
+
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
+msgstr "Список пользователей"
 
-#: setup/setup_config2.tpl:46
+#: plugins/admin/users/user-list.xml:140
 #, fuzzy
-msgid "Workstation container"
-msgstr "Имя рабочий станции"
+msgid "Lock users"
+msgstr "Список пользователей"
 
-#: setup/setup_config2.tpl:61
+#: plugins/admin/users/user-list.xml:148
 #, fuzzy
-msgid "Samba SID mapping"
-msgstr "Samba"
+msgid "Unlock users"
+msgstr "Пользователи домена"
 
-#: setup/setup_config2.tpl:71
+#: plugins/admin/users/user-list.xml:167
 #, fuzzy
-msgid "Timezone"
-msgstr "Мобильный"
+msgid "Apply template"
+msgstr "Шаблон"
 
-#: setup/setup_config2.tpl:74
+#: plugins/admin/users/user-list.xml:199
 #, fuzzy
-msgid "Please choose your preferred timezone here"
-msgstr "Язык по умолчанию"
+msgid "New user from template"
+msgstr "Создать шаблон"
 
-#: setup/setup_config2.tpl:96
+#: plugins/admin/users/user-list.xml:213
 #, fuzzy
-msgid "Additional GOsa settings"
-msgstr "Дополнительные записи в fstab"
+msgid "Edit user"
+msgstr "Пользователи домена"
 
-#: setup/setup_config2.tpl:100
-msgid "Enable Copy & Paste"
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
 msgstr ""
 
-#: setup/setup_config2.tpl:112
+#: plugins/admin/users/user-list.xml:245
 #, fuzzy
-msgid "Government mode"
-msgstr "в папку"
+msgid "Remove user"
+msgstr "Удалить изображение"
 
-#: setup/setup_config2.tpl:123
-#, fuzzy
-msgid "GOsa logging"
-msgstr "Почтовые настройки пользователя"
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
+msgid "Back to main menu"
+msgstr ""
 
-#: setup/setup_config2.tpl:135
-#, fuzzy
-msgid "Mail settings"
-msgstr "Почтовые настройки пользователя"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
+msgstr ""
 
-#: setup/setup_config2.tpl:139
-#, fuzzy
-msgid "Mail method"
-msgstr "Почтовые настройки"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
+msgstr ""
 
-#: setup/setup_config2.tpl:155
-msgid "Account identification attribute"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
 msgstr ""
 
-#: setup/setup_config2.tpl:169
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
 #, fuzzy
-msgid "Vacation templates"
-msgstr "Шаблон рабочей станции"
+msgid "Action"
+msgstr "Действия"
+
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
+#, fuzzy
+msgid "Systems"
+msgstr "Системы"
 
-#: setup/setup_config2.tpl:185
-msgid "Use Cyrus UNIX style"
+#: plugins/generic/statistics/statistics.tpl:2
+msgid "Usage statistics"
 msgstr ""
 
-#: setup/setup_config2.tpl:195
-#, fuzzy
-msgid "Snapshots / Undo"
-msgstr "Приложение"
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
+msgid ""
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
+msgstr ""
 
-#: setup/setup_config2.tpl:204 setup/setup_config2.tpl:249
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
 #, fuzzy
-msgid "Enable snapshots"
-msgstr "Создать настройки запись эл. почты"
+msgid "Dash board"
+msgstr "Почтовые настройки пользователя"
 
-#: setup/setup_config2.tpl:210 setup/setup_config2.tpl:255
+#: plugins/generic/statistics/statistics.tpl:16
 #, fuzzy
-msgid "Snapshot base"
-msgstr "Приложение"
+msgid ""
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
+msgstr "Не удается подключиться к базе журналов, отчеты показаны не будут!"
 
-#: setup/setup_frame.tpl:12
-#, fuzzy
-msgid "GOsa setup wizard"
-msgstr "Почтовые настройки пользователя"
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
+msgstr ""
+
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
+msgstr ""
 
-#: setup/setup_frame.tpl:19
-#, fuzzy
-msgid "Installation"
-msgstr "Рабочая станция"
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
+msgstr ""
 
-#: setup/setup_frame.tpl:19
+#: plugins/generic/statistics/statistics.tpl:87
 #, fuzzy
-msgid "Setup"
-msgstr "Установить"
+msgid "Select report type"
+msgstr "Выберите, чтобы просмотреть серверы"
 
-#: setup/setup_migrate.tpl:5
+#: plugins/generic/statistics/class_statistics.inc:263
+#, fuzzy, php-format
 msgid ""
-"During the LDAP inspection, we're going to check for several common pitfalls "
-"that may occur when migration to GOsa base LDAP administration. You may want "
-"to fix the problems below, in order to provide smooth services."
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
 msgstr ""
+"Вы сейчас редактируете объект базы данных. Хотите отказаться от изменений?"
 
-#: setup/setup_migrate.tpl:33
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
 #, fuzzy
-msgid "Check again"
-msgstr "Проверить"
+msgid "Channels"
+msgstr "Отмена"
 
-#: setup/setup_migrate.tpl:37
+#: plugins/generic/dashBoard/Register/register.tpl:3
 #, fuzzy
-msgid "Add required object classes to the LDAP base"
-msgstr "Список подразделений"
+msgid "GOsa registration"
+msgstr "Общая информация о пользователе"
 
-#: setup/setup_migrate.tpl:39 setup/setup_migrate.tpl:244
-#: setup/setup_migrate.tpl:344 setup/setup_migrate.tpl:398
-#: setup/setup_migrate.tpl:453 setup/setup_migrate.tpl:496
-#: setup/setup_migrate.tpl:540
-#, fuzzy
-msgid "Current"
-msgstr "Текущий пароль"
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
+msgstr ""
 
-#: setup/setup_migrate.tpl:46 setup/setup_migrate.tpl:248
-#: setup/setup_migrate.tpl:351 setup/setup_migrate.tpl:405
-#: setup/setup_migrate.tpl:457 setup/setup_migrate.tpl:500
-#: setup/setup_migrate.tpl:544
-#, fuzzy
-msgid "After migration"
-msgstr "Управление пользователями"
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
+msgstr ""
 
-#: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:664 setup/class_setupStep_Migrate.inc:806
-#: setup/class_setupStep_Migrate.inc:1035
-#: setup/class_setupStep_Migrate.inc:2133
-#: setup/class_setupStep_Migrate.inc:2576
-#: setup/class_setupStep_Migrate.inc:2730
-#: setup/class_setupStep_Migrate.inc:3060
-#, fuzzy
-msgid "Migrate"
-msgstr "Дата"
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
+msgstr ""
 
-#: setup/setup_migrate.tpl:60 setup/setup_migrate.tpl:107
-#, fuzzy
-msgid "Close"
-msgstr "Выбрать"
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
+msgstr ""
 
-#: setup/setup_migrate.tpl:65
-msgid "Move windows workstations into a valid windows workstation department"
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
 msgstr ""
 
-#: setup/setup_migrate.tpl:67
+#: plugins/generic/dashBoard/Register/register.tpl:22
 msgid ""
-"This dialog allows you to move the displayed windows workstations into a "
-"valid department"
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
 msgstr ""
 
-#: setup/setup_migrate.tpl:69
-msgid ""
-"Be careful with this tool, there may be references pointing to this "
-"workstations that can't be migrated."
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
 msgstr ""
 
-#: setup/setup_migrate.tpl:95
-msgid "Move selected windows workstations into the following GOsa department"
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
 msgstr ""
 
-#: setup/setup_migrate.tpl:100
-#, fuzzy
-msgid "Move selected workstations"
-msgstr "Выберите чтобы посмотреть рабочие станции"
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
+msgstr ""
 
-#: setup/setup_migrate.tpl:101
-msgid "What will be done here"
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
 msgstr ""
 
-#: setup/setup_migrate.tpl:113
-msgid "Move groups into configured group tree"
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
 msgstr ""
 
-#: setup/setup_migrate.tpl:116
+#: plugins/generic/dashBoard/Register/register.tpl:33
 msgid ""
-"This dialog allows moving a couple of groups to the configured group tree. "
-"Doing this may straighten your LDAP service."
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
 msgstr ""
 
-#: setup/setup_migrate.tpl:119
+#: plugins/generic/dashBoard/Register/register.tpl:34
 msgid ""
-"Be careful with this option! There may be references pointing to these "
-"groups. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
 msgstr ""
 
-#: setup/setup_migrate.tpl:122
-msgid "Move selected groups into this group tree"
+#: plugins/generic/dashBoard/Register/register.tpl:35
+msgid ""
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
 msgstr ""
 
-#: setup/setup_migrate.tpl:153 setup/setup_migrate.tpl:205
-#: setup/setup_migrate.tpl:254 setup/setup_migrate.tpl:372
-#: setup/setup_migrate.tpl:425 setup/setup_migrate.tpl:469
-#: setup/setup_migrate.tpl:512 setup/setup_migrate.tpl:556
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
 #, fuzzy
-msgid "Hide changes"
-msgstr "Удалить телефонный аккаунт"
+msgid "Registration complete"
+msgstr "не полный"
 
-#: setup/setup_migrate.tpl:155 setup/setup_migrate.tpl:207
-#: setup/setup_migrate.tpl:237 setup/setup_migrate.tpl:374
-#: setup/setup_migrate.tpl:427 setup/setup_migrate.tpl:472
-#: setup/setup_migrate.tpl:515 setup/setup_migrate.tpl:559
+#: plugins/generic/dashBoard/Register/register.tpl:71
 #, fuzzy
-msgid "Show changes"
-msgstr "Показать телефоны"
+msgid "GOsa instance sucessfully registered"
+msgstr "Настройка завершена"
+
+#: plugins/generic/dashBoard/Register/register.tpl:82
+#, fuzzy
+msgid "GOsa instance will not be registered"
+msgstr "Данные, передаваемые в течение этого сеанса, не будут зашифрованы."
 
-#: setup/setup_migrate.tpl:168
-msgid "Move users into configured user tree"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
+msgid ""
+"Communciation with the backend failed! Please check your internet connection!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:170
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
 msgid ""
-"This dialog allows moving a couple of users to the configured user tree. "
-"Doing this may straighten your LDAP service."
+"Authentication failed, please check combination of username and password!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:173
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
 msgid ""
-"Be careful with this option! There may be references pointing to these "
-"users. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:176
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
 #, fuzzy
-msgid "Move selected users into this people tree"
-msgstr "Создать шаблон"
+msgid "Notifications"
+msgstr "Специальность"
 
-#: setup/setup_migrate.tpl:219
-#, fuzzy
-msgid "Migrate GOsa 2.5 administrative accounts"
-msgstr "Создать настройки запись эл. почты"
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
+msgstr ""
 
-#: setup/setup_migrate.tpl:221
+#: plugins/generic/dashBoard/dashBoard.tpl:7
 msgid ""
-"This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
-"useable accounts."
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:257 setup/setup_ldap.tpl:65
+#: plugins/generic/dashBoard/dashBoard.tpl:13
 #, fuzzy
-msgid "Reload"
-msgstr "чтение"
+msgid "GOsa dash board"
+msgstr "Почтовые настройки пользователя"
 
-#: setup/setup_migrate.tpl:273
-#, fuzzy
-msgid "Abort"
-msgstr "Порт"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
+msgstr ""
 
-#: setup/setup_migrate.tpl:275
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
 #, fuzzy
-msgid "Create a new GOsa administrator account"
-msgstr "Создать настройки запись эл. почты"
-
-#: setup/setup_migrate.tpl:278
-msgid ""
-"This dialog will automatically add a new super administrator to your LDAP "
-"tree."
-msgstr ""
+msgid "Schema missing"
+msgstr "Настройки Samba"
 
-#: setup/setup_migrate.tpl:307
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
 #, fuzzy
-msgid "Password (again)"
-msgstr "Хэширование паролей"
+msgid "Plugin status"
+msgstr "Состояние системы"
 
-#: setup/setup_migrate.tpl:333
-msgid ""
-"The listed departments are currently invisible in the GOsa user interface. "
-"If you want to change this for a couple of entries, select them and use the "
-"migrate button below."
-msgstr ""
+#: plugins/generic/references/class_reference.inc:70
+#, fuzzy
+msgid "Role membership"
+msgstr "Членство в группах"
 
-#: setup/setup_migrate.tpl:334 setup/setup_migrate.tpl:389
-#: setup/setup_migrate.tpl:445 setup/setup_migrate.tpl:489
-#: setup/setup_migrate.tpl:533
-msgid ""
-"If you want to know what will be done when migrating the selected entries, "
-"use the 'Show changes' button to see the LDIF."
-msgstr ""
+#: plugins/generic/references/class_reference.inc:76
+#, fuzzy
+msgid "Object group membership"
+msgstr "Объект группы"
 
-#: setup/setup_migrate.tpl:388
-msgid ""
-"The listed users are currently invisible in the GOsa user interface. If you "
-"want to change this for a couple of users, just select them and use the "
-"'Migrate' button below."
-msgstr ""
+#: plugins/generic/references/class_reference.inc:82
+#, fuzzy
+msgid "Department manager"
+msgstr "Управление подразделениями"
 
-#: setup/setup_migrate.tpl:444
-msgid ""
-"The listed devices are currently invisible in the GOsa interface. If you "
-"want to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
-msgstr ""
+#: plugins/generic/references/class_reference.inc:88
+#, fuzzy
+msgid "User manager"
+msgstr "Имя пользователя"
 
-#: setup/setup_migrate.tpl:488
-msgid ""
-"The listed services are currently invalid for the GOsa version you are going "
-"to install. If you want to update a couple of service, just select them and "
-"use the 'Migrate' button below."
-msgstr ""
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+#, fuzzy
+msgid "Object information"
+msgstr "Личная информация"
 
-#: setup/setup_migrate.tpl:532
-msgid ""
-"The listed menus are currently invisible in the GOsa interface. If you want "
-"to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
-msgstr ""
+#: plugins/generic/references/contents.tpl:7
+#, fuzzy
+msgid "Show raw object entry"
+msgstr "Объединения"
 
-#: setup/class_setupStep_Finish.inc:38
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
 #, fuzzy
-msgid "Write configuration file"
-msgstr "Настроить"
+msgid "Last modification"
+msgstr "Специальность"
 
-#: setup/class_setupStep_Finish.inc:39
+#: plugins/generic/references/contents.tpl:29
 #, fuzzy
-msgid "Finish - write the configuration file"
-msgstr "Настроить"
+msgid "Object references"
+msgstr "Ссылки"
 
-#: setup/class_setupStep_Finish.inc:104
+#: plugins/generic/references/contents.tpl:45
 #, fuzzy
-msgid ""
-"Your configuration file is currently world readable. Please update the file "
-"permissions!"
+msgid "ACL trace"
+msgstr "Тип"
+
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
 msgstr ""
-"Не удается прочитать файл настройки GOsa %s/gosa.conf. Операция прервана."
 
-#: setup/class_setupStep_Finish.inc:106
+#: plugins/generic/references/class_aclResolver.inc:193
 #, fuzzy
-msgid "The configuration is currently not readable or it does not exists."
-msgstr ""
-"Не удается прочитать файл настройки GOsa %s/gosa.conf. Операция прервана."
+msgid "ACLs"
+msgstr "Доступ"
 
-#: setup/class_setupStep_Finish.inc:115
-#, fuzzy, php-format
-msgid ""
-"After downloading and placing the file under %s, please make sure that the "
-"user the webserver is running with is able to read %s, while other users "
-"shouldn't. You may want to execute these commands to achieve this "
-"requirement:"
+#: plugins/generic/references/class_aclResolver.inc:198
+#, php-format
+msgid "List of effective ACLs for '%s'"
 msgstr ""
-"Поместив файл gosa.conf в каталог /etc/gosa, убедитесь, что только "
-"пользователь веб-сервера может его читать. Для этого вам, возможно, "
-"понадобится выполнить следующие команды:"
 
-#: setup/class_setupStep_Checks.inc:38 setup/class_setupStep_Checks.inc:39
-msgid "Installation check"
-msgstr ""
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
+#, fuzzy
+msgid "Object permissions"
+msgstr "Настройки Samba"
 
-#: setup/class_setupStep_Checks.inc:40
-msgid "Basic checks for PHP compatibility and extensions"
-msgstr ""
+#: plugins/generic/references/class_aclResolver.inc:311
+#, fuzzy
+msgid "create"
+msgstr "Создать"
 
-#: setup/class_setupStep_Checks.inc:64
+#: plugins/generic/references/class_aclResolver.inc:312
 #, fuzzy
-msgid "Checking PHP version"
-msgstr "Проверка версии PHP (>=4.1.0)"
+msgid "remove"
+msgstr "Удалить"
 
-#: setup/class_setupStep_Checks.inc:65
-#, fuzzy, php-format
-msgid "PHP must be of version %s or above."
-msgstr ""
-"У вас должна быть установка PHP версии не ниже 4.1.0, так как в ней "
-"реализованы некоторые новые функции и исправлены некоторые ошибки."
+#: plugins/generic/references/class_aclResolver.inc:313
+#, fuzzy
+msgid "move"
+msgstr "Удалить"
 
-#: setup/class_setupStep_Checks.inc:66
-msgid "Please upgrade to a supported version."
-msgstr ""
+#, fuzzy
+#~ msgid "List of items"
+#~ msgstr "Список пользователей"
 
-#: setup/class_setupStep_Checks.inc:73
-msgid "GOsa requires this module to talk with your LDAP server."
-msgstr ""
+#, fuzzy
+#~ msgid "Edit item"
+#~ msgstr "Изменить сертификаты"
 
-#: setup/class_setupStep_Checks.inc:81
-msgid "GOsa requires this module for an internationalized interface."
-msgstr ""
+#, fuzzy
+#~ msgid "Remove item"
+#~ msgstr "Удалить изображение"
 
-#: setup/class_setupStep_Checks.inc:89
-msgid "GOsa requires this module for the samba integration."
-msgstr ""
+#, fuzzy
+#~ msgid "Container"
+#~ msgstr "Продолжить"
 
-#: setup/class_setupStep_Checks.inc:97
-msgid ""
-"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
-"encryption."
-msgstr ""
+#, fuzzy
+#~ msgid "Config management"
+#~ msgstr "Управление системами"
 
-#: setup/class_setupStep_Checks.inc:105
-msgid "GOsa requires this module to talk to an IMAP server."
-msgstr ""
+#, fuzzy
+#~ msgid "Distribution"
+#~ msgstr "Описание"
 
-#: setup/class_setupStep_Checks.inc:112
 #, fuzzy
-msgid "mbstring"
-msgstr "Настройки Samba"
+#~ msgid "Component"
+#~ msgstr "Администраторы домена"
 
-#: setup/class_setupStep_Checks.inc:113
-msgid "GOsa requires this module to handle unicode strings."
-msgstr ""
+#~ msgid "Home phone"
+#~ msgstr "Домашний телефон"
 
-#: setup/class_setupStep_Checks.inc:120
 #, fuzzy
-msgid "MySQL"
-msgstr "Ошибка LDAP:"
+#~ msgid "Organizational unit"
+#~ msgstr "Организация"
 
-#: setup/class_setupStep_Checks.inc:121
 #, fuzzy
-msgid ""
-"GOsa requires this module to communicate with several supported databases."
-msgstr ""
-"Необходим для чтения отчетов о полученных факсимильных сообщениях из базы "
-"данных."
+#~ msgid "Max"
+#~ msgstr "Май"
 
-#: setup/class_setupStep_Checks.inc:138
-msgid "samba hash generator"
-msgstr ""
+#, fuzzy
+#~ msgid "Min"
+#~ msgstr "Начало"
 
-#: setup/class_setupStep_Checks.inc:139
-msgid "GOsa requires this command to synchronize POSIX and samba passwords."
-msgstr ""
+#~ msgid "Welcome %s!"
+#~ msgstr "Добро пожаловать %s!"
 
-#: setup/class_setupStep_Checks.inc:140
-msgid ""
-"Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
-msgstr ""
+#, fuzzy
+#~ msgid "The folder %s specified for %s:%s cannot be used for reading!"
+#~ msgstr ""
+#~ "Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s"
+#~ "\"."
 
-#: setup/class_setupStep_Checks.inc:153
-msgid "imagick"
-msgstr ""
+#, fuzzy
+#~ msgid "Object info"
+#~ msgstr "Имя объекта"
 
-#: setup/class_setupStep_Checks.inc:154
-msgid "GOsa requires this extension to handle images."
-msgstr ""
+#, fuzzy
+#~ msgid "Acls"
+#~ msgstr "Все"
 
-#: setup/class_setupStep_Checks.inc:169
 #, fuzzy
-msgid "compression module"
-msgstr "Параметры доступа"
+#~ msgid ""
+#~ "The file '%s' specified for '%s:%s' cannot be created neither be used for "
+#~ "writing!"
+#~ msgstr ""
+#~ "Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s"
+#~ "\"."
 
-#: setup/class_setupStep_Checks.inc:170
-msgid "GOsa requires this extension to handle snapshots."
-msgstr ""
+#, fuzzy
+#~ msgid "The values for 'New password' and 'Repeated new password' differ!"
+#~ msgstr "Введенные пароли не совпадают!"
 
-#: setup/class_setupStep_Checks.inc:181
 #, fuzzy
-msgid ""
-"register_globals is a PHP mechanism to register all global variables to be "
-"accessible from scripts without changing the scope. This may be a security "
-"risk."
-msgstr ""
-"register_globals - механизм PHP, позволяющий делать все глобальные "
-"переменные доступными из сценария без смены области действия. Это может быть "
-"нарушением безопасности. Тем не менее, GOsa будет работать в любом случае."
+#~ msgid "The password used as new and current are too similar!"
+#~ msgstr "Новый и текущий пароли слишком похожи."
 
-#: setup/class_setupStep_Checks.inc:182
 #, fuzzy
-msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
-msgstr "Проверка значения параметра register_globals (должно быть: off)"
+#~ msgid "The password used as new is to short!"
+#~ msgstr "Новый пароль слишком короткий."
 
-#: setup/class_setupStep_Checks.inc:190
-msgid "PHP uses this value for the garbage collector to delete old sessions."
-msgstr ""
+#, fuzzy
+#~ msgid "External password changer reported a problem: %s"
+#~ msgstr "При попытке сменить пароль извне возникла проблема: "
 
-#: setup/class_setupStep_Checks.inc:191
-msgid ""
-"Setting this value to one day will prevent loosing session and cookies "
-"before they really timeout."
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "Command %s specified as post modify action for plugin %s does not exist!"
+#~ msgstr ""
+#~ "Не удается найти команду \"%s\", указанную в поле POSTCREATE модуля \"%s"
+#~ "\"."
 
-#: setup/class_setupStep_Checks.inc:192
 #, fuzzy
-msgid ""
-"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
-"higher."
-msgstr "Проверка значения параметра register_globals (должно быть: off)"
+#~ msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#~ msgstr "Ошибка при подключении к LDAP-серверу. Ответ сервера: \"%s\"."
 
-#: setup/class_setupStep_Checks.inc:199 setup/class_setupStep_Checks.inc:215
-#: setup/class_setupStep_Checks.inc:231 setup/class_setupStep_Checks.inc:247
 #, fuzzy
-msgid "Off"
-msgstr "не в сети"
+#~ msgid "Username / UID is not unique inside the LDAP tree!"
+#~ msgstr ""
+#~ "Имя/идентификатор пользователя не уникальны. Проверьте свою базу данных "
+#~ "LDAP."
 
-#: setup/class_setupStep_Checks.inc:200
 #, fuzzy
-msgid ""
-"In Order to use GOsa without any trouble, the session.auto_register option "
-"in your php.ini should be set to 'Off'."
-msgstr "Проверка значения параметра register_globals (должно быть: off)"
+#~ msgid ""
+#~ "Username / UID is not unique inside the LDAP tree. Please contact your "
+#~ "Administrator."
+#~ msgstr ""
+#~ "Имя/идентификатор пользователя не уникальны. Проверьте свою базу данных "
+#~ "LDAP."
 
-#: setup/class_setupStep_Checks.inc:201
 #, fuzzy
-msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
-msgstr "Проверка значения параметра register_globals (должно быть: off)"
+#~ msgid "LDAP server returned: %s"
+#~ msgstr "LDAP-сервер"
+
+#, fuzzy
+#~ msgid ""
+#~ "Found multiple locks for object to be locked. This should not happen - "
+#~ "cleaning up multiple references."
+#~ msgstr ""
+#~ "Для блокируемого объекта обнаружено несколько блокировок. Этого быть не "
+#~ "должно, проверьте работу LDAP."
+
+#, fuzzy
+#~ msgid "The size limit of %d entries is exceed!"
+#~ msgstr "Найдено более %d объектов."
+
+#~ msgid ""
+#~ "Set the new size limit to %s and show me this message if the limit still "
+#~ "exceeds"
+#~ msgstr ""
+#~ "Установить новое значение лимита в %s и показать мне это сообщение если "
+#~ "лимит будет исчерпан."
+
+#, fuzzy
+#~ msgid "incomplete"
+#~ msgstr "не полный"
 
-#: setup/class_setupStep_Checks.inc:208
-msgid ""
-"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
-"errors that are not reproducable! Increase it for larger setups."
-msgstr ""
+#, fuzzy
+#~ msgid "You're going to edit the LDAP entry/entries %s"
+#~ msgstr "Вы собираетесь удалить объект %s."
 
-#: setup/class_setupStep_Checks.inc:209
-msgid ""
-"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
-msgstr ""
+#, fuzzy
+#~ msgid "Apply filter"
+#~ msgstr "Шаблон"
 
-#: setup/class_setupStep_Checks.inc:216
-msgid ""
-"This option influences the PHP output handling. Turn this Option off, to "
-"increase performance."
-msgstr ""
+#~ msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+#~ msgstr "*АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЭЮЯ0123456789"
 
-#: setup/class_setupStep_Checks.inc:217
-msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot write to revision file!"
+#~ msgstr "Удалить"
 
-#: setup/class_setupStep_Checks.inc:224
-msgid "The Execution time should be at least 30 seconds."
-msgstr ""
+#, fuzzy
+#~ msgid "LDAP warning"
+#~ msgstr "Экспорт в LDIF"
 
-#: setup/class_setupStep_Checks.inc:225
-msgid ""
-"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot get schema information from server. No schema check possible!"
+#~ msgstr "Не удается получить информацию о схемах. Проверка схем невозможна!"
 
-#: setup/class_setupStep_Checks.inc:232
-msgid ""
-"Increase the server security by setting expose_php to 'off'. PHP won't send "
-"any information about the server you are running in this case."
-msgstr ""
+#, fuzzy
+#~ msgid "Used to store account specific informations."
+#~ msgstr "Учетная запись"
 
-#: setup/class_setupStep_Checks.inc:233
-msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
-msgstr ""
+#, fuzzy
+#~ msgid "Missing required object class '%s'!"
+#~ msgstr "Список подразделений"
 
-#: setup/class_setupStep_Checks.inc:239
 #, fuzzy
-msgid "On"
-msgstr "Параметры"
+#~ msgid "Missing optional object class '%s'!"
+#~ msgstr "Список подразделений"
 
-#: setup/class_setupStep_Checks.inc:240
-msgid ""
-"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
-"escape all quotes in strings in this case."
-msgstr ""
+#, fuzzy
+#~ msgid "Version mismatch for required object class '%s' (!=%s)!"
+#~ msgstr "Список подразделений"
 
-#: setup/class_setupStep_Checks.inc:241
 #, fuzzy
-msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
-msgstr "Проверка значения параметра register_globals (должно быть: off)"
+#~ msgid ""
+#~ "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to "
+#~ "exist."
+#~ msgstr ""
+#~ "Не удается найти команду \"%s\", указанную в поле POSTREMOVE модуля \"%s"
+#~ "\"."
 
-#: setup/class_setupStep_Checks.inc:248
-msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot allocate a free ID:"
+#~ msgstr "Слишком много пользователей, невозможно создать идентификатор!"
 
-#: setup/class_setupStep_Checks.inc:249
 #, fuzzy
-msgid ""
-"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
-msgstr "Проверка значения параметра register_globals (должно быть: off)"
+#~ msgid "Cannot allocate a free ID!"
+#~ msgstr "Слишком много пользователей, невозможно создать идентификатор!"
 
-#: setup/class_setupStep_Checks.inc:259
 #, fuzzy
-msgid "Configuration writeable"
-msgstr "Настроить"
+#~ msgid "Surename"
+#~ msgstr "Имя сервера"
 
-#: setup/class_setupStep_Checks.inc:260
 #, fuzzy
-msgid "The configuration file can't be written"
-msgstr "Настроить"
+#~ msgid "External password changer reported a problem: %s."
+#~ msgstr "При попытке сменить пароль извне возникла проблема: "
 
-#: setup/class_setupStep_Checks.inc:261
-#, php-format
-msgid ""
-"GOsa reads its configuration from a file located in (%s/%s). The setup can "
-"write the configuration directly if it is writeable."
-msgstr ""
+#~ msgid "Username"
+#~ msgstr "Имя пользователя"
+
+#~ msgid ""
+#~ "You've successfully changed your password. Remember to change all "
+#~ "programms configured to use it as well."
+#~ msgstr ""
+#~ "Вы успешно сменили свой пароль. Не забудьте изменить нужные настройки "
+#~ "использующих его программ."
+
+#~ msgid "Admin DN"
+#~ msgstr "DN администратора"
 
-#: setup/setup_config3.tpl:2
 #, fuzzy
-msgid "GOsa core settings"
-msgstr "Почтовые настройки пользователя"
+#~ msgid "Grant permission to owner"
+#~ msgstr "Удалить"
 
-#: setup/setup_config3.tpl:6
 #, fuzzy
-msgid "Enable primary group filter"
-msgstr "Показать группы пользователей"
+#~ msgid "Password change not allowed"
+#~ msgstr "Сменить пароль"
 
-#: setup/setup_config3.tpl:18
 #, fuzzy
-msgid "Display summary in listings"
-msgstr "Шаблон для групп"
+#~ msgid "Preferred langage"
+#~ msgstr "Язык по умолчанию"
 
-#: setup/setup_config3.tpl:30
 #, fuzzy
-msgid "Honour administrative units"
-msgstr "Управление группами"
+#~ msgid "Posix settings"
+#~ msgstr "Атрибуты UNIX"
 
-#: setup/setup_config3.tpl:42
 #, fuzzy
-msgid "Smarty compile directory"
-msgstr "Домашний каталог"
+#~ msgid "You have no permission to set your password!"
+#~ msgstr "У вас недостаточно прав для смены своего пароля."
 
-#: setup/setup_config3.tpl:51
-msgid "SNMP community"
-msgstr ""
+#~ msgid ""
+#~ "You have changed the method your password is stored in the ldap database. "
+#~ "For that reason you've to enter your password at this point again. GOsa "
+#~ "will then encode it with the selected method."
+#~ msgstr ""
+#~ "Вы изменили метод шифрования паролей в базе LDAP. В связи с этим введите "
+#~ "свой пароль снова. GOsa произведет шифрование в соответствии с выбраной "
+#~ "схемой."
 
-#: setup/setup_config3.tpl:60
 #, fuzzy
-msgid "Path for PPD storage"
-msgstr "Хэширование паролей"
+#~ msgid "Posix"
+#~ msgstr "Прокси-сервер"
 
-#: setup/setup_config3.tpl:77
 #, fuzzy
-msgid "Path for kiosk profile storage"
-msgstr "Почтовые настройки пользователя"
+#~ msgid "Edit posix properties"
+#~ msgstr "Изменить свойства"
 
-#: setup/setup_config3.tpl:96
-msgid "SUDO role base"
-msgstr ""
+#, fuzzy
+#~ msgid "Acl"
+#~ msgstr "Все"
 
-#: setup/setup_config3.tpl:115
 #, fuzzy
-msgid "Mail queue script"
-msgstr "Путь к сценариям"
+#~ msgid "winstations"
+#~ msgstr "Рабочая станция"
 
-#: setup/setup_config3.tpl:134
 #, fuzzy
-msgid "Notification script"
-msgstr "Изменить сертификаты"
+#~ msgid "Sytem trust"
+#~ msgstr "Системные доверия"
 
-#: setup/setup_config3.tpl:153
-msgid "Enable edit locking"
-msgstr ""
+#, fuzzy
+#~ msgid "Processing"
+#~ msgstr "Права для членов группы"
 
-#: setup/setup_config3.tpl:174
-msgid "Gosa support daemon"
-msgstr ""
+#, fuzzy
+#~ msgid "Created"
+#~ msgstr "Создать"
 
-#: setup/setup_config3.tpl:193
 #, fuzzy
-msgid "Daemon timeout"
-msgstr "Домен"
+#~ msgid "No Content"
+#~ msgstr "Контакт"
 
-#: setup/setup_config3.tpl:207
-msgid "Login and session"
-msgstr ""
+#, fuzzy
+#~ msgid "Reset Content"
+#~ msgstr "Контакт"
 
-#: setup/setup_config3.tpl:210
 #, fuzzy
-msgid "Login attribute"
-msgstr "Атрибут DN пользователей"
+#~ msgid "Partial Content"
+#~ msgstr "Почтовый индекс"
 
-#: setup/setup_config3.tpl:221
-msgid "Enforce register_globals to be deactivated"
-msgstr ""
+#, fuzzy
+#~ msgid "Multi-Status"
+#~ msgstr "Состояние"
 
-#: setup/setup_config3.tpl:233
-msgid "Enforce encrypted connections"
-msgstr ""
+#, fuzzy
+#~ msgid "See Other"
+#~ msgstr "Удалить"
 
-#: setup/setup_config3.tpl:245
 #, fuzzy
-msgid "Warn if session is not encrypted"
-msgstr "Данные, передаваемые в течение этого сеанса, не будут зашифрованы."
+#~ msgid "Not Modified"
+#~ msgstr "Сменить пароль"
 
-#: setup/setup_config3.tpl:257
 #, fuzzy
-msgid "Remember dialog filter settings"
-msgstr "Общая информация о пользователе"
+#~ msgid "Use Proxy"
+#~ msgstr "Прокси-сервер"
 
-#: setup/setup_config3.tpl:269
 #, fuzzy
-msgid "Session lifetime"
-msgstr "Конфликт сеансов"
+#~ msgid "(reserviert)"
+#~ msgstr "серверы"
 
-#: setup/setup_config3.tpl:278
-msgid "Debugging"
-msgstr ""
+#, fuzzy
+#~ msgid "Not Found"
+#~ msgstr "Сменить пароль"
 
-#: setup/setup_config3.tpl:282
 #, fuzzy
-msgid "Show PHP errors"
-msgstr "Ошибка LDAP:"
+#~ msgid "Method Not Allowed"
+#~ msgstr "Сменить пароль"
 
-#: setup/setup_config3.tpl:294
 #, fuzzy
-msgid "Maximum LDAP query time"
-msgstr "Размер квоты"
+#~ msgid "Proxy Authentication Required"
+#~ msgstr "Рабочая станция Windows"
 
-#: setup/setup_config3.tpl:312
-msgid "Log LDAP statistics"
-msgstr ""
+#, fuzzy
+#~ msgid "Gone"
+#~ msgstr "нет"
 
-#: setup/setup_config3.tpl:324
 #, fuzzy
-msgid "Debug level"
-msgstr "Уровень информативности"
+#~ msgid "Precondition Failed"
+#~ msgstr "Настроить"
 
-#: setup/setup_config3.tpl:329 setup/setup_config3.tpl:332
 #, fuzzy
-msgid "Disabled"
-msgstr "отключен"
+#~ msgid "Expectation Failed"
+#~ msgstr "Невозможно выполнить запрос к базе данных!"
 
-#: setup/setup_config3.tpl:330 setup/setup_config3.tpl:333
 #, fuzzy
-msgid "Enabled"
-msgstr "отключен"
+#~ msgid "Locked"
+#~ msgstr "Список пользователей"
 
-#: setup/setup_feedback.tpl:5
 #, fuzzy
-msgid "Feedback sucessfully send"
-msgstr "Настройка завершена"
+#~ msgid "Unordered Collection"
+#~ msgstr "Настройки Samba"
 
-#: setup/setup_feedback.tpl:15
-msgid "Subscribe to the gosa-announce mailinglist"
-msgstr ""
+#, fuzzy
+#~ msgid "Internal Server Error"
+#~ msgstr "Терминал-сервер"
 
-#: setup/setup_feedback.tpl:18
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to subscribe you to the gosa-announce mailing list. You've to confirm "
-"this by mail."
-msgstr ""
+#, fuzzy
+#~ msgid "Not Implemented"
+#~ msgstr "не полный"
 
-#: setup/setup_feedback.tpl:39
 #, fuzzy
-msgid "Mail address"
-msgstr "MAC-адрес"
+#~ msgid "Service Unavailable"
+#~ msgstr "Имя сервера"
 
-#: setup/setup_feedback.tpl:50
-msgid "Send feedback to the GOsa project team"
-msgstr ""
+#, fuzzy
+#~ msgid "Gateway Time-out"
+#~ msgstr "Домен"
 
-#: setup/setup_feedback.tpl:53
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to submit your form anonymously."
-msgstr ""
+#, fuzzy
+#~ msgid "GOsa settings 3/3"
+#~ msgstr "Почтовые настройки пользователя"
 
-#: setup/setup_feedback.tpl:59
-msgid "Did the setup procedure help you to get started?"
-msgstr ""
+#, fuzzy
+#~ msgid "Maximum LDAP query time must be a numeric value!"
+#~ msgstr "Размер квоты"
 
-#: setup/setup_feedback.tpl:62 setup/setup_feedback.tpl:80
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
 #, fuzzy
-msgid "Yes"
-msgstr "Системы"
+#~ msgid "Create a basic, single site configuration"
+#~ msgstr "Базы данных"
 
-#: setup/setup_feedback.tpl:64 setup/setup_feedback.tpl:82
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
 #, fuzzy
-msgid "No"
-msgstr "нет"
+#~ msgid "Find every possible configuration error"
+#~ msgstr "Настроить"
 
-#: setup/setup_feedback.tpl:69
-msgid "If not, what problems did you encounter"
-msgstr ""
+#, fuzzy
+#~ msgid "To continue..."
+#~ msgstr "Продолжение настройки..."
 
-#: setup/setup_feedback.tpl:77
-msgid "Is this the first time you use GOsa?"
-msgstr ""
+#~ msgid "Samba settings"
+#~ msgstr "Настройки Samba"
 
-#: setup/setup_feedback.tpl:83
-msgid "I use it since"
-msgstr ""
+#, fuzzy
+#~ msgid "Samba SID"
+#~ msgstr "Samba"
 
-#: setup/setup_feedback.tpl:84
-msgid "Select the year since when you are using GOsa"
-msgstr ""
+#, fuzzy
+#~ msgid "RID base"
+#~ msgstr "Базы данных"
 
-#: setup/setup_feedback.tpl:91
-msgid "What operating system / distribution do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Workstation container"
+#~ msgstr "Имя рабочий станции"
 
-#: setup/setup_feedback.tpl:99
-msgid "What web server do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Samba SID mapping"
+#~ msgstr "Samba"
 
-#: setup/setup_feedback.tpl:107
-msgid "What PHP version do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Timezone"
+#~ msgstr "Мобильный"
 
-#: setup/setup_feedback.tpl:115
 #, fuzzy
-msgid "GOsa version"
-msgstr "Общая информация о пользователе"
+#~ msgid "Please choose your preferred timezone here"
+#~ msgstr "Язык по умолчанию"
 
-#: setup/setup_feedback.tpl:123
-msgid "LDAP"
-msgstr ""
+#, fuzzy
+#~ msgid "Additional GOsa settings"
+#~ msgstr "Дополнительные записи в fstab"
 
-#: setup/setup_feedback.tpl:127
-msgid "What kind of LDAP server(s) do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Government mode"
+#~ msgstr "в папку"
 
-#: setup/setup_feedback.tpl:133
-msgid "How many objects are in your LDAP?"
-msgstr ""
+#, fuzzy
+#~ msgid "GOsa logging"
+#~ msgstr "Почтовые настройки пользователя"
 
-#: setup/setup_feedback.tpl:140
-msgid "Features"
-msgstr ""
+#, fuzzy
+#~ msgid "Mail settings"
+#~ msgstr "Почтовые настройки пользователя"
 
-#: setup/setup_feedback.tpl:143
-msgid "What features of GOsa do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Mail method"
+#~ msgstr "Почтовые настройки"
 
-#: setup/setup_feedback.tpl:153
-msgid "What features do you want to see in future versions of GOsa?"
-msgstr ""
+#, fuzzy
+#~ msgid "Vacation templates"
+#~ msgstr "Шаблон рабочей станции"
 
-#: setup/setup_feedback.tpl:160
-msgid "Send feedback"
-msgstr ""
+#, fuzzy
+#~ msgid "Snapshots / Undo"
+#~ msgstr "Приложение"
 
-#: setup/setup_finish.tpl:3
 #, fuzzy
-msgid "Create your configuration file"
-msgstr "Настроить"
+#~ msgid "Enable snapshots"
+#~ msgstr "Создать настройки запись эл. почты"
 
-#: setup/setup_finish.tpl:10
-msgid "Depending on the user name your webserver is running on:"
-msgstr ""
+#, fuzzy
+#~ msgid "Snapshot base"
+#~ msgstr "Приложение"
 
-#: setup/setup_finish.tpl:28
 #, fuzzy
-msgid "Download configuration"
-msgstr "Системная информация"
+#~ msgid "GOsa settings 2/3"
+#~ msgstr "Почтовые настройки пользователя"
 
-#: setup/setup_finish.tpl:33
 #, fuzzy
-msgid "Status: "
-msgstr "Состояние"
+#~ msgid "Customize special parameters"
+#~ msgstr "Изменить параметры"
 
-#: setup/class_setupStep_Ldap.inc:53
 #, fuzzy
-msgid "LDAP setup"
-msgstr "LDAP-сервер"
+#~ msgid "Checking for invisible departments"
+#~ msgstr "Проверка поддержки gettext"
 
-#: setup/class_setupStep_Ldap.inc:54
 #, fuzzy
-msgid "LDAP connection setup"
-msgstr "Соединение..."
+#~ msgid "Checking for invisible users"
+#~ msgstr "Проверка поддержки gettext"
 
-#: setup/class_setupStep_Ldap.inc:55
-msgid ""
-"This dialog performs the basic configuration of the LDAP connectivity for "
-"GOsa."
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for users outside the people tree"
+#~ msgstr "Проверка модуля cups"
 
-#: setup/class_setupStep_Ldap.inc:112
-#, fuzzy, php-format
-msgid "Anonymous bind to server '%s' failed!"
-msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
+#, fuzzy
+#~ msgid "Checking for groups outside the groups tree"
+#~ msgstr "Проверка модуля cups"
 
-#: setup/class_setupStep_Ldap.inc:114
-#, fuzzy, php-format
-msgid "Bind as user '%s' failed!"
-msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
+#, fuzzy
+#~ msgid "Checking for duplicated UID numbers"
+#~ msgstr "Проверка поддержки gettext"
 
-#: setup/class_setupStep_Ldap.inc:119
-#, fuzzy, php-format
-msgid "Anonymous bind to server '%s' succeeded."
-msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
+#, fuzzy
+#~ msgid "Checking for duplicate GID numbers"
+#~ msgstr "Проверка поддержки gettext"
+
+#, fuzzy
+#~ msgid "Checking for old style USB devices"
+#~ msgstr "Проверка модуля gd"
+
+#, fuzzy
+#~ msgid "Checking for old services that have to be migrated"
+#~ msgstr "Проверка модуля cups"
 
-#: setup/class_setupStep_Ldap.inc:120
 #, fuzzy
-msgid "Please specify user and password!"
-msgstr "Введите свой пароль!"
+#~ msgid "Checking for old style application menus"
+#~ msgstr "Проверка поддержки gettext"
 
-#: setup/class_setupStep_Ldap.inc:122
-#, fuzzy, php-format
-msgid "Bind as user '%s' to server '%s' succeeded!"
-msgstr "Ошибка при регистрации. Ответ сервера: \"%s\"."
+#, fuzzy
+#~ msgid "Found %s duplicate values for attribute 'uidNumber'."
+#~ msgstr "Укажите корректный номер телефона."
 
-#: setup/setup_ldap.tpl:7
-msgid "Please choose the LDAP user to be used by GOsa"
-msgstr ""
+#, fuzzy
+#~ msgid "Found %s duplicate values for attribute 'gidNumber'."
+#~ msgstr "Укажите корректный номер телефона."
 
-#: setup/setup_ldap.tpl:25
 #, fuzzy
-msgid "LDAP connection"
-msgstr "Отключение"
+#~ msgid "Move"
+#~ msgstr "Режим"
 
-#: setup/setup_ldap.tpl:29
-msgid "Location name"
-msgstr "Местоположение"
+#, fuzzy
+#~ msgid "Cannot migrate department '%s':"
+#~ msgstr "Список подразделений"
 
-#: setup/setup_ldap.tpl:37
 #, fuzzy
-msgid "Connection URI"
-msgstr "Подключение"
+#~ msgid "GOsa 2.5 administrative accounts found: %s"
+#~ msgstr "Создать настройки запись эл. почты"
 
-#: setup/setup_ldap.tpl:45
 #, fuzzy
-msgid "TLS connection"
-msgstr "Соединение..."
+#~ msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
+#~ msgstr "Создать настройки запись эл. почты"
 
-#: setup/setup_ldap.tpl:69
 #, fuzzy
-msgid "Authentication"
-msgstr "Рабочая станция Windows"
+#~ msgid "Cannot move users to the requested department!"
+#~ msgstr "Невозможно подключиться к серверу базы данных!"
 
-#: setup/setup_ldap.tpl:73
-msgid "Admin DN"
-msgstr "DN администратора"
+#, fuzzy
+#~ msgid "to"
+#~ msgstr "Отношение"
 
-#: setup/setup_ldap.tpl:86
-msgid "Automatically append LDAP base to admin DN"
-msgstr ""
+#, fuzzy
+#~ msgid "Copy '%s' to '%s' failed:"
+#~ msgstr "Ошибка при выполнении \"%s\"!"
 
-#: setup/setup_ldap.tpl:93
-msgid "Admin password"
-msgstr "Пароль администратора"
+#, fuzzy
+#~ msgid "Updating '%s' failed: %s"
+#~ msgstr "Служба печати"
 
-#: setup/setup_ldap.tpl:101
 #, fuzzy
-msgid "Schema based settings"
-msgstr "Настройки Samba"
+#~ msgid "Theme"
+#~ msgstr "Мобильный"
 
-#: setup/setup_ldap.tpl:105
-msgid "Use rfc2307bis compliant groups"
-msgstr ""
+#, fuzzy
+#~ msgid "Apache"
+#~ msgstr "Отмена"
 
-#: setup/setup_ldap.tpl:117
 #, fuzzy
-msgid "Current status"
-msgstr "Состояние системы"
+#~ msgid "People and group storage"
+#~ msgstr "Структурная единица (OU) пользователей"
 
-#: setup/class_setupStep_Migrate.inc:127 setup/class_setupStep_Migrate.inc:128
 #, fuzzy
-msgid "LDAP inspection"
-msgstr "Проверка конфигурации PHP"
+#~ msgid "People DN attribute"
+#~ msgstr "Атрибут DN пользователей"
 
-#: setup/class_setupStep_Migrate.inc:129
-msgid "Analyze your current LDAP for GOsa compatibility"
-msgstr ""
+#, fuzzy
+#~ msgid "People storage subtree"
+#~ msgstr "Структурная единица (OU) пользователей"
 
-#: setup/class_setupStep_Migrate.inc:135
 #, fuzzy
-msgid "Checking for root object"
-msgstr "Проверка модуля gd"
+#~ msgid "Group storage subtree"
+#~ msgstr "OU групп"
 
-#: setup/class_setupStep_Migrate.inc:141
 #, fuzzy
-msgid "Inspecting object classes in root object"
-msgstr "Проверка модуля gd"
+#~ msgid "Automatic UIDs"
+#~ msgstr "автоматически"
 
-#: setup/class_setupStep_Migrate.inc:147
 #, fuzzy
-msgid "Checking permission for LDAP database"
-msgstr "У вас недостаточно прав для удаления этого подразделения."
+#~ msgid "Number base for people/groups"
+#~ msgstr "База идентификаторов для пользователей/групп"
 
-#: setup/class_setupStep_Migrate.inc:153
 #, fuzzy
-msgid "Checking for invisible departments"
-msgstr "Проверка поддержки gettext"
+#~ msgid "Password settings"
+#~ msgstr "Почтовые настройки пользователя"
 
-#: setup/class_setupStep_Migrate.inc:158
 #, fuzzy
-msgid "Checking for invisible users"
-msgstr "Проверка поддержки gettext"
+#~ msgid "Password restrictions"
+#~ msgstr "Срок действия пароля истекает"
 
-#: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3211
 #, fuzzy
-msgid "Checking for super administrator"
-msgstr "Проверка дополнительных программ"
+#~ msgid "Password change hook"
+#~ msgstr "Сменить пароль"
 
-#: setup/class_setupStep_Migrate.inc:171
 #, fuzzy
-msgid "Checking for users outside the people tree"
-msgstr "Проверка модуля cups"
+#~ msgid ""
+#~ "GOsa always acts as admin and manages access rights internally. This is a "
+#~ "workaround till OpenLDAP's in directory ACI's are    fully implemented. "
+#~ "For this to work, we need the admin DN and the corresponding password."
+#~ msgstr ""
+#~ "Сейчас вам нужно указать параметры доступа к LDAP-серверу. GOsa всегда "
+#~ "выступает в роли администратора и управляет правами доступа "
+#~ "самостоятельно. Это временное решение, пока в OpenLDAP не будут "
+#~ "реализованы полностью средства контроля доступа (ACI) внутри каталогов. "
+#~ "Чтобы это решение работало, укажите DN (уникальное имя) администратора и "
+#~ "соответствующий пароль."
+
+#~ msgid ""
+#~ "Some basic LDAP parameters are tunable and affect the locations where "
+#~ "GOsa saves people and groups, including the way accounts get created. "
+#~ "Check the values below if the fit your needs."
+#~ msgstr ""
+#~ "Некоторые основные параметры LDAP изменяемы и влияют на расположение "
+#~ "сохраняемой информации о пользователях и группах, а также на способ "
+#~ "создания учетных записей. Проверьте, подходят ли вам значения, указанные "
+#~ "ниже."
 
-#: setup/class_setupStep_Migrate.inc:177
 #, fuzzy
-msgid "Checking for groups outside the groups tree"
-msgstr "Проверка модуля cups"
+#~ msgid "Enable primary group filter"
+#~ msgstr "Показать группы пользователей"
 
-#: setup/class_setupStep_Migrate.inc:184
-msgid "Checking for windows workstations outside the winstation tree"
-msgstr ""
+#, fuzzy
+#~ msgid "Display summary in listings"
+#~ msgstr "Шаблон для групп"
 
-#: setup/class_setupStep_Migrate.inc:190
 #, fuzzy
-msgid "Checking for duplicated UID numbers"
-msgstr "Проверка поддержки gettext"
+#~ msgid "Honour administrative units"
+#~ msgstr "Управление группами"
 
-#: setup/class_setupStep_Migrate.inc:196
 #, fuzzy
-msgid "Checking for duplicate GID numbers"
-msgstr "Проверка поддержки gettext"
+#~ msgid "Path for PPD storage"
+#~ msgstr "Хэширование паролей"
 
-#: setup/class_setupStep_Migrate.inc:202
 #, fuzzy
-msgid "Checking for old style USB devices"
-msgstr "Проверка модуля gd"
+#~ msgid "Mail queue script"
+#~ msgstr "Путь к сценариям"
 
-#: setup/class_setupStep_Migrate.inc:208
 #, fuzzy
-msgid "Checking for old services that have to be migrated"
-msgstr "Проверка модуля cups"
+#~ msgid "Notification script"
+#~ msgstr "Изменить сертификаты"
 
-#: setup/class_setupStep_Migrate.inc:214
 #, fuzzy
-msgid "Checking for old style application menus"
-msgstr "Проверка поддержки gettext"
+#~ msgid "Warn if session is not encrypted"
+#~ msgstr "Данные, передаваемые в течение этого сеанса, не будут зашифрованы."
 
-#: setup/class_setupStep_Migrate.inc:240 setup/class_setupStep_Migrate.inc:292
-#: setup/class_setupStep_Migrate.inc:357 setup/class_setupStep_Migrate.inc:421
-#: setup/class_setupStep_Migrate.inc:492 setup/class_setupStep_Migrate.inc:569
-#: setup/class_setupStep_Migrate.inc:653 setup/class_setupStep_Migrate.inc:796
-#: setup/class_setupStep_Migrate.inc:892
-#: setup/class_setupStep_Migrate.inc:2038
-#: setup/class_setupStep_Migrate.inc:2506
-#: setup/class_setupStep_Migrate.inc:2697
-#: setup/class_setupStep_Migrate.inc:2834
 #, fuzzy
-msgid "LDAP query failed"
-msgstr "Невозможно выполнить запрос к базе данных!"
+#~ msgid "Remember dialog filter settings"
+#~ msgstr "Общая информация о пользователе"
 
-#: setup/class_setupStep_Migrate.inc:241 setup/class_setupStep_Migrate.inc:293
-#: setup/class_setupStep_Migrate.inc:358 setup/class_setupStep_Migrate.inc:422
-#: setup/class_setupStep_Migrate.inc:493 setup/class_setupStep_Migrate.inc:570
-#: setup/class_setupStep_Migrate.inc:654 setup/class_setupStep_Migrate.inc:797
-#: setup/class_setupStep_Migrate.inc:893
-#: setup/class_setupStep_Migrate.inc:2039
-#: setup/class_setupStep_Migrate.inc:2507
-#: setup/class_setupStep_Migrate.inc:2698
-#: setup/class_setupStep_Migrate.inc:2835
-msgid "Possibly the 'root object' is missing."
-msgstr ""
+#, fuzzy
+#~ msgid "Session lifetime"
+#~ msgstr "Конфликт сеансов"
 
-#: setup/class_setupStep_Migrate.inc:263
-#, fuzzy, php-format
-msgid "Found %s duplicate values for attribute 'uidNumber'."
-msgstr "Укажите корректный номер телефона."
+#, fuzzy
+#~ msgid "Show PHP errors"
+#~ msgstr "Ошибка LDAP:"
 
-#: setup/class_setupStep_Migrate.inc:315
-#, fuzzy, php-format
-msgid "Found %s duplicate values for attribute 'gidNumber'."
-msgstr "Укажите корректный номер телефона."
-
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:583
-#: setup/class_setupStep_Migrate.inc:596
-#: setup/class_setupStep_Migrate.inc:1032
-#: setup/class_setupStep_Migrate.inc:1050
-#: setup/class_setupStep_Migrate.inc:1990
-#: setup/class_setupStep_Migrate.inc:2003
-#: setup/class_setupStep_Migrate.inc:2058
-#: setup/class_setupStep_Migrate.inc:2079
-#: setup/class_setupStep_Migrate.inc:2131
-#: setup/class_setupStep_Migrate.inc:3213
-msgid "Failed"
-msgstr "Ошибка"
+#, fuzzy
+#~ msgid "Maximum LDAP query time"
+#~ msgstr "Размер квоты"
 
-#: setup/class_setupStep_Migrate.inc:375
-#, php-format
-msgid ""
-"Found %s winstations outside the predefined winstation department ou '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Debug level"
+#~ msgstr "Уровень информативности"
 
-#: setup/class_setupStep_Migrate.inc:448
-#, fuzzy, php-format
-msgid "Found %s groups outside the configured tree '%s'."
-msgstr "Вы собираетесь удалить объект %s."
+#, fuzzy
+#~ msgid "Disabled"
+#~ msgstr "отключен"
 
-#: setup/class_setupStep_Migrate.inc:449 setup/class_setupStep_Migrate.inc:526
 #, fuzzy
-msgid "Move"
-msgstr "Режим"
+#~ msgid "Move selected workstations"
+#~ msgstr "Выберите чтобы посмотреть рабочие станции"
 
-#: setup/class_setupStep_Migrate.inc:525
-#, php-format
-msgid "Found %s user(s) outside the configured tree '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Hide changes"
+#~ msgstr "Удалить телефонный аккаунт"
 
-#: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:598
-#, php-format
-msgid ""
-"The specified user '%s' does not have full access to your ldap database."
-msgstr ""
+#, fuzzy
+#~ msgid "Show changes"
+#~ msgstr "Показать телефоны"
 
-#: setup/class_setupStep_Migrate.inc:662
-#, php-format
-msgid "Found %s user(s) that will not be visible in GOsa."
-msgstr ""
+#, fuzzy
+#~ msgid "Move selected users into this people tree"
+#~ msgstr "Создать шаблон"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#: setup/class_setupStep_Migrate.inc:1120
 #, fuzzy
-msgid "Migration error"
-msgstr "Дата"
+#~ msgid "Migrate GOsa 2.5 administrative accounts"
+#~ msgstr "Создать настройки запись эл. почты"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#, fuzzy, php-format
-msgid "Cannot migrate department '%s':"
-msgstr "Список подразделений"
+#, fuzzy
+#~ msgid "Abort"
+#~ msgstr "Порт"
 
-#: setup/class_setupStep_Migrate.inc:805
-#, php-format
-msgid "Found %s department(s) that will not be visible in GOsa."
-msgstr ""
+#, fuzzy
+#~ msgid "Refresh"
+#~ msgstr "Ссылки"
 
-#: setup/class_setupStep_Migrate.inc:1029
-#, fuzzy, php-format
-msgid "GOsa 2.5 administrative accounts found: %s"
-msgstr "Создать настройки запись эл. почты"
+#, fuzzy
+#~ msgid "Installation"
+#~ msgstr "Рабочая станция"
 
-#: setup/class_setupStep_Migrate.inc:1034
 #, fuzzy
-msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
-msgstr "Создать настройки запись эл. почты"
+#~ msgid "GOsa settings 1/3"
+#~ msgstr "Почтовые настройки пользователя"
 
-#: setup/class_setupStep_Migrate.inc:1051
-msgid "There is no GOsa administrator account inside your LDAP."
-msgstr ""
+#~ msgid "People storage ou"
+#~ msgstr "Структурная единица (OU) пользователей"
 
-#: setup/class_setupStep_Migrate.inc:1120
-#, php-format
-msgid "Cannot add ACL for user '%s':"
-msgstr ""
+#~ msgid "Group storage ou"
+#~ msgstr "OU групп"
 
-#: setup/class_setupStep_Migrate.inc:1158
-#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
-msgid "Input error"
-msgstr "Ошибка LDAP:"
-
-#: setup/class_setupStep_Migrate.inc:1158
-msgid "Uid"
-msgstr ""
+#~ msgid "The given password differ value is not numeric."
+#~ msgstr "Значение поля \"Квота\" некорректно."
 
-#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
-msgid "Password error"
-msgstr "Срок действия пароля истекает"
+#~ msgid "Available members"
+#~ msgstr "Доступные приложения"
 
-#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
-msgid "Provided passwords do not match!"
-msgstr "Введенные пароли не совпадают!"
+#~ msgid "Login screen"
+#~ msgstr "Служба печати"
 
-#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
-msgid "Specify a valid user ID!"
-msgstr "Введите корректное имя пользователя!"
+#~ msgid ""
+#~ "Please use your username and your password to log into the site "
+#~ "administration system."
+#~ msgstr ""
+#~ "Чтобы войти в систему<br> введите свои <i>имя пользователя</i> и "
+#~ "<i>пароль</i>."
 
-#: setup/class_setupStep_Migrate.inc:1201
-#, php-format
-msgid "Adding an administrative user failed: object '%s' already exists!"
-msgstr ""
+#~ msgid "Sign in"
+#~ msgstr "Войти"
 
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#, fuzzy
-msgid "Cannot move users to the requested department!"
-msgstr "Невозможно подключиться к серверу базы данных!"
+#~ msgid ""
+#~ "This may be used by several groups. Please double check if your really "
+#~ "want to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Это приложение может использоваться несколькими группами. Подумайте еще "
+#~ "раз, действительно ли вы хотите удалить его, так как GOsa не сможет "
+#~ "отменить результаты этой операции."
 
-#: setup/class_setupStep_Migrate.inc:1250
-msgid "Winstation will be moved from"
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "Если вы уверены в своих действиях, нажмите на кнопку <i>Удалить</i>, "
+#~ "иначе нажмите <i>Отмена</i>."
 
-#: setup/class_setupStep_Migrate.inc:1261
-#: setup/class_setupStep_Migrate.inc:1310
-msgid "Updating following references too"
-msgstr ""
+#~ msgid "Help"
+#~ msgstr "Справка"
 
-#: setup/class_setupStep_Migrate.inc:1300
-msgid "Group will be moved from"
-msgstr ""
+#~ msgid "Sign out"
+#~ msgstr "Выход"
 
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "User will be moved from"
-msgstr ""
+#~ msgid "Signed in:"
+#~ msgstr "Пользователь:"
 
-#: setup/class_setupStep_Migrate.inc:1358
-msgid "The following references will be updated"
-msgstr ""
+#, fuzzy
+#~ msgid "Success"
+#~ msgstr "Экспорт успешен."
 
-#: setup/class_setupStep_Migrate.inc:1991
-msgid ""
-"The LDAP root object is missing. It is required to use your LDAP service."
-msgstr ""
+#, fuzzy
+#~ msgid "New password repeated"
+#~ msgstr "Новый пароль"
 
-#: setup/class_setupStep_Migrate.inc:1992
-#: setup/class_setupStep_Migrate.inc:2005
 #, fuzzy
-msgid "Try to create root object"
-msgstr "Объект группы"
+#~ msgid "Change"
+#~ msgstr "Канал"
 
-#: setup/class_setupStep_Migrate.inc:2004
-msgid "Root object couldn't be created, you should try it on your own."
-msgstr ""
+#~ msgid "UNIX"
+#~ msgstr "Unix"
 
-#: setup/class_setupStep_Migrate.inc:2059
-#, fuzzy, php-format
-msgid "Missing GOsa object class '%s'!"
-msgstr "Список подразделений"
+#~ msgid "FTP"
+#~ msgstr "FTP"
+
+#~ msgid "Thin Client"
+#~ msgstr "Тонкий клиент"
+
+#~ msgid "Object name"
+#~ msgstr "Имя объекта"
+
+#~ msgid "This object has no relationship to other objects."
+#~ msgstr "Данный объект не имеет ссылок на другие объекты"
 
-#: setup/class_setupStep_Migrate.inc:2060
 #, fuzzy
-msgid "Please check your installation."
-msgstr "Проверьте, правильно ли вы ввели имя пользователя и пароль."
+#~ msgid ""
+#~ "Changing the password affects your authentification on mail, proxy, samba "
+#~ "and unix services."
+#~ msgstr ""
+#~ "Изменение пароля влияет на аутентификацию при использовании почты, прокси-"
+#~ "сервера, Samba и служб UNIX."
 
-#: setup/class_setupStep_Migrate.inc:2081
-#, php-format
-msgid ""
-"Cannot handle the structural object type of your root object. Please try to "
-"add the object class '%s' manually."
-msgstr ""
+#, fuzzy
+#~ msgid "User identification"
+#~ msgstr "Информация"
 
-#: setup/class_setupStep_Migrate.inc:2440
-#, fuzzy, php-format
-msgid "Copy '%s' to '%s' failed:"
-msgstr "Ошибка при выполнении \"%s\"!"
+#~ msgid "Personal picture"
+#~ msgstr "Изображение"
 
-#: setup/class_setupStep_Migrate.inc:2575
-#, php-format
-msgid "There are %s devices that need to be migrated."
-msgstr ""
+#, fuzzy
+#~ msgid "In all groups"
+#~ msgstr "Основная группа"
 
-#: setup/class_setupStep_Migrate.inc:2635
-#, php-format
-msgid "Adding '%s' to the LDAP failed: %s"
-msgstr ""
+#, fuzzy
+#~ msgid "Not in all groups"
+#~ msgstr "Показать группы с эл. почтой"
 
-#: setup/class_setupStep_Migrate.inc:2655
-#: setup/class_setupStep_Migrate.inc:2772
-#, fuzzy, php-format
-msgid "Updating '%s' failed: %s"
-msgstr "Служба печати"
+#, fuzzy
+#~ msgid "! unknown UID"
+#~ msgstr "состояние неизвестно"
 
-#: setup/class_setupStep_Migrate.inc:2728
-#, php-format
-msgid "There are %s services that need to be migrated."
-msgstr ""
+#, fuzzy
+#~ msgid "All categories"
+#~ msgstr "Категория"
 
-#: setup/class_setupStep_Migrate.inc:3059
-#, php-format
-msgid "There are %s application menus which have to be migrated."
-msgstr ""
+#~ msgid "Startup"
+#~ msgstr "Запуск"
 
-#: setup/setup_welcome.tpl:4
-msgid ""
-"This seems to be the first time you start GOsa - we didn't find any "
-"configuration right now. This simple wizard intends to help you while "
-"setting it up."
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot bind to LDAP. Please contact the system administrator."
+#~ msgstr ""
+#~ "Не удается начать сеанс на LDAP-сервере. Обратитесь к системному "
+#~ "администратору."
 
-#: setup/setup_welcome.tpl:8
-msgid "What will the wizard do for you?"
-msgstr ""
+#, fuzzy
+#~ msgid "Password reset"
+#~ msgstr "Срок действия пароля истекает"
 
-#: setup/setup_welcome.tpl:11
 #, fuzzy
-msgid "Create a basic, single site configuration"
-msgstr "Базы данных"
+#~ msgid "Down"
+#~ msgstr "Домен"
 
-#: setup/setup_welcome.tpl:12
-msgid "Tries to find problems within your PHP and LDAP setup"
-msgstr ""
+#, fuzzy
+#~ msgid "Select to list objects of type '%s'."
+#~ msgstr "Выбрать объекты для добавления"
 
-#: setup/setup_welcome.tpl:13
-msgid "Let you choose from a set of basic and advanced configuration switches"
-msgstr ""
+#, fuzzy
+#~ msgid "Select to list objects containig '%s'."
+#~ msgstr "Показать группы с пользователями"
 
-#: setup/setup_welcome.tpl:14
-msgid "Guided migration of existing LDAP trees"
-msgstr ""
+#, fuzzy
+#~ msgid "Select to list objects that have '%s' enabled"
+#~ msgstr "Выбрать объекты для добавления"
 
-#: setup/setup_welcome.tpl:17
-msgid "What will the wizard NOT do for you?"
-msgstr ""
+#, fuzzy
+#~ msgid "Select to search within subtrees"
+#~ msgstr "Искать в поддеревьях"
 
-#: setup/setup_welcome.tpl:20
 #, fuzzy
-msgid "Find every possible configuration error"
-msgstr "Настроить"
+#~ msgid "in"
+#~ msgstr "Начало"
 
-#: setup/setup_welcome.tpl:21
-msgid "Migrate every possible LDAP setup - create backup dumps!"
-msgstr ""
+#, fuzzy
+#~ msgid "on line"
+#~ msgstr "Продолжить"
 
-#: setup/setup_welcome.tpl:25
 #, fuzzy
-msgid "To continue..."
-msgstr "Продолжение настройки..."
+#~ msgid "Role: %s"
+#~ msgstr "Роль"
 
-#: setup/setup_welcome.tpl:28
-msgid ""
-"For security reasons you need to authenticate for the installation by "
-"creating the file '/tmp/gosa.auth', containing the current session ID on the "
-"servers local filesystem. This can be done by executing the following "
-"command:"
-msgstr ""
+#, fuzzy
+#~ msgid "Go up one department"
+#~ msgstr "Подразделение"
 
-#: setup/setup_welcome.tpl:34
-msgid "Click the 'Continue' button when you've finished."
-msgstr ""
+#, fuzzy
+#~ msgid "Go to users department"
+#~ msgstr "Выберите подразделение"
 
-#: setup/setup_license.tpl:8
-msgid "I have read the license and accept it"
-msgstr ""
+#, fuzzy
+#~ msgid "Remove snapshot"
+#~ msgstr "Создать настройки запись эл. почты"
 
-#: setup/class_setupStep_Config3.inc:81 setup/class_setupStep_Config3.inc:82
 #, fuzzy
-msgid "GOsa settings 3/3"
-msgstr "Почтовые настройки пользователя"
+#~ msgid "Toggle information"
+#~ msgstr "Личная информация"
 
-#: setup/class_setupStep_Config3.inc:83
-msgid "Tweak some GOsa core behaviour"
-msgstr ""
+#, fuzzy
+#~ msgid "All objects in this category"
+#~ msgstr "Описание группы"
 
-#: setup/class_setupStep_Config3.inc:212
-msgid "Session lifetime must be a numeric value!"
-msgstr ""
+#, fuzzy
+#~ msgid "from"
+#~ msgstr "и"
 
-#: setup/class_setupStep_Config3.inc:216
 #, fuzzy
-msgid "Maximum LDAP query time must be a numeric value!"
-msgstr "Размер квоты"
+#~ msgid "Restore"
+#~ msgstr "Повторить"
 
-#: setup/setup_checks.tpl:9
-msgid "PHP module and extension checks"
-msgstr ""
+#, fuzzy
+#~ msgid "cut"
+#~ msgstr "Выполнить"
 
-#: setup/setup_checks.tpl:41 setup/setup_checks.tpl:103
-msgid "GOsa will NOT run without fixing this."
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "FATAL: Register globals is on. GOsa will refuse to login unless this is "
+#~ "fixed by an administrator."
+#~ msgstr ""
+#~ "Используется механизм register_globals. GOsa не допустит пользователей в "
+#~ "систему, пока он не будет отключен администратором."
 
-#: setup/setup_checks.tpl:45 setup/setup_checks.tpl:107
-msgid "GOsa will run without fixing this."
-msgstr ""
+#, fuzzy
+#~ msgid "Prpperties"
+#~ msgstr "Свойства"
 
-#: setup/setup_checks.tpl:67
 #, fuzzy
-msgid "PHP setup configuration"
-msgstr "Базы данных"
+#~ msgid "Old password"
+#~ msgstr "Пароль"
 
-#: setup/setup_checks.tpl:67
 #, fuzzy
-msgid "show information"
-msgstr "Личная информация"
+#~ msgid "Verify password"
+#~ msgstr "Пароль"
+
+#~ msgid "Session conflict detected"
+#~ msgstr "Конфликт сеансов"
 
-#: setup/setup_schema.tpl:3
 #, fuzzy
-msgid "Schema specific settings"
-msgstr "Настройки телефона"
+#~ msgid ""
+#~ "Probably there's another active instance of your session. Multiple window "
+#~ "operation is technical not possible and heavily depends on the browser "
+#~ "you're using. Usage of different browsers at a time (i.e. IE and Mozilla) "
+#~ "is possible. Pressing the Logout button will close this session."
+#~ msgstr ""
+#~ "Возможно, есть еще один экземпляр вашего сеанса. Работа с несколькими "
+#~ "окнами одновременно технически невозможна и в значительной мере зависит "
+#~ "от используемого браузера. Использование разных браузеров одновременно "
+#~ "(например, IE и Mozilla) возможно. Нажав на кнопку <b>Выход</b>, вы "
+#~ "завершите текущий сеанс."
 
-#: setup/setup_schema.tpl:7
-msgid "Enable schema validation when logging in"
-msgstr ""
+#~ msgid ""
+#~ "Ignoring this message will change/destroy the data you're currently "
+#~ "editing, so please close multiple windows and log in again."
+#~ msgstr ""
+#~ "Если вы ничего не предпримете, редактируемые вами данные не будут "
+#~ "сохранены, поэтому закройте все окна, кроме одного, и начните сеанс "
+#~ "заново."
+
+#~ msgid "External password changer reported a problem: "
+#~ msgstr "При попытке сменить пароль извне возникла проблема: "
 
-#: setup/setup_schema.tpl:16
 #, fuzzy
-msgid "Check status"
-msgstr "Состояние системы"
+#~ msgid "Show department"
+#~ msgstr "Показать подразделения"
 
-#: setup/setup_schema.tpl:20
-msgid "Schema check succeeded"
-msgstr ""
+#, fuzzy
+#~ msgid "Show groups"
+#~ msgstr "Показать группы samba"
 
-#: setup/setup_schema.tpl:23
 #, fuzzy
-msgid "Schema check failed"
-msgstr "Приложение"
+#~ msgid "Show server"
+#~ msgstr "Показать серверы"
 
-#: setup/setup_schema.tpl:31
-msgid ""
-"Could not read any schema informations, all checks skipped. Adjust your ldap "
-"acls."
-msgstr ""
+#, fuzzy
+#~ msgid "Show workstation"
+#~ msgstr "Показать рабочие станции"
 
-#: setup/setup_schema.tpl:35
-msgid ""
-"It seems that your ldap database wasn't initialized yet. This maybe the "
-"reason, why GOsa can't read your schema configuration!"
-msgstr ""
+#, fuzzy
+#~ msgid "Show terminal"
+#~ msgstr "Показать терминалы"
 
-#: setup/setup_config1.tpl:2
-msgid "Look and feel"
-msgstr ""
+#, fuzzy
+#~ msgid "Show printer"
+#~ msgstr "Показать принтеры"
 
-#: setup/setup_config1.tpl:6
 #, fuzzy
-msgid "Theme"
-msgstr "Мобильный"
+#~ msgid "Show phone"
+#~ msgstr "Показать телефоны"
 
-#: setup/setup_config1.tpl:15
 #, fuzzy
-msgid "Apache"
-msgstr "Отмена"
+#~ msgid "Filter options"
+#~ msgstr "Доступные приложения"
 
-#: setup/setup_config1.tpl:19
-msgid "Compress output send to browser"
-msgstr ""
+#~ msgid ""
+#~ "Please double check if you really want to do this since there is no way "
+#~ "for GOsa to get your data back."
+#~ msgstr ""
+#~ "Подумайте еще раз, действительно ли вам нужно удаление, так как GOsa не "
+#~ "сможет восстановить эти данные."
 
-#: setup/setup_config1.tpl:27
 #, fuzzy
-msgid "People and group storage"
-msgstr "Структурная единица (OU) пользователей"
+#~ msgid "Manage object groups"
+#~ msgstr "Название группы"
 
-#: setup/setup_config1.tpl:30
 #, fuzzy
-msgid "People DN attribute"
-msgstr "Атрибут DN пользователей"
+#~ msgid "nested groups"
+#~ msgstr "Объединения"
 
-#: setup/setup_config1.tpl:41
 #, fuzzy
-msgid "People storage subtree"
-msgstr "Структурная единица (OU) пользователей"
+#~ msgid "application groups"
+#~ msgstr "Показать группы приложений"
 
-#: setup/setup_config1.tpl:50
 #, fuzzy
-msgid "Group storage subtree"
-msgstr "OU групп"
+#~ msgid "department groups"
+#~ msgstr "подразделения"
 
-#: setup/setup_config1.tpl:59
-msgid "Include personal title in user DN"
-msgstr ""
+#, fuzzy
+#~ msgid "server groups"
+#~ msgstr "серверы"
 
-#: setup/setup_config1.tpl:70
-msgid "Relaxed naming policies"
-msgstr ""
+#, fuzzy
+#~ msgid "workstation groups"
+#~ msgstr "рабочие станции"
 
-#: setup/setup_config1.tpl:81
 #, fuzzy
-msgid "Automatic UIDs"
-msgstr "автоматически"
+#~ msgid "terminal groups"
+#~ msgstr "Показать группы с эл. почтой"
 
-#: setup/setup_config1.tpl:97 setup/class_setupStep_Config1.inc:118
-msgid "GID / UID min id"
-msgstr ""
+#, fuzzy
+#~ msgid "printer groups"
+#~ msgstr "Основная группа"
 
-#: setup/setup_config1.tpl:113
 #, fuzzy
-msgid "Number base for people/groups"
-msgstr "База идентификаторов для пользователей/групп"
+#~ msgid "phone groups"
+#~ msgstr "Показать группы"
 
-#: setup/setup_config1.tpl:121
-msgid "Hook for number base"
-msgstr ""
+#~ msgid "Select objects to add"
+#~ msgstr "Выбрать объекты для добавления"
 
-#: setup/setup_config1.tpl:140
-msgid "Password encryption algorithm"
-msgstr ""
+#~ msgid "Filters"
+#~ msgstr "Фильтры"
 
-#: setup/setup_config1.tpl:151
-#, fuzzy
-msgid "Password restrictions"
-msgstr "Срок действия пароля истекает"
+#~ msgid "Display objects of department"
+#~ msgstr "Показать объекты подразделения"
 
-#: setup/setup_config1.tpl:158 setup/setup_config1.tpl:162
-msgid "Password minimum length"
-msgstr ""
+#~ msgid "Choose the department the search will be based on"
+#~ msgstr "Выбрать раздел, для которого будет осуществлен поиск"
 
-#: setup/setup_config1.tpl:169 setup/setup_config1.tpl:173
-msgid "Different characters from old password"
-msgstr ""
+#~ msgid "Display objects matching"
+#~ msgstr "Показать совпадения объектов"
 
-#: setup/setup_config1.tpl:182
-#, fuzzy
-msgid "Password change hook"
-msgstr "Сменить пароль"
+#~ msgid "Regular expression for matching object names"
+#~ msgstr "Регулярное выражение, соответствующее именам объектов"
 
-#: setup/setup_config1.tpl:198
-msgid "Use SASL for kerberos"
-msgstr ""
+#~ msgid "Select systems to add"
+#~ msgstr "Выберите системы для добавления"
 
-#: setup/setup_config1.tpl:209
-#, fuzzy
-msgid "Use account expiration"
-msgstr "Учетная запись"
+#~ msgid "Display systems of department"
+#~ msgstr "Показать системы в подразделении"
 
-#: setup/setup_config1.tpl:221
-msgid ""
-"GOsa supports several encryption types for your passwords. Normally this is "
-"adjustable via user templates, but you can specify a default method to be "
-"used here, too."
-msgstr ""
+#~ msgid "Display systems matching"
+#~ msgstr "Показать подходяшие системы"
 
-#: setup/setup_config1.tpl:222
-#, fuzzy
-msgid ""
-"GOsa always acts as admin and manages access rights internally. This is a "
-"workaround till OpenLDAP's in directory ACI's are    fully implemented. For "
-"this to work, we need the admin DN and the corresponding password."
-msgstr ""
-"Сейчас вам нужно указать параметры доступа к LDAP-серверу. GOsa всегда "
-"выступает в роли администратора и управляет правами доступа самостоятельно. "
-"Это временное решение, пока в OpenLDAP не будут реализованы полностью "
-"средства контроля доступа (ACI) внутри каталогов. Чтобы это решение "
-"работало, укажите DN (уникальное имя) администратора и соответствующий "
-"пароль."
+#~ msgid "Regular expression for matching addresses"
+#~ msgstr "Регулярное выражение для поиска адреса"
 
-#: setup/setup_config1.tpl:223
-msgid ""
-"Some basic LDAP parameters are tunable and affect the locations where GOsa "
-"saves people and groups, including the way accounts get created. Check the "
-"values below if the fit your needs."
-msgstr ""
-"Некоторые основные параметры LDAP изменяемы и влияют на расположение "
-"сохраняемой информации о пользователях и группах, а также на способ создания "
-"учетных записей. Проверьте, подходят ли вам значения, указанные ниже."
+#~ msgid ""
+#~ "This may be a primary user group. Please double check if you really want "
+#~ "to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Возможно, это основная группа пользователей. Еще раз проверте что Вы "
+#~ "действительно хотите удалить ее, так как GOsa не сможет отменить "
+#~ "результаты этой операции."
 
-#: setup/setup_config1.tpl:224
-msgid ""
-"GOsa has modular support for several mail methods. These methods provide "
-"interfaces to users mailboxes and general handling    for quotas. You can "
-"choose the dummy plugin to leave all your mail settings untouched."
-msgstr ""
+#~ msgid "Show samba groups"
+#~ msgstr "Показать группы samba"
 
-#: setup/class_setupStep_Schema.inc:42 setup/class_setupStep_Schema.inc:43
 #, fuzzy
-msgid "LDAP schema check"
-msgstr "Сервер подкачки"
+#~ msgid "Show mail groups"
+#~ msgstr "Показать группы samba"
 
-#: setup/class_setupStep_Schema.inc:44
-msgid "Perform test on your current LDAP schema"
-msgstr ""
-
-#: setup/class_setupStep_Welcome.inc:38
-#, fuzzy
-msgid "Welcome"
-msgstr "Добро пожаловать %s!"
+#~ msgid "Group administration"
+#~ msgstr "Управление группами"
 
-#: setup/class_setupStep_Welcome.inc:39
-#, fuzzy
-msgid "The welcome message"
-msgstr "Удалить"
+#~ msgid ""
+#~ "This includes all account data, system access rules, imap settings, etc. "
+#~ "for this user. Please double check if your really want to do this since "
+#~ "there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Сюда входит вся информация об учетной записи этого пользователя, его "
+#~ "права доступа в системе, настройки IMAP и т. д. Подумайте еще раз, "
+#~ "действительно ли вам нужно удаление, так как GOsa не сможет отменить "
+#~ "результаты этой операции."
 
-#: setup/class_setupStep_Welcome.inc:40
 #, fuzzy
-msgid "Welcome to GOsa setup wizard"
-msgstr "Добро пожаловать в раздел настройки GOsa!"
+#~ msgid "Manage users"
+#~ msgstr "Пользователи домена"
 
-#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
 #, fuzzy
-msgid "License"
-msgstr "в"
-
-#: setup/class_setupStep_License.inc:58
-msgid "Terms and conditions for usage"
-msgstr ""
+#~ msgid ""
+#~ "This includes 'all' accounts, systems, etc. in this subtree. Please "
+#~ "double check if your really want to do this since there is no way for "
+#~ "GOsa to get your data back."
+#~ msgstr ""
+#~ "Это включает <b>все</b> учетные записи, системы и т.п. для данного "
+#~ "подразделения. Подумайте еще раз, действительно ли вы хотите его удалить, "
+#~ "так как GOsa не сможет отменить результаты этой операции."
 
-#: setup/setup_language.tpl:3
 #, fuzzy
-msgid "Please select the preferred language"
-msgstr "Язык по умолчанию"
+#~ msgid ""
+#~ "Best thing to do before performing this action would be to save the "
+#~ "current contents of your LDAP tree in a file. So - if you've done so - "
+#~ "press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "Лучше всего перед удалением сохранить резервную копию текущего дерева "
+#~ "LDAP в файл. Если вы сделали это и действительно хотите выполнить "
+#~ "удаление, нажмите <i>Удалить</i>, иначе нажмите <i>Отмена</i>."
 
-#: setup/setup_language.tpl:5
-msgid ""
-"At this point, you can select the site wide default language. Choosing "
-"'automatic' will use the language requested by the browser. This setting can "
-"be overriden per user."
-msgstr ""
+#~ msgid "List of departments"
+#~ msgstr "Список подразделений"
 
-#: setup/setup_language.tpl:9
 #, fuzzy
-msgid "Please select your preferred language here"
-msgstr "Язык по умолчанию"
+#~ msgid "Manage Departments"
+#~ msgstr "Подразделения"
 
-#: setup/class_setupStep_Config1.inc:74 setup/class_setupStep_Config1.inc:75
 #, fuzzy
-msgid "GOsa settings 1/3"
-msgstr "Почтовые настройки пользователя"
+#~ msgid "Show access control lists"
+#~ msgstr "Параметры доступа"
 
-#: setup/class_setupStep_Config1.inc:76
 #, fuzzy
-msgid "GOsa generic settings"
-msgstr "Общая информация о пользователе"
+#~ msgid "Show roles"
+#~ msgstr "Показать телефоны"
 
-#: setup/class_setupStep_Config1.inc:118
-#, php-format
-msgid "The specified value for '%s' must be a numeric value"
-msgstr ""
+#~ msgid "Show servers"
+#~ msgstr "Показать серверы"
 
-#: setup/class_setupStep_Config1.inc:122 setup/class_setupStep_Config1.inc:126
-#, php-format
-msgid "Don't add a trailing comma to '%s'."
-msgstr ""
+#~ msgid "Show workstations"
+#~ msgstr "Показать рабочие станции"
 
-#: setup/class_setupStep_Config1.inc:122
-msgid "People storage ou"
-msgstr "Структурная единица (OU) пользователей"
+#~ msgid "Show terminals"
+#~ msgstr "Показать терминалы"
 
-#: setup/class_setupStep_Config1.inc:126
-msgid "Group storage ou"
-msgstr "OU групп"
+#, fuzzy
+#~ msgid "List navigation"
+#~ msgstr "Рабочая станция"
 
-#: setup/class_setupStep_Config1.inc:130
-msgid "Uid base must be numeric"
-msgstr ""
+#, fuzzy
+#~ msgid "Group selection filter"
+#~ msgstr "Настройки Samba"
 
-#: setup/class_setupStep_Config1.inc:134
-msgid "The given password minimum length is not numeric."
-msgstr ""
+#, fuzzy
+#~ msgid "Posix extension settings"
+#~ msgstr "Атрибуты UNIX"
 
-#: setup/class_setupStep_Config1.inc:137
 #, fuzzy
-msgid "The given password differ value is not numeric."
-msgstr "Значение поля \"Квота\" некорректно."
+#~ msgid "Account accessibility"
+#~ msgstr "Настроить"
 
-#: setup/class_setupStep_Config2.inc:80 setup/class_setupStep_Config2.inc:81
 #, fuzzy
-msgid "GOsa settings 2/3"
-msgstr "Почтовые настройки пользователя"
+#~ msgid "Go to root department"
+#~ msgstr "Список подразделений"
 
-#: setup/class_setupStep_Config2.inc:82
 #, fuzzy
-msgid "Customize special parameters"
-msgstr "Изменить параметры"
+#~ msgid "Home"
+#~ msgstr "Имя системы"
 
-#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
 #, fuzzy
-msgid "Language setup"
-msgstr "Язык"
+#~ msgid ""
+#~ "This is the GOsa main menu. You can select your tasks from the menu on "
+#~ "the left, or by choosing one of the pictograms below. All changes apply "
+#~ "directly to your companies LDAP server."
+#~ msgstr ""
+#~ "Это начальная страница GOsa. Из меню слева или среди пиктограмм ниже вы "
+#~ "можете выбрать нужный вам раздел. Все изменения будут сразу же "
+#~ "переноситься на LDAP-сервер вашей компании."
 
-#: setup/class_setupStep_Language.inc:42
 #, fuzzy
-msgid "This step allows you to select your preferred language."
-msgstr "Язык по умолчанию"
+#~ msgid ""
+#~ "Use 'Sign out' on the upper left to close the connection and 'Main' to "
+#~ "get back to the pictogram view."
+#~ msgstr ""
+#~ "Чтобы завершить сеанс, выберите в меню слева вверху пункт <b>Выход</b>. "
+#~ "Чтобы вернуться на начальную страницу, выберите <b>Начало</b>."
 
-#: setup/class_setupStep_Language.inc:47
 #, fuzzy
-msgid "Automatic"
-msgstr "автоматически"
+#~ msgid "Show functional users"
+#~ msgstr "Показать обычных пользователей"
 
 #, fuzzy
-#~ msgid "Group submenu menu"
-#~ msgstr "Члены группы"
+#~ msgid "Show Samba users"
+#~ msgstr "Показать пользователей с почтой"
 
 #~ msgid "Choose subtree to place user in"
 #~ msgstr "Выберите ветку для пользователя"
@@ -6950,22 +8240,29 @@ msgstr "автоматически"
 #~ msgid "Select a base"
 #~ msgstr "Выберите, чтобы просмотреть серверы"
 
-#, fuzzy
-#~ msgid "You have no permission to set your password!"
-#~ msgstr "У вас недостаточно прав для смены своего пароля."
+#~ msgid "Generic user information"
+#~ msgstr "Общая информация о пользователе"
 
-#~ msgid ""
-#~ "You have changed the method your password is stored in the ldap database. "
-#~ "For that reason you've to enter your password at this point again. GOsa "
-#~ "will then encode it with the selected method."
-#~ msgstr ""
-#~ "Вы изменили метод шифрования паролей в базе LDAP. В связи с этим введите "
-#~ "свой пароль снова. GOsa произведет шифрование в соответствии с выбраной "
-#~ "схемой."
+#~ msgid "Account"
+#~ msgstr "Учетная запись"
 
-#, fuzzy
-#~ msgid "Password change not allowed"
-#~ msgstr "Сменить пароль"
+#~ msgid "Select groups to add"
+#~ msgstr "Выберите группы для добавления"
+
+#~ msgid "Display groups of department"
+#~ msgstr "Объединения в подразделении"
+
+#~ msgid "Display groups matching"
+#~ msgstr "Шаблон для групп"
+
+#~ msgid "Regular expression for matching group names"
+#~ msgstr "Регулярное выражение, соответствующее именам групп"
+
+#~ msgid "Display groups of user"
+#~ msgstr "Показать группы пользователей"
+
+#~ msgid "User name of which groups are shown"
+#~ msgstr "Имя пользователя, для которого перечисляются группы"
 
 #, fuzzy
 #~ msgid "Choose a base"
@@ -7009,10 +8306,6 @@ msgstr "автоматически"
 #~ msgstr "Регулярное выражение, соответствующее именам пользователей"
 
 #, fuzzy
-#~ msgid "List of systems"
-#~ msgstr "Список пользователей"
-
-#, fuzzy
 #~ msgid "givenname"
 #~ msgstr "Имя"
 
@@ -7029,10 +8322,6 @@ msgstr "автоматически"
 #~ msgstr "Список групп"
 
 #, fuzzy
-#~ msgid "Use"
-#~ msgstr "Пользователь"
-
-#, fuzzy
 #~ msgid "Filter entries with this syntax"
 #~ msgstr "Показать подходяшие адреса"
 
@@ -7099,10 +8388,6 @@ msgstr "автоматически"
 #~ msgstr "Показать обычные группы"
 
 #, fuzzy
-#~ msgid "Not allowed"
-#~ msgstr "Сменить пароль"
-
-#, fuzzy
 #~ msgid "Number of listed groups"
 #~ msgstr "Название группы"
 
@@ -7118,10 +8403,6 @@ msgstr "автоматически"
 #~ msgstr "Шаблон"
 
 #, fuzzy
-#~ msgid "GOsa object"
-#~ msgstr "Объект"
-
-#, fuzzy
 #~ msgid "functional users"
 #~ msgstr "Показать обычных пользователей"
 
@@ -7154,10 +8435,6 @@ msgstr "автоматически"
 #~ msgstr "Создать шаблон"
 
 #, fuzzy
-#~ msgid "user"
-#~ msgstr "пользователи"
-
-#, fuzzy
 #~ msgid "password"
 #~ msgstr "Пароль"
 
@@ -7188,9 +8465,6 @@ msgstr "автоматически"
 #~ msgid "Regular expression for matching department names"
 #~ msgstr "Регулярное выражение, соответствующее именам подразделений"
 
-#~ msgid "Department management"
-#~ msgstr "Управление подразделениями"
-
 #, fuzzy
 #~ msgid ""
 #~ "This includes all system and setup informations. Please double check if "
@@ -7242,10 +8516,6 @@ msgstr "автоматически"
 #~ msgstr "Удалить параметры"
 
 #, fuzzy
-#~ msgid "Enable DHCP extension"
-#~ msgstr "Удалить параметры"
-
-#, fuzzy
 #~ msgid "Enable mime type management"
 #~ msgstr "Управление системами"
 
@@ -7286,19 +8556,12 @@ msgstr "автоматически"
 #~ msgstr "Имя сервера"
 
 #, fuzzy
-#~ msgid "Role description"
-#~ msgstr "Описание подразделения"
-
-#, fuzzy
 #~ msgid "Override sudo role ou"
 #~ msgstr "состояние неизвестно"
 
 #~ msgid "Terminals"
 #~ msgstr "Терминалы"
 
-#~ msgid "Action"
-#~ msgstr "Действие"
-
 #, fuzzy
 #~ msgid "Select this base"
 #~ msgstr "Выберите, чтобы просмотреть серверы"
@@ -7307,10 +8570,6 @@ msgstr "автоматически"
 #~ msgid "add"
 #~ msgstr "Добавить"
 
-#, fuzzy
-#~ msgid "remove"
-#~ msgstr "Удалить"
-
 #~ msgid "You're about to delete the whole LDAP subtree placed under '%s'."
 #~ msgstr "Вы собираетесь удалить целую ветку LDAP с корнем в \"%s\"."
 
@@ -7319,10 +8578,6 @@ msgstr "автоматически"
 #~ msgstr "подразделения"
 
 #, fuzzy
-#~ msgid "Delete acl role"
-#~ msgstr "Удалить"
-
-#, fuzzy
 #~ msgid "Steps"
 #~ msgstr "Системы"
 
@@ -7347,18 +8602,10 @@ msgstr "автоматически"
 #~ msgstr "Удалить"
 
 #, fuzzy
-#~ msgid "User successfully removed."
-#~ msgstr "Настройка завершена"
-
-#, fuzzy
 #~ msgid "Heimdal options"
 #~ msgstr "Почтовые настройки"
 
 #, fuzzy
-#~ msgid "Hour"
-#~ msgstr "час"
-
-#, fuzzy
 #~ msgid "Day"
 #~ msgstr "день"
 
@@ -7371,6 +8618,10 @@ msgstr "автоматически"
 #~ msgstr "Поиск"
 
 #, fuzzy
+#~ msgid "Password end"
+#~ msgstr "Пароль"
+
+#, fuzzy
 #~ msgid "Missing parameters!"
 #~ msgstr "Приложение"
 
@@ -7400,9 +8651,6 @@ msgstr "автоматически"
 #~ msgid "Common name"
 #~ msgstr "Местоположение"
 
-#~ msgid "Server name"
-#~ msgstr "Имя сервера"
-
 #, fuzzy
 #~ msgid "Servers of %s on %s"
 #~ msgstr "Серверы"
@@ -7410,9 +8658,6 @@ msgstr "автоматически"
 #~ msgid "Display name"
 #~ msgstr "Отображаемое имя"
 
-#~ msgid "Home phone"
-#~ msgstr "Домашний телефон"
-
 #~ msgid "Initials"
 #~ msgstr "Отчество"
 
@@ -7448,14 +8693,6 @@ msgstr "автоматически"
 #~ msgstr "Основной адрес"
 
 #, fuzzy
-#~ msgid "Organizational unit"
-#~ msgstr "Организация"
-
-#, fuzzy
-#~ msgid "Postal Code"
-#~ msgstr "Почтовый индекс"
-
-#, fuzzy
 #~ msgid "Title"
 #~ msgstr "Файлы"
 
@@ -7467,9 +8704,6 @@ msgstr "автоматически"
 #~ msgid "You have no permission to do LDAP exports!"
 #~ msgstr "У вас недостаточно прав для создания пользователя в этой ветке."
 
-#~ msgid "Could not connect to database server!"
-#~ msgstr "Невозможно подключиться к серверу базы данных!"
-
 #~ msgid "Could not select database!"
 #~ msgstr "Невозможно выбрать базу данных!"
 
@@ -7517,18 +8751,10 @@ msgstr "автоматически"
 #~ msgstr "состояние неизвестно"
 
 #, fuzzy
-#~ msgid "Command"
-#~ msgstr "и"
-
-#, fuzzy
 #~ msgid "Run as user"
 #~ msgstr "Пользователи домена"
 
 #, fuzzy
-#~ msgid "Available options"
-#~ msgstr "Доступные приложения"
-
-#, fuzzy
 #~ msgid "Sudo role administration"
 #~ msgstr "Управление группами"
 
@@ -7673,10 +8899,6 @@ msgstr "автоматически"
 #~ msgstr "Показать группы с пользователями"
 
 #, fuzzy
-#~ msgid "server"
-#~ msgstr "серверы"
-
-#, fuzzy
 #~ msgid "Show %s user"
 #~ msgstr "Показать пользователей Samba"
 
@@ -7743,10 +8965,6 @@ msgstr "автоматически"
 #~ msgid "Service infrastructure"
 #~ msgstr "Искать в поддеревьях"
 
-#, fuzzy
-#~ msgid "Password change failed."
-#~ msgstr "Сменить пароль"
-
 #~ msgid "You are not allowed to set this users password!"
 #~ msgstr "У вас недостаточно прав для смены пароля этого пользователя!"
 
@@ -7775,10 +8993,6 @@ msgstr "автоматически"
 #~ msgstr "Вам не разрешено менять пароль."
 
 #, fuzzy
-#~ msgid "Accessibility"
-#~ msgstr "Настроить"
-
-#, fuzzy
 #~ msgid "Configuration warning"
 #~ msgstr "Настроить"
 
@@ -7997,10 +9211,6 @@ msgstr "автоматически"
 #~ msgstr "Вы собираетесь удалить групповой объект \"%s\"."
 
 #, fuzzy
-#~ msgid "Name of object groups"
-#~ msgstr "Название группы"
-
-#, fuzzy
 #~ msgid "Select to see groups containing groups"
 #~ msgstr "Показать группы с группами"
 
@@ -8075,10 +9285,6 @@ msgstr "автоматически"
 #~ msgstr "Изменить"
 
 #, fuzzy
-#~ msgid "ACLs"
-#~ msgstr "Доступ"
-
-#, fuzzy
 #~ msgid "Groupname / Department"
 #~ msgstr "Подразделение"
 
@@ -8106,10 +9312,6 @@ msgstr "автоматически"
 #~ msgstr "Параметры доступа"
 
 #, fuzzy
-#~ msgid "Acl roles"
-#~ msgstr "Управление системами"
-
-#, fuzzy
 #~ msgid "Removing a lock failed."
 #~ msgstr "Удалить приложения"
 
@@ -8206,10 +9408,6 @@ msgstr "автоматически"
 #~ msgstr "Атрибуты UNIX"
 
 #, fuzzy
-#~ msgid "Notifications"
-#~ msgstr "Специальность"
-
-#, fuzzy
 #~ msgid "Send user notifications"
 #~ msgstr "Информация"
 
@@ -8222,10 +9420,6 @@ msgstr "автоматически"
 #~ msgstr "Удалить"
 
 #, fuzzy
-#~ msgid "Notification"
-#~ msgstr "Специальность"
-
-#, fuzzy
 #~ msgid "Notification plugin"
 #~ msgstr "Изменить сертификаты"
 
@@ -8237,10 +9431,6 @@ msgstr "автоматически"
 #~ msgid "Notification target"
 #~ msgstr "Изменить сертификаты"
 
-#, fuzzy
-#~ msgid "Recipients"
-#~ msgstr "Описание"
-
 #~ msgid "Message"
 #~ msgstr "Сообщение"
 
@@ -8308,9 +9498,6 @@ msgstr "автоматически"
 #~ msgid "Please enter a valid path in 'Home directory' field."
 #~ msgstr "Введите корректный путь в поле \"Домашний каталог\"."
 
-#~ msgid "Value specified as 'UID' is not valid."
-#~ msgstr "Значение поля \"UID\" некорректно."
-
 #~ msgid "Value specified as 'GID' is not valid."
 #~ msgstr "Значение поля 'GID' некорректно."
 
@@ -8516,10 +9703,6 @@ msgstr "автоматически"
 #~ msgstr "Доступные приложения"
 
 #, fuzzy
-#~ msgid "Show object groups"
-#~ msgstr "Объединения"
-
-#, fuzzy
 #~ msgid "You are not allowed to delete this acl!"
 #~ msgstr "У вас недостаточно прав для удаления этой группы!"
 
@@ -8540,9 +9723,6 @@ msgstr "автоматически"
 #~ msgid "Network resolv hook"
 #~ msgstr "Сетевые устройства"
 
-#~ msgid "Administration"
-#~ msgstr "Администрирование"
-
 #~ msgid "Addons"
 #~ msgstr "Дополнительно"
 
@@ -8560,13 +9740,6 @@ msgstr "автоматически"
 #~ msgid "Scalix"
 #~ msgstr "терминалы"
 
-#~ msgid "Options"
-#~ msgstr "Параметры"
-
-#, fuzzy
-#~ msgid "Parameter"
-#~ msgstr "Параметры загрузки"
-
 #, fuzzy
 #~ msgid "Inventory"
 #~ msgstr "Добавить объект"
diff --git a/gosa-core/locale/core/vi/LC_MESSAGES/messages.po b/gosa-core/locale/core/vi/LC_MESSAGES/messages.po
index 3d499f6..9ac946c 100644
--- a/gosa-core/locale/core/vi/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/vi/LC_MESSAGES/messages.po
@@ -7,10 +7,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: VIcore2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-09 20:24+0200\n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
 "PO-Revision-Date: 2008-07-04 09:59+0200\n"
 "Last-Translator: Stefan Koehler <stefan at gonicus.de>\n"
 "Language-Team: Vietnamese\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -18,4226 +19,6170 @@ msgstr ""
 "X-Generator: KBabel 1.11.4\n"
 "Plural-Forms:  nplurals=1; plural=0;\n"
 
-#: ihtml/themes/default/remove.tpl:2 ihtml/themes/default/msg_dialog.tpl:59
-#: ihtml/themes/default/msg_dialog.tpl:106 ihtml/themes/default/islocked.tpl:6
-#: ihtml/themes/default/conflict.tpl:6 html/password.php:280 html/index.php:57
-#: html/index.php:63 html/index.php:406 html/index.php:412
-#: include/functions.inc:954 include/functions.inc:2686
-#: include/functions.inc:2690 include/functions.inc:2696
-#: include/class_tabs.inc:268 include/utils/class_xml.inc:37
-#: plugins/admin/ogroups/remove.tpl:2 plugins/admin/groups/remove.tpl:2
-#: plugins/admin/groups/class_group.inc:994 plugins/admin/users/remove.tpl:2
-#: plugins/admin/departments/remove.tpl:2
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#: plugins/admin/acl/remove.tpl:2
-#: plugins/personal/posix/class_posixAccount.inc:793
-#: plugins/personal/posix/class_posixAccount.inc:946
-#: setup/class_setupStep_Migrate.inc:261 setup/class_setupStep_Migrate.inc:313
-#: setup/class_setupStep_Migrate.inc:446 setup/class_setupStep_Migrate.inc:523
-#: setup/class_setupStep_Migrate.inc:661 setup/class_setupStep_Migrate.inc:804
-#: setup/class_setupStep_Migrate.inc:2573
-#: setup/class_setupStep_Migrate.inc:2726
-#: setup/class_setupStep_Migrate.inc:3058 setup/setup_checks.tpl:32
-#: setup/setup_checks.tpl:93
-msgid "Warning"
-msgstr "Cảnh báo"
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
+msgstr "không được cấu hình"
 
-#: ihtml/themes/default/remove.tpl:6
-msgid ""
-"This may be used by several groups. Please double check if your really want "
-"to do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Thứ này có thể được sử dụng bởi một vài nhóm. Xin hãy kiểm tra hai lần nếu "
-"bạn thực sự muốn làm điều này bởi vì sẽ không có cách nào để GOsa phục hồi "
-"dữ liệu cho bạn."
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
+msgid "Permission"
+msgstr "Cho phép"
 
-#: ihtml/themes/default/remove.tpl:9 plugins/admin/ogroups/remove.tpl:10
-#: plugins/admin/groups/remove.tpl:10 plugins/admin/users/remove.tpl:10
-#: plugins/admin/acl/remove.tpl:10
-msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
-msgstr ""
-"Vì thế nếu bạn chắc chắn hãy nhấn \"Xóa bỏ\" để tiếp tục hoặc'Hủy bỏ' để "
-"dừng lại."
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
+msgid "Permission error"
+msgstr "Lỗi về cấp phép"
 
-#: ihtml/themes/default/remove.tpl:15
-#: ihtml/themes/default/copyPasteDialog.tpl:21
-#: ihtml/themes/default/acl.tpl:128 ihtml/themes/default/acl.tpl:142
-#: ihtml/themes/default/snapshotdialog.tpl:44
-#: ihtml/themes/default/snapshotdialog.tpl:89
-#: ihtml/themes/default/msg_dialog.tpl:79
-#: ihtml/themes/default/msg_dialog.tpl:139
-#: ihtml/themes/default/msg_dialog.tpl:144
-#: ihtml/themes/default/islocked.tpl:19 include/utils/class_msgPool.inc:312
-#: setup/setup_migrate.tpl:163 setup/setup_migrate.tpl:214
-#: setup/setup_migrate.tpl:261 setup/setup_migrate.tpl:326
-#: setup/setup_migrate.tpl:382 setup/setup_migrate.tpl:435
-#: setup/setup_migrate.tpl:480 setup/setup_migrate.tpl:523
-#: setup/setup_migrate.tpl:567 setup/setup_ldap.tpl:17
+#: include/class_management.inc:487
+#, fuzzy, php-format
+msgid "You are not allowed to create a snapshot for %s!"
+msgstr "Bạn không được phép tạo ra snapshot cho %s."
+
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
 #, php-format
-msgid "Cancel"
-msgstr "Hủy bỏ"
+msgid "Error"
+msgstr "Lỗi"
+
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, fuzzy, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
+msgstr "Bạn không được phép phục hồi một snapshot cho %s."
 
-#: ihtml/themes/default/login.tpl:10
-msgid "GOsa login screen"
-msgstr "Màn hình đăng nhập GOsa"
+#: include/class_management.inc:549
+#, fuzzy, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
+msgstr "Bạn không được phép phục hồi một snapshot cho %s."
 
-#: ihtml/themes/default/login.tpl:27
-msgid "Login screen"
-msgstr "Màn hình đăng nhập"
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
+msgid "Internal error"
+msgstr "Lỗi nội bộ"
 
-#: ihtml/themes/default/login.tpl:34
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
 msgid ""
-"Please use your username and your password to log into the site "
-"administration system."
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
 msgstr ""
-"Xin hãy sử dụng tên và mật khẩu của bạn để đăng nhập vào trang hệ thống quản "
-"trị."
 
-#: ihtml/themes/default/login.tpl:42 ihtml/themes/default/login.tpl:44
-#: ihtml/themes/default/password.tpl:69 ihtml/themes/default/password.tpl:71
-msgid "Username"
-msgstr "Tên người dùng"
-
-#: ihtml/themes/default/login.tpl:47 ihtml/themes/default/login.tpl:49
-#: ihtml/themes/default/password.tpl:40
-#: plugins/personal/generic/paste_generic.tpl:20
-#: plugins/personal/password/class_password.inc:26 setup/setup_config2.tpl:237
-#: setup/setup_config2.tpl:282 setup/setup_migrate.tpl:299
-msgid "Password"
-msgstr "Mật khẩu"
-
-#: ihtml/themes/default/login.tpl:52 ihtml/themes/default/login.tpl:53
-#: ihtml/themes/default/password.tpl:60 ihtml/themes/default/password.tpl:62
-msgid "Directory"
-msgstr "Thư mục"
-
-#: ihtml/themes/default/login.tpl:77 ihtml/themes/default/login.tpl:80
-msgid "Sign in"
-msgstr "Đăng ký"
+#: include/class_management.inc:669
+#, php-format
+msgid ""
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
+msgstr ""
 
-#: ihtml/themes/default/login.tpl:78
-msgid "Click here to log in"
-msgstr "Kích vào đây để đăng nhập"
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Configuration error"
+msgstr "Lỗi cấu hình"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:1
-msgid "Copy & paste wizard"
-msgstr "Copy & Paste wizard"
+#: include/class_pluglist.inc:147
+#, fuzzy
+msgid "The configuration format has changed: please run the setup again!"
+msgstr "Định dạng cấu hình đã thay đổi. Xin hãy chạy lại cài đặt!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:7
+#: include/class_pluglist.inc:304
+#, fuzzy
 msgid ""
-"Some values need to be unique in the complete directory while some "
-"combinations make no sense. GOsa shows the relevant attributes. Please "
-"maintain the values below to fullfill the policies."
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
 msgstr ""
-"Một số giá trị phải là duy nhất trong thư mục hoàn chỉnh trong khi một số "
-"kết hợp không có ý nghĩa nào. GOsa hiển thị những thuộc tính liên quan. Xin "
-"hãy giữ các giá trị bên dưới để thực hiện các chính sách đó."
+"Bạn hiện đang hiệu chỉnh một entry vào cơ sở dữ liệu. Bạn có muốn hủy bỏ các "
+"thay đổi?"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:9
-msgid "Remember that some properties like taken snapshots will not be copied!"
-msgstr ""
-"Hãy nhớ rằng một số đặc tính ví dụ như snapshot sẽ không được copy lại!"
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
+msgid "Unknown"
+msgstr "Không rõ"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:10
-msgid ""
-"Or if you copy or cut an entry within GOsa and delete the source object, you "
-"may get errors while pasting this object again!"
-msgstr ""
-"Hoặc nếu bạn copy hoặc cắt một entry trong GOsa và xóa đối tượng nguồn, bạn "
-"có thể lại gặp lỗi khi paste đối tượng này!"
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
+msgstr "Đối tượng này sẽ bị xóa!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:330
+#: include/utils/class_msgPool.inc:19
+#, fuzzy, php-format
+msgid "This %s object will be deleted!"
+msgstr "Đối tượng '%s' này sẽ bị xóa!"
+
+#: include/utils/class_msgPool.inc:24
 #, php-format
-msgid "Save"
-msgstr "Lưu lại"
+msgid "This object will be deleted: %s"
+msgstr "Đối tượng này sẽ bị xóa: %s"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:24
-msgid "Cancel all"
-msgstr "Hủy bỏ tất"
+#: include/utils/class_msgPool.inc:26
+#, fuzzy, php-format
+msgid "This %s object will be deleted: %s"
+msgstr "Đối tượng '%s' này sẽ bị xóa: '%s'"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:30
-msgid "Operation complete"
-msgstr "Thao tác hoàn thành"
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
+msgstr "Đối tượng này sẽ bị xóa:"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:32
-#: setup/class_setupStep_Finish.inc:37
-msgid "Finish"
-msgstr "Kết thúc"
+#: include/utils/class_msgPool.inc:33
+#, fuzzy, php-format
+msgid "This %s object will be deleted:"
+msgstr "Đối tượng '%s' này sẽ bị xóa:"
 
-#: ihtml/themes/default/sizelimit.tpl:3
-msgid ""
-"The size limit option makes LDAP operations faster and saves the LDAP server "
-"from getting too much load. The easiest way to handle big databases without "
-"long timeouts would be to limit your search to smaller values and use "
-"filters to get the entries you are looking for."
-msgstr ""
-"Lựa chọn giới hạn kích cỡ khiến cho hoạt động của LDAP nhanh hơn và giúp cho "
-"LDAP server không chịu quá nhiều tải. Cách đơn giản nhất để quản lý được các "
-"cơ sở dữ liệu lớn mà không có thời gian hạn định dài là hạn chế việc tìm "
-"kiếm của bạn vào các giá trị nhỏ hơn và sử dụng bộ lọc để có được các entry "
-"mà bạn đang tìm kiếm."
+#: include/utils/class_msgPool.inc:37
+#, php-format
+msgid "These objects will be deleted: %s"
+msgstr "Đối tượng này sẽ bị xóa: %s"
 
-#: ihtml/themes/default/sizelimit.tpl:6
-msgid "Please choose the way to react for this session"
-msgstr "Xin hãy lựa chọn cách để phản ứng với phiên này"
+#: include/utils/class_msgPool.inc:39
+#, fuzzy, php-format
+msgid "These %s objects will be deleted: %s"
+msgstr "Đối tượng '%s' này sẽ bị xóa; %s"
 
-#: ihtml/themes/default/sizelimit.tpl:9
-msgid "ignore this error and show all entries the LDAP server returns"
-msgstr "Lờ đi lỗi này và hiển thị tất cả các entry mà LDAP server trả về "
+#: include/utils/class_msgPool.inc:47
+msgid "You have no permission to delete this object!"
+msgstr "Bạn không có quyền xóa đối tượng này!"
 
-#: ihtml/themes/default/sizelimit.tpl:10
-msgid ""
-"ignore this error and show all entries that fit into the defined sizelimit "
-"and let me use filters instead"
-msgstr ""
-"Lờ lỗi này đi và hiển thị tất cả các entry mà phù hợp với giới hạn kích cỡ "
-"đã xác định và thay vào đó cho tôi sử dụng các bộ lọc "
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
+msgid "You have no permission to delete the object:"
+msgstr "Bạn không có quyền xóa đối tượng này:"
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
-#, php-format
-msgid "Set"
-msgstr "Đặt"
+#: include/utils/class_msgPool.inc:58
+msgid "You have no permission to delete these objects:"
+msgstr "Bạn không có quyền xóa những đối tượng này:"
 
-#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
-msgid "Assigned ACL for current entry"
-msgstr "Giao ACL cho entry hiện tại"
+#: include/utils/class_msgPool.inc:65
+msgid "You have no permission to create this object!"
+msgstr "Bạn không có quyền tạo ra đối tượng này!"
 
-#: ihtml/themes/default/acl.tpl:12 plugins/admin/acl/acl_role.tpl:38
-msgid "New ACL"
-msgstr "ACL mới"
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
+msgid "You have no permission to create the object:"
+msgstr "Bạn không có quyền tạo ra đối tượng này:"
 
-#: ihtml/themes/default/acl.tpl:17 plugins/admin/acl/acl_role.tpl:44
-msgid "ACL type"
-msgstr "Dạng ACL"
+#: include/utils/class_msgPool.inc:76
+msgid "You have no permission to create these objects:"
+msgstr "Bạn không có quyền tạo ra những đối tượng này:"
 
-#: ihtml/themes/default/acl.tpl:19 ihtml/themes/default/acl.tpl:24
-#: plugins/admin/acl/acl_role.tpl:44
-msgid "Select an acl type"
-msgstr "Chọn một dạng acl"
+#: include/utils/class_msgPool.inc:83
+msgid "You have no permission to modify this object!"
+msgstr "Bạn không có quyền thay đổi đối tượng này!"
 
-#: ihtml/themes/default/acl.tpl:29 ihtml/themes/default/acl.tpl:52
-#: ihtml/themes/default/acl.tpl:125 ihtml/themes/default/acl.tpl:140
-#: include/utils/class_msgPool.inc:324 setup/setup_migrate.tpl:161
-#: setup/setup_migrate.tpl:212 setup/setup_migrate.tpl:260
-#: setup/setup_migrate.tpl:325 setup/setup_migrate.tpl:380
-#: setup/setup_migrate.tpl:433 setup/setup_migrate.tpl:478
-#: setup/setup_migrate.tpl:521 setup/setup_migrate.tpl:565
-#: setup/setup_ldap.tpl:16
-#, php-format
-msgid "Apply"
-msgstr "Áp dụng"
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
+msgid "You have no permission to modify the object:"
+msgstr "Bạn không có quyền thay đổi đối tượng này:"
 
-#: ihtml/themes/default/acl.tpl:36
-msgid "Additional filter options"
-msgstr "Các lựa chọn thêm cho bộ lọc"
+#: include/utils/class_msgPool.inc:94
+msgid "You have no permission to modify these objects:"
+msgstr "Bạn không có quyền thay đổi những đối tượng này:"
 
-#: ihtml/themes/default/acl.tpl:47
-msgid "Use members from"
-msgstr "Sử dụng các thành viên từ"
+#: include/utils/class_msgPool.inc:101
+msgid "You have no permission to view this object!"
+msgstr "Bạn không có quyền xem đối tượng này!"
 
-#: ihtml/themes/default/acl.tpl:61
-msgid "Available members"
-msgstr "Những thành viên đang có mặt"
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
+msgid "You have no permission to view the object:"
+msgstr "Bạn không có quyền xem đối tượng này:"
 
-#: ihtml/themes/default/acl.tpl:63 ihtml/themes/default/acl.tpl:68
-msgid "List message possible targets"
-msgstr "Liệt kê các mục tiêu có thể gửi tin nhắn"
+#: include/utils/class_msgPool.inc:112
+msgid "You have no permission to view these objects:"
+msgstr "Bạn không có quyền xem những đối tượng này:"
 
-#: ihtml/themes/default/acl.tpl:82 include/class_acl.inc:1090
-msgid "Members"
-msgstr "Các thành viên"
+#: include/utils/class_msgPool.inc:119
+msgid "You have no permission to move this object!"
+msgstr "Bạn không có quyền di chuyển đối tượng này!"
 
-#: ihtml/themes/default/acl.tpl:84 ihtml/themes/default/acl.tpl:90
-msgid "List message recipients"
-msgstr "Liệt kê người nhận tin"
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
+msgid "You have no permission to move the object:"
+msgstr "Bạn không có quyền di chuyển đối tượng này:"
 
-#: ihtml/themes/default/acl.tpl:104 plugins/admin/acl/acl_role.tpl:49
-msgid "List of available ACL categories"
-msgstr "Danh sách tất cả các mục ACL hiện có"
+#: include/utils/class_msgPool.inc:130
+msgid "You have no permission to move these objects:"
+msgstr "Bạn không có quyền di chuyển những đối tượng này:"
 
-#: ihtml/themes/default/acl.tpl:112
-msgid "ACL for this object"
-msgstr "ACL cho đối tượng này"
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
+msgid "Connection information"
+msgstr "Thông tin kết nối"
 
-#: ihtml/themes/default/acl.tpl:118
-msgid "Available roles"
-msgstr "Các vai trò hiện có"
+#: include/utils/class_msgPool.inc:142
+#, php-format
+msgid "Cannot connect to %s database!"
+msgstr "Không thể kết nối đến cơ sở dữ liệu %s!"
 
-#: ihtml/themes/default/accountexpired.tpl:15
-msgid "Your password has expired. Please choose a new one!"
-msgstr "Mật khẩu của bạn đã hết hạn. Xin hãy chọn một mật khẩu mới!"
+#: include/utils/class_msgPool.inc:154
+#, php-format
+msgid "Cannot select %s database!"
+msgstr "Không thể lựa chọn cơ sở dữ liệu %s!"
 
-#: ihtml/themes/default/accountexpired.tpl:23
-#: ihtml/themes/default/accountexpired.tpl:27
-msgid "Old password"
-msgstr "Mật khẩu cũ"
+#: include/utils/class_msgPool.inc:160
+#, php-format
+msgid "No %s server defined!"
+msgstr "Không xác định được  Server '%s'!"
 
-#: ihtml/themes/default/accountexpired.tpl:32
-#: ihtml/themes/default/accountexpired.tpl:36
-#: ihtml/themes/default/password.tpl:82 ihtml/themes/default/password.tpl:83
-#: html/password.php:196 plugins/admin/users/password.tpl:17
-#: plugins/admin/users/password.tpl:53
-#: plugins/admin/users/class_userManagement.inc:319
-#: plugins/personal/generic/password.tpl:22
-#: plugins/personal/generic/password.tpl:65
-#: plugins/personal/password/password.tpl:27
-#: plugins/personal/password/password.tpl:70
-msgid "New password"
-msgstr "Mật khẩu mới"
+#: include/utils/class_msgPool.inc:172
+#, php-format
+msgid "Cannot query %s database!"
+msgstr "Không truy vấn được cơ sở dữ liệu %s!"
 
-#: ihtml/themes/default/accountexpired.tpl:41
-#: ihtml/themes/default/accountexpired.tpl:45
-msgid "Verify password"
-msgstr "Xác minh mật khẩu"
+#: include/utils/class_msgPool.inc:178
+#, fuzzy, php-format
+msgid "The field %s contains a reserved keyword!"
+msgstr "Trường '%s' có chứa một từ khóa dự trữ!"
 
-#: ihtml/themes/default/accountexpired.tpl:51
-#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
-msgid "Change password"
-msgstr "Thay đổi mật mã "
+#: include/utils/class_msgPool.inc:184
+#, fuzzy, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
+msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
 
-#: ihtml/themes/default/accountexpired.tpl:52
-#: ihtml/themes/default/password.tpl:102
-msgid "Click here to change your password"
-msgstr "Kích vào đây để thay đổi mật khẩu của bạn"
+#: include/utils/class_msgPool.inc:191
+#, fuzzy, php-format
+msgid "%s command is invalid!"
+msgstr "Lệnh '%s' không hợp lệ!"
 
-#: ihtml/themes/default/logout-close.tpl:5
-msgid "Your GOsa session has been closed!"
-msgstr "Phiên GOsa của bạn vừa bị đóng!"
+#: include/utils/class_msgPool.inc:193
+#, fuzzy, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
+msgstr "Lệnh '%s' (%s) cho plugin %s không hợp lệ!"
 
-#: ihtml/themes/default/logout-close.tpl:7
-msgid ""
-"Please close this browser window and clean the authentication caches to "
-"avoid an automatic re-authentication by your browser."
-msgstr ""
-"Xin hãy đóng cửa sổ trình duyệt này lại và dọn sạch bộ nhớ đệm thẩm định "
-"quyền để tránh việc tự động thẩm định lại quyền bằng trình duyệt của bạn."
+#: include/utils/class_msgPool.inc:195
+#, fuzzy, php-format
+msgid "%s command for plugin %s is invalid!"
+msgstr "Lệnh '%s' cho plugin '%s' không hợp lệ!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:3
-msgid "Restoring object snapshots"
-msgstr "Phục hồi chế độ snapshot của đối tượng"
+#: include/utils/class_msgPool.inc:197
+#, fuzzy, php-format
+msgid "%s command (%s) is invalid!"
+msgstr "Lệnh '%s' (%s) không hợp lệ!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:6
-msgid ""
-"This procedure will restore a snapshot of the selected object. It will "
-"replace the existing object after pressing the restore button."
-msgstr ""
-"Thủ tục này sẽ phục hồi một snapshot của các đối tượng được chọn. Nó sẽ thay "
-"thế cho đối tượng hiện có sau khi bấm vào nút phục hồi."
-
-#: ihtml/themes/default/snapshotdialog.tpl:9
-msgid ""
-"Remember that DNS configuration and database entries could not be restored. "
-"For some objects it is only nescessary to open and save them again (goFon), "
-"but some entries must be recreated manually (glpi)."
-msgstr ""
-"Hãy nhớ rằng các entry vào cấu  hình và cơ sở dữ liệu DNS không thể được "
-"phục hồi. Đối với một số đối tượng, thì chỉ cần mở và lưu chúng lại là được "
-"(goFon), nhưng với một số entry thì bạn cần phải tạo lại bằng tay (glpi)."
+#: include/utils/class_msgPool.inc:205
+#, fuzzy, php-format
+msgid "Cannot execute %s command!"
+msgstr "Không thể chạy lệnh '%s'!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:12
-msgid ""
-"Don't forget to check references to other objects, for example does the "
-"selected printer still exists ?"
-msgstr ""
-"Đừng quên kiểm tra các tham chiếu với các đối tượng khác, ví dụ như liệu máy "
-"in được chọn có còn tồn tại không?"
+#: include/utils/class_msgPool.inc:207
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
+msgstr "Không thể chạy lệnh '%s' ('%s) cho plugin %s!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:20
-#: ihtml/themes/default/snapshotdialog.tpl:62 include/class_acl.inc:777
-#: include/class_acl.inc:784 include/class_acl.inc:791
-#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
-#: plugins/admin/departments/class_department.inc:621
-msgid "Object"
-msgstr "đối tượng"
+#: include/utils/class_msgPool.inc:209
+#, fuzzy, php-format
+msgid "Cannot execute %s command for plugin %s!"
+msgstr "Không thể chạy lệnh '%s' cho plugin %s!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:29
-msgid "There is no snapshot available that could be restored"
-msgstr "Không có snapshot hiện có nào có thể được phục hồi"
+#: include/utils/class_msgPool.inc:211
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s)!"
+msgstr "Không thể chạy lệnh '%s' ('%s)!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:31
-msgid "Choose a snapshot and click the folder image, to restore the snapshot"
-msgstr "Chọn một snapshot và kích vào hình folder, để phục hồi snapshot"
+#: include/utils/class_msgPool.inc:219
+#, fuzzy, php-format
+msgid "Value for %s is too large!"
+msgstr "Gía trị '%s' quá lớn!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:49
-msgid "Creating object snapshots"
-msgstr "Tạo ra snapshot đối tượng"
+#: include/utils/class_msgPool.inc:221
+#, fuzzy, php-format
+msgid "%s must be smaller than %s!"
+msgstr "'%s' phải thấp hơn %d!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:52
-msgid ""
-"This procedure will create a snapshot of the selected object. It will be "
-"stored inside a special branch of your directory system and can be restored "
-"later on."
-msgstr ""
-"Thủ tục này sẽ tạo ra một snapshot của đối tượng được chọn. Nó sẽ được lưu "
-"trữ trong một nhánh đặc biệt thuộc hệ thống thư mục của bạn và có thể được "
-"phục hồi sau này."
+#: include/utils/class_msgPool.inc:229
+#, fuzzy, php-format
+msgid "Value for %s is too small!"
+msgstr "Gía trị '%s' quá nhỏ!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:55
-msgid ""
-"Remember that database entries, DNS configurations and possibly created "
-"zones in server extensions will not be stored in the snapshot."
-msgstr ""
-"Hãy nhớ rằng các entry vào cơ sở dữ liệu, các cấu hình DNS và các vùng có "
-"thể được tạo ra trong việc mở rộng server sẽ không được lưu lại trong "
-"snapshot."
+#: include/utils/class_msgPool.inc:231
+#, fuzzy, php-format
+msgid "%s must be %s or above!"
+msgstr "'%s' phải lớn hơn %d hoặc trên nữa!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:70
-msgid "Timestamp"
-msgstr "Timestamp"
+#: include/utils/class_msgPool.inc:238
+#, fuzzy, php-format
+msgid "%s depends on %s - please provide both values!"
+msgstr "'%s' phụ thuộc vào '%s'- xin hãy cung cấp cả hai giá trị!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:79
-msgid "Reason for generating this snapshot"
-msgstr "Lý do để tạo ra snapshot này"
+#: include/utils/class_msgPool.inc:244
+#, fuzzy, php-format
+msgid "There is already an entry with this %s attribute in the system!"
+msgstr "Đã có sẵn một entry với thuộc tính '%s' trong hệ thống này!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:87
-#: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:561
-#: plugins/admin/departments/class_department.inc:643
-msgid "Continue"
-msgstr "Tiếp tục"
+#: include/utils/class_msgPool.inc:250
+#, fuzzy, php-format
+msgid "The required field %s is empty!"
+msgstr "Trường được yêu cầu '%s' bị rỗng!"
 
-#: ihtml/themes/default/msg_dialog.tpl:57
-#: ihtml/themes/default/msg_dialog.tpl:104 html/index.php:224
-#: html/index.php:228 include/class_management.inc:448
-#: include/class_management.inc:584 include/class_management.inc:916
-#: include/password-methods/class_password-methods.inc:250
-#: include/password-methods/class_password-methods.inc:309
-#: include/password-methods/class_password-methods.inc:320
-#: include/class_listing.inc:480 include/functions.inc:3393
-#: include/functions.inc:3407 include/functions.inc:3437
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485 include/functions.inc:3545
-#: include/class_tabs.inc:56 include/class_plugin.inc:670
-#: include/class_plugin.inc:712 include/class_plugin.inc:755
-#: include/class_plugin.inc:1642 include/utils/class_xml.inc:40
-#: include/utils/class_msgPool.inc:154 include/utils/class_msgPool.inc:166
-#: include/utils/class_msgPool.inc:184 include/utils/class_msgPool.inc:457
-#: include/utils/class_msgPool.inc:478 include/utils/class_msgPool.inc:497
-#: include/class_gosaSupportDaemon.inc:1184
-#: include/class_gosaSupportDaemon.inc:1204
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:377 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:469
-#: plugins/admin/groups/class_group.inc:539
-#: plugins/admin/groups/class_group.inc:545
-#: plugins/admin/groups/class_group.inc:753
-#: plugins/admin/groups/class_group.inc:894
-#: plugins/admin/groups/class_group.inc:899
-#: plugins/admin/groups/class_group.inc:1221
-#: plugins/admin/departments/class_department.inc:311
-#: plugins/admin/acl/class_aclRole.inc:681
-#: plugins/personal/generic/class_user.inc:297
-#: plugins/personal/generic/class_user.inc:408
-#: plugins/personal/generic/class_user.inc:503
-#: plugins/personal/generic/class_user.inc:801
-#: plugins/personal/generic/class_user.inc:1190
-#: plugins/personal/generic/class_user.inc:1197
-#: plugins/personal/generic/class_user.inc:1215
-#: plugins/personal/generic/class_user.inc:1485
-#: plugins/personal/generic/class_user.inc:1783
-#: setup/class_setupStep_Migrate.inc:1201 setup/setup_checks.tpl:30
-#: setup/setup_checks.tpl:91
-#, php-format
-msgid "Error"
-msgstr "Lỗi"
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
+msgstr "Ví dụ"
 
-#: ihtml/themes/default/msg_dialog.tpl:61
-#: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
-msgid "Information"
-msgstr "Thông tin"
+#: include/utils/class_msgPool.inc:278
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters"
+msgstr "Trường '%s' chứa các ký tự không hợp lệ"
 
-#: ihtml/themes/default/msg_dialog.tpl:76
-#: ihtml/themes/default/msg_dialog.tpl:78
-#: ihtml/themes/default/msg_dialog.tpl:134
-#: ihtml/themes/default/msg_dialog.tpl:137
-#: ihtml/themes/default/msg_dialog.tpl:142 include/utils/class_msgPool.inc:318
-#: setup/class_setupStep_Migrate.inc:267 setup/class_setupStep_Migrate.inc:319
-#: setup/class_setupStep_Migrate.inc:380 setup/class_setupStep_Migrate.inc:453
-#: setup/class_setupStep_Migrate.inc:530 setup/class_setupStep_Migrate.inc:604
-#: setup/class_setupStep_Migrate.inc:657 setup/class_setupStep_Migrate.inc:800
-#: setup/class_setupStep_Migrate.inc:1046
-#: setup/class_setupStep_Migrate.inc:2013
-#: setup/class_setupStep_Migrate.inc:2157
-#: setup/class_setupStep_Migrate.inc:2579
-#: setup/class_setupStep_Migrate.inc:2733
-#: setup/class_setupStep_Migrate.inc:3063 setup/setup_checks.tpl:27
-#: setup/setup_checks.tpl:87
-#, php-format
-msgid "Ok"
-msgstr "Ok"
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s is not allowed:"
+msgstr "'%s' không được phép:"
 
-#: ihtml/themes/default/password.tpl:6
-msgid "Change your password"
-msgstr "Thay đổi mật khẩu của bạn"
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s are not allowed!"
+msgstr "'%s' không được cho phép!"
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Success"
-msgstr "Thành công"
+#: include/utils/class_msgPool.inc:282
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters!"
+msgstr "Trường '%s' chứa các ký tự không hợp lệ!"
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Your password has been changed successfully."
-msgstr "Mật khẩu của bạn đã được thay đổi thành công."
+#: include/utils/class_msgPool.inc:289
+#, php-format
+msgid "Missing %s PHP extension!"
+msgstr "PHP mở rộng %s mất tích!"
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:198
-#: plugins/admin/users/class_userManagement.inc:390
-#: plugins/personal/password/class_password.inc:128
-#: plugins/personal/password/class_password.inc:131
-#: plugins/personal/password/class_password.inc:134
-#: plugins/personal/password/class_password.inc:137
-#: plugins/personal/password/class_password.inc:140
-#: plugins/personal/password/class_password.inc:143
-#: plugins/personal/password/class_password.inc:157
-#: plugins/personal/password/class_password.inc:163
-msgid "Password change"
-msgstr "Thay đổi mật khẩu"
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
+#: ihtml/themes/default/copyPasteDialog.tpl:21
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
+msgstr "Hủy bỏ"
 
-#: ihtml/themes/default/password.tpl:53
-msgid ""
-"This dialog provides a simple way to change your password. Enter the current "
-"password and the new password (twice) in the fields below and press the "
-"'Change' button."
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
+#: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
+#: ihtml/themes/default/msg_dialog.tpl:139
+#: ihtml/themes/default/msg_dialog.tpl:144
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
+#, php-format
+msgid "OK"
 msgstr ""
-"Hộp thoại này cung cấp một cách đơn giản để thay đổi mật khẩu của bạn. Hãy "
-"nhập mật khẩu hiện tại và mật khẩu mới vào (hai lần) trong các trường bên "
-"dưới và nhấn vào nút 'Thay đổi'."
 
-#: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/generic/password.tpl:17
-#: plugins/personal/generic/password.tpl:44
-#: plugins/personal/password/password.tpl:22
-#: plugins/personal/password/password.tpl:49
-msgid "Current password"
-msgstr "Mật khẩu hiện tại"
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
+msgstr "Áp dụng"
+
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
+msgstr "Lưu lại"
 
-#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:87
-msgid "New password repeated"
-msgstr "Mật khẩu mới được lặp lại"
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
+msgstr "Thêm vào"
 
-#: ihtml/themes/default/password.tpl:90
-#: plugins/personal/generic/password.tpl:32
-#: plugins/personal/generic/password.tpl:75
-#: plugins/personal/password/password.tpl:37
-#: plugins/personal/password/password.tpl:80
-msgid "Password strength"
-msgstr "Ưu điểm của mật khẩu"
+#: include/utils/class_msgPool.inc:319
+#, php-format
+msgid "Add %s"
+msgstr "Thêm %s"
 
-#: ihtml/themes/default/password.tpl:101
-msgid "Change"
-msgstr "Thay đổi"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
+msgstr "Xóa"
 
-#: ihtml/themes/default/islocked.tpl:2
-msgid "Locking conflict detected"
-msgstr "Phát hiện xung đột khóa"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete %s"
+msgstr "Xóa %s"
 
-#: ihtml/themes/default/islocked.tpl:9
-msgid ""
-"If this lock detection is false, the other person has obviously closed the "
-"webbrowser during the edit operation. You may want to take over the lock by "
-"pressing the 'Edit anyway' button."
-msgstr ""
-"Nếu việc phát hiện khóa này sai, một người nào đó chắc hẳn đã đóng trình "
-"duyệt web trong quá trình thao tác hiệu chỉnh. Bạn có thể muốn tiếp quản "
-"việc khóa bằng các nhấn vào nút 'tiếp tục hiệu chỉnh'."
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
+msgstr "Đặt"
 
-#: ihtml/themes/default/islocked.tpl:16
-#, fuzzy
-msgid "Read only"
-msgstr "Danh sách reload"
+#: include/utils/class_msgPool.inc:331
+#, php-format
+msgid "Set %s"
+msgstr "Thiết lập %s"
 
-#: ihtml/themes/default/help.tpl:9
-msgid "GOsa help viewer"
-msgstr "GOsa help viewer"
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit..."
+msgstr "Hiệu chỉnh..."
 
-#: ihtml/themes/default/help.tpl:15
-msgid "Index"
-msgstr "Chỉ mục"
+#: include/utils/class_msgPool.inc:337
+#, php-format
+msgid "Edit %s..."
+msgstr "Hiệu chỉnh %s..."
 
-#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:13
-msgid "Search"
-msgstr "Tìm kiếm"
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
+msgstr "Quay lại"
 
-#: ihtml/themes/default/logout.tpl:5
-msgid "Your GOsa session has expired!"
-msgstr "Phiên GOsa của bạn đã bị hết hạn!"
+#: include/utils/class_msgPool.inc:363
+#, php-format
+msgid "This account has no valid %s extensions!"
+msgstr "Tài khoản này không có chức năng mở rộng %s hợp lệ!"
 
-#: ihtml/themes/default/logout.tpl:7
+#: include/utils/class_msgPool.inc:369
+#, php-format
 msgid ""
-"The last interaction with the GOsa web interface has been some time ago in "
-"the past. For security reasons, the session has been closed. To continue "
-"with administrative tasks, please sign in again."
+"This account has %s settings enabled. You can disable them by clicking below."
 msgstr ""
-"Tương tác cuối cùng với giao diện web của GOsa đã diễn ra được một thời gian "
-"trong quá khứ, Vì các lý do an ninh, phiên này vừa bị đóng. Để tiếp tục các "
-"tác vụ của admin, xin hãy đăng ký lại lần nữa."
-
-#: ihtml/themes/default/logout.tpl:10
-msgid "Sign in again"
-msgstr "Đăng ký lại"
-
-#: ihtml/themes/default/conflict.tpl:2
-msgid "Session conflict detected"
-msgstr "Phát hiện xung đột giữa các phiên"
+"Tài khoản này đã bật các thiết lập %s lên. Bạn có thể tắt chúng đi bằng việc "
+"kích vào bên dưới."
 
-#: ihtml/themes/default/conflict.tpl:6
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, php-format
 msgid ""
-"Probably there's another active instance of your session. Multiple window "
-"operation is technical not possible and heavily depends on the browser "
-"you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is "
-"possible. Pressing the Logout button will close this session."
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
 msgstr ""
-"Có lẽ có một chức năng khác nữa trong phiên của bạn đang hoạt động. Việc "
-"chạy nhều cửa sổ cùng lúc về kỹ thuật là không thể và việc này phụ thuộc rất "
-"nhiều vào trình duyệt mà bạn đang dùng.Việc sử dụng các trình duyệt khác "
-"nhau cùng một lúc (ví dụ như IE và Mozilla) là có thể. Nhấn vào nút đăng "
-"xuất để đóng phiên này."
+"Tài khoản này đã bật các thiết lập %s lên. Để tắt chúng đi, bạn cần phải xóa "
+"thiết lập %s trước!"
 
-#: ihtml/themes/default/conflict.tpl:10
+#: include/utils/class_msgPool.inc:388
+#, php-format
 msgid ""
-"Ignoring this message will change/destroy the data you're currently editing, "
-"so please close multiple windows and log in again."
+"This account has %s settings disabled. You can enable them by clicking below."
 msgstr ""
-"Bỏ qua tin nhắn này sẽ thay đổi/hủy dữ liệu mà hiện nay bạn đang hiệu chỉnh, "
-"vì thể xin hãy đóng các cửa sổ lại và đăng nhập lại."
-
-#: ihtml/themes/default/conflict.tpl:14
-msgid "Logout"
-msgstr "Đăng xuất"
+"Tài khoản này đã tắt các thiết lập %s đi. Bạn có thể bật chúng lên bằng việc "
+"kích vào bên dưới."
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-#: ihtml/themes/default/framework.tpl:20 ihtml/themes/default/framework.tpl:24
-#: include/class_pluglist.inc:212
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, php-format
 msgid ""
-"You are currently editing a database entry. Do you want to dismiss the "
-"changes?"
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
 msgstr ""
-"Bạn hiện đang hiệu chỉnh một entry vào cơ sở dữ liệu. Bạn có muốn hủy bỏ các "
-"thay đổi?"
+"Tài khoản này đã tắt các thiết lập %s đi. Để bật chúng lên, bạn cần phải "
+"thêm thiết lập %s trước!"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-msgid "Main"
-msgstr "Trang chính"
+#: include/utils/class_msgPool.inc:406
+#, php-format
+msgid "Add %s settings"
+msgstr "Thêm thiết lập %s "
 
-#: ihtml/themes/default/framework.tpl:16
-msgid "Help"
-msgstr "Trợ giúp"
+#: include/utils/class_msgPool.inc:412
+#, php-format
+msgid "Remove %s settings"
+msgstr "Xóa thiết lập %s"
 
-#: ihtml/themes/default/framework.tpl:21 ihtml/themes/default/framework.tpl:25
-msgid "Sign out"
-msgstr "Đăng xuất"
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
+msgstr ""
+"Kích phím 'Hiệu chỉnh' bên dưới để thay đổi thông tin trong hộp thoại này "
 
-#: ihtml/themes/default/framework.tpl:29
-msgid "Signed in:"
-msgstr "Đăng nhập:"
+#: include/utils/class_msgPool.inc:424
+msgid "January"
+msgstr "Tháng Một"
 
-#: ihtml/themes/default/framework.tpl:32
-msgid "GOsa main menu"
-msgstr "Menu chính của GOsa"
+#: include/utils/class_msgPool.inc:424
+msgid "February"
+msgstr "Tháng Hai"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:454
-#: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:433
-msgid "Fatal error"
-msgstr "Lỗi nặng"
+#: include/utils/class_msgPool.inc:424
+msgid "March"
+msgstr "Tháng Ba"
 
-#: html/password.php:58 html/index.php:144
-#, php-format
-msgid "GOsa configuration %s/%s is not readable. Aborted."
-msgstr "Cấu hình GOsa %s/%s không đọc được. Bãi bỏ."
+#: include/utils/class_msgPool.inc:424
+msgid "April"
+msgstr "Tháng Tư"
 
-#: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:268
-#: include/password-methods/class_password-methods-ssha.inc:51
-#: include/password-methods/class_password-methods-sha.inc:48
-#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:58
-#: include/class_SnapshotHandler.inc:76 include/functions.inc:825
-#: include/functions.inc:3067 include/functions.inc:3099
-#: include/functions.inc:3112 include/utils/class_timezone.inc:47
-#: include/class_config.inc:155 include/class_config.inc:695
-#: include/class_config.inc:1146 include/class_config.inc:1159
-#: include/class_config.inc:1177 include/class_pluglist.inc:182
-#: include/class_CopyPasteHandler.inc:119
-#: include/class_CopyPasteHandler.inc:128
-#: include/class_CopyPasteHandler.inc:177
-#: include/class_CopyPasteHandler.inc:186
-#: include/class_CopyPasteHandler.inc:194
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:667
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Configuration error"
-msgstr "Lỗi cấu hình"
+#: include/utils/class_msgPool.inc:425
+msgid "May"
+msgstr "Tháng Năm"
 
-#: html/password.php:74 html/index.php:165 html/setup.php:66
-#, php-format
-msgid "Directory '%s' specified as compile directory is not accessible!"
-msgstr ""
-"Không thể truy cập vào thư mục '%s' được xác định là thư mục soạn thảo!"
+#: include/utils/class_msgPool.inc:425
+msgid "June"
+msgstr "Tháng Sáu"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:593
-msgid "Password method"
-msgstr "Phương pháp lập mật khẩu"
+#: include/utils/class_msgPool.inc:425
+msgid "July"
+msgstr "Tháng Bảy"
 
-#: html/password.php:159
-msgid "Error: Password method not available!"
-msgstr "Lỗi: Phương pháp mật khẩu không có!"
+#: include/utils/class_msgPool.inc:425
+msgid "August"
+msgstr "Tháng Tám"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:316
-#: plugins/personal/password/class_password.inc:132
-msgid ""
-"The passwords you've entered as 'New password' and 'Repeated new password' "
-"do not match."
-msgstr ""
-"Các mật khẩu bạn vừa nhập vào: \"Mật khẩu mới\" và \"Mật khẩu lặp lại\" "
-"không giống nhau."
+#: include/utils/class_msgPool.inc:425
+msgid "September"
+msgstr "Tháng Chín"
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:138
-msgid "The password used as new and current are too similar."
-msgstr "Mật khẩu mới và mật khẩu cũ quá giống nhau."
+#: include/utils/class_msgPool.inc:426
+msgid "October"
+msgstr "Tháng Mười"
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:141
-msgid "The password used as new is to short."
-msgstr "Mật khẩu mới cần được cắt ngắn lại."
+#: include/utils/class_msgPool.inc:426
+msgid "November"
+msgstr "Tháng Mười Một"
 
-#: html/password.php:215 plugins/admin/groups/userSelect/user-list.xml:56
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
-#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
-#: plugins/personal/generic/class_user.inc:1313
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1345
-#: plugins/personal/generic/class_user.inc:1347
-#: plugins/personal/generic/generic.tpl:82
-#: plugins/personal/generic/paste_generic.tpl:15
-msgid "Login"
-msgstr "Đăng nhập"
+#: include/utils/class_msgPool.inc:426
+msgid "December"
+msgstr "Tháng Mười Hai"
 
-#: html/password.php:224 html/index.php:321
-msgid "Please check the username/password combination."
-msgstr "Xin hãy kiểm tra kết hợp tên người dùng/mật khẩu."
+#: include/utils/class_msgPool.inc:432
+msgid "Sunday"
+msgstr "Chủ nhật"
 
-#: html/password.php:228
-msgid "You have no permissions to change your password."
-msgstr "Bạn không được phép thay đổi mật mã của bạn."
+#: include/utils/class_msgPool.inc:432
+msgid "Monday"
+msgstr "Thứ Hai"
 
-#: html/password.php:249
-msgid "External password changer reported a problem: "
-msgstr "Bộ thay đổi mật khẩu bên ngoài báo cáo một vấn đề: "
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
+msgstr "Thứ Ba"
 
-#: html/password.php:280 html/index.php:406
-msgid "Session will not be encrypted."
-msgstr "Phiên sẽ không được mã hóa."
+#: include/utils/class_msgPool.inc:432
+msgid "Wednesday"
+msgstr "Thứ Tư"
 
-#: html/password.php:280 html/index.php:406
-msgid "Enter SSL session"
-msgstr "Vào phiên SSL"
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
+msgstr "Thứ Năm"
 
-#: html/index.php:57
-msgid "Session is not encrypted!"
-msgstr "Phiên không được mã hóa!"
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
+msgstr "Thứ Sáu"
 
-#: html/index.php:64
-msgid ""
-"The session lifetime configured in your gosa.conf will be overridden by php."
-"ini settings."
-msgstr ""
-"Thời gian hạn định của phiên được cấu hình trong file gosa.conf của bạn sẽ "
-"được ghi đè lên bởi các thiết lập php.ini."
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
+msgstr "Thứ Bảy"
 
-#: html/index.php:165
-msgid "Smarty error"
-msgstr "Lỗi Smarty"
+#: include/utils/class_msgPool.inc:439
+#, fuzzy
+msgid "MySQL operation failed!"
+msgstr "Hoạt động LDAP thất bại!"
 
-#: html/index.php:216
-msgid "There is a problem with the authentication setup!"
-msgstr "Có vấn đề với  việc cài đặt chức năng xác định thẩm quyền!"
+#: include/utils/class_msgPool.inc:447
+msgid "read operation"
+msgstr "Đọc thao tác"
 
-#: html/index.php:224
-msgid "Cannot find a valid user for the current authentication setup!"
-msgstr ""
-"Không thể tìm thấy một người dùng hợp lệ cho việc cài đặt xác định thẩm "
-"quyền hiện tại!"
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
+msgstr "thêm tao tác"
 
-#: html/index.php:228
-msgid "User information is not unique accross the configured LDAP trees!"
-msgstr ""
-"Thông tin người dùng không phải là duy nhất trong tất cả các cây LDAP đã "
-"được cấu hình!"
-
-#: html/index.php:254 html/index.php:265 html/index.php:278
-#: include/class_SnapshotHandler.inc:124 include/class_SnapshotHandler.inc:281
-#: include/class_SnapshotHandler.inc:329 include/class_SnapshotHandler.inc:333
-#: include/class_SnapshotHandler.inc:348 include/class_SnapshotHandler.inc:383
-#: include/class_SnapshotHandler.inc:438 include/class_SnapshotHandler.inc:503
-#: include/class_SnapshotHandler.inc:518 include/class_acl.inc:1233
-#: include/class_acl.inc:1329 include/functions.inc:483
-#: include/functions.inc:518 include/functions.inc:526
-#: include/functions.inc:571 include/functions.inc:840
-#: include/functions.inc:889 include/functions.inc:946
-#: include/functions.inc:999 include/functions.inc:3046
-#: include/functions.inc:3319 include/class_plugin.inc:1319
-#: include/class_plugin.inc:1368 include/class_plugin.inc:1372
-#: include/class_plugin.inc:1388 include/class_plugin.inc:1428
-#: include/class_plugin.inc:1486 include/class_plugin.inc:1552
-#: include/class_plugin.inc:1567 include/class_ldap.inc:756
-#: include/class_ldap.inc:1222 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:888
-#: plugins/admin/ogroups/class_ogroup.inc:902
-#: plugins/admin/groups/class_group.inc:697
-#: plugins/admin/groups/class_group.inc:1018
-#: plugins/admin/departments/class_department.inc:279
-#: plugins/admin/departments/class_department.inc:476
-#: plugins/admin/departments/class_department.inc:750
-#: plugins/admin/departments/class_department.inc:781
-#: plugins/admin/acl/class_aclRole.inc:613
-#: plugins/admin/acl/class_aclRole.inc:653
-#: plugins/admin/acl/class_aclRole.inc:667
-#: plugins/personal/generic/class_user.inc:716
-#: plugins/personal/generic/class_user.inc:1112
-#: plugins/personal/posix/class_posixAccount.inc:631
-#: plugins/personal/posix/class_posixAccount.inc:963
-#: setup/class_setupStep_Migrate.inc:1212
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#: setup/class_setupStep_Migrate.inc:2143
-#: setup/class_setupStep_Migrate.inc:2440
-#: setup/class_setupStep_Migrate.inc:2444
-#: setup/class_setupStep_Migrate.inc:2634
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
-#: setup/class_setupStep_Migrate.inc:3118
-#: setup/class_setupStep_Migrate.inc:3132
-msgid "LDAP error"
-msgstr "Lỗi LDAP"
+#: include/utils/class_msgPool.inc:447
+msgid "modify operation"
+msgstr "thay đối thao tác"
 
-#: html/index.php:265
-msgid "Cannot detect information about the installed LDAP schema!"
-msgstr "Không thể tìm ra thông tin về lược đồ  LDAP đã được cài đặt!"
+#: include/utils/class_msgPool.inc:448
+msgid "delete operation"
+msgstr "xóa thao tác"
 
-#: html/index.php:278
-msgid "Your LDAP setup contains old schema definitions:"
-msgstr "Cài đặt LDAP của bạn có chứa các định nghĩa lược đồ cũ:"
+#: include/utils/class_msgPool.inc:448
+msgid "search operation"
+msgstr "tìm kiếm thao tác"
 
-#: html/index.php:299
-msgid "Please specify a valid username!"
-msgstr "Xin hãy xác định một tên người dùng hợp lệ!"
+#: include/utils/class_msgPool.inc:448
+msgid "authentication"
+msgstr "Xác định thẩm quyền"
 
-#: html/index.php:302
-msgid "Please specify your password!"
-msgstr "Xin hãy xác định mật mã của bạn!"
+#: include/utils/class_msgPool.inc:451
+#, php-format
+msgid "LDAP %s failed!"
+msgstr "LDAP %s thất bại!"
 
-#: html/index.php:314
-msgid "Authentication error"
-msgstr "Lỗi xác định thẩm quyền"
+#: include/utils/class_msgPool.inc:453
+msgid "LDAP operation failed!"
+msgstr "Hoạt động LDAP thất bại!"
 
-#: html/index.php:314
-msgid "Cannot retrieve user information for htaccess authentication!"
-msgstr ""
-"Không thể phục hồi thông tin của người dùng cho việc thẩm  định quyền "
-"htaccess (truy cập ht)!"
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
+msgstr "đối tượng"
 
-#: html/index.php:369
-msgid "Account locked. Please contact your system administrator!"
-msgstr ""
-"Tài khoản bị khóa. Xin hãy liên lạc với admin quản trị hệ thống của bạn!"
+#: include/utils/class_msgPool.inc:469
+msgid "Upload failed!"
+msgstr "Tải lên thất bại!"
 
-#: html/index.php:412
-msgid ""
-"Your browser has cookies disabled. Please enable cookies and reload this "
-"page before logging in!"
-msgstr ""
-"Trình duyệt của bạn đã vô hiệu cookies. Xin hãy cho phép cookies vào và tải "
-"lại trang này trước khi đăng nhập!"
+#: include/utils/class_msgPool.inc:472
+#, php-format
+msgid "Upload failed: %s"
+msgstr "Tải lên thất bại: %s"
 
-#: html/setup.php:66
-msgid "Smarty"
-msgstr "Smarty"
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
+msgstr "Giao tiếp với dịch vụ cơ sở hạ tầng bị thất bại!"
 
-#: html/main.php:148
+#: include/utils/class_msgPool.inc:481
 #, php-format
-msgid "Cannot locate file '%s' - please run '%s' to fix this"
-msgstr "Không thể xác định vị trí file '%s'- xin hãy chạy '%s' để sửa lỗi này!"
+msgid "Communication failure with the infrastructure service: %s"
+msgstr "Giao tiếp với dịch vụ cơ sở hạ tầng bị thất bại: %s"
 
-#: html/main.php:167
-msgid "PHP configuration"
-msgstr "Cấu hình PHP"
+#: include/utils/class_msgPool.inc:488
+#, fuzzy
+msgid "Communication failure with the GOsa-NG service!"
+msgstr "Giao tiếp với dịch vụ cơ sở hạ tầng bị thất bại!"
 
-#: html/main.php:168
-msgid ""
-"FATAL: Register globals is on. GOsa will refuse to login unless this is "
-"fixed by an administrator."
-msgstr ""
-"LỖI NGHIÊM TRỌNG: Đăng ký toàn cầu đang bật. GOsa sẽ từ chối đăng nhập vào "
-"trừ khi lỗi này được một admin sửa."
+#: include/utils/class_msgPool.inc:490
+#, fuzzy, php-format
+msgid "Communication failure with the GOsa-NG service: %s"
+msgstr "Giao tiếp với dịch vụ cơ sở hạ tầng bị thất bại: %s"
 
-#: html/main.php:198
-msgid "Your password is about to expire, please change your password!"
-msgstr "Mật khẩu của bạn chuẩn bị hết hạn, xin hãy thay đối mật khẩu của bạn!"
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
+#, fuzzy, php-format
+msgid "This %s is still in use by this object: %s"
+msgstr "'%s' này vẫn còn được sử dụng bởi đối tượng: %s "
 
-#: html/main.php:268
-msgid "Running out of memory!"
-msgstr "Hết dung lượng bộ nhớ!"
+#: include/utils/class_msgPool.inc:503
+#, fuzzy, php-format
+msgid "This %s is still in use."
+msgstr "'%s' này vẫn còn được sử dụng."
 
-#: html/main.php:325
-msgid "User ACL checks disabled"
-msgstr "Vô hiệu việc kiểm tra ACL của người dùng"
+#: include/utils/class_msgPool.inc:505
+#, fuzzy, php-format
+msgid "This %s is still in use by these objects: %s"
+msgstr "'%s' vẫn còn được sử dụng bởi các đối tượng này: %s"
 
-#: html/main.php:373
-msgid "Plugin"
-msgstr "Plugin"
+#: include/utils/class_msgPool.inc:511
+#, fuzzy, php-format
+msgid "File %s does not exist!"
+msgstr "File '%s' không tồn tại!"
 
-#: html/main.php:374
-#, php-format
-msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
-msgstr ""
-"LỖI NGHIÊM TRỌNG: không thể tìm thấy bất cứ  plugin definition nào cho "
-"plugin '%s'!"
+#: include/utils/class_msgPool.inc:517
+#, fuzzy, php-format
+msgid "Cannot open file %s for reading!"
+msgstr "Không thể mở file '%s' để đọc!"
 
-#: html/main.php:388
-#, fuzzy
-msgid "Configuration Error"
-msgstr "Lỗi cấu hình"
+#: include/utils/class_msgPool.inc:523
+#, fuzzy, php-format
+msgid "Cannot open file %s for writing!"
+msgstr "Không thể mở file '%s' để viết!"
 
-#: html/main.php:389
+#: include/utils/class_msgPool.inc:529
 #, php-format
 msgid ""
-"FATAL: not all POST variables have been transfered by PHP - please inform "
-"your administrator!"
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
 msgstr ""
 
-#: html/helpviewer.php:64
-msgid "Help browser"
-msgstr "Hỗ trợ trình duyệt"
-
-#: html/helpviewer.php:118
-msgid "There is no helpfile specified for this class"
-msgstr "Không có file trợ giúp nào được chỉ định cho lớp này"
+#: include/utils/class_msgPool.inc:535
+#, fuzzy, php-format
+msgid "Cannot delete file %s!"
+msgstr "Không thế xóa file '%s'!"
 
-#: html/helpviewer.php:194 include/functions_helpviewer.inc:97
-msgid "previous"
-msgstr "Trước"
+#: include/utils/class_msgPool.inc:541
+#, fuzzy, php-format
+msgid "Cannot create folder %s!"
+msgstr "Không thể tạo ra folder '%s'!"
 
-#: html/helpviewer.php:198 include/functions_helpviewer.inc:101
-msgid "next"
-msgstr "Tiếp theo"
+#: include/utils/class_msgPool.inc:547
+#, fuzzy, php-format
+msgid "Cannot delete folder %s!"
+msgstr "Không thể xóa folder '%s'!"
 
-#: html/helpviewer.php:269
+#: include/utils/class_msgPool.inc:553
 #, php-format
-msgid "Helpdir '%s' is not accessible, can't read any helpfiles."
-msgstr ""
-"Không thể truy cập Helpdir '%s', không thể đọc được bất cứ file trợ giúp nào."
+msgid "Checking for %s support"
+msgstr "Kiểm tra hỗ trợ %s"
 
-#: include/class_management.inc:32 include/class_management.inc:33
-#: plugins/personal/posix/class_posixAccount.inc:237
-msgid "unconfigured"
-msgstr "không được cấu hình"
+#: include/utils/class_msgPool.inc:559
+#, php-format
+msgid "Install and activate the %s PHP module."
+msgstr "Cài đặt và kích hoạt mô-đun PHP %s."
 
-#: include/class_management.inc:145
-#, fuzzy
-msgid "Filter error"
-msgstr "Lỗi nặng"
+#: include/utils/class_msgPool.inc:565
+#, php-format
+msgid ""
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
+msgstr ""
 
-#: include/class_management.inc:145
-msgid "The filter is incomplete!"
+#: include/utils/class_msgPool.inc:571
+msgid ""
+"The supplied base is not valid and has been reset to its previous value!"
 msgstr ""
 
-#: include/class_management.inc:292 include/class_management.inc:427
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1590
-#: include/class_plugin.inc:1602 include/class_plugin.inc:1617
-#: include/class_plugin.inc:1630
-#: plugins/admin/users/class_userManagement.inc:236
-#: plugins/admin/users/class_userManagement.inc:744
-msgid "Permission"
-msgstr "Cho phép"
+#: include/utils/class_timezone.inc:47
+#, fuzzy, php-format
+msgid "The configured timezone %s is not valid!"
+msgstr "Cấu hình GOsa %s/%s không đọc được. Bãi bỏ."
 
-#: include/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:702
-#: plugins/admin/users/class_userManagement.inc:706
-#: plugins/admin/acl/class_aclManagement.inc:98
-msgid "Permission error"
-msgstr "Lỗi về cấp phép"
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
+msgstr "Cảnh báo"
 
-#: include/class_management.inc:427 include/class_plugin.inc:1590
-#, php-format
-msgid "You are not allowed to create a snapshot for %s."
-msgstr "Bạn không được phép tạo ra snapshot cho %s."
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+msgid "Fatal error"
+msgstr "Lỗi nặng"
 
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1602
-#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
-#, php-format
-msgid "You are not allowed to restore a snapshot for %s."
-msgstr "Bạn không được phép phục hồi một snapshot cho %s."
+#: include/utils/class_xml.inc:51
+#, fuzzy
+msgid "XML error"
+msgstr "Lỗi MySQL"
 
-#: include/class_management.inc:584
-#, php-format
-msgid ""
-"No tab declaration for '%s' found in your configuration file. Cannot create "
-"plugin instance!"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
 msgstr ""
 
-#: include/class_socketClient.inc:60
-msgid "The mcrypt module was not found. Please install php5-mcrypt."
-msgstr "Không tìm thấy Mô-đun mcrypt. Xin hãy cài đặt php5-mcrypt."
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
+msgstr ""
 
-#: include/class_socketClient.inc:108
-#, php-format
-msgid "Socket connection to host '%s:%s' failed: %s"
-msgstr "Kết nối socket đến  '%s:%s' thất bại:  '%s'"
+#: include/class_listing.inc:319
+msgid "Select all"
+msgstr "Chọn tất"
 
-#: include/class_socketClient.inc:191
-#, php-format
-msgid "Socket timeout of %s seconds reached."
-msgstr "Thời hạn cho socket là  %s giây đã đến."
+#: include/class_listing.inc:578
+#, fuzzy
+msgid "created by"
+msgstr "Tạo "
 
-#: include/password-methods/class_password-methods.inc:250
-msgid "Cannot find a suitable password method for the current hash!"
-msgstr ""
-"Không thể tìm thấy một phương pháp mật khẩu phù hợp cho hàm băm hiện tại!"
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
+msgid "Root"
+msgstr "Gốc"
 
-#: include/class_SnapshotHandler.inc:46 include/class_SnapshotHandler.inc:77
-#: include/class_config.inc:1147 include/class_config.inc:1178
-#, php-format
-msgid ""
-"The snapshot functionality is enabled, but the required variable '%s' is not "
-"set."
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
 msgstr ""
-"Chức năng Snapshot đã được bật, nhưng biến số được yêu cầu: '%s' vẫn chưa "
-"được thiết lập."
 
-#: include/class_SnapshotHandler.inc:59 include/class_config.inc:1160
-#, fuzzy, php-format
-msgid ""
-"The snapshot functionality is enabled, but the required compression module "
-"is missing. Please install '%s'."
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
 msgstr ""
-"Chức năng Snapshot đã được bật, nhưng biến số được yêu cầu: '%s' vẫn chưa "
-"được thiết lập."
 
-#: include/class_acl.inc:27
-msgid "Access control"
-msgstr "Kiểm soát truy cập"
+#: include/class_listing.inc:1079
+msgid "Reload list"
+msgstr "Danh sách reload"
 
-#: include/class_acl.inc:28 plugins/admin/acl/class_aclManagement.inc:26
-msgid "Manage access control lists"
-msgstr "Quản lý các danh sách kiểm soát truy cập"
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
+msgid "Actions"
+msgstr "Các thao tác"
 
-#: include/class_acl.inc:120 include/class_acl.inc:581
-#: include/class_acl.inc:1009
-#, fuzzy, php-format
-msgid "All users"
-msgstr "người dùng"
+#: include/class_listing.inc:1453
+msgid "Copy"
+msgstr "Copy"
 
-#: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
-msgid "All categories"
-msgstr "Tất cả các mục"
+#: include/class_listing.inc:1459
+msgid "Cut"
+msgstr "Cut"
 
-#: include/class_acl.inc:222
-msgid "Reset ACLs"
-msgstr "Xác lập lại ACLs"
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
+msgid "Paste"
+msgstr "Paste"
 
-#: include/class_acl.inc:223 plugins/admin/acl/class_aclRole.inc:135
-msgid "One level"
-msgstr "Một cấp độ"
+#: include/class_listing.inc:1492
+msgid "Cut this entry"
+msgstr "Cắt entry này"
 
-#: include/class_acl.inc:224 include/class_acl.inc:229
-#: plugins/admin/acl/class_aclRole.inc:136
-msgid "Current object"
-msgstr "Đối tượng hiện tại"
+#: include/class_listing.inc:1501
+msgid "Copy this entry"
+msgstr "Copy entry này"
 
-#: include/class_acl.inc:225 plugins/admin/acl/class_aclRole.inc:137
-msgid "Complete subtree"
-msgstr "Hoàn thành cây thư mục con"
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
+#, fuzzy
+msgid "Restore snapshots"
+msgstr "Phục hồi lại snapshot"
 
-#: include/class_acl.inc:226 plugins/admin/acl/class_aclRole.inc:138
-msgid "Complete subtree (permanent)"
-msgstr "Hoàn thành cây thư mục con (vĩnh viễn)"
+#: include/class_listing.inc:1549
+msgid "Export list"
+msgstr ""
 
-#: include/class_acl.inc:227 include/class_acl.inc:230
-msgid "Use ACL defined in role"
-msgstr "Sử dụng ACL được xác định trong vai trò"
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
+msgid "Restore snapshot"
+msgstr "Phục hồi lại snapshot"
 
-#: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1674
-#: setup/class_setupStep_Migrate.inc:1040
-msgid "Users"
-msgstr "Người dùng"
+#: include/class_listing.inc:1591
+#, fuzzy
+msgid "Create new snapshot for this object"
+msgstr "Tạo ra một snapshot mới từ đối tượng này"
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
-#: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1043
-msgid "Groups"
-msgstr "Các nhóm"
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
+#, fuzzy
+msgid "Parent filter"
+msgstr "Máy in"
 
-#: include/class_acl.inc:496 include/class_listing.inc:242
-#: include/class_listing.inc:999 include/class_listing.inc:1001
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:372
-msgid "Up"
-msgstr "Lên"
-
-#: include/class_acl.inc:498 include/class_listing.inc:242
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:374
-msgid "Down"
-msgstr "Xuống"
-
-#: include/class_acl.inc:503 include/class_acl.inc:551
-#: include/class_sortableListing.inc:192 include/class_sortableListing.inc:194
-#: plugins/admin/ogroups/ogroup-list.xml:91
-#: plugins/admin/groups/group-list.xml:108
-#: plugins/admin/users/user-list.xml:114
-#: plugins/admin/departments/dep-list.xml:172
-#: plugins/admin/acl/class_aclRole.inc:377
-#: plugins/admin/acl/class_aclRole.inc:426 plugins/admin/acl/acl-list.xml:131
-msgid "Edit"
-msgstr "Hiệu chỉnh"
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
+msgstr "Tên"
 
-#: include/class_acl.inc:503 include/class_acl.inc:507
-#: include/class_acl.inc:1265 include/class_acl.inc:1266
-#: include/class_acl.inc:1271 include/class_tabs.inc:401
-#: plugins/admin/acl/tabs_acl.inc:28 plugins/admin/acl/class_aclRole.inc:378
-#: plugins/admin/acl/class_aclRole.inc:382
-#: plugins/admin/acl/class_aclRole.inc:762
-msgid "ACL"
-msgstr "ACL"
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
+msgstr "Mô tả"
 
-#: include/class_acl.inc:507 include/class_acl.inc:555
-#: include/class_sortableListing.inc:197 include/class_sortableListing.inc:199
-#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
-#: plugins/admin/acl/class_aclRole.inc:430
-#, php-format
-msgid "Delete"
-msgstr "Xóa"
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
+msgstr "Các danh mục"
 
-#: include/class_acl.inc:543
-msgid "No ACL settings for this category!"
-msgstr "Không có thiết lập ACL cho hạng mục này!"
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+#, fuzzy
+msgid "Options"
+msgstr "Các thao tác"
+
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
+msgid "LDAP error"
+msgstr "Lỗi LDAP"
 
-#: include/class_acl.inc:545
+#: include/class_log.inc:87
 #, php-format
-msgid "Contains ACLs for these objects: %s"
-msgstr "Có chứa ACLs cho các đối tượng: %s "
+msgid "Logging failed: %s"
+msgstr "Đăng nhập thất bại: %s"
 
-#: include/class_acl.inc:551 include/class_acl.inc:555
-msgid "category ACL"
-msgstr "Hạng mục ACL"
+#: include/class_log.inc:102
+#, fuzzy, php-format
+msgid "Invalid option %s specified!"
+msgstr "Lựa chọn '%s' không hợp lệ đã được chỉ định!"
 
-#: include/class_acl.inc:608
-#, php-format
-msgid "Edit ACL for '%s' - scope is '%s'"
-msgstr "Hiệu chỉnh ACL cho '%s' - phạm vi là '%s'"
+#: include/class_log.inc:106
+#, fuzzy
+msgid "Specified 'objectType' is empty or invalid!"
+msgstr "ObjecType được chỉ định đang rỗng hặc không hợp lệ!"
 
-#: include/class_acl.inc:618 plugins/admin/acl/class_aclRole.inc:460
-msgid "All objects in current subtree"
-msgstr "Tất cả các đối tượng hiện trong  cây thư mục con hiện tại"
+#: include/class_multi_plug.inc:362
+#, fuzzy
+msgid "You are currently editing multiple entries."
+msgstr "Bạn hiện đang hiệu chỉnh rất nhiều entry."
 
-#: include/class_acl.inc:779 include/class_acl.inc:786
-msgid "Show/hide advanced settings"
-msgstr "Hiển thị/ Ẩn các thiết lập cao cấp "
+#: include/class_multi_plug.inc:394
+#, fuzzy
+msgid "Reset password"
+msgstr "Đặt mật khẩu"
 
-#: include/class_acl.inc:803
-msgid "Create objects"
-msgstr "Tạo ra đối tượng"
+#: include/class_multi_plug.inc:394
+#, fuzzy
+msgid "The user password has been reset. Please set a new password!"
+msgstr ""
+"Mật khẩu người dùng đã được xác lập lại, hãy thiết lập một giá trị mật khẩu "
+"mới!"
 
-#: include/class_acl.inc:804
-msgid "Move objects"
-msgstr "Dịch chuyển đối tượng"
+#: include/class_tabs.inc:72
+#, php-format
+msgid "No plugin definition for %s found: please check the configuration file!"
+msgstr ""
 
-#: include/class_acl.inc:805
-msgid "Remove objects"
-msgstr "Xóa đối tượng"
+#: include/class_tabs.inc:287
+#, fuzzy, php-format
+msgid "Delete process has been canceled by plugin %s: %s"
+msgstr "Qúa trình xóa đã bị hủy bỏ bởi plugin '%s': %s"
 
-#: include/class_acl.inc:807
-#, fuzzy
-msgid "Grant permission to owner"
-msgstr "Không thể thiết lập phép cho '%s'"
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
+msgstr "ACL"
 
-#: include/class_acl.inc:811 include/class_acl.inc:916
-#: include/class_acl.inc:920
-msgid "read"
-msgstr "đọc"
+#: include/class_tabs.inc:425
+msgid "References"
+msgstr "Các tham chiếu"
 
-#: include/class_acl.inc:812 include/class_acl.inc:918
-#: include/class_acl.inc:921
-msgid "write"
-msgstr "viết"
+#: include/functions_helpviewer.inc:45
+#, fuzzy, php-format
+msgid "XML error in guide.xml: %s at line %s"
+msgstr "Lỗi XML trong thư mục guide.xml : %s ở dòng %d"
 
-#: include/class_acl.inc:816
-msgid "Complete object"
-msgstr "Hoàn thành đối tượng"
+#: include/functions_helpviewer.inc:88
+#, fuzzy
+msgid "No help available for this plug-in."
+msgstr "Không có sự trợ giúp nào cho plugin này."
 
-#: include/class_acl.inc:960 include/class_session.inc:76
-#: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:611 include/functions.inc:815
-#: include/functions.inc:933 include/functions.inc:1331
-#: include/functions.inc:2414 include/functions.inc:2448
-#: include/functions.inc:2468 include/class_ldap.inc:693
-#: include/class_ldap.inc:744 include/class_log.inc:87
-#: include/class_CopyPasteHandler.inc:160
-#: include/class_CopyPasteHandler.inc:274
-msgid "Internal error"
-msgstr "Lỗi nội bộ"
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
+msgstr "Trước"
 
-#: include/class_acl.inc:960
-#, php-format
-msgid "Unkown ACL type '%s'!"
-msgstr "dạng ACL '%s' không được biết đến!"
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
+msgid "next"
+msgstr "Tiếp theo"
 
-#: include/class_acl.inc:1005
+#: include/functions_helpviewer.inc:388
 #, php-format
-msgid "Unknown entry '%s'!"
-msgstr "Entry '%s' không được biết đến!"
+msgid "%s results for your search with the keyword %s"
+msgstr "%s kết quả cho việc tìm kiếm của bạn với từ khóa %s"
 
-#: include/class_acl.inc:1069 include/class_acl.inc:1071
+#: include/functions_helpviewer.inc:461
 #, php-format
-msgid "Role: %s"
-msgstr "Vai trò: %s"
+msgid "%s%% hit rate in file %s"
+msgstr "%s%% tỷ lệ hit trong file %s"
 
-#: include/class_acl.inc:1071
-msgid "unknown role"
-msgstr "Vai trò không được biết đến"
+#: include/class_msg_dialog.inc:124
+msgid "Please fix the above error and reload the page."
+msgstr "Xin hãy sửa lỗi trên và reload trang trên."
 
-#: include/class_acl.inc:1079
-#, php-format
-msgid "Contains settings for these objects: %s"
-msgstr "Chứa các thiết lập cho các đối tượng: %s"
+#: include/class_plugin.inc:581
+msgid ""
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
+msgstr ""
 
-#: include/class_acl.inc:1096
-msgid "inactive"
-msgstr "không hoạt động"
+#: include/class_plugin.inc:1411
+#, php-format
+msgid "Changing ACL DN from %s to %s"
+msgstr ""
 
-#: include/class_acl.inc:1096
+#: include/class_SnapShotDialog.inc:55
 #, fuzzy
-msgid "No members"
-msgstr "Các thành viên nhóm"
-
-#: include/class_acl.inc:1266
-msgid "Access control list"
-msgstr "Danh sách kiểm soát truy cập"
+msgid "Date"
+msgstr "Paste"
 
-#: include/class_acl.inc:1271
-msgid "ACL roles"
-msgstr "Các vai trò ACL"
+#: include/class_SnapShotDialog.inc:94
+#, fuzzy, php-format
+msgid "You are about to delete the snapshot %s."
+msgstr "Bạn chuẩn bị xóa chế độ snapshot '%s'."
 
-#: include/class_session.inc:76 include/class_session.inc:101
-#: include/class_session.inc:127
+#: include/class_SnapShotDialog.inc:143
 #, fuzzy
-msgid "Requested channel does not exist! Please contact your Administrator."
-msgstr ""
-"Tên người dùng/UID không phải là duy nhất trong cây LDAP. Xin hãy liên Lạc "
-"với Admin của bạn."
+msgid "Delete snapshot"
+msgstr "Tạo ra snapshot"
 
-#: include/class_listing.inc:301 setup/setup_migrate.tpl:93
-#: setup/setup_migrate.tpl:149 setup/setup_migrate.tpl:201
-#: setup/setup_migrate.tpl:368 setup/setup_migrate.tpl:421
-#: setup/setup_migrate.tpl:464 setup/setup_migrate.tpl:507
-#: setup/setup_migrate.tpl:551
-msgid "Select all"
-msgstr "Chọn tất"
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+msgid "Y-m-d, H:i:s"
+msgstr "Y-m-d, H:i:s (Năm-tháng-ngày)"
 
-#: include/class_listing.inc:522
+#: include/class_pathNavigator.inc:86
 #, fuzzy
-msgid "created by"
-msgstr "Tạo "
+msgid "Welcome to GOsa"
+msgstr "Chào mừng bạn đến với bộ cài đặt wizard GOsa"
 
-#: include/class_listing.inc:991
-msgid "Go to root department"
-msgstr "Đi đến bộ phận gốc"
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
+msgstr ""
+"Không thể tìm thấy một phương pháp mật khẩu phù hợp cho hàm băm hiện tại!"
 
-#: include/class_listing.inc:991 include/class_listing.inc:993
-#: include/class_baseSelector.inc:159
-msgid "Root"
-msgstr "Gốc"
+#: include/class_sortableListing.inc:234
+msgid "Sortable list"
+msgstr ""
 
-#: include/class_listing.inc:999
-msgid "Go up one department"
-msgstr "Đi lên một bộ phận"
+#: include/class_sortableListing.inc:239
+msgid "Edit this entry"
+msgstr "Hiệu chỉnh entry này"
 
-#: include/class_listing.inc:1007
-msgid "Go to users department"
-msgstr "Đi đến bộ phận người dùng"
+#: include/class_sortableListing.inc:244
+msgid "Delete this entry"
+msgstr "Xóa bỏ entry"
 
-#: include/class_listing.inc:1007 include/class_listing.inc:1009
-msgid "Home"
-msgstr "Nhà"
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+#, fuzzy
+msgid "unknown"
+msgstr "Không rõ"
 
-#: include/class_listing.inc:1014
-msgid "Reload list"
-msgstr "Danh sách reload"
+#: include/class_configRegistry.inc:197
+#, php-format
+msgid "%s has version %s but %s is required!"
+msgstr ""
 
-#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
-msgid "Submit"
-msgstr "Nộp"
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
+msgstr ""
 
-#: include/class_listing.inc:1109 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:64
-#: plugins/admin/groups/group-list.xml:79 plugins/admin/users/user-list.xml:78
-#: plugins/admin/departments/dep-list.xml:87 plugins/admin/acl/acl-list.xml:65
-msgid "Actions"
-msgstr "Các thao tác"
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+#, fuzzy
+msgid "The following object classes are outdated:"
+msgstr "Tham chiếu sau sẽ được cập nhật"
 
-#: include/class_listing.inc:1380 include/class_listing.inc:1430
-#: include/class_plugin.inc:2114
-msgid "Copy"
-msgstr "Copy"
+#: include/class_configRegistry.inc:252
+msgid ""
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
+msgstr ""
 
-#: include/class_listing.inc:1386 include/class_listing.inc:1420
-#: include/class_plugin.inc:2118
-msgid "Cut"
-msgstr "Cut"
+#: include/class_configRegistry.inc:254
+#, fuzzy
+msgid "Schema validation error"
+msgstr "Lỗi xác định thẩm quyền"
 
-#: include/class_listing.inc:1394 include/class_listing.inc:1396
-#: include/class_plugin.inc:2125 include/class_plugin.inc:2128
-#: include/class_CopyPasteHandler.inc:570
-msgid "Paste"
-msgstr "Paste"
+#: include/class_configRegistry.inc:689
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a bool value!"
+msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
 
-#: include/class_listing.inc:1420 include/class_plugin.inc:2072
-msgid "Cut this entry"
-msgstr "Cắt entry này"
+#: include/class_configRegistry.inc:704
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a string!"
+msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
 
-#: include/class_listing.inc:1430 include/class_plugin.inc:2080
-msgid "Copy this entry"
-msgstr "Copy entry này"
+#: include/class_configRegistry.inc:719
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be numeric!"
+msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
+
+#: include/class_configRegistry.inc:734
+#, fuzzy, php-format
+msgid "The path %s specified for %s:%s is invalid!"
+msgstr "Lệnh '%s' cho plugin '%s' không hợp lệ!"
+
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
+msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
+
+#: include/class_configRegistry.inc:755
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
+msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
+
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not writeable!"
+msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
+
+#: include/class_configRegistry.inc:802
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not writeable!"
+msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
+
+#: include/class_configRegistry.inc:820
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s does not exists!"
+msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
+
+#: include/class_configRegistry.inc:825
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not readable!"
+msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
+
+#: include/class_configRegistry.inc:841
+#, fuzzy, php-format
+msgid "The command %s specified for %s:%s is invalid!"
+msgstr "Lệnh '%s' (%s) cho plugin %s không hợp lệ!"
+
+#: include/class_configRegistry.inc:856
+#, fuzzy, php-format
+msgid "The DN %s specified for %s:%s is invalid!"
+msgstr "Lệnh '%s' cho plugin '%s' không hợp lệ!"
+
+#: include/class_configRegistry.inc:871
+#, fuzzy, php-format
+msgid "The RDN %s specified for %s:%s is invalid!"
+msgstr "Lệnh '%s' cho plugin '%s' không hợp lệ!"
+
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
+msgstr "Tạo ra trang này khiến cho bộ dịch PHP sinh ra một số lỗi!"
 
-#: include/class_listing.inc:1462 include/class_listing.inc:1464
+#: include/php_setup.inc:110
 #, fuzzy
-msgid "Restore snapshots"
-msgstr "Phục hồi lại snapshot"
+msgid "Send bug report"
+msgstr "Gửi thông báo lỗi"
 
-#: include/class_listing.inc:1478
-msgid "Export list"
+#: include/php_setup.inc:114
+msgid "Toggle details"
 msgstr ""
 
-#: include/class_listing.inc:1513 include/class_listing.inc:1514
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
-msgid "Restore snapshot"
-msgstr "Phục hồi lại snapshot"
+#: include/php_setup.inc:123
+msgid "PHP error"
+msgstr "Lỗi PHP"
 
-#: include/class_listing.inc:1523 include/class_plugin.inc:2053
-msgid "Create snapshot"
-msgstr "Tạo ra snapshot"
+#: include/php_setup.inc:142
+msgid "class"
+msgstr "lớp"
 
-#: include/class_listing.inc:1524 include/class_plugin.inc:2054
-msgid "Create a new snapshot from this object"
-msgstr "Tạo ra một snapshot mới từ đối tượng này"
+#: include/php_setup.inc:148
+msgid "function"
+msgstr "chức năng"
 
-#: include/class_sortableListing.inc:194
-msgid "Edit this entry"
-msgstr "Hiệu chỉnh entry này"
+#: include/php_setup.inc:153
+msgid "static"
+msgstr "tĩnh"
 
-#: include/class_sortableListing.inc:199
-msgid "Delete this entry"
-msgstr "Xóa bỏ entry"
+#: include/php_setup.inc:157
+msgid "method"
+msgstr "phương pháp"
 
-#: include/functions.inc:134
-#, php-format
-msgid "Fatal error: no class locations defined - please run '%s' to fix this"
+#: include/php_setup.inc:190
+#, fuzzy
+msgid "Traceback"
+msgstr "Dò theo"
+
+#: include/php_setup.inc:191
+msgid "File"
+msgstr "File"
+
+#: include/php_setup.inc:191
+msgid "Line"
+msgstr "Dòng"
+
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+msgid "Type"
+msgstr "Loại"
+
+#: include/php_setup.inc:192
+msgid "Arguments"
+msgstr "Tranh luận"
+
+#: include/class_certificate.inc:73
+msgid "Certificate is empty!"
+msgstr "Giấy chứng nhận trống!"
+
+#: include/class_certificate.inc:100
+#, fuzzy
+msgid "Cannot load certificate: only PEM and DER are supported!"
+msgstr "Không thể tải giấy chứng nhận - chỉ có PEM/DER là được hỗ trợ!"
+
+#: include/class_certificate.inc:115
+msgid "Cannot extract information for non PEM certificates!"
+msgstr ""
+"Không thể triết xuất thông tin cho những giấy chứng nhận không phải là PEM!"
+
+#: include/class_certificate.inc:219
+msgid "No valid certificate loaded!"
+msgstr "Không tải được giấy chứng nhận có hiệu lực nào!"
+
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+#, fuzzy
+msgid "Requested channel does not exist!"
+msgstr ""
+"Tên người dùng/UID không phải là duy nhất trong cây LDAP. Xin hãy liên Lạc "
+"với Admin của bạn."
+
+#: include/functions.inc:151
+#, fuzzy, php-format
+msgid "Fatal error: no class locations defined - please run %s to fix this"
 msgstr ""
 "Lỗi nghiêm trọng: không có vị trí lớp nào được xác định - xin hãy chạy '%s' "
 "để sửa lỗi này"
 
-#: include/functions.inc:141
-#, php-format
-msgid ""
-"Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+#: include/functions.inc:158
+#, fuzzy, php-format
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
 msgstr ""
 "Lỗi nghiêm trọng: không thể tạo ra lớp '%s' - hãy thử chạy '%s' để sửa lỗi "
 "này"
 
-#: include/functions.inc:455
-#, php-format
-msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#: include/functions.inc:483
+#, fuzzy, php-format
+msgid "Error while connecting to LDAP: %s"
 msgstr ""
 "LỖI NGHIÊM TRỌNG: Lỗi khi đang kết nối với LDAP. Server thông báo '%s'."
 
-#: include/functions.inc:526
-msgid "Username / UID is not unique inside the LDAP tree!"
+#: include/functions.inc:554 include/functions.inc:640
+#, fuzzy
+msgid "User ID is not unique!"
 msgstr "Tên người dùng/ UID không phải là duy nhất trong cây LDAP!"
 
-#: include/functions.inc:611
-msgid ""
-"Username / UID is not unique inside the LDAP tree. Please contact your "
-"Administrator."
-msgstr ""
-"Tên người dùng/UID không phải là duy nhất trong cây LDAP. Xin hãy liên Lạc "
-"với Admin của bạn."
-
-#: include/functions.inc:815 include/functions.inc:933
-msgid "Error while adding a lock. Contact the developers!"
-msgstr "Lỗi khi đang thêm một khóa vào. Hãy liên lạc với các nhà phát triển!"
-
-#: include/functions.inc:825
-#, php-format
-msgid ""
-"Cannot create locking information in LDAP tree. Please contact your "
-"administrator!"
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
 msgstr ""
-"Không thể tạo ra việc khóa thông tin trong cây LDAP.Xin hãy liên lạc với "
-"admin của bạn!"
 
-#: include/functions.inc:825
-#, php-format
-msgid "LDAP server returned: %s"
-msgstr "LDAP server trả về: %s"
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Cannot store lock information in LDAP!"
+msgstr "Không thể tìm ra thông tin về lược đồ  LDAP đã được cài đặt!"
 
-#: include/functions.inc:954
-msgid ""
-"Found multiple locks for object to be locked. This should not happen - "
-"cleaning up multiple references."
-msgstr ""
-"Tìm thấy nhiều khóa khác nhau để khóa đối tượng. Điều này không nên xảy ra - "
-"hãy dọn sạch các tham chiếu."
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Error: %s"
+msgstr "Lỗi"
 
-#: include/functions.inc:1258
-#, php-format
-msgid "The size limit of %d entries is exceed!"
+#: include/functions.inc:1294
+#, fuzzy, php-format
+msgid "The current size limit of %d entries is exceeded!"
 msgstr "Đã vượt quá giới hạn kích cỡ của các entry %d!"
 
-#: include/functions.inc:1260
+#: include/functions.inc:1296
 #, php-format
-msgid ""
-"Set the new size limit to %s and show me this message if the limit still "
-"exceeds"
+msgid "Set the size limit to %s"
 msgstr ""
-"Thiết lập kích cỡ mới cho %s và cho tôi thấy tin nhắn nếu giới hạn này vẫn "
-"vượt quá tiêu chuẩn"
 
-#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
 msgid "Configure"
 msgstr "Cấu hình"
 
-#: include/functions.inc:1277
-msgid "incomplete"
+#: include/functions.inc:1313
+#, fuzzy
+msgid "list is incomplete"
 msgstr "chưa hoàn thành"
 
-#: include/functions.inc:1667
+#: include/functions.inc:1663
 msgid "Continue anyway"
 msgstr "Cứ tiếp tục"
 
-#: include/functions.inc:1669
+#: include/functions.inc:1665
 msgid "Edit anyway"
 msgstr "Cứ hiệu chỉnh"
 
-#: include/functions.inc:1671
-#, php-format
-msgid "You're going to edit the LDAP entry/entries %s"
-msgstr "Bạn sẽ hiệu chỉnh entry/các entry %s của LDAP"
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
+msgstr ""
 
-#: include/functions.inc:1911
+#: include/functions.inc:1909
 msgid "Entries per page"
 msgstr "các entry cho mỗi trang"
 
-#: include/functions.inc:1940 include/class_filter.inc:315
-msgid "Apply filter"
-msgstr "Áp dụng bộ lọc"
-
-#: include/functions.inc:2252 include/class_filter.inc:281
-msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-
-#: include/functions.inc:2306
+#: include/functions.inc:2087
 #, fuzzy, php-format
 msgid "GOsa %s"
 msgstr "GOsa"
 
-#: include/functions.inc:2313
+#: include/functions.inc:2094
 #, fuzzy, php-format
 msgid "GOsa %s snapshot (Rev %s)"
 msgstr "snapshot phát triển GOsa (Rev %s)"
 
-#: include/functions.inc:2318
+#: include/functions.inc:2099
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "snapshot phát triển GOsa (Rev %s)"
 
-#: include/functions.inc:2414
-#, php-format
-msgid "File '%s' could not be deleted."
+#: include/functions.inc:2195
+#, fuzzy, php-format
+msgid "File %s cannot be deleted!"
 msgstr "File '%s' không thể bị xóa."
 
-#: include/functions.inc:2448 include/functions.inc:2468
-msgid "Cannot write to revision file!"
+#: include/functions.inc:2225 include/functions.inc:2245
+#, fuzzy
+msgid "Cannot write revision file!"
 msgstr "Không thể viết lên revision file!"
 
-#: include/functions.inc:2686 include/functions.inc:2690
-#: include/functions.inc:2696
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
 #, fuzzy
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr "'base_hook' không có. Hãy sử dụng cơ sở mặc định!"
 
-#: include/functions.inc:2720
-msgid "LDAP warning"
-msgstr "Cảnh báo LDAP"
-
-#: include/functions.inc:2720
-msgid "Cannot get schema information from server. No schema check possible!"
+#: include/functions.inc:2550
+#, fuzzy
+msgid ""
+"Cannot read schema information from LDAP. Schema validation is not possible!"
 msgstr ""
 "Không thể dùng thông tin lược đồ từ server. Không thể kiểm tra giản đồ!"
 
-#: include/functions.inc:2746
-msgid "Used to store account specific informations."
-msgstr "Đã từng lưu trữ thông tin cụ thể về tài khoản."
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
+msgstr ""
 
-#: include/functions.inc:2753
+#: include/functions.inc:2583
+#, fuzzy
 msgid ""
-"Used to lock currently edited entries to avoid multiple changes at the same "
+"This class is used to lock entries in order to prevent multiple edits at a "
 "time."
 msgstr ""
 "Đã từng khóa các entry hiện đang được hiệu chỉnh nhằm tránh các thay đổi "
 "khác nhau tại cùng một thời điểm."
 
-#: include/functions.inc:2798
-#, php-format
-msgid "Missing required object class '%s'!"
+#: include/functions.inc:2628
+#, fuzzy, php-format
+msgid "Required object class %s is missing!"
 msgstr "Lớp đối tượng '%s' được yêu cầu mất tích!"
 
-#: include/functions.inc:2801
-#, php-format
-msgid "Missing optional object class '%s'!"
+#: include/functions.inc:2631
+#, fuzzy, php-format
+msgid "Optional object class %s is missing!"
 msgstr "Lớp đối tượng lựa chọn '%s' mất tích!"
 
-#: include/functions.inc:2806
-#, php-format
-msgid "Version mismatch for required object class '%s' (!=%s)!"
+#: include/functions.inc:2636
+#, fuzzy, php-format
+msgid "Wrong version of required object class %s (!=%s) detected!"
 msgstr "Phiên bản không phù hợp với lớp đối tượng '%s' được yêu cầu (!=%s)!"
 
-#: include/functions.inc:2809
-#, php-format
-msgid "Class(es) available"
+#: include/functions.inc:2639
+#, fuzzy, php-format
+msgid "Class available"
 msgstr "Đã có lớp"
 
-#: include/functions.inc:2831
+#: include/functions.inc:2661
 msgid ""
-"You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
-"schema    configuration do not support this option."
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
 msgstr ""
-"Bạn vừa bật lựa chọn rfc2307bis lên trên bước ' cài đặt ldap', nhưng cấu "
-"hình giản đồ của bạn không hỗ trợ lựa chọn này."
 
-#: include/functions.inc:2832
+#: include/functions.inc:2662
+#, fuzzy
 msgid ""
-"In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
-"be      AUXILIARY"
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
 msgstr ""
 "Để có thể sử dụng được nhóm conform rfc2307bis, objectClass "
 "'posixGroup' (nhóm posix) phải được hỗ trợ     "
 
-#: include/functions.inc:2836
+#: include/functions.inc:2666
 msgid ""
-"Your schema is configured to support the rfc2307bis group, but you have "
-"disabled this option on the 'ldap setup' step."
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
 msgstr ""
-"Lược đồ của bạn được cấu hình để hỗ trợ nhóm rfc2307bis, nhưng bạn đã vừa "
-"tắt chức năng này đi trong bước 'cài đặt ldap'."
 
-#: include/functions.inc:2837
-msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#: include/functions.inc:2667
+#, fuzzy
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
 msgstr "ObjectClass (Lớp đối tượng) 'posixGroup' phải CÓ CẤU TRÚC"
 
-#: include/functions.inc:2861
+#: include/functions.inc:2692
 msgid "German"
 msgstr "Tiếng Đức"
 
-#: include/functions.inc:2862
+#: include/functions.inc:2693
 msgid "French"
 msgstr "Tiếng Pháp"
 
-#: include/functions.inc:2863
+#: include/functions.inc:2694
 msgid "Italian"
 msgstr "Tiếng Ý"
 
-#: include/functions.inc:2864
+#: include/functions.inc:2695
 msgid "Spanish"
 msgstr "Tiếng Tây Ban Nha"
 
-#: include/functions.inc:2865
+#: include/functions.inc:2696
 msgid "English"
 msgstr "Tiếng Anh"
 
-#: include/functions.inc:2866
+#: include/functions.inc:2697
 msgid "Dutch"
 msgstr "Tiếng Hà Lan"
 
-#: include/functions.inc:2867
+#: include/functions.inc:2698
 msgid "Polish"
 msgstr "Tiếng Phần Lan"
 
-#: include/functions.inc:2869
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
+msgstr ""
+
+#: include/functions.inc:2701
 msgid "Chinese"
 msgstr "Tiếng Trung Quốc"
 
-#: include/functions.inc:2870
+#: include/functions.inc:2702
 msgid "Vietnamese"
 msgstr "Tiếng Việt"
 
-#: include/functions.inc:2871
+#: include/functions.inc:2703
 msgid "Russian"
 msgstr "Tiếng Nga"
 
-#: include/functions.inc:3066
+#: include/functions.inc:2896
+#, fuzzy
+msgid "Cannot detect password hash!"
+msgstr "Không thể sinh ra hàm băm samba!"
+
+#: include/functions.inc:2937 include/functions.inc:3012
 #, php-format
-msgid ""
-"Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: include/functions.inc:2968
+#, fuzzy
+msgid "Password change failed!"
+msgstr "Thay đổi mật khẩu"
+
+#: include/functions.inc:2976
+#, php-format
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
 msgstr ""
-"Lệnh '%s', được xác định là POSTMODIFY (thay đổi sau) cho chế độ plugin '%s' "
-"hình như không tồn tại."
 
-#: include/functions.inc:3099
-msgid "Cannot generate samba hash!"
+#: include/functions.inc:3080
+#, fuzzy
+msgid "Cannot generate SAMBA hash!"
 msgstr "Không thể sinh ra hàm băm samba!"
 
-#: include/functions.inc:3112
+#: include/functions.inc:3095
 #, php-format
-msgid ""
-"Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+msgid "Generating SAMBA hash by running %s failed: check %s!"
 msgstr ""
 
-#: include/functions.inc:3393 include/functions.inc:3407
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
 #, fuzzy
-msgid "Cannot allocate a free ID:"
+msgid "Cannot allocate free ID:"
 msgstr "Không thể phân phối một ID miễn phí!"
 
-#: include/functions.inc:3393
+#: include/functions.inc:3373
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3407
+#: include/functions.inc:3387
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3437
+#: include/functions.inc:3417
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "Không thể tạo ra folder '%s'!"
 
-#: include/functions.inc:3445
+#: include/functions.inc:3425
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3457 include/functions.inc:3461
+#: include/functions.inc:3437 include/functions.inc:3441
 #, fuzzy
 msgid "no ID available!"
 msgstr "Không có mẫu nào!"
 
-#: include/functions.inc:3485
-msgid "maximum tries exceeded!"
+#: include/functions.inc:3465
+msgid "maximum number of tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3545
-msgid "Cannot allocate a free ID!"
+#: include/functions.inc:3525
+#, fuzzy
+msgid "Cannot allocate free ID!"
 msgstr "Không thể phân phối một ID miễn phí!"
 
-#: include/class_tabs.inc:57
-#, php-format
-msgid ""
-"No plugin definitions found to initialize '%s', please check your "
-"configuration file."
-msgstr ""
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
+msgstr "Tìm kiếm"
 
-#: include/class_tabs.inc:268
-#, php-format
-msgid "Delete process has been canceled by plugin '%s': %s"
-msgstr "Qúa trình xóa đã bị hủy bỏ bởi plugin '%s': %s"
+#: include/class_filter.inc:226
+#, fuzzy
+msgid "Search filter"
+msgstr "Máy in"
 
-#: include/class_tabs.inc:406
-msgid "References"
-msgstr "Các tham chiếu"
+#: include/class_filter.inc:444
+msgid "Search in subtrees"
+msgstr "Tìm kiếm tại các cây con"
 
-#: include/class_SnapShotDialog.inc:82
-#, php-format
-msgid "You're about to delete the snapshot '%s'."
-msgstr "Bạn chuẩn bị xóa chế độ snapshot '%s'."
+#: include/class_filter.inc:449
+#, fuzzy
+msgid "Edit filters"
+msgstr "Hiệu chỉnh các giấy phép"
 
-#: include/class_SnapShotDialog.inc:137
-msgid "Remove snapshot"
-msgstr "Xóa snapshot"
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
+msgstr "Cảnh báo khả năng hoạt động"
 
-#: include/class_SnapShotDialog.inc:139 include/class_SnapShotDialog.inc:159
-msgid "Y-m-d, H:i:s"
-msgstr "Y-m-d, H:i:s (Năm-tháng-ngày)"
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+#, fuzzy, php-format
+msgid "LDAP performance is poor: last query took %.2fs!"
+msgstr ""
+"Khả năng hoạt động của LDAP rất thấp: truy vấn lần cuối mất khoảng %.2fs!"
 
-#: include/class_SnapShotDialog.inc:171
-#: plugins/generic/references/contents.tpl:11
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
-#: plugins/admin/ogroups/class_ogroup.inc:977
-#: plugins/admin/ogroups/generic.tpl:15
-#: plugins/admin/ogroups/ogroup-list.xml:49
-#: plugins/admin/groups/generic.tpl:24
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:66
-#: plugins/admin/groups/class_group.inc:1184
-#: plugins/admin/departments/dep-list.xml:79
-#: plugins/admin/departments/locality.tpl:19
-#: plugins/admin/departments/generic.tpl:19
-#: plugins/admin/departments/class_domain.inc:63
-#: plugins/admin/departments/class_domain.inc:91
-#: plugins/admin/departments/class_localityGeneric.inc:64
-#: plugins/admin/departments/class_localityGeneric.inc:92
-#: plugins/admin/departments/class_organizationGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_countryGeneric.inc:63
-#: plugins/admin/departments/class_countryGeneric.inc:92
-#: plugins/admin/departments/class_dcObject.inc:63
-#: plugins/admin/departments/class_dcObject.inc:91
-#: plugins/admin/departments/domain.tpl:19
-#: plugins/admin/departments/country.tpl:19
-#: plugins/admin/departments/dcObject.tpl:19
-#: plugins/admin/departments/class_department.inc:359
-#: plugins/admin/departments/class_department.inc:666
-#: plugins/admin/departments/organization.tpl:19
-#: plugins/admin/acl/class_aclRole.inc:735 plugins/admin/acl/acl-list.xml:57
-#: plugins/admin/acl/acl_role.tpl:17
-#: plugins/personal/posix/trustSelect/trust-list.xml:64
-#: plugins/personal/posix/groupSelect/group-list.xml:49
-msgid "Description"
-msgstr "Mô tả"
+#: include/class_ldap.inc:784
+#, fuzzy, php-format
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
+msgstr ""
+"Không thể tự động tạo ra cây con với RDN '%s': không có lớp đối tượng nào "
+"được tìm thấy!"
 
-#: include/exporter/class_cvsExporter.inc:48
-msgid "CSV"
+#: include/class_ldap.inc:835
+#, fuzzy, php-format
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
+msgstr "Không thể tự động tạo ra cây con với RDN '%s': không được hỗ trợ "
+
+#: include/class_ldap.inc:922
+#, fuzzy, php-format
+msgid "while operating on %s using LDAP server %s"
+msgstr "Trong khi chạy trên '%s' sử dụng LDAP server '%s'"
+
+#: include/class_ldap.inc:924
+#, php-format
+msgid "while operating on LDAP server %s"
+msgstr "Trong khi chạy trên LDAP server %s"
+
+#: include/class_ldap.inc:977
+#, php-format
+msgid "Command line programm %s is missing!"
 msgstr ""
 
-#: include/exporter/class_PDF.inc:24
-#, fuzzy
-msgid "Page"
-msgstr "Máy nhắn tin"
+#: include/class_ldap.inc:1138
+#, fuzzy, php-format
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
+msgstr ""
+"Đây không phải là một DN hợp lệ: '%s'. Khóa để chặn việc nạp thêm phải được "
+"bắt đầu với 'dn:...' trong dòng %s "
 
-#: include/exporter/class_pdfExporter.inc:18
-msgid "No PDF export possible: there is no FPDF library installed."
+#: include/class_ldap.inc:1167
+#, fuzzy, php-format
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
 msgstr ""
+"Lỗi trong khi đang nạp thêm dn:'%s', xin hãy kiểm tra lại LDIF của bạn từ "
+"dòng %s trở đi!"
 
-#: include/exporter/class_pdfExporter.inc:145
-msgid "PDF"
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
+msgid "All"
 msgstr ""
 
-#: include/class_multi_plug.inc:362
-msgid "You are currently editing mutliple entries."
-msgstr "Bạn hiện đang hiệu chỉnh rất nhiều entry."
+#: include/class_core.inc:114
+#, fuzzy
+msgid "All objects"
+msgstr "Dịch chuyển đối tượng"
 
-#: include/class_multi_plug.inc:391
-msgid "Password reset"
-msgstr "Xác lập lại mật khẩu"
+#: include/class_core.inc:132
+#, fuzzy
+msgid "Traditional"
+msgstr "Thiết bị cuối "
 
-#: include/class_multi_plug.inc:391
-msgid "The user password was resetted, please set a new password value!"
+#: include/class_core.inc:132
+msgid "Use samba pool"
 msgstr ""
-"Mật khẩu người dùng đã được xác lập lại, hãy thiết lập một giá trị mật khẩu "
-"mới!"
 
-#: include/class_certificate.inc:73
-msgid "Certificate is empty!"
-msgstr "Giấy chứng nhận trống!"
+#: include/class_core.inc:164 include/class_core.inc:167
+#, fuzzy
+msgid "hours"
+msgstr "Người dùng Proxy"
 
-#: include/class_certificate.inc:100
-msgid "Cannot load certificate - only PEM/DER is supported!"
-msgstr "Không thể tải giấy chứng nhận - chỉ có PEM/DER là được hỗ trợ!"
+#: include/class_core.inc:184
+#, fuzzy
+msgid "None"
+msgstr "không có"
 
-#: include/class_certificate.inc:115
-msgid "Cannot extract information for non PEM certificates!"
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
+msgid "Automatic"
+msgstr "Tự động"
+
+#: include/class_core.inc:200
+#, fuzzy
+msgid "User value"
+msgstr "Tên người dùng"
+
+#: include/class_core.inc:209
+#, fuzzy
+msgid "Core"
+msgstr "Đóng"
+
+#: include/class_core.inc:210
+#, fuzzy
+msgid "GOsa core plugin"
+msgstr "thiết lập lõi của GOsa"
+
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
 msgstr ""
-"Không thể triết xuất thông tin cho những giấy chứng nhận không phải là PEM!"
 
-#: include/class_certificate.inc:219
-msgid "No valid certificate loaded!"
-msgstr "Không tải được giấy chứng nhận có hiệu lực nào!"
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
+msgstr ""
 
-#: include/php_setup.inc:100
-msgid "Generating this page caused the PHP interpreter to raise some errors!"
-msgstr "Tạo ra trang này khiến cho bộ dịch PHP sinh ra một số lỗi!"
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
+msgstr ""
 
-#: include/php_setup.inc:105
-msgid "Send bug report to the GOsa Team"
-msgstr "Gửi báo cáo lỗi cho nhóm phát triển GOsa"
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
+msgstr ""
 
-#: include/php_setup.inc:105
-msgid "Send bugreport"
-msgstr "Gửi thông báo lỗi"
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
+msgstr ""
 
-#: include/php_setup.inc:110
-msgid "Toggle information"
-msgstr "Thông tin Toggle"
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
+msgstr ""
 
-#: include/php_setup.inc:120
-msgid "PHP error"
-msgstr "Lỗi PHP"
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
+msgstr ""
 
-#: include/php_setup.inc:139
-msgid "class"
-msgstr "lớp"
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
+msgstr ""
 
-#: include/php_setup.inc:145
-msgid "function"
-msgstr "chức năng"
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
+msgstr ""
 
-#: include/php_setup.inc:150
-msgid "static"
-msgstr "tĩnh"
+#: include/class_core.inc:319
+#, fuzzy, php-format
+msgid "Related option"
+msgstr "xóa thao tác"
 
-#: include/php_setup.inc:154
-msgid "method"
-msgstr "phương pháp"
+#: include/class_core.inc:329
+msgid ""
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
+msgstr ""
 
-#: include/php_setup.inc:187
-msgid "Trace"
-msgstr "Dò theo"
+#: include/class_core.inc:340
+msgid ""
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "File"
-msgstr "File"
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Line"
-msgstr "Dòng"
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Type"
-msgstr "Loại"
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
+msgstr ""
 
-#: include/php_setup.inc:189
-msgid "Arguments"
-msgstr "Tranh luận"
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
+msgstr ""
 
-#: include/class_filter.inc:322 include/utils/class_msgPool.inc:24
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#: plugins/personal/posix/posix_groups.tpl:68
-msgid "Search in subtrees"
-msgstr "Tìm kiếm tại các cây con"
+#: include/class_core.inc:390
+#, fuzzy
+msgid "Enable LDAP referral chasing."
+msgstr "Bật chức năng mở rộng DHCP"
 
-#: include/class_plugin.inc:521
+#: include/class_core.inc:400
 msgid ""
-"The object has changed since opened in GOsa. All changes that may be done by "
-"others get lost if you save this entry!"
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
 msgstr ""
-"Đối tượng đã bị thay đổi từ khi được mở trong GOsa. Nếu bạn lưu entry này "
-"lại, khi các đối tượng khác lạc hướng có thể gây ra thêm tất cả các thay đổi!"
 
-#: include/class_plugin.inc:1844
-msgid "Changing ACL dn"
-msgstr "Thay đổi ACL dn"
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
+msgstr ""
 
-#: include/class_plugin.inc:1844
-msgid "from"
-msgstr "Từ"
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
+msgstr ""
 
-#: include/class_plugin.inc:1845 setup/class_setupStep_Migrate.inc:1250
-#: setup/class_setupStep_Migrate.inc:1300
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "to"
-msgstr "đến"
+#: include/class_core.inc:430
+#, fuzzy
+msgid "Enable warnings for non encrypted connections."
+msgstr "Thực thi việc mã hóa các kết nối"
 
-#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
-msgid "Restore"
-msgstr "Phục hồi"
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
+msgstr ""
 
-#: include/class_plugin.inc:2072
-msgid "cut"
-msgstr "cắt"
+#: include/class_core.inc:451
+msgid ""
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
+msgstr ""
 
-#: include/class_plugin.inc:2080
-msgid "copy"
-msgstr "Copy"
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
+msgstr ""
 
-#: include/functions_helpviewer.inc:45
-#, php-format
-msgid "XML error in guide.xml: %s at line %d"
-msgstr "Lỗi XML trong thư mục guide.xml : %s ở dòng %d"
+#: include/class_core.inc:472
+msgid ""
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
+msgstr ""
 
-#: include/functions_helpviewer.inc:88
-msgid "No help available for this plugin."
-msgstr "Không có sự trợ giúp nào cho plugin này."
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
+msgstr ""
 
-#: include/functions_helpviewer.inc:388
-#, php-format
-msgid "%s results for your search with the keyword %s"
-msgstr "%s kết quả cho việc tìm kiếm của bạn với từ khóa %s"
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
+msgstr ""
 
-#: include/functions_helpviewer.inc:462
-#, php-format
-msgid "%s%% hit rate in file %s"
-msgstr "%s%% tỷ lệ hit trong file %s"
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
+msgstr ""
 
-#: include/utils/class_timezone.inc:47
-#, php-format
+#: include/class_core.inc:514
 msgid ""
-"The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate "
-"correct timezone offset."
+"ISO language code which is used to override the automatic language detection."
 msgstr ""
-"Múi giờ thiết lập '%s' trong gosa.config không hợp lệ. Không thể tính toán "
-"chính xác thời gian bù thêm vào múi giờ."
 
-#: include/utils/class_xml.inc:48
-#, fuzzy
-msgid "in"
-msgstr "Trang chính"
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
+msgstr ""
 
-#: include/utils/class_xml.inc:50
-#, fuzzy
-msgid "on line"
-msgstr "Tiếp tục"
+#: include/class_core.inc:535
+msgid ""
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
+msgstr ""
 
-#: include/utils/class_xml.inc:51
+#: include/class_core.inc:545
 #, fuzzy
-msgid "XML error"
-msgstr "Lỗi MySQL"
-
-#: include/utils/class_msgPool.inc:16
-#, php-format
-msgid "Select to list objects of type '%s'."
-msgstr "Chọn để liệt kê các đối tượng loại '%s'."
+msgid "Template engine compile directory."
+msgstr "Thư mục soạn thảo Smarty"
 
-#: include/utils/class_msgPool.inc:18
+#: include/class_core.inc:555
 #, php-format
-msgid "Select to list objects containig '%s'."
-msgstr "Chọn để liệt kê đối tượng chứa '%s'."
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:20
-#, php-format
-msgid "Select to list objects that have '%s' enabled"
-msgstr "Chọn để liệt kê đối tượng mà cho phép '%s'"
+#: include/class_core.inc:576
+msgid ""
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:22
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-msgid "Select to search within subtrees"
-msgstr "Chọn để tìm kiếm trong các cây con"
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:34
-msgid "This object will be deleted!"
-msgstr "Đối tượng này sẽ bị xóa!"
+#: include/class_core.inc:596
+msgid ""
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:36
-#, php-format
-msgid "This '%s' object will be deleted!"
-msgstr "Đối tượng '%s' này sẽ bị xóa!"
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:41
-#, php-format
-msgid "This object will be deleted: %s"
-msgstr "Đối tượng này sẽ bị xóa: %s"
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:43
-#, php-format
-msgid "This '%s' object will be deleted: %s"
-msgstr "Đối tượng '%s' này sẽ bị xóa: '%s'"
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:48
-msgid "This object will be deleted:"
-msgstr "Đối tượng này sẽ bị xóa:"
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:50
-#, php-format
-msgid "This '%s' object will be deleted:"
-msgstr "Đối tượng '%s' này sẽ bị xóa:"
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:54
-#, php-format
-msgid "These objects will be deleted: %s"
-msgstr "Đối tượng này sẽ bị xóa: %s"
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:56
-#, php-format
-msgid "These '%s' objects will be deleted: %s"
-msgstr "Đối tượng '%s' này sẽ bị xóa; %s"
+#: include/class_core.inc:667
+msgid ""
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:64
-msgid "You have no permission to delete this object!"
-msgstr "Bạn không có quyền xóa đối tượng này!"
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:68 include/utils/class_msgPool.inc:72
-msgid "You have no permission to delete the object:"
-msgstr "Bạn không có quyền xóa đối tượng này:"
+#: include/class_core.inc:687
+msgid ""
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:75
-msgid "You have no permission to delete these objects:"
-msgstr "Bạn không có quyền xóa những đối tượng này:"
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:82
-msgid "You have no permission to create this object!"
-msgstr "Bạn không có quyền tạo ra đối tượng này!"
+#: include/class_core.inc:707
+#, fuzzy
+msgid "Connection URL for use with the gosa-ng service."
+msgstr "Giao tiếp với dịch vụ cơ sở hạ tầng bị thất bại!"
 
-#: include/utils/class_msgPool.inc:86 include/utils/class_msgPool.inc:90
-msgid "You have no permission to create the object:"
-msgstr "Bạn không có quyền tạo ra đối tượng này:"
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:93
-msgid "You have no permission to create these objects:"
-msgstr "Bạn không có quyền tạo ra những đối tượng này:"
+#: include/class_core.inc:727
+msgid "Password used to connect to the 'gosaRpcServer'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:100
-msgid "You have no permission to modify this object!"
-msgstr "Bạn không có quyền thay đổi đối tượng này!"
+#: include/class_core.inc:737
+#, fuzzy
+msgid "Connection URI for use with the gosa-si service (obsolete)."
+msgstr "Giao tiếp với dịch vụ cơ sở hạ tầng bị thất bại: %s"
 
-#: include/utils/class_msgPool.inc:104 include/utils/class_msgPool.inc:108
-msgid "You have no permission to modify the object:"
-msgstr "Bạn không có quyền thay đổi đối tượng này:"
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:111
-msgid "You have no permission to modify these objects:"
-msgstr "Bạn không có quyền thay đổi những đối tượng này:"
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:118
-msgid "You have no permission to view this object!"
-msgstr "Bạn không có quyền xem đối tượng này!"
+#: include/class_core.inc:769
+#, fuzzy
+msgid "Local time zone."
+msgstr "Vị trí"
 
-#: include/utils/class_msgPool.inc:122 include/utils/class_msgPool.inc:126
-msgid "You have no permission to view the object:"
-msgstr "Bạn không có quyền xem đối tượng này:"
+#: include/class_core.inc:779
+msgid ""
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:129
-msgid "You have no permission to view these objects:"
-msgstr "Bạn không có quyền xem những đối tượng này:"
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:136
-msgid "You have no permission to move this object!"
-msgstr "Bạn không có quyền di chuyển đối tượng này!"
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:144
-msgid "You have no permission to move the object:"
-msgstr "Bạn không có quyền di chuyển đối tượng này:"
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:147
-msgid "You have no permission to move these objects:"
-msgstr "Bạn không có quyền di chuyển những đối tượng này:"
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:157 include/utils/class_msgPool.inc:169
-#: include/utils/class_msgPool.inc:187
-msgid "Connection information"
-msgstr "Thông tin kết nối"
+#: include/class_core.inc:828
+msgid ""
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:159
-#, php-format
-msgid "Cannot connect to %s database!"
-msgstr "Không thể kết nối đến cơ sở dữ liệu %s!"
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:171
-#, php-format
-msgid "Cannot select %s database!"
-msgstr "Không thể lựa chọn cơ sở dữ liệu %s!"
+#: include/class_core.inc:848
+msgid ""
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:177
-#, php-format
-msgid "No %s server defined!"
-msgstr "Không xác định được  Server '%s'!"
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:189
-#, php-format
-msgid "Cannot query %s database!"
-msgstr "Không truy vấn được cơ sở dữ liệu %s!"
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:195
-#, php-format
-msgid "The field '%s' contains a reserved keyword!"
-msgstr "Trường '%s' có chứa một từ khóa dự trữ!"
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:201
-#, php-format
-msgid "Command specified as %s hook for plugin '%s' does not exist!"
-msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:208
-#, php-format
-msgid "'%s' command is invalid!"
-msgstr "Lệnh '%s' không hợp lệ!"
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:210
-#, php-format
-msgid "'%s' command (%s) for plugin %s is invalid!"
-msgstr "Lệnh '%s' (%s) cho plugin %s không hợp lệ!"
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:212
-#, php-format
-msgid "'%s' command for plugin %s is invalid!"
-msgstr "Lệnh '%s' cho plugin '%s' không hợp lệ!"
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:214
-#, php-format
-msgid "'%s' command (%s) is invalid!"
-msgstr "Lệnh '%s' (%s) không hợp lệ!"
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:222
-#, php-format
-msgid "Cannot execute '%s' command!"
-msgstr "Không thể chạy lệnh '%s'!"
+#: include/class_core.inc:940
+#, fuzzy
+msgid "Enable TLS for LDAP connections."
+msgstr "Kết nối LDAP"
 
-#: include/utils/class_msgPool.inc:224
-#, php-format
-msgid "Cannot execute '%s' command (%s) for plugin %s!"
-msgstr "Không thể chạy lệnh '%s' ('%s) cho plugin %s!"
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:226
-#, php-format
-msgid "Cannot execute '%s' command for plugin %s!"
-msgstr "Không thể chạy lệnh '%s' cho plugin %s!"
+#: include/class_core.inc:960
+msgid ""
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:228
-#, php-format
-msgid "Cannot execute '%s' command (%s)!"
-msgstr "Không thể chạy lệnh '%s' ('%s)!"
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:236
-#, php-format
-msgid "Value for '%s' is too large!"
-msgstr "Gía trị '%s' quá lớn!"
+#: include/class_core.inc:980
+msgid ""
+"String containing the SID for Samba setups without the Domain object in LDAP."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:238
-#, fuzzy, php-format
-msgid "'%s' must be smaller than %s!"
-msgstr "'%s' phải thấp hơn %d!"
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:246
-#, php-format
-msgid "Value for '%s' is too small!"
-msgstr "Gía trị '%s' quá nhỏ!"
+#: include/class_core.inc:1000
+#, fuzzy
+msgid "Enable manual object snapshots."
+msgstr "Tạo ra snapshot đối tượng"
 
-#: include/utils/class_msgPool.inc:248
-#, php-format
-msgid "'%s' must be %d or above!"
-msgstr "'%s' phải lớn hơn %d hoặc trên nữa!"
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:255
-#, php-format
-msgid "'%s' depends on '%s' - please provide both values!"
-msgstr "'%s' phụ thuộc vào '%s'- xin hãy cung cấp cả hai giá trị!"
+#: include/class_core.inc:1020
+#, fuzzy
+msgid "DN of the snapshot administrator."
+msgstr "Admin miền"
 
-#: include/utils/class_msgPool.inc:261
-#, php-format
-msgid "There is already an entry with this '%s' attribute in the system!"
-msgstr "Đã có sẵn một entry với thuộc tính '%s' trong hệ thống này!"
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:267
-#, php-format
-msgid "The required field '%s' is empty!"
-msgstr "Trường được yêu cầu '%s' bị rỗng!"
+#: include/class_core.inc:1041
+msgid ""
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:275
-msgid "Example"
-msgstr "Ví dụ"
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:295
-#, php-format
-msgid "The Field '%s' contains invalid characters"
-msgstr "Trường '%s' chứa các ký tự không hợp lệ"
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:296
+#: include/class_config.inc:168
 #, php-format
-msgid "'%s' is not allowed:"
-msgstr "'%s' không được phép:"
+msgid "XML error in gosa.conf: %s at line %d"
+msgstr "Lỗi XML trong gosa.conf: %s tại dòng %d"
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' are not allowed!"
-msgstr "'%s' không được cho phép!"
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:299
-#, php-format
-msgid "The Field '%s' contains invalid characters!"
-msgstr "Trường '%s' chứa các ký tự không hợp lệ!"
+#: include/class_config.inc:711
+#, fuzzy
+msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+msgstr "SID và/hoặc RIDBASE đang bị mất trong cấu hình này!"
 
-#: include/utils/class_msgPool.inc:306
-#, php-format
-msgid "Missing %s PHP extension!"
-msgstr "PHP mở rộng %s mất tích!"
+#: include/class_config.inc:1130
+msgid "Configuration"
+msgstr "Cấu hình"
 
-#: include/utils/class_msgPool.inc:336
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
-#: plugins/personal/generic/generic.tpl:251
-#: plugins/personal/generic/generic.tpl:269
-#: setup/class_setupStep_Migrate.inc:2869
-#, php-format
-msgid "Add"
-msgstr "Thêm vào"
+#: include/class_config.inc:1130
+#, fuzzy
+msgid ""
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
+msgstr ""
+"File cấu hình bạn đang sử dụng hình như đã lỗi thời. Hãy chuyển file cấu "
+"hình của GOsa ra chỗ khác để chạy việc cài đặt GOsa lần nữa."
 
-#: include/utils/class_msgPool.inc:336
-#, php-format
-msgid "Add %s"
-msgstr "Thêm %s"
+#: include/class_config.inc:1172 include/class_config.inc:1203
+#, fuzzy, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
+msgstr ""
+"Chức năng Snapshot đã được bật, nhưng biến số được yêu cầu: '%s' vẫn chưa "
+"được thiết lập."
 
-#: include/utils/class_msgPool.inc:342
-#, php-format
-msgid "Delete %s"
-msgstr "Xóa %s"
+#: include/class_config.inc:1185
+#, fuzzy, php-format
+msgid ""
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
+msgstr ""
+"Chức năng Snapshot đã được bật, nhưng biến số được yêu cầu: '%s' vẫn chưa "
+"được thiết lập."
 
-#: include/utils/class_msgPool.inc:348
-#, php-format
-msgid "Set %s"
-msgstr "Thiết lập %s"
+#: include/exporter/class_PDF.inc:24
+#, fuzzy
+msgid "Page"
+msgstr "Máy nhắn tin"
 
-#: include/utils/class_msgPool.inc:354
-#, php-format
-msgid "Edit..."
-msgstr "Hiệu chỉnh..."
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:354
-#, php-format
-msgid "Edit %s..."
-msgstr "Hiệu chỉnh %s..."
+#: include/exporter/class_pdfExporter.inc:18
+msgid "No PDF export possible: there is no FPDF library installed."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:360
-msgid "Back"
-msgstr "Quay lại"
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:380
-#, php-format
-msgid "This account has no valid %s extensions!"
-msgstr "Tài khoản này không có chức năng mở rộng %s hợp lệ!"
+#: include/class_jsonRPC.inc:38
+#, fuzzy, php-format
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
+msgstr "Lệnh '%s' cho plugin '%s' không hợp lệ!"
 
-#: include/utils/class_msgPool.inc:386
-#, php-format
-msgid ""
-"This account has %s settings enabled. You can disable them by clicking below."
-msgstr ""
-"Tài khoản này đã bật các thiết lập %s lên. Bạn có thể tắt chúng đi bằng việc "
-"kích vào bên dưới."
+#: include/class_jsonRPC.inc:330
+#, fuzzy, php-format
+msgid "Unknown HTTP status code %s!"
+msgstr "dạng ACL '%s' không được biết đến!"
+
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
+msgstr "Nộp"
 
-#: include/utils/class_msgPool.inc:389 include/utils/class_msgPool.inc:396
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
 #, php-format
-msgid ""
-"This account has %s settings enabled. To disable them, you'll need to remove "
-"the %s settings first!"
-msgstr ""
-"Tài khoản này đã bật các thiết lập %s lên. Để tắt chúng đi, bạn cần phải xóa "
-"thiết lập %s trước!"
+msgid "Copy and paste failed!"
+msgstr "Copy và Paste bị thất bại!"
+
+#: include/class_CopyPasteHandler.inc:118
+#, fuzzy, php-format
+msgid "Cannot set permission for %s"
+msgstr "Không thể thiết lập phép cho '%s'"
+
+#: include/class_CopyPasteHandler.inc:159
+#, fuzzy, php-format
+msgid "'%s' is no valid LDAP object"
+msgstr "'%s' không phải là một đối tượng LDAP hợp lệ"
 
-#: include/utils/class_msgPool.inc:405
+#: include/class_CopyPasteHandler.inc:176
 #, php-format
-msgid ""
-"This account has %s settings disabled. You can enable them by clicking below."
-msgstr ""
-"Tài khoản này đã tắt các thiết lập %s đi. Bạn có thể bật chúng lên bằng việc "
-"kích vào bên dưới."
+msgid "No write permission in '%s'"
+msgstr "Không có phép viết cho '%s'"
 
-#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
+#: include/class_CopyPasteHandler.inc:193
 #, php-format
-msgid ""
-"This account has %s settings disabled. To enable them, you'll need to add "
-"the %s settings first!"
-msgstr ""
-"Tài khoản này đã tắt các thiết lập %s đi. Để bật chúng lên, bạn cần phải "
-"thêm thiết lập %s trước!"
+msgid "Cannot set permission for '%s'"
+msgstr "Không thể thiết lập phép cho '%s'"
 
-#: include/utils/class_msgPool.inc:423
+#: include/class_CopyPasteHandler.inc:396
 #, php-format
-msgid "Add %s settings"
-msgstr "Thêm thiết lập %s "
+msgid "These objects will be pasted: %s"
+msgstr "Các đối tượng này sẽ được paste: %s"
 
-#: include/utils/class_msgPool.inc:429
+#: include/class_CopyPasteHandler.inc:420
 #, php-format
-msgid "Remove %s settings"
-msgstr "Xóa thiết lập %s"
+msgid "This object will be pasted: %s"
+msgstr "Đối tượng này sẽ được paste: %s"
 
-#: include/utils/class_msgPool.inc:435
-msgid "Click the 'Edit' button below to change informations in this dialog"
-msgstr ""
-"Kích phím 'Hiệu chỉnh' bên dưới để thay đổi thông tin trong hộp thoại này "
+#: include/class_CopyPasteHandler.inc:573
+msgid "Cannot paste"
+msgstr "Không thể paste"
 
-#: include/utils/class_msgPool.inc:441
-msgid "January"
-msgstr "Tháng Một"
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
+msgid "Access control"
+msgstr "Kiểm soát truy cập"
 
-#: include/utils/class_msgPool.inc:441
-msgid "February"
-msgstr "Tháng Hai"
+#: include/class_acl.inc:28
+msgid "Manage access control lists"
+msgstr "Quản lý các danh sách kiểm soát truy cập"
 
-#: include/utils/class_msgPool.inc:441
-msgid "March"
-msgstr "Tháng Ba"
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, fuzzy, php-format
+msgid "All users"
+msgstr "người dùng"
 
-#: include/utils/class_msgPool.inc:441
-msgid "April"
-msgstr "Tháng Tư"
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
+msgstr "Xác lập lại ACLs"
 
-#: include/utils/class_msgPool.inc:442
-msgid "May"
-msgstr "Tháng Năm"
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
+msgid "One level"
+msgstr "Một cấp độ"
 
-#: include/utils/class_msgPool.inc:442
-msgid "June"
-msgstr "Tháng Sáu"
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
+msgid "Current object"
+msgstr "Đối tượng hiện tại"
 
-#: include/utils/class_msgPool.inc:442
-msgid "July"
-msgstr "Tháng Bảy"
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
+msgid "Complete subtree"
+msgstr "Hoàn thành cây thư mục con"
 
-#: include/utils/class_msgPool.inc:442
-msgid "August"
-msgstr "Tháng Tám"
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
+msgstr "Hoàn thành cây thư mục con (vĩnh viễn)"
 
-#: include/utils/class_msgPool.inc:442
-msgid "September"
-msgstr "Tháng Chín"
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+msgid "Use ACL defined in role"
+msgstr "Sử dụng ACL được xác định trong vai trò"
 
-#: include/utils/class_msgPool.inc:443
-msgid "October"
-msgstr "Tháng Mười"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
+msgstr "Người dùng"
 
-#: include/utils/class_msgPool.inc:443
-msgid "November"
-msgstr "Tháng Mười Một"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
+msgstr "Các nhóm"
 
-#: include/utils/class_msgPool.inc:443
-msgid "December"
-msgstr "Tháng Mười Hai"
+#: include/class_acl.inc:254
+#, fuzzy
+msgid "Section"
+msgstr "Hành động"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Sunday"
-msgstr "Chủ nhật"
+#: include/class_acl.inc:264
+#, fuzzy
+msgid "Used"
+msgstr "Sử dụng "
 
-#: include/utils/class_msgPool.inc:449
-msgid "Monday"
-msgstr "Thứ Hai"
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
+msgid "Member"
+msgstr "Thành viên"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Tuesday"
-msgstr "Thứ Ba"
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
+#, fuzzy
+msgid "Permissions"
+msgstr "Cho phép"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Wednesday"
-msgstr "Thứ Tư"
+#: include/class_acl.inc:574
+msgid "No ACL settings for this category!"
+msgstr "Không có thiết lập ACL cho hạng mục này!"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Thursday"
-msgstr "Thứ Năm"
+#: include/class_acl.inc:577
+#, php-format
+msgid "ACLs for: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Friday"
-msgstr "Thứ Sáu"
+#: include/class_acl.inc:583 include/class_acl.inc:587
+msgid "category ACL"
+msgstr "Hạng mục ACL"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Saturday"
-msgstr "Thứ Bảy"
+#: include/class_acl.inc:639
+#, fuzzy, php-format
+msgid "Edit ACL for '%s' with scope '%s'"
+msgstr "Hiệu chỉnh ACL cho '%s' - phạm vi là '%s'"
 
-#: include/utils/class_msgPool.inc:456
-#, fuzzy
-msgid "MySQL operation failed!"
-msgstr "Hoạt động LDAP thất bại!"
+#: include/class_acl.inc:801 include/class_acl.inc:808
+msgid "Show/hide advanced settings"
+msgstr "Hiển thị/ Ẩn các thiết lập cao cấp "
 
-#: include/utils/class_msgPool.inc:464
-msgid "read operation"
-msgstr "Đọc thao tác"
+#: include/class_acl.inc:819
+msgid "Create objects"
+msgstr "Tạo ra đối tượng"
 
-#: include/utils/class_msgPool.inc:464
-msgid "add operation"
-msgstr "thêm tao tác"
+#: include/class_acl.inc:820
+msgid "Move objects"
+msgstr "Dịch chuyển đối tượng"
 
-#: include/utils/class_msgPool.inc:464
-msgid "modify operation"
-msgstr "thay đối thao tác"
+#: include/class_acl.inc:821
+msgid "Remove objects"
+msgstr "Xóa đối tượng"
 
-#: include/utils/class_msgPool.inc:465
-msgid "delete operation"
-msgstr "xóa thao tác"
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:465
-msgid "search operation"
-msgstr "tìm kiếm thao tác"
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
+msgstr "đọc"
 
-#: include/utils/class_msgPool.inc:465
-msgid "authentication"
-msgstr "Xác định thẩm quyền"
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
+msgstr "viết"
+
+#: include/class_acl.inc:832
+msgid "Complete object"
+msgstr "Hoàn thành đối tượng"
+
+#: include/class_acl.inc:984
+#, fuzzy, php-format
+msgid "Unknown ACL type '%s'!"
+msgstr "dạng ACL '%s' không được biết đến!"
 
-#: include/utils/class_msgPool.inc:468
+#: include/class_acl.inc:1029
 #, php-format
-msgid "LDAP %s failed!"
-msgstr "LDAP %s thất bại!"
+msgid "Unknown entry '%s'!"
+msgstr "Entry '%s' không được biết đến!"
 
-#: include/utils/class_msgPool.inc:470
-msgid "LDAP operation failed!"
-msgstr "Hoạt động LDAP thất bại!"
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
+#, fuzzy, php-format
+msgid "ACL role: %s"
+msgstr "Các vai trò ACL"
 
-#: include/utils/class_msgPool.inc:485
-msgid "Upload failed!"
-msgstr "Tải lên thất bại!"
+#: include/class_acl.inc:1095
+#, fuzzy
+msgid "unknown ACL role"
+msgstr "Vai trò không được biết đến"
 
-#: include/utils/class_msgPool.inc:488
+#: include/class_acl.inc:1103
 #, php-format
-msgid "Upload failed: %s"
-msgstr "Tải lên thất bại: %s"
+msgid "Contains settings for these objects: %s"
+msgstr "Chứa các thiết lập cho các đối tượng: %s"
 
-#: include/utils/class_msgPool.inc:495
-msgid "Communication failure with the infrastructure service!"
-msgstr "Giao tiếp với dịch vụ cơ sở hạ tầng bị thất bại!"
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+msgid "Members"
+msgstr "Các thành viên"
 
-#: include/utils/class_msgPool.inc:497
-#, php-format
-msgid "Communication failure with the infrastructure service: %s"
-msgstr "Giao tiếp với dịch vụ cơ sở hạ tầng bị thất bại: %s"
+#: include/class_acl.inc:1120
+msgid "inactive"
+msgstr "không hoạt động"
 
-#: include/utils/class_msgPool.inc:504 include/utils/class_msgPool.inc:507
-#, php-format
-msgid "This '%s' is still in use by this object: %s"
-msgstr "'%s' này vẫn còn được sử dụng bởi đối tượng: %s "
+#: include/class_acl.inc:1120
+#, fuzzy
+msgid "No members"
+msgstr "Các thành viên nhóm"
 
-#: include/utils/class_msgPool.inc:510
-#, php-format
-msgid "This '%s' is still in use."
-msgstr "'%s' này vẫn còn được sử dụng."
+#: include/class_acl.inc:1291
+msgid "Access control list"
+msgstr "Danh sách kiểm soát truy cập"
 
-#: include/utils/class_msgPool.inc:512
-#, php-format
-msgid "This '%s' is still in use by these objects: %s"
-msgstr "'%s' vẫn còn được sử dụng bởi các đối tượng này: %s"
+#: include/class_acl.inc:1297
+msgid "ACL roles"
+msgstr "Các vai trò ACL"
 
-#: include/utils/class_msgPool.inc:518
-#, php-format
-msgid "File '%s' does not exist!"
-msgstr "File '%s' không tồn tại!"
+#: include/class_acl.inc:1300
+#, fuzzy
+msgid "ACL Entries"
+msgstr "Tất cả các mục"
 
-#: include/utils/class_msgPool.inc:524
-#, php-format
-msgid "Cannot open file '%s' for reading!"
-msgstr "Không thể mở file '%s' để đọc!"
+#: include/class_socketClient.inc:108
+#, fuzzy, php-format
+msgid "Socket connection to %s:%s failed: %s"
+msgstr "Kết nối socket đến  '%s:%s' thất bại:  '%s'"
 
-#: include/utils/class_msgPool.inc:530
-#, php-format
-msgid "Cannot open file '%s' for writing!"
-msgstr "Không thể mở file '%s' để viết!"
+#: include/class_socketClient.inc:191
+#, fuzzy, php-format
+msgid "Socket timeout of %s seconds reached!"
+msgstr "Thời hạn cho socket là  %s giây đã đến."
 
-#: include/utils/class_msgPool.inc:536
+#: include/class_userFilterEditor.inc:254
 #, php-format
-msgid ""
-"The value for '%s' is currently unconfigured or invalid, please check your "
-"configuration file!"
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:542
-#, php-format
-msgid "Cannot delete file '%s'!"
-msgstr "Không thế xóa file '%s'!"
+#: include/class_gosaSupportDaemon.inc:112
+msgid "GOsa support daemon"
+msgstr "GOsa hỗ trợ chương trình daemon"
 
-#: include/utils/class_msgPool.inc:548
-#, php-format
-msgid "Cannot create folder '%s'!"
-msgstr "Không thể tạo ra folder '%s'!"
+#: include/class_gosaSupportDaemon.inc:787
+msgid "Cannot not parse XML!"
+msgstr "Không thể phân tách XML!"
 
-#: include/utils/class_msgPool.inc:554
+#: include/class_gosaSupportDaemon.inc:1184
 #, php-format
-msgid "Cannot delete folder '%s'!"
-msgstr "Không thể xóa folder '%s'!"
+msgid "Cannot send abort event for entry %s!"
+msgstr "Không thể  gửi thông báo trì hoãn đến entry %s!"
 
-#: include/utils/class_msgPool.inc:560
+#: include/class_gosaSupportDaemon.inc:1204
 #, php-format
-msgid "Checking for %s support"
-msgstr "Kiểm tra hỗ trợ %s"
+msgid "Cannot remove entry %s!"
+msgstr "Không thể xóa entry %s!"
 
-#: include/utils/class_msgPool.inc:566
-#, php-format
-msgid "Install and activate the %s PHP module."
-msgstr "Cài đặt và kích hoạt mô-đun PHP %s."
+#: include/class_GOsaRegistration.inc:127
+msgid ""
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:572
-#, php-format
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
+#, fuzzy, php-format
 msgid ""
-"Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
-"setup?"
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
 msgstr ""
+"Chức năng Snapshot đã được bật, nhưng biến số được yêu cầu: '%s' vẫn chưa "
+"được thiết lập."
 
-#: include/utils/class_msgPool.inc:578
+#: include/class_SnapshotHandler.inc:58
+#, fuzzy, php-format
 msgid ""
-"The supplied base is not valid and has been reset to the previous value!"
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
 msgstr ""
+"Chức năng Snapshot đã được bật, nhưng biến số được yêu cầu: '%s' vẫn chưa "
+"được thiết lập."
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-msgid "Performance warning"
-msgstr "Cảnh báo khả năng hoạt động"
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
+#, fuzzy
+msgid "Filter editor"
+msgstr "Lỗi nặng"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-#, php-format
-msgid "LDAP performance is poor: last query took about %.2fs!"
-msgstr ""
-"Khả năng hoạt động của LDAP rất thấp: truy vấn lần cuối mất khoảng %.2fs!"
+#: ihtml/themes/default/userFilterEditor.tpl:8
+#, fuzzy
+msgid "Filter properties"
+msgstr "Hiệu chỉnh các tính năng chung"
 
-#: include/class_ldap.inc:693
-#, php-format
-msgid ""
-"Cannot automatically create subtrees with RDN '%s': no object class found!"
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+msgid "Public visible"
+msgstr "Hiển thị với tất cả mọi người"
+
+#: ihtml/themes/default/userFilterEditor.tpl:45
+msgid "Enabled"
+msgstr "Bật chức năng"
+
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
 msgstr ""
-"Không thể tự động tạo ra cây con với RDN '%s': không có lớp đối tượng nào "
-"được tìm thấy!"
 
-#: include/class_ldap.inc:744
-#, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': not supported"
-msgstr "Không thể tự động tạo ra cây con với RDN '%s': không được hỗ trợ "
+#: ihtml/themes/default/userFilterEditor.tpl:69
+#, fuzzy
+msgid "Query"
+msgstr "người dùng"
 
-#: include/class_ldap.inc:831
-#, php-format
-msgid "while operating on '%s' using LDAP server '%s'"
-msgstr "Trong khi chạy trên '%s' sử dụng LDAP server '%s'"
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+msgid "Assigned ACL for current entry"
+msgstr "Giao ACL cho entry hiện tại"
 
-#: include/class_ldap.inc:833
-#, php-format
-msgid "while operating on LDAP server %s"
-msgstr "Trong khi chạy trên LDAP server %s"
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
+msgid "New ACL"
+msgstr "ACL mới"
 
-#: include/class_ldap.inc:1055
-#, php-format
-msgid ""
-"This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
-"in line %s"
-msgstr ""
-"Đây không phải là một DN hợp lệ: '%s'. Khóa để chặn việc nạp thêm phải được "
-"bắt đầu với 'dn:...' trong dòng %s "
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
+msgid "ACL type"
+msgstr "Dạng ACL"
 
-#: include/class_ldap.inc:1084
-#, php-format
-msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
-msgstr ""
-"Lỗi trong khi đang nạp thêm dn:'%s', xin hãy kiểm tra lại LDIF của bạn từ "
-"dòng %s trở đi!"
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "Select an ACL type"
+msgstr "Chọn một dạng acl"
 
-#: include/class_log.inc:87
-#, php-format
-msgid "Logging failed: %s"
-msgstr "Đăng nhập thất bại: %s"
+#: ihtml/themes/default/acl.tpl:40
+msgid "Additional filter options"
+msgstr "Các lựa chọn thêm cho bộ lọc"
 
-#: include/class_log.inc:102
-#, php-format
-msgid "Invalid option '%s' specified!"
-msgstr "Lựa chọn '%s' không hợp lệ đã được chỉ định!"
+#: ihtml/themes/default/acl.tpl:54
+#, fuzzy
+msgid "Member selection"
+msgstr "Thiết lập nhóm"
 
-#: include/class_log.inc:106
-msgid "Specified objectType is empty or invalid!"
-msgstr "ObjecType được chỉ định đang rỗng hặc không hợp lệ!"
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
+msgstr "Sử dụng các thành viên từ"
 
-#: include/class_gosaSupportDaemon.inc:112
-msgid "GOsa support daemon"
-msgstr "GOsa hỗ trợ chương trình daemon"
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+msgid "List message possible targets"
+msgstr "Liệt kê các mục tiêu có thể gửi tin nhắn"
 
-#: include/class_gosaSupportDaemon.inc:787
-msgid "Cannot not parse XML!"
-msgstr "Không thể phân tách XML!"
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
+msgstr "Liệt kê người nhận tin"
 
-#: include/class_gosaSupportDaemon.inc:1184
-#, php-format
-msgid "Cannot send abort event for entry %s!"
-msgstr "Không thể  gửi thông báo trì hoãn đến entry %s!"
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+msgid "List of available ACL categories"
+msgstr "Danh sách tất cả các mục ACL hiện có"
 
-#: include/class_gosaSupportDaemon.inc:1204
-#, php-format
-msgid "Cannot remove entry %s!"
-msgstr "Không thể xóa entry %s!"
+#: ihtml/themes/default/acl.tpl:120
+msgid "ACL for this object"
+msgstr "ACL cho đối tượng này"
 
-#: include/class_config.inc:152
-#, php-format
-msgid "XML error in gosa.conf: %s at line %d"
-msgstr "Lỗi XML trong gosa.conf: %s tại dòng %d"
+#: ihtml/themes/default/acl.tpl:126
+msgid "Available roles"
+msgstr "Các vai trò hiện có"
 
-#: include/class_config.inc:318
-msgid "Cannot bind to LDAP. Please contact the system administrator."
-msgstr "Không thể nối kết với LDAP. Xin hãy liên lạc với với admin hệ thống."
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+#, fuzzy
+msgid "Attention"
+msgstr "Thẩm định quyền"
 
-#: include/class_config.inc:695
+#: ihtml/themes/default/removeEntries.tpl:14
 #, fuzzy
-msgid "sambaSID and/or sambaRidBase missing in the configuration!"
-msgstr "SID và/hoặc RIDBASE đang bị mất trong cấu hình này!"
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
+msgstr ""
+"Vì thế nếu bạn chắc chắn hãy nhấn \"Xóa bỏ\" để tiếp tục hoặc'Hủy bỏ' để "
+"dừng lại."
 
-#: include/class_config.inc:1105
-msgid "Configuration"
-msgstr "Cấu hình"
+#: ihtml/themes/default/userFilter.tpl:1
+#, fuzzy
+msgid "List of defined filters"
+msgstr "Viết file cấu hình"
+
+#: ihtml/themes/default/snapshotdialog.tpl:3
+msgid "Restoring object snapshots"
+msgstr "Phục hồi chế độ snapshot của đối tượng"
 
-#: include/class_config.inc:1105
+#: ihtml/themes/default/snapshotdialog.tpl:6
 msgid ""
-"The configuration file you are using seems to be outdated. Please move the "
-"GOsa configuration file away to run the GOsa setup again."
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
 msgstr ""
-"File cấu hình bạn đang sử dụng hình như đã lỗi thời. Hãy chuyển file cấu "
-"hình của GOsa ra chỗ khác để chạy việc cài đặt GOsa lần nữa."
+"Thủ tục này sẽ phục hồi một snapshot của các đối tượng được chọn. Nó sẽ thay "
+"thế cho đối tượng hiện có sau khi bấm vào nút phục hồi."
 
-#: include/class_pluglist.inc:58
-msgid "All objects in this category"
-msgstr "Tất cả các đối tượng trong hạng mục này"
+#: ihtml/themes/default/snapshotdialog.tpl:9
+#, fuzzy
+msgid ""
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
+msgstr ""
+"Hãy nhớ rằng các entry vào cấu  hình và cơ sở dữ liệu DNS không thể được "
+"phục hồi. Đối với một số đối tượng, thì chỉ cần mở và lưu chúng lại là được "
+"(goFon), nhưng với một số entry thì bạn cần phải tạo lại bằng tay (glpi)."
 
-#: include/class_pluglist.inc:183
-msgid "The configuration format has changed. Please re-run setup!"
-msgstr "Định dạng cấu hình đã thay đổi. Xin hãy chạy lại cài đặt!"
+#: ihtml/themes/default/snapshotdialog.tpl:12
+msgid ""
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
+msgstr ""
+"Đừng quên kiểm tra các tham chiếu với các đối tượng khác, ví dụ như liệu máy "
+"in được chọn có còn tồn tại không?"
 
-#: include/class_pluglist.inc:202 include/class_pluglist.inc:203
-#: include/class_pluglist.inc:316
-#: plugins/admin/departments/class_department.inc:145
-#: plugins/personal/generic/class_user.inc:273
-#: plugins/personal/generic/class_user.inc:1872
-msgid "Unknown"
-msgstr "Không rõ"
+#: ihtml/themes/default/snapshotdialog.tpl:29
+#, fuzzy
+msgid "There is no snapshot available that can be restored"
+msgstr "Không có snapshot hiện có nào có thể được phục hồi"
+
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+msgstr "Chọn một snapshot và kích vào hình folder, để phục hồi snapshot"
+
+#: ihtml/themes/default/snapshotdialog.tpl:50
+msgid "Creating object snapshots"
+msgstr "Tạo ra snapshot đối tượng"
+
+#: ihtml/themes/default/snapshotdialog.tpl:53
+msgid ""
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
+msgstr ""
+"Thủ tục này sẽ tạo ra một snapshot của đối tượng được chọn. Nó sẽ được lưu "
+"trữ trong một nhánh đặc biệt thuộc hệ thống thư mục của bạn và có thể được "
+"phục hồi sau này."
+
+#: ihtml/themes/default/snapshotdialog.tpl:56
+msgid ""
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
+msgstr ""
+"Hãy nhớ rằng các entry vào cơ sở dữ liệu, các cấu hình DNS và các vùng có "
+"thể được tạo ra trong việc mở rộng server sẽ không được lưu lại trong "
+"snapshot."
+
+#: ihtml/themes/default/snapshotdialog.tpl:71
+#, fuzzy
+msgid "Time stamp"
+msgstr "Timestamp"
+
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
+msgstr "Lý do để tạo ra snapshot này"
+
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
+msgstr "Tiếp tục"
+
+#: ihtml/themes/default/password.tpl:5
+msgid "Change your password"
+msgstr "Thay đổi mật khẩu của bạn"
+
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
+msgstr "Mật khẩu của bạn đã được thay đổi thành công."
+
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
+msgid "Password change"
+msgstr "Thay đổi mật khẩu"
+
+#: ihtml/themes/default/password.tpl:72
+#, fuzzy
+msgid ""
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
+msgstr ""
+"Hộp thoại này cung cấp một cách đơn giản để thay đổi mật khẩu của bạn. Hãy "
+"nhập mật khẩu hiện tại và mật khẩu mới vào (hai lần) trong các trường bên "
+"dưới và nhấn vào nút 'Thay đổi'."
+
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
+msgstr "Thay đổi mật mã "
+
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
+msgstr "Thư mục"
+
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
+#, fuzzy
+msgid "User name"
+msgstr "Tên người dùng"
+
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
+msgstr "Mật khẩu hiện tại"
+
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
+msgstr "Mật khẩu mới"
+
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
+msgstr "Lặp lại mật khẩu mới"
+
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
+msgid "Password strength"
+msgstr "Ưu điểm của mật khẩu"
+
+#: ihtml/themes/default/password.tpl:131
+msgid "Click here to change your password"
+msgstr "Kích vào đây để thay đổi mật khẩu của bạn"
+
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
+msgstr "Đặt mật khẩu"
+
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
+msgstr "Phát hiện xung đột khóa"
+
+#: ihtml/themes/default/islocked.tpl:14
+#, fuzzy
+msgid ""
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
+msgstr ""
+"Nếu việc phát hiện khóa này sai, một người nào đó chắc hẳn đã đóng trình "
+"duyệt web trong quá trình thao tác hiệu chỉnh. Bạn có thể muốn tiếp quản "
+"việc khóa bằng các nhấn vào nút 'tiếp tục hiệu chỉnh'."
+
+#: ihtml/themes/default/islocked.tpl:23
+#, fuzzy
+msgid "Read only"
+msgstr "Danh sách reload"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:1
+msgid "Copy & paste wizard"
+msgstr "Copy & Paste wizard"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:7
+#, fuzzy
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
+msgstr ""
+"Một số giá trị phải là duy nhất trong thư mục hoàn chỉnh trong khi một số "
+"kết hợp không có ý nghĩa nào. GOsa hiển thị những thuộc tính liên quan. Xin "
+"hãy giữ các giá trị bên dưới để thực hiện các chính sách đó."
+
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
+msgstr ""
+"Hãy nhớ rằng một số đặc tính ví dụ như snapshot sẽ không được copy lại!"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
+msgstr ""
+"Hoặc nếu bạn copy hoặc cắt một entry trong GOsa và xóa đối tượng nguồn, bạn "
+"có thể lại gặp lỗi khi paste đối tượng này!"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+msgid "Cancel all"
+msgstr "Hủy bỏ tất"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+msgid "Operation complete"
+msgstr "Thao tác hoàn thành"
+
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
+msgstr "Kết thúc"
+
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
+msgstr "Phiên GOsa của bạn đã bị hết hạn!"
+
+#: ihtml/themes/default/logout.tpl:9
+#, fuzzy
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
+msgstr ""
+"Tương tác cuối cùng với giao diện web của GOsa đã diễn ra được một thời gian "
+"trong quá khứ, Vì các lý do an ninh, phiên này vừa bị đóng. Để tiếp tục các "
+"tác vụ của admin, xin hãy đăng ký lại lần nữa."
+
+#: ihtml/themes/default/logout.tpl:16
+#, fuzzy
+msgid "Login again"
+msgstr "Đăng ký lại"
+
+#: ihtml/themes/default/login.tpl:31
+#, fuzzy
+msgid "Login to GOsa"
+msgstr "Chào mừng bạn đến với bộ cài đặt wizard GOsa"
+
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
+msgstr "Mật khẩu"
+
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
+msgstr ""
+
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
+msgstr "Kích vào đây để đăng nhập"
+
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+#, fuzzy
+msgid "Log in"
+msgstr "Đăng nhập"
+
+#: ihtml/themes/default/sizelimit.tpl:3
+msgid ""
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
+msgstr ""
+"Lựa chọn giới hạn kích cỡ khiến cho hoạt động của LDAP nhanh hơn và giúp cho "
+"LDAP server không chịu quá nhiều tải. Cách đơn giản nhất để quản lý được các "
+"cơ sở dữ liệu lớn mà không có thời gian hạn định dài là hạn chế việc tìm "
+"kiếm của bạn vào các giá trị nhỏ hơn và sử dụng bộ lọc để có được các entry "
+"mà bạn đang tìm kiếm."
+
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
+msgstr "Xin hãy lựa chọn cách để phản ứng với phiên này"
+
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
+msgstr "Lờ đi lỗi này và hiển thị tất cả các entry mà LDAP server trả về "
+
+#: ihtml/themes/default/sizelimit.tpl:11
+#, fuzzy
+msgid ""
+"ignore this error and show all entries that fit into the defined size limit"
+msgstr ""
+"Lờ lỗi này đi và hiển thị tất cả các entry mà phù hợp với giới hạn kích cỡ "
+"đã xác định và thay vào đó cho tôi sử dụng các bộ lọc "
+
+#: ihtml/themes/default/infoPage.tpl:4
+#, fuzzy
+msgid "User information"
+msgstr "hiển thị thông tin"
+
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
+msgstr "ID người dùng"
+
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+#, fuzzy
+msgid "Surname"
+msgstr "Họ "
+
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+msgid "Given name"
+msgstr "Tên thật"
+
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
+msgstr "Chức danh cá nhân"
+
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
+msgstr "Chức danh học thuật"
+
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
+msgstr "Đại chỉ nhà theo bưu điện"
+
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
+msgstr "Ngày sinh"
+
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
+msgstr "Thư"
+
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
+msgid "Home phone number"
+msgstr "Số điện thoại nhà"
+
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
+msgstr "Tổ chức"
+
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
+#, fuzzy
+msgid "Organizational Unit"
+msgstr "Tổ chức"
+
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
+msgstr "Vị trí"
+
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
+msgstr "Phố"
+
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
+msgid "Department number"
+msgstr "Số phòng làm việc"
+
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
+msgid "Employee number"
+msgstr "Số nhân viên"
+
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
+msgstr "Loại nhân viên"
+
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+msgid "User settings"
+msgstr "Thiết lập của người dùng"
+
+#: ihtml/themes/default/infoPage.tpl:55
+#, fuzzy
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
+msgstr ""
+"Không thể tạo ra việc khóa thông tin trong cây LDAP.Xin hãy liên lạc với "
+"admin của bạn!"
+
+#: ihtml/themes/default/infoPage.tpl:61
+#, fuzzy
+msgid "Administrative contact"
+msgstr "Thiết lập quản trị"
+
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
+msgstr "Nhóm phát triển Gosa"
+
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
+msgstr ""
+
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
+msgid "Error message"
+msgstr ""
+
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
+msgstr ""
+
+#: ihtml/themes/default/framework.tpl:9
+#, fuzzy
+msgid "Log out"
+msgstr "Đăng xuất"
+
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
+msgstr ""
+"Bạn hiện đang hiệu chỉnh một entry vào cơ sở dữ liệu. Bạn có muốn hủy bỏ các "
+"thay đổi?"
+
+#: ihtml/themes/default/framework.tpl:22
+#, fuzzy, php-format
+msgid "Session expires in %d!"
+msgstr "Phiên không được mã hóa!"
+
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
+msgstr "GOsa help viewer"
+
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
+msgstr "Chỉ mục"
+
+#: ihtml/themes/default/logout-close.tpl:5
+msgid "Your GOsa session has been closed!"
+msgstr "Phiên GOsa của bạn vừa bị đóng!"
+
+#: ihtml/themes/default/logout-close.tpl:7
+msgid ""
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
+msgstr ""
+"Xin hãy đóng cửa sổ trình duyệt này lại và dọn sạch bộ nhớ đệm thẩm định "
+"quyền để tránh việc tự động thẩm định lại quyền bằng trình duyệt của bạn."
+
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+msgid "LDAP inspection"
+msgstr "Thanh tra LDAP"
+
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
+msgstr "Phân tích LDAP hiện tại của bạn để xem khả năng tương thích với GOsa"
+
+#: setup/class_setupStep_Migrate.inc:59
+msgid "Checking for root object"
+msgstr "Kiểm tra đối tượng gốc"
+
+#: setup/class_setupStep_Migrate.inc:65
+#, fuzzy
+msgid "Inspecting object classes in root object"
+msgstr "Kiểm tra đối tượng gốc"
+
+#: setup/class_setupStep_Migrate.inc:71
+#, fuzzy
+msgid "Checking permission for LDAP database"
+msgstr "Kiểm tra các cho phép trên cơ sở dữ liệu LDAP "
+
+#: setup/class_setupStep_Migrate.inc:78
+msgid "Checking for super administrator"
+msgstr "Kiểm tra siêu admin"
+
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+msgid "LDAP query failed"
+msgstr "Yêu cầu LDAP thất bại"
+
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
+msgstr "Có thể 'đối tượng gốc' bị mất tích."
+
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
+msgstr "Thất bại"
+
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
+#, fuzzy, php-format
+msgid ""
+"The specified user '%s' does not have full access to your LDAP database."
+msgstr ""
+"Người dùng '%s' không có toàn quyền truy cập vào cơ sở dữ liệu LDAP của bạn."
+
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
+msgstr "Không có một tài khoản Admin cùa Gosa nào trong LDAP của bạn."
+
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
+msgstr "Tạo "
+
+#: setup/class_setupStep_Migrate.inc:377
+msgid "Migration error"
+msgstr "Lỗi di trú"
+
+#: setup/class_setupStep_Migrate.inc:377
+#, php-format
+msgid "Cannot add ACL for user '%s':"
+msgstr "Không thể thêm ACL cho người dùng '%s':"
+
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
+msgid "Input error"
+msgstr "Lỗi nhập vào"
+
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
+msgstr "Số ID của người sử dụng"
+
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Password error"
+msgstr "Lỗi mật mã"
+
+#: setup/class_setupStep_Migrate.inc:420
+msgid "Provided passwords do not match!"
+msgstr "Những mật khẩu được cung cấp không phù hợp!"
+
+#: setup/class_setupStep_Migrate.inc:425
+msgid "Specify a valid user ID!"
+msgstr "Xác định một ID người dùng hợp lệ!"
+
+#: setup/class_setupStep_Migrate.inc:450
+#, php-format
+msgid "Adding an administrative user failed: object '%s' already exists!"
+msgstr ""
+"Việc thêm một người dùng quản trị đã thất bại: đối tượng '%s' đã có rồi!"
+
+#: setup/class_setupStep_Migrate.inc:662
+msgid ""
+"The LDAP root object is missing. It is required to use your LDAP service."
+msgstr ""
+"Đối tượng gốc LDAP đang mất tích. Để sử dụng dịch vụ LDAP của bạn, bạn cần "
+"có nó."
+
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
+msgid "Try to create root object"
+msgstr "Cố tạo ra một đối tượng gốc"
+
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
+msgstr "Đối tượng gốc không thể được tạo ra, bạn phải cố tự mình tạo ra nó."
+
+#: setup/class_setupStep_Migrate.inc:730
+#, fuzzy, php-format
+msgid "Missing GOsa object class '%s'!"
+msgstr "Lớp đối tượng lựa chọn '%s' mất tích!"
+
+#: setup/class_setupStep_Migrate.inc:731
+#, fuzzy
+msgid "Please check your installation."
+msgstr "Xin hãy kiểm tra kết hợp tên người dùng/mật khẩu."
+
+#: setup/class_setupStep_Migrate.inc:752
+#, php-format
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
+msgstr ""
+
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
+msgid "Migrate"
+msgstr "Di trú"
+
+#: setup/setup_checks.tpl:2
+msgid ""
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
+msgstr ""
+
+#: setup/setup_checks.tpl:5
+#, fuzzy
+msgid "Inspection"
+msgstr "Thanh tra LDAP"
+
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
+msgstr "Kiểm tra các module và mở rộng của PHP"
+
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
+msgstr ""
+
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
+msgstr "GOsa sẽ không chạy được nếu không sửa chỗ này."
+
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
+msgstr "GOsa sẽ chạy mà không cần sửa chỗ này."
+
+#: setup/setup_checks.tpl:50
+msgid "PHP setup configuration"
+msgstr "Cấu hình cài đặt PHP"
+
+#: setup/setup_checks.tpl:50
+msgid "show information"
+msgstr "hiển thị thông tin"
+
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
+msgstr ""
+
+#: setup/class_setupStep_Finish.inc:40
+msgid "Write configuration file"
+msgstr "Viết file cấu hình"
+
+#: setup/class_setupStep_Finish.inc:41
+msgid "Finish - write the configuration file"
+msgstr "Kết thúc - viết file cấu hình"
+
+#: setup/class_setupStep_Finish.inc:106
+msgid ""
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
+msgstr ""
+"File cấu hình của bạn hiện cả thế giới đều đọc được. Xin hãy cập nhật quyền "
+"truy cập file!"
+
+#: setup/class_setupStep_Finish.inc:108
+msgid "The configuration is currently not readable or it does not exists."
+msgstr "Cấu hình hiện tại không thể đọc được hoặc nó không tồn tại."
+
+#: setup/class_setupStep_Finish.inc:117
+#, fuzzy, php-format
+msgid ""
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
+msgstr ""
+"Sau khi tải về và đặt file này dưới %s, xin hãy đảm bảo rằng người dùng mà "
+"webserver này đang chạy với có thể đọc được %s, trong khi những người dùng "
+"khác không thể. Bạn có thể muốn chạy những lệnh này để đạt được yêu cầu:"
+
+#: setup/class_setupStep_Ldap.inc:54
+msgid "LDAP setup"
+msgstr "Cài đặt LDAP"
+
+#: setup/class_setupStep_Ldap.inc:55
+msgid "LDAP connection setup"
+msgstr "Thiết lập kết nối LDAP"
+
+#: setup/class_setupStep_Ldap.inc:56
+msgid ""
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
+msgstr ""
+"Đối thoại này chạy cấu hình đơn giản của khả năng kết nối LDAP với Gosa."
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+msgid "No"
+msgstr "Không"
+
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+msgid "Yes"
+msgstr "Có"
+
+#: setup/class_setupStep_Ldap.inc:113
+#, php-format
+msgid "Anonymous bind to server '%s' failed!"
+msgstr "Kết nối nặc danh với server '%s' thất bại!"
+
+#: setup/class_setupStep_Ldap.inc:115
+#, php-format
+msgid "Bind as user '%s' failed!"
+msgstr "Kết nối với vai trò người dùng '%s' thất bại!"
+
+#: setup/class_setupStep_Ldap.inc:120
+#, php-format
+msgid "Anonymous bind to server '%s' succeeded."
+msgstr "Kết nối nặc danh đến server '%s' thành công."
+
+#: setup/class_setupStep_Ldap.inc:121
+msgid "Please specify user and password!"
+msgstr "Xin hãy xác định người dùng và mật khẩu!"
+
+#: setup/class_setupStep_Ldap.inc:123
+#, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
+msgstr "Kết nối với tư cách người dùng '%s' đến server '%s' thành công!"
+
+#: setup/class_setupStep_Feedback.inc:94
+msgid "UNIX accounts/groups"
+msgstr "Tài khoản/nhóm UNIX"
+
+#: setup/class_setupStep_Feedback.inc:96
+msgid "Samba management"
+msgstr "Quản trị Samba"
+
+#: setup/class_setupStep_Feedback.inc:98
+#, fuzzy
+msgid "Mail system management"
+msgstr "Quản trị hệ thống thư"
+
+#: setup/class_setupStep_Feedback.inc:100
+msgid "FAX system administration"
+msgstr "Quản trị hệ thống FAX"
+
+#: setup/class_setupStep_Feedback.inc:102
+msgid "Asterisk administration"
+msgstr "Quản trị Asterisk"
+
+#: setup/class_setupStep_Feedback.inc:104
+msgid "System inventory"
+msgstr "Bảng kiểm kê hệ thống"
+
+#: setup/class_setupStep_Feedback.inc:106
+#, fuzzy
+msgid "System/Configuration management"
+msgstr "Quản trị cấu hình/hệ thống-"
+
+#: setup/class_setupStep_Feedback.inc:108
+#, fuzzy
+msgid "Address book"
+msgstr "Sổ địa chỉ"
+
+#: setup/class_setupStep_Feedback.inc:114
+#, fuzzy
+msgid "Feedback"
+msgstr "Lỗi phản hồi"
+
+#: setup/class_setupStep_Feedback.inc:115
+msgid "Get notifications or send feedback"
+msgstr "Lấy thông báo và gửi phản hồi"
+
+#: setup/class_setupStep_Feedback.inc:116
+msgid "Notification and feedback"
+msgstr "Thông báo và phản hồi "
+
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
+msgid "Setup error"
+msgstr "Lỗi cài đặt"
+
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Feedback error"
+msgstr "Lỗi phản hồi"
+
+#: setup/class_setupStep_Feedback.inc:140
+#, php-format
+msgid "Cannot send feedback to '%s': %s"
+msgstr "Không thể gửi phản hồi đển '%s': %s"
+
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
+msgstr "Không thể gửi phản hồi: dịch vụ hiện tại không có "
+
+#: setup/class_setupStep_Feedback.inc:181
+msgid "Please specify a valid email address."
+msgstr "Xin hãy  xác định một địa chỉ email hợp lệ."
+
+#: setup/class_setupStep_Feedback.inc:185
+msgid ""
+"You have to select at least one of both options, subscribe or send feedback."
+msgstr ""
+"Bạn phải lựa chọn ít nhất mọt trong hai chọn lựa, thuê bao hoặc gửi phản hồi."
+
+#: setup/setup_license.tpl:3
+msgid ""
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
+msgstr ""
+
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
+msgstr "Tôi đã đọc giấy phép và chấp nhận nó"
+
+#: setup/setup_ldap.tpl:2
+msgid ""
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
+msgstr ""
+
+#: setup/setup_ldap.tpl:9
+msgid "Please choose the LDAP user to be used by GOsa"
+msgstr "Xin hãy chọn người dùng LDAP để được sử dụng bởi GOsa"
+
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
+msgid "LDAP connection"
+msgstr "Kết nối LDAP"
+
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
+msgstr "Tên vị trí"
+
+#: setup/setup_ldap.tpl:35
+#, fuzzy
+msgid "Connection URI"
+msgstr "Kết nối URL"
+
+#: setup/setup_ldap.tpl:39
+msgid "TLS connection"
+msgstr "Kết nối TLS"
+
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
+#: plugins/admin/ogroups/generic.tpl:26
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
+#: plugins/admin/departments/class_domain.inc:92
+#: plugins/admin/departments/class_organizationGeneric.inc:125
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
+#: plugins/admin/departments/class_dcObject.inc:93
+#: plugins/admin/departments/domain.tpl:28
+#: plugins/admin/users/user-list.tpl:12
+msgid "Base"
+msgstr "Cơ sở"
+
+#: setup/setup_ldap.tpl:57
+msgid "Reload"
+msgstr "Tải lại"
+
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+msgid "Authentication"
+msgstr "Thẩm định quyền"
+
+#: setup/setup_ldap.tpl:66
+#, fuzzy
+msgid "Administrator DN"
+msgstr "Admin DN"
+
+#: setup/setup_ldap.tpl:71
+msgid "Select user"
+msgstr "Chọn người dùng"
+
+#: setup/setup_ldap.tpl:81
+#, fuzzy
+msgid "Automatically append LDAP base to administrator DN"
+msgstr "Tự động nối cơ sở LDAP với admin DN"
+
+#: setup/setup_ldap.tpl:85
+#, fuzzy
+msgid "Administrator password"
+msgstr "Mật khẩu Admin"
+
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
+msgid "Schema based settings"
+msgstr "Thiết lập dựa trên Schema"
+
+#: setup/setup_ldap.tpl:94
+#, fuzzy
+msgid "Use RFC 2307bis compliant groups"
+msgstr "Sử dụng các nhóm tuân thủ tiêu chuẩn rfc2307bis"
+
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
+msgid "Current status"
+msgstr "Tình trạng hiện tại"
+
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
+msgstr "Thông tin"
+
+#: setup/setup_language.tpl:3
+msgid "Please select the preferred language"
+msgstr "Xin hãy lựa chọn ngôn ngữ ưu thích"
+
+#: setup/setup_language.tpl:5
+#, fuzzy
+msgid ""
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
+msgstr ""
+"Tại thời điểm này, bạn có thể lựa chọn trang này với ngôn ngữ mặc định. Nếu "
+"chọn 'tự động', bạn sẽ sử dụng ngôn ngữ được yêu cẩu bởi trình duyệt này. "
+"Việc thiết lập này có  bị ghi đè với mỗi một người dùng."
+
+#: setup/setup_language.tpl:9
+msgid "Please select your preferred language here"
+msgstr "Xin hãy lựa chọn ngôn ngữ bạn muốn dùng ở đây"
+
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
+msgstr ""
+
+#: setup/setup_welcome.tpl:5
+msgid ""
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
+msgstr ""
+
+#: setup/setup_welcome.tpl:9
+#, fuzzy
+msgid "What you need to generate a configuration file:"
+msgstr "Tạo ra file cấu hình của bạn"
+
+#: setup/setup_welcome.tpl:13
+#, fuzzy
+msgid "The hostname of your LDAP server"
+msgstr "Trong khi chạy trên LDAP server %s"
+
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
+msgstr ""
+
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
+msgstr ""
+
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
+msgstr ""
+
+#: setup/setup_welcome.tpl:20
+msgid ""
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
+msgstr ""
+
+#: setup/setup_welcome.tpl:24
+#, fuzzy
+msgid "Starting the setup"
+msgstr "Cài đặt ngôn ngữ"
+
+#: setup/setup_welcome.tpl:26
+#, fuzzy
+msgid ""
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
+msgstr ""
+"Vì lý do an ninh, bạn cần phải xác minh việc cài đặt bằng cách tạo ra file '/"
+"tmp/gosa.auth', bao gồm phiên ID hiện tại trên hệ thống file nôi bộ của "
+"server. Ta làm việc này bằng cách chạy các lệnh sau:"
+
+#: setup/setup_welcome.tpl:32
+#, fuzzy
+msgid "Click the 'Next' button when you've finished."
+msgstr "Kích vào phím 'Continue' khi bạn làm xong."
+
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
+msgid "LDAP schema check"
+msgstr "Kiểm tra lược đồ LDAP"
+
+#: setup/class_setupStep_Schema.inc:39
+msgid "Perform test on your current LDAP schema"
+msgstr "Thực hiện việc kiểm tra trên lược đồ LDAP hiện tại của bạn"
+
+#: setup/class_setup.inc:183
+#, fuzzy
+msgid "Setup"
+msgstr "Đặt"
+
+#: setup/class_setup.inc:195
+msgid "Completed"
+msgstr "Đã hoàn thành"
+
+#: setup/class_setup.inc:235
+msgid "Check again"
+msgstr "Kiểm tra lại"
+
+#: setup/class_setup.inc:238
+msgid "Next"
+msgstr "Tiếp tục"
+
+#: setup/setup_migrate.tpl:2
+msgid ""
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
+msgstr ""
+"Trong quá trình thanh tra LDAP, chúng tôi sẽ kiểm tra một vài lỗi thông "
+"thường mà có thể xảy ra khi di trú đến quản trị LDAP gốc GOsa. Bạn có thể "
+"muốn sửa những vấn đề dưới đây để cung cấp các dịch vụ êm xuôi hơn."
+
+#: setup/setup_migrate.tpl:5
+#, fuzzy
+msgid "Checks"
+msgstr "Kiểm tra trạng thái"
+
+#: setup/setup_migrate.tpl:22
+#, fuzzy
+msgid "Add required object classes to the LDAP base"
+msgstr "Lớp đối tượng '%s' được yêu cầu mất tích!"
+
+#: setup/setup_migrate.tpl:24
+msgid "Current"
+msgstr "Hiện tại"
+
+#: setup/setup_migrate.tpl:28
+msgid "After migration"
+msgstr "Sau khi di trú"
+
+#: setup/setup_migrate.tpl:35
+msgid "Close"
+msgstr "Đóng"
+
+#: setup/setup_migrate.tpl:40
+msgid "Create a new GOsa administrator account"
+msgstr "Tạo ra một tài khoản admin GOsa mới"
+
+#: setup/setup_migrate.tpl:41
+msgid ""
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
+msgstr "Hộp thoại này sẽ tự động thêm một siêu admin mới vào cây LDAP của bạn."
+
+#: setup/setup_migrate.tpl:57
+msgid "Password (again)"
+msgstr "Mật khẩu (nhập lại)"
+
+#: setup/setup_finish.tpl:3
+msgid "Create your configuration file"
+msgstr "Tạo ra file cấu hình của bạn"
+
+#: setup/setup_finish.tpl:10
+msgid "Depending on the user name your web server is running on:"
+msgstr ""
+
+#: setup/setup_finish.tpl:27
+msgid "Download configuration"
+msgstr "Tải cấu hình về"
+
+#: setup/setup_finish.tpl:33
+msgid "Status: "
+msgstr "Trạng thái: "
+
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
+msgstr "Kiểm tra cài đặt"
+
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
+msgstr "Kiểm tra cơ bản cho khả năng tương thích và mở rộng PHP "
+
+#: setup/class_setupStep_Checks.inc:66
+msgid "Checking PHP version"
+msgstr "Kiểm tra phiên bản PHP"
+
+#: setup/class_setupStep_Checks.inc:67
+#, php-format
+msgid "PHP must be of version %s or above."
+msgstr "PHP phải là phiên bản %s hoặc như trên."
+
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
+msgstr "Xin hãy cập nhật cho một phiên bản hỗ trợ."
+
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
+msgstr "GOsa yêu cầu môdun này giao tiếp với server LDAP của bạn."
+
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
+msgstr "GOsa yêu cầu môdun này cho một giao diện được quốc tế hóa."
+
+#: setup/class_setupStep_Checks.inc:91
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
+msgstr ""
+"GOsa cần mô đun này để giao tiếp với một vài cơ sở dữ liệu được hỗ trợ."
+
+#: setup/class_setupStep_Checks.inc:99
+msgid "GOsa requires this module for the samba integration."
+msgstr "GOsa yêu cầu mô-đun này cho việc tích hợp samba."
+
+#: setup/class_setupStep_Checks.inc:107
+#, fuzzy
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
+msgstr "GOsa yêu cầu môdun này để tận dụng được việc mã hóa SSHA."
+
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
+msgstr "GOsa yêu cầu mô-đun này để giao tiếp với server IMAP."
+
+#: setup/class_setupStep_Checks.inc:122
+msgid "mbstring"
+msgstr "mbstring"
+
+#: setup/class_setupStep_Checks.inc:123
+#, fuzzy
+msgid "GOsa requires this module to handle Unicode strings."
+msgstr "GOsa cần môđun này để sử lý những đoạn mã unicode."
+
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:131
+#, fuzzy
+msgid "GOsa requires this module to calculate dates."
+msgstr "GOsa cần môđun này để sử lý những đoạn mã unicode."
+
+#: setup/class_setupStep_Checks.inc:138
+msgid "MySQL"
+msgstr "MySOL"
+
+#: setup/class_setupStep_Checks.inc:139
+msgid ""
+"GOsa requires this module to communicate with several supported databases."
+msgstr ""
+"GOsa cần mô đun này để giao tiếp với một vài cơ sở dữ liệu được hỗ trợ."
+
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
+msgstr "Bộ sinh ra hàm băm Samba"
+
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+msgstr "GOsa cần lệnh này để đồng bộ hóa mật khẩu của POSIX và Samba."
+
+#: setup/class_setupStep_Checks.inc:158
+#, fuzzy
+msgid ""
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
+msgstr ""
+"Triển khai việc cài đặt gosa-si hoặc cài đặt các môđun ngôn ngữ perl Crypt::"
+"SmbHash."
+
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:172
+#, fuzzy
+msgid "GOsa requires this extension to handle images."
+msgstr "GOsa cần môđun này để sử lý những đoạn mã unicode."
+
+#: setup/class_setupStep_Checks.inc:187
+#, fuzzy
+msgid "compression module"
+msgstr "Kiểm soát truy cập"
+
+#: setup/class_setupStep_Checks.inc:188
+#, fuzzy
+msgid "GOsa requires this extension to handle snapshots."
+msgstr "GOsa cần môđun này để sử lý những đoạn mã unicode."
+
+#: setup/class_setupStep_Checks.inc:199
+msgid ""
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
+msgstr ""
+"đăng ký_toàn cầu (register_globals) là một cơ chế PHP dùng để đăng ký tất cả "
+"các biến số toàn cầu mà có thể truy cập từ các tập lệnh mà không phải thay "
+"đổi phạm vi. Đây có thể là một rủi ro về bảo mật."
+
+#: setup/class_setupStep_Checks.inc:200
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+msgstr ""
+"Tìm kiếm 'register_globals' trong thư mục php.ini của bạn và chuyển nó thành "
+"'Off'."
+
+#: setup/class_setupStep_Checks.inc:208
+msgid "PHP uses this value for the garbage collector to delete old sessions."
+msgstr ""
+"PHP sử dụng giá trị này để phần mềm thu dọn rác có thể sóa các phiên cũ đi."
+
+#: setup/class_setupStep_Checks.inc:209
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
+msgstr ""
+"Thiết lập giá trị này đến một ngày sẽ ngăn cản việc mất đi các phiên và "
+"cookies trước khi chúng thực sự hết hạn."
+
+#: setup/class_setupStep_Checks.inc:210
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
+msgstr ""
+"Tìm kiếm  'session.gc_maxlifetime' trong thư mục php.ini của bạn và thiết "
+"lập nó đển 86400 hoặc cao hơn."
+
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+msgid "Off"
+msgstr "Tắt"
+
+#: setup/class_setupStep_Checks.inc:218
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
+msgstr ""
+"Để có thể sử dụng được GOsa mà không gặp vấn đề nào, lựa chọn session."
+"auto_register trong php.ini nên được thiết lập là 'Off' (tắt)."
+
+#: setup/class_setupStep_Checks.inc:219
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+msgstr ""
+"Tìm kiếm  'session.auto_start' trong thư mục php.ini của bạn và đặt nó thành "
+"'Off'."
+
+#: setup/class_setupStep_Checks.inc:226
+#, fuzzy
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
+msgstr ""
+"GOsa cần một dung lượng bộ nhớ ít nhất là 32MB. Thiết lập nó dưới giới hạn "
+"này có thể sẽ gây ra lỗi mà không thể tự sản sinh ra kết quả nữa! Hãy tăng "
+"dung lượng lên cho cài đặt lớn hơn."
+
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+msgstr ""
+"Tìm kiếm  'memory_limit' trong thư mục php.ini của bạn và thiết lập nó lên "
+"'32M' hoặc cao hơn."
+
+#: setup/class_setupStep_Checks.inc:234
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
+msgstr ""
+"Lựa chọn này sẽ ảnh hưởng tới việc sử lý đầu vào PHP. Tắt chức năng này đi, "
+"để tăng khả năng hoạt động."
+
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+msgstr ""
+"Tìm kiếm 'implicit_flush' trong thư mục php.ini của bạn và chuyển nó sang "
+"'Off'."
+
+#: setup/class_setupStep_Checks.inc:242
+msgid "The Execution time should be at least 30 seconds."
+msgstr "Thời gian chạy ít nhất là 30 giây."
+
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+msgstr ""
+"Tìm kiếm 'max_execution_time' trong thư mục php.ini của bạn và thiết lập nó "
+"đến '30' hoặc cao hơn."
+
+#: setup/class_setupStep_Checks.inc:250
+msgid ""
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
+msgstr ""
+"Tăng tính bảo mật của server bằng việc thiết lập expose_php thành 'off'. PHP "
+"sẽ không gửi bất cứ thông tin nào về server bạn đang chạy trong trường hợp "
+"này."
+
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+msgstr ""
+"Tìm kiếm 'expose_php' trong thư much php.ini của bạn và chuyển nó thành "
+"'Off'."
+
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
+msgid "On"
+msgstr "Bật"
+
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
+msgstr ""
+"Tăng cường an ninh cho server của bạn bằng cách thiết lập magic_quotes_gpc "
+"thành 'on'. PHP sẽ giải thoát tất cả các trích dẫn trong các đoạn mã trong "
+"trường hợp này."
+
+#: setup/class_setupStep_Checks.inc:259
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+msgstr ""
+"Tìm kiếm ''magic_quotes_gpc' trong thư mục php.ini của bạn và chuyển nó "
+"thành 'On'"
+
+#: setup/class_setupStep_Checks.inc:266
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+msgstr ""
+"Tăng cường khả năng hoạt động cho server của bạn bằng việc thiết lập "
+"magic_quotes_gpc thành 'off'."
+
+#: setup/class_setupStep_Checks.inc:267
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+msgstr ""
+"Tìm kiếm 'zend.ze1_compatibility_mode' trong thư mục  php.ini và chuyển nó "
+"thành 'Off'."
+
+#: setup/class_setupStep_Checks.inc:277
+#, fuzzy
+msgid "Configuration writable"
+msgstr "Cấu hình có thể lưu trữ dữ liệu (writable)"
+
+#: setup/class_setupStep_Checks.inc:278
+msgid "The configuration file can't be written"
+msgstr "Không thể viết lên File cấu hình "
+
+#: setup/class_setupStep_Checks.inc:279
+#, fuzzy, php-format
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
+msgstr ""
+"GOsa đọc cấu hình của nó từ một file trong (%s/%s). Việc cài đặt có thể trực "
+"tiếp viết cấu hình nếu nó là writeable."
+
+#: setup/class_setupStep_Welcome.inc:42
+msgid "Welcome"
+msgstr "Chào mừng"
+
+#: setup/class_setupStep_Welcome.inc:43
+msgid "The welcome message"
+msgstr "Tin nhắn chào mừng"
+
+#: setup/class_setupStep_Welcome.inc:44
+#, fuzzy
+msgid "Welcome to the GOsa setup assistent"
+msgstr "Chào mừng bạn đến với bộ cài đặt wizard GOsa"
+
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
+msgid "License"
+msgstr "Giấy Phép"
+
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
+msgstr "Điều khoản và điều kiện cho việc sử dụng"
+
+#: setup/setup_schema.tpl:1
+msgid "Schema specific settings"
+msgstr "Thiết lập cụ thể lược đồ (schema)"
+
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
+msgstr "Kiểm tra lược đồ thành công"
+
+#: setup/setup_schema.tpl:7
+msgid "Schema check failed"
+msgstr "Kiểm tra lược đồ thất bại"
+
+#: setup/setup_schema.tpl:11
+#, fuzzy
+msgid ""
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
+msgstr ""
+"Không thể đọc một thông tin lược đồ nào, bỏ qua toàn bộ việc kiểm tra. Điều "
+"chỉnh các acls ldap của bạn."
+
+#: setup/setup_schema.tpl:13
+#, fuzzy
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
+msgstr ""
+"Dường như cơ sở dữ liệu Ldap của bạn vẫn chưa được khởi chạy trước. Đây có "
+"thể là lý do tại sao Gosa không thể đọc cấu hình lược đồ của bạn!"
+
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
+msgid "Language setup"
+msgstr "Cài đặt ngôn ngữ"
+
+#: setup/class_setupStep_Language.inc:42
+msgid "This step allows you to select your preferred language."
+msgstr "Bước này cho phép bạn lựa chọn ngôn ngữ bạn muốn dùng."
+
+#: setup/setup_feedback.tpl:2
+#, fuzzy
+msgid "Feedback successfully send"
+msgstr "Phản hồi đã được gửi thành công"
+
+#: setup/setup_feedback.tpl:6
+#, fuzzy
+msgid "Subscribe to the gosa-announce mailing list"
+msgstr "Thuê bao đến maillinglist do gosa công bố"
+
+#: setup/setup_feedback.tpl:8
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
+msgstr ""
+"Khi kiểm tra lựa chọn này, GOsa sẽ cố thử kết nói với http://oss.gonicus.de "
+"để có thể thuê bao bạn với mailing list mà gosa công bố. Bạn phải xác minh "
+"việc này bằng thư."
+
+#: setup/setup_feedback.tpl:20
+msgid "Mail address"
+msgstr "Địa chỉ thư"
+
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
+msgstr "Gửi phản hồi lại cho nhóm phát triển dự án GOsa"
+
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
+msgstr ""
+"Khi kiểm tra lựa chọn này, GOsa sẽ cố gắng kết nối bạn với http://oss."
+"gonicus.de để nộp đăng ký của bạn nặc danh."
+
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
+msgstr "Thông tin chung"
+
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
+msgstr "Các thủ tục cài đặt có giúp bạn bắt đầu được không?"
+
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
+msgstr "Nếu không, vấn đề mà bạn gặp phải là gì?"
+
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
+msgstr "Đây có phải là lần đầu tiên bạn sử dụng GOsa không?"
+
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
+msgstr "Tôi sử dụng nó từ khi"
+
+#: setup/setup_feedback.tpl:54
+msgid "Select the year since when you are using GOsa"
+msgstr "Lựa chọn năm mà bạn đang sử dụng GOsa"
+
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
+msgstr "Bạn sử dụng loại hệ điều hành/bản phân phối nảo?"
+
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
+msgstr "Bạn sử dụng loại web server nào?"
+
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
+msgstr "Bạn sử dụng phiên bản PHP nào?"
+
+#: setup/setup_feedback.tpl:72
+#, fuzzy
+msgid "GOsa version"
+msgstr "Thiết lập GOsa chung "
+
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
+msgstr "LDAP"
+
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
+msgstr "Bạn sử dụng loại LDAP server nào?"
+
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
+msgstr "Có bao nhiêu đối tượng trong LDAP của bạn?"
+
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
+msgid "Features"
+msgstr "Các tính năng"
+
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
+msgstr "Bạn sử dụng tính năng nào của GOsa?"
+
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
+msgstr ""
+"Bạn muốn được thấy tính năng nào trong các phiên bản tương lai của GOsa?"
+
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
+msgstr "Gửi phản hồi"
+
+#: html/password.php:63 html/index.php:157
+#, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
+msgstr "Cấu hình GOsa %s/%s không đọc được. Bãi bỏ."
+
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, fuzzy, php-format
+msgid "Compile directory %s is not accessible!"
+msgstr ""
+"Không thể truy cập vào thư mục '%s' được xác định là thư mục soạn thảo!"
+
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
+msgid "Password method"
+msgstr "Phương pháp lập mật khẩu"
+
+#: html/password.php:195
+msgid "Error: Password method not available!"
+msgstr "Lỗi: Phương pháp mật khẩu không có!"
+
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
+msgstr "Đăng nhập"
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
+msgstr "Bạn cần xác định mật khẩu hiện tại để có thể tiếp tục."
+
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
+msgid ""
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
+msgstr ""
+"Các mật khẩu bạn vừa nhập vào: \"Mật khẩu mới\" và \"Mật khẩu lặp lại\" "
+"không giống nhau."
+
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
+msgstr "Mật khẩu bạn vừa nhập vào làm \"Mật khẩu mới\" bị rỗng."
+
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
+msgstr "Mật khẩu mới và mật khẩu cũ quá giống nhau."
+
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
+msgstr "Mật khẩu mới cần được cắt ngắn lại."
+
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
+#, fuzzy
+msgid "The password contains possibly problematic Unicode characters!"
+msgstr "Trường '%s' chứa các ký tự không hợp lệ!"
+
+#: html/password.php:261 html/index.php:311
+#, fuzzy
+msgid "Please check the username/password combination!"
+msgstr "Xin hãy kiểm tra kết hợp tên người dùng/mật khẩu."
+
+#: html/password.php:268
+#, fuzzy
+msgid "You have no permissions to change your password!"
+msgstr "Bạn không được phép thay đổi mật mã của bạn."
+
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
 #, php-format
-msgid "Copy and paste failed!"
-msgstr "Copy và Paste bị thất bại!"
+msgid "Check-hook reported a problem: %s. Password change canceled!"
+msgstr ""
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:193
+#: html/password.php:315
+msgid "Session will not be encrypted."
+msgstr "Phiên sẽ không được mã hóa."
+
+#: html/password.php:317
+msgid "Enter SSL session"
+msgstr "Vào phiên SSL"
+
+#: html/index.php:45
 #, php-format
-msgid "Cannot set permission for '%s'"
-msgstr "Không thể thiết lập phép cho '%s'"
+msgid "Your browser (%s) is blacklisted for the current theme!"
+msgstr ""
+
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
+msgstr ""
+
+#: html/index.php:72
+#, fuzzy
+msgid "here"
+msgstr "Theme"
+
+#: html/index.php:78
+#, fuzzy
+msgid "The configured session lifetime will be overridden by php.ini settings!"
+msgstr ""
+"Thời gian hạn định của phiên được cấu hình trong file gosa.conf của bạn sẽ "
+"được ghi đè lên bởi các thiết lập php.ini."
+
+#: html/index.php:179
+msgid "Smarty error"
+msgstr "Lỗi Smarty"
+
+#: html/index.php:202
+#, fuzzy
+msgid ""
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
+msgstr ""
+"Trình duyệt của bạn đã vô hiệu cookies. Xin hãy cho phép cookies vào và tải "
+"lại trang này trước khi đăng nhập!"
+
+#: html/index.php:233
+#, fuzzy
+msgid "Broken HTTP authentication setup!"
+msgstr "Có vấn đề với  việc cài đặt chức năng xác định thẩm quyền!"
+
+#: html/index.php:241
+#, fuzzy
+msgid "Cannot find a valid user for the current HTTP authentication!"
+msgstr ""
+"Không thể tìm thấy một người dùng hợp lệ cho việc cài đặt xác định thẩm "
+"quyền hiện tại!"
+
+#: html/index.php:245
+#, fuzzy
+msgid "Cannot find a unique user for the current HTTP authentication!"
+msgstr ""
+"Không thể tìm thấy một người dùng hợp lệ cho việc cài đặt xác định thẩm "
+"quyền hiện tại!"
+
+#: html/index.php:289
+#, fuzzy
+msgid "Please specify a valid user name!"
+msgstr "Xin hãy xác định một tên người dùng hợp lệ!"
+
+#: html/index.php:292
+msgid "Please specify your password!"
+msgstr "Xin hãy xác định mật mã của bạn!"
+
+#: html/index.php:304
+msgid "Authentication error"
+msgstr "Lỗi xác định thẩm quyền"
+
+#: html/index.php:304
+#, fuzzy
+msgid "Cannot retrieve user information for HTTP authentication!"
+msgstr ""
+"Không thể phục hồi thông tin của người dùng cho việc thẩm  định quyền "
+"htaccess (truy cập ht)!"
+
+#: html/index.php:360
+msgid "Account locked. Please contact your system administrator!"
+msgstr ""
+"Tài khoản bị khóa. Xin hãy liên lạc với admin quản trị hệ thống của bạn!"
+
+#: html/main.php:171
+#, fuzzy, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
+msgstr "Không thể xác định vị trí file '%s'- xin hãy chạy '%s' để sửa lỗi này!"
+
+#: html/main.php:190
+msgid "PHP configuration"
+msgstr "Cấu hình PHP"
+
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
+msgstr ""
+
+#: html/main.php:220
+msgid "Your password is about to expire, please change your password!"
+msgstr "Mật khẩu của bạn chuẩn bị hết hạn, xin hãy thay đối mật khẩu của bạn!"
+
+#: html/main.php:295
+msgid "Running out of memory!"
+msgstr "Hết dung lượng bộ nhớ!"
+
+#: html/main.php:355
+#, php-format
+msgid "You're logged in as %s"
+msgstr ""
+
+#: html/main.php:358
+#, fuzzy
+msgid "ACLs are disabled"
+msgstr "Vô hiệu việc kiểm tra ACL của người dùng"
+
+#: html/main.php:408
+#, fuzzy
+msgid "Plug-in"
+msgstr "Plugin"
+
+#: html/main.php:409
+#, fuzzy, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
+msgstr ""
+"LỖI NGHIÊM TRỌNG: không thể tìm thấy bất cứ  plugin definition nào cho "
+"plugin '%s'!"
+
+#: html/main.php:425
+#, fuzzy
+msgid "Configuration Error"
+msgstr "Lỗi cấu hình"
+
+#: html/main.php:426
+#, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
+msgstr ""
+
+#: html/setup.php:73
+msgid "Smarty"
+msgstr "Smarty"
+
+#: html/helpviewer.php:64
+msgid "Help browser"
+msgstr "Hỗ trợ trình duyệt"
+
+#: html/helpviewer.php:118
+#, fuzzy
+msgid "There is no help file specified for this class"
+msgstr "Không có file trợ giúp nào được chỉ định cho lớp này"
+
+#: html/helpviewer.php:268
+#, fuzzy, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
+msgstr ""
+"Không thể truy cập Helpdir '%s', không thể đọc được bất cứ file trợ giúp nào."
+
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
+msgstr ""
+"Để thay đổi được mật khẩu cá nhân, sử dụng các trường dưới đây. Các thay đổi "
+"sẽ diễn ra ngay lập tức. Xin hãy nhớ mật khẩu mới, bởi vì bạn sẽ không thể "
+"đăng nhập vào nếu không có nó."
+
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
+#, fuzzy
+msgid "Password change dialog"
+msgstr "Thay đổi mật khẩu"
+
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
+#, fuzzy
+msgid "Use proposal"
+msgstr "các nhóm người dùng"
+
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
+#, fuzzy
+msgid "Manually specify a password"
+msgstr "Xin hãy xác định mật mã của bạn!"
+
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
+msgstr "Dọn sạch các trường "
+
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
+msgstr "Tài khoản của tôi"
+
+#: plugins/personal/myaccount/class_MyAccount.inc:6
+#, fuzzy
+msgid "Edit personal settings"
+msgstr "Hiệu chỉnh cài đặt POSIX của người dùng"
+
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
+msgid "You have no permission to change your password at this time"
+msgstr "Bạn không được phép thay đổi mật khẩu tại thời điểm này"
+
+#: plugins/personal/myaccount/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "Mật khẩu của bạn đã được thay đổi thành công."
+
+#: plugins/personal/myaccount/changed.tpl:3
+#: plugins/personal/password/changed.tpl:3
+#, fuzzy
+msgid ""
+"You've successfully changed your password. Remember to change all programs "
+"configured to use it as well."
+msgstr ""
+"Bạn đã thay đổi mật khẩu thành công. Hãy nhớ thay đổi cả các chương trình "
+"cấu hình để sử dụng được nó."
+
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
+msgid "POSIX settings"
+msgstr "Thiết lập POSIX"
+
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
+msgstr "Thư mục chủ"
+
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
+#, fuzzy
+msgid "Account settings"
+msgstr "Thiết lập nhóm"
+
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
+msgstr "Nhóm sơ cấp"
+
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
+msgstr "Bắt buộc có UID/GID "
+
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
+msgstr "Số ID của nhóm"
+
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
+msgstr "Tư cách thành viên nhóm"
+
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
+msgstr "(Cảnh báo: hơn 16 nhóm không được hỗ trợ bởi NFS!)"
+
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
+#, fuzzy
+msgid "Default filter"
+msgstr "Máy in"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
+#, fuzzy
+msgid "Please select the desired entries"
+msgstr "Xin hãy lựa chọn ngôn ngữ ưu thích"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
+msgstr "Máy chủ (server)"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
+msgstr "Máy trạm"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+msgid "Terminal"
+msgstr "Thiết bị cuối "
+
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
+#, fuzzy
+msgid "Trust machine selection"
+msgstr "Thiết lập nhóm"
 
-#: include/class_CopyPasteHandler.inc:159
-#, php-format
-msgid "'%s' is no vaild LDAP object"
-msgstr "'%s' không phải là một đối tượng LDAP hợp lệ"
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+#, fuzzy
+msgid "Group selection"
+msgstr "Thiết lập nhóm"
 
-#: include/class_CopyPasteHandler.inc:176
-#, php-format
-msgid "No write permission in '%s'"
-msgstr "Không có phép viết cho '%s'"
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
+msgstr "Nhóm "
 
-#: include/class_CopyPasteHandler.inc:396
-#, php-format
-msgid "These objects will be pasted: %s"
-msgstr "Các đối tượng này sẽ được paste: %s"
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
+msgstr "Người dùng phải thay đổi mật khẩu ngay lần đăng nhập đầu tiên"
 
-#: include/class_CopyPasteHandler.inc:420
-#, php-format
-msgid "This object will be pasted: %s"
-msgstr "Đối tượng này sẽ được paste: %s"
+#: plugins/personal/posix/posix_shadow.tpl:59
+#, fuzzy
+msgid "Password expiration settings"
+msgstr "Thiết lập mật khẩu"
 
-#: include/class_CopyPasteHandler.inc:572
-msgid "Cannot paste"
-msgstr "Không thể paste"
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
+msgstr "Mật khẩu hết hạn vào ngày"
 
-#: include/class_msg_dialog.inc:124
-msgid "Please fix the above error and reload the page."
-msgstr "Xin hãy sửa lỗi trên và reload trang trên."
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
+#, fuzzy
+msgid "Generic settings"
+msgstr "Thiết lập chung của người dùng"
 
-#: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:966
-#: plugins/admin/groups/class_group.inc:1174
-#: plugins/admin/users/class_userManagement.inc:870
-#: plugins/admin/departments/class_department.inc:656
-#: plugins/personal/generic/class_user.inc:37
-#: plugins/personal/generic/class_user.inc:1668
-#: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
-msgid "Generic"
-msgstr "Thông tin chung"
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+msgid "Shell"
+msgstr "Shell"
 
-#: plugins/generic/references/class_reference.inc:43
-#: plugins/personal/posix/class_posixAccount.inc:37
-msgid "UNIX"
-msgstr "UNIX"
-
-#: plugins/generic/references/class_reference.inc:45
-#: plugins/admin/ogroups/tabs_ogroups.inc:148
-#: plugins/admin/groups/class_groupManagement.inc:164
-#: plugins/admin/users/class_userManagement.inc:877
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
-msgid "Mail"
-msgstr "Thư"
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
+msgstr "Trạng thái"
 
-#: plugins/generic/references/class_reference.inc:47
-#: plugins/generic/references/class_reference.inc:49
-#: plugins/admin/groups/class_groupManagement.inc:172
-#: plugins/admin/users/class_userManagement.inc:882
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:78
-msgid "Samba"
-msgstr "Samba"
+#: plugins/personal/posix/generic.tpl:42
+#, fuzzy
+msgid "Last log-on"
+msgstr "Họ"
 
-#: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:894
-msgid "FAX"
-msgstr "Fax"
+#: plugins/personal/posix/generic.tpl:101
+#, fuzzy
+msgid "Common group"
+msgstr "các nhóm điện thoại"
 
-#: plugins/generic/references/class_reference.inc:53
-msgid "Proxy"
-msgstr "Proxy"
+#: plugins/personal/posix/generic.tpl:105
+#, fuzzy
+msgid "Groups differ"
+msgstr "Nhóm người dùng"
 
-#: plugins/generic/references/class_reference.inc:55
-msgid "FTP"
-msgstr "FTP "
+#: plugins/personal/posix/generic.tpl:125
+#, fuzzy
+msgid "Account permissions"
+msgstr "Thiết lập nhóm"
 
-#: plugins/generic/references/class_reference.inc:57
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
-#: plugins/admin/ogroups/class_ogroupManagement.inc:184
-#: plugins/admin/ogroups/ogroup-list.xml:79
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
-#: plugins/admin/groups/group-list.xml:15
-#: plugins/admin/groups/group-list.xml:96
-#: plugins/personal/posix/groupSelect/group-list.xml:15
-msgid "Group"
-msgstr "Nhóm "
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:59
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
-#: plugins/admin/ogroups/class_ogroupManagement.inc:186
-#: plugins/admin/departments/dep-list.xml:55
-#: plugins/admin/departments/dep-list.xml:71
-#: plugins/admin/departments/dep-list.xml:138
-#: plugins/admin/departments/class_departmentManagement.inc:249
-#: plugins/personal/generic/class_user.inc:1695
-#: plugins/personal/generic/generic.tpl:307
-msgid "Department"
-msgstr "Bộ phận"
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:61
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
-#: plugins/admin/ogroups/class_ogroupManagement.inc:188
-#: plugins/admin/groups/class_groupManagement.inc:180
-#: plugins/admin/users/class_userManagement.inc:898
-#: plugins/admin/departments/generic.tpl:106
-#: plugins/admin/departments/class_department.inc:370
-#: plugins/admin/departments/organization.tpl:105
-#: plugins/personal/generic/class_user.inc:1356
-#: plugins/personal/generic/class_user.inc:1819
-#: plugins/personal/generic/generic.tpl:398
-#: plugins/personal/generic/generic.tpl:579
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:86
-msgid "Phone"
-msgstr "Số điện thoại"
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
+msgstr "POSIX (giao diện hệ điều hành lưu động)"
 
-#: plugins/generic/references/class_reference.inc:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:185
-msgid "Application"
-msgstr "Ứng dụng"
+#: plugins/personal/posix/class_posixAccount.inc:38
+msgid "Edit users POSIX settings"
+msgstr "Hiệu chỉnh cài đặt POSIX của người dùng"
 
-#: plugins/generic/references/class_reference.inc:65
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
-#: plugins/admin/ogroups/class_ogroupManagement.inc:187
-#: plugins/personal/posix/trustSelect/trust-list.xml:14
-#: setup/setup_config2.tpl:219 setup/setup_config2.tpl:264
-msgid "Server"
-msgstr "Máy chủ (server)"
+#: plugins/personal/posix/class_posixAccount.inc:146
+msgid "expired"
+msgstr "hết hạn"
 
-#: plugins/generic/references/class_reference.inc:67
-msgid "Thin Client"
-msgstr "Máy khách yếu"
+#: plugins/personal/posix/class_posixAccount.inc:148
+msgid "grace time active"
+msgstr "Thời gian trước khi tài khoản bị khóa đang hoạt động"
 
-#: plugins/generic/references/class_reference.inc:69
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
-#: plugins/admin/ogroups/class_ogroupManagement.inc:189
-#: plugins/personal/posix/trustSelect/trust-list.xml:22
-msgid "Workstation"
-msgstr "Máy trạm"
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
+msgid "active"
+msgstr "hoạt động"
 
-#: plugins/generic/references/class_reference.inc:71
-#: plugins/admin/ogroups/ogroup-list.xml:15
-msgid "Object group"
-msgstr "Nhóm đối tượng"
+#: plugins/personal/posix/class_posixAccount.inc:151
+#, fuzzy
+msgid "password not changeable"
+msgstr "Mật khẩu không thay đổi được"
 
-#: plugins/generic/references/class_reference.inc:73
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
-#: plugins/admin/ogroups/class_ogroupManagement.inc:192
-msgid "Printer"
-msgstr "Máy in"
+#: plugins/personal/posix/class_posixAccount.inc:153
+msgid "password expired"
+msgstr "mật khẩu hết hạn"
+
+#: plugins/personal/posix/class_posixAccount.inc:226
+msgid "automatic"
+msgstr "tự động"
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Object name"
-msgstr "Tên đối tượng"
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr "Samba"
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Contents"
-msgstr "Nội dung"
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr "Môi trường"
 
-#: plugins/generic/references/contents.tpl:18
-msgid "This object has no relationship to other objects."
-msgstr "Đối tượng này không có mối quan hệ nào với các đối tượng khác."
+#: plugins/personal/posix/class_posixAccount.inc:374
+#, php-format
+msgid "Password can't be changed up to %s days after last change"
+msgstr ""
+"Mật khẩu không thể được thay đổi it nhất là %s ngày sau lần thay đổi trước"
 
-#: plugins/generic/welcome/main.inc:26
+#: plugins/personal/posix/class_posixAccount.inc:378
 #, php-format
-msgid "Welcome %s!"
-msgstr "Chào mừng %s!"
+msgid "Password must be changed after %s days"
+msgstr "Mật khẩu phải được thay đổi sau %s ngày"
 
-#: plugins/generic/welcome/welcome.tpl:4
-msgid ""
-"This is the GOsa main menu. You can select your tasks from the menu on the "
-"left, or by choosing one of the pictograms below. All changes apply directly "
-"to your companies LDAP server."
+#: plugins/personal/posix/class_posixAccount.inc:382
+#, fuzzy, php-format
+msgid "Disable account after %s days of inactivity after password expiry"
 msgstr ""
-"Đây là danh mục chính của Gosa. Bạn có thể lựa chọn tác vụ của bạn từ danh "
-"mục ở bên trái hoặc bằng cách chọn một trong những biểu tượng dưới đây. Tất "
-"cả những thay đổi này được áp dụng trực tiếp cho Máy chủ LDAP trong công ty "
-"bạn."
+"Vô hiệu hóa tài khoản sau %s ngày không hoạt động sau khi mật khẩu hết hạn"
+
+#: plugins/personal/posix/class_posixAccount.inc:386
+#, fuzzy, php-format
+msgid "Warn user %s days before password expiry"
+msgstr "Cảnh báo người sử dụng còn %s ngày nữa là hết hạn password"
 
-#: plugins/generic/welcome/welcome.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:651
+msgid "Timeout while waiting for lock. Ignoring lock!"
+msgstr "Thời gian chờ khóa. Bỏ qua khóa!"
+
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
+msgid "Group of user"
+msgstr "Nhóm người dùng"
+
+#: plugins/personal/posix/class_posixAccount.inc:774
 msgid ""
-"Use 'Sign out' on the upper left to close the connection and 'Main' to get "
-"back to the pictogram view."
+"A duplicated UID number was written for this user. If this was not intended "
+"please verify all used uidNumbers!"
 msgstr ""
-"Sử dụng \"Đăng xuất\" ở phía trên bên trái để đóng kết nối và \"Trang chính"
-"\" để quay lại xem biểu tượng."
+"Số UID nhân bản đã được viết cho người sử dụng này. Nếu vệc này là không cố "
+"ý, xin hãy xác minh lại tất cả các số UID!"
 
-#: plugins/generic/welcome/welcome.tpl:15
-msgid "The GOsa team"
-msgstr "Nhóm phát triển Gosa"
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
+msgid "shadowMin"
+msgstr "shadowMin"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
-#: plugins/admin/groups/userSelect/user-list.xml:10
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
-#: plugins/personal/posix/trustSelect/trust-list.xml:10
-#: plugins/personal/posix/groupSelect/group-list.xml:11
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
+msgid "shadowMax"
+msgstr "shadowMax"
+
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
+msgid "shadowWarning"
+msgstr "Cảnh báo về Shadow"
+
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
+msgid "shadowInactive"
+msgstr "Shadow  không hoạt động"
+
+#: plugins/personal/posix/class_posixAccount.inc:1293
+msgid "POSIX account"
+msgstr "tài khoản POSIX"
+
+#: plugins/personal/posix/class_posixAccount.inc:1311
+msgid "Group ID"
+msgstr "ID nhóm"
+
+#: plugins/personal/posix/class_posixAccount.inc:1313
 #, fuzzy
-msgid "Please select the desired entries"
-msgstr "Xin hãy lựa chọn ngôn ngữ ưu thích"
+msgid "Shadow last changed"
+msgstr "Hiển thị các thay đổi"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
-#: plugins/admin/ogroups/class_ogroupManagement.inc:191
-#: plugins/personal/posix/trustSelect/trust-list.xml:30
-msgid "Terminal"
-msgstr "Thiết bị cuối "
+#: plugins/personal/posix/class_posixAccount.inc:1314
+#, fuzzy
+msgid "Last login"
+msgstr "Họ"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:183
-#: plugins/admin/groups/userSelect/user-list.xml:14
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
-#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
-#: setup/setup_config2.tpl:228 setup/setup_config2.tpl:273
-msgid "User"
-msgstr "Người dùng"
+#: plugins/personal/posix/class_posixAccount.inc:1316
+msgid "Force password change on login"
+msgstr "Ép buộc thay đổi mật khẩu trong khi đăng nhập"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:29
-#: plugins/admin/ogroups/class_ogroup.inc:768
-#: plugins/admin/ogroups/class_ogroup.inc:783
-#: plugins/admin/ogroups/class_ogroup.inc:787
-#: plugins/admin/ogroups/class_ogroup.inc:975
-#: plugins/admin/ogroups/ogroup-filter.tpl:29
-#: plugins/admin/ogroups/ogroup-list.xml:41
-#: plugins/admin/groups/userSelect/user-filter.tpl:17
-#: plugins/admin/groups/group-filter.tpl:21
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:17
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:21
-#: plugins/admin/groups/group-list.xml:58
-#: plugins/admin/groups/class_group.inc:1045
-#: plugins/admin/groups/class_group.inc:1056
-#: plugins/admin/groups/class_group.inc:1058
-#: plugins/admin/groups/class_group.inc:1075
-#: plugins/admin/groups/class_group.inc:1089
-#: plugins/admin/groups/class_group.inc:1096
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:538
-#: plugins/admin/users/class_userManagement.inc:585
-#: plugins/admin/users/user-filter.tpl:24
-#: plugins/admin/departments/class_domain.inc:47
-#: plugins/admin/departments/class_domain.inc:49
-#: plugins/admin/departments/class_domain.inc:54
-#: plugins/admin/departments/class_domain.inc:56
-#: plugins/admin/departments/class_domain.inc:58
-#: plugins/admin/departments/class_domain.inc:90
-#: plugins/admin/departments/dep-filter.tpl:13
-#: plugins/admin/departments/class_localityGeneric.inc:48
-#: plugins/admin/departments/class_localityGeneric.inc:50
-#: plugins/admin/departments/class_localityGeneric.inc:55
-#: plugins/admin/departments/class_localityGeneric.inc:57
-#: plugins/admin/departments/class_localityGeneric.inc:59
-#: plugins/admin/departments/class_organizationGeneric.inc:79
-#: plugins/admin/departments/class_organizationGeneric.inc:81
-#: plugins/admin/departments/class_organizationGeneric.inc:86
-#: plugins/admin/departments/class_organizationGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:90
-#: plugins/admin/departments/class_countryGeneric.inc:47
-#: plugins/admin/departments/class_countryGeneric.inc:49
-#: plugins/admin/departments/class_countryGeneric.inc:54
-#: plugins/admin/departments/class_countryGeneric.inc:56
-#: plugins/admin/departments/class_countryGeneric.inc:58
-#: plugins/admin/departments/class_dcObject.inc:47
-#: plugins/admin/departments/class_dcObject.inc:49
-#: plugins/admin/departments/class_dcObject.inc:54
-#: plugins/admin/departments/class_dcObject.inc:56
-#: plugins/admin/departments/class_dcObject.inc:58
-#: plugins/admin/departments/class_dcObject.inc:90
-#: plugins/admin/departments/class_department.inc:349
-#: plugins/admin/departments/class_department.inc:351
-#: plugins/admin/departments/class_department.inc:356
-#: plugins/admin/departments/class_department.inc:363
-#: plugins/admin/departments/class_department.inc:367
-#: plugins/admin/acl/class_aclRole.inc:733
-#: plugins/admin/acl/class_aclRole.inc:745
-#: plugins/admin/acl/class_aclRole.inc:755 plugins/admin/acl/acl-list.xml:49
-#: plugins/admin/acl/paste_role.tpl:4 plugins/admin/acl/acl-filter.tpl:21
-#: plugins/admin/acl/acl_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1336
-#: plugins/personal/generic/class_user.inc:1378
-#: plugins/personal/generic/class_user.inc:1834
-#: plugins/personal/posix/trustSelect/trust-list.xml:56
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:23
-#: plugins/personal/posix/groupSelect/group-filter.tpl:21
-#: plugins/personal/posix/groupSelect/group-list.xml:41
-#: setup/setup_migrate.tpl:283 setup/setup_feedback.tpl:31
-msgid "Name"
-msgstr "Tên"
+#: plugins/personal/posix/class_posixAccount.inc:1317
+msgid "Shadow min"
+msgstr "Shadow min"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
-#: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:976
-#: plugins/admin/ogroups/generic.tpl:26
-#: plugins/admin/groups/userSelect/user-list.tpl:13
-#: plugins/admin/groups/generic.tpl:39
-#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:13
-#: plugins/admin/groups/group-list.tpl:13
-#: plugins/admin/groups/class_group.inc:1185
-#: plugins/admin/users/user-list.tpl:13
-#: plugins/admin/departments/locality.tpl:28
-#: plugins/admin/departments/generic.tpl:39
-#: plugins/admin/departments/class_domain.inc:92
-#: plugins/admin/departments/class_localityGeneric.inc:94
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/admin/departments/class_countryGeneric.inc:94
-#: plugins/admin/departments/class_dcObject.inc:93
-#: plugins/admin/departments/domain.tpl:28
-#: plugins/admin/departments/country.tpl:28
-#: plugins/admin/departments/dcObject.tpl:28
-#: plugins/admin/departments/class_department.inc:668
-#: plugins/admin/departments/dep-list.tpl:13
-#: plugins/admin/departments/organization.tpl:39
-#: plugins/admin/acl/acl-list.tpl:13 plugins/admin/acl/class_aclRole.inc:734
-#: plugins/admin/acl/acl_role.tpl:27
-#: plugins/personal/generic/class_user.inc:1688
-#: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/posix/trustSelect/trust-list.tpl:13
-#: plugins/personal/posix/groupSelect/group-list.tpl:13
-#: setup/setup_ldap.tpl:55
-msgid "Base"
-msgstr "Cơ sở"
+#: plugins/personal/posix/class_posixAccount.inc:1318
+msgid "Shadow max"
+msgstr "Shadow max"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:3
-#: plugins/admin/ogroups/ogroup-filter.tpl:3
-#: plugins/admin/groups/userSelect/user-filter.tpl:3
-#: plugins/admin/groups/group-filter.tpl:3
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:3
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:3
-#: plugins/admin/users/user-filter.tpl:3
-#: plugins/admin/departments/dep-filter.tpl:3
-#: plugins/admin/acl/acl-filter.tpl:3
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:3
-#: plugins/personal/posix/groupSelect/group-filter.tpl:3
-#, fuzzy
-msgid "Filter"
-msgstr "Các bộ lọc"
+#: plugins/personal/posix/class_posixAccount.inc:1319
+msgid "Shadow warning"
+msgstr "Cảnh báo Shadow"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:11
-#, fuzzy
-msgid "Show department"
-msgstr "Bộ phận"
+#: plugins/personal/posix/class_posixAccount.inc:1320
+msgid "Shadow inactive"
+msgstr "Shadow không hoạt động"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:12
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:11
-#, fuzzy
-msgid "Show users"
-msgstr "các server"
+#: plugins/personal/posix/class_posixAccount.inc:1321
+msgid "Shadow expire"
+msgstr "Shadow hết hạn"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:12
-#, fuzzy
-msgid "Show groups"
-msgstr "các nhóm mail"
+#: plugins/personal/posix/class_posixAccount.inc:1322
+msgid "Public SSH key"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:15
-#, fuzzy
-msgid "Show server"
-msgstr "các server"
+#: plugins/personal/posix/class_posixAccount.inc:1323
+msgid "System trust model"
+msgstr "Mô hình ủy thác hệ thống"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:16
-#, fuzzy
-msgid "Show workstation"
-msgstr "máy trạm"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr "Đã vô hiệu"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:17
-#, fuzzy
-msgid "Show terminal"
-msgstr "các thiết bị cuối"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr "Truy cập hoàn toàn"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:19
-#, fuzzy
-msgid "Show printer"
-msgstr "máy in"
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr "Cho phép truy cập đến các máy chủ này"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr "Ủy thác hệ thống"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
+msgid "Trust mode"
+msgstr "Chế độ ủy thác"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:20
+#: plugins/personal/password/password.tpl:10
 #, fuzzy
-msgid "Show phone"
-msgstr "Hiển thị các thay đổi"
+msgid "Your Password has expired. Please choose a new password."
+msgstr "Mật khẩu của bạn đã hết hạn. Xin hãy chọn một mật khẩu mới!"
+
+#: plugins/personal/password/class_password.inc:27
+msgid "Change user password"
+msgstr "Thay đổi mật khẩu người dùng"
 
-#: plugins/admin/ogroups/remove.tpl:6
+#: plugins/personal/password/class_password.inc:156
 msgid ""
-"Please double check if you really want to do this since there is no way for "
-"GOsa to get your data back."
+"The password you've entered as your current password doesn't match the real "
+"one."
 msgstr ""
-"Xin hãy kiểm tra hai lần nếu bạn thực sự muốn làm việc này bởi sẽ không có "
-"cách nào để GOsa lấy lại dữ liệu cho bạn."
+"Mật khẩu bạn vừa đưa vào làm mật khẩu hiện tại không giống mật khẩu thật."
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:972
-msgid "Object groups"
-msgstr "Tất cả các nhóm đối tượng"
+#: plugins/personal/password/class_password.inc:159
+msgid "You have no permission to change your password."
+msgstr "Bạn không có quyền thay đổi mật khẩu của bạn."
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:26
-msgid "Manage object groups"
-msgstr "Quản lý các nhóm đối tượng "
+#: plugins/personal/password/class_password.inc:223
+msgid "User password"
+msgstr "Mật khẩu người dùng"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:115
-#: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:204
-msgid "Infrastructure error"
-msgstr "Lỗi cơ sở hạ tầng"
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:182
-#, fuzzy
-msgid "Templates"
-msgstr "Mẫu"
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:190
-msgid "Windows Install"
-msgstr "Cài đặt window"
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:238
-msgid "You cannot combine terminals and workstations in one object group!"
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
 msgstr ""
-"Bạn không thể kết hợp các thiết bị cuối và máy trạm vào trong một nhóm đối "
-"tượng!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:354
-#: plugins/admin/users/class_userManagement.inc:463
-#: plugins/admin/users/class_userManagement.inc:497
-#: plugins/admin/users/class_userManagement.inc:528
-msgid "none"
-msgstr "không có"
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr "Các giấy phép"
 
-#: plugins/admin/ogroups/class_ogroup.inc:356
-msgid "too many different objects!"
-msgstr "có quá nhiều các đối tượng khác nhau!"
+#: plugins/personal/generic/generic_certs.tpl:5
+#, fuzzy
+msgid "The users standard certificate"
+msgstr "Giấy phép chuẩn"
 
-#: plugins/admin/ogroups/class_ogroup.inc:358
-msgid "users"
-msgstr "người dùng"
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr "Giấy phép chuẩn"
 
-#: plugins/admin/ogroups/class_ogroup.inc:359
-msgid "groups"
-msgstr "các nhóm"
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr "Xóa bỏ"
 
-#: plugins/admin/ogroups/class_ogroup.inc:360
-msgid "applications"
-msgstr "các ứng dụng"
+#: plugins/personal/generic/generic_certs.tpl:31
+#, fuzzy
+msgid "The users S/MIME certificate"
+msgstr "Giấy phép S/MIME"
 
-#: plugins/admin/ogroups/class_ogroup.inc:361
-msgid "departments"
-msgstr "các bộ phận"
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr "Giấy phép S/MIME"
 
-#: plugins/admin/ogroups/class_ogroup.inc:362
-msgid "servers"
-msgstr "các server"
+#: plugins/personal/generic/generic_certs.tpl:57
+#, fuzzy
+msgid "The users PKCS12 certificate"
+msgstr "Giấy phép PKCS12"
 
-#: plugins/admin/ogroups/class_ogroup.inc:363
-msgid "workstations"
-msgstr "máy trạm"
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr "Giấy phép PKCS12"
 
-#: plugins/admin/ogroups/class_ogroup.inc:364
-msgid "winstations"
-msgstr "máy trạm dùng win "
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr "Số seri chứng nhận"
 
-#: plugins/admin/ogroups/class_ogroup.inc:365
-msgid "terminals"
-msgstr "các thiết bị cuối"
+#: plugins/personal/generic/paste_generic.tpl:3
+#, fuzzy
+msgid "Paste user"
+msgstr "Paste"
 
-#: plugins/admin/ogroups/class_ogroup.inc:366
-msgid "phones"
-msgstr "điện thoại"
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr "Thông tin cá nhân"
 
-#: plugins/admin/ogroups/class_ogroup.inc:367
-msgid "printers"
-msgstr "các máy in"
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
+msgid "Last name"
+msgstr "Họ"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-#: setup/setup_config2.tpl:143
-msgid "disabled"
-msgstr "Đã vô hiệu"
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
+msgid "First name"
+msgstr "Tên"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-msgid "full access"
-msgstr "Truy cập hoàn toàn"
+#: plugins/personal/generic/paste_generic.tpl:24
+msgid "Clear password"
+msgstr "Bỏ mật khẩu"
 
-#: plugins/admin/ogroups/class_ogroup.inc:413
-#: plugins/admin/groups/class_group.inc:434
-#: plugins/personal/posix/class_posixAccount.inc:574
-msgid "allow access to these hosts"
-msgstr "Cho phép truy cập đến các máy chủ này"
+#: plugins/personal/generic/paste_generic.tpl:25
+msgid "Set new password"
+msgstr "Đặt mật khẩu mới"
 
-#: plugins/admin/ogroups/class_ogroup.inc:601
-msgid "Non existing dn:"
-msgstr "dn không tồn tại:"
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
+#, fuzzy
+msgid "The users picture"
+msgstr "Ảnh của người sử dụng"
 
-#: plugins/admin/ogroups/class_ogroup.inc:758
-#, php-format
-msgid ""
-"These systems are already configured by other object groups and cannot be "
-"added:"
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
+msgstr "Xóa ảnh "
+
+#: plugins/personal/generic/class_user.inc:38
+msgid "Edit organizational user settings"
+msgstr "Hiệu chỉnh thiết lập tổ chức của người sử dụng "
+
+#: plugins/personal/generic/class_user.inc:297
+msgid "Please add a single IP address or a network/net mask combination!"
 msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:792
-msgid "You can combine two different object types at maximum, only!"
-msgstr "Bạn chỉ có thể kết hợp hai đối tượng khác nhau tại mức cực đại!"
+#: plugins/personal/generic/class_user.inc:339
+msgid "female"
+msgstr "Nữ"
 
-#: plugins/admin/ogroups/class_ogroup.inc:967
-msgid "Object group generic"
-msgstr "Nhóm đối tượng chung"
+#: plugins/personal/generic/class_user.inc:339
+msgid "male"
+msgstr "Nam"
 
-#: plugins/admin/ogroups/class_ogroup.inc:978
+#: plugins/personal/generic/class_user.inc:395
 #, fuzzy
-msgid "Sytem trust"
-msgstr "Ủy thác hệ thống"
+msgid "Password configuration"
+msgstr "Tải cấu hình về"
 
-#: plugins/admin/ogroups/class_ogroup.inc:979
-msgid "Member"
-msgstr "Thành viên"
+#: plugins/personal/generic/class_user.inc:429
+msgid "Cannot upload file!"
+msgstr "Không thể tải file lên!"
 
-#: plugins/admin/ogroups/generic.tpl:7
-#: plugins/admin/ogroups/paste_generic.tpl:4
-#: plugins/admin/groups/generic.tpl:11
-#: plugins/admin/groups/paste_generic.tpl:5
-msgid "Group name"
-msgstr "Tên nhóm"
+#: plugins/personal/generic/class_user.inc:522
+msgid "Serial number"
+msgstr "Số seri"
 
-#: plugins/admin/ogroups/generic.tpl:10
-msgid "Name of the group"
-msgstr "Tên của nhóm"
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
+msgid "User picture"
+msgstr "Ảnh của người sử dụng"
 
-#: plugins/admin/ogroups/generic.tpl:18 plugins/admin/groups/generic.tpl:28
-msgid "Descriptive text for this group"
-msgstr "Văn bản mô tả cho nhóm này"
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
+msgstr ""
 
-#: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1191
-#: plugins/personal/posix/generic.tpl:139
-msgid "System trust"
-msgstr "Ủy thác hệ thống"
+#: plugins/personal/generic/class_user.inc:579
+#, php-format
+msgid "Certificate is valid from %s to %s and is currently %s."
+msgstr "Giấy chứng nhận có hiệu lực từ %s đến %s và hiện tại đang là %s."
 
-#: plugins/admin/ogroups/generic.tpl:37 plugins/admin/groups/generic.tpl:160
-#: plugins/admin/groups/generic.tpl:194 plugins/personal/posix/generic.tpl:141
-#: plugins/personal/posix/generic.tpl:169
-msgid "Trust mode"
-msgstr "Chế độ ủy thác"
+#: plugins/personal/generic/class_user.inc:582
+msgid "valid"
+msgstr "hợp lệ"
 
-#: plugins/admin/ogroups/generic.tpl:65
-msgid "Member objects"
-msgstr "Các đối tượng thành viên"
+#: plugins/personal/generic/class_user.inc:583
+msgid "invalid"
+msgstr "không hợp lệ"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:133
-msgid "Phone queue"
-msgstr "Các hàng phone"
+#: plugins/personal/generic/class_user.inc:588
+msgid "No certificate installed"
+msgstr "Không có giấy chứng nhận nào được cài đặt"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:160
-msgid "Systems"
-msgstr "Các hệ thống"
+#: plugins/personal/generic/class_user.inc:614
+msgid "The selected password method is no longer available."
+msgstr "Phương pháp lập mật khẩu được chọn này không còn ở đây."
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:171
-#: plugins/admin/ogroups/tabs_ogroups.inc:194
-msgid "Startup"
-msgstr "Khởi động"
+#: plugins/personal/generic/class_user.inc:1051
+msgid ""
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:182
-#: plugins/admin/ogroups/tabs_ogroups.inc:203
-msgid "Devices"
-msgstr "Các thiết bị"
+#: plugins/personal/generic/class_user.inc:1177
+msgid "Cannot build RDN: no + allowed to build sub RDN!"
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:213
-msgid "FAI summary"
-msgstr "Tóm tắt FAI"
+#: plugins/personal/generic/class_user.inc:1184
+msgid "Cannot build RDN: attribute is not defined!"
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:222
-#: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:890
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
-msgid "Environment"
-msgstr "Môi trường"
+#: plugins/personal/generic/class_user.inc:1202
+msgid "Cannot build RDN: invalid attribute parameters!"
+msgstr ""
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:241
-msgid "Applications"
-msgstr "Các ứng dụng"
+#: plugins/personal/generic/class_user.inc:1273
+msgid "The selected password method requires initial configuration!"
+msgstr "Phương pháp lập mật khẩu được chọn yêu cầu cấu hình ban đầu!"
 
-#: plugins/admin/ogroups/paste_generic.tpl:7
-msgid "Please enter the new object group name"
-msgstr "Xin mời nhập tên nhóm đối tượng mới vào"
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
+msgid "Homepage"
+msgstr "Trang chủ"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:11
-msgid "user groups"
-msgstr "các nhóm người dùng"
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
+msgstr "Số điện thoại"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:12
-msgid "nested groups"
-msgstr "các nhóm làm tổ"
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
+msgstr "Số fax"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:13
-msgid "application groups"
-msgstr "các nhóm ứng dụng"
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
+msgid "Mobile"
+msgstr "Điện thoại di động"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:14
-msgid "department groups"
-msgstr "các nhóm bộ phận"
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
+msgid "Pager"
+msgstr "Máy nhắn tin"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:15
-msgid "server groups"
-msgstr "các nhóm server"
+#: plugins/personal/generic/class_user.inc:1483
+msgid "Cannot open certificate!"
+msgstr "Không mở được giấy chứng nhận!"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:16
-msgid "workstation groups"
-msgstr "các nhóm máy trạm"
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
+msgid "Unit"
+msgstr "Đơn vị"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:17
-msgid "windows workstation groups"
-msgstr "các nhóm máy trạm windows"
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
+msgid "House identifier"
+msgstr "Mô tả căn nhà"
+
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
+msgid "Vocation"
+msgstr "Nghề nghiệp"
+
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
+msgid "Last delivery"
+msgstr "Lần cung cấp cuối"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:18
-msgid "terminal groups"
-msgstr "các nhóm thiết bị cuối"
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
+msgid "Person locality"
+msgstr "Địa phương của người dùng"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:19
-msgid "printer groups"
-msgstr "các nhóm máy in"
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
+msgid "Unit description"
+msgstr "Mô tả đơn vị "
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:20
-msgid "phone groups"
-msgstr "các nhóm điện thoại"
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
+msgid "Subject area"
+msgstr "Lĩnh vực chuyên môn"
 
-#: plugins/admin/ogroups/ogroup-list.xml:11
-msgid "List of object groups"
-msgstr "Danh sách các nhóm đối tượng"
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
+msgid "Functional title"
+msgstr "Danh xưng chức năng"
 
-#: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:74 plugins/admin/users/user-list.xml:73
-#: plugins/admin/departments/locality.tpl:8
-#: plugins/admin/departments/generic.tpl:7
-#: plugins/admin/departments/domain.tpl:8
-#: plugins/admin/departments/country.tpl:8
-#: plugins/admin/departments/dcObject.tpl:8
-#: plugins/admin/departments/organization.tpl:7
-msgid "Properties"
-msgstr "Properties"
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
+msgstr "Vai trò"
 
-#: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:90 plugins/admin/users/user-list.xml:89
-#: plugins/admin/departments/dep-list.xml:98 plugins/admin/acl/acl-list.xml:76
-#: setup/class_setupStep_Migrate.inc:1036
-#: setup/class_setupStep_Migrate.inc:1052
-msgid "Create"
-msgstr "Tạo "
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
+msgid "Postal code"
+msgstr "Mã bưu điện"
 
-#: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-list.xml:115
-#: plugins/admin/users/user-list.xml:121
-#: plugins/admin/departments/dep-list.xml:160
-#: plugins/admin/departments/dep-list.xml:181
-#: plugins/admin/acl/acl-list.xml:95 plugins/admin/acl/acl-list.xml:144
-#: plugins/personal/generic/generic_certs.tpl:21
-#: plugins/personal/generic/generic_certs.tpl:45
-#: plugins/personal/generic/generic_certs.tpl:69
-#: setup/class_setupStep_Migrate.inc:2870
-msgid "Remove"
-msgstr "Xóa bỏ"
+#: plugins/personal/generic/class_user.inc:1671
+msgid "Generic user settings"
+msgstr "Thiết lập chung của người dùng"
 
-#: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:123
-#: plugins/admin/users/user-list.xml:156
-msgid "Send message"
+#: plugins/personal/generic/class_user.inc:1692
+msgid ""
+"Pattern for the generation of user DNs. Please read the FAQ for details."
 msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:142
-#, fuzzy
-msgid "Edit object group"
-msgstr "Nhóm đối tượng"
-
-#: plugins/admin/ogroups/ogroup-list.xml:155
+#: plugins/personal/generic/class_user.inc:1706
 #, fuzzy
-msgid "Remove object group"
-msgstr "các nhóm server"
+msgid "Allow definition of custom filters"
+msgstr "Viết file cấu hình"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:6
-msgid "Select objects to add"
-msgstr "Chọn nhóm đối tượng để thêm vào"
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
+msgid "Sex"
+msgstr "Giới tính"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:20
-#: plugins/admin/groups/trust_machines.tpl:19
-#: plugins/personal/posix/posix_groups.tpl:21
-msgid "Filters"
-msgstr "Các bộ lọc"
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
+msgid "Preferred language"
+msgstr "Ngôn ngữ muốn sử dụng"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:36
-msgid "Display objects of department"
-msgstr "Hiển thị nhóm đối tượng của các bộ phận"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:37
-#: plugins/admin/ogroups/trust_machines.tpl:27
-#: plugins/admin/groups/trust_machines.tpl:26
-#: plugins/personal/posix/posix_groups.tpl:35
-#: plugins/personal/posix/trust_machines.tpl:27
-msgid "Choose the department the search will be based on"
-msgstr "Chọn bộ phận mà việc tìm kiếm sẽ tiến hành trên đó "
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:40
-msgid "Display objects matching"
-msgstr "Hiển thị việc khớp các đối tượng"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:41
-msgid "Regular expression for matching object names"
-msgstr "Hiển thị thông thường cho việc khớp tên các đối tượng"
-
-#: plugins/admin/ogroups/trust_machines.tpl:6
-#: plugins/admin/groups/trust_machines.tpl:6
-#: plugins/personal/posix/trust_machines.tpl:6
-msgid "Select systems to add"
-msgstr "Chọn hệ thống để thêm vào"
-
-#: plugins/admin/ogroups/trust_machines.tpl:26
-#: plugins/admin/groups/trust_machines.tpl:25
-#: plugins/personal/posix/trust_machines.tpl:26
-msgid "Display systems of department"
-msgstr "Hiển thị các hệ thống của bộ phận"
-
-#: plugins/admin/ogroups/trust_machines.tpl:30
-#: plugins/admin/groups/trust_machines.tpl:29
-#: plugins/personal/posix/trust_machines.tpl:30
-msgid "Display systems matching"
-msgstr "Hiển thị việc khớp các hệ thống"
-
-#: plugins/admin/ogroups/trust_machines.tpl:31
-#: plugins/admin/groups/trust_machines.tpl:30
-#: plugins/personal/posix/trust_machines.tpl:31
-msgid "Regular expression for matching addresses"
-msgstr "Biểu thức thông thường cho việc khớp các địa chỉ"
-
-#: plugins/admin/groups/remove.tpl:6
-msgid ""
-"This may be a primary user group. Please double check if you really want to "
-"do this since there is no way for GOsa to get your data back."
-msgstr ""
-"Đây có thể là một nhóm người dùng sơ cấp. Xin hãy kiểm tra lại hai lần nếu "
-"bạn thực sự muốn làm việc này bởi sẽ không có cách nào để GOsa lấy lại dữ "
-"liệu cho bạn."
+#: plugins/personal/generic/class_user.inc:1718
+#, fuzzy
+msgid "Login restrictions"
+msgstr "Các hạn chế mật khẩu"
 
-#: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:541
-#: plugins/admin/users/user-list.xml:57
-#: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1375
-#: plugins/personal/generic/class_user.inc:1680
-#: plugins/personal/generic/class_user.inc:1831
-msgid "Given name"
-msgstr "Tên thật"
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
+msgstr "Bộ phận"
 
-#: plugins/admin/groups/userSelect/user-list.xml:48
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
-#: plugins/admin/users/user-list.xml:49
-#: plugins/personal/generic/class_user.inc:1679
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
+#: plugins/admin/departments/class_domain.inc:93
+#: plugins/admin/departments/class_organizationGeneric.inc:127
+#: plugins/admin/departments/generic.tpl:51
+#: plugins/admin/departments/locality.tpl:39
+#: plugins/admin/departments/class_localityGeneric.inc:93
+#: plugins/admin/departments/class_dcObject.inc:92
+#: plugins/admin/departments/domain.tpl:39
 #, fuzzy
-msgid "Surname"
-msgstr "Họ "
-
-#: plugins/admin/groups/generic.tpl:14 plugins/personal/generic/generic.tpl:52
-#: plugins/personal/generic/generic.tpl:73
-#: plugins/personal/generic/generic.tpl:89
-msgid "Multiple edit"
-msgstr "Hiệu chỉnh đa dạng"
+msgid "Manager"
+msgstr "Quản lý người dùng"
 
-#: plugins/admin/groups/generic.tpl:17
-#: plugins/admin/groups/paste_generic.tpl:8
-msgid "Posix name of the group"
-msgstr "Tên Posix của nhóm"
+#: plugins/personal/generic/class_user.inc:1727
+msgid "Room number"
+msgstr "Số phòng"
 
-#: plugins/admin/groups/generic.tpl:59
-#: plugins/admin/groups/paste_generic.tpl:13
-msgid "Normally IDs are autogenerated, select to specify manually"
-msgstr ""
-"Thường thì các ID sẽ được tự động sinh ra, hãy lựa chọn để xác định thủ "
-"công  "
+#: plugins/personal/generic/class_user.inc:1728
+#, fuzzy
+msgid "Telephone number"
+msgstr "Số điện thoại"
 
-#: plugins/admin/groups/generic.tpl:62
-#: plugins/admin/groups/paste_generic.tpl:15
-msgid "Force GID"
-msgstr "Áp dụng GID"
+#: plugins/personal/generic/class_user.inc:1729
+msgid "Pager number"
+msgstr "Số máy nhắn tin"
 
-#: plugins/admin/groups/generic.tpl:65
-#: plugins/admin/groups/paste_generic.tpl:18
-msgid "Forced ID number"
-msgstr "Số ID được áp dụng"
+#: plugins/personal/generic/class_user.inc:1730
+msgid "Mobile number"
+msgstr "Số di động"
 
-#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
-msgid "Select to create a samba conform group"
-msgstr "Chọn để tạo ra một nhóm thích hợp với samba"
+#: plugins/personal/generic/class_user.inc:1731
+msgid "Fax number"
+msgstr "Số fax"
 
-#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
-msgid "in domain"
-msgstr "trong miền"
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
+#: plugins/admin/departments/class_organizationGeneric.inc:129
+#: plugins/admin/departments/generic.tpl:87
+msgid "State"
+msgstr "Bang"
 
-#: plugins/admin/groups/generic.tpl:131
-msgid "Members are in a phone pickup group"
-msgstr "Các thành viên trong một nhóm nhấc điện thoại"
+#: plugins/personal/generic/class_user.inc:1735
+#: plugins/personal/generic/generic.tpl:183
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+msgid "Postal address"
+msgstr "Địa chỉ theo bưu điện"
 
-#: plugins/admin/groups/generic.tpl:146
-msgid "Members are in a nagios group"
-msgstr "Các thành viên trong một nhóm Nargios"
+#: plugins/personal/generic/class_user.inc:1740
+#, fuzzy
+msgid "User password method"
+msgstr "Phương pháp lập mật khẩu"
 
-#: plugins/admin/groups/generic.tpl:236
-msgid "Group members"
-msgstr "Các thành viên nhóm"
+#: plugins/personal/generic/class_user.inc:1741
+msgid "User certificates"
+msgstr "Giấy phép của người dùng"
 
-#: plugins/admin/groups/generic.tpl:243
-msgid "In all groups"
-msgstr "Trong tất cả các nhóm"
+#: plugins/personal/generic/class_user.inc:1949
+#, fuzzy
+msgid "Entries differ"
+msgstr "các entry cho mỗi trang"
 
-#: plugins/admin/groups/generic.tpl:246
-msgid "Not in all groups"
-msgstr "Không ở trong tất cả các nhóm"
+#: plugins/personal/generic/generic.tpl:21
+msgid "Change picture"
+msgstr "Thay đổi hình ảnh"
 
-#: plugins/admin/groups/group-filter.tpl:11
-#: plugins/personal/posix/groupSelect/group-filter.tpl:11
-#, fuzzy
-msgid "Show primary groups"
-msgstr "các nhóm sơ cấp"
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
+msgstr "Hiệu chỉnh đa dạng"
 
-#: plugins/admin/groups/group-filter.tpl:12
-#: plugins/personal/posix/groupSelect/group-filter.tpl:12
-#, fuzzy
-msgid "Show samba groups"
-msgstr "các nhóm samba"
+#: plugins/personal/generic/generic.tpl:83
+msgid "Template name"
+msgstr "Tên Mẫu"
 
-#: plugins/admin/groups/group-filter.tpl:13
-#: plugins/personal/posix/groupSelect/group-filter.tpl:13
-#, fuzzy
-msgid "Show mail groups"
-msgstr "các nhóm mail"
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
+msgid "Address"
+msgstr "Địa chỉ"
 
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:79
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:85
-#: setup/setup_ldap.tpl:78
-msgid "Select user"
-msgstr "Chọn người dùng"
+#: plugins/personal/generic/generic.tpl:193
+msgid "Private phone"
+msgstr "Số điện thoại riêng"
 
-#: plugins/admin/groups/paste_generic.tpl:1
-msgid "Group settings"
-msgstr "Thiết lập nhóm"
+#: plugins/personal/generic/generic.tpl:209
+msgid "Password storage"
+msgstr "Kho lưu mật khẩu"
 
-#: plugins/admin/groups/group-list.xml:11
-msgid "List of groups"
-msgstr "Danh sách các nhóm"
+#: plugins/personal/generic/generic.tpl:229
+msgid "Edit certificates"
+msgstr "Hiệu chỉnh các giấy phép"
 
-#: plugins/admin/groups/group-list.xml:23
-#, fuzzy
-msgid "Group submenu entry"
-msgstr "Thành viên nhóm"
+#: plugins/personal/generic/generic.tpl:241
+msgid "Restrict login to"
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:31
-#, fuzzy
-msgid "Group menu entry"
-msgstr "Thành viên nhóm"
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
+msgid "IP or network"
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:155
-#, fuzzy
-msgid "Edit group"
-msgstr "các nhóm máy in"
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "Organizational information"
+msgstr "Thông tin về tổ chức"
 
-#: plugins/admin/groups/group-list.xml:168
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
 #, fuzzy
-msgid "Remove group"
-msgstr "các nhóm server"
-
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:1358
-msgid "Cannot find group SID in your configuration!"
-msgstr "Không thể tìm được nhóm SID trong cấu hình của bạn!"
+msgid "part"
+msgstr "Smarty"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Samba group"
-msgstr "Nhóm Samba"
+#: plugins/personal/generic/generic.tpl:314
+msgid "Department No."
+msgstr "Số phòng ban"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain admins"
-msgstr "Admin miền"
+#: plugins/personal/generic/generic.tpl:322
+msgid "Employee No."
+msgstr "Số nhân viên"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain users"
-msgstr "Người dùng miền"
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
+msgid "Room No."
+msgstr "Số phòng"
 
-#: plugins/admin/groups/class_group.inc:401
-msgid "Domain guests"
-msgstr "Khách miền"
+#: plugins/personal/generic/generic.tpl:580
+msgid "Please use the phone tab"
+msgstr "Xin hãy sử dụng Phone Tab"
 
-#: plugins/admin/groups/class_group.inc:406
-#, php-format
-msgid "Special group (%d)"
-msgstr "Nhóm đặc biệt (%d)"
+#: plugins/addons/dyngroup/dyngroup.tpl:1
+#, fuzzy
+msgid "List of dynamic rules"
+msgstr "Danh sách các ads"
 
-#: plugins/admin/groups/class_group.inc:540
-#, php-format
-msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:546
-#, php-format
-msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
-msgstr ""
+#: plugins/addons/dyngroup/dyngroup.tpl:6
+#, fuzzy
+msgid "Scope"
+msgstr "Copy"
 
-#: plugins/admin/groups/class_group.inc:624
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
 #, fuzzy
-msgid "! unknown UID"
-msgstr "! không nhận ra id này"
+msgid "Attribute"
+msgstr "Thuộc tính đăng nhập"
 
-#: plugins/admin/groups/class_group.inc:667
-#, php-format
-msgid "Search returned too many results. Not displaying more than %s entries!"
-msgstr ""
-"Việc tìm kiếm có quá nhiều kết quả. Không hiển thị nhiều hơn %s mục vào!"
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
+#, fuzzy
+msgid "Filter"
+msgstr "Các bộ lọc"
 
-#: plugins/admin/groups/class_group.inc:894
-#, php-format
-msgid "Cannot find any SID for '%s'!"
-msgstr "Không thể tìm thấy một SID nào cho '%s'!"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:899
-#, php-format
-msgid "Cannot find any RIDBASE for '%s'!"
-msgstr "Không thể tìm thấy một RIDBASE nào cho '%s'!"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:994
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
 #, php-format
-msgid "The gidNumber '%s' is already in use by %s!"
+msgid "The given filter '%s' for entry %s seems to be invalid!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1108
-#: plugins/admin/groups/class_group.inc:1187
-#: plugins/personal/posix/class_posixAccount.inc:1045
-#: plugins/personal/posix/class_posixAccount.inc:1048
-#: plugins/personal/posix/generic.tpl:74
-#: plugins/personal/posix/paste_generic.tpl:45
-msgid "GID"
-msgstr "Số ID của nhóm"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
+#, fuzzy
+msgid "Dynamic object"
+msgstr "Đối tượng GOsa"
 
-#: plugins/admin/groups/class_group.inc:1175
-msgid "Generic group settings"
-msgstr "Thiết lập nhóm chung"
+#: plugins/addons/propertyEditor/property-filter.xml:15
+#, fuzzy
+msgid "Effective properties"
+msgstr "Hiệu chỉnh các tính năng chung"
 
-#: plugins/admin/groups/class_group.inc:1189
-msgid "Samba group type"
-msgstr "Loại nhóm Samba"
+#: plugins/addons/propertyEditor/property-filter.xml:29
+#, fuzzy
+msgid "Modified properties"
+msgstr "Hiệu chỉnh các tính năng chung"
 
-#: plugins/admin/groups/class_group.inc:1190
-msgid "Samba domain name"
-msgstr "Tên miền Samba"
+#: plugins/addons/propertyEditor/property-filter.xml:43
+#, fuzzy
+msgid "All properties"
+msgstr "Hiệu chỉnh các tính năng chung"
 
-#: plugins/admin/groups/class_group.inc:1192
-msgid "Phone pickup group"
-msgstr "Nhóm nhấc điện thoại"
+#: plugins/addons/propertyEditor/property-filter.xml:57
+#, fuzzy
+msgid "LDAP properties"
+msgstr "Properties"
 
-#: plugins/admin/groups/class_group.inc:1193
-msgid "Nagios group"
-msgstr "Nhóm phần mềm Nagios"
+#: plugins/addons/propertyEditor/property-filter.xml:71
+#, fuzzy
+msgid "Search for property groups"
+msgstr "các nhóm sơ cấp"
 
-#: plugins/admin/groups/class_group.inc:1195
-msgid "Group member"
-msgstr "Thành viên nhóm"
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
+msgstr ""
 
-#: plugins/admin/groups/class_groupManagement.inc:26
-msgid "Group administration"
-msgstr "Quản trị nhóm"
+#: plugins/addons/propertyEditor/migrate.tpl:3
+#, fuzzy
+msgid "Migration steps left"
+msgstr "Lỗi di trú"
+
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
+#, fuzzy, php-format
+msgid "Migration of property '%s'"
+msgstr "Lỗi di trú"
 
-#: plugins/admin/groups/class_groupManagement.inc:156
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:62
-msgid "Posix"
-msgstr "Posix"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
+#, fuzzy, php-format
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
+msgstr "Đã tìm thấy %s nhóm bên ngoài cây được cấu hình '%s'."
 
-#: plugins/admin/groups/class_groupManagement.inc:157
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:63
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
 #, fuzzy
-msgid "Edit posix properties"
-msgstr "Hiệu chỉnh các tính năng điện thoại"
+msgid "Objects that will be added"
+msgstr "Đối tượng này sẽ bị xóa!"
 
-#: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:879
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
-msgid "Edit mail properties"
-msgstr "Hiệu chỉnh các tính năng mail"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+#, fuzzy
+msgid "Objects that will be moved"
+msgstr "Máy trạm Win sẽ được chuyển từ"
 
-#: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:883
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
-msgid "Edit samba properties"
-msgstr "Hiệu chỉnh các tính năng samba"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
+#, fuzzy, php-format
+msgid "Moving object '%s' to '%s'"
+msgstr "Chuyển từ '%s' đến '%s'"
 
-#: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:899
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
-msgid "Edit phone properties"
-msgstr "Hiệu chỉnh các tính năng điện thoại"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
+#, fuzzy, php-format
+msgid "Migration failed for object %s: DN already exists!"
+msgstr ""
+"Việc thêm một người dùng quản trị đã thất bại: đối tượng '%s' đã có rồi!"
 
-#: plugins/admin/groups/class_groupManagement.inc:188
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:94
-msgid "Menu"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
+#, fuzzy, php-format
+msgid "Migration failed for object %s: please check if it already exists!"
 msgstr ""
+"Việc thêm một người dùng quản trị đã thất bại: đối tượng '%s' đã có rồi!"
 
-#: plugins/admin/groups/class_groupManagement.inc:189
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:95
+#: plugins/addons/propertyEditor/property-list.tpl:3
 #, fuzzy
-msgid "Edit start menu properties"
-msgstr "Hiệu chỉnh các tính năng samba"
+msgid "Warning message"
+msgstr "Cảnh báo"
 
-#: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:891
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
-msgid "Edit environment properties"
-msgstr "Hiệu chỉnh các tính năng môi trường"
+#: plugins/addons/propertyEditor/property-list.tpl:9
+msgid ""
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
+msgstr ""
 
-#: plugins/admin/users/remove.tpl:6 plugins/admin/acl/remove.tpl:6
+#: plugins/addons/propertyEditor/property-list.tpl:10
 msgid ""
-"This includes all account data, system access rules, imap settings, etc. for "
-"this user. Please double check if your really want to do this since there is "
-"no way for GOsa to get your data back."
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
 msgstr ""
-"Ở đây bao gồm tất cả các dữ liệu tài khoản, quy định về truy cập hệ thống, "
-"cài đặt imap, vân vân cho người dùng này. Xin hãy kiểm tra hai lần nếu bạn "
-"thực sự muốn làm điều này bởi sẽ không có cách nào để GOsa phục hồi dữ liệu "
-"cho bạn."
 
-#: plugins/admin/users/password.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:14
 msgid ""
-"To change the user password use the fields below. The changes take effect "
-"immediately. Please memorize the new password, because the user wouldn't be "
-"able to login without it."
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
 msgstr ""
-"Để thay đổi mật khẩu người dùng sử dụng các trường dưới đây. Việc thay đổi "
-"sẽ có hiệu lực ngay lập tức. Hãy nhớ mật mã mới bởi người dùng sẽ không thể "
-"đăng nhập nếu thiếu nó."
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/generic/password.tpl:8
-#: plugins/personal/password/password.tpl:8
+#: plugins/addons/propertyEditor/property-list.tpl:22
 msgid ""
-"Changing the password affects your authentification on mail, proxy, samba "
-"and unix services."
+"I understand that there are certain risks, but I want to modify properties!"
 msgstr ""
-"Thay đổi mật khẩu có thể ảnh hưởng đến sự xác nhận của bạn lên các dịch vụ "
-"mail, ủy quyền (proxy), samba và unix."
 
-#: plugins/admin/users/password.tpl:21 plugins/admin/users/password.tpl:57
-#: plugins/personal/generic/password.tpl:27
-#: plugins/personal/generic/password.tpl:70
-#: plugins/personal/password/password.tpl:32
-#: plugins/personal/password/password.tpl:75
-msgid "Repeat new password"
-msgstr "Lặp lại mật khẩu mới"
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
+msgstr ""
 
-#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
-msgid "Strength"
-msgstr "Cường độ"
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
+msgstr ""
 
-#: plugins/admin/users/password.tpl:35
-#, fuzzy
-msgid "Password input dialog"
-msgstr "Độ dài tối thiểu của mật khẩu"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
+msgid "Command verifier"
+msgstr ""
 
-#: plugins/admin/users/password.tpl:39
-#: plugins/personal/generic/password.tpl:51
-#: plugins/personal/password/password.tpl:56
-#, fuzzy
-msgid "Use proposal"
-msgstr "các nhóm người dùng"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
+msgid ""
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
+msgstr ""
 
-#: plugins/admin/users/password.tpl:43
-#: plugins/personal/generic/password.tpl:55
-#: plugins/personal/password/password.tpl:60 setup/setup_migrate.tpl:470
-#: setup/setup_migrate.tpl:513 setup/setup_migrate.tpl:557
-#, fuzzy
-msgid "Refresh"
-msgstr "Các tham chiếu"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
+msgid ""
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
+msgstr ""
 
-#: plugins/admin/users/password.tpl:49
-#: plugins/personal/generic/password.tpl:61
-#: plugins/personal/password/password.tpl:66
-#, fuzzy
-msgid "Manually specify a password"
-msgstr "Xin hãy xác định mật mã của bạn!"
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
+msgstr ""
 
-#: plugins/admin/users/password.tpl:77
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
 #, fuzzy
-msgid "Enforce password change on next login."
-msgstr "Ép buộc thay đổi mật khẩu trong khi đăng nhập"
+msgid "Test"
+msgstr "Timestamp"
 
-#: plugins/admin/users/password.tpl:84
-#: plugins/personal/generic/password.tpl:88
-#: plugins/personal/password/password.tpl:93
-msgid "Set password"
-msgstr "Đặt mật khẩu"
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
+msgstr ""
 
-#: plugins/admin/users/template.tpl:2
-msgid "Creating a new user using templates"
-msgstr "Tạo ra một người sử dụng mới sử dụng các mấu"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
+#, fuzzy
+msgid "Preferences"
+msgstr "Các tham chiếu"
 
-#: plugins/admin/users/template.tpl:6
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
 msgid ""
-"Creating a new user can be assisted by using templates. Many database "
-"records will be filled automatically. Choose 'none' to skip the usage of "
-"templates."
+"Configure global and special GOsa settings like hooks and plug-in parameters"
 msgstr ""
-"Dùng các mẫu có thể hỗ trợ việc tạo ra một người sử dụng mới. Nhiều ghi chép "
-"cơ sở dữ liệu có thể tự động tiến hành. Chọn 'none' để bỏ qua việc sử dụng "
-"các mẫu."
-
-#: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:535
-#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
-#: plugins/admin/users/templatize.tpl:15
-msgid "Template"
-msgstr "Mẫu"
-
-#: plugins/admin/users/template.tpl:23 plugins/personal/generic/generic.tpl:49
-#: plugins/personal/generic/paste_generic.tpl:7
-msgid "Last name"
-msgstr "Họ"
 
-#: plugins/admin/users/template.tpl:27 plugins/personal/generic/generic.tpl:69
-#: plugins/personal/generic/paste_generic.tpl:11
-msgid "First name"
-msgstr "Tên"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
+#, fuzzy
+msgid "No description"
+msgstr "Mô tả vai trò"
 
-#: plugins/admin/users/class_userManagement.inc:26
-msgid "Manage users"
-msgstr "Quản lý người dùng"
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:391
-msgid "You have no permission to change this users password!"
-msgstr "Bạn không được phép thay đổi mật mã người dùng này!"
+#: plugins/addons/propertyEditor/property-list.xml:11
+#, fuzzy
+msgid "List of configuration settings"
+msgstr "Thiết lập của người dùng"
 
-#: plugins/admin/users/class_userManagement.inc:782
+#: plugins/addons/propertyEditor/property-list.xml:15
 #, fuzzy
-msgid "Account locking"
-msgstr "Tài khoản"
+msgid "Property not used"
+msgstr "Nhóm người dùng"
 
-#: plugins/admin/users/class_userManagement.inc:783
-#, php-format
-msgid ""
-"Password method '%s' does not support locking. Account (%s) has not been "
-"locked!"
-msgstr ""
+#: plugins/addons/propertyEditor/property-list.xml:23
+#, fuzzy
+msgid "Property will be restored"
+msgstr "Nhóm sẽ được chuyển từ"
 
-#: plugins/admin/users/class_userManagement.inc:856
+#: plugins/addons/propertyEditor/property-list.xml:31
 #, fuzzy
-msgid "Unlock account"
-msgstr "Tài khoản của tôi"
+msgid "Modified property"
+msgstr "thay đối thao tác"
 
-#: plugins/admin/users/class_userManagement.inc:858
+#: plugins/addons/propertyEditor/property-list.xml:39
 #, fuzzy
-msgid "Lock account"
-msgstr "Tài khoản của tôi"
+msgid "Property configured in LDAP"
+msgstr "Tạo ra file cấu hình của bạn"
 
-#: plugins/admin/users/class_userManagement.inc:871
-msgid "Edit generic properties"
-msgstr "Hiệu chỉnh các tính năng chung"
+#: plugins/addons/propertyEditor/property-list.xml:47
+#, fuzzy
+msgid "Property configured in config file"
+msgstr "Tạo ra file cấu hình của bạn"
 
-#: plugins/admin/users/class_userManagement.inc:874
-#: plugins/personal/posix/class_posixAccount.inc:304
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/class_posixAccount.inc:326
-#: plugins/personal/posix/class_posixAccount.inc:329
-msgid "POSIX"
-msgstr "POSIX (giao diện hệ điều hành lưu động)"
+#: plugins/addons/propertyEditor/property-list.xml:80
+#, fuzzy
+msgid "Class"
+msgstr "lớp"
 
-#: plugins/admin/users/class_userManagement.inc:875
+#: plugins/addons/propertyEditor/property-list.xml:88
 #, fuzzy
-msgid "Edit POSIX properties"
-msgstr "Hiệu chỉnh các tính năng UNIX"
+msgid "Value"
+msgstr "Nam"
 
-#: plugins/admin/users/class_userManagement.inc:886
-msgid "Netatalk"
-msgstr "Netatalk"
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:887
-msgid "Edit netatalk properties"
-msgstr "Hiệu chỉnh các đặc tính của netatalk"
+#: plugins/admin/groups/paste_generic.tpl:1
+msgid "Group settings"
+msgstr "Thiết lập nhóm"
 
-#: plugins/admin/users/class_userManagement.inc:895
+#: plugins/admin/groups/paste_generic.tpl:2
 #, fuzzy
-msgid "Edit FAX properties"
-msgstr "Hiệu chỉnh các tính năng UNIX"
+msgid "Paste group settings"
+msgstr "Thiết lập nhóm"
 
-#: plugins/admin/users/user-list.xml:11
-msgid "List of users"
-msgstr "Danh sách người dùng"
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
+msgstr "Tên nhóm"
 
-#: plugins/admin/users/user-list.xml:140
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
 #, fuzzy
-msgid "Lock users"
-msgstr "Danh sách người dùng"
+msgid "POSIX name of the group"
+msgstr "Tên Posix của nhóm"
 
-#: plugins/admin/users/user-list.xml:148
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
 #, fuzzy
-msgid "Unlock users"
-msgstr "Người dùng mail"
+msgid "Normally IDs are auto-generated, select to specify manually"
+msgstr ""
+"Thường thì các ID sẽ được tự động sinh ra, hãy lựa chọn để xác định thủ "
+"công  "
 
-#: plugins/admin/users/user-list.xml:167
-msgid "Apply template"
-msgstr "Áp dụng mẫu"
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
+msgstr "Áp dụng GID"
 
-#: plugins/admin/users/user-list.xml:199
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr "Số ID được áp dụng"
+
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
+msgstr "Người dùng"
+
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
 #, fuzzy
-msgid "New user from template"
-msgstr "Tạo ra người dùng từ một mẫu"
+msgid "User selection"
+msgstr "Thiết lập nhóm"
 
-#: plugins/admin/users/user-list.xml:213
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+msgid "Cannot find group SID in your configuration!"
+msgstr "Không thể tìm được nhóm SID trong cấu hình của bạn!"
+
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
+msgstr "Nhóm Samba"
+
+#: plugins/admin/groups/class_group.inc:310
 #, fuzzy
-msgid "Edit user"
-msgstr "Hiệu chỉnh entry này"
+msgid "Domain administrators"
+msgstr "Admin miền"
 
-#: plugins/admin/users/user-list.xml:222
-msgid "%{filter:lockLabel(userPassword)}"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
+msgstr "Người dùng miền"
+
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
+msgstr "Khách miền"
+
+#: plugins/admin/groups/class_group.inc:316
+#, php-format
+msgid "Special group (%d)"
+msgstr "Nhóm đặc biệt (%d)"
+
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
 msgstr ""
 
-#: plugins/admin/users/user-list.xml:245
-#, fuzzy
-msgid "Remove user"
-msgstr "Xóa ảnh "
+#: plugins/admin/groups/class_group.inc:470
+#, php-format
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:11
-#, fuzzy
-msgid "Show templates"
-msgstr "các mẫu"
+#: plugins/admin/groups/class_group.inc:753
+#, php-format
+msgid "Cannot find any SID for '%s'!"
+msgstr "Không thể tìm thấy một SID nào cho '%s'!"
 
-#: plugins/admin/users/user-filter.tpl:12
-#, fuzzy
-msgid "Show functional users"
-msgstr "Người dùng chức năng"
+#: plugins/admin/groups/class_group.inc:758
+#, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
+msgstr "Không thể tìm thấy một RIDBASE nào cho '%s'!"
 
-#: plugins/admin/users/user-filter.tpl:13
-#, fuzzy
-msgid "Show POSIX users"
-msgstr "Người sử dụng POSIX"
+#: plugins/admin/groups/class_group.inc:852
+#, php-format
+msgid "The gidNumber '%s' is already in use by %s!"
+msgstr ""
+
+#: plugins/admin/groups/class_group.inc:1036
+msgid "Generic group settings"
+msgstr "Thiết lập nhóm chung"
 
-#: plugins/admin/users/user-filter.tpl:14
+#: plugins/admin/groups/class_group.inc:1049
 #, fuzzy
-msgid "Show Mail users"
-msgstr "Người dùng mail"
+msgid "RDN for object group storage."
+msgstr "Danh sách các nhóm đối tượng"
 
-#: plugins/admin/users/user-filter.tpl:15
-#, fuzzy
-msgid "Show Samba users"
-msgstr "Người dùng samba"
+#: plugins/admin/groups/class_group.inc:1063
+msgid "Samba group type"
+msgstr "Loại nhóm Samba"
 
-#: plugins/admin/users/templatize.tpl:2
-msgid "Applying a template"
-msgstr "Áp dụng một mẫu"
+#: plugins/admin/groups/class_group.inc:1064
+msgid "Samba domain name"
+msgstr "Tên miền Samba"
 
-#: plugins/admin/users/templatize.tpl:6
-msgid ""
-"Applying a template to several users will replace all user attributes "
-"defined in the template."
-msgstr ""
-"Việc áp dụng một mẫu cho vài người dùng sẽ thay thế tất cả các thuộc tính "
-"của người dùng được xác định trên mẫu."
+#: plugins/admin/groups/class_group.inc:1066
+msgid "Phone pickup group"
+msgstr "Nhóm nhấc điện thoại"
 
-#: plugins/admin/users/templatize.tpl:33
-msgid "No templates available!"
-msgstr "Không có mẫu nào!"
+#: plugins/admin/groups/class_group.inc:1067
+msgid "Nagios group"
+msgstr "Nhóm phần mềm Nagios"
 
-#: plugins/admin/departments/remove.tpl:6
-msgid ""
-"This includes 'all' accounts, systems, etc. in this subtree. Please double "
-"check if your really want to do this since there is no way for GOsa to get "
-"your data back."
-msgstr ""
-"Trong cây con này có 'tất cả' các tài khoản, hệ thống, vân vân. Xin hãy kiểm "
-"tra lại hai lần nếu bạn thực sự muốn thực hiện điều này tuy nhiên sẽ không "
-"có cách nào để Gosa phục hồi lại dữ liệu cho bạn."
+#: plugins/admin/groups/class_group.inc:1069
+msgid "Group member"
+msgstr "Thành viên nhóm"
 
-#: plugins/admin/departments/remove.tpl:10
+#: plugins/admin/groups/class_groupManagement.inc:26
 msgid ""
-"Best thing to do before performing this action would be to save the current "
-"contents of your LDAP tree in a file. So - if you've done so - press "
-"'Delete' to continue or 'Cancel' to abort."
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
 msgstr ""
-"Tốt nhất là trước khi thực hiện thao tác này bạn nên  lưu lại nội dung hiện "
-"tại của cây thư mục LDAP trong một file. Nếu bạn đã làm thế, hãy kích "
-"'Delete' để tiếp tục hoặc kích 'Cancel' để hủy bỏ."
 
-#: plugins/admin/departments/dep-list.xml:11
-msgid "List of departments"
-msgstr "Danh sách các bộ phận"
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
+msgid "Infrastructure error"
+msgstr "Lỗi cơ sở hạ tầng"
 
-#: plugins/admin/departments/dep-list.xml:15
-#: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:189
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
 #, fuzzy
-msgid "Domain"
-msgstr "trong miền"
+msgid "Edit POSIX properties"
+msgstr "Hiệu chỉnh các tính năng UNIX"
 
-#: plugins/admin/departments/dep-list.xml:23
-#: plugins/admin/departments/dep-list.xml:110
-#, fuzzy
-msgid "Domain component"
-msgstr "Admin miền"
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
+msgid "Edit mail properties"
+msgstr "Hiệu chỉnh các tính năng mail"
 
-#: plugins/admin/departments/dep-list.xml:31
-#: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_countryGeneric.inc:82
-#: plugins/admin/departments/class_countryGeneric.inc:83
-msgid "Country"
-msgstr "Quốc Gia"
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
+msgid "Edit samba properties"
+msgstr "Hiệu chỉnh các tính năng samba"
 
-#: plugins/admin/departments/dep-list.xml:39
-#: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_localityGeneric.inc:82
-#: plugins/admin/departments/class_localityGeneric.inc:83
-#, fuzzy
-msgid "Locality"
-msgstr "Vị trí"
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
+msgid "Edit phone properties"
+msgstr "Hiệu chỉnh các tính năng điện thoại"
 
-#: plugins/admin/departments/dep-list.xml:47
-#: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:237
-#: plugins/admin/departments/class_organizationGeneric.inc:113
-#: plugins/admin/departments/class_organizationGeneric.inc:114
-#: plugins/personal/generic/class_user.inc:1694
-#: plugins/personal/generic/generic.tpl:299 setup/setup_feedback.tpl:23
-msgid "Organization"
-msgstr "Tổ chức"
+#: plugins/admin/groups/class_groupManagement.inc:189
+msgid "Menu"
+msgstr ""
 
-#: plugins/admin/departments/locality.tpl:11
-#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/groups/class_groupManagement.inc:190
 #, fuzzy
-msgid "Locality name"
-msgstr "Tên vị trí"
+msgid "Edit start menu properties"
+msgstr "Hiệu chỉnh các tính năng samba"
 
-#: plugins/admin/departments/locality.tpl:14
-#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
+msgid "Edit environment properties"
+msgstr "Hiệu chỉnh các tính năng môi trường"
+
+#: plugins/admin/groups/group-filter.xml:31
 #, fuzzy
-msgid "Name of locality to create"
-msgstr "Tên của cây con được tạo"
+msgid "Default filter2"
+msgstr "Máy in"
 
-#: plugins/admin/departments/locality.tpl:22
-#: plugins/admin/departments/domain.tpl:22
-#: plugins/admin/departments/country.tpl:22
-#: plugins/admin/departments/dcObject.tpl:22
-#: plugins/admin/departments/organization.tpl:22
-msgid "Descriptive text for department"
-msgstr "Văn bản mô tả cho bộ phận"
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
+msgstr "Văn bản mô tả cho nhóm này"
 
-#: plugins/admin/departments/locality.tpl:39
-#: plugins/admin/departments/generic.tpl:51
-#: plugins/admin/departments/class_domain.inc:93
-#: plugins/admin/departments/class_localityGeneric.inc:93
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_countryGeneric.inc:93
-#: plugins/admin/departments/class_dcObject.inc:92
-#: plugins/admin/departments/domain.tpl:39
-#: plugins/admin/departments/country.tpl:39
-#: plugins/admin/departments/dcObject.tpl:39
-#: plugins/admin/departments/class_department.inc:675
-#: plugins/admin/departments/organization.tpl:51
-#: plugins/personal/generic/class_user.inc:1697
-#: plugins/personal/generic/generic.tpl:340
-#: plugins/personal/generic/generic.tpl:361
-#, fuzzy
-msgid "Manager"
-msgstr "Quản lý người dùng"
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+msgid "Select to create a samba conform group"
+msgstr "Chọn để tạo ra một nhóm thích hợp với samba"
 
-#: plugins/admin/departments/locality.tpl:67
-#: plugins/admin/departments/generic.tpl:132
-#: plugins/admin/departments/class_domain.inc:94
-#: plugins/admin/departments/class_localityGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:135
-#: plugins/admin/departments/class_countryGeneric.inc:95
-#: plugins/admin/departments/class_dcObject.inc:94
-#: plugins/admin/departments/domain.tpl:67
-#: plugins/admin/departments/country.tpl:67
-#: plugins/admin/departments/dcObject.tpl:67
-#: plugins/admin/departments/class_department.inc:677
-#: plugins/admin/departments/organization.tpl:131
-msgid "Administrative settings"
-msgstr "Thiết lập quản trị"
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
+msgstr "trong miền"
 
-#: plugins/admin/departments/locality.tpl:69
-#: plugins/admin/departments/generic.tpl:134
-#: plugins/admin/departments/domain.tpl:69
-#: plugins/admin/departments/country.tpl:69
-#: plugins/admin/departments/dcObject.tpl:69
-#: plugins/admin/departments/organization.tpl:133
-msgid "Tag department as an independent administrative unit"
-msgstr "Đặt bộ phận như một đơn vị quản trị độc lập"
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
+msgstr "Các thành viên trong một nhóm nhấc điện thoại"
 
-#: plugins/admin/departments/generic.tpl:11
-msgid "Name of department"
-msgstr "Tên bộ phận"
+#: plugins/admin/groups/generic.tpl:146
+#, fuzzy
+msgid "Members are in a Nagios group"
+msgstr "Các thành viên trong một nhóm Nargios"
 
-#: plugins/admin/departments/generic.tpl:14
-msgid "Name of subtree to create"
-msgstr "Tên của cây con được tạo"
+#: plugins/admin/groups/generic.tpl:174
+#, fuzzy
+msgid "Common group members"
+msgstr "các nhóm điện thoại"
 
-#: plugins/admin/departments/generic.tpl:22
+#: plugins/admin/groups/generic.tpl:183
 #, fuzzy
-msgid "Descriptive text for   department"
-msgstr "Văn bản mô tả cho bộ phận"
+msgid "Partial group members"
+msgstr "Các thành viên nhóm"
 
-#: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:667
-#: plugins/admin/departments/organization.tpl:27
-msgid "Category"
-msgstr "Các danh mục"
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
+msgstr "Các thành viên nhóm"
 
-#: plugins/admin/departments/generic.tpl:30
-#: plugins/admin/departments/organization.tpl:30
-msgid "Category for this subtree"
-msgstr "Các danh mục cho cây con"
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
+msgstr "Danh sách các nhóm"
 
-#: plugins/admin/departments/generic.tpl:79
-#: plugins/admin/departments/generic.tpl:91
-#: plugins/admin/departments/class_localityGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:130
-#: plugins/admin/departments/class_department.inc:671
-#: plugins/admin/departments/organization.tpl:78
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1708
-#: plugins/personal/generic/generic.tpl:441
-msgid "Location"
-msgstr "Vị trí"
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
+msgstr "Properties"
 
-#: plugins/admin/departments/generic.tpl:83
-#: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_department.inc:670
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1707
-#: plugins/personal/generic/generic.tpl:449
-msgid "State"
-msgstr "Bang"
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
+msgstr "Hiệu chỉnh"
 
-#: plugins/admin/departments/generic.tpl:86
-#: plugins/admin/departments/organization.tpl:85
-msgid "State where this subtree is located"
-msgstr "Xác định xem tập cây con này ở đâu"
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
+msgid "Send message"
+msgstr ""
 
-#: plugins/admin/departments/generic.tpl:94
-#: plugins/admin/departments/organization.tpl:93
-msgid "Location of this subtree"
-msgstr "Vị trí của cây con"
+#: plugins/admin/groups/group-list.xml:138
+#, fuzzy
+msgid "Edit group"
+msgstr "các nhóm máy in"
 
-#: plugins/admin/departments/generic.tpl:99
-#: plugins/admin/departments/class_department.inc:672
-#: plugins/admin/departments/organization.tpl:98
-#: plugins/personal/generic/generic.tpl:183
-#: plugins/personal/generic/generic.tpl:457
-msgid "Address"
-msgstr "Địa chỉ"
+#: plugins/admin/groups/group-list.xml:151
+#, fuzzy
+msgid "Remove group"
+msgstr "các nhóm server"
 
-#: plugins/admin/departments/generic.tpl:102
-#: plugins/admin/departments/organization.tpl:101
-msgid "Postal address of this subtree"
-msgstr "Địa chỉ bưu điện của cây con này"
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
+#, fuzzy
+msgid "User and group selection"
+msgstr "Thiết lập nhóm"
 
-#: plugins/admin/departments/generic.tpl:109
-#: plugins/admin/departments/organization.tpl:108
-msgid "Base telephone number of this subtree"
-msgstr "Đặt số điện thoại của cây con này"
+#: plugins/admin/ogroups/ogroup-list.xml:11
+msgid "List of object groups"
+msgstr "Danh sách các nhóm đối tượng"
 
-#: plugins/admin/departments/generic.tpl:114
-#: plugins/admin/departments/class_organizationGeneric.inc:133
-#: plugins/admin/departments/class_department.inc:373
-#: plugins/admin/departments/class_department.inc:674
-#: plugins/admin/departments/organization.tpl:113
-#: plugins/personal/generic/class_user.inc:1359
-#: plugins/personal/generic/class_user.inc:1822
-#: plugins/personal/generic/generic.tpl:423
-#: plugins/personal/generic/generic.tpl:591
-msgid "Fax"
-msgstr "Số fax"
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
+msgstr "Nhóm đối tượng"
 
-#: plugins/admin/departments/generic.tpl:117
-#: plugins/admin/departments/organization.tpl:116
-msgid "Base facsimile telephone number of this subtree"
-msgstr "Đặt số fax của cây con này"
+#: plugins/admin/ogroups/ogroup-list.xml:142
+#, fuzzy
+msgid "Edit object group"
+msgstr "Nhóm đối tượng"
 
-#: plugins/admin/departments/class_domain.inc:81
-#: plugins/admin/departments/class_domain.inc:82
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_dcObject.inc:81
-#: plugins/admin/departments/class_dcObject.inc:82
+#: plugins/admin/ogroups/ogroup-list.xml:155
 #, fuzzy
-msgid "Domain Component"
-msgstr "Admin miền"
+msgid "Remove object group"
+msgstr "các nhóm server"
 
-#: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:657
-#: plugins/admin/departments/class_department.inc:662
-msgid "Departments"
-msgstr "Các bộ phận"
+#: plugins/admin/ogroups/paste_generic.tpl:1
+#, fuzzy
+msgid "Paste object group"
+msgstr "Nhóm đối tượng"
 
-#: plugins/admin/departments/class_departmentManagement.inc:26
-msgid "Manage Departments"
-msgstr "Quản lý  các bộ phận"
+#: plugins/admin/ogroups/paste_generic.tpl:7
+msgid "Please enter the new object group name"
+msgstr "Xin mời nhập tên nhóm đối tượng mới vào"
 
-#: plugins/admin/departments/class_departmentManagement.inc:122
-#, fuzzy
-msgid ""
-"As soon as the tag operation has finished, you can scroll down to end of the "
-"page and    press the 'Continue' button to continue with the department "
-"management dialog."
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
 msgstr ""
-"Ngay sau khi thao tác tag kết thúc, bạn có thể kéo xuống cuối trang và kích "
-"vào phím \"Tiếp tục\" để tiếp tục với hộp thoại quản lý bộ phận."
 
-#: plugins/admin/departments/class_organizationGeneric.inc:122
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
+msgstr "Máy in"
+
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
 #, fuzzy
-msgid "Organization name"
-msgstr "Tổ chức"
+msgid "Object selection"
+msgstr "Thiết lập nhóm"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:131
-#: plugins/personal/generic/class_user.inc:1709
-msgid "Postal address"
-msgstr "Địa chỉ theo bưu điện"
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
+msgid "Phone queue"
+msgstr "Các hàng phone"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
 #, fuzzy
-msgid "Phone number"
-msgstr "Số điện thoại nhà"
+msgid "Groupware"
+msgstr "Tên nhóm"
 
-#: plugins/admin/departments/class_countryGeneric.inc:91
-#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
 #, fuzzy
-msgid "Country name"
-msgstr "Quốc Gia"
+msgid "System settings"
+msgstr "Thiết lập của người dùng"
 
-#: plugins/admin/departments/domain.tpl:11
-#, fuzzy
-msgid "Domain name"
-msgstr "Admin miền"
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
+msgid "Recipe"
+msgstr ""
 
-#: plugins/admin/departments/domain.tpl:14
-#, fuzzy
-msgid "Name of domain to create"
-msgstr "Tên của cây con được tạo"
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
+msgstr "Các thiết bị"
 
-#: plugins/admin/departments/country.tpl:14
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
 #, fuzzy
-msgid "Name of country to create"
-msgstr "Tên của cây con được tạo"
+msgid "Deployment summary"
+msgstr "Số phòng làm việc"
 
-#: plugins/admin/departments/class_department.inc:433
-msgid "Cannot find an unused tag for this administrative unit!"
-msgstr "Không thể tìm được một tag chưa được dùng cho đơn vị quản trị này!"
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
+msgstr ""
 
-#: plugins/admin/departments/class_department.inc:504
-#, php-format
-msgid "Tagging '%s'."
-msgstr "Tagging '%s'."
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
+msgstr "Các ứng dụng"
 
-#: plugins/admin/departments/class_department.inc:585
-#, php-format
-msgid "Moving '%s' to '%s'"
-msgstr "Chuyển từ '%s' đến '%s'"
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
+msgstr "Tên của nhóm"
 
-#: plugins/admin/departments/class_department.inc:626
-#, php-format
-msgid "FAILED to copy %s, aborting operation"
-msgstr "Thất bại trong việc copy %s, bãi bỏ thao tác"
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
+msgstr "Các đối tượng thành viên"
 
-#: plugins/admin/departments/class_department.inc:665
-msgid "Department name"
-msgstr "Tên bộ phận"
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
+msgstr ""
+"Bạn không thể kết hợp các thiết bị cuối và máy trạm vào trong một nhóm đối "
+"tượng!"
 
-#: plugins/admin/departments/class_department.inc:673
-msgid "Telephone"
-msgstr "Số điện thoại"
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
+msgstr "không có"
 
-#: plugins/admin/departments/class_department.inc:728
-#, php-format
-msgid "Object '%s' is already tagged"
-msgstr "Đối tượng '%s' đã bị tag"
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
+msgstr "có quá nhiều các đối tượng khác nhau!"
 
-#: plugins/admin/departments/class_department.inc:735
-#, php-format
-msgid "Adding tag (%s) to object '%s'"
-msgstr "Thêm tag (%s) vào đối tượng '%s'"
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
+msgstr "người dùng"
 
-#: plugins/admin/departments/class_department.inc:767
-#, php-format
-msgid "Removing tag from object '%s'"
-msgstr "Bỏ tag từ đối tượng '%s'"
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
+msgstr "các nhóm"
 
-#: plugins/admin/departments/dep_iframe.tpl:1
-msgid "Processing the requested operation"
-msgstr "Xử lý thao tác được yêu cầu"
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
+msgstr "các ứng dụng"
 
-#: plugins/admin/departments/dep_iframe.tpl:7
-msgid ""
-"Your browser doesn't support iframes, please use this link to perform the "
-"requested operation."
-msgstr ""
-"Trình duyệt của bạn không hỗ trợ iframe, xin hãy sử dụng đường link này để "
-"thực hiện những thao tác được yêu cầu."
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
+msgstr "các bộ phận"
 
-#: plugins/admin/departments/organization.tpl:11
-#, fuzzy
-msgid "Name of organization"
-msgstr "Tổ chức"
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
+msgstr "các server"
 
-#: plugins/admin/departments/organization.tpl:14
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
+msgstr "máy trạm"
+
+#: plugins/admin/ogroups/class_ogroup.inc:328
 #, fuzzy
-msgid "Name of organization to create"
-msgstr "Tên của cây con được tạo"
+msgid "Windows workstations"
+msgstr "các nhóm máy trạm windows"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-msgid "You are currently moving/renaming this department."
-msgstr "Bạn hiện đang bỏ/đổi tên bộ phận này."
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
+msgstr "các thiết bị cuối"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:5
-msgid ""
-"Modifying a departments naming attribute 'ou' or base may corrupt acls and "
-"snapshot entries for all entire objects."
-msgstr ""
-"Thay đổi thuộc tính đặt tên 'ou' của các bộ phận hoặc cơ sở có thể ảnh hưởng "
-"đển các file acl và các entry snapshot cho toàn bộ các đối tượng."
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
+msgstr "điện thoại"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:8
-msgid "GOsa can NOT fix this for you, yet."
-msgstr "Gosa chưa thể sửa được lỗi này cho bạn."
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
+msgstr "các máy in"
+
+#: plugins/admin/ogroups/class_ogroup.inc:533
+#, fuzzy
+msgid "Non existing DN:"
+msgstr "dn không tồn tại:"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:11
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
 msgid ""
-"Before you confirm this action, ensure that everything will be as expected, "
-"possibly the best solution is a backup."
+"These systems are already configured by other object groups and cannot be "
+"added:"
 msgstr ""
-"Trước khi bạn xác nhận hành động này, hãy đảm bảo rằng mọi thứ sẽ như mong "
-"đợi, có lẽ cách giải quyết tốt nhất là có một bản backup."
 
-#: plugins/admin/acl/class_aclManagement.inc:25
-#: plugins/admin/acl/acl-list.xml:15
-msgid "Acl"
+#: plugins/admin/ogroups/class_ogroup.inc:685
+msgid "You can combine two different object types at maximum, only!"
+msgstr "Bạn chỉ có thể kết hợp hai đối tượng khác nhau tại mức cực đại!"
+
+#: plugins/admin/ogroups/class_ogroup.inc:849
+msgid "Object group generic"
+msgstr "Nhóm đối tượng chung"
+
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
+msgstr "Tất cả các nhóm đối tượng"
+
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
 msgstr ""
 
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+#, fuzzy
+msgid "Templates"
+msgstr "Mẫu"
+
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
+msgstr "Ứng dụng"
+
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+msgid "Windows Install"
+msgstr "Cài đặt window"
+
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
+msgid "ACL Templates"
+msgstr "Các mẫu ACL"
+
+#: plugins/admin/acl/acl-list.xml:11
+#, fuzzy
+msgid "List of ACLs"
+msgstr "Danh sách các ads"
+
+#: plugins/admin/acl/paste_role.tpl:1
+#, fuzzy
+msgid "Paste ACL-role"
+msgstr "Xóa vai trò acl"
+
+#: plugins/admin/acl/acl-filter.xml:48
 #: plugins/admin/acl/class_aclManagement.inc:154
 #, fuzzy
 msgid "ACL Assignment"
 msgstr "Quản lý ACL"
 
-#: plugins/admin/acl/tabs_acl_role.inc:28
-msgid "ACL Templates"
-msgstr "Các mẫu ACL"
+#: plugins/admin/acl/class_aclManagement.inc:26
+msgid ""
+"Control access to GOsa managed objects down to attribute and action level"
+msgstr ""
 
 #: plugins/admin/acl/class_aclRole.inc:26
-#: plugins/admin/acl/class_aclRole.inc:726
+#: plugins/admin/acl/class_aclRole.inc:715
 msgid "Access control roles"
 msgstr "Các vai trò kiểm soát truy cập"
 
@@ -4245,2504 +6190,2232 @@ msgstr "Các vai trò kiểm soát truy cập"
 msgid "Edit AC roles"
 msgstr "Hiệu chỉnh các vai trò ACL"
 
-#: plugins/admin/acl/class_aclRole.inc:134
+#: plugins/admin/acl/class_aclRole.inc:138
 msgid "Reset ACL"
 msgstr "Xác lập lại ACL"
 
-#: plugins/admin/acl/class_aclRole.inc:418
+#: plugins/admin/acl/class_aclRole.inc:411
 msgid "No ACL settings for this category"
 msgstr "Không có cài đặt ACL cho mục này"
 
-#: plugins/admin/acl/class_aclRole.inc:420
+#: plugins/admin/acl/class_aclRole.inc:413
 #, php-format
 msgid "ACL for these objects: %s"
 msgstr "ACL cho các đối tượng sau: %s"
 
-#: plugins/admin/acl/class_aclRole.inc:426
+#: plugins/admin/acl/class_aclRole.inc:418
 msgid "Edit category ACL"
 msgstr "Hiệu chính mục ACL"
 
-#: plugins/admin/acl/class_aclRole.inc:430
-msgid "Reset category ACL"
+#: plugins/admin/acl/class_aclRole.inc:421
+#, fuzzy
+msgid "Delete category ACL"
 msgstr "Xác lập mục ACL"
 
-#: plugins/admin/acl/class_aclRole.inc:450
+#: plugins/admin/acl/class_aclRole.inc:442
 #, php-format
 msgid "Edit ACL for '%s', scope is '%s'"
 msgstr "Hiệu chỉnh ACL cho'%s', vùng là '%s'"
 
-#: plugins/admin/acl/class_aclRole.inc:646
+#: plugins/admin/acl/class_aclRole.inc:635
 msgid "Object in use"
 msgstr "Đối tượng đang được sử dụng"
 
-#: plugins/admin/acl/class_aclRole.inc:646
+#: plugins/admin/acl/class_aclRole.inc:635
 #, php-format
 msgid "This role cannot be removed while it is in use by these objects:"
 msgstr ""
 "Vai trò này không thể bị xóa bỏ trong khi nó vẫn đang được sử dụng bởi các "
 "đối tượng:"
 
-#: plugins/admin/acl/class_aclRole.inc:725 plugins/admin/acl/acl-list.xml:23
-#: plugins/admin/acl/acl-list.xml:82
-#: plugins/personal/generic/class_user.inc:1664
-#: plugins/personal/generic/generic.tpl:508
-msgid "Role"
-msgstr "Vai trò"
-
-#: plugins/admin/acl/class_aclRole.inc:736
+#: plugins/admin/acl/class_aclRole.inc:731
 #, fuzzy
-msgid "Permissions"
-msgstr "Cho phép"
-
-#: plugins/admin/acl/acl-list.xml:11
-msgid "List of acls"
-msgstr "Danh sách các ads"
+msgid "RDN for role storage."
+msgstr "Đường dẫn đến kho lưu trữ profile của ki-ốt"
 
-#: plugins/admin/acl/acl-filter.tpl:11
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
 #, fuzzy
-msgid "Show access control lists"
-msgstr "Danh sách kiểm soát truy cập"
+msgid "Domain component"
+msgstr "Admin miền"
 
-#: plugins/admin/acl/acl-filter.tpl:12
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
 #, fuzzy
-msgid "Show roles"
-msgstr "Hiển thị %s"
-
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:25
-msgid "Bug submitter"
-msgstr "Bộ nộp lỗi"
-
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:26
-msgid ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
-msgstr ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
-
-#: plugins/personal/generic/class_user.inc:38
-msgid "Edit organizational user settings"
-msgstr "Hiệu chỉnh thiết lập tổ chức của người sử dụng "
+msgid "Locality name"
+msgstr "Tên vị trí"
 
-#: plugins/personal/generic/class_user.inc:297
-msgid "Please add a single IP address or a network/netmask combination!"
-msgstr ""
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
+#, fuzzy
+msgid "Name of locality to create"
+msgstr "Tên của cây con được tạo"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "female"
-msgstr "Nữ"
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
+msgstr "Văn bản mô tả cho bộ phận"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "male"
-msgstr "Nam"
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
+msgid "Administrative settings"
+msgstr "Thiết lập quản trị"
 
-#: plugins/personal/generic/class_user.inc:408
-msgid "Cannot upload file!"
-msgstr "Không thể tải file lên!"
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
+msgstr "Đặt bộ phận như một đơn vị quản trị độc lập"
 
-#: plugins/personal/generic/class_user.inc:503
-msgid "Serial number"
-msgstr "Số seri"
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
+msgstr "Quốc Gia"
 
-#: plugins/personal/generic/class_user.inc:548
-msgid ""
-"(Some types of certificates are currently not supported and may be displayed "
-"as 'invalid'.)"
-msgstr ""
-"(Một số loại chứng nhận hiện không được hỗ trợ và có thể hiển thị 'không hợp "
-"lệ'.)"
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
+#, fuzzy
+msgid "Locality"
+msgstr "Vị trí"
 
-#: plugins/personal/generic/class_user.inc:558
-#, php-format
-msgid "Certificate is valid from %s to %s and is currently %s."
-msgstr "Giấy chứng nhận có hiệu lực từ %s đến %s và hiện tại đang là %s."
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
+#, fuzzy
+msgid "Domain"
+msgstr "trong miền"
 
-#: plugins/personal/generic/class_user.inc:561
-msgid "valid"
-msgstr "hợp lệ"
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
+#, fuzzy
+msgid "Country name"
+msgstr "Quốc Gia"
 
-#: plugins/personal/generic/class_user.inc:562
-msgid "invalid"
-msgstr "không hợp lệ"
+#: plugins/admin/departments/country.tpl:14
+#, fuzzy
+msgid "Name of country to create"
+msgstr "Tên của cây con được tạo"
 
-#: plugins/personal/generic/class_user.inc:567
-msgid "No certificate installed"
-msgstr "Không có giấy chứng nhận nào được cài đặt"
+#: plugins/admin/departments/dep-list.xml:11
+#, fuzzy
+msgid "List of structural objects"
+msgstr "Danh sách các nhóm đối tượng"
 
-#: plugins/personal/generic/class_user.inc:593
-msgid "The selected password method is no longer available."
-msgstr "Phương pháp lập mật khẩu được chọn này không còn ở đây."
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "You are currently moving/renaming this department."
+msgstr "Bạn hiện đang bỏ/đổi tên bộ phận này."
 
-#: plugins/personal/generic/class_user.inc:1190
-msgid "Cannot build RDN: no + allowed to build sub RDN!"
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+#, fuzzy
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
 msgstr ""
+"Thay đổi thuộc tính đặt tên 'ou' của các bộ phận hoặc cơ sở có thể ảnh hưởng "
+"đển các file acl và các entry snapshot cho toàn bộ các đối tượng."
 
-#: plugins/personal/generic/class_user.inc:1197
-msgid "Cannot build RDN: attribute is not defined!"
-msgstr ""
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+msgid "GOsa can NOT fix this for you, yet."
+msgstr "Gosa chưa thể sửa được lỗi này cho bạn."
 
-#: plugins/personal/generic/class_user.inc:1215
-msgid "Cannot build RDN: invalid attribute parameters!"
+#: plugins/admin/departments/dep_move_confirm.tpl:12
+msgid ""
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
 msgstr ""
+"Trước khi bạn xác nhận hành động này, hãy đảm bảo rằng mọi thứ sẽ như mong "
+"đợi, có lẽ cách giải quyết tốt nhất là có một bản backup."
 
-#: plugins/personal/generic/class_user.inc:1286
-msgid "The selected password method requires initial configuration!"
-msgstr "Phương pháp lập mật khẩu được chọn yêu cầu cấu hình ban đầu!"
-
-#: plugins/personal/generic/class_user.inc:1351
-#: plugins/personal/generic/class_user.inc:1713
-#: plugins/personal/generic/class_user.inc:1816
-#: plugins/personal/generic/generic.tpl:199
-msgid "Homepage"
-msgstr "Trang chủ"
-
-#: plugins/personal/generic/class_user.inc:1362
-#: plugins/personal/generic/class_user.inc:1825
-#: plugins/personal/generic/generic.tpl:407
-msgid "Mobile"
-msgstr "Điện thoại di động"
-
-#: plugins/personal/generic/class_user.inc:1365
-#: plugins/personal/generic/class_user.inc:1828
-#: plugins/personal/generic/generic.tpl:415
-msgid "Pager"
-msgstr "Máy nhắn tin"
-
-#: plugins/personal/generic/class_user.inc:1370
-#: plugins/personal/generic/class_user.inc:1685
-#: plugins/personal/generic/generic.tpl:119
-msgid "Date of birth"
-msgstr "Ngày sinh"
-
-#: plugins/personal/generic/class_user.inc:1485
-msgid "Cannot open certificate!"
-msgstr "Không mở được giấy chứng nhận!"
+#: plugins/admin/departments/organization.tpl:11
+#, fuzzy
+msgid "Name of organization"
+msgstr "Tổ chức"
 
-#: plugins/personal/generic/class_user.inc:1653
-#: plugins/personal/generic/generic.tpl:531
-msgid "Unit"
-msgstr "Đơn vị"
+#: plugins/admin/departments/organization.tpl:14
+#, fuzzy
+msgid "Name of organization to create"
+msgstr "Tên của cây con được tạo"
 
-#: plugins/personal/generic/class_user.inc:1654
-#: plugins/personal/generic/generic.tpl:556
-msgid "House identifier"
-msgstr "Mô tả căn nhà"
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
+msgstr "Các danh mục cho cây con"
 
-#: plugins/personal/generic/class_user.inc:1655
-#: plugins/personal/generic/generic.tpl:473
-msgid "Vocation"
-msgstr "Nghề nghiệp"
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
+msgstr "Xác định xem tập cây con này ở đâu"
 
-#: plugins/personal/generic/class_user.inc:1656
-#: plugins/personal/generic/generic.tpl:600
-msgid "Last delivery"
-msgstr "Lần cung cấp cuối"
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
+msgstr "Vị trí của cây con"
 
-#: plugins/personal/generic/class_user.inc:1657
-#: plugins/personal/generic/generic.tpl:522
-msgid "Person locality"
-msgstr "Địa phương của người dùng"
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
+msgstr "Địa chỉ bưu điện của cây con này"
 
-#: plugins/personal/generic/class_user.inc:1658
-#: plugins/personal/generic/generic.tpl:481
-msgid "Unit description"
-msgstr "Mô tả đơn vị "
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
+msgstr "Đặt số điện thoại của cây con này"
 
-#: plugins/personal/generic/class_user.inc:1659
-#: plugins/personal/generic/generic.tpl:490
-msgid "Subject area"
-msgstr "Lĩnh vực chuyên môn"
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
+msgstr "Đặt số fax của cây con này"
 
-#: plugins/personal/generic/class_user.inc:1660
-#: plugins/personal/generic/generic.tpl:499
-msgid "Functional title"
-msgstr "Danh xưng chức năng"
+#: plugins/admin/departments/class_department.inc:439
+msgid "Cannot find an unused tag for this administrative unit!"
+msgstr "Không thể tìm được một tag chưa được dùng cho đơn vị quản trị này!"
 
-#: plugins/personal/generic/class_user.inc:1661
-#: plugins/personal/generic/generic_certs.tpl:78
-msgid "Certificate serial number"
-msgstr "Số seri chứng nhận"
+#: plugins/admin/departments/class_department.inc:507
+#, php-format
+msgid "Tagging '%s'."
+msgstr "Tagging '%s'."
 
-#: plugins/personal/generic/class_user.inc:1662
-#: plugins/personal/generic/generic.tpl:609
-msgid "Public visible"
-msgstr "Hiển thị với tất cả mọi người"
+#: plugins/admin/departments/class_department.inc:588
+#, php-format
+msgid "Moving '%s' to '%s'"
+msgstr "Chuyển từ '%s' đến '%s'"
 
-#: plugins/personal/generic/class_user.inc:1663
-#: plugins/personal/generic/generic.tpl:540
-msgid "Street"
-msgstr "Phố"
+#: plugins/admin/departments/class_department.inc:629
+#, php-format
+msgid "FAILED to copy %s, aborting operation"
+msgstr "Thất bại trong việc copy %s, bãi bỏ thao tác"
 
-#: plugins/personal/generic/class_user.inc:1665
-#: plugins/personal/generic/generic.tpl:548
-msgid "Postal code"
-msgstr "Mã bưu điện"
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
+msgstr "Các bộ phận"
 
-#: plugins/personal/generic/class_user.inc:1669
-msgid "Generic user settings"
-msgstr "Thiết lập chung của người dùng"
+#: plugins/admin/departments/class_department.inc:674
+msgid "Department name"
+msgstr "Tên bộ phận"
 
-#: plugins/personal/generic/class_user.inc:1673
-#: plugins/personal/posix/class_posixAccount.inc:1455
-#: plugins/personal/password/class_password.inc:205
-msgid "My account"
-msgstr "Tài khoản của tôi"
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
+msgstr "Số điện thoại"
 
-#: plugins/personal/generic/class_user.inc:1681
-msgid "User identification"
-msgstr "Chứng nhận người dùng"
+#: plugins/admin/departments/class_department.inc:737
+#, php-format
+msgid "Object '%s' is already tagged"
+msgstr "Đối tượng '%s' đã bị tag"
 
-#: plugins/personal/generic/class_user.inc:1682
-#: plugins/personal/generic/generic.tpl:98
-msgid "Personal title"
-msgstr "Chức danh cá nhân"
+#: plugins/admin/departments/class_department.inc:744
+#, php-format
+msgid "Adding tag (%s) to object '%s'"
+msgstr "Thêm tag (%s) vào đối tượng '%s'"
 
-#: plugins/personal/generic/class_user.inc:1683
-#: plugins/personal/generic/generic.tpl:108
-msgid "Academic title"
-msgstr "Chức danh học thuật"
+#: plugins/admin/departments/class_department.inc:776
+#, php-format
+msgid "Removing tag from object '%s'"
+msgstr "Bỏ tag từ đối tượng '%s'"
 
-#: plugins/personal/generic/class_user.inc:1686
-#: plugins/personal/generic/generic.tpl:138
-msgid "Sex"
-msgstr "Giới tính"
+#: plugins/admin/departments/dep_iframe.tpl:1
+msgid "Processing the requested operation"
+msgstr "Xử lý thao tác được yêu cầu"
 
-#: plugins/personal/generic/class_user.inc:1687
-msgid "Preferred language"
-msgstr "Ngôn ngữ muốn sử dụng"
+#: plugins/admin/departments/dep_iframe.tpl:7
+#, fuzzy
+msgid ""
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
+msgstr ""
+"Trình duyệt của bạn không hỗ trợ iframe, xin hãy sử dụng đường link này để "
+"thực hiện những thao tác được yêu cầu."
 
-#: plugins/personal/generic/class_user.inc:1690
-#: plugins/personal/generic/paste_generic.tpl:47
-msgid "User picture"
-msgstr "Ảnh của người sử dụng"
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
+#, fuzzy
+msgid "Domain Component"
+msgstr "Admin miền"
 
-#: plugins/personal/generic/class_user.inc:1692
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 #, fuzzy
-msgid "Login restrictions"
-msgstr "Các hạn chế mật khẩu"
+msgid "Organization name"
+msgstr "Tổ chức"
 
-#: plugins/personal/generic/class_user.inc:1696
-msgid "Department number"
-msgstr "Số phòng làm việc"
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+#, fuzzy
+msgid "Phone number"
+msgstr "Số điện thoại nhà"
 
-#: plugins/personal/generic/class_user.inc:1698
-msgid "Employee number"
-msgstr "Số nhân viên"
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
+msgstr "Tên bộ phận"
 
-#: plugins/personal/generic/class_user.inc:1699
-#: plugins/personal/generic/generic.tpl:331
-msgid "Employee type"
-msgstr "Loại nhân viên"
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
+msgstr "Tên của cây con được tạo"
 
-#: plugins/personal/generic/class_user.inc:1701
-msgid "Room number"
-msgstr "Số phòng"
+#: plugins/admin/departments/generic.tpl:22
+#, fuzzy
+msgid "Descriptive text for   department"
+msgstr "Văn bản mô tả cho bộ phận"
 
-#: plugins/personal/generic/class_user.inc:1702
-msgid "Telefon number"
-msgstr "Số điện thoại"
+#: plugins/admin/departments/class_departmentManagement.inc:25
+#, fuzzy
+msgid "Directory structure"
+msgstr "Thư mục"
 
-#: plugins/personal/generic/class_user.inc:1703
-msgid "Pager number"
-msgstr "Số máy nhắn tin"
+#: plugins/admin/departments/class_departmentManagement.inc:26
+msgid ""
+"Manage organizations, organizational units, localities, countries and more"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1704
-msgid "Mobile number"
-msgstr "Số di động"
+#: plugins/admin/departments/class_departmentManagement.inc:125
+#, fuzzy
+msgid ""
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
+msgstr ""
+"Ngay sau khi thao tác tag kết thúc, bạn có thể kéo xuống cuối trang và kích "
+"vào phím \"Tiếp tục\" để tiếp tục với hộp thoại quản lý bộ phận."
 
-#: plugins/personal/generic/class_user.inc:1705
-msgid "Fax number"
-msgstr "Số fax"
+#: plugins/admin/departments/domain.tpl:11
+#, fuzzy
+msgid "Domain name"
+msgstr "Admin miền"
 
-#: plugins/personal/generic/class_user.inc:1711
-msgid "Home postal address"
-msgstr "Đại chỉ nhà theo bưu điện"
+#: plugins/admin/departments/domain.tpl:14
+#, fuzzy
+msgid "Name of domain to create"
+msgstr "Tên của cây con được tạo"
 
-#: plugins/personal/generic/class_user.inc:1712
-msgid "Home phone number"
-msgstr "Số điện thoại nhà"
+#: plugins/admin/users/password.tpl:4
+msgid ""
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
+msgstr ""
+"Để thay đổi mật khẩu người dùng sử dụng các trường dưới đây. Việc thay đổi "
+"sẽ có hiệu lực ngay lập tức. Hãy nhớ mật mã mới bởi người dùng sẽ không thể "
+"đăng nhập nếu thiếu nó."
 
-#: plugins/personal/generic/class_user.inc:1714
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
 #, fuzzy
-msgid "User password method"
-msgstr "Phương pháp lập mật khẩu"
+msgid "Password input dialog"
+msgstr "Thay đổi mật khẩu"
 
-#: plugins/personal/generic/class_user.inc:1715
-msgid "User certificates"
-msgstr "Giấy phép của người dùng"
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
+msgid "Strength"
+msgstr "Cường độ"
 
-#: plugins/personal/generic/class_user.inc:1923
+#: plugins/admin/users/password.tpl:95
 #, fuzzy
-msgid "Entries differ"
-msgstr "các entry cho mỗi trang"
+msgid "Enforce password change on next login."
+msgstr "Ép buộc thay đổi mật khẩu trong khi đăng nhập"
 
-#: plugins/personal/generic/changed.tpl:3
-#: plugins/personal/password/changed.tpl:3
+#: plugins/admin/users/templatize.tpl:2
+msgid "Applying a template"
+msgstr "Áp dụng một mẫu"
+
+#: plugins/admin/users/templatize.tpl:6
 msgid ""
-"You've successfully changed your password. Remember to change all programms "
-"configured to use it as well."
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
 msgstr ""
-"Bạn đã thay đổi mật khẩu thành công. Hãy nhớ thay đổi cả các chương trình "
-"cấu hình để sử dụng được nó."
+"Việc áp dụng một mẫu cho vài người dùng sẽ thay thế tất cả các thuộc tính "
+"của người dùng được xác định trên mẫu."
 
-#: plugins/personal/generic/generic.tpl:6
-msgid "Personal information"
-msgstr "Thông tin cá nhân"
+#: plugins/admin/users/templatize.tpl:13
+#, fuzzy
+msgid "Apply user template"
+msgstr "Áp dụng mẫu"
 
-#: plugins/personal/generic/generic.tpl:20
-#: plugins/personal/generic/generic.tpl:22
-#: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/paste_generic.tpl:37
-#: plugins/personal/generic/generic_picture.tpl:5
-#: plugins/personal/generic/generic_picture.tpl:15
-msgid "Personal picture"
-msgstr "Ảnh cá nhân"
-
-#: plugins/personal/generic/generic.tpl:29
-#: plugins/personal/generic/generic.tpl:40
-msgid "Change picture"
-msgstr "Thay đổi hình ảnh"
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
+msgstr "Mẫu"
 
-#: plugins/personal/generic/generic.tpl:62
-msgid "Template name"
-msgstr "Tên Mẫu"
+#: plugins/admin/users/templatize.tpl:32
+msgid "No templates available!"
+msgstr "Không có mẫu nào!"
 
-#: plugins/personal/generic/generic.tpl:151
-msgid "Preferred langage"
-msgstr "Ngôn ngữ muốn dùng"
+#: plugins/admin/users/user-filter.xml:33
+#, fuzzy
+msgid "Show templates"
+msgstr "các mẫu"
 
-#: plugins/personal/generic/generic.tpl:191
-msgid "Private phone"
-msgstr "Số điện thoại riêng"
+#: plugins/admin/users/user-filter.xml:47
+#, fuzzy
+msgid "Show POSIX users"
+msgstr "Người sử dụng POSIX"
 
-#: plugins/personal/generic/generic.tpl:212
-msgid "Password storage"
-msgstr "Kho lưu mật khẩu"
+#: plugins/admin/users/user-filter.xml:61
+#, fuzzy
+msgid "Show SAMBA users"
+msgstr "các server"
 
-#: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/generic_certs.tpl:3
-msgid "Certificates"
-msgstr "Các giấy phép"
+#: plugins/admin/users/user-filter.xml:75
+#, fuzzy
+msgid "Show mail users"
+msgstr "Người dùng mail"
 
-#: plugins/personal/generic/generic.tpl:232
-msgid "Edit certificates"
-msgstr "Hiệu chỉnh các giấy phép"
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
+msgstr "Tạo ra một người sử dụng mới sử dụng các mấu"
 
-#: plugins/personal/generic/generic.tpl:244
-msgid "Restrict login to"
+#: plugins/admin/users/template.tpl:6
+msgid ""
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
 msgstr ""
+"Dùng các mẫu có thể hỗ trợ việc tạo ra một người sử dụng mới. Nhiều ghi chép "
+"cơ sở dữ liệu có thể tự động tiến hành. Chọn 'none' để bỏ qua việc sử dụng "
+"các mẫu."
 
-#: plugins/personal/generic/generic.tpl:250
-#: plugins/personal/generic/generic.tpl:266
-msgid "IP or network"
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:287
-msgid "Organizational information"
-msgstr "Thông tin về tổ chức"
-
-#: plugins/personal/generic/generic.tpl:315
-msgid "Department No."
-msgstr "Số phòng ban"
-
-#: plugins/personal/generic/generic.tpl:323
-msgid "Employee No."
-msgstr "Số nhân viên"
-
-#: plugins/personal/generic/generic.tpl:389
-#: plugins/personal/generic/generic.tpl:571
-msgid "Room No."
-msgstr "Số phòng"
-
-#: plugins/personal/generic/generic.tpl:585
-msgid "Please use the phone tab"
-msgstr "Xin hãy sử dụng Phone Tab"
-
-#: plugins/personal/generic/paste_generic.tpl:1
-msgid "User settings"
-msgstr "Thiết lập của người dùng"
-
-#: plugins/personal/generic/paste_generic.tpl:23
-msgid "Clear password"
-msgstr "Bỏ mật khẩu"
-
-#: plugins/personal/generic/paste_generic.tpl:24
-msgid "Set new password"
-msgstr "Đặt mật khẩu mới"
+#: plugins/admin/users/class_userManagement.inc:26
+msgid ""
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
+msgstr ""
 
-#: plugins/personal/generic/paste_generic.tpl:52
-#: plugins/personal/generic/generic_picture.tpl:27
-msgid "Remove picture"
-msgstr "Xóa ảnh "
+#: plugins/admin/users/class_userManagement.inc:401
+msgid "You have no permission to change this users password!"
+msgstr "Bạn không được phép thay đổi mật mã người dùng này!"
 
-#: plugins/personal/generic/main.inc:168
-msgid "Generic user information"
-msgstr "Thông tin chung của người dùng"
+#: plugins/admin/users/class_userManagement.inc:791
+#, fuzzy
+msgid "Account locking"
+msgstr "Tài khoản"
 
-#: plugins/personal/generic/password.tpl:4
-#: plugins/personal/password/password.tpl:4
+#: plugins/admin/users/class_userManagement.inc:792
+#, php-format
 msgid ""
-"To change your personal password use the fields below. The changes take "
-"effect immediately. Please memorize the new password, because you wouldn't "
-"be able to login without it."
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
 msgstr ""
-"Để thay đổi được mật khẩu cá nhân, sử dụng các trường dưới đây. Các thay đổi "
-"sẽ diễn ra ngay lập tức. Xin hãy nhớ mật khẩu mới, bởi vì bạn sẽ không thể "
-"đăng nhập vào nếu không có nó."
 
-#: plugins/personal/generic/password.tpl:42
-#: plugins/personal/password/password.tpl:47
+#: plugins/admin/users/class_userManagement.inc:865
 #, fuzzy
-msgid "Password change dialog"
-msgstr "Thay đổi mật khẩu"
+msgid "Unlock account"
+msgstr "Tài khoản của tôi"
 
-#: plugins/personal/generic/password.tpl:90
-#: plugins/personal/password/password.tpl:95
-msgid "Clear fields"
-msgstr "Dọn sạch các trường "
+#: plugins/admin/users/class_userManagement.inc:867
+#, fuzzy
+msgid "Lock account"
+msgstr "Tài khoản của tôi"
 
-#: plugins/personal/generic/generic_certs.tpl:8
-msgid "Standard certificate"
-msgstr "Giấy phép chuẩn"
+#: plugins/admin/users/class_userManagement.inc:880
+msgid "Edit generic properties"
+msgstr "Hiệu chỉnh các tính năng chung"
 
-#: plugins/personal/generic/generic_certs.tpl:33
-msgid "S/MIME certificate"
-msgstr "Giấy phép S/MIME"
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
+msgstr "Netatalk"
 
-#: plugins/personal/generic/generic_certs.tpl:57
-msgid "PKCS12 certificate"
-msgstr "Giấy phép PKCS12"
+#: plugins/admin/users/class_userManagement.inc:896
+#, fuzzy
+msgid "Edit Netatalk properties"
+msgstr "Hiệu chỉnh các đặc tính của netatalk"
 
-#: plugins/personal/generic/nochange.tpl:2
-#: plugins/personal/password/nochange.tpl:2
-msgid "You have no permission to change your password at this time"
-msgstr "Bạn không được phép thay đổi mật khẩu tại thời điểm này"
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
+msgstr "Fax"
 
-#: plugins/personal/generic/nochange.tpl:5
+#: plugins/admin/users/class_userManagement.inc:904
 #, fuzzy
-msgid "Your password hash method will not be changed!"
-msgstr "Mật khẩu của bạn đã được thay đổi thành công."
+msgid "Edit FAX properties"
+msgstr "Hiệu chỉnh các tính năng UNIX"
 
-#: plugins/personal/posix/class_posixAccount.inc:38
-msgid "Edit users POSIX settings"
-msgstr "Hiệu chỉnh cài đặt POSIX của người dùng"
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
+msgstr "Danh sách người dùng"
 
-#: plugins/personal/posix/class_posixAccount.inc:168
-msgid "expired"
-msgstr "hết hạn"
+#: plugins/admin/users/user-list.xml:140
+#, fuzzy
+msgid "Lock users"
+msgstr "Danh sách người dùng"
 
-#: plugins/personal/posix/class_posixAccount.inc:170
-msgid "grace time active"
-msgstr "Thời gian trước khi tài khoản bị khóa đang hoạt động"
+#: plugins/admin/users/user-list.xml:148
+#, fuzzy
+msgid "Unlock users"
+msgstr "Người dùng mail"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-#: plugins/personal/posix/class_posixAccount.inc:175
-#: plugins/personal/posix/class_posixAccount.inc:177
-msgid "active"
-msgstr "hoạt động"
+#: plugins/admin/users/user-list.xml:167
+msgid "Apply template"
+msgstr "Áp dụng mẫu"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
+#: plugins/admin/users/user-list.xml:199
 #, fuzzy
-msgid "password not changeable"
-msgstr "Mật khẩu không thay đổi được"
+msgid "New user from template"
+msgstr "Tạo ra người dùng từ một mẫu"
 
-#: plugins/personal/posix/class_posixAccount.inc:175
-msgid "password expired"
-msgstr "mật khẩu hết hạn"
+#: plugins/admin/users/user-list.xml:213
+#, fuzzy
+msgid "Edit user"
+msgstr "Hiệu chỉnh entry này"
 
-#: plugins/personal/posix/class_posixAccount.inc:248
-msgid "automatic"
-msgstr "tự động"
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:444
-#, php-format
-msgid "Password can't be changed up to %s days after last change"
+#: plugins/admin/users/user-list.xml:245
+#, fuzzy
+msgid "Remove user"
+msgstr "Xóa ảnh "
+
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
+#, fuzzy
+msgid "Back to main menu"
+msgstr "Menu chính của GOsa"
+
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
 msgstr ""
-"Mật khẩu không thể được thay đổi it nhất là %s ngày sau lần thay đổi trước"
 
-#: plugins/personal/posix/class_posixAccount.inc:448
-#, php-format
-msgid "Password must be changed after %s days"
-msgstr "Mật khẩu phải được thay đổi sau %s ngày"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:452
-#, fuzzy, php-format
-msgid "Disable account after %s days of inactivity after password expiry"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
 msgstr ""
-"Vô hiệu hóa tài khoản sau %s ngày không hoạt động sau khi mật khẩu hết hạn"
 
-#: plugins/personal/posix/class_posixAccount.inc:456
-#, fuzzy, php-format
-msgid "Warn user %s days before password expiry"
-msgstr "Cảnh báo người sử dụng còn %s ngày nữa là hết hạn password"
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
+#, fuzzy
+msgid "Action"
+msgstr "Các thao tác"
 
-#: plugins/personal/posix/class_posixAccount.inc:793
-msgid "Timeout while waiting for lock. Ignoring lock!"
-msgstr "Thời gian chờ khóa. Bỏ qua khóa!"
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
+msgid "Systems"
+msgstr "Các hệ thống"
 
-#: plugins/personal/posix/class_posixAccount.inc:851
-#: plugins/personal/posix/class_posixAccount.inc:1169
-msgid "Group of user"
-msgstr "Nhóm người dùng"
+#: plugins/generic/statistics/statistics.tpl:2
+#, fuzzy
+msgid "Usage statistics"
+msgstr "Đăng nhập thống kê LDAP"
 
-#: plugins/personal/posix/class_posixAccount.inc:946
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
 msgid ""
-"A duplicated UID number was written for this user. If this was not intended "
-"please verify all used uidNumbers!"
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
 msgstr ""
-"Số UID nhân bản đã được viết cho người sử dụng này. Nếu vệc này là không cố "
-"ý, xin hãy xác minh lại tất cả các số UID!"
-
-#: plugins/personal/posix/class_posixAccount.inc:1027
-#: plugins/personal/posix/class_posixAccount.inc:1030
-#: plugins/personal/posix/class_posixAccount.inc:1105
-#: plugins/personal/posix/class_posixAccount.inc:1108
-#: plugins/personal/posix/class_posixAccount.inc:1461
-#: plugins/personal/posix/generic.tpl:7
-#: plugins/personal/posix/paste_generic.tpl:8
-msgid "Home directory"
-msgstr "Thư mục chủ"
 
-#: plugins/personal/posix/class_posixAccount.inc:1038
-#: plugins/personal/posix/class_posixAccount.inc:1041
-#: plugins/personal/posix/generic.tpl:63
-#: plugins/personal/posix/paste_generic.tpl:36
-msgid "UID"
-msgstr "Số ID của người sử dụng"
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
+#, fuzzy
+msgid "Dash board"
+msgstr "Hướng dẫn cài đặt GOsa chi tiết "
 
-#: plugins/personal/posix/class_posixAccount.inc:1061
-#: plugins/personal/posix/class_posixAccount.inc:1114
-msgid "shadowMin"
-msgstr "shadowMin"
+#: plugins/generic/statistics/statistics.tpl:16
+msgid ""
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1066
-#: plugins/personal/posix/class_posixAccount.inc:1119
-msgid "shadowMax"
-msgstr "shadowMax"
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1071
-#: plugins/personal/posix/class_posixAccount.inc:1124
-msgid "shadowWarning"
-msgstr "Cảnh báo về Shadow"
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1085
-#: plugins/personal/posix/class_posixAccount.inc:1138
-msgid "shadowInactive"
-msgstr "Shadow  không hoạt động"
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
-msgid "POSIX account"
-msgstr "tài khoản POSIX"
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
-#: plugins/personal/posix/generic.tpl:15
-msgid "Shell"
-msgstr "Shell"
+#: plugins/generic/statistics/statistics.tpl:87
+#, fuzzy
+msgid "Select report type"
+msgstr "Chọn một dạng acl"
 
-#: plugins/personal/posix/class_posixAccount.inc:1463
-#: setup/setup_migrate.tpl:291
-msgid "User ID"
-msgstr "ID người dùng"
+#: plugins/generic/statistics/class_statistics.inc:263
+#, fuzzy, php-format
+msgid ""
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
+msgstr ""
+"Bạn hiện đang hiệu chỉnh một entry vào cơ sở dữ liệu. Bạn có muốn hủy bỏ các "
+"thay đổi?"
 
-#: plugins/personal/posix/class_posixAccount.inc:1464
-msgid "Group ID"
-msgstr "ID nhóm"
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
+#, fuzzy
+msgid "Channels"
+msgstr "Hủy bỏ"
 
-#: plugins/personal/posix/class_posixAccount.inc:1466
-msgid "Force password change on login"
-msgstr "Ép buộc thay đổi mật khẩu trong khi đăng nhập"
+#: plugins/generic/dashBoard/Register/register.tpl:3
+#, fuzzy
+msgid "GOsa registration"
+msgstr "Thiết lập GOsa chung "
 
-#: plugins/personal/posix/class_posixAccount.inc:1467
-msgid "Shadow min"
-msgstr "Shadow min"
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1468
-msgid "Shadow max"
-msgstr "Shadow max"
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1469
-msgid "Shadow warning"
-msgstr "Cảnh báo Shadow"
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1470
-msgid "Shadow inactive"
-msgstr "Shadow không hoạt động"
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1471
-msgid "Shadow expire"
-msgstr "Shadow hết hạn"
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1472
-msgid "Public SSH key"
+#: plugins/generic/dashBoard/Register/register.tpl:22
+msgid ""
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1473
-msgid "System trust model"
-msgstr "Mô hình ủy thác hệ thống"
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:25
-#: plugins/personal/posix/paste_generic.tpl:17
-msgid "Primary group"
-msgstr "Nhóm sơ cấp"
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:36
-msgid "Status"
-msgstr "Trạng thái"
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:41
-#, fuzzy
-msgid "Last logon"
-msgstr "Họ"
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:59
-#: plugins/personal/posix/paste_generic.tpl:31
-msgid "Force UID/GID"
-msgstr "Bắt buộc có UID/GID "
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:89
-#: plugins/personal/posix/paste_generic.tpl:55
-msgid "Group membership"
-msgstr "Tư cách thành viên nhóm"
+#: plugins/generic/dashBoard/Register/register.tpl:33
+msgid ""
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:91
-#: plugins/personal/posix/paste_generic.tpl:62
-msgid "(Warning: more than 16 groups are not supported by NFS!)"
-msgstr "(Cảnh báo: hơn 16 nhóm không được hỗ trợ bởi NFS!)"
+#: plugins/generic/dashBoard/Register/register.tpl:34
+msgid ""
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:35
+msgid ""
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
+msgstr ""
 
-#: plugins/personal/posix/generic.tpl:100
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
 #, fuzzy
-msgid "Common group"
-msgstr "các nhóm điện thoại"
+msgid "Registration complete"
+msgstr "Thao tác hoàn thành"
 
-#: plugins/personal/posix/generic.tpl:104
+#: plugins/generic/dashBoard/Register/register.tpl:71
+msgid "GOsa instance sucessfully registered"
+msgstr ""
+
+#: plugins/generic/dashBoard/Register/register.tpl:82
 #, fuzzy
-msgid "Groups differ"
-msgstr "Nhóm người dùng"
+msgid "GOsa instance will not be registered"
+msgstr "Phiên sẽ không được mã hóa."
 
-#: plugins/personal/posix/generic.tpl:127
-msgid "SSH keys"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
+msgid ""
+"Communciation with the backend failed! Please check your internet connection!"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:128
-msgid "Edit public ssh keys..."
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
+msgid ""
+"Authentication failed, please check combination of username and password!"
 msgstr ""
 
-#: plugins/personal/posix/generic.tpl:132
-msgid "Account"
-msgstr "Tài khoản"
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
+msgid ""
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:6
-msgid "Select groups to add"
-msgstr "Chọn các nhóm để thêm vào"
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
+#, fuzzy
+msgid "Notifications"
+msgstr "Tập lệnh thông báo"
 
-#: plugins/personal/posix/posix_groups.tpl:32
-msgid "Display groups of department"
-msgstr "Hiển thị các nhóm trong bộ phận"
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:44
-msgid "Display groups matching"
-msgstr "Hiển thị sự khớp nhóm"
+#: plugins/generic/dashBoard/dashBoard.tpl:7
+msgid ""
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:48
-msgid "Regular expression for matching group names"
-msgstr "Biểu thức thông thường cho việc khớp các tên nhóm"
+#: plugins/generic/dashBoard/dashBoard.tpl:13
+#, fuzzy
+msgid "GOsa dash board"
+msgstr "Hướng dẫn cài đặt GOsa chi tiết "
 
-#: plugins/personal/posix/posix_groups.tpl:55
-msgid "Display groups of user"
-msgstr "Hiển thị các nhóm người sử dụng"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
+msgstr ""
 
-#: plugins/personal/posix/posix_groups.tpl:59
-msgid "User name of which groups are shown"
-msgstr "Username của các nhóm được hiển thị"
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
+#, fuzzy
+msgid "Schema missing"
+msgstr "Thiết lập dựa trên Schema"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:11
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
 #, fuzzy
-msgid "Show servers"
-msgstr "các server"
+msgid "Plugin status"
+msgstr "Tình trạng hiện tại"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:12
+#: plugins/generic/references/class_reference.inc:70
 #, fuzzy
-msgid "Show workstations"
-msgstr "máy trạm"
+msgid "Role membership"
+msgstr "Tư cách thành viên nhóm"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:13
+#: plugins/generic/references/class_reference.inc:76
 #, fuzzy
-msgid "Show terminals"
-msgstr "các thiết bị cuối"
+msgid "Object group membership"
+msgstr "Nhóm đối tượng chung"
 
-#: plugins/personal/posix/paste_generic.tpl:4
-msgid "Posix settings"
-msgstr "Thiết lập Posix"
+#: plugins/generic/references/class_reference.inc:82
+#, fuzzy
+msgid "Department manager"
+msgstr "Quản trị phòng ban "
 
-#: plugins/personal/posix/main.inc:142
-msgid "POSIX settings"
-msgstr "Thiết lập POSIX"
+#: plugins/generic/references/class_reference.inc:88
+#, fuzzy
+msgid "User manager"
+msgstr "Tên người dùng"
 
-#: plugins/personal/posix/posix_shadow.tpl:9
-msgid "User must change password on first login"
-msgstr "Người dùng phải thay đổi mật khẩu ngay lần đăng nhập đầu tiên"
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+#, fuzzy
+msgid "Object information"
+msgstr "Thông tin kết nối"
 
-#: plugins/personal/posix/posix_shadow.tpl:34
-msgid "Password expires on"
-msgstr "Mật khẩu hết hạn vào ngày"
+#: plugins/generic/references/contents.tpl:7
+msgid "Show raw object entry"
+msgstr ""
 
-#: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
-msgid "Password settings"
-msgstr "Thiết lập mật khẩu"
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
+#, fuzzy
+msgid "Last modification"
+msgstr "Chứng nhận người dùng"
 
-#: plugins/personal/password/password.tpl:14
+#: plugins/generic/references/contents.tpl:29
 #, fuzzy
-msgid "Your Password has expired. Please choose a new password!"
-msgstr "Mật khẩu của bạn đã hết hạn. Xin hãy chọn một mật khẩu mới!"
+msgid "Object references"
+msgstr "Các tham chiếu"
 
-#: plugins/personal/password/class_password.inc:27
-msgid "Change user password"
-msgstr "Thay đổi mật khẩu người dùng"
+#: plugins/generic/references/contents.tpl:45
+#, fuzzy
+msgid "ACL trace"
+msgstr "Dạng ACL"
 
-#: plugins/personal/password/class_password.inc:129
-msgid "You need to specify your current password in order to proceed."
-msgstr "Bạn cần xác định mật khẩu hiện tại để có thể tiếp tục."
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:135
-msgid "The password you've entered as 'New password' is empty."
-msgstr "Mật khẩu bạn vừa nhập vào làm \"Mật khẩu mới\" bị rỗng."
+#: plugins/generic/references/class_aclResolver.inc:193
+msgid "ACLs"
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:144
+#: plugins/generic/references/class_aclResolver.inc:198
 #, php-format
-msgid "External password changer reported a problem: %s."
-msgstr "Bộ thay đổi mật khẩu bên ngoài báo cáo có vấn đề:%s."
-
-#: plugins/personal/password/class_password.inc:158
-msgid ""
-"The password you've entered as your current password doesn't match the real "
-"one."
+msgid "List of effective ACLs for '%s'"
 msgstr ""
-"Mật khẩu bạn vừa đưa vào làm mật khẩu hiện tại không giống mật khẩu thật."
 
-#: plugins/personal/password/class_password.inc:164
-msgid "You have no permission to change your password."
-msgstr "Bạn không có quyền thay đổi mật khẩu của bạn."
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
+#, fuzzy
+msgid "Object permissions"
+msgstr "Thiết lập nhóm"
 
-#: plugins/personal/password/class_password.inc:201
-msgid "User password"
-msgstr "Mật khẩu người dùng"
+#: plugins/generic/references/class_aclResolver.inc:311
+#, fuzzy
+msgid "create"
+msgstr "Tạo "
 
-#: setup/class_setupStep_Feedback.inc:92
-msgid "UNIX accounts/groups"
-msgstr "Tài khoản/nhóm UNIX"
+#: plugins/generic/references/class_aclResolver.inc:312
+#, fuzzy
+msgid "remove"
+msgstr "Xóa bỏ"
 
-#: setup/class_setupStep_Feedback.inc:94
-msgid "Samba management"
-msgstr "Quản trị Samba"
+#: plugins/generic/references/class_aclResolver.inc:313
+#, fuzzy
+msgid "move"
+msgstr "Xóa bỏ"
 
-#: setup/class_setupStep_Feedback.inc:96
-msgid "Mailsystem management"
-msgstr "Quản trị hệ thống thư"
+#, fuzzy
+#~ msgid "List of items"
+#~ msgstr "Danh sách người dùng"
 
-#: setup/class_setupStep_Feedback.inc:98
-msgid "FAX system administration"
-msgstr "Quản trị hệ thống FAX"
+#, fuzzy
+#~ msgid "Edit item"
+#~ msgstr "Hiệu chỉnh các giấy phép"
 
-#: setup/class_setupStep_Feedback.inc:100
-msgid "Asterisk administration"
-msgstr "Quản trị Asterisk"
+#, fuzzy
+#~ msgid "Remove item"
+#~ msgstr "Xóa ảnh "
 
-#: setup/class_setupStep_Feedback.inc:102
-msgid "System inventory"
-msgstr "Bảng kiểm kê hệ thống"
+#, fuzzy
+#~ msgid "Container"
+#~ msgstr "Tiếp tục"
 
-#: setup/class_setupStep_Feedback.inc:104
-msgid "System-/Configmanagement"
-msgstr "Quản trị cấu hình/hệ thống-"
+#, fuzzy
+#~ msgid "Config management"
+#~ msgstr "Quản trị cấu hình/hệ thống-"
 
-#: setup/class_setupStep_Feedback.inc:106
-msgid "Addressbook"
-msgstr "Sổ địa chỉ"
+#, fuzzy
+#~ msgid "Distribution"
+#~ msgstr "Mô tả"
 
-#: setup/class_setupStep_Feedback.inc:112
 #, fuzzy
-msgid "Feedback"
-msgstr "Lỗi phản hồi"
+#~ msgid "Component"
+#~ msgstr "Admin miền"
 
-#: setup/class_setupStep_Feedback.inc:113
-msgid "Get notifications or send feedback"
-msgstr "Lấy thông báo và gửi phản hồi"
+#, fuzzy
+#~ msgid "Home phone"
+#~ msgstr "Số điện thoại nhà"
 
-#: setup/class_setupStep_Feedback.inc:114
-msgid "Notification and feedback"
-msgstr "Thông báo và phản hồi "
+#, fuzzy
+#~ msgid "Organizational unit"
+#~ msgstr "Tổ chức"
 
-#: setup/class_setupStep_Feedback.inc:131 setup/class_setup.inc:77
-msgid "Setup error"
-msgstr "Lỗi cài đặt"
+#, fuzzy
+#~ msgid "Max"
+#~ msgstr "Tháng Năm"
 
-#: setup/class_setupStep_Feedback.inc:140
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Feedback error"
-msgstr "Lỗi phản hồi"
+#, fuzzy
+#~ msgid "Min"
+#~ msgstr "Trang chính"
 
-#: setup/class_setupStep_Feedback.inc:140
-#, php-format
-msgid "Cannot send feedback to '%s': %s"
-msgstr "Không thể gửi phản hồi đển '%s': %s"
+#~ msgid "Welcome %s!"
+#~ msgstr "Chào mừng %s!"
 
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Cannot send feedback: service temporarily unavailable"
-msgstr "Không thể gửi phản hồi: dịch vụ hiện tại không có "
+#, fuzzy
+#~ msgid "The folder %s specified for %s:%s cannot be used for reading!"
+#~ msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
 
-#: setup/class_setupStep_Feedback.inc:181
-msgid "Please specify a valid email address."
-msgstr "Xin hãy  xác định một địa chỉ email hợp lệ."
+#, fuzzy
+#~ msgid "Object info"
+#~ msgstr "Đối tượng đang được sử dụng"
 
-#: setup/class_setupStep_Feedback.inc:185
-msgid ""
-"You have to select at least one of both options, subscribe or send feedback."
-msgstr ""
-"Bạn phải lựa chọn ít nhất mọt trong hai chọn lựa, thuê bao hoặc gửi phản hồi."
+#, fuzzy
+#~ msgid "Acls"
+#~ msgstr "lớp"
 
-#: setup/class_setup.inc:197
-msgid "Completed"
-msgstr "Đã hoàn thành"
+#, fuzzy
+#~ msgid ""
+#~ "The file '%s' specified for '%s:%s' cannot be created neither be used for "
+#~ "writing!"
+#~ msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
 
-#: setup/class_setup.inc:267 setup/setup_migrate.tpl:272
-msgid "Next"
-msgstr "Tiếp tục"
+#, fuzzy
+#~ msgid "The rdn '%s' specified for '%s:%s' is invalid!"
+#~ msgstr "Lệnh '%s' cho plugin '%s' không hợp lệ!"
+
+#, fuzzy
+#~ msgid "The values for 'New password' and 'Repeated new password' differ!"
+#~ msgstr ""
+#~ "Các mật khẩu bạn vừa nhập vào: \"Mật khẩu mới\" và \"Mật khẩu lặp lại\" "
+#~ "không giống nhau."
+
+#, fuzzy
+#~ msgid "The password used as new and current are too similar!"
+#~ msgstr "Mật khẩu mới và mật khẩu cũ quá giống nhau."
 
-#: setup/setup_config2.tpl:2
-msgid "Samba settings"
-msgstr "Thiết lập Samba"
+#, fuzzy
+#~ msgid "The password used as new is to short!"
+#~ msgstr "Mật khẩu mới cần được cắt ngắn lại."
 
-#: setup/setup_config2.tpl:6
-msgid "Samba hash generator"
-msgstr "Bộ tạo ra các hàm băm Samba"
+#, fuzzy
+#~ msgid "External password changer reported a problem: %s"
+#~ msgstr "Bộ thay đổi mật khẩu bên ngoài báo cáo có vấn đề:%s."
 
-#: setup/setup_config2.tpl:15
-msgid "Samba SID"
-msgstr "SID của Samba"
+#, fuzzy
+#~ msgid ""
+#~ "Command %s specified as post modify action for plugin %s does not exist!"
+#~ msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!"
 
-#: setup/setup_config2.tpl:31
-msgid "RID base"
-msgstr "Gốc RID"
+#, fuzzy
+#~ msgid ""
+#~ "Fatal error: no class locations defined - please run '%s' to fix this"
+#~ msgstr ""
+#~ "Lỗi nghiêm trọng: không có vị trí lớp nào được xác định - xin hãy chạy "
+#~ "'%s' để sửa lỗi này"
 
-#: setup/setup_config2.tpl:46
-msgid "Workstation container"
-msgstr "Công ten nơ chứa máy trạm"
+#, fuzzy
+#~ msgid ""
+#~ "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+#~ msgstr ""
+#~ "Lỗi nghiêm trọng: không thể tạo ra lớp '%s' - hãy thử chạy '%s' để sửa "
+#~ "lỗi này"
 
-#: setup/setup_config2.tpl:61
-msgid "Samba SID mapping"
-msgstr "Ánh xạ SID samba"
+#, fuzzy
+#~ msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#~ msgstr ""
+#~ "LỖI NGHIÊM TRỌNG: Lỗi khi đang kết nối với LDAP. Server thông báo '%s'."
 
-#: setup/setup_config2.tpl:71
-msgid "Timezone"
-msgstr "Múi giờ"
+#, fuzzy
+#~ msgid "Username / UID is not unique inside the LDAP tree!"
+#~ msgstr ""
+#~ "Tên người dùng/UID không phải là duy nhất trong cây LDAP. Xin hãy liên "
+#~ "Lạc với Admin của bạn."
 
-#: setup/setup_config2.tpl:74
-msgid "Please choose your preferred timezone here"
-msgstr "Xin hãy lựa chọn múi giờ bạn muốn ở đây"
+#~ msgid ""
+#~ "Username / UID is not unique inside the LDAP tree. Please contact your "
+#~ "Administrator."
+#~ msgstr ""
+#~ "Tên người dùng/UID không phải là duy nhất trong cây LDAP. Xin hãy liên "
+#~ "Lạc với Admin của bạn."
 
-#: setup/setup_config2.tpl:96
-msgid "Additional GOsa settings"
-msgstr "Thiết lập thêm của GOsa"
+#~ msgid "Error while adding a lock. Contact the developers!"
+#~ msgstr ""
+#~ "Lỗi khi đang thêm một khóa vào. Hãy liên lạc với các nhà phát triển!"
 
-#: setup/setup_config2.tpl:100
-msgid "Enable Copy & Paste"
-msgstr "Bật chức năng Copy & Paste"
+#~ msgid "LDAP server returned: %s"
+#~ msgstr "LDAP server trả về: %s"
 
-#: setup/setup_config2.tpl:112
-msgid "Government mode"
-msgstr "Chế độ nhà nước"
+#~ msgid ""
+#~ "Found multiple locks for object to be locked. This should not happen - "
+#~ "cleaning up multiple references."
+#~ msgstr ""
+#~ "Tìm thấy nhiều khóa khác nhau để khóa đối tượng. Điều này không nên xảy "
+#~ "ra - hãy dọn sạch các tham chiếu."
 
-#: setup/setup_config2.tpl:123
 #, fuzzy
-msgid "GOsa logging"
-msgstr "Màn hình đăng nhập GOsa"
+#~ msgid "The size limit of %d entries is exceed!"
+#~ msgstr "Đã vượt quá giới hạn kích cỡ của các entry %d!"
 
-#: setup/setup_config2.tpl:135
-msgid "Mail settings"
-msgstr "Thiết lập mail"
+#~ msgid ""
+#~ "Set the new size limit to %s and show me this message if the limit still "
+#~ "exceeds"
+#~ msgstr ""
+#~ "Thiết lập kích cỡ mới cho %s và cho tôi thấy tin nhắn nếu giới hạn này "
+#~ "vẫn vượt quá tiêu chuẩn"
 
-#: setup/setup_config2.tpl:139
-msgid "Mail method"
-msgstr "Phương pháp Mail"
+#, fuzzy
+#~ msgid "incomplete"
+#~ msgstr "Đã hoàn thành"
 
-#: setup/setup_config2.tpl:155
-msgid "Account identification attribute"
-msgstr "Thuộc tính xác minh tài khoản"
+#~ msgid "You're going to edit the LDAP entry/entries %s"
+#~ msgstr "Bạn sẽ hiệu chỉnh entry/các entry %s của LDAP"
 
-#: setup/setup_config2.tpl:169
-msgid "Vacation templates"
-msgstr "Mẫu kỳ nghỉ"
+#~ msgid "Apply filter"
+#~ msgstr "Áp dụng bộ lọc"
 
-#: setup/setup_config2.tpl:185
-msgid "Use Cyrus UNIX style"
-msgstr "Sử dụng phong cách Cyrus Unix"
+#~ msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+#~ msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: setup/setup_config2.tpl:195
-msgid "Snapshots / Undo"
-msgstr "Snapshots/Undo"
+#, fuzzy
+#~ msgid "File '%s' could not be deleted."
+#~ msgstr "File '%s' không thể bị xóa."
 
-#: setup/setup_config2.tpl:204 setup/setup_config2.tpl:249
-msgid "Enable snapshots"
-msgstr "Bật chức năng snapshots"
+#, fuzzy
+#~ msgid "Cannot write to revision file!"
+#~ msgstr "Không thể viết lên revision file!"
 
-#: setup/setup_config2.tpl:210 setup/setup_config2.tpl:255
-msgid "Snapshot base"
-msgstr "Gốc snapshot"
+#~ msgid "LDAP warning"
+#~ msgstr "Cảnh báo LDAP"
 
-#: setup/setup_frame.tpl:12
-msgid "GOsa setup wizard"
-msgstr "Hướng dẫn cài đặt GOsa chi tiết "
+#, fuzzy
+#~ msgid "Cannot get schema information from server. No schema check possible!"
+#~ msgstr ""
+#~ "Không thể dùng thông tin lược đồ từ server. Không thể kiểm tra giản đồ!"
 
-#: setup/setup_frame.tpl:19
-msgid "Installation"
-msgstr "Cài đặt"
+#~ msgid "Used to store account specific informations."
+#~ msgstr "Đã từng lưu trữ thông tin cụ thể về tài khoản."
 
-#: setup/setup_frame.tpl:19
 #, fuzzy
-msgid "Setup"
-msgstr "Đặt"
+#~ msgid ""
+#~ "Used to lock currently edited entries to avoid multiple changes at the "
+#~ "same time."
+#~ msgstr ""
+#~ "Đã từng khóa các entry hiện đang được hiệu chỉnh nhằm tránh các thay đổi "
+#~ "khác nhau tại cùng một thời điểm."
 
-#: setup/setup_migrate.tpl:5
-msgid ""
-"During the LDAP inspection, we're going to check for several common pitfalls "
-"that may occur when migration to GOsa base LDAP administration. You may want "
-"to fix the problems below, in order to provide smooth services."
-msgstr ""
-"Trong quá trình thanh tra LDAP, chúng tôi sẽ kiểm tra một vài lỗi thông "
-"thường mà có thể xảy ra khi di trú đến quản trị LDAP gốc GOsa. Bạn có thể "
-"muốn sửa những vấn đề dưới đây để cung cấp các dịch vụ êm xuôi hơn."
+#, fuzzy
+#~ msgid "Missing required object class '%s'!"
+#~ msgstr "Lớp đối tượng lựa chọn '%s' mất tích!"
 
-#: setup/setup_migrate.tpl:33
-msgid "Check again"
-msgstr "Kiểm tra lại"
+#, fuzzy
+#~ msgid "Missing optional object class '%s'!"
+#~ msgstr "Lớp đối tượng lựa chọn '%s' mất tích!"
 
-#: setup/setup_migrate.tpl:37
 #, fuzzy
-msgid "Add required object classes to the LDAP base"
-msgstr "Lớp đối tượng '%s' được yêu cầu mất tích!"
+#~ msgid "Version mismatch for required object class '%s' (!=%s)!"
+#~ msgstr "Phiên bản không phù hợp với lớp đối tượng lựa chọn '%s' (!=%s)!"
 
-#: setup/setup_migrate.tpl:39 setup/setup_migrate.tpl:244
-#: setup/setup_migrate.tpl:344 setup/setup_migrate.tpl:398
-#: setup/setup_migrate.tpl:453 setup/setup_migrate.tpl:496
-#: setup/setup_migrate.tpl:540
-msgid "Current"
-msgstr "Hiện tại"
+#, fuzzy
+#~ msgid "Class(es) available"
+#~ msgstr "Đã có lớp"
 
-#: setup/setup_migrate.tpl:46 setup/setup_migrate.tpl:248
-#: setup/setup_migrate.tpl:351 setup/setup_migrate.tpl:405
-#: setup/setup_migrate.tpl:457 setup/setup_migrate.tpl:500
-#: setup/setup_migrate.tpl:544
-msgid "After migration"
-msgstr "Sau khi di trú"
+#~ msgid ""
+#~ "You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
+#~ "schema    configuration do not support this option."
+#~ msgstr ""
+#~ "Bạn vừa bật lựa chọn rfc2307bis lên trên bước ' cài đặt ldap', nhưng cấu "
+#~ "hình giản đồ của bạn không hỗ trợ lựa chọn này."
 
-#: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:664 setup/class_setupStep_Migrate.inc:806
-#: setup/class_setupStep_Migrate.inc:1035
-#: setup/class_setupStep_Migrate.inc:2133
-#: setup/class_setupStep_Migrate.inc:2576
-#: setup/class_setupStep_Migrate.inc:2730
-#: setup/class_setupStep_Migrate.inc:3060
-msgid "Migrate"
-msgstr "Di trú"
+#, fuzzy
+#~ msgid ""
+#~ "In order to use rfc2307bis conform groups the objectClass 'posixGroup' "
+#~ "must be      AUXILIARY"
+#~ msgstr ""
+#~ "Để có thể sử dụng được nhóm conform rfc2307bis, objectClass "
+#~ "'posixGroup' (nhóm posix) phải được hỗ trợ     "
 
-#: setup/setup_migrate.tpl:60 setup/setup_migrate.tpl:107
-msgid "Close"
-msgstr "Đóng"
+#~ msgid ""
+#~ "Your schema is configured to support the rfc2307bis group, but you have "
+#~ "disabled this option on the 'ldap setup' step."
+#~ msgstr ""
+#~ "Lược đồ của bạn được cấu hình để hỗ trợ nhóm rfc2307bis, nhưng bạn đã vừa "
+#~ "tắt chức năng này đi trong bước 'cài đặt ldap'."
 
-#: setup/setup_migrate.tpl:65
-msgid "Move windows workstations into a valid windows workstation department"
-msgstr ""
-"Chuyển một máy trạm window thành một bộ phận máy trạm windown có hiệu lực"
+#, fuzzy
+#~ msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#~ msgstr "ObjectClass (Lớp đối tượng) 'posixGroup' phải CÓ CẤU TRÚC"
 
-#: setup/setup_migrate.tpl:67
-msgid ""
-"This dialog allows you to move the displayed windows workstations into a "
-"valid department"
-msgstr ""
-"Hộp thoại này cho phép bạn chuyển từ một máy trạm window được hiển thị sang "
-"một bộ phận có hiệu lực"
+#~ msgid ""
+#~ "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to "
+#~ "exist."
+#~ msgstr ""
+#~ "Lệnh '%s', được xác định là POSTMODIFY (thay đổi sau) cho chế độ plugin "
+#~ "'%s' hình như không tồn tại."
 
-#: setup/setup_migrate.tpl:69
-msgid ""
-"Be careful with this tool, there may be references pointing to this "
-"workstations that can't be migrated."
-msgstr ""
-"Hãy cẩn thận với công cụ này, có thể có các tham chiếu hướng đến máy trạm "
-"này mà không thể được du nhập vào."
+#, fuzzy
+#~ msgid "Cannot allocate a free ID:"
+#~ msgstr "Không thể phân phối một ID miễn phí!"
 
-#: setup/setup_migrate.tpl:95
-msgid "Move selected windows workstations into the following GOsa department"
-msgstr ""
-"Chuyển những máy trạm window đã chọn vào trong những bộ phận GOsa tiếp theo"
+#, fuzzy
+#~ msgid "Cannot allocate a free ID!"
+#~ msgstr "Không thể phân phối một ID miễn phí!"
 
-#: setup/setup_migrate.tpl:100
-msgid "Move selected workstations"
-msgstr "Chuyển các máy trạm đã chọn"
+#, fuzzy
+#~ msgid "Surename"
+#~ msgstr "Họ "
 
-#: setup/setup_migrate.tpl:101
-msgid "What will be done here"
-msgstr "Việc sẽ được làm ở đây"
+#~ msgid "External password changer reported a problem: %s."
+#~ msgstr "Bộ thay đổi mật khẩu bên ngoài báo cáo có vấn đề:%s."
 
-#: setup/setup_migrate.tpl:113
-msgid "Move groups into configured group tree"
-msgstr "Chuyển nhóm thành cây nhóm đã được cấu hình"
+#~ msgid "Username"
+#~ msgstr "Tên người dùng"
 
-#: setup/setup_migrate.tpl:116
-msgid ""
-"This dialog allows moving a couple of groups to the configured group tree. "
-"Doing this may straighten your LDAP service."
-msgstr ""
-"Hộp thoại này cho phép việc chuyển một vài nhóm đến cây nhóm đã được cấu "
-"hình. Thực hiện việc này có thể sẽ làm gọn gàng dịch vụ LDAP của bạn."
+#~ msgid ""
+#~ "You've successfully changed your password. Remember to change all "
+#~ "programms configured to use it as well."
+#~ msgstr ""
+#~ "Bạn đã thay đổi mật khẩu thành công. Hãy nhớ thay đổi cả các chương trình "
+#~ "cấu hình để sử dụng được nó."
 
-#: setup/setup_migrate.tpl:119
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"groups. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
-msgstr ""
-"Hãy cẩn thận với lựa chọn này! Có thể có các thông tin tham chiếu hướng đến "
-"nhóm này. Cài đặt Gosa không thể di trú các tham chiếu này, vì thế bạn có "
-"thể muốn hủy bỏ việc di trú trong trường hợp này."
+#~ msgid "Ok"
+#~ msgstr "Ok"
 
-#: setup/setup_migrate.tpl:122
-msgid "Move selected groups into this group tree"
-msgstr "Chuyển các nhóm đã chọn vào trong các cây nhóm"
+#, fuzzy
+#~ msgid "Grant permission to owner"
+#~ msgstr "Không thể thiết lập phép cho '%s'"
 
-#: setup/setup_migrate.tpl:153 setup/setup_migrate.tpl:205
-#: setup/setup_migrate.tpl:254 setup/setup_migrate.tpl:372
-#: setup/setup_migrate.tpl:425 setup/setup_migrate.tpl:469
-#: setup/setup_migrate.tpl:512 setup/setup_migrate.tpl:556
-msgid "Hide changes"
-msgstr "Ẩn các thay đổi"
+#~ msgid "Password change not allowed"
+#~ msgstr "Bạn không được phép thay đổi mật khẩu"
 
-#: setup/setup_migrate.tpl:155 setup/setup_migrate.tpl:207
-#: setup/setup_migrate.tpl:237 setup/setup_migrate.tpl:374
-#: setup/setup_migrate.tpl:427 setup/setup_migrate.tpl:472
-#: setup/setup_migrate.tpl:515 setup/setup_migrate.tpl:559
-msgid "Show changes"
-msgstr "Hiển thị các thay đổi"
+#~ msgid "Preferred langage"
+#~ msgstr "Ngôn ngữ muốn dùng"
 
-#: setup/setup_migrate.tpl:168
-msgid "Move users into configured user tree"
-msgstr "Chuyển người dùng sang cây người dùng được cấu hình"
+#~ msgid "Posix settings"
+#~ msgstr "Thiết lập Posix"
 
-#: setup/setup_migrate.tpl:170
-msgid ""
-"This dialog allows moving a couple of users to the configured user tree. "
-"Doing this may straighten your LDAP service."
-msgstr ""
-"Hộp thoại này cho phép việc chuyển một vài nhóm đến cây nhóm đã được cấu "
-"hình. Thực hiện việc này có thể sẽ làm gọn gàng dịch vụ LDAP của bạn."
+#~ msgid "You have no permission to set your password!"
+#~ msgstr "Bạn không có quyền lập mật khẩu cho bạn!"
 
-#: setup/setup_migrate.tpl:173
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"users. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
-msgstr ""
-"Hãy cẩn thận với lựa chọn này! Có thể có các thông tin tham chiếu hướng đến "
-"nhóm này. Cài đặt Gosa không thể di trú các tham chiếu này, vì thế bạn có "
-"thể muốn hủy bỏ việc di trú trong trường hợp này."
+#~ msgid ""
+#~ "You have changed the method your password is stored in the ldap database. "
+#~ "For that reason you've to enter your password at this point again. GOsa "
+#~ "will then encode it with the selected method."
+#~ msgstr ""
+#~ "Bạn đã thay đổi phương pháp mà mật khẩu của bạn được lưu trữ trong cơ sở "
+#~ "dữ liệu ldap. Vì lý do đó bạn phải nhập mật khẩu lại tại điểm này. Gosa "
+#~ "sau đó sẽ mã hóa nó với phương pháp đã được lựa chọn."
 
-#: setup/setup_migrate.tpl:176
-msgid "Move selected users into this people tree"
-msgstr "Chuyển người dùng sang cây người dùng được cấu hình"
+#~ msgid "Posix"
+#~ msgstr "Posix"
 
-#: setup/setup_migrate.tpl:219
 #, fuzzy
-msgid "Migrate GOsa 2.5 administrative accounts"
-msgstr "Tạo ra một tài khoản admin GOsa mới"
+#~ msgid "Edit posix properties"
+#~ msgstr "Hiệu chỉnh các tính năng điện thoại"
 
-#: setup/setup_migrate.tpl:221
-msgid ""
-"This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
-"useable accounts."
-msgstr ""
-
-#: setup/setup_migrate.tpl:257 setup/setup_ldap.tpl:65
-msgid "Reload"
-msgstr "Tải lại"
+#~ msgid "winstations"
+#~ msgstr "máy trạm dùng win "
 
-#: setup/setup_migrate.tpl:273
-msgid "Abort"
-msgstr "Ngừng lại"
+#, fuzzy
+#~ msgid "Sytem trust"
+#~ msgstr "Ủy thác hệ thống"
 
-#: setup/setup_migrate.tpl:275
-msgid "Create a new GOsa administrator account"
-msgstr "Tạo ra một tài khoản admin GOsa mới"
+#, fuzzy
+#~ msgid "Processing"
+#~ msgstr "Cho phép"
 
-#: setup/setup_migrate.tpl:278
-msgid ""
-"This dialog will automatically add a new super administrator to your LDAP "
-"tree."
-msgstr "Hộp thoại này sẽ tự động thêm một siêu admin mới vào cây LDAP của bạn."
+#, fuzzy
+#~ msgid "Created"
+#~ msgstr "Tạo "
 
-#: setup/setup_migrate.tpl:307
-msgid "Password (again)"
-msgstr "Mật khẩu (nhập lại)"
+#, fuzzy
+#~ msgid "No Content"
+#~ msgstr "Nội dung"
 
-#: setup/setup_migrate.tpl:333
-msgid ""
-"The listed departments are currently invisible in the GOsa user interface. "
-"If you want to change this for a couple of entries, select them and use the "
-"migrate button below."
-msgstr ""
-"Các bộ  phận  được liệt kê hiện đang bị ẩn trên giao diện người dùng của "
-"GOsa. Nếu bạn muốn thay đổi việc này cho một số entry, lựa chọn chúng và sử "
-"dụng phím 'di trú' ở dưới."
+#, fuzzy
+#~ msgid "Reset Content"
+#~ msgstr "Nội dung"
 
-#: setup/setup_migrate.tpl:334 setup/setup_migrate.tpl:389
-#: setup/setup_migrate.tpl:445 setup/setup_migrate.tpl:489
-#: setup/setup_migrate.tpl:533
-msgid ""
-"If you want to know what will be done when migrating the selected entries, "
-"use the 'Show changes' button to see the LDIF."
-msgstr ""
-"Nếu bạn muốn biết việc gì sẽ được tiến hành khi di trú các entry được chọn "
-"này, hãy sử dụng phím 'hiển thị thay đổi 'để xem định dạng LDIF."
+#, fuzzy
+#~ msgid "Partial Content"
+#~ msgstr "Nội dung"
 
-#: setup/setup_migrate.tpl:388
 #, fuzzy
-msgid ""
-"The listed users are currently invisible in the GOsa user interface. If you "
-"want to change this for a couple of users, just select them and use the "
-"'Migrate' button below."
-msgstr ""
-"Các bộ  phận  được liệt kê hiện đang bị ẩn trên giao diện người dùng của "
-"Gosa. Nếu bạn muốn thay đổi việc này cho một số entry, lựa chọn chúng và sử "
-"dụng phím \"Di trú\" ở dưới."
+#~ msgid "Multi-Status"
+#~ msgstr "Trạng thái"
 
-#: setup/setup_migrate.tpl:444
 #, fuzzy
-msgid ""
-"The listed devices are currently invisible in the GOsa interface. If you "
-"want to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
-msgstr ""
-"Các bộ  phận  được liệt kê hiện đang bị ẩn trên giao diện người dùng của "
-"Gosa. Nếu bạn muốn thay đổi việc này cho một số entry, lựa chọn chúng và sử "
-"dụng phím \"Di trú\" ở dưới."
+#~ msgid "Multiple Choice"
+#~ msgstr "Hiệu chỉnh đa dạng"
 
-#: setup/setup_migrate.tpl:488
 #, fuzzy
-msgid ""
-"The listed services are currently invalid for the GOsa version you are going "
-"to install. If you want to update a couple of service, just select them and "
-"use the 'Migrate' button below."
-msgstr ""
-"Các bộ  phận  được liệt kê hiện đang bị ẩn trên giao diện người dùng của "
-"Gosa. Nếu bạn muốn thay đổi việc này cho một số entry, lựa chọn chúng và sử "
-"dụng phím \"Di trú\" ở dưới."
+#~ msgid "See Other"
+#~ msgstr "Chọn người dùng"
 
-#: setup/setup_migrate.tpl:532
 #, fuzzy
-msgid ""
-"The listed menus are currently invisible in the GOsa interface. If you want "
-"to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
-msgstr ""
-"Các bộ  phận  được liệt kê hiện đang bị ẩn trên giao diện người dùng của "
-"Gosa. Nếu bạn muốn thay đổi việc này cho một số entry, lựa chọn chúng và sử "
-"dụng phím \"Di trú\" ở dưới."
+#~ msgid "Not Modified"
+#~ msgstr "Không cho phép"
 
-#: setup/class_setupStep_Finish.inc:38
-msgid "Write configuration file"
-msgstr "Viết file cấu hình"
+#, fuzzy
+#~ msgid "Use Proxy"
+#~ msgstr "Proxy"
 
-#: setup/class_setupStep_Finish.inc:39
-msgid "Finish - write the configuration file"
-msgstr "Kết thúc - viết file cấu hình"
+#, fuzzy
+#~ msgid "(reserviert)"
+#~ msgstr "các server"
 
-#: setup/class_setupStep_Finish.inc:104
-msgid ""
-"Your configuration file is currently world readable. Please update the file "
-"permissions!"
-msgstr ""
-"File cấu hình của bạn hiện cả thế giới đều đọc được. Xin hãy cập nhật quyền "
-"truy cập file!"
+#, fuzzy
+#~ msgid "Not Found"
+#~ msgstr "Không cho phép"
 
-#: setup/class_setupStep_Finish.inc:106
-msgid "The configuration is currently not readable or it does not exists."
-msgstr "Cấu hình hiện tại không thể đọc được hoặc nó không tồn tại."
+#, fuzzy
+#~ msgid "Method Not Allowed"
+#~ msgstr "Không cho phép"
 
-#: setup/class_setupStep_Finish.inc:115
-#, php-format
-msgid ""
-"After downloading and placing the file under %s, please make sure that the "
-"user the webserver is running with is able to read %s, while other users "
-"shouldn't. You may want to execute these commands to achieve this "
-"requirement:"
-msgstr ""
-"Sau khi tải về và đặt file này dưới %s, xin hãy đảm bảo rằng người dùng mà "
-"webserver này đang chạy với có thể đọc được %s, trong khi những người dùng "
-"khác không thể. Bạn có thể muốn chạy những lệnh này để đạt được yêu cầu:"
+#, fuzzy
+#~ msgid "Proxy Authentication Required"
+#~ msgstr "Lỗi xác định thẩm quyền"
 
-#: setup/class_setupStep_Checks.inc:38 setup/class_setupStep_Checks.inc:39
-msgid "Installation check"
-msgstr "Kiểm tra cài đặt"
+#, fuzzy
+#~ msgid "Gone"
+#~ msgstr "không có"
 
-#: setup/class_setupStep_Checks.inc:40
-msgid "Basic checks for PHP compatibility and extensions"
-msgstr "Kiểm tra cơ bản cho khả năng tương thích và mở rộng PHP "
+#, fuzzy
+#~ msgid "Precondition Failed"
+#~ msgstr "Viết file cấu hình"
 
-#: setup/class_setupStep_Checks.inc:64
-msgid "Checking PHP version"
-msgstr "Kiểm tra phiên bản PHP"
+#, fuzzy
+#~ msgid "Expectation Failed"
+#~ msgstr "Hoạt động LDAP thất bại!"
 
-#: setup/class_setupStep_Checks.inc:65
-#, php-format
-msgid "PHP must be of version %s or above."
-msgstr "PHP phải là phiên bản %s hoặc như trên."
+#, fuzzy
+#~ msgid "Locked"
+#~ msgstr "Danh sách người dùng"
 
-#: setup/class_setupStep_Checks.inc:66
-msgid "Please upgrade to a supported version."
-msgstr "Xin hãy cập nhật cho một phiên bản hỗ trợ."
+#, fuzzy
+#~ msgid "Unordered Collection"
+#~ msgstr "Thiết lập nhóm"
 
-#: setup/class_setupStep_Checks.inc:73
-msgid "GOsa requires this module to talk with your LDAP server."
-msgstr "GOsa yêu cầu môdun này giao tiếp với server LDAP của bạn."
+#, fuzzy
+#~ msgid "Internal Server Error"
+#~ msgstr "Lỗi nội bộ"
 
-#: setup/class_setupStep_Checks.inc:81
-msgid "GOsa requires this module for an internationalized interface."
-msgstr "GOsa yêu cầu môdun này cho một giao diện được quốc tế hóa."
+#, fuzzy
+#~ msgid "Not Implemented"
+#~ msgstr "Đã hoàn thành"
 
-#: setup/class_setupStep_Checks.inc:89
-msgid "GOsa requires this module for the samba integration."
-msgstr "GOsa yêu cầu mô-đun này cho việc tích hợp samba."
+#~ msgid "GOsa settings 3/3"
+#~ msgstr "Thiết lập GOsa 3/3"
 
-#: setup/class_setupStep_Checks.inc:97
-#, fuzzy
-msgid ""
-"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
-"encryption."
-msgstr "GOsa yêu cầu môdun này để tận dụng được việc mã hóa SSHA."
+#~ msgid "Tweak some GOsa core behaviour"
+#~ msgstr "Chỉnh sửa một số đặc tính lõi của GOsa"
 
-#: setup/class_setupStep_Checks.inc:105
-msgid "GOsa requires this module to talk to an IMAP server."
-msgstr "GOsa yêu cầu mô-đun này để giao tiếp với server IMAP."
+#~ msgid "Session lifetime must be a numeric value!"
+#~ msgstr "Khoảng thời gian của phiên phải là một giá trị số!"
 
-#: setup/class_setupStep_Checks.inc:112
-msgid "mbstring"
-msgstr "mbstring"
+#~ msgid "Maximum LDAP query time must be a numeric value!"
+#~ msgstr "Thời gian tối đa để yêu cầu LDAP phải là một giá trị số!"
 
-#: setup/class_setupStep_Checks.inc:113
-msgid "GOsa requires this module to handle unicode strings."
-msgstr "GOsa cần môđun này để sử lý những đoạn mã unicode."
+#~ msgid ""
+#~ "This seems to be the first time you start GOsa - we didn't find any "
+#~ "configuration right now. This simple wizard intends to help you while "
+#~ "setting it up."
+#~ msgstr ""
+#~ "Có vẻ đây là lần đầu tiên bạn khởi động Gosa - chúng tôi không tìm thấy "
+#~ "cấu hình nào ngay lúc này. Wizard đơn giản dự định giúp bạn trong khi "
+#~ "đang cài đặt nó."
 
-#: setup/class_setupStep_Checks.inc:120
-msgid "MySQL"
-msgstr "MySOL"
+#~ msgid "What will the wizard do for you?"
+#~ msgstr "Wizard sẽ giúp bạn những gì?"
 
-#: setup/class_setupStep_Checks.inc:121
-msgid ""
-"GOsa requires this module to communicate with several supported databases."
-msgstr ""
-"GOsa cần mô đun này để giao tiếp với một vài cơ sở dữ liệu được hỗ trợ."
+#~ msgid "Create a basic, single site configuration"
+#~ msgstr "Tạo ra một cấu hình trang đơn, đơn giản"
 
-#: setup/class_setupStep_Checks.inc:138
-msgid "samba hash generator"
-msgstr "Bộ sinh ra hàm băm Samba"
+#~ msgid "Tries to find problems within your PHP and LDAP setup"
+#~ msgstr "Cố gắng tìm ra vấn đề trong cài đặt PHP và LDAP của bạn "
 
-#: setup/class_setupStep_Checks.inc:139
-msgid "GOsa requires this command to synchronize POSIX and samba passwords."
-msgstr "GOsa cần lệnh này để đồng bộ hóa mật khẩu của POSIX và Samba."
+#~ msgid ""
+#~ "Let you choose from a set of basic and advanced configuration switches"
+#~ msgstr ""
+#~ "Cho phép bạn lựa chọn từ một loạt các phím chuyển cấu hình cơ bản và cao "
+#~ "cấp"
 
-#: setup/class_setupStep_Checks.inc:140
-msgid ""
-"Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
-msgstr ""
-"Triển khai việc cài đặt gosa-si hoặc cài đặt các môđun ngôn ngữ perl Crypt::"
-"SmbHash."
+#~ msgid "Guided migration of existing LDAP trees"
+#~ msgstr "Di trú có hướng dẫn của các cây LDAP hiện có"
 
-#: setup/class_setupStep_Checks.inc:153
-msgid "imagick"
-msgstr ""
+#~ msgid "What will the wizard NOT do for you?"
+#~ msgstr "Wizard không thể làm gì được cho bạn?"
 
-#: setup/class_setupStep_Checks.inc:154
-#, fuzzy
-msgid "GOsa requires this extension to handle images."
-msgstr "GOsa cần môđun này để sử lý những đoạn mã unicode."
+#~ msgid "Find every possible configuration error"
+#~ msgstr "Tìm được mọi lỗi cấu hình có thể xảy ra"
 
-#: setup/class_setupStep_Checks.inc:169
-#, fuzzy
-msgid "compression module"
-msgstr "Kiểm soát truy cập"
+#~ msgid "Migrate every possible LDAP setup - create backup dumps!"
+#~ msgstr "Di trú mọi cài đặt LDAP - và tạo ra các xổ backup!"
 
-#: setup/class_setupStep_Checks.inc:170
-#, fuzzy
-msgid "GOsa requires this extension to handle snapshots."
-msgstr "GOsa cần môđun này để sử lý những đoạn mã unicode."
+#~ msgid "To continue..."
+#~ msgstr "Còn nữa..."
 
-#: setup/class_setupStep_Checks.inc:181
-msgid ""
-"register_globals is a PHP mechanism to register all global variables to be "
-"accessible from scripts without changing the scope. This may be a security "
-"risk."
-msgstr ""
-"đăng ký_toàn cầu (register_globals) là một cơ chế PHP dùng để đăng ký tất cả "
-"các biến số toàn cầu mà có thể truy cập từ các tập lệnh mà không phải thay "
-"đổi phạm vi. Đây có thể là một rủi ro về bảo mật."
+#~ msgid "Samba settings"
+#~ msgstr "Thiết lập Samba"
 
-#: setup/class_setupStep_Checks.inc:182
-msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
-msgstr ""
-"Tìm kiếm 'register_globals' trong thư mục php.ini của bạn và chuyển nó thành "
-"'Off'."
+#~ msgid "Samba hash generator"
+#~ msgstr "Bộ tạo ra các hàm băm Samba"
 
-#: setup/class_setupStep_Checks.inc:190
-msgid "PHP uses this value for the garbage collector to delete old sessions."
-msgstr ""
-"PHP sử dụng giá trị này để phần mềm thu dọn rác có thể sóa các phiên cũ đi."
+#~ msgid "Samba SID"
+#~ msgstr "SID của Samba"
 
-#: setup/class_setupStep_Checks.inc:191
-msgid ""
-"Setting this value to one day will prevent loosing session and cookies "
-"before they really timeout."
-msgstr ""
-"Thiết lập giá trị này đến một ngày sẽ ngăn cản việc mất đi các phiên và "
-"cookies trước khi chúng thực sự hết hạn."
+#~ msgid "RID base"
+#~ msgstr "Gốc RID"
 
-#: setup/class_setupStep_Checks.inc:192
-msgid ""
-"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
-"higher."
-msgstr ""
-"Tìm kiếm  'session.gc_maxlifetime' trong thư mục php.ini của bạn và thiết "
-"lập nó đển 86400 hoặc cao hơn."
+#~ msgid "Workstation container"
+#~ msgstr "Công ten nơ chứa máy trạm"
 
-#: setup/class_setupStep_Checks.inc:199 setup/class_setupStep_Checks.inc:215
-#: setup/class_setupStep_Checks.inc:231 setup/class_setupStep_Checks.inc:247
-msgid "Off"
-msgstr "Tắt"
+#~ msgid "Samba SID mapping"
+#~ msgstr "Ánh xạ SID samba"
 
-#: setup/class_setupStep_Checks.inc:200
-msgid ""
-"In Order to use GOsa without any trouble, the session.auto_register option "
-"in your php.ini should be set to 'Off'."
-msgstr ""
-"Để có thể sử dụng được GOsa mà không gặp vấn đề nào, lựa chọn session."
-"auto_register trong php.ini nên được thiết lập là 'Off' (tắt)."
+#~ msgid "Timezone"
+#~ msgstr "Múi giờ"
 
-#: setup/class_setupStep_Checks.inc:201
-msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
-msgstr ""
-"Tìm kiếm  'session.auto_start' trong thư mục php.ini của bạn và đặt nó thành "
-"'Off'."
+#~ msgid "Please choose your preferred timezone here"
+#~ msgstr "Xin hãy lựa chọn múi giờ bạn muốn ở đây"
 
-#: setup/class_setupStep_Checks.inc:208
-msgid ""
-"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
-"errors that are not reproducable! Increase it for larger setups."
-msgstr ""
-"GOsa cần một dung lượng bộ nhớ ít nhất là 32MB. Thiết lập nó dưới giới hạn "
-"này có thể sẽ gây ra lỗi mà không thể tự sản sinh ra kết quả nữa! Hãy tăng "
-"dung lượng lên cho cài đặt lớn hơn."
+#~ msgid "Additional GOsa settings"
+#~ msgstr "Thiết lập thêm của GOsa"
 
-#: setup/class_setupStep_Checks.inc:209
-msgid ""
-"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
-msgstr ""
-"Tìm kiếm  'memory_limit' trong thư mục php.ini của bạn và thiết lập nó lên "
-"'32M' hoặc cao hơn."
+#~ msgid "Enable Copy & Paste"
+#~ msgstr "Bật chức năng Copy & Paste"
 
-#: setup/class_setupStep_Checks.inc:216
-msgid ""
-"This option influences the PHP output handling. Turn this Option off, to "
-"increase performance."
-msgstr ""
-"Lựa chọn này sẽ ảnh hưởng tới việc sử lý đầu vào PHP. Tắt chức năng này đi, "
-"để tăng khả năng hoạt động."
+#~ msgid "Government mode"
+#~ msgstr "Chế độ nhà nước"
 
-#: setup/class_setupStep_Checks.inc:217
-msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
-msgstr ""
-"Tìm kiếm 'implicit_flush' trong thư mục php.ini của bạn và chuyển nó sang "
-"'Off'."
+#, fuzzy
+#~ msgid "GOsa logging"
+#~ msgstr "Màn hình đăng nhập GOsa"
 
-#: setup/class_setupStep_Checks.inc:224
-msgid "The Execution time should be at least 30 seconds."
-msgstr "Thời gian chạy ít nhất là 30 giây."
+#~ msgid "Mail settings"
+#~ msgstr "Thiết lập mail"
 
-#: setup/class_setupStep_Checks.inc:225
-msgid ""
-"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
-msgstr ""
-"Tìm kiếm 'max_execution_time' trong thư mục php.ini của bạn và thiết lập nó "
-"đến '30' hoặc cao hơn."
+#~ msgid "Mail method"
+#~ msgstr "Phương pháp Mail"
 
-#: setup/class_setupStep_Checks.inc:232
-msgid ""
-"Increase the server security by setting expose_php to 'off'. PHP won't send "
-"any information about the server you are running in this case."
-msgstr ""
-"Tăng tính bảo mật của server bằng việc thiết lập expose_php thành 'off'. PHP "
-"sẽ không gửi bất cứ thông tin nào về server bạn đang chạy trong trường hợp "
-"này."
+#~ msgid "Account identification attribute"
+#~ msgstr "Thuộc tính xác minh tài khoản"
 
-#: setup/class_setupStep_Checks.inc:233
-msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
-msgstr ""
-"Tìm kiếm 'expose_php' trong thư much php.ini của bạn và chuyển nó thành "
-"'Off'."
+#~ msgid "Vacation templates"
+#~ msgstr "Mẫu kỳ nghỉ"
 
-#: setup/class_setupStep_Checks.inc:239
-msgid "On"
-msgstr "Bật"
+#~ msgid "Use Cyrus UNIX style"
+#~ msgstr "Sử dụng phong cách Cyrus Unix"
 
-#: setup/class_setupStep_Checks.inc:240
-msgid ""
-"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
-"escape all quotes in strings in this case."
-msgstr ""
-"Tăng cường an ninh cho server của bạn bằng cách thiết lập magic_quotes_gpc "
-"thành 'on'. PHP sẽ giải thoát tất cả các trích dẫn trong các đoạn mã trong "
-"trường hợp này."
+#~ msgid "Snapshots / Undo"
+#~ msgstr "Snapshots/Undo"
 
-#: setup/class_setupStep_Checks.inc:241
-msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
-msgstr ""
-"Tìm kiếm ''magic_quotes_gpc' trong thư mục php.ini của bạn và chuyển nó "
-"thành 'On'"
+#~ msgid "Enable snapshots"
+#~ msgstr "Bật chức năng snapshots"
 
-#: setup/class_setupStep_Checks.inc:248
-msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
-msgstr ""
-"Tăng cường khả năng hoạt động cho server của bạn bằng việc thiết lập "
-"magic_quotes_gpc thành 'off'."
+#~ msgid "Snapshot base"
+#~ msgstr "Gốc snapshot"
 
-#: setup/class_setupStep_Checks.inc:249
-msgid ""
-"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
-msgstr ""
-"Tìm kiếm 'zend.ze1_compatibility_mode' trong thư mục  php.ini và chuyển nó "
-"thành 'Off'."
+#~ msgid "GOsa settings 2/3"
+#~ msgstr "Các thiết lập GOsa 2/3"
 
-#: setup/class_setupStep_Checks.inc:259
-msgid "Configuration writeable"
-msgstr "Cấu hình có thể lưu trữ dữ liệu (writable)"
+#~ msgid "Customize special parameters"
+#~ msgstr "Tùy biến các thông số đặc biệt"
 
-#: setup/class_setupStep_Checks.inc:260
-msgid "The configuration file can't be written"
-msgstr "Không thể viết lên File cấu hình "
+#~ msgid "Enable schema validation when logging in"
+#~ msgstr "Cho phép thông qua lược đồ khi đăng nhập"
 
-#: setup/class_setupStep_Checks.inc:261
-#, php-format
-msgid ""
-"GOsa reads its configuration from a file located in (%s/%s). The setup can "
-"write the configuration directly if it is writeable."
-msgstr ""
-"GOsa đọc cấu hình của nó từ một file trong (%s/%s). Việc cài đặt có thể trực "
-"tiếp viết cấu hình nếu nó là writeable."
+#~ msgid "Checking for invisible departments"
+#~ msgstr "Kiểm tra các bộ phận ẩn"
 
-#: setup/setup_config3.tpl:2
-msgid "GOsa core settings"
-msgstr "thiết lập lõi của GOsa"
+#~ msgid "Checking for invisible users"
+#~ msgstr "Kiểm tra những người dùng ẩn"
+
+#~ msgid "Checking for users outside the people tree"
+#~ msgstr "Kiểm tra người dùng bên ngoài cây con người"
+
+#~ msgid "Checking for groups outside the groups tree"
+#~ msgstr "Kiểm tra nhóm bên ngoài cây nhóm"
+
+#~ msgid "Checking for windows workstations outside the winstation tree"
+#~ msgstr "Kiểm tra máy trạm window bên ngoài cây máy trạm window"
+
+#~ msgid "Checking for duplicated UID numbers"
+#~ msgstr "Kiểm tra các số ID cuả người dùng (UID) được nhân bản"
+
+#~ msgid "Checking for duplicate GID numbers"
+#~ msgstr "Kiểm tra các số ID của nhóm (GID) được nhân bản"
 
-#: setup/setup_config3.tpl:6
 #, fuzzy
-msgid "Enable primary group filter"
-msgstr "Vô hiệu bộ lọc nhóm sơ cấp"
+#~ msgid "Checking for old style USB devices"
+#~ msgstr "Kiểm tra đối tượng gốc"
 
-#: setup/setup_config3.tpl:18
-msgid "Display summary in listings"
-msgstr "Hiển thị tóm tắt trên danh sách"
+#, fuzzy
+#~ msgid "Checking for old services that have to be migrated"
+#~ msgstr "Kiểm tra người dùng bên ngoài cây con người"
 
-#: setup/setup_config3.tpl:30
-msgid "Honour administrative units"
-msgstr "Các đơn vị quản trị chức danh"
+#, fuzzy
+#~ msgid "Checking for old style application menus"
+#~ msgstr "Kiểm tra các bộ phận ẩn"
 
-#: setup/setup_config3.tpl:42
-msgid "Smarty compile directory"
-msgstr "Thư mục soạn thảo Smarty"
+#~ msgid "Found %s duplicate values for attribute 'uidNumber'."
+#~ msgstr "Đã tìm được %s giá trị nhân bản cho thuộc tính  'uidNumder'."
 
-#: setup/setup_config3.tpl:51
-msgid "SNMP community"
-msgstr "Cộng đồng SNMP"
+#~ msgid "Found %s duplicate values for attribute 'gidNumber'."
+#~ msgstr "Đã tìm được %s giá trị nhân bản cho thuộc tính  'gidNumder'."
 
-#: setup/setup_config3.tpl:60
-msgid "Path for PPD storage"
-msgstr "Đường dẫn đến kho lưu trữ PPD"
+#~ msgid ""
+#~ "Found %s winstations outside the predefined winstation department ou '%s'."
+#~ msgstr ""
+#~ "Đã tìm thấy %s máy trạm win bên ngoài bộ phận winstation đã được xác định "
+#~ "trước '%s'."
 
-#: setup/setup_config3.tpl:77
-msgid "Path for kiosk profile storage"
-msgstr "Đường dẫn đến kho lưu trữ profile của ki-ốt"
+#~ msgid "Move"
+#~ msgstr "Chuyển"
 
-#: setup/setup_config3.tpl:96
-msgid "SUDO role base"
-msgstr ""
+#~ msgid "Found %s user(s) outside the configured tree '%s'."
+#~ msgstr "Đã tìm thấy %s người dùng  bên ngoài cây được cấu hình '%s'."
 
-#: setup/setup_config3.tpl:115
-msgid "Mail queue script"
-msgstr "Tập lệnh sắp hàng mail"
+#~ msgid "Found %s user(s) that will not be visible in GOsa."
+#~ msgstr "Đã tìm thấy %s người dùng mà không hiên thị trên GOsa."
 
-#: setup/setup_config3.tpl:134
-msgid "Notification script"
-msgstr "Tập lệnh thông báo"
+#~ msgid "Cannot migrate department '%s':"
+#~ msgstr "Không thể di trú bộ phận '%s':"
 
-#: setup/setup_config3.tpl:153
-msgid "Enable edit locking"
-msgstr "Bật chức năng khóa việc hiệu chỉnh lên"
+#~ msgid "Found %s department(s) that will not be visible in GOsa."
+#~ msgstr "Tìm thấy %s bộ phận mà không hiển thị trên Gosa."
 
-#: setup/setup_config3.tpl:174
 #, fuzzy
-msgid "Gosa support daemon"
-msgstr "GOsa hỗ trợ chương trình daemon"
+#~ msgid "GOsa 2.5 administrative accounts found: %s"
+#~ msgstr "Tạo ra một tài khoản admin GOsa mới"
 
-#: setup/setup_config3.tpl:193
-msgid "Daemon timeout"
-msgstr ""
+#, fuzzy
+#~ msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
+#~ msgstr "Không có một tài khoản Admin cùa Gosa nào trong LDAP của bạn."
 
-#: setup/setup_config3.tpl:207
-msgid "Login and session"
-msgstr "Đăng nhập và phiên"
+#~ msgid "Cannot move users to the requested department!"
+#~ msgstr "Không thể chuyển người dùng đến bộ phận được yêu cầu!"
 
-#: setup/setup_config3.tpl:210
-msgid "Login attribute"
-msgstr "Thuộc tính đăng nhập"
+#~ msgid "to"
+#~ msgstr "đến"
 
-#: setup/setup_config3.tpl:221
-msgid "Enforce register_globals to be deactivated"
-msgstr "Tắt chức năng đăng ký _toàn cầu "
+#~ msgid "Updating following references too"
+#~ msgstr "Cập nhật cả các tham chiếu sau"
 
-#: setup/setup_config3.tpl:233
-msgid "Enforce encrypted connections"
-msgstr "Thực thi việc mã hóa các kết nối"
+#~ msgid "User will be moved from"
+#~ msgstr "Người dùng sẽ được chuyển từ"
 
-#: setup/setup_config3.tpl:245
-msgid "Warn if session is not encrypted"
-msgstr "Cảnh báo nếu một phiên chưa được mã hóa"
+#~ msgid "Copy '%s' to '%s' failed:"
+#~ msgstr "Sao chép '%s' đến '%s' bị thất bại:"
 
-#: setup/setup_config3.tpl:257
-msgid "Remember dialog filter settings"
-msgstr "Nhớ thiết lập bộ lọc đối thoại "
+#, fuzzy
+#~ msgid "Updating '%s' failed: %s"
+#~ msgstr "Tải lên thất bại: %s"
 
-#: setup/setup_config3.tpl:269
-msgid "Session lifetime"
-msgstr "Thời gian cho một phiên (một Session)"
+#~ msgid "Look and feel"
+#~ msgstr "Xem và cảm nhận"
 
-#: setup/setup_config3.tpl:278
-msgid "Debugging"
-msgstr "Sửa lỗi"
+#~ msgid "Theme"
+#~ msgstr "Theme"
 
-#: setup/setup_config3.tpl:282
-msgid "Show PHP errors"
-msgstr "Hiển thị lỗi PHP"
+#~ msgid "Apache"
+#~ msgstr "Apache"
 
-#: setup/setup_config3.tpl:294
-msgid "Maximum LDAP query time"
-msgstr "Thời gian truy vấn LDAP tối đa"
+#~ msgid "Compress output send to browser"
+#~ msgstr "Nén output lại gửi cho trình duyệt"
 
-#: setup/setup_config3.tpl:312
-msgid "Log LDAP statistics"
-msgstr "Đăng nhập thống kê LDAP"
+#~ msgid "People and group storage"
+#~ msgstr "Kho lưu trữ người và nhóm"
 
-#: setup/setup_config3.tpl:324
-msgid "Debug level"
-msgstr "Cấp độ sửa lỗi"
+#~ msgid "People DN attribute"
+#~ msgstr "Thuộc tính DN người"
 
-#: setup/setup_config3.tpl:329 setup/setup_config3.tpl:332
-msgid "Disabled"
-msgstr "Vô hiệu hóa/ Tắt chức năng"
+#~ msgid "People storage subtree"
+#~ msgstr "Cây con lưu trữ người"
 
-#: setup/setup_config3.tpl:330 setup/setup_config3.tpl:333
-msgid "Enabled"
-msgstr "Bật chức năng"
+#~ msgid "Group storage subtree"
+#~ msgstr "Cây con lưu trữ nhóm"
 
-#: setup/setup_feedback.tpl:5
-msgid "Feedback sucessfully send"
-msgstr "Phản hồi đã được gửi thành công"
+#~ msgid "Include personal title in user DN"
+#~ msgstr "Bao gồm chức danh cá nhân trong DN của người dùng"
 
-#: setup/setup_feedback.tpl:15
-msgid "Subscribe to the gosa-announce mailinglist"
-msgstr "Thuê bao đến maillinglist do gosa công bố"
+#~ msgid "Relaxed naming policies"
+#~ msgstr "Chính sách đặt tên thoải mái"
 
-#: setup/setup_feedback.tpl:18
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to subscribe you to the gosa-announce mailing list. You've to confirm "
-"this by mail."
-msgstr ""
-"Khi kiểm tra lựa chọn này, GOsa sẽ cố thử kết nói với http://oss.gonicus.de "
-"để có thể thuê bao bạn với mailing list mà gosa công bố. Bạn phải xác minh "
-"việc này bằng thư."
+#~ msgid "Automatic UIDs"
+#~ msgstr "Các UID tự động"
 
-#: setup/setup_feedback.tpl:39
-msgid "Mail address"
-msgstr "Địa chỉ thư"
+#~ msgid "GID / UID min id"
+#~ msgstr "ID min GID/UID"
 
-#: setup/setup_feedback.tpl:50
-msgid "Send feedback to the GOsa project team"
-msgstr "Gửi phản hồi lại cho nhóm phát triển dự án GOsa"
+#~ msgid "Number base for people/groups"
+#~ msgstr "Cơ sơ số cho người/nhóm"
 
-#: setup/setup_feedback.tpl:53
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to submit your form anonymously."
-msgstr ""
-"Khi kiểm tra lựa chọn này, GOsa sẽ cố gắng kết nối bạn với http://oss."
-"gonicus.de để nộp đăng ký của bạn nặc danh."
+#~ msgid "Hook for number base"
+#~ msgstr "Móc nối với cơ sở số"
 
-#: setup/setup_feedback.tpl:59
-msgid "Did the setup procedure help you to get started?"
-msgstr "Các thủ tục cài đặt có giúp bạn bắt đầu được không?"
+#~ msgid "Password settings"
+#~ msgstr "Thiết lập mật khẩu"
 
-#: setup/setup_feedback.tpl:62 setup/setup_feedback.tpl:80
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "Yes"
-msgstr "Có"
+#~ msgid "Password encryption algorithm"
+#~ msgstr "Thuật toán mã hóa mật khẩu"
 
-#: setup/setup_feedback.tpl:64 setup/setup_feedback.tpl:82
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "No"
-msgstr "Không"
+#~ msgid "Password restrictions"
+#~ msgstr "Các hạn chế mật khẩu"
 
-#: setup/setup_feedback.tpl:69
-msgid "If not, what problems did you encounter"
-msgstr "Nếu không, vấn đề mà bạn gặp phải là gì?"
+#~ msgid "Password minimum length"
+#~ msgstr "Độ dài tối thiểu của mật khẩu"
 
-#: setup/setup_feedback.tpl:77
-msgid "Is this the first time you use GOsa?"
-msgstr "Đây có phải là lần đầu tiên bạn sử dụng GOsa không?"
+#~ msgid "Different characters from old password"
+#~ msgstr "Các ký tự khác với mật khẩu cũ"
 
-#: setup/setup_feedback.tpl:83
-msgid "I use it since"
-msgstr "Tôi sử dụng nó từ khi"
+#~ msgid "Password change hook"
+#~ msgstr "Móc nối việc thay đổi mật khẩu"
 
-#: setup/setup_feedback.tpl:84
-msgid "Select the year since when you are using GOsa"
-msgstr "Lựa chọn năm mà bạn đang sử dụng GOsa"
+#~ msgid "Use SASL for kerberos"
+#~ msgstr "Sử dụng ngôn ngữ SASL cho hệ thống Kerberos"
 
-#: setup/setup_feedback.tpl:91
-msgid "What operating system / distribution do you use?"
-msgstr "Bạn sử dụng loại hệ điều hành/bản phân phối nảo?"
+#~ msgid "Use account expiration"
+#~ msgstr "Sử dụng việc hết hạn tài khoản"
 
-#: setup/setup_feedback.tpl:99
-msgid "What web server do you use?"
-msgstr "Bạn sử dụng loại web server nào?"
+#~ msgid ""
+#~ "GOsa supports several encryption types for your passwords. Normally this "
+#~ "is adjustable via user templates, but you can specify a default method to "
+#~ "be used here, too."
+#~ msgstr ""
+#~ "GOsa hỗ trợ một vài kiểu mã hóa cho các mật khẩu của bạn. Thông thường "
+#~ "thì việc này có thể được điều chỉnh thông qua các khuôn mẫu của người "
+#~ "dùng, nhưng bạn có thể xác định một phương pháp mặc định để nó cũng được "
+#~ "sử dụng ở đây."
 
-#: setup/setup_feedback.tpl:107
-msgid "What PHP version do you use?"
-msgstr "Bạn sử dụng phiên bản PHP nào?"
+#~ msgid ""
+#~ "GOsa always acts as admin and manages access rights internally. This is a "
+#~ "workaround till OpenLDAP's in directory ACI's are    fully implemented. "
+#~ "For this to work, we need the admin DN and the corresponding password."
+#~ msgstr ""
+#~ "GOsa sẽ luôn luôn đóng vai trò admin và quản lý các quyền truy cập nội "
+#~ "bộ. Đây là một cách khác cho tới khi các file OpenLDAP' trong thư mục và "
+#~ "ACI's được thực hiện đầy đủ. Để làm được điều này, chúng ta cần DN của "
+#~ "admin và mật khẩu tương ứng."
 
-#: setup/setup_feedback.tpl:115
-#, fuzzy
-msgid "GOsa version"
-msgstr "Thiết lập GOsa chung "
+#~ msgid ""
+#~ "Some basic LDAP parameters are tunable and affect the locations where "
+#~ "GOsa saves people and groups, including the way accounts get created. "
+#~ "Check the values below if the fit your needs."
+#~ msgstr ""
+#~ "Một số thông số cơ bản của LDAP có thể được điều chỉnh và ảnh hưởng tới "
+#~ "nơi mà Gosa lưu trữ thông tin về người và nhóm, bao gồm cả cách mà các "
+#~ "tài khoản được lập ra. Kiểm tra các giá trị dưới đây nếu chúng phù hợp "
+#~ "với nhu cầu của bạn."
 
-#: setup/setup_feedback.tpl:123
-msgid "LDAP"
-msgstr "LDAP"
+#~ msgid ""
+#~ "GOsa has modular support for several mail methods. These methods provide "
+#~ "interfaces to users mailboxes and general handling    for quotas. You can "
+#~ "choose the dummy plugin to leave all your mail settings untouched."
+#~ msgstr ""
+#~ "GOsa có  mô-đun hỗ trợ cho một vài phương pháp gửi thư. Các phương pháp "
+#~ "này cung cấp các giao diện đến hộp thư của người dùng và cách giải quyết "
+#~ "thông thường với các hạn ngạnh. Bạn có thể lựa chọn chế độ dummy plugin "
+#~ "để không ai đụng tới được tất cả các thiết lập mail của bạn."
 
-#: setup/setup_feedback.tpl:127
-msgid "What kind of LDAP server(s) do you use?"
-msgstr "Bạn sử dụng loại LDAP server nào?"
+#, fuzzy
+#~ msgid "Enable primary group filter"
+#~ msgstr "Vô hiệu bộ lọc nhóm sơ cấp"
 
-#: setup/setup_feedback.tpl:133
-msgid "How many objects are in your LDAP?"
-msgstr "Có bao nhiêu đối tượng trong LDAP của bạn?"
+#~ msgid "Display summary in listings"
+#~ msgstr "Hiển thị tóm tắt trên danh sách"
 
-#: setup/setup_feedback.tpl:140
-msgid "Features"
-msgstr "Các tính năng"
+#~ msgid "Honour administrative units"
+#~ msgstr "Các đơn vị quản trị chức danh"
 
-#: setup/setup_feedback.tpl:143
-msgid "What features of GOsa do you use?"
-msgstr "Bạn sử dụng tính năng nào của GOsa?"
+#~ msgid "SNMP community"
+#~ msgstr "Cộng đồng SNMP"
 
-#: setup/setup_feedback.tpl:153
-msgid "What features do you want to see in future versions of GOsa?"
-msgstr ""
-"Bạn muốn được thấy tính năng nào trong các phiên bản tương lai của GOsa?"
+#~ msgid "Path for PPD storage"
+#~ msgstr "Đường dẫn đến kho lưu trữ PPD"
 
-#: setup/setup_feedback.tpl:160
-msgid "Send feedback"
-msgstr "Gửi phản hồi"
+#~ msgid "Mail queue script"
+#~ msgstr "Tập lệnh sắp hàng mail"
 
-#: setup/setup_finish.tpl:3
-msgid "Create your configuration file"
-msgstr "Tạo ra file cấu hình của bạn"
+#~ msgid "Enable edit locking"
+#~ msgstr "Bật chức năng khóa việc hiệu chỉnh lên"
 
-#: setup/setup_finish.tpl:10
-msgid "Depending on the user name your webserver is running on:"
-msgstr ""
+#, fuzzy
+#~ msgid "Gosa support daemon"
+#~ msgstr "GOsa hỗ trợ chương trình daemon"
 
-#: setup/setup_finish.tpl:28
-msgid "Download configuration"
-msgstr "Tải cấu hình về"
+#~ msgid "Login and session"
+#~ msgstr "Đăng nhập và phiên"
 
-#: setup/setup_finish.tpl:33
-msgid "Status: "
-msgstr "Trạng thái: "
+#~ msgid "Enforce register_globals to be deactivated"
+#~ msgstr "Tắt chức năng đăng ký _toàn cầu "
 
-#: setup/class_setupStep_Ldap.inc:53
-msgid "LDAP setup"
-msgstr "Cài đặt LDAP"
+#~ msgid "Warn if session is not encrypted"
+#~ msgstr "Cảnh báo nếu một phiên chưa được mã hóa"
 
-#: setup/class_setupStep_Ldap.inc:54
-msgid "LDAP connection setup"
-msgstr "Thiết lập kết nối LDAP"
+#~ msgid "Remember dialog filter settings"
+#~ msgstr "Nhớ thiết lập bộ lọc đối thoại "
 
-#: setup/class_setupStep_Ldap.inc:55
-msgid ""
-"This dialog performs the basic configuration of the LDAP connectivity for "
-"GOsa."
-msgstr ""
-"Đối thoại này chạy cấu hình đơn giản của khả năng kết nối LDAP với Gosa."
+#~ msgid "Session lifetime"
+#~ msgstr "Thời gian cho một phiên (một Session)"
 
-#: setup/class_setupStep_Ldap.inc:112
-#, php-format
-msgid "Anonymous bind to server '%s' failed!"
-msgstr "Kết nối nặc danh với server '%s' thất bại!"
+#~ msgid "Debugging"
+#~ msgstr "Sửa lỗi"
 
-#: setup/class_setupStep_Ldap.inc:114
-#, php-format
-msgid "Bind as user '%s' failed!"
-msgstr "Kết nối với vai trò người dùng '%s' thất bại!"
+#~ msgid "Show PHP errors"
+#~ msgstr "Hiển thị lỗi PHP"
 
-#: setup/class_setupStep_Ldap.inc:119
-#, php-format
-msgid "Anonymous bind to server '%s' succeeded."
-msgstr "Kết nối nặc danh đến server '%s' thành công."
+#~ msgid "Maximum LDAP query time"
+#~ msgstr "Thời gian truy vấn LDAP tối đa"
 
-#: setup/class_setupStep_Ldap.inc:120
-msgid "Please specify user and password!"
-msgstr "Xin hãy xác định người dùng và mật khẩu!"
+#~ msgid "Debug level"
+#~ msgstr "Cấp độ sửa lỗi"
 
-#: setup/class_setupStep_Ldap.inc:122
-#, php-format
-msgid "Bind as user '%s' to server '%s' succeeded!"
-msgstr "Kết nối với tư cách người dùng '%s' đến server '%s' thành công!"
+#~ msgid "Disabled"
+#~ msgstr "Vô hiệu hóa/ Tắt chức năng"
 
-#: setup/setup_ldap.tpl:7
-msgid "Please choose the LDAP user to be used by GOsa"
-msgstr "Xin hãy chọn người dùng LDAP để được sử dụng bởi GOsa"
+#~ msgid ""
+#~ "Move windows workstations into a valid windows workstation department"
+#~ msgstr ""
+#~ "Chuyển một máy trạm window thành một bộ phận máy trạm windown có hiệu lực"
 
-#: setup/setup_ldap.tpl:25
-msgid "LDAP connection"
-msgstr "Kết nối LDAP"
+#~ msgid ""
+#~ "This dialog allows you to move the displayed windows workstations into a "
+#~ "valid department"
+#~ msgstr ""
+#~ "Hộp thoại này cho phép bạn chuyển từ một máy trạm window được hiển thị "
+#~ "sang một bộ phận có hiệu lực"
 
-#: setup/setup_ldap.tpl:29
-msgid "Location name"
-msgstr "Tên vị trí"
+#~ msgid ""
+#~ "Be careful with this tool, there may be references pointing to this "
+#~ "workstations that can't be migrated."
+#~ msgstr ""
+#~ "Hãy cẩn thận với công cụ này, có thể có các tham chiếu hướng đến máy trạm "
+#~ "này mà không thể được du nhập vào."
 
-#: setup/setup_ldap.tpl:37
-#, fuzzy
-msgid "Connection URI"
-msgstr "Kết nối URL"
+#~ msgid ""
+#~ "Move selected windows workstations into the following GOsa department"
+#~ msgstr ""
+#~ "Chuyển những máy trạm window đã chọn vào trong những bộ phận GOsa tiếp "
+#~ "theo"
 
-#: setup/setup_ldap.tpl:45
-msgid "TLS connection"
-msgstr "Kết nối TLS"
+#~ msgid "Move selected workstations"
+#~ msgstr "Chuyển các máy trạm đã chọn"
 
-#: setup/setup_ldap.tpl:69
-msgid "Authentication"
-msgstr "Thẩm định quyền"
+#~ msgid "What will be done here"
+#~ msgstr "Việc sẽ được làm ở đây"
 
-#: setup/setup_ldap.tpl:73
-msgid "Admin DN"
-msgstr "Admin DN"
+#~ msgid "Move groups into configured group tree"
+#~ msgstr "Chuyển nhóm thành cây nhóm đã được cấu hình"
 
-#: setup/setup_ldap.tpl:86
-msgid "Automatically append LDAP base to admin DN"
-msgstr "Tự động nối cơ sở LDAP với admin DN"
+#~ msgid ""
+#~ "This dialog allows moving a couple of groups to the configured group "
+#~ "tree. Doing this may straighten your LDAP service."
+#~ msgstr ""
+#~ "Hộp thoại này cho phép việc chuyển một vài nhóm đến cây nhóm đã được cấu "
+#~ "hình. Thực hiện việc này có thể sẽ làm gọn gàng dịch vụ LDAP của bạn."
 
-#: setup/setup_ldap.tpl:93
-msgid "Admin password"
-msgstr "Mật khẩu Admin"
+#~ msgid ""
+#~ "Be careful with this option! There may be references pointing to these "
+#~ "groups. The GOsa setup can't migrate references, so you may want to "
+#~ "cancel the migration in this case."
+#~ msgstr ""
+#~ "Hãy cẩn thận với lựa chọn này! Có thể có các thông tin tham chiếu hướng "
+#~ "đến nhóm này. Cài đặt Gosa không thể di trú các tham chiếu này, vì thế "
+#~ "bạn có thể muốn hủy bỏ việc di trú trong trường hợp này."
 
-#: setup/setup_ldap.tpl:101
-msgid "Schema based settings"
-msgstr "Thiết lập dựa trên Schema"
+#~ msgid "Move selected groups into this group tree"
+#~ msgstr "Chuyển các nhóm đã chọn vào trong các cây nhóm"
 
-#: setup/setup_ldap.tpl:105
-msgid "Use rfc2307bis compliant groups"
-msgstr "Sử dụng các nhóm tuân thủ tiêu chuẩn rfc2307bis"
+#~ msgid "Hide changes"
+#~ msgstr "Ẩn các thay đổi"
 
-#: setup/setup_ldap.tpl:117
-msgid "Current status"
-msgstr "Tình trạng hiện tại"
+#~ msgid "Show changes"
+#~ msgstr "Hiển thị các thay đổi"
 
-#: setup/class_setupStep_Migrate.inc:127 setup/class_setupStep_Migrate.inc:128
-msgid "LDAP inspection"
-msgstr "Thanh tra LDAP"
+#~ msgid "Move users into configured user tree"
+#~ msgstr "Chuyển người dùng sang cây người dùng được cấu hình"
 
-#: setup/class_setupStep_Migrate.inc:129
-msgid "Analyze your current LDAP for GOsa compatibility"
-msgstr "Phân tích LDAP hiện tại của bạn để xem khả năng tương thích với GOsa"
+#~ msgid ""
+#~ "This dialog allows moving a couple of users to the configured user tree. "
+#~ "Doing this may straighten your LDAP service."
+#~ msgstr ""
+#~ "Hộp thoại này cho phép việc chuyển một vài nhóm đến cây nhóm đã được cấu "
+#~ "hình. Thực hiện việc này có thể sẽ làm gọn gàng dịch vụ LDAP của bạn."
 
-#: setup/class_setupStep_Migrate.inc:135
-msgid "Checking for root object"
-msgstr "Kiểm tra đối tượng gốc"
+#~ msgid ""
+#~ "Be careful with this option! There may be references pointing to these "
+#~ "users. The GOsa setup can't migrate references, so you may want to cancel "
+#~ "the migration in this case."
+#~ msgstr ""
+#~ "Hãy cẩn thận với lựa chọn này! Có thể có các thông tin tham chiếu hướng "
+#~ "đến nhóm này. Cài đặt Gosa không thể di trú các tham chiếu này, vì thế "
+#~ "bạn có thể muốn hủy bỏ việc di trú trong trường hợp này."
+
+#~ msgid "Move selected users into this people tree"
+#~ msgstr "Chuyển người dùng sang cây người dùng được cấu hình"
 
-#: setup/class_setupStep_Migrate.inc:141
 #, fuzzy
-msgid "Inspecting object classes in root object"
-msgstr "Kiểm tra đối tượng gốc"
+#~ msgid "Migrate GOsa 2.5 administrative accounts"
+#~ msgstr "Tạo ra một tài khoản admin GOsa mới"
+
+#~ msgid "Abort"
+#~ msgstr "Ngừng lại"
+
+#~ msgid ""
+#~ "The listed departments are currently invisible in the GOsa user "
+#~ "interface. If you want to change this for a couple of entries, select "
+#~ "them and use the migrate button below."
+#~ msgstr ""
+#~ "Các bộ  phận  được liệt kê hiện đang bị ẩn trên giao diện người dùng của "
+#~ "GOsa. Nếu bạn muốn thay đổi việc này cho một số entry, lựa chọn chúng và "
+#~ "sử dụng phím 'di trú' ở dưới."
+
+#~ msgid ""
+#~ "If you want to know what will be done when migrating the selected "
+#~ "entries, use the 'Show changes' button to see the LDIF."
+#~ msgstr ""
+#~ "Nếu bạn muốn biết việc gì sẽ được tiến hành khi di trú các entry được "
+#~ "chọn này, hãy sử dụng phím 'hiển thị thay đổi 'để xem định dạng LDIF."
 
-#: setup/class_setupStep_Migrate.inc:147
 #, fuzzy
-msgid "Checking permission for LDAP database"
-msgstr "Kiểm tra các cho phép trên cơ sở dữ liệu LDAP "
+#~ msgid ""
+#~ "The listed users are currently invisible in the GOsa user interface. If "
+#~ "you want to change this for a couple of users, just select them and use "
+#~ "the 'Migrate' button below."
+#~ msgstr ""
+#~ "Các bộ  phận  được liệt kê hiện đang bị ẩn trên giao diện người dùng của "
+#~ "Gosa. Nếu bạn muốn thay đổi việc này cho một số entry, lựa chọn chúng và "
+#~ "sử dụng phím \"Di trú\" ở dưới."
 
-#: setup/class_setupStep_Migrate.inc:153
-msgid "Checking for invisible departments"
-msgstr "Kiểm tra các bộ phận ẩn"
+#, fuzzy
+#~ msgid ""
+#~ "The listed devices are currently invisible in the GOsa interface. If you "
+#~ "want to change this for a couple of devices, just select them and use the "
+#~ "'Migrate' button below."
+#~ msgstr ""
+#~ "Các bộ  phận  được liệt kê hiện đang bị ẩn trên giao diện người dùng của "
+#~ "Gosa. Nếu bạn muốn thay đổi việc này cho một số entry, lựa chọn chúng và "
+#~ "sử dụng phím \"Di trú\" ở dưới."
 
-#: setup/class_setupStep_Migrate.inc:158
-msgid "Checking for invisible users"
-msgstr "Kiểm tra những người dùng ẩn"
+#, fuzzy
+#~ msgid "Refresh"
+#~ msgstr "Các tham chiếu"
 
-#: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3211
-msgid "Checking for super administrator"
-msgstr "Kiểm tra siêu admin"
+#, fuzzy
+#~ msgid ""
+#~ "The listed services are currently invalid for the GOsa version you are "
+#~ "going to install. If you want to update a couple of service, just select "
+#~ "them and use the 'Migrate' button below."
+#~ msgstr ""
+#~ "Các bộ  phận  được liệt kê hiện đang bị ẩn trên giao diện người dùng của "
+#~ "Gosa. Nếu bạn muốn thay đổi việc này cho một số entry, lựa chọn chúng và "
+#~ "sử dụng phím \"Di trú\" ở dưới."
 
-#: setup/class_setupStep_Migrate.inc:171
-msgid "Checking for users outside the people tree"
-msgstr "Kiểm tra người dùng bên ngoài cây con người"
+#, fuzzy
+#~ msgid ""
+#~ "The listed menus are currently invisible in the GOsa interface. If you "
+#~ "want to change this for a couple of devices, just select them and use the "
+#~ "'Migrate' button below."
+#~ msgstr ""
+#~ "Các bộ  phận  được liệt kê hiện đang bị ẩn trên giao diện người dùng của "
+#~ "Gosa. Nếu bạn muốn thay đổi việc này cho một số entry, lựa chọn chúng và "
+#~ "sử dụng phím \"Di trú\" ở dưới."
 
-#: setup/class_setupStep_Migrate.inc:177
-msgid "Checking for groups outside the groups tree"
-msgstr "Kiểm tra nhóm bên ngoài cây nhóm"
+#~ msgid "Installation"
+#~ msgstr "Cài đặt"
 
-#: setup/class_setupStep_Migrate.inc:184
-msgid "Checking for windows workstations outside the winstation tree"
-msgstr "Kiểm tra máy trạm window bên ngoài cây máy trạm window"
+#~ msgid "GOsa settings 1/3"
+#~ msgstr "Thiết lập GOsa 1/3"
 
-#: setup/class_setupStep_Migrate.inc:190
-msgid "Checking for duplicated UID numbers"
-msgstr "Kiểm tra các số ID cuả người dùng (UID) được nhân bản"
+#~ msgid "The specified value for '%s' must be a numeric value"
+#~ msgstr "Gía trị cụ thể cho '%s' phải là một giá trị số"
 
-#: setup/class_setupStep_Migrate.inc:196
-msgid "Checking for duplicate GID numbers"
-msgstr "Kiểm tra các số ID của nhóm (GID) được nhân bản"
+#~ msgid "Don't add a trailing comma to '%s'."
+#~ msgstr "Đừng thêm dấu phẩy đuôi vào '%s'."
 
-#: setup/class_setupStep_Migrate.inc:202
-#, fuzzy
-msgid "Checking for old style USB devices"
-msgstr "Kiểm tra đối tượng gốc"
+#~ msgid "People storage ou"
+#~ msgstr "ou lưu trữ người"
 
-#: setup/class_setupStep_Migrate.inc:208
-#, fuzzy
-msgid "Checking for old services that have to be migrated"
-msgstr "Kiểm tra người dùng bên ngoài cây con người"
+#~ msgid "Group storage ou"
+#~ msgstr "ou lưu trữ nhóm"
 
-#: setup/class_setupStep_Migrate.inc:214
-#, fuzzy
-msgid "Checking for old style application menus"
-msgstr "Kiểm tra các bộ phận ẩn"
+#~ msgid "Uid base must be numeric"
+#~ msgstr "Gốc UID phải là số"
 
-#: setup/class_setupStep_Migrate.inc:240 setup/class_setupStep_Migrate.inc:292
-#: setup/class_setupStep_Migrate.inc:357 setup/class_setupStep_Migrate.inc:421
-#: setup/class_setupStep_Migrate.inc:492 setup/class_setupStep_Migrate.inc:569
-#: setup/class_setupStep_Migrate.inc:653 setup/class_setupStep_Migrate.inc:796
-#: setup/class_setupStep_Migrate.inc:892
-#: setup/class_setupStep_Migrate.inc:2038
-#: setup/class_setupStep_Migrate.inc:2506
-#: setup/class_setupStep_Migrate.inc:2697
-#: setup/class_setupStep_Migrate.inc:2834
-msgid "LDAP query failed"
-msgstr "Yêu cầu LDAP thất bại"
+#~ msgid "The given password minimum length is not numeric."
+#~ msgstr "Độ dài tối thiểu của mật khẩu đã cho không phải là số."
 
-#: setup/class_setupStep_Migrate.inc:241 setup/class_setupStep_Migrate.inc:293
-#: setup/class_setupStep_Migrate.inc:358 setup/class_setupStep_Migrate.inc:422
-#: setup/class_setupStep_Migrate.inc:493 setup/class_setupStep_Migrate.inc:570
-#: setup/class_setupStep_Migrate.inc:654 setup/class_setupStep_Migrate.inc:797
-#: setup/class_setupStep_Migrate.inc:893
-#: setup/class_setupStep_Migrate.inc:2039
-#: setup/class_setupStep_Migrate.inc:2507
-#: setup/class_setupStep_Migrate.inc:2698
-#: setup/class_setupStep_Migrate.inc:2835
-msgid "Possibly the 'root object' is missing."
-msgstr "Có thể 'đối tượng gốc' bị mất tích."
+#~ msgid "The given password differ value is not numeric."
+#~ msgstr "Gía trị khác của mật khẩu cho trước không phải là số."
 
-#: setup/class_setupStep_Migrate.inc:263
-#, php-format
-msgid "Found %s duplicate values for attribute 'uidNumber'."
-msgstr "Đã tìm được %s giá trị nhân bản cho thuộc tính  'uidNumder'."
+#~ msgid "Available members"
+#~ msgstr "Những thành viên đang có mặt"
 
-#: setup/class_setupStep_Migrate.inc:315
-#, php-format
-msgid "Found %s duplicate values for attribute 'gidNumber'."
-msgstr "Đã tìm được %s giá trị nhân bản cho thuộc tính  'gidNumder'."
-
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:583
-#: setup/class_setupStep_Migrate.inc:596
-#: setup/class_setupStep_Migrate.inc:1032
-#: setup/class_setupStep_Migrate.inc:1050
-#: setup/class_setupStep_Migrate.inc:1990
-#: setup/class_setupStep_Migrate.inc:2003
-#: setup/class_setupStep_Migrate.inc:2058
-#: setup/class_setupStep_Migrate.inc:2079
-#: setup/class_setupStep_Migrate.inc:2131
-#: setup/class_setupStep_Migrate.inc:3213
-msgid "Failed"
-msgstr "Thất bại"
+#~ msgid "GOsa login screen"
+#~ msgstr "Màn hình đăng nhập GOsa"
 
-#: setup/class_setupStep_Migrate.inc:375
-#, php-format
-msgid ""
-"Found %s winstations outside the predefined winstation department ou '%s'."
-msgstr ""
-"Đã tìm thấy %s máy trạm win bên ngoài bộ phận winstation đã được xác định "
-"trước '%s'."
+#~ msgid "Login screen"
+#~ msgstr "Màn hình đăng nhập"
 
-#: setup/class_setupStep_Migrate.inc:448
-#, php-format
-msgid "Found %s groups outside the configured tree '%s'."
-msgstr "Đã tìm thấy %s nhóm bên ngoài cây được cấu hình '%s'."
+#~ msgid ""
+#~ "Please use your username and your password to log into the site "
+#~ "administration system."
+#~ msgstr ""
+#~ "Xin hãy sử dụng tên và mật khẩu của bạn để đăng nhập vào trang hệ thống "
+#~ "quản trị."
 
-#: setup/class_setupStep_Migrate.inc:449 setup/class_setupStep_Migrate.inc:526
-msgid "Move"
-msgstr "Chuyển"
+#~ msgid "Sign in"
+#~ msgstr "Đăng ký"
 
-#: setup/class_setupStep_Migrate.inc:525
-#, php-format
-msgid "Found %s user(s) outside the configured tree '%s'."
-msgstr "Đã tìm thấy %s người dùng  bên ngoài cây được cấu hình '%s'."
+#~ msgid ""
+#~ "This may be used by several groups. Please double check if your really "
+#~ "want to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Thứ này có thể được sử dụng bởi một vài nhóm. Xin hãy kiểm tra hai lần "
+#~ "nếu bạn thực sự muốn làm điều này bởi vì sẽ không có cách nào để GOsa "
+#~ "phục hồi dữ liệu cho bạn."
 
-#: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:598
-#, php-format
-msgid ""
-"The specified user '%s' does not have full access to your ldap database."
-msgstr ""
-"Người dùng '%s' không có toàn quyền truy cập vào cơ sở dữ liệu LDAP của bạn."
+#~ msgid ""
+#~ "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "Vì thế nếu bạn chắc chắn hãy nhấn \"Xóa bỏ\" để tiếp tục hoặc'Hủy bỏ' để "
+#~ "dừng lại."
 
-#: setup/class_setupStep_Migrate.inc:662
-#, php-format
-msgid "Found %s user(s) that will not be visible in GOsa."
-msgstr "Đã tìm thấy %s người dùng mà không hiên thị trên GOsa."
+#~ msgid "Help"
+#~ msgstr "Trợ giúp"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#: setup/class_setupStep_Migrate.inc:1120
-msgid "Migration error"
-msgstr "Lỗi di trú"
+#~ msgid "Sign out"
+#~ msgstr "Đăng xuất"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#, php-format
-msgid "Cannot migrate department '%s':"
-msgstr "Không thể di trú bộ phận '%s':"
+#~ msgid "Signed in:"
+#~ msgstr "Đăng nhập:"
 
-#: setup/class_setupStep_Migrate.inc:805
-#, php-format
-msgid "Found %s department(s) that will not be visible in GOsa."
-msgstr "Tìm thấy %s bộ phận mà không hiển thị trên Gosa."
+#~ msgid "Success"
+#~ msgstr "Thành công"
 
-#: setup/class_setupStep_Migrate.inc:1029
-#, fuzzy, php-format
-msgid "GOsa 2.5 administrative accounts found: %s"
-msgstr "Tạo ra một tài khoản admin GOsa mới"
+#~ msgid "New password repeated"
+#~ msgstr "Mật khẩu mới được lặp lại"
 
-#: setup/class_setupStep_Migrate.inc:1034
-#, fuzzy
-msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
-msgstr "Không có một tài khoản Admin cùa Gosa nào trong LDAP của bạn."
+#~ msgid "Change"
+#~ msgstr "Thay đổi"
 
-#: setup/class_setupStep_Migrate.inc:1051
-msgid "There is no GOsa administrator account inside your LDAP."
-msgstr "Không có một tài khoản Admin cùa Gosa nào trong LDAP của bạn."
+#~ msgid "UNIX"
+#~ msgstr "UNIX"
 
-#: setup/class_setupStep_Migrate.inc:1120
-#, php-format
-msgid "Cannot add ACL for user '%s':"
-msgstr "Không thể thêm ACL cho người dùng '%s':"
+#~ msgid "FTP"
+#~ msgstr "FTP "
 
-#: setup/class_setupStep_Migrate.inc:1158
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Input error"
-msgstr "Lỗi nhập vào"
+#~ msgid "Thin Client"
+#~ msgstr "Máy khách yếu"
 
-#: setup/class_setupStep_Migrate.inc:1158
-msgid "Uid"
-msgstr ""
+#~ msgid "Object name"
+#~ msgstr "Tên đối tượng"
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Password error"
-msgstr "Lỗi mật mã"
+#~ msgid "This object has no relationship to other objects."
+#~ msgstr "Đối tượng này không có mối quan hệ nào với các đối tượng khác."
 
-#: setup/class_setupStep_Migrate.inc:1163
-msgid "Provided passwords do not match!"
-msgstr "Những mật khẩu được cung cấp không phù hợp!"
+#~ msgid ""
+#~ "Changing the password affects your authentification on mail, proxy, samba "
+#~ "and unix services."
+#~ msgstr ""
+#~ "Thay đổi mật khẩu có thể ảnh hưởng đến sự xác nhận của bạn lên các dịch "
+#~ "vụ mail, ủy quyền (proxy), samba và unix."
 
-#: setup/class_setupStep_Migrate.inc:1168
-msgid "Specify a valid user ID!"
-msgstr "Xác định một ID người dùng hợp lệ!"
+#~ msgid ""
+#~ "(Some types of certificates are currently not supported and may be "
+#~ "displayed as 'invalid'.)"
+#~ msgstr ""
+#~ "(Một số loại chứng nhận hiện không được hỗ trợ và có thể hiển thị 'không "
+#~ "hợp lệ'.)"
 
-#: setup/class_setupStep_Migrate.inc:1201
-#, php-format
-msgid "Adding an administrative user failed: object '%s' already exists!"
-msgstr ""
-"Việc thêm một người dùng quản trị đã thất bại: đối tượng '%s' đã có rồi!"
+#~ msgid "Personal picture"
+#~ msgstr "Ảnh cá nhân"
 
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-msgid "Cannot move users to the requested department!"
-msgstr "Không thể chuyển người dùng đến bộ phận được yêu cầu!"
+#~ msgid "In all groups"
+#~ msgstr "Trong tất cả các nhóm"
 
-#: setup/class_setupStep_Migrate.inc:1250
-msgid "Winstation will be moved from"
-msgstr "Máy trạm Win sẽ được chuyển từ"
+#~ msgid "Not in all groups"
+#~ msgstr "Không ở trong tất cả các nhóm"
 
-#: setup/class_setupStep_Migrate.inc:1261
-#: setup/class_setupStep_Migrate.inc:1310
-msgid "Updating following references too"
-msgstr "Cập nhật cả các tham chiếu sau"
+#, fuzzy
+#~ msgid "! unknown UID"
+#~ msgstr "! không nhận ra id này"
 
-#: setup/class_setupStep_Migrate.inc:1300
-msgid "Group will be moved from"
-msgstr "Nhóm sẽ được chuyển từ"
+#~ msgid ""
+#~ "Search returned too many results. Not displaying more than %s entries!"
+#~ msgstr ""
+#~ "Việc tìm kiếm có quá nhiều kết quả. Không hiển thị nhiều hơn %s mục vào!"
 
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "User will be moved from"
-msgstr "Người dùng sẽ được chuyển từ"
+#~ msgid "All categories"
+#~ msgstr "Tất cả các mục"
 
-#: setup/class_setupStep_Migrate.inc:1358
-msgid "The following references will be updated"
-msgstr "Tham chiếu sau sẽ được cập nhật"
+#~ msgid "All objects in current subtree"
+#~ msgstr "Tất cả các đối tượng hiện trong  cây thư mục con hiện tại"
 
-#: setup/class_setupStep_Migrate.inc:1991
-msgid ""
-"The LDAP root object is missing. It is required to use your LDAP service."
-msgstr ""
-"Đối tượng gốc LDAP đang mất tích. Để sử dụng dịch vụ LDAP của bạn, bạn cần "
-"có nó."
+#~ msgid "Startup"
+#~ msgstr "Khởi động"
 
-#: setup/class_setupStep_Migrate.inc:1992
-#: setup/class_setupStep_Migrate.inc:2005
-msgid "Try to create root object"
-msgstr "Cố tạo ra một đối tượng gốc"
+#~ msgid "FAI summary"
+#~ msgstr "Tóm tắt FAI"
 
-#: setup/class_setupStep_Migrate.inc:2004
-msgid "Root object couldn't be created, you should try it on your own."
-msgstr "Đối tượng gốc không thể được tạo ra, bạn phải cố tự mình tạo ra nó."
+#~ msgid "Cannot bind to LDAP. Please contact the system administrator."
+#~ msgstr ""
+#~ "Không thể nối kết với LDAP. Xin hãy liên lạc với với admin hệ thống."
 
-#: setup/class_setupStep_Migrate.inc:2059
-#, fuzzy, php-format
-msgid "Missing GOsa object class '%s'!"
-msgstr "Lớp đối tượng lựa chọn '%s' mất tích!"
+#~ msgid "The mcrypt module was not found. Please install php5-mcrypt."
+#~ msgstr "Không tìm thấy Mô-đun mcrypt. Xin hãy cài đặt php5-mcrypt."
 
-#: setup/class_setupStep_Migrate.inc:2060
-#, fuzzy
-msgid "Please check your installation."
-msgstr "Xin hãy kiểm tra kết hợp tên người dùng/mật khẩu."
+#~ msgid "Password reset"
+#~ msgstr "Xác lập lại mật khẩu"
 
-#: setup/class_setupStep_Migrate.inc:2081
-#, php-format
-msgid ""
-"Cannot handle the structural object type of your root object. Please try to "
-"add the object class '%s' manually."
-msgstr ""
+#~ msgid "Up"
+#~ msgstr "Lên"
 
-#: setup/class_setupStep_Migrate.inc:2440
-#, php-format
-msgid "Copy '%s' to '%s' failed:"
-msgstr "Sao chép '%s' đến '%s' bị thất bại:"
+#~ msgid "Down"
+#~ msgstr "Xuống"
 
-#: setup/class_setupStep_Migrate.inc:2575
-#, php-format
-msgid "There are %s devices that need to be migrated."
-msgstr ""
+#~ msgid ""
+#~ "The timezone setting '%s' in your gosa.conf is not valid. Cannot "
+#~ "calculate correct timezone offset."
+#~ msgstr ""
+#~ "Múi giờ thiết lập '%s' trong gosa.config không hợp lệ. Không thể tính "
+#~ "toán chính xác thời gian bù thêm vào múi giờ."
 
-#: setup/class_setupStep_Migrate.inc:2635
-#, php-format
-msgid "Adding '%s' to the LDAP failed: %s"
-msgstr ""
+#~ msgid "Select to list objects of type '%s'."
+#~ msgstr "Chọn để liệt kê các đối tượng loại '%s'."
 
-#: setup/class_setupStep_Migrate.inc:2655
-#: setup/class_setupStep_Migrate.inc:2772
-#, fuzzy, php-format
-msgid "Updating '%s' failed: %s"
-msgstr "Tải lên thất bại: %s"
+#~ msgid "Select to list objects containig '%s'."
+#~ msgstr "Chọn để liệt kê đối tượng chứa '%s'."
 
-#: setup/class_setupStep_Migrate.inc:2728
-#, php-format
-msgid "There are %s services that need to be migrated."
-msgstr ""
+#~ msgid "Select to list objects that have '%s' enabled"
+#~ msgstr "Chọn để liệt kê đối tượng mà cho phép '%s'"
 
-#: setup/class_setupStep_Migrate.inc:3059
-#, php-format
-msgid "There are %s application menus which have to be migrated."
-msgstr ""
+#~ msgid "Select to search within subtrees"
+#~ msgstr "Chọn để tìm kiếm trong các cây con"
 
-#: setup/setup_welcome.tpl:4
-msgid ""
-"This seems to be the first time you start GOsa - we didn't find any "
-"configuration right now. This simple wizard intends to help you while "
-"setting it up."
-msgstr ""
-"Có vẻ đây là lần đầu tiên bạn khởi động Gosa - chúng tôi không tìm thấy cấu "
-"hình nào ngay lúc này. Wizard đơn giản dự định giúp bạn trong khi đang cài "
-"đặt nó."
+#, fuzzy
+#~ msgid "in"
+#~ msgstr "Trang chính"
 
-#: setup/setup_welcome.tpl:8
-msgid "What will the wizard do for you?"
-msgstr "Wizard sẽ giúp bạn những gì?"
+#, fuzzy
+#~ msgid "on line"
+#~ msgstr "Tiếp tục"
 
-#: setup/setup_welcome.tpl:11
-msgid "Create a basic, single site configuration"
-msgstr "Tạo ra một cấu hình trang đơn, đơn giản"
+#~ msgid "Contains ACLs for these objects: %s"
+#~ msgstr "Có chứa ACLs cho các đối tượng: %s "
 
-#: setup/setup_welcome.tpl:12
-msgid "Tries to find problems within your PHP and LDAP setup"
-msgstr "Cố gắng tìm ra vấn đề trong cài đặt PHP và LDAP của bạn "
+#~ msgid "Role: %s"
+#~ msgstr "Vai trò: %s"
 
-#: setup/setup_welcome.tpl:13
-msgid "Let you choose from a set of basic and advanced configuration switches"
-msgstr ""
-"Cho phép bạn lựa chọn từ một loạt các phím chuyển cấu hình cơ bản và cao cấp"
+#~ msgid "Go up one department"
+#~ msgstr "Đi lên một bộ phận"
 
-#: setup/setup_welcome.tpl:14
-msgid "Guided migration of existing LDAP trees"
-msgstr "Di trú có hướng dẫn của các cây LDAP hiện có"
+#~ msgid "Go to users department"
+#~ msgstr "Đi đến bộ phận người dùng"
 
-#: setup/setup_welcome.tpl:17
-msgid "What will the wizard NOT do for you?"
-msgstr "Wizard không thể làm gì được cho bạn?"
+#~ msgid "Remove snapshot"
+#~ msgstr "Xóa snapshot"
 
-#: setup/setup_welcome.tpl:20
-msgid "Find every possible configuration error"
-msgstr "Tìm được mọi lỗi cấu hình có thể xảy ra"
+#~ msgid "Send bug report to the GOsa Team"
+#~ msgstr "Gửi báo cáo lỗi cho nhóm phát triển GOsa"
 
-#: setup/setup_welcome.tpl:21
-msgid "Migrate every possible LDAP setup - create backup dumps!"
-msgstr "Di trú mọi cài đặt LDAP - và tạo ra các xổ backup!"
+#~ msgid "Toggle information"
+#~ msgstr "Thông tin Toggle"
 
-#: setup/setup_welcome.tpl:25
-msgid "To continue..."
-msgstr "Còn nữa..."
+#~ msgid "All objects in this category"
+#~ msgstr "Tất cả các đối tượng trong hạng mục này"
 
-#: setup/setup_welcome.tpl:28
-msgid ""
-"For security reasons you need to authenticate for the installation by "
-"creating the file '/tmp/gosa.auth', containing the current session ID on the "
-"servers local filesystem. This can be done by executing the following "
-"command:"
-msgstr ""
-"Vì lý do an ninh, bạn cần phải xác minh việc cài đặt bằng cách tạo ra file '/"
-"tmp/gosa.auth', bao gồm phiên ID hiện tại trên hệ thống file nôi bộ của "
-"server. Ta làm việc này bằng cách chạy các lệnh sau:"
+#~ msgid ""
+#~ "The object has changed since opened in GOsa. All changes that may be done "
+#~ "by others get lost if you save this entry!"
+#~ msgstr ""
+#~ "Đối tượng đã bị thay đổi từ khi được mở trong GOsa. Nếu bạn lưu entry này "
+#~ "lại, khi các đối tượng khác lạc hướng có thể gây ra thêm tất cả các thay "
+#~ "đổi!"
 
-#: setup/setup_welcome.tpl:34
-msgid "Click the 'Continue' button when you've finished."
-msgstr "Kích vào phím 'Continue' khi bạn làm xong."
+#~ msgid "Changing ACL dn"
+#~ msgstr "Thay đổi ACL dn"
 
-#: setup/setup_license.tpl:8
-msgid "I have read the license and accept it"
-msgstr "Tôi đã đọc giấy phép và chấp nhận nó"
+#~ msgid "from"
+#~ msgstr "Từ"
 
-#: setup/class_setupStep_Config3.inc:81 setup/class_setupStep_Config3.inc:82
-msgid "GOsa settings 3/3"
-msgstr "Thiết lập GOsa 3/3"
+#~ msgid "Restore"
+#~ msgstr "Phục hồi"
 
-#: setup/class_setupStep_Config3.inc:83
-msgid "Tweak some GOsa core behaviour"
-msgstr "Chỉnh sửa một số đặc tính lõi của GOsa"
+#~ msgid "cut"
+#~ msgstr "cắt"
 
-#: setup/class_setupStep_Config3.inc:212
-msgid "Session lifetime must be a numeric value!"
-msgstr "Khoảng thời gian của phiên phải là một giá trị số!"
+#~ msgid "User information is not unique accross the configured LDAP trees!"
+#~ msgstr ""
+#~ "Thông tin người dùng không phải là duy nhất trong tất cả các cây LDAP đã "
+#~ "được cấu hình!"
 
-#: setup/class_setupStep_Config3.inc:216
-msgid "Maximum LDAP query time must be a numeric value!"
-msgstr "Thời gian tối đa để yêu cầu LDAP phải là một giá trị số!"
+#~ msgid "Your LDAP setup contains old schema definitions:"
+#~ msgstr "Cài đặt LDAP của bạn có chứa các định nghĩa lược đồ cũ:"
 
-#: setup/setup_checks.tpl:9
-msgid "PHP module and extension checks"
-msgstr "Kiểm tra các module và mở rộng của PHP"
+#~ msgid ""
+#~ "FATAL: Register globals is on. GOsa will refuse to login unless this is "
+#~ "fixed by an administrator."
+#~ msgstr ""
+#~ "LỖI NGHIÊM TRỌNG: Đăng ký toàn cầu đang bật. GOsa sẽ từ chối đăng nhập "
+#~ "vào trừ khi lỗi này được một admin sửa."
 
-#: setup/setup_checks.tpl:41 setup/setup_checks.tpl:103
-msgid "GOsa will NOT run without fixing this."
-msgstr "GOsa sẽ không chạy được nếu không sửa chỗ này."
+#, fuzzy
+#~ msgid "Prpperties"
+#~ msgstr "Properties"
 
-#: setup/setup_checks.tpl:45 setup/setup_checks.tpl:107
-msgid "GOsa will run without fixing this."
-msgstr "GOsa sẽ chạy mà không cần sửa chỗ này."
+#~ msgid "Old password"
+#~ msgstr "Mật khẩu cũ"
 
-#: setup/setup_checks.tpl:67
-msgid "PHP setup configuration"
-msgstr "Cấu hình cài đặt PHP"
+#~ msgid "Verify password"
+#~ msgstr "Xác minh mật khẩu"
 
-#: setup/setup_checks.tpl:67
-msgid "show information"
-msgstr "hiển thị thông tin"
+#~ msgid "Session conflict detected"
+#~ msgstr "Phát hiện xung đột giữa các phiên"
 
-#: setup/setup_schema.tpl:3
-msgid "Schema specific settings"
-msgstr "Thiết lập cụ thể lược đồ (schema)"
+#~ msgid ""
+#~ "Probably there's another active instance of your session. Multiple window "
+#~ "operation is technical not possible and heavily depends on the browser "
+#~ "you're using. Usage of different browsers at a time (i.e. IE and Mozilla) "
+#~ "is possible. Pressing the Logout button will close this session."
+#~ msgstr ""
+#~ "Có lẽ có một chức năng khác nữa trong phiên của bạn đang hoạt động. Việc "
+#~ "chạy nhều cửa sổ cùng lúc về kỹ thuật là không thể và việc này phụ thuộc "
+#~ "rất nhiều vào trình duyệt mà bạn đang dùng.Việc sử dụng các trình duyệt "
+#~ "khác nhau cùng một lúc (ví dụ như IE và Mozilla) là có thể. Nhấn vào nút "
+#~ "đăng xuất để đóng phiên này."
 
-#: setup/setup_schema.tpl:7
-msgid "Enable schema validation when logging in"
-msgstr "Cho phép thông qua lược đồ khi đăng nhập"
+#~ msgid ""
+#~ "Ignoring this message will change/destroy the data you're currently "
+#~ "editing, so please close multiple windows and log in again."
+#~ msgstr ""
+#~ "Bỏ qua tin nhắn này sẽ thay đổi/hủy dữ liệu mà hiện nay bạn đang hiệu "
+#~ "chỉnh, vì thể xin hãy đóng các cửa sổ lại và đăng nhập lại."
 
-#: setup/setup_schema.tpl:16
-msgid "Check status"
-msgstr "Kiểm tra trạng thái"
+#~ msgid "External password changer reported a problem: "
+#~ msgstr "Bộ thay đổi mật khẩu bên ngoài báo cáo một vấn đề: "
 
-#: setup/setup_schema.tpl:20
-msgid "Schema check succeeded"
-msgstr "Kiểm tra lược đồ thành công"
+#, fuzzy
+#~ msgid "Show department"
+#~ msgstr "Bộ phận"
 
-#: setup/setup_schema.tpl:23
-msgid "Schema check failed"
-msgstr "Kiểm tra lược đồ thất bại"
+#, fuzzy
+#~ msgid "Show groups"
+#~ msgstr "các nhóm mail"
 
-#: setup/setup_schema.tpl:31
-msgid ""
-"Could not read any schema informations, all checks skipped. Adjust your ldap "
-"acls."
-msgstr ""
-"Không thể đọc một thông tin lược đồ nào, bỏ qua toàn bộ việc kiểm tra. Điều "
-"chỉnh các acls ldap của bạn."
+#, fuzzy
+#~ msgid "Show server"
+#~ msgstr "các server"
 
-#: setup/setup_schema.tpl:35
-msgid ""
-"It seems that your ldap database wasn't initialized yet. This maybe the "
-"reason, why GOsa can't read your schema configuration!"
-msgstr ""
-"Dường như cơ sở dữ liệu Ldap của bạn vẫn chưa được khởi chạy trước. Đây có "
-"thể là lý do tại sao Gosa không thể đọc cấu hình lược đồ của bạn!"
+#, fuzzy
+#~ msgid "Show workstation"
+#~ msgstr "máy trạm"
 
-#: setup/setup_config1.tpl:2
-msgid "Look and feel"
-msgstr "Xem và cảm nhận"
+#, fuzzy
+#~ msgid "Show terminal"
+#~ msgstr "các thiết bị cuối"
 
-#: setup/setup_config1.tpl:6
-msgid "Theme"
-msgstr "Theme"
+#, fuzzy
+#~ msgid "Show printer"
+#~ msgstr "máy in"
 
-#: setup/setup_config1.tpl:15
-msgid "Apache"
-msgstr "Apache"
+#, fuzzy
+#~ msgid "Show phone"
+#~ msgstr "Hiển thị các thay đổi"
 
-#: setup/setup_config1.tpl:19
-msgid "Compress output send to browser"
-msgstr "Nén output lại gửi cho trình duyệt"
+#, fuzzy
+#~ msgid "Filter options"
+#~ msgstr "Các lựa chọn thêm cho bộ lọc"
 
-#: setup/setup_config1.tpl:27
-msgid "People and group storage"
-msgstr "Kho lưu trữ người và nhóm"
+#~ msgid ""
+#~ "Please double check if you really want to do this since there is no way "
+#~ "for GOsa to get your data back."
+#~ msgstr ""
+#~ "Xin hãy kiểm tra hai lần nếu bạn thực sự muốn làm việc này bởi sẽ không "
+#~ "có cách nào để GOsa lấy lại dữ liệu cho bạn."
 
-#: setup/setup_config1.tpl:30
-msgid "People DN attribute"
-msgstr "Thuộc tính DN người"
+#~ msgid "Manage object groups"
+#~ msgstr "Quản lý các nhóm đối tượng "
 
-#: setup/setup_config1.tpl:41
-msgid "People storage subtree"
-msgstr "Cây con lưu trữ người"
+#~ msgid "nested groups"
+#~ msgstr "các nhóm làm tổ"
 
-#: setup/setup_config1.tpl:50
-msgid "Group storage subtree"
-msgstr "Cây con lưu trữ nhóm"
+#~ msgid "application groups"
+#~ msgstr "các nhóm ứng dụng"
 
-#: setup/setup_config1.tpl:59
-msgid "Include personal title in user DN"
-msgstr "Bao gồm chức danh cá nhân trong DN của người dùng"
+#~ msgid "department groups"
+#~ msgstr "các nhóm bộ phận"
 
-#: setup/setup_config1.tpl:70
-msgid "Relaxed naming policies"
-msgstr "Chính sách đặt tên thoải mái"
+#~ msgid "server groups"
+#~ msgstr "các nhóm server"
 
-#: setup/setup_config1.tpl:81
-msgid "Automatic UIDs"
-msgstr "Các UID tự động"
+#~ msgid "workstation groups"
+#~ msgstr "các nhóm máy trạm"
 
-#: setup/setup_config1.tpl:97 setup/class_setupStep_Config1.inc:118
-msgid "GID / UID min id"
-msgstr "ID min GID/UID"
+#~ msgid "terminal groups"
+#~ msgstr "các nhóm thiết bị cuối"
 
-#: setup/setup_config1.tpl:113
-msgid "Number base for people/groups"
-msgstr "Cơ sơ số cho người/nhóm"
+#~ msgid "printer groups"
+#~ msgstr "các nhóm máy in"
 
-#: setup/setup_config1.tpl:121
-msgid "Hook for number base"
-msgstr "Móc nối với cơ sở số"
+#~ msgid "phone groups"
+#~ msgstr "các nhóm điện thoại"
 
-#: setup/setup_config1.tpl:140
-msgid "Password encryption algorithm"
-msgstr "Thuật toán mã hóa mật khẩu"
+#~ msgid "Select objects to add"
+#~ msgstr "Chọn nhóm đối tượng để thêm vào"
 
-#: setup/setup_config1.tpl:151
-msgid "Password restrictions"
-msgstr "Các hạn chế mật khẩu"
+#~ msgid "Filters"
+#~ msgstr "Các bộ lọc"
 
-#: setup/setup_config1.tpl:158 setup/setup_config1.tpl:162
-msgid "Password minimum length"
-msgstr "Độ dài tối thiểu của mật khẩu"
+#~ msgid "Display objects of department"
+#~ msgstr "Hiển thị nhóm đối tượng của các bộ phận"
 
-#: setup/setup_config1.tpl:169 setup/setup_config1.tpl:173
-msgid "Different characters from old password"
-msgstr "Các ký tự khác với mật khẩu cũ"
+#~ msgid "Choose the department the search will be based on"
+#~ msgstr "Chọn bộ phận mà việc tìm kiếm sẽ tiến hành trên đó "
 
-#: setup/setup_config1.tpl:182
-msgid "Password change hook"
-msgstr "Móc nối việc thay đổi mật khẩu"
+#~ msgid "Display objects matching"
+#~ msgstr "Hiển thị việc khớp các đối tượng"
 
-#: setup/setup_config1.tpl:198
-msgid "Use SASL for kerberos"
-msgstr "Sử dụng ngôn ngữ SASL cho hệ thống Kerberos"
+#~ msgid "Regular expression for matching object names"
+#~ msgstr "Hiển thị thông thường cho việc khớp tên các đối tượng"
 
-#: setup/setup_config1.tpl:209
-msgid "Use account expiration"
-msgstr "Sử dụng việc hết hạn tài khoản"
+#~ msgid "Select systems to add"
+#~ msgstr "Chọn hệ thống để thêm vào"
 
-#: setup/setup_config1.tpl:221
-msgid ""
-"GOsa supports several encryption types for your passwords. Normally this is "
-"adjustable via user templates, but you can specify a default method to be "
-"used here, too."
-msgstr ""
-"GOsa hỗ trợ một vài kiểu mã hóa cho các mật khẩu của bạn. Thông thường thì "
-"việc này có thể được điều chỉnh thông qua các khuôn mẫu của người dùng, "
-"nhưng bạn có thể xác định một phương pháp mặc định để nó cũng được sử dụng ở "
-"đây."
+#~ msgid "Display systems of department"
+#~ msgstr "Hiển thị các hệ thống của bộ phận"
 
-#: setup/setup_config1.tpl:222
-msgid ""
-"GOsa always acts as admin and manages access rights internally. This is a "
-"workaround till OpenLDAP's in directory ACI's are    fully implemented. For "
-"this to work, we need the admin DN and the corresponding password."
-msgstr ""
-"GOsa sẽ luôn luôn đóng vai trò admin và quản lý các quyền truy cập nội bộ. "
-"Đây là một cách khác cho tới khi các file OpenLDAP' trong thư mục và ACI's "
-"được thực hiện đầy đủ. Để làm được điều này, chúng ta cần DN của admin và "
-"mật khẩu tương ứng."
+#~ msgid "Display systems matching"
+#~ msgstr "Hiển thị việc khớp các hệ thống"
 
-#: setup/setup_config1.tpl:223
-msgid ""
-"Some basic LDAP parameters are tunable and affect the locations where GOsa "
-"saves people and groups, including the way accounts get created. Check the "
-"values below if the fit your needs."
-msgstr ""
-"Một số thông số cơ bản của LDAP có thể được điều chỉnh và ảnh hưởng tới nơi "
-"mà Gosa lưu trữ thông tin về người và nhóm, bao gồm cả cách mà các tài khoản "
-"được lập ra. Kiểm tra các giá trị dưới đây nếu chúng phù hợp với nhu cầu của "
-"bạn."
+#~ msgid "Regular expression for matching addresses"
+#~ msgstr "Biểu thức thông thường cho việc khớp các địa chỉ"
 
-#: setup/setup_config1.tpl:224
-msgid ""
-"GOsa has modular support for several mail methods. These methods provide "
-"interfaces to users mailboxes and general handling    for quotas. You can "
-"choose the dummy plugin to leave all your mail settings untouched."
-msgstr ""
-"GOsa có  mô-đun hỗ trợ cho một vài phương pháp gửi thư. Các phương pháp này "
-"cung cấp các giao diện đến hộp thư của người dùng và cách giải quyết thông "
-"thường với các hạn ngạnh. Bạn có thể lựa chọn chế độ dummy plugin để không "
-"ai đụng tới được tất cả các thiết lập mail của bạn."
+#~ msgid ""
+#~ "This may be a primary user group. Please double check if you really want "
+#~ "to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Đây có thể là một nhóm người dùng sơ cấp. Xin hãy kiểm tra lại hai lần "
+#~ "nếu bạn thực sự muốn làm việc này bởi sẽ không có cách nào để GOsa lấy "
+#~ "lại dữ liệu cho bạn."
 
-#: setup/class_setupStep_Schema.inc:42 setup/class_setupStep_Schema.inc:43
-msgid "LDAP schema check"
-msgstr "Kiểm tra lược đồ LDAP"
+#, fuzzy
+#~ msgid "Show samba groups"
+#~ msgstr "các nhóm samba"
 
-#: setup/class_setupStep_Schema.inc:44
-msgid "Perform test on your current LDAP schema"
-msgstr "Thực hiện việc kiểm tra trên lược đồ LDAP hiện tại của bạn"
+#, fuzzy
+#~ msgid "Show mail groups"
+#~ msgstr "các nhóm mail"
 
-#: setup/class_setupStep_Welcome.inc:38
-msgid "Welcome"
-msgstr "Chào mừng"
+#~ msgid "Group administration"
+#~ msgstr "Quản trị nhóm"
 
-#: setup/class_setupStep_Welcome.inc:39
-msgid "The welcome message"
-msgstr "Tin nhắn chào mừng"
+#~ msgid ""
+#~ "This includes all account data, system access rules, imap settings, etc. "
+#~ "for this user. Please double check if your really want to do this since "
+#~ "there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "Ở đây bao gồm tất cả các dữ liệu tài khoản, quy định về truy cập hệ "
+#~ "thống, cài đặt imap, vân vân cho người dùng này. Xin hãy kiểm tra hai lần "
+#~ "nếu bạn thực sự muốn làm điều này bởi sẽ không có cách nào để GOsa phục "
+#~ "hồi dữ liệu cho bạn."
 
-#: setup/class_setupStep_Welcome.inc:40
-msgid "Welcome to GOsa setup wizard"
-msgstr "Chào mừng bạn đến với bộ cài đặt wizard GOsa"
+#~ msgid "Manage users"
+#~ msgstr "Quản lý người dùng"
 
-#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
-msgid "License"
-msgstr "Giấy Phép"
+#~ msgid ""
+#~ "This includes 'all' accounts, systems, etc. in this subtree. Please "
+#~ "double check if your really want to do this since there is no way for "
+#~ "GOsa to get your data back."
+#~ msgstr ""
+#~ "Trong cây con này có 'tất cả' các tài khoản, hệ thống, vân vân. Xin hãy "
+#~ "kiểm tra lại hai lần nếu bạn thực sự muốn thực hiện điều này tuy nhiên sẽ "
+#~ "không có cách nào để Gosa phục hồi lại dữ liệu cho bạn."
 
-#: setup/class_setupStep_License.inc:58
-msgid "Terms and conditions for usage"
-msgstr "Điều khoản và điều kiện cho việc sử dụng"
+#~ msgid ""
+#~ "Best thing to do before performing this action would be to save the "
+#~ "current contents of your LDAP tree in a file. So - if you've done so - "
+#~ "press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "Tốt nhất là trước khi thực hiện thao tác này bạn nên  lưu lại nội dung "
+#~ "hiện tại của cây thư mục LDAP trong một file. Nếu bạn đã làm thế, hãy "
+#~ "kích 'Delete' để tiếp tục hoặc kích 'Cancel' để hủy bỏ."
 
-#: setup/setup_language.tpl:3
-msgid "Please select the preferred language"
-msgstr "Xin hãy lựa chọn ngôn ngữ ưu thích"
+#~ msgid "List of departments"
+#~ msgstr "Danh sách các bộ phận"
 
-#: setup/setup_language.tpl:5
-msgid ""
-"At this point, you can select the site wide default language. Choosing "
-"'automatic' will use the language requested by the browser. This setting can "
-"be overriden per user."
-msgstr ""
-"Tại thời điểm này, bạn có thể lựa chọn trang này với ngôn ngữ mặc định. Nếu "
-"chọn 'tự động', bạn sẽ sử dụng ngôn ngữ được yêu cẩu bởi trình duyệt này. "
-"Việc thiết lập này có  bị ghi đè với mỗi một người dùng."
+#~ msgid "Manage Departments"
+#~ msgstr "Quản lý  các bộ phận"
 
-#: setup/setup_language.tpl:9
-msgid "Please select your preferred language here"
-msgstr "Xin hãy lựa chọn ngôn ngữ bạn muốn dùng ở đây"
+#, fuzzy
+#~ msgid "Show access control lists"
+#~ msgstr "Danh sách kiểm soát truy cập"
 
-#: setup/class_setupStep_Config1.inc:74 setup/class_setupStep_Config1.inc:75
-msgid "GOsa settings 1/3"
-msgstr "Thiết lập GOsa 1/3"
+#, fuzzy
+#~ msgid "Show roles"
+#~ msgstr "Hiển thị %s"
 
-#: setup/class_setupStep_Config1.inc:76
-msgid "GOsa generic settings"
-msgstr "Thiết lập GOsa chung "
+#~ msgid "Bug submitter"
+#~ msgstr "Bộ nộp lỗi"
 
-#: setup/class_setupStep_Config1.inc:118
-#, php-format
-msgid "The specified value for '%s' must be a numeric value"
-msgstr "Gía trị cụ thể cho '%s' phải là một giá trị số"
+#~ msgid ""
+#~ "<a\thref='https://oss.gonicus.de/labs/gosa/"
+#~ "newticket'\ttarget='_blank'>Bugsubmitter</a>"
+#~ msgstr ""
+#~ "<a\thref='https://oss.gonicus.de/labs/gosa/"
+#~ "newticket'\ttarget='_blank'>Bugsubmitter</a>"
 
-#: setup/class_setupStep_Config1.inc:122 setup/class_setupStep_Config1.inc:126
-#, php-format
-msgid "Don't add a trailing comma to '%s'."
-msgstr "Đừng thêm dấu phẩy đuôi vào '%s'."
+#, fuzzy
+#~ msgid "Show servers"
+#~ msgstr "các server"
 
-#: setup/class_setupStep_Config1.inc:122
-msgid "People storage ou"
-msgstr "ou lưu trữ người"
+#, fuzzy
+#~ msgid "Show workstations"
+#~ msgstr "máy trạm"
 
-#: setup/class_setupStep_Config1.inc:126
-msgid "Group storage ou"
-msgstr "ou lưu trữ nhóm"
+#, fuzzy
+#~ msgid "Show terminals"
+#~ msgstr "các thiết bị cuối"
 
-#: setup/class_setupStep_Config1.inc:130
-msgid "Uid base must be numeric"
-msgstr "Gốc UID phải là số"
+#, fuzzy
+#~ msgid "List navigation"
+#~ msgstr "máy trạm dùng win "
 
-#: setup/class_setupStep_Config1.inc:134
-msgid "The given password minimum length is not numeric."
-msgstr "Độ dài tối thiểu của mật khẩu đã cho không phải là số."
+#, fuzzy
+#~ msgid "Group selection filter"
+#~ msgstr "Thiết lập nhóm"
 
-#: setup/class_setupStep_Config1.inc:137
-msgid "The given password differ value is not numeric."
-msgstr "Gía trị khác của mật khẩu cho trước không phải là số."
+#, fuzzy
+#~ msgid "Posix extension settings"
+#~ msgstr "Thiết lập Posix"
 
-#: setup/class_setupStep_Config2.inc:80 setup/class_setupStep_Config2.inc:81
-msgid "GOsa settings 2/3"
-msgstr "Các thiết lập GOsa 2/3"
+#~ msgid "Go to root department"
+#~ msgstr "Đi đến bộ phận gốc"
 
-#: setup/class_setupStep_Config2.inc:82
-msgid "Customize special parameters"
-msgstr "Tùy biến các thông số đặc biệt"
+#~ msgid "Home"
+#~ msgstr "Nhà"
 
-#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
-msgid "Language setup"
-msgstr "Cài đặt ngôn ngữ"
+#~ msgid ""
+#~ "This is the GOsa main menu. You can select your tasks from the menu on "
+#~ "the left, or by choosing one of the pictograms below. All changes apply "
+#~ "directly to your companies LDAP server."
+#~ msgstr ""
+#~ "Đây là danh mục chính của Gosa. Bạn có thể lựa chọn tác vụ của bạn từ "
+#~ "danh mục ở bên trái hoặc bằng cách chọn một trong những biểu tượng dưới "
+#~ "đây. Tất cả những thay đổi này được áp dụng trực tiếp cho Máy chủ LDAP "
+#~ "trong công ty bạn."
 
-#: setup/class_setupStep_Language.inc:42
-msgid "This step allows you to select your preferred language."
-msgstr "Bước này cho phép bạn lựa chọn ngôn ngữ bạn muốn dùng."
+#~ msgid ""
+#~ "Use 'Sign out' on the upper left to close the connection and 'Main' to "
+#~ "get back to the pictogram view."
+#~ msgstr ""
+#~ "Sử dụng \"Đăng xuất\" ở phía trên bên trái để đóng kết nối và \"Trang "
+#~ "chính\" để quay lại xem biểu tượng."
 
-#: setup/class_setupStep_Language.inc:47
-msgid "Automatic"
-msgstr "Tự động"
+#, fuzzy
+#~ msgid "Show functional users"
+#~ msgstr "Người dùng chức năng"
 
 #, fuzzy
-#~ msgid "Group submenu menu"
-#~ msgstr "Thành viên nhóm"
+#~ msgid "Show Samba users"
+#~ msgstr "Người dùng samba"
 
 #~ msgid "Choose subtree to place user in"
 #~ msgstr "Chọn một cây con để cho người dùng vào"
@@ -6750,20 +8423,29 @@ msgstr "Tự động"
 #~ msgid "Select a base"
 #~ msgstr "Chọn một cơ sở"
 
-#~ msgid "You have no permission to set your password!"
-#~ msgstr "Bạn không có quyền lập mật khẩu cho bạn!"
+#~ msgid "Generic user information"
+#~ msgstr "Thông tin chung của người dùng"
 
-#~ msgid ""
-#~ "You have changed the method your password is stored in the ldap database. "
-#~ "For that reason you've to enter your password at this point again. GOsa "
-#~ "will then encode it with the selected method."
-#~ msgstr ""
-#~ "Bạn đã thay đổi phương pháp mà mật khẩu của bạn được lưu trữ trong cơ sở "
-#~ "dữ liệu ldap. Vì lý do đó bạn phải nhập mật khẩu lại tại điểm này. Gosa "
-#~ "sau đó sẽ mã hóa nó với phương pháp đã được lựa chọn."
+#~ msgid "Account"
+#~ msgstr "Tài khoản"
 
-#~ msgid "Password change not allowed"
-#~ msgstr "Bạn không được phép thay đổi mật khẩu"
+#~ msgid "Select groups to add"
+#~ msgstr "Chọn các nhóm để thêm vào"
+
+#~ msgid "Display groups of department"
+#~ msgstr "Hiển thị các nhóm trong bộ phận"
+
+#~ msgid "Display groups matching"
+#~ msgstr "Hiển thị sự khớp nhóm"
+
+#~ msgid "Regular expression for matching group names"
+#~ msgstr "Biểu thức thông thường cho việc khớp các tên nhóm"
+
+#~ msgid "Display groups of user"
+#~ msgstr "Hiển thị các nhóm người sử dụng"
+
+#~ msgid "User name of which groups are shown"
+#~ msgstr "Username của các nhóm được hiển thị"
 
 #~ msgid "Inconsistent DN encoding detected: '%s'"
 #~ msgstr "Việc mã hóa DN không thống nhất phát hiện: '%s'"
@@ -6802,10 +8484,6 @@ msgstr "Tự động"
 #~ msgstr "Hiển thị thông thường cho việc khớp tên người sử dụng"
 
 #, fuzzy
-#~ msgid "List of systems"
-#~ msgstr "Danh sách người dùng"
-
-#, fuzzy
 #~ msgid "givenname"
 #~ msgstr "Tên thật"
 
@@ -6828,9 +8506,6 @@ msgstr "Tự động"
 #~ "Vào cây ưa dùng và kích vào save để sử dụng cây con hiện tại làm cơ sở. "
 #~ "Hoặc kích vào hình ở cuối mỗi một entry."
 
-#~ msgid "Use"
-#~ msgstr "Sử dụng "
-
 #~ msgid "Filter entries with this syntax"
 #~ msgstr "Lọc các entry với chỉ lệnh này"
 
@@ -6881,9 +8556,6 @@ msgstr "Tự động"
 #~ msgid "functional groups"
 #~ msgstr "các nhóm chức năng"
 
-#~ msgid "Not allowed"
-#~ msgstr "Không cho phép"
-
 #~ msgid "Number of listed groups"
 #~ msgstr "Tên các nhóm đã được lên danh sách"
 
@@ -6899,9 +8571,6 @@ msgstr "Tự động"
 #~ msgid "templates"
 #~ msgstr "các mẫu"
 
-#~ msgid "GOsa object"
-#~ msgstr "Đối tượng GOsa"
-
 #~ msgid "functional users"
 #~ msgstr "Người dùng chức năng"
 
@@ -6914,10 +8583,6 @@ msgstr "Tự động"
 #~ msgid "proxy users"
 #~ msgstr "Người dùng Proxy"
 
-#, fuzzy
-#~ msgid "phone users"
-#~ msgstr "Người dùng Proxy"
-
 #~ msgid "Edit UNIX properties"
 #~ msgstr "Hiệu chỉnh các tính năng UNIX"
 
@@ -6927,9 +8592,6 @@ msgstr "Tự động"
 #~ msgid "Create user with this template"
 #~ msgstr "Tạo ra người dùng từ mẫu này"
 
-#~ msgid "user"
-#~ msgstr "người dùng"
-
 #~ msgid "password"
 #~ msgstr "mật khẩu"
 
@@ -6964,9 +8626,6 @@ msgstr "Tự động"
 #~ "trang và kích vào phím \"Tiếp tục\" để tiếp tục với hộp thoại quản lý bộ "
 #~ "phận."
 
-#~ msgid "Department management"
-#~ msgstr "Quản trị phòng ban "
-
 #~ msgid ""
 #~ "This includes all system and setup informations. Please double check if "
 #~ "your really want to do this since there is no way for GOsa to get your "
@@ -7007,9 +8666,6 @@ msgstr "Tự động"
 #~ msgid "ACL takes effect for all users"
 #~ msgstr "ACL tác động lên tất cả người dùng"
 
-#~ msgid "Version mismatch for optional object class '%s' (!=%s)!"
-#~ msgstr "Phiên bản không phù hợp với lớp đối tượng lựa chọn '%s' (!=%s)!"
-
 #, fuzzy
 #~ msgid "Non common group"
 #~ msgstr "Không ở trong tất cả các nhóm"
@@ -7017,9 +8673,6 @@ msgstr "Tự động"
 #~ msgid "Enable DNS extension"
 #~ msgstr "Bật chức năng mở rộng DNS"
 
-#~ msgid "Enable DHCP extension"
-#~ msgstr "Bật chức năng mở rộng DHCP"
-
 #~ msgid "Enable mime type management"
 #~ msgstr "Bật chức năng quản lý dạng mime"
 
@@ -7064,9 +8717,6 @@ msgstr "Tự động"
 #~ msgid "Role name"
 #~ msgstr "Tên vai trò"
 
-#~ msgid "Role description"
-#~ msgstr "Mô tả vai trò"
-
 #~ msgid "Swedish"
 #~ msgstr "Tiếng Thụy Điển"
 
@@ -7076,17 +8726,11 @@ msgstr "Tự động"
 #~ msgid "You're about to delete the whole LDAP subtree placed under '%s'."
 #~ msgstr "Bạn chuẩn bị xóa tất cả cây thư mục LDAP nhỏ được đặt dưới '%s'."
 
-#~ msgid "Delete acl role"
-#~ msgstr "Xóa vai trò acl"
-
 #~ msgid "Terminals"
 #~ msgstr "Các thiết bị cuối"
 
 #~ msgid "Steps"
 #~ msgstr "Các bước"
 
-#~ msgid "Action"
-#~ msgstr "Hành động"
-
 #~ msgid "Select this base"
 #~ msgstr "Chọn cơ sở này"
diff --git a/gosa-core/locale/core/zh/LC_MESSAGES/messages.po b/gosa-core/locale/core/zh/LC_MESSAGES/messages.po
index 41b0a72..2c3dce0 100644
--- a/gosa-core/locale/core/zh/LC_MESSAGES/messages.po
+++ b/gosa-core/locale/core/zh/LC_MESSAGES/messages.po
@@ -7,2509 +7,2544 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-09 20:24+0200\n"
+"POT-Creation-Date: 2011-04-12 09:43+0200\n"
 "PO-Revision-Date: 2007-06-03 12:27+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net at gmail.com>\n"
 "Language-Team: Chinese Simplified <zh at li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: ihtml/themes/default/remove.tpl:2 ihtml/themes/default/msg_dialog.tpl:59
-#: ihtml/themes/default/msg_dialog.tpl:106 ihtml/themes/default/islocked.tpl:6
-#: ihtml/themes/default/conflict.tpl:6 html/password.php:280 html/index.php:57
-#: html/index.php:63 html/index.php:406 html/index.php:412
-#: include/functions.inc:954 include/functions.inc:2686
-#: include/functions.inc:2690 include/functions.inc:2696
-#: include/class_tabs.inc:268 include/utils/class_xml.inc:37
-#: plugins/admin/ogroups/remove.tpl:2 plugins/admin/groups/remove.tpl:2
-#: plugins/admin/groups/class_group.inc:994 plugins/admin/users/remove.tpl:2
-#: plugins/admin/departments/remove.tpl:2
-#: plugins/admin/departments/dep_move_confirm.tpl:2
-#: plugins/admin/acl/remove.tpl:2
-#: plugins/personal/posix/class_posixAccount.inc:793
-#: plugins/personal/posix/class_posixAccount.inc:946
-#: setup/class_setupStep_Migrate.inc:261 setup/class_setupStep_Migrate.inc:313
-#: setup/class_setupStep_Migrate.inc:446 setup/class_setupStep_Migrate.inc:523
-#: setup/class_setupStep_Migrate.inc:661 setup/class_setupStep_Migrate.inc:804
-#: setup/class_setupStep_Migrate.inc:2573
-#: setup/class_setupStep_Migrate.inc:2726
-#: setup/class_setupStep_Migrate.inc:3058 setup/setup_checks.tpl:32
-#: setup/setup_checks.tpl:93
-msgid "Warning"
-msgstr "警告"
-
-#: ihtml/themes/default/remove.tpl:6
-msgid ""
-"This may be used by several groups. Please double check if your really want "
-"to do this since there is no way for GOsa to get your data back."
-msgstr ""
-"这可能被好几个组使用。请再次检查您是否要这么做,因为 GOsa 没有办法将您的数据"
-"找回。"
-
-#: ihtml/themes/default/remove.tpl:9 plugins/admin/ogroups/remove.tpl:10
-#: plugins/admin/groups/remove.tpl:10 plugins/admin/users/remove.tpl:10
-#: plugins/admin/acl/remove.tpl:10
-msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
-msgstr "所以,如果您确定,请按“删除”继续,否则按“取消”退出。"
-
-#: ihtml/themes/default/remove.tpl:15
-#: ihtml/themes/default/copyPasteDialog.tpl:21
-#: ihtml/themes/default/acl.tpl:128 ihtml/themes/default/acl.tpl:142
-#: ihtml/themes/default/snapshotdialog.tpl:44
-#: ihtml/themes/default/snapshotdialog.tpl:89
-#: ihtml/themes/default/msg_dialog.tpl:79
-#: ihtml/themes/default/msg_dialog.tpl:139
-#: ihtml/themes/default/msg_dialog.tpl:144
-#: ihtml/themes/default/islocked.tpl:19 include/utils/class_msgPool.inc:312
-#: setup/setup_migrate.tpl:163 setup/setup_migrate.tpl:214
-#: setup/setup_migrate.tpl:261 setup/setup_migrate.tpl:326
-#: setup/setup_migrate.tpl:382 setup/setup_migrate.tpl:435
-#: setup/setup_migrate.tpl:480 setup/setup_migrate.tpl:523
-#: setup/setup_migrate.tpl:567 setup/setup_ldap.tpl:17
-#, php-format
-msgid "Cancel"
-msgstr "取消"
-
-#: ihtml/themes/default/login.tpl:10
-msgid "GOsa login screen"
-msgstr ""
+#: include/class_management.inc:32 include/class_management.inc:33
+#: plugins/personal/posix/class_posixAccount.inc:215
+msgid "unconfigured"
+msgstr "未配置"
 
-#: ihtml/themes/default/login.tpl:27
+#: include/class_management.inc:324 include/class_management.inc:487
+#: include/class_management.inc:534 include/class_management.inc:549
+#: include/class_management.inc:586 include/class_management.inc:600
+#: plugins/admin/users/class_userManagement.inc:228
+#: plugins/admin/users/class_userManagement.inc:753
 #, fuzzy
-msgid "Login screen"
-msgstr "登录脚本"
+msgid "Permission"
+msgstr "允许"
 
-#: ihtml/themes/default/login.tpl:34
+#: include/class_management.inc:405
+#: plugins/admin/acl/class_aclManagement.inc:98
+#: plugins/admin/users/class_userManagement.inc:711
+#: plugins/admin/users/class_userManagement.inc:715
 #, fuzzy
-msgid ""
-"Please use your username and your password to log into the site "
-"administration system."
-msgstr "请用您的用户名和口令登录"
-
-#: ihtml/themes/default/login.tpl:42 ihtml/themes/default/login.tpl:44
-#: ihtml/themes/default/password.tpl:69 ihtml/themes/default/password.tpl:71
-msgid "Username"
-msgstr "用户名"
+msgid "Permission error"
+msgstr "允许"
 
-#: ihtml/themes/default/login.tpl:47 ihtml/themes/default/login.tpl:49
-#: ihtml/themes/default/password.tpl:40
-#: plugins/personal/generic/paste_generic.tpl:20
-#: plugins/personal/password/class_password.inc:26 setup/setup_config2.tpl:237
-#: setup/setup_config2.tpl:282 setup/setup_migrate.tpl:299
-msgid "Password"
-msgstr "口令"
+#: include/class_management.inc:487
+#, fuzzy, php-format
+msgid "You are not allowed to create a snapshot for %s!"
+msgstr "您无权删除这个用户!"
 
-#: ihtml/themes/default/login.tpl:52 ihtml/themes/default/login.tpl:53
-#: ihtml/themes/default/password.tpl:60 ihtml/themes/default/password.tpl:62
-msgid "Directory"
-msgstr "目录"
+#: include/class_management.inc:508 include/class_management.inc:669
+#: include/utils/class_msgPool.inc:137 include/utils/class_msgPool.inc:149
+#: include/utils/class_msgPool.inc:167 include/utils/class_msgPool.inc:440
+#: include/utils/class_msgPool.inc:462 include/utils/class_xml.inc:40
+#: include/class_listing.inc:536 include/class_tabs.inc:71
+#: include/class_msg_dialog.inc:99 include/class_plugin.inc:1698
+#: include/class_plugin.inc:1705
+#: include/password-methods/class_password-methods.inc:339
+#: include/functions.inc:3065 include/functions.inc:3373
+#: include/functions.inc:3387 include/functions.inc:3417
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465 include/functions.inc:3525
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#: include/class_CopyPasteHandler.inc:377
+#: include/class_gosaSupportDaemon.inc:1184
+#: include/class_gosaSupportDaemon.inc:1204
+#: setup/class_setupStep_Migrate.inc:450 setup/setup_checks.tpl:25
+#: setup/setup_checks.tpl:66 html/index.php:241 html/index.php:245
+#: plugins/personal/password/class_password.inc:210
+#: plugins/personal/generic/class_user.inc:297
+#: plugins/personal/generic/class_user.inc:429
+#: plugins/personal/generic/class_user.inc:522
+#: plugins/personal/generic/class_user.inc:816
+#: plugins/personal/generic/class_user.inc:1050
+#: plugins/personal/generic/class_user.inc:1177
+#: plugins/personal/generic/class_user.inc:1184
+#: plugins/personal/generic/class_user.inc:1202
+#: plugins/personal/generic/class_user.inc:1483
+#: plugins/personal/generic/class_user.inc:1809
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:203
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:207
+#: plugins/admin/groups/class_group.inc:463
+#: plugins/admin/groups/class_group.inc:469
+#: plugins/admin/groups/class_group.inc:657
+#: plugins/admin/groups/class_group.inc:753
+#: plugins/admin/groups/class_group.inc:758
+#: plugins/admin/groups/class_group.inc:1096
+#: plugins/admin/ogroups/class_ogroup.inc:402
+#: plugins/admin/acl/class_aclRole.inc:670
+#: plugins/admin/departments/class_department.inc:317
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:43
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:49
+#: plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc:96
+#: plugins/generic/statistics/class_statistics.inc:133
+#: plugins/generic/statistics/class_statistics.inc:229
+#: plugins/generic/statistics/class_statistics.inc:244
+#: plugins/generic/references/class_ldifViewer.inc:20
+#, php-format
+msgid "Error"
+msgstr "错误"
 
-#: ihtml/themes/default/login.tpl:77 ihtml/themes/default/login.tpl:80
-msgid "Sign in"
-msgstr "登录"
+#: include/class_management.inc:534 include/class_management.inc:586
+#: include/class_management.inc:600
+#, fuzzy, php-format
+msgid "You are not allowed to restore a snapshot for %s!"
+msgstr "您无权删除这个用户!"
 
-#: ihtml/themes/default/login.tpl:78
-msgid "Click here to log in"
-msgstr "点击这里登录"
+#: include/class_management.inc:549
+#, fuzzy, php-format
+msgid "You are not allowed to remove a snapshot for %s!"
+msgstr "您无权删除这个用户!"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:1
+#: include/class_management.inc:659 include/class_management.inc:743
+#: include/class_log.inc:87 include/class_session.inc:76
+#: include/class_session.inc:101 include/class_session.inc:127
+#: include/functions.inc:640 include/functions.inc:854
+#: include/functions.inc:972 include/functions.inc:1367
+#: include/functions.inc:2195 include/functions.inc:2225
+#: include/functions.inc:2245 include/class_ldap.inc:784
+#: include/class_ldap.inc:835 include/class_CopyPasteHandler.inc:160
+#: include/class_CopyPasteHandler.inc:274 include/class_acl.inc:984
+#: plugins/personal/myaccount/main.inc:49
 #, fuzzy
-msgid "Copy & paste wizard"
-msgstr "拷贝和粘贴精灵"
+msgid "Internal error"
+msgstr "终端服务器"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:7
+#: include/class_management.inc:660 include/class_management.inc:744
+#: plugins/personal/myaccount/main.inc:50
+#, php-format
 msgid ""
-"Some values need to be unique in the complete directory while some "
-"combinations make no sense. GOsa shows the relevant attributes. Please "
-"maintain the values below to fullfill the policies."
-msgstr ""
-"有的变量需要在整个目录中保持唯一,而有的组合没有意义。GOsa 显示有关属性。请按"
-"照这个原则维护其取值。"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:9
-msgid "Remember that some properties like taken snapshots will not be copied!"
+"Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:10
+#: include/class_management.inc:669
+#, php-format
 msgid ""
-"Or if you copy or cut an entry within GOsa and delete the source object, you "
-"may get errors while pasting this object again!"
+"No tab definition for %s found in configuration file: cannot create plugin "
+"instance!"
 msgstr ""
 
-#: ihtml/themes/default/copyPasteDialog.tpl:19
-#: include/utils/class_msgPool.inc:330
-#, php-format
-msgid "Save"
-msgstr "保存"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:24
+#: include/class_pluglist.inc:146 include/utils/class_timezone.inc:47
+#: include/password-methods/class_password-methods-sha.inc:48
+#: include/password-methods/class_password-methods-ssha.inc:51
+#: include/functions.inc:864 include/functions.inc:3080
+#: include/functions.inc:3095 include/class_config.inc:171
+#: include/class_config.inc:710 include/class_config.inc:1171
+#: include/class_config.inc:1184 include/class_config.inc:1202
+#: include/class_CopyPasteHandler.inc:119
+#: include/class_CopyPasteHandler.inc:128
+#: include/class_CopyPasteHandler.inc:177
+#: include/class_CopyPasteHandler.inc:186
+#: include/class_CopyPasteHandler.inc:194 include/class_SnapshotHandler.inc:44
+#: include/class_SnapshotHandler.inc:57 include/class_SnapshotHandler.inc:75
+#: html/password.php:113 html/index.php:157 html/index.php:233
+#: html/main.php:295 plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
 #, fuzzy
-msgid "Cancel all"
-msgstr "取消"
-
-#: ihtml/themes/default/copyPasteDialog.tpl:30
-msgid "Operation complete"
-msgstr "操作完成"
+msgid "Configuration error"
+msgstr "配置文件"
 
-#: ihtml/themes/default/copyPasteDialog.tpl:32
-#: setup/class_setupStep_Finish.inc:37
-msgid "Finish"
-msgstr "完成"
+#: include/class_pluglist.inc:147
+msgid "The configuration format has changed: please run the setup again!"
+msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:3
+#: include/class_pluglist.inc:304
+#, fuzzy
 msgid ""
-"The size limit option makes LDAP operations faster and saves the LDAP server "
-"from getting too much load. The easiest way to handle big databases without "
-"long timeouts would be to limit your search to smaller values and use "
-"filters to get the entries you are looking for."
-msgstr ""
-"大小限制选项会让 LDAP 操作更快,以免使 LDAP 服务器过载。最简单让大数据库处理"
-"不发成长时间超时的办法是,将查询缩小到更少并且使用过滤器。"
+"You are currently editing a database entry. Do you want to discard the "
+"changes?"
+msgstr "您正在编辑一个数据项。您确认要丢弃当前的修改么?"
 
-#: ihtml/themes/default/sizelimit.tpl:6
-msgid "Please choose the way to react for this session"
-msgstr "请选择响应这个会话的方法"
+#: include/class_pluglist.inc:479 plugins/admin/groups/class_group.inc:329
+#: plugins/admin/groups/class_group.inc:350
+#: plugins/admin/groups/class_group.inc:367
+#: plugins/admin/departments/class_department.inc:152
+#: plugins/generic/references/contents.tpl:18
+msgid "Unknown"
+msgstr "未知"
 
-#: ihtml/themes/default/sizelimit.tpl:9
-msgid "ignore this error and show all entries the LDAP server returns"
-msgstr "忽略错误并显示 LDAP 服务器返回的所有条目"
+#: include/utils/class_msgPool.inc:17
+msgid "This object will be deleted!"
+msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:10
-msgid ""
-"ignore this error and show all entries that fit into the defined sizelimit "
-"and let me use filters instead"
-msgstr "忽略错误并显示在定义限制长度内的所有条目,并让我使用过滤器。"
+#: include/utils/class_msgPool.inc:19
+#, php-format
+msgid "This %s object will be deleted!"
+msgstr ""
 
-#: ihtml/themes/default/sizelimit.tpl:14 include/utils/class_msgPool.inc:348
+#: include/utils/class_msgPool.inc:24
 #, php-format
-msgid "Set"
-msgstr "设置"
+msgid "This object will be deleted: %s"
+msgstr ""
 
-#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
-msgid "Assigned ACL for current entry"
+#: include/utils/class_msgPool.inc:26
+#, php-format
+msgid "This %s object will be deleted: %s"
 msgstr ""
 
-#: ihtml/themes/default/acl.tpl:12 plugins/admin/acl/acl_role.tpl:38
-#, fuzzy
-msgid "New ACL"
-msgstr "新"
+#: include/utils/class_msgPool.inc:31
+msgid "This object will be deleted:"
+msgstr ""
 
-#: ihtml/themes/default/acl.tpl:17 plugins/admin/acl/acl_role.tpl:44
-#, fuzzy
-msgid "ACL type"
-msgstr "分类类型"
+#: include/utils/class_msgPool.inc:33
+#, php-format
+msgid "This %s object will be deleted:"
+msgstr ""
 
-#: ihtml/themes/default/acl.tpl:19 ihtml/themes/default/acl.tpl:24
-#: plugins/admin/acl/acl_role.tpl:44
-#, fuzzy
-msgid "Select an acl type"
-msgstr "选择一个位置"
+#: include/utils/class_msgPool.inc:37
+#, php-format
+msgid "These objects will be deleted: %s"
+msgstr ""
 
-#: ihtml/themes/default/acl.tpl:29 ihtml/themes/default/acl.tpl:52
-#: ihtml/themes/default/acl.tpl:125 ihtml/themes/default/acl.tpl:140
-#: include/utils/class_msgPool.inc:324 setup/setup_migrate.tpl:161
-#: setup/setup_migrate.tpl:212 setup/setup_migrate.tpl:260
-#: setup/setup_migrate.tpl:325 setup/setup_migrate.tpl:380
-#: setup/setup_migrate.tpl:433 setup/setup_migrate.tpl:478
-#: setup/setup_migrate.tpl:521 setup/setup_migrate.tpl:565
-#: setup/setup_ldap.tpl:16
+#: include/utils/class_msgPool.inc:39
 #, php-format
-msgid "Apply"
-msgstr "应用"
+msgid "These %s objects will be deleted: %s"
+msgstr ""
 
-#: ihtml/themes/default/acl.tpl:36
+#: include/utils/class_msgPool.inc:47
 #, fuzzy
-msgid "Additional filter options"
-msgstr "应用程序设置"
+msgid "You have no permission to delete this object!"
+msgstr "您无权删除这个部门。"
 
-#: ihtml/themes/default/acl.tpl:47
-msgid "Use members from"
-msgstr ""
+#: include/utils/class_msgPool.inc:51 include/utils/class_msgPool.inc:55
+#, fuzzy
+msgid "You have no permission to delete the object:"
+msgstr "您无权删除这个部门。"
 
-#: ihtml/themes/default/acl.tpl:61
-msgid "Available members"
-msgstr ""
+#: include/utils/class_msgPool.inc:58
+#, fuzzy
+msgid "You have no permission to delete these objects:"
+msgstr "您无权删除这个部门。"
 
-#: ihtml/themes/default/acl.tpl:63 ihtml/themes/default/acl.tpl:68
-msgid "List message possible targets"
-msgstr ""
+#: include/utils/class_msgPool.inc:65
+#, fuzzy
+msgid "You have no permission to create this object!"
+msgstr "您无权删除这个部门。"
 
-#: ihtml/themes/default/acl.tpl:82 include/class_acl.inc:1090
-msgid "Members"
-msgstr "成员"
+#: include/utils/class_msgPool.inc:69 include/utils/class_msgPool.inc:73
+#, fuzzy
+msgid "You have no permission to create the object:"
+msgstr "您无权删除这个部门。"
 
-#: ihtml/themes/default/acl.tpl:84 ihtml/themes/default/acl.tpl:90
-msgid "List message recipients"
-msgstr ""
+#: include/utils/class_msgPool.inc:76
+#, fuzzy
+msgid "You have no permission to create these objects:"
+msgstr "您无权删除这个部门。"
 
-#: ihtml/themes/default/acl.tpl:104 plugins/admin/acl/acl_role.tpl:49
+#: include/utils/class_msgPool.inc:83
 #, fuzzy
-msgid "List of available ACL categories"
-msgstr "可用软件包列表"
+msgid "You have no permission to modify this object!"
+msgstr "您无权删除这个黑名单。"
 
-#: ihtml/themes/default/acl.tpl:112
+#: include/utils/class_msgPool.inc:87 include/utils/class_msgPool.inc:91
 #, fuzzy
-msgid "ACL for this object"
-msgstr "检查 iconv 支持"
+msgid "You have no permission to modify the object:"
+msgstr "您无权删除这个黑名单。"
 
-#: ihtml/themes/default/acl.tpl:118
+#: include/utils/class_msgPool.inc:94
 #, fuzzy
-msgid "Available roles"
-msgstr "可用的应用程序"
+msgid "You have no permission to modify these objects:"
+msgstr "您无权删除这个黑名单。"
 
-#: ihtml/themes/default/accountexpired.tpl:15
+#: include/utils/class_msgPool.inc:101
 #, fuzzy
-msgid "Your password has expired. Please choose a new one!"
-msgstr "您的口令已经过期 !! 选择一个新口令"
+msgid "You have no permission to view this object!"
+msgstr "您无权删除这个黑名单。"
 
-#: ihtml/themes/default/accountexpired.tpl:23
-#: ihtml/themes/default/accountexpired.tpl:27
+#: include/utils/class_msgPool.inc:105 include/utils/class_msgPool.inc:109
 #, fuzzy
-msgid "Old password"
-msgstr "旧口令"
+msgid "You have no permission to view the object:"
+msgstr "您无权在此 'Base' 下创建一个电话"
 
-#: ihtml/themes/default/accountexpired.tpl:32
-#: ihtml/themes/default/accountexpired.tpl:36
-#: ihtml/themes/default/password.tpl:82 ihtml/themes/default/password.tpl:83
-#: html/password.php:196 plugins/admin/users/password.tpl:17
-#: plugins/admin/users/password.tpl:53
-#: plugins/admin/users/class_userManagement.inc:319
-#: plugins/personal/generic/password.tpl:22
-#: plugins/personal/generic/password.tpl:65
-#: plugins/personal/password/password.tpl:27
-#: plugins/personal/password/password.tpl:70
-msgid "New password"
-msgstr "新口令"
+#: include/utils/class_msgPool.inc:112
+#, fuzzy
+msgid "You have no permission to view these objects:"
+msgstr "您无权删除这个黑名单。"
 
-#: ihtml/themes/default/accountexpired.tpl:41
-#: ihtml/themes/default/accountexpired.tpl:45
+#: include/utils/class_msgPool.inc:119
 #, fuzzy
-msgid "Verify password"
-msgstr "口令确认"
+msgid "You have no permission to move this object!"
+msgstr "您无权删除这个黑名单。"
 
-#: ihtml/themes/default/accountexpired.tpl:51
-#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
-msgid "Change password"
-msgstr "修改口令"
+#: include/utils/class_msgPool.inc:123 include/utils/class_msgPool.inc:127
+#, fuzzy
+msgid "You have no permission to move the object:"
+msgstr "您无权删除这个黑名单。"
 
-#: ihtml/themes/default/accountexpired.tpl:52
-#: ihtml/themes/default/password.tpl:102
+#: include/utils/class_msgPool.inc:130
 #, fuzzy
-msgid "Click here to change your password"
-msgstr "点击这里来修改您的口令"
+msgid "You have no permission to move these objects:"
+msgstr "您无权删除这个黑名单。"
 
-#: ihtml/themes/default/logout-close.tpl:5
+#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:152
+#: include/utils/class_msgPool.inc:170
 #, fuzzy
-msgid "Your GOsa session has been closed!"
-msgstr "您的 GOsa 会话已经过期!"
+msgid "Connection information"
+msgstr "个人信息"
 
-#: ihtml/themes/default/logout-close.tpl:7
-msgid ""
-"Please close this browser window and clean the authentication caches to "
-"avoid an automatic re-authentication by your browser."
-msgstr ""
+#: include/utils/class_msgPool.inc:142
+#, fuzzy, php-format
+msgid "Cannot connect to %s database!"
+msgstr "无法连接到数据库!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:3
-msgid "Restoring object snapshots"
-msgstr ""
+#: include/utils/class_msgPool.inc:154
+#, fuzzy, php-format
+msgid "Cannot select %s database!"
+msgstr "无法选择数据库!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:6
-msgid ""
-"This procedure will restore a snapshot of the selected object. It will "
-"replace the existing object after pressing the restore button."
+#: include/utils/class_msgPool.inc:160
+#, php-format
+msgid "No %s server defined!"
 msgstr ""
 
-#: ihtml/themes/default/snapshotdialog.tpl:9
-msgid ""
-"Remember that DNS configuration and database entries could not be restored. "
-"For some objects it is only nescessary to open and save them again (goFon), "
-"but some entries must be recreated manually (glpi)."
-msgstr ""
+#: include/utils/class_msgPool.inc:172
+#, fuzzy, php-format
+msgid "Cannot query %s database!"
+msgstr "无法选择数据库!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:12
-msgid ""
-"Don't forget to check references to other objects, for example does the "
-"selected printer still exists ?"
-msgstr ""
+#: include/utils/class_msgPool.inc:178
+#, fuzzy, php-format
+msgid "The field %s contains a reserved keyword!"
+msgstr "“传真”字段包含一个无效电话号码"
 
-#: ihtml/themes/default/snapshotdialog.tpl:20
-#: ihtml/themes/default/snapshotdialog.tpl:62 include/class_acl.inc:777
-#: include/class_acl.inc:784 include/class_acl.inc:791
-#: include/class_acl.inc:797 include/utils/class_msgPool.inc:475
-#: plugins/admin/departments/class_department.inc:621
-msgid "Object"
-msgstr "对象"
+#: include/utils/class_msgPool.inc:184
+#, fuzzy, php-format
+msgid "Command specified as %s hook for plugin %s does not exist!"
+msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
 
-#: ihtml/themes/default/snapshotdialog.tpl:29
-#, fuzzy
-msgid "There is no snapshot available that could be restored"
-msgstr "没有可用的 mysql 扩展,请检查您的 php 设置。"
+#: include/utils/class_msgPool.inc:191
+#, fuzzy, php-format
+msgid "%s command is invalid!"
+msgstr "指定的 branch 名称无效。"
 
-#: ihtml/themes/default/snapshotdialog.tpl:31
-msgid "Choose a snapshot and click the folder image, to restore the snapshot"
-msgstr ""
+#: include/utils/class_msgPool.inc:193
+#, fuzzy, php-format
+msgid "%s command (%s) for plugin %s is invalid!"
+msgstr "指定的 branch 名称无效。"
 
-#: ihtml/themes/default/snapshotdialog.tpl:49
-#, fuzzy
-msgid "Creating object snapshots"
-msgstr "创建新对象组"
+#: include/utils/class_msgPool.inc:195
+#, fuzzy, php-format
+msgid "%s command for plugin %s is invalid!"
+msgstr "指定的 branch 名称无效。"
 
-#: ihtml/themes/default/snapshotdialog.tpl:52
-msgid ""
-"This procedure will create a snapshot of the selected object. It will be "
-"stored inside a special branch of your directory system and can be restored "
-"later on."
-msgstr ""
+#: include/utils/class_msgPool.inc:197
+#, fuzzy, php-format
+msgid "%s command (%s) is invalid!"
+msgstr "指定的 branch 名称无效。"
 
-#: ihtml/themes/default/snapshotdialog.tpl:55
-msgid ""
-"Remember that database entries, DNS configurations and possibly created "
-"zones in server extensions will not be stored in the snapshot."
-msgstr ""
+#: include/utils/class_msgPool.inc:205
+#, fuzzy, php-format
+msgid "Cannot execute %s command!"
+msgstr "无法选择数据库!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:70
-#, fuzzy
-msgid "Timestamp"
-msgstr "过期"
+#: include/utils/class_msgPool.inc:207
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s) for plugin %s!"
+msgstr "无法选择数据库!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:79
-msgid "Reason for generating this snapshot"
-msgstr ""
+#: include/utils/class_msgPool.inc:209
+#, fuzzy, php-format
+msgid "Cannot execute %s command for plugin %s!"
+msgstr "无法选择数据库!"
 
-#: ihtml/themes/default/snapshotdialog.tpl:87
-#: plugins/admin/users/template.tpl:48
-#: plugins/admin/departments/class_department.inc:561
-#: plugins/admin/departments/class_department.inc:643
-msgid "Continue"
-msgstr "继续"
+#: include/utils/class_msgPool.inc:211
+#, fuzzy, php-format
+msgid "Cannot execute %s command (%s)!"
+msgstr "无法选择数据库!"
 
-#: ihtml/themes/default/msg_dialog.tpl:57
-#: ihtml/themes/default/msg_dialog.tpl:104 html/index.php:224
-#: html/index.php:228 include/class_management.inc:448
-#: include/class_management.inc:584 include/class_management.inc:916
-#: include/password-methods/class_password-methods.inc:250
-#: include/password-methods/class_password-methods.inc:309
-#: include/password-methods/class_password-methods.inc:320
-#: include/class_listing.inc:480 include/functions.inc:3393
-#: include/functions.inc:3407 include/functions.inc:3437
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485 include/functions.inc:3545
-#: include/class_tabs.inc:56 include/class_plugin.inc:670
-#: include/class_plugin.inc:712 include/class_plugin.inc:755
-#: include/class_plugin.inc:1642 include/utils/class_xml.inc:40
-#: include/utils/class_msgPool.inc:154 include/utils/class_msgPool.inc:166
-#: include/utils/class_msgPool.inc:184 include/utils/class_msgPool.inc:457
-#: include/utils/class_msgPool.inc:478 include/utils/class_msgPool.inc:497
-#: include/class_gosaSupportDaemon.inc:1184
-#: include/class_gosaSupportDaemon.inc:1204
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#: include/class_CopyPasteHandler.inc:377 include/class_msg_dialog.inc:99
-#: plugins/admin/ogroups/class_ogroup.inc:469
-#: plugins/admin/groups/class_group.inc:539
-#: plugins/admin/groups/class_group.inc:545
-#: plugins/admin/groups/class_group.inc:753
-#: plugins/admin/groups/class_group.inc:894
-#: plugins/admin/groups/class_group.inc:899
-#: plugins/admin/groups/class_group.inc:1221
-#: plugins/admin/departments/class_department.inc:311
-#: plugins/admin/acl/class_aclRole.inc:681
-#: plugins/personal/generic/class_user.inc:297
-#: plugins/personal/generic/class_user.inc:408
-#: plugins/personal/generic/class_user.inc:503
-#: plugins/personal/generic/class_user.inc:801
-#: plugins/personal/generic/class_user.inc:1190
-#: plugins/personal/generic/class_user.inc:1197
-#: plugins/personal/generic/class_user.inc:1215
-#: plugins/personal/generic/class_user.inc:1485
-#: plugins/personal/generic/class_user.inc:1783
-#: setup/class_setupStep_Migrate.inc:1201 setup/setup_checks.tpl:30
-#: setup/setup_checks.tpl:91
-#, php-format
-msgid "Error"
-msgstr "错误"
+#: include/utils/class_msgPool.inc:219
+#, fuzzy, php-format
+msgid "Value for %s is too large!"
+msgstr "'UID' 赋值太小。"
 
-#: ihtml/themes/default/msg_dialog.tpl:61
-#: ihtml/themes/default/msg_dialog.tpl:108
-#: plugins/admin/ogroups/class_ogroup.inc:238 setup/setup_ldap.tpl:121
-msgid "Information"
-msgstr "提示信息"
+#: include/utils/class_msgPool.inc:221
+#, fuzzy, php-format
+msgid "%s must be smaller than %s!"
+msgstr "提供的 'shadowMin' 应该小于'shadowMax'。"
+
+#: include/utils/class_msgPool.inc:229
+#, fuzzy, php-format
+msgid "Value for %s is too small!"
+msgstr "'UID' 赋值太小。"
+
+#: include/utils/class_msgPool.inc:231
+#, fuzzy, php-format
+msgid "%s must be %s or above!"
+msgstr "提供的 'shadowMin' 应该小于'shadowMax'。"
 
-#: ihtml/themes/default/msg_dialog.tpl:76
-#: ihtml/themes/default/msg_dialog.tpl:78
-#: ihtml/themes/default/msg_dialog.tpl:134
-#: ihtml/themes/default/msg_dialog.tpl:137
-#: ihtml/themes/default/msg_dialog.tpl:142 include/utils/class_msgPool.inc:318
-#: setup/class_setupStep_Migrate.inc:267 setup/class_setupStep_Migrate.inc:319
-#: setup/class_setupStep_Migrate.inc:380 setup/class_setupStep_Migrate.inc:453
-#: setup/class_setupStep_Migrate.inc:530 setup/class_setupStep_Migrate.inc:604
-#: setup/class_setupStep_Migrate.inc:657 setup/class_setupStep_Migrate.inc:800
-#: setup/class_setupStep_Migrate.inc:1046
-#: setup/class_setupStep_Migrate.inc:2013
-#: setup/class_setupStep_Migrate.inc:2157
-#: setup/class_setupStep_Migrate.inc:2579
-#: setup/class_setupStep_Migrate.inc:2733
-#: setup/class_setupStep_Migrate.inc:3063 setup/setup_checks.tpl:27
-#: setup/setup_checks.tpl:87
+#: include/utils/class_msgPool.inc:238
 #, php-format
-msgid "Ok"
-msgstr "好"
+msgid "%s depends on %s - please provide both values!"
+msgstr ""
 
-#: ihtml/themes/default/password.tpl:6
-#, fuzzy
-msgid "Change your password"
-msgstr "修改口令"
+#: include/utils/class_msgPool.inc:244
+#, fuzzy, php-format
+msgid "There is already an entry with this %s attribute in the system!"
+msgstr "数据库中已经有同样登录名的用户。"
 
-#: ihtml/themes/default/password.tpl:35
-#, fuzzy
-msgid "Success"
-msgstr "访问"
+#: include/utils/class_msgPool.inc:250
+#, fuzzy, php-format
+msgid "The required field %s is empty!"
+msgstr "需要的“姓名”字段没有设置"
 
-#: ihtml/themes/default/password.tpl:35
-msgid "Your password has been changed successfully."
+#: include/utils/class_msgPool.inc:258 include/class_core.inc:309
+msgid "Example"
 msgstr ""
 
-#: ihtml/themes/default/password.tpl:41 html/main.php:198
-#: plugins/admin/users/class_userManagement.inc:390
-#: plugins/personal/password/class_password.inc:128
-#: plugins/personal/password/class_password.inc:131
-#: plugins/personal/password/class_password.inc:134
-#: plugins/personal/password/class_password.inc:137
-#: plugins/personal/password/class_password.inc:140
-#: plugins/personal/password/class_password.inc:143
-#: plugins/personal/password/class_password.inc:157
-#: plugins/personal/password/class_password.inc:163
-#, fuzzy
-msgid "Password change"
+#: include/utils/class_msgPool.inc:278
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters"
+msgstr "“姓名”字段包含无效字符。"
+
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s is not allowed:"
 msgstr "不允许修改口令"
 
-#: ihtml/themes/default/password.tpl:53
-msgid ""
-"This dialog provides a simple way to change your password. Enter the current "
-"password and the new password (twice) in the fields below and press the "
-"'Change' button."
-msgstr ""
+#: include/utils/class_msgPool.inc:279
+#, fuzzy, php-format
+msgid "%s are not allowed!"
+msgstr "不允许修改口令"
 
-#: ihtml/themes/default/password.tpl:78 ihtml/themes/default/password.tpl:79
-#: html/password.php:217 plugins/personal/generic/password.tpl:17
-#: plugins/personal/generic/password.tpl:44
-#: plugins/personal/password/password.tpl:22
-#: plugins/personal/password/password.tpl:49
-msgid "Current password"
-msgstr "当前口令"
+#: include/utils/class_msgPool.inc:282
+#, fuzzy, php-format
+msgid "The Field %s contains invalid characters!"
+msgstr "“姓名”字段包含无效字符。"
 
-#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:87
-#, fuzzy
-msgid "New password repeated"
-msgstr "新口令"
+#: include/utils/class_msgPool.inc:289
+#, fuzzy, php-format
+msgid "Missing %s PHP extension!"
+msgstr "删除打印机扩展"
 
-#: ihtml/themes/default/password.tpl:90
-#: plugins/personal/generic/password.tpl:32
-#: plugins/personal/generic/password.tpl:75
-#: plugins/personal/password/password.tpl:37
-#: plugins/personal/password/password.tpl:80
-#, fuzzy
-msgid "Password strength"
-msgstr "口令存储"
+#: include/utils/class_msgPool.inc:295 ihtml/themes/default/acl.tpl:137
+#: ihtml/themes/default/acl.tpl:153 ihtml/themes/default/snapshotdialog.tpl:44
+#: ihtml/themes/default/snapshotdialog.tpl:90
+#: ihtml/themes/default/islocked.tpl:26
+#: ihtml/themes/default/copyPasteDialog.tpl:21
+#: ihtml/themes/default/msg_dialog.tpl:80
+#: ihtml/themes/default/msg_dialog.tpl:141
+#: ihtml/themes/default/msg_dialog.tpl:146 setup/setup_ldap.tpl:20
+#: setup/setup_migrate.tpl:71
+#, php-format
+msgid "Cancel"
+msgstr "取消"
 
-#: ihtml/themes/default/password.tpl:101
-#, fuzzy
-msgid "Change"
-msgstr "频道"
+#: include/utils/class_msgPool.inc:301 ihtml/themes/default/msg_dialog.tpl:77
+#: ihtml/themes/default/msg_dialog.tpl:79
+#: ihtml/themes/default/msg_dialog.tpl:136
+#: ihtml/themes/default/msg_dialog.tpl:139
+#: ihtml/themes/default/msg_dialog.tpl:144
+#: setup/class_setupStep_Migrate.inc:153 setup/class_setupStep_Migrate.inc:303
+#: setup/class_setupStep_Migrate.inc:684 setup/class_setupStep_Migrate.inc:828
+#: setup/setup_checks.tpl:21 setup/setup_checks.tpl:62
+#, php-format
+msgid "OK"
+msgstr ""
 
-#: ihtml/themes/default/islocked.tpl:2
-msgid "Locking conflict detected"
-msgstr "检测到锁定冲突"
+#: include/utils/class_msgPool.inc:307 ihtml/themes/default/acl.tpl:33
+#: ihtml/themes/default/acl.tpl:62 ihtml/themes/default/acl.tpl:133
+#: ihtml/themes/default/acl.tpl:150 setup/setup_ldap.tpl:19
+#: setup/setup_migrate.tpl:70
+#, php-format
+msgid "Apply"
+msgstr "应用"
 
-#: ihtml/themes/default/islocked.tpl:9
-msgid ""
-"If this lock detection is false, the other person has obviously closed the "
-"webbrowser during the edit operation. You may want to take over the lock by "
-"pressing the 'Edit anyway' button."
-msgstr ""
-"如果锁检查失败,明显的是另外的人在进行编辑操作时关闭了浏览器。您可以通过按“仍"
-"然编辑”按钮来接管这个锁文件。"
+#: include/utils/class_msgPool.inc:313
+#: ihtml/themes/default/copyPasteDialog.tpl:19
+#, php-format
+msgid "Save"
+msgstr "保存"
 
-#: ihtml/themes/default/islocked.tpl:16
-#, fuzzy
-msgid "Read only"
-msgstr "重新加载列表"
+#: include/utils/class_msgPool.inc:319
+#: plugins/personal/generic/generic.tpl:252
+#: plugins/personal/generic/generic.tpl:272
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
+#, php-format
+msgid "Add"
+msgstr "添加"
 
-#: ihtml/themes/default/help.tpl:9
-msgid "GOsa help viewer"
-msgstr "GOsa 帮助浏览器"
+#: include/utils/class_msgPool.inc:319
+#, fuzzy, php-format
+msgid "Add %s"
+msgstr "添加"
 
-#: ihtml/themes/default/help.tpl:15
-msgid "Index"
-msgstr "索引"
+#: include/utils/class_msgPool.inc:325
+#, php-format
+msgid "Delete"
+msgstr "删除"
 
-#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:13
-msgid "Search"
-msgstr "查找"
+#: include/utils/class_msgPool.inc:325
+#, fuzzy, php-format
+msgid "Delete %s"
+msgstr "删除"
 
-#: ihtml/themes/default/logout.tpl:5
-msgid "Your GOsa session has expired!"
-msgstr "您的 GOsa 会话已经过期!"
+#: include/utils/class_msgPool.inc:331 ihtml/themes/default/sizelimit.tpl:16
+#, php-format
+msgid "Set"
+msgstr "设置"
 
-#: ihtml/themes/default/logout.tpl:7
-msgid ""
-"The last interaction with the GOsa web interface has been some time ago in "
-"the past. For security reasons, the session has been closed. To continue "
-"with administrative tasks, please sign in again."
-msgstr ""
-"上一次操作 GOsa 界面是在很长时间之前。出于安全上的考虑,已经关闭了连接。要继"
-"续执行管理任务,请重新登录。"
+#: include/utils/class_msgPool.inc:331
+#, fuzzy, php-format
+msgid "Set %s"
+msgstr "设置"
 
-#: ihtml/themes/default/logout.tpl:10
-msgid "Sign in again"
-msgstr "重新登录"
+#: include/utils/class_msgPool.inc:337
+#, fuzzy, php-format
+msgid "Edit..."
+msgstr "编辑"
+
+#: include/utils/class_msgPool.inc:337
+#, fuzzy, php-format
+msgid "Edit %s..."
+msgstr "编辑用户"
 
-#: ihtml/themes/default/conflict.tpl:2
-msgid "Session conflict detected"
-msgstr "检测道会话冲突"
+#: include/utils/class_msgPool.inc:343
+msgid "Back"
+msgstr "返回"
 
-#: ihtml/themes/default/conflict.tpl:6
-#, fuzzy
+#: include/utils/class_msgPool.inc:363
+#, fuzzy, php-format
+msgid "This account has no valid %s extensions!"
+msgstr "该账户没有有效的 Gosa 扩展。"
+
+#: include/utils/class_msgPool.inc:369
+#, fuzzy, php-format
 msgid ""
-"Probably there's another active instance of your session. Multiple window "
-"operation is technical not possible and heavily depends on the browser "
-"you're using. Usage of different browsers at a time (i.e. IE and Mozilla) is "
-"possible. Pressing the Logout button will close this session."
-msgstr ""
-"可能已经存在另外一个您的活动的会话。多窗口操作在技术上不可能并且和严重依赖您"
-"使用浏览器。使用不同的浏览器(如 IE 和 Mozilla)是可能的。按“退出”按钮关闭此"
-"会话。"
+"This account has %s settings enabled. You can disable them by clicking below."
+msgstr "这个账户已经启用 posix 功能。要禁用请点击下面按钮。"
 
-#: ihtml/themes/default/conflict.tpl:10
+#: include/utils/class_msgPool.inc:372 include/utils/class_msgPool.inc:379
+#, fuzzy, php-format
 msgid ""
-"Ignoring this message will change/destroy the data you're currently editing, "
-"so please close multiple windows and log in again."
+"This account has %s settings enabled. To disable them, you'll need to remove "
+"the %s settings first!"
 msgstr ""
-"忽略这条信息将会修改/破坏您当前编辑的数据,所以请关闭多个窗口并重新登录。"
+"这个账户已经启用 unix 功能。要禁用,您需要先删除 samba / 环境变量账户。"
 
-#: ihtml/themes/default/conflict.tpl:14
-msgid "Logout"
-msgstr "退出"
+#: include/utils/class_msgPool.inc:388
+#, fuzzy, php-format
+msgid ""
+"This account has %s settings disabled. You can enable them by clicking below."
+msgstr "这个账户已经启用 posix 功能。要启用请点击下面按钮。"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-#: ihtml/themes/default/framework.tpl:20 ihtml/themes/default/framework.tpl:24
-#: include/class_pluglist.inc:212
+#: include/utils/class_msgPool.inc:391 include/utils/class_msgPool.inc:398
+#, fuzzy, php-format
 msgid ""
-"You are currently editing a database entry. Do you want to dismiss the "
-"changes?"
-msgstr "您正在编辑一个数据项。您确认要丢弃当前的修改么?"
+"This account has %s settings disabled. To enable them, you'll need to add "
+"the %s settings first!"
+msgstr ""
+"这个账户已经启用 unix 功能。要禁用,您需要先删除 samba / 环境变量账户。"
 
-#: ihtml/themes/default/framework.tpl:8 ihtml/themes/default/framework.tpl:11
-msgid "Main"
-msgstr "首页"
+#: include/utils/class_msgPool.inc:406
+#, fuzzy, php-format
+msgid "Add %s settings"
+msgstr "应用程序设置"
 
-#: ihtml/themes/default/framework.tpl:16
-msgid "Help"
-msgstr "帮助"
+#: include/utils/class_msgPool.inc:412
+#, fuzzy, php-format
+msgid "Remove %s settings"
+msgstr "Posix 设置"
 
-#: ihtml/themes/default/framework.tpl:21 ihtml/themes/default/framework.tpl:25
-msgid "Sign out"
-msgstr "退出"
+#: include/utils/class_msgPool.inc:418
+msgid "Click the 'Edit' button below to change informations in this dialog"
+msgstr "点击下面的“编辑”按钮修改该对话框内的信息"
 
-#: ihtml/themes/default/framework.tpl:29
-msgid "Signed in:"
-msgstr "登录:"
+#: include/utils/class_msgPool.inc:424
+msgid "January"
+msgstr "一月"
 
-#: ihtml/themes/default/framework.tpl:32
-msgid "GOsa main menu"
-msgstr ""
+#: include/utils/class_msgPool.inc:424
+msgid "February"
+msgstr "二月"
 
-#: html/password.php:58 html/main.php:147 include/functions.inc:454
-#: include/utils/class_xml.inc:43
-#: plugins/admin/departments/class_department.inc:433
-#, fuzzy
-msgid "Fatal error"
-msgstr "终端服务器"
+#: include/utils/class_msgPool.inc:424
+msgid "March"
+msgstr "三月"
 
-#: html/password.php:58 html/index.php:144
-#, fuzzy, php-format
-msgid "GOsa configuration %s/%s is not readable. Aborted."
-msgstr "GOsa 配置 %s/gosa.conf 不可读取。退出。"
+#: include/utils/class_msgPool.inc:424
+msgid "April"
+msgstr "四月"
 
-#: html/password.php:74 html/index.php:144 html/index.php:216
-#: html/main.php:268
-#: include/password-methods/class_password-methods-ssha.inc:51
-#: include/password-methods/class_password-methods-sha.inc:48
-#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:58
-#: include/class_SnapshotHandler.inc:76 include/functions.inc:825
-#: include/functions.inc:3067 include/functions.inc:3099
-#: include/functions.inc:3112 include/utils/class_timezone.inc:47
-#: include/class_config.inc:155 include/class_config.inc:695
-#: include/class_config.inc:1146 include/class_config.inc:1159
-#: include/class_config.inc:1177 include/class_pluglist.inc:182
-#: include/class_CopyPasteHandler.inc:119
-#: include/class_CopyPasteHandler.inc:128
-#: include/class_CopyPasteHandler.inc:177
-#: include/class_CopyPasteHandler.inc:186
-#: include/class_CopyPasteHandler.inc:194
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:667
-#: plugins/admin/groups/class_group.inc:1358
-#, fuzzy
-msgid "Configuration error"
-msgstr "配置文件"
+#: include/utils/class_msgPool.inc:425
+msgid "May"
+msgstr "五月"
 
-#: html/password.php:74 html/index.php:165 html/setup.php:66
-#, php-format
-msgid "Directory '%s' specified as compile directory is not accessible!"
-msgstr "目录 '%s' 作为编译目录无法访问!"
+#: include/utils/class_msgPool.inc:425
+msgid "June"
+msgstr "六月"
 
-#: html/password.php:159 plugins/personal/generic/class_user.inc:593
-#, fuzzy
-msgid "Password method"
-msgstr "口令存储"
+#: include/utils/class_msgPool.inc:425
+msgid "July"
+msgstr "七月"
 
-#: html/password.php:159
-msgid "Error: Password method not available!"
-msgstr ""
+#: include/utils/class_msgPool.inc:425
+msgid "August"
+msgstr "八月"
 
-#: html/password.php:193 plugins/admin/users/class_userManagement.inc:316
-#: plugins/personal/password/class_password.inc:132
-msgid ""
-"The passwords you've entered as 'New password' and 'Repeated new password' "
-"do not match."
-msgstr "您输入的“新口令”和“重复新口令”不匹配。"
+#: include/utils/class_msgPool.inc:425
+msgid "September"
+msgstr "九月"
 
-#: html/password.php:204 plugins/personal/password/class_password.inc:138
-msgid "The password used as new and current are too similar."
-msgstr "输入的新口令和当前口令非常相似。"
+#: include/utils/class_msgPool.inc:426
+msgid "October"
+msgstr "十月"
 
-#: html/password.php:209 plugins/personal/password/class_password.inc:141
-msgid "The password used as new is to short."
-msgstr "输入的新口令太短了。"
-
-#: html/password.php:215 plugins/admin/groups/userSelect/user-list.xml:56
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
-#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
-#: plugins/personal/generic/class_user.inc:1313
-#: plugins/personal/generic/class_user.inc:1331
-#: plugins/personal/generic/class_user.inc:1345
-#: plugins/personal/generic/class_user.inc:1347
-#: plugins/personal/generic/generic.tpl:82
-#: plugins/personal/generic/paste_generic.tpl:15
-msgid "Login"
-msgstr "登录名"
-
-#: html/password.php:224 html/index.php:321
-msgid "Please check the username/password combination."
-msgstr "请检查用户名/口令。"
-
-#: html/password.php:228
-msgid "You have no permissions to change your password."
-msgstr "您无权修改您的口令。"
-
-#: html/password.php:249
-msgid "External password changer reported a problem: "
-msgstr "外部口令更改程序报告错误:"
+#: include/utils/class_msgPool.inc:426
+msgid "November"
+msgstr "十一月"
 
-#: html/password.php:280 html/index.php:406
-msgid "Session will not be encrypted."
-msgstr "会话不会被加密。"
+#: include/utils/class_msgPool.inc:426
+msgid "December"
+msgstr "十二月"
 
-#: html/password.php:280 html/index.php:406
-msgid "Enter SSL session"
-msgstr "进入 SSL 会话"
+#: include/utils/class_msgPool.inc:432
+#, fuzzy
+msgid "Sunday"
+msgstr "姓"
 
-#: html/index.php:57
+#: include/utils/class_msgPool.inc:432
 #, fuzzy
-msgid "Session is not encrypted!"
-msgstr "会话不会被加密。"
+msgid "Monday"
+msgstr "月"
 
-#: html/index.php:64
-msgid ""
-"The session lifetime configured in your gosa.conf will be overridden by php."
-"ini settings."
+#: include/utils/class_msgPool.inc:432
+msgid "Tuesday"
 msgstr ""
 
-#: html/index.php:165
-#, fuzzy
-msgid "Smarty error"
-msgstr "PHP 错误"
-
-#: html/index.php:216
-msgid "There is a problem with the authentication setup!"
-msgstr ""
-
-#: html/index.php:224
-msgid "Cannot find a valid user for the current authentication setup!"
-msgstr ""
-
-#: html/index.php:228
-msgid "User information is not unique accross the configured LDAP trees!"
-msgstr ""
-
-#: html/index.php:254 html/index.php:265 html/index.php:278
-#: include/class_SnapshotHandler.inc:124 include/class_SnapshotHandler.inc:281
-#: include/class_SnapshotHandler.inc:329 include/class_SnapshotHandler.inc:333
-#: include/class_SnapshotHandler.inc:348 include/class_SnapshotHandler.inc:383
-#: include/class_SnapshotHandler.inc:438 include/class_SnapshotHandler.inc:503
-#: include/class_SnapshotHandler.inc:518 include/class_acl.inc:1233
-#: include/class_acl.inc:1329 include/functions.inc:483
-#: include/functions.inc:518 include/functions.inc:526
-#: include/functions.inc:571 include/functions.inc:840
-#: include/functions.inc:889 include/functions.inc:946
-#: include/functions.inc:999 include/functions.inc:3046
-#: include/functions.inc:3319 include/class_plugin.inc:1319
-#: include/class_plugin.inc:1368 include/class_plugin.inc:1372
-#: include/class_plugin.inc:1388 include/class_plugin.inc:1428
-#: include/class_plugin.inc:1486 include/class_plugin.inc:1552
-#: include/class_plugin.inc:1567 include/class_ldap.inc:756
-#: include/class_ldap.inc:1222 include/class_config.inc:318
-#: plugins/admin/ogroups/class_ogroup.inc:888
-#: plugins/admin/ogroups/class_ogroup.inc:902
-#: plugins/admin/groups/class_group.inc:697
-#: plugins/admin/groups/class_group.inc:1018
-#: plugins/admin/departments/class_department.inc:279
-#: plugins/admin/departments/class_department.inc:476
-#: plugins/admin/departments/class_department.inc:750
-#: plugins/admin/departments/class_department.inc:781
-#: plugins/admin/acl/class_aclRole.inc:613
-#: plugins/admin/acl/class_aclRole.inc:653
-#: plugins/admin/acl/class_aclRole.inc:667
-#: plugins/personal/generic/class_user.inc:716
-#: plugins/personal/generic/class_user.inc:1112
-#: plugins/personal/posix/class_posixAccount.inc:631
-#: plugins/personal/posix/class_posixAccount.inc:963
-#: setup/class_setupStep_Migrate.inc:1212
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
-#: setup/class_setupStep_Migrate.inc:2143
-#: setup/class_setupStep_Migrate.inc:2440
-#: setup/class_setupStep_Migrate.inc:2444
-#: setup/class_setupStep_Migrate.inc:2634
-#: setup/class_setupStep_Migrate.inc:2654
-#: setup/class_setupStep_Migrate.inc:2771
-#: setup/class_setupStep_Migrate.inc:3118
-#: setup/class_setupStep_Migrate.inc:3132
+#: include/utils/class_msgPool.inc:432
 #, fuzzy
-msgid "LDAP error"
-msgstr "LDAP 错误:"
+msgid "Wednesday"
+msgstr "星期三"
 
-#: html/index.php:265
-msgid "Cannot detect information about the installed LDAP schema!"
+#: include/utils/class_msgPool.inc:432
+msgid "Thursday"
 msgstr ""
 
-#: html/index.php:278
-#, fuzzy
-msgid "Your LDAP setup contains old schema definitions:"
-msgstr "您 LDAP 的设置包含老的 schema 定义。请重新执行安装。"
+#: include/utils/class_msgPool.inc:432
+msgid "Friday"
+msgstr ""
 
-#: html/index.php:299
-msgid "Please specify a valid username!"
-msgstr "请输入一个有效的用户名!"
+#: include/utils/class_msgPool.inc:432
+msgid "Saturday"
+msgstr ""
 
-#: html/index.php:302
-msgid "Please specify your password!"
-msgstr "请输入您的口令!"
+#: include/utils/class_msgPool.inc:439
+#, fuzzy
+msgid "MySQL operation failed!"
+msgstr "Mysql 查询失败。"
 
-#: html/index.php:314
+#: include/utils/class_msgPool.inc:447
 #, fuzzy
-msgid "Authentication error"
-msgstr "Nagios 鉴权"
+msgid "read operation"
+msgstr "邮件选项"
 
-#: html/index.php:314
-msgid "Cannot retrieve user information for htaccess authentication!"
+#: include/utils/class_msgPool.inc:447
+msgid "add operation"
 msgstr ""
 
-#: html/index.php:369
+#: include/utils/class_msgPool.inc:447
 #, fuzzy
-msgid "Account locked. Please contact your system administrator!"
-msgstr "账户锁定。请联系管理员。"
-
-#: html/index.php:412
-msgid ""
-"Your browser has cookies disabled. Please enable cookies and reload this "
-"page before logging in!"
-msgstr "您的浏览器已经禁用 cookies。请启用 cookies 并在登录前重新加载本页面!"
+msgid "modify operation"
+msgstr "个人信息"
 
-#: html/setup.php:66
+#: include/utils/class_msgPool.inc:448
 #, fuzzy
-msgid "Smarty"
-msgstr "总结"
+msgid "delete operation"
+msgstr "选择查看工作站"
 
-#: html/main.php:148
-#, php-format
-msgid "Cannot locate file '%s' - please run '%s' to fix this"
-msgstr ""
+#: include/utils/class_msgPool.inc:448
+#, fuzzy
+msgid "search operation"
+msgstr "账号过期于"
 
-#: html/main.php:167
+#: include/utils/class_msgPool.inc:448
 #, fuzzy
-msgid "PHP configuration"
-msgstr "PHP 安装检查"
+msgid "authentication"
+msgstr "Nagios 鉴权"
 
-#: html/main.php:168
-msgid ""
-"FATAL: Register globals is on. GOsa will refuse to login unless this is "
-"fixed by an administrator."
-msgstr "致命错误:全局注册已打开。GOsa 将拒绝登录直到被管理修正。"
+#: include/utils/class_msgPool.inc:451
+#, fuzzy, php-format
+msgid "LDAP %s failed!"
+msgstr "Mysql 查询失败。"
 
-#: html/main.php:198
+#: include/utils/class_msgPool.inc:453
 #, fuzzy
-msgid "Your password is about to expire, please change your password!"
-msgstr "您的口令就要过期,请修改您的口令"
-
-#: html/main.php:268
-msgid "Running out of memory!"
-msgstr ""
+msgid "LDAP operation failed!"
+msgstr "Mysql 查询失败。"
 
-#: html/main.php:325
-msgid "User ACL checks disabled"
-msgstr ""
+#: include/utils/class_msgPool.inc:459 include/class_acl.inc:799
+#: include/class_acl.inc:806 include/class_acl.inc:813
+#: ihtml/themes/default/snapshotdialog.tpl:20
+#: ihtml/themes/default/snapshotdialog.tpl:63
+#: plugins/admin/departments/class_department.inc:624
+msgid "Object"
+msgstr "对象"
 
-#: html/main.php:373
+#: include/utils/class_msgPool.inc:469
 #, fuzzy
-msgid "Plugin"
-msgstr "于"
+msgid "Upload failed!"
+msgstr "用户登录失败。LDAP 服务器返回 '%s'。"
 
-#: html/main.php:374
+#: include/utils/class_msgPool.inc:472
 #, fuzzy, php-format
-msgid "FATAL: Cannot find any plugin definitions for plugin '%s'!"
-msgstr "警告: 没有发现针对插件 '%s' 的任何插件定义!"
+msgid "Upload failed: %s"
+msgstr "Logging DB 用户"
 
-#: html/main.php:388
-#, fuzzy
-msgid "Configuration Error"
-msgstr "配置文件"
+#: include/utils/class_msgPool.inc:479
+msgid "Communication failure with the infrastructure service!"
+msgstr ""
 
-#: html/main.php:389
+#: include/utils/class_msgPool.inc:481
 #, php-format
-msgid ""
-"FATAL: not all POST variables have been transfered by PHP - please inform "
-"your administrator!"
+msgid "Communication failure with the infrastructure service: %s"
 msgstr ""
 
-#: html/helpviewer.php:64
-msgid "Help browser"
-msgstr "帮助浏览器"
-
-#: html/helpviewer.php:118
-msgid "There is no helpfile specified for this class"
-msgstr "此类没有帮助文件"
-
-#: html/helpviewer.php:194 include/functions_helpviewer.inc:97
-msgid "previous"
-msgstr "上一个"
-
-#: html/helpviewer.php:198 include/functions_helpviewer.inc:101
-msgid "next"
-msgstr "下一个"
+#: include/utils/class_msgPool.inc:488
+msgid "Communication failure with the GOsa-NG service!"
+msgstr ""
 
-#: html/helpviewer.php:269
+#: include/utils/class_msgPool.inc:490
 #, php-format
-msgid "Helpdir '%s' is not accessible, can't read any helpfiles."
-msgstr "帮助目录 '%s' 不能访问,无法读取任何帮助文件。"
+msgid "Communication failure with the GOsa-NG service: %s"
+msgstr ""
 
-#: include/class_management.inc:32 include/class_management.inc:33
-#: plugins/personal/posix/class_posixAccount.inc:237
-msgid "unconfigured"
-msgstr "未配置"
+#: include/utils/class_msgPool.inc:497 include/utils/class_msgPool.inc:500
+#, fuzzy, php-format
+msgid "This %s is still in use by this object: %s"
+msgstr "这个共享不能被删除,因为仍然被 %d 个用户使用:"
 
-#: include/class_management.inc:145
-#, fuzzy
-msgid "Filter error"
-msgstr "终端服务器"
+#: include/utils/class_msgPool.inc:503
+#, fuzzy, php-format
+msgid "This %s is still in use."
+msgstr "这个共享不能被删除,因为仍然被 %d 个用户使用:"
 
-#: include/class_management.inc:145
-msgid "The filter is incomplete!"
+#: include/utils/class_msgPool.inc:505
+#, fuzzy, php-format
+msgid "This %s is still in use by these objects: %s"
+msgstr "这个共享不能被删除,因为仍然被 %d 个用户使用:"
+
+#: include/utils/class_msgPool.inc:511
+#, php-format
+msgid "File %s does not exist!"
 msgstr ""
 
-#: include/class_management.inc:292 include/class_management.inc:427
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1590
-#: include/class_plugin.inc:1602 include/class_plugin.inc:1617
-#: include/class_plugin.inc:1630
-#: plugins/admin/users/class_userManagement.inc:236
-#: plugins/admin/users/class_userManagement.inc:744
-#, fuzzy
-msgid "Permission"
-msgstr "允许"
+#: include/utils/class_msgPool.inc:517
+#, fuzzy, php-format
+msgid "Cannot open file %s for reading!"
+msgstr "无法打开文件 '%s'。"
 
-#: include/class_management.inc:353
-#: plugins/admin/users/class_userManagement.inc:702
-#: plugins/admin/users/class_userManagement.inc:706
-#: plugins/admin/acl/class_aclManagement.inc:98
-#, fuzzy
-msgid "Permission error"
-msgstr "允许"
+#: include/utils/class_msgPool.inc:523
+#, fuzzy, php-format
+msgid "Cannot open file %s for writing!"
+msgstr "无法打开文件 '%s'。"
 
-#: include/class_management.inc:427 include/class_plugin.inc:1590
+#: include/utils/class_msgPool.inc:529
 #, fuzzy, php-format
-msgid "You are not allowed to create a snapshot for %s."
-msgstr "您无权删除这个用户!"
+msgid ""
+"The value for %s is currently unconfigured or invalid, please check your "
+"configuration file!"
+msgstr "无法连接到指定数据库,请检查您 glpi 设置。"
 
-#: include/class_management.inc:474 include/class_management.inc:511
-#: include/class_management.inc:525 include/class_plugin.inc:1602
-#: include/class_plugin.inc:1617 include/class_plugin.inc:1630
+#: include/utils/class_msgPool.inc:535
 #, fuzzy, php-format
-msgid "You are not allowed to restore a snapshot for %s."
-msgstr "您无权删除这个用户!"
+msgid "Cannot delete file %s!"
+msgstr "无法打开文件 '%s'。"
 
-#: include/class_management.inc:584
-#, php-format
-msgid ""
-"No tab declaration for '%s' found in your configuration file. Cannot create "
-"plugin instance!"
-msgstr ""
+#: include/utils/class_msgPool.inc:541
+#, fuzzy, php-format
+msgid "Cannot create folder %s!"
+msgstr "转到根部门"
 
-#: include/class_socketClient.inc:60
-msgid "The mcrypt module was not found. Please install php5-mcrypt."
-msgstr ""
+#: include/utils/class_msgPool.inc:547
+#, fuzzy, php-format
+msgid "Cannot delete folder %s!"
+msgstr "无法打开文件 '%s'。"
 
-#: include/class_socketClient.inc:108
-#, php-format
-msgid "Socket connection to host '%s:%s' failed: %s"
-msgstr ""
+#: include/utils/class_msgPool.inc:553
+#, fuzzy, php-format
+msgid "Checking for %s support"
+msgstr "检查 iconv 支持"
 
-#: include/class_socketClient.inc:191
+#: include/utils/class_msgPool.inc:559
 #, php-format
-msgid "Socket timeout of %s seconds reached."
-msgstr ""
-
-#: include/password-methods/class_password-methods.inc:250
-msgid "Cannot find a suitable password method for the current hash!"
+msgid "Install and activate the %s PHP module."
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:46 include/class_SnapshotHandler.inc:77
-#: include/class_config.inc:1147 include/class_config.inc:1178
+#: include/utils/class_msgPool.inc:565
 #, php-format
 msgid ""
-"The snapshot functionality is enabled, but the required variable '%s' is not "
-"set."
+"Cannot initialize class %s! Maybe there is a plugin missing in your gosa "
+"setup?"
 msgstr ""
 
-#: include/class_SnapshotHandler.inc:59 include/class_config.inc:1160
-#, php-format
+#: include/utils/class_msgPool.inc:571
 msgid ""
-"The snapshot functionality is enabled, but the required compression module "
-"is missing. Please install '%s'."
+"The supplied base is not valid and has been reset to its previous value!"
 msgstr ""
 
-#: include/class_acl.inc:27
-#, fuzzy
-msgid "Access control"
-msgstr "访问选项"
+#: include/utils/class_timezone.inc:47
+#, fuzzy, php-format
+msgid "The configured timezone %s is not valid!"
+msgstr "GOsa 配置 %s/gosa.conf 不可读取。退出。"
 
-#: include/class_acl.inc:28 plugins/admin/acl/class_aclManagement.inc:26
-#, fuzzy
-msgid "Manage access control lists"
-msgstr "访问选项"
+#: include/utils/class_xml.inc:37 include/class_tabs.inc:287
+#: include/class_configRegistry.inc:688 include/class_configRegistry.inc:703
+#: include/class_configRegistry.inc:718 include/class_configRegistry.inc:733
+#: include/class_configRegistry.inc:749 include/class_configRegistry.inc:754
+#: include/class_configRegistry.inc:774 include/class_configRegistry.inc:779
+#: include/class_configRegistry.inc:796 include/class_configRegistry.inc:801
+#: include/class_configRegistry.inc:819 include/class_configRegistry.inc:824
+#: include/class_configRegistry.inc:840 include/class_configRegistry.inc:855
+#: include/class_configRegistry.inc:870 include/functions.inc:2516
+#: include/functions.inc:2520 include/functions.inc:2526
+#: include/functions.inc:2550 include/class_jsonRPC.inc:37
+#: setup/setup_checks.tpl:27 setup/setup_checks.tpl:68 html/password.php:315
+#: plugins/personal/posix/class_posixAccount.inc:651
+#: plugins/personal/posix/class_posixAccount.inc:774
+#: plugins/admin/groups/class_group.inc:852
+#: plugins/admin/departments/dep_move_confirm.tpl:2
+msgid "Warning"
+msgstr "警告"
 
-#: include/class_acl.inc:120 include/class_acl.inc:581
-#: include/class_acl.inc:1009
-#, fuzzy, php-format
-msgid "All users"
-msgstr "用户"
+#: include/utils/class_xml.inc:43 include/functions.inc:482
+#: html/password.php:61 html/main.php:170
+#: plugins/admin/departments/class_department.inc:439
+#, fuzzy
+msgid "Fatal error"
+msgstr "终端服务器"
 
-#: include/class_acl.inc:214 plugins/admin/acl/class_aclRole.inc:127
+#: include/utils/class_xml.inc:51
 #, fuzzy
-msgid "All categories"
-msgstr "添加分类"
+msgid "XML error"
+msgstr "LDAP 错误:"
 
-#: include/class_acl.inc:222
-msgid "Reset ACLs"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort ascending"
 msgstr ""
 
-#: include/class_acl.inc:223 plugins/admin/acl/class_aclRole.inc:135
-#, fuzzy
-msgid "One level"
-msgstr "日志级别"
+#: include/class_listing.inc:257 include/class_sortableListing.inc:274
+msgid "Sort descending"
+msgstr ""
 
-#: include/class_acl.inc:224 include/class_acl.inc:229
-#: plugins/admin/acl/class_aclRole.inc:136
+#: include/class_listing.inc:319
 #, fuzzy
-msgid "Current object"
-msgstr "创建新 FAI 对象"
+msgid "Select all"
+msgstr "选择"
 
-#: include/class_acl.inc:225 plugins/admin/acl/class_aclRole.inc:137
+#: include/class_listing.inc:578
 #, fuzzy
-msgid "Complete subtree"
-msgstr "忽略子树"
+msgid "created by"
+msgstr "创建"
 
-#: include/class_acl.inc:226 plugins/admin/acl/class_aclRole.inc:138
-msgid "Complete subtree (permanent)"
+#: include/class_listing.inc:1057 include/class_listing.inc:1059
+#: include/class_ItemSelector.inc:247 include/class_baseSelector.inc:188
+#: include/class_releaseSelector.inc:214
+msgid "Root"
+msgstr "根"
+
+#: include/class_listing.inc:1064 include/class_listing.inc:1066
+msgid "Go to preceding level"
 msgstr ""
 
-#: include/class_acl.inc:227 include/class_acl.inc:230
-msgid "Use ACL defined in role"
+#: include/class_listing.inc:1072 include/class_listing.inc:1074
+msgid "Go to current users level"
 msgstr ""
 
-#: include/class_acl.inc:233 plugins/admin/users/class_userManagement.inc:25
-#: plugins/personal/generic/class_user.inc:1674
-#: setup/class_setupStep_Migrate.inc:1040
-msgid "Users"
-msgstr "用户"
+#: include/class_listing.inc:1079
+msgid "Reload list"
+msgstr "重新加载列表"
 
-#: include/class_acl.inc:233 plugins/admin/groups/class_group.inc:1180
-#: plugins/admin/groups/class_groupManagement.inc:25
-#: setup/class_setupStep_Migrate.inc:1043
-msgid "Groups"
-msgstr "用户组"
+#: include/class_listing.inc:1183
+#: plugins/addons/propertyEditor/property-list.xml:96
+#: plugins/admin/groups/group-list.xml:62
+#: plugins/admin/ogroups/ogroup-list.xml:62 plugins/admin/acl/acl-list.xml:65
+#: plugins/admin/departments/dep-list.xml:87
+#: plugins/admin/users/user-list.xml:78
+msgid "Actions"
+msgstr "动作"
 
-#: include/class_acl.inc:496 include/class_listing.inc:242
-#: include/class_listing.inc:999 include/class_listing.inc:1001
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:372
-msgid "Up"
-msgstr "上"
-
-#: include/class_acl.inc:498 include/class_listing.inc:242
-#: include/class_sortableListing.inc:225
-#: plugins/admin/acl/class_aclRole.inc:374
-msgid "Down"
-msgstr "关闭"
+#: include/class_listing.inc:1453
+#, fuzzy
+msgid "Copy"
+msgstr "复制"
 
-#: include/class_acl.inc:503 include/class_acl.inc:551
-#: include/class_sortableListing.inc:192 include/class_sortableListing.inc:194
-#: plugins/admin/ogroups/ogroup-list.xml:91
-#: plugins/admin/groups/group-list.xml:108
-#: plugins/admin/users/user-list.xml:114
-#: plugins/admin/departments/dep-list.xml:172
-#: plugins/admin/acl/class_aclRole.inc:377
-#: plugins/admin/acl/class_aclRole.inc:426 plugins/admin/acl/acl-list.xml:131
-msgid "Edit"
-msgstr "编辑"
+#: include/class_listing.inc:1459
+#, fuzzy
+msgid "Cut"
+msgstr "剪切"
 
-#: include/class_acl.inc:503 include/class_acl.inc:507
-#: include/class_acl.inc:1265 include/class_acl.inc:1266
-#: include/class_acl.inc:1271 include/class_tabs.inc:401
-#: plugins/admin/acl/tabs_acl.inc:28 plugins/admin/acl/class_aclRole.inc:378
-#: plugins/admin/acl/class_aclRole.inc:382
-#: plugins/admin/acl/class_aclRole.inc:762
-msgid "ACL"
-msgstr "ACL"
+#: include/class_listing.inc:1467 include/class_listing.inc:1469
+#: include/class_CopyPasteHandler.inc:571
+msgid "Paste"
+msgstr "粘贴"
 
-#: include/class_acl.inc:507 include/class_acl.inc:555
-#: include/class_sortableListing.inc:197 include/class_sortableListing.inc:199
-#: include/utils/class_msgPool.inc:342 plugins/admin/acl/class_aclRole.inc:381
-#: plugins/admin/acl/class_aclRole.inc:430
-#, php-format
-msgid "Delete"
-msgstr "删除"
+#: include/class_listing.inc:1492
+msgid "Cut this entry"
+msgstr "剪切条目"
 
-#: include/class_acl.inc:543
-msgid "No ACL settings for this category!"
-msgstr ""
+#: include/class_listing.inc:1501
+msgid "Copy this entry"
+msgstr "拷贝条目"
 
-#: include/class_acl.inc:545
-#, php-format
-msgid "Contains ACLs for these objects: %s"
-msgstr ""
+#: include/class_listing.inc:1533 include/class_listing.inc:1535
+#, fuzzy
+msgid "Restore snapshots"
+msgstr "删除记录"
 
-#: include/class_acl.inc:551 include/class_acl.inc:555
+#: include/class_listing.inc:1549
 #, fuzzy
-msgid "category ACL"
-msgstr "分类"
+msgid "Export list"
+msgstr "导出"
 
-#: include/class_acl.inc:608
-#, php-format
-msgid "Edit ACL for '%s' - scope is '%s'"
+#: include/class_listing.inc:1583 include/class_SnapShotDialog.inc:142
+msgid "Restore snapshot"
 msgstr ""
 
-#: include/class_acl.inc:618 plugins/admin/acl/class_aclRole.inc:460
-msgid "All objects in current subtree"
-msgstr ""
-
-#: include/class_acl.inc:779 include/class_acl.inc:786
-#, fuzzy
-msgid "Show/hide advanced settings"
-msgstr "高级电话设置"
-
-#: include/class_acl.inc:803
+#: include/class_listing.inc:1591
 #, fuzzy
-msgid "Create objects"
+msgid "Create new snapshot for this object"
 msgstr "创建新 FAI 对象"
 
-#: include/class_acl.inc:804
-#, fuzzy
-msgid "Move objects"
-msgstr "成员对象"
-
-#: include/class_acl.inc:805
-#, fuzzy
-msgid "Remove objects"
-msgstr "成员对象"
-
-#: include/class_acl.inc:807
+#: include/class_userFilter.inc:55
+#: ihtml/themes/default/userFilterEditor.tpl:27
 #, fuzzy
-msgid "Grant permission to owner"
-msgstr "无法创建文件 '%s'。"
+msgid "Parent filter"
+msgstr "参数"
 
-#: include/class_acl.inc:811 include/class_acl.inc:916
-#: include/class_acl.inc:920
-msgid "read"
-msgstr "读"
+#: include/class_userFilter.inc:55 include/class_userFilter.inc:150
+#: include/class_SnapShotDialog.inc:55 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:236
+#: include/class_userFilterEditor.inc:240
+#: ihtml/themes/default/userFilterEditor.tpl:11 setup/setup_migrate.tpl:43
+#: setup/setup_migrate.tpl:45 setup/setup_feedback.tpl:16
+#: plugins/personal/posix/trustSelect/trust-list.xml:46
+#: plugins/personal/posix/groupSelect/group-list.xml:33
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/personal/generic/class_user.inc:1316
+#: plugins/personal/generic/class_user.inc:1334
+#: plugins/personal/generic/class_user.inc:1376
+#: plugins/personal/generic/class_user.inc:1860
+#: plugins/addons/propertyEditor/property-list.xml:64
+#: plugins/admin/groups/class_group.inc:906
+#: plugins/admin/groups/class_group.inc:917
+#: plugins/admin/groups/class_group.inc:919
+#: plugins/admin/groups/class_group.inc:936
+#: plugins/admin/groups/class_group.inc:950
+#: plugins/admin/groups/class_group.inc:957
+#: plugins/admin/groups/class_group.inc:1057
+#: plugins/admin/groups/group-list.xml:41
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
+#: plugins/admin/ogroups/ogroup-list.xml:41
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
+#: plugins/admin/ogroups/class_ogroup.inc:157
+#: plugins/admin/ogroups/class_ogroup.inc:661
+#: plugins/admin/ogroups/class_ogroup.inc:676
+#: plugins/admin/ogroups/class_ogroup.inc:680
+#: plugins/admin/ogroups/class_ogroup.inc:861 plugins/admin/acl/acl_role.tpl:7
+#: plugins/admin/acl/acl-list.xml:49 plugins/admin/acl/paste_role.tpl:4
+#: plugins/admin/acl/class_aclRole.inc:741
+#: plugins/admin/acl/class_aclRole.inc:753
+#: plugins/admin/acl/class_aclRole.inc:763
+#: plugins/admin/departments/class_countryGeneric.inc:47
+#: plugins/admin/departments/class_countryGeneric.inc:49
+#: plugins/admin/departments/class_countryGeneric.inc:54
+#: plugins/admin/departments/class_countryGeneric.inc:56
+#: plugins/admin/departments/class_countryGeneric.inc:58
+#: plugins/admin/departments/class_department.inc:355
+#: plugins/admin/departments/class_department.inc:357
+#: plugins/admin/departments/class_department.inc:362
+#: plugins/admin/departments/class_department.inc:369
+#: plugins/admin/departments/class_department.inc:373
+#: plugins/admin/departments/class_domain.inc:47
+#: plugins/admin/departments/class_domain.inc:49
+#: plugins/admin/departments/class_domain.inc:54
+#: plugins/admin/departments/class_domain.inc:56
+#: plugins/admin/departments/class_domain.inc:58
+#: plugins/admin/departments/class_domain.inc:90
+#: plugins/admin/departments/class_organizationGeneric.inc:79
+#: plugins/admin/departments/class_organizationGeneric.inc:81
+#: plugins/admin/departments/class_organizationGeneric.inc:86
+#: plugins/admin/departments/class_organizationGeneric.inc:88
+#: plugins/admin/departments/class_organizationGeneric.inc:90
+#: plugins/admin/departments/class_localityGeneric.inc:48
+#: plugins/admin/departments/class_localityGeneric.inc:50
+#: plugins/admin/departments/class_localityGeneric.inc:55
+#: plugins/admin/departments/class_localityGeneric.inc:57
+#: plugins/admin/departments/class_localityGeneric.inc:59
+#: plugins/admin/departments/class_dcObject.inc:47
+#: plugins/admin/departments/class_dcObject.inc:49
+#: plugins/admin/departments/class_dcObject.inc:54
+#: plugins/admin/departments/class_dcObject.inc:56
+#: plugins/admin/departments/class_dcObject.inc:58
+#: plugins/admin/departments/class_dcObject.inc:90
+#: plugins/admin/users/class_userManagement.inc:547
+#: plugins/admin/users/class_userManagement.inc:594
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Name"
+msgstr "名称"
 
-#: include/class_acl.inc:812 include/class_acl.inc:918
-#: include/class_acl.inc:921
-msgid "write"
-msgstr "写"
+#: include/class_userFilter.inc:55 include/class_SnapShotDialog.inc:174
+#: include/class_acl.inc:254 include/class_acl.inc:264
+#: include/class_userFilterEditor.inc:245
+#: ihtml/themes/default/userFilterEditor.tpl:19
+#: plugins/personal/posix/trustSelect/trust-list.xml:53
+#: plugins/personal/posix/groupSelect/group-list.xml:40
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:45
+#: plugins/admin/groups/class_group.inc:1058
+#: plugins/admin/groups/generic.tpl:24 plugins/admin/groups/group-list.xml:49
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:49
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
+#: plugins/admin/ogroups/generic.tpl:15
+#: plugins/admin/ogroups/class_ogroup.inc:863
+#: plugins/admin/acl/acl_role.tpl:17 plugins/admin/acl/acl-list.xml:57
+#: plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/acl/class_aclRole.inc:743
+#: plugins/admin/departments/dcObject.tpl:19
+#: plugins/admin/departments/country.tpl:19
+#: plugins/admin/departments/class_countryGeneric.inc:63
+#: plugins/admin/departments/class_countryGeneric.inc:92
+#: plugins/admin/departments/dep-list.xml:79
+#: plugins/admin/departments/organization.tpl:19
+#: plugins/admin/departments/class_department.inc:365
+#: plugins/admin/departments/class_department.inc:675
+#: plugins/admin/departments/class_domain.inc:63
+#: plugins/admin/departments/class_domain.inc:91
+#: plugins/admin/departments/class_organizationGeneric.inc:95
+#: plugins/admin/departments/class_organizationGeneric.inc:123
+#: plugins/admin/departments/generic.tpl:19
+#: plugins/admin/departments/locality.tpl:19
+#: plugins/admin/departments/class_localityGeneric.inc:64
+#: plugins/admin/departments/class_localityGeneric.inc:92
+#: plugins/admin/departments/class_dcObject.inc:63
+#: plugins/admin/departments/class_dcObject.inc:91
+#: plugins/admin/departments/domain.tpl:19
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+#: plugins/generic/references/class_reference.inc:57
+#: plugins/generic/references/class_reference.inc:63
+#: plugins/generic/references/class_reference.inc:69
+#: plugins/generic/references/class_reference.inc:75
+#: plugins/generic/references/class_reference.inc:81
+msgid "Description"
+msgstr "描述"
 
-#: include/class_acl.inc:816
-#, fuzzy
-msgid "Complete object"
-msgstr "成员对象"
+#: include/class_userFilter.inc:55 plugins/admin/acl/class_aclRole.inc:166
+#: plugins/admin/departments/organization.tpl:27
+#: plugins/admin/departments/class_department.inc:676
+#: plugins/admin/departments/class_organizationGeneric.inc:124
+#: plugins/admin/departments/generic.tpl:27
+msgid "Category"
+msgstr "分类"
 
-#: include/class_acl.inc:960 include/class_session.inc:76
-#: include/class_session.inc:101 include/class_session.inc:127
-#: include/functions.inc:611 include/functions.inc:815
-#: include/functions.inc:933 include/functions.inc:1331
-#: include/functions.inc:2414 include/functions.inc:2448
-#: include/functions.inc:2468 include/class_ldap.inc:693
-#: include/class_ldap.inc:744 include/class_log.inc:87
-#: include/class_CopyPasteHandler.inc:160
-#: include/class_CopyPasteHandler.inc:274
+#: include/class_userFilter.inc:55 ihtml/themes/default/acl.tpl:15
+#: ihtml/themes/default/acl.tpl:16
+msgid "Options"
+msgstr "选项"
+
+#: include/class_userFilter.inc:275 include/functions.inc:511
+#: include/functions.inc:546 include/functions.inc:554
+#: include/functions.inc:600 include/functions.inc:879
+#: include/functions.inc:928 include/functions.inc:985
+#: include/functions.inc:1035 include/functions.inc:3299
+#: include/class_ldap.inc:847 include/class_ldap.inc:1305
+#: include/class_config.inc:367 include/class_acl.inc:1258
+#: include/class_acl.inc:1354 include/class_SnapshotHandler.inc:123
+#: include/class_SnapshotHandler.inc:280 include/class_SnapshotHandler.inc:329
+#: include/class_SnapshotHandler.inc:333 include/class_SnapshotHandler.inc:346
+#: include/class_SnapshotHandler.inc:380 include/class_SnapshotHandler.inc:435
+#: include/class_SnapshotHandler.inc:500 include/class_SnapshotHandler.inc:515
+#: setup/class_setupStep_Migrate.inc:461 setup/class_setupStep_Migrate.inc:814
+#: html/index.php:271 plugins/personal/posix/class_posixAccount.inc:529
+#: plugins/personal/posix/class_posixAccount.inc:791
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:253
+#: plugins/personal/generic/class_user.inc:730
+#: plugins/personal/generic/class_user.inc:1099
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:191
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:256
+#: plugins/admin/groups/class_group.inc:600
+#: plugins/admin/groups/class_group.inc:876
+#: plugins/admin/ogroups/class_ogroup.inc:758
+#: plugins/admin/ogroups/class_ogroup.inc:775
+#: plugins/admin/acl/class_aclRole.inc:602
+#: plugins/admin/acl/class_aclRole.inc:642
+#: plugins/admin/acl/class_aclRole.inc:656
+#: plugins/admin/departments/class_department.inc:285
+#: plugins/admin/departments/class_department.inc:482
+#: plugins/admin/departments/class_department.inc:759
+#: plugins/admin/departments/class_department.inc:790
+#: plugins/generic/references/class_reference.inc:97
 #, fuzzy
-msgid "Internal error"
-msgstr "终端服务器"
-
-#: include/class_acl.inc:960
-#, fuzzy, php-format
-msgid "Unkown ACL type '%s'!"
-msgstr "未知 FAIstate %s"
-
-#: include/class_acl.inc:1005
-#, fuzzy, php-format
-msgid "Unknown entry '%s'!"
-msgstr "未知 FAIstate %s"
+msgid "LDAP error"
+msgstr "LDAP 错误:"
 
-#: include/class_acl.inc:1069 include/class_acl.inc:1071
+#: include/class_log.inc:87
 #, fuzzy, php-format
-msgid "Role: %s"
-msgstr "角色"
-
-#: include/class_acl.inc:1071
-#, fuzzy
-msgid "unknown role"
-msgstr "! 未知 id"
+msgid "Logging failed: %s"
+msgstr "Logging DB 用户"
 
-#: include/class_acl.inc:1079
+#: include/class_log.inc:102
 #, php-format
-msgid "Contains settings for these objects: %s"
+msgid "Invalid option %s specified!"
 msgstr ""
 
-#: include/class_acl.inc:1096
-#, fuzzy
-msgid "inactive"
-msgstr "活动"
-
-#: include/class_acl.inc:1096
-#, fuzzy
-msgid "No members"
-msgstr "组成员"
-
-#: include/class_acl.inc:1266
+#: include/class_log.inc:106
 #, fuzzy
-msgid "Access control list"
-msgstr "访问选项"
+msgid "Specified 'objectType' is empty or invalid!"
+msgstr "指定的 branch 名称无效。"
 
-#: include/class_acl.inc:1271
+#: include/class_multi_plug.inc:362
 #, fuzzy
-msgid "ACL roles"
-msgstr "MAC 地址"
+msgid "You are currently editing multiple entries."
+msgstr "您无权删除这个部门。"
 
-#: include/class_session.inc:76 include/class_session.inc:101
-#: include/class_session.inc:127
+#: include/class_multi_plug.inc:394
 #, fuzzy
-msgid "Requested channel does not exist! Please contact your Administrator."
-msgstr "用户名 / UID 不唯一。请检查您的 LDAP 数据库。"
+msgid "Reset password"
+msgstr "设置口令"
 
-#: include/class_listing.inc:301 setup/setup_migrate.tpl:93
-#: setup/setup_migrate.tpl:149 setup/setup_migrate.tpl:201
-#: setup/setup_migrate.tpl:368 setup/setup_migrate.tpl:421
-#: setup/setup_migrate.tpl:464 setup/setup_migrate.tpl:507
-#: setup/setup_migrate.tpl:551
+#: include/class_multi_plug.inc:394
 #, fuzzy
-msgid "Select all"
-msgstr "选择"
+msgid "The user password has been reset. Please set a new password!"
+msgstr "您的口令已经过期 !! 选择一个新口令"
 
-#: include/class_listing.inc:522
-#, fuzzy
-msgid "created by"
-msgstr "创建"
+#: include/class_tabs.inc:72
+#, fuzzy, php-format
+msgid "No plugin definition for %s found: please check the configuration file!"
+msgstr "无法连接到指定数据库,请检查您 glpi 设置。"
 
-#: include/class_listing.inc:991
-msgid "Go to root department"
-msgstr "转到根部门"
+#: include/class_tabs.inc:287
+#, fuzzy, php-format
+msgid "Delete process has been canceled by plugin %s: %s"
+msgstr "删除进程被插件 '%s' 取消: %s"
 
-#: include/class_listing.inc:991 include/class_listing.inc:993
-#: include/class_baseSelector.inc:159
-msgid "Root"
-msgstr "根"
+#: include/class_tabs.inc:420 include/class_acl.inc:1290
+#: include/class_acl.inc:1291 include/class_acl.inc:1297
+#: plugins/admin/acl/acl-list.xml:15 plugins/admin/acl/tabs_acl.inc:28
+#: plugins/admin/acl/class_aclRole.inc:770
+msgid "ACL"
+msgstr "ACL"
 
-#: include/class_listing.inc:999
-msgid "Go up one department"
-msgstr "向上跳转一个部门"
+#: include/class_tabs.inc:425
+msgid "References"
+msgstr "参考"
 
-#: include/class_listing.inc:1007
-msgid "Go to users department"
-msgstr "转到用户部门"
+#: include/functions_helpviewer.inc:45
+#, fuzzy, php-format
+msgid "XML error in guide.xml: %s at line %s"
+msgstr "XML 出错于 guide.xml: %s ,行 %d"
 
-#: include/class_listing.inc:1007 include/class_listing.inc:1009
-msgid "Home"
-msgstr ""
+#: include/functions_helpviewer.inc:88
+#, fuzzy
+msgid "No help available for this plug-in."
+msgstr "此插件没有可用帮助信息。"
 
-#: include/class_listing.inc:1014
-msgid "Reload list"
-msgstr "重新加载列表"
+#: include/functions_helpviewer.inc:97 html/helpviewer.php:193
+msgid "previous"
+msgstr "上一个"
 
-#: include/class_listing.inc:1014 include/class_baseSelector.inc:206
-msgid "Submit"
-msgstr "提交"
+#: include/functions_helpviewer.inc:101 html/helpviewer.php:197
+msgid "next"
+msgstr "下一个"
 
-#: include/class_listing.inc:1109 plugins/admin/ogroups/ogroup-list.xml:62
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:64
-#: plugins/admin/groups/group-list.xml:79 plugins/admin/users/user-list.xml:78
-#: plugins/admin/departments/dep-list.xml:87 plugins/admin/acl/acl-list.xml:65
-msgid "Actions"
-msgstr "动作"
+#: include/functions_helpviewer.inc:388
+#, php-format
+msgid "%s results for your search with the keyword %s"
+msgstr "%s 结果当您查找关键字 %s"
 
-#: include/class_listing.inc:1380 include/class_listing.inc:1430
-#: include/class_plugin.inc:2114
-#, fuzzy
-msgid "Copy"
-msgstr "复制"
+#: include/functions_helpviewer.inc:461
+#, php-format
+msgid "%s%% hit rate in file %s"
+msgstr "%s%% 点击率于文件 %s"
 
-#: include/class_listing.inc:1386 include/class_listing.inc:1420
-#: include/class_plugin.inc:2118
+#: include/class_msg_dialog.inc:124
 #, fuzzy
-msgid "Cut"
-msgstr "剪切"
-
-#: include/class_listing.inc:1394 include/class_listing.inc:1396
-#: include/class_plugin.inc:2125 include/class_plugin.inc:2128
-#: include/class_CopyPasteHandler.inc:570
-msgid "Paste"
-msgstr "粘贴"
+msgid "Please fix the above error and reload the page."
+msgstr "请看一下 GOsa 日志文件。"
 
-#: include/class_listing.inc:1420 include/class_plugin.inc:2072
-msgid "Cut this entry"
-msgstr "剪切条目"
+#: include/class_plugin.inc:581
+msgid ""
+"The current object has been altered while beeing edited. If you save this "
+"entry, changes that have been made by others will be discarded!"
+msgstr ""
 
-#: include/class_listing.inc:1430 include/class_plugin.inc:2080
-msgid "Copy this entry"
-msgstr "拷贝条目"
+#: include/class_plugin.inc:1411
+#, php-format
+msgid "Changing ACL DN from %s to %s"
+msgstr ""
 
-#: include/class_listing.inc:1462 include/class_listing.inc:1464
+#: include/class_SnapShotDialog.inc:55
 #, fuzzy
-msgid "Restore snapshots"
-msgstr "删除记录"
+msgid "Date"
+msgstr "粘贴"
+
+#: include/class_SnapShotDialog.inc:94
+#, fuzzy, php-format
+msgid "You are about to delete the snapshot %s."
+msgstr "您将要删除宏 '%s'。"
 
-#: include/class_listing.inc:1478
+#: include/class_SnapShotDialog.inc:143
 #, fuzzy
-msgid "Export list"
-msgstr "导出"
+msgid "Delete snapshot"
+msgstr "创建 nagios 账户"
 
-#: include/class_listing.inc:1513 include/class_listing.inc:1514
-#: include/class_SnapShotDialog.inc:135 include/class_plugin.inc:2046
-msgid "Restore snapshot"
+#: include/class_SnapShotDialog.inc:144 include/class_SnapShotDialog.inc:162
+msgid "Y-m-d, H:i:s"
 msgstr ""
 
-#: include/class_listing.inc:1523 include/class_plugin.inc:2053
+#: include/class_pathNavigator.inc:86
 #, fuzzy
-msgid "Create snapshot"
-msgstr "创建 nagios 账户"
+msgid "Welcome to GOsa"
+msgstr "欢迎进入 Gosa 安装程序!"
 
-#: include/class_listing.inc:1524 include/class_plugin.inc:2054
+#: include/password-methods/class_password-methods.inc:339
+msgid "Cannot find a suitable password method for the current hash!"
+msgstr ""
+
+#: include/class_sortableListing.inc:234
 #, fuzzy
-msgid "Create a new snapshot from this object"
-msgstr "创建新 FAI 对象"
+msgid "Sortable list"
+msgstr "导出"
 
-#: include/class_sortableListing.inc:194
+#: include/class_sortableListing.inc:239
 msgid "Edit this entry"
 msgstr "编辑这条记录"
 
-#: include/class_sortableListing.inc:199
+#: include/class_sortableListing.inc:244
 msgid "Delete this entry"
 msgstr "删除这个条目"
 
-#: include/functions.inc:134
+#: include/class_configRegistry.inc:194
+#: plugins/personal/generic/class_user.inc:273
+#: plugins/personal/generic/class_user.inc:1898
+#, fuzzy
+msgid "unknown"
+msgstr "未知"
+
+#: include/class_configRegistry.inc:197
 #, php-format
-msgid "Fatal error: no class locations defined - please run '%s' to fix this"
+msgid "%s has version %s but %s is required!"
 msgstr ""
 
-#: include/functions.inc:141
-#, php-format
-msgid ""
-"Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"
+#: include/class_configRegistry.inc:239 setup/class_setupStep_Schema.inc:96
+msgid "The following object classes are missing:"
 msgstr ""
 
-#: include/functions.inc:455
-#, php-format
-msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
-msgstr "致命错误:连接 LDAP 错误。服务器返回 '%s'。"
+#: include/class_configRegistry.inc:246 setup/class_setupStep_Schema.inc:99
+msgid "The following object classes are outdated:"
+msgstr ""
 
-#: include/functions.inc:526
-#, fuzzy
-msgid "Username / UID is not unique inside the LDAP tree!"
-msgstr "用户名 / UID 不唯一。请检查您的 LDAP 数据库。"
+#: include/class_configRegistry.inc:252
+msgid ""
+"Plugins that require one or more of the object classes above will be "
+"disabled until the object classes get updated."
+msgstr ""
 
-#: include/functions.inc:611
+#: include/class_configRegistry.inc:254
 #, fuzzy
-msgid ""
-"Username / UID is not unique inside the LDAP tree. Please contact your "
-"Administrator."
-msgstr "用户名 / UID 不唯一。请检查您的 LDAP 数据库。"
+msgid "Schema validation error"
+msgstr "Nagios 鉴权"
 
-#: include/functions.inc:815 include/functions.inc:933
-msgid "Error while adding a lock. Contact the developers!"
-msgstr ""
+#: include/class_configRegistry.inc:689
+#, fuzzy, php-format
+msgid "The value %s specified for %s:%s needs to be a bool value!"
+msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
 
-#: include/functions.inc:825
+#: include/class_configRegistry.inc:704
 #, fuzzy, php-format
-msgid ""
-"Cannot create locking information in LDAP tree. Please contact your "
-"administrator!"
-msgstr "无法获得 LDAP 数据库的锁信息。检查 gosa.conf 中的 'config' 条目!"
+msgid "The value %s specified for %s:%s needs to be a string!"
+msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
 
-#: include/functions.inc:825
+#: include/class_configRegistry.inc:719
 #, fuzzy, php-format
-msgid "LDAP server returned: %s"
-msgstr "LDAP 服务器"
+msgid "The value %s specified for %s:%s needs to be numeric!"
+msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
 
-#: include/functions.inc:954
-#, fuzzy
-msgid ""
-"Found multiple locks for object to be locked. This should not happen - "
-"cleaning up multiple references."
-msgstr "发现要锁定的对象由多个锁。这虽然不可能──清除多个引用。"
+#: include/class_configRegistry.inc:734
+#, fuzzy, php-format
+msgid "The path %s specified for %s:%s is invalid!"
+msgstr "'UID' 赋值无效。"
 
-#: include/functions.inc:1258
-#, php-format
-msgid "The size limit of %d entries is exceed!"
-msgstr "超过了 %d 个条目的大小限制!"
+#: include/class_configRegistry.inc:750 include/class_configRegistry.inc:797
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s does not exists!"
+msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
 
-#: include/functions.inc:1260
-#, php-format
-msgid ""
-"Set the new size limit to %s and show me this message if the limit still "
-"exceeds"
-msgstr "设置新的大小限制为 %s 并且如果限制依然超出还显示这条信息。"
+#: include/class_configRegistry.inc:755
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not readable!"
+msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
 
-#: include/functions.inc:1272 plugins/personal/generic/generic.tpl:221
-msgid "Configure"
-msgstr "配置"
+#: include/class_configRegistry.inc:775 include/class_configRegistry.inc:780
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not writeable!"
+msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
 
-#: include/functions.inc:1277
-msgid "incomplete"
-msgstr "不完整"
+#: include/class_configRegistry.inc:802
+#, fuzzy, php-format
+msgid "The folder %s specified for %s:%s is not writeable!"
+msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
 
-#: include/functions.inc:1667
-msgid "Continue anyway"
+#: include/class_configRegistry.inc:820
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s does not exists!"
+msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
+
+#: include/class_configRegistry.inc:825
+#, fuzzy, php-format
+msgid "The file %s specified for %s:%s is not readable!"
+msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
+
+#: include/class_configRegistry.inc:841
+#, fuzzy, php-format
+msgid "The command %s specified for %s:%s is invalid!"
+msgstr "'UID' 赋值无效。"
+
+#: include/class_configRegistry.inc:856
+#, fuzzy, php-format
+msgid "The DN %s specified for %s:%s is invalid!"
+msgstr "'UID' 赋值无效。"
+
+#: include/class_configRegistry.inc:871
+#, fuzzy, php-format
+msgid "The RDN %s specified for %s:%s is invalid!"
+msgstr "'UID' 赋值无效。"
+
+#: include/php_setup.inc:107
+msgid "Generating this page caused the PHP interpreter to raise some errors!"
+msgstr "生成这个页面导致 PHP 解析器发生一些错误!"
+
+#: include/php_setup.inc:110
+#, fuzzy
+msgid "Send bug report"
+msgstr "发送者"
+
+#: include/php_setup.inc:114
+msgid "Toggle details"
+msgstr ""
+
+#: include/php_setup.inc:123
+msgid "PHP error"
+msgstr "PHP 错误"
+
+#: include/php_setup.inc:142
+msgid "class"
+msgstr "类"
+
+#: include/php_setup.inc:148
+msgid "function"
+msgstr "功能"
+
+#: include/php_setup.inc:153
+msgid "static"
+msgstr "静态"
+
+#: include/php_setup.inc:157
+msgid "method"
+msgstr "方法"
+
+#: include/php_setup.inc:190
+#, fuzzy
+msgid "Traceback"
+msgstr "跟踪"
+
+#: include/php_setup.inc:191
+msgid "File"
+msgstr "文件"
+
+#: include/php_setup.inc:191
+msgid "Line"
+msgstr "行"
+
+#: include/php_setup.inc:191 include/class_acl.inc:280
+#: plugins/admin/acl/class_aclRole.inc:182
+msgid "Type"
+msgstr "类型"
+
+#: include/php_setup.inc:192
+msgid "Arguments"
+msgstr "参数"
+
+#: include/class_certificate.inc:73
+#, fuzzy
+msgid "Certificate is empty!"
+msgstr "证书"
+
+#: include/class_certificate.inc:100
+msgid "Cannot load certificate: only PEM and DER are supported!"
+msgstr ""
+
+#: include/class_certificate.inc:115
+msgid "Cannot extract information for non PEM certificates!"
+msgstr ""
+
+#: include/class_certificate.inc:219
+#, fuzzy
+msgid "No valid certificate loaded!"
+msgstr "无有效证书加载"
+
+#: include/class_session.inc:76 include/class_session.inc:101
+#: include/class_session.inc:127
+#, fuzzy
+msgid "Requested channel does not exist!"
+msgstr "用户名 / UID 不唯一。请检查您的 LDAP 数据库。"
+
+#: include/functions.inc:151
+#, php-format
+msgid "Fatal error: no class locations defined - please run %s to fix this"
+msgstr ""
+
+#: include/functions.inc:158
+#, php-format
+msgid "Fatal error: cannot instantiate class %s - try running %s to fix this"
+msgstr ""
+
+#: include/functions.inc:483
+#, fuzzy, php-format
+msgid "Error while connecting to LDAP: %s"
+msgstr "致命错误:连接 LDAP 错误。服务器返回 '%s'。"
+
+#: include/functions.inc:554 include/functions.inc:640
+#, fuzzy
+msgid "User ID is not unique!"
+msgstr "用户名 / UID 不唯一。请检查您的 LDAP 数据库。"
+
+#: include/functions.inc:854 include/functions.inc:972
+msgid "Error while locking entry!"
+msgstr ""
+
+#: include/functions.inc:864
+#, php-format
+msgid "Cannot store lock information in LDAP!"
+msgstr ""
+
+#: include/functions.inc:864
+#, fuzzy, php-format
+msgid "Error: %s"
+msgstr "错误"
+
+#: include/functions.inc:1294
+#, fuzzy, php-format
+msgid "The current size limit of %d entries is exceeded!"
+msgstr "超过了 %d 个条目的大小限制!"
+
+#: include/functions.inc:1296
+#, php-format
+msgid "Set the size limit to %s"
+msgstr ""
+
+#: include/functions.inc:1308 plugins/personal/generic/generic.tpl:218
+msgid "Configure"
+msgstr "配置"
+
+#: include/functions.inc:1313
+#, fuzzy
+msgid "list is incomplete"
+msgstr "不完整"
+
+#: include/functions.inc:1663
+msgid "Continue anyway"
 msgstr "仍然继续"
 
-#: include/functions.inc:1669
+#: include/functions.inc:1665
 msgid "Edit anyway"
 msgstr "仍然编辑"
 
-#: include/functions.inc:1671
-#, fuzzy, php-format
-msgid "You're going to edit the LDAP entry/entries %s"
-msgstr "您将要拷贝条目 '%s'。"
+#: include/functions.inc:1668
+msgid "These entries are currently locked:"
+msgstr ""
 
-#: include/functions.inc:1911
+#: include/functions.inc:1909
 msgid "Entries per page"
 msgstr "每页条目数"
 
-#: include/functions.inc:1940 include/class_filter.inc:315
-msgid "Apply filter"
-msgstr "应用过滤器"
-
-#: include/functions.inc:2252 include/class_filter.inc:281
-msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-
-#: include/functions.inc:2306
+#: include/functions.inc:2087
 #, fuzzy, php-format
 msgid "GOsa %s"
 msgstr "Syslog 服务"
 
-#: include/functions.inc:2313
+#: include/functions.inc:2094
 #, fuzzy, php-format
 msgid "GOsa %s snapshot (Rev %s)"
 msgstr "GOsa 开发版(版本 %s)"
 
-#: include/functions.inc:2318
+#: include/functions.inc:2099
 #, php-format
 msgid "GOsa development snapshot (Rev %s)"
 msgstr "GOsa 开发版(版本 %s)"
 
-#: include/functions.inc:2414
+#: include/functions.inc:2195
 #, php-format
-msgid "File '%s' could not be deleted."
+msgid "File %s cannot be deleted!"
 msgstr ""
 
-#: include/functions.inc:2448 include/functions.inc:2468
+#: include/functions.inc:2225 include/functions.inc:2245
 #, fuzzy
-msgid "Cannot write to revision file!"
+msgid "Cannot write revision file!"
 msgstr "无法创建文件 '%s'。"
 
-#: include/functions.inc:2686 include/functions.inc:2690
-#: include/functions.inc:2696
+#: include/functions.inc:2516 include/functions.inc:2520
+#: include/functions.inc:2526
 #, fuzzy
 msgid "'baseIdHook' is not available. Using default base!"
 msgstr "警告: nextIdHook不可用。使用缺省 base。"
 
-#: include/functions.inc:2720
-#, fuzzy
-msgid "LDAP warning"
-msgstr "LDAP 管理"
-
-#: include/functions.inc:2720
+#: include/functions.inc:2550
 #, fuzzy
-msgid "Cannot get schema information from server. No schema check possible!"
+msgid ""
+"Cannot read schema information from LDAP. Schema validation is not possible!"
 msgstr "不能从服务器得到 schema 信息。无法对 schema 检查!"
 
-#: include/functions.inc:2746
-msgid "Used to store account specific informations."
+#: include/functions.inc:2576
+msgid "This class is used to make users appear in GOsa."
 msgstr ""
 
-#: include/functions.inc:2753
+#: include/functions.inc:2583
 msgid ""
-"Used to lock currently edited entries to avoid multiple changes at the same "
+"This class is used to lock entries in order to prevent multiple edits at a "
 "time."
 msgstr ""
 
-#: include/functions.inc:2798
+#: include/functions.inc:2628
 #, php-format
-msgid "Missing required object class '%s'!"
+msgid "Required object class %s is missing!"
 msgstr ""
 
-#: include/functions.inc:2801
+#: include/functions.inc:2631
 #, php-format
-msgid "Missing optional object class '%s'!"
+msgid "Optional object class %s is missing!"
 msgstr ""
 
-#: include/functions.inc:2806
+#: include/functions.inc:2636
 #, php-format
-msgid "Version mismatch for required object class '%s' (!=%s)!"
+msgid "Wrong version of required object class %s (!=%s) detected!"
 msgstr ""
 
-#: include/functions.inc:2809
+#: include/functions.inc:2639
 #, fuzzy, php-format
-msgid "Class(es) available"
+msgid "Class available"
 msgstr "文件可用。"
 
-#: include/functions.inc:2831
+#: include/functions.inc:2661
 msgid ""
-"You have enabled the rfc2307bis option on the 'ldap setup' step, but your "
-"schema    configuration do not support this option."
+"RFC2307bis schema is enabled, but the current LDAP configuration does not "
+"support it!"
 msgstr ""
 
-#: include/functions.inc:2832
+#: include/functions.inc:2662
 msgid ""
-"In order to use rfc2307bis conform groups the objectClass 'posixGroup' must "
-"be      AUXILIARY"
+"To use RFC2307bis groups, the objectClass 'posixGroup' must be AUXILIARY."
 msgstr ""
 
-#: include/functions.inc:2836
+#: include/functions.inc:2666
 msgid ""
-"Your schema is configured to support the rfc2307bis group, but you have "
-"disabled this option on the 'ldap setup' step."
+"RFC2307bis schema is disabled, but the current LDAP configuration supports "
+"it!"
 msgstr ""
 
-#: include/functions.inc:2837
-msgid "The objectClass 'posixGroup' must be STRUCTURAL"
+#: include/functions.inc:2667
+msgid "To correct this, the objectClass 'posixGroup' must be STRUCTURAL."
 msgstr ""
 
-#: include/functions.inc:2861
+#: include/functions.inc:2692
 msgid "German"
 msgstr "德语"
 
-#: include/functions.inc:2862
+#: include/functions.inc:2693
 msgid "French"
 msgstr "法语"
 
-#: include/functions.inc:2863
+#: include/functions.inc:2694
 msgid "Italian"
 msgstr "意大利语"
 
-#: include/functions.inc:2864
+#: include/functions.inc:2695
 msgid "Spanish"
 msgstr "西班牙语"
 
-#: include/functions.inc:2865
+#: include/functions.inc:2696
 msgid "English"
 msgstr "英语"
 
-#: include/functions.inc:2866
+#: include/functions.inc:2697
 msgid "Dutch"
 msgstr "荷兰语"
 
-#: include/functions.inc:2867
+#: include/functions.inc:2698
 msgid "Polish"
 msgstr "波兰语"
 
-#: include/functions.inc:2869
+#: include/functions.inc:2699
+msgid "Brazilian Portuguese"
+msgstr ""
+
+#: include/functions.inc:2701
 msgid "Chinese"
 msgstr "芯片组"
 
-#: include/functions.inc:2870
+#: include/functions.inc:2702
 #, fuzzy
 msgid "Vietnamese"
 msgstr "名"
 
-#: include/functions.inc:2871
+#: include/functions.inc:2703
 msgid "Russian"
 msgstr "俄语"
 
-#: include/functions.inc:3066
+#: include/functions.inc:2896
+#, fuzzy
+msgid "Cannot detect password hash!"
+msgstr "无法选择数据库!"
+
+#: include/functions.inc:2937 include/functions.inc:3012
 #, php-format
-msgid ""
-"Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to exist."
-msgstr "命令 '%s',作为插件 '%s' 的 POSTMODIFY 好像并不存在。"
+msgid "Pre-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: include/functions.inc:2968
+#, fuzzy
+msgid "Password change failed!"
+msgstr "不允许修改口令"
+
+#: include/functions.inc:2976
+#, php-format
+msgid "Post-event hook reported a problem: %s. Password change canceled!"
+msgstr ""
 
-#: include/functions.inc:3099
-msgid "Cannot generate samba hash!"
+#: include/functions.inc:3080
+msgid "Cannot generate SAMBA hash!"
 msgstr ""
 
-#: include/functions.inc:3112
+#: include/functions.inc:3095
 #, php-format
-msgid ""
-"Cannot generate samba hash: running '%s' failed, check the 'sambaHashHook'!"
+msgid "Generating SAMBA hash by running %s failed: check %s!"
 msgstr ""
 
-#: include/functions.inc:3393 include/functions.inc:3407
-#: include/functions.inc:3445 include/functions.inc:3457
-#: include/functions.inc:3461 include/functions.inc:3476
-#: include/functions.inc:3485
+#: include/functions.inc:3373 include/functions.inc:3387
+#: include/functions.inc:3425 include/functions.inc:3437
+#: include/functions.inc:3441 include/functions.inc:3456
+#: include/functions.inc:3465
 #, fuzzy
-msgid "Cannot allocate a free ID:"
+msgid "Cannot allocate free ID:"
 msgstr "太多用户,无法分配一个可用的 ID!"
 
-#: include/functions.inc:3393
+#: include/functions.inc:3373
 msgid "unknown idAllocation method!"
 msgstr ""
 
-#: include/functions.inc:3407
+#: include/functions.inc:3387
 #, php-format
 msgid "%sPoolMin >= %sPoolMax!"
 msgstr ""
 
-#: include/functions.inc:3437
+#: include/functions.inc:3417
 #, fuzzy
 msgid "Cannot create sambaUnixIdPool entry!"
 msgstr "转到根部门"
 
-#: include/functions.inc:3445
+#: include/functions.inc:3425
 msgid "sambaUnixIdPool is not unique!"
 msgstr ""
 
-#: include/functions.inc:3457 include/functions.inc:3461
+#: include/functions.inc:3437 include/functions.inc:3441
 #, fuzzy
 msgid "no ID available!"
 msgstr "文件可用。"
 
-#: include/functions.inc:3485
-msgid "maximum tries exceeded!"
+#: include/functions.inc:3465
+msgid "maximum number of tries exceeded!"
 msgstr ""
 
-#: include/functions.inc:3545
+#: include/functions.inc:3525
 #, fuzzy
-msgid "Cannot allocate a free ID!"
+msgid "Cannot allocate free ID!"
 msgstr "太多用户,无法分配一个可用的 ID!"
 
-#: include/class_tabs.inc:57
-#, fuzzy, php-format
-msgid ""
-"No plugin definitions found to initialize '%s', please check your "
-"configuration file."
-msgstr "无法连接到指定数据库,请检查您 glpi 设置。"
-
-#: include/class_tabs.inc:268
-#, php-format
-msgid "Delete process has been canceled by plugin '%s': %s"
-msgstr "删除进程被插件 '%s' 取消: %s"
+#: include/class_filter.inc:158 include/class_filter.inc:228
+#: ihtml/themes/default/help.tpl:21 setup/setup_ldap.tpl:15
+msgid "Search"
+msgstr "查找"
 
-#: include/class_tabs.inc:406
-msgid "References"
-msgstr "参考"
+#: include/class_filter.inc:226
+#, fuzzy
+msgid "Search filter"
+msgstr "参数"
 
-#: include/class_SnapShotDialog.inc:82
-#, fuzzy, php-format
-msgid "You're about to delete the snapshot '%s'."
-msgstr "您将要删除宏 '%s'。"
+#: include/class_filter.inc:444
+#, fuzzy
+msgid "Search in subtrees"
+msgstr "在子树中查找"
 
-#: include/class_SnapShotDialog.inc:137
+#: include/class_filter.inc:449
 #, fuzzy
-msgid "Remove snapshot"
-msgstr "删除记录"
+msgid "Edit filters"
+msgstr "编辑证书"
 
-#: include/class_SnapShotDialog.inc:139 include/class_SnapShotDialog.inc:159
-msgid "Y-m-d, H:i:s"
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+msgid "Performance warning"
 msgstr ""
 
-#: include/class_SnapShotDialog.inc:171
-#: plugins/generic/references/contents.tpl:11
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:105
-#: plugins/admin/ogroups/class_ogroup.inc:977
-#: plugins/admin/ogroups/generic.tpl:15
-#: plugins/admin/ogroups/ogroup-list.xml:49
-#: plugins/admin/groups/generic.tpl:24
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:66
-#: plugins/admin/groups/class_group.inc:1184
-#: plugins/admin/departments/dep-list.xml:79
-#: plugins/admin/departments/locality.tpl:19
-#: plugins/admin/departments/generic.tpl:19
-#: plugins/admin/departments/class_domain.inc:63
-#: plugins/admin/departments/class_domain.inc:91
-#: plugins/admin/departments/class_localityGeneric.inc:64
-#: plugins/admin/departments/class_localityGeneric.inc:92
-#: plugins/admin/departments/class_organizationGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:123
-#: plugins/admin/departments/class_countryGeneric.inc:63
-#: plugins/admin/departments/class_countryGeneric.inc:92
-#: plugins/admin/departments/class_dcObject.inc:63
-#: plugins/admin/departments/class_dcObject.inc:91
-#: plugins/admin/departments/domain.tpl:19
-#: plugins/admin/departments/country.tpl:19
-#: plugins/admin/departments/dcObject.tpl:19
-#: plugins/admin/departments/class_department.inc:359
-#: plugins/admin/departments/class_department.inc:666
-#: plugins/admin/departments/organization.tpl:19
-#: plugins/admin/acl/class_aclRole.inc:735 plugins/admin/acl/acl-list.xml:57
-#: plugins/admin/acl/acl_role.tpl:17
-#: plugins/personal/posix/trustSelect/trust-list.xml:64
-#: plugins/personal/posix/groupSelect/group-list.xml:49
-msgid "Description"
-msgstr "描述"
-
-#: include/exporter/class_cvsExporter.inc:48
-msgid "CSV"
+#: include/class_ldap.inc:305 include/class_ldap.inc:342
+#, php-format
+msgid "LDAP performance is poor: last query took %.2fs!"
 msgstr ""
 
-#: include/exporter/class_PDF.inc:24
-#, fuzzy
-msgid "Page"
-msgstr "呼机"
+#: include/class_ldap.inc:784
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: no object class found"
+msgstr ""
 
-#: include/exporter/class_pdfExporter.inc:18
-msgid "No PDF export possible: there is no FPDF library installed."
+#: include/class_ldap.inc:835
+#, php-format
+msgid "Cannot automatically create subtrees with RDN %s: not supported"
 msgstr ""
 
-#: include/exporter/class_pdfExporter.inc:145
-msgid "PDF"
+#: include/class_ldap.inc:922
+#, fuzzy, php-format
+msgid "while operating on %s using LDAP server %s"
+msgstr "当操作 '%s' 使用 LDAP 服务器 '%s' 时"
+
+#: include/class_ldap.inc:924
+#, php-format
+msgid "while operating on LDAP server %s"
+msgstr "当操作  LDAP 服务器 '%s' 时"
+
+#: include/class_ldap.inc:977
+#, php-format
+msgid "Command line programm %s is missing!"
 msgstr ""
 
-#: include/class_multi_plug.inc:362
-#, fuzzy
-msgid "You are currently editing mutliple entries."
-msgstr "您无权删除这个部门。"
+#: include/class_ldap.inc:1138
+#, fuzzy, php-format
+msgid ""
+"Invalid DN %s: block to be imported should start with 'dn: ...' in line %s"
+msgstr "这不是一条有效的 DN: '%s'。导入数据应该以 'dn:...' 开始于行 %s"
+
+#: include/class_ldap.inc:1167
+#, fuzzy, php-format
+msgid "Error while importing DN %s: please check LDIF from line %s on!"
+msgstr "导入 dn: '%s' 时错误,请从行 %s 开始检查您的 LDIF!"
 
-#: include/class_multi_plug.inc:391
+#: include/class_core.inc:113 include/class_core.inc:119
+#: plugins/generic/references/class_aclResolver.inc:303
 #, fuzzy
-msgid "Password reset"
-msgstr "口令过期截止日"
+msgid "All"
+msgstr "全部"
 
-#: include/class_multi_plug.inc:391
+#: include/class_core.inc:114
 #, fuzzy
-msgid "The user password was resetted, please set a new password value!"
-msgstr "您的口令已经过期 !! 选择一个新口令"
+msgid "All objects"
+msgstr "成员对象"
 
-#: include/class_certificate.inc:73
+#: include/class_core.inc:132
 #, fuzzy
-msgid "Certificate is empty!"
-msgstr "证书"
+msgid "Traditional"
+msgstr "终端"
 
-#: include/class_certificate.inc:100
-msgid "Cannot load certificate - only PEM/DER is supported!"
+#: include/class_core.inc:132
+msgid "Use samba pool"
 msgstr ""
 
-#: include/class_certificate.inc:115
-msgid "Cannot extract information for non PEM certificates!"
-msgstr ""
+#: include/class_core.inc:164 include/class_core.inc:167
+#, fuzzy
+msgid "hours"
+msgstr "小时"
 
-#: include/class_certificate.inc:219
+#: include/class_core.inc:184
 #, fuzzy
-msgid "No valid certificate loaded!"
-msgstr "无有效证书加载"
+msgid "None"
+msgstr "无"
 
-#: include/php_setup.inc:100
-msgid "Generating this page caused the PHP interpreter to raise some errors!"
-msgstr "生成这个页面导致 PHP 解析器发生一些错误!"
+#: include/class_core.inc:188 setup/class_setupStep_Language.inc:47
+#, fuzzy
+msgid "Automatic"
+msgstr "自动"
 
-#: include/php_setup.inc:105
-msgid "Send bug report to the GOsa Team"
-msgstr ""
+#: include/class_core.inc:200
+#, fuzzy
+msgid "User value"
+msgstr "用户名"
 
-#: include/php_setup.inc:105
+#: include/class_core.inc:209
 #, fuzzy
-msgid "Send bugreport"
-msgstr "发送者"
+msgid "Core"
+msgstr "关闭"
 
-#: include/php_setup.inc:110
-msgid "Toggle information"
-msgstr "切换信息"
+#: include/class_core.inc:210
+#, fuzzy
+msgid "GOsa core plugin"
+msgstr "用户设置"
 
-#: include/php_setup.inc:120
-msgid "PHP error"
-msgstr "PHP 错误"
+#: include/class_core.inc:238
+msgid ""
+"Enables htaccess instead of LDAP authentication. This can be used to enable "
+"other authentication mechanisms like Kerberos for the GOsa login."
+msgstr ""
 
-#: include/php_setup.inc:139
-msgid "class"
-msgstr "类"
+#: include/class_core.inc:248
+msgid "Enables the usage statistics module."
+msgstr ""
 
-#: include/php_setup.inc:145
-msgid "function"
-msgstr "功能"
+#: include/class_core.inc:258
+msgid "Database file to be used by the usage statistics module."
+msgstr ""
 
-#: include/php_setup.inc:150
-msgid "static"
-msgstr "静态"
+#: include/class_core.inc:268
+msgid ""
+"Enables event logging in GOsa. Setting it to 'On' make GOsa log every action "
+"a user performs via syslog. If you use this in combination with rsyslog and "
+"configure it to MySQL logging, you can browse all events in GOsa."
+msgstr ""
 
-#: include/php_setup.inc:154
-msgid "method"
-msgstr "方法"
+#: include/class_core.inc:279
+msgid ""
+"Enables a status bar on the bottom of lists displaying a summary of type and "
+"number of elements in the list."
+msgstr ""
 
-#: include/php_setup.inc:187
-msgid "Trace"
-msgstr "跟踪"
+#: include/class_core.inc:289
+msgid "Specify the minimum length for newly entered passwords."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "File"
-msgstr "文件"
+#: include/class_core.inc:299
+msgid ""
+"Specify the minimum number of characters that have to differ between old and "
+"newly entered passwords."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Line"
-msgstr "行"
+#: include/class_core.inc:309
+msgid ""
+"Command to generate password proposals. If a command has been specified, the "
+"user can decide whether to use an automatic password or a manually specified "
+"one."
+msgstr ""
 
-#: include/php_setup.inc:188
-msgid "Type"
-msgstr "类型"
+#: include/class_core.inc:319
+msgid ""
+"Enable display of PHP errors on the top of the page. Disable this feature in "
+"production environments to avoid the exposure of sensitive data."
+msgstr ""
 
-#: include/php_setup.inc:189
-msgid "Arguments"
-msgstr "参数"
+#: include/class_core.inc:319
+#, fuzzy, php-format
+msgid "Related option"
+msgstr "选择查看工作站"
 
-#: include/class_filter.inc:322 include/utils/class_msgPool.inc:24
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-#: plugins/personal/posix/posix_groups.tpl:68
-#, fuzzy
-msgid "Search in subtrees"
-msgstr "在子树中查找"
+#: include/class_core.inc:329
+msgid ""
+"Show messages that may assist plugin development. Be aware that this option "
+"may produce some ACL related false error messages!"
+msgstr ""
 
-#: include/class_plugin.inc:521
+#: include/class_core.inc:340
 msgid ""
-"The object has changed since opened in GOsa. All changes that may be done by "
-"others get lost if you save this entry!"
+"Enable LDAP schema verification during login. The recommended setting is "
+"'On' because it enables efficient methods to create missing subtrees in the "
+"LDAP."
 msgstr ""
 
-#: include/class_plugin.inc:1844
-msgid "Changing ACL dn"
+#: include/class_core.inc:350
+msgid "Enable copy and paste for most objects managed by GOsa."
 msgstr ""
 
-#: include/class_plugin.inc:1844
-msgid "from"
-msgstr "从"
+#: include/class_core.inc:360
+msgid "Enable PHP security checks for disabled register_global settings."
+msgstr ""
 
-#: include/class_plugin.inc:1845 setup/class_setupStep_Migrate.inc:1250
-#: setup/class_setupStep_Migrate.inc:1300
-#: setup/class_setupStep_Migrate.inc:1348
-#, fuzzy
-msgid "to"
-msgstr "停止"
+#: include/class_core.inc:370
+msgid "Enable automatic redirection to HTTPS based administration."
+msgstr ""
 
-#: include/class_plugin.inc:2028 include/class_plugin.inc:2030
-#, fuzzy
-msgid "Restore"
-msgstr "仓库"
+#: include/class_core.inc:380
+msgid "Enable logging of detailed information of LDAP operations."
+msgstr ""
 
-#: include/class_plugin.inc:2072
-msgid "cut"
-msgstr "剪切"
+#: include/class_core.inc:390
+#, fuzzy
+msgid "Enable LDAP referral chasing."
+msgstr "删除打印机扩展"
 
-#: include/class_plugin.inc:2080
-msgid "copy"
-msgstr "复制"
+#: include/class_core.inc:400
+msgid ""
+"Specify LDAP element filter limit. If the limit is not 0, GOsa speeds up "
+"group queries by putting several queries into a single query. This is known "
+"to produce problems on some LDAP servers (i.e. Sun DS) and needs to be "
+"lowered or disabled."
+msgstr ""
 
-#: include/functions_helpviewer.inc:45
-#, php-format
-msgid "XML error in guide.xml: %s at line %d"
-msgstr "XML 出错于 guide.xml: %s ,行 %d"
+#: include/class_core.inc:410
+msgid ""
+"Specify the maximum number of entries GOsa will request from an LDAP server. "
+"A warning is displayed if this limit is exceeded."
+msgstr ""
 
-#: include/functions_helpviewer.inc:88
-msgid "No help available for this plugin."
-msgstr "此插件没有可用帮助信息。"
+#: include/class_core.inc:420
+msgid "Disable checks for LDAP size limits."
+msgstr ""
 
-#: include/functions_helpviewer.inc:388
-#, php-format
-msgid "%s results for your search with the keyword %s"
-msgstr "%s 结果当您查找关键字 %s"
+#: include/class_core.inc:430
+#, fuzzy
+msgid "Enable warnings for non encrypted connections."
+msgstr "封锁加密归档"
 
-#: include/functions_helpviewer.inc:462
-#, php-format
-msgid "%s%% hit rate in file %s"
-msgstr "%s%% 点击率于文件 %s"
+#: include/class_core.inc:440
+msgid "Enable compression for PPD files."
+msgstr ""
 
-#: include/utils/class_timezone.inc:47
-#, php-format
+#: include/class_core.inc:451
 msgid ""
-"The timezone setting '%s' in your gosa.conf is not valid. Cannot calculate "
-"correct timezone offset."
+"DN of user with ACL checks disabled. This should only be used to restore "
+"lost administrative ACLs."
 msgstr ""
 
-#: include/utils/class_xml.inc:48
-#, fuzzy
-msgid "in"
-msgstr "首页"
+#: include/class_core.inc:462
+msgid "Storage path for PPD files."
+msgstr ""
 
-#: include/utils/class_xml.inc:50
-#, fuzzy
-msgid "on line"
-msgstr "继续"
+#: include/class_core.inc:472
+msgid ""
+"Number of seconds a LDAP query is allowed to take until GOsa aborts the "
+"request."
+msgstr ""
 
-#: include/utils/class_xml.inc:51
-#, fuzzy
-msgid "XML error"
-msgstr "LDAP 错误:"
+#: include/class_core.inc:482
+msgid "Enables storing of user filters in browser cookies."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:16
-#, fuzzy, php-format
-msgid "Select to list objects of type '%s'."
-msgstr "选择要添加的对象"
+#: include/class_core.inc:492
+msgid "Enables sending of compressed web page content."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:18
-#, fuzzy, php-format
-msgid "Select to list objects containig '%s'."
-msgstr "选择查看包含用户的组"
+#: include/class_core.inc:503
+msgid "LDAP attribute which is used to detect changes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:20
-#, fuzzy, php-format
-msgid "Select to list objects that have '%s' enabled"
-msgstr "选择要添加的对象"
+#: include/class_core.inc:514
+msgid ""
+"ISO language code which is used to override the automatic language detection."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:22
-#: plugins/admin/ogroups/ogroup_objects.tpl:33
-msgid "Select to search within subtrees"
-msgstr "选择在子树中查询"
+#: include/class_core.inc:525
+msgid "CSS and template theme to be used."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:34
-msgid "This object will be deleted!"
+#: include/class_core.inc:535
+msgid ""
+"Number of seconds after an inactive session expires. This may be overridden "
+"by some systems php.ini/crontab mechanism."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:36
+#: include/class_core.inc:545
+#, fuzzy
+msgid "Template engine compile directory."
+msgstr "用户主目录"
+
+#: include/class_core.inc:555
 #, php-format
-msgid "This '%s' object will be deleted!"
+msgid ""
+"Logical AND of the integer values below that controls the debug output on "
+"every page load: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:41
-#, php-format
-msgid "This object will be deleted: %s"
+#: include/class_core.inc:576
+msgid ""
+"Command to create Samba NT/LM hashes. Required for password synchronization "
+"if you don't use supplementary services."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:43
-#, php-format
-msgid "This '%s' object will be deleted: %s"
+#: include/class_core.inc:587
+msgid "Default hash to be used for newly created user passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:48
-msgid "This object will be deleted:"
+#: include/class_core.inc:596
+msgid ""
+"Enable checking for the presence of problematic unicode characters in "
+"passwords."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:50
-#, php-format
-msgid "This '%s' object will be deleted:"
+#: include/class_core.inc:607
+msgid ""
+"Specify whether 'cn' or 'uid' style user DNs are generated. For more "
+"sophisticated control use the 'accountRDN' setting."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:54
-#, php-format
-msgid "These objects will be deleted: %s"
+#: include/class_core.inc:617
+msgid "Location component for user storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:56
-#, php-format
-msgid "These '%s' objects will be deleted: %s"
+#: include/class_core.inc:627
+msgid "Location component for group storage inside of departments."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:64
-#, fuzzy
-msgid "You have no permission to delete this object!"
-msgstr "您无权删除这个部门。"
+#: include/class_core.inc:637
+msgid ""
+"Count base for group IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:68 include/utils/class_msgPool.inc:72
-#, fuzzy
-msgid "You have no permission to delete the object:"
-msgstr "您无权删除这个部门。"
+#: include/class_core.inc:647
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'nextIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:75
-#, fuzzy
-msgid "You have no permission to delete these objects:"
-msgstr "您无权删除这个部门。"
+#: include/class_core.inc:657
+msgid ""
+"Lowest assignable group ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:82
-#, fuzzy
-msgid "You have no permission to create this object!"
-msgstr "您无权删除这个部门。"
+#: include/class_core.inc:667
+msgid ""
+"Highest assignable group ID for use with the idAllocationMethod set to "
+"'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:86 include/utils/class_msgPool.inc:90
-#, fuzzy
-msgid "You have no permission to create the object:"
-msgstr "您无权删除这个部门。"
+#: include/class_core.inc:677
+msgid ""
+"Lowest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:93
-#, fuzzy
-msgid "You have no permission to create these objects:"
-msgstr "您无权删除这个部门。"
+#: include/class_core.inc:687
+msgid ""
+"Highest assignable user ID for use with the idAllocationMethod set to 'pool'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:100
-#, fuzzy
-msgid "You have no permission to modify this object!"
-msgstr "您无权删除这个黑名单。"
+#: include/class_core.inc:697
+msgid ""
+"Count base for user IDs. For dynamic ID assignment use the 'baseIdHook' "
+"setting."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:104 include/utils/class_msgPool.inc:108
-#, fuzzy
-msgid "You have no permission to modify the object:"
-msgstr "您无权删除这个黑名单。"
+#: include/class_core.inc:707
+msgid "Connection URL for use with the gosa-ng service."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:111
-#, fuzzy
-msgid "You have no permission to modify these objects:"
-msgstr "您无权删除这个黑名单。"
+#: include/class_core.inc:717
+msgid "User name used to connect to the 'gosaRpcServer'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:118
+#: include/class_core.inc:727
 #, fuzzy
-msgid "You have no permission to view this object!"
-msgstr "您无权删除这个黑名单。"
+msgid "Password used to connect to the 'gosaRpcServer'."
+msgstr "无法连接到数据库!"
 
-#: include/utils/class_msgPool.inc:122 include/utils/class_msgPool.inc:126
-#, fuzzy
-msgid "You have no permission to view the object:"
-msgstr "您无权在此 'Base' 下创建一个电话"
+#: include/class_core.inc:737
+msgid "Connection URI for use with the gosa-si service (obsolete)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:129
-#, fuzzy
-msgid "You have no permission to view these objects:"
-msgstr "您无权删除这个黑名单。"
+#: include/class_core.inc:747
+msgid "Number of seconds after a gosa-si connection is considered 'dead'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:136
-#, fuzzy
-msgid "You have no permission to move this object!"
-msgstr "您无权删除这个黑名单。"
+#: include/class_core.inc:758
+msgid "User attribute which is used for log in."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:140 include/utils/class_msgPool.inc:144
+#: include/class_core.inc:769
 #, fuzzy
-msgid "You have no permission to move the object:"
-msgstr "您无权删除这个黑名单。"
+msgid "Local time zone."
+msgstr "位置"
 
-#: include/utils/class_msgPool.inc:147
-#, fuzzy
-msgid "You have no permission to move these objects:"
-msgstr "您无权删除这个黑名单。"
+#: include/class_core.inc:779
+msgid ""
+"Enable tagging of administrative units. This can be used in conjunction with "
+"ACLs (obsolete)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:157 include/utils/class_msgPool.inc:169
-#: include/utils/class_msgPool.inc:187
-#, fuzzy
-msgid "Connection information"
-msgstr "个人信息"
+#: include/class_core.inc:789
+msgid "Enable the use of {sasl} instead of {kerberos} for user realms."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:159
-#, fuzzy, php-format
-msgid "Cannot connect to %s database!"
-msgstr "无法连接到数据库!"
+#: include/class_core.inc:799
+msgid ""
+"Enable RFC 2307bis style groups. This combines the use of 'member' and "
+"'memberUid' attributes."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:171
-#, fuzzy, php-format
-msgid "Cannot select %s database!"
-msgstr "无法选择数据库!"
+#: include/class_core.inc:809
+msgid ""
+"Adjusts the user DN generation to include the users personal title (only in "
+"conjunction with accountPrimaryAttribute)."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:177
-#, php-format
-msgid "No %s server defined!"
+#: include/class_core.inc:819
+msgid "Script to be called for finding the next free id for groups or users."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:189
-#, fuzzy, php-format
-msgid "Cannot query %s database!"
-msgstr "无法选择数据库!"
+#: include/class_core.inc:828
+msgid ""
+"Descriptive string for the automatic ID generator. Please read the FAQ file "
+"for more information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:195
-#, fuzzy, php-format
-msgid "The field '%s' contains a reserved keyword!"
-msgstr "“传真”字段包含一个无效电话号码"
+#: include/class_core.inc:838
+msgid "Enable strict checking for user IDs and group names."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:201
-#, fuzzy, php-format
-msgid "Command specified as %s hook for plugin '%s' does not exist!"
-msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
+#: include/class_core.inc:848
+msgid ""
+"Lowest assignable user or group ID. Only active if idAllocationMethod is set "
+"to 'traditional'."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:208
-#, fuzzy, php-format
-msgid "'%s' command is invalid!"
-msgstr "指定的 branch 名称无效。"
+#: include/class_core.inc:859
+msgid "Attribute to be used for primary mail addresses."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:210
-#, php-format
-msgid "'%s' command (%s) for plugin %s is invalid!"
+#: include/class_core.inc:869
+msgid "Namespace used for shared folders."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:212
-#, php-format
-msgid "'%s' command for plugin %s is invalid!"
+#: include/class_core.inc:879
+msgid ""
+"Namespace rule to create user folders. Please read the FAQ file for more "
+"information."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:214
-#, fuzzy, php-format
-msgid "'%s' command (%s) is invalid!"
-msgstr "指定的 branch 名称无效。"
+#: include/class_core.inc:889
+msgid ""
+"Namespace rule to create folders. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:222
-#, fuzzy, php-format
-msgid "Cannot execute '%s' command!"
-msgstr "无法选择数据库!"
+#: include/class_core.inc:899
+msgid "Seconds after an IMAP connection is considered dead."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:224
-#, php-format
-msgid "Cannot execute '%s' command (%s) for plugin %s!"
+#: include/class_core.inc:910
+msgid "Class name of the mail method to be used."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:226
-#, php-format
-msgid "Cannot execute '%s' command for plugin %s!"
+#: include/class_core.inc:920
+msgid ""
+"Enable slashes instead of dots as a name space separator for Cyrus IMAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:228
-#, fuzzy, php-format
-msgid "Cannot execute '%s' command (%s)!"
-msgstr "无法选择数据库!"
+#: include/class_core.inc:930
+msgid ""
+"Directory to store vacation templates. Please read the FAQ file for more "
+"information."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:236
-#, fuzzy, php-format
-msgid "Value for '%s' is too large!"
-msgstr "'UID' 赋值太小。"
+#: include/class_core.inc:940
+#, fuzzy
+msgid "Enable TLS for LDAP connections."
+msgstr "断开"
 
-#: include/utils/class_msgPool.inc:238
-#, fuzzy, php-format
-msgid "'%s' must be smaller than %s!"
-msgstr "提供的 'shadowMin' 应该小于'shadowMax'。"
+#: include/class_core.inc:950
+msgid "Enable IVBB used by german authorities."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:246
-#, fuzzy, php-format
-msgid "Value for '%s' is too small!"
-msgstr "'UID' 赋值太小。"
+#: include/class_core.inc:960
+msgid ""
+"Maintain sambaIdmapEntry objects to improve performance on some Samba "
+"versions."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:248
-#, php-format
-msgid "'%s' must be %d or above!"
+#: include/class_core.inc:970
+msgid "Enable checks to determine whether an account is expired or not."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:255
-#, php-format
-msgid "'%s' depends on '%s' - please provide both values!"
+#: include/class_core.inc:980
+msgid ""
+"String containing the SID for Samba setups without the Domain object in LDAP."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:261
-#, fuzzy, php-format
-msgid "There is already an entry with this '%s' attribute in the system!"
-msgstr "数据库中已经有同样登录名的用户。"
+#: include/class_core.inc:990
+msgid ""
+"String containing the RID base for Samba setups without the Domain object in "
+"LDAP."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:267
-#, fuzzy, php-format
-msgid "The required field '%s' is empty!"
-msgstr "需要的“姓名”字段没有设置"
+#: include/class_core.inc:1000
+#, fuzzy
+msgid "Enable manual object snapshots."
+msgstr "创建新对象组"
 
-#: include/utils/class_msgPool.inc:275
-msgid "Example"
+#: include/class_core.inc:1010
+msgid "Base DN for snapshot storage."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:295
-#, fuzzy, php-format
-msgid "The Field '%s' contains invalid characters"
-msgstr "“姓名”字段包含无效字符。"
+#: include/class_core.inc:1020
+#, fuzzy
+msgid "DN of the snapshot administrator."
+msgstr "域管理员"
 
-#: include/utils/class_msgPool.inc:296
-#, php-format
-msgid "'%s' is not allowed:"
+#: include/class_core.inc:1030
+msgid "Password of the snapshot administrator."
 msgstr ""
 
-#: include/utils/class_msgPool.inc:296
-#, fuzzy, php-format
-msgid "'%s' are not allowed!"
-msgstr "不允许修改口令"
+#: include/class_core.inc:1041
+msgid ""
+"Method for user and group ID generation. Note: only the 'traditional' method "
+"is safe due to PHP limitations."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:299
-#, fuzzy, php-format
-msgid "The Field '%s' contains invalid characters!"
-msgstr "“姓名”字段包含无效字符。"
+#: include/class_core.inc:1050
+msgid "URI of server to be used for snapshots."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:306
-#, fuzzy, php-format
-msgid "Missing %s PHP extension!"
-msgstr "删除打印机扩展"
+#: include/class_core.inc:1059
+msgid "Enable transliteration of cyrillic characters for UID generation."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:336
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:123
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:83
-#: plugins/personal/generic/generic.tpl:251
-#: plugins/personal/generic/generic.tpl:269
-#: setup/class_setupStep_Migrate.inc:2869
+#: include/class_config.inc:168
 #, php-format
-msgid "Add"
-msgstr "添加"
+msgid "XML error in gosa.conf: %s at line %d"
+msgstr "XML 出错于 gosa.conf: %s ,行 %d"
 
-#: include/utils/class_msgPool.inc:336
-#, fuzzy, php-format
-msgid "Add %s"
-msgstr "添加"
+#: include/class_config.inc:367
+msgid "Cannot bind to LDAP!"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:342
-#, fuzzy, php-format
-msgid "Delete %s"
-msgstr "删除"
-
-#: include/utils/class_msgPool.inc:348
-#, fuzzy, php-format
-msgid "Set %s"
-msgstr "设置"
-
-#: include/utils/class_msgPool.inc:354
-#, fuzzy, php-format
-msgid "Edit..."
-msgstr "编辑"
-
-#: include/utils/class_msgPool.inc:354
-#, fuzzy, php-format
-msgid "Edit %s..."
-msgstr "编辑用户"
-
-#: include/utils/class_msgPool.inc:360
-msgid "Back"
-msgstr "返回"
-
-#: include/utils/class_msgPool.inc:380
-#, fuzzy, php-format
-msgid "This account has no valid %s extensions!"
-msgstr "该账户没有有效的 Gosa 扩展。"
+#: include/class_config.inc:711
+#, fuzzy
+msgid "sambaSID and/or sambaRidBase missing in the configuration!"
+msgstr "您的配置文件缺少 SID 和/或 RIDBASE!"
 
-#: include/utils/class_msgPool.inc:386
-#, fuzzy, php-format
-msgid ""
-"This account has %s settings enabled. You can disable them by clicking below."
-msgstr "这个账户已经启用 posix 功能。要禁用请点击下面按钮。"
+#: include/class_config.inc:1130
+#, fuzzy
+msgid "Configuration"
+msgstr "配置文件"
 
-#: include/utils/class_msgPool.inc:389 include/utils/class_msgPool.inc:396
-#, fuzzy, php-format
+#: include/class_config.inc:1130
 msgid ""
-"This account has %s settings enabled. To disable them, you'll need to remove "
-"the %s settings first!"
+"The configuration file you are using is outdated. Please move the GOsa "
+"configuration file away to run the GOsa setup again."
 msgstr ""
-"这个账户已经启用 unix 功能。要禁用,您需要先删除 samba / 环境变量账户。"
 
-#: include/utils/class_msgPool.inc:405
-#, fuzzy, php-format
+#: include/class_config.inc:1172 include/class_config.inc:1203
+#, php-format
 msgid ""
-"This account has %s settings disabled. You can enable them by clicking below."
-msgstr "这个账户已经启用 posix 功能。要启用请点击下面按钮。"
+"The snapshot functionality is enabled, but the required variable %s is not "
+"set."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:408 include/utils/class_msgPool.inc:415
-#, fuzzy, php-format
+#: include/class_config.inc:1185
+#, php-format
 msgid ""
-"This account has %s settings disabled. To enable them, you'll need to add "
-"the %s settings first!"
+"The snapshot functionality is enabled, but the required compression module "
+"is missing. Please install %s."
 msgstr ""
-"这个账户已经启用 unix 功能。要禁用,您需要先删除 samba / 环境变量账户。"
-
-#: include/utils/class_msgPool.inc:423
-#, fuzzy, php-format
-msgid "Add %s settings"
-msgstr "应用程序设置"
 
-#: include/utils/class_msgPool.inc:429
-#, fuzzy, php-format
-msgid "Remove %s settings"
-msgstr "Posix 设置"
+#: include/exporter/class_PDF.inc:24
+#, fuzzy
+msgid "Page"
+msgstr "呼机"
 
-#: include/utils/class_msgPool.inc:435
-msgid "Click the 'Edit' button below to change informations in this dialog"
-msgstr "点击下面的“编辑”按钮修改该对话框内的信息"
+#: include/exporter/class_cvsExporter.inc:48
+msgid "CSV"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "January"
-msgstr "一月"
+#: include/exporter/class_pdfExporter.inc:18
+msgid "No PDF export possible: there is no FPDF library installed."
+msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "February"
-msgstr "二月"
+#: include/exporter/class_pdfExporter.inc:145
+msgid "PDF"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:441
-msgid "March"
-msgstr "三月"
+#: include/class_jsonRPC.inc:38
+#, fuzzy, php-format
+msgid "The RPC connection (%s) specified for %s:%s is invalid: %s"
+msgstr "'UID' 赋值无效。"
 
-#: include/utils/class_msgPool.inc:441
-msgid "April"
-msgstr "四月"
+#: include/class_jsonRPC.inc:330
+#, fuzzy, php-format
+msgid "Unknown HTTP status code %s!"
+msgstr "未知 FAIstate %s"
 
-#: include/utils/class_msgPool.inc:442
-msgid "May"
-msgstr "五月"
+#: include/class_ItemSelector.inc:299 include/class_baseSelector.inc:235
+#: include/class_releaseSelector.inc:262
+msgid "Submit"
+msgstr "提交"
 
-#: include/utils/class_msgPool.inc:442
-msgid "June"
-msgstr "六月"
+#: include/class_CopyPasteHandler.inc:118
+#: include/class_CopyPasteHandler.inc:127
+#: include/class_CopyPasteHandler.inc:159
+#: include/class_CopyPasteHandler.inc:176
+#: include/class_CopyPasteHandler.inc:185
+#: include/class_CopyPasteHandler.inc:193
+#: include/class_CopyPasteHandler.inc:273
+#, fuzzy, php-format
+msgid "Copy and paste failed!"
+msgstr "拷贝和粘贴精灵"
 
-#: include/utils/class_msgPool.inc:442
-msgid "July"
-msgstr "七月"
+#: include/class_CopyPasteHandler.inc:118
+#, fuzzy, php-format
+msgid "Cannot set permission for %s"
+msgstr "无法创建文件 '%s'。"
 
-#: include/utils/class_msgPool.inc:442
-msgid "August"
-msgstr "八月"
+#: include/class_CopyPasteHandler.inc:159
+#, php-format
+msgid "'%s' is no valid LDAP object"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:442
-msgid "September"
-msgstr "九月"
+#: include/class_CopyPasteHandler.inc:176
+#, fuzzy, php-format
+msgid "No write permission in '%s'"
+msgstr "无法创建文件 '%s'。"
 
-#: include/utils/class_msgPool.inc:443
-msgid "October"
-msgstr "十月"
+#: include/class_CopyPasteHandler.inc:193
+#, fuzzy, php-format
+msgid "Cannot set permission for '%s'"
+msgstr "无法创建文件 '%s'。"
 
-#: include/utils/class_msgPool.inc:443
-msgid "November"
-msgstr "十一月"
+#: include/class_CopyPasteHandler.inc:396
+#, php-format
+msgid "These objects will be pasted: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:443
-msgid "December"
-msgstr "十二月"
+#: include/class_CopyPasteHandler.inc:420
+#, php-format
+msgid "This object will be pasted: %s"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:449
+#: include/class_CopyPasteHandler.inc:573
 #, fuzzy
-msgid "Sunday"
-msgstr "姓"
+msgid "Cannot paste"
+msgstr "无法粘贴"
 
-#: include/utils/class_msgPool.inc:449
+#: include/class_acl.inc:27 plugins/admin/acl/class_aclManagement.inc:25
 #, fuzzy
-msgid "Monday"
-msgstr "月"
-
-#: include/utils/class_msgPool.inc:449
-msgid "Tuesday"
-msgstr ""
+msgid "Access control"
+msgstr "访问选项"
 
-#: include/utils/class_msgPool.inc:449
+#: include/class_acl.inc:28
 #, fuzzy
-msgid "Wednesday"
-msgstr "星期三"
+msgid "Manage access control lists"
+msgstr "访问选项"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Thursday"
-msgstr ""
+#: include/class_acl.inc:125 include/class_acl.inc:613
+#: include/class_acl.inc:1033
+#, fuzzy, php-format
+msgid "All users"
+msgstr "用户"
 
-#: include/utils/class_msgPool.inc:449
-msgid "Friday"
+#: include/class_acl.inc:228
+#: plugins/generic/references/class_aclResolver.inc:63
+msgid "Reset ACLs"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:449
-msgid "Saturday"
-msgstr ""
+#: include/class_acl.inc:229 plugins/admin/acl/class_aclRole.inc:139
+#: plugins/generic/references/class_aclResolver.inc:64
+#, fuzzy
+msgid "One level"
+msgstr "日志级别"
 
-#: include/utils/class_msgPool.inc:456
+#: include/class_acl.inc:230 include/class_acl.inc:235
+#: plugins/admin/acl/class_aclRole.inc:140
+#: plugins/generic/references/class_aclResolver.inc:65
 #, fuzzy
-msgid "MySQL operation failed!"
-msgstr "Mysql 查询失败。"
+msgid "Current object"
+msgstr "创建新 FAI 对象"
 
-#: include/utils/class_msgPool.inc:464
+#: include/class_acl.inc:231 plugins/admin/acl/class_aclRole.inc:141
+#: plugins/generic/references/class_aclResolver.inc:66
 #, fuzzy
-msgid "read operation"
-msgstr "邮件选项"
+msgid "Complete subtree"
+msgstr "忽略子树"
 
-#: include/utils/class_msgPool.inc:464
-msgid "add operation"
+#: include/class_acl.inc:232 plugins/admin/acl/class_aclRole.inc:142
+#: plugins/generic/references/class_aclResolver.inc:67
+msgid "Complete subtree (permanent)"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:464
-#, fuzzy
-msgid "modify operation"
-msgstr "个人信息"
+#: include/class_acl.inc:233 include/class_acl.inc:236
+#: plugins/generic/references/class_aclResolver.inc:68
+msgid "Use ACL defined in role"
+msgstr ""
 
-#: include/utils/class_msgPool.inc:465
-#, fuzzy
-msgid "delete operation"
-msgstr "选择查看工作站"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:297
+#: plugins/personal/generic/class_user.inc:1676
+#: plugins/admin/users/class_userManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:185
+msgid "Users"
+msgstr "用户"
 
-#: include/utils/class_msgPool.inc:465
-#, fuzzy
-msgid "search operation"
-msgstr "账号过期于"
+#: include/class_acl.inc:239 setup/class_setupStep_Migrate.inc:300
+#: plugins/admin/groups/class_group.inc:1041
+#: plugins/admin/groups/class_groupManagement.inc:25
+#: plugins/generic/references/class_aclResolver.inc:177
+msgid "Groups"
+msgstr "用户组"
 
-#: include/utils/class_msgPool.inc:465
+#: include/class_acl.inc:254
 #, fuzzy
-msgid "authentication"
-msgstr "Nagios 鉴权"
+msgid "Section"
+msgstr "行动"
 
-#: include/utils/class_msgPool.inc:468
-#, fuzzy, php-format
-msgid "LDAP %s failed!"
-msgstr "Mysql 查询失败。"
-
-#: include/utils/class_msgPool.inc:470
+#: include/class_acl.inc:264
 #, fuzzy
-msgid "LDAP operation failed!"
-msgstr "Mysql 查询失败。"
+msgid "Used"
+msgstr "用户"
 
-#: include/utils/class_msgPool.inc:485
+#: include/class_acl.inc:280 plugins/admin/ogroups/class_ogroup.inc:865
 #, fuzzy
-msgid "Upload failed!"
-msgstr "用户登录失败。LDAP 服务器返回 '%s'。"
+msgid "Member"
+msgstr "成员"
 
-#: include/utils/class_msgPool.inc:488
-#, fuzzy, php-format
-msgid "Upload failed: %s"
-msgstr "Logging DB 用户"
+#: include/class_acl.inc:280 plugins/admin/acl/class_aclRole.inc:182
+#: plugins/admin/acl/class_aclRole.inc:744
+#, fuzzy
+msgid "Permissions"
+msgstr "允许"
 
-#: include/utils/class_msgPool.inc:495
-msgid "Communication failure with the infrastructure service!"
+#: include/class_acl.inc:574
+msgid "No ACL settings for this category!"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:497
+#: include/class_acl.inc:577
 #, php-format
-msgid "Communication failure with the infrastructure service: %s"
+msgid "ACLs for: %s"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:504 include/utils/class_msgPool.inc:507
+#: include/class_acl.inc:583 include/class_acl.inc:587
+#, fuzzy
+msgid "category ACL"
+msgstr "分类"
+
+#: include/class_acl.inc:639
 #, php-format
-msgid "This '%s' is still in use by this object: %s"
+msgid "Edit ACL for '%s' with scope '%s'"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:510
-#, fuzzy, php-format
-msgid "This '%s' is still in use."
-msgstr "这个共享不能被删除,因为仍然被 %d 个用户使用:"
+#: include/class_acl.inc:801 include/class_acl.inc:808
+#, fuzzy
+msgid "Show/hide advanced settings"
+msgstr "高级电话设置"
 
-#: include/utils/class_msgPool.inc:512
-#, fuzzy, php-format
-msgid "This '%s' is still in use by these objects: %s"
-msgstr "这个共享不能被删除,因为仍然被 %d 个用户使用:"
+#: include/class_acl.inc:819
+#, fuzzy
+msgid "Create objects"
+msgstr "创建新 FAI 对象"
 
-#: include/utils/class_msgPool.inc:518
-#, php-format
-msgid "File '%s' does not exist!"
+#: include/class_acl.inc:820
+#, fuzzy
+msgid "Move objects"
+msgstr "成员对象"
+
+#: include/class_acl.inc:821
+#, fuzzy
+msgid "Remove objects"
+msgstr "成员对象"
+
+#: include/class_acl.inc:823
+#: plugins/generic/references/class_aclResolver.inc:307
+msgid "Restrict changes to user's own object"
 msgstr ""
 
-#: include/utils/class_msgPool.inc:524
-#, fuzzy, php-format
-msgid "Cannot open file '%s' for reading!"
-msgstr "无法打开文件 '%s'。"
+#: include/class_acl.inc:827 include/class_acl.inc:936
+#: include/class_acl.inc:940
+#: plugins/generic/references/class_aclResolver.inc:309
+msgid "read"
+msgstr "读"
 
-#: include/utils/class_msgPool.inc:530
-#, fuzzy, php-format
-msgid "Cannot open file '%s' for writing!"
-msgstr "无法打开文件 '%s'。"
+#: include/class_acl.inc:828 include/class_acl.inc:938
+#: include/class_acl.inc:941
+#: plugins/generic/references/class_aclResolver.inc:310
+msgid "write"
+msgstr "写"
 
-#: include/utils/class_msgPool.inc:536
-#, php-format
-msgid ""
-"The value for '%s' is currently unconfigured or invalid, please check your "
-"configuration file!"
-msgstr ""
+#: include/class_acl.inc:832
+#, fuzzy
+msgid "Complete object"
+msgstr "成员对象"
 
-#: include/utils/class_msgPool.inc:542
+#: include/class_acl.inc:984
 #, fuzzy, php-format
-msgid "Cannot delete file '%s'!"
-msgstr "无法打开文件 '%s'。"
+msgid "Unknown ACL type '%s'!"
+msgstr "未知 FAIstate %s"
 
-#: include/utils/class_msgPool.inc:548
+#: include/class_acl.inc:1029
 #, fuzzy, php-format
-msgid "Cannot create folder '%s'!"
-msgstr "转到根部门"
+msgid "Unknown entry '%s'!"
+msgstr "未知 FAIstate %s"
 
-#: include/utils/class_msgPool.inc:554
+#: include/class_acl.inc:1093 include/class_acl.inc:1095
 #, fuzzy, php-format
-msgid "Cannot delete folder '%s'!"
-msgstr "无法打开文件 '%s'。"
+msgid "ACL role: %s"
+msgstr "MAC 地址"
 
-#: include/utils/class_msgPool.inc:560
-#, fuzzy, php-format
-msgid "Checking for %s support"
-msgstr "检查 iconv 支持"
+#: include/class_acl.inc:1095
+#, fuzzy
+msgid "unknown ACL role"
+msgstr "! 未知 id"
 
-#: include/utils/class_msgPool.inc:566
+#: include/class_acl.inc:1103
 #, php-format
-msgid "Install and activate the %s PHP module."
-msgstr ""
-
-#: include/utils/class_msgPool.inc:572
-#, php-format
-msgid ""
-"Cannot initialize class '%s'! Maybe there is a plugin missing in your gosa "
-"setup?"
-msgstr ""
-
-#: include/utils/class_msgPool.inc:578
-msgid ""
-"The supplied base is not valid and has been reset to the previous value!"
+msgid "Contains settings for these objects: %s"
 msgstr ""
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-msgid "Performance warning"
-msgstr ""
+#: include/class_acl.inc:1114 ihtml/themes/default/acl.tpl:53
+#: ihtml/themes/default/acl.tpl:65
+msgid "Members"
+msgstr "成员"
 
-#: include/class_ldap.inc:233 include/class_ldap.inc:266
-#, php-format
-msgid "LDAP performance is poor: last query took about %.2fs!"
-msgstr ""
+#: include/class_acl.inc:1120
+#, fuzzy
+msgid "inactive"
+msgstr "活动"
 
-#: include/class_ldap.inc:693
-#, php-format
-msgid ""
-"Cannot automatically create subtrees with RDN '%s': no object class found!"
-msgstr ""
+#: include/class_acl.inc:1120
+#, fuzzy
+msgid "No members"
+msgstr "组成员"
 
-#: include/class_ldap.inc:744
-#, php-format
-msgid "Cannot automatically create subtrees with RDN '%s': not supported"
-msgstr ""
+#: include/class_acl.inc:1291
+#, fuzzy
+msgid "Access control list"
+msgstr "访问选项"
 
-#: include/class_ldap.inc:831
-#, php-format
-msgid "while operating on '%s' using LDAP server '%s'"
-msgstr "当操作 '%s' 使用 LDAP 服务器 '%s' 时"
+#: include/class_acl.inc:1297
+#, fuzzy
+msgid "ACL roles"
+msgstr "MAC 地址"
 
-#: include/class_ldap.inc:833
-#, php-format
-msgid "while operating on LDAP server %s"
-msgstr "当操作  LDAP 服务器 '%s' 时"
+#: include/class_acl.inc:1300
+#, fuzzy
+msgid "ACL Entries"
+msgstr "添加分类"
 
-#: include/class_ldap.inc:1055
+#: include/class_socketClient.inc:108
 #, php-format
-msgid ""
-"This is not a valid DN: '%s'. A block for import should begin with 'dn: ...' "
-"in line %s"
-msgstr "这不是一条有效的 DN: '%s'。导入数据应该以 'dn:...' 开始于行 %s"
+msgid "Socket connection to %s:%s failed: %s"
+msgstr ""
 
-#: include/class_ldap.inc:1084
+#: include/class_socketClient.inc:191
 #, php-format
-msgid "Error while importing dn: '%s', please check your LDIF from line %s on!"
-msgstr "导入 dn: '%s' 时错误,请从行 %s 开始检查您的 LDIF!"
-
-#: include/class_log.inc:87
-#, fuzzy, php-format
-msgid "Logging failed: %s"
-msgstr "Logging DB 用户"
+msgid "Socket timeout of %s seconds reached!"
+msgstr ""
 
-#: include/class_log.inc:102
+#: include/class_userFilterEditor.inc:254
 #, php-format
-msgid "Invalid option '%s' specified!"
+msgid "Error in filter #%s: %s opening and %s closing brackets detected!"
 msgstr ""
 
-#: include/class_log.inc:106
-#, fuzzy
-msgid "Specified objectType is empty or invalid!"
-msgstr "指定的 branch 名称无效。"
-
 #: include/class_gosaSupportDaemon.inc:112
 msgid "GOsa support daemon"
 msgstr ""
@@ -2529,4272 +2564,5508 @@ msgstr "无法创建文件 '%s'。"
 msgid "Cannot remove entry %s!"
 msgstr "未知 FAIstate %s"
 
-#: include/class_config.inc:152
-#, php-format
-msgid "XML error in gosa.conf: %s at line %d"
-msgstr "XML 出错于 gosa.conf: %s ,行 %d"
-
-#: include/class_config.inc:318
-#, fuzzy
-msgid "Cannot bind to LDAP. Please contact the system administrator."
-msgstr "无法绑定 LDAP。请联系系统管理员。"
-
-#: include/class_config.inc:695
-#, fuzzy
-msgid "sambaSID and/or sambaRidBase missing in the configuration!"
-msgstr "您的配置文件缺少 SID 和/或 RIDBASE!"
-
-#: include/class_config.inc:1105
-#, fuzzy
-msgid "Configuration"
-msgstr "配置文件"
-
-#: include/class_config.inc:1105
+#: include/class_GOsaRegistration.inc:127
 msgid ""
-"The configuration file you are using seems to be outdated. Please move the "
-"GOsa configuration file away to run the GOsa setup again."
+"UNIX-timestamp pointing to the date GOsa will ask for a registration again "
+"(-1 to disable)"
 msgstr ""
 
-#: include/class_pluglist.inc:58
-msgid "All objects in this category"
+#: include/class_SnapshotHandler.inc:45 include/class_SnapshotHandler.inc:76
+#, php-format
+msgid ""
+"The snapshot functionality is enabled but the required variable %s is not "
+"set!"
 msgstr ""
 
-#: include/class_pluglist.inc:183
-msgid "The configuration format has changed. Please re-run setup!"
+#: include/class_SnapshotHandler.inc:58
+#, php-format
+msgid ""
+"The snapshot functionality is enabled but the required PHP compression "
+"module is missing: %s!"
 msgstr ""
 
-#: include/class_pluglist.inc:202 include/class_pluglist.inc:203
-#: include/class_pluglist.inc:316
-#: plugins/admin/departments/class_department.inc:145
-#: plugins/personal/generic/class_user.inc:273
-#: plugins/personal/generic/class_user.inc:1872
-msgid "Unknown"
-msgstr "未知"
-
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:127
-#: include/class_CopyPasteHandler.inc:159
-#: include/class_CopyPasteHandler.inc:176
-#: include/class_CopyPasteHandler.inc:185
-#: include/class_CopyPasteHandler.inc:193
-#: include/class_CopyPasteHandler.inc:273
-#, fuzzy, php-format
-msgid "Copy and paste failed!"
-msgstr "拷贝和粘贴精灵"
+#: ihtml/themes/default/userFilterEditor.tpl:1
+#: ihtml/themes/default/userFilterEditor.tpl:5
+#, fuzzy
+msgid "Filter editor"
+msgstr "终端服务器"
 
-#: include/class_CopyPasteHandler.inc:118
-#: include/class_CopyPasteHandler.inc:193
-#, fuzzy, php-format
-msgid "Cannot set permission for '%s'"
-msgstr "无法创建文件 '%s'。"
+#: ihtml/themes/default/userFilterEditor.tpl:8
+#, fuzzy
+msgid "Filter properties"
+msgstr "编辑通用属性"
 
-#: include/class_CopyPasteHandler.inc:159
-#, php-format
-msgid "'%s' is no vaild LDAP object"
-msgstr ""
+#: ihtml/themes/default/userFilterEditor.tpl:40
+#: plugins/personal/generic/class_user.inc:1664
+#: plugins/personal/generic/generic.tpl:604
+msgid "Public visible"
+msgstr "公开"
 
-#: include/class_CopyPasteHandler.inc:176
-#, fuzzy, php-format
-msgid "No write permission in '%s'"
-msgstr "无法创建文件 '%s'。"
+#: ihtml/themes/default/userFilterEditor.tpl:45
+#, fuzzy
+msgid "Enabled"
+msgstr "禁用"
 
-#: include/class_CopyPasteHandler.inc:396
-#, php-format
-msgid "These objects will be pasted: %s"
+#: ihtml/themes/default/userFilterEditor.tpl:49
+msgid "Categories where the filter is visible"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:420
-#, php-format
-msgid "This object will be pasted: %s"
+#: ihtml/themes/default/userFilterEditor.tpl:69
+#, fuzzy
+msgid "Query"
+msgstr "用户"
+
+#: ihtml/themes/default/acl.tpl:7 plugins/admin/acl/acl_role.tpl:3
+#: plugins/admin/acl/acl_role.tpl:4
+msgid "Assigned ACL for current entry"
 msgstr ""
 
-#: include/class_CopyPasteHandler.inc:572
+#: ihtml/themes/default/acl.tpl:10 plugins/admin/acl/acl_role.tpl:38
 #, fuzzy
-msgid "Cannot paste"
-msgstr "无法粘贴"
+msgid "New ACL"
+msgstr "新"
 
-#: include/class_msg_dialog.inc:124
+#: ihtml/themes/default/acl.tpl:19 plugins/admin/acl/acl_role.tpl:45
 #, fuzzy
-msgid "Please fix the above error and reload the page."
-msgstr "请看一下 GOsa 日志文件。"
+msgid "ACL type"
+msgstr "分类类型"
 
-#: plugins/generic/references/class_reference.inc:41
-#: plugins/admin/ogroups/class_ogroup.inc:966
-#: plugins/admin/groups/class_group.inc:1174
-#: plugins/admin/users/class_userManagement.inc:870
-#: plugins/admin/departments/class_department.inc:656
-#: plugins/personal/generic/class_user.inc:37
-#: plugins/personal/generic/class_user.inc:1668
-#: plugins/personal/posix/generic.tpl:4 setup/setup_feedback.tpl:55
-msgid "Generic"
-msgstr "通用配置"
+#: ihtml/themes/default/acl.tpl:23 ihtml/themes/default/acl.tpl:28
+#: plugins/admin/acl/acl_role.tpl:45
+#, fuzzy
+msgid "Select an ACL type"
+msgstr "选择一个位置"
 
-#: plugins/generic/references/class_reference.inc:43
-#: plugins/personal/posix/class_posixAccount.inc:37
-msgid "UNIX"
-msgstr "UNIX"
-
-#: plugins/generic/references/class_reference.inc:45
-#: plugins/admin/ogroups/tabs_ogroups.inc:148
-#: plugins/admin/groups/class_groupManagement.inc:164
-#: plugins/admin/users/class_userManagement.inc:877
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:70
-msgid "Mail"
-msgstr "邮件"
+#: ihtml/themes/default/acl.tpl:40
+#, fuzzy
+msgid "Additional filter options"
+msgstr "应用程序设置"
 
-#: plugins/generic/references/class_reference.inc:47
-#: plugins/generic/references/class_reference.inc:49
-#: plugins/admin/groups/class_groupManagement.inc:172
-#: plugins/admin/users/class_userManagement.inc:882
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:78
-msgid "Samba"
-msgstr "Samba"
+#: ihtml/themes/default/acl.tpl:54
+#, fuzzy
+msgid "Member selection"
+msgstr "组设置"
 
-#: plugins/generic/references/class_reference.inc:51
-#: plugins/admin/users/class_userManagement.inc:894
-msgid "FAX"
-msgstr "传真"
+#: ihtml/themes/default/acl.tpl:57
+msgid "Use members from"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:53
-msgid "Proxy"
-msgstr "代理"
+#: ihtml/themes/default/acl.tpl:69 ihtml/themes/default/acl.tpl:74
+msgid "List message possible targets"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:55
-msgid "FTP"
-msgstr "FTP"
+#: ihtml/themes/default/acl.tpl:92 ihtml/themes/default/acl.tpl:98
+msgid "List message recipients"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:57
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
-#: plugins/admin/ogroups/class_ogroupManagement.inc:184
-#: plugins/admin/ogroups/ogroup-list.xml:79
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
-#: plugins/admin/groups/group-list.xml:15
-#: plugins/admin/groups/group-list.xml:96
-#: plugins/personal/posix/groupSelect/group-list.xml:15
-msgid "Group"
-msgstr "组"
+#: ihtml/themes/default/acl.tpl:112 plugins/admin/acl/acl_role.tpl:51
+#, fuzzy
+msgid "List of available ACL categories"
+msgstr "可用软件包列表"
 
-#: plugins/generic/references/class_reference.inc:59
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
-#: plugins/admin/ogroups/class_ogroupManagement.inc:186
-#: plugins/admin/departments/dep-list.xml:55
-#: plugins/admin/departments/dep-list.xml:71
-#: plugins/admin/departments/dep-list.xml:138
-#: plugins/admin/departments/class_departmentManagement.inc:249
-#: plugins/personal/generic/class_user.inc:1695
-#: plugins/personal/generic/generic.tpl:307
-msgid "Department"
-msgstr "部门"
+#: ihtml/themes/default/acl.tpl:120
+#, fuzzy
+msgid "ACL for this object"
+msgstr "检查 iconv 支持"
 
-#: plugins/generic/references/class_reference.inc:61
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
-#: plugins/admin/ogroups/class_ogroupManagement.inc:188
-#: plugins/admin/groups/class_groupManagement.inc:180
-#: plugins/admin/users/class_userManagement.inc:898
-#: plugins/admin/departments/generic.tpl:106
-#: plugins/admin/departments/class_department.inc:370
-#: plugins/admin/departments/organization.tpl:105
-#: plugins/personal/generic/class_user.inc:1356
-#: plugins/personal/generic/class_user.inc:1819
-#: plugins/personal/generic/generic.tpl:398
-#: plugins/personal/generic/generic.tpl:579
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:86
-msgid "Phone"
-msgstr "电话"
+#: ihtml/themes/default/acl.tpl:126
+#, fuzzy
+msgid "Available roles"
+msgstr "可用的应用程序"
 
-#: plugins/generic/references/class_reference.inc:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:185
-msgid "Application"
-msgstr "应用程序"
+#: ihtml/themes/default/removeEntries.tpl:4
+#: plugins/addons/propertyEditor/property-list.tpl:7
+#, fuzzy
+msgid "Attention"
+msgstr "Nagios 鉴权"
 
-#: plugins/generic/references/class_reference.inc:65
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
-#: plugins/admin/ogroups/class_ogroupManagement.inc:187
-#: plugins/personal/posix/trustSelect/trust-list.xml:14
-#: setup/setup_config2.tpl:219 setup/setup_config2.tpl:264
-msgid "Server"
-msgstr "服务器"
+#: ihtml/themes/default/removeEntries.tpl:14
+#, fuzzy
+msgid ""
+"If you're sure you want to do this press 'Delete' to continue or 'Cancel' to "
+"abort."
+msgstr "所以,如果您确定,请按“删除”继续,否则按“取消”退出。"
 
-#: plugins/generic/references/class_reference.inc:67
-msgid "Thin Client"
-msgstr "瘦客户机"
+#: ihtml/themes/default/userFilter.tpl:1
+#, fuzzy
+msgid "List of defined filters"
+msgstr "配置文件"
 
-#: plugins/generic/references/class_reference.inc:69
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
-#: plugins/admin/ogroups/class_ogroupManagement.inc:189
-#: plugins/personal/posix/trustSelect/trust-list.xml:22
-msgid "Workstation"
-msgstr "工作站"
+#: ihtml/themes/default/snapshotdialog.tpl:3
+msgid "Restoring object snapshots"
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:71
-#: plugins/admin/ogroups/ogroup-list.xml:15
-msgid "Object group"
-msgstr "对象组"
+#: ihtml/themes/default/snapshotdialog.tpl:6
+msgid ""
+"This procedure will restore a snapshot of the selected object. It will "
+"replace the existing object after pressing the restore button."
+msgstr ""
 
-#: plugins/generic/references/class_reference.inc:73
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
-#: plugins/admin/ogroups/class_ogroupManagement.inc:192
-msgid "Printer"
-msgstr "打印机"
+#: ihtml/themes/default/snapshotdialog.tpl:9
+msgid ""
+"DNS configuration and some database entries cannot be restored. They need to "
+"be recreated manually."
+msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Object name"
-msgstr "对象名称"
+#: ihtml/themes/default/snapshotdialog.tpl:12
+msgid ""
+"Don't forget to check references to other objects, for example does the "
+"selected printer still exists ?"
+msgstr ""
 
-#: plugins/generic/references/contents.tpl:11
-msgid "Contents"
-msgstr "内容"
+#: ihtml/themes/default/snapshotdialog.tpl:29
+#, fuzzy
+msgid "There is no snapshot available that can be restored"
+msgstr "没有可用的 mysql 扩展,请检查您的 php 设置。"
 
-#: plugins/generic/references/contents.tpl:18
-msgid "This object has no relationship to other objects."
-msgstr "这个对象和其他对象没有关系。"
+#: ihtml/themes/default/snapshotdialog.tpl:31
+msgid "Choose a snapshot and click the folder image, to restore the snapshot"
+msgstr ""
 
-#: plugins/generic/welcome/main.inc:26
-#, php-format
-msgid "Welcome %s!"
-msgstr "欢迎 %s!"
+#: ihtml/themes/default/snapshotdialog.tpl:50
+#, fuzzy
+msgid "Creating object snapshots"
+msgstr "创建新对象组"
 
-#: plugins/generic/welcome/welcome.tpl:4
+#: ihtml/themes/default/snapshotdialog.tpl:53
 msgid ""
-"This is the GOsa main menu. You can select your tasks from the menu on the "
-"left, or by choosing one of the pictograms below. All changes apply directly "
-"to your companies LDAP server."
+"This procedure will create a snapshot of the selected object. It will be "
+"stored inside a special branch of your directory system and can be restored "
+"later on."
 msgstr ""
-"这是 Gosa 主菜单。您可以从左侧的菜单中选择,或者点击下面的图标。所有改变都将"
-"直接修改您公司的 LDAP 服务器。"
 
-#: plugins/generic/welcome/welcome.tpl:8
+#: ihtml/themes/default/snapshotdialog.tpl:56
 msgid ""
-"Use 'Sign out' on the upper left to close the connection and 'Main' to get "
-"back to the pictogram view."
-msgstr "选择上方左侧的“退出”按钮断开链接,选择“首页”回到图标程序界面。"
-
-#: plugins/generic/welcome/welcome.tpl:15
-msgid "The GOsa team"
-msgstr "GOsa 团队"
+"Remember that database entries, DNS configurations and possibly created "
+"zones in server extensions will not be stored in the snapshot."
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
-#: plugins/admin/groups/userSelect/user-list.xml:10
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
-#: plugins/personal/posix/trustSelect/trust-list.xml:10
-#: plugins/personal/posix/groupSelect/group-list.xml:11
+#: ihtml/themes/default/snapshotdialog.tpl:71
 #, fuzzy
-msgid "Please select the desired entries"
-msgstr "请选择一个打印机或者取消。"
+msgid "Time stamp"
+msgstr "过期"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
-#: plugins/admin/ogroups/class_ogroupManagement.inc:191
-#: plugins/personal/posix/trustSelect/trust-list.xml:30
-msgid "Terminal"
-msgstr "终端"
+#: ihtml/themes/default/snapshotdialog.tpl:80
+msgid "Reason for generating this snapshot"
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
-#: plugins/admin/ogroups/class_ogroupManagement.inc:183
-#: plugins/admin/groups/userSelect/user-list.xml:14
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
-#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
-#: setup/setup_config2.tpl:228 setup/setup_config2.tpl:273
-msgid "User"
-msgstr "用户"
+#: ihtml/themes/default/snapshotdialog.tpl:88
+#: plugins/admin/departments/class_department.inc:564
+#: plugins/admin/departments/class_department.inc:646
+#: plugins/admin/users/template.tpl:49
+msgid "Continue"
+msgstr "继续"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:97
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:29
-#: plugins/admin/ogroups/class_ogroup.inc:768
-#: plugins/admin/ogroups/class_ogroup.inc:783
-#: plugins/admin/ogroups/class_ogroup.inc:787
-#: plugins/admin/ogroups/class_ogroup.inc:975
-#: plugins/admin/ogroups/ogroup-filter.tpl:29
-#: plugins/admin/ogroups/ogroup-list.xml:41
-#: plugins/admin/groups/userSelect/user-filter.tpl:17
-#: plugins/admin/groups/group-filter.tpl:21
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:17
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:49
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:21
-#: plugins/admin/groups/group-list.xml:58
-#: plugins/admin/groups/class_group.inc:1045
-#: plugins/admin/groups/class_group.inc:1056
-#: plugins/admin/groups/class_group.inc:1058
-#: plugins/admin/groups/class_group.inc:1075
-#: plugins/admin/groups/class_group.inc:1089
-#: plugins/admin/groups/class_group.inc:1096
-#: plugins/admin/groups/class_group.inc:1183
-#: plugins/admin/users/class_userManagement.inc:538
-#: plugins/admin/users/class_userManagement.inc:585
-#: plugins/admin/users/user-filter.tpl:24
-#: plugins/admin/departments/class_domain.inc:47
-#: plugins/admin/departments/class_domain.inc:49
-#: plugins/admin/departments/class_domain.inc:54
-#: plugins/admin/departments/class_domain.inc:56
-#: plugins/admin/departments/class_domain.inc:58
-#: plugins/admin/departments/class_domain.inc:90
-#: plugins/admin/departments/dep-filter.tpl:13
-#: plugins/admin/departments/class_localityGeneric.inc:48
-#: plugins/admin/departments/class_localityGeneric.inc:50
-#: plugins/admin/departments/class_localityGeneric.inc:55
-#: plugins/admin/departments/class_localityGeneric.inc:57
-#: plugins/admin/departments/class_localityGeneric.inc:59
-#: plugins/admin/departments/class_organizationGeneric.inc:79
-#: plugins/admin/departments/class_organizationGeneric.inc:81
-#: plugins/admin/departments/class_organizationGeneric.inc:86
-#: plugins/admin/departments/class_organizationGeneric.inc:88
-#: plugins/admin/departments/class_organizationGeneric.inc:90
-#: plugins/admin/departments/class_countryGeneric.inc:47
-#: plugins/admin/departments/class_countryGeneric.inc:49
-#: plugins/admin/departments/class_countryGeneric.inc:54
-#: plugins/admin/departments/class_countryGeneric.inc:56
-#: plugins/admin/departments/class_countryGeneric.inc:58
-#: plugins/admin/departments/class_dcObject.inc:47
-#: plugins/admin/departments/class_dcObject.inc:49
-#: plugins/admin/departments/class_dcObject.inc:54
-#: plugins/admin/departments/class_dcObject.inc:56
-#: plugins/admin/departments/class_dcObject.inc:58
-#: plugins/admin/departments/class_dcObject.inc:90
-#: plugins/admin/departments/class_department.inc:349
-#: plugins/admin/departments/class_department.inc:351
-#: plugins/admin/departments/class_department.inc:356
-#: plugins/admin/departments/class_department.inc:363
-#: plugins/admin/departments/class_department.inc:367
-#: plugins/admin/acl/class_aclRole.inc:733
-#: plugins/admin/acl/class_aclRole.inc:745
-#: plugins/admin/acl/class_aclRole.inc:755 plugins/admin/acl/acl-list.xml:49
-#: plugins/admin/acl/paste_role.tpl:4 plugins/admin/acl/acl-filter.tpl:21
-#: plugins/admin/acl/acl_role.tpl:7
-#: plugins/personal/generic/class_user.inc:1318
-#: plugins/personal/generic/class_user.inc:1336
-#: plugins/personal/generic/class_user.inc:1378
-#: plugins/personal/generic/class_user.inc:1834
-#: plugins/personal/posix/trustSelect/trust-list.xml:56
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:23
-#: plugins/personal/posix/groupSelect/group-filter.tpl:21
-#: plugins/personal/posix/groupSelect/group-list.xml:41
-#: setup/setup_migrate.tpl:283 setup/setup_feedback.tpl:31
-msgid "Name"
-msgstr "名称"
+#: ihtml/themes/default/password.tpl:5
+#, fuzzy
+msgid "Change your password"
+msgstr "修改口令"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:13
-#: plugins/admin/ogroups/ogroup-list.tpl:13
-#: plugins/admin/ogroups/class_ogroup.inc:976
-#: plugins/admin/ogroups/generic.tpl:26
-#: plugins/admin/groups/userSelect/user-list.tpl:13
-#: plugins/admin/groups/generic.tpl:39
-#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:13
-#: plugins/admin/groups/group-list.tpl:13
-#: plugins/admin/groups/class_group.inc:1185
-#: plugins/admin/users/user-list.tpl:13
-#: plugins/admin/departments/locality.tpl:28
-#: plugins/admin/departments/generic.tpl:39
-#: plugins/admin/departments/class_domain.inc:92
-#: plugins/admin/departments/class_localityGeneric.inc:94
-#: plugins/admin/departments/class_organizationGeneric.inc:125
-#: plugins/admin/departments/class_countryGeneric.inc:94
-#: plugins/admin/departments/class_dcObject.inc:93
-#: plugins/admin/departments/domain.tpl:28
-#: plugins/admin/departments/country.tpl:28
-#: plugins/admin/departments/dcObject.tpl:28
-#: plugins/admin/departments/class_department.inc:668
-#: plugins/admin/departments/dep-list.tpl:13
-#: plugins/admin/departments/organization.tpl:39
-#: plugins/admin/acl/acl-list.tpl:13 plugins/admin/acl/class_aclRole.inc:734
-#: plugins/admin/acl/acl_role.tpl:27
-#: plugins/personal/generic/class_user.inc:1688
-#: plugins/personal/generic/generic.tpl:164
-#: plugins/personal/posix/trustSelect/trust-list.tpl:13
-#: plugins/personal/posix/groupSelect/group-list.tpl:13
-#: setup/setup_ldap.tpl:55
-msgid "Base"
-msgstr "位置"
+#: ihtml/themes/default/password.tpl:61
+msgid "Your password has been changed successfully."
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:3
-#: plugins/admin/ogroups/ogroup-filter.tpl:3
-#: plugins/admin/groups/userSelect/user-filter.tpl:3
-#: plugins/admin/groups/group-filter.tpl:3
-#: plugins/admin/groups/singleUserSelect/singleUser-filter.tpl:3
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:3
-#: plugins/admin/users/user-filter.tpl:3
-#: plugins/admin/departments/dep-filter.tpl:3
-#: plugins/admin/acl/acl-filter.tpl:3
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:3
-#: plugins/personal/posix/groupSelect/group-filter.tpl:3
+#: ihtml/themes/default/password.tpl:65 html/main.php:220
+#: plugins/personal/password/class_password.inc:155
+#: plugins/personal/password/class_password.inc:158
+#: plugins/personal/password/class_password.inc:161
+#: plugins/admin/users/class_userManagement.inc:400
 #, fuzzy
-msgid "Filter"
-msgstr "过滤器"
+msgid "Password change"
+msgstr "不允许修改口令"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:11
-#, fuzzy
-msgid "Show department"
-msgstr "显示部门"
+#: ihtml/themes/default/password.tpl:72
+msgid ""
+"Enter the current password and the new password (twice) in the fields below "
+"and press the 'Set password' button."
+msgstr ""
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:12
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:11
-#, fuzzy
-msgid "Show users"
-msgstr "显示服务器"
+#: ihtml/themes/default/password.tpl:74
+#: plugins/personal/password/class_password.inc:26
+#: plugins/admin/users/user-list.xml:128 plugins/admin/users/user-list.xml:230
+msgid "Change password"
+msgstr "修改口令"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:13
-#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl:12
-#, fuzzy
-msgid "Show groups"
-msgstr "显示 samba 用户组"
+#: ihtml/themes/default/password.tpl:77 ihtml/themes/default/password.tpl:79
+msgid "Directory"
+msgstr "目录"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:15
+#: ihtml/themes/default/password.tpl:86 ihtml/themes/default/password.tpl:90
+#: ihtml/themes/default/login.tpl:37 ihtml/themes/default/login.tpl:40
 #, fuzzy
-msgid "Show server"
-msgstr "显示服务器"
+msgid "User name"
+msgstr "用户名"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:16
-#, fuzzy
-msgid "Show workstation"
-msgstr "显示工作站"
+#: ihtml/themes/default/password.tpl:97
+#: plugins/personal/myaccount/password.tpl:12
+#: plugins/personal/myaccount/password.tpl:41
+#: plugins/personal/password/password.tpl:18
+#: plugins/personal/password/password.tpl:47
+msgid "Current password"
+msgstr "当前口令"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:17
-#, fuzzy
-msgid "Show terminal"
-msgstr "显示终端"
+#: ihtml/themes/default/password.tpl:103
+#: plugins/personal/myaccount/password.tpl:18
+#: plugins/personal/myaccount/password.tpl:71
+#: plugins/personal/password/password.tpl:24
+#: plugins/personal/password/password.tpl:78
+#: plugins/admin/users/password.tpl:13 plugins/admin/users/password.tpl:65
+#: plugins/admin/users/class_userManagement.inc:319
+msgid "New password"
+msgstr "新口令"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:19
+#: ihtml/themes/default/password.tpl:110
+#: plugins/personal/myaccount/password.tpl:25
+#: plugins/personal/myaccount/password.tpl:78
+#: plugins/personal/password/password.tpl:31
+#: plugins/personal/password/password.tpl:85
+#: plugins/admin/users/password.tpl:20 plugins/admin/users/password.tpl:72
+msgid "Repeat new password"
+msgstr "重复新口令"
+
+#: ihtml/themes/default/password.tpl:117
+#: plugins/personal/myaccount/password.tpl:31
+#: plugins/personal/myaccount/password.tpl:84
+#: plugins/personal/password/password.tpl:37
+#: plugins/personal/password/password.tpl:91
 #, fuzzy
-msgid "Show printer"
-msgstr "显示打印机"
+msgid "Password strength"
+msgstr "口令存储"
 
-#: plugins/admin/ogroups/objectSelect/selectObject-filter.tpl:20
+#: ihtml/themes/default/password.tpl:131
 #, fuzzy
-msgid "Show phone"
-msgstr "显示软件包"
+msgid "Click here to change your password"
+msgstr "点击这里来修改您的口令"
 
-#: plugins/admin/ogroups/remove.tpl:6
-msgid ""
-"Please double check if you really want to do this since there is no way for "
-"GOsa to get your data back."
-msgstr "请再次检查您是否要这么做,因为 GOsa 没有办法将您的数据找回。"
+#: ihtml/themes/default/password.tpl:131
+#: plugins/personal/myaccount/password.tpl:96
+#: plugins/personal/password/password.tpl:103
+#: plugins/admin/users/password.tpl:101
+msgid "Set password"
+msgstr "设置口令"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:25
-#: plugins/admin/ogroups/class_ogroup.inc:972
-msgid "Object groups"
-msgstr "对象组"
+#: ihtml/themes/default/islocked.tpl:4
+msgid "Locking conflict detected"
+msgstr "检测到锁定冲突"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+#: ihtml/themes/default/islocked.tpl:14
 #, fuzzy
-msgid "Manage object groups"
-msgstr "对象组名称"
+msgid ""
+"If this lock detection is false, the other person has obviously closed the "
+"web browser during the edit operation. You may want to take over the lock by "
+"pressing the 'Edit anyway' button."
+msgstr ""
+"如果锁检查失败,明显的是另外的人在进行编辑操作时关闭了浏览器。您可以通过按“仍"
+"然编辑”按钮来接管这个锁文件。"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:115
-#: plugins/admin/groups/class_groupManagement.inc:98
-#: plugins/admin/users/class_userManagement.inc:204
+#: ihtml/themes/default/islocked.tpl:23
 #, fuzzy
-msgid "Infrastructure error"
-msgstr "PHP 错误"
+msgid "Read only"
+msgstr "重新加载列表"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+#: ihtml/themes/default/copyPasteDialog.tpl:1
 #, fuzzy
-msgid "Templates"
-msgstr "模板"
+msgid "Copy & paste wizard"
+msgstr "拷贝和粘贴精灵"
 
-#: plugins/admin/ogroups/class_ogroupManagement.inc:190
+#: ihtml/themes/default/copyPasteDialog.tpl:7
 #, fuzzy
-msgid "Windows Install"
-msgstr "Windows 工作站"
-
-#: plugins/admin/ogroups/class_ogroup.inc:238
-msgid "You cannot combine terminals and workstations in one object group!"
+msgid ""
+"Some values need to be unique in the complete directory while some "
+"combinations make no sense. Please edit the values below to fulfill the "
+"policies."
 msgstr ""
+"有的变量需要在整个目录中保持唯一,而有的组合没有意义。GOsa 显示有关属性。请按"
+"照这个原则维护其取值。"
 
-#: plugins/admin/ogroups/class_ogroup.inc:354
-#: plugins/admin/users/class_userManagement.inc:463
-#: plugins/admin/users/class_userManagement.inc:497
-#: plugins/admin/users/class_userManagement.inc:528
-msgid "none"
-msgstr "无"
-
-#: plugins/admin/ogroups/class_ogroup.inc:356
-msgid "too many different objects!"
-msgstr "太多不同对象!"
-
-#: plugins/admin/ogroups/class_ogroup.inc:358
-msgid "users"
-msgstr "用户"
+#: ihtml/themes/default/copyPasteDialog.tpl:9
+msgid "Remember that some properties like taken snapshots will not be copied!"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:359
-msgid "groups"
-msgstr "组"
+#: ihtml/themes/default/copyPasteDialog.tpl:10
+msgid ""
+"Or if you copy or cut an entry within GOsa and delete the source object, you "
+"may get errors while pasting this object again!"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:360
-msgid "applications"
-msgstr "应用程序"
+#: ihtml/themes/default/copyPasteDialog.tpl:23
+#, fuzzy
+msgid "Cancel all"
+msgstr "取消"
 
-#: plugins/admin/ogroups/class_ogroup.inc:361
-msgid "departments"
-msgstr "部门"
+#: ihtml/themes/default/copyPasteDialog.tpl:28
+msgid "Operation complete"
+msgstr "操作完成"
 
-#: plugins/admin/ogroups/class_ogroup.inc:362
-msgid "servers"
-msgstr "服务器"
+#: ihtml/themes/default/copyPasteDialog.tpl:30
+#: setup/class_setupStep_Finish.inc:39
+msgid "Finish"
+msgstr "完成"
 
-#: plugins/admin/ogroups/class_ogroup.inc:363
-msgid "workstations"
-msgstr "工作站"
+#: ihtml/themes/default/logout.tpl:6
+msgid "Your GOsa session has expired!"
+msgstr "您的 GOsa 会话已经过期!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:364
+#: ihtml/themes/default/logout.tpl:9
 #, fuzzy
-msgid "winstations"
-msgstr "Windows 工作站"
-
-#: plugins/admin/ogroups/class_ogroup.inc:365
-msgid "terminals"
-msgstr "终端"
+msgid ""
+"It has been a while since your last interaction with GOsa took place. Your "
+"session has been closed for security reasons. Please login again to continue "
+"with administrative tasks."
+msgstr ""
+"上一次操作 GOsa 界面是在很长时间之前。出于安全上的考虑,已经关闭了连接。要继"
+"续执行管理任务,请重新登录。"
 
-#: plugins/admin/ogroups/class_ogroup.inc:366
-msgid "phones"
-msgstr "电话"
+#: ihtml/themes/default/logout.tpl:16
+#, fuzzy
+msgid "Login again"
+msgstr "重新登录"
 
-#: plugins/admin/ogroups/class_ogroup.inc:367
-msgid "printers"
-msgstr "打印机"
+#: ihtml/themes/default/login.tpl:31
+#, fuzzy
+msgid "Login to GOsa"
+msgstr "欢迎进入 Gosa 安装程序!"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-#: setup/setup_config2.tpl:143
-msgid "disabled"
-msgstr "禁用"
+#: ihtml/themes/default/login.tpl:47 setup/setup_migrate.tpl:53
+#: plugins/personal/generic/paste_generic.tpl:21
+#: plugins/generic/dashBoard/Register/register.tpl:53
+msgid "Password"
+msgstr "口令"
 
-#: plugins/admin/ogroups/class_ogroup.inc:412
-#: plugins/admin/groups/class_group.inc:433
-#: plugins/personal/posix/class_posixAccount.inc:573
-msgid "full access"
-msgstr "完全访问权限"
+#: ihtml/themes/default/login.tpl:61
+msgid "Choose the directory to work on"
+msgstr ""
 
-#: plugins/admin/ogroups/class_ogroup.inc:413
-#: plugins/admin/groups/class_group.inc:434
-#: plugins/personal/posix/class_posixAccount.inc:574
-msgid "allow access to these hosts"
-msgstr "允许访问这些主机"
+#: ihtml/themes/default/login.tpl:66
+msgid "Click here to log in"
+msgstr "点击这里登录"
 
-#: plugins/admin/ogroups/class_ogroup.inc:601
-msgid "Non existing dn:"
-msgstr "不存在的 dn:"
+#: ihtml/themes/default/login.tpl:66 ihtml/themes/default/login.tpl:67
+#, fuzzy
+msgid "Log in"
+msgstr "登录名"
 
-#: plugins/admin/ogroups/class_ogroup.inc:758
-#, php-format
+#: ihtml/themes/default/sizelimit.tpl:3
 msgid ""
-"These systems are already configured by other object groups and cannot be "
-"added:"
+"The size limit option makes LDAP operations faster and saves the LDAP server "
+"from getting too much load. The easiest way to handle big databases without "
+"long timeouts would be to limit your search to smaller values and use "
+"filters to get the entries you are looking for."
 msgstr ""
+"大小限制选项会让 LDAP 操作更快,以免使 LDAP 服务器过载。最简单让大数据库处理"
+"不发成长时间超时的办法是,将查询缩小到更少并且使用过滤器。"
 
-#: plugins/admin/ogroups/class_ogroup.inc:792
-#, fuzzy
-msgid "You can combine two different object types at maximum, only!"
-msgstr "您最多只能组合两个不同的对象类!"
+#: ihtml/themes/default/sizelimit.tpl:8
+msgid "Please choose the way to react for this session"
+msgstr "请选择响应这个会话的方法"
 
-#: plugins/admin/ogroups/class_ogroup.inc:967
-#, fuzzy
-msgid "Object group generic"
-msgstr "对象组"
+#: ihtml/themes/default/sizelimit.tpl:10
+msgid "ignore this error and show all entries the LDAP server returns"
+msgstr "忽略错误并显示 LDAP 服务器返回的所有条目"
 
-#: plugins/admin/ogroups/class_ogroup.inc:978
+#: ihtml/themes/default/sizelimit.tpl:11
 #, fuzzy
-msgid "Sytem trust"
-msgstr "信赖的系统"
+msgid ""
+"ignore this error and show all entries that fit into the defined size limit"
+msgstr "忽略错误并显示在定义限制长度内的所有条目,并让我使用过滤器。"
 
-#: plugins/admin/ogroups/class_ogroup.inc:979
+#: ihtml/themes/default/infoPage.tpl:4
 #, fuzzy
-msgid "Member"
-msgstr "成员"
+msgid "User information"
+msgstr "个人信息"
 
-#: plugins/admin/ogroups/generic.tpl:7
-#: plugins/admin/ogroups/paste_generic.tpl:4
-#: plugins/admin/groups/generic.tpl:11
-#: plugins/admin/groups/paste_generic.tpl:5
-msgid "Group name"
-msgstr "组名"
+#: ihtml/themes/default/infoPage.tpl:17 setup/setup_migrate.tpl:49
+#: plugins/personal/posix/class_posixAccount.inc:1310
+msgid "User ID"
+msgstr "用户 ID"
 
-#: plugins/admin/ogroups/generic.tpl:10
-msgid "Name of the group"
-msgstr "组名称"
+#: ihtml/themes/default/infoPage.tpl:18
+#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:48
+#: plugins/admin/users/user-list.xml:49
+#: plugins/generic/references/class_reference.inc:87
+msgid "Surname"
+msgstr "姓"
 
-#: plugins/admin/ogroups/generic.tpl:18 plugins/admin/groups/generic.tpl:28
-msgid "Descriptive text for this group"
-msgstr "组的描述文字"
-
-#: plugins/admin/ogroups/generic.tpl:36
-#: plugins/admin/groups/class_group.inc:1191
-#: plugins/personal/posix/generic.tpl:139
-msgid "System trust"
-msgstr "信赖的系统"
-
-#: plugins/admin/ogroups/generic.tpl:37 plugins/admin/groups/generic.tpl:160
-#: plugins/admin/groups/generic.tpl:194 plugins/personal/posix/generic.tpl:141
-#: plugins/personal/posix/generic.tpl:169
-msgid "Trust mode"
-msgstr "信赖模式"
-
-#: plugins/admin/ogroups/generic.tpl:65
-msgid "Member objects"
-msgstr "成员对象"
-
-#: plugins/admin/ogroups/tabs_ogroups.inc:133
-msgid "Phone queue"
-msgstr "电话队列"
-
-#: plugins/admin/ogroups/tabs_ogroups.inc:160
-#, fuzzy
-msgid "Systems"
-msgstr "系统"
-
-#: plugins/admin/ogroups/tabs_ogroups.inc:171
-#: plugins/admin/ogroups/tabs_ogroups.inc:194
-msgid "Startup"
-msgstr "启动"
+#: ihtml/themes/default/infoPage.tpl:19
+#: plugins/personal/generic/class_user.inc:1326
+#: plugins/personal/generic/class_user.inc:1373
+#: plugins/personal/generic/class_user.inc:1703
+#: plugins/personal/generic/class_user.inc:1857
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/admin/groups/userSelect/user-list.xml:40
+#: plugins/admin/users/class_userManagement.inc:550
+#: plugins/admin/users/user-list.xml:57
+#: plugins/generic/references/class_reference.inc:87
+msgid "Given name"
+msgstr "名"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:182
-#: plugins/admin/ogroups/tabs_ogroups.inc:203
-msgid "Devices"
-msgstr "设备"
+#: ihtml/themes/default/infoPage.tpl:20
+#: plugins/personal/generic/class_user.inc:1708
+#: plugins/personal/generic/generic.tpl:92
+msgid "Personal title"
+msgstr "个人称谓"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:213
-msgid "FAI summary"
-msgstr "自动化安装说明"
+#: ihtml/themes/default/infoPage.tpl:21
+#: plugins/personal/generic/class_user.inc:1709
+#: plugins/personal/generic/generic.tpl:102
+msgid "Academic title"
+msgstr "学位头衔"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:222
-#: plugins/admin/groups/class_groupManagement.inc:196
-#: plugins/admin/users/class_userManagement.inc:890
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:102
-msgid "Environment"
-msgstr "环境设置"
+#: ihtml/themes/default/infoPage.tpl:22
+#: plugins/personal/generic/class_user.inc:1737
+msgid "Home postal address"
+msgstr "住宅地址"
 
-#: plugins/admin/ogroups/tabs_ogroups.inc:241
-msgid "Applications"
-msgstr "应用程序"
+#: ihtml/themes/default/infoPage.tpl:23
+#: plugins/personal/generic/class_user.inc:1368
+#: plugins/personal/generic/class_user.inc:1711
+#: plugins/personal/generic/generic.tpl:117
+msgid "Date of birth"
+msgstr "生日"
 
-#: plugins/admin/ogroups/paste_generic.tpl:7
-msgid "Please enter the new object group name"
-msgstr "请输入新对象组名称"
+#: ihtml/themes/default/infoPage.tpl:24
+#: plugins/admin/groups/class_groupManagement.inc:165
+#: plugins/admin/ogroups/tabs_ogroups.inc:155
+#: plugins/admin/users/class_userManagement.inc:886
+#: plugins/generic/infoPage/class_infoPage.inc:112
+msgid "Mail"
+msgstr "邮件"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:11
+#: ihtml/themes/default/infoPage.tpl:25
+#: plugins/personal/generic/class_user.inc:1738
 #, fuzzy
-msgid "user groups"
-msgstr "组"
+msgid "Home phone number"
+msgstr "电话号码"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:12
-#, fuzzy
-msgid "nested groups"
-msgstr "对象组"
+#: ihtml/themes/default/infoPage.tpl:30 setup/setup_feedback.tpl:10
+#: setup/setup_feedback.tpl:12 plugins/personal/generic/class_user.inc:1720
+#: plugins/personal/generic/generic.tpl:298
+#: plugins/admin/departments/dep-filter.xml:91
+#: plugins/admin/departments/dep-list.xml:47
+#: plugins/admin/departments/dep-list.xml:131
+#: plugins/admin/departments/organization.tpl:4
+#: plugins/admin/departments/class_organizationGeneric.inc:113
+#: plugins/admin/departments/class_organizationGeneric.inc:114
+#: plugins/admin/departments/class_departmentManagement.inc:241
+msgid "Organization"
+msgstr "组织/公司"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:13
+#: ihtml/themes/default/infoPage.tpl:31
+#: plugins/admin/departments/dep-filter.xml:35
+#: plugins/admin/departments/generic.tpl:4
 #, fuzzy
-msgid "application groups"
-msgstr "显示应用程序组"
+msgid "Organizational Unit"
+msgstr "组织/公司部门"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:14
-#, fuzzy
-msgid "department groups"
-msgstr "部门"
+#: ihtml/themes/default/infoPage.tpl:32
+#: plugins/personal/generic/class_user.inc:1734
+#: plugins/personal/generic/generic.tpl:436
+#: plugins/admin/departments/organization.tpl:82
+#: plugins/admin/departments/organization.tpl:94
+#: plugins/admin/departments/class_department.inc:680
+#: plugins/admin/departments/class_organizationGeneric.inc:130
+#: plugins/admin/departments/generic.tpl:83
+#: plugins/admin/departments/generic.tpl:85
+#: plugins/admin/departments/generic.tpl:95
+#: plugins/admin/departments/class_localityGeneric.inc:91
+msgid "Location"
+msgstr "位置"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:15
-#, fuzzy
-msgid "server groups"
-msgstr "服务器"
+#: ihtml/themes/default/infoPage.tpl:33
+#: plugins/personal/generic/class_user.inc:1665
+#: plugins/personal/generic/generic.tpl:535
+msgid "Street"
+msgstr "街道"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:16
+#: ihtml/themes/default/infoPage.tpl:34
+#: plugins/personal/generic/class_user.inc:1722
 #, fuzzy
-msgid "workstation groups"
-msgstr "工作站"
+msgid "Department number"
+msgstr "部门名称"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:17
+#: ihtml/themes/default/infoPage.tpl:36
+#: plugins/personal/generic/class_user.inc:1724
 #, fuzzy
-msgid "windows workstation groups"
-msgstr "显示工作站"
+msgid "Employee number"
+msgstr "员工类别"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:18
-#, fuzzy
-msgid "terminal groups"
-msgstr "显示邮件组"
+#: ihtml/themes/default/infoPage.tpl:37
+#: plugins/personal/generic/class_user.inc:1725
+#: plugins/personal/generic/generic.tpl:330
+msgid "Employee type"
+msgstr "员工类别"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:19
-#, fuzzy
-msgid "printer groups"
-msgstr "主要用户组"
+#: ihtml/themes/default/infoPage.tpl:48
+#: plugins/personal/generic/paste_generic.tpl:1
+msgid "User settings"
+msgstr "用户设置"
 
-#: plugins/admin/ogroups/ogroup-filter.tpl:20
+#: ihtml/themes/default/infoPage.tpl:55
 #, fuzzy
-msgid "phone groups"
-msgstr "显示组"
-
-#: plugins/admin/ogroups/ogroup-list.xml:11
-msgid "List of object groups"
-msgstr "对象组列表"
+msgid ""
+"You have no permission to edit any properties. Please contact your "
+"administrator."
+msgstr "无法获得 LDAP 数据库的锁信息。检查 gosa.conf 中的 'config' 条目!"
 
-#: plugins/admin/ogroups/ogroup-list.xml:57
-#: plugins/admin/groups/group-list.xml:74 plugins/admin/users/user-list.xml:73
-#: plugins/admin/departments/locality.tpl:8
-#: plugins/admin/departments/generic.tpl:7
-#: plugins/admin/departments/domain.tpl:8
-#: plugins/admin/departments/country.tpl:8
-#: plugins/admin/departments/dcObject.tpl:8
-#: plugins/admin/departments/organization.tpl:7
-msgid "Properties"
-msgstr "属性"
+#: ihtml/themes/default/infoPage.tpl:61
+#, fuzzy
+msgid "Administrative contact"
+msgstr "管理设置"
 
-#: plugins/admin/ogroups/ogroup-list.xml:73
-#: plugins/admin/groups/group-list.xml:90 plugins/admin/users/user-list.xml:89
-#: plugins/admin/departments/dep-list.xml:98 plugins/admin/acl/acl-list.xml:76
-#: setup/class_setupStep_Migrate.inc:1036
-#: setup/class_setupStep_Migrate.inc:1052
-msgid "Create"
-msgstr "创建"
+#: ihtml/themes/default/infoPage.tpl:72 plugins/generic/welcome/welcome.tpl:8
+msgid "The GOsa team"
+msgstr "GOsa 团队"
 
-#: plugins/admin/ogroups/ogroup-list.xml:98
-#: plugins/admin/groups/group-list.xml:115
-#: plugins/admin/users/user-list.xml:121
-#: plugins/admin/departments/dep-list.xml:160
-#: plugins/admin/departments/dep-list.xml:181
-#: plugins/admin/acl/acl-list.xml:95 plugins/admin/acl/acl-list.xml:144
-#: plugins/personal/generic/generic_certs.tpl:21
-#: plugins/personal/generic/generic_certs.tpl:45
-#: plugins/personal/generic/generic_certs.tpl:69
-#: setup/class_setupStep_Migrate.inc:2870
-msgid "Remove"
-msgstr "删除"
+#: ihtml/themes/default/msg_dialog.tpl:55
+#: ihtml/themes/default/msg_dialog.tpl:103
+msgid "Error message title"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:106
-#: plugins/admin/groups/group-list.xml:123
-#: plugins/admin/users/user-list.xml:156
+#: ihtml/themes/default/msg_dialog.tpl:66
+#: ihtml/themes/default/msg_dialog.tpl:115
 #, fuzzy
-msgid "Send message"
+msgid "Error message"
 msgstr "挂起邮件"
 
-#: plugins/admin/ogroups/ogroup-list.xml:142
-#, fuzzy
-msgid "Edit object group"
-msgstr "对象组"
+#: ihtml/themes/default/ldifViewer.tpl:1
+msgid "Raw LDAP entry"
+msgstr ""
 
-#: plugins/admin/ogroups/ogroup-list.xml:155
+#: ihtml/themes/default/framework.tpl:9
 #, fuzzy
-msgid "Remove object group"
-msgstr "服务器"
+msgid "Log out"
+msgstr "退出"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:6
-msgid "Select objects to add"
-msgstr "选择要添加的对象"
+#: ihtml/themes/default/framework.tpl:10
+msgid ""
+"You are currently editing a database entry. Do you want to dismiss the "
+"changes?"
+msgstr "您正在编辑一个数据项。您确认要丢弃当前的修改么?"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:20
-#: plugins/admin/groups/trust_machines.tpl:19
-#: plugins/personal/posix/posix_groups.tpl:21
-msgid "Filters"
-msgstr "过滤器"
+#: ihtml/themes/default/framework.tpl:22
+#, fuzzy, php-format
+msgid "Session expires in %d!"
+msgstr "会话不会被加密。"
 
-#: plugins/admin/ogroups/ogroup_objects.tpl:36
-msgid "Display objects of department"
-msgstr "选择查看部门对象"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:37
-#: plugins/admin/ogroups/trust_machines.tpl:27
-#: plugins/admin/groups/trust_machines.tpl:26
-#: plugins/personal/posix/posix_groups.tpl:35
-#: plugins/personal/posix/trust_machines.tpl:27
-msgid "Choose the department the search will be based on"
-msgstr "选择一个部门来做查询"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:40
-msgid "Display objects matching"
-msgstr "显示匹配对象"
-
-#: plugins/admin/ogroups/ogroup_objects.tpl:41
-msgid "Regular expression for matching object names"
-msgstr "匹配对象名的正则表达式"
-
-#: plugins/admin/ogroups/trust_machines.tpl:6
-#: plugins/admin/groups/trust_machines.tpl:6
-#: plugins/personal/posix/trust_machines.tpl:6
-msgid "Select systems to add"
-msgstr "选择要添加的系统"
-
-#: plugins/admin/ogroups/trust_machines.tpl:26
-#: plugins/admin/groups/trust_machines.tpl:25
-#: plugins/personal/posix/trust_machines.tpl:26
-msgid "Display systems of department"
-msgstr "显示部门的系统"
-
-#: plugins/admin/ogroups/trust_machines.tpl:30
-#: plugins/admin/groups/trust_machines.tpl:29
-#: plugins/personal/posix/trust_machines.tpl:30
-msgid "Display systems matching"
-msgstr "显示匹配的系统"
-
-#: plugins/admin/ogroups/trust_machines.tpl:31
-#: plugins/admin/groups/trust_machines.tpl:30
-#: plugins/personal/posix/trust_machines.tpl:31
-msgid "Regular expression for matching addresses"
-msgstr "匹配地址的正则表达式"
-
-#: plugins/admin/groups/remove.tpl:6
-msgid ""
-"This may be a primary user group. Please double check if you really want to "
-"do this since there is no way for GOsa to get your data back."
-msgstr ""
-"这可能是一个主要的用户组。请再次检查您是否要这么做,因为 GOsa 没有办法将您的"
-"数据找回。"
+#: ihtml/themes/default/help.tpl:9
+msgid "GOsa help viewer"
+msgstr "GOsa 帮助浏览器"
 
-#: plugins/admin/groups/userSelect/user-list.xml:40
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:40
-#: plugins/admin/users/class_userManagement.inc:541
-#: plugins/admin/users/user-list.xml:57
-#: plugins/personal/generic/class_user.inc:1328
-#: plugins/personal/generic/class_user.inc:1375
-#: plugins/personal/generic/class_user.inc:1680
-#: plugins/personal/generic/class_user.inc:1831
-msgid "Given name"
-msgstr "名"
+#: ihtml/themes/default/help.tpl:15
+msgid "Index"
+msgstr "索引"
 
-#: plugins/admin/groups/userSelect/user-list.xml:48
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:48
-#: plugins/admin/users/user-list.xml:49
-#: plugins/personal/generic/class_user.inc:1679
-msgid "Surname"
-msgstr "姓"
+#: ihtml/themes/default/logout-close.tpl:5
+#, fuzzy
+msgid "Your GOsa session has been closed!"
+msgstr "您的 GOsa 会话已经过期!"
 
-#: plugins/admin/groups/generic.tpl:14 plugins/personal/generic/generic.tpl:52
-#: plugins/personal/generic/generic.tpl:73
-#: plugins/personal/generic/generic.tpl:89
-msgid "Multiple edit"
+#: ihtml/themes/default/logout-close.tpl:7
+msgid ""
+"Please close this browser window and clean the authentication caches to "
+"avoid an automatic re-authentication by your browser."
 msgstr ""
 
-#: plugins/admin/groups/generic.tpl:17
-#: plugins/admin/groups/paste_generic.tpl:8
-msgid "Posix name of the group"
-msgstr "组的 posix 名称"
-
-#: plugins/admin/groups/generic.tpl:59
-#: plugins/admin/groups/paste_generic.tpl:13
-msgid "Normally IDs are autogenerated, select to specify manually"
-msgstr "一般 ID 是自动创建的,要手工设置请选择"
-
-#: plugins/admin/groups/generic.tpl:62
-#: plugins/admin/groups/paste_generic.tpl:15
-msgid "Force GID"
-msgstr "强制 GID"
-
-#: plugins/admin/groups/generic.tpl:65
-#: plugins/admin/groups/paste_generic.tpl:18
-msgid "Forced ID number"
-msgstr "强制 ID 编号"
-
-#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
-msgid "Select to create a samba conform group"
-msgstr "选择创建一个 samba 确认组"
-
-#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
-msgid "in domain"
-msgstr "于域"
+#: setup/class_setupStep_Migrate.inc:51 setup/class_setupStep_Migrate.inc:52
+#, fuzzy
+msgid "LDAP inspection"
+msgstr "PHP 安装检查"
 
-#: plugins/admin/groups/generic.tpl:131
-msgid "Members are in a phone pickup group"
-msgstr "成员属于电话应答组"
+#: setup/class_setupStep_Migrate.inc:53
+msgid "Analyze your current LDAP for GOsa compatibility"
+msgstr ""
 
-#: plugins/admin/groups/generic.tpl:146
-msgid "Members are in a nagios group"
-msgstr "成员属于 nagios 组"
+#: setup/class_setupStep_Migrate.inc:59
+#, fuzzy
+msgid "Checking for root object"
+msgstr "检查 iconv 支持"
 
-#: plugins/admin/groups/generic.tpl:236
-msgid "Group members"
-msgstr "组成员"
+#: setup/class_setupStep_Migrate.inc:65
+#, fuzzy
+msgid "Inspecting object classes in root object"
+msgstr "检查 iconv 支持"
 
-#: plugins/admin/groups/generic.tpl:243
+#: setup/class_setupStep_Migrate.inc:71
 #, fuzzy
-msgid "In all groups"
-msgstr "显示邮件组"
+msgid "Checking permission for LDAP database"
+msgstr "您无权删除这个部门。"
 
-#: plugins/admin/groups/generic.tpl:246
+#: setup/class_setupStep_Migrate.inc:78
 #, fuzzy
-msgid "Not in all groups"
-msgstr "显示邮件组"
+msgid "Checking for super administrator"
+msgstr "检查一些附加程序"
 
-#: plugins/admin/groups/group-filter.tpl:11
-#: plugins/personal/posix/groupSelect/group-filter.tpl:11
-msgid "Show primary groups"
-msgstr "显示主要组"
+#: setup/class_setupStep_Migrate.inc:118 setup/class_setupStep_Migrate.inc:186
+#: setup/class_setupStep_Migrate.inc:709
+#, fuzzy
+msgid "LDAP query failed"
+msgstr "Mysql 查询失败。"
 
-#: plugins/admin/groups/group-filter.tpl:12
-#: plugins/personal/posix/groupSelect/group-filter.tpl:12
-msgid "Show samba groups"
-msgstr "显示 samba 用户组"
+#: setup/class_setupStep_Migrate.inc:119 setup/class_setupStep_Migrate.inc:187
+#: setup/class_setupStep_Migrate.inc:710
+msgid "Possibly the 'root object' is missing."
+msgstr ""
 
-#: plugins/admin/groups/group-filter.tpl:13
-#: plugins/personal/posix/groupSelect/group-filter.tpl:13
-#, fuzzy
-msgid "Show mail groups"
-msgstr "显示 samba 用户组"
+#: setup/class_setupStep_Migrate.inc:132 setup/class_setupStep_Migrate.inc:145
+#: setup/class_setupStep_Migrate.inc:307 setup/class_setupStep_Migrate.inc:661
+#: setup/class_setupStep_Migrate.inc:674 setup/class_setupStep_Migrate.inc:729
+#: setup/class_setupStep_Migrate.inc:750 setup/class_setupStep_Migrate.inc:802
+msgid "Failed"
+msgstr "失败"
 
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:79
-#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:85
-#: setup/setup_ldap.tpl:78
-#, fuzzy
-msgid "Select user"
-msgstr "删除用户"
+#: setup/class_setupStep_Migrate.inc:134 setup/class_setupStep_Migrate.inc:147
+#, php-format
+msgid ""
+"The specified user '%s' does not have full access to your LDAP database."
+msgstr ""
 
-#: plugins/admin/groups/paste_generic.tpl:1
-msgid "Group settings"
-msgstr "组设置"
+#: setup/class_setupStep_Migrate.inc:308
+msgid "There is no GOsa administrator account inside your LDAP."
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:11
-msgid "List of groups"
-msgstr "组列表"
+#: setup/class_setupStep_Migrate.inc:309
+#: plugins/admin/groups/group-list.xml:73
+#: plugins/admin/ogroups/ogroup-list.xml:73 plugins/admin/acl/acl-list.xml:76
+#: plugins/admin/departments/dep-list.xml:98
+#: plugins/admin/users/user-list.xml:89
+msgid "Create"
+msgstr "创建"
 
-#: plugins/admin/groups/group-list.xml:23
+#: setup/class_setupStep_Migrate.inc:377
 #, fuzzy
-msgid "Group submenu entry"
-msgstr "组成员"
+msgid "Migration error"
+msgstr "创建"
+
+#: setup/class_setupStep_Migrate.inc:377
+#, php-format
+msgid "Cannot add ACL for user '%s':"
+msgstr ""
 
-#: plugins/admin/groups/group-list.xml:31
+#: setup/class_setupStep_Migrate.inc:415 setup/class_setupStep_Migrate.inc:425
 #, fuzzy
-msgid "Group menu entry"
-msgstr "组成员"
+msgid "Input error"
+msgstr "PHP 错误"
+
+#: setup/class_setupStep_Migrate.inc:415
+#: plugins/personal/posix/paste_generic.tpl:38
+#: plugins/personal/posix/generic.tpl:64
+#: plugins/personal/posix/class_posixAccount.inc:869
+#: plugins/personal/posix/class_posixAccount.inc:872
+#: plugins/admin/groups/class_group.inc:210
+#: plugins/admin/groups/class_group.inc:1190
+#: plugins/admin/groups/class_group.inc:1200
+#: plugins/generic/references/class_reference.inc:87
+msgid "UID"
+msgstr "UID"
 
-#: plugins/admin/groups/group-list.xml:155
+#: setup/class_setupStep_Migrate.inc:420
 #, fuzzy
-msgid "Edit group"
-msgstr "主要用户组"
+msgid "Password error"
+msgstr "口令过期截止日"
 
-#: plugins/admin/groups/group-list.xml:168
+#: setup/class_setupStep_Migrate.inc:420
 #, fuzzy
-msgid "Remove group"
-msgstr "服务器"
+msgid "Provided passwords do not match!"
+msgstr "输入的新口令和重复口令不匹配!"
 
-#: plugins/admin/groups/class_group.inc:162
-#: plugins/admin/groups/class_group.inc:1358
+#: setup/class_setupStep_Migrate.inc:425
 #, fuzzy
-msgid "Cannot find group SID in your configuration!"
-msgstr "无法在 LDAP 或您的配置文件中查找这个组 SID。"
-
-#: plugins/admin/groups/class_group.inc:400
-msgid "Samba group"
-msgstr "Samba 组"
+msgid "Specify a valid user ID!"
+msgstr "请输入一个有效的用户名!"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain admins"
-msgstr "域管理员"
+#: setup/class_setupStep_Migrate.inc:450
+#, fuzzy, php-format
+msgid "Adding an administrative user failed: object '%s' already exists!"
+msgstr "为对象 '%s' 设置动作状态(FAIstate) 失败,值为 '%s'。"
 
-#: plugins/admin/groups/class_group.inc:400
-msgid "Domain users"
-msgstr "域用户"
+#: setup/class_setupStep_Migrate.inc:662
+msgid ""
+"The LDAP root object is missing. It is required to use your LDAP service."
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:401
-msgid "Domain guests"
-msgstr "域名 guests"
+#: setup/class_setupStep_Migrate.inc:663 setup/class_setupStep_Migrate.inc:676
+msgid "Try to create root object"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:406
-#, php-format
-msgid "Special group (%d)"
-msgstr "特殊组 (%d)"
+#: setup/class_setupStep_Migrate.inc:675
+msgid "Root object couldn't be created, you should try it on your own."
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:540
+#: setup/class_setupStep_Migrate.inc:730
 #, php-format
-msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+msgid "Missing GOsa object class '%s'!"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:546
+#: setup/class_setupStep_Migrate.inc:731
+#, fuzzy
+msgid "Please check your installation."
+msgstr "请检查用户名/口令。"
+
+#: setup/class_setupStep_Migrate.inc:752
 #, php-format
-msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+msgid ""
+"Cannot handle the structural object type of your root object. Please try to "
+"add the object class '%s' manually."
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:624
+#: setup/class_setupStep_Migrate.inc:804 setup/setup_migrate.tpl:32
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:181
 #, fuzzy
-msgid "! unknown UID"
-msgstr "! 未知 id"
+msgid "Migrate"
+msgstr "创建"
 
-#: plugins/admin/groups/class_group.inc:667
-#, php-format
-msgid "Search returned too many results. Not displaying more than %s entries!"
+#: setup/setup_checks.tpl:2
+msgid ""
+"This step checks if your PHP server has all required modules and "
+"configuration settings."
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:894
-#, fuzzy, php-format
-msgid "Cannot find any SID for '%s'!"
-msgstr "无法创建文件 '%s'。"
+#: setup/setup_checks.tpl:5
+#, fuzzy
+msgid "Inspection"
+msgstr "PHP 安装检查"
 
-#: plugins/admin/groups/class_group.inc:899
-#, fuzzy, php-format
-msgid "Cannot find any RIDBASE for '%s'!"
-msgstr "无法创建文件 '%s'。"
+#: setup/setup_checks.tpl:8
+msgid "PHP module and extension checks"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:994
-#, php-format
-msgid "The gidNumber '%s' is already in use by %s!"
+#: setup/setup_checks.tpl:10
+msgid "Basic checks"
 msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1105
-#: plugins/admin/groups/class_group.inc:1108
-#: plugins/admin/groups/class_group.inc:1187
-#: plugins/personal/posix/class_posixAccount.inc:1045
-#: plugins/personal/posix/class_posixAccount.inc:1048
-#: plugins/personal/posix/generic.tpl:74
-#: plugins/personal/posix/paste_generic.tpl:45
-msgid "GID"
-msgstr "GID"
+#: setup/setup_checks.tpl:38 setup/setup_checks.tpl:79
+msgid "GOsa will NOT run without fixing this."
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1175
-#, fuzzy
-msgid "Generic group settings"
-msgstr "组设置"
+#: setup/setup_checks.tpl:40 setup/setup_checks.tpl:81
+msgid "GOsa will run without fixing this."
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1189
+#: setup/setup_checks.tpl:50
 #, fuzzy
-msgid "Samba group type"
-msgstr "Samba 组"
+msgid "PHP setup configuration"
+msgstr "PHP 安装检查"
 
-#: plugins/admin/groups/class_group.inc:1190
+#: setup/setup_checks.tpl:50
 #, fuzzy
-msgid "Samba domain name"
-msgstr "Samba 主目录"
+msgid "show information"
+msgstr "个人信息"
 
-#: plugins/admin/groups/class_group.inc:1192
-#, fuzzy
-msgid "Phone pickup group"
-msgstr "成员属于电话应答组"
+#: setup/setup_checks.tpl:51
+msgid "Extended checks"
+msgstr ""
 
-#: plugins/admin/groups/class_group.inc:1193
+#: setup/class_setupStep_Finish.inc:40
 #, fuzzy
-msgid "Nagios group"
-msgstr "Nagios 账号"
+msgid "Write configuration file"
+msgstr "配置文件"
 
-#: plugins/admin/groups/class_group.inc:1195
+#: setup/class_setupStep_Finish.inc:41
 #, fuzzy
-msgid "Group member"
-msgstr "组成员"
-
-#: plugins/admin/groups/class_groupManagement.inc:26
-msgid "Group administration"
-msgstr "组管理"
-
-#: plugins/admin/groups/class_groupManagement.inc:156
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:62
-msgid "Posix"
-msgstr "Posix"
+msgid "Finish - write the configuration file"
+msgstr "需要 XML 功能来解析配置文件。"
 
-#: plugins/admin/groups/class_groupManagement.inc:157
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:63
+#: setup/class_setupStep_Finish.inc:106
 #, fuzzy
-msgid "Edit posix properties"
-msgstr "编辑电话属性"
-
-#: plugins/admin/groups/class_groupManagement.inc:165
-#: plugins/admin/users/class_userManagement.inc:879
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:71
-msgid "Edit mail properties"
-msgstr "编辑邮件属性"
+msgid ""
+"Your configuration file is currently world readable. Please update the file "
+"permissions!"
+msgstr "GOsa 配置 %s/gosa.conf 不可读取。退出。"
 
-#: plugins/admin/groups/class_groupManagement.inc:173
-#: plugins/admin/users/class_userManagement.inc:883
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:79
-msgid "Edit samba properties"
-msgstr "编辑 samba 属性"
+#: setup/class_setupStep_Finish.inc:108
+#, fuzzy
+msgid "The configuration is currently not readable or it does not exists."
+msgstr "GOsa 配置 %s/gosa.conf 不可读取。退出。"
 
-#: plugins/admin/groups/class_groupManagement.inc:181
-#: plugins/admin/users/class_userManagement.inc:899
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:87
-msgid "Edit phone properties"
-msgstr "编辑电话属性"
+#: setup/class_setupStep_Finish.inc:117
+#, fuzzy, php-format
+msgid ""
+"After downloading and placing the file under %s, please make sure that the "
+"user the web server is running with is able to read %s, while other users "
+"shouldn't. You may want to execute these commands to achieve this "
+"requirement:"
+msgstr ""
+"将文件保存在 GOsa 配置文件目录中,确认 Web 服务器运行的账号能够读取 gosa."
+"conf,其他用户则无权访问。您可以执行如下命令来实现:"
 
-#: plugins/admin/groups/class_groupManagement.inc:188
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:94
+#: setup/class_setupStep_Ldap.inc:54
 #, fuzzy
-msgid "Menu"
-msgstr "打印机"
+msgid "LDAP setup"
+msgstr "LDAP 服务器"
 
-#: plugins/admin/groups/class_groupManagement.inc:189
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:95
+#: setup/class_setupStep_Ldap.inc:55
 #, fuzzy
-msgid "Edit start menu properties"
-msgstr "编辑 samba 属性"
-
-#: plugins/admin/groups/class_groupManagement.inc:197
-#: plugins/admin/users/class_userManagement.inc:891
-#: plugins/personal/posix/trustSelect/class_trustSelect.inc:103
-msgid "Edit environment properties"
-msgstr "编辑环境属性"
+msgid "LDAP connection setup"
+msgstr "断开"
 
-#: plugins/admin/users/remove.tpl:6 plugins/admin/acl/remove.tpl:6
+#: setup/class_setupStep_Ldap.inc:56
 msgid ""
-"This includes all account data, system access rules, imap settings, etc. for "
-"this user. Please double check if your really want to do this since there is "
-"no way for GOsa to get your data back."
+"This dialog performs the basic configuration of the LDAP connectivity for "
+"GOsa."
 msgstr ""
-"这包含该用户所有账号数据,系统访问规则,imap 设置等等。请再次检查您是否要这么"
-"做,因为 GOsa 没有办法将您的数据找回。"
 
-#: plugins/admin/users/password.tpl:4
-msgid ""
-"To change the user password use the fields below. The changes take effect "
-"immediately. Please memorize the new password, because the user wouldn't be "
-"able to login without it."
-msgstr "用下面的字段修改用口令。修改即时生效。请记住新密码,否则无法登录。"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:41
+#: setup/setup_feedback.tpl:52
+msgid "No"
+msgstr "否"
 
-#: plugins/admin/users/password.tpl:8 plugins/personal/generic/password.tpl:8
-#: plugins/personal/password/password.tpl:8
-msgid ""
-"Changing the password affects your authentification on mail, proxy, samba "
-"and unix services."
-msgstr "修改口令将影响邮件,代理,samba,unix等的登录。"
+#: setup/class_setupStep_Ldap.inc:75 setup/setup_feedback.tpl:39
+#: setup/setup_feedback.tpl:50
+msgid "Yes"
+msgstr "是"
 
-#: plugins/admin/users/password.tpl:21 plugins/admin/users/password.tpl:57
-#: plugins/personal/generic/password.tpl:27
-#: plugins/personal/generic/password.tpl:70
-#: plugins/personal/password/password.tpl:32
-#: plugins/personal/password/password.tpl:75
-msgid "Repeat new password"
-msgstr "重复新口令"
+#: setup/class_setupStep_Ldap.inc:113
+#, fuzzy, php-format
+msgid "Anonymous bind to server '%s' failed!"
+msgstr "为服务器 '%s' 插入新宏失败。"
+
+#: setup/class_setupStep_Ldap.inc:115
+#, fuzzy, php-format
+msgid "Bind as user '%s' failed!"
+msgstr "为服务器 '%s' 插入新宏失败。"
+
+#: setup/class_setupStep_Ldap.inc:120
+#, fuzzy, php-format
+msgid "Anonymous bind to server '%s' succeeded."
+msgstr "为服务器 '%s' 插入新宏失败。"
 
-#: plugins/admin/users/password.tpl:25 plugins/admin/users/password.tpl:61
+#: setup/class_setupStep_Ldap.inc:121
 #, fuzzy
-msgid "Strength"
-msgstr "街道"
+msgid "Please specify user and password!"
+msgstr "请输入您的口令!"
+
+#: setup/class_setupStep_Ldap.inc:123
+#, fuzzy, php-format
+msgid "Bind as user '%s' to server '%s' succeeded!"
+msgstr "无法在主服务器 '%s' 上选择数据库 '%s'。"
+
+#: setup/class_setupStep_Feedback.inc:94
+msgid "UNIX accounts/groups"
+msgstr ""
 
-#: plugins/admin/users/password.tpl:35
+#: setup/class_setupStep_Feedback.inc:96
 #, fuzzy
-msgid "Password input dialog"
-msgstr "口令"
+msgid "Samba management"
+msgstr "系统管理"
 
-#: plugins/admin/users/password.tpl:39
-#: plugins/personal/generic/password.tpl:51
-#: plugins/personal/password/password.tpl:56
+#: setup/class_setupStep_Feedback.inc:98
 #, fuzzy
-msgid "Use proposal"
-msgstr "组"
+msgid "Mail system management"
+msgstr "系统管理"
 
-#: plugins/admin/users/password.tpl:43
-#: plugins/personal/generic/password.tpl:55
-#: plugins/personal/password/password.tpl:60 setup/setup_migrate.tpl:470
-#: setup/setup_migrate.tpl:513 setup/setup_migrate.tpl:557
+#: setup/class_setupStep_Feedback.inc:100
 #, fuzzy
-msgid "Refresh"
-msgstr "参考"
+msgid "FAX system administration"
+msgstr "用户管理"
 
-#: plugins/admin/users/password.tpl:49
-#: plugins/personal/generic/password.tpl:61
-#: plugins/personal/password/password.tpl:66
+#: setup/class_setupStep_Feedback.inc:102
 #, fuzzy
-msgid "Manually specify a password"
-msgstr "请输入您的口令!"
+msgid "Asterisk administration"
+msgstr "用户管理"
 
-#: plugins/admin/users/password.tpl:77
+#: setup/class_setupStep_Feedback.inc:104
 #, fuzzy
-msgid "Enforce password change on next login."
-msgstr "不允许修改口令"
+msgid "System inventory"
+msgstr "删除 inventory"
 
-#: plugins/admin/users/password.tpl:84
-#: plugins/personal/generic/password.tpl:88
-#: plugins/personal/password/password.tpl:93
-msgid "Set password"
-msgstr "设置口令"
+#: setup/class_setupStep_Feedback.inc:106
+#, fuzzy
+msgid "System/Configuration management"
+msgstr "系统管理"
 
-#: plugins/admin/users/template.tpl:2
-msgid "Creating a new user using templates"
-msgstr "用模板创建一个新用户"
+#: setup/class_setupStep_Feedback.inc:108
+#, fuzzy
+msgid "Address book"
+msgstr "地址簿"
 
-#: plugins/admin/users/template.tpl:6
-msgid ""
-"Creating a new user can be assisted by using templates. Many database "
-"records will be filled automatically. Choose 'none' to skip the usage of "
-"templates."
+#: setup/class_setupStep_Feedback.inc:114
+msgid "Feedback"
 msgstr ""
-"可以使用模板来辅助新用户的创建。很多数据记录可以被自动填充。选择“无”来跳过模"
-"板选择。"
-
-#: plugins/admin/users/template.tpl:15
-#: plugins/admin/users/class_userManagement.inc:535
-#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
-#: plugins/admin/users/templatize.tpl:15
-msgid "Template"
-msgstr "模板"
-
-#: plugins/admin/users/template.tpl:23 plugins/personal/generic/generic.tpl:49
-#: plugins/personal/generic/paste_generic.tpl:7
-msgid "Last name"
-msgstr "姓"
-
-#: plugins/admin/users/template.tpl:27 plugins/personal/generic/generic.tpl:69
-#: plugins/personal/generic/paste_generic.tpl:11
-msgid "First name"
-msgstr "名"
 
-#: plugins/admin/users/class_userManagement.inc:26
+#: setup/class_setupStep_Feedback.inc:115
 #, fuzzy
-msgid "Manage users"
-msgstr "域用户"
+msgid "Get notifications or send feedback"
+msgstr "主机通知命令"
 
-#: plugins/admin/users/class_userManagement.inc:391
-#, fuzzy
-msgid "You have no permission to change this users password!"
-msgstr "您无权修改您的口令。"
+#: setup/class_setupStep_Feedback.inc:116
+msgid "Notification and feedback"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:782
+#: setup/class_setupStep_Feedback.inc:132 setup/class_setup.inc:74
 #, fuzzy
-msgid "Account locking"
-msgstr "账户"
+msgid "Setup error"
+msgstr "PHP 错误"
+
+#: setup/class_setupStep_Feedback.inc:140
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Feedback error"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:783
+#: setup/class_setupStep_Feedback.inc:140
 #, php-format
-msgid ""
-"Password method '%s' does not support locking. Account (%s) has not been "
-"locked!"
+msgid "Cannot send feedback to '%s': %s"
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:856
-#, fuzzy
-msgid "Unlock account"
-msgstr "我的账号"
+#: setup/class_setupStep_Feedback.inc:147
+msgid "Cannot send feedback: service temporarily unavailable"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:858
+#: setup/class_setupStep_Feedback.inc:181
 #, fuzzy
-msgid "Lock account"
-msgstr "我的账号"
+msgid "Please specify a valid email address."
+msgstr "请输入一个有效的 iSerial。"
 
-#: plugins/admin/users/class_userManagement.inc:871
-msgid "Edit generic properties"
-msgstr "编辑通用属性"
+#: setup/class_setupStep_Feedback.inc:185
+msgid ""
+"You have to select at least one of both options, subscribe or send feedback."
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:874
-#: plugins/personal/posix/class_posixAccount.inc:304
-#: plugins/personal/posix/class_posixAccount.inc:324
-#: plugins/personal/posix/class_posixAccount.inc:326
-#: plugins/personal/posix/class_posixAccount.inc:329
-msgid "POSIX"
+#: setup/setup_license.tpl:3
+msgid ""
+"GOsa is developed under the terms of the GNU General Public License v2. "
+"Please accept the terms below."
 msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:875
-#, fuzzy
-msgid "Edit POSIX properties"
-msgstr "编辑 UNIX 属性"
+#: setup/setup_license.tpl:11
+msgid "I have read the license and accept it"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:886
-msgid "Netatalk"
-msgstr "Netatalk"
+#: setup/setup_ldap.tpl:2
+msgid ""
+"The main data source used in GOsa is LDAP. In order to access the "
+"information stored there, please enter the required information."
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:887
-msgid "Edit netatalk properties"
-msgstr "编辑 netatalk 属性"
+#: setup/setup_ldap.tpl:9
+msgid "Please choose the LDAP user to be used by GOsa"
+msgstr ""
 
-#: plugins/admin/users/class_userManagement.inc:895
+#: setup/setup_ldap.tpl:28 setup/setup_ldap.tpl:29
 #, fuzzy
-msgid "Edit FAX properties"
-msgstr "编辑 UNIX 属性"
+msgid "LDAP connection"
+msgstr "断开"
 
-#: plugins/admin/users/user-list.xml:11
-msgid "List of users"
-msgstr "用户列表"
+#: setup/setup_ldap.tpl:31
+msgid "Location name"
+msgstr "位置名称"
 
-#: plugins/admin/users/user-list.xml:140
+#: setup/setup_ldap.tpl:35
 #, fuzzy
-msgid "Lock users"
-msgstr "用户列表"
+msgid "Connection URI"
+msgstr "连接 URL"
 
-#: plugins/admin/users/user-list.xml:148
+#: setup/setup_ldap.tpl:39
 #, fuzzy
-msgid "Unlock users"
-msgstr "域用户"
+msgid "TLS connection"
+msgstr "连接"
 
-#: plugins/admin/users/user-list.xml:167
-#, fuzzy
-msgid "Apply template"
-msgstr "模板"
+#: setup/setup_ldap.tpl:47
+#: plugins/personal/posix/trustSelect/trust-list.tpl:12
+#: plugins/personal/posix/groupSelect/group-list.tpl:12
+#: plugins/personal/generic/class_user.inc:1714
+#: plugins/personal/generic/generic.tpl:167
+#: plugins/addons/dyngroup/dyngroup.tpl:5
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:114
+#: plugins/admin/groups/singleUserSelect/singleUser-list.tpl:12
+#: plugins/admin/groups/class_group.inc:1059
+#: plugins/admin/groups/group-list.tpl:12 plugins/admin/groups/generic.tpl:39
+#: plugins/admin/groups/userSelect/user-list.tpl:12
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.tpl:12
+#: plugins/admin/ogroups/ogroup-list.tpl:12
+#: plugins/admin/ogroups/generic.tpl:26
+#: plugins/admin/ogroups/class_ogroup.inc:862
+#: plugins/admin/acl/acl_role.tpl:27 plugins/admin/acl/acl-list.tpl:12
+#: plugins/admin/acl/class_aclRole.inc:742
+#: plugins/admin/departments/dcObject.tpl:28
+#: plugins/admin/departments/country.tpl:28
+#: plugins/admin/departments/class_countryGeneric.inc:94
+#: plugins/admin/departments/organization.tpl:39
+#: plugins/admin/departments/class_department.inc:677
+#: plugins/admin/departments/class_domain.inc:92
+#: plugins/admin/departments/class_organizationGeneric.inc:125
+#: plugins/admin/departments/generic.tpl:39
+#: plugins/admin/departments/locality.tpl:28
+#: plugins/admin/departments/dep-list.tpl:12
+#: plugins/admin/departments/class_localityGeneric.inc:94
+#: plugins/admin/departments/class_dcObject.inc:93
+#: plugins/admin/departments/domain.tpl:28
+#: plugins/admin/users/user-list.tpl:12
+msgid "Base"
+msgstr "位置"
 
-#: plugins/admin/users/user-list.xml:199
+#: setup/setup_ldap.tpl:57
 #, fuzzy
-msgid "New user from template"
-msgstr "从模板创建用户"
+msgid "Reload"
+msgstr "读"
 
-#: plugins/admin/users/user-list.xml:213
-msgid "Edit user"
-msgstr "编辑用户"
+#: setup/setup_ldap.tpl:63 setup/setup_ldap.tpl:64
+#, fuzzy
+msgid "Authentication"
+msgstr "Nagios 鉴权"
 
-#: plugins/admin/users/user-list.xml:222
-msgid "%{filter:lockLabel(userPassword)}"
-msgstr ""
+#: setup/setup_ldap.tpl:66
+#, fuzzy
+msgid "Administrator DN"
+msgstr "系统管理"
 
-#: plugins/admin/users/user-list.xml:245
+#: setup/setup_ldap.tpl:71
 #, fuzzy
-msgid "Remove user"
-msgstr "删除图片"
+msgid "Select user"
+msgstr "删除用户"
 
-#: plugins/admin/users/user-filter.tpl:11
-msgid "Show templates"
-msgstr "显示模板"
+#: setup/setup_ldap.tpl:81
+msgid "Automatically append LDAP base to administrator DN"
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:12
+#: setup/setup_ldap.tpl:85
 #, fuzzy
-msgid "Show functional users"
-msgstr "显示用户"
+msgid "Administrator password"
+msgstr "管理员口令"
 
-#: plugins/admin/users/user-filter.tpl:13
+#: setup/setup_ldap.tpl:91 setup/setup_ldap.tpl:92
 #, fuzzy
-msgid "Show POSIX users"
-msgstr "Posix 设置"
+msgid "Schema based settings"
+msgstr "Samba 设置"
 
-#: plugins/admin/users/user-filter.tpl:14
-#, fuzzy
-msgid "Show Mail users"
-msgstr "显示邮件用户"
+#: setup/setup_ldap.tpl:94
+msgid "Use RFC 2307bis compliant groups"
+msgstr ""
 
-#: plugins/admin/users/user-filter.tpl:15
+#: setup/setup_ldap.tpl:105 setup/setup_ldap.tpl:106
 #, fuzzy
-msgid "Show Samba users"
-msgstr "显示邮件用户"
+msgid "Current status"
+msgstr "当前版本"
 
-#: plugins/admin/users/templatize.tpl:2
+#: setup/setup_ldap.tpl:108 plugins/admin/ogroups/class_ogroup.inc:244
+#: plugins/generic/dashBoard/dbInformation/contents.tpl:1
+msgid "Information"
+msgstr "提示信息"
+
+#: setup/setup_language.tpl:3
 #, fuzzy
-msgid "Applying a template"
-msgstr "模板"
+msgid "Please select the preferred language"
+msgstr "请选择一个打印机或者取消。"
 
-#: plugins/admin/users/templatize.tpl:6
+#: setup/setup_language.tpl:5
 msgid ""
-"Applying a template to several users will replace all user attributes "
-"defined in the template."
+"At this point, you can select the site wide default language. Choosing "
+"'automatic' will use the language requested by the browser. This setting can "
+"be overridden per user."
 msgstr ""
 
-#: plugins/admin/users/templatize.tpl:33
+#: setup/setup_language.tpl:9
 #, fuzzy
-msgid "No templates available!"
-msgstr "文件可用。"
+msgid "Please select your preferred language here"
+msgstr "首选语种"
 
-#: plugins/admin/departments/remove.tpl:6
-msgid ""
-"This includes 'all' accounts, systems, etc. in this subtree. Please double "
-"check if your really want to do this since there is no way for GOsa to get "
-"your data back."
+#: setup/setup_welcome.tpl:3
+msgid "How to get started"
 msgstr ""
-"在这个子树中包含了所有账号,系统等等。请再次检查您是否要这么做,因为 GOsa 没"
-"有办法将您的数据找回。"
 
-#: plugins/admin/departments/remove.tpl:10
+#: setup/setup_welcome.tpl:5
 msgid ""
-"Best thing to do before performing this action would be to save the current "
-"contents of your LDAP tree in a file. So - if you've done so - press "
-"'Delete' to continue or 'Cancel' to abort."
+"This seems to be the first time you run GOsa on this system. To start the "
+"GOsa web interface you need a working configuration file, which can be "
+"generated by this wizard."
 msgstr ""
-"最好在执行这个操作之前,保存当前 LDAP 树中的内容到一个文件。所以,如果您已经"
-"这么做了,按“删除”继续或者按“取消”退出。"
-
-#: plugins/admin/departments/dep-list.xml:11
-msgid "List of departments"
-msgstr "部门列表"
 
-#: plugins/admin/departments/dep-list.xml:15
-#: plugins/admin/departments/dep-list.xml:103
-#: plugins/admin/departments/class_departmentManagement.inc:189
+#: setup/setup_welcome.tpl:9
 #, fuzzy
-msgid "Domain"
-msgstr "于域"
+msgid "What you need to generate a configuration file:"
+msgstr "配置文件"
 
-#: plugins/admin/departments/dep-list.xml:23
-#: plugins/admin/departments/dep-list.xml:110
+#: setup/setup_welcome.tpl:13
 #, fuzzy
-msgid "Domain component"
-msgstr "域管理员"
+msgid "The hostname of your LDAP server"
+msgstr "当操作  LDAP 服务器 '%s' 时"
 
-#: plugins/admin/departments/dep-list.xml:31
-#: plugins/admin/departments/dep-list.xml:117
-#: plugins/admin/departments/class_departmentManagement.inc:213
-#: plugins/admin/departments/class_countryGeneric.inc:82
-#: plugins/admin/departments/class_countryGeneric.inc:83
-msgid "Country"
-msgstr "国家"
+#: setup/setup_welcome.tpl:14
+msgid "Installed GOsa and supplementary schema"
+msgstr ""
 
-#: plugins/admin/departments/dep-list.xml:39
-#: plugins/admin/departments/dep-list.xml:124
-#: plugins/admin/departments/class_departmentManagement.inc:225
-#: plugins/admin/departments/class_localityGeneric.inc:82
-#: plugins/admin/departments/class_localityGeneric.inc:83
+#: setup/setup_welcome.tpl:15
+msgid "The LDAP base of your LDAP directory"
+msgstr ""
+
+#: setup/setup_welcome.tpl:16
+msgid "The DN and the password of the LDAP administration user"
+msgstr ""
+
+#: setup/setup_welcome.tpl:20
+msgid ""
+"If you've collected the needed information, unlock the setup process like "
+"shown in the next paragraph."
+msgstr ""
+
+#: setup/setup_welcome.tpl:24
 #, fuzzy
-msgid "Locality"
-msgstr "位置"
+msgid "Starting the setup"
+msgstr "语言"
 
-#: plugins/admin/departments/dep-list.xml:47
-#: plugins/admin/departments/dep-list.xml:131
-#: plugins/admin/departments/class_departmentManagement.inc:237
-#: plugins/admin/departments/class_organizationGeneric.inc:113
-#: plugins/admin/departments/class_organizationGeneric.inc:114
-#: plugins/personal/generic/class_user.inc:1694
-#: plugins/personal/generic/generic.tpl:299 setup/setup_feedback.tpl:23
-msgid "Organization"
-msgstr "组织/公司"
+#: setup/setup_welcome.tpl:26
+msgid ""
+"For security reasons you need to authenticate the installation by creating "
+"the file '/tmp/gosa.auth', containing the current session ID on the servers "
+"local filesystem. This can be done by executing the following command:"
+msgstr ""
 
-#: plugins/admin/departments/locality.tpl:11
-#: plugins/admin/departments/dcObject.tpl:11
+#: setup/setup_welcome.tpl:32
+msgid "Click the 'Next' button when you've finished."
+msgstr ""
+
+#: setup/class_setupStep_Schema.inc:37 setup/class_setupStep_Schema.inc:38
+msgid "LDAP schema check"
+msgstr ""
+
+#: setup/class_setupStep_Schema.inc:39
+msgid "Perform test on your current LDAP schema"
+msgstr ""
+
+#: setup/class_setup.inc:183
 #, fuzzy
-msgid "Locality name"
-msgstr "位置名称"
+msgid "Setup"
+msgstr "设置"
 
-#: plugins/admin/departments/locality.tpl:14
-#: plugins/admin/departments/dcObject.tpl:14
+#: setup/class_setup.inc:195
 #, fuzzy
-msgid "Name of locality to create"
-msgstr "要创建子树的名称"
+msgid "Completed"
+msgstr "不完整"
 
-#: plugins/admin/departments/locality.tpl:22
-#: plugins/admin/departments/domain.tpl:22
-#: plugins/admin/departments/country.tpl:22
-#: plugins/admin/departments/dcObject.tpl:22
-#: plugins/admin/departments/organization.tpl:22
-msgid "Descriptive text for department"
-msgstr "部门描述文件"
+#: setup/class_setup.inc:235
+#, fuzzy
+msgid "Check again"
+msgstr "检查"
 
-#: plugins/admin/departments/locality.tpl:39
-#: plugins/admin/departments/generic.tpl:51
-#: plugins/admin/departments/class_domain.inc:93
-#: plugins/admin/departments/class_localityGeneric.inc:93
-#: plugins/admin/departments/class_organizationGeneric.inc:127
-#: plugins/admin/departments/class_countryGeneric.inc:93
-#: plugins/admin/departments/class_dcObject.inc:92
-#: plugins/admin/departments/domain.tpl:39
-#: plugins/admin/departments/country.tpl:39
-#: plugins/admin/departments/dcObject.tpl:39
-#: plugins/admin/departments/class_department.inc:675
-#: plugins/admin/departments/organization.tpl:51
-#: plugins/personal/generic/class_user.inc:1697
-#: plugins/personal/generic/generic.tpl:340
-#: plugins/personal/generic/generic.tpl:361
+#: setup/class_setup.inc:238
 #, fuzzy
-msgid "Manager"
-msgstr "域用户"
+msgid "Next"
+msgstr "下一个"
 
-#: plugins/admin/departments/locality.tpl:67
-#: plugins/admin/departments/generic.tpl:132
-#: plugins/admin/departments/class_domain.inc:94
-#: plugins/admin/departments/class_localityGeneric.inc:95
-#: plugins/admin/departments/class_organizationGeneric.inc:135
-#: plugins/admin/departments/class_countryGeneric.inc:95
-#: plugins/admin/departments/class_dcObject.inc:94
-#: plugins/admin/departments/domain.tpl:67
-#: plugins/admin/departments/country.tpl:67
-#: plugins/admin/departments/dcObject.tpl:67
-#: plugins/admin/departments/class_department.inc:677
-#: plugins/admin/departments/organization.tpl:131
-msgid "Administrative settings"
-msgstr "管理设置"
+#: setup/setup_migrate.tpl:2
+msgid ""
+"During the LDAP inspection, we're going to check for several common pitfalls "
+"that may occur when migration to GOsa base LDAP administration. You may want "
+"to fix the problems below, in order to provide smooth services."
+msgstr ""
 
-#: plugins/admin/departments/locality.tpl:69
-#: plugins/admin/departments/generic.tpl:134
-#: plugins/admin/departments/domain.tpl:69
-#: plugins/admin/departments/country.tpl:69
-#: plugins/admin/departments/dcObject.tpl:69
-#: plugins/admin/departments/organization.tpl:133
-msgid "Tag department as an independent administrative unit"
-msgstr "将部门标记为独立的管理单元"
+#: setup/setup_migrate.tpl:5
+#, fuzzy
+msgid "Checks"
+msgstr "具有状态"
 
-#: plugins/admin/departments/generic.tpl:11
-msgid "Name of department"
-msgstr "部门名称"
+#: setup/setup_migrate.tpl:22
+msgid "Add required object classes to the LDAP base"
+msgstr ""
 
-#: plugins/admin/departments/generic.tpl:14
-msgid "Name of subtree to create"
-msgstr "要创建子树的名称"
+#: setup/setup_migrate.tpl:24
+#, fuzzy
+msgid "Current"
+msgstr "当前版本"
 
-#: plugins/admin/departments/generic.tpl:22
+#: setup/setup_migrate.tpl:28
 #, fuzzy
-msgid "Descriptive text for   department"
-msgstr "部门描述文件"
+msgid "After migration"
+msgstr "用户管理"
 
-#: plugins/admin/departments/generic.tpl:27
-#: plugins/admin/departments/class_organizationGeneric.inc:124
-#: plugins/admin/departments/class_department.inc:667
-#: plugins/admin/departments/organization.tpl:27
-msgid "Category"
-msgstr "分类"
+#: setup/setup_migrate.tpl:35
+msgid "Close"
+msgstr "关闭"
 
-#: plugins/admin/departments/generic.tpl:30
-#: plugins/admin/departments/organization.tpl:30
-msgid "Category for this subtree"
-msgstr "这个子树的分类"
+#: setup/setup_migrate.tpl:40
+#, fuzzy
+msgid "Create a new GOsa administrator account"
+msgstr "创建 netatalk 账号"
+
+#: setup/setup_migrate.tpl:41
+msgid ""
+"This dialog will automatically add a new super administrator to your LDAP "
+"tree."
+msgstr ""
+
+#: setup/setup_migrate.tpl:57
+#, fuzzy
+msgid "Password (again)"
+msgstr "口令存储"
+
+#: setup/setup_finish.tpl:3
+#, fuzzy
+msgid "Create your configuration file"
+msgstr "配置文件"
+
+#: setup/setup_finish.tpl:10
+msgid "Depending on the user name your web server is running on:"
+msgstr ""
+
+#: setup/setup_finish.tpl:27
+msgid "Download configuration"
+msgstr "下载配置"
+
+#: setup/setup_finish.tpl:33
+#, fuzzy
+msgid "Status: "
+msgstr "状态"
+
+#: setup/class_setupStep_Checks.inc:40 setup/class_setupStep_Checks.inc:41
+msgid "Installation check"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:42
+msgid "Basic checks for PHP compatibility and extensions"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:66
+#, fuzzy
+msgid "Checking PHP version"
+msgstr "检查 PHP 版本 (>=4.1.0)"
+
+#: setup/class_setupStep_Checks.inc:67
+#, php-format
+msgid "PHP must be of version %s or above."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:68
+msgid "Please upgrade to a supported version."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:75
+msgid "GOsa requires this module to talk with your LDAP server."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:83
+msgid "GOsa requires this module for an internationalized interface."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:91
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with different types of servers and "
+"protocols."
+msgstr "需要 MySQL 支持来从数据库中读取 GOfax 报告。"
+
+#: setup/class_setupStep_Checks.inc:99
+msgid "GOsa requires this module for the samba integration."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:107
+msgid ""
+"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
+"encryption."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:115
+msgid "GOsa requires this module to talk to an IMAP server."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:122
+#, fuzzy
+msgid "mbstring"
+msgstr "Samba 设置"
+
+#: setup/class_setupStep_Checks.inc:123
+#, fuzzy
+msgid "GOsa requires this module to handle Unicode strings."
+msgstr "需要 MySQL 支持来从数据库中读取 GOfax 报告。"
+
+#: setup/class_setupStep_Checks.inc:130
+msgid "Calendar"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:131
+#, fuzzy
+msgid "GOsa requires this module to calculate dates."
+msgstr "需要 MySQL 支持来从数据库中读取 GOfax 报告。"
+
+#: setup/class_setupStep_Checks.inc:138
+#, fuzzy
+msgid "MySQL"
+msgstr "LDAP 错误:"
+
+#: setup/class_setupStep_Checks.inc:139
+#, fuzzy
+msgid ""
+"GOsa requires this module to communicate with several supported databases."
+msgstr "需要 MySQL 支持来从数据库中读取 GOfax 报告。"
+
+#: setup/class_setupStep_Checks.inc:156
+msgid "samba hash generator"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:157
+msgid "GOsa requires this command to synchronize POSIX and samba passwords."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:158
+msgid ""
+"Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:171
+msgid "imagick"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:172
+msgid "GOsa requires this extension to handle images."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:187
+#, fuzzy
+msgid "compression module"
+msgstr "访问选项"
+
+#: setup/class_setupStep_Checks.inc:188
+msgid "GOsa requires this extension to handle snapshots."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:199
+#, fuzzy
+msgid ""
+"register_globals is a PHP mechanism to register all global variables to be "
+"accessible from scripts without changing the scope. This may be a security "
+"risk."
+msgstr ""
+"register_globals 是 PHP 的一个不必修改范围就可以从脚本中访问所有全局变量的机"
+"制。这可能存在安全风险。GOsa 在两种情况下都可以运行。"
+
+#: setup/class_setupStep_Checks.inc:200
+#, fuzzy
+msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
+msgstr "检查 register_globals 是否设置为 'off'"
+
+#: setup/class_setupStep_Checks.inc:208
+msgid "PHP uses this value for the garbage collector to delete old sessions."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:209
+#, fuzzy
+msgid ""
+"Setting this value to one day will prevent loosing session and cookies "
+"before they really timeout."
+msgstr ""
+"PHP 用这个值来进行垃圾回收,删除旧的会话。设置这个值为一天,将会防止在真正超"
+"时之前的会话和 cookie 丢失。"
+
+#: setup/class_setupStep_Checks.inc:210
+msgid ""
+"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
+"higher."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:217 setup/class_setupStep_Checks.inc:233
+#: setup/class_setupStep_Checks.inc:249 setup/class_setupStep_Checks.inc:265
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:230
+msgid "Off"
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:218
+#, fuzzy
+msgid ""
+"In Order to use GOsa without any trouble, the session.auto_register option "
+"in your php.ini should be set to 'Off'."
+msgstr ""
+"为了在是使用 GOsa 中不遇到麻烦,您的 php.ini 中 session.auto_register 选项必"
+"须设置为 'Off'。"
+
+#: setup/class_setupStep_Checks.inc:219
+#, fuzzy
+msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
+msgstr ""
+"为了在是使用 GOsa 中不遇到麻烦,您的 php.ini 中 session.auto_register 选项必"
+"须设置为 'Off'。"
+
+#: setup/class_setupStep_Checks.inc:226
+#, fuzzy
+msgid ""
+"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
+"errors that are not reproducible! Increase it for larger setups."
+msgstr "GOsa 需要至少 16MB 内存,太少会导致无法预料的错误!将其设置为更大。"
+
+#: setup/class_setupStep_Checks.inc:227
+msgid ""
+"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:234
+#, fuzzy
+msgid ""
+"This option influences the PHP output handling. Turn this Option off, to "
+"increase performance."
+msgstr "这个选项影响输出处理。关闭这个选项,可以提高性能。"
+
+#: setup/class_setupStep_Checks.inc:235
+msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:242
+#, fuzzy
+msgid "The Execution time should be at least 30 seconds."
+msgstr "执行时间应该至少 30 秒,因为一些动作可能会花很多时间。"
+
+#: setup/class_setupStep_Checks.inc:243
+msgid ""
+"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:250
+#, fuzzy
+msgid ""
+"Increase the server security by setting expose_php to 'off'. PHP won't send "
+"any information about the server you are running in this case."
+msgstr ""
+"将 expose_php 设置为“off”可以增强服务器安全性。PHP 将不会发送任何有关正运行着"
+"的服务器的信息。"
+
+#: setup/class_setupStep_Checks.inc:251
+msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:257
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:231
+#, fuzzy
+msgid "On"
+msgstr "打开"
+
+#: setup/class_setupStep_Checks.inc:258
+msgid ""
+"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
+"escape all quotes in strings in this case."
+msgstr ""
+"将 magic_quotes_gpc 设置为 'on' 会增加服务器安全性。这种情况下 PHP 会将字符串"
+"中所有引号编码。"
+
+#: setup/class_setupStep_Checks.inc:259
+msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:266
+#, fuzzy
+msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
+msgstr ""
+"将 magic_quotes_gpc 设置为 'on' 会增加服务器安全性。这种情况下 PHP 会将字符串"
+"中所有引号编码。"
+
+#: setup/class_setupStep_Checks.inc:267
+msgid ""
+"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
+msgstr ""
+
+#: setup/class_setupStep_Checks.inc:277
+#, fuzzy
+msgid "Configuration writable"
+msgstr "配置文件"
+
+#: setup/class_setupStep_Checks.inc:278
+#, fuzzy
+msgid "The configuration file can't be written"
+msgstr "查看配置信息"
+
+#: setup/class_setupStep_Checks.inc:279
+#, php-format
+msgid ""
+"GOsa reads its configuration from a file located in (%s/%s). The setup can "
+"write the configuration directly if it is writable."
+msgstr ""
+
+#: setup/class_setupStep_Welcome.inc:42
+#, fuzzy
+msgid "Welcome"
+msgstr "欢迎 %s!"
+
+#: setup/class_setupStep_Welcome.inc:43
+#, fuzzy
+msgid "The welcome message"
+msgstr "解除挂起的邮件"
+
+#: setup/class_setupStep_Welcome.inc:44
+#, fuzzy
+msgid "Welcome to the GOsa setup assistent"
+msgstr "欢迎进入 Gosa 安装程序!"
+
+#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
+#, fuzzy
+msgid "License"
+msgstr "行"
+
+#: setup/class_setupStep_License.inc:58
+msgid "Terms and conditions for usage"
+msgstr ""
+
+#: setup/setup_schema.tpl:1
+#, fuzzy
+msgid "Schema specific settings"
+msgstr "Samba 设置"
+
+#: setup/setup_schema.tpl:4
+msgid "Schema check succeeded"
+msgstr ""
+
+#: setup/setup_schema.tpl:7
+#, fuzzy
+msgid "Schema check failed"
+msgstr "保存电话失败"
+
+#: setup/setup_schema.tpl:11
+msgid ""
+"Could not read any schema information, all checks skipped. Adjust your LDAP "
+"ACLs."
+msgstr ""
+
+#: setup/setup_schema.tpl:13
+msgid ""
+"It seems that your LDAP database wasn't initialized yet. This maybe the "
+"reason, why GOsa can't read your schema configuration!"
+msgstr ""
+
+#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
+#, fuzzy
+msgid "Language setup"
+msgstr "语言"
+
+#: setup/class_setupStep_Language.inc:42
+msgid "This step allows you to select your preferred language."
+msgstr ""
+
+#: setup/setup_feedback.tpl:2
+#, fuzzy
+msgid "Feedback successfully send"
+msgstr "导入成功"
+
+#: setup/setup_feedback.tpl:6
+msgid "Subscribe to the gosa-announce mailing list"
+msgstr ""
+
+#: setup/setup_feedback.tpl:8
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to subscribe you to the gosa-announce mailing list. You've to confirm "
+"this by mail."
+msgstr ""
+
+#: setup/setup_feedback.tpl:20
+msgid "Mail address"
+msgstr "邮件地址"
+
+#: setup/setup_feedback.tpl:28
+msgid "Send feedback to the GOsa project team"
+msgstr ""
+
+#: setup/setup_feedback.tpl:31
+msgid ""
+"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
+"order to submit your form anonymously."
+msgstr ""
+
+#: setup/setup_feedback.tpl:35 setup/setup_feedback.tpl:36
+#: plugins/personal/posix/generic.tpl:5
+#: plugins/personal/generic/class_user.inc:37
+#: plugins/personal/generic/class_user.inc:1670
+#: plugins/admin/groups/class_group.inc:1035
+#: plugins/admin/ogroups/class_ogroup.inc:848
+#: plugins/admin/departments/class_department.inc:659
+#: plugins/admin/users/class_userManagement.inc:879
+msgid "Generic"
+msgstr "通用配置"
+
+#: setup/setup_feedback.tpl:38
+msgid "Did the setup procedure help you to get started?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:44
+msgid "If not, what problems did you encounter"
+msgstr ""
+
+#: setup/setup_feedback.tpl:48
+msgid "Is this the first time you use GOsa?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:53
+msgid "I use it since"
+msgstr ""
+
+#: setup/setup_feedback.tpl:54
+msgid "Select the year since when you are using GOsa"
+msgstr ""
+
+#: setup/setup_feedback.tpl:60
+msgid "What operating system / distribution do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:64
+msgid "What web server do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:68
+msgid "What PHP version do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:72
+#, fuzzy
+msgid "GOsa version"
+msgstr "用户设置"
+
+#: setup/setup_feedback.tpl:78 setup/setup_feedback.tpl:79
+msgid "LDAP"
+msgstr ""
+
+#: setup/setup_feedback.tpl:81
+msgid "What kind of LDAP server(s) do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:85
+msgid "How many objects are in your LDAP?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:91 setup/setup_feedback.tpl:92
+#, fuzzy
+msgid "Features"
+msgstr "功能"
+
+#: setup/setup_feedback.tpl:94
+msgid "What features of GOsa do you use?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:103
+msgid "What features do you want to see in future versions of GOsa?"
+msgstr ""
+
+#: setup/setup_feedback.tpl:107
+msgid "Send feedback"
+msgstr ""
+
+#: html/password.php:63 html/index.php:157
+#, fuzzy, php-format
+msgid "GOsa configuration %s/%s is not readable. Aborted."
+msgstr "GOsa 配置 %s/gosa.conf 不可读取。退出。"
+
+#: html/password.php:115 html/index.php:179 html/setup.php:73
+#, fuzzy, php-format
+msgid "Compile directory %s is not accessible!"
+msgstr "目录 '%s' 作为编译目录无法访问!"
+
+#: html/password.php:194 plugins/personal/generic/class_user.inc:614
+#, fuzzy
+msgid "Password method"
+msgstr "口令存储"
+
+#: html/password.php:195
+msgid "Error: Password method not available!"
+msgstr ""
+
+#: html/password.php:242 plugins/personal/generic/paste_generic.tpl:16
+#: plugins/personal/generic/class_user.inc:1311
+#: plugins/personal/generic/class_user.inc:1329
+#: plugins/personal/generic/class_user.inc:1343
+#: plugins/personal/generic/class_user.inc:1345
+#: plugins/personal/generic/class_user.inc:1704
+#: plugins/personal/generic/generic.tpl:65
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:56
+#: plugins/admin/groups/userSelect/user-list.xml:56
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:65
+#: plugins/admin/users/template.tpl:32 plugins/admin/users/user-list.xml:65
+#: plugins/generic/dashBoard/Register/register.tpl:49
+msgid "Login"
+msgstr "登录名"
+
+#: html/password.php:244 plugins/personal/password/class_password.inc:119
+msgid "You need to specify your current password in order to proceed."
+msgstr "您需要输入当前口令才能继续。"
+
+#: html/password.php:246 plugins/personal/password/class_password.inc:121
+#: plugins/admin/users/class_userManagement.inc:316
+msgid ""
+"The passwords you've entered as 'New password' and 'Repeated new password' "
+"do not match."
+msgstr "您输入的“新口令”和“重复新口令”不匹配。"
+
+#: html/password.php:248 plugins/personal/password/class_password.inc:123
+msgid "The password you've entered as 'New password' is empty."
+msgstr "输入的“新口令”为空。"
+
+#: html/password.php:250 plugins/personal/password/class_password.inc:125
+msgid "The password used as new and current are too similar."
+msgstr "输入的新口令和当前口令非常相似。"
+
+#: html/password.php:252 plugins/personal/password/class_password.inc:127
+msgid "The password used as new is to short."
+msgstr "输入的新口令太短了。"
+
+#: html/password.php:254 plugins/personal/password/class_password.inc:129
+#, fuzzy
+msgid "The password contains possibly problematic Unicode characters!"
+msgstr "“姓名”字段包含无效字符。"
+
+#: html/password.php:261 html/index.php:311
+#, fuzzy
+msgid "Please check the username/password combination!"
+msgstr "请检查用户名/口令。"
+
+#: html/password.php:268
+#, fuzzy
+msgid "You have no permissions to change your password!"
+msgstr "您无权修改您的口令。"
+
+#: html/password.php:280 plugins/personal/password/class_password.inc:136
+#: plugins/admin/users/class_userManagement.inc:330
+#, php-format
+msgid "Check-hook reported a problem: %s. Password change canceled!"
+msgstr ""
+
+#: html/password.php:315
+msgid "Session will not be encrypted."
+msgstr "会话不会被加密。"
+
+#: html/password.php:317
+msgid "Enter SSL session"
+msgstr "进入 SSL 会话"
+
+#: html/index.php:45
+#, php-format
+msgid "Your browser (%s) is blacklisted for the current theme!"
+msgstr ""
+
+#: html/index.php:72
+#, php-format
+msgid "This session is not encrypted. Click %s to enter an encrypted session."
+msgstr ""
+
+#: html/index.php:72
+#, fuzzy
+msgid "here"
+msgstr "模板"
+
+#: html/index.php:78
+msgid "The configured session lifetime will be overridden by php.ini settings!"
+msgstr ""
+
+#: html/index.php:179
+#, fuzzy
+msgid "Smarty error"
+msgstr "PHP 错误"
+
+#: html/index.php:202
+#, fuzzy
+msgid ""
+"Your browser has cookies disabled: please enable cookies and reload this "
+"page before logging in!"
+msgstr "您的浏览器已经禁用 cookies。请启用 cookies 并在登录前重新加载本页面!"
+
+#: html/index.php:233
+msgid "Broken HTTP authentication setup!"
+msgstr ""
+
+#: html/index.php:241
+msgid "Cannot find a valid user for the current HTTP authentication!"
+msgstr ""
+
+#: html/index.php:245
+#, fuzzy
+msgid "Cannot find a unique user for the current HTTP authentication!"
+msgstr "致命错误:无法找到一个未使用的标志来标记管理单元!"
+
+#: html/index.php:289
+#, fuzzy
+msgid "Please specify a valid user name!"
+msgstr "请输入一个有效的用户名!"
+
+#: html/index.php:292
+msgid "Please specify your password!"
+msgstr "请输入您的口令!"
+
+#: html/index.php:304
+#, fuzzy
+msgid "Authentication error"
+msgstr "Nagios 鉴权"
+
+#: html/index.php:304
+msgid "Cannot retrieve user information for HTTP authentication!"
+msgstr ""
+
+#: html/index.php:360
+#, fuzzy
+msgid "Account locked. Please contact your system administrator!"
+msgstr "账户锁定。请联系管理员。"
+
+#: html/main.php:171
+#, php-format
+msgid "Cannot locate file %s - please run %s to fix this"
+msgstr ""
+
+#: html/main.php:190
+#, fuzzy
+msgid "PHP configuration"
+msgstr "PHP 安装检查"
+
+#: html/main.php:191
+msgid ""
+"Fatal error: Register globals is active. Please fix this in order to "
+"continue."
+msgstr ""
+
+#: html/main.php:220
+#, fuzzy
+msgid "Your password is about to expire, please change your password!"
+msgstr "您的口令就要过期,请修改您的口令"
+
+#: html/main.php:295
+msgid "Running out of memory!"
+msgstr ""
+
+#: html/main.php:355
+#, php-format
+msgid "You're logged in as %s"
+msgstr ""
+
+#: html/main.php:358
+#, fuzzy
+msgid "ACLs are disabled"
+msgstr "禁用"
+
+#: html/main.php:408
+#, fuzzy
+msgid "Plug-in"
+msgstr "于"
+
+#: html/main.php:409
+#, fuzzy, php-format
+msgid "Fatal error: Cannot find any plugin definitions for plugin %s!"
+msgstr "警告: 没有发现针对插件 '%s' 的任何插件定义!"
+
+#: html/main.php:425
+#, fuzzy
+msgid "Configuration Error"
+msgstr "配置文件"
+
+#: html/main.php:426
+#, php-format
+msgid ""
+"Fatal error: not all POST variables have been transfered by PHP - please "
+"inform your administrator!"
+msgstr ""
+
+#: html/setup.php:73
+#, fuzzy
+msgid "Smarty"
+msgstr "总结"
+
+#: html/helpviewer.php:64
+msgid "Help browser"
+msgstr "帮助浏览器"
+
+#: html/helpviewer.php:118
+#, fuzzy
+msgid "There is no help file specified for this class"
+msgstr "此类没有帮助文件"
+
+#: html/helpviewer.php:268
+#, fuzzy, php-format
+msgid "Help directory '%s' is not accessible, can't read any help files."
+msgstr "帮助目录 '%s' 不能访问,无法读取任何帮助文件。"
+
+#: plugins/personal/myaccount/password.tpl:4
+#: plugins/personal/password/password.tpl:4
+msgid ""
+"To change your personal password use the fields below. The changes take "
+"effect immediately. Please memorize the new password, because you wouldn't "
+"be able to login without it."
+msgstr ""
+"用下面的表格更改个人口令。口令更改即时生效。请记住新口令,忘记口令将无法登"
+"录。"
+
+#: plugins/personal/myaccount/password.tpl:10
+#: plugins/personal/myaccount/password.tpl:39
+#: plugins/personal/password/password.tpl:16
+#: plugins/personal/password/password.tpl:45
+#, fuzzy
+msgid "Password change dialog"
+msgstr "不允许修改口令"
+
+#: plugins/personal/myaccount/password.tpl:49
+#: plugins/personal/password/password.tpl:55
+#: plugins/admin/users/password.tpl:43
+#, fuzzy
+msgid "Use proposal"
+msgstr "组"
+
+#: plugins/personal/myaccount/password.tpl:67
+#: plugins/personal/password/password.tpl:74
+#: plugins/admin/users/password.tpl:61
+#, fuzzy
+msgid "Manually specify a password"
+msgstr "请输入您的口令!"
+
+#: plugins/personal/myaccount/password.tpl:97
+#: plugins/personal/password/password.tpl:104
+msgid "Clear fields"
+msgstr "清除字段"
+
+#: plugins/personal/myaccount/main.inc:118
+#: plugins/personal/myaccount/class_MyAccount.inc:5
+#: plugins/personal/posix/class_posixAccount.inc:1297
+#: plugins/personal/password/class_password.inc:227
+#: plugins/personal/generic/class_user.inc:1675
+msgid "My account"
+msgstr "我的账号"
+
+#: plugins/personal/myaccount/class_MyAccount.inc:6
+#, fuzzy
+msgid "Edit personal settings"
+msgstr "Posix 设置"
+
+#: plugins/personal/myaccount/nochange.tpl:2
+#: plugins/personal/password/nochange.tpl:2
+#, fuzzy
+msgid "You have no permission to change your password at this time"
+msgstr "您无权修改您的口令。"
+
+#: plugins/personal/myaccount/nochange.tpl:5
+#, fuzzy
+msgid "Your password hash method will not be changed!"
+msgstr "您的口令已经过期 !! 选择一个新口令"
+
+#: plugins/personal/myaccount/changed.tpl:3
+#: plugins/personal/password/changed.tpl:3
+#, fuzzy
+msgid ""
+"You've successfully changed your password. Remember to change all programs "
+"configured to use it as well."
+msgstr "您已经成功更改口令。还要记住更改相关程序设定。"
+
+#: plugins/personal/posix/paste_generic.tpl:1
+#: plugins/personal/posix/paste_generic.tpl:5
+#: plugins/personal/posix/generic.tpl:1
+#, fuzzy
+msgid "POSIX settings"
+msgstr "Posix 设置"
+
+#: plugins/personal/posix/paste_generic.tpl:6
+#: plugins/personal/posix/paste_generic.tpl:9
+#: plugins/personal/posix/generic.tpl:8
+#: plugins/personal/posix/class_posixAccount.inc:858
+#: plugins/personal/posix/class_posixAccount.inc:861
+#: plugins/personal/posix/class_posixAccount.inc:936
+#: plugins/personal/posix/class_posixAccount.inc:939
+#: plugins/personal/posix/class_posixAccount.inc:1307
+msgid "Home directory"
+msgstr "用户主目录"
+
+#: plugins/personal/posix/paste_generic.tpl:17
+#: plugins/personal/posix/posix_shadow.tpl:2
+#: plugins/personal/posix/generic.tpl:51
+#: plugins/personal/generic/generic.tpl:34
+#: plugins/personal/generic/generic.tpl:81
+#, fuzzy
+msgid "Account settings"
+msgstr "组设置"
+
+#: plugins/personal/posix/paste_generic.tpl:19
+#: plugins/personal/posix/generic.tpl:26
+#: plugins/personal/posix/class_posixAccount.inc:1308
+msgid "Primary group"
+msgstr "主要用户组"
+
+#: plugins/personal/posix/paste_generic.tpl:33
+#: plugins/personal/posix/generic.tpl:60
+msgid "Force UID/GID"
+msgstr "指定 UID/GID"
+
+#: plugins/personal/posix/paste_generic.tpl:47
+#: plugins/personal/posix/generic.tpl:75
+#: plugins/personal/posix/class_posixAccount.inc:876
+#: plugins/personal/posix/class_posixAccount.inc:879
+#: plugins/admin/groups/class_group.inc:966
+#: plugins/admin/groups/class_group.inc:969
+#: plugins/admin/groups/class_group.inc:1061
+msgid "GID"
+msgstr "GID"
+
+#: plugins/personal/posix/paste_generic.tpl:58
+#: plugins/personal/posix/paste_generic.tpl:61
+#: plugins/personal/posix/generic.tpl:89
+#: plugins/generic/references/class_reference.inc:58
+#: plugins/generic/references/class_reference.inc:64
+msgid "Group membership"
+msgstr "组成员身份"
+
+#: plugins/personal/posix/paste_generic.tpl:68
+#: plugins/personal/posix/generic.tpl:92
+msgid "(Warning: more than 16 groups are not supported by NFS!)"
+msgstr "(警告:NFS不支持超过 16 个组!)"
+
+#: plugins/personal/posix/trustSelect/trust-filter.xml:17
+#: plugins/personal/posix/groupSelect/group-filter.xml:16
+#: plugins/admin/groups/singleUserSelect/singleUser-filter.xml:20
+#: plugins/admin/groups/group-filter.xml:17
+#: plugins/admin/groups/userSelect/user-filter.xml:20
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml:21
+#: plugins/admin/ogroups/objectSelect/selectObject-filter.xml:32
+#: plugins/admin/ogroups/ogroup-filter.xml:18
+#: plugins/admin/acl/acl-filter.xml:18
+#: plugins/admin/departments/dep-filter.xml:17
+#: plugins/admin/users/user-filter.xml:19
+#, fuzzy
+msgid "Default filter"
+msgstr "参数"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:9
+#: plugins/personal/posix/groupSelect/group-list.xml:10
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:10
+#: plugins/admin/groups/userSelect/user-list.xml:10
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:11
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:11
+#, fuzzy
+msgid "Please select the desired entries"
+msgstr "请选择一个打印机或者取消。"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:12
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:23
+#: plugins/admin/ogroups/class_ogroupManagement.inc:187
+msgid "Server"
+msgstr "服务器"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:19
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:31
+#: plugins/admin/ogroups/class_ogroupManagement.inc:189
+msgid "Workstation"
+msgstr "工作站"
+
+#: plugins/personal/posix/trustSelect/trust-list.xml:26
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:39
+#: plugins/admin/ogroups/class_ogroupManagement.inc:191
+msgid "Terminal"
+msgstr "终端"
+
+#: plugins/personal/posix/trustSelect/class_trustSelect.inc:29
+#, fuzzy
+msgid "Trust machine selection"
+msgstr "组设置"
+
+#: plugins/personal/posix/groupSelect/class_groupSelect.inc:29
+#, fuzzy
+msgid "Group selection"
+msgstr "组设置"
+
+#: plugins/personal/posix/groupSelect/group-list.xml:13
+#: plugins/addons/propertyEditor/property-list.xml:72
+#: plugins/admin/groups/group-list.xml:15
+#: plugins/admin/groups/group-list.xml:79
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:23
+#: plugins/admin/ogroups/ogroup-list.xml:79
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:71
+#: plugins/admin/ogroups/class_ogroupManagement.inc:184
+msgid "Group"
+msgstr "组"
+
+#: plugins/personal/posix/posix_shadow.tpl:12
+msgid "User must change password on first login"
+msgstr "用户必须在第一次登录修改口令"
+
+#: plugins/personal/posix/posix_shadow.tpl:59
+#, fuzzy
+msgid "Password expiration settings"
+msgstr "用户设置"
+
+#: plugins/personal/posix/posix_shadow.tpl:62
+msgid "Password expires on"
+msgstr "口令过期截止日"
+
+#: plugins/personal/posix/generic.tpl:6 plugins/admin/ogroups/generic.tpl:5
+#, fuzzy
+msgid "Generic settings"
+msgstr "通用队列设置"
+
+#: plugins/personal/posix/generic.tpl:16
+#: plugins/personal/posix/class_posixAccount.inc:1309
+msgid "Shell"
+msgstr "Shell"
+
+#: plugins/personal/posix/generic.tpl:37
+#: plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc:14
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:26
+msgid "Status"
+msgstr "状态"
+
+#: plugins/personal/posix/generic.tpl:42
+#, fuzzy
+msgid "Last log-on"
+msgstr "姓"
+
+#: plugins/personal/posix/generic.tpl:101
+#, fuzzy
+msgid "Common group"
+msgstr "显示组"
+
+#: plugins/personal/posix/generic.tpl:105
+#, fuzzy
+msgid "Groups differ"
+msgstr "用户组"
+
+#: plugins/personal/posix/generic.tpl:125
+#, fuzzy
+msgid "Account permissions"
+msgstr "组设置"
+
+#: plugins/personal/posix/generic.tpl:130
+msgid "SSH keys"
+msgstr ""
+
+#: plugins/personal/posix/generic.tpl:131
+msgid "Edit public ssh keys..."
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:37
+#: plugins/personal/posix/class_posixAccount.inc:270
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/personal/posix/class_posixAccount.inc:292
+#: plugins/personal/posix/class_posixAccount.inc:295
+#: plugins/admin/groups/class_groupManagement.inc:157
+#: plugins/admin/users/class_userManagement.inc:883
+msgid "POSIX"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:38
+#, fuzzy
+msgid "Edit users POSIX settings"
+msgstr "Posix 设置"
+
+#: plugins/personal/posix/class_posixAccount.inc:146
+msgid "expired"
+msgstr "过期"
+
+#: plugins/personal/posix/class_posixAccount.inc:148
+msgid "grace time active"
+msgstr "时间限制激活"
+
+#: plugins/personal/posix/class_posixAccount.inc:151
+#: plugins/personal/posix/class_posixAccount.inc:153
+#: plugins/personal/posix/class_posixAccount.inc:155
+msgid "active"
+msgstr "活动"
+
+#: plugins/personal/posix/class_posixAccount.inc:151
+#, fuzzy
+msgid "password not changeable"
+msgstr "活动,口令不可更改"
+
+#: plugins/personal/posix/class_posixAccount.inc:153
+#, fuzzy
+msgid "password expired"
+msgstr "活动,口令过期"
+
+#: plugins/personal/posix/class_posixAccount.inc:226
+msgid "automatic"
+msgstr "自动"
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:173
+#: plugins/admin/users/class_userManagement.inc:891
+msgid "Samba"
+msgstr "Samba"
+
+#: plugins/personal/posix/class_posixAccount.inc:290
+#: plugins/admin/groups/class_groupManagement.inc:197
+#: plugins/admin/users/class_userManagement.inc:899
+msgid "Environment"
+msgstr "环境设置"
+
+#: plugins/personal/posix/class_posixAccount.inc:374
+#, php-format
+msgid "Password can't be changed up to %s days after last change"
+msgstr "自上次更改以来 %s 天,不能修改口令"
+
+#: plugins/personal/posix/class_posixAccount.inc:378
+#, php-format
+msgid "Password must be changed after %s days"
+msgstr "口令必须在 %s 天之后更改"
+
+#: plugins/personal/posix/class_posixAccount.inc:382
+#, fuzzy, php-format
+msgid "Disable account after %s days of inactivity after password expiry"
+msgstr "口令过期 %s 天后,禁用账号"
+
+#: plugins/personal/posix/class_posixAccount.inc:386
+#, fuzzy, php-format
+msgid "Warn user %s days before password expiry"
+msgstr "在口令过期 %s 天之前警告用户"
+
+#: plugins/personal/posix/class_posixAccount.inc:651
+msgid "Timeout while waiting for lock. Ignoring lock!"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:709
+#: plugins/personal/posix/class_posixAccount.inc:1000
+msgid "Group of user"
+msgstr "用户组"
+
+#: plugins/personal/posix/class_posixAccount.inc:774
+msgid ""
+"A duplicated UID number was written for this user. If this was not intended "
+"please verify all used uidNumbers!"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:892
+#: plugins/personal/posix/class_posixAccount.inc:945
+#, fuzzy
+msgid "shadowMin"
+msgstr "显示终端"
+
+#: plugins/personal/posix/class_posixAccount.inc:897
+#: plugins/personal/posix/class_posixAccount.inc:950
+msgid "shadowMax"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:902
+#: plugins/personal/posix/class_posixAccount.inc:955
+#, fuzzy
+msgid "shadowWarning"
+msgstr "显示分区"
+
+#: plugins/personal/posix/class_posixAccount.inc:916
+#: plugins/personal/posix/class_posixAccount.inc:969
+#, fuzzy
+msgid "shadowInactive"
+msgstr "显示打印机"
+
+#: plugins/personal/posix/class_posixAccount.inc:1293
+#, fuzzy
+msgid "POSIX account"
+msgstr "GLPI 账号"
+
+#: plugins/personal/posix/class_posixAccount.inc:1311
+#, fuzzy
+msgid "Group ID"
+msgstr "组"
+
+#: plugins/personal/posix/class_posixAccount.inc:1313
+#, fuzzy
+msgid "Shadow last changed"
+msgstr "显示软件包"
+
+#: plugins/personal/posix/class_posixAccount.inc:1314
+#, fuzzy
+msgid "Last login"
+msgstr "姓"
+
+#: plugins/personal/posix/class_posixAccount.inc:1316
+#, fuzzy
+msgid "Force password change on login"
+msgstr "不允许修改口令"
+
+#: plugins/personal/posix/class_posixAccount.inc:1317
+#, fuzzy
+msgid "Shadow min"
+msgstr "显示终端"
+
+#: plugins/personal/posix/class_posixAccount.inc:1318
+msgid "Shadow max"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:1319
+#, fuzzy
+msgid "Shadow warning"
+msgstr "显示分区"
+
+#: plugins/personal/posix/class_posixAccount.inc:1320
+#, fuzzy
+msgid "Shadow inactive"
+msgstr "显示打印机"
+
+#: plugins/personal/posix/class_posixAccount.inc:1321
+#, fuzzy
+msgid "Shadow expire"
+msgstr "显示人员"
+
+#: plugins/personal/posix/class_posixAccount.inc:1322
+msgid "Public SSH key"
+msgstr ""
+
+#: plugins/personal/posix/class_posixAccount.inc:1323
+#, fuzzy
+msgid "System trust model"
+msgstr "信赖的系统"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "disabled"
+msgstr "禁用"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:173
+msgid "full access"
+msgstr "完全访问权限"
+
+#: plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc:174
+msgid "allow access to these hosts"
+msgstr "允许访问这些主机"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:2
+#: plugins/admin/groups/class_group.inc:1065
+#: plugins/admin/ogroups/class_ogroup.inc:864
+msgid "System trust"
+msgstr "信赖的系统"
+
+#: plugins/personal/posix/trustModeDialog/generic.tpl:5
+#: plugins/personal/posix/trustModeDialog/generic.tpl:21
+msgid "Trust mode"
+msgstr "信赖模式"
+
+#: plugins/personal/password/password.tpl:10
+#, fuzzy
+msgid "Your Password has expired. Please choose a new password."
+msgstr "您的口令已经过期 !! 选择一个新口令"
+
+#: plugins/personal/password/class_password.inc:27
+#, fuzzy
+msgid "Change user password"
+msgstr "修改口令"
+
+#: plugins/personal/password/class_password.inc:156
+msgid ""
+"The password you've entered as your current password doesn't match the real "
+"one."
+msgstr "您输入的当前口令不正确。"
+
+#: plugins/personal/password/class_password.inc:159
+#, fuzzy
+msgid "You have no permission to change your password."
+msgstr "您无权修改您的口令。"
+
+#: plugins/personal/password/class_password.inc:223
+#, fuzzy
+msgid "User password"
+msgstr "清除口令"
+
+#: plugins/personal/password/class_password.inc:236
+msgid "Script to be called before a password gets locked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:245
+msgid "Script to be called after a password gets locked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:254
+msgid "Script to be called before a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/password/class_password.inc:263
+msgid "Script to be called after a password gets unlocked."
+msgstr ""
+
+#: plugins/personal/generic/generic_certs.tpl:3
+#: plugins/personal/generic/class_user.inc:550
+#: plugins/personal/generic/class_user.inc:572
+#: plugins/personal/generic/generic.tpl:226
+msgid "Certificates"
+msgstr "证书"
+
+#: plugins/personal/generic/generic_certs.tpl:5
+#, fuzzy
+msgid "The users standard certificate"
+msgstr "标准证书"
+
+#: plugins/personal/generic/generic_certs.tpl:8
+msgid "Standard certificate"
+msgstr "标准证书"
+
+#: plugins/personal/generic/generic_certs.tpl:22
+#: plugins/personal/generic/generic_certs.tpl:48
+#: plugins/personal/generic/generic_certs.tpl:74
+#: plugins/addons/propertyEditor/property-list.xml:108
+#: plugins/admin/groups/group-list.xml:98
+#: plugins/admin/ogroups/ogroup-list.xml:98 plugins/admin/acl/acl-list.xml:95
+#: plugins/admin/acl/acl-list.xml:144
+#: plugins/admin/departments/dep-list.xml:160
+#: plugins/admin/departments/dep-list.xml:181
+#: plugins/admin/users/user-list.xml:121
+msgid "Remove"
+msgstr "删除"
+
+#: plugins/personal/generic/generic_certs.tpl:31
+#, fuzzy
+msgid "The users S/MIME certificate"
+msgstr "S/MIME 证书"
+
+#: plugins/personal/generic/generic_certs.tpl:34
+msgid "S/MIME certificate"
+msgstr "S/MIME 证书"
+
+#: plugins/personal/generic/generic_certs.tpl:57
+#, fuzzy
+msgid "The users PKCS12 certificate"
+msgstr "PKCS12 证书"
+
+#: plugins/personal/generic/generic_certs.tpl:60
+msgid "PKCS12 certificate"
+msgstr "PKCS12 证书"
+
+#: plugins/personal/generic/generic_certs.tpl:83
+#: plugins/personal/generic/class_user.inc:1663
+msgid "Certificate serial number"
+msgstr "证书系列号"
+
+#: plugins/personal/generic/paste_generic.tpl:3
+#, fuzzy
+msgid "Paste user"
+msgstr "粘贴"
+
+#: plugins/personal/generic/paste_generic.tpl:6
+#: plugins/personal/generic/generic.tpl:1
+#: plugins/personal/generic/generic.tpl:3
+msgid "Personal information"
+msgstr "个人信息"
+
+#: plugins/personal/generic/paste_generic.tpl:8
+#: plugins/personal/generic/generic.tpl:37 plugins/admin/users/template.tpl:23
+msgid "Last name"
+msgstr "姓"
+
+#: plugins/personal/generic/paste_generic.tpl:12
+#: plugins/personal/generic/generic.tpl:51 plugins/admin/users/template.tpl:27
+msgid "First name"
+msgstr "名"
+
+#: plugins/personal/generic/paste_generic.tpl:24
+msgid "Clear password"
+msgstr "清除口令"
+
+#: plugins/personal/generic/paste_generic.tpl:25
+msgid "Set new password"
+msgstr "设置新密码"
+
+#: plugins/personal/generic/paste_generic.tpl:31
+#: plugins/personal/generic/generic.tpl:8
+#: plugins/personal/generic/generic_picture.tpl:2
+#, fuzzy
+msgid "The users picture"
+msgstr "用户图片"
+
+#: plugins/personal/generic/paste_generic.tpl:43
+#: plugins/personal/generic/generic_picture.tpl:13
+msgid "Remove picture"
+msgstr "删除图片"
+
+#: plugins/personal/generic/class_user.inc:38
+#, fuzzy
+msgid "Edit organizational user settings"
+msgstr "应用程序设置"
+
+#: plugins/personal/generic/class_user.inc:297
+msgid "Please add a single IP address or a network/net mask combination!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:339
+msgid "female"
+msgstr "女"
+
+#: plugins/personal/generic/class_user.inc:339
+msgid "male"
+msgstr "男"
+
+#: plugins/personal/generic/class_user.inc:395
+#, fuzzy
+msgid "Password configuration"
+msgstr "下载配置"
+
+#: plugins/personal/generic/class_user.inc:429
+msgid "Cannot upload file!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:522
+#, fuzzy
+msgid "Serial number"
+msgstr "电话号码"
+
+#: plugins/personal/generic/class_user.inc:544
+#: plugins/personal/generic/class_user.inc:1716
+#: plugins/personal/generic/generic_picture.tpl:1
+msgid "User picture"
+msgstr "用户图片"
+
+#: plugins/personal/generic/class_user.inc:569
+msgid "(Not supported certificate types are marked as invalid.)"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:579
+#, php-format
+msgid "Certificate is valid from %s to %s and is currently %s."
+msgstr "证书从 %s 到 %s 是有效的,当前为 %s。"
+
+#: plugins/personal/generic/class_user.inc:582
+msgid "valid"
+msgstr "有效"
+
+#: plugins/personal/generic/class_user.inc:583
+msgid "invalid"
+msgstr "无效"
 
-#: plugins/admin/departments/generic.tpl:79
-#: plugins/admin/departments/generic.tpl:91
-#: plugins/admin/departments/class_localityGeneric.inc:91
-#: plugins/admin/departments/class_organizationGeneric.inc:130
-#: plugins/admin/departments/class_department.inc:671
-#: plugins/admin/departments/organization.tpl:78
-#: plugins/admin/departments/organization.tpl:90
-#: plugins/personal/generic/class_user.inc:1708
-#: plugins/personal/generic/generic.tpl:441
-msgid "Location"
-msgstr "位置"
+#: plugins/personal/generic/class_user.inc:588
+msgid "No certificate installed"
+msgstr "未安装证书"
 
-#: plugins/admin/departments/generic.tpl:83
+#: plugins/personal/generic/class_user.inc:614
+#, fuzzy
+msgid "The selected password method is no longer available."
+msgstr "此应用程序不再可用。"
+
+#: plugins/personal/generic/class_user.inc:1051
+msgid ""
+"Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-"
+"imagick' to be installed!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1177
+msgid "Cannot build RDN: no + allowed to build sub RDN!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1184
+msgid "Cannot build RDN: attribute is not defined!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1202
+msgid "Cannot build RDN: invalid attribute parameters!"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1273
+#, fuzzy
+msgid "The selected password method requires initial configuration!"
+msgstr "此应用程序不再可用。"
+
+#: plugins/personal/generic/class_user.inc:1349
+#: plugins/personal/generic/class_user.inc:1739
+#: plugins/personal/generic/class_user.inc:1842
+#: plugins/personal/generic/generic.tpl:201
+msgid "Homepage"
+msgstr "个人主页"
+
+#: plugins/personal/generic/class_user.inc:1354
+#: plugins/personal/generic/class_user.inc:1845
+#: plugins/personal/generic/generic.tpl:394
+#: plugins/personal/generic/generic.tpl:574
+#: plugins/admin/groups/class_groupManagement.inc:181
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:55
+#: plugins/admin/ogroups/class_ogroupManagement.inc:188
+#: plugins/admin/departments/organization.tpl:109
+#: plugins/admin/departments/class_department.inc:376
+#: plugins/admin/departments/generic.tpl:110
+#: plugins/admin/users/class_userManagement.inc:907
+msgid "Phone"
+msgstr "电话"
+
+#: plugins/personal/generic/class_user.inc:1357
+#: plugins/personal/generic/class_user.inc:1848
+#: plugins/personal/generic/generic.tpl:419
+#: plugins/personal/generic/generic.tpl:586
+#: plugins/admin/departments/organization.tpl:117
+#: plugins/admin/departments/class_department.inc:379
+#: plugins/admin/departments/class_department.inc:683
+#: plugins/admin/departments/class_organizationGeneric.inc:133
+#: plugins/admin/departments/generic.tpl:118
+msgid "Fax"
+msgstr "传真"
+
+#: plugins/personal/generic/class_user.inc:1360
+#: plugins/personal/generic/class_user.inc:1851
+#: plugins/personal/generic/generic.tpl:403
+msgid "Mobile"
+msgstr "手机"
+
+#: plugins/personal/generic/class_user.inc:1363
+#: plugins/personal/generic/class_user.inc:1854
+#: plugins/personal/generic/generic.tpl:411
+msgid "Pager"
+msgstr "呼机"
+
+#: plugins/personal/generic/class_user.inc:1483
+#, fuzzy
+msgid "Cannot open certificate!"
+msgstr "无法打开指定证书!"
+
+#: plugins/personal/generic/class_user.inc:1655
+#: plugins/personal/generic/generic.tpl:526
+msgid "Unit"
+msgstr "单元"
+
+#: plugins/personal/generic/class_user.inc:1656
+#: plugins/personal/generic/generic.tpl:551
+msgid "House identifier"
+msgstr "家庭角色"
+
+#: plugins/personal/generic/class_user.inc:1657
+#: plugins/personal/generic/generic.tpl:468
+msgid "Vocation"
+msgstr "行业"
+
+#: plugins/personal/generic/class_user.inc:1658
+#: plugins/personal/generic/generic.tpl:595
+msgid "Last delivery"
+msgstr "最后传递"
+
+#: plugins/personal/generic/class_user.inc:1659
+#: plugins/personal/generic/generic.tpl:517
+msgid "Person locality"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1660
+#: plugins/personal/generic/generic.tpl:476
+msgid "Unit description"
+msgstr "单元描述"
+
+#: plugins/personal/generic/class_user.inc:1661
+#: plugins/personal/generic/generic.tpl:485
+msgid "Subject area"
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1662
+#: plugins/personal/generic/generic.tpl:494
+msgid "Functional title"
+msgstr "单位职称"
+
+#: plugins/personal/generic/class_user.inc:1666
+#: plugins/personal/generic/generic.tpl:503 plugins/admin/acl/acl-list.xml:23
+#: plugins/admin/acl/acl-list.xml:82 plugins/admin/acl/class_aclRole.inc:714
+msgid "Role"
+msgstr "角色"
+
+#: plugins/personal/generic/class_user.inc:1667
+#: plugins/personal/generic/generic.tpl:543
+msgid "Postal code"
+msgstr "邮编"
+
+#: plugins/personal/generic/class_user.inc:1671
+#, fuzzy
+msgid "Generic user settings"
+msgstr "通用队列设置"
+
+#: plugins/personal/generic/class_user.inc:1692
+msgid ""
+"Pattern for the generation of user DNs. Please read the FAQ for details."
+msgstr ""
+
+#: plugins/personal/generic/class_user.inc:1706
+#, fuzzy
+msgid "Allow definition of custom filters"
+msgstr "配置文件"
+
+#: plugins/personal/generic/class_user.inc:1712
+#: plugins/personal/generic/generic.tpl:140
+msgid "Sex"
+msgstr "性别"
+
+#: plugins/personal/generic/class_user.inc:1713
+#: plugins/personal/generic/generic.tpl:154
+#, fuzzy
+msgid "Preferred language"
+msgstr "首选语种"
+
+#: plugins/personal/generic/class_user.inc:1718
+#, fuzzy
+msgid "Login restrictions"
+msgstr "口令过期截止日"
+
+#: plugins/personal/generic/class_user.inc:1721
+#: plugins/personal/generic/generic.tpl:306
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:15
+#: plugins/admin/ogroups/class_ogroupManagement.inc:186
+#: plugins/admin/departments/dep-list.xml:55
+#: plugins/admin/departments/dep-list.xml:71
+#: plugins/admin/departments/dep-list.xml:138
+#: plugins/admin/departments/class_departmentManagement.inc:253
+msgid "Department"
+msgstr "部门"
+
+#: plugins/personal/generic/class_user.inc:1723
+#: plugins/personal/generic/generic.tpl:339
+#: plugins/personal/generic/generic.tpl:355
+#: plugins/admin/departments/dcObject.tpl:39
+#: plugins/admin/departments/country.tpl:39
+#: plugins/admin/departments/class_countryGeneric.inc:93
+#: plugins/admin/departments/organization.tpl:51
+#: plugins/admin/departments/class_department.inc:684
+#: plugins/admin/departments/class_domain.inc:93
+#: plugins/admin/departments/class_organizationGeneric.inc:127
+#: plugins/admin/departments/generic.tpl:51
+#: plugins/admin/departments/locality.tpl:39
+#: plugins/admin/departments/class_localityGeneric.inc:93
+#: plugins/admin/departments/class_dcObject.inc:92
+#: plugins/admin/departments/domain.tpl:39
+#, fuzzy
+msgid "Manager"
+msgstr "域用户"
+
+#: plugins/personal/generic/class_user.inc:1727
+#, fuzzy
+msgid "Room number"
+msgstr "电话号码"
+
+#: plugins/personal/generic/class_user.inc:1728
+#, fuzzy
+msgid "Telephone number"
+msgstr "电话号码"
+
+#: plugins/personal/generic/class_user.inc:1729
+#, fuzzy
+msgid "Pager number"
+msgstr "电话号码"
+
+#: plugins/personal/generic/class_user.inc:1730
+#, fuzzy
+msgid "Mobile number"
+msgstr "电话号码"
+
+#: plugins/personal/generic/class_user.inc:1731
+#, fuzzy
+msgid "Fax number"
+msgstr "系列号"
+
+#: plugins/personal/generic/class_user.inc:1733
+#: plugins/personal/generic/generic.tpl:444
+#: plugins/admin/departments/organization.tpl:86
+#: plugins/admin/departments/class_department.inc:679
 #: plugins/admin/departments/class_organizationGeneric.inc:129
-#: plugins/admin/departments/class_department.inc:670
-#: plugins/admin/departments/organization.tpl:82
-#: plugins/personal/generic/class_user.inc:1707
-#: plugins/personal/generic/generic.tpl:449
+#: plugins/admin/departments/generic.tpl:87
 msgid "State"
 msgstr "州/省"
 
-#: plugins/admin/departments/generic.tpl:86
-#: plugins/admin/departments/organization.tpl:85
-msgid "State where this subtree is located"
-msgstr "这个子树位于的状态"
+#: plugins/personal/generic/class_user.inc:1735
+#: plugins/personal/generic/generic.tpl:183
+#: plugins/admin/departments/class_organizationGeneric.inc:131
+msgid "Postal address"
+msgstr "地址"
 
-#: plugins/admin/departments/generic.tpl:94
-#: plugins/admin/departments/organization.tpl:93
-msgid "Location of this subtree"
-msgstr "这个子树的位置"
+#: plugins/personal/generic/class_user.inc:1740
+#, fuzzy
+msgid "User password method"
+msgstr "口令存储"
 
-#: plugins/admin/departments/generic.tpl:99
-#: plugins/admin/departments/class_department.inc:672
-#: plugins/admin/departments/organization.tpl:98
-#: plugins/personal/generic/generic.tpl:183
-#: plugins/personal/generic/generic.tpl:457
+#: plugins/personal/generic/class_user.inc:1741
+#, fuzzy
+msgid "User certificates"
+msgstr "编辑证书"
+
+#: plugins/personal/generic/class_user.inc:1949
+#, fuzzy
+msgid "Entries differ"
+msgstr "每页条目数"
+
+#: plugins/personal/generic/generic.tpl:21
+msgid "Change picture"
+msgstr "更换图片"
+
+#: plugins/personal/generic/generic.tpl:41
+#: plugins/personal/generic/generic.tpl:55
+#: plugins/personal/generic/generic.tpl:73 plugins/admin/groups/generic.tpl:14
+msgid "Multiple edit"
+msgstr ""
+
+#: plugins/personal/generic/generic.tpl:83
+msgid "Template name"
+msgstr "模板名称"
+
+#: plugins/personal/generic/generic.tpl:185
+#: plugins/personal/generic/generic.tpl:452
+#: plugins/admin/departments/organization.tpl:102
+#: plugins/admin/departments/class_department.inc:681
+#: plugins/admin/departments/generic.tpl:103
 msgid "Address"
 msgstr "住址"
 
-#: plugins/admin/departments/generic.tpl:102
-#: plugins/admin/departments/organization.tpl:101
-msgid "Postal address of this subtree"
-msgstr "这个子树的地址"
+#: plugins/personal/generic/generic.tpl:193
+msgid "Private phone"
+msgstr "私人电话"
 
-#: plugins/admin/departments/generic.tpl:109
-#: plugins/admin/departments/organization.tpl:108
-msgid "Base telephone number of this subtree"
-msgstr "这个子树的电话号码"
+#: plugins/personal/generic/generic.tpl:209
+msgid "Password storage"
+msgstr "口令存储"
 
-#: plugins/admin/departments/generic.tpl:114
-#: plugins/admin/departments/class_organizationGeneric.inc:133
-#: plugins/admin/departments/class_department.inc:373
-#: plugins/admin/departments/class_department.inc:674
-#: plugins/admin/departments/organization.tpl:113
-#: plugins/personal/generic/class_user.inc:1359
-#: plugins/personal/generic/class_user.inc:1822
-#: plugins/personal/generic/generic.tpl:423
-#: plugins/personal/generic/generic.tpl:591
-msgid "Fax"
-msgstr "传真"
+#: plugins/personal/generic/generic.tpl:229
+msgid "Edit certificates"
+msgstr "编辑证书"
 
-#: plugins/admin/departments/generic.tpl:117
-#: plugins/admin/departments/organization.tpl:116
-msgid "Base facsimile telephone number of this subtree"
-msgstr "这个子树的传真号码"
+#: plugins/personal/generic/generic.tpl:241
+msgid "Restrict login to"
+msgstr ""
 
-#: plugins/admin/departments/class_domain.inc:81
-#: plugins/admin/departments/class_domain.inc:82
-#: plugins/admin/departments/class_departmentManagement.inc:201
-#: plugins/admin/departments/class_dcObject.inc:81
-#: plugins/admin/departments/class_dcObject.inc:82
+#: plugins/personal/generic/generic.tpl:249
+#: plugins/personal/generic/generic.tpl:269
+msgid "IP or network"
+msgstr ""
+
+#: plugins/personal/generic/generic.tpl:285
+#: plugins/personal/generic/generic.tpl:288
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
+msgid "Organizational information"
+msgstr "组织信息"
+
+#: plugins/personal/generic/generic.tpl:296
+#: plugins/personal/generic/generic.tpl:383
+#: plugins/personal/generic/generic.tpl:434
+#: plugins/personal/generic/generic.tpl:466
+#: plugins/personal/generic/generic.tpl:515
+#: plugins/personal/generic/generic.tpl:564
 #, fuzzy
-msgid "Domain Component"
-msgstr "域管理员"
+msgid "part"
+msgstr "总结"
 
-#: plugins/admin/departments/class_departmentManagement.inc:25
-#: plugins/admin/departments/class_department.inc:657
-#: plugins/admin/departments/class_department.inc:662
-msgid "Departments"
-msgstr "部门"
+#: plugins/personal/generic/generic.tpl:314
+msgid "Department No."
+msgstr "部门编号"
 
-#: plugins/admin/departments/class_departmentManagement.inc:26
+#: plugins/personal/generic/generic.tpl:322
+msgid "Employee No."
+msgstr "员工编号"
+
+#: plugins/personal/generic/generic.tpl:385
+#: plugins/personal/generic/generic.tpl:566
+msgid "Room No."
+msgstr "房间号"
+
+#: plugins/personal/generic/generic.tpl:580
+msgid "Please use the phone tab"
+msgstr "请使用电话页面"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:1
 #, fuzzy
-msgid "Manage Departments"
-msgstr "部门"
+msgid "List of dynamic rules"
+msgstr "宏列表"
 
-#: plugins/admin/departments/class_departmentManagement.inc:122
-msgid ""
-"As soon as the tag operation has finished, you can scroll down to end of the "
-"page and    press the 'Continue' button to continue with the department "
-"management dialog."
+#: plugins/addons/dyngroup/dyngroup.tpl:3
+msgid "Labeled URI definitions"
+msgstr ""
+
+#: plugins/addons/dyngroup/dyngroup.tpl:6
+#, fuzzy
+msgid "Scope"
+msgstr "复制"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:7
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:119
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:121
+#, fuzzy
+msgid "Attribute"
+msgstr "电话属性"
+
+#: plugins/addons/dyngroup/dyngroup.tpl:8
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:126
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+#: plugins/generic/references/class_aclResolver.inc:169
+#, fuzzy
+msgid "Filter"
+msgstr "过滤器"
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:105
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:327
+msgid "Labeled URI"
+msgstr ""
+
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:128
+msgid "Surrounding brackets are required!"
 msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:122
-#, fuzzy
-msgid "Organization name"
-msgstr "组织/公司"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:136
+#, php-format
+msgid "The given filter '%s' for entry %s seems to be invalid!"
+msgstr ""
 
-#: plugins/admin/departments/class_organizationGeneric.inc:131
-#: plugins/personal/generic/class_user.inc:1709
-msgid "Postal address"
-msgstr "地址"
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:166
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:168
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:319
+#: plugins/addons/dyngroup/class_DynamicLdapGroup.inc:320
+#, fuzzy
+msgid "Dynamic object"
+msgstr "对象"
 
-#: plugins/admin/departments/class_organizationGeneric.inc:132
-msgid "Phone number"
-msgstr "电话号码"
+#: plugins/addons/propertyEditor/property-filter.xml:15
+#, fuzzy
+msgid "Effective properties"
+msgstr "编辑通用属性"
 
-#: plugins/admin/departments/class_countryGeneric.inc:91
-#: plugins/admin/departments/country.tpl:11
+#: plugins/addons/propertyEditor/property-filter.xml:29
 #, fuzzy
-msgid "Country name"
-msgstr "国家"
+msgid "Modified properties"
+msgstr "编辑通用属性"
 
-#: plugins/admin/departments/domain.tpl:11
+#: plugins/addons/propertyEditor/property-filter.xml:43
 #, fuzzy
-msgid "Domain name"
-msgstr "域管理员"
+msgid "All properties"
+msgstr "编辑通用属性"
 
-#: plugins/admin/departments/domain.tpl:14
+#: plugins/addons/propertyEditor/property-filter.xml:57
 #, fuzzy
-msgid "Name of domain to create"
-msgstr "要创建子树的名称"
+msgid "LDAP properties"
+msgstr "属性"
 
-#: plugins/admin/departments/country.tpl:14
+#: plugins/addons/propertyEditor/property-filter.xml:71
 #, fuzzy
-msgid "Name of country to create"
-msgstr "要创建子树的名称"
+msgid "Search for property groups"
+msgstr "显示主要组"
+
+#: plugins/addons/propertyEditor/migrate.tpl:3
+msgid "Property migration assistant"
+msgstr ""
 
-#: plugins/admin/departments/class_department.inc:433
+#: plugins/addons/propertyEditor/migrate.tpl:3
 #, fuzzy
-msgid "Cannot find an unused tag for this administrative unit!"
-msgstr "致命错误:无法找到一个未使用的标志来标记管理单元!"
+msgid "Migration steps left"
+msgstr "创建"
 
-#: plugins/admin/departments/class_department.inc:504
-#, php-format
-msgid "Tagging '%s'."
-msgstr "标记 '%s'。"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:31
+#, fuzzy, php-format
+msgid "Migration of property '%s'"
+msgstr "创建"
 
-#: plugins/admin/departments/class_department.inc:585
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:34
 #, php-format
-msgid "Moving '%s' to '%s'"
-msgstr "移动 '%s' 到 '%s'"
+msgid "GOsa has detected objects outside of the configured storage point (%s)."
+msgstr ""
 
-#: plugins/admin/departments/class_department.inc:626
-#, php-format
-msgid "FAILED to copy %s, aborting operation"
-msgstr "拷贝 %s 失败,退出操作"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:161
+msgid "Objects that will be added"
+msgstr ""
 
-#: plugins/admin/departments/class_department.inc:665
-msgid "Department name"
-msgstr "部门名称"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:169
+msgid "Objects that will be moved"
+msgstr ""
 
-#: plugins/admin/departments/class_department.inc:673
-msgid "Telephone"
-msgstr "电话"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:177
+#, fuzzy, php-format
+msgid "Moving object '%s' to '%s'"
+msgstr "移动 '%s' 到 '%s'"
 
-#: plugins/admin/departments/class_department.inc:728
-#, php-format
-msgid "Object '%s' is already tagged"
-msgstr "对象 '%s' 已经做标记"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:204
+#, fuzzy, php-format
+msgid "Migration failed for object %s: DN already exists!"
+msgstr "为对象 '%s' 设置动作状态(FAIstate) 失败,值为 '%s'。"
 
-#: plugins/admin/departments/class_department.inc:735
-#, php-format
-msgid "Adding tag (%s) to object '%s'"
-msgstr "添加标识(%s)到对象 '%s'"
+#: plugins/addons/propertyEditor/migration/class_migrateRDN.inc:208
+#, fuzzy, php-format
+msgid "Migration failed for object %s: please check if it already exists!"
+msgstr "为对象 '%s' 设置动作状态(FAIstate) 失败,值为 '%s'。"
 
-#: plugins/admin/departments/class_department.inc:767
-#, php-format
-msgid "Removing tag from object '%s'"
-msgstr "从对象 '%s' 删除标记"
+#: plugins/addons/propertyEditor/property-list.tpl:3
+#, fuzzy
+msgid "Warning message"
+msgstr "挂起邮件"
 
-#: plugins/admin/departments/dep_iframe.tpl:1
-msgid "Processing the requested operation"
-msgstr "处理请求的操作"
+#: plugins/addons/propertyEditor/property-list.tpl:9
+msgid ""
+"Modifying properties may break your setup, destroy or mess up your LDAP "
+"database, lead to security holes or it can even make a login impossible!"
+msgstr ""
 
-#: plugins/admin/departments/dep_iframe.tpl:7
+#: plugins/addons/propertyEditor/property-list.tpl:10
 msgid ""
-"Your browser doesn't support iframes, please use this link to perform the "
-"requested operation."
-msgstr "您的浏览器不支持 iframe,请使用这个链接来执行请求的操作。"
+"Since configuration properties are stored in the LDAP database a copy/backup "
+"can be handy."
+msgstr ""
 
-#: plugins/admin/departments/organization.tpl:11
-#, fuzzy
-msgid "Name of organization"
-msgstr "组织/公司"
+#: plugins/addons/propertyEditor/property-list.tpl:14
+msgid ""
+"If you've debarred yourself, you can try to set 'ignoreLdapProperties' to "
+"'true' in your gosa.conf main section. This will make GOsa ignore LDAP based "
+"property values."
+msgstr ""
 
-#: plugins/admin/departments/organization.tpl:14
-#, fuzzy
-msgid "Name of organization to create"
-msgstr "要创建子树的名称"
+#: plugins/addons/propertyEditor/property-list.tpl:22
+msgid ""
+"I understand that there are certain risks, but I want to modify properties!"
+msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:2
+#: plugins/addons/propertyEditor/property-list.tpl:38
+msgid "Ignoring LDAP defined properties!"
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.tpl:77
+msgid "Undo"
+msgstr ""
+
+#: plugins/addons/propertyEditor/commandVerifier.tpl:1
 #, fuzzy
-msgid "You are currently moving/renaming this department."
-msgstr "您无权删除这个部门。"
+msgid "Command verifier"
+msgstr "和"
 
-#: plugins/admin/departments/dep_move_confirm.tpl:5
+#: plugins/addons/propertyEditor/commandVerifier.tpl:3
 msgid ""
-"Modifying a departments naming attribute 'ou' or base may corrupt acls and "
-"snapshot entries for all entire objects."
+"Here you can execute commands in the way GOsa does and check the generated "
+"results or errors. This can be very useful especially for the post events "
+"(postcreate, postmodify and postremove) due to the fact that these hook are "
+"executed silently."
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:8
-msgid "GOsa can NOT fix this for you, yet."
+#: plugins/addons/propertyEditor/commandVerifier.tpl:8
+msgid ""
+"Please be careful here, all commands will really be executed on your machine "
+"and may break things!"
 msgstr ""
 
-#: plugins/admin/departments/dep_move_confirm.tpl:11
-msgid ""
-"Before you confirm this action, ensure that everything will be as expected, "
-"possibly the best solution is a backup."
+#: plugins/addons/propertyEditor/commandVerifier.tpl:15
+msgid "The command to check for"
 msgstr ""
 
-#: plugins/admin/acl/class_aclManagement.inc:25
-#: plugins/admin/acl/acl-list.xml:15
+#: plugins/addons/propertyEditor/commandVerifier.tpl:17
 #, fuzzy
-msgid "Acl"
-msgstr "全部"
+msgid "Test"
+msgstr "过期"
 
-#: plugins/admin/acl/class_aclManagement.inc:154
-#, fuzzy
-msgid "ACL Assignment"
-msgstr "管理"
+#: plugins/addons/propertyEditor/class_commandVerifier.inc:56
+msgid "Results"
+msgstr ""
 
-#: plugins/admin/acl/tabs_acl_role.inc:28
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:6
 #, fuzzy
-msgid "ACL Templates"
-msgstr "模板"
+msgid "Preferences"
+msgstr "参考"
 
-#: plugins/admin/acl/class_aclRole.inc:26
-#: plugins/admin/acl/class_aclRole.inc:726
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:7
+msgid ""
+"Configure global and special GOsa settings like hooks and plug-in parameters"
+msgstr ""
+
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:206
 #, fuzzy
-msgid "Access control roles"
-msgstr "访问选项"
+msgid "No description"
+msgstr "单元描述"
 
-#: plugins/admin/acl/class_aclRole.inc:27
+#: plugins/addons/propertyEditor/class_propertyEditor.inc:251
+msgid "Test the given command."
+msgstr ""
+
+#: plugins/addons/propertyEditor/property-list.xml:11
 #, fuzzy
-msgid "Edit AC roles"
-msgstr "MAC 地址"
+msgid "List of configuration settings"
+msgstr "用户设置"
 
-#: plugins/admin/acl/class_aclRole.inc:134
+#: plugins/addons/propertyEditor/property-list.xml:15
 #, fuzzy
-msgid "Reset ACL"
-msgstr "删除"
+msgid "Property not used"
+msgstr "用户组"
 
-#: plugins/admin/acl/class_aclRole.inc:418
-msgid "No ACL settings for this category"
+#: plugins/addons/propertyEditor/property-list.xml:23
+msgid "Property will be restored"
 msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:420
-#, fuzzy, php-format
-msgid "ACL for these objects: %s"
-msgstr "创建新 FAI 对象"
+#: plugins/addons/propertyEditor/property-list.xml:31
+#, fuzzy
+msgid "Modified property"
+msgstr "个人信息"
 
-#: plugins/admin/acl/class_aclRole.inc:426
+#: plugins/addons/propertyEditor/property-list.xml:39
 #, fuzzy
-msgid "Edit category ACL"
-msgstr "编辑分类"
+msgid "Property configured in LDAP"
+msgstr "配置文件"
 
-#: plugins/admin/acl/class_aclRole.inc:430
+#: plugins/addons/propertyEditor/property-list.xml:47
 #, fuzzy
-msgid "Reset category ACL"
-msgstr "分类"
+msgid "Property configured in config file"
+msgstr "配置文件"
 
-#: plugins/admin/acl/class_aclRole.inc:450
-#, php-format
-msgid "Edit ACL for '%s', scope is '%s'"
-msgstr ""
+#: plugins/addons/propertyEditor/property-list.xml:80
+#, fuzzy
+msgid "Class"
+msgstr "类"
 
-#: plugins/admin/acl/class_aclRole.inc:646
+#: plugins/addons/propertyEditor/property-list.xml:88
 #, fuzzy
-msgid "Object in use"
-msgstr "对象名称"
+msgid "Value"
+msgstr "男"
 
-#: plugins/admin/acl/class_aclRole.inc:646
-#, fuzzy, php-format
-msgid "This role cannot be removed while it is in use by these objects:"
-msgstr "这个共享不能被删除,因为仍然被 %d 个用户使用:"
+#: plugins/addons/propertyEditor/property-list.xml:124
+msgid "Restore to default"
+msgstr ""
 
-#: plugins/admin/acl/class_aclRole.inc:725 plugins/admin/acl/acl-list.xml:23
-#: plugins/admin/acl/acl-list.xml:82
-#: plugins/personal/generic/class_user.inc:1664
-#: plugins/personal/generic/generic.tpl:508
-msgid "Role"
-msgstr "角色"
+#: plugins/admin/groups/paste_generic.tpl:1
+msgid "Group settings"
+msgstr "组设置"
 
-#: plugins/admin/acl/class_aclRole.inc:736
+#: plugins/admin/groups/paste_generic.tpl:2
 #, fuzzy
-msgid "Permissions"
-msgstr "允许"
+msgid "Paste group settings"
+msgstr "组设置"
 
-#: plugins/admin/acl/acl-list.xml:11
-#, fuzzy
-msgid "List of acls"
-msgstr "宏列表"
+#: plugins/admin/groups/paste_generic.tpl:5
+#: plugins/admin/groups/generic.tpl:11
+#: plugins/admin/ogroups/paste_generic.tpl:4
+#: plugins/admin/ogroups/generic.tpl:7
+msgid "Group name"
+msgstr "组名"
 
-#: plugins/admin/acl/acl-filter.tpl:11
+#: plugins/admin/groups/paste_generic.tpl:8
+#: plugins/admin/groups/generic.tpl:17
 #, fuzzy
-msgid "Show access control lists"
-msgstr "访问选项"
+msgid "POSIX name of the group"
+msgstr "组的 posix 名称"
 
-#: plugins/admin/acl/acl-filter.tpl:12
+#: plugins/admin/groups/paste_generic.tpl:13
+#: plugins/admin/groups/generic.tpl:59
 #, fuzzy
-msgid "Show roles"
-msgstr "显示电话"
-
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:25
-msgid "Bug submitter"
-msgstr ""
+msgid "Normally IDs are auto-generated, select to specify manually"
+msgstr "一般 ID 是自动创建的,要手工设置请选择"
 
-#: plugins/addons/bugsubmitter/class_bugsubmitter.inc:26
-msgid ""
-"<a\thref='https://oss.gonicus.de/labs/gosa/"
-"newticket'\ttarget='_blank'>Bugsubmitter</a>"
-msgstr ""
+#: plugins/admin/groups/paste_generic.tpl:15
+#: plugins/admin/groups/generic.tpl:62
+msgid "Force GID"
+msgstr "强制 GID"
 
-#: plugins/personal/generic/class_user.inc:38
-#, fuzzy
-msgid "Edit organizational user settings"
-msgstr "应用程序设置"
+#: plugins/admin/groups/paste_generic.tpl:18
+#: plugins/admin/groups/generic.tpl:65
+msgid "Forced ID number"
+msgstr "强制 ID 编号"
 
-#: plugins/personal/generic/class_user.inc:297
-msgid "Please add a single IP address or a network/netmask combination!"
-msgstr ""
+#: plugins/admin/groups/singleUserSelect/singleUser-list.xml:14
+#: plugins/admin/groups/userSelect/user-list.xml:14
+#: plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml:15
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:63
+#: plugins/admin/ogroups/class_ogroupManagement.inc:183
+#: plugins/admin/users/user-list.xml:23 plugins/admin/users/user-list.xml:95
+msgid "User"
+msgstr "用户"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "female"
-msgstr "女"
+#: plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc:29
+#: plugins/admin/groups/userSelect/class_userSelect.inc:26
+#, fuzzy
+msgid "User selection"
+msgstr "组设置"
 
-#: plugins/personal/generic/class_user.inc:340
-msgid "male"
-msgstr "男"
+#: plugins/admin/groups/class_group.inc:166
+#: plugins/admin/groups/class_group.inc:1240
+#, fuzzy
+msgid "Cannot find group SID in your configuration!"
+msgstr "无法在 LDAP 或您的配置文件中查找这个组 SID。"
 
-#: plugins/personal/generic/class_user.inc:408
-msgid "Cannot upload file!"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:310
+msgid "Samba group"
+msgstr "Samba 组"
 
-#: plugins/personal/generic/class_user.inc:503
+#: plugins/admin/groups/class_group.inc:310
 #, fuzzy
-msgid "Serial number"
-msgstr "电话号码"
+msgid "Domain administrators"
+msgstr "域管理员"
 
-#: plugins/personal/generic/class_user.inc:548
-msgid ""
-"(Some types of certificates are currently not supported and may be displayed "
-"as 'invalid'.)"
-msgstr "(目前有的种类的证书不支持,可能显示为“无效”)"
+#: plugins/admin/groups/class_group.inc:310
+msgid "Domain users"
+msgstr "域用户"
+
+#: plugins/admin/groups/class_group.inc:311
+msgid "Domain guests"
+msgstr "域名 guests"
 
-#: plugins/personal/generic/class_user.inc:558
+#: plugins/admin/groups/class_group.inc:316
 #, php-format
-msgid "Certificate is valid from %s to %s and is currently %s."
-msgstr "证书从 %s 到 %s 是有效的,当前为 %s。"
+msgid "Special group (%d)"
+msgstr "特殊组 (%d)"
 
-#: plugins/personal/generic/class_user.inc:561
-msgid "valid"
-msgstr "有效"
+#: plugins/admin/groups/class_group.inc:464
+#, php-format
+msgid "Adding UID '%s' to group '%s' failed: cannot find user object!"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:562
-msgid "invalid"
-msgstr "无效"
+#: plugins/admin/groups/class_group.inc:470
+#, php-format
+msgid "Add UID '%s' to group '%s' failed: UID is used more than once!"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:567
-msgid "No certificate installed"
-msgstr "未安装证书"
+#: plugins/admin/groups/class_group.inc:753
+#, fuzzy, php-format
+msgid "Cannot find any SID for '%s'!"
+msgstr "无法创建文件 '%s'。"
 
-#: plugins/personal/generic/class_user.inc:593
-#, fuzzy
-msgid "The selected password method is no longer available."
-msgstr "此应用程序不再可用。"
+#: plugins/admin/groups/class_group.inc:758
+#, fuzzy, php-format
+msgid "Cannot find any RIDBASE for '%s'!"
+msgstr "无法创建文件 '%s'。"
 
-#: plugins/personal/generic/class_user.inc:1190
-msgid "Cannot build RDN: no + allowed to build sub RDN!"
+#: plugins/admin/groups/class_group.inc:852
+#, php-format
+msgid "The gidNumber '%s' is already in use by %s!"
 msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1197
-msgid "Cannot build RDN: attribute is not defined!"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:1036
+#, fuzzy
+msgid "Generic group settings"
+msgstr "组设置"
 
-#: plugins/personal/generic/class_user.inc:1215
-msgid "Cannot build RDN: invalid attribute parameters!"
-msgstr ""
+#: plugins/admin/groups/class_group.inc:1049
+#, fuzzy
+msgid "RDN for object group storage."
+msgstr "对象组名称"
 
-#: plugins/personal/generic/class_user.inc:1286
+#: plugins/admin/groups/class_group.inc:1063
 #, fuzzy
-msgid "The selected password method requires initial configuration!"
-msgstr "此应用程序不再可用。"
+msgid "Samba group type"
+msgstr "Samba 组"
 
-#: plugins/personal/generic/class_user.inc:1351
-#: plugins/personal/generic/class_user.inc:1713
-#: plugins/personal/generic/class_user.inc:1816
-#: plugins/personal/generic/generic.tpl:199
-msgid "Homepage"
-msgstr "个人主页"
+#: plugins/admin/groups/class_group.inc:1064
+#, fuzzy
+msgid "Samba domain name"
+msgstr "Samba 主目录"
 
-#: plugins/personal/generic/class_user.inc:1362
-#: plugins/personal/generic/class_user.inc:1825
-#: plugins/personal/generic/generic.tpl:407
-msgid "Mobile"
-msgstr "手机"
+#: plugins/admin/groups/class_group.inc:1066
+#, fuzzy
+msgid "Phone pickup group"
+msgstr "成员属于电话应答组"
 
-#: plugins/personal/generic/class_user.inc:1365
-#: plugins/personal/generic/class_user.inc:1828
-#: plugins/personal/generic/generic.tpl:415
-msgid "Pager"
-msgstr "呼机"
+#: plugins/admin/groups/class_group.inc:1067
+#, fuzzy
+msgid "Nagios group"
+msgstr "Nagios 账号"
 
-#: plugins/personal/generic/class_user.inc:1370
-#: plugins/personal/generic/class_user.inc:1685
-#: plugins/personal/generic/generic.tpl:119
-msgid "Date of birth"
-msgstr "生日"
+#: plugins/admin/groups/class_group.inc:1069
+#, fuzzy
+msgid "Group member"
+msgstr "组成员"
+
+#: plugins/admin/groups/class_groupManagement.inc:26
+msgid ""
+"Manage aspects of groups like members, POSIX, desktop, samba and mail "
+"settings"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1485
+#: plugins/admin/groups/class_groupManagement.inc:100
+#: plugins/admin/ogroups/class_ogroupManagement.inc:115
+#: plugins/admin/users/class_userManagement.inc:196
 #, fuzzy
-msgid "Cannot open certificate!"
-msgstr "无法打开指定证书!"
+msgid "Infrastructure error"
+msgstr "PHP 错误"
 
-#: plugins/personal/generic/class_user.inc:1653
-#: plugins/personal/generic/generic.tpl:531
-msgid "Unit"
-msgstr "单元"
+#: plugins/admin/groups/class_groupManagement.inc:158
+#: plugins/admin/users/class_userManagement.inc:884
+#, fuzzy
+msgid "Edit POSIX properties"
+msgstr "编辑 UNIX 属性"
 
-#: plugins/personal/generic/class_user.inc:1654
-#: plugins/personal/generic/generic.tpl:556
-msgid "House identifier"
-msgstr "家庭角色"
+#: plugins/admin/groups/class_groupManagement.inc:166
+#: plugins/admin/users/class_userManagement.inc:888
+msgid "Edit mail properties"
+msgstr "编辑邮件属性"
 
-#: plugins/personal/generic/class_user.inc:1655
-#: plugins/personal/generic/generic.tpl:473
-msgid "Vocation"
-msgstr "行业"
+#: plugins/admin/groups/class_groupManagement.inc:174
+#: plugins/admin/users/class_userManagement.inc:892
+msgid "Edit samba properties"
+msgstr "编辑 samba 属性"
 
-#: plugins/personal/generic/class_user.inc:1656
-#: plugins/personal/generic/generic.tpl:600
-msgid "Last delivery"
-msgstr "最后传递"
+#: plugins/admin/groups/class_groupManagement.inc:182
+#: plugins/admin/users/class_userManagement.inc:908
+msgid "Edit phone properties"
+msgstr "编辑电话属性"
 
-#: plugins/personal/generic/class_user.inc:1657
-#: plugins/personal/generic/generic.tpl:522
-msgid "Person locality"
-msgstr ""
+#: plugins/admin/groups/class_groupManagement.inc:189
+#, fuzzy
+msgid "Menu"
+msgstr "打印机"
 
-#: plugins/personal/generic/class_user.inc:1658
-#: plugins/personal/generic/generic.tpl:481
-msgid "Unit description"
-msgstr "单元描述"
+#: plugins/admin/groups/class_groupManagement.inc:190
+#, fuzzy
+msgid "Edit start menu properties"
+msgstr "编辑 samba 属性"
 
-#: plugins/personal/generic/class_user.inc:1659
-#: plugins/personal/generic/generic.tpl:490
-msgid "Subject area"
-msgstr ""
+#: plugins/admin/groups/class_groupManagement.inc:198
+#: plugins/admin/users/class_userManagement.inc:900
+msgid "Edit environment properties"
+msgstr "编辑环境属性"
 
-#: plugins/personal/generic/class_user.inc:1660
-#: plugins/personal/generic/generic.tpl:499
-msgid "Functional title"
-msgstr "单位职称"
+#: plugins/admin/groups/group-filter.xml:31
+#, fuzzy
+msgid "Default filter2"
+msgstr "参数"
 
-#: plugins/personal/generic/class_user.inc:1661
-#: plugins/personal/generic/generic_certs.tpl:78
-msgid "Certificate serial number"
-msgstr "证书系列号"
+#: plugins/admin/groups/generic.tpl:28 plugins/admin/ogroups/generic.tpl:18
+msgid "Descriptive text for this group"
+msgstr "组的描述文字"
 
-#: plugins/personal/generic/class_user.inc:1662
-#: plugins/personal/generic/generic.tpl:609
-msgid "Public visible"
-msgstr "公开"
+#: plugins/admin/groups/generic.tpl:75 plugins/admin/groups/generic.tpl:102
+msgid "Select to create a samba conform group"
+msgstr "选择创建一个 samba 确认组"
 
-#: plugins/personal/generic/class_user.inc:1663
-#: plugins/personal/generic/generic.tpl:540
-msgid "Street"
-msgstr "街道"
+#: plugins/admin/groups/generic.tpl:87 plugins/admin/groups/generic.tpl:110
+msgid "in domain"
+msgstr "于域"
 
-#: plugins/personal/generic/class_user.inc:1665
-#: plugins/personal/generic/generic.tpl:548
-msgid "Postal code"
-msgstr "邮编"
+#: plugins/admin/groups/generic.tpl:131
+msgid "Members are in a phone pickup group"
+msgstr "成员属于电话应答组"
 
-#: plugins/personal/generic/class_user.inc:1669
+#: plugins/admin/groups/generic.tpl:146
 #, fuzzy
-msgid "Generic user settings"
-msgstr "通用队列设置"
+msgid "Members are in a Nagios group"
+msgstr "成员属于 nagios 组"
 
-#: plugins/personal/generic/class_user.inc:1673
-#: plugins/personal/posix/class_posixAccount.inc:1455
-#: plugins/personal/password/class_password.inc:205
-msgid "My account"
-msgstr "我的账号"
+#: plugins/admin/groups/generic.tpl:174
+#, fuzzy
+msgid "Common group members"
+msgstr "显示组"
 
-#: plugins/personal/generic/class_user.inc:1681
+#: plugins/admin/groups/generic.tpl:183
 #, fuzzy
-msgid "User identification"
-msgstr "用户信息"
+msgid "Partial group members"
+msgstr "组成员"
 
-#: plugins/personal/generic/class_user.inc:1682
-#: plugins/personal/generic/generic.tpl:98
-msgid "Personal title"
-msgstr "个人称谓"
+#: plugins/admin/groups/generic.tpl:188
+msgid "Group members"
+msgstr "组成员"
 
-#: plugins/personal/generic/class_user.inc:1683
-#: plugins/personal/generic/generic.tpl:108
-msgid "Academic title"
-msgstr "学位头衔"
+#: plugins/admin/groups/group-list.xml:11
+msgid "List of groups"
+msgstr "组列表"
 
-#: plugins/personal/generic/class_user.inc:1686
-#: plugins/personal/generic/generic.tpl:138
-msgid "Sex"
-msgstr "性别"
+#: plugins/admin/groups/group-list.xml:57
+#: plugins/admin/ogroups/ogroup-list.xml:57
+#: plugins/admin/departments/dcObject.tpl:8
+#: plugins/admin/departments/dcObject.tpl:9
+#: plugins/admin/departments/country.tpl:8
+#: plugins/admin/departments/country.tpl:9
+#: plugins/admin/departments/organization.tpl:7
+#: plugins/admin/departments/organization.tpl:9
+#: plugins/admin/departments/generic.tpl:7
+#: plugins/admin/departments/generic.tpl:9
+#: plugins/admin/departments/locality.tpl:8
+#: plugins/admin/departments/locality.tpl:9
+#: plugins/admin/departments/domain.tpl:8
+#: plugins/admin/departments/domain.tpl:9 plugins/admin/users/user-list.xml:73
+msgid "Properties"
+msgstr "属性"
 
-#: plugins/personal/generic/class_user.inc:1687
-#, fuzzy
-msgid "Preferred language"
-msgstr "首选语种"
+#: plugins/admin/groups/group-list.xml:91
+#: plugins/admin/ogroups/ogroup-list.xml:91 plugins/admin/acl/acl-list.xml:131
+#: plugins/admin/departments/dep-list.xml:172
+#: plugins/admin/users/user-list.xml:114
+msgid "Edit"
+msgstr "编辑"
 
-#: plugins/personal/generic/class_user.inc:1690
-#: plugins/personal/generic/paste_generic.tpl:47
-msgid "User picture"
-msgstr "用户图片"
+#: plugins/admin/groups/group-list.xml:106
+#: plugins/admin/ogroups/ogroup-list.xml:106
+#: plugins/admin/users/user-list.xml:156
+#, fuzzy
+msgid "Send message"
+msgstr "挂起邮件"
 
-#: plugins/personal/generic/class_user.inc:1692
+#: plugins/admin/groups/group-list.xml:138
 #, fuzzy
-msgid "Login restrictions"
-msgstr "口令过期截止日"
+msgid "Edit group"
+msgstr "主要用户组"
 
-#: plugins/personal/generic/class_user.inc:1696
+#: plugins/admin/groups/group-list.xml:151
 #, fuzzy
-msgid "Department number"
-msgstr "部门名称"
+msgid "Remove group"
+msgstr "服务器"
 
-#: plugins/personal/generic/class_user.inc:1698
+#: plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc:29
 #, fuzzy
-msgid "Employee number"
-msgstr "员工类别"
+msgid "User and group selection"
+msgstr "组设置"
 
-#: plugins/personal/generic/class_user.inc:1699
-#: plugins/personal/generic/generic.tpl:331
-msgid "Employee type"
-msgstr "员工类别"
+#: plugins/admin/ogroups/ogroup-list.xml:11
+msgid "List of object groups"
+msgstr "对象组列表"
 
-#: plugins/personal/generic/class_user.inc:1701
-#, fuzzy
-msgid "Room number"
-msgstr "电话号码"
+#: plugins/admin/ogroups/ogroup-list.xml:15
+#: plugins/admin/ogroups/generic.tpl:1
+msgid "Object group"
+msgstr "对象组"
 
-#: plugins/personal/generic/class_user.inc:1702
+#: plugins/admin/ogroups/ogroup-list.xml:142
 #, fuzzy
-msgid "Telefon number"
-msgstr "电话号码"
+msgid "Edit object group"
+msgstr "对象组"
 
-#: plugins/personal/generic/class_user.inc:1703
+#: plugins/admin/ogroups/ogroup-list.xml:155
 #, fuzzy
-msgid "Pager number"
-msgstr "电话号码"
+msgid "Remove object group"
+msgstr "服务器"
 
-#: plugins/personal/generic/class_user.inc:1704
+#: plugins/admin/ogroups/paste_generic.tpl:1
 #, fuzzy
-msgid "Mobile number"
-msgstr "电话号码"
+msgid "Paste object group"
+msgstr "对象组"
 
-#: plugins/personal/generic/class_user.inc:1705
-#, fuzzy
-msgid "Fax number"
-msgstr "系列号"
+#: plugins/admin/ogroups/paste_generic.tpl:7
+msgid "Please enter the new object group name"
+msgstr "请输入新对象组名称"
 
-#: plugins/personal/generic/class_user.inc:1711
-msgid "Home postal address"
-msgstr "住宅地址"
+#: plugins/admin/ogroups/paste_generic.tpl:16
+msgid "Warning: systems can only inherit from a single object group!"
+msgstr ""
 
-#: plugins/personal/generic/class_user.inc:1712
-#, fuzzy
-msgid "Home phone number"
-msgstr "电话号码"
+#: plugins/admin/ogroups/objectSelect/selectObject-list.xml:47
+#: plugins/admin/ogroups/class_ogroupManagement.inc:192
+msgid "Printer"
+msgstr "打印机"
 
-#: plugins/personal/generic/class_user.inc:1714
+#: plugins/admin/ogroups/objectSelect/class_objectSelect.inc:29
 #, fuzzy
-msgid "User password method"
-msgstr "口令存储"
+msgid "Object selection"
+msgstr "组设置"
 
-#: plugins/personal/generic/class_user.inc:1715
-#, fuzzy
-msgid "User certificates"
-msgstr "编辑证书"
+#: plugins/admin/ogroups/tabs_ogroups.inc:139
+msgid "Phone queue"
+msgstr "电话队列"
 
-#: plugins/personal/generic/class_user.inc:1923
+#: plugins/admin/ogroups/tabs_ogroups.inc:164
 #, fuzzy
-msgid "Entries differ"
-msgstr "每页条目数"
-
-#: plugins/personal/generic/changed.tpl:3
-#: plugins/personal/password/changed.tpl:3
-msgid ""
-"You've successfully changed your password. Remember to change all programms "
-"configured to use it as well."
-msgstr "您已经成功更改口令。还要记住更改相关程序设定。"
+msgid "Groupware"
+msgstr "组名"
 
-#: plugins/personal/generic/generic.tpl:6
-msgid "Personal information"
-msgstr "个人信息"
+#: plugins/admin/ogroups/tabs_ogroups.inc:176
+#, fuzzy
+msgid "System settings"
+msgstr "用户设置"
 
-#: plugins/personal/generic/generic.tpl:20
-#: plugins/personal/generic/generic.tpl:22
-#: plugins/personal/generic/generic.tpl:38
-#: plugins/personal/generic/paste_generic.tpl:37
-#: plugins/personal/generic/generic_picture.tpl:5
-#: plugins/personal/generic/generic_picture.tpl:15
-msgid "Personal picture"
-msgstr "个人图片"
-
-#: plugins/personal/generic/generic.tpl:29
-#: plugins/personal/generic/generic.tpl:40
-msgid "Change picture"
-msgstr "更换图片"
+#: plugins/admin/ogroups/tabs_ogroups.inc:188
+#: plugins/admin/ogroups/tabs_ogroups.inc:213
+#, fuzzy
+msgid "Recipe"
+msgstr "收件人"
 
-#: plugins/personal/generic/generic.tpl:62
-msgid "Template name"
-msgstr "模板名称"
+#: plugins/admin/ogroups/tabs_ogroups.inc:200
+#: plugins/admin/ogroups/tabs_ogroups.inc:222
+msgid "Devices"
+msgstr "设备"
 
-#: plugins/personal/generic/generic.tpl:151
-msgid "Preferred langage"
-msgstr "首选语种"
+#: plugins/admin/ogroups/tabs_ogroups.inc:232
+#, fuzzy
+msgid "Deployment summary"
+msgstr "部门名称"
 
-#: plugins/personal/generic/generic.tpl:191
-msgid "Private phone"
-msgstr "私人电话"
+#: plugins/admin/ogroups/tabs_ogroups.inc:242
+msgid "Desktop"
+msgstr ""
 
-#: plugins/personal/generic/generic.tpl:212
-msgid "Password storage"
-msgstr "口令存储"
+#: plugins/admin/ogroups/tabs_ogroups.inc:259
+msgid "Applications"
+msgstr "应用程序"
 
-#: plugins/personal/generic/generic.tpl:229
-#: plugins/personal/generic/generic_certs.tpl:3
-msgid "Certificates"
-msgstr "证书"
+#: plugins/admin/ogroups/generic.tpl:10
+msgid "Name of the group"
+msgstr "组名称"
 
-#: plugins/personal/generic/generic.tpl:232
-msgid "Edit certificates"
-msgstr "编辑证书"
+#: plugins/admin/ogroups/generic.tpl:41
+msgid "Member objects"
+msgstr "成员对象"
 
-#: plugins/personal/generic/generic.tpl:244
-msgid "Restrict login to"
+#: plugins/admin/ogroups/class_ogroup.inc:244
+msgid "You cannot combine terminals and workstations in one object group!"
 msgstr ""
 
-#: plugins/personal/generic/generic.tpl:250
-#: plugins/personal/generic/generic.tpl:266
-msgid "IP or network"
-msgstr ""
+#: plugins/admin/ogroups/class_ogroup.inc:318
+#: plugins/admin/users/class_userManagement.inc:472
+#: plugins/admin/users/class_userManagement.inc:506
+#: plugins/admin/users/class_userManagement.inc:537
+msgid "none"
+msgstr "无"
 
-#: plugins/personal/generic/generic.tpl:287
-msgid "Organizational information"
-msgstr "组织信息"
+#: plugins/admin/ogroups/class_ogroup.inc:320
+msgid "too many different objects!"
+msgstr "太多不同对象!"
 
-#: plugins/personal/generic/generic.tpl:315
-msgid "Department No."
-msgstr "部门编号"
+#: plugins/admin/ogroups/class_ogroup.inc:322
+msgid "users"
+msgstr "用户"
 
-#: plugins/personal/generic/generic.tpl:323
-msgid "Employee No."
-msgstr "员工编号"
+#: plugins/admin/ogroups/class_ogroup.inc:323
+msgid "groups"
+msgstr "组"
 
-#: plugins/personal/generic/generic.tpl:389
-#: plugins/personal/generic/generic.tpl:571
-msgid "Room No."
-msgstr "房间号"
+#: plugins/admin/ogroups/class_ogroup.inc:324
+msgid "applications"
+msgstr "应用程序"
 
-#: plugins/personal/generic/generic.tpl:585
-msgid "Please use the phone tab"
-msgstr "请使用电话页面"
+#: plugins/admin/ogroups/class_ogroup.inc:325
+msgid "departments"
+msgstr "部门"
 
-#: plugins/personal/generic/paste_generic.tpl:1
-msgid "User settings"
-msgstr "用户设置"
+#: plugins/admin/ogroups/class_ogroup.inc:326
+msgid "servers"
+msgstr "服务器"
 
-#: plugins/personal/generic/paste_generic.tpl:23
-msgid "Clear password"
-msgstr "清除口令"
+#: plugins/admin/ogroups/class_ogroup.inc:327
+msgid "workstations"
+msgstr "工作站"
 
-#: plugins/personal/generic/paste_generic.tpl:24
-msgid "Set new password"
-msgstr "设置新密码"
+#: plugins/admin/ogroups/class_ogroup.inc:328
+#, fuzzy
+msgid "Windows workstations"
+msgstr "显示工作站"
 
-#: plugins/personal/generic/paste_generic.tpl:52
-#: plugins/personal/generic/generic_picture.tpl:27
-msgid "Remove picture"
-msgstr "删除图片"
+#: plugins/admin/ogroups/class_ogroup.inc:329
+msgid "terminals"
+msgstr "终端"
 
-#: plugins/personal/generic/main.inc:168
-msgid "Generic user information"
-msgstr "用户一般信息"
+#: plugins/admin/ogroups/class_ogroup.inc:330
+msgid "phones"
+msgstr "电话"
 
-#: plugins/personal/generic/password.tpl:4
-#: plugins/personal/password/password.tpl:4
+#: plugins/admin/ogroups/class_ogroup.inc:331
+msgid "printers"
+msgstr "打印机"
+
+#: plugins/admin/ogroups/class_ogroup.inc:533
+#, fuzzy
+msgid "Non existing DN:"
+msgstr "不存在的 dn:"
+
+#: plugins/admin/ogroups/class_ogroup.inc:651
+#, php-format
 msgid ""
-"To change your personal password use the fields below. The changes take "
-"effect immediately. Please memorize the new password, because you wouldn't "
-"be able to login without it."
+"These systems are already configured by other object groups and cannot be "
+"added:"
 msgstr ""
-"用下面的表格更改个人口令。口令更改即时生效。请记住新口令,忘记口令将无法登"
-"录。"
 
-#: plugins/personal/generic/password.tpl:42
-#: plugins/personal/password/password.tpl:47
+#: plugins/admin/ogroups/class_ogroup.inc:685
 #, fuzzy
-msgid "Password change dialog"
-msgstr "不允许修改口令"
+msgid "You can combine two different object types at maximum, only!"
+msgstr "您最多只能组合两个不同的对象类!"
 
-#: plugins/personal/generic/password.tpl:90
-#: plugins/personal/password/password.tpl:95
-msgid "Clear fields"
-msgstr "清除字段"
+#: plugins/admin/ogroups/class_ogroup.inc:849
+#, fuzzy
+msgid "Object group generic"
+msgstr "对象组"
 
-#: plugins/personal/generic/generic_certs.tpl:8
-msgid "Standard certificate"
-msgstr "标准证书"
+#: plugins/admin/ogroups/class_ogroup.inc:858
+#: plugins/admin/ogroups/class_ogroupManagement.inc:25
+msgid "Object groups"
+msgstr "对象组"
 
-#: plugins/personal/generic/generic_certs.tpl:33
-msgid "S/MIME certificate"
-msgstr "S/MIME 证书"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:26
+msgid "Combine different types of objects to make use of this relationship"
+msgstr ""
 
-#: plugins/personal/generic/generic_certs.tpl:57
-msgid "PKCS12 certificate"
-msgstr "PKCS12 证书"
+#: plugins/admin/ogroups/class_ogroupManagement.inc:182
+#, fuzzy
+msgid "Templates"
+msgstr "模板"
 
-#: plugins/personal/generic/nochange.tpl:2
-#: plugins/personal/password/nochange.tpl:2
+#: plugins/admin/ogroups/class_ogroupManagement.inc:185
+msgid "Application"
+msgstr "应用程序"
+
+#: plugins/admin/ogroups/class_ogroupManagement.inc:190
 #, fuzzy
-msgid "You have no permission to change your password at this time"
-msgstr "您无权修改您的口令。"
+msgid "Windows Install"
+msgstr "Windows 工作站"
 
-#: plugins/personal/generic/nochange.tpl:5
+#: plugins/admin/acl/tabs_acl_role.inc:28 plugins/admin/acl/acl-filter.xml:33
 #, fuzzy
-msgid "Your password hash method will not be changed!"
-msgstr "您的口令已经过期 !! 选择一个新口令"
+msgid "ACL Templates"
+msgstr "模板"
 
-#: plugins/personal/posix/class_posixAccount.inc:38
+#: plugins/admin/acl/acl-list.xml:11
 #, fuzzy
-msgid "Edit users POSIX settings"
-msgstr "Posix 设置"
+msgid "List of ACLs"
+msgstr "宏列表"
 
-#: plugins/personal/posix/class_posixAccount.inc:168
-msgid "expired"
-msgstr "过期"
+#: plugins/admin/acl/paste_role.tpl:1
+#, fuzzy
+msgid "Paste ACL-role"
+msgstr "删除宏"
 
-#: plugins/personal/posix/class_posixAccount.inc:170
-msgid "grace time active"
-msgstr "时间限制激活"
+#: plugins/admin/acl/acl-filter.xml:48
+#: plugins/admin/acl/class_aclManagement.inc:154
+#, fuzzy
+msgid "ACL Assignment"
+msgstr "管理"
 
-#: plugins/personal/posix/class_posixAccount.inc:173
-#: plugins/personal/posix/class_posixAccount.inc:175
-#: plugins/personal/posix/class_posixAccount.inc:177
-msgid "active"
-msgstr "活动"
+#: plugins/admin/acl/class_aclManagement.inc:26
+msgid ""
+"Control access to GOsa managed objects down to attribute and action level"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:173
+#: plugins/admin/acl/class_aclRole.inc:26
+#: plugins/admin/acl/class_aclRole.inc:715
 #, fuzzy
-msgid "password not changeable"
-msgstr "活动,口令不可更改"
+msgid "Access control roles"
+msgstr "访问选项"
 
-#: plugins/personal/posix/class_posixAccount.inc:175
+#: plugins/admin/acl/class_aclRole.inc:27
 #, fuzzy
-msgid "password expired"
-msgstr "活动,口令过期"
-
-#: plugins/personal/posix/class_posixAccount.inc:248
-msgid "automatic"
-msgstr "自动"
-
-#: plugins/personal/posix/class_posixAccount.inc:444
-#, php-format
-msgid "Password can't be changed up to %s days after last change"
-msgstr "自上次更改以来 %s 天,不能修改口令"
+msgid "Edit AC roles"
+msgstr "MAC 地址"
 
-#: plugins/personal/posix/class_posixAccount.inc:448
-#, php-format
-msgid "Password must be changed after %s days"
-msgstr "口令必须在 %s 天之后更改"
+#: plugins/admin/acl/class_aclRole.inc:138
+#, fuzzy
+msgid "Reset ACL"
+msgstr "删除"
 
-#: plugins/personal/posix/class_posixAccount.inc:452
-#, fuzzy, php-format
-msgid "Disable account after %s days of inactivity after password expiry"
-msgstr "口令过期 %s 天后,禁用账号"
+#: plugins/admin/acl/class_aclRole.inc:411
+msgid "No ACL settings for this category"
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:456
+#: plugins/admin/acl/class_aclRole.inc:413
 #, fuzzy, php-format
-msgid "Warn user %s days before password expiry"
-msgstr "在口令过期 %s 天之前警告用户"
+msgid "ACL for these objects: %s"
+msgstr "创建新 FAI 对象"
 
-#: plugins/personal/posix/class_posixAccount.inc:793
-msgid "Timeout while waiting for lock. Ignoring lock!"
-msgstr ""
+#: plugins/admin/acl/class_aclRole.inc:418
+#, fuzzy
+msgid "Edit category ACL"
+msgstr "编辑分类"
 
-#: plugins/personal/posix/class_posixAccount.inc:851
-#: plugins/personal/posix/class_posixAccount.inc:1169
-msgid "Group of user"
-msgstr "用户组"
+#: plugins/admin/acl/class_aclRole.inc:421
+#, fuzzy
+msgid "Delete category ACL"
+msgstr "分类"
 
-#: plugins/personal/posix/class_posixAccount.inc:946
-msgid ""
-"A duplicated UID number was written for this user. If this was not intended "
-"please verify all used uidNumbers!"
+#: plugins/admin/acl/class_aclRole.inc:442
+#, php-format
+msgid "Edit ACL for '%s', scope is '%s'"
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1027
-#: plugins/personal/posix/class_posixAccount.inc:1030
-#: plugins/personal/posix/class_posixAccount.inc:1105
-#: plugins/personal/posix/class_posixAccount.inc:1108
-#: plugins/personal/posix/class_posixAccount.inc:1461
-#: plugins/personal/posix/generic.tpl:7
-#: plugins/personal/posix/paste_generic.tpl:8
-msgid "Home directory"
-msgstr "用户主目录"
+#: plugins/admin/acl/class_aclRole.inc:635
+#, fuzzy
+msgid "Object in use"
+msgstr "对象名称"
 
-#: plugins/personal/posix/class_posixAccount.inc:1038
-#: plugins/personal/posix/class_posixAccount.inc:1041
-#: plugins/personal/posix/generic.tpl:63
-#: plugins/personal/posix/paste_generic.tpl:36
-msgid "UID"
-msgstr "UID"
+#: plugins/admin/acl/class_aclRole.inc:635
+#, fuzzy, php-format
+msgid "This role cannot be removed while it is in use by these objects:"
+msgstr "这个共享不能被删除,因为仍然被 %d 个用户使用:"
 
-#: plugins/personal/posix/class_posixAccount.inc:1061
-#: plugins/personal/posix/class_posixAccount.inc:1114
+#: plugins/admin/acl/class_aclRole.inc:731
 #, fuzzy
-msgid "shadowMin"
-msgstr "显示终端"
+msgid "RDN for role storage."
+msgstr "Kiosk profile 设置"
 
-#: plugins/personal/posix/class_posixAccount.inc:1066
-#: plugins/personal/posix/class_posixAccount.inc:1119
-msgid "shadowMax"
-msgstr ""
+#: plugins/admin/departments/dcObject.tpl:5
+#: plugins/admin/departments/dep-filter.xml:77
+#: plugins/admin/departments/dep-list.xml:23
+#: plugins/admin/departments/dep-list.xml:110
+#, fuzzy
+msgid "Domain component"
+msgstr "域管理员"
 
-#: plugins/personal/posix/class_posixAccount.inc:1071
-#: plugins/personal/posix/class_posixAccount.inc:1124
+#: plugins/admin/departments/dcObject.tpl:11
+#: plugins/admin/departments/locality.tpl:11
 #, fuzzy
-msgid "shadowWarning"
-msgstr "显示分区"
+msgid "Locality name"
+msgstr "位置名称"
 
-#: plugins/personal/posix/class_posixAccount.inc:1085
-#: plugins/personal/posix/class_posixAccount.inc:1138
+#: plugins/admin/departments/dcObject.tpl:14
+#: plugins/admin/departments/locality.tpl:14
 #, fuzzy
-msgid "shadowInactive"
-msgstr "显示打印机"
+msgid "Name of locality to create"
+msgstr "要创建子树的名称"
+
+#: plugins/admin/departments/dcObject.tpl:22
+#: plugins/admin/departments/country.tpl:22
+#: plugins/admin/departments/organization.tpl:22
+#: plugins/admin/departments/locality.tpl:22
+#: plugins/admin/departments/domain.tpl:22
+msgid "Descriptive text for department"
+msgstr "部门描述文件"
+
+#: plugins/admin/departments/dcObject.tpl:67
+#: plugins/admin/departments/country.tpl:68
+#: plugins/admin/departments/class_countryGeneric.inc:95
+#: plugins/admin/departments/organization.tpl:132
+#: plugins/admin/departments/class_department.inc:686
+#: plugins/admin/departments/class_domain.inc:94
+#: plugins/admin/departments/class_organizationGeneric.inc:135
+#: plugins/admin/departments/generic.tpl:132
+#: plugins/admin/departments/locality.tpl:67
+#: plugins/admin/departments/class_localityGeneric.inc:95
+#: plugins/admin/departments/class_dcObject.inc:94
+#: plugins/admin/departments/domain.tpl:67
+msgid "Administrative settings"
+msgstr "管理设置"
 
-#: plugins/personal/posix/class_posixAccount.inc:1451
+#: plugins/admin/departments/dcObject.tpl:70
+#: plugins/admin/departments/country.tpl:71
+#: plugins/admin/departments/organization.tpl:135
+#: plugins/admin/departments/generic.tpl:135
+#: plugins/admin/departments/locality.tpl:70
+#: plugins/admin/departments/domain.tpl:70
+msgid "Tag department as an independent administrative unit"
+msgstr "将部门标记为独立的管理单元"
+
+#: plugins/admin/departments/dep-filter.xml:49
+#: plugins/admin/departments/country.tpl:5
+#: plugins/admin/departments/class_countryGeneric.inc:82
+#: plugins/admin/departments/class_countryGeneric.inc:83
+#: plugins/admin/departments/dep-list.xml:31
+#: plugins/admin/departments/dep-list.xml:117
+#: plugins/admin/departments/class_departmentManagement.inc:217
+msgid "Country"
+msgstr "国家"
+
+#: plugins/admin/departments/dep-filter.xml:63
+#: plugins/admin/departments/dep-list.xml:39
+#: plugins/admin/departments/dep-list.xml:124
+#: plugins/admin/departments/class_departmentManagement.inc:229
+#: plugins/admin/departments/locality.tpl:5
+#: plugins/admin/departments/class_localityGeneric.inc:82
+#: plugins/admin/departments/class_localityGeneric.inc:83
 #, fuzzy
-msgid "POSIX account"
-msgstr "GLPI 账号"
+msgid "Locality"
+msgstr "位置"
 
-#: plugins/personal/posix/class_posixAccount.inc:1462
-#: plugins/personal/posix/generic.tpl:15
-msgid "Shell"
-msgstr "Shell"
+#: plugins/admin/departments/dep-filter.xml:105
+#: plugins/admin/departments/dep-list.xml:15
+#: plugins/admin/departments/dep-list.xml:103
+#: plugins/admin/departments/class_departmentManagement.inc:193
+#: plugins/admin/departments/domain.tpl:5
+#, fuzzy
+msgid "Domain"
+msgstr "于域"
 
-#: plugins/personal/posix/class_posixAccount.inc:1463
-#: setup/setup_migrate.tpl:291
-msgid "User ID"
-msgstr "用户 ID"
+#: plugins/admin/departments/country.tpl:11
+#: plugins/admin/departments/class_countryGeneric.inc:91
+#, fuzzy
+msgid "Country name"
+msgstr "国家"
 
-#: plugins/personal/posix/class_posixAccount.inc:1464
+#: plugins/admin/departments/country.tpl:14
 #, fuzzy
-msgid "Group ID"
-msgstr "组"
+msgid "Name of country to create"
+msgstr "要创建子树的名称"
 
-#: plugins/personal/posix/class_posixAccount.inc:1466
+#: plugins/admin/departments/dep-list.xml:11
 #, fuzzy
-msgid "Force password change on login"
-msgstr "不允许修改口令"
+msgid "List of structural objects"
+msgstr "对象组列表"
 
-#: plugins/personal/posix/class_posixAccount.inc:1467
+#: plugins/admin/departments/dep_move_confirm.tpl:2
 #, fuzzy
-msgid "Shadow min"
-msgstr "显示终端"
+msgid "You are currently moving/renaming this department."
+msgstr "您无权删除这个部门。"
 
-#: plugins/personal/posix/class_posixAccount.inc:1468
-msgid "Shadow max"
+#: plugins/admin/departments/dep_move_confirm.tpl:6
+msgid ""
+"Modifying a departments naming attribute 'ou' or base may corrupt ACLs and "
+"snapshot entries for all entire objects."
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1469
-#, fuzzy
-msgid "Shadow warning"
-msgstr "显示分区"
-
-#: plugins/personal/posix/class_posixAccount.inc:1470
-#, fuzzy
-msgid "Shadow inactive"
-msgstr "显示打印机"
-
-#: plugins/personal/posix/class_posixAccount.inc:1471
-#, fuzzy
-msgid "Shadow expire"
-msgstr "显示人员"
+#: plugins/admin/departments/dep_move_confirm.tpl:9
+msgid "GOsa can NOT fix this for you, yet."
+msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1472
-msgid "Public SSH key"
+#: plugins/admin/departments/dep_move_confirm.tpl:12
+msgid ""
+"Before you confirm this action, ensure that everything will be as expected, "
+"possibly the best solution is a backup."
 msgstr ""
 
-#: plugins/personal/posix/class_posixAccount.inc:1473
+#: plugins/admin/departments/organization.tpl:11
 #, fuzzy
-msgid "System trust model"
-msgstr "信赖的系统"
+msgid "Name of organization"
+msgstr "组织/公司"
 
-#: plugins/personal/posix/generic.tpl:25
-#: plugins/personal/posix/paste_generic.tpl:17
-msgid "Primary group"
-msgstr "主要用户组"
+#: plugins/admin/departments/organization.tpl:14
+#, fuzzy
+msgid "Name of organization to create"
+msgstr "要创建子树的名称"
 
-#: plugins/personal/posix/generic.tpl:36
-msgid "Status"
-msgstr "状态"
+#: plugins/admin/departments/organization.tpl:30
+#: plugins/admin/departments/generic.tpl:30
+msgid "Category for this subtree"
+msgstr "这个子树的分类"
 
-#: plugins/personal/posix/generic.tpl:41
-#, fuzzy
-msgid "Last logon"
-msgstr "姓"
+#: plugins/admin/departments/organization.tpl:89
+#: plugins/admin/departments/generic.tpl:90
+msgid "State where this subtree is located"
+msgstr "这个子树位于的状态"
 
-#: plugins/personal/posix/generic.tpl:59
-#: plugins/personal/posix/paste_generic.tpl:31
-msgid "Force UID/GID"
-msgstr "指定 UID/GID"
+#: plugins/admin/departments/organization.tpl:97
+#: plugins/admin/departments/generic.tpl:98
+msgid "Location of this subtree"
+msgstr "这个子树的位置"
 
-#: plugins/personal/posix/generic.tpl:89
-#: plugins/personal/posix/paste_generic.tpl:55
-msgid "Group membership"
-msgstr "组成员身份"
+#: plugins/admin/departments/organization.tpl:105
+#: plugins/admin/departments/generic.tpl:106
+msgid "Postal address of this subtree"
+msgstr "这个子树的地址"
 
-#: plugins/personal/posix/generic.tpl:91
-#: plugins/personal/posix/paste_generic.tpl:62
-msgid "(Warning: more than 16 groups are not supported by NFS!)"
-msgstr "(警告:NFS不支持超过 16 个组!)"
+#: plugins/admin/departments/organization.tpl:112
+#: plugins/admin/departments/generic.tpl:113
+msgid "Base telephone number of this subtree"
+msgstr "这个子树的电话号码"
 
-#: plugins/personal/posix/generic.tpl:100
-#, fuzzy
-msgid "Common group"
-msgstr "显示组"
+#: plugins/admin/departments/organization.tpl:120
+#: plugins/admin/departments/generic.tpl:121
+msgid "Base facsimile telephone number of this subtree"
+msgstr "这个子树的传真号码"
 
-#: plugins/personal/posix/generic.tpl:104
+#: plugins/admin/departments/class_department.inc:439
 #, fuzzy
-msgid "Groups differ"
-msgstr "用户组"
-
-#: plugins/personal/posix/generic.tpl:127
-msgid "SSH keys"
-msgstr ""
+msgid "Cannot find an unused tag for this administrative unit!"
+msgstr "致命错误:无法找到一个未使用的标志来标记管理单元!"
 
-#: plugins/personal/posix/generic.tpl:128
-msgid "Edit public ssh keys..."
-msgstr ""
+#: plugins/admin/departments/class_department.inc:507
+#, php-format
+msgid "Tagging '%s'."
+msgstr "标记 '%s'。"
 
-#: plugins/personal/posix/generic.tpl:132
-msgid "Account"
-msgstr "账户"
+#: plugins/admin/departments/class_department.inc:588
+#, php-format
+msgid "Moving '%s' to '%s'"
+msgstr "移动 '%s' 到 '%s'"
 
-#: plugins/personal/posix/posix_groups.tpl:6
-msgid "Select groups to add"
-msgstr "选择要添加的组"
+#: plugins/admin/departments/class_department.inc:629
+#, php-format
+msgid "FAILED to copy %s, aborting operation"
+msgstr "拷贝 %s 失败,退出操作"
 
-#: plugins/personal/posix/posix_groups.tpl:32
-msgid "Display groups of department"
-msgstr "显示部门的组"
+#: plugins/admin/departments/class_department.inc:660
+#: plugins/admin/departments/class_department.inc:671
+msgid "Departments"
+msgstr "部门"
 
-#: plugins/personal/posix/posix_groups.tpl:44
-msgid "Display groups matching"
-msgstr "显示匹配的组"
+#: plugins/admin/departments/class_department.inc:674
+msgid "Department name"
+msgstr "部门名称"
 
-#: plugins/personal/posix/posix_groups.tpl:48
-msgid "Regular expression for matching group names"
-msgstr "用于匹配组名的正则表达式"
+#: plugins/admin/departments/class_department.inc:682
+msgid "Telephone"
+msgstr "电话"
 
-#: plugins/personal/posix/posix_groups.tpl:55
-msgid "Display groups of user"
-msgstr "显示用户组"
+#: plugins/admin/departments/class_department.inc:737
+#, php-format
+msgid "Object '%s' is already tagged"
+msgstr "对象 '%s' 已经做标记"
 
-#: plugins/personal/posix/posix_groups.tpl:59
-msgid "User name of which groups are shown"
-msgstr "显示属于该组的用户名"
+#: plugins/admin/departments/class_department.inc:744
+#, php-format
+msgid "Adding tag (%s) to object '%s'"
+msgstr "添加标识(%s)到对象 '%s'"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:11
-msgid "Show servers"
-msgstr "显示服务器"
+#: plugins/admin/departments/class_department.inc:776
+#, php-format
+msgid "Removing tag from object '%s'"
+msgstr "从对象 '%s' 删除标记"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:12
-msgid "Show workstations"
-msgstr "显示工作站"
+#: plugins/admin/departments/dep_iframe.tpl:1
+msgid "Processing the requested operation"
+msgstr "处理请求的操作"
 
-#: plugins/personal/posix/trustSelect/trust-filter.tpl:13
-msgid "Show terminals"
-msgstr "显示终端"
+#: plugins/admin/departments/dep_iframe.tpl:7
+#, fuzzy
+msgid ""
+"Your browser doesn't support IFRAME HTML elements. Please use this link to "
+"perform the requested operation."
+msgstr "您的浏览器不支持 iframe,请使用这个链接来执行请求的操作。"
 
-#: plugins/personal/posix/paste_generic.tpl:4
-msgid "Posix settings"
-msgstr "Posix 设置"
+#: plugins/admin/departments/class_domain.inc:81
+#: plugins/admin/departments/class_domain.inc:82
+#: plugins/admin/departments/class_departmentManagement.inc:205
+#: plugins/admin/departments/class_dcObject.inc:81
+#: plugins/admin/departments/class_dcObject.inc:82
+#, fuzzy
+msgid "Domain Component"
+msgstr "域管理员"
 
-#: plugins/personal/posix/main.inc:142
+#: plugins/admin/departments/class_organizationGeneric.inc:122
 #, fuzzy
-msgid "POSIX settings"
-msgstr "Posix 设置"
+msgid "Organization name"
+msgstr "组织/公司"
 
-#: plugins/personal/posix/posix_shadow.tpl:9
-msgid "User must change password on first login"
-msgstr "用户必须在第一次登录修改口令"
+#: plugins/admin/departments/class_organizationGeneric.inc:132
+#: plugins/generic/infoPage/class_infoPage.inc:109
+msgid "Phone number"
+msgstr "电话号码"
 
-#: plugins/personal/posix/posix_shadow.tpl:34
-msgid "Password expires on"
-msgstr "口令过期截止日"
+#: plugins/admin/departments/generic.tpl:11
+msgid "Name of department"
+msgstr "部门名称"
 
-#: plugins/personal/password/main.inc:57 setup/setup_config1.tpl:136
-#, fuzzy
-msgid "Password settings"
-msgstr "用户设置"
+#: plugins/admin/departments/generic.tpl:14
+msgid "Name of subtree to create"
+msgstr "要创建子树的名称"
 
-#: plugins/personal/password/password.tpl:14
+#: plugins/admin/departments/generic.tpl:22
 #, fuzzy
-msgid "Your Password has expired. Please choose a new password!"
-msgstr "您的口令已经过期 !! 选择一个新口令"
+msgid "Descriptive text for   department"
+msgstr "部门描述文件"
 
-#: plugins/personal/password/class_password.inc:27
+#: plugins/admin/departments/class_departmentManagement.inc:25
 #, fuzzy
-msgid "Change user password"
-msgstr "修改口令"
-
-#: plugins/personal/password/class_password.inc:129
-msgid "You need to specify your current password in order to proceed."
-msgstr "您需要输入当前口令才能继续。"
-
-#: plugins/personal/password/class_password.inc:135
-msgid "The password you've entered as 'New password' is empty."
-msgstr "输入的“新口令”为空。"
+msgid "Directory structure"
+msgstr "目录"
 
-#: plugins/personal/password/class_password.inc:144
-#, fuzzy, php-format
-msgid "External password changer reported a problem: %s."
-msgstr "外部口令更改程序报告错误:"
+#: plugins/admin/departments/class_departmentManagement.inc:26
+msgid ""
+"Manage organizations, organizational units, localities, countries and more"
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:158
+#: plugins/admin/departments/class_departmentManagement.inc:125
 msgid ""
-"The password you've entered as your current password doesn't match the real "
-"one."
-msgstr "您输入的当前口令不正确。"
+"As soon as the tag operation has finished, you can scroll down to end of the "
+"page and    press the 'Continue' button to continue with the department "
+"management dialog."
+msgstr ""
 
-#: plugins/personal/password/class_password.inc:164
+#: plugins/admin/departments/domain.tpl:11
 #, fuzzy
-msgid "You have no permission to change your password."
-msgstr "您无权修改您的口令。"
+msgid "Domain name"
+msgstr "域管理员"
 
-#: plugins/personal/password/class_password.inc:201
+#: plugins/admin/departments/domain.tpl:14
 #, fuzzy
-msgid "User password"
-msgstr "清除口令"
+msgid "Name of domain to create"
+msgstr "要创建子树的名称"
 
-#: setup/class_setupStep_Feedback.inc:92
-msgid "UNIX accounts/groups"
-msgstr ""
+#: plugins/admin/users/password.tpl:4
+msgid ""
+"To change the user password use the fields below. The changes take effect "
+"immediately. Please memorize the new password, because the user wouldn't be "
+"able to login without it."
+msgstr "用下面的字段修改用口令。修改即时生效。请记住新密码,否则无法登录。"
 
-#: setup/class_setupStep_Feedback.inc:94
+#: plugins/admin/users/password.tpl:11 plugins/admin/users/password.tpl:39
 #, fuzzy
-msgid "Samba management"
-msgstr "系统管理"
+msgid "Password input dialog"
+msgstr "不允许修改口令"
 
-#: setup/class_setupStep_Feedback.inc:96
+#: plugins/admin/users/password.tpl:27 plugins/admin/users/password.tpl:79
 #, fuzzy
-msgid "Mailsystem management"
-msgstr "系统管理"
+msgid "Strength"
+msgstr "街道"
 
-#: setup/class_setupStep_Feedback.inc:98
+#: plugins/admin/users/password.tpl:95
 #, fuzzy
-msgid "FAX system administration"
-msgstr "用户管理"
+msgid "Enforce password change on next login."
+msgstr "不允许修改口令"
 
-#: setup/class_setupStep_Feedback.inc:100
+#: plugins/admin/users/templatize.tpl:2
 #, fuzzy
-msgid "Asterisk administration"
-msgstr "用户管理"
+msgid "Applying a template"
+msgstr "模板"
 
-#: setup/class_setupStep_Feedback.inc:102
-#, fuzzy
-msgid "System inventory"
-msgstr "删除 inventory"
+#: plugins/admin/users/templatize.tpl:6
+msgid ""
+"Applying a template to several users will replace all user attributes "
+"defined in the template."
+msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:104
+#: plugins/admin/users/templatize.tpl:13
 #, fuzzy
-msgid "System-/Configmanagement"
-msgstr "系统管理"
+msgid "Apply user template"
+msgstr "模板"
 
-#: setup/class_setupStep_Feedback.inc:106
-msgid "Addressbook"
-msgstr "地址簿"
+#: plugins/admin/users/templatize.tpl:15 plugins/admin/users/template.tpl:15
+#: plugins/admin/users/class_userManagement.inc:544
+#: plugins/admin/users/user-list.xml:15 plugins/admin/users/user-list.xml:102
+msgid "Template"
+msgstr "模板"
 
-#: setup/class_setupStep_Feedback.inc:112
-msgid "Feedback"
-msgstr ""
+#: plugins/admin/users/templatize.tpl:32
+#, fuzzy
+msgid "No templates available!"
+msgstr "文件可用。"
+
+#: plugins/admin/users/user-filter.xml:33
+msgid "Show templates"
+msgstr "显示模板"
 
-#: setup/class_setupStep_Feedback.inc:113
+#: plugins/admin/users/user-filter.xml:47
 #, fuzzy
-msgid "Get notifications or send feedback"
-msgstr "主机通知命令"
+msgid "Show POSIX users"
+msgstr "Posix 设置"
 
-#: setup/class_setupStep_Feedback.inc:114
-msgid "Notification and feedback"
-msgstr ""
+#: plugins/admin/users/user-filter.xml:61
+#, fuzzy
+msgid "Show SAMBA users"
+msgstr "显示服务器"
 
-#: setup/class_setupStep_Feedback.inc:131 setup/class_setup.inc:77
+#: plugins/admin/users/user-filter.xml:75
 #, fuzzy
-msgid "Setup error"
-msgstr "PHP 错误"
+msgid "Show mail users"
+msgstr "显示邮件用户"
+
+#: plugins/admin/users/template.tpl:2
+msgid "Creating a new user using templates"
+msgstr "用模板创建一个新用户"
 
-#: setup/class_setupStep_Feedback.inc:140
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Feedback error"
+#: plugins/admin/users/template.tpl:6
+msgid ""
+"Creating a new user can be assisted by using templates. Many database "
+"records will be filled automatically. Choose 'none' to skip the usage of "
+"templates."
 msgstr ""
+"可以使用模板来辅助新用户的创建。很多数据记录可以被自动填充。选择“无”来跳过模"
+"板选择。"
 
-#: setup/class_setupStep_Feedback.inc:140
-#, php-format
-msgid "Cannot send feedback to '%s': %s"
+#: plugins/admin/users/template.tpl:13
+msgid "User template selection dialog"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:147
-msgid "Cannot send feedback: service temporarily unavailable"
+#: plugins/admin/users/class_userManagement.inc:26
+msgid ""
+"Manage aspects of user accounts like generic, POSIX, samba and mail settings"
 msgstr ""
 
-#: setup/class_setupStep_Feedback.inc:181
+#: plugins/admin/users/class_userManagement.inc:401
 #, fuzzy
-msgid "Please specify a valid email address."
-msgstr "请输入一个有效的 iSerial。"
+msgid "You have no permission to change this users password!"
+msgstr "您无权修改您的口令。"
 
-#: setup/class_setupStep_Feedback.inc:185
+#: plugins/admin/users/class_userManagement.inc:791
+#, fuzzy
+msgid "Account locking"
+msgstr "账户"
+
+#: plugins/admin/users/class_userManagement.inc:792
+#, php-format
 msgid ""
-"You have to select at least one of both options, subscribe or send feedback."
+"Password method '%s' does not support locking. Account (%s) has not been "
+"locked!"
 msgstr ""
 
-#: setup/class_setup.inc:197
+#: plugins/admin/users/class_userManagement.inc:865
 #, fuzzy
-msgid "Completed"
-msgstr "不完整"
+msgid "Unlock account"
+msgstr "我的账号"
 
-#: setup/class_setup.inc:267 setup/setup_migrate.tpl:272
+#: plugins/admin/users/class_userManagement.inc:867
 #, fuzzy
-msgid "Next"
-msgstr "下一个"
+msgid "Lock account"
+msgstr "我的账号"
 
-#: setup/setup_config2.tpl:2
-msgid "Samba settings"
-msgstr "Samba 设置"
+#: plugins/admin/users/class_userManagement.inc:880
+msgid "Edit generic properties"
+msgstr "编辑通用属性"
 
-#: setup/setup_config2.tpl:6
-msgid "Samba hash generator"
-msgstr ""
+#: plugins/admin/users/class_userManagement.inc:895
+msgid "Netatalk"
+msgstr "Netatalk"
 
-#: setup/setup_config2.tpl:15
+#: plugins/admin/users/class_userManagement.inc:896
 #, fuzzy
-msgid "Samba SID"
-msgstr "Samba"
+msgid "Edit Netatalk properties"
+msgstr "编辑 netatalk 属性"
 
-#: setup/setup_config2.tpl:31
-#, fuzzy
-msgid "RID base"
-msgstr "数据库"
+#: plugins/admin/users/class_userManagement.inc:903
+msgid "FAX"
+msgstr "传真"
 
-#: setup/setup_config2.tpl:46
+#: plugins/admin/users/class_userManagement.inc:904
 #, fuzzy
-msgid "Workstation container"
-msgstr "工作站名称"
-
-#: setup/setup_config2.tpl:61
-msgid "Samba SID mapping"
-msgstr ""
+msgid "Edit FAX properties"
+msgstr "编辑 UNIX 属性"
 
-#: setup/setup_config2.tpl:71
-#, fuzzy
-msgid "Timezone"
-msgstr "用户时区"
+#: plugins/admin/users/user-list.xml:11
+msgid "List of users"
+msgstr "用户列表"
 
-#: setup/setup_config2.tpl:74
+#: plugins/admin/users/user-list.xml:140
 #, fuzzy
-msgid "Please choose your preferred timezone here"
-msgstr "首选语种"
+msgid "Lock users"
+msgstr "用户列表"
 
-#: setup/setup_config2.tpl:96
+#: plugins/admin/users/user-list.xml:148
 #, fuzzy
-msgid "Additional GOsa settings"
-msgstr "应用程序设置"
-
-#: setup/setup_config2.tpl:100
-msgid "Enable Copy & Paste"
-msgstr ""
+msgid "Unlock users"
+msgstr "域用户"
 
-#: setup/setup_config2.tpl:112
+#: plugins/admin/users/user-list.xml:167
 #, fuzzy
-msgid "Government mode"
-msgstr "部门名称"
+msgid "Apply template"
+msgstr "模板"
 
-#: setup/setup_config2.tpl:123
+#: plugins/admin/users/user-list.xml:199
 #, fuzzy
-msgid "GOsa logging"
-msgstr "GOsa"
-
-#: setup/setup_config2.tpl:135
-msgid "Mail settings"
-msgstr "邮件选项"
+msgid "New user from template"
+msgstr "从模板创建用户"
 
-#: setup/setup_config2.tpl:139
-msgid "Mail method"
-msgstr "邮件方法"
+#: plugins/admin/users/user-list.xml:213
+msgid "Edit user"
+msgstr "编辑用户"
 
-#: setup/setup_config2.tpl:155
-msgid "Account identification attribute"
+#: plugins/admin/users/user-list.xml:222
+msgid "%{filter:lockLabel(userPassword)}"
 msgstr ""
 
-#: setup/setup_config2.tpl:169
+#: plugins/admin/users/user-list.xml:245
 #, fuzzy
-msgid "Vacation templates"
-msgstr "工作站模板"
+msgid "Remove user"
+msgstr "删除图片"
 
-#: setup/setup_config2.tpl:185
-msgid "Use Cyrus UNIX style"
+#: plugins/generic/welcome/class_welcome.inc:5
+#: plugins/generic/welcome/class_welcome.inc:6
+msgid "Back to main menu"
 msgstr ""
 
-#: setup/setup_config2.tpl:195
-msgid "Snapshots / Undo"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:15
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:15
+msgid "Maximum"
 msgstr ""
 
-#: setup/setup_config2.tpl:204 setup/setup_config2.tpl:249
-msgid "Enable snapshots"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:16
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:16
+msgid "Average"
 msgstr ""
 
-#: setup/setup_config2.tpl:210 setup/setup_config2.tpl:255
-msgid "Snapshot base"
+#: plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_renderTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_durationTimeChart.inc:17
+#: plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc:17
+msgid "Minimum"
 msgstr ""
 
-#: setup/setup_frame.tpl:12
-#, fuzzy
-msgid "GOsa setup wizard"
-msgstr "GOsa 帮助浏览器"
-
-#: setup/setup_frame.tpl:19
+#: plugins/generic/statistics/chartClasses/class_actionSelectChart.inc:104
 #, fuzzy
-msgid "Installation"
-msgstr "Windows 工作站"
+msgid "Action"
+msgstr "动作"
 
-#: setup/setup_frame.tpl:19
+#: plugins/generic/statistics/chartClasses/class_statChart.inc:73
 #, fuzzy
-msgid "Setup"
-msgstr "设置"
+msgid "Systems"
+msgstr "系统"
 
-#: setup/setup_migrate.tpl:5
-msgid ""
-"During the LDAP inspection, we're going to check for several common pitfalls "
-"that may occur when migration to GOsa base LDAP administration. You may want "
-"to fix the problems below, in order to provide smooth services."
+#: plugins/generic/statistics/statistics.tpl:2
+msgid "Usage statistics"
 msgstr ""
 
-#: setup/setup_migrate.tpl:33
-#, fuzzy
-msgid "Check again"
-msgstr "检查"
-
-#: setup/setup_migrate.tpl:37
-msgid "Add required object classes to the LDAP base"
+#: plugins/generic/statistics/statistics.tpl:5
+#: plugins/generic/statistics/statistics.tpl:10
+msgid ""
+"This feature is disabled. To enable it you have to register GOsa, you can "
+"initiate a registration using the dash-board plugin."
 msgstr ""
 
-#: setup/setup_migrate.tpl:39 setup/setup_migrate.tpl:244
-#: setup/setup_migrate.tpl:344 setup/setup_migrate.tpl:398
-#: setup/setup_migrate.tpl:453 setup/setup_migrate.tpl:496
-#: setup/setup_migrate.tpl:540
+#: plugins/generic/statistics/statistics.tpl:6
+#: plugins/generic/statistics/statistics.tpl:12
 #, fuzzy
-msgid "Current"
-msgstr "当前版本"
+msgid "Dash board"
+msgstr "GOsa 帮助浏览器"
 
-#: setup/setup_migrate.tpl:46 setup/setup_migrate.tpl:248
-#: setup/setup_migrate.tpl:351 setup/setup_migrate.tpl:405
-#: setup/setup_migrate.tpl:457 setup/setup_migrate.tpl:500
-#: setup/setup_migrate.tpl:544
+#: plugins/generic/statistics/statistics.tpl:16
 #, fuzzy
-msgid "After migration"
-msgstr "用户管理"
+msgid ""
+"Communication with the GOsa-backend failed. Please check the RPC "
+"configuration!"
+msgstr "无法连接到指定数据库,请检查您 glpi 设置。"
 
-#: setup/setup_migrate.tpl:54 setup/class_setupStep_Migrate.inc:376
-#: setup/class_setupStep_Migrate.inc:664 setup/class_setupStep_Migrate.inc:806
-#: setup/class_setupStep_Migrate.inc:1035
-#: setup/class_setupStep_Migrate.inc:2133
-#: setup/class_setupStep_Migrate.inc:2576
-#: setup/class_setupStep_Migrate.inc:2730
-#: setup/class_setupStep_Migrate.inc:3060
-#, fuzzy
-msgid "Migrate"
-msgstr "创建"
+#: plugins/generic/statistics/statistics.tpl:22
+msgid "Send"
+msgstr ""
 
-#: setup/setup_migrate.tpl:60 setup/setup_migrate.tpl:107
-msgid "Close"
-msgstr "关闭"
+#: plugins/generic/statistics/statistics.tpl:28
+msgid "Generate report for"
+msgstr ""
 
-#: setup/setup_migrate.tpl:65
-msgid "Move windows workstations into a valid windows workstation department"
+#: plugins/generic/statistics/statistics.tpl:56
+msgid "Update"
 msgstr ""
 
-#: setup/setup_migrate.tpl:67
-msgid ""
-"This dialog allows you to move the displayed windows workstations into a "
-"valid department"
+#: plugins/generic/statistics/statistics.tpl:69
+#: plugins/generic/statistics/statistics.tpl:78
+msgid "No statistic data for given period"
 msgstr ""
 
-#: setup/setup_migrate.tpl:69
+#: plugins/generic/statistics/statistics.tpl:87
+#, fuzzy
+msgid "Select report type"
+msgstr "选择一个位置"
+
+#: plugins/generic/statistics/class_statistics.inc:263
+#, fuzzy, php-format
 msgid ""
-"Be careful with this tool, there may be references pointing to this "
-"workstations that can't be migrated."
+"You have currently %s unsubmitted statistic collection, do you want to "
+"transmit them now?"
+msgstr "您正在编辑一个数据项。您确认要丢弃当前的修改么?"
+
+#: plugins/generic/dashBoard/dbChannelStatus/contents.tpl:1
+#, fuzzy
+msgid "Channels"
+msgstr "取消"
+
+#: plugins/generic/dashBoard/Register/register.tpl:3
+#, fuzzy
+msgid "GOsa registration"
+msgstr "用户设置"
+
+#: plugins/generic/dashBoard/Register/register.tpl:7
+msgid "Do you want to register GOsa and benefit from the features it brings?"
 msgstr ""
 
-#: setup/setup_migrate.tpl:95
-msgid "Move selected windows workstations into the following GOsa department"
+#: plugins/generic/dashBoard/Register/register.tpl:11
+msgid "I do not want to register"
 msgstr ""
 
-#: setup/setup_migrate.tpl:100
-#, fuzzy
-msgid "Move selected workstations"
-msgstr "选择查看工作站"
+#: plugins/generic/dashBoard/Register/register.tpl:17
+#: plugins/generic/dashBoard/dashBoard.tpl:5
+msgid "Register"
+msgstr ""
 
-#: setup/setup_migrate.tpl:101
-msgid "What will be done here"
+#: plugins/generic/dashBoard/Register/register.tpl:19
+msgid "Additionally to the 'Annonomous' account you can:"
 msgstr ""
 
-#: setup/setup_migrate.tpl:113
-msgid "Move groups into configured group tree"
+#: plugins/generic/dashBoard/Register/register.tpl:21
+msgid "Access to 'Premium-Channels'."
 msgstr ""
 
-#: setup/setup_migrate.tpl:116
+#: plugins/generic/dashBoard/Register/register.tpl:22
 msgid ""
-"This dialog allows moving a couple of groups to the configured group tree. "
-"Doing this may straighten your LDAP service."
+"Watch the status of current plugin updates/patches and the availability of "
+"new plugins."
 msgstr ""
 
-#: setup/setup_migrate.tpl:119
-msgid ""
-"Be careful with this option! There may be references pointing to these "
-"groups. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+#: plugins/generic/dashBoard/Register/register.tpl:23
+msgid "Recieve newsletter, if wanted."
 msgstr ""
 
-#: setup/setup_migrate.tpl:122
-msgid "Move selected groups into this group tree"
+#: plugins/generic/dashBoard/Register/register.tpl:24
+msgid "View several usefull statistics about your GOsa installation"
 msgstr ""
 
-#: setup/setup_migrate.tpl:153 setup/setup_migrate.tpl:205
-#: setup/setup_migrate.tpl:254 setup/setup_migrate.tpl:372
-#: setup/setup_migrate.tpl:425 setup/setup_migrate.tpl:469
-#: setup/setup_migrate.tpl:512 setup/setup_migrate.tpl:556
-msgid "Hide changes"
+#: plugins/generic/dashBoard/Register/register.tpl:29
+msgid "What information will be transmitted to the backend and maybe stored:"
 msgstr ""
 
-#: setup/setup_migrate.tpl:155 setup/setup_migrate.tpl:207
-#: setup/setup_migrate.tpl:237 setup/setup_migrate.tpl:374
-#: setup/setup_migrate.tpl:427 setup/setup_migrate.tpl:472
-#: setup/setup_migrate.tpl:515 setup/setup_migrate.tpl:559
-#, fuzzy
-msgid "Show changes"
-msgstr "显示软件包"
+#: plugins/generic/dashBoard/Register/register.tpl:31
+msgid "All personal information filled in the registration form."
+msgstr ""
 
-#: setup/setup_migrate.tpl:168
-msgid "Move users into configured user tree"
+#: plugins/generic/dashBoard/Register/register.tpl:32
+msgid "Information about the installed plugins and their version."
 msgstr ""
 
-#: setup/setup_migrate.tpl:170
+#: plugins/generic/dashBoard/Register/register.tpl:33
 msgid ""
-"This dialog allows moving a couple of users to the configured user tree. "
-"Doing this may straighten your LDAP service."
+"The GOsa-UUID (will be generated during the registration) and a password, to "
+"authenticate."
 msgstr ""
 
-#: setup/setup_migrate.tpl:173
+#: plugins/generic/dashBoard/Register/register.tpl:34
 msgid ""
-"Be careful with this option! There may be references pointing to these "
-"users. The GOsa setup can't migrate references, so you may want to cancel "
-"the migration in this case."
+"The bugs you will report and the corresponding trace. You can select what "
+"information you want to send in."
 msgstr ""
 
-#: setup/setup_migrate.tpl:176
-#, fuzzy
-msgid "Move selected users into this people tree"
-msgstr "创建使用该模板的用户"
-
-#: setup/setup_migrate.tpl:219
-#, fuzzy
-msgid "Migrate GOsa 2.5 administrative accounts"
-msgstr "创建 netatalk 账号"
-
-#: setup/setup_migrate.tpl:221
+#: plugins/generic/dashBoard/Register/register.tpl:35
 msgid ""
-"This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 "
-"useable accounts."
+"When the statistics extension is used. GOsa will transmit information about "
+"plugins, their usage and the amount of objects present in your ldap "
+"database. No sensitive data is transmitted here, just the object type, the "
+"action performed, cpu usage, memory usage, elapsed time..."
 msgstr ""
 
-#: setup/setup_migrate.tpl:257 setup/setup_ldap.tpl:65
-#, fuzzy
-msgid "Reload"
-msgstr "读"
-
-#: setup/setup_migrate.tpl:273
-#, fuzzy
-msgid "Abort"
-msgstr "端口"
-
-#: setup/setup_migrate.tpl:275
+#: plugins/generic/dashBoard/Register/register.tpl:69
+#: plugins/generic/dashBoard/Register/register.tpl:80
 #, fuzzy
-msgid "Create a new GOsa administrator account"
-msgstr "创建 netatalk 账号"
+msgid "Registration complete"
+msgstr "操作完成"
 
-#: setup/setup_migrate.tpl:278
-msgid ""
-"This dialog will automatically add a new super administrator to your LDAP "
-"tree."
+#: plugins/generic/dashBoard/Register/register.tpl:71
+msgid "GOsa instance sucessfully registered"
 msgstr ""
 
-#: setup/setup_migrate.tpl:307
+#: plugins/generic/dashBoard/Register/register.tpl:82
 #, fuzzy
-msgid "Password (again)"
-msgstr "口令存储"
+msgid "GOsa instance will not be registered"
+msgstr "会话不会被加密。"
 
-#: setup/setup_migrate.tpl:333
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:54
 msgid ""
-"The listed departments are currently invisible in the GOsa user interface. "
-"If you want to change this for a couple of entries, select them and use the "
-"migrate button below."
+"Communciation with the backend failed! Please check your internet connection!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:334 setup/setup_migrate.tpl:389
-#: setup/setup_migrate.tpl:445 setup/setup_migrate.tpl:489
-#: setup/setup_migrate.tpl:533
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:56
 msgid ""
-"If you want to know what will be done when migrating the selected entries, "
-"use the 'Show changes' button to see the LDIF."
+"Authentication failed, please check combination of username and password!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:388
+#: plugins/generic/dashBoard/Register/class_RegistrationDialog.inc:58
 msgid ""
-"The listed users are currently invisible in the GOsa user interface. If you "
-"want to change this for a couple of users, just select them and use the "
-"'Migrate' button below."
+"Internal server error, please try again later. If the problem persists "
+"contact the GOsa-Team!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:444
-msgid ""
-"The listed devices are currently invisible in the GOsa interface. If you "
-"want to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+#: plugins/generic/dashBoard/dbNotifications/contents.tpl:1
+#, fuzzy
+msgid "Notifications"
+msgstr "行业"
+
+#: plugins/generic/dashBoard/dashBoard.tpl:2
+msgid "This feature is only accessible for registrated instances of GOsa"
 msgstr ""
 
-#: setup/setup_migrate.tpl:488
+#: plugins/generic/dashBoard/dashBoard.tpl:7
 msgid ""
-"The listed services are currently invalid for the GOsa version you are going "
-"to install. If you want to update a couple of service, just select them and "
-"use the 'Migrate' button below."
+"Unfortunately the registration server cannot be reached, maybe the server is "
+"down for maintaince or you've no internet access!"
 msgstr ""
 
-#: setup/setup_migrate.tpl:532
-msgid ""
-"The listed menus are currently invisible in the GOsa interface. If you want "
-"to change this for a couple of devices, just select them and use the "
-"'Migrate' button below."
+#: plugins/generic/dashBoard/dashBoard.tpl:13
+#, fuzzy
+msgid "GOsa dash board"
+msgstr "GOsa 帮助浏览器"
+
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:69
+msgid "Version mismatch"
 msgstr ""
 
-#: setup/class_setupStep_Finish.inc:38
+#: plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc:73
 #, fuzzy
-msgid "Write configuration file"
-msgstr "配置文件"
+msgid "Schema missing"
+msgstr "Samba 设置"
 
-#: setup/class_setupStep_Finish.inc:39
+#: plugins/generic/dashBoard/dbPluginStatus/contents.tpl:1
 #, fuzzy
-msgid "Finish - write the configuration file"
-msgstr "需要 XML 功能来解析配置文件。"
+msgid "Plugin status"
+msgstr "当前版本"
 
-#: setup/class_setupStep_Finish.inc:104
+#: plugins/generic/references/class_reference.inc:70
 #, fuzzy
-msgid ""
-"Your configuration file is currently world readable. Please update the file "
-"permissions!"
-msgstr "GOsa 配置 %s/gosa.conf 不可读取。退出。"
+msgid "Role membership"
+msgstr "组成员身份"
 
-#: setup/class_setupStep_Finish.inc:106
+#: plugins/generic/references/class_reference.inc:76
 #, fuzzy
-msgid "The configuration is currently not readable or it does not exists."
-msgstr "GOsa 配置 %s/gosa.conf 不可读取。退出。"
+msgid "Object group membership"
+msgstr "对象组"
 
-#: setup/class_setupStep_Finish.inc:115
-#, fuzzy, php-format
-msgid ""
-"After downloading and placing the file under %s, please make sure that the "
-"user the webserver is running with is able to read %s, while other users "
-"shouldn't. You may want to execute these commands to achieve this "
-"requirement:"
-msgstr ""
-"将文件保存在 GOsa 配置文件目录中,确认 Web 服务器运行的账号能够读取 gosa."
-"conf,其他用户则无权访问。您可以执行如下命令来实现:"
+#: plugins/generic/references/class_reference.inc:82
+#, fuzzy
+msgid "Department manager"
+msgstr "部门管理"
 
-#: setup/class_setupStep_Checks.inc:38 setup/class_setupStep_Checks.inc:39
-msgid "Installation check"
-msgstr ""
+#: plugins/generic/references/class_reference.inc:88
+#, fuzzy
+msgid "User manager"
+msgstr "用户名"
 
-#: setup/class_setupStep_Checks.inc:40
-msgid "Basic checks for PHP compatibility and extensions"
-msgstr ""
+#: plugins/generic/references/contents.tpl:2
+#: plugins/generic/references/contents.tpl:3
+#, fuzzy
+msgid "Object information"
+msgstr "个人信息"
 
-#: setup/class_setupStep_Checks.inc:64
+#: plugins/generic/references/contents.tpl:7
 #, fuzzy
-msgid "Checking PHP version"
-msgstr "检查 PHP 版本 (>=4.1.0)"
+msgid "Show raw object entry"
+msgstr "对象组"
 
-#: setup/class_setupStep_Checks.inc:65
-#, php-format
-msgid "PHP must be of version %s or above."
-msgstr ""
+#: plugins/generic/references/contents.tpl:18
+#: plugins/generic/references/contents.tpl:20
+#, fuzzy
+msgid "Last modification"
+msgstr "行业"
 
-#: setup/class_setupStep_Checks.inc:66
-msgid "Please upgrade to a supported version."
-msgstr ""
+#: plugins/generic/references/contents.tpl:29
+#, fuzzy
+msgid "Object references"
+msgstr "参考"
 
-#: setup/class_setupStep_Checks.inc:73
-msgid "GOsa requires this module to talk with your LDAP server."
-msgstr ""
+#: plugins/generic/references/contents.tpl:45
+#, fuzzy
+msgid "ACL trace"
+msgstr "分类类型"
 
-#: setup/class_setupStep_Checks.inc:81
-msgid "GOsa requires this module for an internationalized interface."
+#: plugins/generic/references/class_aclResolver.inc:143
+msgid "Enter another user name"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:89
-msgid "GOsa requires this module for the samba integration."
-msgstr ""
+#: plugins/generic/references/class_aclResolver.inc:193
+#, fuzzy
+msgid "ACLs"
+msgstr "ACL"
 
-#: setup/class_setupStep_Checks.inc:97
-msgid ""
-"GOsa requires either 'mhash' or the 'sha1' module to make use of SSHA "
-"encryption."
+#: plugins/generic/references/class_aclResolver.inc:198
+#, php-format
+msgid "List of effective ACLs for '%s'"
 msgstr ""
 
-#: setup/class_setupStep_Checks.inc:105
-msgid "GOsa requires this module to talk to an IMAP server."
-msgstr ""
+#: plugins/generic/references/class_aclResolver.inc:199
+#: plugins/generic/references/class_aclResolver.inc:203
+#, fuzzy
+msgid "Object permissions"
+msgstr "组设置"
 
-#: setup/class_setupStep_Checks.inc:112
+#: plugins/generic/references/class_aclResolver.inc:311
 #, fuzzy
-msgid "mbstring"
-msgstr "Samba 设置"
+msgid "create"
+msgstr "创建"
 
-#: setup/class_setupStep_Checks.inc:113
-msgid "GOsa requires this module to handle unicode strings."
-msgstr ""
+#: plugins/generic/references/class_aclResolver.inc:312
+#, fuzzy
+msgid "remove"
+msgstr "删除"
 
-#: setup/class_setupStep_Checks.inc:120
+#: plugins/generic/references/class_aclResolver.inc:313
 #, fuzzy
-msgid "MySQL"
-msgstr "LDAP 错误:"
+msgid "move"
+msgstr "删除"
 
-#: setup/class_setupStep_Checks.inc:121
 #, fuzzy
-msgid ""
-"GOsa requires this module to communicate with several supported databases."
-msgstr "需要 MySQL 支持来从数据库中读取 GOfax 报告。"
+#~ msgid "List of items"
+#~ msgstr "用户列表"
 
-#: setup/class_setupStep_Checks.inc:138
-msgid "samba hash generator"
-msgstr ""
+#, fuzzy
+#~ msgid "Edit item"
+#~ msgstr "编辑证书"
+
+#, fuzzy
+#~ msgid "Remove item"
+#~ msgstr "删除图片"
+
+#, fuzzy
+#~ msgid "Container"
+#~ msgstr "继续"
+
+#, fuzzy
+#~ msgid "Config management"
+#~ msgstr "系统管理"
 
-#: setup/class_setupStep_Checks.inc:139
-msgid "GOsa requires this command to synchronize POSIX and samba passwords."
-msgstr ""
+#, fuzzy
+#~ msgid "Distribution"
+#~ msgstr "描述"
 
-#: setup/class_setupStep_Checks.inc:140
-msgid ""
-"Deploy a gosa-si installation or install the perl Crypt::SmbHash modules."
-msgstr ""
+#, fuzzy
+#~ msgid "Component"
+#~ msgstr "域管理员"
 
-#: setup/class_setupStep_Checks.inc:153
-msgid "imagick"
-msgstr ""
+#~ msgid "Home phone"
+#~ msgstr "住宅电话"
 
-#: setup/class_setupStep_Checks.inc:154
-msgid "GOsa requires this extension to handle images."
-msgstr ""
+#~ msgid "Organizational unit"
+#~ msgstr "组织/公司部门"
 
-#: setup/class_setupStep_Checks.inc:169
 #, fuzzy
-msgid "compression module"
-msgstr "访问选项"
+#~ msgid "Max"
+#~ msgstr "五月"
 
-#: setup/class_setupStep_Checks.inc:170
-msgid "GOsa requires this extension to handle snapshots."
-msgstr ""
+#, fuzzy
+#~ msgid "Min"
+#~ msgstr "首页"
+
+#~ msgid "Welcome %s!"
+#~ msgstr "欢迎 %s!"
 
-#: setup/class_setupStep_Checks.inc:181
 #, fuzzy
-msgid ""
-"register_globals is a PHP mechanism to register all global variables to be "
-"accessible from scripts without changing the scope. This may be a security "
-"risk."
-msgstr ""
-"register_globals 是 PHP 的一个不必修改范围就可以从脚本中访问所有全局变量的机"
-"制。这可能存在安全风险。GOsa 在两种情况下都可以运行。"
+#~ msgid "The folder %s specified for %s:%s cannot be used for reading!"
+#~ msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
 
-#: setup/class_setupStep_Checks.inc:182
 #, fuzzy
-msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'."
-msgstr "检查 register_globals 是否设置为 'off'"
+#~ msgid "Object info"
+#~ msgstr "对象名称"
 
-#: setup/class_setupStep_Checks.inc:190
-msgid "PHP uses this value for the garbage collector to delete old sessions."
-msgstr ""
+#, fuzzy
+#~ msgid "Acls"
+#~ msgstr "全部"
 
-#: setup/class_setupStep_Checks.inc:191
 #, fuzzy
-msgid ""
-"Setting this value to one day will prevent loosing session and cookies "
-"before they really timeout."
-msgstr ""
-"PHP 用这个值来进行垃圾回收,删除旧的会话。设置这个值为一天,将会防止在真正超"
-"时之前的会话和 cookie 丢失。"
+#~ msgid ""
+#~ "The file '%s' specified for '%s:%s' cannot be created neither be used for "
+#~ "writing!"
+#~ msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
 
-#: setup/class_setupStep_Checks.inc:192
-msgid ""
-"Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or "
-"higher."
-msgstr ""
+#, fuzzy
+#~ msgid "The values for 'New password' and 'Repeated new password' differ!"
+#~ msgstr "您输入的“新口令”和“重复新口令”不匹配。"
 
-#: setup/class_setupStep_Checks.inc:199 setup/class_setupStep_Checks.inc:215
-#: setup/class_setupStep_Checks.inc:231 setup/class_setupStep_Checks.inc:247
-msgid "Off"
-msgstr ""
+#, fuzzy
+#~ msgid "The password used as new and current are too similar!"
+#~ msgstr "输入的新口令和当前口令非常相似。"
 
-#: setup/class_setupStep_Checks.inc:200
 #, fuzzy
-msgid ""
-"In Order to use GOsa without any trouble, the session.auto_register option "
-"in your php.ini should be set to 'Off'."
-msgstr ""
-"为了在是使用 GOsa 中不遇到麻烦,您的 php.ini 中 session.auto_register 选项必"
-"须设置为 'Off'。"
+#~ msgid "The password used as new is to short!"
+#~ msgstr "输入的新口令太短了。"
 
-#: setup/class_setupStep_Checks.inc:201
 #, fuzzy
-msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'."
-msgstr ""
-"为了在是使用 GOsa 中不遇到麻烦,您的 php.ini 中 session.auto_register 选项必"
-"须设置为 'Off'。"
+#~ msgid "External password changer reported a problem: %s"
+#~ msgstr "外部口令更改程序报告错误:"
 
-#: setup/class_setupStep_Checks.inc:208
 #, fuzzy
-msgid ""
-"GOsa needs at least 32MB of memory. Setting it below this limit may cause "
-"errors that are not reproducable! Increase it for larger setups."
-msgstr "GOsa 需要至少 16MB 内存,太少会导致无法预料的错误!将其设置为更大。"
+#~ msgid ""
+#~ "Command %s specified as post modify action for plugin %s does not exist!"
+#~ msgstr "命令 '%s',作为插件 '%s' 的 CHECK hook 好像并不存在。"
 
-#: setup/class_setupStep_Checks.inc:209
-msgid ""
-"Search for 'memory_limit' in your php.ini and set it to '32M' or higher."
-msgstr ""
+#, fuzzy
+#~ msgid "FATAL: Error when connecting the LDAP. Server said '%s'."
+#~ msgstr "致命错误:连接 LDAP 错误。服务器返回 '%s'。"
 
-#: setup/class_setupStep_Checks.inc:216
 #, fuzzy
-msgid ""
-"This option influences the PHP output handling. Turn this Option off, to "
-"increase performance."
-msgstr "这个选项影响输出处理。关闭这个选项,可以提高性能。"
+#~ msgid "Username / UID is not unique inside the LDAP tree!"
+#~ msgstr "用户名 / UID 不唯一。请检查您的 LDAP 数据库。"
 
-#: setup/class_setupStep_Checks.inc:217
-msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'."
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "Username / UID is not unique inside the LDAP tree. Please contact your "
+#~ "Administrator."
+#~ msgstr "用户名 / UID 不唯一。请检查您的 LDAP 数据库。"
 
-#: setup/class_setupStep_Checks.inc:224
 #, fuzzy
-msgid "The Execution time should be at least 30 seconds."
-msgstr "执行时间应该至少 30 秒,因为一些动作可能会花很多时间。"
+#~ msgid "LDAP server returned: %s"
+#~ msgstr "LDAP 服务器"
 
-#: setup/class_setupStep_Checks.inc:225
-msgid ""
-"Search for 'max_execution_time' in your php.ini and set it to '30' or higher."
-msgstr ""
+#, fuzzy
+#~ msgid ""
+#~ "Found multiple locks for object to be locked. This should not happen - "
+#~ "cleaning up multiple references."
+#~ msgstr "发现要锁定的对象由多个锁。这虽然不可能──清除多个引用。"
 
-#: setup/class_setupStep_Checks.inc:232
 #, fuzzy
-msgid ""
-"Increase the server security by setting expose_php to 'off'. PHP won't send "
-"any information about the server you are running in this case."
-msgstr ""
-"将 expose_php 设置为“off”可以增强服务器安全性。PHP 将不会发送任何有关正运行着"
-"的服务器的信息。"
+#~ msgid "The size limit of %d entries is exceed!"
+#~ msgstr "超过了 %d 个条目的大小限制!"
 
-#: setup/class_setupStep_Checks.inc:233
-msgid "Search for 'expose_php' in your php.ini and set if to 'Off'."
-msgstr ""
+#~ msgid ""
+#~ "Set the new size limit to %s and show me this message if the limit still "
+#~ "exceeds"
+#~ msgstr "设置新的大小限制为 %s 并且如果限制依然超出还显示这条信息。"
 
-#: setup/class_setupStep_Checks.inc:239
 #, fuzzy
-msgid "On"
-msgstr "打开"
+#~ msgid "incomplete"
+#~ msgstr "不完整"
 
-#: setup/class_setupStep_Checks.inc:240
-msgid ""
-"Increase your server security by setting magic_quotes_gpc to 'on'. PHP will "
-"escape all quotes in strings in this case."
-msgstr ""
-"将 magic_quotes_gpc 设置为 'on' 会增加服务器安全性。这种情况下 PHP 会将字符串"
-"中所有引号编码。"
+#, fuzzy
+#~ msgid "You're going to edit the LDAP entry/entries %s"
+#~ msgstr "您将要拷贝条目 '%s'。"
 
-#: setup/class_setupStep_Checks.inc:241
-msgid "Search for 'magic_quotes_gpc' in your php.ini and set it to 'On'."
-msgstr ""
+#~ msgid "Apply filter"
+#~ msgstr "应用过滤器"
 
-#: setup/class_setupStep_Checks.inc:248
-#, fuzzy
-msgid "Increase your server performance by setting magic_quotes_gpc to 'off'."
-msgstr ""
-"将 magic_quotes_gpc 设置为 'on' 会增加服务器安全性。这种情况下 PHP 会将字符串"
-"中所有引号编码。"
+#~ msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+#~ msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
-#: setup/class_setupStep_Checks.inc:249
-msgid ""
-"Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'."
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot write to revision file!"
+#~ msgstr "无法创建文件 '%s'。"
 
-#: setup/class_setupStep_Checks.inc:259
 #, fuzzy
-msgid "Configuration writeable"
-msgstr "配置文件"
+#~ msgid "LDAP warning"
+#~ msgstr "LDAP 管理"
 
-#: setup/class_setupStep_Checks.inc:260
 #, fuzzy
-msgid "The configuration file can't be written"
-msgstr "查看配置信息"
+#~ msgid "Cannot get schema information from server. No schema check possible!"
+#~ msgstr "不能从服务器得到 schema 信息。无法对 schema 检查!"
 
-#: setup/class_setupStep_Checks.inc:261
-#, php-format
-msgid ""
-"GOsa reads its configuration from a file located in (%s/%s). The setup can "
-"write the configuration directly if it is writeable."
-msgstr ""
+#, fuzzy
+#~ msgid "Used to store account specific informations."
+#~ msgstr "账号过期于"
 
-#: setup/setup_config3.tpl:2
 #, fuzzy
-msgid "GOsa core settings"
-msgstr "用户设置"
+#~ msgid "Class(es) available"
+#~ msgstr "文件可用。"
+
+#~ msgid ""
+#~ "Command '%s', specified as POSTMODIFY for plugin '%s' doesn't seem to "
+#~ "exist."
+#~ msgstr "命令 '%s',作为插件 '%s' 的 POSTMODIFY 好像并不存在。"
 
-#: setup/setup_config3.tpl:6
 #, fuzzy
-msgid "Enable primary group filter"
-msgstr "显示用户组"
+#~ msgid "Cannot allocate a free ID:"
+#~ msgstr "太多用户,无法分配一个可用的 ID!"
 
-#: setup/setup_config3.tpl:18
 #, fuzzy
-msgid "Display summary in listings"
-msgstr "显示匹配的宏"
+#~ msgid "Cannot allocate a free ID!"
+#~ msgstr "太多用户,无法分配一个可用的 ID!"
 
-#: setup/setup_config3.tpl:30
 #, fuzzy
-msgid "Honour administrative units"
-msgstr "组管理"
+#~ msgid "Surename"
+#~ msgstr "姓"
 
-#: setup/setup_config3.tpl:42
 #, fuzzy
-msgid "Smarty compile directory"
-msgstr "用户主目录"
+#~ msgid "External password changer reported a problem: %s."
+#~ msgstr "外部口令更改程序报告错误:"
 
-#: setup/setup_config3.tpl:51
-msgid "SNMP community"
-msgstr ""
+#~ msgid "Username"
+#~ msgstr "用户名"
 
-#: setup/setup_config3.tpl:60
-#, fuzzy
-msgid "Path for PPD storage"
-msgstr "口令存储"
+#~ msgid ""
+#~ "You've successfully changed your password. Remember to change all "
+#~ "programms configured to use it as well."
+#~ msgstr "您已经成功更改口令。还要记住更改相关程序设定。"
+
+#~ msgid "Admin DN"
+#~ msgstr "管理员 DN"
+
+#~ msgid "Ok"
+#~ msgstr "好"
 
-#: setup/setup_config3.tpl:77
 #, fuzzy
-msgid "Path for kiosk profile storage"
-msgstr "Kiosk profile 设置"
+#~ msgid "Grant permission to owner"
+#~ msgstr "无法创建文件 '%s'。"
 
-#: setup/setup_config3.tpl:96
-msgid "SUDO role base"
-msgstr ""
+#~ msgid "Password change not allowed"
+#~ msgstr "不允许修改口令"
+
+#~ msgid "Preferred langage"
+#~ msgstr "首选语种"
+
+#~ msgid "Posix settings"
+#~ msgstr "Posix 设置"
 
-#: setup/setup_config3.tpl:115
 #, fuzzy
-msgid "Mail queue script"
-msgstr "邮件队列"
+#~ msgid "You have no permission to set your password!"
+#~ msgstr "您无权修改您的口令。"
+
+#~ msgid ""
+#~ "You have changed the method your password is stored in the ldap database. "
+#~ "For that reason you've to enter your password at this point again. GOsa "
+#~ "will then encode it with the selected method."
+#~ msgstr ""
+#~ "您已经修改了口令在 LDAP 数据库中存储的方法。因此您需要再输入您的口令。"
+#~ "GOsa 将会按照您选择的方法重新编码。"
+
+#~ msgid "Posix"
+#~ msgstr "Posix"
 
-#: setup/setup_config3.tpl:134
 #, fuzzy
-msgid "Notification script"
-msgstr "主机通知周期"
+#~ msgid "Edit posix properties"
+#~ msgstr "编辑电话属性"
 
-#: setup/setup_config3.tpl:153
 #, fuzzy
-msgid "Enable edit locking"
-msgstr "启用邮件扫描"
+#~ msgid "Acl"
+#~ msgstr "全部"
 
-#: setup/setup_config3.tpl:174
-msgid "Gosa support daemon"
-msgstr ""
+#, fuzzy
+#~ msgid "winstations"
+#~ msgstr "Windows 工作站"
 
-#: setup/setup_config3.tpl:193
 #, fuzzy
-msgid "Daemon timeout"
-msgstr "关闭"
+#~ msgid "Sytem trust"
+#~ msgstr "信赖的系统"
 
-#: setup/setup_config3.tpl:207
-msgid "Login and session"
-msgstr ""
+#, fuzzy
+#~ msgid "Processing"
+#~ msgstr "允许"
 
-#: setup/setup_config3.tpl:210
 #, fuzzy
-msgid "Login attribute"
-msgstr "电话属性"
+#~ msgid "Created"
+#~ msgstr "创建"
 
-#: setup/setup_config3.tpl:221
-msgid "Enforce register_globals to be deactivated"
-msgstr ""
+#, fuzzy
+#~ msgid "No Content"
+#~ msgstr "内容"
 
-#: setup/setup_config3.tpl:233
 #, fuzzy
-msgid "Enforce encrypted connections"
-msgstr "封锁加密归档"
+#~ msgid "Reset Content"
+#~ msgstr "内容"
 
-#: setup/setup_config3.tpl:245
 #, fuzzy
-msgid "Warn if session is not encrypted"
-msgstr "会话不会被加密。"
+#~ msgid "Partial Content"
+#~ msgstr "邮编"
 
-#: setup/setup_config3.tpl:257
 #, fuzzy
-msgid "Remember dialog filter settings"
-msgstr "通用队列设置"
+#~ msgid "Multi-Status"
+#~ msgstr "状态"
 
-#: setup/setup_config3.tpl:269
 #, fuzzy
-msgid "Session lifetime"
-msgstr "检测道会话冲突"
+#~ msgid "See Other"
+#~ msgstr "删除用户"
 
-#: setup/setup_config3.tpl:278
 #, fuzzy
-msgid "Debugging"
-msgstr "启用 debug"
+#~ msgid "Not Modified"
+#~ msgstr "不允许修改口令"
 
-#: setup/setup_config3.tpl:282
 #, fuzzy
-msgid "Show PHP errors"
-msgstr "PHP 错误"
+#~ msgid "Use Proxy"
+#~ msgstr "代理"
 
-#: setup/setup_config3.tpl:294
 #, fuzzy
-msgid "Maximum LDAP query time"
-msgstr "最大文件大小"
+#~ msgid "(reserviert)"
+#~ msgstr "服务器"
 
-#: setup/setup_config3.tpl:312
-msgid "Log LDAP statistics"
-msgstr ""
+#, fuzzy
+#~ msgid "Not Found"
+#~ msgstr "不允许修改口令"
 
-#: setup/setup_config3.tpl:324
 #, fuzzy
-msgid "Debug level"
-msgstr "日志级别"
+#~ msgid "Method Not Allowed"
+#~ msgstr "不允许修改口令"
 
-#: setup/setup_config3.tpl:329 setup/setup_config3.tpl:332
 #, fuzzy
-msgid "Disabled"
-msgstr "禁用"
+#~ msgid "Proxy Authentication Required"
+#~ msgstr "Nagios 鉴权"
 
-#: setup/setup_config3.tpl:330 setup/setup_config3.tpl:333
 #, fuzzy
-msgid "Enabled"
-msgstr "禁用"
+#~ msgid "Gone"
+#~ msgstr "无"
 
-#: setup/setup_feedback.tpl:5
-msgid "Feedback sucessfully send"
-msgstr ""
+#, fuzzy
+#~ msgid "Precondition Failed"
+#~ msgstr "配置文件"
 
-#: setup/setup_feedback.tpl:15
-msgid "Subscribe to the gosa-announce mailinglist"
-msgstr ""
+#, fuzzy
+#~ msgid "Expectation Failed"
+#~ msgstr "Mysql 查询失败。"
 
-#: setup/setup_feedback.tpl:18
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to subscribe you to the gosa-announce mailing list. You've to confirm "
-"this by mail."
-msgstr ""
+#, fuzzy
+#~ msgid "Locked"
+#~ msgstr "用户列表"
 
-#: setup/setup_feedback.tpl:39
-msgid "Mail address"
-msgstr "邮件地址"
+#, fuzzy
+#~ msgid "Unordered Collection"
+#~ msgstr "组设置"
 
-#: setup/setup_feedback.tpl:50
-msgid "Send feedback to the GOsa project team"
-msgstr ""
+#, fuzzy
+#~ msgid "Internal Server Error"
+#~ msgstr "终端服务器"
 
-#: setup/setup_feedback.tpl:53
-msgid ""
-"When checking this option, GOsa will try to connect http://oss.gonicus.de in "
-"order to submit your form anonymously."
-msgstr ""
+#, fuzzy
+#~ msgid "Not Implemented"
+#~ msgstr "不完整"
 
-#: setup/setup_feedback.tpl:59
-msgid "Did the setup procedure help you to get started?"
-msgstr ""
+#, fuzzy
+#~ msgid "Service Unavailable"
+#~ msgstr "服务器名称"
 
-#: setup/setup_feedback.tpl:62 setup/setup_feedback.tpl:80
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "Yes"
-msgstr "是"
+#, fuzzy
+#~ msgid "Gateway Time-out"
+#~ msgstr "关闭"
 
-#: setup/setup_feedback.tpl:64 setup/setup_feedback.tpl:82
-#: setup/class_setupStep_Ldap.inc:74 setup/class_setupStep_Config3.inc:93
-#: setup/class_setupStep_Schema.inc:86 setup/class_setupStep_Config1.inc:88
-#: setup/class_setupStep_Config2.inc:136
-msgid "No"
-msgstr "否"
+#, fuzzy
+#~ msgid "GOsa settings 3/3"
+#~ msgstr "用户设置"
 
-#: setup/setup_feedback.tpl:69
-msgid "If not, what problems did you encounter"
-msgstr ""
+#, fuzzy
+#~ msgid "Session lifetime must be a numeric value!"
+#~ msgstr "需要的分值必须是数字。"
 
-#: setup/setup_feedback.tpl:77
-msgid "Is this the first time you use GOsa?"
-msgstr ""
+#, fuzzy
+#~ msgid "Maximum LDAP query time must be a numeric value!"
+#~ msgstr "需要的分值必须是数字。"
 
-#: setup/setup_feedback.tpl:83
-msgid "I use it since"
-msgstr ""
+#, fuzzy
+#~ msgid "To continue..."
+#~ msgstr "安装继续..."
 
-#: setup/setup_feedback.tpl:84
-msgid "Select the year since when you are using GOsa"
-msgstr ""
+#~ msgid "Samba settings"
+#~ msgstr "Samba 设置"
 
-#: setup/setup_feedback.tpl:91
-msgid "What operating system / distribution do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Samba SID"
+#~ msgstr "Samba"
 
-#: setup/setup_feedback.tpl:99
-msgid "What web server do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "RID base"
+#~ msgstr "数据库"
 
-#: setup/setup_feedback.tpl:107
-msgid "What PHP version do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Workstation container"
+#~ msgstr "工作站名称"
 
-#: setup/setup_feedback.tpl:115
 #, fuzzy
-msgid "GOsa version"
-msgstr "用户设置"
+#~ msgid "Timezone"
+#~ msgstr "用户时区"
 
-#: setup/setup_feedback.tpl:123
-msgid "LDAP"
-msgstr ""
+#, fuzzy
+#~ msgid "Please choose your preferred timezone here"
+#~ msgstr "首选语种"
 
-#: setup/setup_feedback.tpl:127
-msgid "What kind of LDAP server(s) do you use?"
-msgstr ""
+#, fuzzy
+#~ msgid "Additional GOsa settings"
+#~ msgstr "应用程序设置"
 
-#: setup/setup_feedback.tpl:133
-msgid "How many objects are in your LDAP?"
-msgstr ""
+#, fuzzy
+#~ msgid "Government mode"
+#~ msgstr "部门名称"
 
-#: setup/setup_feedback.tpl:140
 #, fuzzy
-msgid "Features"
-msgstr "功能"
+#~ msgid "GOsa logging"
+#~ msgstr "GOsa"
 
-#: setup/setup_feedback.tpl:143
-msgid "What features of GOsa do you use?"
-msgstr ""
+#~ msgid "Mail settings"
+#~ msgstr "邮件选项"
 
-#: setup/setup_feedback.tpl:153
-msgid "What features do you want to see in future versions of GOsa?"
-msgstr ""
+#~ msgid "Mail method"
+#~ msgstr "邮件方法"
 
-#: setup/setup_feedback.tpl:160
-msgid "Send feedback"
-msgstr ""
+#, fuzzy
+#~ msgid "Vacation templates"
+#~ msgstr "工作站模板"
 
-#: setup/setup_finish.tpl:3
 #, fuzzy
-msgid "Create your configuration file"
-msgstr "配置文件"
+#~ msgid "GOsa settings 2/3"
+#~ msgstr "用户设置"
 
-#: setup/setup_finish.tpl:10
-msgid "Depending on the user name your webserver is running on:"
-msgstr ""
+#, fuzzy
+#~ msgid "Customize special parameters"
+#~ msgstr "检查参数"
 
-#: setup/setup_finish.tpl:28
-msgid "Download configuration"
-msgstr "下载配置"
+#, fuzzy
+#~ msgid "Checking for invisible departments"
+#~ msgstr "检查 iconv 支持"
 
-#: setup/setup_finish.tpl:33
 #, fuzzy
-msgid "Status: "
-msgstr "状态"
+#~ msgid "Checking for invisible users"
+#~ msgstr "检查 iconv 支持"
 
-#: setup/class_setupStep_Ldap.inc:53
 #, fuzzy
-msgid "LDAP setup"
-msgstr "LDAP 服务器"
+#~ msgid "Checking for users outside the people tree"
+#~ msgstr "检查 cups 模块"
 
-#: setup/class_setupStep_Ldap.inc:54
 #, fuzzy
-msgid "LDAP connection setup"
-msgstr "断开"
+#~ msgid "Checking for groups outside the groups tree"
+#~ msgstr "检查 cups 模块"
 
-#: setup/class_setupStep_Ldap.inc:55
-msgid ""
-"This dialog performs the basic configuration of the LDAP connectivity for "
-"GOsa."
-msgstr ""
+#, fuzzy
+#~ msgid "Checking for duplicated UID numbers"
+#~ msgstr "检查函数 %s"
 
-#: setup/class_setupStep_Ldap.inc:112
-#, fuzzy, php-format
-msgid "Anonymous bind to server '%s' failed!"
-msgstr "为服务器 '%s' 插入新宏失败。"
+#, fuzzy
+#~ msgid "Checking for duplicate GID numbers"
+#~ msgstr "检查函数 %s"
 
-#: setup/class_setupStep_Ldap.inc:114
-#, fuzzy, php-format
-msgid "Bind as user '%s' failed!"
-msgstr "为服务器 '%s' 插入新宏失败。"
+#, fuzzy
+#~ msgid "Checking for old style USB devices"
+#~ msgstr "检查 iconv 支持"
 
-#: setup/class_setupStep_Ldap.inc:119
-#, fuzzy, php-format
-msgid "Anonymous bind to server '%s' succeeded."
-msgstr "为服务器 '%s' 插入新宏失败。"
+#, fuzzy
+#~ msgid "Checking for old services that have to be migrated"
+#~ msgstr "检查 cups 模块"
 
-#: setup/class_setupStep_Ldap.inc:120
 #, fuzzy
-msgid "Please specify user and password!"
-msgstr "请输入您的口令!"
+#~ msgid "Checking for old style application menus"
+#~ msgstr "检查函数 %s"
 
-#: setup/class_setupStep_Ldap.inc:122
-#, fuzzy, php-format
-msgid "Bind as user '%s' to server '%s' succeeded!"
-msgstr "无法在主服务器 '%s' 上选择数据库 '%s'。"
+#, fuzzy
+#~ msgid "Found %s duplicate values for attribute 'uidNumber'."
+#~ msgstr "发现记录类型 '%s' 有重复。"
 
-#: setup/setup_ldap.tpl:7
-msgid "Please choose the LDAP user to be used by GOsa"
-msgstr ""
+#, fuzzy
+#~ msgid "Found %s duplicate values for attribute 'gidNumber'."
+#~ msgstr "发现记录类型 '%s' 有重复。"
 
-#: setup/setup_ldap.tpl:25
 #, fuzzy
-msgid "LDAP connection"
-msgstr "断开"
+#~ msgid "Move"
+#~ msgstr "模式"
 
-#: setup/setup_ldap.tpl:29
-msgid "Location name"
-msgstr "位置名称"
+#, fuzzy
+#~ msgid "Cannot migrate department '%s':"
+#~ msgstr "转到根部门"
 
-#: setup/setup_ldap.tpl:37
 #, fuzzy
-msgid "Connection URI"
-msgstr "连接 URL"
+#~ msgid "GOsa 2.5 administrative accounts found: %s"
+#~ msgstr "创建 netatalk 账号"
 
-#: setup/setup_ldap.tpl:45
 #, fuzzy
-msgid "TLS connection"
-msgstr "连接"
+#~ msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
+#~ msgstr "创建 netatalk 账号"
 
-#: setup/setup_ldap.tpl:69
 #, fuzzy
-msgid "Authentication"
-msgstr "Nagios 鉴权"
+#~ msgid "Cannot move users to the requested department!"
+#~ msgstr "选择放置部门的子树"
 
-#: setup/setup_ldap.tpl:73
-msgid "Admin DN"
-msgstr "管理员 DN"
+#, fuzzy
+#~ msgid "to"
+#~ msgstr "停止"
 
-#: setup/setup_ldap.tpl:86
-msgid "Automatically append LDAP base to admin DN"
-msgstr ""
+#, fuzzy
+#~ msgid "Copy '%s' to '%s' failed:"
+#~ msgstr "移动 '%s' 到 '%s'"
 
-#: setup/setup_ldap.tpl:93
-msgid "Admin password"
-msgstr "管理员口令"
+#, fuzzy
+#~ msgid "Updating '%s' failed: %s"
+#~ msgstr "Logging DB 用户"
 
-#: setup/setup_ldap.tpl:101
 #, fuzzy
-msgid "Schema based settings"
-msgstr "Samba 设置"
+#~ msgid "Theme"
+#~ msgstr "模板"
 
-#: setup/setup_ldap.tpl:105
-msgid "Use rfc2307bis compliant groups"
-msgstr ""
+#, fuzzy
+#~ msgid "Apache"
+#~ msgstr "缓存"
 
-#: setup/setup_ldap.tpl:117
 #, fuzzy
-msgid "Current status"
-msgstr "当前版本"
+#~ msgid "People and group storage"
+#~ msgstr "People dn attribute"
 
-#: setup/class_setupStep_Migrate.inc:127 setup/class_setupStep_Migrate.inc:128
 #, fuzzy
-msgid "LDAP inspection"
-msgstr "PHP 安装检查"
+#~ msgid "People DN attribute"
+#~ msgstr "People dn attribute"
 
-#: setup/class_setupStep_Migrate.inc:129
-msgid "Analyze your current LDAP for GOsa compatibility"
-msgstr ""
+#, fuzzy
+#~ msgid "Group storage subtree"
+#~ msgstr "忽略子树"
 
-#: setup/class_setupStep_Migrate.inc:135
 #, fuzzy
-msgid "Checking for root object"
-msgstr "检查 iconv 支持"
+#~ msgid "Automatic UIDs"
+#~ msgstr "自动"
 
-#: setup/class_setupStep_Migrate.inc:141
 #, fuzzy
-msgid "Inspecting object classes in root object"
-msgstr "检查 iconv 支持"
+#~ msgid "Number base for people/groups"
+#~ msgstr "用户/组起始 ID"
 
-#: setup/class_setupStep_Migrate.inc:147
 #, fuzzy
-msgid "Checking permission for LDAP database"
-msgstr "您无权删除这个部门。"
+#~ msgid "Password settings"
+#~ msgstr "用户设置"
 
-#: setup/class_setupStep_Migrate.inc:153
 #, fuzzy
-msgid "Checking for invisible departments"
-msgstr "检查 iconv 支持"
+#~ msgid "Password encryption algorithm"
+#~ msgstr "加密算法"
 
-#: setup/class_setupStep_Migrate.inc:158
 #, fuzzy
-msgid "Checking for invisible users"
-msgstr "检查 iconv 支持"
+#~ msgid "Password restrictions"
+#~ msgstr "口令过期截止日"
 
-#: setup/class_setupStep_Migrate.inc:165
-#: setup/class_setupStep_Migrate.inc:3211
 #, fuzzy
-msgid "Checking for super administrator"
-msgstr "检查一些附加程序"
+#~ msgid "Password change hook"
+#~ msgstr "不允许修改口令"
+
+#~ msgid ""
+#~ "GOsa supports several encryption types for your passwords. Normally this "
+#~ "is adjustable via user templates, but you can specify a default method to "
+#~ "be used here, too."
+#~ msgstr ""
+#~ "GOsa 支持好几种口令加密算法。通常可以通过用户模板调整算法,但是在这里您可"
+#~ "以定义一个缺省方法。"
 
-#: setup/class_setupStep_Migrate.inc:171
 #, fuzzy
-msgid "Checking for users outside the people tree"
-msgstr "检查 cups 模块"
+#~ msgid ""
+#~ "GOsa always acts as admin and manages access rights internally. This is a "
+#~ "workaround till OpenLDAP's in directory ACI's are    fully implemented. "
+#~ "For this to work, we need the admin DN and the corresponding password."
+#~ msgstr ""
+#~ "GOsa 总是作为 LDAP 管理员,并且管理内部权限。这是一个临时方案直到 "
+#~ "OpenLDAP 目录 ACI 被完全实现。为了让其实现,我们需要管理员 DN 和正确的口"
+#~ "令。"
+
+#~ msgid ""
+#~ "Some basic LDAP parameters are tunable and affect the locations where "
+#~ "GOsa saves people and groups, including the way accounts get created. "
+#~ "Check the values below if the fit your needs."
+#~ msgstr ""
+#~ "有的基本的 LDAP 参数是可调的,并影响位置Gosa 保存用户和组的地方。包括账号"
+#~ "创建的方式。点击下面的值如果它们不符合您的需要。"
 
-#: setup/class_setupStep_Migrate.inc:177
 #, fuzzy
-msgid "Checking for groups outside the groups tree"
-msgstr "检查 cups 模块"
+#~ msgid ""
+#~ "GOsa has modular support for several mail methods. These methods provide "
+#~ "interfaces to users mailboxes and general handling    for quotas. You can "
+#~ "choose the dummy plugin to leave all your mail settings untouched."
+#~ msgstr ""
+#~ "GOsa 通过模组支持几种邮件方法。这些方法提供用户邮箱的界面以及管理用户空"
+#~ "间。您可以选择选择 dummy 插件以保持您的邮件设置不被更改。"
 
-#: setup/class_setupStep_Migrate.inc:184
-msgid "Checking for windows workstations outside the winstation tree"
-msgstr ""
+#, fuzzy
+#~ msgid "Enable primary group filter"
+#~ msgstr "显示用户组"
 
-#: setup/class_setupStep_Migrate.inc:190
 #, fuzzy
-msgid "Checking for duplicated UID numbers"
-msgstr "检查函数 %s"
+#~ msgid "Display summary in listings"
+#~ msgstr "显示匹配的宏"
 
-#: setup/class_setupStep_Migrate.inc:196
 #, fuzzy
-msgid "Checking for duplicate GID numbers"
-msgstr "检查函数 %s"
+#~ msgid "Honour administrative units"
+#~ msgstr "组管理"
 
-#: setup/class_setupStep_Migrate.inc:202
 #, fuzzy
-msgid "Checking for old style USB devices"
-msgstr "检查 iconv 支持"
+#~ msgid "Path for PPD storage"
+#~ msgstr "口令存储"
 
-#: setup/class_setupStep_Migrate.inc:208
 #, fuzzy
-msgid "Checking for old services that have to be migrated"
-msgstr "检查 cups 模块"
+#~ msgid "Mail queue script"
+#~ msgstr "邮件队列"
 
-#: setup/class_setupStep_Migrate.inc:214
 #, fuzzy
-msgid "Checking for old style application menus"
-msgstr "检查函数 %s"
+#~ msgid "Notification script"
+#~ msgstr "主机通知周期"
 
-#: setup/class_setupStep_Migrate.inc:240 setup/class_setupStep_Migrate.inc:292
-#: setup/class_setupStep_Migrate.inc:357 setup/class_setupStep_Migrate.inc:421
-#: setup/class_setupStep_Migrate.inc:492 setup/class_setupStep_Migrate.inc:569
-#: setup/class_setupStep_Migrate.inc:653 setup/class_setupStep_Migrate.inc:796
-#: setup/class_setupStep_Migrate.inc:892
-#: setup/class_setupStep_Migrate.inc:2038
-#: setup/class_setupStep_Migrate.inc:2506
-#: setup/class_setupStep_Migrate.inc:2697
-#: setup/class_setupStep_Migrate.inc:2834
 #, fuzzy
-msgid "LDAP query failed"
-msgstr "Mysql 查询失败。"
+#~ msgid "Enable edit locking"
+#~ msgstr "启用邮件扫描"
 
-#: setup/class_setupStep_Migrate.inc:241 setup/class_setupStep_Migrate.inc:293
-#: setup/class_setupStep_Migrate.inc:358 setup/class_setupStep_Migrate.inc:422
-#: setup/class_setupStep_Migrate.inc:493 setup/class_setupStep_Migrate.inc:570
-#: setup/class_setupStep_Migrate.inc:654 setup/class_setupStep_Migrate.inc:797
-#: setup/class_setupStep_Migrate.inc:893
-#: setup/class_setupStep_Migrate.inc:2039
-#: setup/class_setupStep_Migrate.inc:2507
-#: setup/class_setupStep_Migrate.inc:2698
-#: setup/class_setupStep_Migrate.inc:2835
-msgid "Possibly the 'root object' is missing."
-msgstr ""
+#, fuzzy
+#~ msgid "Warn if session is not encrypted"
+#~ msgstr "会话不会被加密。"
 
-#: setup/class_setupStep_Migrate.inc:263
-#, fuzzy, php-format
-msgid "Found %s duplicate values for attribute 'uidNumber'."
-msgstr "发现记录类型 '%s' 有重复。"
+#, fuzzy
+#~ msgid "Remember dialog filter settings"
+#~ msgstr "通用队列设置"
 
-#: setup/class_setupStep_Migrate.inc:315
-#, fuzzy, php-format
-msgid "Found %s duplicate values for attribute 'gidNumber'."
-msgstr "发现记录类型 '%s' 有重复。"
-
-#: setup/class_setupStep_Migrate.inc:373 setup/class_setupStep_Migrate.inc:583
-#: setup/class_setupStep_Migrate.inc:596
-#: setup/class_setupStep_Migrate.inc:1032
-#: setup/class_setupStep_Migrate.inc:1050
-#: setup/class_setupStep_Migrate.inc:1990
-#: setup/class_setupStep_Migrate.inc:2003
-#: setup/class_setupStep_Migrate.inc:2058
-#: setup/class_setupStep_Migrate.inc:2079
-#: setup/class_setupStep_Migrate.inc:2131
-#: setup/class_setupStep_Migrate.inc:3213
-msgid "Failed"
-msgstr "失败"
+#, fuzzy
+#~ msgid "Session lifetime"
+#~ msgstr "检测道会话冲突"
 
-#: setup/class_setupStep_Migrate.inc:375
-#, php-format
-msgid ""
-"Found %s winstations outside the predefined winstation department ou '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Debugging"
+#~ msgstr "启用 debug"
 
-#: setup/class_setupStep_Migrate.inc:448
-#, php-format
-msgid "Found %s groups outside the configured tree '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Show PHP errors"
+#~ msgstr "PHP 错误"
 
-#: setup/class_setupStep_Migrate.inc:449 setup/class_setupStep_Migrate.inc:526
 #, fuzzy
-msgid "Move"
-msgstr "模式"
+#~ msgid "Maximum LDAP query time"
+#~ msgstr "最大文件大小"
 
-#: setup/class_setupStep_Migrate.inc:525
-#, php-format
-msgid "Found %s user(s) outside the configured tree '%s'."
-msgstr ""
+#, fuzzy
+#~ msgid "Debug level"
+#~ msgstr "日志级别"
 
-#: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:598
-#, php-format
-msgid ""
-"The specified user '%s' does not have full access to your ldap database."
-msgstr ""
+#, fuzzy
+#~ msgid "Disabled"
+#~ msgstr "禁用"
 
-#: setup/class_setupStep_Migrate.inc:662
-#, php-format
-msgid "Found %s user(s) that will not be visible in GOsa."
-msgstr ""
+#, fuzzy
+#~ msgid "Move selected workstations"
+#~ msgstr "选择查看工作站"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#: setup/class_setupStep_Migrate.inc:1120
 #, fuzzy
-msgid "Migration error"
-msgstr "创建"
+#~ msgid "Show changes"
+#~ msgstr "显示软件包"
 
-#: setup/class_setupStep_Migrate.inc:712 setup/class_setupStep_Migrate.inc:857
-#, fuzzy, php-format
-msgid "Cannot migrate department '%s':"
-msgstr "转到根部门"
+#, fuzzy
+#~ msgid "Move selected users into this people tree"
+#~ msgstr "创建使用该模板的用户"
 
-#: setup/class_setupStep_Migrate.inc:805
-#, php-format
-msgid "Found %s department(s) that will not be visible in GOsa."
-msgstr ""
+#, fuzzy
+#~ msgid "Migrate GOsa 2.5 administrative accounts"
+#~ msgstr "创建 netatalk 账号"
 
-#: setup/class_setupStep_Migrate.inc:1029
-#, fuzzy, php-format
-msgid "GOsa 2.5 administrative accounts found: %s"
-msgstr "创建 netatalk 账号"
+#, fuzzy
+#~ msgid "Abort"
+#~ msgstr "端口"
 
-#: setup/class_setupStep_Migrate.inc:1034
 #, fuzzy
-msgid "There is no valid GOsa 2.6 administrator account inside your LDAP."
-msgstr "创建 netatalk 账号"
+#~ msgid "Refresh"
+#~ msgstr "参考"
 
-#: setup/class_setupStep_Migrate.inc:1051
-msgid "There is no GOsa administrator account inside your LDAP."
-msgstr ""
+#, fuzzy
+#~ msgid "Installation"
+#~ msgstr "Windows 工作站"
 
-#: setup/class_setupStep_Migrate.inc:1120
-#, php-format
-msgid "Cannot add ACL for user '%s':"
-msgstr ""
+#, fuzzy
+#~ msgid "GOsa settings 1/3"
+#~ msgstr "用户设置"
 
-#: setup/class_setupStep_Migrate.inc:1158
-#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
-msgid "Input error"
-msgstr "PHP 错误"
+#~ msgid "The specified value for '%s' must be a numeric value"
+#~ msgstr "指定 '%s' 的值必须是数字类型。"
 
-#: setup/class_setupStep_Migrate.inc:1158
-msgid "Uid"
-msgstr ""
+#, fuzzy
+#~ msgid "Uid base must be numeric"
+#~ msgstr "超时必须填数字"
 
-#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
-msgid "Password error"
-msgstr "口令过期截止日"
+#~ msgid "The given password minimum length is not numeric."
+#~ msgstr "Sieve 端口应为数字。"
 
-#: setup/class_setupStep_Migrate.inc:1163
 #, fuzzy
-msgid "Provided passwords do not match!"
-msgstr "输入的新口令和重复口令不匹配!"
+#~ msgid "The given password differ value is not numeric."
+#~ msgstr "Sieve 端口应为数字。"
 
-#: setup/class_setupStep_Migrate.inc:1168
 #, fuzzy
-msgid "Specify a valid user ID!"
-msgstr "请输入一个有效的用户名!"
+#~ msgid "Login screen"
+#~ msgstr "登录脚本"
 
-#: setup/class_setupStep_Migrate.inc:1201
-#, fuzzy, php-format
-msgid "Adding an administrative user failed: object '%s' already exists!"
-msgstr "为对象 '%s' 设置动作状态(FAIstate) 失败,值为 '%s'。"
+#, fuzzy
+#~ msgid ""
+#~ "Please use your username and your password to log into the site "
+#~ "administration system."
+#~ msgstr "请用您的用户名和口令登录"
+
+#~ msgid "Sign in"
+#~ msgstr "登录"
+
+#~ msgid ""
+#~ "This may be used by several groups. Please double check if your really "
+#~ "want to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "这可能被好几个组使用。请再次检查您是否要这么做,因为 GOsa 没有办法将您的数"
+#~ "据找回。"
+
+#~ msgid ""
+#~ "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr "所以,如果您确定,请按“删除”继续,否则按“取消”退出。"
+
+#~ msgid "Help"
+#~ msgstr "帮助"
+
+#~ msgid "Sign out"
+#~ msgstr "退出"
+
+#~ msgid "Signed in:"
+#~ msgstr "登录:"
 
-#: setup/class_setupStep_Migrate.inc:1240
-#: setup/class_setupStep_Migrate.inc:1289
-#: setup/class_setupStep_Migrate.inc:1338
 #, fuzzy
-msgid "Cannot move users to the requested department!"
-msgstr "选择放置部门的子树"
+#~ msgid "Success"
+#~ msgstr "访问"
 
-#: setup/class_setupStep_Migrate.inc:1250
-msgid "Winstation will be moved from"
-msgstr ""
+#, fuzzy
+#~ msgid "New password repeated"
+#~ msgstr "新口令"
 
-#: setup/class_setupStep_Migrate.inc:1261
-#: setup/class_setupStep_Migrate.inc:1310
-msgid "Updating following references too"
-msgstr ""
+#, fuzzy
+#~ msgid "Change"
+#~ msgstr "频道"
 
-#: setup/class_setupStep_Migrate.inc:1300
-msgid "Group will be moved from"
-msgstr ""
+#~ msgid "UNIX"
+#~ msgstr "UNIX"
 
-#: setup/class_setupStep_Migrate.inc:1348
-msgid "User will be moved from"
-msgstr ""
+#~ msgid "FTP"
+#~ msgstr "FTP"
 
-#: setup/class_setupStep_Migrate.inc:1358
-msgid "The following references will be updated"
-msgstr ""
+#~ msgid "Thin Client"
+#~ msgstr "瘦客户机"
 
-#: setup/class_setupStep_Migrate.inc:1991
-msgid ""
-"The LDAP root object is missing. It is required to use your LDAP service."
-msgstr ""
+#~ msgid "Object name"
+#~ msgstr "对象名称"
 
-#: setup/class_setupStep_Migrate.inc:1992
-#: setup/class_setupStep_Migrate.inc:2005
-msgid "Try to create root object"
-msgstr ""
+#~ msgid "This object has no relationship to other objects."
+#~ msgstr "这个对象和其他对象没有关系。"
 
-#: setup/class_setupStep_Migrate.inc:2004
-msgid "Root object couldn't be created, you should try it on your own."
-msgstr ""
+#~ msgid ""
+#~ "Changing the password affects your authentification on mail, proxy, samba "
+#~ "and unix services."
+#~ msgstr "修改口令将影响邮件,代理,samba,unix等的登录。"
 
-#: setup/class_setupStep_Migrate.inc:2059
-#, php-format
-msgid "Missing GOsa object class '%s'!"
-msgstr ""
+#~ msgid ""
+#~ "(Some types of certificates are currently not supported and may be "
+#~ "displayed as 'invalid'.)"
+#~ msgstr "(目前有的种类的证书不支持,可能显示为“无效”)"
 
-#: setup/class_setupStep_Migrate.inc:2060
 #, fuzzy
-msgid "Please check your installation."
-msgstr "请检查用户名/口令。"
+#~ msgid "User identification"
+#~ msgstr "用户信息"
 
-#: setup/class_setupStep_Migrate.inc:2081
-#, php-format
-msgid ""
-"Cannot handle the structural object type of your root object. Please try to "
-"add the object class '%s' manually."
-msgstr ""
+#~ msgid "Personal picture"
+#~ msgstr "个人图片"
 
-#: setup/class_setupStep_Migrate.inc:2440
-#, fuzzy, php-format
-msgid "Copy '%s' to '%s' failed:"
-msgstr "移动 '%s' 到 '%s'"
+#, fuzzy
+#~ msgid "In all groups"
+#~ msgstr "显示邮件组"
 
-#: setup/class_setupStep_Migrate.inc:2575
-#, php-format
-msgid "There are %s devices that need to be migrated."
-msgstr ""
+#, fuzzy
+#~ msgid "Not in all groups"
+#~ msgstr "显示邮件组"
 
-#: setup/class_setupStep_Migrate.inc:2635
-#, php-format
-msgid "Adding '%s' to the LDAP failed: %s"
-msgstr ""
+#, fuzzy
+#~ msgid "! unknown UID"
+#~ msgstr "! 未知 id"
 
-#: setup/class_setupStep_Migrate.inc:2655
-#: setup/class_setupStep_Migrate.inc:2772
-#, fuzzy, php-format
-msgid "Updating '%s' failed: %s"
-msgstr "Logging DB 用户"
+#, fuzzy
+#~ msgid "All categories"
+#~ msgstr "添加分类"
 
-#: setup/class_setupStep_Migrate.inc:2728
-#, php-format
-msgid "There are %s services that need to be migrated."
-msgstr ""
+#~ msgid "Startup"
+#~ msgstr "启动"
 
-#: setup/class_setupStep_Migrate.inc:3059
-#, php-format
-msgid "There are %s application menus which have to be migrated."
-msgstr ""
+#~ msgid "FAI summary"
+#~ msgstr "自动化安装说明"
 
-#: setup/setup_welcome.tpl:4
-msgid ""
-"This seems to be the first time you start GOsa - we didn't find any "
-"configuration right now. This simple wizard intends to help you while "
-"setting it up."
-msgstr ""
+#, fuzzy
+#~ msgid "Cannot bind to LDAP. Please contact the system administrator."
+#~ msgstr "无法绑定 LDAP。请联系系统管理员。"
 
-#: setup/setup_welcome.tpl:8
-msgid "What will the wizard do for you?"
-msgstr ""
+#, fuzzy
+#~ msgid "Password reset"
+#~ msgstr "口令过期截止日"
 
-#: setup/setup_welcome.tpl:11
-msgid "Create a basic, single site configuration"
-msgstr ""
+#~ msgid "Up"
+#~ msgstr "上"
 
-#: setup/setup_welcome.tpl:12
-msgid "Tries to find problems within your PHP and LDAP setup"
-msgstr ""
+#~ msgid "Down"
+#~ msgstr "关闭"
 
-#: setup/setup_welcome.tpl:13
-msgid "Let you choose from a set of basic and advanced configuration switches"
-msgstr ""
+#, fuzzy
+#~ msgid "Select to list objects of type '%s'."
+#~ msgstr "选择要添加的对象"
 
-#: setup/setup_welcome.tpl:14
-msgid "Guided migration of existing LDAP trees"
-msgstr ""
+#, fuzzy
+#~ msgid "Select to list objects containig '%s'."
+#~ msgstr "选择查看包含用户的组"
 
-#: setup/setup_welcome.tpl:17
-msgid "What will the wizard NOT do for you?"
-msgstr ""
+#, fuzzy
+#~ msgid "Select to list objects that have '%s' enabled"
+#~ msgstr "选择要添加的对象"
 
-#: setup/setup_welcome.tpl:20
-msgid "Find every possible configuration error"
-msgstr ""
+#~ msgid "Select to search within subtrees"
+#~ msgstr "选择在子树中查询"
 
-#: setup/setup_welcome.tpl:21
-msgid "Migrate every possible LDAP setup - create backup dumps!"
-msgstr ""
+#, fuzzy
+#~ msgid "in"
+#~ msgstr "首页"
 
-#: setup/setup_welcome.tpl:25
 #, fuzzy
-msgid "To continue..."
-msgstr "安装继续..."
+#~ msgid "on line"
+#~ msgstr "继续"
 
-#: setup/setup_welcome.tpl:28
-msgid ""
-"For security reasons you need to authenticate for the installation by "
-"creating the file '/tmp/gosa.auth', containing the current session ID on the "
-"servers local filesystem. This can be done by executing the following "
-"command:"
-msgstr ""
+#, fuzzy
+#~ msgid "Role: %s"
+#~ msgstr "角色"
 
-#: setup/setup_welcome.tpl:34
-msgid "Click the 'Continue' button when you've finished."
-msgstr ""
+#~ msgid "Go up one department"
+#~ msgstr "向上跳转一个部门"
 
-#: setup/setup_license.tpl:8
-msgid "I have read the license and accept it"
-msgstr ""
+#~ msgid "Go to users department"
+#~ msgstr "转到用户部门"
 
-#: setup/class_setupStep_Config3.inc:81 setup/class_setupStep_Config3.inc:82
 #, fuzzy
-msgid "GOsa settings 3/3"
-msgstr "用户设置"
+#~ msgid "Remove snapshot"
+#~ msgstr "删除记录"
 
-#: setup/class_setupStep_Config3.inc:83
-msgid "Tweak some GOsa core behaviour"
-msgstr ""
+#~ msgid "Toggle information"
+#~ msgstr "切换信息"
 
-#: setup/class_setupStep_Config3.inc:212
-#, fuzzy
-msgid "Session lifetime must be a numeric value!"
-msgstr "需要的分值必须是数字。"
+#~ msgid "from"
+#~ msgstr "从"
 
-#: setup/class_setupStep_Config3.inc:216
 #, fuzzy
-msgid "Maximum LDAP query time must be a numeric value!"
-msgstr "需要的分值必须是数字。"
+#~ msgid "Restore"
+#~ msgstr "仓库"
 
-#: setup/setup_checks.tpl:9
-msgid "PHP module and extension checks"
-msgstr ""
+#~ msgid "cut"
+#~ msgstr "剪切"
 
-#: setup/setup_checks.tpl:41 setup/setup_checks.tpl:103
-msgid "GOsa will NOT run without fixing this."
-msgstr ""
+#, fuzzy
+#~ msgid "Your LDAP setup contains old schema definitions:"
+#~ msgstr "您 LDAP 的设置包含老的 schema 定义。请重新执行安装。"
 
-#: setup/setup_checks.tpl:45 setup/setup_checks.tpl:107
-msgid "GOsa will run without fixing this."
-msgstr ""
+#~ msgid ""
+#~ "FATAL: Register globals is on. GOsa will refuse to login unless this is "
+#~ "fixed by an administrator."
+#~ msgstr "致命错误:全局注册已打开。GOsa 将拒绝登录直到被管理修正。"
 
-#: setup/setup_checks.tpl:67
 #, fuzzy
-msgid "PHP setup configuration"
-msgstr "PHP 安装检查"
+#~ msgid "Prpperties"
+#~ msgstr "属性"
 
-#: setup/setup_checks.tpl:67
 #, fuzzy
-msgid "show information"
-msgstr "个人信息"
+#~ msgid "Old password"
+#~ msgstr "旧口令"
 
-#: setup/setup_schema.tpl:3
 #, fuzzy
-msgid "Schema specific settings"
-msgstr "Samba 设置"
+#~ msgid "Verify password"
+#~ msgstr "口令确认"
 
-#: setup/setup_schema.tpl:7
-msgid "Enable schema validation when logging in"
-msgstr ""
+#~ msgid "Session conflict detected"
+#~ msgstr "检测道会话冲突"
 
-#: setup/setup_schema.tpl:16
 #, fuzzy
-msgid "Check status"
-msgstr "具有状态"
+#~ msgid ""
+#~ "Probably there's another active instance of your session. Multiple window "
+#~ "operation is technical not possible and heavily depends on the browser "
+#~ "you're using. Usage of different browsers at a time (i.e. IE and Mozilla) "
+#~ "is possible. Pressing the Logout button will close this session."
+#~ msgstr ""
+#~ "可能已经存在另外一个您的活动的会话。多窗口操作在技术上不可能并且和严重依赖"
+#~ "您使用浏览器。使用不同的浏览器(如 IE 和 Mozilla)是可能的。按“退出”按钮关"
+#~ "闭此会话。"
 
-#: setup/setup_schema.tpl:20
-msgid "Schema check succeeded"
-msgstr ""
+#~ msgid ""
+#~ "Ignoring this message will change/destroy the data you're currently "
+#~ "editing, so please close multiple windows and log in again."
+#~ msgstr ""
+#~ "忽略这条信息将会修改/破坏您当前编辑的数据,所以请关闭多个窗口并重新登录。"
 
-#: setup/setup_schema.tpl:23
-#, fuzzy
-msgid "Schema check failed"
-msgstr "保存电话失败"
+#~ msgid "External password changer reported a problem: "
+#~ msgstr "外部口令更改程序报告错误:"
 
-#: setup/setup_schema.tpl:31
-msgid ""
-"Could not read any schema informations, all checks skipped. Adjust your ldap "
-"acls."
-msgstr ""
+#, fuzzy
+#~ msgid "Show department"
+#~ msgstr "显示部门"
 
-#: setup/setup_schema.tpl:35
-msgid ""
-"It seems that your ldap database wasn't initialized yet. This maybe the "
-"reason, why GOsa can't read your schema configuration!"
-msgstr ""
+#, fuzzy
+#~ msgid "Show groups"
+#~ msgstr "显示 samba 用户组"
 
-#: setup/setup_config1.tpl:2
-msgid "Look and feel"
-msgstr ""
+#, fuzzy
+#~ msgid "Show server"
+#~ msgstr "显示服务器"
 
-#: setup/setup_config1.tpl:6
 #, fuzzy
-msgid "Theme"
-msgstr "模板"
+#~ msgid "Show workstation"
+#~ msgstr "显示工作站"
 
-#: setup/setup_config1.tpl:15
 #, fuzzy
-msgid "Apache"
-msgstr "缓存"
+#~ msgid "Show terminal"
+#~ msgstr "显示终端"
 
-#: setup/setup_config1.tpl:19
-msgid "Compress output send to browser"
-msgstr ""
+#, fuzzy
+#~ msgid "Show printer"
+#~ msgstr "显示打印机"
 
-#: setup/setup_config1.tpl:27
 #, fuzzy
-msgid "People and group storage"
-msgstr "People dn attribute"
+#~ msgid "Show phone"
+#~ msgstr "显示软件包"
 
-#: setup/setup_config1.tpl:30
 #, fuzzy
-msgid "People DN attribute"
-msgstr "People dn attribute"
+#~ msgid "Filter options"
+#~ msgstr "可用的应用程序"
 
-#: setup/setup_config1.tpl:41
-msgid "People storage subtree"
-msgstr ""
+#~ msgid ""
+#~ "Please double check if you really want to do this since there is no way "
+#~ "for GOsa to get your data back."
+#~ msgstr "请再次检查您是否要这么做,因为 GOsa 没有办法将您的数据找回。"
 
-#: setup/setup_config1.tpl:50
 #, fuzzy
-msgid "Group storage subtree"
-msgstr "忽略子树"
+#~ msgid "Manage object groups"
+#~ msgstr "对象组名称"
 
-#: setup/setup_config1.tpl:59
-msgid "Include personal title in user DN"
-msgstr ""
+#, fuzzy
+#~ msgid "nested groups"
+#~ msgstr "对象组"
 
-#: setup/setup_config1.tpl:70
-msgid "Relaxed naming policies"
-msgstr ""
+#, fuzzy
+#~ msgid "application groups"
+#~ msgstr "显示应用程序组"
 
-#: setup/setup_config1.tpl:81
 #, fuzzy
-msgid "Automatic UIDs"
-msgstr "自动"
+#~ msgid "department groups"
+#~ msgstr "部门"
 
-#: setup/setup_config1.tpl:97 setup/class_setupStep_Config1.inc:118
-msgid "GID / UID min id"
-msgstr ""
+#, fuzzy
+#~ msgid "server groups"
+#~ msgstr "服务器"
 
-#: setup/setup_config1.tpl:113
 #, fuzzy
-msgid "Number base for people/groups"
-msgstr "用户/组起始 ID"
+#~ msgid "workstation groups"
+#~ msgstr "工作站"
 
-#: setup/setup_config1.tpl:121
-msgid "Hook for number base"
-msgstr ""
+#, fuzzy
+#~ msgid "terminal groups"
+#~ msgstr "显示邮件组"
 
-#: setup/setup_config1.tpl:140
 #, fuzzy
-msgid "Password encryption algorithm"
-msgstr "加密算法"
+#~ msgid "printer groups"
+#~ msgstr "主要用户组"
 
-#: setup/setup_config1.tpl:151
 #, fuzzy
-msgid "Password restrictions"
-msgstr "口令过期截止日"
+#~ msgid "phone groups"
+#~ msgstr "显示组"
 
-#: setup/setup_config1.tpl:158 setup/setup_config1.tpl:162
-msgid "Password minimum length"
-msgstr ""
+#~ msgid "Select objects to add"
+#~ msgstr "选择要添加的对象"
 
-#: setup/setup_config1.tpl:169 setup/setup_config1.tpl:173
-msgid "Different characters from old password"
-msgstr ""
+#~ msgid "Filters"
+#~ msgstr "过滤器"
 
-#: setup/setup_config1.tpl:182
-#, fuzzy
-msgid "Password change hook"
-msgstr "不允许修改口令"
+#~ msgid "Display objects of department"
+#~ msgstr "选择查看部门对象"
 
-#: setup/setup_config1.tpl:198
-msgid "Use SASL for kerberos"
-msgstr ""
+#~ msgid "Choose the department the search will be based on"
+#~ msgstr "选择一个部门来做查询"
 
-#: setup/setup_config1.tpl:209
-#, fuzzy
-msgid "Use account expiration"
-msgstr "账号过期于"
+#~ msgid "Display objects matching"
+#~ msgstr "显示匹配对象"
 
-#: setup/setup_config1.tpl:221
-msgid ""
-"GOsa supports several encryption types for your passwords. Normally this is "
-"adjustable via user templates, but you can specify a default method to be "
-"used here, too."
-msgstr ""
-"GOsa 支持好几种口令加密算法。通常可以通过用户模板调整算法,但是在这里您可以定"
-"义一个缺省方法。"
+#~ msgid "Regular expression for matching object names"
+#~ msgstr "匹配对象名的正则表达式"
 
-#: setup/setup_config1.tpl:222
-#, fuzzy
-msgid ""
-"GOsa always acts as admin and manages access rights internally. This is a "
-"workaround till OpenLDAP's in directory ACI's are    fully implemented. For "
-"this to work, we need the admin DN and the corresponding password."
-msgstr ""
-"GOsa 总是作为 LDAP 管理员,并且管理内部权限。这是一个临时方案直到 OpenLDAP 目"
-"录 ACI 被完全实现。为了让其实现,我们需要管理员 DN 和正确的口令。"
+#~ msgid "Select systems to add"
+#~ msgstr "选择要添加的系统"
 
-#: setup/setup_config1.tpl:223
-msgid ""
-"Some basic LDAP parameters are tunable and affect the locations where GOsa "
-"saves people and groups, including the way accounts get created. Check the "
-"values below if the fit your needs."
-msgstr ""
-"有的基本的 LDAP 参数是可调的,并影响位置Gosa 保存用户和组的地方。包括账号创建"
-"的方式。点击下面的值如果它们不符合您的需要。"
+#~ msgid "Display systems of department"
+#~ msgstr "显示部门的系统"
 
-#: setup/setup_config1.tpl:224
-#, fuzzy
-msgid ""
-"GOsa has modular support for several mail methods. These methods provide "
-"interfaces to users mailboxes and general handling    for quotas. You can "
-"choose the dummy plugin to leave all your mail settings untouched."
-msgstr ""
-"GOsa 通过模组支持几种邮件方法。这些方法提供用户邮箱的界面以及管理用户空间。您"
-"可以选择选择 dummy 插件以保持您的邮件设置不被更改。"
+#~ msgid "Display systems matching"
+#~ msgstr "显示匹配的系统"
 
-#: setup/class_setupStep_Schema.inc:42 setup/class_setupStep_Schema.inc:43
-msgid "LDAP schema check"
-msgstr ""
+#~ msgid "Regular expression for matching addresses"
+#~ msgstr "匹配地址的正则表达式"
 
-#: setup/class_setupStep_Schema.inc:44
-msgid "Perform test on your current LDAP schema"
-msgstr ""
+#~ msgid ""
+#~ "This may be a primary user group. Please double check if you really want "
+#~ "to do this since there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "这可能是一个主要的用户组。请再次检查您是否要这么做,因为 GOsa 没有办法将您"
+#~ "的数据找回。"
 
-#: setup/class_setupStep_Welcome.inc:38
-#, fuzzy
-msgid "Welcome"
-msgstr "欢迎 %s!"
+#~ msgid "Show samba groups"
+#~ msgstr "显示 samba 用户组"
 
-#: setup/class_setupStep_Welcome.inc:39
 #, fuzzy
-msgid "The welcome message"
-msgstr "解除挂起的邮件"
+#~ msgid "Show mail groups"
+#~ msgstr "显示 samba 用户组"
 
-#: setup/class_setupStep_Welcome.inc:40
-#, fuzzy
-msgid "Welcome to GOsa setup wizard"
-msgstr "欢迎进入 Gosa 安装程序!"
+#~ msgid "Group administration"
+#~ msgstr "组管理"
+
+#~ msgid ""
+#~ "This includes all account data, system access rules, imap settings, etc. "
+#~ "for this user. Please double check if your really want to do this since "
+#~ "there is no way for GOsa to get your data back."
+#~ msgstr ""
+#~ "这包含该用户所有账号数据,系统访问规则,imap 设置等等。请再次检查您是否要"
+#~ "这么做,因为 GOsa 没有办法将您的数据找回。"
 
-#: setup/class_setupStep_License.inc:56 setup/class_setupStep_License.inc:57
 #, fuzzy
-msgid "License"
-msgstr "行"
+#~ msgid "Manage users"
+#~ msgstr "域用户"
 
-#: setup/class_setupStep_License.inc:58
-msgid "Terms and conditions for usage"
-msgstr ""
+#~ msgid ""
+#~ "This includes 'all' accounts, systems, etc. in this subtree. Please "
+#~ "double check if your really want to do this since there is no way for "
+#~ "GOsa to get your data back."
+#~ msgstr ""
+#~ "在这个子树中包含了所有账号,系统等等。请再次检查您是否要这么做,因为 GOsa "
+#~ "没有办法将您的数据找回。"
 
-#: setup/setup_language.tpl:3
-#, fuzzy
-msgid "Please select the preferred language"
-msgstr "请选择一个打印机或者取消。"
+#~ msgid ""
+#~ "Best thing to do before performing this action would be to save the "
+#~ "current contents of your LDAP tree in a file. So - if you've done so - "
+#~ "press 'Delete' to continue or 'Cancel' to abort."
+#~ msgstr ""
+#~ "最好在执行这个操作之前,保存当前 LDAP 树中的内容到一个文件。所以,如果您已"
+#~ "经这么做了,按“删除”继续或者按“取消”退出。"
 
-#: setup/setup_language.tpl:5
-msgid ""
-"At this point, you can select the site wide default language. Choosing "
-"'automatic' will use the language requested by the browser. This setting can "
-"be overriden per user."
-msgstr ""
+#~ msgid "List of departments"
+#~ msgstr "部门列表"
 
-#: setup/setup_language.tpl:9
 #, fuzzy
-msgid "Please select your preferred language here"
-msgstr "首选语种"
+#~ msgid "Manage Departments"
+#~ msgstr "部门"
 
-#: setup/class_setupStep_Config1.inc:74 setup/class_setupStep_Config1.inc:75
 #, fuzzy
-msgid "GOsa settings 1/3"
-msgstr "用户设置"
+#~ msgid "Show access control lists"
+#~ msgstr "访问选项"
 
-#: setup/class_setupStep_Config1.inc:76
 #, fuzzy
-msgid "GOsa generic settings"
-msgstr "用户设置"
-
-#: setup/class_setupStep_Config1.inc:118
-#, fuzzy, php-format
-msgid "The specified value for '%s' must be a numeric value"
-msgstr "指定 '%s' 的值必须是数字类型。"
+#~ msgid "Show roles"
+#~ msgstr "显示电话"
 
-#: setup/class_setupStep_Config1.inc:122 setup/class_setupStep_Config1.inc:126
-#, php-format
-msgid "Don't add a trailing comma to '%s'."
-msgstr ""
+#~ msgid "Show servers"
+#~ msgstr "显示服务器"
 
-#: setup/class_setupStep_Config1.inc:122
-msgid "People storage ou"
-msgstr ""
+#~ msgid "Show workstations"
+#~ msgstr "显示工作站"
 
-#: setup/class_setupStep_Config1.inc:126
-msgid "Group storage ou"
-msgstr ""
+#~ msgid "Show terminals"
+#~ msgstr "显示终端"
 
-#: setup/class_setupStep_Config1.inc:130
 #, fuzzy
-msgid "Uid base must be numeric"
-msgstr "超时必须填数字"
+#~ msgid "List navigation"
+#~ msgstr "Windows 工作站"
 
-#: setup/class_setupStep_Config1.inc:134
 #, fuzzy
-msgid "The given password minimum length is not numeric."
-msgstr "Sieve 端口应为数字。"
+#~ msgid "Group selection filter"
+#~ msgstr "组设置"
 
-#: setup/class_setupStep_Config1.inc:137
 #, fuzzy
-msgid "The given password differ value is not numeric."
-msgstr "Sieve 端口应为数字。"
+#~ msgid "Posix extension settings"
+#~ msgstr "Posix 设置"
 
-#: setup/class_setupStep_Config2.inc:80 setup/class_setupStep_Config2.inc:81
 #, fuzzy
-msgid "GOsa settings 2/3"
-msgstr "用户设置"
+#~ msgid "Account accessibility"
+#~ msgstr "配置文件"
 
-#: setup/class_setupStep_Config2.inc:82
-#, fuzzy
-msgid "Customize special parameters"
-msgstr "检查参数"
+#~ msgid "Go to root department"
+#~ msgstr "转到根部门"
 
-#: setup/class_setupStep_Language.inc:40 setup/class_setupStep_Language.inc:41
-#, fuzzy
-msgid "Language setup"
-msgstr "语言"
+#~ msgid ""
+#~ "This is the GOsa main menu. You can select your tasks from the menu on "
+#~ "the left, or by choosing one of the pictograms below. All changes apply "
+#~ "directly to your companies LDAP server."
+#~ msgstr ""
+#~ "这是 Gosa 主菜单。您可以从左侧的菜单中选择,或者点击下面的图标。所有改变都"
+#~ "将直接修改您公司的 LDAP 服务器。"
 
-#: setup/class_setupStep_Language.inc:42
-msgid "This step allows you to select your preferred language."
-msgstr ""
+#~ msgid ""
+#~ "Use 'Sign out' on the upper left to close the connection and 'Main' to "
+#~ "get back to the pictogram view."
+#~ msgstr "选择上方左侧的“退出”按钮断开链接,选择“首页”回到图标程序界面。"
 
-#: setup/class_setupStep_Language.inc:47
 #, fuzzy
-msgid "Automatic"
-msgstr "自动"
+#~ msgid "Show functional users"
+#~ msgstr "显示用户"
 
 #, fuzzy
-#~ msgid "Group submenu menu"
-#~ msgstr "组成员"
+#~ msgid "Show Samba users"
+#~ msgstr "显示邮件用户"
 
 #~ msgid "Choose subtree to place user in"
 #~ msgstr "将用户放到所选择子树中"
@@ -6802,20 +8073,29 @@ msgstr "自动"
 #~ msgid "Select a base"
 #~ msgstr "选择一个位置"
 
-#, fuzzy
-#~ msgid "You have no permission to set your password!"
-#~ msgstr "您无权修改您的口令。"
+#~ msgid "Generic user information"
+#~ msgstr "用户一般信息"
 
-#~ msgid ""
-#~ "You have changed the method your password is stored in the ldap database. "
-#~ "For that reason you've to enter your password at this point again. GOsa "
-#~ "will then encode it with the selected method."
-#~ msgstr ""
-#~ "您已经修改了口令在 LDAP 数据库中存储的方法。因此您需要再输入您的口令。"
-#~ "GOsa 将会按照您选择的方法重新编码。"
+#~ msgid "Account"
+#~ msgstr "账户"
 
-#~ msgid "Password change not allowed"
-#~ msgstr "不允许修改口令"
+#~ msgid "Select groups to add"
+#~ msgstr "选择要添加的组"
+
+#~ msgid "Display groups of department"
+#~ msgstr "显示部门的组"
+
+#~ msgid "Display groups matching"
+#~ msgstr "显示匹配的组"
+
+#~ msgid "Regular expression for matching group names"
+#~ msgstr "用于匹配组名的正则表达式"
+
+#~ msgid "Display groups of user"
+#~ msgstr "显示用户组"
+
+#~ msgid "User name of which groups are shown"
+#~ msgstr "显示属于该组的用户名"
 
 #, fuzzy
 #~ msgid "Choose a base"
@@ -6858,10 +8138,6 @@ msgstr "自动"
 #~ msgstr "匹配用户名的正则表达式"
 
 #, fuzzy
-#~ msgid "List of systems"
-#~ msgstr "用户列表"
-
-#, fuzzy
 #~ msgid "givenname"
 #~ msgstr "名"
 
@@ -6878,10 +8154,6 @@ msgstr "自动"
 #~ msgstr "组列表"
 
 #, fuzzy
-#~ msgid "Use"
-#~ msgstr "用户"
-
-#, fuzzy
 #~ msgid "Filter entries with this syntax"
 #~ msgstr "用这个语法过滤条目"
 
@@ -6945,10 +8217,6 @@ msgstr "自动"
 #~ msgstr "显示实用组"
 
 #, fuzzy
-#~ msgid "Not allowed"
-#~ msgstr "不允许修改口令"
-
-#, fuzzy
 #~ msgid "Number of listed groups"
 #~ msgstr "组名称"
 
@@ -6964,10 +8232,6 @@ msgstr "自动"
 #~ msgstr "模板"
 
 #, fuzzy
-#~ msgid "GOsa object"
-#~ msgstr "对象"
-
-#, fuzzy
 #~ msgid "functional users"
 #~ msgstr "显示用户"
 
@@ -6999,10 +8263,6 @@ msgstr "自动"
 #~ msgid "Create user with this template"
 #~ msgstr "创建使用该模板的用户"
 
-#, fuzzy
-#~ msgid "user"
-#~ msgstr "用户"
-
 #~ msgid "password"
 #~ msgstr "口令"
 
@@ -7033,9 +8293,6 @@ msgstr "自动"
 #~ msgid "Regular expression for matching department names"
 #~ msgstr "匹配附件名称的正则表达式"
 
-#~ msgid "Department management"
-#~ msgstr "部门管理"
-
 #, fuzzy
 #~ msgid ""
 #~ "This includes all system and setup informations. Please double check if "
@@ -7089,10 +8346,6 @@ msgstr "自动"
 #~ msgstr "删除打印机扩展"
 
 #, fuzzy
-#~ msgid "Enable DHCP extension"
-#~ msgstr "删除打印机扩展"
-
-#, fuzzy
 #~ msgid "Enable mime type management"
 #~ msgstr "系统管理"
 
@@ -7130,19 +8383,12 @@ msgstr "自动"
 #~ msgstr "重命名"
 
 #, fuzzy
-#~ msgid "Role description"
-#~ msgstr "单元描述"
-
-#, fuzzy
 #~ msgid "Override sudo role ou"
 #~ msgstr "! 未知 id"
 
 #~ msgid "Terminals"
 #~ msgstr "终端"
 
-#~ msgid "Action"
-#~ msgstr "行动"
-
 #, fuzzy
 #~ msgid "Select this base"
 #~ msgstr "选择一个位置"
@@ -7151,10 +8397,6 @@ msgstr "自动"
 #~ msgid "add"
 #~ msgstr "添加"
 
-#, fuzzy
-#~ msgid "remove"
-#~ msgstr "删除"
-
 #~ msgid "You're about to delete the whole LDAP subtree placed under '%s'."
 #~ msgstr "您将要删除 '%s' 下的整个 LDAP 子树。"
 
@@ -7162,10 +8404,6 @@ msgstr "自动"
 #~ msgstr "部门"
 
 #, fuzzy
-#~ msgid "Delete acl role"
-#~ msgstr "删除宏"
-
-#, fuzzy
 #~ msgid "Steps"
 #~ msgstr "系统设置"
 
@@ -7190,16 +8428,9 @@ msgstr "自动"
 #~ msgstr "删除用户"
 
 #, fuzzy
-#~ msgid "User successfully removed."
-#~ msgstr "导入成功"
-
-#, fuzzy
 #~ msgid "Heimdal options"
 #~ msgstr "邮件选项"
 
-#~ msgid "Hour"
-#~ msgstr "小时"
-
 #, fuzzy
 #~ msgid "Day"
 #~ msgstr "五月"
@@ -7213,6 +8444,10 @@ msgstr "自动"
 #~ msgstr "查找"
 
 #, fuzzy
+#~ msgid "Password end"
+#~ msgstr "口令"
+
+#, fuzzy
 #~ msgid "Missing parameters!"
 #~ msgstr "应用程序名称"
 
@@ -7241,18 +8476,12 @@ msgstr "自动"
 #~ msgid "Common name"
 #~ msgstr "常用名"
 
-#~ msgid "Server name"
-#~ msgstr "服务器名称"
-
 #~ msgid "Servers of %s on %s"
 #~ msgstr "%s服务器于%s"
 
 #~ msgid "Display name"
 #~ msgstr "显示名称"
 
-#~ msgid "Home phone"
-#~ msgstr "住宅电话"
-
 #~ msgid "Initials"
 #~ msgstr "中间名"
 
@@ -7280,12 +8509,6 @@ msgstr "自动"
 #~ msgid "Email address"
 #~ msgstr "邮件地址"
 
-#~ msgid "Organizational unit"
-#~ msgstr "组织/公司部门"
-
-#~ msgid "Postal Code"
-#~ msgstr "邮编"
-
 #~ msgid "Title"
 #~ msgstr "称谓"
 
@@ -7299,9 +8522,6 @@ msgstr "自动"
 #~ msgid "You have no permission to do LDAP exports!"
 #~ msgstr "您无权查看和编辑 ACL。"
 
-#~ msgid "Could not connect to database server!"
-#~ msgstr "无法连接到数据库!"
-
 #~ msgid "Could not select database!"
 #~ msgstr "无法选择数据库!"
 
@@ -7361,18 +8581,10 @@ msgstr "自动"
 #~ msgstr "钩子"
 
 #, fuzzy
-#~ msgid "Command"
-#~ msgstr "和"
-
-#, fuzzy
 #~ msgid "Run as user"
 #~ msgstr "域用户"
 
 #, fuzzy
-#~ msgid "Available options"
-#~ msgstr "可用的应用程序"
-
-#, fuzzy
 #~ msgid "Sudo role administration"
 #~ msgstr "组管理"
 
@@ -7516,10 +8728,6 @@ msgstr "自动"
 #~ msgstr "显示包含用户的组"
 
 #, fuzzy
-#~ msgid "server"
-#~ msgstr "服务器"
-
-#, fuzzy
 #~ msgid "Show %s user"
 #~ msgstr "显示 samba 用户"
 
@@ -7607,10 +8815,6 @@ msgstr "自动"
 #~ msgid "Service infrastructure"
 #~ msgstr "在子树中查找"
 
-#, fuzzy
-#~ msgid "Password change failed."
-#~ msgstr "不允许修改口令"
-
 #~ msgid "You are not allowed to set this users password!"
 #~ msgstr "您无权设置这些用户口令!"
 
@@ -7638,10 +8842,6 @@ msgstr "自动"
 #~ msgstr "您无权删除这个用户!"
 
 #, fuzzy
-#~ msgid "Accessibility"
-#~ msgstr "配置文件"
-
-#, fuzzy
 #~ msgid "Configuration warning"
 #~ msgstr "配置文件"
 
@@ -7853,9 +9053,6 @@ msgstr "自动"
 #~ msgid "You're about to delete the object group '%s'."
 #~ msgstr "您将要删除这个对象组 '%s'。"
 
-#~ msgid "Name of object groups"
-#~ msgstr "对象组名称"
-
 #~ msgid "Select to see groups containing groups"
 #~ msgstr "选择查看包含组的组"
 
@@ -7920,10 +9117,6 @@ msgstr "自动"
 #~ msgid "Edit ACL"
 #~ msgstr "编辑"
 
-#, fuzzy
-#~ msgid "ACLs"
-#~ msgstr "ACL"
-
 #~ msgid "Groupname / Department"
 #~ msgstr "组名 / 部门"
 
@@ -8030,10 +9223,6 @@ msgstr "自动"
 #~ msgstr "Unix 设置"
 
 #, fuzzy
-#~ msgid "Notifications"
-#~ msgstr "行业"
-
-#, fuzzy
 #~ msgid "Send user notifications"
 #~ msgstr "用户信息"
 
@@ -8046,10 +9235,6 @@ msgstr "自动"
 #~ msgstr "无法创建文件 '%s'。"
 
 #, fuzzy
-#~ msgid "Notification"
-#~ msgstr "行业"
-
-#, fuzzy
 #~ msgid "Notification plugin"
 #~ msgstr "主机通知选项"
 
@@ -8061,10 +9246,6 @@ msgstr "自动"
 #~ msgid "Notification target"
 #~ msgstr "未安装证书"
 
-#, fuzzy
-#~ msgid "Recipients"
-#~ msgstr "收件人"
-
 #~ msgid "Message"
 #~ msgstr "信息"
 
@@ -8145,9 +9326,6 @@ msgstr "自动"
 #~ msgid "Please enter a valid path in 'Home directory' field."
 #~ msgstr "请在“用户主目录”输入一个有效的地址。"
 
-#~ msgid "Value specified as 'UID' is not valid."
-#~ msgstr "'UID' 赋值无效。"
-
 #~ msgid "Value specified as 'GID' is not valid."
 #~ msgstr "'GID' 赋值无效。"
 
@@ -8341,10 +9519,6 @@ msgstr "自动"
 #~ msgstr "可用的应用程序"
 
 #, fuzzy
-#~ msgid "Show object groups"
-#~ msgstr "对象组"
-
-#, fuzzy
 #~ msgid "You are not allowed to delete this acl!"
 #~ msgstr "您无权删除这个宏!"
 
@@ -8376,9 +9550,6 @@ msgstr "自动"
 #~ msgid "Network resolv hook"
 #~ msgstr "网络地址"
 
-#~ msgid "Administration"
-#~ msgstr "系统管理"
-
 #~ msgid "Addons"
 #~ msgstr "插件"
 
@@ -8399,12 +9570,6 @@ msgstr "自动"
 #~ msgid "Nagios"
 #~ msgstr "Nagios"
 
-#~ msgid "Options"
-#~ msgstr "选项"
-
-#~ msgid "Parameter"
-#~ msgstr "参数"
-
 #, fuzzy
 #~ msgid "Inventory"
 #~ msgstr "添加清单(inventory)"
diff --git a/gosa-core/plugins/addons/bugsubmitter/class_bugsubmitter.inc b/gosa-core/plugins/addons/bugsubmitter/class_bugsubmitter.inc
deleted file mode 100644
index 77eabf2..0000000
--- a/gosa-core/plugins/addons/bugsubmitter/class_bugsubmitter.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/*
- * This code is part of GOsa (http://www.gosa-project.org)
- * Copyright (C) 2003-2008 GONICUS GmbH
- *
- * ID: $$Id: class_bugsubmitter.inc 9279 2008-03-04 07:33:27Z cajus $$
- *
- * 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.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-class bugsubmitter extends plugin
-{
-	var $plDescription = "Bug submitter";
-	var $plHeadline= "<a	href='https://oss.gonicus.de/labs/gosa/newticket'	target='_blank'>Bugsubmitter</a>";
-}
-
-?>
diff --git a/gosa-core/plugins/addons/bugsubmitter/main.inc b/gosa-core/plugins/addons/bugsubmitter/main.inc
deleted file mode 100644
index 73be80e..0000000
--- a/gosa-core/plugins/addons/bugsubmitter/main.inc
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/*
- * This code is part of GOsa (http://www.gosa-project.org)
- * Copyright (C) 2003-2008 GONICUS GmbH
- *
- * ID: $$Id: main.inc 9279 2008-03-04 07:33:27Z cajus $$
- *
- * 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.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-header('location:?');
-exit();
-$display = "";
-?>
diff --git a/gosa-core/plugins/addons/dyngroup/class_DynamicLdapGroup.inc b/gosa-core/plugins/addons/dyngroup/class_DynamicLdapGroup.inc
new file mode 100644
index 0000000..2c02078
--- /dev/null
+++ b/gosa-core/plugins/addons/dyngroup/class_DynamicLdapGroup.inc
@@ -0,0 +1,333 @@
+<?php
+
+/*
+ * This code is part of GOsa (http://www.gosa-project.org)
+ * Copyright (C) 2003-2008 GONICUS GmbH
+ * Copyright (C) 2010 Thomas CHEMINEAU
+ *
+ * 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.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * This class will allow user to parameter dynamic group.
+ * @author Thomas Chemineau - thomas.chemineau<at>gmail.com
+ * @version 0.01
+ */
+class DynamicLdapGroup extends plugin
+{
+
+    /**
+     * The attribute that will use GOsa to store LDAP URI.
+     * @var array
+     */
+    public $attributes = array('labeledURI');
+
+    /**
+     * The objectClass that will use GOsa to identify a group as dynamic.
+     * @var array
+     */
+    public $objectclasses = array('labeledURIObject');
+
+    /**
+     * Default value for the corresponding attribute found in the $this->attributes
+     * array of this plugin.
+     * @var string
+     */
+    public $labeledURI = array();
+    public $labeledURIparsed = array();
+    public $labeledURIdefault = 'ldap:///dc=example,dc=com?memberUid?sub?(objectClass=posixGroup)';
+    
+    public $scopes = array('base','one','sub');
+
+    /**
+     * Store values of memberUrl.
+     * @var Array
+     */
+    private $_memberUrls = Array();
+
+    public $orig_dn ="";
+
+    /**
+     * Create this object.
+     * @param Array $config GOsa config.
+     * @param string $dn Current DN.
+     */
+    public function __construct ($config, $dn)
+    {
+        parent::__construct($config, $dn);
+
+        // Load labeledURI values.
+        $this->labeledURI = array();
+        if(!$this->is_account){
+            $this->labeledURI[] = str_replace('dc=example,dc=com', LDAP::fix($this->dn), $this->labeledURIdefault);
+        }elseif(isset($this->attrs['labeledURI'])){
+            for($i =0; $i < $this->attrs['labeledURI']['count']; $i++) {
+                $this->labeledURI[] = $this->attrs['labeledURI'][$i];
+            }
+        }
+
+        // Parse labeledURI entries
+        $this->labeledURIparsed = array();
+        foreach($this->labeledURI as $entry){
+            list($base,$attr,$scope,$filter) = preg_split("/\?/",$entry); 
+            
+            // Ignore entries that do not have a valid scope value (one,base,sub)
+            if(!in_array($scope,array('base','one','sub'))) continue;
+
+            // Append parsed uri
+            $scope = array_search($scope,$this->scopes);
+            $this->labeledURIparsed[] = array('base' => $base, 'attr' => $attr, 'scope' => $scope,'filter' => $filter);
+        }
+   
+        // Save dn, to be able the check for object movements - put this in plugin::move 
+        $this->orig_dn = $this->dn;
+    }
+
+
+    public function check ()
+    {
+        $messages = plugin::check();
+        
+        // At least one entry is required. 
+        if(!count($this->labeledURIparsed)){
+            $messages[] = msgPool::required(_("Labeled URI"));
+        }  
+
+        // Check entries
+        foreach($this->labeledURIparsed as $key => $entry){
+            $nr = $key +1;
+
+            // A base is required
+            if(empty($entry['base'])){
+                $messages[] = msgPool::required(_("Base")." {$nr}");
+            }
+
+            // Check for invalid attributes
+            if(empty($entry['attr'])){
+                $messages[] = msgPool::required(_("Attribute")." {$nr}");
+            }elseif(in_array(strtolower($entry['attr']), array('objectclass'))){
+                $messages[] = msgPool::reserved(_("Attribute")." {$nr}");
+            }
+
+            // A filter is required
+            if(empty($entry['filter'])){
+                $messages[] = msgPool::required(_("Filter")." {$nr}");
+            }elseif(!preg_match("/^\(/", $entry['filter'])){
+                $messages[] = msgPool::invalid(_("Filter")." {$nr}",  $entry['filter'],'', '(objectClass=gosaAccount)'." - "._("Surrounding brackets are required!"));
+            }else{
+
+                // Check if filter is valid
+                $ldap = $this->config->get_ldap_link();
+                $ldap->cd($this->config->current['BASE']);
+                $ldap->search($entry['filter']);
+                if(!$ldap->success()){
+                    $messages[] = sprintf(_("The given filter '%s' for entry %s seems to be invalid!"),
+                            bold($entry['filter']), $nr);
+                }
+            }
+        }
+ 
+        return($messages);
+    }
+
+
+    /**
+     * Execute this plugin.
+     * @return string HTML to print.
+     */
+    public function execute ()
+    {
+        //
+        // Are we trying to modify state of this group ? If so,
+        // we can edit the current object.
+        //
+        if (isset($_POST['modify_state']))
+        {
+            $this->is_account = !$this->is_account;
+        }
+
+        //
+        // Display a message if this feature is disabled.
+        //
+        if (!$this->is_account)
+        {
+            return $this->show_disable_header(msgPool::addFeaturesButton(_("Dynamic object")), msgPool::featuresDisabled(_("Dynamic object")));
+        }
+        $display = $this->show_disable_header(msgPool::removeFeaturesButton(_("Dynamic object")), msgPool::featuresEnabled(_("Dynamic object")));
+
+        // Display values.
+        //
+        $smarty = get_smarty();
+        $smarty->assign('labeledURIparsed',  set_post($this->labeledURIparsed));
+        $smarty->assign('scopes', set_post($this->scopes));
+        $display .= $smarty->fetch(get_template_path('dyngroup.tpl', TRUE, dirname(__FILE__)));
+        return $display;
+    }
+
+
+
+    /**
+     * This plugin does nothing when this method is invoked.
+     */
+    public function remove_from_parent ()
+    {
+        parent::remove_from_parent();
+        $ldap = $this->config->get_ldap_link();
+        $ldap->cd($this->dn);
+        $ldap->modify($this->attrs);
+        if(!$ldap->success()){
+            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_DEL, get_class()));
+        }
+        return;
+    }
+
+
+    /**
+     * This function is called when tab is undisplayed. For example, the current user
+     * wants to change other settings of this group, but not save it to the LDAP
+     * directory directly.
+     */
+    public function save_object ()
+    {
+        parent::save_object();
+
+        // Add a new labeled Uri
+        if(isset($_POST['addUri'])){
+            $this->labeledURIparsed[] = 
+                array(
+                        'base' => 'ldap:///'.$this->dn,
+                        'attr' => 'memberUid', 
+                        'scope' => 2,
+                        'filter' => '(objectClass=posixGroup)');
+        }
+
+        // Remove a labeled Uri and get posts
+        foreach($this->labeledURIparsed as $key => $data){
+            foreach(array('scope','attr','filter','base') as $attr){
+                if(isset($_POST[$attr.'_'.$key])){
+                    $this->labeledURIparsed[$key][$attr] = get_post($attr.'_'.$key);
+                }
+            }
+        
+            // Remove labeled uri if requested
+            if(isset($_POST['delUri_'.$key])){
+                unset($this->labeledURIparsed[$key]);
+            }
+        }
+        $this->labeledURIparsed = array_values($this->labeledURIparsed);
+    }
+
+
+    /**
+     * That will add additionnal information into the current LDAP entry.
+     * If this plugin is disable, then it will remove any data that references
+     * this plugin into the LDAP directory.
+     * @return boolean
+     */
+    public function save ()
+    {
+        // Build up labeledUri entries
+        $this->labeledURI = array();
+        foreach($this->labeledURIparsed as $entry){
+            $scope = $this->scopes[$entry['scope']];
+            $filter = $entry['filter'];
+            $this->labeledURI[] = "{$entry['base']}?{$entry['attr']}?{$scope}?{$filter}";
+        }
+        $this->labeledURI = array_unique($this->labeledURI);
+
+        parent::save();
+        $this->cleanup();
+        $ldap = $this->config->get_ldap_link();
+        $ldap->cd($this->dn);
+        $ldap->modify($this->attrs);
+        if(!$ldap->success()){
+            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_DEL, get_class()));
+        }
+    }
+
+
+    /*! \brief      Updates labeledURI entries in ldap.
+     *              Check whether the given src_dn is part of some labeledURI entries
+     *               and then updates the entries to use the dst_dn.
+     * @param       $config     The GOsa configuration object.
+     * @param       $src_dn     The source 'dn' of the object that was moved.
+     * @param       $dst_dn     The target 'dn' of the object that was moved.
+     */
+    public static function moveDynGroup($config,$src_dn,$dst_dn)
+    {
+        // Fetch all dynamic group definitions 
+        $objs = get_list("(&(objectClass=labeledURIObject)(labeledURI=*))",array("all"),$config->current['BASE'],
+                array("dn","labeledURI"),GL_SUBSEARCH | GL_NO_ACL_CHECK);
+        $newAttrs = array();
+        foreach($objs as $obj){
+            $changes = false;
+            $attrs = array();
+            for($i = 0; $i < $obj['labeledURI']['count']; $i++){
+                $c = $obj['labeledURI'][$i];
+                $c = preg_replace('/'.preg_quote($src_dn,'/').'/',$dst_dn,$c);
+                $attrs['labeledURI'][] = $c;
+
+                // Check if something has changed
+                if($c != $obj['labeledURI'][$i]){
+                    $changes =TRUE;
+                }
+            }
+
+            // If at least one line of 'labeledURI' has changed then we have to update the whole entry.
+            if($changes)      $newAttrs[$obj['dn']] = $attrs;
+        }
+ 
+        // If we've at least one entry to update then 
+        if(count($newAttrs)){
+            $ldap = $config->get_ldap_link();
+            foreach($newAttrs as $dn => $data){
+                $ldap->cd($dn);
+                $ldap->modify($data);
+                if(!$ldap->success()){
+                    trigger_error(sprintf("Failed to dynamic group object for %s: %s", bold($dn), $ldap->get_error()));
+                    new log("debug",
+                            "plugin/plugin::move()",$dn,array(),
+                            " -- ERROR -- Failed to update dynamic groups (labeledURI) - ".$ldap->get_error());
+                }else{
+                    new log("modify",
+                            "plugin/plugin::move()",$dn,array_keys($data),
+                            "Updated dynamic group entries (labeledURI)");
+                }
+            }
+        }
+    }
+
+
+    /**
+     * Static method to set ACL for this plugin.
+     */
+    public static function plInfo()
+    {
+        return Array(
+                "plShortName"   => _("Dynamic object"),
+                "plDescription" => _("Dynamic object"),
+                "plSelfModify"  => TRUE,
+                "plDepends"     => Array(),
+                "plPriority"    => 1,
+                "plSection"     => Array("addon"),
+                "plCategory"    => Array("groups", "department", "ogroups"),
+                "plProvidedAcls" => array(
+                    'labeledURI' =>  _('Labeled URI'),
+                    )
+                );
+    }
+}
+
+?>
diff --git a/gosa-core/plugins/addons/dyngroup/dyngroup.tpl b/gosa-core/plugins/addons/dyngroup/dyngroup.tpl
new file mode 100644
index 0000000..7fcab4d
--- /dev/null
+++ b/gosa-core/plugins/addons/dyngroup/dyngroup.tpl
@@ -0,0 +1,30 @@
+<h3>{t}List of dynamic rules{/t}</h3>
+
+<table summary="{t}Labeled URI definitions{/t}" style='width:100%'>
+ <tr>
+  <td style='width:40%;'>{t}Base{/t}</td>
+  <td>{t}Scope{/t}</td>
+  <td>{t}Attribute{/t}</td>
+  <td style='width:40%;'>{t}Filter{/t}</td>
+  <td></td>
+ </tr>
+{foreach item=item key=key from=$labeledURIparsed}
+ <tr>
+  <td>
+    <input style='width:98%;' type='text' value='{$item.base}' name='base_{$key}'>
+  </td>
+  <td>
+    <select name='scope_{$key}' size='1'>
+     {html_options options=$scopes selected=$item.scope}
+    </select>
+  </td>
+  <td><input type='text' name='attr_{$key}' value='{$item.attr}'></td>
+  <td><input name='filter_{$key}' type='text' style='width:98%;' value='{$item.filter}'></td>
+  <td><button name='delUri_{$key}'>{msgPool type='delButton'}</button></td>
+ </tr>
+{/foreach}
+ <tr>
+  <td><button name='addUri'>{msgPool type='addButton'}</button></td>
+  <td colspan="4"></td>
+ </tr>
+</table>
diff --git a/gosa-core/plugins/addons/propertyEditor/class_commandVerifier.inc b/gosa-core/plugins/addons/propertyEditor/class_commandVerifier.inc
new file mode 100644
index 0000000..228fc53
--- /dev/null
+++ b/gosa-core/plugins/addons/propertyEditor/class_commandVerifier.inc
@@ -0,0 +1,77 @@
+<?php
+class commandVerifier
+{
+    private $property = NULL;
+    private $config = NULL;
+    private $command = "";
+
+    function __construct($config, $property)
+    {
+        $this->config = &$config;
+        $this->property = &$property;
+        $this->command  = $this->property->getValue(TRUE);
+    }
+
+    function execute()
+    {
+        $smarty = get_smarty();      
+        $output= "";
+
+        if(isset($_POST['execute'])){
+
+
+            $descriptorSpec = array(0 => array("pipe", "r"),
+                    1 => array('pipe', 'w'),
+                    2 => array('pipe', 'w'));
+            $process = proc_open($this->command, $descriptorSpec, $pipes);
+            $txOff = 0; $txLen = 0;
+
+            $stdout = ''; $stdoutDone = FALSE;
+            $stderr = ''; $stderrDone = FALSE;
+            stream_set_blocking($pipes[0], 0); // Make stdin/stdout/stderr non-blocking
+            stream_set_blocking($pipes[1], 0);
+            stream_set_blocking($pipes[2], 0);
+            if ($txLen == 0) fclose($pipes[0]);
+            while (TRUE) {
+                $rx = array(); // The program's stdout/stderr
+                if (!$stdoutDone) $rx[] = $pipes[1];
+                if (!$stderrDone) $rx[] = $pipes[2];
+                foreach ($rx as $r) {
+                    if ($r == $pipes[1]) {
+                        $stdout .= fread($pipes[1], 8192);
+                        if (feof($pipes[1])) { fclose($pipes[1]); $stdoutDone = TRUE; }
+                    } else if ($r == $pipes[2]) {
+                        $stderr .= fread($pipes[2], 8192);
+                        if (feof($pipes[2])) { fclose($pipes[2]); $stderrDone = TRUE; }
+                    }
+                }
+                if (!is_resource($process)) break;
+                if ($txOff >= $txLen && $stdoutDone && $stderrDone) break;
+            }
+            $code = proc_close($process);
+
+            if(!empty($stdout)) $stdout = "<pre>".htmlentities($stdout,ENT_COMPAT,'UTF-8')."</pre>";
+            if(!empty($stderr)) $stderr = "<pre>".htmlentities($stderr,ENT_COMPAT,'UTF-8')."</pre>";
+            $output = "
+                <table summary='"._("Results")."'>
+                <tr><td><b>Result:</b></td><td>$stdout</td></tr>
+                <tr><td><b>Error:</b></td><td>$stderr</td></tr>
+                <tr><td><b>Return code:</b></td><td>$code</td></tr>
+                </table>";
+        }
+        $smarty->assign('value', set_post($this->command));
+        $smarty->assign('output', $output);
+        return($smarty->fetch(get_template_path('commandVerifier.tpl', 'TRUE')));
+    }
+
+    function save_object()
+    {
+        if(isset($_POST['command'])) $this->command = get_post('command');
+    }
+
+    function save()
+    {
+        $this->property->setValue($this->command);
+    }
+}
+?>
diff --git a/gosa-core/plugins/addons/propertyEditor/class_filterProperties.inc b/gosa-core/plugins/addons/propertyEditor/class_filterProperties.inc
new file mode 100644
index 0000000..38db9b1
--- /dev/null
+++ b/gosa-core/plugins/addons/propertyEditor/class_filterProperties.inc
@@ -0,0 +1,73 @@
+<?php
+
+class filterCONFIGPROPERTIES {
+
+  static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "")
+  {
+    global $config;
+    
+    $all = $config->configRegistry->getAllProperties();
+    $ret = array();
+    foreach($all as $property){
+
+        $entry = array();
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'cn', $property->getName());
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'objectClass', $property->getStatus());
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'status', $property->getStatus());
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'description', $property->getDescription());
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'value', $property->getValue($temporary = TRUE));
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'mandatory', $property->isMandatory());
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'default', $property->getDefault());
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'defaults', $property->getDefaults());
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'check', $property->getCheck());
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'class', $property->getClass());
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'type', $property->getType());
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'migrate', $property->getMigrate());
+        $entry = filterCONFIGPROPERTIES::fakeLdapResult($entry, 'group', $property->getGroup());
+        $entry['dn'] = $property->getClass().":".$property->getName();
+
+        $found =TRUE;
+        if(!empty($filter)){
+            $tests = preg_split("/§/", $filter);
+            foreach($tests as $test){
+                list($name,$value) = preg_split("/=/",$test);
+                $value =preg_replace("/\*/",'',$value);
+                if(empty($value)) $value='.*';
+                if(!isset($entry[$name][0]) || !preg_match("/{$value}/i",$entry[$name][0])){
+                    $found = false;
+                }
+            } 
+        }
+       if($found) $ret[] = $entry; 
+    }
+
+    return($ret);
+  }
+
+    static function fakeLdapResult($result,$name, $value){
+        if(!is_array($value)){
+            $value = array($value);
+        }
+        $value['count'] = count($value);
+        $result[] = $name;
+        $result[$name] = $value;
+        if(!isset($result['count'])){
+            $result['count'] =0;
+        }
+        $result['count'] ++;
+        return($result);
+    }
+
+  static function unifyResult($result)
+  {
+    $res=array();
+    foreach($result as $entry){
+      if(!isset($res[$entry['dn']])){
+        $res[$entry['dn']]=$entry;
+      }
+    }
+    return(array_values($res)); 
+  }
+}
+
+?>
diff --git a/gosa-core/plugins/addons/propertyEditor/class_propertyEditor.inc b/gosa-core/plugins/addons/propertyEditor/class_propertyEditor.inc
new file mode 100644
index 0000000..cba4537
--- /dev/null
+++ b/gosa-core/plugins/addons/propertyEditor/class_propertyEditor.inc
@@ -0,0 +1,281 @@
+<?php
+
+
+class propertyEditor extends management
+{
+    var $plHeadline= "Preferences";
+    var $plDescription= "Configure global and special GOsa settings like hooks and plug-in parameters";
+    var $plIcon  = "plugins/propertyEditor/images/plugin.png";
+
+    var $toBeMigrated = array();
+
+    var $warningAccepted = FALSE;
+
+    function __construct($config,$ui)
+    {
+        $this->config = $config;
+        $this->ui = $ui;
+
+        // Build filter
+        if (session::global_is_set(get_class($this)."_filter")){
+            $filter= session::global_get(get_class($this)."_filter");
+        } else {
+            $filter = new filter(get_template_path("property-filter.xml", true));
+            $filter->setObjectStorage($this->storagePoints);
+        }
+        $this->setFilter($filter);
+
+        // Build headpage
+        $headpage = new listing(get_template_path("property-list.xml", true));
+        $headpage->registerElementFilter("propertyName", "propertyEditor::propertyName");
+        $headpage->registerElementFilter("propertyGroup", "propertyEditor::propertyGroup");
+        $headpage->registerElementFilter("propertyClass", "propertyEditor::propertyClass");
+        $headpage->registerElementFilter("propertyValue", "propertyEditor::propertyValue");
+        $headpage->setFilter($filter);
+        parent::__construct($config, $ui, "property", $headpage);
+
+        $this->registerAction("saveProperties","saveProperties");
+        $this->registerAction("cancelProperties","cancelProperties");
+    }
+
+
+    function execute()
+    {
+        // Walk trough all properties and check if there posts for us.
+        $all = $this->config->configRegistry->getAllProperties();
+        foreach($all as $prop){
+            $post = "{$prop->getClass()}:{$prop->getName()}";
+            if(isset($_POST[$post]) && $prop->getStatus() != 'removed'){
+                $prop->setValue(get_post($post));
+            }
+
+            // Open the command verify dialog
+            if(isset($_POST["testCommand_{$post}"])){
+                $this->dialogObject = new commandVerifier($this->config,$prop);
+            }
+        }
+        if(isset($_POST['commandVerifier_save'])){
+            $this->dialogObject->save();
+            $this->closeDialogs();
+        }
+        if(isset($_POST['commandVerifier_cancel'])){
+            $this->closeDialogs();
+        }
+
+        // Once accepted hide the warning message        
+        if(isset($_POST['warningAccepted'])){
+            $this->warningAccepted = TRUE;
+        }
+
+        // Execute registered management event listeners.
+        $this->handleActions($this->detectPostActions());
+
+        // Handle properties that have to be migrated 
+        if(isset($_POST['propertyMigrate_cancel']) && count($this->toBeMigrated)){
+            unset($this->toBeMigrated[0]);
+            $this->toBeMigrated = array_values($this->toBeMigrated);
+        }
+        if(isset($_POST['propertyMigrate_save']) && count($this->toBeMigrated)){
+            $first = $this->toBeMigrated[0]->getMigrationClass();
+            $first->save_object();
+            $msgs = $first->check();
+            if(!count($msgs)){
+                $this->toBeMigrated[0]->save();
+                unset($this->toBeMigrated[0]);
+                $this->toBeMigrated = array_values($this->toBeMigrated);
+
+                // Nothing to migrate and everything is fine, reload the list now.
+                if(!count($this->toBeMigrated)){
+                    $this->config->configRegistry->reload($force=TRUE);
+                }
+            }
+        }
+        if(count($this->toBeMigrated)){
+            $first = $this->toBeMigrated[0]->getMigrationClass();
+            $first->save_object();
+    
+            // We've no problems with this property anymore.
+            while($first instanceOf propertyMigration && !$first->checkForIssues()){
+                $this->toBeMigrated[0]->save();
+                unset($this->toBeMigrated[0]);
+                $this->toBeMigrated = array_values($this->toBeMigrated);
+                if(count($this->toBeMigrated)){
+                    $first = $this->toBeMigrated[0]->getMigrationClass();
+                }else{
+                    $first = NULL;
+                    
+                    // Nothing to migrate and everything is fine, reload the list now.
+                    if(!count($this->toBeMigrated)){
+                        $this->config->configRegistry->reload($force=TRUE);
+                    }
+                }
+            }
+
+            if($first){
+                $content =  $first->execute();
+                $smarty = get_smarty();
+                $smarty->assign('content', $content);
+                $smarty->assign('leftSteps', count($this->toBeMigrated));
+                return($smarty->fetch(get_template_path('migrate.tpl',TRUE)));
+            }
+        }
+
+        $smarty = get_smarty();
+        $smarty->assign("warningAccepted", $this->warningAccepted);
+        $smarty->assign("ignoreLdapProperties", $this->config->configRegistry->ignoreLdapProperties);
+        return(management::execute());
+    }
+
+    function renderList()
+    {
+        // Walk trough all properties and check if we have modified something
+        $all = $this->config->configRegistry->getAllProperties();
+        foreach($all as $prop){
+            $modified = in_array($prop->getStatus(),array('modified','removed'));
+            if($modified) break;
+        }
+       
+        $smarty = get_smarty();
+        $smarty->assign('is_modified', $modified);
+        return(management::renderList());
+    }
+
+
+    function cancelProperties()
+    {
+        $this->config->configRegistry->reload($force=TRUE);
+    }
+
+    function saveProperties()
+    {
+        // Check if we've misconfigured properties and skip saving in this case.
+        $all = $this->config->configRegistry->getAllProperties();
+        $valid = TRUE;
+        foreach($all as $prop){
+            $valid &= $prop->check();
+        }
+
+        // Now save the properties.
+        if($valid){
+            $this->toBeMigrated = $this->config->configRegistry->saveChanges();
+
+            // Nothing to migrate and everything is fine, reload the list now.
+            if(!count($this->toBeMigrated)){
+                $this->config->configRegistry->reload($force=TRUE);
+            }
+        }
+    }
+
+    function detectPostActions()
+    {
+        $action = management::detectPostActions();
+        if(isset($_POST['saveProperties']))  $action['action'] = 'saveProperties';
+        if(isset($_POST['cancelProperties']))  $action['action'] = 'cancelProperties';
+        return($action);
+    }
+
+    protected function removeEntryRequested($action="",$target=array(),$all=array())
+    {
+        foreach($target as $dn){
+            list($class,$name) = preg_split("/:/", $dn);
+            if($this->config->configRegistry->propertyExists($class,$name)){
+                $prop = $this->config->configRegistry->getProperty($class,$name);
+                $prop->restoreDefault();
+            }
+        }
+    } 
+
+    static function propertyGroup($group, $description = array())
+    {
+        return($group[0]);
+    }
+    static function propertyClass($class, $description = array())
+    {
+        global $config;
+        if(isset($config->configRegistry->classToName[$class[0]])){
+            $class = $config->configRegistry->classToName[$class[0]];
+        }else{
+            $class = $class[0];
+        }
+        return($class);
+    }
+    static function propertyName($class,$cn, $description,$mandatory)
+    {
+        $id = "{$class[0]}_{$cn[0]}";
+
+        $title = _("No description");
+        if(isset($description[0])) $title = set_post($description[0]);
+        $title = preg_replace("/\n/", "<br>", $title);
+        $tooltip = "<div id='tooltip_{$id}' class='tooltip' style='display:none'>".$title."</div>";
+
+        $must = ($mandatory[0]) ? "<span class='required'>*</span>" : "";
+
+        return($tooltip."<span title='tooltip_{$id}'>{$cn[0]}{$must}</span>");
+    }
+    static function propertyValue($class,$cn,$value,$type,$default,$defaults,$check,$mandatory)
+    {
+        $ssize  = "208px";
+        $isize  = "200px";
+        $name  = "{$class[0]}:{$cn[0]}";
+        $value = set_post($value[0]);
+
+        switch($type[0]){
+            case 'noLdap':
+                $res = $value."  <i>(".CONFIG_DIR.'/'.CONFIG_FILE.")</i>";
+                break;
+            case 'bool':
+                $res = "<select size=1 name=\"{$name}\" style='width:{$ssize}'>";
+                $false = (preg_match('/true/i', $value)) ? '' : "selected";
+                $true  = (preg_match('/true/i', $value)) ? "selected" : '';
+                $res.= "<option {$false} value='false'>"._("Off")."</option>";
+                $res.= "<option {$true} value='true'>"._("On")."</option>";
+                $res.= "</select>";
+            case 'switch':
+                if(!empty($defaults[0])){
+                    $data = call_user_func(preg_split("/::/", $defaults[0]), $class[0],$cn[0],$value, $type[0]);
+                    if(is_array($data)){
+                        $res = "<select size=1 name=\"{$name}\" style='width:{$ssize}'>";
+                        foreach($data as $oValue => $oDesc){
+                            if($oValue == $value){
+                                $res.="<option selected value=\"{$oValue}\">{$oDesc}</option>\n";
+                            }else{
+                                $res.="<option value=\"{$oValue}\">{$oDesc}</option>\n";
+                            }
+                        }
+                        $res.= "</select>";
+                    }
+                }
+                break;
+            case 'command':
+                $res = "<input style='width:{$isize}' type='text' value=\"{$value}\" name=\"{$name}\">";
+                $res.= image('images/lists/edit.png', "testCommand_{$name}", _("Test the given command."));
+                break;
+            case 'dn':
+            case 'rdn':
+            case 'uri':
+            case 'path':
+            case 'file':
+            case 'string':
+            case 'integer':
+                $res = "<input style='width:{$isize}' type='text' value=\"{$value}\" name=\"{$name}\">";
+                break;
+            default: echo $type[0].$name."  ";$res = ""; 
+        }
+       
+        // Check if it is a required value. 
+        if($mandatory[0] && empty($value)){
+           $res.= "<rowClass:entry-error/>";
+        }
+
+        // Color row in red if the check methods returns false.
+        if(!empty($check[0]) && !empty($value)){
+            $check = call_user_func(preg_split("/::/", $check[0]),$displayMessage=FALSE, $class[0], $cn[0], $value, $type[0]);
+            if(!$check){
+                $res.= "<rowClass:entry-error/>";
+            }
+        }
+
+        return($res);
+    }
+}
+?>
diff --git a/gosa-core/plugins/addons/propertyEditor/commandVerifier.tpl b/gosa-core/plugins/addons/propertyEditor/commandVerifier.tpl
new file mode 100644
index 0000000..e48d807
--- /dev/null
+++ b/gosa-core/plugins/addons/propertyEditor/commandVerifier.tpl
@@ -0,0 +1,30 @@
+<h3>{t}Command verifier{/t}</h3>
+<p>
+ {t}Here you can execute commands in the way GOsa does and check the generated results or errors. This can be very useful especially for the post events (postcreate, postmodify and postremove) due to the fact that these hook are executed silently.{/t}
+</p>
+
+<p>
+ <b>
+  {t}Please be careful here, all commands will really be executed on your machine and may break things!{/t}
+ </b>
+</p>
+
+<hr>
+
+<p>
+ {t}The command to check for{/t}
+ <input type='text' name='command' value="{$value}" style='width: 600px;'>
+ <button type='submit' name='execute'>{t}Test{/t}</button> 
+</p>
+
+{if $output}
+ <hr>
+ {$output}
+{/if}
+
+<hr>
+
+<div class="plugin-actions">
+    <button type='submit' name='commandVerifier_save'>{msgPool type='okButton'}</button>
+    <button type='submit' name='commandVerifier_cancel'>{msgPool type='cancelButton'}</button>
+</div>
diff --git a/gosa-core/plugins/addons/propertyEditor/main.inc b/gosa-core/plugins/addons/propertyEditor/main.inc
new file mode 100644
index 0000000..003e26e
--- /dev/null
+++ b/gosa-core/plugins/addons/propertyEditor/main.inc
@@ -0,0 +1,52 @@
+<?php
+/*
+  This code is part of GOsa (https://gosa.gonicus.de)
+  Copyright (C) 2003  Cajus Pollmeier
+
+  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.
+
+  This program 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 General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+
+/* Remove locks created by this plugin
+*/
+if ($remove_lock){
+    if(session::is_set('propertyEditor')){
+        $config->configRegistry->reload($force=TRUE);
+    }
+}
+
+
+/* Remove this plugin from session
+ */
+if ( $cleanup ){
+    if (session::is_set('propertyEditor')){
+        #session::un_set('propertyEditor');
+    }
+}else{
+
+
+    /* Create logview object on demand */
+    if (!session::is_set('propertyEditor')){
+        session::set('propertyEditor',new propertyEditor($config, get_userinfo()));
+    }
+    $propertyEditor = session::get('propertyEditor');
+
+    /* Execute formular */
+    $display= $propertyEditor->execute ();
+
+    /* Store changes  in session */
+    session::set('propertyEditor',$propertyEditor);
+}
+?>
diff --git a/gosa-core/plugins/addons/propertyEditor/migrate.tpl b/gosa-core/plugins/addons/propertyEditor/migrate.tpl
new file mode 100644
index 0000000..12c9147
--- /dev/null
+++ b/gosa-core/plugins/addons/propertyEditor/migrate.tpl
@@ -0,0 +1,18 @@
+<div id="mainlist">
+ <div class="mainlist-header">
+  <p>{t}Property migration assistant{/t} - {t}Migration steps left{/t}: {$leftSteps}</p>
+  <div class="mainlist-nav">
+   <div style='width:100%; height: 400px; overflow: scroll; padding: 5px;'>
+
+   {$content}
+
+   </div>
+   <hr>
+   <div class="plugin-actions">
+    <button name='propertyMigrate_save'>{msgPool type='okButton'}</button>
+    <button name='propertyMigrate_cancel'>{msgPool type='cancelButton'}</button>
+   </div>
+  </div>
+ </div>
+</div>
+
diff --git a/gosa-core/plugins/addons/propertyEditor/migration/class_migrateRDN.inc b/gosa-core/plugins/addons/propertyEditor/migration/class_migrateRDN.inc
new file mode 100644
index 0000000..20da0a2
--- /dev/null
+++ b/gosa-core/plugins/addons/propertyEditor/migration/class_migrateRDN.inc
@@ -0,0 +1,224 @@
+<?php
+
+
+
+class migrateRDN implements propertyMigration
+{
+    protected $property = NULL;
+    protected $config = NULL;
+    protected $found = array();
+    protected $filter ="";
+
+    // Additional suffixes or prefixes 
+    // e.g. for 'faiScriptRDN' (ou=scripts,) moving to new destination lets say 
+    //  to 'ou=FAIscripts,' would break stuff with having 'ou=fai,ou=systems,ou=config' 
+    // prepended.
+    // 
+    protected $suffix = ""; 
+    protected $prefix = ""; 
+
+    protected $title = "";
+    protected $description = "";
+
+
+    function __construct($config,$property)
+    {
+        $this->property = &$property;
+        $this->config = &$config;
+
+        //Set a dummy title and description
+        if(empty($this->title)){
+            $this->title = sprintf(_("Migration of property '%s'"), $this->property->getName());
+        }
+        if(empty($this->description)){
+            $this->description = sprintf(_("GOsa has detected objects outside of the configured storage point (%s)."), $this->property->getValue(TRUE));
+        }
+    }   
+
+    function getChanges()
+    {
+        return($this->found);
+    }
+
+    function checkForIssues()
+    {
+        $this->found = array('add'=>array(), 'move' => array());
+        $ldap= $this->config->get_ldap_link();
+        $ldap->cd($this->config->current['BASE']);
+        $ldap2= $this->config->get_ldap_link();
+        $ldap2->cd($this->config->current['BASE']);
+
+        // Search for possible release deparments/containers - this enables us to
+        //  SKIP release based objects - we cannot move them right now.
+        $releases = array();
+        $ldap->search("objectClass=FAIbranch");
+        while($attrs = $ldap->fetch()){
+            $releases[$attrs['dn']] = $attrs['dn'];
+        }
+
+        // If the userRDN wasn't empty, then only search for users inside of the old userRDN.
+        $initialValue = $this->prefix.$this->property->getValue().$this->suffix;
+        $targetValue = $this->prefix.$this->property->getValue(TRUE).$this->suffix;
+
+        if(!empty($initialValue) && !preg_match("/,$/", $initialValue)) $initialValue.=",";
+        if(!empty($targetValue) && !preg_match("/,$/", $targetValue)) $targetValue.=",";
+
+        $dnMatch = "";
+        if(!empty($initialValue)){
+            foreach(preg_split("/,/", $initialValue) as $rdnPart){
+                if(empty($rdnPart)) continue;
+                list($namingAttrs, $container) = preg_split("/=/",$rdnPart,2);
+                $container = trim($container,', ');
+                $dnMatch.= "({$namingAttrs}:dn:={$container})";
+            }
+        }
+
+        // Search for users
+        $filter = sprintf($this->filter,$dnMatch);
+        $ldap->search($filter,array('dn'));
+        $found = FALSE;
+        while($attrs = $ldap->fetch()){
+            $dn = $attrs['dn'];
+            $dnTo = $dn;
+
+            // If there intially was no userDN given then just add the new userRDN to the user dns
+            //  and create the new container objects.
+            if(empty($initialValue)){
+                list($namingAttrs, $container) = preg_split("/=/",$targetValue,2);
+                list($name, $container) = preg_split("/,/",$dn,2);
+
+                // Ensure that we handle a valid gosaDepartment container.
+                while(!isset($this->config->idepartments[$container])){
+
+                    // This object is part of a FAI release - we better skip it here.
+                    if(isset($releases[$container])){
+                        break;
+                    }
+
+                    $container = preg_replace("/^[^,]*+,/","",$container);
+                }
+    
+                // We haven't found a valid gosaDepartment in this dn, so skip.
+                if(isset($this->config->idepartments[$container])){
+
+                    // Queue new containuer to be created.
+                    if(!preg_match("/^".preg_quote($targetValue,'/i')."/", $container)){
+                        $dnTo = $name.",".$targetValue.$container;
+                        if(!$ldap->dn_exists($targetValue.$container)){
+                            $this->found['add'][$targetValue.$container] = array(); 
+                        }
+                        if($dn != $dnTo){
+                            $this->found['move'][] = array('from' => $dn, 'to' => $dnTo);
+                            $found = TRUE;
+                        }
+                    }
+                }
+            }
+
+            // If there intially was a userDN given then replace it with the new one.
+            if(!empty($initialValue)){
+
+                list($name, $container) = preg_split("/,/",$dn,2);
+                if(preg_match("/^".preg_quote($initialValue,'/i')."/", $container)){
+                    $container = preg_replace("/^".preg_quote($initialValue,'/')."/",$targetValue,$container);
+
+                    // Ensure that we handle a valid gosaDepartment container.
+                    while(!isset($this->config->idepartments[$container])){
+
+                        // This object is part of a FAI release - we better skip it here.
+                        if(isset($releases[$container])){
+                            break;
+                        }
+
+                        $container = preg_replace("/^[^,]*+,/","",$container);
+                    }
+
+                    // We haven't found a valid gosaDepartment in this dn, so skip.
+                    if(isset($this->config->idepartments[$container])){
+
+
+                        $dnTo = $name.",".$targetValue.$container;
+                        if(!empty($targetValue) && !$ldap->dn_exists($targetValue.$container)){
+                            $this->found['add'][$targetValue.$container] = array(); 
+                        }
+                        if($dn != $dnTo){
+                            $this->found['move'][] = array('from' => $dn, 'to' => $dnTo);
+                            $found = TRUE;
+                        }
+                    }
+                }
+            }    
+        }
+        return($found);
+    }
+
+    function execute()
+    {
+        $str = "<h3>".$this->title."</h3>";
+        $str.= $this->description;
+        $str.= "<hr>";
+        if(count($this->found['add'])) {
+            $str.= "<br>"._("Objects that will be added");
+            $str.= "<ul>";
+            foreach($this->found['add'] as $dn => $attrs){
+                $str.= "<li>".$dn."</li>";
+            }
+            $str.= "</ul>";
+        }
+        if(count($this->found['move'])) {
+            $str.= "<br>"._("Objects that will be moved")."<br>";
+            $str.= "<ul style='list-style:none; padding: 15px;'>";
+            foreach($this->found['move'] as $id => $data){
+                $checked = (!isset($_POST["migrateNow".get_class($this)])) ? 'checked':'';
+                $str.= "<li>
+            
+                <span style='white-space:nowrap;'>
+                <input $checked type='checkbox' value='1' name='migrateEntry_{$id}'>";
+                $str.= sprintf(_("Moving object '%s' to '%s'"), $data['from'], $data['to'])."</span></li>";
+            }
+            $str.="</ul>";
+        }
+        $str.= "<button name='migrateNow".get_class($this)."'>"._("Migrate")."</button>";
+        return($str);
+    }
+   
+    function save_object()
+    {
+        if(isset($_POST["migrateNow".get_class($this)])){
+            $ldap = $this->config->get_ldap_link();
+            $ldap->cd($this->config->current['BASE']);
+
+            // Try to add the new container objects
+            foreach($this->found['add'] as $dn => $data){
+                $ldap->cd($this->config->current['BASE']);
+                $ldap->create_missing_trees(ldap::convert($dn));
+            }
+
+            // Now move the objects to the new traget
+            $tmp = new plugin($this->config,NULL);
+            foreach($this->found['move'] as $id => $data){
+                if(isset($_POST["migrateEntry_{$id}"])){
+                    if($tmp->move($data['from'], $data['to'])){
+                    }elseif($ldap->dn_exists($data['to'])){
+                        msg_dialog::display(_("Error"), 
+                                sprintf(_("Migration failed for object %s: DN already exists!"), 
+                                    bold($data['to'])), ERROR_DIALOG);
+                    }else{
+                        msg_dialog::display(_("Error"), 
+                                sprintf(_("Migration failed for object %s: please check if it already exists!"), 
+                                    bold($data['to'])), ERROR_DIALOG);
+                    }
+                }
+            }
+            $this->checkForIssues();
+        }
+    } 
+
+    function check()
+    {
+        return(array());
+    }
+} 
+
+
+?>
diff --git a/gosa-core/plugins/addons/propertyEditor/property-filter.xml b/gosa-core/plugins/addons/propertyEditor/property-filter.xml
new file mode 100644
index 0000000..2a5687d
--- /dev/null
+++ b/gosa-core/plugins/addons/propertyEditor/property-filter.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<filterdef>
+
+  <definition>
+    <category>all</category>
+    <initial>true</initial>
+    <default>default</default>
+    <scope>one</scope>
+    <attribute>dummy</attribute>
+  </definition>
+
+  <search>
+    <tag>default</tag>
+    <label>Effective properties</label>
+    <query>
+      <backend>CONFIGPROPERTIES</backend>
+      <filter>status=(ldap|file|modified|removed)§cn=$</filter>
+    </query>
+    <autocomplete>
+      <attribute>status</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
+  </search>
+
+  <search>
+    <tag>modified</tag>
+    <label>Modified properties</label>
+    <query>
+      <backend>CONFIGPROPERTIES</backend>
+      <filter>status=(modified|removed)§cn=$</filter>
+    </query>
+    <autocomplete>
+      <attribute>status</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
+  </search>
+
+  <search>
+    <tag>all</tag>
+    <label>All properties</label>
+    <query>
+      <backend>CONFIGPROPERTIES</backend>
+      <filter>cn=$</filter>
+    </query>
+    <autocomplete>
+      <attribute>status</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
+  </search>
+
+  <search>
+    <tag>ldap</tag>
+    <label>LDAP properties</label>
+    <query>
+      <backend>CONFIGPROPERTIES</backend>
+      <filter>status=(ldap|modified|removed)§cn=$</filter>
+    </query>
+    <autocomplete>
+      <attribute>status</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
+  </search>
+
+  <search>
+    <tag>byGroup</tag>
+    <label>Search for property groups</label>
+    <query>
+      <backend>CONFIGPROPERTIES</backend>
+      <filter>group=$</filter>
+    </query>
+    <autocomplete>
+      <attribute>status</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
+  </search>
+
+</filterdef>
diff --git a/gosa-core/plugins/addons/propertyEditor/property-list.tpl b/gosa-core/plugins/addons/propertyEditor/property-list.tpl
new file mode 100644
index 0000000..5b4050f
--- /dev/null
+++ b/gosa-core/plugins/addons/propertyEditor/property-list.tpl
@@ -0,0 +1,79 @@
+{if !$warningAccepted}
+
+    <table summary="{t}Warning message{/t}" style='width:100%'>
+     <tr>
+      <td style='padding: 10px;'>{image path='images/warning.png'}</td>
+      <td>
+        <h3>{t}Attention{/t}</h3>
+       <p>
+        {t}Modifying properties may break your setup, destroy or mess up your LDAP database, lead to security holes or it can even make a login impossible!{/t}
+        {t}Since configuration properties are stored in the LDAP database a copy/backup can be handy.{/t}
+       </p>
+
+       <p>
+        {t}If you've debarred yourself, you can try to set 'ignoreLdapProperties' to 'true' in your gosa.conf main section. This will make GOsa ignore LDAP based property values.{/t}
+       </p>
+
+      </td> 
+     </tr>
+    </table>
+    <hr>
+      <input type='checkbox' name='warningAccepted' value='1' id='warningAccepted'>
+      <label for='warningAccepted'>{t}I understand that there are certain risks, but I want to modify properties!{/t}</label>
+    <hr>
+    <div class="plugin-actions">
+        <button name='goOn'>{msgPool type='okButton'}</button> 
+    </div>
+    <input type="hidden" name="ignore">
+
+{else}
+
+<script language="javascript" src="include/tooltip.js" type="text/javascript"></script>
+
+<div id="mainlist">
+
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}
+    {if $ignoreLdapProperties}
+    -  <font color='red'>{t}Ignoring LDAP defined properties!{/t}</font>
+    {/if}
+   </p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
+  {$LIST}
+</div>
+
+<script type="text/javascript">
+  Event.observe(window,"load",function() {
+    $$("*").findAll(function(node){
+      return node.getAttribute('title');
+    }).each(function(node){
+      var test = node.title;
+
+      if($(test)){
+          var t = new Tooltip(node,test);
+          t.options.delta_x = -150;
+          t.options.delta_y = -50;
+          node.removeAttribute("title");
+      }
+    });
+  });
+</script>
+
+{if !$is_modified}
+    <input type="hidden" name="ignore">
+{/if}
+
+<div class="plugin-actions">
+    <button name='saveProperties'>{msgPool type='applyButton'}</button>
+    <button name='cancelProperties' {if !$is_modified} disabled {/if}>{t}Undo{/t}</button>
+</div>
+{/if} 
diff --git a/gosa-core/plugins/addons/propertyEditor/property-list.xml b/gosa-core/plugins/addons/propertyEditor/property-list.xml
new file mode 100644
index 0000000..272473e
--- /dev/null
+++ b/gosa-core/plugins/addons/propertyEditor/property-list.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<list>
+  <definition>
+    <departmentBrowser>false</departmentBrowser>
+    <departmentRootVisible>false</departmentRootVisible>
+    <baseMode>false</baseMode>
+    <multiSelect>true</multiSelect>
+    <template>property-list.tpl</template>
+    <module>all</module>
+    <label>List of configuration settings</label>
+    <defaultSortColumn>1</defaultSortColumn>
+
+    <objectType>
+      <label>Property not used</label>
+      <objectClass>undefined</objectClass>
+      <category>all</category>
+      <class>all</class>
+      <image>images/lists/element.png</image>
+    </objectType>
+
+    <objectType>
+      <label>Property will be restored</label>
+      <objectClass>removed</objectClass>
+      <category>all</category>
+      <class>all</class>
+      <image>images/lists/trash.png</image>
+    </objectType>
+
+    <objectType>
+      <label>Modified property</label>
+      <objectClass>modified</objectClass>
+      <category>all</category>
+      <class>all</class>
+      <image>plugins/propertyEditor/images/ldap.png[new]</image>
+    </objectType>
+
+    <objectType>
+      <label>Property configured in LDAP</label>
+      <objectClass>ldap</objectClass>
+      <category>all</category>
+      <class>all</class>
+      <image>plugins/propertyEditor/images/ldap.png</image>
+    </objectType>
+
+    <objectType>
+      <label>Property configured in config file</label>
+      <objectClass>file</objectClass>
+      <category>all</category>
+      <class>all</class>
+      <image>plugins/propertyEditor/images/file.png</image>
+    </objectType>
+
+  </definition>
+
+  <table>
+    <layout>|20px;c|||||70px;r|</layout>
+
+    <column>
+      <value>%{filter:objectType(dn,objectClass)}</value>
+    </column>
+
+    <column>
+      <label>Name</label>
+      <sortAttribute>cn</sortAttribute>
+      <sortType>string</sortType>
+      <value>%{filter:propertyName(class,cn,description,mandatory)}</value>
+      <export>true</export>
+    </column>
+
+    <column>
+      <label>Group</label>
+      <sortAttribute>group</sortAttribute>
+      <sortType>string</sortType>
+      <value>%{filter:propertyGroup(group,description)}</value>
+      <export>true</export>
+    </column>
+
+    <column>
+      <label>Class</label>
+      <sortAttribute>group</sortAttribute>
+      <sortType>string</sortType>
+      <value>%{filter:propertyClass(class,description)}</value>
+      <export>true</export>
+    </column>
+
+    <column>
+      <label>Value</label>
+      <sortAttribute>value</sortAttribute>
+      <sortType>string</sortType>
+      <value>%{filter:propertyValue(class,cn,value,type,default,defaults,check,mandatory)}</value>
+      <export>true</export>
+    </column>
+
+    <column>
+      <label>Actions</label>
+      <value>%{filter:actions(dn,row,objectClass)}</value>
+    </column>
+
+  </table>
+
+  <actionmenu>
+
+    <action>
+      <name>remove</name>
+      <type>entry</type>
+      <image>images/lists/trash.png</image>
+      <label>Remove</label>
+    </action>
+
+    <action>
+      <type>exporter</type>
+    </action>
+
+  </actionmenu>
+
+  <actiontriggers snapshot="false" copypaste="false">
+
+    <action>
+      <name>remove</name>
+      <type>entry</type>
+      <objectclass>ldap</objectclass>
+      <image>images/lists/trash.png</image>
+      <label>Restore to default</label>
+    </action>
+
+  </actiontriggers>
+
+</list>
diff --git a/gosa-core/plugins/admin/acl/acl-filter.tpl b/gosa-core/plugins/admin/acl/acl-filter.tpl
deleted file mode 100644
index 4485a9a..0000000
--- a/gosa-core/plugins/admin/acl/acl-filter.tpl
+++ /dev/null
@@ -1,37 +0,0 @@
-<div class="contentboxh">
- <p class="contentboxh">
-  <img src="images/launch.png" align="right" alt="[F]">{t}Filter{/t}
- </p>
-</div>
-
-<div class="contentboxb">
-
-<div style="border-top:1px solid #AAAAAA"></div>
-
-{$ACL} <LABEL for='MAIL'>{t}Show access control lists{/t}</LABEL><br>
-{$ROLE} <LABEL for='SAMBA'>{t}Show roles{/t}</LABEL><br>
-
- <div style="border-top:1px solid #AAAAAA"></div>
- {$SCOPE}
-
- <table summary="" style="width:100%;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td>
-    <label for="NAME">
-     <img src="images/lists/search.png" align=middle> {t}Name{/t}
-    </label>
-   </td>
-   <td>
-    {$NAME}
-   </td>
-  </tr>
- </table>
-
- <table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td width="100%" align="right">
-    {$APPLY}
-   </td>
-  </tr>
- </table>
-</div>
diff --git a/gosa-core/plugins/admin/acl/acl-filter.xml b/gosa-core/plugins/admin/acl/acl-filter.xml
index adf81e4..bf98046 100644
--- a/gosa-core/plugins/admin/acl/acl-filter.xml
+++ b/gosa-core/plugins/admin/acl/acl-filter.xml
@@ -3,56 +3,60 @@
 <filterdef>
   <definition>
     <category>acl</category>
-    <template>acl-filter.tpl</template>
     <initial>true</initial>
+    <scope>auto</scope>
+    <default>default</default>
+    <attribute>dn</attribute>
+    <attribute>objectClass</attribute>
+    <attribute>cn</attribute>
+    <attribute>ou</attribute>
+    <attribute>description</attribute>
   </definition>
 
   <search>
+    <tag>default</tag>
+    <label>Default filter</label>
     <query>
       <backend>ACL</backend>
-      <filter>(|$ACL$ROLE)$NAME</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
-      <attribute>cn</attribute>
-      <attribute>ou</attribute>
-      <attribute>description</attribute>
+      <filter>(&(|(objectClass=gosaAcl)(objectClass=gosaRole))(|(cn=$)(description=$)(ou=$)))</filter>
     </query>
-    <scope>auto</scope>
+    <autocomplete>
+      <attribute>ou</attribute>
+      <attribute>cn</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
   </search>
 
-  <element>
-    <type>textfield</type>
-    <tag>NAME</tag>
-    <size>20</size>
-    <maxlength>60</maxlength>
-    <default></default>
-    <unset></unset>
-    <set>(|(cn=*$*)(ou=*$*)(description=*$*))</set>
-    <alphabet>true</alphabet>
-    <autocomplete>
+  <search>
+    <tag>rolesOnly</tag>
+    <label>ACL Templates</label>
+    <query>
       <backend>ACL</backend>
-      <filter>(&(|(objectClass=gosaAcl)(objectClass=gosaRole))(|(ou=*$NAME*)(description=*$NAME*)(cn=*$NAME*)))</filter>
+      <filter>(&(objectClass=gosaRole)(|(cn=$)(description=$)(ou=$)))</filter>
+    </query>
+    <autocomplete>
       <attribute>ou</attribute>
       <attribute>cn</attribute>
       <frequency>0.5</frequency>
       <characters>3</characters>
     </autocomplete>
-  </element>
+  </search>
 
-  <element>
-    <type>checkbox</type>
-    <tag>ACL</tag>
-    <default>true</default>
-    <set>(objectClass=gosaAcl)</set>
-    <unset></unset>
-  </element>
+  <search>
+    <tag>rolesAssignments</tag>
+    <label>ACL Assignment</label>
+    <query>
+      <backend>ACL</backend>
+      <filter>(&(objectClass=gosaAcl)(|(cn=$)(description=$)(ou=$)))</filter>
+    </query>
+    <autocomplete>
+      <attribute>ou</attribute>
+      <attribute>cn</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
+  </search>
 
-  <element>
-    <type>checkbox</type>
-    <tag>ROLE</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=gosaRole)</set>
-  </element>
 
 </filterdef>
diff --git a/gosa-core/plugins/admin/acl/acl-list.tpl b/gosa-core/plugins/admin/acl/acl-list.tpl
index c9d5114..b9b9a08 100644
--- a/gosa-core/plugins/admin/acl/acl-list.tpl
+++ b/gosa-core/plugins/admin/acl/acl-list.tpl
@@ -1,28 +1,26 @@
-<input type='image' src='images/empty.png' name='no_action_posted' value='do_nothing' alt='' style='width:2px;height:2px;'>
+<div id="mainlist">
 
-<table summary="" style="width:100%;height:100%; vertical-align:top; text-align:left;" cellpadding=2>
-  <tr>
-    <td style="vertical-align:top; width:100%;">
-      <div class="contentboxh">
-        <p class="contentboxh"> {$HEADLINE} {$SIZELIMIT}</p>
-      </div>
-      
-      <div class="contentboxb">
-       <div style='background:white;padding:3px;'>
-        <table><tr>
-          <td>{$ROOT} </td><td>{$BACK} </td><td>{$HOME} </td><td>{$RELOAD} </td><td>{$SEPARATOR} </td><td>{t}Base{/t} {$BASE} </td><td>{$SEPARATOR} </td><td><img src='images/rocket.png' alt='' class='center'></td><td> {$ACTIONS}</td>
-        </tr></table>
-       </div>
-      </div>
-      
-      <div style='height:4px;'>
-      </div>
-      {$LIST}
-    </td>
-    <td style='vertical-align:top;min-width:250px'>
-      {$FILTER}
-    </td>
-  </tr>
-</table>
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}</p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$ROOT}</td>
+      <td>{$BACK}</td>
+      <td>{$HOME}</td>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{t}Base{/t} {$BASE}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
+
+  {$LIST}
+</div>
+
+<div class="clear"></div>
 
 <input type="hidden" name="ignore">
+
diff --git a/gosa-core/plugins/admin/acl/acl-list.xml b/gosa-core/plugins/admin/acl/acl-list.xml
index 588c909..e0aa79a 100644
--- a/gosa-core/plugins/admin/acl/acl-list.xml
+++ b/gosa-core/plugins/admin/acl/acl-list.xml
@@ -8,11 +8,11 @@
     <multiSelect>true</multiSelect>
     <template>acl-list.tpl</template>
     <module>acl</module>
-    <label>List of acls</label>
+    <label>List of ACLs</label>
     <defaultSortColumn>1</defaultSortColumn>
 
     <objectType>
-      <label>Acl</label>
+      <label>ACL</label>
       <objectClass>gosaAcl</objectClass>
       <category>acl</category>
       <class>acl</class>
@@ -23,14 +23,14 @@
       <label>Role</label>
       <objectClass>gosaRole</objectClass>
       <category>acl</category>
-      <class>acl</class>
+      <class>aclrole</class>
       <image>plugins/acl/images/role.png</image>
     </objectType>
 
   </definition>
 
   <table>
-    <layout>|20px;c|200px||170px;r|</layout>
+    <layout>|20px;c|||100px;r|</layout>
 
     <department>
       <value>%{filter:objectType(dn,objectClass)}</value>
@@ -72,7 +72,7 @@
 
     <action>
      <type>sub</type>
-     <image>images/lists/new.png</image>
+     <image>images/lists/element.png[new]</image>
      <label>Create</label>
 
      <action>
diff --git a/gosa-core/plugins/admin/acl/acl_role.tpl b/gosa-core/plugins/admin/acl/acl_role.tpl
index 25fb989..8a8310b 100644
--- a/gosa-core/plugins/admin/acl/acl_role.tpl
+++ b/gosa-core/plugins/admin/acl/acl_role.tpl
@@ -1,7 +1,7 @@
 {if $dialogState eq 'head'}
 
-<h1>{t}Assigned ACL for current entry{/t}</h1>
-<table>
+<h3>{t}Assigned ACL for current entry{/t}</h3>
+<table summary="{t}Assigned ACL for current entry{/t}">
 <tr>
 	<td>
 		{t}Name{/t}
@@ -24,7 +24,7 @@
 </tr>
 <tr>
 	<td>
-		{t}Base{/t}{$MUST}
+		{t}Base{/t}{$must}
 	</td>
 	<td>
 {render acl=$baseACL}
@@ -34,46 +34,52 @@
 </tr>
 </table>
 {$aclList}
-{render acl=$gosaAclEntryACL}
-<input type="submit" name="new_acl" value="{t}New ACL{/t}">
+{render acl=$gosaAclTemplateACL}
+<button type='submit' name='new_acl'>{t}New ACL{/t}</button>
+
 {/render}
 
 {/if}
 
 {if $dialogState eq 'create'}
-<h1>{t}ACL type{/t} <select size="1" name="aclType" title="{t}Select an acl type{/t}" onChange="document.mainform.submit()">{html_options options=$aclTypes selected=$aclType}<option disabled> </option></select> {if $javascript eq 'false'}<input type="submit" value="{msgPool type=applyButton}" name="refresh">{/if}</h1>
+<h3>{t}ACL type{/t} <select size="1" name="aclType" title="{t}Select an ACL type{/t}" onChange="document.mainform.submit()">{html_options options=$aclTypes selected=$aclType}<option disabled> </option></select> {if $javascript eq 'false'}<button type='submit' name='refresh'>{msgPool type=applyButton}</button>{/if}
+</h3>
 
-<p class="seperator"> </p>
+<hr>
 
 
-<h1>{t}List of available ACL categories{/t}</h1>
+<h3>{t}List of available ACL categories{/t}</h3>
 {$aclList}
 
-<p class="seperator"> </p>
+<hr>
 <div style='text-align:right;margin-top:5px'>
-{render acl=$gosaAclEntryACL}
-	<input type="submit" name="submit_new_acl" value="{msgPool type=applyButton}">
+{render acl=$gosaAclTemplateACL}
+	<button type='submit' name='submit_new_acl'>{msgPool type=applyButton}</button>
+
 	 
 {/render}
-	<input type="submit" name="cancel_new_acl" value="{msgPool type=cancelButton}">
+	<button type='submit' name='cancel_new_acl'>{msgPool type=cancelButton}</button>
+
 </div>
 {/if}
 
 {if $dialogState eq 'edit'}
 
-<h1>{$headline}</h1>
+<h3>{$headline}</h3>
 
-{render acl=$gosaAclEntryACL}
+{render acl=$gosaAclTemplateACL}
 {$aclSelector}
 {/render}
 
-<p class="seperator"> </p>
+<hr>
 <div style='text-align:right;margin-top:5px'>
-{render acl=$gosaAclEntryACL}
-	<input type="submit" name="submit_edit_acl" value="{msgPool type=applyButton}">
+{render acl=$gosaAclTemplateACL}
+	<button type='submit' name='submit_edit_acl'>{msgPool type=applyButton}</button>
+
 {/render}
 	 
-	<input type="submit" name="cancel_edit_acl" value="{msgPool type=cancelButton}">
+	<button type='submit' name='cancel_edit_acl'>{msgPool type=cancelButton}</button>
+
 </div>
 {/if}
 <input type='hidden' name='acl_role_posted' value='1'>
diff --git a/gosa-core/plugins/admin/acl/class_aclManagement.inc b/gosa-core/plugins/admin/acl/class_aclManagement.inc
index 5bdd271..56341d0 100644
--- a/gosa-core/plugins/admin/acl/class_aclManagement.inc
+++ b/gosa-core/plugins/admin/acl/class_aclManagement.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_aclManagement.inc 15411 2010-01-28 10:39:33Z hickert $$
+ * ID: $$Id: class_aclManagement.inc 18299 2010-05-11 05:09:58Z hickert $$
  *
  * 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
@@ -22,8 +22,8 @@
 
 class aclManagement extends management
 {
-  var $plHeadline     = "Acl";
-  var $plDescription  = "Manage access control lists";
+  var $plHeadline     = "Access control";
+  var $plDescription  = "Control access to GOsa managed objects down to attribute and action level";
   var $plIcon  = "plugins/acl/images/plugin.png";
 
   // Tab definition 
@@ -38,7 +38,7 @@ class aclManagement extends management
     $this->config = $config;
     $this->ui = $ui;
    
-    $this->storagePoints = array(get_ou("aclRoleRDN")); // ACLs are attached to department containers
+    $this->storagePoints = array(get_ou("aclrole", "aclRoleRDN")); // ACLs are attached to department containers
 
     // Build filter
     if (session::global_is_set(get_class($this)."_filter")){
@@ -55,10 +55,10 @@ class aclManagement extends management
     $headpage->setFilter($filter);
 
     // Add copy&paste and snapshot handler.
-    if ($this->config->boolValueIsTrue("main", "copyPaste")){
+    if ($this->config->boolValueIsTrue("core", "copyPaste")){
       $this->cpHandler = new CopyPasteHandler($this->config);
     }
-    if($this->config->get_cfg_value("enableSnapshots") == "true"){
+    if($this->config->get_cfg_value("core","enableSnapshots") == "true"){
       $this->snapHandler = new SnapshotHandler($this->config);
     }
 
@@ -66,7 +66,7 @@ class aclManagement extends management
   }
 
   function removeEntryConfirmed($action="",$target=array(),$all=array(),
-      $altTabClass="",$altTabType="",$altAclCategory="")
+      $altTabClass="",$altTabType="",$altAclCategory="", $aclPlugin="")
   {
     @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$target,"Entry removel confirmed!");
 
@@ -79,15 +79,15 @@ class aclManagement extends management
 
         if($headpage->getType($dn) == "gosaRole"){
           $tabClass = "aclroletab";
-          $tabTape  = "ACLROLETAB";
+          $tabType  = "ACLROLETAB";
         }else{
           $tabClass = "acltab";
-          $tabTape  = "ACLTAB";
+          $tabType  = "ACLTAB";
         }
 
         // Delete the object
         $this->dn = $dn;
-        $this->tabObject= new $tabClass($this->config,$this->config->data['TABS'][$tabType], $this->dn, $aclCategory, true, true);
+        $this->tabObject= new $tabClass($this->config,$this->config->data['TABS'][$tabType], $this->dn, 'acl', true, true);
         $this->tabObject->set_acl_base($this->dn);
         $this->tabObject->delete ();
         $this->tabObject->parent = &$this;
diff --git a/gosa-core/plugins/admin/acl/class_aclRole.inc b/gosa-core/plugins/admin/acl/class_aclRole.inc
index f5f6479..d83582b 100644
--- a/gosa-core/plugins/admin/acl/class_aclRole.inc
+++ b/gosa-core/plugins/admin/acl/class_aclRole.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_aclRole.inc 15578 2010-02-03 14:14:43Z hickert $$
+ * ID: $$Id: class_aclRole.inc 20541 2010-12-10 15:14:57Z hickert $$
  *
  * 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
@@ -56,6 +56,9 @@ class aclrole extends acl
   var $base ="";
   var $baseSelector;
 
+  var $list =NULL;
+  var $sectionList = NULL;
+
   function aclrole (&$config,  $dn= NULL)
   {
     /* Include config object */
@@ -106,26 +109,27 @@ class aclrole extends acl
             $this->ocMapping[$idx][]= $class;
             $this->aclObjects[$idx]= $data['description'];
 
+
             /* Additionally filter the classes we're interested in in "self edit" mode */
-            if (is_array($data['objectClass'])){
-              foreach($data['objectClass'] as $objectClass){
-                if (in_array_ics($objectClass, $oc)){
-                  $this->myAclObjects[$idx.'/'.$class]= $acls['plDescription'];
-                  break;
+            if(isset($data['objectClass'])){
+                if (is_array($data['objectClass'])){
+                    foreach($data['objectClass'] as $objectClass){
+                        if (in_array_ics($objectClass, $oc)){
+                            $this->myAclObjects[$idx.'/'.$class]= $acls['plDescription'];
+                            break;
+                        }
+                    }
+                } else {
+                    if (in_array_ics($data['objectClass'], $oc)){
+                        $this->myAclObjects[$idx.'/'.$class]= $acls['plDescription'];
+                    }
                 }
-              }
-            } else {
-              if (in_array_ics($data['objectClass'], $oc)){
-                $this->myAclObjects[$idx.'/'.$class]= $acls['plDescription'];
-              }
             }
           }
 
         }
       }
     }
-    $this->aclObjects['all']= '* '._("All categories");
-    $this->ocMapping['all']= array('0' => 'all');
 
     /* Sort categories */
     asort($this->aclObjects);
@@ -149,9 +153,55 @@ class aclrole extends acl
     $this->baseSelector->setSubmitButton(false);
     $this->baseSelector->setHeight(300);
     $this->baseSelector->update(true);
+
+    $this->updateList();
+
+    // Prepare lists
+    $this->sectionList = new sortableListing();
+    $this->sectionList->setDeleteable(false);
+    $this->sectionList->setEditable(false);
+    $this->sectionList->setWidth("100%");
+    $this->sectionList->setHeight("400px");
+    $this->sectionList->setColspecs(array('200px','*'));
+    $this->sectionList->setHeader(array(_("Category"),_("Description")));
+    $this->sectionList->setDefaultSortColumn(0);
+    $this->sectionList->setAcl('rwcdm'); // All ACLs, we filter on our own here.
+  }
+
+
+  function updateList()
+  {
+      if(!$this->list){
+          $this->list = new sortableListing($this->gosaAclTemplate,array(),TRUE);
+          $this->list->setDeleteable(true);
+          $this->list->setEditable(true);
+          $this->list->setColspecs(array('*'));
+          $this->list->setWidth("100%");
+          $this->list->setHeight("400px");
+          $this->list->setAcl("rwcdm");
+          $this->list->setHeader(array(_("Permissions"),_("Type")));
+      }
+
+
+    // Add ACL entries to the listing
+    $lData = array();
+    foreach($this->gosaAclTemplate as $id => $entry){
+       $lData[] = $this->convertForListing($entry);
+    }
+    $this->list->setListData($this->gosaAclTemplate, $lData);
+  }
+
+
+  function convertForListing($entry)
+  {
+    $member = implode($entry['members'],", ");
+    $acl = implode(array_keys($entry['acl']),", ");
+    $type = implode(array_keys($entry['acl']),", ");
+    return(array('data' => array($acl, $this->aclTypes[$entry['type']])));
   }
 
 
+
   function execute()
   {
     /* Call parent execute */
@@ -161,7 +211,7 @@ class aclrole extends acl
     $plist= $tmp->info;
 
     /* Handle posts */
-    if (isset($_POST['new_acl']) && $this->acl_is_writeable("gosaAclEntry")){
+    if (isset($_POST['new_acl']) && $this->acl_is_writeable("gosaAclTemplate")){
       $this->dialogState= 'create';
       $this->dialog= TRUE;
       $this->currentIndex= count($this->gosaAclTemplate);
@@ -174,28 +224,21 @@ class aclrole extends acl
 
     /* Act on HTML post and gets here.
      */
-    if(isset($_GET['id']) && isset($_GET['act']) && $_GET['act'] == "edit"){
-      $id = trim($_GET['id']);
-      $this->dialogState= 'create';
-      $firstedit= TRUE;
-      $this->dialog= TRUE;
-      $this->currentIndex= $id;
-      $this->loadAclEntry();
-    }
 
-    foreach($_POST as $name => $post){
-
-      /* Actions... */
-      if (preg_match('/^acl_edit_.*_x/', $name)){
+    // Get listing actions. Delete or Edit.
+    $this->list->save_object();
+    $lAction = $this->list->getAction();
+    $this->gosaAclTemplate = array_values($this->list->getMaintainedData());
+    if($lAction['action'] == "edit"){
+        $this->currentIndex = $lAction['targets'][0];
         $this->dialogState= 'create';
         $firstedit= TRUE;
         $this->dialog= TRUE;
-        $this->currentIndex= preg_replace('/^acl_edit_([0-9]+).*$/', '\1', $name);
         $this->loadAclEntry();
-        continue;
-      }
-      if (preg_match('/^cat_edit_.*_x/', $name)){
-        $this->aclObject= preg_replace('/^cat_edit_([^_]+)_.*$/', '\1', $name);
+    }
+    foreach($_POST as $name => $post){
+      if (preg_match('/^cat_edit_/', $name)){
+        $this->aclObject= preg_replace('/^cat_edit_(.*)$/', '\1', $name);
         $this->dialogState= 'edit';
         foreach ($this->ocMapping[$this->aclObject] as $oc){
           if (isset($this->aclContents[$oc])){
@@ -205,45 +248,23 @@ class aclrole extends acl
         continue;
       }
 
-      if(!$this->acl_is_writeable("gosaAclEntry")){
+      if(!$this->acl_is_writeable("gosaAclTemplate")){
         continue;
       }
 
-      if (preg_match('/^acl_del_.*_x/', $name) && $this->acl_is_writeable("gosaAclEntry")){
-        unset($this->gosaAclTemplate[preg_replace('/^acl_del_([0-9]+).*$/', '\1', $name)]);
-        continue;
-      }
-
-      if (preg_match('/^cat_del_.*_x/', $name) && $this->acl_is_writeable("gosaAclEntry")){
-        $idx= preg_replace('/^cat_del_([^_]+)_.*$/', '\1', $name);
+      if (preg_match('/^cat_del_.*/', $name) && $this->acl_is_writeable("gosaAclTemplate")){
+        $idx= preg_replace('/^cat_del_(.*)$/', '\1', $name);
         foreach ($this->ocMapping[$idx] as $key){
-          unset($this->aclContents["$idx/$key"]);
-        }
-        continue;
-      }
-
-      /* Sorting... */
-      if (preg_match('/^sortup_.*_x/', $name) && $this->acl_is_writeable("gosaAclEntry")){
-        $index= preg_replace('/^sortup_([0-9]+).*$/', '\1', $name);
-        if ($index > 0){
-          $tmp= $this->gosaAclTemplate[$index];
-          $this->gosaAclTemplate[$index]= $this->gosaAclTemplate[$index-1];
-          $this->gosaAclTemplate[$index-1]= $tmp;
-        }
-        continue;
-      }
-      if (preg_match('/^sortdown_.*_x/', $name) && $this->acl_is_writeable("gosaAclEntry")){
-        $index= preg_replace('/^sortdown_([0-9]+).*$/', '\1', $name);
-        if ($index < count($this->gosaAclTemplate)-1){
-          $tmp= $this->gosaAclTemplate[$index];
-          $this->gosaAclTemplate[$index]= $this->gosaAclTemplate[$index+1];
-          $this->gosaAclTemplate[$index+1]= $tmp;
+          if(isset($this->aclContents[$idx])) 
+            unset($this->aclContents[$idx]);
+          if(isset($this->aclContents["$idx/$key"])) 
+            unset($this->aclContents["$idx/$key"]);
         }
         continue;
       }
 
       /* ACL saving... */
-      if (preg_match('/^acl_.*_[^xy]$/', $name) && $this->acl_is_writeable("gosaAclEntry")){
+      if (preg_match('/^acl_.*_[^xy]$/', $name) && $this->acl_is_writeable("gosaAclTemplate")){
         list($dummy, $object, $attribute, $value)= explode('_', $name);
 
         /* Skip for detection entry */
@@ -297,7 +318,7 @@ class aclrole extends acl
     }
 
     /* Store ACL in main object? */
-    if (isset($_POST['submit_new_acl']) && $this->acl_is_writeable("gosaAclEntry")){
+    if (isset($_POST['submit_new_acl']) && $this->acl_is_writeable("gosaAclTemplate")){
       $this->gosaAclTemplate[$this->currentIndex]['type']= $this->aclType;
       $this->gosaAclTemplate[$this->currentIndex]['members']= $this->recipients;
       $this->gosaAclTemplate[$this->currentIndex]['acl']= $this->aclContents;
@@ -316,12 +337,12 @@ class aclrole extends acl
     }
 
     /* Save edit acl? */
-    if (isset($_POST['submit_edit_acl']) && $this->acl_is_writeable("gosaAclEntry")){
+    if (isset($_POST['submit_edit_acl']) && $this->acl_is_writeable("gosaAclTemplate")){
       $this->dialogState= 'create';
     }
 
     /* Add acl? */
-    if (isset($_POST['add_acl']) && $_POST['aclObject'] != "" && $this->acl_is_writeable("gosaAclEntry")){
+    if (isset($_POST['add_acl']) && $_POST['aclObject'] != "" && $this->acl_is_writeable("gosaAclTemplate")){
       $this->dialogState= 'edit';
       $this->savedAclContents= array();
       foreach ($this->ocMapping[$this->aclObject] as $oc){
@@ -333,14 +354,14 @@ class aclrole extends acl
 
     /* Save common values */
     foreach (array("aclType", "aclObject", "target") as $key){
-      if (isset($_POST[$key]) && $this->acl_is_writeable("gosaAclEntry")){
-        $this->$key= validate($_POST[$key]);
+      if (isset($_POST[$key]) && $this->acl_is_writeable("gosaAclTemplate")){
+        $this->$key= get_post($key);
       }
     }
 
     /* Create templating instance */
     $smarty= get_smarty();
-    $smarty->assign("usePrototype", "true");
+
 
     $smarty->assign("base", $this->baseSelector->render());
 
@@ -350,49 +371,21 @@ class aclrole extends acl
     }
 
     if ($this->dialogState == 'head'){
-      /* Draw list */
-      $aclList= new divSelectBox("aclList");
-      $aclList->SetHeight(350);
-
-      /* Fill in entries */
-      foreach ($this->gosaAclTemplate as $key => $entry){
-
-        if($this->acl_is_readable("")){
-          $link = "<a href=?plug=".$_GET['plug']."&id=".$key."&act=edit>".$this->assembleAclSummary($entry)."</a>";
-        }else{
-          $link = $this->assembleAclSummary($entry);
-        }
-
-        $field1= array("string" => $this->aclTypes[$entry['type']], "attach" => "style='width:150px'");
-        $field2= array("string" => $link);
+      $this->updateList();
+      $smarty->assign("aclList", $this->list->render());
+    }
 
-        $action ="";
-        if($this->acl_is_writeable("gosaAclEntry")){
-          $action.= "<input type='image' name='sortup_$key' alt='up' 
-            title='"._("Up")."' src='images/lists/sort-up.png' align='top'>";
-          $action.= "<input type='image' name='sortdown_$key' alt='down' 
-            title='"._("Down")."' src='images/lists/sort-down.png'>";
-        }
-        if($this->acl_is_readable("gosaAclEntry")){
-          $action.= "<input class='center' type='image' src='images/lists/edit.png' alt='"._("Edit")."' name='acl_edit_$key' 
-            title='".msgPool::editButton(_("ACL"))."'>";
-        }
-        if($this->acl_is_writeable("gosaAclEntry")){
-          $action.= "<input class='center' type='image' src='images/lists/trash.png' alt='"._("Delete")."' name='acl_del_$key' 
-            title='".msgPool::delButton(_("ACL"))."'>";
-        }
+    if ($this->dialogState == 'create'){
 
-        $field3= array("string" => $action, "attach" => "style='border-right:0px;width:50px;text-align:right;'");
-        $aclList->AddEntry(array($field1, $field2, $field3));
-      }
 
-      $smarty->assign("aclList", $aclList->DrawList());
-    }
 
-    if ($this->dialogState == 'create'){
       /* Draw list */
-      $aclList= new divSelectBox("aclList");
-      $aclList->SetHeight(450);
+      $data = $lData = array();
+    
+      // Create a map of all used sections, this allows us to simply hide the remove button
+      //  if no acl is configured for the given section
+      // e.g. ';all;department/country;users/user;
+      $usedList = ";".implode(array_keys($this->aclContents),';').";";
 
       /* Add settings for all categories to the (permanent) list */
       foreach ($this->aclObjects as $section => $dsc){
@@ -421,22 +414,21 @@ class aclrole extends acl
         }
 
         $action = "";
-        if($this->acl_is_readable("gosaAclEntry")){
-          $action.= "<input class='center' type='image' src='images/lists/edit.png' 
-            alt='"._("Edit")."' name='cat_edit_$section'   title='"._("Edit category ACL")."'>";
+        if($this->acl_is_readable("gosaAclTemplate")){
+          $action.= image('images/lists/edit.png','cat_edit_'.$section,_("Edit category ACL"));
         }
-        if($this->acl_is_writeable("gosaAclEntry")){
-          $action.= "<input class='center' type='image' src='images/lists/trash.png' 
-            alt='"._("Delete")."' name='cat_del_$section' title='"._("Reset category ACL")."'>";
+        if($this->acl_is_writeable("gosaAclTemplate")  && preg_match("/;".$section."(;|\/)/", $usedList)){
+          $action.= image('images/lists/trash.png','cat_del_'.$section,_("Delete category ACL"));
         }
-
-        $field1= array("string" => $dsc, "attach" => "style='width:140px'");
-        $field2= array("string" => $summary);
-        $field3= array("string" => $action, "attach" => "style='border-right:0px;width:50px'");
-        $aclList->AddEntry(array($field1, $field2, $field3));
+        $data[] = $section;
+        $lData[] = array('data'=>array($dsc, $summary, $action));
       }
 
-      $smarty->assign("aclList", $aclList->DrawList());
+
+      $this->sectionList->setListData($data,$lData);
+      $this->sectionList->update();
+      $smarty->assign("aclList", $this->sectionList->render());
+
       $smarty->assign("aclType", $this->aclType);
       $smarty->assign("aclTypes", $this->aclTypes);
       $smarty->assign("target", $this->target);
@@ -456,9 +448,6 @@ class aclrole extends acl
         }
         $aclObjects[$this->aclObject.'/'.$class]= $plist[$class]['plDescription'];
       }
-      if ($this->aclObject == 'all'){
-        $aclObjects['all']= _("All objects in current subtree");
-      }
       $smarty->assign('aclSelector', $this->buildAclSelector($aclObjects));
     }
 
@@ -467,7 +456,7 @@ class aclrole extends acl
 
     /* Assign cn and decription if this is a role */
     foreach(array("cn","description") as $name){
-      $smarty->assign($name,$this->$name);
+      $smarty->assign($name,set_post($this->$name));
     }
     return ($smarty->fetch (get_template_path('acl_role.tpl',dirname(__FILE__))));
   }
@@ -519,7 +508,7 @@ class aclrole extends acl
 
   function aclPostHandler()
   {
-    if (isset($_POST['save_acl']) && $this->acl_is_writeable("gosaAclEntry")){
+    if (isset($_POST['save_acl']) && $this->acl_is_writeable("gosaAclTemplate")){
       $this->save();
       return TRUE;
     }
@@ -692,7 +681,7 @@ class aclrole extends acl
   function saveCopyDialog()
   {
     if(isset($_POST['cn'])){
-      $this->cn = $_POST['cn'];
+      $this->cn = get_post('cn');
     }
   }
   
@@ -700,7 +689,7 @@ class aclrole extends acl
   function getCopyDialog()
   {
     $smarty = get_smarty();
-    $smarty->assign("cn",$this->cn);
+    $smarty->assign("cn",set_post($this->cn));
     $str = $smarty->fetch(get_template_path("paste_role.tpl",TRUE,dirname(__FILE__)));
     $ret = array();
     $ret['string'] = $str;
@@ -729,11 +718,30 @@ class aclrole extends acl
           "plPriority"    => 0,
           "plSection"     => array("administration"),
           "plCategory"    => array("acl"),
+          "plRequirements"=> array(
+              'ldapSchema' => array('gosaAcl' => '>=2.7'),
+              'onFailureDisablePlugin' => array(get_class(), 'aclManagement')
+              ),
+          "plProperties" =>
+          array(
+              array(
+                  "name"          => "aclRoleRDN",
+                  "type"          => "rdn",
+                  "default"       => "ou=aclroles,",
+                  "description"   => _("RDN for role storage."),
+                  "check"         => "gosaProperty::isRdn",
+                  "migrate"       => "migrate_aclRoleRDN",
+                  "group"         => "plugin",
+                  "mandatory"     => FALSE
+                  )
+              ),
+
+
           "plProvidedAcls"    => array(
             "cn"                => _("Name"),
             "base"              => _("Base"),
             "description"       => _("Description"),
-            "gosaAclEntry"      => _("Permissions"))
+            "gosaAclTemplate"      => _("Permissions"))
         ));
   }
 
diff --git a/gosa-core/plugins/admin/acl/class_filterACL.inc b/gosa-core/plugins/admin/acl/class_filterACL.inc
index 2b6f0b7..563be91 100644
--- a/gosa-core/plugins/admin/acl/class_filterACL.inc
+++ b/gosa-core/plugins/admin/acl/class_filterACL.inc
@@ -2,17 +2,17 @@
 
 class filterACL {
 
-  static function query($parent, $base, $scope, $filter, $attributes, $category, $objectStorage= "")
+  static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "")
   {
     $config= session::global_get('config');
     $ldap= $config->get_ldap_link(TRUE);
     $flag= ($scope == "sub")?GL_SUBSEARCH:0;
     $result=array();
-    $result= array_merge($result,filterACL::get_list($parent, $base, $filter, $attributes, $category, array(), $flag | GL_SIZELIMIT, "cat"));
+    $result= array_merge($result,filterACL::get_list($base, $filter, $attributes, $category, array(), $flag | GL_SIZELIMIT, "cat"));
     if($scope == "sub"){
-      $result= array_merge($result,filterACL::get_list($parent, $base, $filter, $attributes, $category, array(), $flag | GL_SIZELIMIT, "search"));
+      $result= array_merge($result,filterACL::get_list($base, $filter, $attributes, $category, array(), $flag | GL_SIZELIMIT, "search"));
     }
-    $result= array_merge($result,filterACL::get_list($parent, $base, $filter, $attributes, $category, $objectStorage, $flag | GL_SIZELIMIT, ""));
+    $result= array_merge($result,filterACL::get_list($base, $filter, $attributes, $category, $objectStorage, $flag | GL_SIZELIMIT, ""));
     return(filterACL::unifyResult($result));
   }
 
@@ -27,7 +27,7 @@ class filterACL {
     return(array_values($res)); 
   }
 
-  static function get_list($parent, $base, $filter, $attributes, $category, $objectStorage, $flags= GL_SUBSEARCH, $method= "")
+  static function get_list($base, $filter, $attributes, $category, $objectStorage, $flags= GL_SUBSEARCH, $method= "")
   {
     $ui= session::global_get('ui');
     $config= session::global_get('config');
diff --git a/gosa-core/plugins/admin/acl/main.inc b/gosa-core/plugins/admin/acl/main.inc
index 22eee30..9d835fe 100644
--- a/gosa-core/plugins/admin/acl/main.inc
+++ b/gosa-core/plugins/admin/acl/main.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: main.inc 14927 2009-12-23 09:32:00Z hickert $$
+ * ID: $$Id: main.inc 19805 2010-09-28 06:00:38Z hickert $$
  *
  * 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
@@ -21,35 +21,35 @@
  */
 
 /* Remove locks created by this plugin
-*/
+ */
 if ($remove_lock){
-  if(session::is_set('aclManagement')){
-      $macl = session::get('aclManagement');
-      $macl->remove_lock();
-  }
+    if(session::is_set('aclManagement')){
+        $macl = session::get('aclManagement');
+        $macl->remove_lock();
+    }
 }
 
 /* Remove this plugin from session
-*/
+ */
 if ( $cleanup ){
-  session::un_set('aclManagement');
+    session::un_set('aclManagement');
 }else{
 
-  /* Create usermanagement object on demand */
-  if (!session::is_set('aclManagement')){
-    $aclManagement= new aclManagement ($config, $ui);
-    session::set('aclManagement',$aclManagement);
-  }
-  $aclManagement = session::get('aclManagement');
-  $display= $aclManagement->execute();
+    /* Create usermanagement object on demand */
+    if (!session::is_set('aclManagement')){
+        $aclManagement= new aclManagement ($config, $ui);
+        session::set('aclManagement',$aclManagement);
+    }
+    $aclManagement = session::get('aclManagement');
+    $display= $aclManagement->execute();
 
-  /* Reset requested? */
-  if (isset($_GET['reset']) && $_GET['reset'] == 1){
-    session::un_set ('aclManagement');
-  }
+    /* Reset requested? */
+    if (isset($_GET['reset']) && $_GET['reset'] == 1){
+        session::un_set ('aclManagement');
+    }
 
-  /* Show and save dialog */
-  session::set('aclManagement',$aclManagement);
+    /* Show and save dialog */
+    session::set('aclManagement',$aclManagement);
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/acl/migration/class_migrate_aclRoleRDN.inc b/gosa-core/plugins/admin/acl/migration/class_migrate_aclRoleRDN.inc
new file mode 100644
index 0000000..436fa16
--- /dev/null
+++ b/gosa-core/plugins/admin/acl/migration/class_migrate_aclRoleRDN.inc
@@ -0,0 +1,6 @@
+<?php 
+class migrate_aclRoleRDN extends migrateRDN implements propertyMigration
+{
+	protected $filter = "(&(objectClass=gosaRole)%s)";
+}
+?>
diff --git a/gosa-core/plugins/admin/acl/paste_role.tpl b/gosa-core/plugins/admin/acl/paste_role.tpl
index 41f4577..ab4426a 100644
--- a/gosa-core/plugins/admin/acl/paste_role.tpl
+++ b/gosa-core/plugins/admin/acl/paste_role.tpl
@@ -1,4 +1,4 @@
-<table>
+<table summary="{t}Paste ACL-role{/t}">
 	<tr>
 		<td>
 			{t}Name{/t}
diff --git a/gosa-core/plugins/admin/acl/remove.tpl b/gosa-core/plugins/admin/acl/remove.tpl
deleted file mode 100644
index f60f42d..0000000
--- a/gosa-core/plugins/admin/acl/remove.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-<div style="font-size:18px;">
- <img alt="" src="images/warning.png" align=top> {t}Warning{/t}
-</div>
-<p>
-  {$info}
-  {t}This includes all account data, system access rules, imap settings, etc. for this user. Please double check if your really want to do this since there is no way for GOsa to get your data back.{/t}
-</p>
-
-<p>
- {t}So - if you're sure - press 'Delete' to continue or 'Cancel' to abort.{/t}
-</p>
-
-<p class="plugbottom">
-  <input type=submit name="delete_confirmed" value="{msgPool type=delButton}">
-  <input type=submit name="delete_cancel" value="{msgPool type=cancelButton}">
-   
-</p>
-
diff --git a/gosa-core/plugins/admin/acl/tabs_acl.inc b/gosa-core/plugins/admin/acl/tabs_acl.inc
index 4b1e2d1..158f2d5 100644
--- a/gosa-core/plugins/admin/acl/tabs_acl.inc
+++ b/gosa-core/plugins/admin/acl/tabs_acl.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: tabs_acl.inc 13100 2008-12-01 14:07:48Z hickert $$
+ * ID: $$Id: tabs_acl.inc 16747 2010-03-17 12:16:09Z hickert $$
  *
  * 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
@@ -78,14 +78,13 @@ class acltab extends tabs
   {
     $display= tabs::execute();
     if($this->read_only){
-      $display.= "<p style=\"text-align:right\">\n";
-      $display.= "  <input type=submit name=\"edit_cancel\" value=\"".msgPool::cancelButton()."\">\n";
-      $display.= "</p>";
+      $display.= "<div class='plugin-actions'>";
+      $display.= "  <button type=submit name=\"edit_cancel\">".msgPool::cancelButton()."</button>\n";
+      $display.= "</div>";
     }elseif(!$this->by_object['acl']->dialog){
       $display.= "<p style=\"text-align:right\">\n";
-      $display.= "  <input type=submit name=\"edit_finish\" style=\"width:80px\" value=\"".msgPool::okButton()."\">\n";
-      $display.= "   \n";
-      $display.= "  <input type=submit name=\"edit_cancel\" value=\"".msgPool::cancelButton()."\">\n";
+      $display.= "  <button type=submit name=\"edit_finish\">".msgPool::okButton()."</button>\n";
+      $display.= "  <button type=submit name=\"edit_cancel\">".msgPool::cancelButton()."</button>\n";
       $display.= "</p>";
     }
     return($display);
diff --git a/gosa-core/plugins/admin/acl/tabs_acl_role.inc b/gosa-core/plugins/admin/acl/tabs_acl_role.inc
index 5542422..7eefcb5 100644
--- a/gosa-core/plugins/admin/acl/tabs_acl_role.inc
+++ b/gosa-core/plugins/admin/acl/tabs_acl_role.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: tabs_acl_role.inc 13100 2008-12-01 14:07:48Z hickert $$
+ * ID: $$Id: tabs_acl_role.inc 19254 2010-07-29 13:54:19Z hickert $$
  *
  * 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
@@ -32,10 +32,12 @@ class aclroletab extends tabs
   function save($ignore_account= FALSE)
   {
     $baseobject= $this->by_object['aclrole'];
+    $cn      = preg_replace('/,/', '\,', $baseobject->cn); 
+    $cn      = preg_replace('/"/', '\"', $cn); 
 
     /* Check for new 'dn', in order to propagate the
        'dn' to all plugins */
-    $new_dn= 'cn='.$baseobject->cn.",".get_ou('aclRoleRDN').$baseobject->base;
+    $new_dn=  @LDAP::convert('cn='.$cn.",".get_ou("aclrole", "aclRoleRDN").$baseobject->base);
 
     if ($this->dn != $new_dn){
 
@@ -63,19 +65,17 @@ class aclroletab extends tabs
   {
     $display= tabs::execute();
     if($this->read_only){
-      $display.= "<p style=\"text-align:right\">\n";
-      $display.= "  <input type=submit name=\"edit_cancel\" value=\"".msgPool::cancelButton()."\">\n";
-      $display.= "</p>";
+      $display.= "<div class='plugin-actions'>";
+      $display.= "  <button type=submit name=\"edit_cancel\">".msgPool::cancelButton()."</button>\n";
+      $display.= "</div>";
     }elseif(!$this->by_object['aclrole']->dialog){
       $display.= "<p style=\"text-align:right\">\n";
-      $display.= "  <input type=submit name=\"edit_finish\" style=\"width:80px\" value=\"".msgPool::okButton()."\">\n";
-      $display.= "   \n";
-      $display.= "  <input type=submit name=\"edit_cancel\" value=\"".msgPool::cancelButton()."\">\n";
+      $display.= "  <button type=submit name=\"edit_finish\">".msgPool::okButton()."</button>\n";
+      $display.= "  <button type=submit name=\"edit_cancel\">".msgPool::cancelButton()."</button>\n";
       $display.= "</p>";
     }
     return($display);
   }
-
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/plugins/admin/departments/class_countryGeneric.inc b/gosa-core/plugins/admin/departments/class_countryGeneric.inc
index f693434..1b01618 100644
--- a/gosa-core/plugins/admin/departments/class_countryGeneric.inc
+++ b/gosa-core/plugins/admin/departments/class_countryGeneric.inc
@@ -22,79 +22,79 @@
 
 class country extends department
 {
-	/* attribute list for save action */
-	var $attributes     = array( "c", "ou", "description","gosaUnitTag", "manager");
-	var $objectclasses  = array("top", "gosaDepartment");
-  var $structuralOC   = array("country");
-  var $type   ="country";
-  var $c      ="";
-  var $orgi_c ="";
+    /* attribute list for save action */
+    var $attributes     = array( "c", "ou", "description","gosaUnitTag", "manager");
+    var $objectclasses  = array("top", "gosaDepartment");
+    var $structuralOC   = array("country");
+    var $type   ="country";
+    var $c      ="";
+    var $orgi_c ="";
 
-  var $namingAttr = "c";
-  var $manager_enabled = FALSE;
-  var $manager_name ="";
-  var $manager ="";
+    var $namingAttr = "c";
+    var $manager_enabled = FALSE;
+    var $manager_name ="";
+    var $manager ="";
 
 
-  function check()
-  {
-    $message = plugin::check();
-    
-		/* Check for presence of this department */
-		$ldap= $this->config->get_ldap_link();
-    $ldap->ls ("(&(c=".$this->c.")(objectClass=country))", $this->base, array('dn'));
-    if ($this->orig_c == "new" && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		} elseif ($this->orig_dn != $this->dn && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		}
+    function check()
+    {
+        $message = plugin::check();
 
-		/* All required fields are set? */
-		if ($this->c == ""){
-			$message[]= msgPool::required(_("Name"));
-		}elseif(tests::is_department_name_reserved($this->c,$this->base)){
-      $message[]= msgPool::reserved(_("Name"));
-    }elseif(preg_match ('/[#+:=>\\\\\/]/', $this->c)){
-			$message[]= msgPool::invalid(_("Name"), $this->c, "/[^#+:=>\\\\\/]/");
-		}
+        /* Check for presence of this department */
+        $ldap= $this->config->get_ldap_link();
+        $ldap->ls ("(&(c=".$this->c.")(objectClass=country))", $this->base, array('dn'));
+        if ($this->orig_c == "new" && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        } elseif ($this->orig_dn != $this->dn && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        }
 
-    /* Check description */
-		if ($this->description == ""){
-			$message[]= msgPool::required(_("Description"));
-		}
+        /* All required fields are set? */
+        if ($this->c == ""){
+            $message[]= msgPool::required(_("Name"));
+        }elseif(tests::is_department_name_reserved($this->c,$this->base)){
+            $message[]= msgPool::reserved(_("Name"));
+        }elseif(preg_match ('/[#+:=>\\\\\/]/', $this->c)){
+            $message[]= msgPool::invalid(_("Name"), $this->c, "/[^#+:=>\\\\\/]/");
+        }
 
-    /* Check if we are allowed to create or move this object
-     */
-    if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
-      $message[] = msgPool::permCreate();
-    }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
-      $message[] = msgPool::permMove();
-    }
+        /* Check description */
+        if ($this->description == ""){
+            $message[]= msgPool::required(_("Description"));
+        }
+
+        /* Check if we are allowed to create or move this object
+         */
+        if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
+            $message[] = msgPool::permCreate();
+        }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
+            $message[] = msgPool::permMove();
+        }
 
-    return($message);
-  }
+        return($message);
+    }
 
 
-  /* Return plugin informations for acl handling */ 
-  static function plInfo()
-  {
-    return (array(
-          "plShortName"   => _("Country"),
-          "plDescription" => _("Country"),
-          "plSelfModify"  => FALSE,
-          "plPriority"    => 2,
-          "plDepends"     => array(),
-          "plSection"     => array("administration"),
-          "plCategory"    => array("department"),
+    /* Return plugin informations for acl handling */ 
+    static function plInfo()
+    {
+        return (array(
+                    "plShortName"   => _("Country"),
+                    "plDescription" => _("Country"),
+                    "plSelfModify"  => FALSE,
+                    "plPriority"    => 2,
+                    "plDepends"     => array(),
+                    "plSection"     => array("administration"),
+                    "plCategory"    => array("department"),
 
-          "plProvidedAcls" => array(
-            "c"                 => _("Country name"),
-            "description"       => _("Description"),
-            "manager"                 => _("Manager"),
-            "base"              => _("Base"),
-            "gosaUnitTag"       => _("Administrative settings"))
-          ));
-  }
+                    "plProvidedAcls" => array(
+                        "c"                 => _("Country name"),
+                        "description"       => _("Description"),
+                        "manager"                 => _("Manager"),
+                        "base"              => _("Base"),
+                        "gosaUnitTag"       => _("Administrative settings"))
+                    ));
+    }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/departments/class_dcObject.inc b/gosa-core/plugins/admin/departments/class_dcObject.inc
index c4423d7..7db316f 100644
--- a/gosa-core/plugins/admin/departments/class_dcObject.inc
+++ b/gosa-core/plugins/admin/departments/class_dcObject.inc
@@ -22,78 +22,78 @@
 
 class dcObject extends department
 {
-	/* attribute list for save action */
-	var $attributes     = array( "dc", "ou", "description","gosaUnitTag", "manager");
-	var $objectclasses  = array("top", "dcObject", "gosaDepartment");
-  var $structuralOC   = array("locality");
-  var $type       = "dcObject";
-  var $dc         = "";
-  var $orgi_dc    = "";
-  var $namingAttr = "dc";
+    /* attribute list for save action */
+    var $attributes     = array( "dc", "ou", "description","gosaUnitTag", "manager");
+    var $objectclasses  = array("top", "dcObject", "gosaDepartment");
+    var $structuralOC   = array("locality");
+    var $type       = "dcObject";
+    var $dc         = "";
+    var $orgi_dc    = "";
+    var $namingAttr = "dc";
 
-  var $manager_enabled = FALSE;
-  var $manager_name ="";
-  var $manager ="";
+    var $manager_enabled = FALSE;
+    var $manager_name ="";
+    var $manager ="";
 
 
-  function check()
-  {
-    $message = plugin::check();
+    function check()
+    {
+        $message = plugin::check();
 
-		/* Check for presence of this department */
-		$ldap= $this->config->get_ldap_link();
-    $ldap->ls ("(&(dc=".$this->dc.")(objectClass=dcObject))", $this->base, array('dn'));
-    if ($this->orig_dc == "new" && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		} elseif ($this->orig_dn != $this->dn && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		}
+        /* Check for presence of this department */
+        $ldap= $this->config->get_ldap_link();
+        $ldap->ls ("(&(dc=".$this->dc.")(objectClass=dcObject))", $this->base, array('dn'));
+        if ($this->orig_dc == "new" && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        } elseif ($this->orig_dn != $this->dn && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        }
 
-		/* All required fields are set? */
-		if ($this->dc == ""){
-			$message[]= msgPool::required(_("Name"));
-		}elseif(tests::is_department_name_reserved($this->dc,$this->base)){
-      $message[]= msgPool::reserved(_("Name"));
-    }elseif(!preg_match ('/[a-z0-9 \.,\-_]/i', $this->dc)){
-			$message[]= msgPool::invalid(_("Name"), $this->dc, "/[a-z0-9 \.,\-_]/");
-		}
+        /* All required fields are set? */
+        if ($this->dc == ""){
+            $message[]= msgPool::required(_("Name"));
+        }elseif(tests::is_department_name_reserved($this->dc,$this->base)){
+            $message[]= msgPool::reserved(_("Name"));
+        }elseif(preg_match ('/[^a-z0-9 \.,\-_]/i', $this->dc)){
+            $message[]= msgPool::invalid(_("Name"), $this->dc, "/[a-z0-9 \.,\-_]/i");
+        }
 
-    /* Check description */
-		if ($this->description == ""){
-			$message[]= msgPool::required(_("Description"));
-		}
+        /* Check description */
+        if ($this->description == ""){
+            $message[]= msgPool::required(_("Description"));
+        }
 
-    /* Check if we are allowed to create or move this object
-     */
-    if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
-      $message[] = msgPool::permCreate();
-    }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
-      $message[] = msgPool::permMove();
-    }
+        /* Check if we are allowed to create or move this object
+         */
+        if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
+            $message[] = msgPool::permCreate();
+        }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
+            $message[] = msgPool::permMove();
+        }
 
-    return($message);
-  }
+        return($message);
+    }
 
 
-  /* Return plugin informations for acl handling */ 
-  static function plInfo()
-  {
-    return (array("plShortName"   => _("Domain Component"),
-          "plDescription" => _("Domain Component"),
-          "plSelfModify"  => FALSE,
-          "plPriority"    => 4,
-          "plDepends"     => array(),
-          "plSection"     => array("administration"),
-          "plCategory"    => array("department"),
+    /* Return plugin informations for acl handling */ 
+    static function plInfo()
+    {
+        return (array("plShortName"   => _("Domain Component"),
+                    "plDescription" => _("Domain Component"),
+                    "plSelfModify"  => FALSE,
+                    "plPriority"    => 4,
+                    "plDepends"     => array(),
+                    "plSection"     => array("administration"),
+                    "plCategory"    => array("department"),
 
-          "plProvidedAcls" => array(
-            "dc"                => _("Name"),
-            "description"       => _("Description"),
-            "manager"                 => _("Manager"),
-            "base"              => _("Base"),
-            "gosaUnitTag"       => _("Administrative settings"))
-          ));
-  }
+                    "plProvidedAcls" => array(
+                        "dc"                => _("Name"),
+                        "description"       => _("Description"),
+                        "manager"                 => _("Manager"),
+                        "base"              => _("Base"),
+                        "gosaUnitTag"       => _("Administrative settings"))
+                    ));
+    }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/departments/class_department.inc b/gosa-core/plugins/admin/departments/class_department.inc
index dcfb8ff..173bbf8 100644
--- a/gosa-core/plugins/admin/departments/class_department.inc
+++ b/gosa-core/plugins/admin/departments/class_department.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_department.inc 19186 2010-07-28 09:57:53Z hickert $$
+ * ID: $$Id: class_department.inc 19022 2010-07-20 07:52:52Z hickert $$
  *
  * 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
@@ -22,372 +22,378 @@
 
 class department extends plugin
 {
-  /* department attributes */
-  var $ou= "";
-  var $description= "";
-  var $base= "";
-  var $st= "";
-  var $l= "";
-  var $postalAddress= "";
-  var $businessCategory= "";
-  var $telephoneNumber= "";
-  var $facsimileTelephoneNumber= "";
-  var $is_administrational_unit= false;
-  var $gosaUnitTag= "";
-  var $view_logged = FALSE;
-
-  var $type ="organizationalUnit";
-  var $namingAttr = "ou";
-
-  /* Headpage attributes */
-  var $last_dep_sorting= "invalid";
-  var $departments= array();
-  var $must_be_tagged = false;
-
-  /* attribute list for save action */
-  var $attributes= array("ou", "description", "businessCategory", "st", "l", "postalAddress",
-			"telephoneNumber", "facsimileTelephoneNumber", "gosaUnitTag", "manager");
-
-  /* Do not append the structural object classes here, they are added dynamically in the constructor */
-  var $objectclasses= array("top", "gosaDepartment");
-  var $structuralOC = array("organizationalUnit");
-
-  var $initially_was_tagged = false;
-  var $orig_base = "";
-  var $orig_ou = "";
-  var $baseSelector;
-
-  var $manager_enabled = FALSE;
-  var $manager_name ="";
-  var $manager ="";
-
-  function department (&$config, $dn)
-  {
-    /* Add the default structural obejct class 'locality' if this is a new entry
-     */
-    $ldap = $config->get_ldap_link();
-    $ldap->cd($config->current['BASE']);
-    if($dn == "" || $dn == "new" || !$ldap->dn_exists($dn)){
-      $this->objectclasses = array_merge($this->structuralOC,$this->objectclasses);
-    }else{
-      $ldap->cat($dn, array("structuralObjectClass"));
-      $attrs= $ldap->fetch();
-      if(isset($attrs['structuralObjectClass']['count'])){
-        for($i = 0 ; $i < $attrs['structuralObjectClass']['count'] ; $i++){
-          $this->objectclasses[] = $attrs['structuralObjectClass'][$i];
-        }
-      }else{
-
-        /* Could not detect structural object class for this object, fall back to the default 'locality'
+    /* department attributes */
+    var $ou= "";
+    var $description= "";
+    var $base= "";
+    var $st= "";
+    var $l= "";
+    var $postalAddress= "";
+    var $businessCategory= "";
+    var $telephoneNumber= "";
+    var $facsimileTelephoneNumber= "";
+    var $is_administrational_unit= false;
+    var $gosaUnitTag= "";
+    var $view_logged = FALSE;
+
+    var $type ="organizationalUnit";
+    var $namingAttr = "ou";
+
+    /* Headpage attributes */
+    var $last_dep_sorting= "invalid";
+    var $departments= array();
+    var $must_be_tagged = false;
+
+    /* attribute list for save action */
+    var $attributes= array("ou", "description", "businessCategory", "st", "l", "postalAddress",
+            "telephoneNumber", "facsimileTelephoneNumber", "gosaUnitTag", "manager");
+
+    /* Do not append the structural object classes here, they are added dynamically in the constructor */
+    var $objectclasses= array("top", "gosaDepartment");
+    var $structuralOC = array("organizationalUnit");
+
+    var $initially_was_tagged = false;
+    var $orig_base = "";
+    var $orig_ou = "";
+    var $orig_dn = "";
+    var $baseSelector;
+
+    var $manager_enabled = FALSE;
+    var $manager_name ="";
+    var $manager ="";
+
+    var $is_root_dse = FALSE;
+
+    function department (&$config, $dn)
+    {
+        /* Add the default structural obejct class 'locality' if this is a new entry
          */
-        $this->objectclasses = array_merge($this->structuralOC,$this->objectclasses);
-      }
-    }
-    $this->objectclasses = array_unique($this->objectclasses);
-
-    plugin::plugin($config, $dn);
-    $this->is_account= TRUE;
-    $this->ui= get_userinfo();
-    $this->dn= $dn;
-    $this->orig_dn= $dn;
-
-    /* Save current naming attribuet 
-     */
-    $nA      = $this->namingAttr;
-    $orig_nA = "orig_".$nA;
-    $this->$orig_nA = $this->$nA;
-
-    $this->config= $config;
-
-    /* Set base */
-    if ($this->dn == "new"){
-	    $ui= get_userinfo();
-	    if(session::is_set('CurrentMainBase')){
-		    $this->base = session::get('CurrentMainBase');
-	    }else{
-		    $this->base= dn2base($ui->dn);
-	    }
-    } else {
-	    $this->base= preg_replace ("/^[^,]+,/", "", $this->dn);
-    }
+        $ldap = $config->get_ldap_link();
+        $ldap->cd($config->current['BASE']);
+        if($dn == "" || $dn == "new" || !$ldap->dn_exists($dn)){
+            $this->objectclasses = array_merge($this->structuralOC,$this->objectclasses);
+        }else{
+            $ldap->cat($dn, array("structuralObjectClass"));
+            $attrs= $ldap->fetch();
+            if(isset($attrs['structuralObjectClass']['count'])){
+                for($i = 0 ; $i < $attrs['structuralObjectClass']['count'] ; $i++){
+                    $this->objectclasses[] = $attrs['structuralObjectClass'][$i];
+                }
+            }else{
 
-    $this->orig_base = $this->base;
+                /* Could not detect structural object class for this object, fall back to the default 'locality'
+                 */
+                $this->objectclasses = array_merge($this->structuralOC,$this->objectclasses);
+            }
+        }
+        $this->objectclasses = array_unique($this->objectclasses);
+
+        plugin::plugin($config, $dn);
+        $this->is_account= TRUE;
+        $this->ui= get_userinfo();
+        $this->dn= $dn;
+        $this->orig_dn= $dn;
 
-    /* Is administrational Unit? */
-    if ($dn != "new" && in_array_ics('gosaAdministrativeUnit', $this->attrs['objectClass'])){
-	    $this->is_administrational_unit= true;
-	    $this->initially_was_tagged = true;
+        /* Save current naming attribuet 
+         */
+        $nA      = $this->namingAttr;
+        $orig_nA = "orig_".$nA;
+        $this->$orig_nA = $this->$nA;
+
+        $this->config= $config;
+
+        /* Set base */
+        if ($this->dn == "new"){
+            $ui= get_userinfo();
+            if(session::is_set('CurrentMainBase')){
+                $this->base = session::get('CurrentMainBase');
+            }else{
+                $this->base= dn2base($ui->dn);
+            }
+        } else {
+            $this->base= preg_replace ("/^[^,]+,/", "", $this->dn);
+        }
+
+        // Special handling for the rootDSE
+        if($this->dn == $this->config->current['BASE']){
+            $this->base = $this->dn;
+            $this->is_root_dse = TRUE;
+        }
+
+        $this->orig_base = $this->base;
+
+        /* Is administrational Unit? */
+        if ($dn != "new" && in_array_ics('gosaAdministrativeUnit', $this->attrs['objectClass'])){
+            $this->is_administrational_unit= true;
+            $this->initially_was_tagged = true;
+        }
+
+        /* Instanciate base selector */
+        $this->baseSelector= new baseSelector($this->get_allowed_bases(), $this->base);
+        $this->baseSelector->setSubmitButton(false);
+        $this->baseSelector->setHeight(300);
+        $this->baseSelector->update(true);
+
+        // If the 'manager' attribute is present in gosaDepartment allow to manage it.
+        $ldap = $this->config->get_ldap_link();
+        $ocs = $ldap->get_objectclasses();
+        if(isset($ocs['gosaDepartment']['MAY']) && in_array('manager', $ocs['gosaDepartment']['MAY'])){
+            $this->manager_enabled = TRUE;
+
+            // Detect the managers name
+            $this->manager_name = "";
+            $ldap = $this->config->get_ldap_link();
+            if(!empty($this->manager)){
+                $ldap->cat($this->manager, array('cn'));
+                if($ldap->count()){
+                    $attrs = $ldap->fetch();
+                    $this->manager_name = $attrs['cn'][0];
+                }else{
+                    $this->manager_name = "("._("Unknown")."!): ".$this->manager;
+                }
+            }
+        }
     }
 
-    /* Instanciate base selector */
-    $this->baseSelector= new baseSelector($this->get_allowed_bases(), $this->base);
-    $this->baseSelector->setSubmitButton(false);
-    $this->baseSelector->setHeight(300);
-    $this->baseSelector->update(true);
+    function execute()
+    {
+        /* Call parent execute */
+        plugin::execute();
+
+        /* Log view */
+        if($this->is_account && !$this->view_logged){
+            $this->view_logged = TRUE;
+            new log("view","department/".get_class($this),$this->dn);
+        }
+
+        /* Reload departments */
+        $this->config->get_departments();
+        $this->config->make_idepartments();
+        $smarty= get_smarty();
+
+        // Clear manager attribute if requested
+        if(preg_match("/ removeManager/i", " ".implode(array_keys($_POST),' ')." ")){
+            $this->manager = "";
+            $this->manager_name = "";
+        }
+
+        // Allow to manager manager attribute
+        if($this->manager_enabled){
+
+            // Allow to select a new inetOrgPersion:manager
+            if(preg_match("/ editManager/i", " ".implode(array_keys($_POST),' ')." ")){
+                $this->dialog = new singleUserSelect($this->config, get_userinfo());
+            }
+            if($this->dialog && count($this->dialog->detectPostActions())){
+                $users = $this->dialog->detectPostActions();
+                if(isset($users['action']) && $users['action'] =='userSelected' && isset($users['targets']) && count($users['targets'])){
+
+                    $headpage = $this->dialog->getHeadpage();
+                    $dn = $users['targets'][0];
+                    $attrs = $headpage->getEntry($dn);
+                    $this->manager = $dn;
+                    $this->manager_name = $attrs['cn'][0];
+                    $this->dialog = NULL;
+                }
+            }
+            if(isset($_POST['add_users_cancel'])){
+                $this->dialog = NULL;
+            }
+            if($this->dialog) return($this->dialog->execute());
+        }
+        $smarty->assign("manager",$this->manager);
+        $smarty->assign("manager_name", set_post($this->manager_name));
+        $smarty->assign("manager_enabled",$this->manager_enabled);
 
 
+        $tmp = $this->plInfo();
+        foreach($tmp['plProvidedAcls'] as $name => $translation){
+            $smarty->assign($name."ACL",$this->getacl($name));
+        }
 
-    // If the 'manager' attribute is present in gosaDepartment allow to manage it.
-    $ldap = $this->config->get_ldap_link();
-    $ocs = $ldap->get_objectclasses();
-    if(isset($ocs['gosaDepartment']['MAY']) && in_array('manager', $ocs['gosaDepartment']['MAY'])){
-      $this->manager_enabled = TRUE;
+        /* Hide base selector, if this object represents the base itself 
+         */
+        $smarty->assign("is_root_dse", $this->is_root_dse);
+        if($this->is_root_dse){
+            $nA = $this->namingAttr."ACL";
+            $smarty->assign($nA,$this->getacl($this->namingAttr,TRUE));
+        }
 
-      // Detect the managers name
-      $this->manager_name = "";
-      $ldap = $this->config->get_ldap_link();
-      if(!empty($this->manager)){
-        $ldap->cat($this->manager, array('cn'));
-        if($ldap->count()){
-          $attrs = $ldap->fetch();
-          $this->manager_name = $attrs['cn'][0];
+        /* Hide all departments, that are subtrees of this department */
+        $bases = $this->get_allowed_bases();
+        if(($this->dn == "new")||($this->dn == "")){
+            $tmp = $bases;
         }else{
-          $this->manager_name = "("._("Unknown")."!): ".$this->manager;
+            $tmp	= array();	
+            foreach($bases as $dn=>$base){
+                /* Only attach departments which are not a subtree of this one */
+                if(!preg_match("/".preg_quote($this->dn)."/",$dn)){
+                    $tmp[$dn]=$base;
+                }
+            }
         }
-      }
-    }
-  }
+        $this->baseSelector->setBases($tmp);
+        $this->baseSelector->update(TRUE);
 
-	function execute()
-	{
-		/* Call parent execute */
-		plugin::execute();
+        foreach ($this->attributes as $val){
+            $smarty->assign("$val", set_post($this->$val));
+        }
+        $smarty->assign("base", $this->baseSelector->render());
 
-    /* Log view */
-    if($this->is_account && !$this->view_logged){
-      $this->view_logged = TRUE;
-      new log("view","department/".get_class($this),$this->dn);
-    }
+        /* Set admin unit flag */
+        if ($this->is_administrational_unit) {
+            $smarty->assign("gosaUnitTag", "checked");
+        } else {
+            $smarty->assign("gosaUnitTag", "");
+        }
 
-		/* Reload departments */
-		$this->config->get_departments($this->dn);
-		$this->config->make_idepartments();
-		$smarty= get_smarty();
-    $smarty->assign("usePrototype", "true");
+        $smarty->assign("dep_type",$this->type);
 
-    // Clear manager attribute if requested
-    if(preg_match("/ removeManager/i", " ".implode(array_keys($_POST),' ')." ")){
-      $this->manager = "";
-      $this->manager_name = "";
-    }
 
-    // Allow to manager manager attribute
-    if($this->manager_enabled){
-
-      // Allow to select a new inetOrgPersion:manager
-      if(preg_match("/ editManager/i", " ".implode(array_keys($_POST),' ')." ")){
-        $this->dialog = new singleUserSelect($this->config, get_userinfo());
-      }
-      if($this->dialog && count($this->dialog->detectPostActions())){
-        $users = $this->dialog->detectPostActions();
-        if(isset($users['targets']) && count($users['targets'])){
-
-          $headpage = $this->dialog->getHeadpage();
-          $dn = $users['targets'][0];
-          $attrs = $headpage->getEntry($dn);
-          $this->manager = $dn;
-          $this->manager_name = $attrs['cn'][0];
-          $this->dialog = NULL;
-        }
-      }
-      if(isset($_POST['add_users_cancel'])){
-        $this->dialog = NULL;
-      }
-      if($this->dialog) return($this->dialog->execute());
+        $dep_types = departmentManagement::get_support_departments();
+        $tpl ="";
+        foreach($dep_types as $key => $data){
+            if($data['OC'] == $this->type){
+                $tpl = $data['TPL'];
+                break;
+            }
+        }
+        if($tpl == "") {
+            trigger_error("No template specified for container type '".$this->type."', please update epartmentManagement::get_support_departments().");
+            $tpl = "generic.tpl";
+        }
+        return($smarty->fetch (get_template_path($tpl, TRUE)));
     }
-    $smarty->assign("manager",$this->manager);
-    $smarty->assign("manager_name",$this->manager_name);
-    $smarty->assign("manager_enabled",$this->manager_enabled);
 
+    function clear_fields()
+    {
+        $this->dn   = "";
+        $this->base = "";
 
-    $tmp = $this->plInfo();
-    foreach($tmp['plProvidedAcls'] as $name => $translation){
-      $smarty->assign($name."ACL",$this->getacl($name));
+        foreach ($this->attributes as $val){
+            $this->$val= "";
+        }
     }
 
-    /* Hide base selector, if this object represents the base itself 
-     */
-    $smarty->assign("is_root_dse", FALSE);
-    if($this->dn == $this->config->current['BASE']){
-      $smarty->assign("is_root_dse", TRUE);
-      $nA = $this->namingAttr."ACL";
-      $smarty->assign($nA,$this->getacl($this->namingAttr,TRUE));
-    }
+    function remove_from_parent()
+    {
+        $ldap= $this->config->get_ldap_link();
+        $ldap->cd ($this->dn);
+        $ldap->rmdir_recursive($this->dn);
+        new log("remove","department/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+        if (!$ldap->success()){
+            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_DEL, get_class()));
+        }
 
-    /* Hide all departments, that are subtrees of this department */
-    $bases = $this->get_allowed_bases();
-    if(($this->dn == "new")||($this->dn == "")){
-	    $tmp = $bases;
-    }else{
-	    $tmp	= array();	
-	    foreach($bases as $dn=>$base){
-		    /* Only attach departments which are not a subtree of this one */
-		    if(!preg_match("/".preg_quote($this->dn)."/",$dn)){
-			    $tmp[$dn]=$base;
-		    }
-	    }
+        /* Optionally execute a command after we're done */
+        $this->handle_post_events('remove');
     }
-    $this->baseSelector->setBases($tmp);
 
-    foreach ($this->attributes as $val){
-      $smarty->assign("$val", htmlentities($this->$val,ENT_COMPAT,'UTF-8'));
+    function must_be_tagged()
+    {
+        return $this->must_be_tagged;
     }
-    $smarty->assign("base", $this->baseSelector->render());
 
-    /* Set admin unit flag */
-    if ($this->is_administrational_unit) {
-      $smarty->assign("gosaUnitTag", "checked");
-    } else {
-      $smarty->assign("gosaUnitTag", "");
-    }
+    /* Save data to object */
+    function save_object()
+    {	
+        if (isset($_POST['dep_generic_posted'])){
 
-    $smarty->assign("dep_type",$this->type);
-    
+            $nA = $this->namingAttr;
+            $old_nA = $this->$nA;
 
-    $dep_types = departmentManagement::get_support_departments();
-    $tpl ="";
-    foreach($dep_types as $key => $data){
-      if($data['OC'] == $this->type){
-        $tpl = $data['TPL'];
-        break;
-      }
-    }
-    if($tpl == "") {
-      trigger_error("No template specified for container type '".$this->type."', please update epartmentManagement::get_support_departments().");
-      $tpl = "generic.tpl";
-    }
-		return($smarty->fetch (get_template_path($tpl, TRUE)));
-	}
-
-	function clear_fields()
-	{
-		$this->dn   = "";
-		$this->base = "";
-
-		foreach ($this->attributes as $val){
-			$this->$val= "";
-		}
-	}
-
-	function remove_from_parent()
-	{
-		$ldap= $this->config->get_ldap_link();
-		$ldap->cd ($this->dn);
-		$ldap->rmdir_recursive($this->dn);
-    new log("remove","department/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
-    if (!$ldap->success()){
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_DEL, get_class()));
-    }
 
-		/* Optionally execute a command after we're done */
-		$this->handle_post_events('remove');
-	}
 
-	function must_be_tagged()
-	{
-		return $this->must_be_tagged;
-	}
+            /* Create a base backup and reset the
+               base directly after calling plugin::save_object();
+               Base will be set seperatly a few lines below */
+            $base_tmp = $this->base;
+            plugin::save_object();
+            $this->base = $base_tmp;
 
-	/* Save data to object */
-	function save_object()
-	{	
-		if (isset($_POST['dep_generic_posted'])){
+            /* Refresh base */
+            if ($this->acl_is_moveable($this->base)){
+                if (!$this->baseSelector->update()) {
+                    msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG);
+                }
+                if ($this->base != $this->baseSelector->getBase()) {
+                    $this->base= $this->baseSelector->getBase();
+                    $this->is_modified= TRUE;
+                }
+            }
 
-			$nA = $this->namingAttr;
-			$old_nA = $this->$nA;
 
+            /* Save tagging flag */
+            if ($this->acl_is_writeable("gosaUnitTag")){
+                if (isset($_POST['is_administrational_unit'])){
+                    $this->is_administrational_unit= true;
+                } else {
+                    $this->is_administrational_unit= false;
+                }
+            }
 
+            /* If this is the root directory service entry then avoid
+               changing the naming attribute of this entry.
+             */
+            if($this->dn == $this->config->current['BASE']){
+                $this->$nA = $old_nA;
+            }
+        }
+    }
 
-      /* Create a base backup and reset the
-         base directly after calling plugin::save_object();
-         Base will be set seperatly a few lines below */
-      $base_tmp = $this->base;
-      plugin::save_object();
-      $this->base = $base_tmp;
 
-		/* Refresh base */
-		if ($this->acl_is_moveable($this->base)){
-			if (!$this->baseSelector->update()) {
-				msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG);
-			}
-			if ($this->base != $this->baseSelector->getBase()) {
-				$this->base= $this->baseSelector->getBase();
-				$this->is_modified= TRUE;
-			}
-		}
+    /* Check values */
+    function check()
+    {
+        /* Call common method to give check the hook */
+        $message= plugin::check();
 
+        /* Check for presence of this department */
+        $ldap= $this->config->get_ldap_link();
+        $ldap->ls ("(&(ou=".$this->ou.")(objectClass=organizationalUnit))", $this->base, array('dn'));
+        if ($this->orig_dn == "new" && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        } elseif ($this->orig_dn != $this->dn && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        }
 
-      /* Save tagging flag */
-      if ($this->acl_is_writeable("gosaUnitTag")){
-        if (isset($_POST['is_administrational_unit'])){
-          $this->is_administrational_unit= true;
-        } else {
-          $this->is_administrational_unit= false;
+        /* All required fields are set? */
+        if ($this->ou == ""){
+            $message[]= msgPool::required(_("Name"));
+        }
+        if ($this->description == ""){
+            $message[]= msgPool::required(_("Description"));
         }
-      }
 
-      /* If this is the root directory service entry then avoid
-         changing the naming attribute of this entry.
-       */
-      if($this->dn == $this->config->current['BASE']){
-        $this->$nA = $old_nA;
-      }
-    }
-	}
-
-
-	/* Check values */
-	function check()
-	{
-		/* Call common method to give check the hook */
-		$message= plugin::check();
-
-		/* Check for presence of this department */
-		$ldap= $this->config->get_ldap_link();
-    $ldap->ls ("(&(ou=".$this->ou.")(objectClass=organizationalUnit))", $this->base, array('dn'));
-    if ($this->orig_dn == "new" && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		} elseif ($this->orig_dn != $this->dn && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		}
-
-		/* All required fields are set? */
-		if ($this->ou == ""){
-			$message[]= msgPool::required(_("Name"));
-		}
-		if ($this->description == ""){
-			$message[]= msgPool::required(_("Description"));
-		}
-
-    if(tests::is_department_name_reserved($this->ou,$this->base)){
-      $message[]= msgPool::reserved(_("Name"));
-    }
+        if(tests::is_department_name_reserved($this->ou,$this->base)){
+            $message[]= msgPool::reserved(_("Name"));
+        }
 
-		if (preg_match ('/[#+:=>\\\\\/]/', $this->ou)){
-			$message[]= msgPool::invalid(_("Name"), $this->ou, "/[^#+:=>\\\\\/]/");
-		}
-		if (!tests::is_phone_nr($this->telephoneNumber)){
-			$message[]= msgPool::invalid(_("Phone"), $this->telephoneNumber, "/[\/0-9 ()+*-]/");
-		}
-		if (!tests::is_phone_nr($this->facsimileTelephoneNumber)){
-			$message[]= msgPool::invalid(_("Fax"), $this->facsimileTelephoneNumber, "/[\/0-9 ()+*-]/");
-		}
-
-    // Check if a wrong base was supplied
-    if(!$this->baseSelector->checkLastBaseUpdate()){
-      $message[]= msgPool::check_base();;
-    }
+        if (preg_match ('/[#+:=>\\\\\/]/', $this->ou)){
+            $message[]= msgPool::invalid(_("Name"), $this->ou, "/[^#+:=>\\\\\/]/");
+        }
+        if (!tests::is_phone_nr($this->telephoneNumber)){
+            $message[]= msgPool::invalid(_("Phone"), $this->telephoneNumber, "/[\/0-9 ()+*-]/");
+        }
+        if (!tests::is_phone_nr($this->facsimileTelephoneNumber)){
+            $message[]= msgPool::invalid(_("Fax"), $this->facsimileTelephoneNumber, "/[\/0-9 ()+*-]/");
+        }
 
-    /* Check if we are allowed to create or move this object
-     */
-    if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
-      $message[] = msgPool::permCreate();
-    }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
-      $message[] = msgPool::permMove();
-    }
+        // Check if a wrong base was supplied
+        if(!$this->baseSelector->checkLastBaseUpdate()){
+            $message[]= msgPool::check_base();;
+        }
+
+        /* Check if we are allowed to create or move this object
+         */
+        if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
+            $message[] = msgPool::permCreate();
+        }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
+            $message[] = msgPool::permMove();
+        }
 
-    return $message;
-	}
+        return $message;
+    }
 
 
     /* Save to LDAP */
@@ -479,310 +485,315 @@ class department extends plugin
         /* The parameter forces only to set must_be_tagged, and don't touch any objects 
            This will be done later */
         $this->tag_objects(true);
-
         return(false);
     }
 
 
-	/* Tag objects to have the gosaAdministrativeUnitTag */
-	function tag_objects($OnlySetTagFlag = false)
-	{
-    if(!$OnlySetTagFlag){
-      $smarty= get_smarty();
-      /* Print out html introduction */
-      echo '  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-        <html>
-        <head>
-        <title></title>
-        <style type="text/css">@import url("themes/default/style.css");</style>
-        <script language="javascript" src="include/focus.js" type="text/javascript"></script>
-        </head>
-        <body style="background: none; margin:4px;" id="body" >
-        ';
-      echo "<h3>".sprintf(_("Tagging '%s'."),"<i>".LDAP::fix($this->dn)."</i>")."</h3>";
-    }
+    /* Tag objects to have the gosaAdministrativeUnitTag */
+    function tag_objects($OnlySetTagFlag = false)
+    {
+        if(!$OnlySetTagFlag){
+            $smarty= get_smarty();
+            /* Print out html introduction */
+            echo '  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+                <html>
+                <head>
+                <title></title>
+                <style type="text/css">@import url("themes/default/style.css");</style>
+                <script language="javascript" src="include/focus.js" type="text/javascript"></script>
+                </head>
+                <body style="background: none; margin:4px;" id="body" >
+                ';
+            echo "<h3>".sprintf(_("Tagging '%s'."),"<i>".LDAP::fix($this->dn)."</i>")."</h3>";
+        }
 
-    $add= $this->is_administrational_unit;
-    $len= strlen($this->dn);
-    $ldap= $this->config->get_ldap_link();
-    $ldap->cd($this->dn);
-    if ($add){
-	    $ldap->search('(!(&(objectClass=gosaAdministrativeUnitTag)(gosaUnitTag='.
-						    $this->gosaUnitTag.')))', array('dn'));
-    } else {
-	    $ldap->search('objectClass=gosaAdministrativeUnitTag', array('dn'));
-    }
+        $add= $this->is_administrational_unit;
+        $len= strlen($this->dn);
+        $ldap= $this->config->get_ldap_link();
+        $ldap->cd($this->dn);
+        if ($add){
+            $ldap->search('(!(&(objectClass=gosaAdministrativeUnitTag)(gosaUnitTag='.
+                                $this->gosaUnitTag.')))', array('dn'));
+        } else {
+            $ldap->search('objectClass=gosaAdministrativeUnitTag', array('dn'));
+        }
+
+        $objects = array();
+        while ($attrs= $ldap->fetch()){
+            $objects[] = $attrs;
+        }
+        foreach($objects as $attrs){
+
+            /* Skip self */
+            if ($attrs['dn'] == $this->dn){
+                continue;
+            }
+
+            /* Check for confilicting administrative units */
+            $fix= true;
+            foreach ($this->config->adepartments as $key => $tag){
+                /* This one is shorter than our dn, its not relevant... */
+                if ($len >= strlen($key)){
+                    continue;
+                }
 
-    $objects = array();
-    while ($attrs= $ldap->fetch()){
-      $objects[] = $attrs;
+                /* This one matches with the latter part. Break and don't fix this entry */
+                if (preg_match('/(^|,)'.preg_quote($key, '/').'$/', $attrs['dn'])){
+                    $fix= false;
+                    break;
+                }
+            }
+
+            /* Fix entry if needed */
+            if ($fix){
+                if($OnlySetTagFlag){
+                    $this->must_be_tagged =true;
+                    return;
+                }
+                $this->handle_object_tagging($attrs['dn'], $this->gosaUnitTag, TRUE );
+                echo "<script language=\"javascript\" type=\"text/javascript\">scrollDown2();</script>" ;
+            }
+        }
+
+        if(!$OnlySetTagFlag){
+            $this->must_be_tagged = FALSE;
+            echo '<hr>';
+            echo "<div style='width:100%;text-align:right;'>".
+                "<form name='form' method='post' action='?plug=".$_GET['plug']."' target='_parent'>".
+                "<br>".
+                "<input type='submit' name='back' value='"._("Continue")."'>".
+                "<input type='hidden' name='php_c_check' value='1'>".
+                "</form>".
+                "</div>";
+            echo "<script language=\"javascript\" type=\"text/javascript\">scrollDown2();</script>" ;
+        }
     }
-    foreach($objects as $attrs){
-
-	    /* Skip self */
-	    if ($attrs['dn'] == $this->dn){
-		    continue;
-	    }
-
-	    /* Check for confilicting administrative units */
-	    $fix= true;
-	    foreach ($this->config->adepartments as $key => $tag){
-		    /* This one is shorter than our dn, its not relevant... */
-		    if ($len >= strlen($key)){
-			    continue;
-		    }
-
-		    /* This one matches with the latter part. Break and don't fix this entry */
-		    if (preg_match('/(^|,)'.preg_quote($key, '/').'$/', $attrs['dn'])){
-			    $fix= false;
-			    break;
-		    }
-	    }
-
-	    /* Fix entry if needed */
-	    if ($fix){
-		    if($OnlySetTagFlag){
-			    $this->must_be_tagged =true;
-			    return;
-		    }
-		    $this->handle_object_tagging($attrs['dn'], $this->gosaUnitTag, TRUE );
+
+
+    /* Move/Rename complete trees */
+    function recursive_move($src_dn, $dst_dn,$force = false)
+    {
+        /* Print header to have styles included */
+        $smarty= get_smarty();
+
+        echo '  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+            <html>
+            <head>
+            <title></title>
+            <style type="text/css">@import url("themes/default/style.css");</style>
+            <script language="javascript" src="include/focus.js" type="text/javascript"></script>
+            </head>
+            <body style="background: none; margin:4px;" id="body" >
+            ';
+        echo "<h3>".sprintf(_("Moving '%s' to '%s'"),"<i>".LDAP::fix($src_dn)."</i>","<i>".LDAP::fix($dst_dn)."</i>")."</h3>";
+
+
+        /* Check if the destination entry exists */
+        $ldap= $this->config->get_ldap_link();
+
+        /* Check if destination exists - abort */
+        $ldap->cat($dst_dn, array('dn'));
+        if ($ldap->fetch()){
+            trigger_error("Recursive_move ".LDAP::fix($dst_dn)." already exists.",
+                    E_USER_WARNING);
+            echo sprintf("Recursive_move: '%s' already exists", LDAP::fix($dst_dn))."<br>"; 
+            return (FALSE);
+        }
+
+        /* Perform a search for all objects to be moved */
+        $objects= array();
+        $ldap->cd($src_dn);
+        $ldap->search("(objectClass=*)", array("dn"));
+        while($attrs= $ldap->fetch()){
+            $dn= $attrs['dn'];
+            $objects[$dn]= strlen($dn);
+        }
+
+        /* Sort objects by indent level */
+        asort($objects);
+        reset($objects);
+
+        /* Copy objects from small to big indent levels by replacing src_dn by dst_dn */
+        foreach ($objects as $object => $len){
+
+
+            $src= str_replace("\\","\\\\",$object);
+            $dst= preg_replace("/".str_replace("\\","\\\\",$src_dn)."$/", "$dst_dn", $object);
+            $dst= str_replace($src_dn,$dst_dn,$object);
+
+            echo "<b>"._("Object").":</b> ".LDAP::fix($src)."<br>";
+
+            $this->update_acls($object, $dst,TRUE);
+
+            if (!$this->copy($src, $dst)){
+                echo "<font color='#FF0000'><br>".sprintf(_("FAILED to copy %s, aborting operation"),LDAP::fix($src))."</font>";
+                return (FALSE);
+            }
+            echo "<script language=\"javascript\" type=\"text/javascript\">scrollDown2();</script>" ;
+            flush();
+        }
+
+        /* Remove src_dn */
+        $ldap->cd($src_dn);
+        $ldap->recursive_remove();
+        $this->orig_dn  = $this->dn = $dst_dn;
+        $this->orig_base= $this->base;     
+        $this->entryCSN = getEntryCSN($this->dn);
+
+        echo '<hr>';
+
+        echo "<div style='width:100%;text-align:right;'><form name='form' method='post' action='?plug=".$_GET['plug']."' target='_parent'>
+            <br><input type='submit' name='back' value='"._("Continue")."'>
+            </form></div>";
+
         echo "<script language=\"javascript\" type=\"text/javascript\">scrollDown2();</script>" ;
-	    }
-    }
-    
-    if(!$OnlySetTagFlag){
-      $this->must_be_tagged = FALSE;
-	    echo '<p class="seperator"> </p>';
-      echo "<div style='width:100%;text-align:right;'>".
-        "<form name='form' method='post' action='?plug=".$_GET['plug']."' target='_parent'>".
-        "<br>".
-        "<input type='submit' name='back' value='"._("Continue")."'>".
-        "<input type='hidden' name='php_c_check' value='1'>".
-        "</form>".
-        "</div>";
-      echo "<script language=\"javascript\" type=\"text/javascript\">scrollDown2();</script>" ;
-    }
-	}
-
-
-	/* Move/Rename complete trees */
-	function recursive_move($src_dn, $dst_dn,$force = false)
-	{
-    /* Print header to have styles included */
-    $smarty= get_smarty();
-
-    echo '  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-      <html>
-      <head>
-      <title></title>
-      <style type="text/css">@import url("themes/default/style.css");</style>
-      <script language="javascript" src="include/focus.js" type="text/javascript"></script>
-      </head>
-      <body style="background: none; margin:4px;" id="body" >
-      ';
-    echo "<h3>".sprintf(_("Moving '%s' to '%s'"),"<i>".LDAP::fix($src_dn)."</i>","<i>".LDAP::fix($dst_dn)."</i>")."</h3>";
-
-
-    /* Check if the destination entry exists */
-    $ldap= $this->config->get_ldap_link();
-
-    /* Check if destination exists - abort */
-    $ldap->cat($dst_dn, array('dn'));
-    if ($ldap->fetch()){
-      trigger_error("Recursive_move ".LDAP::fix($dst_dn)." already exists.",
-          E_USER_WARNING);
-      echo sprintf("Recursive_move: '%s' already exists", LDAP::fix($dst_dn))."<br>"; 
-      return (FALSE);
+        echo "</body></html>";
+
+        return (TRUE);
     }
 
-    /* Perform a search for all objects to be moved */
-    $objects= array();
-    $ldap->cd($src_dn);
-    $ldap->search("(objectClass=*)", array("dn"));
-    while($attrs= $ldap->fetch()){
-      $dn= $attrs['dn'];
-      $objects[$dn]= strlen($dn);
+
+    /* Return plugin informations for acl handling */ 
+    static function plInfo()
+    {
+        return (array("plShortName"   => _("Generic"),
+                    "plDescription" => _("Departments"),
+                    "plSelfModify"  => FALSE,
+                    "plPriority"    => 0,
+                    "plDepends"     => array(),
+                    "plSection"     => array("administration"),
+                    "plRequirements"=> array(
+                        'ldapSchema' => array('gosaDepartment' => '>=2.7'),
+                        'onFailureDisablePlugin' => array(get_class(),'departmentManagement',
+                            'country','dcObject','domain','locality','organization')
+                        ),
+
+                    "plCategory"    => array("department" => array("objectClass" => "gosaDepartment", "description" => _("Departments"))),
+
+                    "plProvidedAcls" => array(
+                        "ou"                => _("Department name"),
+                        "description"       => _("Description"),
+                        "businessCategory"  => _("Category"),
+                        "base"              => _("Base"),
+
+                        "st"                => _("State"),
+                        "l"                 => _("Location"),
+                        "postalAddress"     => _("Address"),
+                        "telephoneNumber"   => _("Telephone"),
+                        "facsimileTelephoneNumber" => _("Fax"),
+                        "manager" => _("Manager"),
+
+                        "gosaUnitTag"       => _("Administrative settings"))
+                        ));
     }
 
-    /* Sort objects by indent level */
-    asort($objects);
-    reset($objects);
+    function handle_object_tagging($dn= "", $tag= "", $show= false)
+    {
+        /* No dn? Self-operation... */
+        if ($dn == ""){
+            $dn= $this->dn;
 
-    /* Copy objects from small to big indent levels by replacing src_dn by dst_dn */
-    foreach ($objects as $object => $len){
+            /* No tag? Find it yourself... */
+            if ($tag == ""){
+                $len= strlen($dn);
 
+                @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "No tag for $dn - looking for one...", "Tagging");
+                $relevant= array();
+                foreach ($this->config->adepartments as $key => $ntag){
 
-      $src= str_replace("\\","\\\\",$object);
-      $dst= preg_replace("/".str_replace("\\","\\\\",$src_dn)."$/", "$dst_dn", $object);
-      $dst= str_replace($src_dn,$dst_dn,$object);
+                    /* This one is bigger than our dn, its not relevant... */
+                    if ($len <= strlen($key)){
+                        continue;
+                    }
 
-      echo "<b>"._("Object").":</b> ".LDAP::fix($src)."<br>";
+                    /* This one matches with the latter part. Break and don't fix this entry */
+                    if (preg_match('/(^|,)'.preg_quote($key, '/').'$/', $dn)){
+                        @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "DEBUG: Possibly relevant: $key", "Tagging");
+                        $relevant[strlen($key)]= $ntag;
+                        continue;
+                    }
 
-      $this->update_acls($object, $dst,TRUE);
+                }
 
-      if (!$this->copy($src, $dst)){
-        echo "<font color='#FF0000'><br>".sprintf(_("FAILED to copy %s, aborting operation"),LDAP::fix($src))."</font>";
-        return (FALSE);
-      }
-      echo "<script language=\"javascript\" type=\"text/javascript\">scrollDown2();</script>" ;
-      flush();
-    }
+                /* If we've some relevant tags to set, just get the longest one */
+                if (count($relevant)){
+                    ksort($relevant);
+                    $tmp= array_keys($relevant);
+                    $idx= end($tmp);
+                    $tag= $relevant[$idx];
+                    $this->gosaUnitTag= $tag;
+                }
+            }
+        }
 
-    /* Remove src_dn */
-    $ldap->cd($src_dn);
-    $ldap->recursive_remove();
-    $this->orig_dn  = $this->dn = $dst_dn;
-    $this->orig_base= $this->base;     
-    $this->entryCSN = getEntryCSN($this->dn);
-
-    echo '<p class="seperator"> </p>';
-
-    echo "<div style='width:100%;text-align:right;'><form name='form' method='post' action='?plug=".$_GET['plug']."' target='_parent'>
-      <br><input type='submit' name='back' value='"._("Continue")."'>
-      </form></div>";
-
-    echo "<script language=\"javascript\" type=\"text/javascript\">scrollDown2();</script>" ;
-    echo "</body></html>";
-
-    return (TRUE);
-  }
-
-
-  /* Return plugin informations for acl handling */ 
-  static function plInfo()
-  {
-    return (array("plShortName"   => _("Generic"),
-                  "plDescription" => _("Departments"),
-                  "plSelfModify"  => FALSE,
-                  "plPriority"    => 0,
-                  "plDepends"     => array(),
-                  "plSection"     => array("administration"),
-                  "plCategory"    => array("department" => array("objectClass" => "gosaDepartment", "description" => _("Departments"))),
-            
-                  "plProvidedAcls" => array(
-                    "ou"                => _("Department name"),
-                    "description"       => _("Description"),
-                    "businessCategory"  => _("Category"),
-                    "base"              => _("Base"),
-
-                    "st"                => _("State"),
-                    "l"                 => _("Location"),
-                    "postalAddress"     => _("Address"),
-                    "telephoneNumber"   => _("Telephone"),
-                    "facsimileTelephoneNumber" => _("Fax"),
-                    "manager" => _("Manager"),
-
-                    "gosaUnitTag"       => _("Administrative settings"))
-                  ));
-  }
-
-  function handle_object_tagging($dn= "", $tag= "", $show= false)
-  {
-    /* No dn? Self-operation... */
-    if ($dn == ""){
-      $dn= $this->dn;
-
-      /* No tag? Find it yourself... */
-      if ($tag == ""){
-        $len= strlen($dn);
-
-        @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "No tag for $dn - looking for one...", "Tagging");
-        $relevant= array();
-        foreach ($this->config->adepartments as $key => $ntag){
-
-          /* This one is bigger than our dn, its not relevant... */
-          if ($len <= strlen($key)){
-            continue;
-          }
-
-          /* This one matches with the latter part. Break and don't fix this entry */
-          if (preg_match('/(^|,)'.preg_quote($key, '/').'$/', $dn)){
-            @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "DEBUG: Possibly relevant: $key", "Tagging");
-            $relevant[strlen($key)]= $ntag;
-            continue;
-          }
-
-        }
-
-        /* If we've some relevant tags to set, just get the longest one */
-        if (count($relevant)){
-          ksort($relevant);
-          $tmp= array_keys($relevant);
-          $idx= end($tmp);
-          $tag= $relevant[$idx];
-          $this->gosaUnitTag= $tag;
-        }
-      }
-    }
+        /* Set tag? */
+        if ($tag != ""){
+            /* Set objectclass and attribute */
+            $ldap= $this->config->get_ldap_link();
+            $ldap->cat($dn, array('gosaUnitTag', 'objectClass'));
+            $attrs= $ldap->fetch();
+            if(isset($attrs['gosaUnitTag'][0]) && $attrs['gosaUnitTag'][0] == $tag){
+                if ($show) {
+                    echo sprintf(_("Object '%s' is already tagged"), LDAP::fix($dn))."<br>";
+                    flush();
+                }
+                return;
+            }
+            if (count($attrs)){
+                if ($show){
+                    echo sprintf(_("Adding tag (%s) to object '%s'"), $tag, LDAP::fix($dn))."<br>";
+                    flush();
+                }
+                $nattrs= array("gosaUnitTag" => $tag);
+                $nattrs['objectClass']= array();
+                for ($i= 0; $i<$attrs['objectClass']['count']; $i++){
+                    $oc= $attrs['objectClass'][$i];
+                    if ($oc != "gosaAdministrativeUnitTag"){
+                        $nattrs['objectClass'][]= $oc;
+                    }
+                }
+                $nattrs['objectClass'][]= "gosaAdministrativeUnitTag";
+                $ldap->cd($dn);
+                $ldap->modify($nattrs);
+                if (!$ldap->success()){
+                    msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD, get_class()));
+                }
+            } else {
+                @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "Not tagging ($tag) $dn - seems to have moved away", "Tagging");
+            }
 
-    /* Set tag? */
-    if ($tag != ""){
-      /* Set objectclass and attribute */
-      $ldap= $this->config->get_ldap_link();
-      $ldap->cat($dn, array('gosaUnitTag', 'objectClass'));
-      $attrs= $ldap->fetch();
-      if(isset($attrs['gosaUnitTag'][0]) && $attrs['gosaUnitTag'][0] == $tag){
-        if ($show) {
-          echo sprintf(_("Object '%s' is already tagged"), LDAP::fix($dn))."<br>";
-          flush();
-        }
-        return;
-      }
-      if (count($attrs)){
-        if ($show){
-          echo sprintf(_("Adding tag (%s) to object '%s'"), $tag, LDAP::fix($dn))."<br>";
-          flush();
-        }
-        $nattrs= array("gosaUnitTag" => $tag);
-        $nattrs['objectClass']= array();
-        for ($i= 0; $i<$attrs['objectClass']['count']; $i++){
-          $oc= $attrs['objectClass'][$i];
-          if ($oc != "gosaAdministrativeUnitTag"){
-            $nattrs['objectClass'][]= $oc;
-          }
-        }
-        $nattrs['objectClass'][]= "gosaAdministrativeUnitTag";
-        $ldap->cd($dn);
-        $ldap->modify($nattrs);
-        if (!$ldap->success()){
-          msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD, get_class()));
-        }
-      } else {
-        @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "Not tagging ($tag) $dn - seems to have moved away", "Tagging");
-      }
-
-    } else {
-      /* Remove objectclass and attribute */
-      $ldap= $this->config->get_ldap_link();
-      $ldap->cat($dn, array('gosaUnitTag', 'objectClass'));
-      $attrs= $ldap->fetch();
-      if (isset($attrs['objectClass']) && !in_array_ics("gosaAdministrativeUnitTag", $attrs['objectClass'])){
-        @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "$dn is not tagged", "Tagging");
-        return;
-      }
-      if (count($attrs)){
-        if ($show){
-          echo sprintf(_("Removing tag from object '%s'"), LDAP::fix($dn))."<br>";
-          flush();
-        }
-        $nattrs= array("gosaUnitTag" => array());
-        $nattrs['objectClass']= array();
-        for ($i= 0; $i<$attrs['objectClass']['count']; $i++){
-          $oc= $attrs['objectClass'][$i];
-          if ($oc != "gosaAdministrativeUnitTag"){
-            $nattrs['objectClass'][]= $oc;
-          }
-        }
-        $ldap->cd($dn);
-        $ldap->modify($nattrs);
-        if (!$ldap->success()){
-          msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD, get_class()));
+        } else {
+            /* Remove objectclass and attribute */
+            $ldap= $this->config->get_ldap_link();
+            $ldap->cat($dn, array('gosaUnitTag', 'objectClass'));
+            $attrs= $ldap->fetch();
+            if (isset($attrs['objectClass']) && !in_array_ics("gosaAdministrativeUnitTag", $attrs['objectClass'])){
+                @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "$dn is not tagged", "Tagging");
+                return;
+            }
+            if (count($attrs)){
+                if ($show){
+                    echo sprintf(_("Removing tag from object '%s'"), LDAP::fix($dn))."<br>";
+                    flush();
+                }
+                $nattrs= array("gosaUnitTag" => array());
+                $nattrs['objectClass']= array();
+                for ($i= 0; $i<$attrs['objectClass']['count']; $i++){
+                    $oc= $attrs['objectClass'][$i];
+                    if ($oc != "gosaAdministrativeUnitTag"){
+                        $nattrs['objectClass'][]= $oc;
+                    }
+                }
+                $ldap->cd($dn);
+                $ldap->modify($nattrs);
+                if (!$ldap->success()){
+                    msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD, get_class()));
+                }
+            } else {
+                @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "Not removing tag ($tag) $dn - seems to have moved away", "Tagging");
+            }
         }
-      } else {
-        @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "Not removing tag ($tag) $dn - seems to have moved away", "Tagging");
-      }
     }
-  }
 
 }
 
diff --git a/gosa-core/plugins/admin/departments/class_departmentManagement.inc b/gosa-core/plugins/admin/departments/class_departmentManagement.inc
index e520cb2..61ccea9 100644
--- a/gosa-core/plugins/admin/departments/class_departmentManagement.inc
+++ b/gosa-core/plugins/admin/departments/class_departmentManagement.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_departmentManagement.inc 15678 2010-02-23 14:42:37Z hickert $$
+ * ID: $$Id: class_departmentManagement.inc 18161 2010-05-06 09:42:02Z hickert $$
  *
  * 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
@@ -22,14 +22,14 @@
 
 class departmentManagement extends management
 {
-  var $plHeadline     = "Departments";
-  var $plDescription  = "Manage Departments";
+  var $plHeadline     = "Directory structure";
+  var $plDescription  = "Manage organizations, organizational units, localities, countries and more";
   var $plIcon         = "plugins/departments/images/plugin.png";
 
   // Tab definition 
   protected $tabClass = "deptabs";
   protected $tabType = "DEPTABS";
-  protected $aclCategory = "departement";
+  protected $aclCategory = "department";
   protected $aclPlugin   = "generic";
   protected $objectName   = "department";
 
@@ -53,10 +53,10 @@ class departmentManagement extends management
     $this->setFilter($filter);
 
     // Add copy&paste and snapshot handler.
-    if ($this->config->boolValueIsTrue("main", "copyPaste")){
+    if ($this->config->boolValueIsTrue("core", "copyPaste")){
       $this->cpHandler = new CopyPasteHandler($this->config);
     }
-    if($this->config->get_cfg_value("enableSnapshots") == "true"){
+    if($this->config->get_cfg_value("core","enableSnapshots") == "true"){
       $this->snapHandler = new SnapshotHandler($this->config);
     }
 
@@ -114,9 +114,12 @@ class departmentManagement extends management
     $str = management::saveChanges();
     if(!empty($str)) return($str);
 
+    $plugname = (isset($this->last_tabObject->base_name))? $this->last_tabObject->base_name : '';
+
     $this->refreshDeps(); 
-    $plugname = $this->last_tabObject->base_name;
-    if($this->last_tabObject->by_object[$plugname]->must_be_tagged()){
+    if(isset($this->last_tabObject->by_object[$plugname]) &&
+       is_object($this->last_tabObject->by_object[$plugname])      &&
+            $this->last_tabObject->by_object[$plugname]->must_be_tagged()){
       $smarty = get_smarty();
       $smarty->assign("src","?plug=".$_GET['plug']."&TagDepartment&no_output_compression");
       $smarty->assign("message",_("As soon as the tag operation has finished, you can scroll down to end of the page and    press the 'Continue' button to continue with the department management dialog."));
@@ -156,7 +159,7 @@ class departmentManagement extends management
   static function filterDepLabel($row,$dn,$params,$ou,$pid,$base)
   {
     $ou = $ou[0];
-    if($dn == $base){
+    if(LDAP::convert($dn) == $base){
       $ou =".";
     }
     $dn= LDAP::fix(func_get_arg(1));
@@ -165,7 +168,8 @@ class departmentManagement extends management
 
   
   // Finally remove departments and update departmnet browsers
-  function removeEntryConfirmed($action="",$target=array(),$all=array(),$altTabClass="",$altTabType="",$altAclCategory="")
+  function removeEntryConfirmed($action="",$target=array(),$all=array(),$altTabClass="",
+    $altTabType="",$altAclCategory="", $aclPlugin="")
   {
     management::removeEntryConfirmed($action,$target,$all, $altTabClass,$altTabType,$altAclCategory);
     $this->refreshDeps();
diff --git a/gosa-core/plugins/admin/departments/class_domain.inc b/gosa-core/plugins/admin/departments/class_domain.inc
index 560503a..f73a997 100644
--- a/gosa-core/plugins/admin/departments/class_domain.inc
+++ b/gosa-core/plugins/admin/departments/class_domain.inc
@@ -22,78 +22,78 @@
 
 class domain extends department
 {
-	/* attribute list for save action */
-	var $attributes     = array( "dc", "ou", "description","gosaUnitTag", "manager");
-	var $objectclasses  = array("top", "domain", "gosaDepartment");
-        var $structuralOC   = array("domain");
-        var $type       = "domain";
-        var $dc         = "";
-        var $orgi_dc    = "";
-        var $namingAttr = "dc";
+    /* attribute list for save action */
+    var $attributes     = array( "dc", "ou", "description","gosaUnitTag", "manager");
+    var $objectclasses  = array("top", "domain", "gosaDepartment");
+    var $structuralOC   = array("domain");
+    var $type       = "domain";
+    var $dc         = "";
+    var $orgi_dc    = "";
+    var $namingAttr = "dc";
 
-  var $manager_enabled = FALSE;
-  var $manager_name ="";
-  var $manager ="";
+    var $manager_enabled = FALSE;
+    var $manager_name ="";
+    var $manager ="";
 
 
-  function check()
-  {
-    $message = plugin::check();
+    function check()
+    {
+        $message = plugin::check();
 
-		/* Check for presence of this department */
-		$ldap= $this->config->get_ldap_link();
-    $ldap->ls ("(&(dc=".$this->dc.")(objectClass=domain))", $this->base, array('dn'));
-    if ($this->orig_dc == "new" && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		} elseif ($this->orig_dn != $this->dn && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		}
+        /* Check for presence of this department */
+        $ldap= $this->config->get_ldap_link();
+        $ldap->ls ("(&(dc=".$this->dc.")(objectClass=domain))", $this->base, array('dn'));
+        if ($this->orig_dc == "new" && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        } elseif ($this->orig_dn != $this->dn && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        }
 
-		/* All required fields are set? */
-		if ($this->dc == ""){
-			$message[]= msgPool::required(_("Name"));
-		}elseif(tests::is_department_name_reserved($this->dc,$this->base)){
-      $message[]= msgPool::reserved(_("Name"));
-    }elseif(!preg_match ('/[a-z0-9 \.,\-_]/i', $this->dc)){
-			$message[]= msgPool::invalid(_("Name"), $this->dc, "/[a-z0-9 \.,\-_]/");
-		}
+        /* All required fields are set? */
+        if ($this->dc == ""){
+            $message[]= msgPool::required(_("Name"));
+        }elseif(tests::is_department_name_reserved($this->dc,$this->base)){
+            $message[]= msgPool::reserved(_("Name"));
+        }elseif(preg_match ('/[^a-z0-9 \.,\-_]/i', $this->dc)){
+            $message[]= msgPool::invalid(_("Name"), $this->dc, "/[a-z0-9 \.,\-_]/i");
+        }
 
-    /* Check description */
-		if ($this->description == ""){
-			$message[]= msgPool::required(_("Description"));
-		}
+        /* Check description */
+        if ($this->description == ""){
+            $message[]= msgPool::required(_("Description"));
+        }
 
-    /* Check if we are allowed to create or move this object
-     */
-    if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
-      $message[] = msgPool::permCreate();
-    }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
-      $message[] = msgPool::permMove();
-    }
+        /* Check if we are allowed to create or move this object
+         */
+        if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
+            $message[] = msgPool::permCreate();
+        }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
+            $message[] = msgPool::permMove();
+        }
 
-    return($message);
-  }
+        return($message);
+    }
 
 
-  /* Return plugin informations for acl handling */ 
-  static function plInfo()
-  {
-    return (array("plShortName"   => _("Domain Component"),
-          "plDescription" => _("Domain Component"),
-          "plSelfModify"  => FALSE,
-          "plPriority"    => 4,
-          "plDepends"     => array(),
-          "plSection"     => array("administration"),
-          "plCategory"    => array("department"),
+    /* Return plugin informations for acl handling */ 
+    static function plInfo()
+    {
+        return (array("plShortName"   => _("Domain Component"),
+                    "plDescription" => _("Domain Component"),
+                    "plSelfModify"  => FALSE,
+                    "plPriority"    => 4,
+                    "plDepends"     => array(),
+                    "plSection"     => array("administration"),
+                    "plCategory"    => array("department"),
 
-          "plProvidedAcls" => array(
-            "dc"                => _("Name"),
-            "description"       => _("Description"),
-            "base"              => _("Base"),
-            "manager"                 => _("Manager"),
-            "gosaUnitTag"       => _("Administrative settings"))
-          ));
-  }
+                    "plProvidedAcls" => array(
+                        "dc"                => _("Name"),
+                        "description"       => _("Description"),
+                        "base"              => _("Base"),
+                        "manager"                 => _("Manager"),
+                        "gosaUnitTag"       => _("Administrative settings"))
+                    ));
+    }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/departments/class_filterDEPARTMENT.inc b/gosa-core/plugins/admin/departments/class_filterDEPARTMENT.inc
new file mode 100644
index 0000000..024b3ae
--- /dev/null
+++ b/gosa-core/plugins/admin/departments/class_filterDEPARTMENT.inc
@@ -0,0 +1,22 @@
+<?php
+
+class filterDEPARTMENT {
+
+  static function query($base, $scope, $filter, $attributes, $category, $objectStorage= array(""))
+  {
+    $config= session::global_get('config');
+    $ldap= $config->get_ldap_link(TRUE);
+
+    $result = array();
+    $flag= ($scope == "sub")?GL_SUBSEARCH:0;
+    if(!($flag & GL_SUBSEARCH)){
+      $ldap->cat($base);
+      $result[] = $ldap->fetch();
+    }
+
+    $result= array_merge($result,filterLDAP::get_list($base, $filter, $attributes, $category, $objectStorage, $flag | GL_SIZELIMIT));
+    return $result;
+  }
+}
+
+?>
diff --git a/gosa-core/plugins/admin/departments/class_localityGeneric.inc b/gosa-core/plugins/admin/departments/class_localityGeneric.inc
index 9c435ee..b829f00 100644
--- a/gosa-core/plugins/admin/departments/class_localityGeneric.inc
+++ b/gosa-core/plugins/admin/departments/class_localityGeneric.inc
@@ -22,79 +22,79 @@
 
 class locality extends department
 {
-	/* attribute list for save action */
-	var $attributes     = array("l", "description", "ou", "gosaUnitTag", "manager");
-	var $objectclasses  = array("top", "gosaDepartment");
-  var $structuralOC   = array("locality");
+    /* attribute list for save action */
+    var $attributes     = array("l", "description", "ou", "gosaUnitTag", "manager");
+    var $objectclasses  = array("top", "gosaDepartment");
+    var $structuralOC   = array("locality");
 
-  var $description= "";
-  var $type       = "locality";
-  var $l          = "";
-  var $orig_l     = "";
-  var $namingAttr = "l";
+    var $description= "";
+    var $type       = "locality";
+    var $l          = "";
+    var $orig_l     = "";
+    var $namingAttr = "l";
 
-  var $manager_enabled = FALSE;
-  var $manager_name ="";
-  var $manager ="";
+    var $manager_enabled = FALSE;
+    var $manager_name ="";
+    var $manager ="";
 
-  function check()
-  {
-    $message = plugin::check();
-    
-		/* Check for presence of this department */
-		$ldap= $this->config->get_ldap_link();
-    $ldap->ls ("(&(l=".$this->l.")(objectClass=locality))", $this->base, array('dn'));
-    if ($this->orig_l == "new" && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		} elseif ($this->orig_dn != $this->dn && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		}
+    function check()
+    {
+        $message = plugin::check();
 
-		/* All required fields are set? */
-		if ($this->l == ""){
-			$message[]= msgPool::required(_("Name"));
-		}elseif(tests::is_department_name_reserved($this->l,$this->base)){
-      $message[]= msgPool::reserved(_("Name"));
-    }elseif(preg_match ('/[#+:=>\\\\\/]/', $this->l)){
-			$message[]= msgPool::invalid(_("Name"), $this->l, "/[^#+:=>\\\\\/]/");
-		}
+        /* Check for presence of this department */
+        $ldap= $this->config->get_ldap_link();
+        $ldap->ls ("(&(l=".$this->l.")(objectClass=locality))", $this->base, array('dn'));
+        if ($this->orig_l == "new" && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        } elseif ($this->orig_dn != $this->dn && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        }
 
-    /* Check description */
-		if ($this->description == ""){
-			$message[]= msgPool::required(_("Description"));
-		}
+        /* All required fields are set? */
+        if ($this->l == ""){
+            $message[]= msgPool::required(_("Name"));
+        }elseif(tests::is_department_name_reserved($this->l,$this->base)){
+            $message[]= msgPool::reserved(_("Name"));
+        }elseif(preg_match ('/[#+:=>\\\\\/]/', $this->l)){
+            $message[]= msgPool::invalid(_("Name"), $this->l, "/[^#+:=>\\\\\/]/");
+        }
 
-    /* Check if we are allowed to create or move this object
-     */
-    if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
-      $message[] = msgPool::permCreate();
-    }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
-      $message[] = msgPool::permMove();
-    }
+        /* Check description */
+        if ($this->description == ""){
+            $message[]= msgPool::required(_("Description"));
+        }
+
+        /* Check if we are allowed to create or move this object
+         */
+        if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
+            $message[] = msgPool::permCreate();
+        }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
+            $message[] = msgPool::permMove();
+        }
 
-    return($message);
-  }
+        return($message);
+    }
 
 
-  /* Return plugin informations for acl handling */ 
-  static function plInfo()
-  {
-    return (array("plShortName"   => _("Locality"),
-          "plDescription" => _("Locality"),
-          "plSelfModify"  => FALSE,
-          "plPriority"    => 3,
-          "plDepends"     => array(),
-          "plSection"     => array("administration"),
-          "plCategory"    => array("department"),
+    /* Return plugin informations for acl handling */ 
+    static function plInfo()
+    {
+        return (array("plShortName"   => _("Locality"),
+                    "plDescription" => _("Locality"),
+                    "plSelfModify"  => FALSE,
+                    "plPriority"    => 3,
+                    "plDepends"     => array(),
+                    "plSection"     => array("administration"),
+                    "plCategory"    => array("department"),
 
-          "plProvidedAcls" => array(
-            "l"                 => _("Location"),
-            "description"       => _("Description"),
-            "manager"                 => _("Manager"),
-            "base"              => _("Base"),
-            "gosaUnitTag"       => _("Administrative settings"))
-          ));
-  }
+                    "plProvidedAcls" => array(
+                        "l"                 => _("Location"),
+                        "description"       => _("Description"),
+                        "manager"                 => _("Manager"),
+                        "base"              => _("Base"),
+                        "gosaUnitTag"       => _("Administrative settings"))
+                    ));
+    }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/departments/class_organizationGeneric.inc b/gosa-core/plugins/admin/departments/class_organizationGeneric.inc
index 7f55361..6971782 100644
--- a/gosa-core/plugins/admin/departments/class_organizationGeneric.inc
+++ b/gosa-core/plugins/admin/departments/class_organizationGeneric.inc
@@ -22,119 +22,119 @@
 
 class organization extends department
 {
-	/* attribute list for save action */
-  var $attributes     = array( "o", "ou", "description","userPassword","searchGuide",
-      "seeAlso","businessCategory","x121Address","registeredAddress","manager",
-      "destinationIndicator","preferredDeliveryMethod","telexNumber",
-      "telephoneNumber","internationaliSDNNumber","facsimileTelephoneNumber","street",
-      "postOfficeBox","postalCode", "postalAddress","physicalDeliveryOfficeName",
-      "st","l","teletexTerminalIdentifier","gosaUnitTag");
-
-  var $objectclasses  = array("top", "gosaDepartment");
-  var $structuralOC   = array("organization");
-
-  /* Attributes 
-   */ 
-  var $st                       ="";
-  var $l                        ="";
-  var $description              ="";
-  var $userPassword             ="";
-  var $searchGuide              ="";
-  var $seeAlso                  ="";
-  var $businessCategory         ="";
-  var $x121Address              ="";
-  var $registeredAddress        ="";
-  var $destinationIndicator     ="";
-  var $preferredDeliveryMethod  ="";
-  var $telexNumber              ="";
-  var $telephoneNumber          ="";
-  var $internationaliSDNNumber  ="";
-  var $facsimileTelephoneNumber ="";
-  var $street                   ="";
-  var $postOfficeBox            ="";
-  var $postalCode               ="";
-  var $postalAddress            ="";
-  var $teletexTerminalIdentifier="";
-  var $physicalDeliveryOfficeName="";
-
-  /* Naming attributes 
-   */
-  var $o            ="";
-  var $type         = "organization";
-  var $orgi_o       = "";
-  var $namingAttr   = "o";
-
-  var $manager_enabled = FALSE;
-  var $manager_name ="";
-  var $manager ="";
-
-  function check()
-  {
-    $message = plugin::check();
-
-		/* Check for presence of this department */
-		$ldap= $this->config->get_ldap_link();
-    $ldap->ls ("(&(o=".$this->o.")(objectClass=organization))", $this->base, array('dn'));
-    if ($this->orig_o == "new" && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		} elseif ($this->orig_dn != $this->dn && $ldap->count()){
-			$message[]= msgPool::duplicated(_("Name"));
-		}
-
-		/* All required fields are set? */
-		if ($this->o == ""){
-			$message[]= msgPool::required(_("Name"));
-		}elseif(tests::is_department_name_reserved($this->o,$this->base)){
-      $message[]= msgPool::reserved(_("Name"));
-    }elseif(preg_match ('/[#+:=>\\\\\/]/', $this->o)){
-			$message[]= msgPool::invalid(_("Name"), $this->o, "/[^#+:=>\\\\\/]/");
-		}
-
-    /* Check description */
-		if ($this->description == ""){
-			$message[]= msgPool::required(_("Description"));
-		}
-
-    /* Check if we are allowed to create or move this object
+    /* attribute list for save action */
+    var $attributes     = array( "o", "ou", "description","userPassword","searchGuide",
+            "seeAlso","businessCategory","x121Address","registeredAddress","manager",
+            "destinationIndicator","preferredDeliveryMethod","telexNumber",
+            "telephoneNumber","internationaliSDNNumber","facsimileTelephoneNumber","street",
+            "postOfficeBox","postalCode", "postalAddress","physicalDeliveryOfficeName",
+            "st","l","teletexTerminalIdentifier","gosaUnitTag");
+
+    var $objectclasses  = array("top", "gosaDepartment");
+    var $structuralOC   = array("organization");
+
+    /* Attributes 
+     */ 
+    var $st                       ="";
+    var $l                        ="";
+    var $description              ="";
+    var $userPassword             ="";
+    var $searchGuide              ="";
+    var $seeAlso                  ="";
+    var $businessCategory         ="";
+    var $x121Address              ="";
+    var $registeredAddress        ="";
+    var $destinationIndicator     ="";
+    var $preferredDeliveryMethod  ="";
+    var $telexNumber              ="";
+    var $telephoneNumber          ="";
+    var $internationaliSDNNumber  ="";
+    var $facsimileTelephoneNumber ="";
+    var $street                   ="";
+    var $postOfficeBox            ="";
+    var $postalCode               ="";
+    var $postalAddress            ="";
+    var $teletexTerminalIdentifier="";
+    var $physicalDeliveryOfficeName="";
+
+    /* Naming attributes 
      */
-    if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
-      $message[] = msgPool::permCreate();
-    }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
-      $message[] = msgPool::permMove();
+    var $o            ="";
+    var $type         = "organization";
+    var $orgi_o       = "";
+    var $namingAttr   = "o";
+
+    var $manager_enabled = FALSE;
+    var $manager_name ="";
+    var $manager ="";
+
+    function check()
+    {
+        $message = plugin::check();
+
+        /* Check for presence of this department */
+        $ldap= $this->config->get_ldap_link();
+        $ldap->ls ("(&(o=".$this->o.")(objectClass=organization))", $this->base, array('dn'));
+        if ($this->orig_o == "new" && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        } elseif ($this->orig_dn != $this->dn && $ldap->count()){
+            $message[]= msgPool::duplicated(_("Name"));
+        }
+
+        /* All required fields are set? */
+        if ($this->o == ""){
+            $message[]= msgPool::required(_("Name"));
+        }elseif(tests::is_department_name_reserved($this->o,$this->base)){
+            $message[]= msgPool::reserved(_("Name"));
+        }elseif(preg_match ('/[#+:=>\\\\\/]/', $this->o)){
+            $message[]= msgPool::invalid(_("Name"), $this->o, "/[^#+:=>\\\\\/]/");
+        }
+
+        /* Check description */
+        if ($this->description == ""){
+            $message[]= msgPool::required(_("Description"));
+        }
+
+        /* Check if we are allowed to create or move this object
+         */
+        if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
+            $message[] = msgPool::permCreate();
+        }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
+            $message[] = msgPool::permMove();
+        }
+
+        return($message);
     }
 
-    return($message);
-  }
-
-
-  /* Return plugin informations for acl handling */
-  static function plInfo()
-  {
-    return (array("plShortName"   => _("Organization"),
-          "plDescription" => _("Organization"),
-          "plSelfModify"  => FALSE,
-          "plPriority"    => 1,
-          "plDepends"     => array(),
-          "plSection"     => array("administration"),
-          "plCategory"    => array("department"),
-
-          "plProvidedAcls" => array(
-            "o"                       => _("Organization name"),
-            "description"             => _("Description"),
-            "businessCategory"        => _("Category"),
-            "base"                    => _("Base"),
-
-            "manager"                 => _("Manager"),
-
-            "st"                      => _("State"),
-            "l"                       => _("Location"),
-            "postalAddress"           => _("Postal address"),
-            "telephoneNumber"         => _("Phone number"),
-            "facsimileTelephoneNumber"=> _("Fax"),
-
-            "gosaUnitTag"             => _("Administrative settings"))
-          ));
-  }
+
+    /* Return plugin informations for acl handling */
+    static function plInfo()
+    {
+        return (array("plShortName"   => _("Organization"),
+                    "plDescription" => _("Organization"),
+                    "plSelfModify"  => FALSE,
+                    "plPriority"    => 1,
+                    "plDepends"     => array(),
+                    "plSection"     => array("administration"),
+                    "plCategory"    => array("department"),
+
+                    "plProvidedAcls" => array(
+                        "o"                       => _("Organization name"),
+                        "description"             => _("Description"),
+                        "businessCategory"        => _("Category"),
+                        "base"                    => _("Base"),
+
+                        "manager"                 => _("Manager"),
+
+                        "st"                      => _("State"),
+                        "l"                       => _("Location"),
+                        "postalAddress"           => _("Postal address"),
+                        "telephoneNumber"         => _("Phone number"),
+                        "facsimileTelephoneNumber"=> _("Fax"),
+
+                        "gosaUnitTag"             => _("Administrative settings"))
+                        ));
+    }
 
 }
 
diff --git a/gosa-core/plugins/admin/departments/country.tpl b/gosa-core/plugins/admin/departments/country.tpl
index d3da83a..9855b3a 100644
--- a/gosa-core/plugins/admin/departments/country.tpl
+++ b/gosa-core/plugins/admin/departments/country.tpl
@@ -2,11 +2,11 @@
 	//	COUNTRY (c)
     //////////////////// -->
 
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
+<table summary="{t}Country{/t}" style="width:100%" cellpadding=4>
  <tr>
-   <td style="vertical-align:top; width:50%">
-     <h2><img class="center" alt="" align="middle" src="images/rightarrow.png"> {t}Properties{/t}</h2>
-     <table summary="">
+   <td style="width:50%">
+     <h3>{t}Properties{/t}</h3>
+     <table summary="{t}Properties{/t}">
       <tr>
        <td><LABEL for="c">{t}Country name{/t}</LABEL>{$must}</td>
        <td>
@@ -43,14 +43,17 @@
           title='{$manager}'>
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/edit.png' name='editManager' class='center'>
+        {image path="images/lists/edit.png" action="editManager"}
+
 {/render}
         {if $manager!=""}
 {render acl=$managerACL}
-        <img src='images/info_small.png' title='{$manager}' class='center'>
+        {image path="images/info_small.png" title="{$manager}"}
+
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/trash.png' name='removeManager' class='center'>
+        {image path="images/lists/trash.png" action="removeManager"}
+
 {/render}
         {/if}
      </td>
@@ -60,15 +63,11 @@
   </td>
  </tr>
 </table>
-<p class='seperator'> </p>
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
- <tr>
-   <td style="vertical-align:top; width:100%">
-     <h2><img class="center" alt="" align="middle" src="images/lists/locked.png"> {t}Administrative settings{/t}</h2>
+<hr>
+
+<h3>{t}Administrative settings{/t}</h3>
 {render acl=$gosaUnitTagACL}
-     <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}><label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
+ <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}>
+ <label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
 {/render}
-   </td>
-  </tr>
-</table>
 <input type='hidden' name='dep_generic_posted' value='1'>
diff --git a/gosa-core/plugins/admin/departments/dcObject.tpl b/gosa-core/plugins/admin/departments/dcObject.tpl
index 23c7aa4..2380519 100644
--- a/gosa-core/plugins/admin/departments/dcObject.tpl
+++ b/gosa-core/plugins/admin/departments/dcObject.tpl
@@ -2,11 +2,11 @@
 	//	LOCALITY (l)
     //////////////////// -->
 
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
+<table summary="{t}Domain component{/t}" style="width:100%" cellpadding=4>
  <tr>
-   <td style="vertical-align:top; width:50%">
-     <h2><img class="center" alt="" align="middle" src="images/rightarrow.png"> {t}Properties{/t}</h2>
-     <table summary="">
+   <td style="width:50%">
+     <h3>{t}Properties{/t}</h3>
+     <table summary="{t}Properties{/t}">
       <tr>
        <td><LABEL for="dc">{t}Locality name{/t}</LABEL>{$must}</td>
        <td>
@@ -43,14 +43,17 @@
           title='{$manager}'>
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/edit.png' name='editManager' class='center'>
+        {image path="images/lists/edit.png" action="editManager"}
+
 {/render}
         {if $manager!=""}
 {render acl=$managerACL}
-        <img src='images/info_small.png' title='{$manager}' class='center'>
+        {image path="images/info_small.png" title="{$manager}"}
+
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/trash.png' name='removeManager' class='center'>
+        {image path="images/lists/trash.png" action="removeManager"}
+
 {/render}
         {/if}
      </td>
@@ -60,15 +63,10 @@
   </td>
  </tr>
 </table>
-<p class='seperator'> </p>
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
- <tr>
-   <td style="vertical-align:top; width:100%">
-     <h2><img class="center" alt="" align="middle" src="images/lists/locked.png"> {t}Administrative settings{/t}</h2>
+<hr>
+<h3>{t}Administrative settings{/t}</h3>
 {render acl=$gosaUnitTagACL}
-     <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}><label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
+ <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}>
+ <label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
 {/render}
-   </td>
-  </tr>
-</table>
 <input type='hidden' name='dep_generic_posted' value='1'>
diff --git a/gosa-core/plugins/admin/departments/dep-filter.tpl b/gosa-core/plugins/admin/departments/dep-filter.tpl
deleted file mode 100644
index 0078dfa..0000000
--- a/gosa-core/plugins/admin/departments/dep-filter.tpl
+++ /dev/null
@@ -1,29 +0,0 @@
-<div class="contentboxh">
- <p class="contentboxh">
-  <img src="images/launch.png" align="right" alt="[F]">{t}Filter{/t}
- </p>
-</div>
-
-<div class="contentboxb">
-
- <table summary="" style="width:100%;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td>
-    <label for="NAME">
-     <img src="images/lists/search.png" align=middle> {t}Name{/t}
-    </label>
-   </td>
-   <td>
-    {$NAME}
-   </td>
-  </tr>
- </table>
-
- <table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td width="100%" align="right">
-    {$APPLY}
-   </td>
-  </tr>
- </table>
-</div>
diff --git a/gosa-core/plugins/admin/departments/dep-filter.xml b/gosa-core/plugins/admin/departments/dep-filter.xml
index 1b75819..b07e62c 100644
--- a/gosa-core/plugins/admin/departments/dep-filter.xml
+++ b/gosa-core/plugins/admin/departments/dep-filter.xml
@@ -2,43 +2,115 @@
 
 <filterdef>
   <definition>
-    <category>departments</category>
-    <template>dep-filter.tpl</template>
+    <category>department</category>
     <initial>true</initial>
+    <default>default</default>
+    <scope>auto</scope>
+    <attribute>dn</attribute>
+    <attribute>objectClass</attribute>
+    <attribute>ou</attribute>
+    <attribute>description</attribute>
   </definition>
 
   <search>
+    <tag>default</tag>
+    <label>Default filter</label>
     <query>
-      <backend>LDAP</backend>
-      <filter>(&(objectClass=gosaDepartment)$NAME)</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
+      <backend>DEPARTMENT</backend>
+      <filter>(&(objectClass=gosaDepartment)(|(dc=$)(ou=$)(o=$)(l=$)(c=$)))</filter>
+    </query>
+    <autocomplete>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
       <attribute>ou</attribute>
-      <attribute>description</attribute>
+      <attribute>dc</attribute>
+      <attribute>c</attribute>
+      <attribute>l</attribute>
+      <attribute>o</attribute>
+    </autocomplete>
+  </search>
+
+  <search>
+    <tag>ou</tag>
+    <label>Organizational Unit</label>
+    <query>
+      <backend>DEPARTMENT</backend>
+      <filter>(&(objectClass=gosaDepartment)(objectClass=organizationalUnit)(ou=$))</filter>
     </query>
-    <scope>one</scope>
+    <autocomplete>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+      <attribute>ou</attribute>
+    </autocomplete>
   </search>
 
-  <element>
-    <type>textfield</type>
-    <tag>NAME</tag>
-    <size>18</size>
-    <maxlength>60</maxlength>
-    <default></default>
-    <unset></unset>
-    <set>(|(ou=*$*)(dc=*$*)(c=*$*)(l=*$*)(o=*$*))</set>
-    <alphabet>false</alphabet>
+  <search>
+    <tag>c</tag>
+    <label>Country</label>
+    <query>
+      <backend>DEPARTMENT</backend>
+      <filter>(&(objectClass=gosaDepartment)(objectClass=country)(c=$))</filter>
+    </query>
     <autocomplete>
-      <backend>LDAP</backend>
-      <filter>(&(objectClass=gosaDepartment)(|(ou=*$NAME*)(dc=*$NAME*)(l=*$NAME*)(c=*$NAME*)(o=*$NAME*)))</filter>
-      <attribute>cn</attribute>
-      <attribute>dc</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
       <attribute>c</attribute>
+    </autocomplete>
+  </search>
+
+  <search>
+    <tag>l</tag>
+    <label>Locality</label>
+    <query>
+      <backend>DEPARTMENT</backend>
+      <filter>(&(objectClass=gosaDepartment)(objectClass=locality)(l=$))</filter>
+    </query>
+    <autocomplete>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
       <attribute>l</attribute>
-      <attribute>o</attribute>
+    </autocomplete>
+  </search>
+
+  <search>
+    <tag>dc</tag>
+    <label>Domain component</label>
+    <query>
+      <backend>DEPARTMENT</backend>
+      <filter>(&(objectClass=gosaDepartment)(objectClass=dcObject)(dc=$))</filter>
+    </query>
+    <autocomplete>
       <frequency>0.5</frequency>
       <characters>3</characters>
+      <attribute>dc</attribute>
     </autocomplete>
-  </element>
+  </search>
 
+  <search>
+    <tag>o</tag>
+    <label>Organization</label>
+    <query>
+      <backend>DEPARTMENT</backend>
+      <filter>(&(objectClass=gosaDepartment)(objectClass=organization)(o=$))</filter>
+    </query>
+    <autocomplete>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+      <attribute>o</attribute>
+    </autocomplete>
+  </search>
+
+  <search>
+    <tag>domain</tag>
+    <label>Domain</label>
+    <query>
+      <backend>DEPARTMENT</backend>
+      <filter>(&(objectClass=gosaDepartment)(objectClass=domain)(dc=$))</filter>
+    </query>
+    <autocomplete>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+      <attribute>dc</attribute>
+    </autocomplete>
+  </search>
 </filterdef>
diff --git a/gosa-core/plugins/admin/departments/dep-list.tpl b/gosa-core/plugins/admin/departments/dep-list.tpl
index c9d5114..93f8223 100644
--- a/gosa-core/plugins/admin/departments/dep-list.tpl
+++ b/gosa-core/plugins/admin/departments/dep-list.tpl
@@ -1,28 +1,25 @@
-<input type='image' src='images/empty.png' name='no_action_posted' value='do_nothing' alt='' style='width:2px;height:2px;'>
+<div id="mainlist">
 
-<table summary="" style="width:100%;height:100%; vertical-align:top; text-align:left;" cellpadding=2>
-  <tr>
-    <td style="vertical-align:top; width:100%;">
-      <div class="contentboxh">
-        <p class="contentboxh"> {$HEADLINE} {$SIZELIMIT}</p>
-      </div>
-      
-      <div class="contentboxb">
-       <div style='background:white;padding:3px;'>
-        <table><tr>
-          <td>{$ROOT} </td><td>{$BACK} </td><td>{$HOME} </td><td>{$RELOAD} </td><td>{$SEPARATOR} </td><td>{t}Base{/t} {$BASE} </td><td>{$SEPARATOR} </td><td><img src='images/rocket.png' alt='' class='center'></td><td> {$ACTIONS}</td>
-        </tr></table>
-       </div>
-      </div>
-      
-      <div style='height:4px;'>
-      </div>
-      {$LIST}
-    </td>
-    <td style='vertical-align:top;min-width:250px'>
-      {$FILTER}
-    </td>
-  </tr>
-</table>
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}</p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$ROOT}</td>
+      <td>{$BACK}</td>
+      <td>{$HOME}</td>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{t}Base{/t} {$BASE}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
+  
+  {$LIST}
+</div>
+
+<div class="clear"></div>
 
 <input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/admin/departments/dep-list.xml b/gosa-core/plugins/admin/departments/dep-list.xml
index 949310e..ea2a78a 100644
--- a/gosa-core/plugins/admin/departments/dep-list.xml
+++ b/gosa-core/plugins/admin/departments/dep-list.xml
@@ -8,7 +8,7 @@
     <multiSelect>true</multiSelect>
     <template>dep-list.tpl</template>
     <module>departments</module>
-    <label>List of departments</label>
+    <label>List of structural objects</label>
     <defaultSortColumn>1</defaultSortColumn>
 
     <objectType>
@@ -94,49 +94,49 @@
 
     <action>
      <type>sub</type>
-     <image>images/lists/new.png</image>
+     <image>images/lists/folder.png[new]</image>
      <label>Create</label>
 
      <action>
       <name>new_domain</name>
       <type>entry</type>
       <label>Domain</label>
-      <image>plugins/departments/images/domain.png</image>
+      <image>plugins/departments/images/domain.png[new]</image>
      </action>
     
      <action>
       <name>new_dcObject</name>
       <type>entry</type>
       <label>Domain component</label>
-      <image>plugins/departments/images/dc.png</image>
+      <image>plugins/departments/images/dc.png[new]</image>
      </action>
 
      <action>
       <name>new_country</name>
       <type>entry</type>
       <label>Country</label>
-      <image>plugins/departments/images/country.png</image>
+      <image>plugins/departments/images/country.png[new]</image>
      </action>
 
      <action>
       <name>new_locality</name>
       <type>entry</type>
       <label>Locality</label>
-      <image>plugins/departments/images/locality.png</image>
+      <image>plugins/departments/images/locality.png[new]</image>
      </action>
 
      <action>
       <name>new_organization</name>
       <type>entry</type>
       <label>Organization</label>
-      <image>plugins/departments/images/organization.png</image>
+      <image>plugins/departments/images/organization.png[new]</image>
      </action>
 
      <action>
       <name>new_organizationalUnit</name>
       <type>entry</type>
       <label>Department</label>
-      <image>images/lists/folder.png</image>
+      <image>images/lists/folder.png[new]</image>
      </action>
 
     </action>
diff --git a/gosa-core/plugins/admin/departments/dep_iframe.tpl b/gosa-core/plugins/admin/departments/dep_iframe.tpl
index 4c19321..5c93204 100644
--- a/gosa-core/plugins/admin/departments/dep_iframe.tpl
+++ b/gosa-core/plugins/admin/departments/dep_iframe.tpl
@@ -1,10 +1,10 @@
-<h2>{t}Processing the requested operation{/t}</h2>
+<h3>{t}Processing the requested operation{/t}</h3>
 {$message}
 <br>
 <br>
 <div style="margin:3px;background-color:white; border:1px solid #A0A0A0">
 <iframe src="{$src}" style="width:100%;height:450px;background-color:#FFFFFF;" name="status">
-	<p>{t}Your browser doesn't support iframes, please use this link to perform the requested operation.{/t}
+	<p>{t}Your browser doesn't support IFRAME HTML elements. Please use this link to perform the requested operation.{/t}
 	<br>
 	<a href="{$src}">{$src}</a>
 	</p>
@@ -12,7 +12,7 @@
 </div>
 
 <!--
-<p class="seperator"> </p>
+<hr>
 <div style="text-align:right;">
 	<p>
 		<input type="submit" name="back" value="{msgPool type=backButton}">
diff --git a/gosa-core/plugins/admin/departments/dep_move_confirm.tpl b/gosa-core/plugins/admin/departments/dep_move_confirm.tpl
index 0ca3039..e48b4ac 100644
--- a/gosa-core/plugins/admin/departments/dep_move_confirm.tpl
+++ b/gosa-core/plugins/admin/departments/dep_move_confirm.tpl
@@ -1,8 +1,9 @@
 <div style="font-size:18px;">
- <img alt="" src="images/warning.png" align=top> {t}Warning{/t} - {t}You are currently moving/renaming this department.{/t}
+ {image path="images/warning.png" align="top"} {t}Warning{/t} - {t}You are currently moving/renaming this department.{/t}
+
 </div>
 <p>
-{t}Modifying a departments naming attribute 'ou' or base may corrupt acls and snapshot entries for all entire objects.{/t}
+{t}Modifying a departments naming attribute 'ou' or base may corrupt ACLs and snapshot entries for all entire objects.{/t}
 </p>
 <p>
 {t}GOsa can NOT fix this for you, yet.{/t}
@@ -11,9 +12,10 @@
 {t}Before you confirm this action, ensure that everything will be as expected, possibly the best solution is a backup.{/t} 
 </p>
 
-<p class="plugbottom">
-	<input type='submit' name='dep_move_confirm' value='{msgPool type=saveButton}'>
-  	 
-	<input type='submit' name='cancel_save' value='{msgPool type=cancelButton}'>
-</p>
+<hr>
+<div class="plugin-actions">
+	<button type='submit' name='dep_move_confirm'>{msgPool type=saveButton}</button>
 
+	<button type='submit' name='cancel_save'>{msgPool type=cancelButton}</button>
+
+</div>
diff --git a/gosa-core/plugins/admin/departments/domain.tpl b/gosa-core/plugins/admin/departments/domain.tpl
index a686ed9..284a0cb 100644
--- a/gosa-core/plugins/admin/departments/domain.tpl
+++ b/gosa-core/plugins/admin/departments/domain.tpl
@@ -2,11 +2,11 @@
 	//	LOCALITY (l)
     //////////////////// -->
 
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
+<table summary="{t}Domain{/t}" style="width:100%" cellpadding=4>
  <tr>
-   <td style="vertical-align:top; width:50%">
-     <h2><img class="center" alt="" align="middle" src="images/rightarrow.png"> {t}Properties{/t}</h2>
-     <table summary="">
+   <td style="width:50%">
+     <h3>{t}Properties{/t}</h3>
+     <table summary="{t}Properties{/t}">
       <tr>
        <td><LABEL for="dc">{t}Domain name{/t}</LABEL>{$must}</td>
        <td>
@@ -43,14 +43,17 @@
           title='{$manager}'>
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/edit.png' name='editManager' class='center'>
+        {image path="images/lists/edit.png" action="editManager"}
+
 {/render}
         {if $manager!=""}
 {render acl=$managerACL}
-        <img src='images/info_small.png' title='{$manager}' class='center'>
+        {image path="images/info_small.png" title="{$manager}"}
+
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/trash.png' name='removeManager' class='center'>
+        {image path="images/lists/trash.png" action="removeManager"}
+
 {/render}
         {/if}
      </td>
@@ -60,15 +63,10 @@
   </td>
  </tr>
 </table>
-<p class='seperator'> </p>
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
- <tr>
-   <td style="vertical-align:top; width:100%">
-     <h2><img class="center" alt="" align="middle" src="images/lists/locked.png"> {t}Administrative settings{/t}</h2>
+<hr>
+<h3>{t}Administrative settings{/t}</h3>
 {render acl=$gosaUnitTagACL}
-     <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}><label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
+ <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}>
+ <label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
 {/render}
-   </td>
-  </tr>
-</table>
 <input type='hidden' name='dep_generic_posted' value='1'>
diff --git a/gosa-core/plugins/admin/departments/generic.tpl b/gosa-core/plugins/admin/departments/generic.tpl
index 5e0dd79..3637773 100644
--- a/gosa-core/plugins/admin/departments/generic.tpl
+++ b/gosa-core/plugins/admin/departments/generic.tpl
@@ -1,12 +1,12 @@
 <!--////////////////////
 	//	ORGANIZATIONAL UNIT (ou)
     //////////////////// -->
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
+<table summary="{t}Organizational Unit{/t}" style="width:100%" cellpadding=4>
  <tr>
-   <td style="vertical-align:top; width:50%">
-     <h2><img class="center" alt="" align="middle" src="images/rightarrow.png"> {t}Properties{/t}</h2>
+   <td style="width:50%">
+     <h3>{t}Properties{/t}</h3>
      
-     <table summary="">
+     <table summary="{t}Properties{/t}">
       <tr>
        <td><LABEL for="ou">{t}Name of department{/t}</LABEL>{$must}</td>
        <td>
@@ -16,7 +16,7 @@
        </td>
       </tr>
       <tr>
-       <td style='vertical-align:top;'><LABEL for="description">{t}Description{/t}</LABEL>{$must}</td>
+       <td><LABEL for="description">{t}Description{/t}</LABEL>{$must}</td>
        <td>
 {render acl=$descriptionACL}
         <textarea id='description' name='description' style='width:220px' title="{t}Descriptive text for   department{/t}">{$description}</textarea>
@@ -55,14 +55,17 @@
           title='{$manager}'>
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/edit.png' name='editManager' class='center'>
+        {image path="images/lists/edit.png" action="editManager"}
+
 {/render}
         {if $manager!=""}
 {render acl=$managerACL}
-        <img src='images/info_small.png' title='{$manager}' class='center'>
+        {image path="images/info_small.png" title="{$manager}"}
+
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/trash.png' name='removeManager' class='center'>
+        {image path="images/lists/trash.png" action="removeManager"}
+
 {/render}
         {/if}
      </td>
@@ -72,13 +75,14 @@
      </table>
 
    </td>
-   <td style="border-left:1px solid #A0A0A0">
+   <td class='left-border'>
+
      
    </td>
    <td>
-     <h2><img class="center" alt="" align="middle" src="plugins/departments/images/department.png"> {t}Location{/t}</h2>
+     <h3>{t}Location{/t}</h3>
 
-     <table summary="" style="width:100%">
+     <table summary="{t}Location{/t}" style="width:100%">
       <tr>
        <td><LABEL for="st">{t}State{/t}</LABEL></td>
        <td>
@@ -96,7 +100,7 @@
        </td>
       </tr>
       <tr>
-       <td style="vertical-align:top;"><LABEL for="postalAddress">{t}Address{/t}</LABEL></td>
+       <td><LABEL for="postalAddress">{t}Address{/t}</LABEL></td>
        <td>
 {render acl=$postalAddressACL}
 	<textarea id="postalAddress" name="postalAddress" style="width:100%" rows=3 cols=22 title="{t}Postal address of this subtree{/t}">{$postalAddress}</textarea>
@@ -124,18 +128,12 @@
  </tr>
 </table>
 
-<p class='seperator'> </p>
-
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
- <tr>
-   <td style="vertical-align:top; width:100%">
-     <h2><img class="center" alt="" align="middle" src="images/lists/locked.png"> {t}Administrative settings{/t}</h2>
+<hr>
+<h3>{t}Administrative settings{/t}</h3>
 {render acl=$gosaUnitTagACL}
-     <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}><label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
+ <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}>
+ <label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
 {/render}
-   </td>
-  </tr>
-</table>
 
 <!-- Place cursor -->
 <input type='hidden' name='dep_generic_posted' value='1'>
diff --git a/gosa-core/plugins/admin/departments/locality.tpl b/gosa-core/plugins/admin/departments/locality.tpl
index d847814..b0f9c15 100644
--- a/gosa-core/plugins/admin/departments/locality.tpl
+++ b/gosa-core/plugins/admin/departments/locality.tpl
@@ -2,11 +2,11 @@
 	//	LOCALITY (l)
     //////////////////// -->
 
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
+<table summary="{t}Locality{/t}" style="width:100%" cellpadding=4>
  <tr>
-   <td style="vertical-align:top; width:50%">
-     <h2><img class="center" alt="" align="middle" src="images/rightarrow.png"> {t}Properties{/t}</h2>
-     <table summary="">
+   <td style="width:50%">
+     <h3>{t}Properties{/t}</h3>
+     <table summary="{t}Properties{/t}">
       <tr>
        <td><LABEL for="l">{t}Locality name{/t}</LABEL>{$must}</td>
        <td>
@@ -43,14 +43,17 @@
           title='{$manager}'>
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/edit.png' name='editManager' class='center'>
+        {image path="images/lists/edit.png" action="editManager"}
+
 {/render}
         {if $manager!=""}
 {render acl=$managerACL}
-        <img src='images/info_small.png' title='{$manager}' class='center'>
+        {image path="images/info_small.png" title="{$manager}"}
+
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/trash.png' name='removeManager' class='center'>
+        {image path="images/lists/trash.png" action="removeManager"}
+
 {/render}
         {/if}
      </td>
@@ -60,15 +63,10 @@
   </td>
  </tr>
 </table>
-<p class='seperator'> </p>
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
- <tr>
-   <td style="vertical-align:top; width:100%">
-     <h2><img class="center" alt="" align="middle" src="images/lists/locked.png"> {t}Administrative settings{/t}</h2>
+<hr>
+<h3>{t}Administrative settings{/t}</h3>
 {render acl=$gosaUnitTagACL}
-     <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}><label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
+ <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}>
+ <label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
 {/render}
-   </td>
-  </tr>
-</table>
 <input type='hidden' name='dep_generic_posted' value='1'>
diff --git a/gosa-core/plugins/admin/departments/main.inc b/gosa-core/plugins/admin/departments/main.inc
index b43c189..22eabf4 100644
--- a/gosa-core/plugins/admin/departments/main.inc
+++ b/gosa-core/plugins/admin/departments/main.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: main.inc 14675 2009-10-28 15:53:53Z hickert $$
+ * ID: $$Id: main.inc 19807 2010-09-28 06:00:44Z hickert $$
  *
  * 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
@@ -21,35 +21,35 @@
  */
 
 /* Remove locks created by this plugin
-*/
+ */
 if ($remove_lock){
-  if(session::is_set('departmentManagement')){
-      $macl = session::get('departmentManagement');
-      $macl->remove_lock();
-  }
+    if(session::is_set('departmentManagement')){
+        $macl = session::get('departmentManagement');
+        $macl->remove_lock();
+    }
 }
 
 /* Remove this plugin from session
-*/
+ */
 if ( $cleanup ){
-  session::un_set('departmentManagement');
+    session::un_set('departmentManagement');
 }else{
 
-  /* Create usermanagement object on demand */
-  if (!session::is_set('departmentManagement')){
-    $departmentManagement= new departmentManagement ($config, $ui);
-    session::set('departmentManagement',$departmentManagement);
-  }
-  $departmentManagement = session::get('departmentManagement');
-  $display= $departmentManagement->execute();
+    /* Create usermanagement object on demand */
+    if (!session::is_set('departmentManagement')){
+        $departmentManagement= new departmentManagement ($config, $ui);
+        session::set('departmentManagement',$departmentManagement);
+    }
+    $departmentManagement = session::get('departmentManagement');
+    $display= $departmentManagement->execute();
 
-  /* Reset requested? */
-  if (isset($_GET['reset']) && $_GET['reset'] == 1){
-    session::un_set ('departmentManagement');
-  }
+    /* Reset requested? */
+    if (isset($_GET['reset']) && $_GET['reset'] == 1){
+        session::un_set ('departmentManagement');
+    }
 
-  /* Show and save dialog */
-  session::set('departmentManagement',$departmentManagement);
+    /* Show and save dialog */
+    session::set('departmentManagement',$departmentManagement);
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/departments/organization.tpl b/gosa-core/plugins/admin/departments/organization.tpl
index 8ee12f9..9a8df18 100644
--- a/gosa-core/plugins/admin/departments/organization.tpl
+++ b/gosa-core/plugins/admin/departments/organization.tpl
@@ -1,12 +1,12 @@
 <!--////////////////////
 	//	ORGANIZATION (o)
     //////////////////// -->
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
+<table summary="{t}Organization{/t}" style="width:100%" cellpadding=4>
  <tr>
-   <td style="vertical-align:top; width:50%">
-     <h2><img class="center" alt="" align="middle" src="images/rightarrow.png"> {t}Properties{/t}</h2>
+   <td style="width:50%">
+     <h3>{t}Properties{/t}</h3>
      
-     <table summary="">
+     <table summary="{t}Properties{/t}">
       <tr>
        <td><LABEL for="o">{t}Name of organization{/t}</LABEL>{$must}</td>
        <td>
@@ -55,14 +55,17 @@
           title='{$manager}'>
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/edit.png' name='editManager' class='center'>
+        {image path="images/lists/edit.png" action="editManager"}
+
 {/render}
         {if $manager!=""}
 {render acl=$managerACL}
-        <img src='images/info_small.png' title='{$manager}' class='center'>
+        {image path="images/info_small.png" title="{$manager}"}
+
 {/render}
 {render acl=$managerACL}
-        <input type='image' src='images/lists/trash.png' name='removeManager' class='center'>
+        {image path="images/lists/trash.png" action="removeManager"}
+
 {/render}
         {/if}
      </td>
@@ -71,11 +74,12 @@
      </table>
 
    </td>
-   <td style="border-left:1px solid #A0A0A0">
+   <td class='left-border'>
+
      
    </td>
    <td>
-     <h2><img class="center" alt="" align="middle" src="plugins/departments/images/department.png"> {t}Location{/t}</h2>
+     <h3>{t}Location{/t}</h3>
 
      <table summary="" style="width:100%">
       <tr>
@@ -95,7 +99,7 @@
        </td>
       </tr>
       <tr>
-       <td style="vertical-align:top;"><LABEL for="postalAddress">{t}Address{/t}</LABEL></td>
+       <td><LABEL for="postalAddress">{t}Address{/t}</LABEL></td>
        <td>
 {render acl=$postalAddressACL}
 	<textarea id="postalAddress" name="postalAddress" style="width:100%" rows=3 cols=22 title="{t}Postal address of this subtree{/t}">{$postalAddress}</textarea>
@@ -123,18 +127,13 @@
  </tr>
 </table>
 
-<p class='seperator'> </p>
+<hr>
 
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
- <tr>
-   <td style="vertical-align:top; width:100%">
-     <h2><img class="center" alt="" align="middle" src="images/lists/locked.png"> {t}Administrative settings{/t}</h2>
+<h3>{t}Administrative settings{/t}</h3>
 {render acl=$gosaUnitTagACL}
-     <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}><label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
+ <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}>
+ <label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
 {/render}
-   </td>
-  </tr>
-</table>
 
 <!-- Place cursor -->
 <input type='hidden' name='dep_generic_posted' value='1'>
diff --git a/gosa-core/plugins/admin/departments/remove.tpl b/gosa-core/plugins/admin/departments/remove.tpl
deleted file mode 100644
index 7fd2cf1..0000000
--- a/gosa-core/plugins/admin/departments/remove.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-<div style="font-size:18px;">
- <img alt="" src="images/warning.png" align=top> {t}Warning{/t}
-</div>
-<p>
- {$info}
- {t}This includes 'all' accounts, systems, etc. in this subtree. Please double check if your really want to do this since there is no way for GOsa to get your data back.{/t}
-</p>
-
-<p>
- {t}Best thing to do before performing this action would be to save the current contents of your LDAP tree in a file. So - if you've done so - press 'Delete' to continue or 'Cancel' to abort.{/t}
-</p>
-
-<p class="plugbottom">
-	<input type=submit name="delete_confirmed" value="{msgPool type=delButton}">
-	 
-	<input type=submit name="delete_cancel" value="{msgPool type=cancelButton}">
-</p>
-
diff --git a/gosa-core/plugins/admin/departments/tabs_department.inc b/gosa-core/plugins/admin/departments/tabs_department.inc
index 61b5ae1..fdc23d4 100644
--- a/gosa-core/plugins/admin/departments/tabs_department.inc
+++ b/gosa-core/plugins/admin/departments/tabs_department.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: tabs_department.inc 14990 2009-12-30 17:14:01Z hickert $$
+ * ID: $$Id: tabs_department.inc 18806 2010-06-01 07:39:09Z hickert $$
  *
  * 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
@@ -60,6 +60,11 @@ class deptabs extends tabs
     $nAV      = preg_replace('/"/', '\"', $nAV); 
     $new_dn   = @LDAP::convert($namingAttr.'='.$nAV.','.$baseobject->base);
 
+    // Do not try to move the root DSE
+    if($baseobject->is_root_dse){
+      $new_dn = $baseobject->orig_dn;
+    }
+
     /* Move group? */
     if ($this->dn != $new_dn && $this->dn != "new"){
       $baseobject->move($this->dn,$new_dn);
@@ -75,7 +80,7 @@ class deptabs extends tabs
     $this->dn= $new_dn;
     $baseobject->dn= $this->dn;
     if (!$ignore_account){
-      tabs::save(TRUE);
+      tabs::save();
     }
   }
 }
diff --git a/gosa-core/plugins/admin/groups/class_filterGroupLDAP.inc b/gosa-core/plugins/admin/groups/class_filterGroupLDAP.inc
index 31bd5bf..d5c396b 100644
--- a/gosa-core/plugins/admin/groups/class_filterGroupLDAP.inc
+++ b/gosa-core/plugins/admin/groups/class_filterGroupLDAP.inc
@@ -2,51 +2,51 @@
 
 class filterGroupLDAP {
 
-  static function query($parent,$base, $scope, $filter, $attributes, $category, $objectStorage= "")
-  {
-    $result= array();
-    $menu= array();
-    $dn2index= array();
-    $config= session::global_get('config');
-    $ldap= $config->get_ldap_link(TRUE);
-    $flag= ($scope == "sub")?GL_SUBSEARCH:0;
-    $tmp= filterGroupLDAP::get_list($parent,$base, $filter, $attributes, $category, $objectStorage, $flag | GL_SIZELIMIT);
-
-    // Sort out menu entries, but save info
-    $index= 0;
-    foreach ($tmp as $entry) {
-      if (in_array_ics("posixGroup", $entry['objectClass'])) {
-        $result[$index]= $entry;
-        $dn2index[$entry['dn']]= $index;
-        $index++;
-      } else {
-        foreach ($objectStorage as $storage) {
-          $group= preg_replace("/^.*,([^,]+),".preg_quote("$storage$base")."$/", '$1', $entry['dn']);
-          $group= "$group,$storage$base";
-
-          // The current group implementation has no multiple storage settings - so break here
-          break;
+    static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "")
+    {
+        $result= array();
+        $menu= array();
+        $dn2index= array();
+        $config= session::global_get('config');
+        $ldap= $config->get_ldap_link(TRUE);
+        $flag= ($scope == "sub")?GL_SUBSEARCH:0;
+        $tmp= filterGroupLDAP::get_list($base, $filter, $attributes, $category, $objectStorage, $flag | GL_SIZELIMIT);
+
+        // Sort out menu entries, but save info
+        $index= 0;
+        foreach ($tmp as $entry) {
+            if (in_array_ics("posixGroup", $entry['objectClass'])) {
+                $result[$index]= $entry;
+                $dn2index[$entry['dn']]= $index;
+                $index++;
+            } else {
+                foreach ($objectStorage as $storage) {
+                    $group= preg_replace("/^.*,([^,]+),".preg_quote("$storage$base")."$/", '$1', $entry['dn']);
+                    $group= "$group,$storage$base";
+
+                    // The current group implementation has no multiple storage settings - so break here
+                    break;
+                }
+                $menu[$group]= true;
+            }
         }
-        $menu[$group]= true;
-      }
-    }
 
-    // Move menu information to menu
-    foreach ($menu as $dn => $dummy) {
-      if(isset($dn2index[$dn])){
-        $result[$dn2index[$dn]]["objectClass"][]= "gotoMenuGroup";
-      }
-    }
+        // Move menu information to menu
+        foreach ($menu as $dn => $dummy) {
+            if(isset($dn2index[$dn])){
+                $result[$dn2index[$dn]]["objectClass"][]= "gotoMenuGroup";
+            }
+        }
 
-    return $result;
-  }
+        return $result;
+    }
 
 
-  static function get_list($parent,$base, $filter, $attributes, $category, $objectStorage, $flags= GL_SUBSEARCH)
-  {
-    $filter= "(|(|(objectClass=gotoMenuEntry)(objectClass=gotoSubmenuEntry))$filter)";
-    return filterLDAP::get_list($parent,$base, $filter, $attributes, $category, $objectStorage, $flags);
-  }
+    static function get_list($base, $filter, $attributes, $category, $objectStorage, $flags= GL_SUBSEARCH)
+    {
+        $filter= "(|(|(objectClass=gotoMenuEntry)(objectClass=gotoSubmenuEntry))$filter)";
+        return filterLDAP::get_list($base, $filter, $attributes, $category, $objectStorage, $flags);
+    }
 
 
 }
diff --git a/gosa-core/plugins/admin/groups/class_group.inc b/gosa-core/plugins/admin/groups/class_group.inc
index d7ca5cf..94d5425 100644
--- a/gosa-core/plugins/admin/groups/class_group.inc
+++ b/gosa-core/plugins/admin/groups/class_group.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_group.inc 18853 2010-06-07 12:28:28Z hickert $$
+ * ID: $$Id: class_group.inc 20429 2010-11-30 16:54:57Z cajus $$
  *
  * 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
@@ -22,1411 +22,1302 @@
 
 class group extends plugin
 {
-  /* Group attributes */
-  var $cn= "";
-  var $description= "";
-  var $gidNumber= "";
-  var $memberUid= array();
-  var $memberUid_used_by_some= array();
-
-  /* Helpers */
-  var $base= "";
-  var $force_gid= FALSE;
-  var $fon_group= FALSE;
-  var $smbgroup= FALSE;
-  var $groupType= FALSE;
-  var $sambaSID= "";
-  var $sambaDomainName= "DEFAULT";
-  var $SID= "";
-  var $ridBase= 0;
-  var $members= array();
-  var $users= array();
-  var $member= array();
-  var $allusers= array();
-  var $saved_gidNumber= "";
-  var $oldgroupType= "";
-  var $orig_dn= "";
-  var $orig_cn= "";
-  var $orig_base= "";
-  var $has_mailAccount= FALSE;
-  var $userSelect= FALSE;
-  var $nagios_group =FALSE;
-  var $sambaGroupType;
-  var $dialog;
-  var $rfc2307bis= FALSE;
-  var $OnlyShowFirstEntries =200;
-  var $dnMapping= array();
-  var $view_logged = FALSE;
-  var $allowGroupsWithSameNameInOtherSubtrees = true;
-  var $baseSelector;
-
-  /* Trustmodel/AccessTo 
-   */
-  var $accessTo= array();
-  var $trustModel= "";
-  var $trustSelect = FALSE;
-
-  /* attribute list for save action */
-  var $attributes= array("cn", "description", "gidNumber","memberUid","sambaGroupType","sambaSID","accessTo","trustModel");
-  var $objectclasses= array("top", "posixGroup");
-
-  var $CopyPasteVars  = array("force_gid","fon_group","smbgroup","groupType","sambaSID","sambaDomainName","SID","nagios_group","sambaGroupType");
-
-  var $multiple_support = TRUE;
-
-  function group (&$config, $dn= NULL)
-  {
-     /* Set rfc2307bis flag */
-     if ($config->get_cfg_value("rfc2307bis") == "true"){
-       $this->rfc2307bis= TRUE;
-       $this->attributes[]= "member";
-       $this->objectclasses[]= "groupOfNames";
-     }
-
-    plugin::plugin ($config, $dn);
-
-    /* Load attributes depending on the samba version */
-    $this->orig_dn= $dn;
-    $this->orig_cn= $this->cn;
-
-    /* Get member list */
-    if (isset($this->attrs['memberUid'][0])){
-      $tmp= array();
-      for ($i= 0; $i<$this->attrs['memberUid']['count']; $i++){
-        $tmp[$this->attrs['memberUid'][$i]]= $this->attrs['memberUid'][$i];
-      }
-      $this->memberUid= $tmp;
-      ksort ($this->memberUid);
-    }
+    /* Group attributes */
+    var $cn= "";
+    var $description= "";
+    var $gidNumber= "";
+    var $memberUid= array();
+    var $memberUid_used_by_some= array();
+
+    /* Helpers */
+    var $base= "";
+    var $force_gid= FALSE;
+    var $fon_group= FALSE;
+    var $smbgroup= FALSE;
+    var $groupType= FALSE;
+    var $sambaSID= "";
+    var $sambaDomainName= "DEFAULT";
+    var $SID= "";
+    var $ridBase= 0;
+    var $members= array();
+    var $users= array();
+    var $member= array();
+    var $allusers= array();
+    var $saved_gidNumber= "";
+    var $oldgroupType= "";
+    var $orig_dn= "";
+    var $orig_cn= "";
+    var $orig_base= "";
+    var $has_mailAccount= FALSE;
+    var $userSelect= FALSE;
+    var $nagios_group =FALSE;
+    var $sambaGroupType;
+    var $dialog;
+    var $rfc2307bis= FALSE;
+    var $OnlyShowFirstEntries =200;
+    var $dnMapping= array();
+    var $view_logged = FALSE;
+    var $allowGroupsWithSameNameInOtherSubtrees = true;
+    var $baseSelector;
+
+    /* attribute list for save action */
+    var $attributes= array("cn", "description", "gidNumber","memberUid","sambaGroupType","sambaSID");
+    var $objectclasses= array("top", "posixGroup");
+
+    var $CopyPasteVars  = array("force_gid","fon_group","smbgroup","groupType","sambaSID","sambaDomainName","SID","nagios_group","sambaGroupType");
+
+    var $multiple_support = TRUE;
+
+
+    // Lists 
+    private $memberList;    // Single group editing
+    private $commonList;    // (Multiple support active)
+    private $partialList;   // (Multiple support active)
+
+
+    function group (&$config, $dn= NULL)
+    {
+        /* Set rfc2307bis flag */
+        if ($config->get_cfg_value("core","rfc2307bis") == "true"){
+            $this->rfc2307bis= TRUE;
+            $this->attributes[]= "member";
+            $this->objectclasses[]= "groupOfNames";
+        }
 
-    /* Save gidNumber for later use */
-    if (isset($this->attrs['gidNumber'])){
-      $this->saved_gidNumber= $this->attrs['gidNumber'][0];
-    }
+        plugin::plugin ($config, $dn);
 
-    /* Is a samba group? */
-    if (isset($this->attrs['objectClass'])){
-      if (array_search ('sambaGroupMapping', $this->attrs['objectClass']) == FALSE ){
-        $this->smbgroup= FALSE;
-      } else {
-        $this->smbgroup= TRUE;
-        if (isset($this->attrs['sambaSID'])){
-          $this->sambaSID= $this->attrs['sambaSID'][0];
-        }
-      }
-      if (array_search ('goFonPickupGroup', $this->attrs['objectClass']) == FALSE ){
-        $this->fon_group= FALSE;
-      } else {
-        $this->fon_group= TRUE;
-      }
-      if (array_search ('nagiosContactGroup', $this->attrs['objectClass']) == FALSE ){
-        $this->nagios_group= FALSE;
-      } else {
-        $this->nagios_group= TRUE;
-      }
-    }
+        $this->trustModeDialog = new trustModeDialog($this->config, $this->dn,NULL);
+        $this->trustModeDialog->setAcl('groups/group');
 
-    /* Set mail flag */
-    if (isset($this->attrs['objectClass']) && in_array('gosaMailAccount', $this->attrs['objectClass'])){
-      $this->has_mailAccount= TRUE;
-    }
+        /* Load attributes depending on the samba version */
+        $this->orig_dn= $dn;
+        $this->orig_cn= $this->cn;
 
-    /* Get samba Domain in case of samba 3 */
-    if ($this->sambaSID != ""){
-      $this->SID= preg_replace ("/-[^-]+$/", "", $this->sambaSID);
-      $ldap= $this->config->get_ldap_link();
-      $ldap->cd($this->config->current['BASE']);
-      $ldap->search ("(&(objectClass=sambaDomain)(sambaSID=$this->SID))",array("sambaAlgorithmicRidBase"));
-      if ($ldap->count() != 0){
-        $attrs= $ldap->fetch();
-        if(isset($attrs['sambaAlgorithmicRidBase'])){  
-          $this->ridBase= $attrs['sambaAlgorithmicRidBase'][0];  
-        } else {  
-          $this->ridBase= $this->config->get_cfg_value("sambaRidBase");
-        } 
+        /* Get member list */
+        if (isset($this->attrs['memberUid'][0])){
+            $tmp= array();
+            for ($i= 0; $i<$this->attrs['memberUid']['count']; $i++){
+                $tmp[$this->attrs['memberUid'][$i]]= $this->attrs['memberUid'][$i];
+            }
+            $this->memberUid= $tmp;
+            ksort ($this->memberUid);
+        }
 
-        /* Get domain name for SID */
-        $this->sambaDomainName= "DEFAULT";
-        foreach ($this->config->data['SERVERS']['SAMBA'] as $key => $val){
-          if ($val['SID'] == $this->SID){
-            $this->sambaDomainName= $key;
-            break;
-          }
-        }
-      } else {
-        if ($this->config->get_cfg_value("sambaRidBase") != ""){
-          $this->sambaDomainName= "DEFAULT";
-          $this->ridBase= $this->config->get_cfg_value("sambaRidBase");
-          $this->SID= $this->config->get_cfg_value("sid");
-        } else {
-          msg_dialog::display(_("Configuration error"), _("Cannot find group SID in your configuration!"), ERROR_DIALOG);
+        /* Save gidNumber for later use */
+        if (isset($this->attrs['gidNumber'])){
+            $this->saved_gidNumber= $this->attrs['gidNumber'][0];
         }
-      }
 
-      /* Get group type */
-      $this->groupType= (int)substr(strrchr($this->sambaSID, "-"), 1);
-      if ($this->groupType < 500 || $this->groupType > 553){
-        $this->groupType= 0;
-      }
-      $this->oldgroupType= $this->groupType;
-    }
+        /* Is a samba group? */
+        if (isset($this->attrs['objectClass'])){
+            if (array_search ('sambaGroupMapping', $this->attrs['objectClass']) == FALSE ){
+                $this->smbgroup= FALSE;
+            } else {
+                $this->smbgroup= TRUE;
+                if (isset($this->attrs['sambaSID'])){
+                    $this->sambaSID= $this->attrs['sambaSID'][0];
+                }
+            }
+            if (array_search ('goFonPickupGroup', $this->attrs['objectClass']) == FALSE ){
+                $this->fon_group= FALSE;
+            } else {
+                $this->fon_group= TRUE;
+            }
+            if (array_search ('nagiosContactGroup', $this->attrs['objectClass']) == FALSE ){
+                $this->nagios_group= FALSE;
+            } else {
+                $this->nagios_group= TRUE;
+            }
+        }
 
-    /* Get global filter config */
-    if (!session::is_set("gufilter")){
-      $ui= get_userinfo();
-      $base= get_base_from_people($ui->dn);
-      $gufilter= array( "dselect"       => $base,
-          "regex"           => "*");
-      session::set("gufilter", $gufilter);
-    }
-    $gufilter= session::get('gufilter');
-    $gufilter['SubSearchGroup'] = false;
-    session::set('gufilter',$gufilter);
-  
-    if ($this->dn == "new"){
-      if(session::is_set('CurrentMainBase')){
-        $this->base = session::get('CurrentMainBase');
-      }else{
-        $ui= get_userinfo();
-        $this->base= dn2base($ui->dn);
-      }
-    } else {
-
-      /* Get object base */
-      $this->base =preg_replace ("/^[^,]+,".preg_quote(get_groups_ou(), '/')."/i","",$this->dn);
-    }
-    $this->orig_base = $this->base;
-
-    /* Is this account a trustAccount? */
-    if (isset($this->attrs['trustModel'])){
-      $this->trustModel= $this->attrs['trustModel'][0];
-      $this->was_trust_account= TRUE;
-    } else {
-      $this->was_trust_account= FALSE;
-      $this->trustModel= "";
-    }
+        /* Set mail flag */
+        if (isset($this->attrs['objectClass']) && in_array('gosaMailAccount', $this->attrs['objectClass'])){
+            $this->has_mailAccount= TRUE;
+        }
 
-    $this->accessTo = array();
-    if (isset($this->attrs['accessTo'])){
-      for ($i= 0; $i<$this->attrs['accessTo']['count']; $i++){
-        $tmp= $this->attrs['accessTo'][$i];
-        $this->accessTo[$tmp]= $tmp;
-      }
-    }
+        /* Get samba Domain in case of samba 3 */
+        if ($this->sambaSID != ""){
+            $this->SID= preg_replace ("/-[^-]+$/", "", $this->sambaSID);
+            $ldap= $this->config->get_ldap_link();
+            $ldap->cd($this->config->current['BASE']);
+            $ldap->search ("(&(objectClass=sambaDomain)(sambaSID=$this->SID))",array("sambaAlgorithmicRidBase"));
+            if ($ldap->count() != 0){
+                $attrs= $ldap->fetch();
+                if(isset($attrs['sambaAlgorithmicRidBase'])){  
+                    $this->ridBase= $attrs['sambaAlgorithmicRidBase'][0];  
+                } else {  
+                    $this->ridBase= $this->config->get_cfg_value("core","sambaRidBase");
+                } 
+
+                /* Get domain name for SID */
+                $this->sambaDomainName= "DEFAULT";
+                foreach ($this->config->data['SERVERS']['SAMBA'] as $key => $val){
+                    if ($val['SID'] == $this->SID){
+                        $this->sambaDomainName= $key;
+                        break;
+                    }
+                }
+            } else {
+                if ($this->config->get_cfg_value("core","sambaRidBase") != ""){
+                    $this->sambaDomainName= "DEFAULT";
+                    $this->ridBase= $this->config->get_cfg_value("core","sambaRidBase");
+                    $this->SID= $this->config->get_cfg_value("core","sambaSID");
+                } else {
+                    msg_dialog::display(_("Configuration error"), _("Cannot find group SID in your configuration!"), ERROR_DIALOG);
+                }
+            }
+
+            /* Get group type */
+            $this->groupType= (int)substr(strrchr($this->sambaSID, "-"), 1);
+            if ($this->groupType < 500 || $this->groupType > 553){
+                $this->groupType= 0;
+            }
+            $this->oldgroupType= $this->groupType;
+        }
 
-    /* Get global filter config */
-    if (!session::is_set("sysfilter")){
-      $ui= get_userinfo();
-      $base= get_base_from_people($ui->dn);
-      $sysfilter= array( "depselect"       => $base,
-          "regex"           => "*");
-      session::set("sysfilter", $sysfilter);
-    }
+        if ($this->dn == "new"){
+            if(session::is_set('CurrentMainBase')){
+                $this->base = session::get('CurrentMainBase');
+            }else{
+                $ui= get_userinfo();
+                $this->base= dn2base($ui->dn);
+            }
+        } else {
 
-    /* This is always an account */
-    $this->is_account= TRUE;
+            /* Get object base */
+            $this->base =preg_replace ("/^[^,]+,".preg_quote(get_groups_ou(), '/')."/i","",$this->dn);
+        }
+        $this->orig_base = $this->base;
 
-    /* Instanciate base selector */
-    $this->baseSelector= new baseSelector($this->get_allowed_bases(), $this->base);
-    $this->baseSelector->setSubmitButton(false);
-    $this->baseSelector->setHeight(300);
-    $this->baseSelector->update(true);
+        /* This is always an account */
+        $this->is_account= TRUE;
 
-    $this->reload(TRUE);
-  }
+        /* Instanciate base selector */
+        $this->baseSelector= new baseSelector($this->get_allowed_bases(), $this->base);
+        $this->baseSelector->setSubmitButton(false);
+        $this->baseSelector->setHeight(300);
+        $this->baseSelector->update(true);
 
-  function execute()
-  {
-    /* Call parent execute */
-    plugin::execute();
 
-    /* Log view */
-    if($this->is_account && !$this->view_logged){
-      $this->view_logged = TRUE;
-      new log("view","groups/".get_class($this),$this->dn);
-    }
 
-    /* Do we represent a valid group? */
-    if (!$this->is_account && $this->parent === NULL){
-      $display= "<img alt=\"\" src=\"images/small-error.png\" align=\"middle\"> <b>".msgPool::noValidExtension()."</b>";
-      return ($display);
-    }
+        // Prepare lists
+        $this->memberList = new sortableListing();
+        $this->memberList->setDeleteable(true);
+        $this->memberList->setInstantDelete(true);
+        $this->memberList->setEditable(false);
+        $this->memberList->setWidth("100%");
+        $this->memberList->setHeight("300px");
+        $this->memberList->setHeader(array('~',_("Given name"),_("Surname"),_("UID")));
+        $this->memberList->setColspecs(array('20px','*','*','*','20px'));
+        $this->memberList->setDefaultSortColumn(1);
 
-    /* Delete user from group */
-    if (isset($_POST['del_users']) && isset($_POST['members']) && preg_match("/w/",$this->getacl("memberUid"))){
-      foreach ($_POST['members'] as $value){
-        unset ($this->members["$value"]);
-        $this->removeUser($value);
-      }
-      $this->reload();
+        $this->reload(TRUE);
     }
 
-    /* Add objects? */
-    if (isset($_POST["edit_membership"]) && preg_match("/w/",$this->getacl("memberUid"))){
-      $this->userSelect= new userSelect($this->config, get_userinfo());
-      $this->dialog= TRUE;
-    }
+    function execute()
+    {
+        /* Call parent execute */
+        plugin::execute();
 
-    /* Add objects finished? */
-    if (isset($_POST["add_users_cancel"])){
-      $this->userSelect= NULL;
-      $this->dialog= FALSE;
-    }
+        /* Log view */
+        if($this->is_account && !$this->view_logged){
+            $this->view_logged = TRUE;
+            new log("view","groups/".get_class($this),$this->dn);
+        }
 
-    /* Add user to group */
-    if (isset($_POST['add_users_finish']) && $this->userSelect){
-  
-      $users = $this->userSelect->detectPostActions();
-      if(isset($users['targets'])){
-        $headpage = $this->userSelect->getHeadpage();
-        foreach($users['targets'] as $dn){
-          $attrs = $headpage->getEntry($dn);
-          $value = $attrs['uid'][0];
-          $this->addUser($value);
-          $this->members["$value"]= $this->allusers[$value];
-          $this->reload();
-        }
-      }
-      $this->userSelect= NULL;
-      $this->dialog= FALSE;
-    }
+        /* Do we represent a valid group? */
+        if (!$this->is_account && $this->parent === NULL){
+            $display= "<img alt=\"\" src=\"images/small-error.png\" align=\"middle\"> <b>".msgPool::noValidExtension()."</b>";
+            return ($display);
+        }
 
-    /* Dialog handling */
-    if(is_object($this->dialog)){
-      /* Must be called before save_object */
-      $this->dialog->save_object();
+        // Act on list events 
+        foreach(array('memberList','commonList','partialList') as $list){
+
+            // Check if list is available, depends on multi- or sinlge- group editing. 
+            if($this->$list){
+                $this->$list->save_object();
+                $action = $this->$list->getAction();
+                if($action['action'] == 'delete' && preg_match("/w/",$this->getacl("memberUid"))){
+                    foreach ($action['targets'] as $id){
+                        $value = $this->$list->getKey($id);
+                        unset ($this->members["$value"]);
+                        $this->removeUser($value);
+                    }
+                    $this->reload();
+                }
+            }
+        }
 
-      if($this->dialog->isClosed()){
-        $this->dialog = false;
-      }elseif($this->dialog->isSelected()){
+        /* Add objects? */
+        if (isset($_POST["edit_membership"]) && preg_match("/w/",$this->getacl("memberUid"))){
+            $this->userSelect= new userSelect($this->config, get_userinfo());
+        }
 
-        /* Check if selected base is valid */
-        $tmp = $this->get_allowed_bases();
-        if(isset($tmp[$this->dialog->isSelected()])){
-          $this->base = $this->dialog->isSelected();
+        /* Add objects finished? */
+        if (isset($_POST["add_users_cancel"])){
+            $this->userSelect= NULL;
         }
-        $this->dialog= false;
-      }else{
-        return($this->dialog->execute());
-      }
-    }
 
+        /* Add user to group */
+        if (isset($_POST['add_users_finish']) && $this->userSelect){
+
+            $users = $this->userSelect->detectPostActions();
+            if(isset($users['targets'])){
+                $headpage = $this->userSelect->getHeadpage();
+                foreach($users['targets'] as $dn){
+                    $attrs = $headpage->getEntry($dn);
+                    $value = $attrs['uid'][0];
+                    $this->addUser($value);
+                    $this->members["$value"]= $this->allusers[$value];
+                    $this->reload();
+                }
+            }
+            $this->userSelect= NULL;
+        }
 
-    /* Add user workstation? */
-    if (isset($_POST["add_ws"])){
-      $this->trustSelect= new trustSelect($this->config,get_userinfo());
-      $this->dialog= TRUE;
-    }
+        $smarty= get_smarty();
 
-    // Add selected machines to trusted ones.
-    if (isset($_POST["add_ws_finish"]) &&  $this->trustSelect){
-      $trusts = $this->trustSelect->detectPostActions();
-      if(isset($trusts['targets'])){
-
-        $headpage = $this->trustSelect->getHeadpage();
-        foreach($trusts['targets'] as $id){
-          $attrs = $headpage->getEntry($id);
-          $this->accessTo[$attrs['cn'][0]]= $attrs['cn'][0];
-        }
-        ksort($this->accessTo);
-        $this->is_modified= TRUE;
-      }
-      $this->trustSelect= NULL;
-      $this->dialog= FALSE;
-    }
+        // Handle trust mode dialog
+        $this->dialog = FALSE;
+        $trustModeDialog = $this->trustModeDialog->execute();
+        if($this->trustModeDialog->trustSelect){
+            $this->dialog = TRUE;
+            return($trustModeDialog);
+        }
+        $smarty->assign("trustModeDialog" , $trustModeDialog);
 
 
-    /* Add user workstation? */
-    if (isset($_POST["add_ws_finish"]) && isset($_POST['wslist'])){
-      foreach($_POST['wslist'] as $ws){
-        $this->accessTo[$ws]= $ws;
-      }
-      ksort($this->accessTo);
-      $this->is_modified= TRUE;
-    }
 
-    /* Remove user workstations? */
-    if (isset($_POST["delete_ws"]) && isset($_POST['workstation_list'])){
-      foreach($_POST['workstation_list'] as $name){
-        unset ($this->accessTo[$name]);
-      }
-      $this->is_modified= TRUE;
-    }
+        $smarty->assign("nagios", $this->config->pluginEnabled("nagiosAccount") && class_available("nagiosAccount"));
+        $smarty->assign("pickupGroup", $this->config->pluginEnabled("phoneAccount") && class_available("phoneAccount"));
 
-    /* Add user workstation finished? */
-    if (isset($_POST["add_ws_cancel"])){
-      $this->trustSelect= NULL;
-      $this->dialog= FALSE;
-    }
+        /* Manage object add dialog */
+        if ($this->userSelect){
+            $this->dialog = TRUE;
+            return($this->userSelect->execute());
+        }
 
+        /* Create base acls */
+        $smarty->assign("base", $this->baseSelector->render());
 
-    /* Show ws dialog */
-    if ($this->trustSelect){
-    
-      // Build up blocklist
-      session::set('filterBlacklist', array('cn' => array_values($this->accessTo)));
-      return($this->trustSelect->execute());
-    }
+        $domains= array();
+        foreach($this->config->data['SERVERS']['SAMBA'] as $name => $content){
+            $domains[$name]= $name;
+        }
+        $smarty->assign("sambaDomains",     set_post($domains));
+        $smarty->assign("sambaDomainName",  set_post($this->sambaDomainName));
+        $groupTypes= array(0 => _("Samba group"), 512 => _("Domain administrators"), 513 => _("Domain users"),
+                514 => _("Domain guests"));
+
+        /* Don't loose special groups! If not key'ed above, add it to
+           the combo box... */	
+        if ($this->groupType >= 500 && $this->groupType <= 553 && !isset($groupTypes[$this->groupType])){
+            $groupTypes[$this->groupType]= sprintf(_("Special group (%d)"), $this->groupType);
+        }
 
-    $smarty= get_smarty();
-    $smarty->assign("usePrototype", "true");
+        $smarty->assign("groupTypes", set_post($groupTypes));
+        $smarty->assign("groupType",  set_post($this->groupType));
+
+
+        /* Members and users */
+        if(!$this->multiple_support_active){
+            $this->memberList->setAcl($this->getacl("memberUid"));
+            $data = $lData = array();
+            foreach($this->members as $uid => $member){
+                $data[$uid] = $member;
+                $givenName = $sn = _("Unknown");
+                if(isset($member['sn'][0])) $sn = $member['sn'][0];
+                if(isset($member['givenName'][0])) $givenName = $member['givenName'][0];
+                $image = image('images/false.png');
+                if(isset($member['sn'])){
+                    $image = image('plugins/users/images/select_user.png');
+                }
+                $lData[$uid] = array('data' => array($image,$sn, $givenName, $uid));
+            }
+            $this->memberList->setListData($data,$lData);
+            $this->memberList->update();
+            $smarty->assign("memberList", $this->memberList->render());
+        }else{
+
+            $this->commonList->setAcl($this->getacl("memberUid"));
+            $this->partialList->setAcl($this->getacl("memberUid"));
+
+            $data = $lData = array();
+            foreach($this->memberUid as $uid => $member){
+                $member = $this->members[$member];
+                $data[$uid] = $member;
+                $givenName = $sn = _("Unknown");
+                if(isset($member['sn'][0])) $sn = $member['sn'][0];
+                if(isset($member['givenName'][0])) $givenName = $member['givenName'][0];
+                $image = image('images/false.png');
+                if(isset($member['sn'])){
+                    $image = image('plugins/users/images/select_user.png');
+                }
+                $lData[$uid] = array('data' => array($image,$sn, $givenName, $uid));
+            }
+            $this->commonList->setListData($data,$lData);
+            $this->commonList->update();
+            $smarty->assign("commonList", $this->commonList->render());
+
+            $data = $lData = array();
+            foreach($this->memberUid_used_by_some as $uid => $member){
+                $member = $this->members[$member];
+                $data[$uid] = $member;
+                $givenName = $sn = _("Unknown");
+                if(isset($member['sn'][0])) $sn = $member['sn'][0];
+                if(isset($member['givenName'][0])) $givenName = $member['givenName'][0];
+                $image = image('images/false.png');
+                if(isset($member['sn'])){
+                    $image = image('plugins/users/images/select_user.png');
+                }
+                $lData[$uid] = array('data' => array($image,$sn, $givenName, $uid));
+            }
+            $this->partialList->setListData($data,$lData);
+            $this->partialList->update();
+            $smarty->assign("partialList", $this->partialList->render());
+        }
 
-    if($this->config->search("nagiosaccount", "CLASS",array('menu'))){
-      $smarty->assign("nagios",true);
-    }else{
-      $smarty->assign("nagios",false);
-    }
-    
-    if($this->config->search("phoneAccount", "CLASS",array('menu'))){
-      $smarty->assign("pickupGroup",true);
-    }else{
-      $smarty->assign("pickupGroup",false);
-    }
+        /* Checkboxes */
+        foreach (array("force_gid", "smbgroup") as $val){
+            if ($this->$val == "1"){
+                $smarty->assign("$val", "checked");
+            } else {
+                $smarty->assign("$val", "");
+            }
+        }
+        if ($this->force_gid != "1"){
+            $smarty->assign("forceMode", "disabled");
+        }else{
+            $smarty->assign("forceMode", "");
+        }
+        if ($this->fon_group){
+            $smarty->assign("fon_group", "checked");
+        } else {
+            $smarty->assign("fon_group", "");
+        }
 
-    /* Manage object add dialog */
-    if ($this->userSelect){
-      return($this->userSelect->execute());
-    }
+        if ($this->nagios_group){
+            $smarty->assign("nagios_group", "checked");
+        } else {
+            $smarty->assign("nagios_group", "");
+        }
 
-    /* Create base acls */
-    $smarty->assign("base", $this->baseSelector->render());
+        /* Fields */
+        foreach (array("cn", "description", "gidNumber") as $val){
+            $smarty->assign("$val", set_post($this->$val));
+        }
 
-    $domains= array();
-    foreach($this->config->data['SERVERS']['SAMBA'] as $name => $content){
-      $domains[$name]= $name;
-    }
-    $smarty->assign("sambaDomains", $domains);
-    $smarty->assign("sambaDomainName", $this->sambaDomainName);
-    $groupTypes= array(0 => _("Samba group"), 512 => _("Domain admins"), 513 => _("Domain users"),
-        514 => _("Domain guests"));
-
-    /* Don't loose special groups! If not key'ed above, add it to
-       the combo box... */	
-    if ($this->groupType >= 500 && $this->groupType <= 553 && !isset($groupTypes[$this->groupType])){
-      $groupTypes[$this->groupType]= sprintf(_("Special group (%d)"), $this->groupType);
-    }
+        $tmp = $this->plInfo();
+        foreach($tmp['plProvidedAcls'] as $name => $translation){
+            $smarty->assign($name."ACL",$this->getacl($name));
+        }
 
-    $smarty->assign("groupTypes", $groupTypes);
-    $smarty->assign("groupType", $this->groupType);
-    
+        if($this->acl_is_writeable("base")){
+            $smarty->assign("baseSelect",true);
+        }else{
+            $smarty->assign("baseSelect",false);
+        }
 
-    /* Members and users */
-    $smarty->assign("members", $this->members);
-
-    /* Work on trust modes */
-    $smarty->assign("trusthide", " disabled ");
-    $smarty->assign("trustmodeACL",  $this->getacl("trustModel"));
-    if ($this->trustModel == "fullaccess"){
-      $trustmode= 1;
-      // pervent double disable tag in html code, this will disturb our clean w3c html
-      $smarty->assign("trustmode",  $this->getacl("trustModel"));
-
-    } elseif ($this->trustModel == "byhost"){
-      $trustmode= 2;
-      $smarty->assign("trusthide", "");
-    } else {
-      // pervent double disable tag in html code, this will disturb our clean w3c html
-      $smarty->assign("trustmode",  $this->getacl("trustModel"));
-      $trustmode= 0;
-    }
-    $smarty->assign("trustmode", $trustmode);
-    $smarty->assign("trustmodes", array( 0 => _("disabled"), 1 => _("full access"),
-          2 => _("allow access to these hosts")));
+        /* Multiple edit handling */
+        $smarty->assign("multiple_support",$this->multiple_support_active);
 
-    if((count($this->accessTo))==0){
-      $smarty->assign("emptyArrAccess",true);
-    } else{
-      $smarty->assign("emptyArrAccess",false);
+        foreach($this->attributes as $val){
+            if(in_array($val,$this->multi_boxes)){
+                $smarty->assign("use_".$val,TRUE);
+            }else{
+                $smarty->assign("use_".$val,FALSE);
+            }
+        }
+        foreach(array("base","smbgroup","groupType","sambaDomainName","fon_group","nagios_group") as $val){
+            if(in_array($val,$this->multi_boxes)){
+                $smarty->assign("use_".$val,TRUE);
+            }else{
+                $smarty->assign("use_".$val,FALSE);
+            }
+        }
 
+        return($smarty->fetch (get_template_path('generic.tpl', TRUE)));
+    }
+
+    function addUser($uid)
+    {
+        /* In mutliple edit we have to handle two arrays.
+         *  memberUid               : Containing users used in all groups
+         *  memberUid_used_by_some  : Those which are not used in all groups
+         * So we have to remove the given $uid from the ..used_by_some array first.
+         */
+        if($this->multiple_support_active){
+            if(isset($this->memberUid_used_by_some[$uid])){
+                unset($this->memberUid_used_by_some[$uid]);
+            }
+        }  
+
+        /* Ensure that the requested object is known to the group class 
+         */
+        if(!isset($this->dnMapping[$uid])){
+            $ldap = $this->config->get_ldap_link();
+            $ldap->cd($this->config->current['BASE']);
+            $ldap->search("(&(objectClass=gosaAccount)(uid=".$uid."))",array("dn", "uid","sn","givenName"));
+            if($ldap->count() == 0 ){
+                msg_dialog::display(_("Error"), 
+                        sprintf(_("Adding UID '%s' to group '%s' failed: cannot find user object!"), 
+                            $uid,$this->cn), 
+                        ERROR_DIALOG);
+                return;
+            }elseif($ldap->count() >= 2){
+                msg_dialog::display(_("Error"), 
+                        sprintf(_("Add UID '%s' to group '%s' failed: UID is used more than once!"),
+                            $uid,$this->cn), 
+                        ERROR_DIALOG);
+                return;
+            }else{
+                while($attrs = $ldap->fetch()){
+                    $this->dnMapping[$attrs['uid'][0]] = $attrs['dn'];
+                    $this->members[$attrs['uid'][0]] = $attrs;
+                    $this->allusers[$attrs['uid'][0]]= $attrs;
+                }
+            }
+        }
+        
+        $this->memberUid[$uid]= $uid;
+        $this->reload();
     }
 
-    $smarty->assign("workstations", $this->accessTo);
-
-
-
-    /* Checkboxes */
-    foreach (array("force_gid", "smbgroup") as $val){
-      if ($this->$val == "1"){
-        $smarty->assign("$val", "checked");
-      } else {
-        $smarty->assign("$val", "");
-      }
-    }
-    if ($this->force_gid != "1"){
-      $smarty->assign("forceMode", "disabled");
-    }else{
-      $smarty->assign("forceMode", "");
-    }
-    if ($this->fon_group){
-      $smarty->assign("fon_group", "checked");
-    } else {
-      $smarty->assign("fon_group", "");
-    }
 
-    if ($this->nagios_group){
-      $smarty->assign("nagios_group", "checked");
-    } else {
-      $smarty->assign("nagios_group", "");
-    }
+    function removeUser($uid)
+    {
+        $temp= array();
+        if(isset($this->memberUid[$uid])){
+            unset($this->memberUid[$uid]);
+        }
 
-    /* Fields */
-    foreach (array("cn", "description", "gidNumber") as $val){
-      $smarty->assign("$val", $this->$val);
+        /* We have two array contianing group members in multiple edit.
+         *  this->memberUid             : Groups used by all currently edited groups 
+         *  this->memberUid_used_by_some: Used by some 
+         * So we have to remove the specified uid from both arrays.
+         */
+        if($this->multiple_support_active){
+            if(isset($this->memberUid_used_by_some[$uid])){
+                unset($this->memberUid_used_by_some[$uid]);
+            }
+        }
     }
 
-    $tmp = $this->plInfo();
-    foreach($tmp['plProvidedAcls'] as $name => $translation){
-      $smarty->assign($name."ACL",$this->getacl($name));
-    }
-    
-    if($this->acl_is_writeable("base")){
-      $smarty->assign("baseSelect",true);
-    }else{
-      $smarty->assign("baseSelect",false);
-    }
+    /* Reload data */
+    function reload($silent = FALSE)
+    {
+        /* Prepare ldap link */
+        $ldap= $this->config->get_ldap_link();
+        $ldap->cd($this->config->current['BASE']);
 
-    /* Show main page */
-    $smarty->assign("alphabet", generate_alphabet(10));
-    $smarty->assign("search_image", get_template_path('images/lists/search.png'));
-    $smarty->assign("launchimage", get_template_path('images/lists/action.png'));
-    $smarty->assign("tree_image", get_template_path('images/lists/search-subtree.png'));
-    $smarty->assign("deplist", $this->config->idepartments);
-
-    /* Multiple edit handling */
-    $smarty->assign("multiple_support",$this->multiple_support_active);
-
-    $smarty->assign("memberUid_All",$this->memberUid);
-    $smarty->assign("memberUid_Some",$this->memberUid_used_by_some);
-
-    foreach($this->attributes as $val){
-      if(in_array($val,$this->multi_boxes)){
-        $smarty->assign("use_".$val,TRUE);
-      }else{
-        $smarty->assign("use_".$val,FALSE);
-      }
-    }
-    foreach(array("base","smbgroup","groupType","sambaDomainName","fon_group","nagios_group","trustmode") as $val){
-      if(in_array($val,$this->multi_boxes)){
-        $smarty->assign("use_".$val,TRUE);
-      }else{
-        $smarty->assign("use_".$val,FALSE);
-      }
-    }
 
-    return($smarty->fetch (get_template_path('generic.tpl', TRUE)));
-  }
+        /* Resolve still unresolved memberuids to fill the list with sn/giveName attributes 
+           (Store gathered sn/givenName informations in $this->allusers too, 
+           to be prepared when adding/deleting users)
+         */    
+        $filter = "";
 
-  function addUser($uid)
-  {
-    /* In mutliple edit we have to handle two arrays.
-     *  memberUid               : Containing users used in all groups
-     *  memberUid_used_by_some  : Those which are not used in all groups
-     * So we have to remove the given $uid from the ..used_by_some array first.
-     */
-    if($this->multiple_support_active){
-      if(isset($this->memberUid_used_by_some[$uid])){
-        unset($this->memberUid_used_by_some[$uid]);
-      }
-    }  
+    
 
-    /* Ensure that the requested object is known to the group class 
-     */
-    if(!isset($this->dnMapping[$uid])){
-      $ldap = $this->config->get_ldap_link();
-      $ldap->cd($this->config->current['BASE']);
-      $ldap->search("(&(objectClass=gosaAccount)(uid=".$uid."))",array("dn", "uid","sn","givenName"));
-      if($ldap->count() == 0 ){
-        msg_dialog::display(_("Error"), 
-            sprintf(_("Adding UID '%s' to group '%s' failed: cannot find user object!"), 
-              $uid,$this->cn), 
-            ERROR_DIALOG);
-        return;
-      }elseif($ldap->count() >= 2){
-        msg_dialog::display(_("Error"), 
-            sprintf(_("Add UID '%s' to group '%s' failed: UID is used more than once!"),
-              $uid,$this->cn), 
-            ERROR_DIALOG);
-        return;
-      }else{
-        while($attrs = $ldap->fetch()){
-          $this->dnMapping[$attrs['uid'][0]] = $attrs['dn'];
-          $this->members[$attrs['uid'][0]] = $this->createResultName($attrs);
-          $this->allusers[$attrs['uid'][0]]= $this->createResultName($attrs);
+        // Merge in partial uids in multiple edit
+        $allUids = array_keys($this->memberUid);
+        if($this->multiple_support_active) {
+            $allUids = array_merge($allUids,  array_keys($this->memberUid_used_by_some));
         }
-      }
-    }
 
-    $this->memberUid[$uid]= $uid;
-  }
+        // Do not request data for users we've already fetched before.
+        foreach($allUids as $key => $uid){
+            if(isset($this->dnMapping[$uid])) unset($allUids[$key]);
+        }
+        $allUids = array_values($allUids);
+
+        // To resolve the usernames out of the 'uid' we've to perform ldap queries. 
+        // To keep the amount of queries as short as possible, we combine the query 
+        //  for 'sn','givenName','..' for serveral users in one single query:
+        //      (|(uid=hans)(uid=peter)(uid=hubert)(..))
+        // 
+        // Unfortunately there is a filter length limit which causes the query to be invalid,
+        //  we've to split these huge query again into shorter query strings. 
+        // 
+        // maxPerRound specifies the amount of queries we can combine into a 
+        //  single query.
+        $maxPerRound = $this->config->get_cfg_value("core","ldapFilterNestingLimit");
+        if( $maxPerRound == "" ) {
+            $maxPerRound = count($allUids);
+        }
 
+        for ( $added = 0; $added < count($allUids); $added += $maxPerRound ) {
+
+            // First build the query....
+            $start = $added;
+            $end = $added + $maxPerRound;
+            $filter = "";
+            for ( $done = $start; $done < $end; $done++ ) {
+                if(!isset($allUids[$done])) break;
+                $value = $allUids[$done];
+                $filter .= "(uid=".normalizeLdap($value).")";
+            }
+
+            // Retrieve the data to LDAP
+            $ldap->cd($this->config->current['BASE']);
+            $ldap->search("(&(objectClass=gosaAccount)(|".$filter."))",array("dn", "uid","sn","givenName"));
+            while( $attrs = $ldap->fetch() ) {
+                $this->dnMapping[$attrs['uid'][0]] = $attrs['dn'];
+                $this->members[$attrs['uid'][0]] = $attrs;
+                $this->allusers[$attrs['uid'][0]]= $attrs;
+            }
+        }
 
-  function removeUser($uid)
-  {
-    $temp= array();
-    if(isset($this->memberUid[$uid])){
-      unset($this->memberUid[$uid]);
+        /* check if all uids are resolved */
+        foreach ($this->memberUid as $value){
+            if(!isset($this->members[$value])){
+                $this->members[$value] = "";
+            }
+        }  
     }
 
-    /* We have two array contianing group members in multiple edit.
-     *  this->memberUid             : Groups used by all currently edited groups 
-     *  this->memberUid_used_by_some: Used by some 
-     * So we have to remove the specified uid from both arrays.
-     */
-    if($this->multiple_support_active){
-      if(isset($this->memberUid_used_by_some[$uid])){
-        unset($this->memberUid_used_by_some[$uid]);
-      }
-    }
-  }
-
-  /* Reload data */
-  function reload($silent = FALSE)
-  {
-    /* Fix regex string */
-    $gufilter = session::get("gufilter");
-    $regex    = normalizeLdap($gufilter['regex']);
-    $MaxUser  = $this->OnlyShowFirstEntries;
-
-    /* Prepare ldap link */
-    $ldap= $this->config->get_ldap_link();
-    $ldap->cd($gufilter['dselect']);
-
-
-    /* Resolve still unresolved memberuids to fill the list with sn/giveName attributes 
-        (Store gathered sn/givenName informations in $this->allusers too, 
-         to be prepared when adding/deleting users)
-     */    
-    $filter = "";
-    if ($this->config->get_cfg_value("ldapFilterNestingLimit") == "" ||
-        count($this->memberUid) < $this->config->get_cfg_value("ldapFilterNestingLimit")){
-      foreach ($this->memberUid as $value){
-        if(!isset($this->members[$value])){
-          $filter .= "(uid=".normalizeLdap($value).")";
-        }
-      }
-    }
 
-    if(!empty($filter)){    
-      $ldap->cd($this->config->current['BASE']);
-      $ldap->search("(&(objectClass=gosaAccount)(|".$filter."))",array("dn", "uid","sn","givenName"));
-      while($attrs = $ldap->fetch()){
-        $this->dnMapping[$attrs['uid'][0]] = $attrs['dn'];
-        $this->members[$attrs['uid'][0]] = $this->createResultName($attrs);
-        $this->allusers[$attrs['uid'][0]]= $this->createResultName($attrs);
-      } 
-    }
-  
-    /* check if all uids are resolved */
-    if ($this->config->get_cfg_value("ldapFilterNestingLimit") == "" ||
-        count($this->memberUid) < $this->config->get_cfg_value("ldapFilterNestingLimit")){
-      foreach ($this->memberUid as $value){
-        if(!isset($this->members[$value])){
-          $this->members[$value] =  _("! unknown UID")." [".$value."]"; 
-        }
-      }  
-    }else{
-      foreach ($this->memberUid as $value){
-        $this->members[$value] = $value; 
-      }  
+    /* Create display name, this was used so often that it is excluded into a seperate function */
+    function createResultName($attrs)
+    {
+        if (isset($attrs["givenName"][0]) && isset($attrs["sn"][0])){
+            $ret =  $attrs["sn"][0].", ".$attrs["givenName"][0]." [".$attrs["uid"][0]."]";
+        } else {
+            $ret= $attrs['uid'][0];
+        }
+        return($ret);
     }
 
-    /* Create display list of users matching regex & filter 
-     */
-    $this->displayUsers = array();
-    $filter = "(&(objectClass=gosaAccount)(!(objectClass=gosaUserTemplate))(!(uid=*$))(|(uid=".$regex.")(sn=".$regex.")(givenName=".$regex.")))";
-
-    /* Search in current tree or within subtrees depending on the checkbox from filter section */
-    if($gufilter['SubSearchGroup']){
-      $flag = GL_SIZELIMIT | GL_SUBSEARCH;
-      $base = $gufilter['dselect'];
-    }else{
-      $flag = GL_SIZELIMIT ;
-      $base = get_people_ou().$gufilter['dselect'];
-    }
-    $i = 0;
-  
-
-    $res = get_list($filter,"users",$base,array("dn", "uid", "sn", "givenName"),$flag);
-
-    /* Fetch all users and skip already used users */
-    foreach($res as $attrs){
-      if(in_array($attrs['uid'][0], $this->memberUid)) {
-        continue;
-      }
-      $i ++;
-      if($i > $MaxUser) {
-        break;
-      }
-      $this->dnMapping[$attrs['uid'][0]]= $attrs["dn"];
-      $this->allusers[$attrs['uid'][0]]     = $this->createResultName($attrs);
-      $this->displayUsers[$attrs['uid'][0]] = $this->createResultName($attrs);
-    }
-  
-    /* If more than max users are found, display a message to warn the user */
-    if($i == $MaxUser && !$silent){
-      msg_dialog::display(_("Configuration error"), sprintf(_("Search returned too many results. Not displaying more than %s entries!"), $MaxUser), ERROR_DIALOG);
-    }
-    
-    /* Sort lists */
-    natcasesort($this->members);
-    reset($this->members);
-    natcasesort ($this->displayUsers);
-    reset ($this->displayUsers);
-  }
-
-
-  /* Create display name, this was used so often that it is excluded into a seperate function */
-  function createResultName($attrs)
-  {
-    if (isset($attrs["givenName"][0]) && isset($attrs["sn"][0])){
-      $ret =  $attrs["sn"][0].", ".$attrs["givenName"][0]." [".$attrs["uid"][0]."]";
-    } else {
-      $ret= $attrs['uid'][0];
-    }
-    return($ret);
-  }
 
+    function remove_from_parent()
+    {
+        plugin::remove_from_parent();
 
-  function remove_from_parent()
-  {
-    plugin::remove_from_parent();
+        $ldap= $this->config->get_ldap_link();
+        $ldap->rmdir($this->dn);
+        if (!$ldap->success()){
+            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_DEL, get_class()));
+        }
 
-    $ldap= $this->config->get_ldap_link();
-    $ldap->rmdir($this->dn);
-    if (!$ldap->success()){
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_DEL, get_class()));
-    }
+        new log("remove","groups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
 
-    new log("remove","groups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+        /* Delete references to object groups */
+        $ldap->cd ($this->config->current['BASE']);
+        $ldap->search ("(&(objectClass=gosaGroupOfNames)(member=".LDAP::prepare4filter($this->dn)."))", array("cn"));
+        while ($ldap->fetch()){
+            $og= new ogroup($this->config, $ldap->getDN());
+            unset($og->member[$this->dn]);
+            $og->save ();
+        }
 
-    /* Delete references to object groups */
-    $ldap->cd ($this->config->current['BASE']);
-    $ldap->search ("(&(objectClass=gosaGroupOfNames)(member=".LDAP::prepare4filter($this->dn)."))", array("cn"));
-    while ($ldap->fetch()){
-      $og= new ogroup($this->config, $ldap->getDN());
-      unset($og->member[$this->dn]);
-      $og->save ();
-    }
+        /* Remove ACL dependencies too,
+         */
+        $ldap = $this->config->get_ldap_link();
+        $ldap->cd($this->config->current['BASE']);
+        $ldap->search("(&(objectClass=gosaAcl)(gosaAclEntry=*".base64_encode($this->dn)."*))",array("gosaAclEntry","dn"));
+        while($attrs = $ldap->fetch()){
+            $acl = new acl($this->config,$this->parent,$attrs['dn']);
+            foreach($acl->gosaAclEntry as $id => $entry){
+                foreach($entry['members'] as $m_id => $member){
+                    if($m_id == "G:".$this->dn || $m_id == "U:".$this->dn){
+                        unset($acl->gosaAclEntry[$id]['members'][$m_id]);
+                        gosa_log("modify","groups/acl",$attrs['dn'],array(),sprintf("Removed acl for %s on object %s.",$this->dn,$attrs['dn']));
+                    }
+                }
+            }
+            $acl->save();
+        }
 
-    /* Remove ACL dependencies too,
-     */
-    $ldap = $this->config->get_ldap_link();
-    $ldap->cd($this->config->current['BASE']);
-    $ldap->search("(&(objectClass=gosaAcl)(gosaAclEntry=*".base64_encode($this->dn)."*))",array("gosaAclEntry","dn"));
-    while($attrs = $ldap->fetch()){
-      $acl = new acl($this->config,$this->parent,$attrs['dn']);
-      foreach($acl->gosaAclEntry as $id => $entry){
-        foreach($entry['members'] as $m_id => $member){
-          if($m_id == "G:".$this->dn || $m_id == "U:".$this->dn){
-            unset($acl->gosaAclEntry[$id]['members'][$m_id]);
-            gosa_log("modify","groups/acl",$attrs['dn'],array(),sprintf("Removed acl for %s on object %s.",$this->dn,$attrs['dn']));
-          }
-        }
-      }
-      $acl->save();
+        /* Remove ACL dependencies, too */
+        acl::remove_acl_for($this->dn);
+
+        /* Send signal to the world that we've done */
+        $this->handle_post_events("remove");
+    }
+
+
+    /* Save data to object */
+    function save_object()
+    {
+        /* Save additional values for possible next step */
+        if (isset($_POST['groupedit'])){
+
+            /* Create a base backup and reset the 
+               base directly after calling plugin::save_object();  
+               Base will be set seperatly a few lines below */
+            $base_tmp = $this->base;
+            plugin::save_object();
+            $this->trustModeDialog->save_object();
+            $this->base = $base_tmp;
+
+            /* Refresh base */
+            if ($this->acl_is_moveable($this->base)){
+                if (!$this->baseSelector->update()) {
+                    msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG);
+                }
+                if ($this->base != $this->baseSelector->getBase()) {
+                    $this->base= $this->baseSelector->getBase();
+                    $this->is_modified= TRUE;
+                }
+            }
+
+            $this->force_gid= 0;
+
+            /* Only reset sambagroup flag if we are able to write this flag */
+            if($this->acl_is_writeable("sambaGroupType")){
+                $this->smbgroup = 0;
+            }
+
+            foreach (array(
+                        "force_gid"  => "gidNumber", 
+                        "smbgroup"   => "sambaGroupType") as $val => $aclname) {
+                if ($this->acl_is_writeable($aclname)  && isset($_POST["$val"])){
+                    $this->$val= get_post($val);
+                }
+            }
+
+            /* Save sambaDomain attribute */
+            if ($this->acl_is_writeable("sambaDomainName") && isset ($_POST['sambaDomainName'])){
+                $this->sambaDomainName= get_post('sambaDomainName');
+                $this->groupType= get_post('groupType');
+            }
+
+            /* Save fon attribute */
+            if ($this->acl_is_writeable("fonGroup")){
+                if (isset ($_POST['fon_group'])){
+                    $this->fon_group= TRUE;
+                } else {
+                    $this->fon_group= FALSE;
+                }
+            }
+            if ($this->acl_is_writeable("nagiosGroup")){
+                if (isset ($_POST['nagios_group'])){
+                    $this->nagios_group= TRUE;
+                } else {
+                    $this->nagios_group= FALSE;
+                }
+            }
+        }
     }
 
-    /* Remove ACL dependencies, too */
-    acl::remove_acl_for($this->dn);
 
-    /* Send signal to the world that we've done */
-    $this->handle_post_events("remove");
-  }
-
-
-  /* Save data to object */
-  function save_object()
-  {
-    /* Save additional values for possible next step */
-    if (isset($_POST['groupedit'])){
-
-      /* Create a base backup and reset the 
-          base directly after calling plugin::save_object();  
-         Base will be set seperatly a few lines below */
-      $base_tmp = $this->base;
-      plugin::save_object();
-      $this->base = $base_tmp;
-
-      /* Refresh base */
-      if ($this->acl_is_moveable($this->base)){
-        if (!$this->baseSelector->update()) {
-          msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG);
+    /* Save to LDAP */
+    function save()
+    {
+
+        /* ID handling */
+        if ($this->force_gid == 0){
+            if ($this->saved_gidNumber != ""){
+                $this->gidNumber= $this->saved_gidNumber;
+            } else {
+                /* Calculate new, lock uids */
+                $wait= 10;
+                while (get_lock("gidnumber") != ""){
+                    sleep (1);
+
+                    /* timed out? */
+                    if ($wait-- == 0){
+                        break;
+                    }
+                }
+                add_lock ("gidnumber", "gosa");
+                $this->gidNumber= get_next_id("gidNumber", $this->dn);
+            }
         }
-        if ($this->base != $this->baseSelector->getBase()) {
-          $this->base= $this->baseSelector->getBase();
-          $this->is_modified= TRUE;
+
+        plugin::save(); 
+
+        /* Remove objectClass for samba/phone support */
+        $tmp= array();
+        for ($i= 0; $i<count($this->attrs["objectClass"]); $i++){
+            if ($this->attrs['objectClass'][$i] != 'sambaGroupMapping' &&
+                    $this->attrs['objectClass'][$i] != 'sambaIdmapEntry' &&
+                    $this->attrs['objectClass'][$i] != 'goFonPickupGroup' &&
+                    $this->attrs['objectClass'][$i] != 'nagiosContactGroup'){
+                $tmp[]= $this->attrs['objectClass'][$i];
+            }
         }
-      }
+        $this->attrs['objectClass']= $tmp;
+        $ldap= $this->config->get_ldap_link();
+
+        /* Add samba group functionality */
+        if ($this->smbgroup){
+
+            /* Fixed undefined index ... 
+             */ 
+            $this->SID = $this->ridBase = "";
+            if(isset($this->config->data['SERVERS']['SAMBA'][$this->sambaDomainName]['SID'])){
+                $this->SID    = $this->config->data['SERVERS']['SAMBA'][$this->sambaDomainName]['SID'];
+            }else{
+                msg_dialog::display(_("Error"), sprintf(_("Cannot find any SID for '%s'!"), $this->sambaDomainName), ERROR_DIALOG);
+            }
+            if(isset($this->config->data['SERVERS']['SAMBA'][$this->sambaDomainName]['RIDBASE'])){
+                $this->ridBase= $this->config->data['SERVERS']['SAMBA'][$this->sambaDomainName]['RIDBASE']; 
+            }else{
+                msg_dialog::display(_("Error"), sprintf(_("Cannot find any RIDBASE for '%s'!"), $this->sambaDomainName), ERROR_DIALOG);
+            }
+
+            $this->attrs['objectClass'][]= 'sambaGroupMapping';
+            $this->attrs['sambaGroupType']= "2";
+
+            /* Check if we need to create a special entry */
+            if ($this->groupType == 0){
+
+                if ($this->sambaSID == "" || $this->oldgroupType != $this->groupType){
+                    $sid = $this->getSambaSID();
+                    $this->attrs['sambaSID']= $sid;
+                    $this->sambaSID= $sid;
+                }
+
+            } else {
+                $this->attrs['sambaSID']=$this->SID."-".$this->groupType;
+            }
+
+            /* User wants me to fake the idMappings? This is useful for
+               making winbind resolve the group names in a reasonable amount
+               of time in combination with larger databases. */
+            if ($this->config->boolValueIsTrue("core","sambaIdMapping")){
+                $this->attrs['objectClass'][]= "sambaIdmapEntry";
+            }
 
-      $this->force_gid= 0;
+        }
 
-      /* Only reset sambagroup flag if we are able to write this flag */
-      if($this->acl_is_writeable("sambaGroupType")){
-        $this->smbgroup = 0;
-      }
+        /* Add phone functionality */
+        if ($this->fon_group){
+            $this->attrs['objectClass'][]= "goFonPickupGroup";
+        }
 
-      foreach (array(
-            "force_gid"  => "gidNumber", 
-            "smbgroup"   => "sambaGroupType") as $val => $aclname) {
-        if ($this->acl_is_writeable($aclname)  && isset($_POST["$val"])){
-          $this->$val= $_POST["$val"];
+        /* Add nagios functionality */
+        if ($this->nagios_group){
+            $this->attrs['objectClass'][]= "nagiosContactGroup";
         }
-      }
 
-      /* Save sambaDomain attribute */
-      if ($this->acl_is_writeable("sambaDomainName") && isset ($_POST['sambaDomainName'])){
-        $this->sambaDomainName= $_POST['sambaDomainName'];
-        $this->groupType= $_POST['groupType'];
-      }
+        /* Take members array */
+        if (count ($this->memberUid)){
+            $this->attrs['memberUid']= array_values(array_unique($this->memberUid));
+        }
 
-      /* Save fon attribute */
-      if ($this->acl_is_writeable("fonGroup")){
-        if (isset ($_POST['fon_group'])){
-          $this->fon_group= TRUE;
-        } else {
-          $this->fon_group= FALSE;
+        /* New accounts need proper 'dn', propagate it to remaining objects */
+        if ($this->dn == 'new'){
+            $this->dn= 'cn='.$this->cn.','.get_groups_ou().$this->base;
         }
-      }
-      if ($this->acl_is_writeable("nagiosGroup")){
-        if (isset ($_POST['nagios_group'])){
-          $this->nagios_group= TRUE;
-        } else {
-          $this->nagios_group= FALSE;
+
+        /* Add member dn's for RFC2307bis Support */
+        if ($this->rfc2307bis){
+            $this->attrs['member'] = array();
+            if (count($this->memberUid)){
+                foreach($this->attrs['memberUid'] as $uid) {
+
+                    if(isset($this->dnMapping[$uid])){
+                        $this->attrs['member'][]= $this->dnMapping[$uid];
+                    }
+                }
+            } else {
+                $this->attrs['member'][]= $this->dn;
+            }
         }
-      }
-    }
 
-    /* Trust mode - special handling */
-    if($this->acl_is_writeable("trustModel")){
-      if (isset($_POST['trustmode'])){
-        $saved= $this->trustModel;
-        if ($_POST['trustmode'] == "1"){
-          $this->trustModel= "fullaccess";
-        } elseif ($_POST['trustmode'] == "2"){
-          $this->trustModel= "byhost";
+        /* Save data. Using 'modify' implies that the entry is already present, use 'add' for
+           new entries. So do a check first... */
+        $ldap->cat ($this->dn, array('dn'));
+        if ($ldap->fetch()){
+            /* Modify needs array() to remove values :-( */
+            if (!count ($this->memberUid)){
+                $this->attrs['memberUid']= array();
+            }
+            if (!$this->smbgroup){
+                $this->attrs['sambaGroupType']= array();
+                $this->attrs['sambaSID']= array();
+            }
+
+            $mode= "modify";
         } else {
-          $this->trustModel= "";
-        }
-        if ($this->trustModel != $saved){
-          $this->is_modified= TRUE;
+            $mode= "add";
+            $ldap->cd($this->config->current['BASE']);
+            $ldap->create_missing_trees(preg_replace('/^[^,]+,/', '', $this->dn));
         }
-      }
-    }
-
-  }
-
-
-  /* Save to LDAP */
-  function save()
-  {
 
-    /* ID handling */
-    if ($this->force_gid == 0){
-      if ($this->saved_gidNumber != ""){
-        $this->gidNumber= $this->saved_gidNumber;
-      } else {
-        /* Calculate new, lock uids */
-        $wait= 10;
-        while (get_lock("gidnumber") != ""){
-          sleep (1);
-
-          /* timed out? */
-          if ($wait-- == 0){
-            break;
-          }
+        /* Check generated gidNumber, it may be used by another group. 
+         */
+        if($this->gidNumber != ""){
+            $ldap->cd($this->config->current['BASE']);
+            $ldap->search("(&(!(cn=".$this->orig_cn."))(objectClass=posixGroup)(gidNumber=".$this->gidNumber."))",array("cn"));
+            if($ldap->count()){
+                $cns = "";
+                while($attrs = $ldap->fetch()){
+                    $cns .= $attrs['cn'][0].", ";
+                }
+                $cns = rtrim($cns,", ");
+                msg_dialog::display(_("Warning"),sprintf(_("The gidNumber '%s' is already in use by %s!"),$this->gidNumber,$cns) , WARNING_DIALOG );
+            }
         }
-        add_lock ("gidnumber", "gosa");
-        $this->gidNumber= get_next_id("gidNumber", $this->dn);
-      }
-    }
-  
-    plugin::save(); 
-
- /* Trust accounts */
-    $objectclasses= array();
-    foreach ($this->attrs['objectClass'] as $key => $class){
-      if (preg_match('/trustAccount/i', $class)){
-        continue;
-      }
-      $objectclasses[]= $this->attrs['objectClass'][$key];
-    }
-    $this->attrs['objectClass']= $objectclasses;
-    if ($this->trustModel != ""){
-      $this->attrs['objectClass'][]= "trustAccount";
-      $this->attrs['trustModel']= $this->trustModel;
-      $this->attrs['accessTo']= array();
-      if ($this->trustModel == "byhost"){
-        foreach ($this->accessTo as $host){
-          $this->attrs['accessTo'][]= $host;
-        }
-      }
-    } else {
-      if ($this->was_trust_account){
-        $this->attrs['accessTo']= array();
-        $this->attrs['trustModel']= array();
-      }
-    }
 
+        /* Write back to ldap */
+        $ldap->cd($this->dn);
+        $this->cleanup();
+        $ldap->$mode($this->attrs);
 
+        /* Remove ACL dependencies too,
+         */
+        if($this->dn != $this->orig_dn && $this->orig_dn != "new"){
+            $tmp = new acl($this->config,$this->parent,$this->dn);
+            $tmp->update_acl_membership($this->orig_dn,$this->dn);
+        }
 
-    /* Remove objectClass for samba/phone support */
-    $tmp= array();
-    for ($i= 0; $i<count($this->attrs["objectClass"]); $i++){
-      if ($this->attrs['objectClass'][$i] != 'sambaGroupMapping' &&
-          $this->attrs['objectClass'][$i] != 'sambaIdmapEntry' &&
-          $this->attrs['objectClass'][$i] != 'goFonPickupGroup' &&
-	 $this->attrs['objectClass'][$i] != 'nagiosContactGroup'){
-        $tmp[]= $this->attrs['objectClass'][$i];
-      }
-    }
-    $this->attrs['objectClass']= $tmp;
-    $ldap= $this->config->get_ldap_link();
-
-    /* Add samba group functionality */
-    if ($this->smbgroup){
-  
-      /* Fixed undefined index ... 
-       */ 
-      $this->SID = $this->ridBase = "";
-      if(isset($this->config->data['SERVERS']['SAMBA'][$this->sambaDomainName]['SID'])){
-        $this->SID    = $this->config->data['SERVERS']['SAMBA'][$this->sambaDomainName]['SID'];
-      }else{
-        msg_dialog::display(_("Error"), sprintf(_("Cannot find any SID for '%s'!"), $this->sambaDomainName), ERROR_DIALOG);
-      }
-      if(isset($this->config->data['SERVERS']['SAMBA'][$this->sambaDomainName]['RIDBASE'])){
-        $this->ridBase= $this->config->data['SERVERS']['SAMBA'][$this->sambaDomainName]['RIDBASE']; 
-      }else{
-        msg_dialog::display(_("Error"), sprintf(_("Cannot find any RIDBASE for '%s'!"), $this->sambaDomainName), ERROR_DIALOG);
-      }
-
-      $this->attrs['objectClass'][]= 'sambaGroupMapping';
-      $this->attrs['sambaGroupType']= "2";
-
-      /* Check if we need to create a special entry */
-      if ($this->groupType == 0){
-
-        if ($this->sambaSID == "" || $this->oldgroupType != $this->groupType){
-          $sid = $this->getSambaSID();
-          $this->attrs['sambaSID']= $sid;
-          $this->sambaSID= $sid;
-        }
-
-      } else {
-        $this->attrs['sambaSID']=$this->SID."-".$this->groupType;
-      }
-
-      /* User wants me to fake the idMappings? This is useful for
-         making winbind resolve the group names in a reasonable amount
-         of time in combination with larger databases. */
-      if ($this->config->get_cfg_value("sambaidmapping") == "true"){
-        $this->attrs['objectClass'][]= "sambaIdmapEntry";
-      }
+        if($this->initially_was_account){
+            new log("modify","groups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+        }else{
+            new log("create","groups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+        }
 
-    }
+        $ret= 0;
+        if (!$ldap->success()){
+            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
+            $ret= 1;
+        }
 
-    /* Add phone functionality */
-    if ($this->fon_group){
-      $this->attrs['objectClass'][]= "goFonPickupGroup";
-    }
+        $this->trustModeDialog->dn = $this->dn;
+        $this->trustModeDialog->save();
 
-    /* Add nagios functionality */
-    if ($this->nagios_group){
-      $this->attrs['objectClass'][]= "nagiosContactGroup";
-    }
+        /* Remove uid lock */
+        del_lock ("gidnumber");
 
-    /* Take members array */
-    if (count ($this->memberUid)){
-      $this->attrs['memberUid']= array_values(array_unique($this->memberUid));
-    }
+        /* Post that we've done*/
+        $this->handle_post_events($mode);
 
-    /* New accounts need proper 'dn', propagate it to remaining objects */
-    if ($this->dn == 'new'){
-      $this->dn= 'cn='.$this->cn.','.get_groups_ou().$this->base;
+        return ($ret);
     }
 
-    /* Add member dn's for RFC2307bis Support */
-    if ($this->rfc2307bis){
-      $this->attrs['member'] = array();
-      if (count($this->memberUid)){
-        foreach($this->attrs['memberUid'] as $uid) {
+    function check()
+    {
+        /* Call common method to give check the hook */
+        $message= plugin::check();
 
-          if(isset($this->dnMapping[$uid])){
-            $this->attrs['member'][]= $this->dnMapping[$uid];
-          }
+        /* Permissions for that base? */
+        if ($this->base != ""){
+            $new_dn= 'cn='.$this->cn.','.get_groups_ou().$this->base;
+        } else {
+            $new_dn= $this->dn;
         }
-      } else {
-        $this->attrs['member'][]= $this->dn;
-      }
-    }
-
-    /* Save data. Using 'modify' implies that the entry is already present, use 'add' for
-       new entries. So do a check first... */
-    $ldap->cat ($this->dn, array('dn'));
-    if ($ldap->fetch()){
-      /* Modify needs array() to remove values :-( */
-      if (!count ($this->memberUid)){
-        $this->attrs['memberUid']= array();
-      }
-      if (!$this->smbgroup){
-        $this->attrs['sambaGroupType']= array();
-        $this->attrs['sambaSID']= array();
-      }
-      
-      $mode= "modify";
-    } else {
-      $mode= "add";
-      $ldap->cd($this->config->current['BASE']);
-      $ldap->create_missing_trees(preg_replace('/^[^,]+,/', '', $this->dn));
-    }
-
 
-    /* Check generated gidNumber, it may be used by another group. 
-     */
-    if($this->gidNumber != ""){
-      $ldap->cd($this->config->current['BASE']);
-      $ldap->search("(&(!(cn=".$this->orig_cn."))(objectClass=posixGroup)(gidNumber=".$this->gidNumber."))",array("cn"));
-      if($ldap->count()){
-        $cns = "";
-        while($attrs = $ldap->fetch()){
-          $cns .= $attrs['cn'][0].", ";
+        /* must: cn */
+        if ($this->cn == "" && $this->acl_is_writeable("cn")){
+            $message[]= msgPool::required(_("Name"));
         }
-        $cns = rtrim($cns,", ");
-        msg_dialog::display(_("Warning"),sprintf(_("The gidNumber '%s' is already in use by %s!"),$this->gidNumber,$cns) , WARNING_DIALOG );
-      }
-    }
-
-    /* Write back to ldap */
-    $ldap->cd($this->dn);
-    $this->cleanup();
-    $ldap->$mode($this->attrs);
 
-    /* Remove ACL dependencies too,
-     */
-    if($this->dn != $this->orig_dn && $this->orig_dn != "new"){
-      $tmp = new acl($this->config,$this->parent,$this->dn);
-      $tmp->update_acl_membership($this->orig_dn,$this->dn);
-    }
+        // Check if a wrong base was supplied
+        if(!$this->baseSelector->checkLastBaseUpdate()){
+            $message[]= msgPool::check_base();;
+        }
 
-    if($this->initially_was_account){
-      new log("modify","groups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
-    }else{
-      new log("create","groups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
-    }
+        /* Check for valid input */
+        if (!tests::is_uid($this->cn)){
+            if (strict_uid_mode()){
+                $message[]= msgPool::invalid(_("Name"), $this->cn, "/[a-z0-9_-]/");
+            } else {
+                $message[]= msgPool::invalid(_("Name"), $this->cn, "/[a-z0-9 _.-]/i");
+            }
+        }
 
-    $ret= 0;
-    if (!$ldap->success()){
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
-      $ret= 1;
-    }
+        // Check if a wrong base was supplied
+        if(!$this->baseSelector->checkLastBaseUpdate()){
+            $message[]= msgPool::check_base();;
+        }
 
-    /* Remove uid lock */
-    del_lock ("gidnumber");
+        if($this->allowGroupsWithSameNameInOtherSubtrees == true){
+
+            /* Check for used 'cn' */
+            $ldap= $this->config->get_ldap_link();
+            if(($this->cn  != $this->orig_cn) || ($this->orig_dn == "new")){
+                $ldap->cd(get_groups_ou().$this->base);
+                $ldap->ls("(&(|(objectClass=gosaGroupOfNames)(objectClass=posixGroup))(cn=$this->cn))",get_groups_ou().$this->base,array("cn"));
+                if ($ldap->count() != 0){
+                    $message[]= msgPool::duplicated(_("Name"));
+                }
+            }
+
+        }else{
+
+            /* Check for used 'cn' */
+            $ldap= $this->config->get_ldap_link();
+            $ldap->cd($this->config->current['BASE']);
+            $ldap->search("(&(|(objectClass=gosaGroupOfNames)(objectClass=posixGroup))(cn=$this->cn))",array("cn"));
+            if ($ldap->count() != 0){
+
+                /* New entry? */
+                if ($this->dn == 'new'){
+                    $message[]= msgPool::duplicated(_("Name"));
+                }
+
+                /* Moved? */
+                elseif ($new_dn != $this->orig_dn){
+                    $ldap->fetch();
+                    if ($ldap->getDN() != $this->orig_dn){
+                        $message[]= msgPool::duplicated(_("Name"));
+                    }
+                }
+            }
+        }
 
-    /* Post that we've done*/
-    $this->handle_post_events($mode);
+        /* Check ID */
+        if ($this->force_gid == "1"){
+            if (!tests::is_id($this->gidNumber)){
+                $message[]= msgPool::invalid(_("GID"), $this->gidNumber, "/[0-9]/");
+            } else {
+                if ($this->gidNumber < $this->config->get_cfg_value("core","minId")){
+                    $message[]= msgPool::toosmall(_("GID"), $this->config->get_cfg_value("core","minId"));
+                }
 
-    return ($ret);
-  }
+            }
+        }
 
-  function check()
-  {
-    /* Call common method to give check the hook */
-    $message= plugin::check();
+        /* Check if we are allowed to create or move this object 
+         */
+        if(!$this->orig_dn == "new" || 
+                $this->orig_base != $this->base || 
+                $this->cn != $this->orig_cn){
+
+            if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
+                $message[] = msgPool::permCreate();
+            }elseif($this->orig_dn != "new" && !$this->acl_is_moveable($this->base)){
+                $message[] = msgPool::permMove();
+            }
+        }
 
-    /* Permissions for that base? */
-    if ($this->base != ""){
-      $new_dn= 'cn='.$this->cn.','.get_groups_ou().$this->base;
-    } else {
-      $new_dn= $this->dn;
+        return ($message);
     }
 
-    /* must: cn */
-    if ($this->cn == "" && $this->acl_is_writeable("cn")){
-      $message[]= msgPool::required(_("Name"));
-    }
 
-    // Check if a wrong base was supplied
-    if(!$this->baseSelector->checkLastBaseUpdate()){
-      $message[]= msgPool::check_base();;
-    }
+    function getCopyDialog()
+    {
+        $vars = array("cn");
 
-    /* Check for valid input */
-    if (!tests::is_uid($this->cn)){
-      if (strict_uid_mode()){
-        $message[]= msgPool::invalid(_("Name"), $this->cn, "/[a-z0-9_-]/");
-      } else {
-        $message[]= msgPool::invalid(_("Name"), $this->cn, "/[a-z0-9_-]/i");
-      }
-    }
+        if($this ->force_gid){
+            $used = " checked ";
+            $dis  = "";
+        }else{
+            $used = "";
+            $dis  = " disabled ";
+        }
 
-    // Check if a wrong base was supplied
-    if(!$this->baseSelector->checkLastBaseUpdate()){
-      $message[]= msgPool::check_base();;
+        $smarty = get_smarty();
+        $smarty->assign("used",     set_post($used));
+        $smarty->assign("dis" ,     set_post($dis));
+        $smarty->assign("cn" ,      set_post($this->cn));
+        $smarty->assign("gidNumber",set_post($this->gidNumber));
+        $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE));
+        $ret = array();
+        $ret['string'] = $str;
+        $ret['status'] = "";
+        return($ret);
+    }
+
+    function saveCopyDialog()
+    {
+        if(isset($_POST['cn'])){
+            $this->cn = get_post('cn');
+        }
+        if(isset($_POST['force_gid'])){
+            $this->force_gid  = 1;
+            $this->gidNumber= get_post('gidNumber');
+        }else{
+            $this->force_gid  = 0;
+            $this->gidNumber  = false;
+        }
     }
 
-    if($this->allowGroupsWithSameNameInOtherSubtrees == true){
 
-      /* Check for used 'cn' */
-      $ldap= $this->config->get_ldap_link();
-      if(($this->cn  != $this->orig_cn) || ($this->orig_dn == "new")){
-        $ldap->cd(get_groups_ou().$this->base);
-        $ldap->ls("(&(|(objectClass=gosaGroupOfNames)(objectClass=posixGroup))(cn=$this->cn))",get_groups_ou().$this->base,array("cn"));
-        if ($ldap->count() != 0){
-          $message[]= msgPool::duplicated(_("Name"));
+    /* Return plugin informations for acl handling  */ 
+    static function plInfo()
+    {
+        return (array(  
+                    "plShortName" => _("Generic"),
+                    "plDescription" => _("Generic group settings"),
+                    "plSelfModify"  => FALSE,
+                    "plDepends"     => array(),
+                    "plPriority"    => 0,
+                    "plSection"     => array("administration"),
+                    "plCategory"    => array("groups" => array("objectClass" => "posixGroup", "description" => _("Groups"))),
+
+                    "plProperties" =>
+                    array(
+                        array(
+                            "name"          => "ogroupRDN",
+                            "type"          => "rdn",
+                            "default"       => "ou=groups,",
+                            "description"   => _("RDN for object group storage."),
+                            "check"         => "gosaProperty::isRdn",
+                            "migrate"       => "migrate_ogroupRDN",
+                            "group"         => "plugin",
+                            "mandatory"     => FALSE)),
+
+
+            "plProvidedAcls"    => array(
+                    "cn"                => _("Name"),
+                    "description"       => _("Description"),
+                    "base"              => _("Base"),
+
+                    "gidNumber"         => _("GID"),
+
+                    "sambaGroupType"    => _("Samba group type"),
+                    "sambaDomainName"   => _("Samba domain name"),
+                    "accessTo"        => _("System trust"),
+                    "fonGroup"          => _("Phone pickup group"),
+                    "nagiosGroup"       => _("Nagios group"),
+
+                    "memberUid"         => _("Group member"))
+                ));
+    }
+
+
+    function multiple_save_object()
+    {
+        if(isset($_POST['group_mulitple_edit'])){
+
+            /* Create a base backup and reset the
+               base directly after calling plugin::save_object();
+               Base will be set seperatly a few lines below */
+            $base_tmp = $this->base;
+            plugin::multiple_save_object();
+            plugin::save_object();
+            $this->trustModeDialog->multiple_save_object();
+            $this->base = $base_tmp;
+
+            foreach(array("base","smbgroup","groupType","sambaDomainName","fon_group","nagios_group") as $attr){
+                if(isset($_POST['use_'.$attr])){
+                    $this->multi_boxes[] = $attr;
+                }
+            }
+
+            /* Refresh base */
+            if ($this->acl_is_moveable($this->base)){
+                if (!$this->baseSelector->update()) {
+                    msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG);
+                }
+                if ($this->base != $this->baseSelector->getBase()) {
+                    $this->base= $this->baseSelector->getBase();
+                    $this->is_modified= TRUE;
+                }
+            }
+
+            foreach (array( "smbgroup"   => "sambaGroupType" ,"nagios_group" => "nagiosGroup") as $val => $aclname) {
+                if ($this->acl_is_writeable($aclname)){
+                    if(isset($_POST["$val"])){
+                        $this->$val=  TRUE;
+                    }else{
+                        $this->$val=  FALSE;
+                    }
+                }
+            }
+
+            /* Save sambaDomain attribute */
+            if ($this->acl_is_writeable("sambaDomainName") && isset ($_POST['sambaDomainName'])){
+                $this->sambaDomainName= get_post('sambaDomainName');
+                $this->groupType= get_post('groupType');
+            }
+
+            /* Save fon attribute */
+            if ($this->acl_is_writeable("fonGroup")){
+                if (isset ($_POST['fon_group'])){
+                    $this->fon_group= TRUE;
+                } else {
+                    $this->fon_group= FALSE;
+                }
+            }
         }
-      }
+    }
 
-    }else{
 
-      /* Check for used 'cn' */
-      $ldap= $this->config->get_ldap_link();
-      $ldap->cd($this->config->current['BASE']);
-      $ldap->search("(&(|(objectClass=gosaGroupOfNames)(objectClass=posixGroup))(cn=$this->cn))",array("cn"));
-      if ($ldap->count() != 0){
+    function get_multi_edit_values()
+    {
+        $ret = plugin::get_multi_edit_values();
+        $ret = array_merge($ret,$this->trustModeDialog->get_multi_edit_values());
 
-        /* New entry? */
-        if ($this->dn == 'new'){
-          $message[]= msgPool::duplicated(_("Name"));
+        foreach(array("base","smbgroup","groupType","sambaDomainName","fon_group","nagios_group") as $attr){    
+            if(in_array($attr,$this->multi_boxes)){
+                $ret[$attr] = $this->$attr;
+            }
         }
 
-        /* Moved? */
-        elseif ($new_dn != $this->orig_dn){
-          $ldap->fetch();
-          if ($ldap->getDN() != $this->orig_dn){
-            $message[]= msgPool::duplicated(_("Name"));
-          }
-        }
-      }
+        $ret['memberUid'] = $this->memberUid;
+        $ret['memberUid_used_by_some'] = $this->memberUid_used_by_some;
+        return($ret);
     }
-     
-    /* Check ID */
-    if ($this->force_gid == "1"){
-      if (!tests::is_id($this->gidNumber)){
-        $message[]= msgPool::invalid(_("GID"), $this->gidNumber, "/[0-9]/");
-      } else {
-        if ($this->gidNumber < $this->config->get_cfg_value("minId")){
-          $message[]= msgPool::toosmall(_("GID"), $this->config->get_cfg_value("minId"));
-        }
 
-      }
-    }
-    
-    /* Check if we are allowed to create or move this object 
-     */
-    if(!$this->orig_dn == "new" || 
-        $this->orig_base != $this->base || 
-        $this->cn != $this->orig_cn){
-
-      if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
-        $message[] = msgPool::permCreate();
-      }elseif($this->orig_dn != "new" && !$this->acl_is_moveable($this->base)){
-        $message[] = msgPool::permMove();
-      }
+    function multiple_execute()
+    {
+        return($this->execute());
     }
 
-    return ($message);
-  }
-
 
-  function getCopyDialog()
-  {
-    $vars = array("cn");
-  
-    if($this ->force_gid){
-      $used = " checked ";
-      $dis  = "";
-    }else{
-      $used = "";
-      $dis  = " disabled ";
-    }
+    /* Initialize plugin with given atribute arrays
+     */
+    function init_multiple_support($attrs,$all)
+    {
+        plugin::init_multiple_support($attrs,$all);
+        $this->trustModeDialog->init_multiple_support($attrs,$all);
+
+        $this->memberUid = array();
+        $this->memberUid_used_by_some = array();
+        if (isset($attrs['memberUid'])){
+            for ($i= 0; $i<$attrs['memberUid']['count']; $i++){
+                $this->memberUid[$attrs['memberUid'][$i]]= $attrs['memberUid'][$i];
+            }
+            ksort($this->memberUid);
+        }
 
-    $smarty = get_smarty();
-    $smarty->assign("used",$used);
-    $smarty->assign("dis" ,$dis);
-    $smarty->assign("cn" ,$this->cn);
-    $smarty->assign("gidNumber",$this->gidNumber);
-    $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE));
-    $ret = array();
-    $ret['string'] = $str;
-    $ret['status'] = "";
-    return($ret);
-  }
-
-  function saveCopyDialog()
-  {
-    if(isset($_POST['cn'])){
-      $this->cn = $_POST['cn'];
-    }
-    if(isset($_POST['force_gid'])){
-      $this->force_gid  = 1;
-      $this->gidNumber= $_POST['gidNumber'];
-    }else{
-      $this->force_gid  = 0;
-      $this->gidNumber  = false;
-    }
-  }
-
-  
-  /* Return plugin informations for acl handling  */ 
-  static function plInfo()
-  {
-    return (array(  
-          "plShortName" => _("Generic"),
-          "plDescription" => _("Generic group settings"),
-          "plSelfModify"  => FALSE,
-          "plDepends"     => array(),
-          "plPriority"    => 0,
-          "plSection"     => array("administration"),
-          "plCategory"    => array("groups" => array("objectClass" => "posixGroup", "description" => _("Groups"))),
-
-          "plProvidedAcls"    => array(
-            "cn"                => _("Name"),
-            "description"       => _("Description"),
-            "base"              => _("Base"),
-
-            "gidNumber"         => _("GID"),
-
-            "sambaGroupType"    => _("Samba group type"),
-            "sambaDomainName"   => _("Samba domain name"),
-            "trustModel"        => _("System trust"),
-            "fonGroup"          => _("Phone pickup group"),
-            "nagiosGroup"       => _("Nagios group"),
-
-            "memberUid"         => _("Group member"))
-        ));
-  }
-
-
-  function multiple_save_object()
-  {
-    if(isset($_POST['group_mulitple_edit'])){
-
-      /* Create a base backup and reset the
-         base directly after calling plugin::save_object();
-         Base will be set seperatly a few lines below */
-      $base_tmp = $this->base;
-      plugin::multiple_save_object();
-      plugin::save_object();
-      $this->base = $base_tmp;
-
-      foreach(array("base","smbgroup","groupType","sambaDomainName","fon_group","nagios_group","trustmode") as $attr){
-        if(isset($_POST['use_'.$attr])){
-          $this->multi_boxes[] = $attr;
-        }
-      }
-
-      /* Refresh base */
-      if ($this->acl_is_moveable($this->base)){
-        if (!$this->baseSelector->update()) {
-          msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG);
-        }
-        if ($this->base != $this->baseSelector->getBase()) {
-          $this->base= $this->baseSelector->getBase();
-          $this->is_modified= TRUE;
-        }
-      }
-
-      foreach (array( "smbgroup"   => "sambaGroupType" ,"nagios_group" => "nagios_group") as $val => $aclname) {
-        if ($this->acl_is_writeable($aclname)){
-          if(isset($_POST["$val"])){
-            $this->$val=  TRUE;
-          }else{
-            $this->$val=  FALSE;
-          }
-        }
-      }
-
-      /* Save sambaDomain attribute */
-      if ($this->acl_is_writeable("sambaDomainName") && isset ($_POST['sambaDomainName'])){
-        $this->sambaDomainName= $_POST['sambaDomainName'];
-        $this->groupType= $_POST['groupType'];
-      }
-
-      /* Trust mode - special handling */
-      if($this->acl_is_writeable("trustModel")){
-        if (isset($_POST['trustmode'])){
-          $saved= $this->trustModel;
-          if ($_POST['trustmode'] == "1"){
-            $this->trustModel= "fullaccess";
-          } elseif ($_POST['trustmode'] == "2"){
-            $this->trustModel= "byhost";
-          } else {
-            $this->trustModel= "";
-          }
-          if ($this->trustModel != $saved){
-            $this->is_modified= TRUE;
-          }
-        }
-      }
-
-      /* Save fon attribute */
-      if ($this->acl_is_writeable("fonGroup")){
-        if (isset ($_POST['fon_group'])){
-          $this->fon_group= TRUE;
-        } else {
-          $this->fon_group= FALSE;
+        if (isset($all['memberUid'])){
+            for ($i= 0; $i<$all['memberUid']['count']; $i++){
+                if(!in_array($all['memberUid'][$i],$this->memberUid)){
+                    $this->memberUid_used_by_some[$all['memberUid'][$i]]= $all['memberUid'][$i];
+                }
+            }
+            ksort($this->memberUid_used_by_some);
         }
-      }
-    }
-  }
 
+        $this->reload(TRUE);
+
+        // We've two lists in mutliple support  
+        //  - one which represents those users which are part of ALL groups.
+        //  - ond one which represents those users which are only part of SOME groups.
+        $this->commonList = new sortableListing();
+        $this->commonList->setDeleteable(true);
+        $this->commonList->setInstantDelete(true);
+        $this->commonList->setEditable(false);
+        $this->commonList->setWidth("100%");
+        $this->commonList->setHeight("120px");
+        $this->commonList->setHeader(array('~',_("Given name"),_("Surname"),_("UID")));
+        $this->commonList->setColspecs(array('20px','*','*','*','20px'));
+        $this->commonList->setDefaultSortColumn(1);
+
+        $this->partialList = new sortableListing();
+        $this->partialList->setDeleteable(true);
+        $this->partialList->setInstantDelete(true);
+        $this->partialList->setEditable(false);
+        $this->partialList->setWidth("100%");
+        $this->partialList->setHeight("120px");
+        $this->partialList->setHeader(array('~',_("Given name"),_("Surname"),_("UID")));
+        $this->partialList->setColspecs(array('20px','*','*','*','20px'));
+        $this->partialList->setDefaultSortColumn(1);
+    }
+
+
+    function PrepareForCopyPaste($source)
+    {
+        plugin::PrepareForCopyPaste($source);
+
+        $this->trustModeDialog->PrepareForCopyPaste($source);
+
+        /* Get samba Domain in case of samba 3 */
+        if ($this->sambaSID != ""){
+            $this->SID= preg_replace ("/-[^-]+$/", "", $this->sambaSID);
+            $ldap= $this->config->get_ldap_link();
+            $ldap->cd($this->config->current['BASE']);
+            $ldap->search ("(&(objectClass=sambaDomain)(sambaSID=$this->SID))",array("sambaAlgorithmicRidBase"));
+            if ($ldap->count() != 0){
+                $attrs= $ldap->fetch();
+                if(isset($attrs['sambaAlgorithmicRidBase'])){
+                    $this->ridBase= $attrs['sambaAlgorithmicRidBase'][0];
+                } else {
+                    $this->ridBase= $this->config->get_cfg_value("core","sambaRidBase");
+                }
+
+                /* Get domain name for SID */
+                $this->sambaDomainName= "DEFAULT";
+                foreach ($this->config->data['SERVERS']['SAMBA'] as $key => $val){
+                    if ($val['SID'] == $this->SID){
+                        $this->sambaDomainName= $key;
+                        break;
+                    }
+                }
+            } else {
+                if ($this->config->get_cfg_value("core","sambaRidBase") != ""){
+                    $this->sambaDomainName= "DEFAULT";
+                    $this->ridBase= $this->config->get_cfg_value("core","sambaRidBase");
+                    $this->SID= $this->config->get_cfg_value("core","sambaSID");
+                } else {
+                    msg_dialog::display(_("Configuration error"), _("Cannot find group SID in your configuration!"), ERROR_DIALOG);
+                }
+            }
+
+            /* Get group type */
+            $this->groupType= (int)substr(strrchr($this->sambaSID, "-"), 1);
+            if ($this->groupType < 500 || $this->groupType > 553){
+                $this->groupType= 0;
+            }
+            $this->oldgroupType= $this->groupType;
+        }
 
-  function get_multi_edit_values()
-  {
-    $ret = plugin::get_multi_edit_values();
+        // Detect samba groups and adapt its values.
+        $this->smbgroup = in_array('sambaGroupMapping', $source['objectClass']);
+        if ($this->smbgroup) { 
+            $this->sambaSID = $this->getSambaSID(); 
+        } 
 
-    foreach(array("base","smbgroup","groupType","sambaDomainName","fon_group","nagios_group") as $attr){    
-      if(in_array($attr,$this->multi_boxes)){
-        $ret[$attr] = $this->$attr;
-      }
+        $this->memberUid = array();
+        if(isset($source['memberUid'])){
+            for($i = 0 ; $i < $source['memberUid']['count']; $i ++){
+                $this->memberUid[] = $source['memberUid'][$i];
+            }
+        }
     }
 
-    if(in_array("trustmode",$this->multi_boxes)){
-      $ret['trustModel'] = $this->trustModel;
-      $ret['accessTo'] = $this->accessTo;
-    }
 
-    $ret['memberUid'] = $this->memberUid;
-    $ret['memberUid_used_by_some'] = $this->memberUid_used_by_some;
-    return($ret);
-  }
-
-  function multiple_execute()
-  {
-    return($this->execute());
-  }
-
-
-  /* Initialize plugin with given atribute arrays
-   */
-  function init_multiple_support($attrs,$all)
-  {
-    plugin::init_multiple_support($attrs,$all);
-
-    $this->memberUid = array();
-    $this->memberUid_used_by_some = array();
-    if (isset($attrs['memberUid'])){
-      for ($i= 0; $i<$attrs['memberUid']['count']; $i++){
-        $this->memberUid[$attrs['memberUid'][$i]]= $attrs['memberUid'][$i];
-      }
-      ksort($this->memberUid);
+    function set_acl_base($base)
+    {
+        plugin::set_acl_base($base);
+        $this->trustModeDialog->set_acl_base($base);
     }
 
-    if (isset($all['memberUid'])){
-      for ($i= 0; $i<$all['memberUid']['count']; $i++){
-        if(!in_array($all['memberUid'][$i],$this->memberUid)){
-          $this->memberUid_used_by_some[$all['memberUid'][$i]]= $all['memberUid'][$i];
-        }
-      }
-      ksort($this->memberUid_used_by_some);
-    }
-  }
-
-
-  function PrepareForCopyPaste($source)
-  {
-    plugin::PrepareForCopyPaste($source);
-
-    /* Get samba Domain in case of samba 3 */
-    if ($this->sambaSID != ""){
-      $this->SID= preg_replace ("/-[^-]+$/", "", $this->sambaSID);
-      $ldap= $this->config->get_ldap_link();
-      $ldap->cd($this->config->current['BASE']);
-      $ldap->search ("(&(objectClass=sambaDomain)(sambaSID=$this->SID))",array("sambaAlgorithmicRidBase"));
-      if ($ldap->count() != 0){
-        $attrs= $ldap->fetch();
-        if(isset($attrs['sambaAlgorithmicRidBase'])){
-          $this->ridBase= $attrs['sambaAlgorithmicRidBase'][0];
-        } else {
-          $this->ridBase= $this->config->get_cfg_value("sambaRidBase");
-        }
-
-        /* Get domain name for SID */
-        $this->sambaDomainName= "DEFAULT";
-        foreach ($this->config->data['SERVERS']['SAMBA'] as $key => $val){
-          if ($val['SID'] == $this->SID){
-            $this->sambaDomainName= $key;
-            break;
-          }
-        }
-      } else {
-        if ($this->config->get_cfg_value("sambaRidBase") != ""){
-          $this->sambaDomainName= "DEFAULT";
-          $this->ridBase= $this->config->get_cfg_value("sambaRidBase");
-          $this->SID= $this->config->get_cfg_value("sid");
-        } else {
-          msg_dialog::display(_("Configuration error"), _("Cannot find group SID in your configuration!"), ERROR_DIALOG);
-        }
-      }
 
-      /* Get group type */
-      $this->groupType= (int)substr(strrchr($this->sambaSID, "-"), 1);
-      if ($this->groupType < 500 || $this->groupType > 553){
-        $this->groupType= 0;
-      }
-      $this->oldgroupType= $this->groupType;
+    /*! \brief  Enables multiple support for this plugin
+     */
+    function enable_multiple_support()
+    {
+        plugin::enable_multiple_support();
+        $this->trustModeDialog->enable_multiple_support();
     }
 
 
-    // Detect samba groups and adapt its values.
-    $this->smbgroup = in_array('sambaGroupMapping', $source['objectClass']);
-    if ($this->smbgroup) { 
-      $this->sambaSID = $this->getSambaSID(); 
-    } 
-
-    $this->memberUid = array();
-    if(isset($source['memberUid'])){
-      for($i = 0 ; $i < $source['memberUid']['count']; $i ++){
-        $this->memberUid[] = $source['memberUid'][$i];
-      }
-    }
-    $this->accessTo = array();
-    if (isset($source['accessTo'])){
-      for ($i= 0; $i<$source['accessTo']['count']; $i++){
-        $tmp= $source['accessTo'][$i];
-        $this->accessTo[$tmp]= $tmp;
-      }
-    }
-  }
-
+    function set_multi_edit_values($attrs)
+    {
+        $users = array();
 
-  function set_multi_edit_values($attrs)
-  {
-    $users = array();
+        /* Update groupMembership, keep optinal group */
+        foreach($attrs['memberUid_used_by_some'] as $uid){
+            if(in_array($uid,$this->memberUid)){
+                $users[$uid] = $uid;
+            }
+        }
 
-    /* Update groupMembership, keep optinal group */
-    foreach($attrs['memberUid_used_by_some'] as $uid){
-      if(in_array($uid,$this->memberUid)){
-        $users[$uid] = $uid;
-      }
-    }
+        /* Update groupMembership, add forced groups */
+        foreach($attrs['memberUid'] as $uid){
+            $users[$uid] = $uid;
+        }
+        plugin::set_multi_edit_values($attrs);
+        $this->trustModeDialog->set_multi_edit_values($attrs);
+        $this->memberUid = $users;
+    }
+
+
+    /*! \brief Get a new SambaSID for a group */ 
+    function getSambaSID() 
+    { 
+        $ldap = $this->config->get_ldap_link(); 
+        $gidNumber= $this->gidNumber; 
+        while(TRUE){ 
+            $sid= $this->SID."-".($gidNumber*2 + $this->ridBase+1); 
+            $ldap->cd($this->config->current['BASE']); 
+            $ldap->search("(sambaSID=$sid)",array("sambaSID")); 
+            if ($ldap->count() == 0){ 
+                break; 
+            } 
+            $gidNumber++; 
+        } 
 
-    /* Update groupMembership, add forced groups */
-    foreach($attrs['memberUid'] as $uid){
-      $users[$uid] = $uid;
-    }
-    plugin::set_multi_edit_values($attrs);
-    $this->memberUid = $users;
-  }
-
-
-  /*! \brief Get a new SambaSID for a group */ 
-  function getSambaSID() 
-  { 
-    $ldap = $this->config->get_ldap_link(); 
-    $gidNumber= $this->gidNumber; 
-    while(TRUE){ 
-      $sid= $this->SID."-".($gidNumber*2 + $this->ridBase+1); 
-      $ldap->cd($this->config->current['BASE']); 
-      $ldap->search("(sambaSID=$sid)",array("sambaSID")); 
-      if ($ldap->count() == 0){ 
-        break; 
-      } 
-      $gidNumber++; 
+        return $sid; 
     } 
-  
-    return $sid; 
-  } 
 
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/groups/class_groupManagement.inc b/gosa-core/plugins/admin/groups/class_groupManagement.inc
index 9523e56..1a0864b 100644
--- a/gosa-core/plugins/admin/groups/class_groupManagement.inc
+++ b/gosa-core/plugins/admin/groups/class_groupManagement.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_groupManagement.inc 15407 2010-01-28 10:39:18Z hickert $$
+ * ID: $$Id: class_groupManagement.inc 19290 2010-07-29 16:21:26Z cajus $$
  *
  * 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
@@ -22,195 +22,194 @@
 
 class groupManagement extends management
 {
-  var $plHeadline     = "Groups";
-  var $plDescription  = "Group administration";
-  var $plIcon  = "plugins/groups/images/plugin.png";
-
-  // Tab definition 
-  protected $tabClass = "grouptabs";
-  protected $tabType = "GROUPTABS";
-  protected $aclCategory = "groups";
-  protected $aclPlugin   = "group";
-  protected $objectName   = "group";
-
-  function __construct($config,$ui)
-  {
-    $this->config = $config;
-    $this->ui = $ui;
-   
-    $this->storagePoints = array(get_ou("groupRDN"));
- 
-    // Build filter
-    if (session::global_is_set(get_class($this)."_filter")){
-      $filter= session::global_get(get_class($this)."_filter");
-    } else {
-      $filter = new filter(get_template_path("group-filter.xml", true));
-      $filter->setObjectStorage($this->storagePoints);
+    var $plHeadline     = "Groups";
+    var $plDescription  = "Manage aspects of groups like members, POSIX, desktop, samba and mail settings";
+    var $plIcon  = "plugins/groups/images/plugin.png";
+
+    // Tab definition 
+    protected $tabClass = "grouptabs";
+    protected $tabType = "GROUPTABS";
+    protected $aclCategory = "groups";
+    protected $aclPlugin   = "group";
+    protected $objectName   = "group";
+
+    function __construct($config,$ui)
+    {
+        $this->config = $config;
+        $this->ui = $ui;
+
+        $this->storagePoints = array(get_ou("core", "groupRDN"));
+
+        // Build filter
+        if (session::global_is_set(get_class($this)."_filter")){
+            $filter= session::global_get(get_class($this)."_filter");
+        } else {
+            $filter = new filter(get_template_path("group-filter.xml", true));
+            $filter->setObjectStorage($this->storagePoints);
+        }
+        $this->setFilter($filter);
+
+        // Build headpage
+        $headpage = new listing(get_template_path("group-list.xml", true));
+        $headpage->registerElementFilter("filterProperties", "groupManagement::filterProperties");
+        $headpage->setFilter($filter);
+
+        // Add copy&paste and snapshot handler.
+        if ($this->config->boolValueIsTrue("core", "copyPaste")){
+            $this->cpHandler = new CopyPasteHandler($this->config);
+        }
+        if($this->config->get_cfg_value("core","enableSnapshots") == "true"){
+            $this->snapHandler = new SnapshotHandler($this->config);
+        }
+        parent::__construct($config, $ui, "groups", $headpage);
+
+        $this->registerAction("edit_group","editEntry");
+        $this->registerAction("edit_group_","editEntry");
+        $this->registerAction("edit_group__","editEntry");
+        $this->registerAction("edit_environment","editEntry");
+        $this->registerAction("edit_appgroup","editEntry");
+        $this->registerAction("edit_mailgroup","editEntry");
+
+        $this->registerAction("sendMessage", "sendMessage");
+        $this->registerAction("saveEventDialog", "saveEventDialog");
+        $this->registerAction("abortEventDialog", "closeDialogs");
     }
-    $this->setFilter($filter);
 
-    // Build headpage
-    $headpage = new listing(get_template_path("group-list.xml", true));
-    $headpage->registerElementFilter("filterProperties", "groupManagement::filterProperties");
-    $headpage->setFilter($filter);
-
-    // Add copy&paste and snapshot handler.
-    if ($this->config->boolValueIsTrue("main", "copyPaste")){
-      $this->cpHandler = new CopyPasteHandler($this->config);
-    }
-    if($this->config->get_cfg_value("enableSnapshots") == "true"){
-      $this->snapHandler = new SnapshotHandler($this->config);
-    }
-    parent::__construct($config, $ui, "groups", $headpage);
-
-    $this->registerAction("edit_group","editEntry");
-    $this->registerAction("edit_environment","editEntry");
-    $this->registerAction("edit_appgroup","editEntry");
-    $this->registerAction("edit_mailgroup","editEntry");
-
-    $this->registerAction("sendMessage", "sendMessage");
-    $this->registerAction("saveEventDialog", "saveEventDialog");
-    $this->registerAction("abortEventDialog", "closeDialogs");
-  }
-
-  // Inject user actions
-  function detectPostActions()
-  {
-    $action = management::detectPostActions();
-    if(isset($_POST['save_event_dialog'])) $action['action'] = "saveEventDialog";
-    if(isset($_POST['abort_event_dialog'])) $action['action'] = "abortEventDialog";
-    return($action);
-  }
-
-
-  /*! \brief  Sends a message to a set of users using gosa-si events.
-   */
-  function saveEventDialog()
-  {
-    $this->dialogObject->save_object();
-    $msgs = $this->dialogObject->check();
-    if(count($msgs)){
-      msg_dialog::displayChecks($msgs);
-    }else{
-      $o_queue = new gosaSupportDaemon();
-      $o_queue->append($this->dialogObject);
-      if($o_queue->is_error()){
-        msg_dialog::display(_("Infrastructure error"), msgPool::siError($o_queue->get_error()),ERROR_DIALOG);
-      }
-      $this->closeDialogs();
+    // Inject user actions
+    function detectPostActions()
+    {
+        $action = management::detectPostActions();
+        if(isset($_POST['save_event_dialog'])) $action['action'] = "saveEventDialog";
+        if(isset($_POST['abort_event_dialog'])) $action['action'] = "abortEventDialog";
+        return($action);
     }
-  }
-
-
-  /*! \brief  Sends a message to a set of users using gosa-si events.
-   */
-  function sendMessage($action="",$target=array(),$all=array())
-  {
-    $uids = array();
-    $ldap = $this->config->get_ldap_link();
-    $ldap->cd($this->config->current['BASE']);
-    foreach($target as $dn){
-      $ldap->cat($dn,array('cn'));
-      if($ldap->count()){
-        $attrs = $ldap->fetch();
-        $uids[] = $attrs['cn'][0];
-      }
-    }
-    if(count($uids)){
-      $events = DaemonEvent::get_event_types(USER_EVENT);
-      $event = "DaemonEvent_notify";
-      if(isset($events['BY_CLASS'][$event])){
-        $type = $events['BY_CLASS'][$event];
-        $this->dialogObject = new $type['CLASS_NAME']($this->config);
-        $this->dialogObject->add_groups($uids);
-        $this->dialogObject->set_type(SCHEDULED_EVENT);
-      }
+
+
+    /*! \brief  Sends a message to a set of users using gosa-si events.
+     */
+    function saveEventDialog()
+    {
+        $this->dialogObject->save_object();
+        $msgs = $this->dialogObject->check();
+        if(count($msgs)){
+            msg_dialog::displayChecks($msgs);
+        }else{
+            $o_queue = new gosaSupportDaemon();
+            $o_queue->append($this->dialogObject);
+            if($o_queue->is_error()){
+                msg_dialog::display(_("Infrastructure error"), msgPool::siError($o_queue->get_error()),ERROR_DIALOG);
+            }
+            $this->closeDialogs();
+        }
     }
-  }
 
 
-  function editEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="")
-  {
-    $str = management::editEntry($action,$target);
+    /*! \brief  Sends a message to a set of users using gosa-si events.
+     */
+    function sendMessage($action="",$target=array(),$all=array())
+    {
+        $uids = array();
+        $ldap = $this->config->get_ldap_link();
+        $ldap->cd($this->config->current['BASE']);
+        foreach($target as $dn){
+            $ldap->cat($dn,array('cn'));
+            if($ldap->count()){
+                $attrs = $ldap->fetch();
+                $uids[] = $attrs['cn'][0];
+            }
+        }
+        if(count($uids)){
+            $events = DaemonEvent::get_event_types(USER_EVENT);
+            $event = "DaemonEvent_notify";
+            if(isset($events['BY_CLASS'][$event])){
+                $type = $events['BY_CLASS'][$event];
+                $this->dialogObject = new $type['CLASS_NAME']($this->config);
+                $this->dialogObject->add_groups($uids);
+                $this->dialogObject->set_type(SCHEDULED_EVENT);
+            }
+        }
+    }
+
 
-    if(preg_match("/^edit_/",$action)){
-      $tab = preg_replace("/^edit_/","",$action);
-      if(isset($this->tabObject->by_object[$tab])){
-        $this->tabObject->current = $tab;
-      }else{
-        trigger_error("Unknown tab: ".$tab);
-      }
+    function editEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="")
+    {
+        $str = management::editEntry($action,$target);
+        if(preg_match("/^edit_/",$action)){
+            $tab = preg_replace("/^edit_([^_]*).*$/","\\1",$action);
+            if(isset($this->tabObject->by_object[$tab])){
+                $this->tabObject->current = $tab;
+            }else{
+                trigger_error("Unknown tab: ".$tab);
+            }
+        }
+        if(!empty($str)) return($str);
     }
-    if(!empty($str)) return($str);
-  }
-
-  static function filterProperties($row, $classes)
-  {
-    $result= "";
-
-    $map = array(
-        "posixGroup" => 
-        array(
-          "image" => "plugins/groups/images/groups.png",
-          "plugin" => "group",
-          "alt" => _("Posix"),
-          "title" => _("Edit posix properties")
-          ),
-
-        "gosaMailAccount" => 
-        array(
-          "image" => "plugins/groups/images/mail.png",
-          "plugin" => "mailgroup",
-          "alt" => _("Mail"),
-          "title" => _("Edit mail properties")
-          ),
-
-        "sambaGroupMapping" => 
-        array(
-          "image" => "plugins/groups/images/samba.png",
-          "plugin" => "group",
-          "alt" => _("Samba"),
-          "title" => _("Edit samba properties")
-          ),
-
-        "goFonPickupGroup" => 
-          array(
-              "image" => "plugins/groups/images/asterisk.png",
-              "plugin" => "group",
-              "alt" => _("Phone"),
-              "title" => _("Edit phone properties")
-              ),
-
-        "gotoMenuGroup" => 
-          array(
-              "image" => "plugins/groups/images/menu.png",
-              "plugin" => "appgroup",
-              "alt" => _("Menu"),
-              "title" => _("Edit start menu properties")
-              ),
-
-        "gotoEnvironment" => 
-          array(
-              "image" => "plugins/groups/images/environment.png",
-              "plugin" => "environment",
-              "alt" => _("Environment"),
-              "title" => _("Edit environment properties")
-              )
-          );
-
-
-    // Walk thru map
-    foreach ($map as $oc => $properties) {
-      if (in_array_ics($oc, $classes)) {
-        $result.="<input class='center' type='image' src='".$properties['image']."' ".
-          "alt='".$properties['alt']."' title='".$properties['title'].
-                 "' name='listing_edit_".$properties['plugin']."_$row' style='padding:1px'>";
-      } else {
-        $result.="<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
-      }
+
+    static function filterProperties($row, $classes)
+    {
+        $result= "";
+
+        $map = array(
+                "posixGroup" => 
+                array(
+                    "image" => "plugins/groups/images/select_group.png",
+                    "plugin" => "group",
+                    "alt" => _("POSIX"),
+                    "title" => _("Edit POSIX properties")
+                    ),
+
+                "gosaMailAccount" => 
+                array(
+                    "image" => "plugins/groups/images/mail.png",
+                    "plugin" => "mailgroup",
+                    "alt" => _("Mail"),
+                    "title" => _("Edit mail properties")
+                    ),
+
+                "sambaGroupMapping" => 
+                array(
+                    "image" => "plugins/groups/images/samba.png",
+                    "plugin" => "group_",
+                    "alt" => _("Samba"),
+                    "title" => _("Edit samba properties")
+                    ),
+
+                "goFonPickupGroup" => 
+                    array(
+                            "image" => "plugins/groups/images/asterisk.png",
+                            "plugin" => "group__",
+                            "alt" => _("Phone"),
+                            "title" => _("Edit phone properties")
+                         ),
+
+                "gotoMenuGroup" => 
+                    array(
+                            "image" => "plugins/groups/images/menu.png",
+                            "plugin" => "appgroup",
+                            "alt" => _("Menu"),
+                            "title" => _("Edit start menu properties")
+                         ),
+
+                "gotoEnvironment" => 
+                    array(
+                            "image" => "plugins/groups/images/environment.png",
+                            "plugin" => "environment",
+                            "alt" => _("Environment"),
+                            "title" => _("Edit environment properties")
+                         )
+                    );
+
+
+        // Walk thru map
+        foreach ($map as $oc => $properties) {
+            if (in_array_ics($oc, $classes)) {
+                $result.= image($properties['image'], 'listing_edit_'.$properties['plugin'].'_'.$row, $properties['title']);
+            } else {
+                $result.= image('images/empty.png');
+            }
+        }
+        return $result;
     }
-    return $result;
-  }
 } 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/plugins/admin/groups/generic.tpl b/gosa-core/plugins/admin/groups/generic.tpl
index 8e28946..5a591fd 100644
--- a/gosa-core/plugins/admin/groups/generic.tpl
+++ b/gosa-core/plugins/admin/groups/generic.tpl
@@ -5,7 +5,7 @@
 
 <table summary="" style="width:100%;">
  <tr>
-  <td style="width:50%; vertical-align:top;">
+  <td style="width:50%">
    <table summary="" style="width:100%">
     <tr>
      <td><LABEL for="cn">{t}Group name{/t}</LABEL>{$must}</td>
@@ -14,7 +14,7 @@
 	<input type='text' id="dummy1" name="dummy1" size=25 maxlength=60 value="{t}Multiple edit{/t}" disabled>
 {else}
 {render acl=$cnACL}
-       <input type='text' id="cn" name="cn" size=25 maxlength=60 value="{$cn}" title="{t}Posix name of the group{/t}">
+       <input type='text' id="cn" name="cn" size=25 maxlength=60 value="{$cn}" title="{t}POSIX name of the group{/t}">
 {/render}
 {/if}
      </td>
@@ -45,7 +45,7 @@
      </td>
     </tr>
     <tr>
-      <td colspan=2> <div style="height:15px; width:100%; border-bottom:1px solid #909090;"></div> </td>
+      <td colspan=2><hr></td>
     </tr>
     <tr>
       <td colspan=2> <div style="height:15px; width:100%;"></div> </td>
@@ -56,7 +56,7 @@
     <tr>
      <td colspan=2>
 {render acl=$gidNumberACL}
-      <input type=checkbox name="force_gid" value="1" title="{t}Normally IDs are autogenerated, select to specify manually{/t}" 
+      <input type=checkbox name="force_gid" value="1" title="{t}Normally IDs are auto-generated, select to specify manually{/t}" 
 	{$force_gid} onclick="changeState('gidNumber')">
 {/render}
 	<LABEL for="gidNumber">{t}Force GID{/t}</LABEL>
@@ -120,7 +120,7 @@
 
 	{if $pickupGroup == "true"}
     <tr>
-      <td colspan=2> <div style="height:15px; width:100%; border-bottom:1px solid #909090;"></div> </td>
+      <td colspan=2><hr></td>
     </tr>
     <tr>
       <td colspan=2> <div style="height:15px; width:100%;"></div> </td>
@@ -135,7 +135,7 @@
 	{/if}
 	{if $nagios == "true"}
     <tr>
-      <td colspan=2> <div style="height:15px; width:100%; border-bottom:1px solid #909090;"></div> </td>
+      <td colspan=2><hr></td>
     </tr>
     <tr>
       <td colspan=2> <div style="height:15px; width:100%;"></div> </td>
@@ -143,124 +143,56 @@
     <tr>
      <td colspan=2>
 {render acl=$nagiosGroupACL checkbox=$multiple_support checked=$use_nagios_group}
-      <input class="center" type=checkbox name="nagios_group" value="1" {$nagios_group}>{t}Members are in a nagios group{/t}
+      <input class="center" type=checkbox name="nagios_group" value="1" {$nagios_group}>{t}Members are in a Nagios group{/t}
 {/render}
      </td>
     </tr>
 	{/if}
     <tr>
-      <td colspan=2> <div style="height:15px; width:100%; border-bottom:1px solid #909090;"></div> </td>
+      <td colspan=2><hr></td>
     </tr>
     <tr>
       <td colspan=2> <div style="height:15px; width:100%;"></div> </td>
     </tr>
-{if !$multiple_support}
-	<tr>
-	 <td colspan="2">
-		    {t}Trust mode{/t} 
-    {render acl=$trustmodeACL}
-        <select name="trustmode" id="trustmode" size=1
-            onChange="changeSelectState('trustmode', 'wslist');
-                      changeSelectState('trustmode', 'add_ws');
-                      changeSelectState('trustmode', 'del_ws');">
-          {html_options options=$trustmodes selected=$trustmode}
-        </select>
-    {/render}
-    {render acl=$trustmodeACL}
-       <select style="width:100%" id="wslist" name="workstation_list[]" size=8 multiple {$trusthide}>
-        {html_options values=$workstations output=$workstations}
-        {if $emptyArrAccess}
-            <option disabled> </option>
-        {/if}
-       </select>
-    {/render}
-       <br>
-    {render acl=$trustmodeACL}
-       <input type="submit" id="add_ws" value="{msgPool type=addButton}" name="add_ws" {$trusthide}> 
-    {/render}
-    {render acl=$trustmodeACL}
-       <input type="submit" id="del_ws" value="{msgPool type=delButton}" name="delete_ws" {$trusthide}>
-    {/render}
-
-	 </td>
-	</tr>
-
-{else}
-
-	<tr>
-	 <td colspan="2">
-    <input type="checkbox" name="use_trustmode" {if $use_trustmode} checked {/if}
-        class="center" onClick="$('div_trustmode').toggle();">
-		    {t}Trust mode{/t} 
-	<div {if !$use_trustmode} style="display: none;" {/if} id="div_trustmode">
-    {render acl=$trustmodeACL}
-        <select name="trustmode" id="trustmode" size=1
-            onChange="changeSelectState('trustmode', 'wslist');
-                      changeSelectState('trustmode', 'add_ws');
-                      changeSelectState('trustmode', 'del_ws');">
-          {html_options options=$trustmodes selected=$trustmode}
-        </select>
-    {/render}
-    {render acl=$trustmodeACL}
-       <select style="width:100%" id="wslist" name="workstation_list[]" size=8 multiple {$trusthide}>
-        {html_options values=$workstations output=$workstations}
-        {if $emptyArrAccess}
-            <option disabled> </option>
-        {/if}
-       </select>
-    {/render}
-       <br>
-    {render acl=$trustmodeACL}
-       <input type="submit" id="add_ws" value="{msgPool type=addButton}" name="add_ws" {$trusthide}> 
-    {/render}
-    {render acl=$trustmodeACL}
-       <input type="submit" id="del_ws" value="{msgPool type=delButton}" name="delete_ws" {$trusthide}>
-    {/render}
-		</div>
-	 </td>
-	</tr>
-
-{/if}
+    <tr>
+      <td colspan=2>{$trustModeDialog}</td>
+    </tr>
    </table>
 
   </td>
-  <td style="border-left:1px solid #A0A0A0">
+  <td class='left-border'>
+
     
   </td>
 
-  <td style="vertical-align:top;">
+  <td>
 
    <table summary="" style="width:100%">
     <tr>
-     <td style="vertical-align:top; width:50%">
-      <b><LABEL for="members">{t}Group members{/t}</LABEL></b>
-      <br>
-{render acl=$memberUidACL}
-
+     <td style="width:50%">
 	{if $multiple_support}
-	  <select style="width:100%; height:380px;" id="members" name="members[]" size=15 multiple>
-		{foreach from=$memberUid_All item=name key=key}
-			<option value="{$key}">{$name} ({t}In all groups{/t})</option>
-		{/foreach}
-		{foreach from=$memberUid_Some item=name key=key}
-        <option value="{$key}" style='color: #888888; background: #DDDDDD;background-color: #DDDDDD;'>{$name} ({t}Not in all groups{/t})</option>
-		{/foreach}
-	  </select>
+        <h3>{t}Common group members{/t}</h3>
+        {render acl=$memberUidACL}
+            {$commonList}
+        {/render}
+        {render acl=$memberUidACL}
+          <button type='submit' name='edit_membership'>{msgPool type=addButton}</button>
+        {/render}
+        
+        <br>
+        <h3>{t}Partial group members{/t}</h3>
+        {render acl=$memberUidACL}
+            {$partialList}
+        {/render}
 	{else}
-      <select style="width:100%; height:380px;" id="members" name="members[]" size=15 multiple>
-       {html_options options=$members}
-		<option disabled> </option>
-      </select>
+        <h3>{t}Group members{/t}</h3>
+        {render acl=$memberUidACL}
+            {$memberList}
+        {/render}
+        {render acl=$memberUidACL}
+          <button type='submit' name='edit_membership'>{msgPool type=addButton}</button>
+        {/render}
 	{/if}
-{/render}
-      <br>
-{render acl=$memberUidACL}
-      <input type=submit name="edit_membership" value="{msgPool type=addButton}">
-{/render}
-       
-{render acl=$memberUidACL}
-      <input type=submit name="del_users" value="{msgPool type=delButton}">
-{/render}
      </td>
     </tr> 
    </table>
diff --git a/gosa-core/plugins/admin/groups/group-filter.tpl b/gosa-core/plugins/admin/groups/group-filter.tpl
deleted file mode 100644
index 8bcae4b..0000000
--- a/gosa-core/plugins/admin/groups/group-filter.tpl
+++ /dev/null
@@ -1,37 +0,0 @@
-<div class="contentboxh">
- <p class="contentboxh">
-  <img src="images/launch.png" align="right" alt="[F]">{t}Filter{/t}
- </p>
-</div>
-
-<div class="contentboxb">
-
-<div style="border-top:1px solid #AAAAAA"></div>
-
- {$PRIMARY} <LABEL for='TEMPLATES'>{t}Show primary groups{/t}</LABEL><br>
- {$SAMBA} <LABEL for='TEMPLATES'>{t}Show samba groups{/t}</LABEL><br>
- {$MAIL} <LABEL for='TEMPLATES'>{t}Show mail groups{/t}</LABEL><br>
-
- {$SCOPE}
-
- <table summary="" style="width:100%;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td>
-    <label for="NAME">
-     <img src="images/lists/search.png" align=middle> {t}Name{/t}
-    </label>
-   </td>
-   <td>
-    {$NAME}
-   </td>
-  </tr>
- </table>
-
- <table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td width="100%" align="right">
-    {$APPLY}
-   </td>
-  </tr>
- </table>
-</div>
diff --git a/gosa-core/plugins/admin/groups/group-filter.xml b/gosa-core/plugins/admin/groups/group-filter.xml
index 0b49bfa..8847510 100644
--- a/gosa-core/plugins/admin/groups/group-filter.xml
+++ b/gosa-core/plugins/admin/groups/group-filter.xml
@@ -3,62 +3,41 @@
 <filterdef>
   <definition>
     <category>groups</category>
-    <template>group-filter.tpl</template>
     <initial>true</initial>
+    <scope>auto</scope>
+    <default>default</default>
+    <attribute>dn</attribute>
+    <attribute>objectClass</attribute>
+    <attribute>cn</attribute>
+    <attribute>description</attribute>
   </definition>
 
   <search>
+    <tag>default</tag>
+    <label>Default filter</label>
     <query>
       <backend>GroupLDAP</backend>
-      <filter>(&(objectClass=posixGroup)$NAME(|$PRIMARY$MAIL$SAMBA))</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
-      <attribute>cn</attribute>
-      <attribute>description</attribute>
+      <filter>(&(objectClass=posixGroup)(cn=$))</filter>
     </query>
-    <scope>auto</scope>
+    <autocomplete>
+      <attribute>cn</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
   </search>
 
-  <element>
-    <type>checkbox</type>
-    <tag>PRIMARY</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(!(objectClass=gosaObject))</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>MAIL</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=gosaMailAccount)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>SAMBA</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=sambaGroupMapping)</set>
-  </element>
-
-  <element>
-    <type>textfield</type>
-    <tag>NAME</tag>
-    <size>20</size>
-    <maxlength>60</maxlength>
-    <default></default>
-    <unset></unset>
-    <set>(|(cn=*$*)(description=*$*))</set>
-    <alphabet>true</alphabet>
+  <search>
+    <tag>default2</tag>
+    <label>Default filter2</label>
+    <query>
+      <backend>GroupLDAP</backend>
+      <filter>(&(objectClass=posixGroup)(cn=$))</filter>
+    </query>
     <autocomplete>
-      <backend>LDAP</backend>
-      <filter>(&(objectClass=posixGroup)(|(cn=*$NAME*)(description=*$NAME*)))</filter>
       <attribute>cn</attribute>
       <frequency>0.5</frequency>
       <characters>3</characters>
     </autocomplete>
-  </element>
+  </search>
 
 </filterdef>
diff --git a/gosa-core/plugins/admin/groups/group-list.tpl b/gosa-core/plugins/admin/groups/group-list.tpl
index 13bd0ac..b9b9a08 100644
--- a/gosa-core/plugins/admin/groups/group-list.tpl
+++ b/gosa-core/plugins/admin/groups/group-list.tpl
@@ -1,28 +1,26 @@
-<input type='image' src='images/empty.png' name='no_action_posted' value='do_nothing' alt='' style='width:2px;height:2px;'>
+<div id="mainlist">
 
-<table summary="" style="width:100%;height:100%; vertical-align:top; text-align:left;" 
-  <tr>
-    <td style="vertical-align:top; width:100%;">
-      <div class="contentboxh">
-        <p class="contentboxh"> {$HEADLINE} {$SIZELIMIT}</p>
-      </div>
-      
-      <div class="contentboxb">
-       <div style='background:white;padding:3px;'>
-        <table><tr>
-          <td>{$ROOT} </td><td>{$BACK} </td><td>{$HOME} </td><td>{$RELOAD} </td><td>{$SEPARATOR} </td><td>{t}Base{/t} {$BASE} </td><td>{$SEPARATOR} </td><td><img src='images/rocket.png' alt='' class='center'></td><td> {$ACTIONS}</td>
-        </tr></table>
-       </div>
-      </div>
-      
-      <div style='height:4px;'>
-      </div>
-      {$LIST}
-    </td>
-    <td style='vertical-align:top;min-width:250px'>
-      {$FILTER}
-    </td>
-  </tr>
-</table>
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}</p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$ROOT}</td>
+      <td>{$BACK}</td>
+      <td>{$HOME}</td>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{t}Base{/t} {$BASE}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
+
+  {$LIST}
+</div>
+
+<div class="clear"></div>
 
 <input type="hidden" name="ignore">
+
diff --git a/gosa-core/plugins/admin/groups/group-list.xml b/gosa-core/plugins/admin/groups/group-list.xml
index 27133af..160f852 100644
--- a/gosa-core/plugins/admin/groups/group-list.xml
+++ b/gosa-core/plugins/admin/groups/group-list.xml
@@ -16,26 +16,9 @@
       <objectClass>posixGroup</objectClass>
       <category>groups</category>
       <class>group</class>
-      <image>plugins/groups/images/groups.png</image>
+      <image>plugins/groups/images/select_group.png</image>
     </objectType>
 
-    <objectType>
-      <label>Group submenu entry</label>
-      <objectClass>gotoSubmenuEntry</objectClass>
-      <category>groups</category>
-      <class>group</class>
-      <image>plugins/groups/images/groups.png</image>
-    </objectType>
-
-    <objectType>
-      <label>Group menu entry</label>
-      <objectClass>gotoMenuEntry</objectClass>
-      <category>groups</category>
-      <class>group</class>
-      <image>plugins/groups/images/groups.png</image>
-    </objectType>
-
-
   </definition>
 
   <table>
@@ -86,13 +69,13 @@
 
     <action>
      <type>sub</type>
-     <image>images/lists/new.png</image>
+     <image>images/lists/element.png[new]</image>
      <label>Create</label>
 
      <action>
       <name>new</name>
       <type>entry</type>
-      <image>plugins/groups/images/new.png</image>
+      <image>plugins/groups/images/select_group.png[new]</image>
       <label>Group</label>
      </action>
     </action>
diff --git a/gosa-core/plugins/admin/groups/main.inc b/gosa-core/plugins/admin/groups/main.inc
index 5ed7f95..1830060 100644
--- a/gosa-core/plugins/admin/groups/main.inc
+++ b/gosa-core/plugins/admin/groups/main.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: main.inc 14740 2009-11-04 09:41:16Z hickert $$
+ * ID: $$Id: main.inc 19810 2010-09-28 06:00:52Z hickert $$
  *
  * 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
@@ -21,35 +21,35 @@
  */
 
 /* Remove locks created by this plugin
-*/
+ */
 if ($remove_lock){
-  if(session::is_set('groupManagement')){
-      $macl = session::get('groupManagement');
-      $macl->remove_lock();
-  }
+    if(session::is_set('groupManagement')){
+        $macl = session::get('groupManagement');
+        $macl->remove_lock();
+    }
 }
 
 /* Remove this plugin from session
-*/
+ */
 if ( $cleanup ){
-  session::un_set('groupManagement');
+    session::un_set('groupManagement');
 }else{
 
-  /* Create groupmanagement object on demand */
-  if (!session::is_set('groupManagement')){
-    $groupManagement= new groupManagement ($config, $ui);
-    session::set('groupManagement',$groupManagement);
-  }
-  $groupManagement = session::get('groupManagement');
-  $display= $groupManagement->execute();
+    /* Create groupmanagement object on demand */
+    if (!session::is_set('groupManagement')){
+        $groupManagement= new groupManagement ($config, $ui);
+        session::set('groupManagement',$groupManagement);
+    }
+    $groupManagement = session::get('groupManagement');
+    $display= $groupManagement->execute();
 
-  /* Reset requested? */
-  if (isset($_GET['reset']) && $_GET['reset'] == 1){
-    session::un_set ('groupManagement');
-  }
+    /* Reset requested? */
+    if (isset($_GET['reset']) && $_GET['reset'] == 1){
+        session::un_set ('groupManagement');
+    }
 
-  /* Show and save dialog */
-  session::set('groupManagement',$groupManagement);
+    /* Show and save dialog */
+    session::set('groupManagement',$groupManagement);
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/groups/migration/class_migrate_groupRDN.inc b/gosa-core/plugins/admin/groups/migration/class_migrate_groupRDN.inc
new file mode 100644
index 0000000..64b916c
--- /dev/null
+++ b/gosa-core/plugins/admin/groups/migration/class_migrate_groupRDN.inc
@@ -0,0 +1,6 @@
+<?php 
+class migrate_groupRDN extends migrateRDN implements propertyMigration
+{
+    protected $filter = "(&(objectClass=posixGroup)%s)";
+}
+?>
diff --git a/gosa-core/plugins/admin/groups/paste_generic.tpl b/gosa-core/plugins/admin/groups/paste_generic.tpl
index 449189d..499acba 100644
--- a/gosa-core/plugins/admin/groups/paste_generic.tpl
+++ b/gosa-core/plugins/admin/groups/paste_generic.tpl
@@ -1,16 +1,16 @@
-<h2>{t}Group settings{/t}</h2>
-<table width='100%'>
+<h3>{t}Group settings{/t}</h3>
+<table width='100%' summary="{t}Paste group settings{/t}" >
 	<tr>
 		<td style='width:150px;'>
 			{t}Group name{/t}
 		</td>
 		<td>
-			<input type='text' id='cn' name='cn' size='35' maxlength='60' value='{$cn}' title='{t}Posix name of the group{/t}'>
+			<input type='text' id='cn' name='cn' size='35' maxlength='60' value='{$cn}' title='{t}POSIX name of the group{/t}'>
 		</td>
 	</tr>
 	<tr>
 		<td>
-			<input type=checkbox name='force_gid' value='1' {$used} title='{t}Normally IDs are autogenerated, select to specify manually{/t}' 
+			<input type=checkbox name='force_gid' value='1' {$used} title='{t}Normally IDs are auto-generated, select to specify manually{/t}' 
 				onclick='changeState("gidNumber")'>
 			<LABEL for='gidNumber'>{t}Force GID{/t}</LABEL>
 		</td>
diff --git a/gosa-core/plugins/admin/groups/remove.tpl b/gosa-core/plugins/admin/groups/remove.tpl
deleted file mode 100644
index 7735c28..0000000
--- a/gosa-core/plugins/admin/groups/remove.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-<div style="font-size:18px;">
-  <img alt="" src="images/warning.png" align=top> {t}Warning{/t}
-</div>
-<p>
-  {$info}
-  {t}This may be a primary user group. Please double check if you really want to do this since there is no way for GOsa to get your data back.{/t}
-</p>
-
-<p>
-  {t}So - if you're sure - press 'Delete' to continue or 'Cancel' to abort.{/t}
-</p>
-
-<p class="plugbottom">
-  <input type=submit name="delete_confirmed" value="{msgPool type=delButton}">
-   
-  <input type=submit name="delete_cancel" value="{msgPool type=cancelButton}">
-</p>
diff --git a/gosa-core/plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc b/gosa-core/plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc
index 4298616..20c8b9b 100644
--- a/gosa-core/plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc
+++ b/gosa-core/plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc
@@ -23,30 +23,40 @@
 class singleUserSelect extends management
 {
 
-  protected $skipFooter = TRUE;
-  protected $skipHeader = TRUE;
-
-  function __construct($config,$ui)
-  {
-    $this->config = $config;
-    $this->ui = $ui;
-   
-    $this->storagePoints = array(get_ou("userRDN"));
- 
-#    // Build filter
-#    if (session::global_is_set(get_class($this)."_filter")){
-#      $filter= session::global_get(get_class($this)."_filter");
-#    } else {
-      $filter = new filter(get_template_path("singleUser-filter.xml", true, dirname(__FILE__)));
-      $filter->setObjectStorage($this->storagePoints);
-#    }
-    $this->setFilter($filter);
-
-    // Build headpage
-    $headpage = new listing(get_template_path("singleUser-list.xml", true, dirname(__FILE__)));
-    $headpage->setFilter($filter);
-    parent::__construct($config, $ui, "users", $headpage);
-  }
+    protected $skipFooter = TRUE;
+    protected $skipHeader = TRUE;
+
+    var $plHeadline = "User selection";
+
+    function __construct($config,$ui)
+    {
+        $this->config = $config;
+        $this->ui = $ui;
+
+        $this->storagePoints = array(get_ou("core", "userRDN"));
+
+        // Build filter
+        if (session::global_is_set(get_class($this)."_filter")){
+            $filter= session::global_get(get_class($this)."_filter");
+        } else {
+            $filter = new filter(get_template_path("singleUser-filter.xml", true, dirname(__FILE__)));
+            $filter->setObjectStorage($this->storagePoints);
+        }
+        $this->setFilter($filter);
+
+        // Build headpage
+        $headpage = new listing(get_template_path("singleUser-list.xml", true, dirname(__FILE__)));
+        $headpage->setFilter($filter);
+        parent::__construct($config, $ui, "users", $headpage);
+    }
+
+    // Inject user actions
+    function detectPostActions()
+    {
+        $action = management::detectPostActions();
+        if(isset($_POST['add_users_save'])) $action['action'] = "userSelected";
+        return($action);;
+    }
 } 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-filter.tpl b/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-filter.tpl
deleted file mode 100644
index 977b343..0000000
--- a/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-filter.tpl
+++ /dev/null
@@ -1,33 +0,0 @@
-<div class="contentboxh">
- <p class="contentboxh">
-  <img src="images/launch.png" align="right" alt="[F]">{t}Filter{/t}
- </p>
-</div>
-
-<div class="contentboxb">
-
-<div style="border-top:1px solid #AAAAAA"></div>
-
- {$SCOPE}
-
- <table summary="" style="width:100%;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td>
-    <label for="NAME">
-     <img src="images/lists/search.png" align=middle> {t}Name{/t}
-    </label>
-   </td>
-   <td>
-    {$NAME}
-   </td>
-  </tr>
- </table>
-
- <table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td width="100%" align="right">
-    {$APPLY}
-   </td>
-  </tr>
- </table>
-</div>
diff --git a/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-filter.xml b/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-filter.xml
index 57d7d95..97f7a7b 100644
--- a/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-filter.xml
+++ b/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-filter.xml
@@ -3,41 +3,30 @@
 <filterdef>
   <definition>
     <category>groups</category>
-    <template>../plugins/admin/groups/singleUserSelect/singleUser-filter.tpl</template>
     <initial>true</initial>
+    <default>default</default>
+    <scope>auto</scope>
+    <attribute>dn</attribute>
+    <attribute>objectClass</attribute>
+    <attribute>cn</attribute>
+    <attribute>sn</attribute>
+    <attribute>givenName</attribute>
+    <attribute>uid</attribute>
+    <attribute>description</attribute>
   </definition>
 
   <search>
+    <tag>default</tag>
+    <label>Default filter</label>
     <query>
-      <backend>LDAPBlacklist</backend>
-      <filter>(&(objectClass=gosaAccount)$NAME)</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
-      <attribute>cn</attribute>
-      <attribute>sn</attribute>
-      <attribute>givenName</attribute>
-      <attribute>uid</attribute>
-      <attribute>description</attribute>
+      <backend>LDAP</backend>
+      <filter>(&(objectClass=gosaAccount)(cn=$))</filter>
     </query>
-    <scope>auto</scope>
-  </search>
-
-  <element>
-    <type>textfield</type>
-    <tag>NAME</tag>
-    <size>20</size>
-    <maxlength>60</maxlength>
-    <default></default>
-    <unset></unset>
-    <set>(|(sn=*$*)(givenName=*$*)(cn=*$*)(uid=*$*))</set>
-    <alphabet>true</alphabet>
     <autocomplete>
-      <backend>LDAPBlacklist</backend>
-      <filter>(&(objectClass=gosaAccount)(|(sn=*$NAME*)(givenName=*$NAME*)(cn=*$NAME*)(uid=*$NAME*)))</filter>
       <attribute>cn</attribute>
       <frequency>0.5</frequency>
       <characters>3</characters>
     </autocomplete>
-  </element>
+  </search>
 
 </filterdef>
diff --git a/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-list.tpl b/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-list.tpl
index a3466f7..0bbb0ca 100644
--- a/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-list.tpl
+++ b/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-list.tpl
@@ -1,34 +1,29 @@
-<input type='image' src='images/empty.png' name='no_action_posted' value='do_nothing' alt='' style='width:2px;height:2px;'>
+<div id="mainlist">
 
-<table summary="" style="width:100%;height:100%; vertical-align:top; text-align:left;" cellpadding=2>
-  <tr>
-    <td style="vertical-align:top; width:100%;">
-      <div class="contentboxh">
-        <p class="contentboxh"> {$HEADLINE} {$SIZELIMIT}</p>
-      </div>
-      
-      <div class="contentboxb">
-       <div style='background:white;padding:3px;'>
-        <table><tr>
-          <td>{$ROOT} </td><td>{$BACK} </td><td>{$HOME} </td><td>{$RELOAD} </td><td>{$SEPARATOR} </td><td>{t}Base{/t} {$BASE} </td><td>{$SEPARATOR} </td><td><img src='images/rocket.png' alt='' class='center'></td><td> {$ACTIONS}</td>
-        </tr></table>
-       </div>
-      </div>
-      
-      <div style='height:4px;'>
-      </div>
-      {$LIST}
-    </td>
-    <td style='vertical-align:top;min-width:250px'>
-      {$FILTER}
-    </td>
-  </tr>
-</table>
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}</p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$ROOT}</td>
+      <td>{$BACK}</td>
+      <td>{$HOME}</td>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{t}Base{/t} {$BASE}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
 
-<p class="plugbottom">
-  <input type=submit name="add_users_finish" value="{msgPool type=addButton}">
-   
-  <input type=submit name="add_users_cancel" value="{msgPool type=cancelButton}">
-</p>
+  {$LIST}
+</div>
+
+<div class="clear"></div>
+
+<div class="plugin-actions">
+  <button type='submit' name='add_users_save'>{msgPool type=okButton}</button>
+  <button type='submit' name='add_users_cancel'>{msgPool type=cancelButton}</button>
+</div>
 
-<input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-list.xml b/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-list.xml
index 79c63c7..89e99f0 100644
--- a/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-list.xml
+++ b/gosa-core/plugins/admin/groups/singleUserSelect/singleUser-list.xml
@@ -5,7 +5,7 @@
     <departmentBrowser>true</departmentBrowser>
     <departmentRootVisible>false</departmentRootVisible>
     <baseMode>true</baseMode>
-    <multiSelect>false</multiSelect>
+    <singleSelect>true</singleSelect>
     <template>../plugins/admin/groups/singleUserSelect/singleUser-list.tpl</template>
     <label>Please select the desired entries</label>
     <defaultSortColumn>1</defaultSortColumn>
@@ -21,7 +21,7 @@
   </definition>
 
   <table>
-    <layout>|20px;c||||80px;r|</layout>
+    <layout>|20px;c||||</layout>
 
     <department>
       <value>%{filter:objectType(dn,objectClass)}</value>
@@ -60,30 +60,12 @@
       <export>true</export>
     </column>
 
-    <column>
-      <label>Actions</label>
-      <value>%{filter:actions(dn,row,objectClass)}</value>
-    </column>
-
-
   </table>
 
   <actionmenu>
   </actionmenu>
 
   <actiontriggers snapshot="false" copypaste="false">
-    <action>
-      <name>selectUser</name>
-      <type>entry</type>
-      <image>images/empty.png</image>
-      <label>Select user</label>
-    </action>
-    <action>
-      <name>selectUser</name>
-      <type>entry</type>
-      <image>images/lists/edit.png</image>
-      <label>Select user</label>
-    </action>
   </actiontriggers>
 
 </list>
diff --git a/gosa-core/plugins/admin/groups/tabs_group.inc b/gosa-core/plugins/admin/groups/tabs_group.inc
index 74a4514..1fd3a32 100644
--- a/gosa-core/plugins/admin/groups/tabs_group.inc
+++ b/gosa-core/plugins/admin/groups/tabs_group.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: tabs_group.inc 14136 2009-08-26 08:02:49Z hickert $$
+ * ID: $$Id: tabs_group.inc 19264 2010-07-29 13:54:43Z hickert $$
  *
  * 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
@@ -61,7 +61,9 @@ class grouptabs extends tabs
 
 		/* Check for new 'dn', in order to propagate the
 		   'dn' to all plugins */
-		$new_dn= 'cn='.$baseobject->cn.','.get_groups_ou().$baseobject->base;
+        $cn      = preg_replace('/,/', '\,', $baseobject->cn); 
+        $cn      = preg_replace('/"/', '\"', $cn); 
+		$new_dn= 'cn='.$cn.','.get_groups_ou().$baseobject->base;
 
 		/* Put baseobjects 'cn' to mailobjects 'uid' */
 		if (isset($this->by_object['mailgroup'])){
diff --git a/gosa-core/plugins/admin/groups/trust_machines.tpl b/gosa-core/plugins/admin/groups/trust_machines.tpl
deleted file mode 100644
index 60ad20e..0000000
--- a/gosa-core/plugins/admin/groups/trust_machines.tpl
+++ /dev/null
@@ -1,41 +0,0 @@
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
-<tr>
-  <td style="vertical-align:top;">
-   <div class="contentboxh" style="height:20px;">
-    <p class="contentboxh" style="font-size:12px">
-     <b>{t}Select systems to add{/t} {$hint}</b><br>
-    </p>
-   </div>
-   <div class="contentboxb">
-    <p class="contentboxb" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-     <select style="width:600px; margin-top:4px; height:450px;" name="wslist[]" size="15" multiple>
-	{html_options values=$wslist output=$wslist}
-     </select>
-    </p>
-   </div>
-  </td>
-  <td style="vertical-align:top;">
-   <div class="contentboxh" style="height:20px;">
-    <p class="contentboxh" style="font-size:12px"><img src="{$launchimage}" align="right" alt="[F]"><b>{t}Filters{/t}</b></p>
-   </div>
-   <div class="contentboxb" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-     <table summary="" style="width:100%;">
-      {$alphabet}
-     </table>
-    <table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8"><tr><td width="50%"><img alt="" src="{$tree_image}" align=middle> {t}Display systems of department{/t}</td>
-    <td><select name="depselect" size=1 onChange="mainform.submit()" title="{t}Choose the department the search will be based on{/t}">
-      {html_options options=$deplist selected=$depselect}
-    </select></td></tr></table>
-    <table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8"><tr><td width="50%"><img alt="" src="{$search_image}" align=middle> {t}Display systems matching{/t}</td>
-    <td><input type='text' name='regex' maxlength='20' value='{$regex}' title='{t}Regular expression for matching addresses{/t}' onChange="mainform.submit()"></td></tr></table>
-   {$apply}
-   </div>
-  </td>
-</tr>
-</table>
-
-<p class="plugbottom">
-  <input type=submit name="add_ws_finish" value="{msgPool type=addButton}">
-   
-  <input type=submit name="add_ws_cancel" value="{msgPool type=cancelButton}">
-</p>
diff --git a/gosa-core/plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc b/gosa-core/plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc
index b3fc8d7..8d4d854 100644
--- a/gosa-core/plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc
+++ b/gosa-core/plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc
@@ -22,42 +22,44 @@
 
 class userGroupSelect extends management
 {
-  // Tab definition 
-  protected $skipFooter = TRUE;
-  protected $skipHeader = TRUE;
+    // Tab definition 
+    protected $skipFooter = TRUE;
+    protected $skipHeader = TRUE;
 
-  function __construct($config,$ui)
-  {
-    $this->config = $config;
-    $this->ui = $ui;
-    $this->storagePoints = array(get_ou("userRDN"), get_ou("groupRDN"));
+    public $plHeadline = "User and group selection";
 
-#    // Build filter
- #   if (session::global_is_set(get_class($this)."_filter")){
-  #    $filter= session::global_get(get_class($this)."_filter");
-   # } else {
-      $filter = new filter(get_template_path("selectUserGroup-filter.xml", true, dirname(__FILE__)));
-      $filter->setObjectStorage($this->storagePoints);
-    #}
-    $this->setFilter($filter);
+    function __construct($config,$ui)
+    {
+        $this->config = $config;
+        $this->ui = $ui;
+        $this->storagePoints = array(get_ou("core", "userRDN"), get_ou("core", "groupRDN"));
 
-    // Build headpage
-    $headpage = new listing(get_template_path("selectUserGroup-list.xml", true, dirname(__FILE__)));
-    $headpage->setFilter($filter);
-    parent::__construct($config, $ui, "object", $headpage);
-  }
+        // Build filter
+        if (session::global_is_set(get_class($this)."_filter")){
+            $filter= session::global_get(get_class($this)."_filter");
+        } else {
+            $filter = new filter(get_template_path("selectUserGroup-filter.xml", true, dirname(__FILE__)));
+            $filter->setObjectStorage($this->storagePoints);
+        }
+        $this->setFilter($filter);
 
-  function save()
-  {
-    $act = $this->detectPostActions();
-    $headpage = $this->getHeadpage();
-    if(!isset($act['targets'])) return(array());
-    $ret = array();
-    foreach($act['targets'] as $dn){
-      $ret[] = $headpage->getEntry($dn);
+        // Build headpage
+        $headpage = new listing(get_template_path("selectUserGroup-list.xml", true, dirname(__FILE__)));
+        $headpage->setFilter($filter);
+        parent::__construct($config, $ui, "object", $headpage);
+    }
+
+    function save()
+    {
+        $act = $this->detectPostActions();
+        $headpage = $this->getHeadpage();
+        if(!isset($act['targets'])) return(array());
+        $ret = array();
+        foreach($act['targets'] as $dn){
+            $ret[] = $headpage->getEntry($dn);
+        }
+        return($ret);
     }
-    return($ret);
-  }
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl b/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl
deleted file mode 100644
index a24a079..0000000
--- a/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl
+++ /dev/null
@@ -1,37 +0,0 @@
-<div class="contentboxh">
- <p class="contentboxh">
-  <img src="images/launch.png" align="right" alt="[F]">{t}Filter{/t}
- </p>
-</div>
-
-<div class="contentboxb">
-
-<div style="border-top:1px solid #AAAAAA"></div>
-
-{$USER} <LABEL for='SAMBA'>{t}Show users{/t}</LABEL><br>
-{$GROUP} <LABEL for='POSIX'>{t}Show groups{/t}</LABEL><br>
-
- <div style="border-top:1px solid #AAAAAA"></div>
- {$SCOPE}
-
- <table summary="" style="width:100%;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td>
-    <label for="NAME">
-     <img src="images/lists/search.png" align=middle> {t}Name{/t}
-    </label>
-   </td>
-   <td>
-    {$NAME}
-   </td>
-  </tr>
- </table>
-
- <table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td width="100%" align="right">
-    {$APPLY}
-   </td>
-  </tr>
- </table>
-</div>
diff --git a/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml b/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml
index c044284..a84ad3e 100644
--- a/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml
+++ b/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-filter.xml
@@ -3,58 +3,31 @@
 <filterdef>
   <definition>
     <category>users</category>
-    <template>../plugins/admin/groups/userGroupSelect/selectUserGroup-filter.tpl</template>
     <initial>true</initial>
+    <default>default</default>
+    <scope>auto</scope>
+    <attribute>dn</attribute>
+    <attribute>objectClass</attribute>
+    <attribute>cn</attribute>
+    <attribute>sn</attribute>
+    <attribute>uid</attribute>
+    <attribute>givenName</attribute>
+    <attribute>description</attribute>
+    <attribute>userPassword</attribute>
   </definition>
 
   <search>
+    <tag>default</tag>
+    <label>Default filter</label>
     <query>
       <backend>LDAPBlacklist</backend>
-      <filter>(&(|$USER $GROUP ) $NAME)</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
-      <attribute>cn</attribute>
-      <attribute>sn</attribute>
-      <attribute>uid</attribute>
-      <attribute>givenName</attribute>
-      <attribute>description</attribute>
-      <attribute>userPassword</attribute>
+      <filter>(&(|(objectClass=gosaAccount)(objectClass=posixGroup))(cn=$))</filter>
     </query>
-    <scope>auto</scope>
-  </search>
-
-  <element>
-    <type>textfield</type>
-    <tag>NAME</tag>
-    <size>20</size>
-    <maxlength>60</maxlength>
-    <default></default>
-    <unset></unset>
-    <set>(|(cn=*$*)(sn=*$*)(givenName=*$*)(uid=*$*))</set>
-    <alphabet>true</alphabet>
     <autocomplete>
-      <backend>LDAPBlacklist</backend>
-      <filter>(&(objectClass=posixAccount)(|(cn=*$NAME*)(sn=*$NAME*)(givenName=*$NAME*)(uid=*$NAME*)))</filter>
       <attribute>cn</attribute>
       <frequency>0.5</frequency>
       <characters>3</characters>
     </autocomplete>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>USER</tag>
-    <default>true</default>
-    <set>(&(objectClass=posixAccount)(!(objectClass=gosaUserTemplate)))</set>
-    <unset></unset>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>GROUP</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=posixGroup)</set>
-  </element>
+  </search>
 
 </filterdef>
diff --git a/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl b/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl
index 11335fb..ff9ffc5 100644
--- a/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl
+++ b/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-list.tpl
@@ -1,36 +1,29 @@
-<input type='image' src='images/empty.png' name='no_action_posted' value='do_nothing' alt='' style='width:2px;height:2px;'>
+<div id="mainlist">
 
-<table summary="" style="width:100%;height:100%; vertical-align:top; text-align:left;" cellpadding=2>
-  <tr>
-    <td style="vertical-align:top; width:100%;">
-      <div class="contentboxh">
-        <p class="contentboxh"> {$HEADLINE} {$SIZELIMIT}</p>
-      </div>
-      
-      <div class="contentboxb">
-       <div style='background:white;padding:0px;padding:3px;'>
-        <table><tr>
-          <td>{$ROOT} </td><td>{$BACK} </td><td>{$HOME} </td><td>{$RELOAD} </td><td>{$SEPARATOR} </td><td>{t}Base{/t} {$BASE} </td><td>{$SEPARATOR} </td><td><img src='images/rocket.png' alt='' class='center'></td><td> {$ACTIONS}</td>
-        </tr></table>
-       </div>
-      </div>
-      
-      <div style='height:4px;'>
-      </div>
-      {$LIST}
-    </td>
-    <td style='vertical-align:top'>
-      {$FILTER}
-    </td>
-  </tr>
-</table>
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}</p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$ROOT}</td>
+      <td>{$BACK}</td>
+      <td>{$HOME}</td>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{t}Base{/t} {$BASE}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
 
+  {$LIST}
+</div>
 
-<p class='separator'> </p>
-  <p style="text-align:right;min-width:250px">
-  <input type=submit name="userGroupSelect_save" value="{msgPool type=okButton}">
-   
-  <input type=submit name="userGroupSelect_cancel" value="{msgPool type=cancelButton}">
-</p>
+<div class="clear"></div>
+
+<div class="plugin-actions">
+  <button type="submit" name="userGroupSelect_save">{msgPool type=okButton}</button>
+  <button type="submit" name="userGroupSelect_cancel">{msgPool type=cancelButton}</button>
+</div>
 
-<input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml b/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml
index 05ae632..d45551f 100644
--- a/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml
+++ b/gosa-core/plugins/admin/groups/userGroupSelect/selectUserGroup-list.xml
@@ -24,7 +24,7 @@
       <objectClass>posixGroup</objectClass>
       <category>groups</category>
       <class>group</class>
-      <image>plugins/groups/images/groups.png</image>
+      <image>plugins/groups/images/select_group.png</image>
     </objectType>
 
   </definition>
diff --git a/gosa-core/plugins/admin/groups/userSelect/class_userSelect.inc b/gosa-core/plugins/admin/groups/userSelect/class_userSelect.inc
index 6795796..7e8fd2f 100644
--- a/gosa-core/plugins/admin/groups/userSelect/class_userSelect.inc
+++ b/gosa-core/plugins/admin/groups/userSelect/class_userSelect.inc
@@ -23,30 +23,31 @@
 class userSelect extends management
 {
 
-  protected $skipFooter = TRUE;
-  protected $skipHeader = TRUE;
+    public $plHeadline = "User selection";
+    protected $skipFooter = TRUE;
+    protected $skipHeader = TRUE;
 
-  function __construct($config,$ui)
-  {
-    $this->config = $config;
-    $this->ui = $ui;
-   
-    $this->storagePoints = array(get_ou("userRDN"));
- 
-#    // Build filter
-#    if (session::global_is_set(get_class($this)."_filter")){
-#      $filter= session::global_get(get_class($this)."_filter");
-#    } else {
-      $filter = new filter(get_template_path("user-filter.xml", true, dirname(__FILE__)));
-      $filter->setObjectStorage($this->storagePoints);
-#    }
-    $this->setFilter($filter);
+    function __construct($config,$ui)
+    {
+        $this->config = $config;
+        $this->ui = $ui;
 
-    // Build headpage
-    $headpage = new listing(get_template_path("user-list.xml", true, dirname(__FILE__)));
-    $headpage->setFilter($filter);
-    parent::__construct($config, $ui, "users", $headpage);
-  }
+        $this->storagePoints = array(get_ou("core", "userRDN"));
+
+        // Build filter
+        if (session::global_is_set(get_class($this)."_filter")){
+            $filter= session::global_get(get_class($this)."_filter");
+        } else {
+            $filter = new filter(get_template_path("user-filter.xml", true, dirname(__FILE__)));
+            $filter->setObjectStorage($this->storagePoints);
+        }
+        $this->setFilter($filter);
+
+        // Build headpage
+        $headpage = new listing(get_template_path("user-list.xml", true, dirname(__FILE__)));
+        $headpage->setFilter($filter);
+        parent::__construct($config, $ui, "users", $headpage);
+    }
 } 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/plugins/admin/groups/userSelect/user-filter.tpl b/gosa-core/plugins/admin/groups/userSelect/user-filter.tpl
deleted file mode 100644
index 977b343..0000000
--- a/gosa-core/plugins/admin/groups/userSelect/user-filter.tpl
+++ /dev/null
@@ -1,33 +0,0 @@
-<div class="contentboxh">
- <p class="contentboxh">
-  <img src="images/launch.png" align="right" alt="[F]">{t}Filter{/t}
- </p>
-</div>
-
-<div class="contentboxb">
-
-<div style="border-top:1px solid #AAAAAA"></div>
-
- {$SCOPE}
-
- <table summary="" style="width:100%;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td>
-    <label for="NAME">
-     <img src="images/lists/search.png" align=middle> {t}Name{/t}
-    </label>
-   </td>
-   <td>
-    {$NAME}
-   </td>
-  </tr>
- </table>
-
- <table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td width="100%" align="right">
-    {$APPLY}
-   </td>
-  </tr>
- </table>
-</div>
diff --git a/gosa-core/plugins/admin/groups/userSelect/user-filter.xml b/gosa-core/plugins/admin/groups/userSelect/user-filter.xml
index 80cf914..033b132 100644
--- a/gosa-core/plugins/admin/groups/userSelect/user-filter.xml
+++ b/gosa-core/plugins/admin/groups/userSelect/user-filter.xml
@@ -2,42 +2,31 @@
 
 <filterdef>
   <definition>
-    <category>groups</category>
-    <template>../plugins/admin/groups/userSelect/user-filter.tpl</template>
+    <category>users</category>
     <initial>true</initial>
+    <default>default</default>
+    <scope>auto</scope>
+    <attribute>dn</attribute>
+    <attribute>objectClass</attribute>
+    <attribute>cn</attribute>
+    <attribute>sn</attribute>
+    <attribute>givenName</attribute>
+    <attribute>uid</attribute>
+    <attribute>description</attribute>
   </definition>
 
   <search>
+    <tag>default</tag>
+    <label>Default filter</label>
     <query>
       <backend>LDAPBlacklist</backend>
-      <filter>(&(objectClass=gosaAccount)$NAME)</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
-      <attribute>cn</attribute>
-      <attribute>sn</attribute>
-      <attribute>givenName</attribute>
-      <attribute>uid</attribute>
-      <attribute>description</attribute>
+      <filter>(&(objectClass=gosaAccount)(cn=$))</filter>
     </query>
-    <scope>auto</scope>
-  </search>
-
-  <element>
-    <type>textfield</type>
-    <tag>NAME</tag>
-    <size>20</size>
-    <maxlength>60</maxlength>
-    <default></default>
-    <unset></unset>
-    <set>(|(sn=*$*)(givenName=*$*)(cn=*$*)(uid=*$*))</set>
-    <alphabet>true</alphabet>
     <autocomplete>
-      <backend>LDAPBlacklist</backend>
-      <filter>(&(objectClass=posixAccount)(|(sn=*$NAME*)(givenName=*$NAME*)(cn=*$NAME*)(uid=*$NAME*)))</filter>
       <attribute>cn</attribute>
       <frequency>0.5</frequency>
       <characters>3</characters>
     </autocomplete>
-  </element>
+  </search>
 
 </filterdef>
diff --git a/gosa-core/plugins/admin/groups/userSelect/user-list.tpl b/gosa-core/plugins/admin/groups/userSelect/user-list.tpl
index a3466f7..cc4af3b 100644
--- a/gosa-core/plugins/admin/groups/userSelect/user-list.tpl
+++ b/gosa-core/plugins/admin/groups/userSelect/user-list.tpl
@@ -1,34 +1,28 @@
-<input type='image' src='images/empty.png' name='no_action_posted' value='do_nothing' alt='' style='width:2px;height:2px;'>
+<div id="mainlist">
 
-<table summary="" style="width:100%;height:100%; vertical-align:top; text-align:left;" cellpadding=2>
-  <tr>
-    <td style="vertical-align:top; width:100%;">
-      <div class="contentboxh">
-        <p class="contentboxh"> {$HEADLINE} {$SIZELIMIT}</p>
-      </div>
-      
-      <div class="contentboxb">
-       <div style='background:white;padding:3px;'>
-        <table><tr>
-          <td>{$ROOT} </td><td>{$BACK} </td><td>{$HOME} </td><td>{$RELOAD} </td><td>{$SEPARATOR} </td><td>{t}Base{/t} {$BASE} </td><td>{$SEPARATOR} </td><td><img src='images/rocket.png' alt='' class='center'></td><td> {$ACTIONS}</td>
-        </tr></table>
-       </div>
-      </div>
-      
-      <div style='height:4px;'>
-      </div>
-      {$LIST}
-    </td>
-    <td style='vertical-align:top;min-width:250px'>
-      {$FILTER}
-    </td>
-  </tr>
-</table>
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}</p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$ROOT}</td>
+      <td>{$BACK}</td>
+      <td>{$HOME}</td>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{t}Base{/t} {$BASE}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
 
-<p class="plugbottom">
-  <input type=submit name="add_users_finish" value="{msgPool type=addButton}">
-   
-  <input type=submit name="add_users_cancel" value="{msgPool type=cancelButton}">
-</p>
+  {$LIST}
+</div>
 
-<input type="hidden" name="ignore">
+<div class="clear"></div>
+
+<div class="plugin-actions">
+  <button type='submit' name='add_users_finish'>{msgPool type=addButton}</button>
+  <button type='submit' name='add_users_cancel'>{msgPool type=cancelButton}</button>
+</div>
diff --git a/gosa-core/plugins/admin/ogroups/class_ogroup.inc b/gosa-core/plugins/admin/ogroups/class_ogroup.inc
index 82dfa63..0469f96 100644
--- a/gosa-core/plugins/admin/ogroups/class_ogroup.inc
+++ b/gosa-core/plugins/admin/ogroups/class_ogroup.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_ogroup.inc 18024 2010-05-03 12:06:40Z hickert $$
+ * ID: $$Id: class_ogroup.inc 20566 2010-12-15 12:59:34Z hickert $$
  *
  * 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
@@ -20,965 +20,851 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-/* Sort multidimensional arrays for key 'text' */
-function sort_list($val1, $val2)
+class ogroup extends plugin
 {
-  $v1= strtolower($val1['text']);
-  $v2= strtolower($val2['text']);
-  if ($v1 > $v2){
-    return 1;
-  }
-  if ($v1 < $v2){
-    return -1;
-  }
-  return 0;
-}
+    var $typeToClass = array(  
+            "Y" => "gosaUserTemplate",
+            "U" => "gosaAccount",
+            "G" => "posixGroup",
+            "A" => "gosaApplication",
+            "D" => "gosaDepartment",
+            "S" => "goServer",
+            "W" => "gotoWorkstation",
+            "O" => "opsiClient",
+            "T" => "gotoTerminal",
+            "F" => "goFonHardware",
+            "P" => "gotoPrinter");
+
+    var  $typeToImage = array(
+            "Y" => "plugins/users/images/select_template.png",
+            "U" => "plugins/users/images/select_user.png",
+            "G" => "plugins/groups/images/select_group.png",
+            "A" => "plugins/ogroups/images/application.png",
+            "D" => "plugins/departments/images/department.png",
+            "S" => "plugins/ogroups/images/server.png",
+            "W" => "plugins/ogroups/images/workstation.png",
+            "O" => "plugins/ogroups/images/winstation.png",
+            "T" => "plugins/ogroups/images/terminal.png",
+            "F" => "plugins/ogroups/images/phone.png",
+            "P" => "plugins/ogroups/images/printer.png",
+            "I" => "images/false.png");
+
+
+    /* Variables */
+    var $cn= "";
+    var $description= "";
+    var $base= "";
+    var $gosaGroupObjects= "";
+    var $objects= array();
+    var $objcache= array();
+    var $memberList= array();
+    var $member= array();
+    var $orig_dn= "";
+    var $orig_cn= "";
+    var $orig_base= "";
+    var $objectSelect= FALSE;
+    var $view_logged = FALSE;
+
+    var $copyMembers = TRUE;
+
+    var $baseSelector;
+
+    /* Already assigned Workstations. Will be hidden in selection. 
+     */
+    var $used_workstations = array();
 
+    /* attribute list for save action */
+    var $attributes= array("cn", "description", "gosaGroupObjects","member");
+    var $objectclasses= array("top", "gosaGroupOfNames");
 
-class ogroup extends plugin
-{
-  /* Variables */
-  var $cn= "";
-  var $description= "";
-  var $base= "";
-  var $gosaGroupObjects= "";
-  var $objects= array();
-  var $objcache= array();
-  var $memberList= array();
-  var $member= array();
-  var $orig_dn= "";
-  var $orig_cn= "";
-  var $orig_base= "";
-  var $objectSelect= FALSE;
-  var $view_logged = FALSE;
-
-  var $accessTo= array();
-  var $trustModel= "";
-  var $trustSelect = FALSE;
-
-  var $was_trust_account= FALSE;
-  var $baseSelector;
-
-  /* Already assigned Workstations. Will be hidden in selection. 
-   */
-  var $used_workstations = array();
-
-  /* attribute list for save action */
-  var $attributes= array("cn", "description", "gosaGroupObjects","member","accessTo","trustModel");
-  var $objectclasses= array("top", "gosaGroupOfNames");
-
-  function ogroup (&$config, $dn= NULL)
-  {
-    plugin::plugin ($config, $dn);
-    $this->orig_dn= $dn;
-
-    $this->member = array();
-
-    /* Load member objects */
-    if (isset($this->attrs['member'])){
-      foreach ($this->attrs['member'] as $key => $value){
-        if ("$key" != "count"){
-          $value= @LDAP::convert($value);
-          $this->member["$value"]= "$value";
-        }
-      }
-    }
-    $this->is_account= TRUE;
-
-    /* Get global filter config */
-    if (!session::is_set("ogfilter")){
-      $ui= get_userinfo();
-      $base= get_base_from_people($ui->dn);
-      $ogfilter= array( "dselect"       => $base,
-          "regex"           => "*");
-      session::set("ogfilter", $ogfilter);
-    }
-    $ogfilter= session::get('ogfilter');
-
-    /* Adjust flags */
-    foreach( array(   "U" => "accounts",
-          "G" => "groups",
-          "A" => "applications",
-          "D" => "departments",
-          "S" => "servers",
-          "W" => "workstations",
-          "O" => "winstations",
-          "T" => "terminals",
-          "F" => "phones",
-          "_" => "subtrees",
-          "P" => "printers") as $key => $val){
-
-      if (preg_match("/$key/", $this->gosaGroupObjects)){
-        $ogfilter[$val]= "checked";
-      } else {
-        $ogfilter[$val]= "";
-      }
-    }
-    session::set("ogfilter", $ogfilter);
-  
-    /* Set base */
-    if ($this->dn == "new"){
-      $ui = get_userinfo();
-      $this->base= dn2base(session::global_is_set("CurrentMainBase")?"cn=dummy,".session::global_get("CurrentMainBase"):$ui->dn);
-    } else {
-      $this->base= preg_replace("/^[^,]+,".preg_quote(get_ou("ogroupRDN"), '/')."/i","",$this->dn);
-
-      /* Is this account a trustAccount? */
-      if ($this->is_account && isset($this->attrs['trustModel'])){
-        $this->trustModel= $this->attrs['trustModel'][0];
-        $this->was_trust_account= TRUE;
-      } else {
-        $this->was_trust_account= FALSE;
-        $this->trustModel= "";
-      }
-
-      $this->accessTo = array();
-      if ($this->is_account && isset($this->attrs['accessTo'])){
-        for ($i= 0; $i<$this->attrs['accessTo']['count']; $i++){
-          $tmp= $this->attrs['accessTo'][$i];
-          $this->accessTo[$tmp]= $tmp;
-        }
-      }
-    }
+    function ogroup (&$config, $dn= NULL)
+    {
+        plugin::plugin ($config, $dn);
 
-    /* Detect all workstations, which are already assigned to an object group  
-        - Those objects will be hidden in the add object dialog.
-        - Check() will complain if such a system is assigned to this object group.
-     */ 
-    $base = $this->config->current['BASE'];
-    $res    = get_list("(|(objectClass=gotoWorkstation)(objectClass=gotoTerminal))","none" , 
-        $base, array("dn"),GL_NO_ACL_CHECK|GL_SUBSEARCH);
-    $ws_dns = array();
-    foreach($res as $data){
-      $ws_dns[] = $data['dn'];
-    }
-    $res=get_list("(&(member=*)(objectClass=gosaGroupOfNames))","none",
-        $base, array("dn","member", "gosaGroupObjects"),GL_NO_ACL_CHECK|GL_SUBSEARCH);
-    $this->used_workstations = array();
-    foreach($res as $og){
-      if($og['dn'] == $this->dn) continue;
-      $test = array_intersect($ws_dns,$og['member']);
-      if(($og['gosaGroupObjects'] == "[W]" || $og['gosaGroupObjects'] == "[T]") && count($test)){
-        $this->used_workstations = array_merge($this->used_workstations,$test);
-      }
-    }
+        $this->trustModeDialog = new trustModeDialog($this->config, $this->dn,NULL);
+        $this->trustModeDialog->setAcl('ogroups/ogroup');
 
-    $this->orig_cn = $this->cn;
-    $this->orig_base = $this->base;
+        $this->orig_dn= $dn;
 
-    /* Get global filter config */
-    if (!session::is_set("sysfilter")){
-      $ui= get_userinfo();
-      $base= get_base_from_people($ui->dn);
-      $sysfilter= array( "depselect"       => $base,
-          "regex"           => "*");
-      session::set("sysfilter", $sysfilter);
-    }
+        $this->member = array();
 
-    /* Instanciate base selector */
-    $this->baseSelector= new baseSelector($this->get_allowed_bases(), $this->base);
-    $this->baseSelector->setSubmitButton(false);
-    $this->baseSelector->setHeight(300);
-    $this->baseSelector->update(true);
-
-    $this->reload();
-  }
-
-  function AddDelMembership()
-  {
-      /* Delete objects from group */
-      if (isset($_POST['delete_membership']) && isset($_POST['members'])){
-          foreach ($_POST['members'] as $value){
-              $this->objects["$value"]= $this->memberList[$value];
-              unset ($this->memberList["$value"]);
-              unset ($this->member["$value"]);
-              uasort ($this->objects, 'sort_list');
-              reset ($this->objects);
-          }
-          $this->reload();
-      }
-
-      /* Add objects to group */
-      if (isset($_POST['objectSelect_save']) && $this->objectSelect instanceOf objectSelect){
-          $objects = $this->objectSelect->save();
-          $skipped = FALSE;
-          foreach($objects as $object){
-
-              $tmp = "";
-              foreach($this->memberList as $obj){
-                  $tmp .= $obj['type'];
-              }
-
-              $type  = $this->getObjectType($object);
-              $name= $this->getObjectName($object);
-              $dn = $object['dn'];
-
-              /* Fill array */
-              if (isset($object["description"][0])){
-                  $object= array("text" => "$name [".$object["description"][0]."]", "type" => "$type");
-              } elseif (isset($object["uid"][0])) {
-                  $object= array("text" => "$name [".$object["uid"][0]."]", "type" => "$type");
-              } else {
-                  $object= array("text" => "$name", "type" => "$type");
-              }
-
-              if(preg_match("/T/",$tmp) && $type == "W"){
-                  $skipped =TRUE;
-              }elseif(preg_match("/W/",$tmp) && $type == "T"){
-                  $skipped =TRUE;
-              }else{
-
-                  $this->memberList["$dn"]= $object;
-                  $this->member["$dn"]= $dn;
-                  uasort ($this->memberList, 'sort_list');
-                  reset ($this->memberList);
-              }
-          }
-          if($skipped){
-              msg_dialog::display(_("Information"), _("You cannot combine terminals and workstations in one object group!"), INFO_DIALOG);
-          }
-          $this->objectSelect= FALSE;
-          $this->dialog= FALSE;
-          $this->reload();
-      }
-  }
-
-  function execute()
-  {
-    /* Call parent execute */
-    plugin::execute();
-
-    if(!$this->view_logged){
-      $this->view_logged = TRUE;
-      new log("view","ogroups/".get_class($this),$this->dn);
-    }
+        /* Load member objects */
+        if (isset($this->attrs['member'])){
+            foreach ($this->attrs['member'] as $key => $value){
+                if ("$key" != "count"){
+                    $value= @LDAP::convert($value);
+                    $this->member["$value"]= "$value";
+                }
+            }
+        }
+        $this->is_account= TRUE;
 
+        /* Set base */
+        if ($this->dn == "new"){
+            $ui = get_userinfo();
+            $this->base= dn2base(session::global_is_set("CurrentMainBase")?"cn=dummy,".session::global_get("CurrentMainBase"):$ui->dn);
+        } else {
+            $this->base= preg_replace("/^[^,]+,".preg_quote(get_ou("group", "ogroupRDN"), '/')."/i","",$this->dn);
+        }
 
-    /* Do we represent a valid group? */
-    if (!$this->is_account){
-      $display= "<img alt=\"\" src=\"images/small-error.png\" align=\"middle\"> <b>".
-        msgPool::noValidExtension("object group")."</b>";
-      return ($display);
-    }
+        /* Detect all workstations, which are already assigned to an object group  
+           - Those objects will be hidden in the add object dialog.
+           - Check() will complain if such a system is assigned to this object group.
+         */ 
+        $base = $this->config->current['BASE'];
+        $res    = get_list("(|(objectClass=gotoWorkstation)(objectClass=gotoTerminal))","none" , 
+                $base, array("dn"),GL_NO_ACL_CHECK|GL_SUBSEARCH);
+        $ws_dns = array();
+        foreach($res as $data){
+            $ws_dns[] = $data['dn'];
+        }
+        $res=get_list("(&(member=*)(objectClass=gosaGroupOfNames))","none",
+                $base, array("dn","member", "gosaGroupObjects"),GL_NO_ACL_CHECK|GL_SUBSEARCH);
+        $this->used_workstations = array();
+        foreach($res as $og){
+            if($og['dn'] == $this->dn) continue;
+            $test = array_intersect($ws_dns,LDAP::convert($og['member'])); 
+            if(($og['gosaGroupObjects'] == "[W]" || $og['gosaGroupObjects'] == "[T]") && count($test)){
+                $this->used_workstations = array_merge($this->used_workstations,$test);
+            }
+        }
 
+        $this->orig_cn = $this->cn;
+        $this->orig_base = $this->base;
 
-    /* Load templating engine */
-    $smarty= get_smarty();
-    $smarty->assign("usePrototype", "true");
+        /* Get global filter config */
+        if (!session::is_set("sysfilter")){
+            $ui= get_userinfo();
+            $base= get_base_from_people($ui->dn);
+            $sysfilter= array( "depselect"       => $base,
+                    "regex"           => "*");
+            session::set("sysfilter", $sysfilter);
+        }
 
-    $tmp = $this->plInfo();
-    foreach($tmp['plProvidedAcls'] as $name => $translation){
-      $smarty->assign($name."ACL",$this->getacl($name));
-    }
+        /* Instanciate base selector */
+        $this->baseSelector= new baseSelector($this->get_allowed_bases(), $this->base);
+        $this->baseSelector->setSubmitButton(false);
+        $this->baseSelector->setHeight(300);
+        $this->baseSelector->update(true);
 
-    /***********
-     * Trusts 
-     ***********/
+        // Prepare lists
+        $this->memberListing = new sortableListing();
+        $this->memberListing->setDeleteable(true);
+        $this->memberListing->setInstantDelete(true);
+        $this->memberListing->setEditable(false);
+        $this->memberListing->setWidth("100%");
+        $this->memberListing->setHeight("300px");
+        $this->memberListing->setHeader(array("~",_("Name")));
+        $this->memberListing->setColspecs(array('20px','*','20px'));
+        $this->memberListing->setDefaultSortColumn(1);
 
-    /* Add user workstation? */
-    if (isset($_POST["add_ws"])){
-      $this->trustSelect= new trustSelect($this->config,get_userinfo());
-      $this->dialog= TRUE;
+        $this->reload();
     }
 
-    // Add selected machines to trusted ones.
-    if (isset($_POST["add_ws_finish"]) &&  $this->trustSelect){
-      $trusts = $this->trustSelect->detectPostActions();
-      if(isset($trusts['targets'])){
-
-        $headpage = $this->trustSelect->getHeadpage();
-        foreach($trusts['targets'] as $id){
-          $attrs = $headpage->getEntry($id);
-          $this->accessTo[$attrs['cn'][0]]= $attrs['cn'][0];
-        }
-        ksort($this->accessTo);
-        $this->is_modified= TRUE;
-      }
-      $this->trustSelect= NULL;
-      $this->dialog= FALSE;
-    }
+    function AddDelMembership($NewMember = false){
 
+        if($NewMember){
 
-    /* Remove user workstations? */
-    if (isset($_POST["delete_ws"]) && isset($_POST['workstation_list'])){
-      foreach($_POST['workstation_list'] as $name){
-        unset ($this->accessTo[$name]);
-      }
-      $this->is_modified= TRUE;
-    }
+            // Ensure that we definitely know the new members attributes.
+            //  - Fetch unknown objects here. 
+            if(!isset($this->memberList[$NewMember])){
 
-    /* Add user workstation finished? */
-    if (isset($_POST["add_ws_cancel"])){
-      $this->trustSelect= NULL;
-      $this->dialog= FALSE;
-    }
+                $ldap = $this->config->get_ldap_link();
+                $ldap->cd($this->config->current['BASE']);
+                $ldap->cat($NewMember);
+                $attrs = $ldap->fetch();
+                $this->objcache[$NewMember] = $attrs;
+            }
 
-    /* Show ws dialog */
-    if ($this->trustSelect){
-  
-      // Build up blocklist
-      session::set('filterBlacklist', array('cn' => array_values($this->accessTo)));
-      return($this->trustSelect->execute());
-    }
+            /* Add member and force reload */
+            $this->member[$NewMember]= $NewMember;
 
-    /***********
-     * Ende - Trusts 
-     ***********/
 
+            $this->memberList[$NewMember]= $this->objcache[$NewMember];
+            unset ($this->objects[$NewMember]);
+            reset ($this->memberList);
+            $this->reload(); 
+        }else{
 
-    /* Add objects? */
-    if (isset($_POST["edit_membership"])){
-      $this->objectSelect= new objectSelect($this->config, get_userinfo());
-      $this->dialog= TRUE;
-    }
+            // Act on list modifications 
+            $this->memberListing->save_object();
+            $action = $this->memberListing->getAction();
+            if($action['action'] == 'delete'){
+                foreach($action['targets'] as $id){
+                    $value = $this->memberListing->getKey($id);
+                    $this->objects["$value"]= $this->memberList[$value];                  
+                    unset ($this->memberList["$value"]);                                  
+                    unset ($this->member["$value"]);                                      
+                }
+                $this->reload();
+            }
 
-    /* Add objects finished? */
-    if (isset($_POST["objectSelect_cancel"])){
-      $this->objectSelect= FALSE;
-      $this->dialog= FALSE;
-    }
 
-    /* Manage object add dialog */
-    if ($this->objectSelect){
-      session::set('filterBlacklist', array('dn'=> $this->member));
-      return($this->objectSelect->execute());
+            /* Add objects to group */
+            if (isset($_POST['objectSelect_save']) && $this->objectSelect instanceOf objectSelect){
+                $objects = $this->objectSelect->save();
+                $skipped = FALSE;
+                foreach($objects as $object){
+                    $dn = $object['dn'];
+
+                    // Do not add existing members twice!
+                    if(isset($this->member["$dn"])){
+                        continue;
+                    }
+
+                    $tmp = "";
+                    foreach($this->memberList as $obj){
+                        $tmp .= $obj['type'];
+                    }
+
+                    $type  = $this->getObjectType($object);
+                    $name= $this->getObjectName($object);
+
+                    /* Fill array */
+                    if (isset($object["description"][0])){
+                        $object= array("text" => "$name [".$object["description"][0]."]", "type" => "$type");
+                    } elseif (isset($object["uid"][0])) {
+                        $object= array("text" => "$name [".$object["uid"][0]."]", "type" => "$type");
+                    } else {
+                        $object= array("text" => "$name", "type" => "$type");
+                    }
+
+                    if(preg_match("/T/",$tmp) && $type == "W"){
+                        $skipped =TRUE;
+                    }elseif(preg_match("/W/",$tmp) && $type == "T"){
+                        $skipped =TRUE;
+                    }else{
+
+                        $this->memberList["$dn"]= $object;
+                        $this->member["$dn"]= $dn;
+                        reset ($this->memberList);
+                    }
+                }
+                if($skipped){
+                    msg_dialog::display(_("Information"), _("You cannot combine terminals and workstations in one object group!"), INFO_DIALOG);
+                }
+                $this->objectSelect= FALSE;
+                $this->dialog= FALSE;
+                $this->reload();
+            }
+        }
     }
 
-    /* Bases / Departments */
-      if ((isset($_POST['base'])) && ($this->acl_is_moveable())){
-        $this->base= $_POST['base'];
-      }
-
-    /* Assemble combine string */
-    if ($this->gosaGroupObjects == "[]"){
-      $smarty->assign("combinedObjects", _("none"));
-    } elseif (strlen($this->gosaGroupObjects) > 4){
-      $smarty->assign("combinedObjects", "<font color=red>"._("too many different objects!")."</font>");
-    } else {
-      $conv= array(   "U" => _("users"),
-          "G" => _("groups"),
-          "A" => _("applications"),
-          "D" => _("departments"),
-          "S" => _("servers"),
-          "W" => _("workstations"),
-          "O" => _("winstations"),
-          "T" => _("terminals"),
-          "F" => _("phones"),
-          "P" => _("printers"));
-
-      $type= preg_replace('/[\[\]]/', '', $this->gosaGroupObjects);
-      $p1= $conv[$type[0]];
-      error_reporting(0);
-      if (isset($type[1]) && preg_match('/[UGADSFOWTP]/', $type[1])){
-        $p2= $conv[$type[1]];
-        $smarty->assign("combinedObjects", sprintf("'%s' and '%s'", $p1, $p2));
-      } else {
-        $smarty->assign("combinedObjects", "$p1");
-      }
-      error_reporting(E_ALL | E_STRICT);
-    }
+    function execute()
+    {
+        /* Call parent execute */
+        plugin::execute();
 
-    /* Assign variables */
-    $smarty->assign("base", $this->baseSelector->render());
-    $smarty->assign("members", $this->convert_list($this->memberList));
+        if(!$this->view_logged){
+            $this->view_logged = TRUE;
+            new log("view","ogroups/".get_class($this),$this->dn);
+        }
 
-    /* Objects have to be tuned... */
-    $smarty->assign("objects", $this->convert_list($this->objects));
 
-    /* Fields */
-    foreach ($this->attributes as $val){
-      $smarty->assign("$val", $this->$val);
-    }
+        /* Do we represent a valid group? */
+        if (!$this->is_account){
+            $display= "<img alt=\"\" src=\"images/small-error.png\" align=\"middle\"> <b>".
+                msgPool::noValidExtension("object group")."</b>";
+            return ($display);
+        }
 
-    /******
-      Trust account
-     ******/
-    $smarty->assign("trusthide", " disabled ");
-    $smarty->assign("trustmodeACL",  $this->getacl("trustModel"));
-    if ($this->trustModel == "fullaccess"){
-      $trustmode= 1;
-      // pervent double disable tag in html code, this will disturb our clean w3c html
-      $smarty->assign("trustmode",  $this->getacl("trustModel"));
-
-    } elseif ($this->trustModel == "byhost"){
-      $trustmode= 2;
-      $smarty->assign("trusthide", "");
-    } else {
-      // pervent double disable tag in html code, this will disturb our clean w3c html
-      $smarty->assign("trustmode",  $this->getacl("trustModel"));
-      $trustmode= 0;
-    }
-    $smarty->assign("trustmode", $trustmode);
-    $smarty->assign("trustmodes", array( 0 => _("disabled"), 1 => _("full access"),
-          2 => _("allow access to these hosts")));
 
-    $smarty->assign("workstations", $this->accessTo);
+        /* Load templating engine */
+        $smarty= get_smarty();
 
-    if((count($this->accessTo))==0){
-      $smarty->assign("emptyArrAccess",true);
-    }else{
-      $smarty->assign("emptyArrAccess",false);
-    }
-    /******
-      Ende - Trust account
-     ******/
-
-    return ($smarty->fetch (get_template_path('generic.tpl', TRUE)));
-  }
-
-
-  /* Save data to object */
-  function save_object()
-  {
-    /* Save additional values for possible next step */
-    if (isset($_POST['ogroupedit'])){
-
-      /******
-        Trust account 
-       ******/
-
-      if($this->acl_is_writeable("trustModel")){
-        if (isset($_POST['trustmode'])){
-          $saved= $this->trustModel;
-          if ($_POST['trustmode'] == "1"){
-            $this->trustModel= "fullaccess";
-          } elseif ($_POST['trustmode'] == "2"){
-            $this->trustModel= "byhost";
-          } else {
-            $this->trustModel= "";
-          }
-          if ($this->trustModel != $saved){
-            $this->is_modified= TRUE;
-          }
-        }
-      }
-      /******
-        Ende Trust account
-       ******/
-
-      /* Create a base backup and reset the
-         base directly after calling plugin::save_object();
-         Base will be set seperatly a few lines below */
-      $base_tmp = $this->base;
-      plugin::save_object();
-      $this->base = $base_tmp;
-
-      /* Refresh base */
-      if ($this->acl_is_moveable($this->base)){
-        if (!$this->baseSelector->update()) {
-          msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG);
-        }
-        if ($this->base != $this->baseSelector->getBase()) {
-          $this->base= $this->baseSelector->getBase();
-          $this->is_modified= TRUE;
-        }
-      }
 
+        $tmp = $this->plInfo();
+        foreach($tmp['plProvidedAcls'] as $name => $translation){
+            $smarty->assign($name."ACL",$this->getacl($name));
+        }
+
+        /***********
+         * Trusts 
+         ***********/
+
+        // Handle trust mode dialog
+        $this->dialog = FALSE;
+        $trustModeDialog = $this->trustModeDialog->execute();
+        if($this->trustModeDialog->trustSelect){
+            $this->dialog = TRUE;
+            return($trustModeDialog);
+        }
+        $smarty->assign("trustModeDialog",$trustModeDialog);
+
+        /***********
+         * Ende - Trusts 
+         ***********/
+
+
+        /* Add objects? */
+        if (isset($_POST["edit_membership"])){
+            $this->objectSelect= new objectSelect($this->config, get_userinfo());
+        }
+
+        /* Add objects finished? */
+        if (isset($_POST["objectSelect_cancel"])){
+            $this->objectSelect= FALSE;
+        }
+
+        /* Manage object add dialog */
+        if ($this->objectSelect){
+            session::set('filterBlacklist', array('dn'=> $this->member));
+            $this->dialog= TRUE;
+            return($this->objectSelect->execute());
+        }
+
+        /* Assemble combine string */
+        if ($this->gosaGroupObjects == "[]"){
+            $smarty->assign("combinedObjects", _("none"));
+        } elseif (strlen($this->gosaGroupObjects) > 4){
+            $smarty->assign("combinedObjects", "<font color=red>"._("too many different objects!")."</font>");
+        } else {
+            $conv= array(   "U" => _("users"),
+                    "G" => _("groups"),
+                    "A" => _("applications"),
+                    "D" => _("departments"),
+                    "S" => _("servers"),
+                    "W" => _("workstations"),
+                    "O" => _("Windows workstations"),
+                    "T" => _("terminals"),
+                    "F" => _("phones"),
+                    "P" => _("printers"));
+
+            $type= preg_replace('/[\[\]]/', '', $this->gosaGroupObjects);
+            $p1= $conv[$type[0]];
+            error_reporting(0);
+            if (isset($type[1]) && preg_match('/[UGADSFOWTP]/', $type[1])){
+                $p2= $conv[$type[1]];
+                $smarty->assign("combinedObjects", sprintf("'%s' and '%s'", $p1, $p2));
+            } else {
+                $smarty->assign("combinedObjects", "$p1");
+            }
+            error_reporting(E_ALL | E_STRICT);
+        }
+
+        /* Assign variables */
+        $smarty->assign("base", $this->baseSelector->render());
+
+
+
+        $this->memberListing->setAcl($this->getacl("member"));
+        $data = $lData = array();
+        foreach($this->member as $key => $dn){
+            $image = 'images/lists/element.png';
+            $name = $dn;
+            if(isset($this->memberList[$dn])){
+                $name  = $this->memberList[$dn]['text'];
+                if(isset($this->typeToImage[$this->memberList[$dn]['type']])){
+                    $image = $this->typeToImage[$this->memberList[$dn]['type']];
+                }
+            }
+            $data[$key] = $dn;
+            $lData[$key] = array('data'=> array(image($image),$name));
+        }
+        $this->memberListing->setListData($data,$lData);
+        $this->memberListing->update();
+        $smarty->assign("memberList",$this->memberListing->render());
+
+        /* Fields */
+        foreach ($this->attributes as $val){
+            $smarty->assign("$val", set_post($this->$val));
+        }
+
+        return ($smarty->fetch (get_template_path('generic.tpl', TRUE)));
     }
-  }
-
-
-  /* (Re-)Load objects */
-  function reload()
-  {
-    /*###########
-      Variable initialisation 
-      ###########*/
-
-    $this->objects                = array();
-    $this->ui                     = get_userinfo();
-    $filter                       = "";
-    $objectClasses                = array();
-    
-    $ogfilter               = session::get("ogfilter");
-    $regex                  = $ogfilter['regex'];
-
-    $ldap= $this->config->get_ldap_link();
-    $ldap->cd ($ogfilter['dselect']);
-
-
-    /*###########
-      Generate Filter 
-      ###########*/
-
-    $p_f= array("accounts"=> array("OBJ"=>"user", "CLASS"=>"gosaAccount"    ,
-          "DN"=> get_people_ou()           ,"ACL" => "users"), 
-        "groups"          => array("OBJ"=>"group", "CLASS"=>"posixGroup"     ,
-          "DN"=> get_groups_ou('ogroupRDN') ,"ACL" => "groups"), 
-        "departments"     => array("OBJ"=>"department", "CLASS"=>"gosaDepartment" ,
-          "DN"=> ""                        ,"ACL" => "department"), 
-        "servers"         => array("OBJ"=>"servgeneric", "CLASS"=>"goServer"       ,
-          "DN"=> get_ou('serverRDN')        ,"ACL" => "server"),
-        "workstations"    => array("OBJ"=>"workgeneric", "CLASS"=>"gotoWorkstation",
-          "DN"=> get_ou('workstationRDN')   ,"ACL" => "workstation"),
-        "winstations"     => array("OBJ"=>"wingeneric", "CLASS"=>"opsiClient",        
-          "DN"=> get_ou('SAMBAMACHINEACCOUNTRDN')     ,"ACL" => "winstation"),
-        "terminals"       => array("OBJ"=>"termgeneric", "CLASS"=>"gotoTerminal"   ,
-          "DN"=> get_ou('terminalRDN')      ,"ACL" => "terminal"),
-        "printers"        => array("OBJ"=>"printgeneric", "CLASS"=>"gotoPrinter"    ,
-          "DN"=> get_ou('printerRDN')       ,"ACL" => "printer"),
-        "phones"          => array("OBJ"=>"phoneGeneric", "CLASS"=>"goFonHardware"  ,
-          "DN"=> get_ou('phoneRDN')         ,"ACL" => "phone"));
-
-
-    /* Allow searching for applications, if we are not using release managed applications 
-      */
-    if(!$this->IsReleaseManagementActivated()){
-      $p_f[      "applications"]    = array("OBJ"=>"application", "CLASS"=>"gosaApplication",
-          "DN"=> get_ou('applicationRDN')   ,"ACL" => "application"); 
+
+
+    function set_acl_base($base)
+    {
+        plugin::set_acl_base($base);
+        $this->trustModeDialog->set_acl_base($base);
     }
-           
-    /*###########
-      Perform search for selected objectClasses & regex to fill list with objects   
-      ###########*/
 
-    $Get_list_flags = 0;
-    if($ogfilter['subtrees'] == "checked"){
-      $Get_list_flags |= GL_SUBSEARCH;
-    }    
 
-    foreach($p_f as $post_name => $data){
+    /* Save data to object */
+    function save_object()
+    {
+        /* Save additional values for possible next step */
+        if (isset($_POST['ogroupedit'])){
 
-      if($ogfilter[$post_name] == "checked" && class_available($data['OBJ'])){
+            $this->trustModeDialog->save_object();
 
-        if($ogfilter['subtrees']){
-          $base =  $ogfilter['dselect'];
-        }else{
-          $base =  $data['DN'].$ogfilter['dselect'];
-        }
-   
-         
-        $filter = "(&(objectClass=".$data['CLASS'].")(|(uid=$regex)(cn=$regex)(ou=$regex)))";
-        $res    = get_list($filter, $data['ACL']  , $base, 
-                    array("description", "objectClass", "sn", "givenName", "uid","ou","cn"),$Get_list_flags);
-
-        /* fetch results and append them to the list */
-        foreach($res as $attrs){
-
-          /* Skip workstations which are already assigned to an object group.
-           */
-          if ($this->gosaGroupObjects == "[W]" || $this->gosaGroupObjects == "[T]"){
-            if(in_array($attrs['dn'],$this->used_workstations)){
-              continue;
-            }
-          }
+            /* Create a base backup and reset the
+               base directly after calling plugin::save_object();
+               Base will be set seperatly a few lines below */
+            $base_tmp = $this->base;
+            plugin::save_object();
+            $this->base = $base_tmp;
 
-          $type= $this->getObjectType($attrs);
-          $name= $this->getObjectName($attrs);
+            /* Refresh base */
+            if ($this->acl_is_moveable($this->base)){
+                if (!$this->baseSelector->update()) {
+                    msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG);
+                }
+                if ($this->base != $this->baseSelector->getBase()) {
+                    $this->base= $this->baseSelector->getBase();
+                    $this->is_modified= TRUE;
+                }
+            }
 
-          /* Fill array */
-          if (isset($attrs["description"][0])){
-            $this->objects[$attrs["dn"]]= array("text" => "$name [".$attrs["description"][0]."]", "type" => "$type");
-          } elseif (isset($attrs["uid"][0])) {
-            $this->objects[$attrs["dn"]]= array("text" => "$name [".$attrs["uid"][0]."]", "type" => "$type");
-          } else {
-            $this->objects[$attrs["dn"]]= array("text" => "$name", "type" => "$type");
-          }
         }
-      }
     }
-    uasort ($this->objects, 'sort_list');
-    reset ($this->objects);
 
-    
-    /*###########
-      Build member list and try to detect obsolete entries 
-      ###########*/
 
-    $this->memberList = array();
-  
-    /* Walk through all single member entry */
-    foreach($this->member as $dn){
+    /* (Re-)Load objects */
+    function reload()
+    {
+        /*###########
+          Variable initialisation 
+###########*/
+
+        $this->objects                = array();
+        $this->ui                     = get_userinfo();
+        $filter                       = "";
+        $objectClasses                = array();
+
+        $ogfilter               = session::get("ogfilter");
+        $regex                  = $ogfilter['regex'];
+
+        $ldap= $this->config->get_ldap_link();
+        $ldap->cd ($ogfilter['dselect']);
+
+
+        /*###########
+          Generate Filter 
+###########*/
+
+        $p_f= array("accounts"=> array("OBJ"=>"user", "CLASS"=>"gosaAccount"    ,
+                    "DN"=> get_people_ou()           ,"ACL" => "users"), 
+                "groups"          => array("OBJ"=>"group", "CLASS"=>"posixGroup"     ,
+                    "DN"=> get_groups_ou('ogroupRDN') ,"ACL" => "groups"), 
+                "departments"     => array("OBJ"=>"department", "CLASS"=>"gosaDepartment" ,
+                    "DN"=> ""                        ,"ACL" => "department"), 
+                "servers"         => array("OBJ"=>"servgeneric", "CLASS"=>"goServer"       ,
+                    "DN"=> get_ou("servgeneric", "serverRDN")        ,"ACL" => "server"),
+                "workstations"    => array("OBJ"=>"workgeneric", "CLASS"=>"gotoWorkstation",
+                    "DN"=> get_ou("workgeneric", "workstationRDN")   ,"ACL" => "workstation"),
+                "winstations"     => array("OBJ"=>"wingeneric", "CLASS"=>"opsiClient",        
+                    "DN"=> get_ou("wingeneric", 'sambaMachineAccountRDN')     ,"ACL" => "winstation"),
+                "terminals"       => array("OBJ"=>"termgeneric", "CLASS"=>"gotoTerminal"   ,
+                    "DN"=> get_ou("termgeneric", "terminalRDN")      ,"ACL" => "terminal"),
+                "printers"        => array("OBJ"=>"printgeneric", "CLASS"=>"gotoPrinter"    ,
+                    "DN"=> get_ou("printgeneric", "printerRDN")       ,"ACL" => "printer"),
+                "phones"          => array("OBJ"=>"phoneGeneric", "CLASS"=>"goFonHardware"  ,
+                    "DN"=> get_ou("phoneGeneric", "phoneRDN")         ,"ACL" => "phone"));
+
+
+        /* Allow searching for applications, if we are not using release managed applications 
+         */
+        if(!$this->IsReleaseManagementActivated()){
+            $p_f[      "applications"]    = array("OBJ"=>"application", "CLASS"=>"gosaApplication",
+                    "DN"=> get_ou("application", "applicationRDN")   ,"ACL" => "application"); 
+        }
 
-      /* The dn for the current member can't be resolved 
-         it seams that this entry was removed 
-       */ 
-      /* Try to resolv the entry again, if it still fails, display error msg */
-      $ldap->cat($dn, array("cn", "sn", "givenName", "ou", "description", "objectClass", "macAddress"));
+        /*###########
+          Perform search for selected objectClasses & regex to fill list with objects   
+###########*/
+
+        $Get_list_flags = 0;
+        if($ogfilter['subtrees'] == "checked"){
+            $Get_list_flags |= GL_SUBSEARCH;
+        }    
+
+        foreach($p_f as $post_name => $data){
+
+            if($ogfilter[$post_name] == "checked" && class_available($data['OBJ'])){
+
+                if($ogfilter['subtrees']){
+                    $base =  $ogfilter['dselect'];
+                }else{
+                    $base =  $data['DN'].$ogfilter['dselect'];
+                }
+
+
+                $filter = "(&(objectClass=".$data['CLASS'].")(|(uid=$regex)(cn=$regex)(ou=$regex)))";
+                $res    = get_list($filter, $data['ACL']  , $base, 
+                        array("description", "objectClass", "sn", "givenName", "uid","ou","cn"),$Get_list_flags);
+
+                /* fetch results and append them to the list */
+                foreach($res as $attrs){
+
+                    /* Skip workstations which are already assigned to an object group.
+                     */
+                    if ($this->gosaGroupObjects == "[W]" || $this->gosaGroupObjects == "[T]"){
+                        if(in_array($attrs['dn'],$this->used_workstations)){
+                            continue;
+                        }
+                    }
+
+                    $type= $this->getObjectType($attrs);
+                    $name= $this->getObjectName($attrs);
+
+                    /* Fill array */
+                    if (isset($attrs["description"][0])){
+                        $this->objects[$attrs["dn"]]= array("text" => "$name [".$attrs["description"][0]."]", "type" => "$type");
+                    } elseif (isset($attrs["uid"][0])) {
+                        $this->objects[$attrs["dn"]]= array("text" => "$name [".$attrs["uid"][0]."]", "type" => "$type");
+                    } else {
+                        $this->objects[$attrs["dn"]]= array("text" => "$name", "type" => "$type");
+                    }
+                }
+            }
+        }
+        reset ($this->objects);
 
-      /* It has failed, add entry with type flag I (Invalid)*/
-      if (!$ldap->success()){
-        $this->memberList[$dn]= array('text' => _("Non existing dn:")." ".LDAP::fix($dn),"type" => "I");
 
-      } else {
+        /*###########
+          Build member list and try to detect obsolete entries 
+###########*/
 
-        /* Append this entry to our all object list */
+        $this->memberList = array();
 
-        /* Fetch object */
-        $attrs= $ldap->fetch();
+        /* Walk through all single member entry */
+        foreach($this->member as $dn){
 
-        $type= $this->getObjectType($attrs);
-        $name= $this->getObjectName($attrs);
+            /* The dn for the current member can't be resolved 
+               it seams that this entry was removed 
+             */ 
+            /* Try to resolv the entry again, if it still fails, display error msg */
+            $ldap->cat($dn, array("cn", "sn", "givenName", "ou", "description", "objectClass", "macAddress"));
 
-        if (isset($attrs["description"][0])){
-          $this->objcache[$attrs["dn"]]= array("text" => "$name [".$attrs["description"][0]."]", "type" => "$type");
-        } elseif (isset($attrs["uid"][0])) {
-          $this->objcache[$attrs["dn"]]= array("text" => "$name [".$attrs["uid"][0]."]", "type" => "$type");
-        } else {
-          $this->objcache[$attrs["dn"]]= array("text" => "$name", "type" => "$type");
+            /* It has failed, add entry with type flag I (Invalid)*/
+            if (!$ldap->success()){
+                $this->memberList[$dn]= array('text' => _("Non existing DN:")." ".LDAP::fix($dn),"type" => "I");
+
+            } else {
+
+                /* Append this entry to our all object list */
+
+                /* Fetch object */
+                $attrs= $ldap->fetch();
+
+                $type= $this->getObjectType($attrs);
+                $name= $this->getObjectName($attrs);
+
+                if (isset($attrs["description"][0])){
+                    $this->objcache[$attrs["dn"]]= array("text" => "$name [".$attrs["description"][0]."]", "type" => "$type");
+                } elseif (isset($attrs["uid"][0])) {
+                    $this->objcache[$attrs["dn"]]= array("text" => "$name [".$attrs["uid"][0]."]", "type" => "$type");
+                } else {
+                    $this->objcache[$attrs["dn"]]= array("text" => "$name", "type" => "$type");
+                }
+                $this->objcache[$attrs["dn"]]['objectClass']  = $attrs['objectClass'];
+
+                if(isset($attrs['macAddress'][0])){
+                    $this->objcache[$attrs["dn"]]['macAddress']  = $attrs['macAddress'][0];
+                }else{
+                    $this->objcache[$attrs["dn"]]['macAddress']  = "";
+                }
+
+                if(isset($attrs['uid'])){
+                    $this->objcache[$attrs["dn"]]['uid']          = $attrs['uid'];
+                }
+
+                /* Fill array */
+                if (isset($attrs["description"][0])){
+                    $this->objects[$attrs["dn"]]= array("text" => "$name [".$attrs["description"][0]."]", "type" => "$type");
+                } else {
+                    $this->objects[$attrs["dn"]]= array("text" => "$name", "type" => "$type");
+                }
+
+                $this->memberList[$dn]= $this->objects[$attrs["dn"]];
+            }
         }
-        $this->objcache[$attrs["dn"]]['objectClass']  = $attrs['objectClass'];
+        reset ($this->memberList);
 
-        if(isset($attrs['macAddress'][0])){
-          $this->objcache[$attrs["dn"]]['macAddress']  = $attrs['macAddress'][0];
-        }else{
-          $this->objcache[$attrs["dn"]]['macAddress']  = "";
+        /* Assemble types of currently combined objects */
+        $objectTypes= "";
+        foreach ($this->memberList as $dn => $desc){
+
+            /* Invalid object? */
+            if ($desc['type'] == 'I'){
+                continue;
+            }
+
+            /* Fine. Add to list. */
+            if (!preg_match('/'.$desc['type'].'/', $objectTypes)){
+                $objectTypes.= $desc['type'];
+            }
         }
+        $this->gosaGroupObjects= "[$objectTypes]";
+    }
 
-        if(isset($attrs['uid'])){
-          $this->objcache[$attrs["dn"]]['uid']          = $attrs['uid'];
+
+    function getObjectType($attrs)
+    {
+        $type= "I";
+
+        foreach($this->typeToClass as $index => $class){
+            if (in_array($class, $attrs['objectClass'])){
+                $type= $index;
+                break;
+            }
         }
+        return ($type);
+    }
 
-        /* Fill array */
-        if (isset($attrs["description"][0])){
-          $this->objects[$attrs["dn"]]= array("text" => "$name [".$attrs["description"][0]."]", "type" => "$type");
+
+    function getObjectName($attrs)
+    {
+        /* Person? */
+        $name =""; 
+        if (in_array('gosaAccount', $attrs['objectClass'])){
+            if(isset($attrs['sn']) && isset($attrs['givenName'])){
+                $name= $attrs['sn'][0].", ".$attrs['givenName'][0];
+            } else {
+                $name= $attrs['uid'][0];
+            }
         } else {
-          $this->objects[$attrs["dn"]]= array("text" => "$name", "type" => "$type");
+            if(isset($attrs["cn"][0])) {
+                $name= $attrs['cn'][0];
+            } else {
+                $name= $attrs['ou'][0];
+            }
         }
 
-        $this->memberList[$dn]= $this->objects[$attrs["dn"]];
-      }
-    }
-    uasort ($this->memberList, 'sort_list');
-    reset ($this->memberList);
-
-    /* Assemble types of currently combined objects */
-    $objectTypes= "";
-    foreach ($this->memberList as $dn => $desc){
-
-      /* Invalid object? */
-      if ($desc['type'] == 'I'){
-        continue;
-      }
-
-      /* Fine. Add to list. */
-      if (!preg_match('/'.$desc['type'].'/', $objectTypes)){
-        $objectTypes.= $desc['type'];
-      }
-    }
-    $this->gosaGroupObjects= "[$objectTypes]";
-  }
-
-
-  function convert_list($input)
-  {
-    $temp= "";
-    $conv= array(  
-        "Y" => "plugins/users/images/select_template.png",
-        "U" => "plugins/generic/images/head.png",
-        "G" => "plugins/groups/images/groups.png",
-        "A" => "plugins/ogroups/images/application.png",
-        "D" => "plugins/departments/images/department.png",
-        "S" => "plugins/ogroups/images/server.png",
-        "W" => "plugins/ogroups/images/workstation.png",
-        "O" => "plugins/ogroups/images/winstation.png",
-        "T" => "plugins/ogroups/images/terminal.png",
-        "F" => "plugins/ogroups/images/phone.png",
-        "P" => "plugins/ogroups/images/printer.png",
-        "I" => "images/false.png");
-
-    foreach ($input as $key => $value){
-      /* Generate output */
-      $temp.= "<option title='".addslashes( $key)."' value=\"$key\" class=\"select\" style=\"background-image:url('".get_template_path($conv[$value['type']])."');\">".$value['text']."</option>\n";
+        return ($name);
     }
 
-    return ($temp);
-  }
-
-
-  function getObjectType($attrs)
-  {
-    $type= "I";
-
-    foreach(array(  
-          "Y" => "gosaUserTemplate",
-          "U" => "gosaAccount",
-          "G" => "posixGroup",
-          "A" => "gosaApplication",
-          "D" => "gosaDepartment",
-          "S" => "goServer",
-          "W" => "gotoWorkstation",
-          "O" => "opsiClient",
-          "T" => "gotoTerminal",
-          "F" => "goFonHardware",
-          "P" => "gotoPrinter") as $index => $class){
-      if (in_array($class, $attrs['objectClass'])){
-        $type= $index;
-        break;
-      }
-    }
 
-    return ($type);
-  }
-
-
-  function getObjectName($attrs)
-  {
-    /* Person? */
-    $name =""; 
-    if (in_array('gosaAccount', $attrs['objectClass'])){
-      if(isset($attrs['sn']) && isset($attrs['givenName'])){
-        $name= $attrs['sn'][0].", ".$attrs['givenName'][0];
-      } else {
-        $name= $attrs['uid'][0];
-      }
-    } else {
-      if(isset($attrs["cn"][0])) {
-        $name= $attrs['cn'][0];
-      } else {
-        $name= $attrs['ou'][0];
-      }
-    }
+    function check()
+    {
+        /* Call common method to give check the hook */
+        $message= plugin::check();
 
-    return ($name);
-  }
+        /* Permissions for that base? */
+        if ($this->base != ""){
+            $new_dn= 'cn='.$this->cn.','.get_ou("group", "ogroupRDN").$this->base;
+        } else {
+            $new_dn= $this->dn;
+        }
 
+        /* Check if we have workstations assigned, that are already assigned to
+           another object group.  */
+        if ($this->gosaGroupObjects == "[W]" || $this->gosaGroupObjects == "[T]" ) {
+            $test =array_intersect($this->used_workstations,$this->member); 
+            if(count($test)){
+                $str = "";
+                foreach($test as $dn){
+                    $str .= "<li>".$dn."</li>";
+                }
+                $message[] = sprintf(_("These systems are already configured by other object groups and cannot be added:")."<br><ul>%s</ul>",$str);
+            }
+        }
 
-  function check()
-  {
-    /* Call common method to give check the hook */
-    $message= plugin::check();
+        $ldap = $this->config->get_ldap_link();
+        if(LDAP::fix($this->dn) != LDAP::fix($new_dn)){
+            $ldap->cat ($new_dn, array('dn'));
+        }
 
-    /* Permissions for that base? */
-    if ($this->base != ""){
-      $new_dn= 'cn='.$this->cn.','.get_ou('ogroupRDN').$this->base;
-    } else {
-      $new_dn= $this->dn;
-    }
+        if($ldap->count() !=0){
+            $message[]= msgPool::duplicated(_("Name"));
+        } 
 
-    /* Check if we have workstations assigned, that are already assigned to
-        another object group.  */
-    if ($this->gosaGroupObjects == "[W]" || $this->gosaGroupObjects == "[T]" ) {
-      $test =array_intersect($this->used_workstations,$this->member); 
-      if(count($test)){
-        $str = "";
-        foreach($test as $dn){
-          $str .= "<li>".$dn."</li>";
-        }
-        $message[] = sprintf(_("These systems are already configured by other object groups and cannot be added:")."<br><ul>%s</ul>",$str);
-      }
-    }
+        // Check if a wrong base was supplied
+        if(!$this->baseSelector->checkLastBaseUpdate()){
+            $message[]= msgPool::check_base();;
+        } 
 
-    $ldap = $this->config->get_ldap_link();
-    if(LDAP::fix($this->dn) != LDAP::fix($new_dn)){
-      $ldap->cat ($new_dn, array('dn'));
-    }
-    
-    if($ldap->count() !=0){
-      $message[]= msgPool::duplicated(_("Name"));
-    } 
-
-    // Check if a wrong base was supplied
-    if(!$this->baseSelector->checkLastBaseUpdate()){
-      $message[]= msgPool::check_base();;
-    } 
-
-    /* Set new acl base */
-    if($this->dn == "new") {
-      $this->set_acl_base($this->base);
-    }
+        /* Set new acl base */
+        if($this->dn == "new") {
+            $this->set_acl_base($this->base);
+        }
 
-    /* must: cn */
-    if ($this->cn == ""){
-      $message[]= msgPool::required(_("Name"));
-    }
+        /* must: cn */
+        if ($this->cn == ""){
+            $message[]= msgPool::required(_("Name"));
+        }
 
-    if (preg_match('/[=,+<>#;]/', $this->cn)) { 
-      $message[] = msgPool::invalid(_("Name"), $this->cn, "/[^=+,<>#;]/"); 
-    } 
+        if (preg_match('/[=,+<>#;]/', $this->cn)) { 
+            $message[] = msgPool::invalid(_("Name"), $this->cn, "/[^=+,<>#;]/"); 
+        } 
 
-    /* To many different object types? */
-    if (strlen($this->gosaGroupObjects) > 4){
-      $message[]= _("You can combine two different object types at maximum, only!");
-    }
+        /* To many different object types? */
+        if (strlen($this->gosaGroupObjects) > 4){
+            $message[]= _("You can combine two different object types at maximum, only!");
+        }
 
-    /* Check if we are allowed to create or move this object 
-     */
-    if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
-      $message[] = msgPool::permCreate();
-    }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
-      $message[] = msgPool::permMove();
+        /* Check if we are allowed to create or move this object 
+         */
+        if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
+            $message[] = msgPool::permCreate();
+        }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
+            $message[] = msgPool::permMove();
+        }
+
+        return ($message);
     }
 
-    return ($message);
-  }
 
+    /* Save to LDAP */
+    function save()
+    {
+        // Do not save members if we don't want to. 
+        // This may be the case if we've copied an ogroup containing systems!
+        if(!$this->copyMembers){
+            $this->member = array();
+            $this->reload();
+        }
 
-  /* Save to LDAP */
-  function save()
-  {
-    plugin::save();
+        plugin::save();
 
-    /* Move members to target array */
-    $this->attrs['member'] =array();
-    foreach ($this->member as $key => $desc){
-      $this->attrs['member'][]= LDAP::fix($key);
-    }
+        /* Move members to target array */
+        $this->attrs['member'] =array();
+        foreach ($this->member as $key => $desc){
+            $this->attrs['member'][]= LDAP::fix($key);
+        }
 
-    $ldap= $this->config->get_ldap_link();
+        $ldap= $this->config->get_ldap_link();
 
-    /* New accounts need proper 'dn', propagate it to remaining objects */
-    if ($this->dn == 'new'){
-      $this->dn= 'cn='.$this->cn.','.get_ou('ogroupRDN').$this->base;
-    }
+        /* New accounts need proper 'dn', propagate it to remaining objects */
+        if ($this->dn == 'new'){
+            $this->dn= 'cn='.$this->cn.','.get_ou("group", "ogroupRDN").$this->base;
+        }
 
-    /* Save data. Using 'modify' implies that the entry is already present, use 'add' for
-       new entries. So do a check first... */
-    $ldap->cat ($this->dn, array('dn'));
-    if ($ldap->fetch()){
-      /* Modify needs array() to remove values :-( */
-      if (!count ($this->member)){
-        $this->attrs['member']= array();
-      }
-      $mode= "modify";
-
-    } else {
-      $mode= "add";
-      $ldap->cd($this->config->current['BASE']);
-      $ldap->create_missing_trees(preg_replace('/^[^,]+,/', '', $this->dn));
-    }
+        /* Save data. Using 'modify' implies that the entry is already present, use 'add' for
+           new entries. So do a check first... */
+        $ldap->cat ($this->dn, array('dn'));
+        if ($ldap->fetch()){
+            /* Modify needs array() to remove values :-( */
+            if (!count ($this->member)){
+                $this->attrs['member']= array();
+            }
+            $mode= "modify";
 
-    /******
-      Trust accounts 
-     ******/
-    $objectclasses= array();
-    foreach ($this->attrs['objectClass'] as $key => $class){
-      if (preg_match('/trustAccount/i', $class)){
-        continue;
-      }
-      $objectclasses[]= $this->attrs['objectClass'][$key];
-    }
-    $this->attrs['objectClass']= $objectclasses;
-    if ($this->trustModel != ""){
-      $this->attrs['objectClass'][]= "trustAccount";
-      $this->attrs['trustModel']= $this->trustModel;
-      $this->attrs['accessTo']= array();
-      if ($this->trustModel == "byhost"){
-        foreach ($this->accessTo as $host){
-          $this->attrs['accessTo'][]= $host;
-        }
-      }
-    } else {
-      if ($this->was_trust_account){
-        $this->attrs['accessTo']= array();
-        $this->attrs['trustModel']= array();
-      }
-    }
+        } else {
+            $mode= "add";
+            $ldap->cd($this->config->current['BASE']);
+            $ldap->create_missing_trees(preg_replace('/^[^,]+,/', '', $this->dn));
+        }
 
-    /******
-      Ende - Trust accounts 
-     ******/
 
-    /* Write back to ldap */
-    $ldap->cd($this->dn);
-    $this->cleanup();
-    $ldap->$mode($this->attrs);
+        /* Write back to ldap */
+        $ldap->cd($this->dn);
+        $this->cleanup();
+        $ldap->$mode($this->attrs);
 
-    if($mode == "add"){
-      new log("create","ogroups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
-    }else{
-      new log("modify","ogroups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
-    }
+        if($mode == "add"){
+            new log("create","ogroups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+        }else{
+            new log("modify","ogroups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+        }
 
-    /* Trigger post signal */
-    $this->handle_post_events($mode);
+        /* Trigger post signal */
+        $this->handle_post_events($mode);
 
-    $ret= 0;
-    if (!$ldap->success()){
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
-      $ret= 1;
+        $ret= 0;
+        if (!$ldap->success()){
+            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
+            $ret= 1;
+        }else{
+            $this->trustModeDialog->dn = $this->dn;
+            $this->trustModeDialog->save();
+        }
+
+        return ($ret);
     }
 
-    return ($ret);
-  }
+    function remove_from_parent()
+    {
+        plugin::remove_from_parent();
 
-  function remove_from_parent()
-  {
-    plugin::remove_from_parent();
+        $ldap= $this->config->get_ldap_link();
+        $ldap->rmdir($this->dn);
+        if (!$ldap->success()){
+            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
+        }
 
-    $ldap= $this->config->get_ldap_link();
-    $ldap->rmdir($this->dn);
-    if (!$ldap->success()){
-      msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
-    }
+        new log("remove","ogroups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
 
-    new log("remove","ogroups/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
-
-    /* Trigger remove signal */
-    $this->handle_post_events("remove");
-  }
-
-  
-  function PrepareForCopyPaste($source)
-  {
-    plugin::PrepareForCopyPaste($source);
-
-    /* Reload tabs */
-    $this->parent->reload($this->gosaGroupObjects );
-   
-    /* Reload plugins */ 
-    foreach($this->parent->by_object as $name => $class ){
-      if(get_class($this) != $name) {
-        $this->parent->by_object[$name]->PrepareForCopyPaste($source);
-      }
+        /* Trigger remove signal */
+        $this->handle_post_events("remove");
     }
 
-    $source_o = new ogroup ($this->config, $source['dn']);
-    foreach(array("accessTo","member","gosaGroupObjects")  as $attr){
-      $this->$attr = $source_o->$attr;
-    }
-  }
-
-
-  function getCopyDialog()
-  {
-    $smarty = get_smarty();
-    $smarty->assign("cn",     $this->cn);
-    $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE,dirname(__FILE__)));
-    $ret = array();
-    $ret['string'] = $str;
-    $ret['status'] = "";
-    return($ret);
-  }
-
-  function saveCopyDialog()
-  {
-    if(isset($_POST['cn'])){
-      $this->cn = $_POST['cn'];
+
+    function PrepareForCopyPaste($source)
+    {
+        plugin::PrepareForCopyPaste($source);
+
+        // Preselect "Copy members" state.
+        // If we've terminals, workstations or servers in our members list,
+        //  then disable this option by default, to avoid problems with 
+        //  inheritance of ogroup values. 
+        if (preg_match("/[STW]/", $this->gosaGroupObjects) || !isset($source['member'])) { 
+            $this->copyMembers = FALSE; 
+        } else { 
+            $this->copyMembers = TRUE; 
+        } 
+
+        /* Reload tabs */
+        $this->parent->reload($this->gosaGroupObjects );
+
+        $this->trustModeDialog->PrepareForCopyPaste($source);
+
+        /* Reload plugins */ 
+        foreach($this->parent->by_object as $name => $class ){
+            if(get_class($this) != $name) {
+                $this->parent->by_object[$name]->PrepareForCopyPaste($source);
+            }
+        }
+
+        $source_o = new ogroup ($this->config, $source['dn']);
+        foreach(array("member","gosaGroupObjects")  as $attr){
+            $this->$attr = $source_o->$attr;
+        }
     }
-  }
 
 
-  function IsReleaseManagementActivated()
-  {
-    /* Check if we should enable the release selection */
-    $tmp = $this->config->search("faiManagement", "CLASS",array('menu','tabs'));
-    if(!empty($tmp)){
-      return(true);
+    function getCopyDialog()
+    {
+        $smarty = get_smarty();
+        $smarty->assign("cn",  set_post($this->cn));
+        $smarty->assign("copyMembers", $this->copyMembers);
+        $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE,dirname(__FILE__)));
+        $ret = array();
+        $ret['string'] = $str;
+        $ret['status'] = "";
+        return($ret);
+    }
+
+    function saveCopyDialog()
+    {
+        if(isset($_POST['cn'])){
+            $this->cn = get_post('cn');
+        }
+        $this->copyMembers = isset($_POST['copyMembers']);
+    }
+
+
+    function IsReleaseManagementActivated()
+    {
+        return($this->config->pluginEnabled("faiManagement"));
+    }
+
+
+    static function plInfo()
+    {
+        return (array(
+                    "plShortName"   => _("Generic"),
+                    "plDescription" => _("Object group generic"),
+                    "plSelfModify"  => FALSE,
+                    "plDepends"     => array(),
+                    "plPriority"    => 1,
+                    "plSection"     => array("administration"),
+                    "plRequirements"=> array(
+                        'ldapSchema' => array('gosaGroupOfNames' => '>=2.7'),
+                        'onFailureDisablePlugin' => array(get_class(), 'ogroupManagement')
+                        ),
+                    "plCategory"    => array("ogroups" => array("description"  => _("Object groups"),
+                            "objectClass"  => "gosaGroupOfNames")),
+                    "plProvidedAcls"=> array(
+                        "cn"                => _("Name"),
+                        "base"              => _("Base"),
+                        "description"       => _("Description"),
+                        "accessTo"          => _("System trust"),
+                        "member"            => _("Member"))
+                    ));
     }
-    return(false);
-  }
-
-
-  static function plInfo()
-  {
-    return (array(
-          "plShortName"   => _("Generic"),
-          "plDescription" => _("Object group generic"),
-          "plSelfModify"  => FALSE,
-          "plDepends"     => array(),
-          "plPriority"    => 1,
-          "plSection"     => array("administration"),
-          "plCategory"    => array("ogroups" => array("description"  => _("Object groups"),
-                                                      "objectClass"  => "gosaGroupOfNames")),
-          "plProvidedAcls"=> array(
-            "cn"                => _("Name"),
-            "base"              => _("Base"),
-            "description"       => _("Description"),
-            "trustModel"        => _("Sytem trust"),
-            "member"            => _("Member"))
-          ));
-  }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/ogroups/class_ogroupManagement.inc b/gosa-core/plugins/admin/ogroups/class_ogroupManagement.inc
index 75bb9df..5efe5a6 100644
--- a/gosa-core/plugins/admin/ogroups/class_ogroupManagement.inc
+++ b/gosa-core/plugins/admin/ogroups/class_ogroupManagement.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_ogroupManagement.inc 15406 2010-01-28 10:39:13Z hickert $$
+ * ID: $$Id: class_ogroupManagement.inc 19221 2010-07-29 12:14:19Z hickert $$
  *
  * 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
@@ -22,186 +22,183 @@
 
 class ogroupManagement extends management
 {
-  var $plHeadline     = "Object groups";
-  var $plDescription  = "Manage object groups";
-  var $plIcon  = "plugins/ogroups/images/plugin.png";
-
-  // Tab definition 
-  protected $tabClass = "ogrouptabs";
-  protected $tabType = "OGROUPTABS";
-  protected $aclCategory = "ogroups";
-  protected $aclPlugin   = "ogroup";
-  protected $objectName   = "object group";
-
-  function __construct($config,$ui)
-  {
-    $this->config = $config;
-    $this->ui = $ui;
-
-    $this->storagePoints = array(get_ou("ogroupRDN"));
-
-    // Build filter
-    if (session::global_is_set(get_class($this)."_filter")){
-      $filter= session::global_get(get_class($this)."_filter");
-    } else {
-      $filter = new filter(get_template_path("ogroup-filter.xml", true));
-      $filter->setObjectStorage($this->storagePoints);
-    }
-    $this->setFilter($filter);
+    var $plHeadline     = "Object groups";
+    var $plDescription  = "Combine different types of objects to make use of this relationship";
+    var $plIcon  = "plugins/ogroups/images/plugin.png";
+
+    // Tab definition 
+    protected $tabClass = "ogrouptabs";
+    protected $tabType = "OGROUPTABS";
+    protected $aclCategory = "ogroups";
+    protected $aclPlugin   = "ogroup";
+    protected $objectName   = "object group";
+
+    function __construct($config,$ui)
+    {
+        $this->config = $config;
+        $this->ui = $ui;
+
+        $this->storagePoints = array(get_ou("group", "ogroupRDN"));
+
+        // Build filter
+        if (session::global_is_set(get_class($this)."_filter")){
+            $filter= session::global_get(get_class($this)."_filter");
+        } else {
+            $filter = new filter(get_template_path("ogroup-filter.xml", true));
+            $filter->setObjectStorage($this->storagePoints);
+        }
+        $this->setFilter($filter);
 
-    // Build headpage
-    $headpage = new listing(get_template_path("ogroup-list.xml", true));
-    $headpage->registerElementFilter("filterProperties", "ogroupManagement::filterProperties");
-    $headpage->setFilter($filter);
+        // Build headpage
+        $headpage = new listing(get_template_path("ogroup-list.xml", true));
+        $headpage->registerElementFilter("filterProperties", "ogroupManagement::filterProperties");
+        $headpage->setFilter($filter);
 
-    // Add copy&paste and snapshot handler.
-    if ($this->config->boolValueIsTrue("main", "copyPaste")){
-      $this->cpHandler = new CopyPasteHandler($this->config);
+        // Add copy&paste and snapshot handler.
+        if ($this->config->boolValueIsTrue("core", "copyPaste")){
+            $this->cpHandler = new CopyPasteHandler($this->config);
+        }
+        if($this->config->get_cfg_value("core","enableSnapshots") == "true"){
+            $this->snapHandler = new SnapshotHandler($this->config);
+        }
+        parent::__construct($config, $ui, "ogroups", $headpage);
+
+        $this->registerAction("edit_ogroup","editEntry");
+        $this->registerAction("edit_phonequeue","editEntry");
+        $this->registerAction("edit_workstartup","editEntry");
+        $this->registerAction("edit_termgroup","editEntry");
+
+        $this->registerAction("sendMessage", "sendMessage");
+        $this->registerAction("saveEventDialog", "saveEventDialog");
+        $this->registerAction("abortEventDialog", "closeDialogs");
     }
-    if($this->config->get_cfg_value("enableSnapshots") == "true"){
-      $this->snapHandler = new SnapshotHandler($this->config);
+
+
+    // Inject user actions
+    function detectPostActions()
+    {
+        $action = management::detectPostActions();
+
+        if(isset($_POST['save_event_dialog'])) $action['action'] = "saveEventDialog";
+        if(isset($_POST['abort_event_dialog'])) $action['action'] = "abortEventDialog";
+        return($action);
     }
-    parent::__construct($config, $ui, "ogroups", $headpage);
-
-    $this->registerAction("edit_ogroup","editEntry");
-    $this->registerAction("edit_phonequeue","editEntry");
-    $this->registerAction("edit_workstartup","editEntry");
-    $this->registerAction("edit_termgroup","editEntry");
-
-    $this->registerAction("sendMessage", "sendMessage");
-    $this->registerAction("saveEventDialog", "saveEventDialog");
-    $this->registerAction("abortEventDialog", "closeDialogs");
-  }
-
-
-  // Inject user actions
-  function detectPostActions()
-  {
-    $action = management::detectPostActions();
-
-    if(isset($_POST['save_event_dialog'])) $action['action'] = "saveEventDialog";
-    if(isset($_POST['abort_event_dialog'])) $action['action'] = "abortEventDialog";
-    return($action);
-  }
-
-
-  function editEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="")
-  {
-    $str = management::editEntry($action,$target);
-    if(preg_match("/^edit_/",$action)){
-      $tab = preg_replace("/^edit_/","",$action);
-      if(isset($this->tabObject->by_object[$tab])){
-        $this->tabObject->current = $tab;
-      }else{
-        trigger_error("Unknown tab: ".$tab);
-      }
+
+
+    function editEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="")
+    {
+        $str = management::editEntry($action,$target);
+        if(preg_match("/^edit_/",$action)){
+            $tab = preg_replace("/^edit_/","",$action);
+            if(isset($this->tabObject->by_object[$tab])){
+                $this->tabObject->current = $tab;
+            }else{
+                trigger_error("Unknown tab: ".$tab);
+            }
+        }
+        if(!empty($str)) return($str);
     }
-    if(!empty($str)) return($str);
-  }
-
-
-  /*! \brief  Sends a message to a set of users using gosa-si events.
-   */
-  function saveEventDialog()
-  {
-    $this->dialogObject->save_object();
-    $msgs = $this->dialogObject->check();
-    if(count($msgs)){
-      msg_dialog::displayChecks($msgs);
-    }else{
-      $o_queue = new gosaSupportDaemon();
-      $o_queue->append($this->dialogObject);
-      if($o_queue->is_error()){
-        msg_dialog::display(_("Infrastructure error"), msgPool::siError($o_queue->get_error()),ERROR_DIALOG);
-      }
-      $this->closeDialogs();
+
+
+    /*! \brief  Sends a message to a set of users using gosa-si events.
+     */
+    function saveEventDialog()
+    {
+        $this->dialogObject->save_object();
+        $msgs = $this->dialogObject->check();
+        if(count($msgs)){
+            msg_dialog::displayChecks($msgs);
+        }else{
+            $o_queue = new gosaSupportDaemon();
+            $o_queue->append($this->dialogObject);
+            if($o_queue->is_error()){
+                msg_dialog::display(_("Infrastructure error"), msgPool::siError($o_queue->get_error()),ERROR_DIALOG);
+            }
+            $this->closeDialogs();
+        }
     }
-  }
 
 
-  /*! \brief  Sends a message to a set of users using gosa-si events.
-   */
-  function sendMessage($action="",$target=array(),$all=array())
-  {
+    /*! \brief  Sends a message to a set of users using gosa-si events.
+     */
+    function sendMessage($action="",$target=array(),$all=array())
+    {
 
-    if(class_available("DaemonEvent_notify")){
+        if(class_available("DaemonEvent_notify")){
 
-      // Resolv targets  
-      $targets = array();
-      $m_list  = array();
-      $ldap = $this->config->get_ldap_link();
+            // Resolv targets  
+            $targets = array();
+            $m_list  = array();
+            $ldap = $this->config->get_ldap_link();
 
-      // Collect selected ogroups
-      foreach($target as $dn){
-        $ldap->cat($dn, array('member'));
-        while ($entry = $ldap->fetch()) {
-          $m_list[] = $entry;
-        }
-      }
-
-      // Collect object group member dns
-      foreach($m_list as $entry){
-        $members = $entry['member'];
-        for($i=0;$i<$members['count'];$i++) {
-
-          // Fetch member object
-          $ldap->cat($members[$i], array('uid','cn','objectClass'));
-          if ($ldap->count() > 0) {
-
-            // Determine which type the object has
-            $attrs = $ldap->fetch();
-            if (array_search('gosaAccount', $attrs['objectClass'])) {
-              $uid = $attrs['uid'][0];
-              $targets['USERS'][] = $uid;
-            }elseif (array_search('posixGroup', $attrs['objectClass'])) {
-              $group = $attrs['cn'][0];
-              $targets['GROUPS'][] = $group;
+            // Collect selected ogroups
+            foreach($target as $dn){
+                $ldap->cat($dn, array('member'));
+                while ($entry = $ldap->fetch()) {
+                    $m_list[] = $entry;
+                }
             }
-          }
-        }
-      }
-    
-      // We've at least one recipient
-      if(count($targets)){
-        $events = DaemonEvent::get_event_types(USER_EVENT);
-        if(isset($events['BY_CLASS']['DaemonEvent_notify'])){
-          $type = $events['BY_CLASS']['DaemonEvent_notify'];
-          $this->dialogObject = new $type['CLASS_NAME']($this->config);
-          $this->dialogObject->add_targets($targets);
-          $this->dialogObject->set_type(TRIGGERED_EVENT);
-        }
-      }
 
+            // Collect object group member dns
+            foreach($m_list as $entry){
+                $members = $entry['member'];
+                for($i=0;$i<$members['count'];$i++) {
+
+                    // Fetch member object
+                    $ldap->cat($members[$i], array('uid','cn','objectClass'));
+                    if ($ldap->count() > 0) {
+
+                        // Determine which type the object has
+                        $attrs = $ldap->fetch();
+                        if (array_search('gosaAccount', $attrs['objectClass'])) {
+                            $uid = $attrs['uid'][0];
+                            $targets['USERS'][] = $uid;
+                        }elseif (array_search('posixGroup', $attrs['objectClass'])) {
+                            $group = $attrs['cn'][0];
+                            $targets['GROUPS'][] = $group;
+                        }
+                    }
+                }
+            }
+
+            // We've at least one recipient
+            if(count($targets)){
+                $events = DaemonEvent::get_event_types(USER_EVENT);
+                if(isset($events['BY_CLASS']['DaemonEvent_notify'])){
+                    $type = $events['BY_CLASS']['DaemonEvent_notify'];
+                    $this->dialogObject = new $type['CLASS_NAME']($this->config);
+                    $this->dialogObject->add_targets($targets);
+                    $this->dialogObject->set_type(TRIGGERED_EVENT);
+                }
+            }
+
+        }
     }
-  }
-
-  static function filterProperties($row, $gosaGroupObjects)
-  {
-
-    $conv= array(
-        "Y" => array("plugins/users/images/select_template.png",_("Templates") , "ogroup"),
-        "U" => array("plugins/generic/images/head.png"        ,_("User")        , "ogroup"),
-        "G" => array("plugins/groups/images/groups.png"       ,_("Group")       , "ogroup"),
-        "A" => array("plugins/ogroups/images/application.png" ,_("Application") , "ogroup"),
-        "D" => array("plugins/departments/department.png"     ,_("Department")  , "ogroup"),
-        "S" => array("plugins/ogroups/images/server.png"      ,_("Server")      , "ogroup"),
-        "F" => array("plugins/ogroups/images/asterisk.png"    ,_("Phone")       , "phonequeue"),
-        "W" => array("plugins/ogroups/images/workstation.png" ,_("Workstation") , "workstartup"),
-        "O" => array("plugins/ogroups/images/winstation.png"  ,_("Windows Install") , "ogroup"),
-        "T" => array("plugins/ogroups/images/terminal.png"    ,_("Terminal")    , "termgroup"),
-        "P" => array("plugins/ogroups/images/printer.png"     ,_("Printer")     , "ogroup"));
-
-    $types = preg_replace("/[^a-z]/i","",$gosaGroupObjects[0]);
-    $result ="";
-    for($i = 0 ; $i < strlen($types); $i++){
-      $type = $types[$i];
-      $result.="<input class='center' type='image' src='".$conv[$type][0]."' ".
-        "alt='".$conv[$type][1]."' title='".$conv[$type][1].
-        "' name='listing_edit_".$conv[$type][2]."_$row' style='padding:1px'>";
 
+    static function filterProperties($row, $gosaGroupObjects)
+    {
+
+        $conv= array(
+                "Y" => array("plugins/users/images/select_template.png",_("Templates") , "ogroup"),
+                "U" => array("plugins/generic/images/head.png"        ,_("User")        , "ogroup"),
+                "G" => array("plugins/groups/images/select_group.png"       ,_("Group")       , "ogroup"),
+                "A" => array("plugins/ogroups/images/application.png" ,_("Application") , "ogroup"),
+                "D" => array("plugins/departments/department.png"     ,_("Department")  , "ogroup"),
+                "S" => array("plugins/ogroups/images/server.png"      ,_("Server")      , "ogroup"),
+                "F" => array("plugins/ogroups/images/asterisk.png"    ,_("Phone")       , "phonequeue"),
+                "W" => array("plugins/ogroups/images/workstation.png" ,_("Workstation") , "workstartup"),
+                "O" => array("plugins/ogroups/images/winstation.png"  ,_("Windows Install") , "ogroup"),
+                "T" => array("plugins/ogroups/images/terminal.png"    ,_("Terminal")    , "termgroup"),
+                "P" => array("plugins/ogroups/images/printer.png"     ,_("Printer")     , "ogroup"));
+
+        $types = preg_replace("/[^a-z]/i","",$gosaGroupObjects[0]);
+        $result ="";
+        for($i = 0 ; $i < strlen($types); $i++){
+            $type = $types[$i];
+            $result.= image($conv[$type][0], 'listing_edit_'.$conv[$type][2].'_'.$row,$conv[$type][1]);
+        }
+        return($result);
     }
-    return($result);
-  }
 } 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/plugins/admin/ogroups/generic.tpl b/gosa-core/plugins/admin/ogroups/generic.tpl
index 199fd19..34b4d8c 100644
--- a/gosa-core/plugins/admin/ogroups/generic.tpl
+++ b/gosa-core/plugins/admin/ogroups/generic.tpl
@@ -1,8 +1,8 @@
-<table summary="" style="width:100%;">
+<table summary="{t}Object group{/t}" style="width:100%;">
  <tr>
-  <td style="width:50%; vertical-align:top">
+  <td style="width:50%">
    <input type="hidden" name="ogroupedit" value="1">
-   <table summary="">
+   <table summary="{t}Generic settings{/t}">
     <tr>
      <td><LABEL for="cn">{t}Group name{/t}</LABEL>{$must}</td>
      <td>
@@ -32,49 +32,19 @@
     </tr>
    </table>
 
-	<p class="seperator"> </p>
-	<h2><img alt="" class="center" align="middle" src="images/lists/locked.png" /> {t}System trust{/t}</h2>
-    {t}Trust mode{/t} 
-    {render acl=$trustmodeACL}
-        <select name="trustmode" id="trustmode" size=1
-            onChange="changeSelectState('trustmode', 'wslist');
-                      changeSelectState('trustmode', 'add_ws');
-                      changeSelectState('trustmode', 'del_ws');">
-          {html_options options=$trustmodes selected=$trustmode}
-        </select><br>
-    {/render}
-    {render acl=$trustmodeACL}
-       <select style="width:100%" id="wslist" name="workstation_list[]" size=8 multiple {$trusthide}>
-        {html_options values=$workstations output=$workstations}
-        {if $emptyArrAccess}
-            <option disabled> </option>
-        {/if}
-       </select>
-    {/render}
-       <br>
-    {render acl=$trustmodeACL}
-       <input type="submit" id="add_ws" value="{msgPool type=addButton}" name="add_ws" {$trusthide}> 
-    {/render}
-    {render acl=$trustmodeACL}
-       <input type="submit" id="del_ws" value="{msgPool type=delButton}" name="delete_ws" {$trusthide}>
-    {/render}
-
-
+    
+	<hr>
+    {$trustModeDialog}
   </td>
-  <td style="border-left:1px solid #A0A0A0; padding-left:10px;">
+  <td style='padding-left:10px;' class='left-border'>
+
    <b><LABEL for="members">{t}Member objects{/t}</LABEL></b> ({$combinedObjects})
    <br>
 {render acl=$memberACL}
-   <select style="width:100%; height:450px;" id="members" name="members[]" size="15" multiple>
-    {$members}
-   </select>
-{/render}
-   <br>
-{render acl=$memberACL}
-   <input type=submit value="{msgPool type=addButton}" name="edit_membership"> 
+   {$memberList}
 {/render}
 {render acl=$memberACL}
-   <input type=submit value="{msgPool type=delButton}" name="delete_membership">
+   <button type='submit' name='edit_membership'>{msgPool type=addButton}</button> 
 {/render}
   </td>
  </tr>
diff --git a/gosa-core/plugins/admin/ogroups/main.inc b/gosa-core/plugins/admin/ogroups/main.inc
index 2a29678..03b1143 100644
--- a/gosa-core/plugins/admin/ogroups/main.inc
+++ b/gosa-core/plugins/admin/ogroups/main.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: main.inc 14752 2009-11-05 10:00:17Z hickert $$
+ * ID: $$Id: main.inc 19812 2010-09-28 06:00:59Z hickert $$
  *
  * 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
@@ -21,35 +21,35 @@
  */
 
 /* Remove locks created by this plugin
-*/
+ */
 if ($remove_lock){
-  if(session::is_set('ogroupManagement')){
-      $macl = session::get('ogroupManagement');
-      $macl->remove_lock();
-  }
+    if(session::is_set('ogroupManagement')){
+        $macl = session::get('ogroupManagement');
+        $macl->remove_lock();
+    }
 }
 
 /* Remove this plugin from session
-*/
+ */
 if ( $cleanup ){
-  session::un_set('ogroupManagement');
+    session::un_set('ogroupManagement');
 }else{
 
-  /* Create ogroupmanagement object on demand */
-  if (!session::is_set('ogroupManagement')){
-    $ogroupManagement= new ogroupManagement ($config, $ui);
-    session::set('ogroupManagement',$ogroupManagement);
-  }
-  $ogroupManagement = session::get('ogroupManagement');
-  $display= $ogroupManagement->execute();
+    /* Create ogroupmanagement object on demand */
+    if (!session::is_set('ogroupManagement')){
+        $ogroupManagement= new ogroupManagement ($config, $ui);
+        session::set('ogroupManagement',$ogroupManagement);
+    }
+    $ogroupManagement = session::get('ogroupManagement');
+    $display= $ogroupManagement->execute();
 
-  /* Reset requested? */
-  if (isset($_GET['reset']) && $_GET['reset'] == 1){
-    session::un_set ('ogroupManagement');
-  }
+    /* Reset requested? */
+    if (isset($_GET['reset']) && $_GET['reset'] == 1){
+        session::un_set ('ogroupManagement');
+    }
 
-  /* Show and save dialog */
-  session::set('ogroupManagement',$ogroupManagement);
+    /* Show and save dialog */
+    session::set('ogroupManagement',$ogroupManagement);
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/ogroups/migration/class_migrate_ogroupRDN.inc b/gosa-core/plugins/admin/ogroups/migration/class_migrate_ogroupRDN.inc
new file mode 100644
index 0000000..1b9cf8e
--- /dev/null
+++ b/gosa-core/plugins/admin/ogroups/migration/class_migrate_ogroupRDN.inc
@@ -0,0 +1,6 @@
+<?php 
+class migrate_ogroupRDN extends migrateRDN implements propertyMigration
+{
+    protected $filter = "(&(objectClass=gosaGroupOfNames)%s)";
+}
+?>
diff --git a/gosa-core/plugins/admin/ogroups/objectSelect/class_filterLDAPDepartmentBlacklist.inc b/gosa-core/plugins/admin/ogroups/objectSelect/class_filterLDAPDepartmentBlacklist.inc
index 3fac873..0e222d0 100644
--- a/gosa-core/plugins/admin/ogroups/objectSelect/class_filterLDAPDepartmentBlacklist.inc
+++ b/gosa-core/plugins/admin/ogroups/objectSelect/class_filterLDAPDepartmentBlacklist.inc
@@ -2,16 +2,16 @@
 
 class filterLDAPDepartmentBlacklist  extends filterLDAPBlacklist{
 
-  static function query($parent,$base, $scope, $filter, $attributes, $category, $objectStorage= "")
-  {
-    $entries = filterLDAPBlacklist::query($parent,$base, $scope, $filter, $attributes, $category,array());
-    foreach($entries as $key => $entry){
-      $entries[$key]['cn'] = $entry['ou'];
-      $entries[$key][ $entries[$key]['count'] ]= 'cn';
-      $entries[$key]['count'] ++;
+    static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "")
+    {
+        $entries = filterLDAPBlacklist::query($base, $scope, $filter, $attributes, $category,array());
+        foreach($entries as $key => $entry){
+            $entries[$key]['cn'] = $entry['ou'];
+            $entries[$key][ $entries[$key]['count'] ]= 'cn';
+            $entries[$key]['count'] ++;
+        }
+        return(filterLDAPBlacklist::filterByBlacklist($entries));
     }
-    return(filterLDAPBlacklist::filterByBlacklist($entries));
-  }
 }
 
 ?>
diff --git a/gosa-core/plugins/admin/ogroups/objectSelect/class_objectSelect.inc b/gosa-core/plugins/admin/ogroups/objectSelect/class_objectSelect.inc
index 13163d5..b25311e 100644
--- a/gosa-core/plugins/admin/ogroups/objectSelect/class_objectSelect.inc
+++ b/gosa-core/plugins/admin/ogroups/objectSelect/class_objectSelect.inc
@@ -22,74 +22,76 @@
 
 class objectSelect extends management
 {
-  // Tab definition 
-  protected $skipFooter = TRUE;
-  protected $skipHeader = TRUE;
+    // Tab definition 
+    protected $skipFooter = TRUE;
+    protected $skipHeader = TRUE;
 
-  function __construct($config,$ui)
-  {
-    $this->config = $config;
-    $this->ui = $ui;
-    $this->storagePoints = array(
-        get_ou("userRDN"), 
-        get_ou("groupRDN"),
-        get_ou("terminalRDN"),
-        get_ou("workstationRDN"),
-        get_ou("serverRDN"),
-        get_ou("printerRDN"),
-        get_ou("phoneRDN"));
+    var $plHeadline = "Object selection";
 
-#    // Build filter
- #   if (session::global_is_set(get_class($this)."_filter")){
-  #    $filter= session::global_get(get_class($this)."_filter");
-   # } else {
-      $filter = new filter(get_template_path("selectObject-filter.xml", true, dirname(__FILE__)));
-      $filter->setObjectStorage($this->storagePoints);
-    #}
-    $this->setFilter($filter);
+    function __construct($config,$ui)
+    {
+        $this->config = $config;
+        $this->ui = $ui;
+        $this->storagePoints = array(
+                get_ou("core", "userRDN"), 
+                get_ou("core", "groupRDN"),
+                get_ou("termgeneric", "terminalRDN"),
+                get_ou("workgeneric", "workstationRDN"),
+                get_ou("servgeneric", "serverRDN"),
+                get_ou("printgeneric", "printerRDN"),
+                get_ou("phoneGeneric", "phoneRDN"));
 
-    // Build headpage
-    $headpage = new listing(get_template_path("selectObject-list.xml", true, dirname(__FILE__)));
-    $headpage->registerElementFilter("depLabel", "objectSelect::filterDepLabel");
-    $this->registerAction("open","openEntry");
-    $headpage->setFilter($filter);
-    parent::__construct($config, $ui, "object", $headpage);
-  }
+        // Build filter
+        if (session::global_is_set(get_class($this)."_filter")){
+            $filter= session::global_get(get_class($this)."_filter");
+        } else {
+            $filter = new filter(get_template_path("selectObject-filter.xml", true, dirname(__FILE__)));
+            $filter->setObjectStorage($this->storagePoints);
+        }
+        $this->setFilter($filter);
 
-
-  // An action handler which enables to switch into deparmtment by clicking the names.
-  function openEntry($action,$entry)
-  {
-    $headpage = $this->getHeadpage();
-    $headpage->setBase(array_pop($entry));
-  }
+        // Build headpage
+        $headpage = new listing(get_template_path("selectObject-list.xml", true, dirname(__FILE__)));
+        $headpage->registerElementFilter("depLabel", "objectSelect::filterDepLabel");
+        $this->registerAction("open","openEntry");
+        $headpage->setFilter($filter);
+        parent::__construct($config, $ui, "object", $headpage);
+    }
 
 
-  // A filter which allows to open a department by clicking on the departments name.
-  static function filterDepLabel($row,$dn,$pid,$base,$objectClass, $cn)
-  {
-    $cn = $cn[0];
-    if(!in_array('gosaDepartment', $objectClass)){
-       return($cn);
+    // An action handler which enables to switch into deparmtment by clicking the names.
+    function openEntry($action,$entry)
+    {
+        $headpage = $this->getHeadpage();
+        $headpage->setBase(array_pop($entry));
     }
-    if($dn == $base){
-      $cn =".";
+
+
+    // A filter which allows to open a department by clicking on the departments name.
+    static function filterDepLabel($row,$dn,$pid,$base,$objectClass, $cn)
+    {
+        $cn = $cn[0];
+        if(!in_array('gosaDepartment', $objectClass)){
+            return($cn);
+        }
+        if($dn == $base){
+            $cn =".";
+        }
+        $dn= LDAP::fix(func_get_arg(1));
+        return("<a href='?plug=".$_GET['plug']."&PID=$pid&act=listing_open_$row' title='$dn'>$cn</a>");
     }
-    $dn= LDAP::fix(func_get_arg(1));
-    return("<a href='?plug=".$_GET['plug']."&PID=$pid&act=listing_open_$row' title='$dn'>$cn</a>");
-  }
 
-  function save()
-  {
-    $act = $this->detectPostActions();
-    $headpage = $this->getHeadpage();
-    if(!isset($act['targets'])) return(array());
-    $ret = array();
-    foreach($act['targets'] as $dn){
-      $ret[] = $headpage->getEntry($dn);
+    function save()
+    {
+        $act = $this->detectPostActions();
+        $headpage = $this->getHeadpage();
+        if(!isset($act['targets'])) return(array());
+        $ret = array();
+        foreach($act['targets'] as $dn){
+            $ret[] = $headpage->getEntry($dn);
+        }
+        return($ret);
     }
-    return($ret);
-  }
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-filter.tpl b/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-filter.tpl
deleted file mode 100644
index b7f3311..0000000
--- a/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-filter.tpl
+++ /dev/null
@@ -1,45 +0,0 @@
-<div class="contentboxh">
- <p class="contentboxh">
-  <img src="images/launch.png" align="right" alt="[F]">{t}Filter{/t}
- </p>
-</div>
-
-<div class="contentboxb">
-
-<div style="border-top:1px solid #AAAAAA"></div>
-
-{$DEPARTMENT} <LABEL for='DEPARTMENT'>{t}Show department{/t}</LABEL><br>
-{$USER} <LABEL for='USER'>{t}Show users{/t}</LABEL><br>
-{$GROUP} <LABEL for='GROUP'>{t}Show groups{/t}</LABEL><br>
-
-{$SERVER} <LABEL for='SERVER'>{t}Show server{/t}</LABEL><br>
-{$WORKSTATION} <LABEL for='WORKSTATION'>{t}Show workstation{/t}</LABEL><br>
-{$TERMINAL} <LABEL for='TERMINAL'>{t}Show terminal{/t}</LABEL><br>
-
-{$PRINTER} <LABEL for='PRINTER'>{t}Show printer{/t}</LABEL><br>
-{$PHONE} <LABEL for='PHONE'>{t}Show phone{/t}</LABEL><br>
-
- <div style="border-top:1px solid #AAAAAA"></div>
- {$SCOPE}
-
- <table summary="" style="width:100%;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td>
-    <label for="NAME">
-     <img src="images/lists/search.png" align=middle> {t}Name{/t}
-    </label>
-   </td>
-   <td>
-    {$NAME}
-   </td>
-  </tr>
- </table>
-
- <table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td width="100%" align="right">
-    {$APPLY}
-   </td>
-  </tr>
- </table>
-</div>
diff --git a/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-filter.xml b/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-filter.xml
index bf646d0..9469dc2 100644
--- a/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-filter.xml
+++ b/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-filter.xml
@@ -3,50 +3,54 @@
 <filterdef>
   <definition>
     <category>users</category>
-    <template>../plugins/admin/ogroups/objectSelect/selectObject-filter.tpl</template>
+    <category>department</category>
+    <category>group</category>
+    <category>server</category>
+    <category>workstation</category>
+    <category>terminal</category>
+    <category>opsi</category>
+    <category>incoming</category>
+    <category>phone</category>
+    <category>printer</category>
+    <category>winworkstation</category>
+    <category>component</category>
     <initial>true</initial>
+    <default>default</default>
+    <scope>auto</scope>
+    <attribute>dn</attribute>
+    <attribute>objectClass</attribute>
+    <attribute>cn</attribute>
+    <attribute>sn</attribute>
+    <attribute>ou</attribute>
+    <attribute>uid</attribute>
+    <attribute>givenName</attribute>
+    <attribute>description</attribute>
   </definition>
 
   <search>
+    <tag>default</tag>
+    <label>Default filter</label>
     <query>
       <backend>LDAPBlacklist</backend>
-      <filter>(&(| $USER $GROUP $SERVER $WORKSTATION $TERMINAL $PRINTER $PHONE) $NAME)</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
-      <attribute>cn</attribute>
-      <attribute>sn</attribute>
-      <attribute>ou</attribute>
-      <attribute>uid</attribute>
-      <attribute>givenName</attribute>
-      <attribute>description</attribute>
+      <filter>(&
+                (|
+                  (objectClass=gosaAccount) 
+                  (objectClass=posixGroup)
+                  (objectClass=goServer)
+                  (objectClass=gotoWorkstation)
+                  (objectClass=gotoTerminal)
+                  (objectClass=gotoPrinter)
+                  (objectClass=goFonHardware)
+                )
+                (cn=$)
+              )
+      </filter>
     </query>
     <query>
       <backend>LDAPDepartmentBlacklist</backend>
-      <filter>(&(| $DEPARTMENT)  $NAME)</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
-      <attribute>cn</attribute>
-      <attribute>sn</attribute>
-      <attribute>ou</attribute>
-      <attribute>uid</attribute>
-      <attribute>givenName</attribute>
-      <attribute>description</attribute>
+      <filter>(&(objectClass=gosaDepartment)(cn=$))</filter>
     </query>
-    <scope>auto</scope>
-  </search>
-
-  <element>
-    <type>textfield</type>
-    <tag>NAME</tag>
-    <size>20</size>
-    <maxlength>60</maxlength>
-    <default></default>
-    <unset></unset>
-    <set>(|(cn=*$*)(sn=*$*)(givenName=*$*)(ou=*$*)(dc=*$*)(c=*$*)(l=*$*))</set>
-    <alphabet>true</alphabet>
     <autocomplete>
-      <backend>LDAPBlacklist</backend>
-      <filter>(&(|(objectClass=gosaDepartment)(objectClass=gosaAccount)(objectClass=posixGroup)(objectClass=goServer)(objectClass=gotoWorkstation)(objectClass=gotoTerminal)(objectClass=gotoPrinter)(objectClass=goFonHardware))(|(cn=*$NAME*)(sn=*$NAME*)(givenName=*$NAME*)(ou=*$NAME*)(dc=*$NAME*)(c=*$NAME*)(l=*$NAME*)))</filter>
       <attribute>cn</attribute>
       <attribute>l</attribute>
       <attribute>o</attribute>
@@ -55,70 +59,6 @@
       <frequency>0.5</frequency>
       <characters>3</characters>
     </autocomplete>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>USER</tag>
-    <default></default>
-    <set>(&(objectClass=gosaAccount)(!(objectClass=gosaUserTemplate)))</set>
-    <unset></unset>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>GROUP</tag>
-    <default></default>
-    <unset></unset>
-    <set>(objectClass=posixGroup)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>DEPARTMENT</tag>
-    <default></default>
-    <unset></unset>
-    <set>(objectClass=gosaDepartment)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>SERVER</tag>
-    <default></default>
-    <unset></unset>
-    <set>(objectClass=goServer)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>WORKSTATION</tag>
-    <default></default>
-    <unset></unset>
-    <set>(objectClass=gotoWorkstation)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>TERMINAL</tag>
-    <default></default>
-    <unset></unset>
-    <set>(objectClass=gotoTerminal)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>PRINTER</tag>
-    <default></default>
-    <unset></unset>
-    <set>(objectClass=gotoPrinter)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>PHONE</tag>
-    <default></default>
-    <unset></unset>
-    <set>(objectClass=goFonHardware)</set>
-  </element>
+  </search>
 
 </filterdef>
diff --git a/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-list.tpl b/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-list.tpl
index e7f2a2a..ad71399 100644
--- a/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-list.tpl
+++ b/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-list.tpl
@@ -1,36 +1,27 @@
-<input type='image' src='images/empty.png' name='no_action_posted' value='do_nothing' alt='' style='width:2px;height:2px;'>
+<div id="mainlist">
 
-<table summary="" style="width:100%;height:100%; vertical-align:top; text-align:left;" cellpadding=2>
-  <tr>
-    <td style="vertical-align:top; width:100%;">
-      <div class="contentboxh">
-        <p class="contentboxh"> {$HEADLINE} {$SIZELIMIT}</p>
-      </div>
-      
-      <div class="contentboxb">
-       <div style='background:white;padding:0px;padding:3px;'>
-        <table><tr>
-          <td>{$ROOT} </td><td>{$BACK} </td><td>{$HOME} </td><td>{$RELOAD} </td><td>{$SEPARATOR} </td><td>{t}Base{/t} {$BASE} </td><td>{$SEPARATOR} </td><td><img src='images/rocket.png' alt='' class='center'></td><td> {$ACTIONS}</td>
-        </tr></table>
-       </div>
-      </div>
-      
-      <div style='height:4px;'>
-      </div>
-      {$LIST}
-    </td>
-    <td style='vertical-align:top;min-width:250px'>
-      {$FILTER}
-    </td>
-  </tr>
-</table>
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}</p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$ROOT}</td>
+      <td>{$BACK}</td>
+      <td>{$HOME}</td>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{t}Base{/t} {$BASE}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
 
+  {$LIST}
+</div>
 
-<p class='separator'> </p>
-  <p style="text-align:right">
-  <input type=submit name="objectSelect_save" value="{msgPool type=okButton}">
-   
-  <input type=submit name="objectSelect_cancel" value="{msgPool type=cancelButton}">
-</p>
+<div class="plugin-actions">
+  <button type=submit name="objectSelect_save">{msgPool type=okButton}</button>
+  <button type=submit name="objectSelect_cancel">{msgPool type=cancelButton}</button>
+</div>
 
-<input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-list.xml b/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-list.xml
index dca51a5..c81c988 100644
--- a/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-list.xml
+++ b/gosa-core/plugins/admin/ogroups/objectSelect/selectObject-list.xml
@@ -72,7 +72,7 @@
       <objectClass>posixGroup</objectClass>
       <category>groups</category>
       <class>group</class>
-      <image>plugins/groups/images/groups.png</image>
+      <image>plugins/groups/images/select_group.png</image>
     </objectType>
 
   </definition>
diff --git a/gosa-core/plugins/admin/ogroups/ogroup-filter.tpl b/gosa-core/plugins/admin/ogroups/ogroup-filter.tpl
deleted file mode 100644
index 6f9a54d..0000000
--- a/gosa-core/plugins/admin/ogroups/ogroup-filter.tpl
+++ /dev/null
@@ -1,45 +0,0 @@
-<div class="contentboxh">
- <p class="contentboxh">
-  <img src="images/launch.png" align="right" alt="[F]">{t}Filter{/t}
- </p>
-</div>
-
-<div class="contentboxb">
-
-<div style="border-top:1px solid #AAAAAA"></div>
-
- {$USER} <LABEL for=''>{t}user groups{/t}</LABEL><br>
- {$GROUP} <LABEL for=''>{t}nested groups{/t}</LABEL><br>
- {$APPLICATION} <LABEL for=''>{t}application groups{/t}</LABEL><br>
- {$DEPARTMENT} <LABEL for=''>{t}department groups{/t}</LABEL><br>
- {$SERVER} <LABEL for=''>{t}server groups{/t}</LABEL><br>
- {$WORKSTATION} <LABEL for=''>{t}workstation groups{/t}</LABEL><br>
- {$WINDOWS} <LABEL for=''>{t}windows workstation groups{/t}</LABEL><br>
- {$TERMINAL} <LABEL for=''>{t}terminal groups{/t}</LABEL><br>
- {$PRINTER} <LABEL for=''>{t}printer groups{/t}</LABEL><br>
- {$PHONE} <LABEL for=''>{t}phone groups{/t}</LABEL><br>
-
-
- {$SCOPE}
-
- <table summary="" style="width:100%;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td>
-    <label for="NAME">
-     <img src="images/lists/search.png" align=middle> {t}Name{/t}
-    </label>
-   </td>
-   <td>
-    {$NAME}
-   </td>
-  </tr>
- </table>
-
- <table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td width="100%" align="right">
-    {$APPLY}
-   </td>
-  </tr>
- </table>
-</div>
diff --git a/gosa-core/plugins/admin/ogroups/ogroup-filter.xml b/gosa-core/plugins/admin/ogroups/ogroup-filter.xml
index 520d863..9b438f0 100644
--- a/gosa-core/plugins/admin/ogroups/ogroup-filter.xml
+++ b/gosa-core/plugins/admin/ogroups/ogroup-filter.xml
@@ -3,119 +3,28 @@
 <filterdef>
   <definition>
     <category>ogroups</category>
-    <template>ogroup-filter.tpl</template>
     <initial>true</initial>
+    <scope>auto</scope>
+    <default>default</default>
+    <attribute>dn</attribute>
+    <attribute>objectClass</attribute>
+    <attribute>cn</attribute>
+    <attribute>gosaGroupObjects</attribute>
+    <attribute>description</attribute>
   </definition>
 
   <search>
+    <tag>default</tag>
+    <label>Default filter</label>
     <query>
       <backend>LDAP</backend>
-      <filter>(&(objectClass=gosaGroupOfNames)$NAME(|(gosaGroupObjects=[])$USER$GROUP$APPLICATION$DEPARTMENT$SERVER$WORKSTATION$WINDOWS$TERMINAL$PRINTER$PHONE))</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
-      <attribute>cn</attribute>
-      <attribute>gosaGroupObjects</attribute>
-      <attribute>description</attribute>
+      <filter>(&(objectClass=gosaGroupOfNames)(cn=$))</filter>
     </query>
-    <scope>auto</scope>
-  </search>
-
- <element>
-    <type>checkbox</type>
-    <tag>USER</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(gosaGroupObjects=*U*)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>GROUP</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(gosaGroupObjects=*G*)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>APPLICATION</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(gosaGroupObjects=*A*)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>DEPARTMENT</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(gosaGroupObjects=*D*)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>SERVER</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(gosaGroupObjects=*S*)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>WORKSTATION</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(gosaGroupObjects=*W*)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>WINDOWS</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(gosaGroupObjects=*O*)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>TERMINAL</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(gosaGroupObjects=*T*)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>PRINTER</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(gosaGroupObjects=*P*)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>PHONE</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(gosaGroupObjects=*F*)</set>
-  </element>
-
-  <element>
-    <type>textfield</type>
-    <tag>NAME</tag>
-    <size>20</size>
-    <maxlength>60</maxlength>
-    <default></default>
-    <unset></unset>
-    <set>(|(cn=*$*))</set>
-    <alphabet>true</alphabet>
     <autocomplete>
-      <backend>LDAP</backend>
-      <filter>(&(objectClass=gosaGroupOfNames)(|(cn=*$NAME*)))</filter>
       <attribute>cn</attribute>
       <frequency>0.5</frequency>
       <characters>3</characters>
     </autocomplete>
-  </element>
+  </search>
 
 </filterdef>
diff --git a/gosa-core/plugins/admin/ogroups/ogroup-list.tpl b/gosa-core/plugins/admin/ogroups/ogroup-list.tpl
index c9d5114..b9b9a08 100644
--- a/gosa-core/plugins/admin/ogroups/ogroup-list.tpl
+++ b/gosa-core/plugins/admin/ogroups/ogroup-list.tpl
@@ -1,28 +1,26 @@
-<input type='image' src='images/empty.png' name='no_action_posted' value='do_nothing' alt='' style='width:2px;height:2px;'>
+<div id="mainlist">
 
-<table summary="" style="width:100%;height:100%; vertical-align:top; text-align:left;" cellpadding=2>
-  <tr>
-    <td style="vertical-align:top; width:100%;">
-      <div class="contentboxh">
-        <p class="contentboxh"> {$HEADLINE} {$SIZELIMIT}</p>
-      </div>
-      
-      <div class="contentboxb">
-       <div style='background:white;padding:3px;'>
-        <table><tr>
-          <td>{$ROOT} </td><td>{$BACK} </td><td>{$HOME} </td><td>{$RELOAD} </td><td>{$SEPARATOR} </td><td>{t}Base{/t} {$BASE} </td><td>{$SEPARATOR} </td><td><img src='images/rocket.png' alt='' class='center'></td><td> {$ACTIONS}</td>
-        </tr></table>
-       </div>
-      </div>
-      
-      <div style='height:4px;'>
-      </div>
-      {$LIST}
-    </td>
-    <td style='vertical-align:top;min-width:250px'>
-      {$FILTER}
-    </td>
-  </tr>
-</table>
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}</p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$ROOT}</td>
+      <td>{$BACK}</td>
+      <td>{$HOME}</td>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{t}Base{/t} {$BASE}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
+
+  {$LIST}
+</div>
+
+<div class="clear"></div>
 
 <input type="hidden" name="ignore">
+
diff --git a/gosa-core/plugins/admin/ogroups/ogroup-list.xml b/gosa-core/plugins/admin/ogroups/ogroup-list.xml
index fc0c935..5611b86 100644
--- a/gosa-core/plugins/admin/ogroups/ogroup-list.xml
+++ b/gosa-core/plugins/admin/ogroups/ogroup-list.xml
@@ -69,13 +69,13 @@
 
     <action>
      <type>sub</type>
-     <image>images/lists/new.png</image>
+     <image>images/lists/element.png[new]</image>
      <label>Create</label>
 
      <action>
       <name>new</name>
       <type>entry</type>
-      <image>plugins/ogroups/images/new.png</image>
+      <image>plugins/ogroups/images/ogroup.png[new]</image>
       <label>Group</label>
      </action>
     </action>
diff --git a/gosa-core/plugins/admin/ogroups/ogroup_objects.tpl b/gosa-core/plugins/admin/ogroups/ogroup_objects.tpl
deleted file mode 100644
index d9cdb3e..0000000
--- a/gosa-core/plugins/admin/ogroups/ogroup_objects.tpl
+++ /dev/null
@@ -1,53 +0,0 @@
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
-<tr>
-  <td style="vertical-align:top; width:600px;">
-   <div class="contentboxh" style="height:20px;">
-    <p class="contentboxh" style="font-size:12px">
-     <b>{t}Select objects to add{/t} {$hint}</b>
-    </p>
-   </div>
-   <div class="contentboxb">
-    <p class="contentboxb" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-     <select style="width:600px; height:450px; margin-top:4px;" name="objects[]" size="15" multiple>
-      {$objects}
-     </select>
-     <input type=hidden name="edit_helper">
-    </p>
-   </div>
-  </td>
-  <td style="vertical-align:top;">
-   <div class="contentboxh" style="height:20px;">
-    <p class="contentboxh" style="font-size:12px"><img src="{$launchimage}" align="right" alt="[F]"><b>{t}Filters{/t}</b></p>
-   </div>
-   <div class="contentboxb">
-     <table summary="" style="width:100%;border-top:1px solid #B0B0B0; background-color:#F8F8F8">
-      {$alphabet}
-     </table>
-	 <p class="contentboxb" style="border-top:1px solid #B0B0B0; background-color:#F8F8F8">
-		{foreach from=$checkboxes item=item key=key}
-			<input type='checkbox' {if $item.C} checked {/if} class="center" onClick="document.mainform.submit();" 
-					name="{$key}" value="1" title="{$item.T}">{$item.L}<br>
-		{/foreach}
- 	 </p>
- <p class="contentboxb" style="border-top:1px solid #B0B0B0; background-color:#F8F8F8">
-    <input type=checkbox name="subtrees" value="1" {$subtrees} onClick="mainform.submit()" title="{t}Select to search within subtrees{/t}">{t}Search in subtrees{/t}<br>
- </p>
-
-    <table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8"><tr><td width="50%"><img alt="" src="{$tree_image}" align=middle title="{t}Display objects of department{/t}"> 
-    <select name="dselect" size=1 onChange="mainform.submit()" title="{t}Choose the department the search will be based on{/t}">
-      {html_options options=$deplist selected=$dselect}
-    </select></td></tr></table>
-    <table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8"><tr><td style="width:18px"><img alt="" src="{$search_image}" align=middle title="{t}Display objects matching{/t}"></td>
-    <td><input type='text' name='regex' maxlength='20' style="width:99%" value='{$regex}' title='{t}Regular expression for matching object names{/t}' onChange="mainform.submit()"></td></tr></table>
-   {$apply}
-   </div>
-  </td>
-</tr>
-</table>
-
-<p class="plugbottom">
-  <input type=submit name="add_object_finish" value="{msgPool type=addButton}">
-   
-  <input type=submit name="add_object_cancel" value="{msgPool type=cancelButton}">
-</p>
-
diff --git a/gosa-core/plugins/admin/ogroups/paste_generic.tpl b/gosa-core/plugins/admin/ogroups/paste_generic.tpl
index 91f84d8..8d1153f 100644
--- a/gosa-core/plugins/admin/ogroups/paste_generic.tpl
+++ b/gosa-core/plugins/admin/ogroups/paste_generic.tpl
@@ -1,4 +1,4 @@
-<table width='100%'>
+<table width='100%' summary="{t}Paste object group{/t}">
 	<tr>
 		<td width='120'>
 			<LABEL for="cn">{t}Group name{/t}</LABEL>{$must}
@@ -9,6 +9,12 @@
 	</tr>
 </table>
 
+
+
+<input type='checkbox' value='1' name='copyMembers' {if $copyMembers} checked {/if} id='copyMembers'>
+<LABEL for='copyMembers'>
+ {t}Warning: systems can only inherit from a single object group!{/t}
+</LABEL>
 <script language="JavaScript" type="text/javascript">
 	focus_field('cn');
 </script>
diff --git a/gosa-core/plugins/admin/ogroups/remove.tpl b/gosa-core/plugins/admin/ogroups/remove.tpl
deleted file mode 100644
index 29adedf..0000000
--- a/gosa-core/plugins/admin/ogroups/remove.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-<div style="font-size:18px;">
-  <img alt="" src="images/warning.png" align=top> {t}Warning{/t}
-</div>
-<p>
-  {$info}
-  {t}Please double check if you really want to do this since there is no way for GOsa to get your data back.{/t}
-</p>
-
-<p>
-  {t}So - if you're sure - press 'Delete' to continue or 'Cancel' to abort.{/t}
-</p>
-
-<p class="plugbottom">
-  <input type=submit name="delete_confirmed" value="{msgPool type=delButton}">
-   
-  <input type=submit name="delete_cancel" value="{msgPool type=cancelButton}">
-</p>
diff --git a/gosa-core/plugins/admin/ogroups/tabs_ogroups.inc b/gosa-core/plugins/admin/ogroups/tabs_ogroups.inc
index 4c864f1..902fbba 100644
--- a/gosa-core/plugins/admin/ogroups/tabs_ogroups.inc
+++ b/gosa-core/plugins/admin/ogroups/tabs_ogroups.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: tabs_ogroups.inc 14136 2009-08-26 08:02:49Z hickert $$
+ * ID: $$Id: tabs_ogroups.inc 19993 2010-10-12 08:06:58Z hickert $$
  *
  * 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
@@ -22,351 +22,373 @@
 
 class ogrouptabs extends tabs
 {
-  var $base= "";
-  var $acl_category; 
- 
-  function reload($dd)
-  {
-    $objects      = preg_replace('/[\[\]]/', '', $dd);
-
-    /* Check if we have a group with a set different mixed objects.
-     */
-    $mixed_type = FALSE;
-    for($i = 0 ; $i < (strlen($objects) -1 );$i++){
-      $mixed_type |= $objects[$i] != $objects[($i+1)];
-    }
- 
-    /* If there is a phonequeue,
-     * but there is no user left with goPhoneAccount ... remove it.
-     */
-    $usePhoneTab = false;
-    if(class_available("phonequeue")){
-
-      foreach($this->by_object['ogroup']->memberList as $dn => $val){
-        if(isset($this->by_object['ogroup']->objcache[$dn])){
-          $obj = $this->by_object['ogroup']->objcache[$dn];
-          if(isset($obj['objectClass'])){
-            if(in_array("goFonAccount",$obj['objectClass'])){
-              $usePhoneTab = true;
-            }
-          }
+    var $base= "";
+    var $acl_category; 
+    var $to_remove=array();
+
+    /*! \brief Stage an object for removal */
+    function remove($object) {
+        if (!isset($this->to_remove[$object])) {
+            $this->to_remove[$object] = $this->by_object[$object];
+            unset($this->by_object[$object]);
+            unset($this->by_name[$object]);
         }
-      }
-      if((!$usePhoneTab && isset($this->by_object['phonequeue']))||
-         (!preg_match("/U/",$objects) && isset($this->by_object['phonequeue']))){
-        $this->by_object['phonequeue']->remove_from_parent();
-        unset($this->by_object['phonequeue']);
-        unset($this->by_name['phonequeue']);
-      }
     }
 
-    /* Remove mail group if there is no user anymore 
-     */
-    if(class_available("mailogroup")){
-      if(!preg_match("/U/",$objects) && isset($this->by_object['mailogroup'])){
-        $this->by_object['mailogroup']->remove_from_parent();
-        unset($this->by_object['mailogroup']);
-        unset($this->by_name['mailogroup']);
-      }
+    /*! \brief Unstage an object from removal */
+    function add($object) {
+        if (isset($this->to_remove[$object])) {
+            unset($this->to_remove[$object]);
+        }
     }
 
-    /* Remove terminal group, if theres no terminal left in the object list 
-     */
-    if(class_available("termgroup")){
-      if(($mixed_type && isset($this->by_object['termgroup'])) ||
-          !preg_match("/T/",$objects) && !preg_match("/W/",$objects) && isset($this->by_object['termgroup'])){
-        $this->by_object['termgroup']->remove_from_parent();
-        unset($this->by_object['termgroup']);
-        unset($this->by_name['termgroup']);
-      }
-    }
-    if(class_available("termservice")){
-      if(($mixed_type && isset($this->by_object['termservice'])) ||
-          !preg_match("/T/",$objects) &&(isset($this->by_object['termservice']))){
-        $this->by_object['termservice']->remove_from_parent();
-        unset($this->by_object['termservice']);
-        unset($this->by_name['termservice']);
-      }
-    }
-    if(class_available("termstartup")){
-      if(($mixed_type && isset($this->by_object['termstartup'])) ||
-          !preg_match("/T/",$objects)&&(isset($this->by_object['termstartup']))){
-        $this->by_object['termstartup']->remove_from_parent();
-        unset($this->by_object['termstartup']);
-        unset($this->by_name['termstartup']);
-      }
-    }
+    function reload($dd)
+    {
+        $objects      = preg_replace('/[\[\]]/', '', $dd);
 
-    /* Remove ws tabs, if theres no ws left in the object list */
-    if(class_available("workservice")){
-      if(($mixed_type && isset($this->by_object['workservice'])) ||
-          (!preg_match("/W/",$objects))&&(isset($this->by_object['workservice']))){
-        $this->by_object['workservice']->remove_from_parent();
-        unset($this->by_object['workservice']);
-        unset($this->by_name['workservice']);
-      }
-    }
-    if(class_available("workstartup")){
-      if(($mixed_type && isset($this->by_object['workstartup'])) ||
-          (!preg_match("/S/",$objects) && !preg_match("/W/",$objects))&&(isset($this->by_object['workstartup']))){
-        $this->by_object['workstartup']->remove_from_parent();
-        unset($this->by_object['workstartup']);
-        unset($this->by_name['workstartup']);
-        if (isset($this->by_object['faiSummary'])){
-          $this->by_object['faiSummary']->remove_from_parent();
-          unset($this->by_object['faiSummary']);
-          unset($this->by_name['faiSummary']);
+        /* Check if we have a group with a set different mixed objects.
+         */
+        $mixed_type = FALSE;
+        for($i = 0 ; $i < (strlen($objects) -1 );$i++){
+            $mixed_type |= $objects[$i] != $objects[($i+1)];
         }
-      }
-    }
-  
-    /* Create goPhoneAccount if theres an user with goPhoneAccount
-     * but only if there is currently no queue enabled.
-     */
-    if(class_available("phonequeue")){
-      if(!isset($this->by_object['phonequeue'])){
-        foreach($this->by_object['ogroup']->memberList as $dn => $val){
-          if(isset($this->by_object['ogroup']->objcache[$dn])){
-            $obj = $this->by_object['ogroup']->objcache[$dn];
-            if(isset($obj['objectClass'])){
-              if(in_array("goFonAccount",$obj['objectClass'])){
-                $this->by_name['phonequeue']= _("Phone queue");
-                $this->by_object['phonequeue']= new phonequeue($this->config, $this->dn);
-                $this->by_object['phonequeue']->parent= &$this;
-                break;
-              }
+
+        /* If there is a phonequeue,
+         * but there is no user left with goPhoneAccount ... remove it.
+         */
+        $usePhoneTab = false;
+        if(class_available("phonequeue")){
+
+            foreach($this->by_object['ogroup']->memberList as $dn => $val){
+                if(isset($this->by_object['ogroup']->objcache[$dn])){
+                    $obj = $this->by_object['ogroup']->objcache[$dn];
+                    if(isset($obj['objectClass'])){
+                        if(in_array("goFonAccount",$obj['objectClass'])){
+                            $usePhoneTab = true;
+                        }
+                    }
+                }
+            }
+            if((!$usePhoneTab && isset($this->by_object['phonequeue']))||
+                    (!preg_match("/U/",$objects) && isset($this->by_object['phonequeue']))){
+                $this->remove('phonequeue');
             }
-          }
         }
-      }
-    }
 
-    /* Add mail group tab , if there is curerntly no mail tab defined */ 
-    if(class_available("mailogroup")){
-      if((preg_match("/U/",$objects))&&(!isset($this->by_object['mailogroup']))){
-        if ($this->config->get_cfg_value("mailmethod") == "kolab"){
-          $this->by_name['mailogroup']= _("Mail");
-          $this->by_object['mailogroup']= new mailogroup($this->config, $this->dn);
-          $this->by_object['mailogroup']->parent= &$this;
+        /* Remove mail group if there is no user anymore 
+         */
+        if(class_available("mailogroup")){
+            if(!preg_match("/U/",$objects) && isset($this->by_object['mailogroup'])){
+                $this->remove('mailogroup');
+            }
+        }
+        if(class_available("GroupwareDistributionList")){
+            if(!preg_match("/U/",$objects) && isset($this->by_object['GroupwareDistributionList'])){
+                $this->remove('GroupwareDistributionList');
+            }
         }
-      }
-    }
 
-    /* Add Terminal tab */
-    if(class_available("termgroup")){
-      if(!$mixed_type && 
-          ((preg_match("/T/",$objects)) || (preg_match("/W/",$objects)))&&(!isset($this->by_object['termgroup']))){
-        if(!isset($this->by_object['termgroup'])){
-          $this->by_name['termgroup']= _("Systems");
-          $this->by_object['termgroup']= new termgroup($this->config, $this->dn);
-          $this->by_object['termgroup']->inheritTimeServer = false;
-          $this->by_object['termgroup']->parent= &$this;
+        /* Remove terminal group, if theres no terminal left in the object list 
+         */
+        if(class_available("termgroup")){
+            if(($mixed_type && isset($this->by_object['termgroup'])) ||
+                    !preg_match("/T/",$objects) && !preg_match("/W/",$objects) && isset($this->by_object['termgroup'])){
+                $this->remove('termgroup');    
+            }
         }
-      }
-    }
-    if(class_available("termstartup")){
-      if(!$mixed_type &&
-          preg_match("/T/",$objects) &&(!isset($this->by_object['termstartup']))){
-        if(!isset($this->by_object['termstartup'])){
-          $this->by_name['termstartup']= _("Startup");
-          $this->by_object['termstartup']= new termstartup($this->config, $this->dn,$this->by_object['ogroup']);
-	  $this->by_object['termstartup']->parent= &$this;
-	  $this->by_object['termstartup']->acl = "#all#";
+        if(class_available("termservice")){
+            if(($mixed_type && isset($this->by_object['termservice'])) ||
+                    !preg_match("/T/",$objects) &&(isset($this->by_object['termservice']))){
+                $this->remove('termservice');    
+            }
         }
-      }
-    }
-    if(!$mixed_type &&
-        class_available("termservice")){
-      if(preg_match("/T/",$objects) &&(!isset($this->by_object['termservice']))){
-        if(!isset($this->by_object['termservice'])){
-          $this->by_name['termservice']= _("Devices");
-          $this->by_object['termservice']= new termservice($this->config, $this->dn,$this->by_object['ogroup']);
-	  $this->by_object['termservice']->parent= &$this;
-	  $this->by_object['termservice']->acl = "#all#";
+        if(class_available("termstartup")){
+            if(($mixed_type && isset($this->by_object['termstartup'])) ||
+                    !preg_match("/T/",$objects)&&(isset($this->by_object['termstartup']))){
+                $this->remove('termstartup');
+            }
         }
-      }
-    }
 
-    /* Add Workstation tabs */
-    if(class_available("workstartup")){
-      if(!$mixed_type &&
-          (preg_match("/S/",$objects) || preg_match("/W/",$objects))&&(!isset($this->by_object['workstartup']))){
-        $this->by_name['workstartup']= _("Startup");
-        $this->by_object['workstartup']= new workstartup($this->config, $this->dn);
-        $this->by_object['workstartup']->parent= &$this;
-        $this->by_object['workstartup']->acl = "#all#";
-      }
-    }
-    if(!$mixed_type &&
-        class_available("workservice")){
-      if((preg_match("/W/",$objects))&&(!isset($this->by_object['workservice']))){
-        $this->by_name['workservice']= _("Devices");
-        $this->by_object['workservice']= new workservice($this->config, $this->dn);
-        $this->by_object['workservice']->inheritTimeServer = false;
-        $this->by_object['workservice']->parent= &$this;
-        $this->by_object['workservice']->acl = "#all#";
-      }
-    }
-    if(class_available("faiSummary")){
-      if(!$mixed_type &&
-          (preg_match("/S/",$objects) || preg_match("/W/",$objects))&&(!isset($this->by_object['faiSummary']))){
-        $this->by_name['faiSummary']= _("FAI summary");
-        $this->by_object['faiSummary']= new faiSummaryTab($this->config, $this->dn);
-        $this->by_object['faiSummary']->parent= &$this;
-      }
-    }
+        /* Remove ws tabs, if theres no ws left in the object list */
+        if(class_available("workservice")){
+            if(($mixed_type && isset($this->by_object['workservice'])) ||
+                    (!preg_match("/W/",$objects))&&(isset($this->by_object['workservice']))){
+                $this->remove('workservice');
+            }
+        }
+        if(class_available("workstartup")){
+            if(($mixed_type && isset($this->by_object['workstartup'])) ||
+                    (!preg_match("/S/",$objects) && !preg_match("/W/",$objects))&&(isset($this->by_object['workstartup']))){
+                $this->remove('workstartup');
+                if (isset($this->by_object['faiSummary'])){
+                    $this->remove('faiSummary');
+                }
+            }
+        }
 
-    /* Add environment tab if user or group is member in this object group*/
-    if(class_available("environment")){
-      if((preg_match("/G/",$objects) || preg_match("/U/",$objects)) && !isset($this->by_name['environment'])){
-        $this->by_name['environment']= _("Environment");
-        $this->by_object['environment']= new environment($this->config, $this->dn);
-        $this->by_object['environment']->acl = "#all#";
-        $this->by_object['environment']->parent= &$this;
-      }
-    }
+        /* Create goPhoneAccount if theres an user with goPhoneAccount
+         * but only if there is currently no queue enabled.
+         */
+        if(class_available("phonequeue")){
+            if(!isset($this->by_object['phonequeue'])){
+                foreach($this->by_object['ogroup']->memberList as $dn => $val){
+                    if(isset($this->by_object['ogroup']->objcache[$dn])){
+                        $obj = $this->by_object['ogroup']->objcache[$dn];
+                        if(isset($obj['objectClass'])){
+                            if(in_array("goFonAccount",$obj['objectClass'])){
+                                $this->by_name['phonequeue']= _("Phone queue");
+                                $this->by_object['phonequeue']= new phonequeue($this->config, $this->dn);
+                                $this->by_object['phonequeue']->parent= &$this;
+                                $this->add('phonequeue');
+                                break;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        /* Add mail group tab , if there is curerntly no mail tab defined */ 
+        if(class_available("mailogroup")){
+            if((preg_match("/U/",$objects))&&(!isset($this->by_object['mailogroup']))){
+                if (preg_match("/olab/i",$this->config->get_cfg_value("core","mailMethod"))){
+                    $this->by_name['mailogroup']= _("Mail");
+                    $this->by_object['mailogroup']= new mailogroup($this->config, $this->dn);
+                    $this->by_object['mailogroup']->parent= &$this;
+                    $this->add('mailogroup');
+                }
+            }
+        }
+        if(class_available("GroupwareDistributionList")){
+            if((preg_match("/U/",$objects))&&(!isset($this->by_object['GroupwareDistributionList']))){
+                $this->by_name['GroupwareDistributionList']= _("Groupware");
+                $this->by_object['GroupwareDistributionList']= new GroupwareDistributionList($this->config, $this->dn);
+                $this->by_object['GroupwareDistributionList']->parent= &$this;
+                $this->add('GroupwareDistributionList');
+            }
+        }
 
-    /* Remove environment tab if not required any longer */
-    if(class_available("environment")){
-      if(!preg_match("/G/",$objects) && !preg_match("/U/",$objects) && isset($this->by_name['environment'])){
-        $this->by_object['environment']->remove_from_parent();
-        unset($this->by_name['environment']);
-        unset($this->by_object['environment']);
-      }
+        /* Add Terminal tab */
+        if(class_available("termgroup")){
+            if(!$mixed_type && 
+                    ((preg_match("/T/",$objects)) || (preg_match("/W/",$objects)))&&(!isset($this->by_object['termgroup']))){
+                if(!isset($this->by_object['termgroup'])){
+                    $this->by_name['termgroup']= _("System settings");
+                    $this->by_object['termgroup']= new termgroup($this->config, $this->dn);
+                    $this->by_object['termgroup']->inheritTimeServer = false;
+                    $this->by_object['termgroup']->parent= &$this;
+                    $this->add('termgroup');
+                }
+            }
+        }
+        if(class_available("termstartup")){
+            if(!$mixed_type &&
+                    preg_match("/T/",$objects) &&(!isset($this->by_object['termstartup']))){
+                if(!isset($this->by_object['termstartup'])){
+                    $this->by_name['termstartup']= _("Recipe");
+                    $this->by_object['termstartup']= new termstartup($this->config, $this->dn,$this->by_object['ogroup']);
+                    $this->by_object['termstartup']->parent= &$this;
+                    $this->by_object['termstartup']->acl = "#all#";
+                    $this->add('termstartup');
+                }
+            }
+        }
+        if(!$mixed_type &&
+                class_available("termservice")){
+            if(preg_match("/T/",$objects) &&(!isset($this->by_object['termservice']))){
+                if(!isset($this->by_object['termservice'])){
+                    $this->by_name['termservice']= _("Devices");
+                    $this->by_object['termservice']= new termservice($this->config, $this->dn,$this->by_object['ogroup']);
+                    $this->by_object['termservice']->parent= &$this;
+                    $this->by_object['termservice']->acl = "#all#";
+                    $this->add('termservice');
+                }
+            }
+        }
+
+        /* Add Workstation tabs */
+        if(class_available("workstartup")){
+            if(!$mixed_type &&
+                    (preg_match("/S/",$objects) || preg_match("/W/",$objects))&&(!isset($this->by_object['workstartup']))){
+                $this->by_name['workstartup']= _("Recipe");
+                $this->by_object['workstartup']= new workstartup($this->config, $this->dn);
+                $this->by_object['workstartup']->parent= &$this;
+                $this->add("workstartup");
+            }
+        }
+        if(!$mixed_type &&
+                class_available("workservice")){
+            if((preg_match("/W/",$objects))&&(!isset($this->by_object['workservice']))){
+                $this->by_name['workservice']= _("Devices");
+                $this->by_object['workservice']= new workservice($this->config, $this->dn);
+                $this->by_object['workservice']->inheritTimeServer = false;
+                $this->by_object['workservice']->parent= &$this;
+                $this->add("workservice");
+            }
+        }
+        if(class_available("faiSummary")){
+            if(!$mixed_type &&
+                    (preg_match("/S/",$objects) || preg_match("/W/",$objects))&&(!isset($this->by_object['faiSummary']))){
+                $this->by_name['faiSummary']= _("Deployment summary");
+                $this->by_object['faiSummary']= new faiSummaryTab($this->config, $this->dn);
+                $this->by_object['faiSummary']->parent= &$this;
+                $this->add("faiSummary");
+            }
+        }
+
+        /* Add environment tab if user or group is member in this object group*/
+        if(class_available("environment")){
+            if((preg_match("/G/",$objects) || preg_match("/U/",$objects)) && !isset($this->by_name['environment'])){
+                $this->by_name['environment']= _("Desktop");
+                $this->by_object['environment']= new environment($this->config, $this->dn);
+                $this->by_object['environment']->parent= &$this;
+                $this->add("environment");
+            }
+        }
+
+        /* Remove environment tab if not required any longer */
+        if(class_available("environment")){
+            if(!preg_match("/G/",$objects) && !preg_match("/U/",$objects) && isset($this->by_name['environment'])){
+                $this->remove("environment");
+            }
+        }
+
+        /* Add application tab if user or group is member in this object group*/
+        if(class_available("appgroup")){
+            if((preg_match("/G/",$objects) || preg_match("/U/",$objects)) && !isset($this->by_name['appgroup'])){
+                $this->by_name['appgroup']= _("Applications");
+                $this->by_object['appgroup']= new appgroup($this->config, $this->dn);
+                $this->by_object['appgroup']->acl = "#all#";
+                $this->by_object['appgroup']->parent= &$this;
+                $this->add('appgroup');
+            }
+        }
+
+        /* Remove application tab if not required any longer */
+        if(class_available("appgroup")){
+            if(!preg_match("/G/",$objects) && !preg_match("/U/",$objects) && isset($this->by_name['appgroup'])){
+                $this->remove('appgroup');
+            }
+        }
+
+        /* Move reference tab to second position from right */
+        if(class_available("acl")){
+            if(isset($this->by_name['acl'])){
+                $tmp = $this->by_name['acl'];
+                unset($this->by_name['acl']);
+                $this->by_name['acl'] = $tmp;
+            }
+
+            /* Move reference tab to last position*/
+            if(class_available("reference")){
+                if(isset($this->by_name['reference'])){
+                    $tmp = $this->by_name['reference'];
+                    unset($this->by_name['reference']);
+                    $this->by_name['reference'] = $tmp;
+                }
+            }
+
+            /* Reset acls */
+            if($this->dn == "new"){
+                $this->set_acl_base($this->base);
+            }else{
+                $this->set_acl_base($this->dn);
+            }
+            foreach($this->by_object as $name => $obj){
+                $this->by_object[$name]->set_acl_category($this->acl_category);
+            }
+        }
     }
 
-    /* Add application tab if user or group is member in this object group*/
-    if(class_available("appgroup")){
-      if((preg_match("/G/",$objects) || preg_match("/U/",$objects)) && !isset($this->by_name['appgroup'])){
-        $this->by_name['appgroup']= _("Applications");
-        $this->by_object['appgroup']= new appgroup($this->config, $this->dn);
-        $this->by_object['appgroup']->acl = "#all#";
-        $this->by_object['appgroup']->parent= &$this;
-      }
+    function execute(){
+        $str = "";
+        $this->by_object['ogroup']->AddDelMembership();
+        $this->reload($this->by_object['ogroup']->gosaGroupObjects);
+        $str .= tabs::execute();
+        return ( $str);
+    }  
+
+    function ogrouptabs($config, $data, $dn,$category ="ogroups",$hide_refs = FALSE, $hide_acls = FALSE)
+    {
+
+        tabs::tabs($config, $data, $dn, $category,$hide_refs, $hide_acls);
+        $this->base= $this->by_object['ogroup']->base;
+        $this->acl_category = $category;
+
+        /* Add references/acls/snapshots */
+        $this->reload($this->by_object['ogroup']->gosaGroupObjects);
+        $this->addSpecialTabs();
     }
 
-    /* Remove application tab if not required any longer */
-    if(class_available("appgroup")){
-      if(!preg_match("/G/",$objects) && !preg_match("/U/",$objects) && isset($this->by_name['appgroup'])){
-        $this->by_object['appgroup']->remove_from_parent();
-        unset($this->by_name['appgroup']);
-        unset($this->by_object['appgroup']);
-      }
+
+    function check($ignore_account= FALSE)
+    {
+        return (tabs::check(FALSE));
     }
 
-    /* Move reference tab to second position from right */
-    if(class_available("acl")){
-      if(isset($this->by_name['acl'])){
-        $tmp = $this->by_name['acl'];
-        unset($this->by_name['acl']);
-        $this->by_name['acl'] = $tmp;
-      }
-
-      /* Move reference tab to last position*/
-      if(class_available("reference")){
-        if(isset($this->by_name['reference'])){
-          $tmp = $this->by_name['reference'];
-          unset($this->by_name['reference']);
-          $this->by_name['reference'] = $tmp;
+
+    function save_object($save_current= FALSE)
+    {
+        tabs::save_object($save_current);
+
+        /* Update reference, transfer variables */
+        $baseobject= $this->by_object['ogroup'];
+        foreach ($this->by_object as $name => $obj){
+
+            /* Don't touch base object */
+            if ($name != 'ogroup'){
+                $obj->parent    = &$this;
+                $obj->uid       = $baseobject->uid;
+                $obj->cn        = $baseobject->cn;
+                $obj->sn        = $baseobject->uid;
+                $obj->givenName = $baseobject->uid;
+                $this->by_object[$name]= $obj;
+            }
+
+            /* Update parent in base object */
+            $this->by_object['ogroup']->parent= &$this;
         }
-      }
-
-      /* Reset acls */
-      if($this->dn == "new"){
-        $this->set_acl_base($this->base);
-      }else{
-        $this->set_acl_base($this->dn);
-      }
-      foreach($this->by_object as $name => $obj){
-        $this->by_object[$name]->set_acl_category($this->acl_category);
-      }
-    }
-  }
-
-  function execute(){
-    $str = "";
-    $this->by_object['ogroup']->AddDelMembership();
-    $this->reload($this->by_object['ogroup']->gosaGroupObjects);
-    $str .= tabs::execute();
-    return ( $str);
-  }  
-
-  function ogrouptabs($config, $data, $dn,$category ="ogroups",$hide_refs = FALSE, $hide_acls = FALSE)
-  {
-
-    tabs::tabs($config, $data, $dn, $category,$hide_refs, $hide_acls);
-    $this->base= $this->by_object['ogroup']->base;
-    $this->acl_category = $category;
-
-    /* Add references/acls/snapshots */
-    $this->reload($this->by_object['ogroup']->gosaGroupObjects);
-    $this->addSpecialTabs();
-  }
-
-
-  function check($ignore_account= FALSE)
-  {
-    return (tabs::check(FALSE));
-  }
-
-
-  function save_object($save_current= FALSE)
-  {
-    tabs::save_object($save_current);
-
-    /* Update reference, transfer variables */
-    $baseobject= $this->by_object['ogroup'];
-    foreach ($this->by_object as $name => $obj){
-
-      /* Don't touch base object */
-      if ($name != 'ogroup'){
-        $obj->parent    = &$this;
-        $obj->uid       = $baseobject->uid;
-        $obj->cn        = $baseobject->cn;
-        $obj->sn        = $baseobject->uid;
-        $obj->givenName = $baseobject->uid;
-        $this->by_object[$name]= $obj;
-      }
-
-      /* Update parent in base object */
-      $this->by_object['ogroup']->parent= &$this;
     }
-  }
 
 
-  function save($ignore_account= FALSE)
-  {
-    $baseobject= $this->by_object['ogroup'];
+    function save($ignore_account= FALSE)
+    {
+        $baseobject= $this->by_object['ogroup'];
 
-    /* Check for new 'dn', in order to propagate the
-       'dn' to all plugins */
-    $new_dn= 'cn='.$baseobject->cn.','.get_ou('ogroupRDN').$baseobject->base;
+        /* Check for new 'dn', in order to propagate the
+           'dn' to all plugins */
+        $cn      = preg_replace('/,/', '\,', $baseobject->cn); 
+        $cn      = preg_replace('/"/', '\"', $cn); 
+        $new_dn= 'cn='.$cn.','.get_ou("group", "ogroupRDN").$baseobject->base;
 
-    /* Move group? */
-    if (LDAP::fix($this->dn) != LDAP::fix($new_dn)){
+        /* Move group? */
+        if (LDAP::fix($this->dn) != LDAP::fix($new_dn)){
 
-      /* Write entry on new 'dn' */
-      if ($this->dn != "new"){
-        $baseobject->move($this->dn, $new_dn);
-        $this->by_object['ogroup']= $baseobject;
-      }
+            /* Write entry on new 'dn' */
+            if ($this->dn != "new"){
+                $baseobject->move($this->dn, $new_dn);
+                $this->by_object['ogroup']= $baseobject;
+            }
 
-      /* Happen to use the new one */
-      $this->dn= $new_dn;
-    }
+            /* Happen to use the new one */
+            $this->dn= $new_dn;
+        }
 
-    if ($this->dn == "new"){
-      $this->dn= 'cn='.$baseobject->cn.','.get_ou('ogroupRDN').$baseobject->base;
-    }
+        if ($this->dn == "new"){
+            $this->dn= 'cn='.$baseobject->cn.','.get_ou("group", "ogroupRDN").$baseobject->base;
+        }
 
-    tabs::save();
-  }
+        foreach(array_keys($this->to_remove) as $object) {
+            $this->to_remove[$object]->remove_from_parent();
+        }
+        tabs::save();
+    }
 
-  function getCopyDialog()
-  {
-    $this->reload($this->by_object['ogroup']->gosaGroupObjects); 
-    return(tabs::getCopyDialog());
-  }
+    function getCopyDialog()
+    {
+        $this->reload($this->by_object['ogroup']->gosaGroupObjects); 
+        return(tabs::getCopyDialog());
+    }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/ogroups/trust_machines.tpl b/gosa-core/plugins/admin/ogroups/trust_machines.tpl
deleted file mode 100644
index f7b0b2c..0000000
--- a/gosa-core/plugins/admin/ogroups/trust_machines.tpl
+++ /dev/null
@@ -1,42 +0,0 @@
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
-<tr>
-  <td style="vertical-align:top;">
-   <div class="contentboxh" style="height:20px;">
-    <p class="contentboxh" style="font-size:12px">
-     <b>{t}Select systems to add{/t} {$hint}</b><br>
-    </p>
-   </div>
-   <div class="contentboxb">
-    <p class="contentboxb" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-     <select style="width:100%; margin-top:4px; height:450px;" name="wslist[]" size="15" multiple>
-	{html_options values=$wslist output=$wslist}
-     </select>
-    </p>
-   </div>
-  </td>
-  <td style="vertical-align:top; width:350px">
-   <div class="contentboxh" style="height:20px;">
-    <p class="contentboxh" style="font-size:12px"><img src="{$launchimage}" align="right" alt="[F]"><b>{
-t}Filters{/t}</b></p>
-   </div>
-   <div class="contentboxb" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-     <table summary="" style="width:100%;">
-      {$alphabet}
-     </table>
-    <table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8"><tr><td width="50%"><img alt="" src="{$tree_image}" align=middle> {t}Display systems of department{/t}</td>
-    <td><select name="depselect" size=1 onChange="mainform.submit()" title="{t}Choose the department the search will be based on{/t}">
-      {html_options options=$deplist selected=$depselect}
-    </select></td></tr></table>
-    <table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8"><tr><td width="50%"><img alt="" src="{$search_image}" align=middle> {t}Display systems matching{/t}</td>
-    <td><input type='text' name='regex' maxlength='20' value='{$regex}' title='{t}Regular expression for matching addresses{/t}' onChange="mainform.submit()"></td></tr></table>
-   {$apply}
-   </div>
-  </td>
-</tr>
-</table>
-
-<p class="plugbottom">
-  <input type=submit name="add_ws_finish" value="{msgPool type=addButton}">
-   
-  <input type=submit name="add_ws_cancel" value="{msgPool type=cancelButton}">
-</p>
diff --git a/gosa-core/plugins/admin/users/class_userManagement.inc b/gosa-core/plugins/admin/users/class_userManagement.inc
index 9a63e59..3ab20be 100644
--- a/gosa-core/plugins/admin/users/class_userManagement.inc
+++ b/gosa-core/plugins/admin/users/class_userManagement.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_userManagement.inc 19031 2010-07-21 09:59:03Z hickert $$
+ * ID: $$Id: class_userManagement.inc 20601 2011-01-18 09:00:51Z hickert $$
  *
  * 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
@@ -22,894 +22,901 @@
 
 class userManagement extends management
 {
-  var $plHeadline     = "Users";
-  var $plDescription  = "Manage users";
-  var $plIcon  = "plugins/users/images/user.png";
-
-  var $sn = "";
-  var $givenName = "";
-  var $uid = "";
-  var $got_uid = "";
-  var $edit_uid = "";
-
-  var $pwd_change_queue = array();
-  var $force_hash_type = array();
-
-  // Tab definition 
-  protected $tabClass = "usertabs";
-  protected $tabType = "USERTABS";
-  protected $aclCategory = "users";
-  protected $aclPlugin   = "user";
-  protected $objectName   = "user";
-
-  protected $proposal = "";
-  protected $proposalEnabled = FALSE;
-  protected $proposalSelected = FALSE;
-
-  protected $passwordChangeForceable = FALSE;
-  protected $enforcePasswordChange = FALSE;
-
-
-  function __construct($config,$ui)
-  {
-    $this->config = $config;
-    $this->ui = $ui;
-   
-    $this->storagePoints = array(get_ou("userRDN"));
- 
-    // Build filter
-    if (session::global_is_set(get_class($this)."_filter")){
-      $filter= session::global_get(get_class($this)."_filter");
-    } else {
-      $filter = new filter(get_template_path("user-filter.xml", true));
-      $filter->setObjectStorage($this->storagePoints);
-    }
-    $this->setFilter($filter);
-
-    // Build headpage
-    $headpage = new listing(get_template_path("user-list.xml", true));
-    $headpage->registerElementFilter("lockLabel", "userManagement::filterLockLabel");
-    $headpage->registerElementFilter("lockImage", "userManagement::filterLockImage");
-    $headpage->registerElementFilter("filterProperties", "userManagement::filterProperties");
-    $headpage->setFilter($filter);
-
-    // Add copy&paste and snapshot handler.
-    if ($this->config->boolValueIsTrue("main", "copyPaste")){
-      $this->cpHandler = new CopyPasteHandler($this->config);
-    }
-    if($this->config->get_cfg_value("enableSnapshots") == "true"){
-      $this->snapHandler = new SnapshotHandler($this->config);
-    }
+    var $plHeadline     = "Users";
+    var $plDescription  = "Manage aspects of user accounts like generic, POSIX, samba and mail settings";
+    var $plIcon  = "plugins/users/images/user.png";
+
+    var $sn = "";
+    var $givenName = "";
+    var $uid = "";
+    var $got_uid = "";
+    var $edit_uid = "";
+
+    var $pwd_change_queue = array();
+    var $force_hash_type = array();
+
+    // Tab definition 
+    protected $tabClass = "usertabs";
+    protected $tabType = "USERTABS";
+    protected $aclCategory = "users";
+    protected $aclPlugin   = "user";
+    protected $objectName   = "user";
+
+    protected $proposal = "";
+    protected $proposalEnabled = FALSE;
+    protected $proposalSelected = FALSE;
+
+    protected $passwordChangeForceable = FALSE;
+    protected $enforcePasswordChange = FALSE;
+
+    function __construct($config,$ui)
+    {
+        $this->config = $config;
+        $this->ui = $ui;
+
+        $this->storagePoints = array(get_ou("core", "userRDN"));
+
+        // Build filter
+        if (session::global_is_set(get_class($this)."_filter")){
+            $filter= session::global_get(get_class($this)."_filter");
+        } else {
+            $filter = new filter(get_template_path("user-filter.xml", true));
+            $filter->setObjectStorage($this->storagePoints);
+        }
+        $this->setFilter($filter);
+
+        // Build headpage
+        $headpage = new listing(get_template_path("user-list.xml", true));
+        $headpage->registerElementFilter("lockLabel", "userManagement::filterLockLabel");
+        $headpage->registerElementFilter("lockImage", "userManagement::filterLockImage");
+        $headpage->registerElementFilter("filterProperties", "userManagement::filterProperties");
+        $headpage->setFilter($filter);
+
+        // Add copy&paste and snapshot handler.
+        if ($this->config->boolValueIsTrue("core", "copyPaste")){
+            $this->cpHandler = new CopyPasteHandler($this->config);
+        }
+        if($this->config->get_cfg_value("core","enableSnapshots") == "true"){
+            $this->snapHandler = new SnapshotHandler($this->config);
+        }
 
-    parent::__construct($config, $ui, "users", $headpage);
-
-    // Register special user actions 
-    $this->registerAction("lock",   "lockEntry");
-    $this->registerAction("lockUsers",   "lockUsers");
-    $this->registerAction("unlockUsers", "lockUsers");
-    $this->registerAction("new_template", "newTemplate");
-    $this->registerAction("newfromtpl", "newUserFromTemplate");
-    $this->registerAction("templateContinue", "templateContinue");
-    $this->registerAction("templatize", "templatizeUsers");
-    $this->registerAction("templatizeContinue", "templatizeContinue");
-
-    $this->registerAction("password", "changePassword");
-    $this->registerAction("passwordQueue", "handlePasswordQueue");
-    $this->registerAction("passwordCancel", "closeDialogs");
-
-    $this->registerAction("sendMessage", "sendMessage");
-    $this->registerAction("saveEventDialog", "saveEventDialog");
-    $this->registerAction("abortEventDialog", "closeDialogs");
-
-    // Register shortcut icon actions 
-    $this->registerAction("edit_user","editEntry");
-    $this->registerAction("edit_posixAccount","editEntry");
-    $this->registerAction("edit_mailAccount","editEntry");
-    $this->registerAction("edit_sambaAccount","editEntry");
-    $this->registerAction("edit_netatalk","editEntry");
-    $this->registerAction("edit_environment","editEntry");
-    $this->registerAction("edit_gofaxAccount","editEntry");
-    $this->registerAction("edit_phoneAccount","editEntry");
-  }
-
-
-  function refreshProposal()
-  {
-    $this->proposal = passwordMethod::getPasswordProposal($this->config);
-    $this->proposalEnabled = (!empty($this->proposal));
-  }
-
-
-  // Inject user actions 
-  function detectPostActions()
-  {
-    $action = management::detectPostActions();
-    if(isset($_POST['template_continue'])) $action['action'] = "templateContinue";
-    if(isset($_POST['templatize_continue'])) $action['action'] = "templatizeContinue";
-    if(isset($_POST['save_event_dialog'])) $action['action'] = "saveEventDialog";
-    if(isset($_POST['abort_event_dialog'])) $action['action'] = "abortEventDialog";
-    if(isset($_POST['password_cancel'])){
-      $action['action'] = "passwordCancel";
-    }elseif((count($this->pwd_change_queue) || isset($_POST['password_finish']) || isset($_POST['refreshProposal']))){
-      $action['action'] = "passwordQueue";
-    }
-    return($action);
-  }
-
-
-  function editEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="")
-  {
-    $str = management::editEntry($action,$target);
-    if($str) return($str);
-
-    if(preg_match("/^edit_/",$action)){
-      $tab = preg_replace("/^edit_/","",$action); 
-      if(isset($this->tabObject->by_object[$tab])){
-        $this->tabObject->current = $tab;
-      }else{
-        trigger_error("Unknown tab: ".$tab);
-      }
+        parent::__construct($config, $ui, "users", $headpage);
+
+        // Register special user actions 
+        $this->registerAction("lock",   "lockEntry");
+        $this->registerAction("lockUsers",   "lockUsers");
+        $this->registerAction("unlockUsers", "lockUsers");
+        $this->registerAction("new_template", "newTemplate");
+        $this->registerAction("newfromtpl", "newUserFromTemplate");
+        $this->registerAction("templateContinue", "templateContinue");
+        $this->registerAction("templatize", "templatizeUsers");
+        $this->registerAction("templatizeContinue", "templatizeContinue");
+
+        $this->registerAction("password", "changePassword");
+        $this->registerAction("passwordQueue", "handlePasswordQueue");
+        $this->registerAction("passwordCancel", "closeDialogs");
+
+        $this->registerAction("sendMessage", "sendMessage");
+        $this->registerAction("saveEventDialog", "saveEventDialog");
+        $this->registerAction("abortEventDialog", "closeDialogs");
+
+        // Register shortcut icon actions 
+        $this->registerAction("edit_user","editEntry");
+        $this->registerAction("edit_posixAccount","editEntry");
+        $this->registerAction("edit_mailAccount","editEntry");
+        $this->registerAction("edit_sambaAccount","editEntry");
+        $this->registerAction("edit_netatalk","editEntry");
+        $this->registerAction("edit_environment","editEntry");
+        $this->registerAction("edit_gofaxAccount","editEntry");
+        $this->registerAction("edit_phoneAccount","editEntry");
+    }
+
+
+    // Inject user actions 
+    function detectPostActions()
+    {
+        $action = management::detectPostActions();
+        if(isset($_POST['template_continue'])) $action['action'] = "templateContinue";
+        if(isset($_POST['templatize_continue'])) $action['action'] = "templatizeContinue";
+        if(isset($_POST['save_event_dialog'])) $action['action'] = "saveEventDialog";
+        if(isset($_POST['abort_event_dialog'])) $action['action'] = "abortEventDialog";
+        if(isset($_POST['password_cancel'])){
+            $action['action'] = "passwordCancel";
+        }elseif((count($this->pwd_change_queue) || isset($_POST['password_finish']) || isset($_POST['refreshProposal']))){
+            $action['action'] = "passwordQueue";
+        }
+        return($action);
     }
-  }
-
-  
-  function closeDialogs()
-  {
-    management::closeDialogs();
-    $this->pwd_change_queue = array();
-  }
-    
-
-  /*! \brief  Sends a message to a set of users using gosa-si events.
-   */ 
-  function sendMessage($action="",$target=array(),$all=array())
-  {
-    if(class_available("DaemonEvent")){
-      $uids = array();
-      $ldap = $this->config->get_ldap_link();
-      $ldap->cd($this->config->current['BASE']);
-      foreach($target as $dn){
-        $ldap->cat($dn,array('uid'));
-        $attrs = $ldap->fetch();
-        if(isset($attrs['uid'][0])){
-          $uids[] = $attrs['uid'][0];
-        }
-      }
-      if(count($uids)){
-        $events = DaemonEvent::get_event_types(USER_EVENT);
-        $event = "DaemonEvent_notify";
-        if(isset($events['BY_CLASS'][$event])){
-          $type = $events['BY_CLASS'][$event];
-          $this->dialogObject = new $type['CLASS_NAME']($this->config);
-          $this->dialogObject->add_users($uids);
-          $this->dialogObject->set_type(SCHEDULED_EVENT);
-        }
-      }
+
+
+    function editEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="")
+    {
+        $str = management::editEntry($action,$target);
+        if($str) return($str);
+
+        if(preg_match("/^edit_/",$action)){
+            $tab = preg_replace("/^edit_/","",$action); 
+            if(isset($this->tabObject->by_object[$tab])){
+                $this->tabObject->current = $tab;
+            }else{
+                trigger_error("Unknown tab: ".$tab);
+            }
+        }
     }
-  }
-
-
-  /*! \brief  Sends a message to a set of users using gosa-si events.
-   */ 
-  function saveEventDialog()
-  {
-    $this->dialogObject->save_object();
-    $msgs = $this->dialogObject->check();
-    if(count($msgs)){
-      msg_dialog::displayChecks($msgs);
-    }else{
-      $o_queue = new gosaSupportDaemon();
-      $o_queue->append($this->dialogObject);
-      if($o_queue->is_error()){
-        msg_dialog::display(_("Infrastructure error"), msgPool::siError($o_queue->get_error()),ERROR_DIALOG);
-      }
-      $this->closeDialogs();
+
+
+    function closeDialogs()
+    {
+        management::closeDialogs();
+        $this->pwd_change_queue = array();
     }
-  }
-
-
-  /*! \brief  Intiates template creation. 
-   */ 
-  function newTemplate($action,$entry)
-  {
-    $this->newEntry();
-    $this->tabObject->set_template_mode ();
-  }
-
-
-  /*! \brief  Queues a set of users for password changes
-   */ 
-  function changePassword($action="",$target=array(),$all=array())
-  {
-    $this->dn ="";
-    $this->pwd_change_queue = $target;
-
-    // Check permisions
-    $disallowed = array();
-    foreach($this->pwd_change_queue as $key => $dn){
-      if(!preg_match("/w/",$this->ui->get_permissions($dn,$this->aclCategory."/password"))){
-        unset($this->pwd_change_queue[$key]);
-        $disallowed[] = $dn; 
-      }
+
+
+    /*! \brief  Sends a message to a set of users using gosa-si events.
+     */ 
+    function sendMessage($action="",$target=array(),$all=array())
+    {
+        if(class_available("DaemonEvent")){
+            $uids = array();
+            $ldap = $this->config->get_ldap_link();
+            $ldap->cd($this->config->current['BASE']);
+            foreach($target as $dn){
+                $ldap->cat($dn,array('uid'));
+                $attrs = $ldap->fetch();
+                if(isset($attrs['uid'][0])){
+                    $uids[] = $attrs['uid'][0];
+                }
+            }
+            if(count($uids)){
+                $events = DaemonEvent::get_event_types(USER_EVENT);
+                $event = "DaemonEvent_notify";
+                if(isset($events['BY_CLASS'][$event])){
+                    $type = $events['BY_CLASS'][$event];
+                    $this->dialogObject = new $type['CLASS_NAME']($this->config);
+                    $this->dialogObject->add_users($uids);
+                    $this->dialogObject->set_type(SCHEDULED_EVENT);
+                }
+            }
+        }
     }
-    if(count($disallowed)){
-      msg_dialog::display(_("Permission"),msgPool::permModify($disallowed),INFO_DIALOG);
+
+
+    /*! \brief  Sends a message to a set of users using gosa-si events.
+     */ 
+    function saveEventDialog()
+    {
+        $this->dialogObject->save_object();
+        $msgs = $this->dialogObject->check();
+        if(count($msgs)){
+            msg_dialog::displayChecks($msgs);
+        }else{
+            $o_queue = new gosaSupportDaemon();
+            $o_queue->append($this->dialogObject);
+            if($o_queue->is_error()){
+                msg_dialog::display(_("Infrastructure error"), msgPool::siError($o_queue->get_error()),ERROR_DIALOG);
+            }
+            $this->closeDialogs();
+        }
     }
 
-    // Now display change dialog.
-    return($this->handlePasswordQueue()); 
-  }
-
-
-  function handlePasswordQueue()
-  {
-      // skip if nothing is to do
-      if(empty($this->dn) && !count($this->pwd_change_queue)) return;
-
-      // Refresh proposal if requested
-      if(isset($_POST['refreshProposal'])) $this->refreshProposal();
-      if(isset($_POST['proposalSelected'])) $this->proposalSelected = get_post('proposalSelected') == 1;
-
-      $this->enforcePasswordChange = isset($_POST['new_password']) && isset($_POST['enforcePasswordChange']);
-
-      $smarty = get_smarty();
-      $smarty->assign("proposal" , $this->proposal);
-      $smarty->assign("proposalEnabled" , $this->proposalEnabled);
-      $smarty->assign("proposalSelected" , $this->proposalSelected);
-
-      $smarty->assign("passwordChangeForceable" , $this->passwordChangeForceable);
-      $smarty->assign("enforcePasswordChange" , $this->enforcePasswordChange);
-
-      // Get next entry from queue.
-      if(empty($this->dn) && count($this->pwd_change_queue)){
-
-          // Generate new proposal
-          $this->refreshProposal();
-          $this->proposalSelected = ($this->proposal != "");
-          $this->dn = array_pop($this->pwd_change_queue);
-
-          // Check if we are able to enforce a password change
-          $ldap = $this->config->get_ldap_link();
-          $ldap->cd($this->config->current['BASE']);
-          $ldap->cat($this->dn);
-          $attrs = $ldap->fetch();
-          $this->passwordChangeForceable =
-              in_array('sambaAccount', $attrs['objectClass']) ||
-              (in_array('posixAccount', $attrs['objectClass']) && isset($attrs['shadowMax']));
-          $smarty->assign("passwordChangeForceable" , $this->passwordChangeForceable);
-          $smarty->assign("enforcePasswordChange" , $this->enforcePasswordChange);
-
-          // Assign proposal variables
-          $smarty->assign("proposal" , $this->proposal);
-          $smarty->assign("proposalEnabled" , $this->proposalEnabled);
-          $smarty->assign("proposalSelected" , $this->proposalSelected);
-
-          set_object_info($this->dn);
-          return ($smarty->fetch(get_template_path('password.tpl', TRUE)));
-      }
-
-      // If we've just refreshed the proposal then do not check the password for validity.
-      if(isset($_POST['refreshProposal'])){
-          return ($smarty->fetch(get_template_path('password.tpl', TRUE)));
-      }
-
-      // Check permissions
-      if(isset($_POST['password_finish'])){
-
-          $dn  = $this->dn;
-          $acl = $this->ui->get_permissions($dn, "users/password");
-          $cacl= $this->ui->get_permissions($dn, "users/user");
-          if (preg_match('/w/', $acl) || preg_match('/c/', $cacl)){
-
-              // Get posted passwords
-              if($this->proposalSelected){
-                  $new_password = $this->proposal;
-                  $repeated_password = $this->proposal;
-              }else{
-                  $new_password = get_post('new_password');
-                  $repeated_password = get_post('repeated_password');
-              }
-
-              // Check posted passwords now.
-              $message= array();
-              if ($new_password != $repeated_password){
-                  $message[]= _("The passwords you've entered as 'New password' and 'Repeated new password' do not match.");
-              } else {
-                  if ($new_password == ""){
-                      $message[] = msgPool::required(_("New password"));
-                  }
-              }
-
-              // Display errors
-              if (count($message) != 0){
-                  msg_dialog::displayChecks($message);
-                  return($smarty->fetch(get_template_path('password.tpl', TRUE)));
-              }
-
-              // Change cassword
-              if(isset($this->force_hash_type[$this->dn])){
-                  if(!change_password ($this->dn, $new_password,0,$this->force_hash_type[$this->dn])){
-                      return($smarty->fetch(get_template_path('password.tpl', TRUE)));
-                  }
-              }else{
-                  if(!change_password ($this->dn, $new_password)){
-                      return($smarty->fetch(get_template_path('password.tpl', TRUE)));
-                  }
-              }
-              if ($this->config->get_cfg_value("passwordHook") != ""){
-                  $ldap = $this->config->get_ldap_link();
-                  $ldap->cd($this->config->current['BASE']);
-                  $ldap->cat($this->dn,array('uid'));
-                  $attrs = $ldap->fetch();
-                  exec($this->config->get_cfg_value("passwordHook")." ".$attrs['uid'][0]." ".$_POST['new_password'], $resarr);
-              }
-
-              // The user has to change his password on next login
-              // - We are going to update samba and posix attributes here, to enforce
-              //   such a password change.
-              if($this->passwordChangeForceable && $this->enforcePasswordChange){
-
-                  // Check if we are able to enforce a password change
-                  $ldap = $this->config->get_ldap_link();
-                  $ldap->cd($this->config->current['BASE']);
-                  $ldap->cat($this->dn);
-                  $attrs = $ldap->fetch();
-                  $samba = in_array('sambaSamAccount', $attrs['objectClass']);
-                  $posix = in_array('posixAccount', $attrs['objectClass']);
-
-                  // Update the posix shadow flag...
-                  if($posix){
-                      $current= floor(date("U") /60 /60 /24);
-                      $enforceDate = $current -  $attrs['shadowMax'][0];
-                      $new_attrs = array();
-                      $new_attrs['shadowLastChange'] = $enforceDate;
-                      $ldap->cd($this->dn);
-                      $ldap->modify($new_attrs);
-
-#                     $posixAccount = new posixAccount($this->config, $this->dn);
-#                     $posixAccount->is_modified=TRUE;
-#                     $posixAccount->activate_shadowExpire=1;
-#                     $posixAccount->shadowExpire = date('d.m.Y', time() - (1 * 24 * 60 *60));
-#                     $posixAccount->save();
-                  }
-
-                  // Update the samba kickoff flag...
-                  if($samba){
-                      $sambaAccount = new sambaAccount($this->config, $this->dn);
-                      $sambaAccount->is_modified=TRUE;
-                      $sambaAccount->flag_enforcePasswordChange = TRUE;
-                      $sambaAccount->flag_cannotChangePassword = FALSE;
-                      $sambaAccount->save();
-                  }
-              }
-
-              new log("modify","users/".get_class($this),$this->dn,array(),"Password has been changed");
-              $this->dn ="";
-
-          } else {
-              msg_dialog::display(_("Password change"),
-                      _("You have no permission to change this users password!"),
-                      WARNING_DIALOG);
-          }
-      }
-      // Cleanup
-      if(!count($this->pwd_change_queue) && $this->dn=""){
-          $this->remove_lock();
-          $this->closeDialogs();
-      }else{
-          return($this->handlePasswordQueue());
-      }
-  }
-
-
-
-
-  /*! \brief  Save user modifications. 
-   *          Whenever we save a 'new' user, request a password change for him.
-   */ 
-  function saveChanges()
-  {
-    $str = management::saveChanges();
-  
-    if(!empty($str)) return($str);
-
-    if($this->last_tabObject instanceOf multi_plug){
-      foreach($this->last_tabObject->a_handles as $user){
-        if($user->password_change_needed()){
-          $this->force_hash_type[$user->dn] = $user->by_object['user']->pw_storage;
-          $this->pwd_change_queue[] = $user->dn;
-        }
-      }
-      return($this->handlePasswordQueue());
+
+    /*! \brief  Intiates template creation. 
+     */ 
+    function newTemplate($action,$entry)
+    {
+        $this->newEntry();
+        $this->tabObject->set_template_mode ();
     }
 
-    if(isset($this->last_tabObject->by_object['user']) && $this->last_tabObject->by_object['user']->password_change_needed()){
-      $this->force_hash_type[$this->last_tabObject->dn] = $this->last_tabObject->by_object['user']->pw_storage;
-      $this->pwd_change_queue[] = $this->last_tabObject->dn;
-      return($this->handlePasswordQueue());
+
+    /*! \brief  Queues a set of users for password changes
+     */ 
+    function changePassword($action="",$target=array(),$all=array())
+    {
+        $this->dn ="";
+        $this->pwd_change_queue = $target;
+
+        // Check permisions
+        $disallowed = array();
+        foreach($this->pwd_change_queue as $key => $dn){
+            if(!preg_match("/w/",$this->ui->get_permissions($dn,$this->aclCategory."/password"))){
+                unset($this->pwd_change_queue[$key]);
+                $disallowed[] = $dn; 
+            }
+        }
+        if(count($disallowed)){
+            msg_dialog::display(_("Permission"),msgPool::permModify($disallowed),INFO_DIALOG);
+        }
+
+        // Now display change dialog.
+        return($this->handlePasswordQueue()); 
     }
-  }
-
-  function cancelEdit()
-  {
-    $str = management::cancelEdit();
-    if(!empty($str)) return($str);
-
-    if(isset($this->last_tabObject->by_object['user']) && 
-        $this->last_tabObject->by_object['user']->dn != "new" &&  
-        $this->last_tabObject->by_object['user']->password_change_needed()){
-      $this->force_hash_type[$this->last_tabObject->dn] = $this->last_tabObject->by_object['user']->pw_storage;
-      $this->pwd_change_queue[] = $this->last_tabObject->dn;
-      return($this->handlePasswordQueue());
+
+
+
+    function refreshProposal()
+    {
+        $this->proposal = passwordMethod::getPasswordProposal($this->config);
+        $this->proposalEnabled = (!empty($this->proposal));
     }
-  }
-
-
-  /*! \brief  Intiates user creation. 
-   *          If we've user templates, then the user will be asked to use to use one. 
-   *          -> See 'templateContinue' for further handling.
-   */ 
-  function newUserFromTemplate($action="",$target=array(),$all=array())
-  {
-    // Call parent method, it knows whats to do, locking and so on ...
-    $str = management::newEntry($action,$target,$all);
-    if(!empty($str)) return($str);
-
-    // Reset uid selection.
-    $this->got_uid= "";
-
-    // Use template if there are any of them 
-    $templates = array();
-    $templates['none']= _("none");
-    $templates = array_merge($templates,$this->get_templates());
-
-    // We've templates, so preset the current template and display the input dialog.
-    if (count($templates)){
-      $smarty = get_smarty();
-      foreach(array("sn", "givenName", "uid", "got_uid") as $attr){
-        $smarty->assign("$attr", "");
-      }
-      $smarty->assign("template",  array_pop($target));
-      $smarty->assign("templates", $templates);
-      $smarty->assign("edit_uid", "");
-      return($smarty->fetch(get_template_path('template.tpl', TRUE)));
-
-      // -> See 'templateContinue' for further handling!
+
+
+    function handlePasswordQueue()
+    {
+        // skip if nothing is to do
+        if(empty($this->dn) && !count($this->pwd_change_queue)) return;
+
+        // Refresh proposal if requested
+        if(isset($_POST['refreshProposal'])) $this->refreshProposal();
+        if(isset($_POST['proposalSelected'])) $this->proposalSelected = get_post('proposalSelected') == 1;
+
+        $this->enforcePasswordChange = isset($_POST['new_password']) && isset($_POST['enforcePasswordChange']);
+
+        $smarty = get_smarty();
+        $smarty->assign("proposal" , set_post($this->proposal));
+        $smarty->assign("proposalEnabled" , $this->proposalEnabled);
+        $smarty->assign("proposalSelected" , $this->proposalSelected);
+
+        $smarty->assign("passwordChangeForceable" , $this->passwordChangeForceable);
+        $smarty->assign("enforcePasswordChange" , $this->enforcePasswordChange);
+
+        // Get next entry from queue.
+        if(empty($this->dn) && count($this->pwd_change_queue)){
+
+            // Generate new proposal
+            $this->refreshProposal();
+            $this->proposalSelected = ($this->proposal != "");
+            $this->dn = array_pop($this->pwd_change_queue);
+
+            // Check if we are able to enforce a password change
+            $ldap = $this->config->get_ldap_link();
+            $ldap->cd($this->config->current['BASE']);
+            $ldap->cat($this->dn);
+            $attrs = $ldap->fetch();
+            $this->passwordChangeForceable = 
+                    in_array('sambaAccount', $attrs['objectClass']) || 
+                    (in_array('posixAccount', $attrs['objectClass']) && isset($attrs['shadowMax']));
+            $smarty->assign("passwordChangeForceable" , $this->passwordChangeForceable);
+            $smarty->assign("enforcePasswordChange" , $this->enforcePasswordChange);
+
+            // Assign proposal variables
+            $smarty->assign("proposal" , set_post($this->proposal));
+            $smarty->assign("proposalEnabled" , $this->proposalEnabled);
+            $smarty->assign("proposalSelected" , $this->proposalSelected);
+
+            set_object_info($this->dn);
+            return ($smarty->fetch(get_template_path('password.tpl', TRUE)));
+        }
+
+        // If we've just refreshed the proposal then do not check the password for validity.
+        if(isset($_POST['refreshProposal'])){
+            return ($smarty->fetch(get_template_path('password.tpl', TRUE)));
+        }
+
+        // Check permissions
+        if(isset($_POST['password_finish'])){
+
+            $dn  = $this->dn;
+            $acl = $this->ui->get_permissions($dn, "users/password");
+            $cacl= $this->ui->get_permissions($dn, "users/user");
+            if (preg_match('/w/', $acl) || preg_match('/c/', $cacl)){
+
+                // Get posted passwords
+                if($this->proposalSelected){
+                    $new_password = $this->proposal;
+                    $repeated_password = $this->proposal;
+                }else{
+                    $new_password = get_post('new_password');
+                    $repeated_password = get_post('repeated_password');
+                }
+
+                // Check posted passwords now.            
+                $message= array();
+                if ($new_password != $repeated_password){
+                    $message[]= _("The passwords you've entered as 'New password' and 'Repeated new password' do not match.");
+                } else {
+                    if ($new_password == ""){
+                        $message[] = msgPool::required(_("New password"));
+                    }
+                }
+
+                // Call external check hook to validate the password change
+                if(!count($message)){
+                    $attrs = array();
+                    $attrs['current_password'] = '';
+                    $attrs['new_password'] = $new_password;
+                    $checkRes = password::callCheckHook($this->config,$this->dn,$attrs);
+                    if(count($checkRes)){
+                        $message[] = sprintf(_("Check-hook reported a problem: %s. Password change canceled!"), 
+                                implode($checkRes));
+                    }
+                }
+
+                // Display errors
+                if (count($message) != 0){
+                    msg_dialog::displayChecks($message);
+                    return($smarty->fetch(get_template_path('password.tpl', TRUE)));
+                }
+
+
+
+                // Change cassword 
+                if(isset($this->force_hash_type[$this->dn])){
+                    if(!change_password ($this->dn, $new_password,0,$this->force_hash_type[$this->dn],'', $message)){
+                        msg_dialog::displayChecks(array($message));
+                        return($smarty->fetch(get_template_path('password.tpl', TRUE)));
+                    }
+                }else{
+                    if(!change_password ($this->dn, $new_password,0,'','',$message)){
+                        msg_dialog::displayChecks(array($message));
+                        return($smarty->fetch(get_template_path('password.tpl', TRUE)));
+                    }
+                }
+        
+                // The user has to change his password on next login
+                // - We are going to update samba and posix attributes here, to enforce
+                //   such a password change.
+                if($this->passwordChangeForceable && $this->enforcePasswordChange){
+
+                    // Check if we are able to enforce a password change
+                    $ldap = $this->config->get_ldap_link();
+                    $ldap->cd($this->config->current['BASE']);
+                    $ldap->cat($this->dn);
+                    $attrs = $ldap->fetch();
+                    $samba = in_array('sambaSamAccount', $attrs['objectClass']);
+                    $posix = in_array('posixAccount', $attrs['objectClass']);
+
+                    // Update the posix shadow flag...
+                    if($posix){
+
+                        $current= floor(date("U") /60 /60 /24);
+                        $enforceDate = $current -  $attrs['shadowMax'][0];
+                        $new_attrs = array();
+                        $new_attrs['shadowLastChange'] = $enforceDate;
+                        $ldap->cd($this->dn);
+                        $ldap->modify($new_attrs);
+
+#                       $posixAccount = new posixAccount($this->config, $this->dn);
+#                       $posixAccount->is_modified=TRUE;
+#                       $posixAccount->activate_shadowExpire=1;
+#                       $posixAccount->shadowExpire = date('d.m.Y', time() - (1 * 24 * 60 *60));
+#                       $posixAccount->save();
+                    }
+                   
+                    // Update the samba kickoff flag...
+                    if($samba){
+                        $sambaAccount = new sambaAccount($this->config, $this->dn);
+                        $sambaAccount->is_modified=TRUE;
+                        $sambaAccount->flag_enforcePasswordChange = TRUE;
+                        $sambaAccount->flag_cannotChangePassword = FALSE;
+                        $sambaAccount->save();
+                    }
+                }
+
+                new log("modify","users/".get_class($this),$this->dn,array(),"Password has been changed");
+                $this->dn ="";
+
+            } else {
+                msg_dialog::display(_("Password change"),
+                        _("You have no permission to change this users password!"),
+                        WARNING_DIALOG);
+            }
+        }
+
+        // Cleanup
+        if(!count($this->pwd_change_queue) && $this->dn=""){
+            $this->remove_lock();
+            $this->closeDialogs();
+        }else{
+            return($this->handlePasswordQueue());
+        }
     }
-  }
-
-
-
-  /*! \brief  Intiates user creation. 
-   *          If we've user templates, then the user will be asked 
-   *           if he wants to use one. 
-   *          -> See 'templateContinue' for further handling.
-   */ 
-  function newEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="")
-  {
-  
-    // Call parent method, it manages everything, locking, object creation...
-    $str = management::newEntry($action,$target,$all);
-    if(!empty($str)) return($str);
-    
-    // If we've at least one template, then ask the user if he wants to use one?
-    $templates = array();
-    $templates['none']= _("none");
-    $templates = array_merge($templates,$this->get_templates());
-
-    // Display template selection
-    if (count($templates) > 1){
-      $smarty = get_smarty();
-  
-      // Set default variables, normally empty.
-      foreach(array("sn", "givenName", "uid", "got_uid") as $attr){
-        $smarty->assign($attr, "");
-      }
-      $smarty->assign("template", "none");
-      $smarty->assign("templates", $templates);
-      $smarty->assign("edit_uid", "");
-      return($smarty->fetch(get_template_path('template.tpl', TRUE)));
-
-      // -> See 'templateContinue' for further handling!
+
+
+    /*! \brief  Save user modifications. 
+     *          Whenever we save a 'new' user, request a password change for him.
+     */ 
+    function saveChanges()
+    {
+        $str = management::saveChanges();
+
+        if(!empty($str)) return($str);
+
+        if($this->last_tabObject instanceOf multi_plug){
+            foreach($this->last_tabObject->a_handles as $user){
+                if($user->password_change_needed()){
+                    $this->force_hash_type[$user->dn] = $user->by_object['user']->pw_storage;
+                    $this->pwd_change_queue[] = $user->dn;
+                }
+            }
+            return($this->handlePasswordQueue());
+        }
+
+        if(isset($this->last_tabObject->by_object['user']) && $this->last_tabObject->by_object['user']->password_change_needed()){
+            $this->force_hash_type[$this->last_tabObject->dn] = $this->last_tabObject->by_object['user']->pw_storage;
+            $this->pwd_change_queue[] = $this->last_tabObject->dn;
+            return($this->handlePasswordQueue());
+        }
     }
-  }
-
-
-  /* !\brief  This method is called whenever a template selection was displayed.
-   *          Here we act on the use selection. 
-   *          - Does the user want to create a user from template?
-   *          - Create user without template?
-   *          - Input correct, every value given and valid? 
-   */ 
-  function templateContinue()
-  {
-    // Get the list of available templates.
-    $templates = array();
-    $templates['none']= _("none");
-    $templates = array_merge($templates,$this->get_templates());
-
-    // Input validation, if someone wants to create a user from a template
-    //  then validate the given values.
-    $message = array();
-    if(!isset($_POST['template']) || (empty($_POST['template']))){
-      $message[]= msgPool::invalid(_("Template"));
+
+    function cancelEdit()
+    {
+        $str = management::cancelEdit();
+        if(!empty($str)) return($str);
+
+        if(isset($this->last_tabObject->by_object['user']) && 
+                $this->last_tabObject->by_object['user']->dn != "new" &&  
+                $this->last_tabObject->by_object['user']->password_change_needed()){
+            $this->force_hash_type[$this->last_tabObject->dn] = $this->last_tabObject->by_object['user']->pw_storage;
+            $this->pwd_change_queue[] = $this->last_tabObject->dn;
+            return($this->handlePasswordQueue());
+        }
     }
-    if(!isset($_POST['sn']) || (empty($_POST['sn']))){
-      $message[]= msgPool::required(_("Name"));
+
+
+    /*! \brief  Intiates user creation. 
+     *          If we've user templates, then the user will be asked to use to use one. 
+     *          -> See 'templateContinue' for further handling.
+     */ 
+    function newUserFromTemplate($action="",$target=array(),$all=array())
+    {
+        // Call parent method, it knows whats to do, locking and so on ...
+        $str = management::newEntry($action,$target,$all);
+        if(!empty($str)) return($str);
+
+        // Reset uid selection.
+        $this->got_uid= "";
+
+        // Use template if there are any of them 
+        $templates = array();
+        $templates['none']= _("none");
+        $templates = array_merge($templates,$this->get_templates());
+
+        // We've templates, so preset the current template and display the input dialog.
+        if (count($templates)){
+            $smarty = get_smarty();
+            foreach(array("sn", "givenName", "uid", "got_uid") as $attr){
+                $smarty->assign("$attr", "");
+            }
+            $smarty->assign("template",  array_pop($target));
+            $smarty->assign("templates", $templates);
+            $smarty->assign("edit_uid", "");
+            return($smarty->fetch(get_template_path('template.tpl', TRUE)));
+
+            // -> See 'templateContinue' for further handling!
+        }
     }
-    if(!isset($_POST['givenName']) || (empty($_POST['givenName']))){
-      $message[]= msgPool::required(_("Given name"));
+
+
+
+    /*! \brief  Intiates user creation. 
+     *          If we've user templates, then the user will be asked 
+     *           if he wants to use one. 
+     *          -> See 'templateContinue' for further handling.
+     */ 
+    function newEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="")
+    {
+
+        // Call parent method, it manages everything, locking, object creation...
+        $str = management::newEntry($action,$target,$all);
+        if(!empty($str)) return($str);
+
+        // If we've at least one template, then ask the user if he wants to use one?
+        $templates = array();
+        $templates['none']= _("none");
+        $templates = array_merge($templates,$this->get_templates());
+
+        // Display template selection
+        if (count($templates) > 1){
+            $smarty = get_smarty();
+
+            // Set default variables, normally empty.
+            foreach(array("sn", "givenName", "uid", "got_uid") as $attr){
+                $smarty->assign($attr, "");
+            }
+            $smarty->assign("template", "none");
+            $smarty->assign("templates", $templates);
+            $smarty->assign("edit_uid", "");
+            return($smarty->fetch(get_template_path('template.tpl', TRUE)));
+
+            // -> See 'templateContinue' for further handling!
+        }
     }
 
-    /********************
-     * 1   We've had input errors - Display errors and show input dialog again. 
-     ********************/
 
-    if (count($message) > 0){
-      msg_dialog::displayChecks($message);
+    /* !\brief  This method is called whenever a template selection was displayed.
+     *          Here we act on the use selection. 
+     *          - Does the user want to create a user from template?
+     *          - Create user without template?
+     *          - Input correct, every value given and valid? 
+     */ 
+    function templateContinue()
+    {
+        // Get the list of available templates.
+        $templates = array();
+        $templates['none']= _("none");
+        $templates = array_merge($templates,$this->get_templates());
+
+        // Input validation, if someone wants to create a user from a template
+        //  then validate the given values.
+        $message = array();
+        if(!isset($_POST['template']) || (empty($_POST['template']))){
+            $message[]= msgPool::invalid(_("Template"));
+        }
+        if(!isset($_POST['sn']) || (empty($_POST['sn']))){
+            $message[]= msgPool::required(_("Name"));
+        }
+        if(!isset($_POST['givenName']) || (empty($_POST['givenName']))){
+            $message[]= msgPool::required(_("Given name"));
+        }
 
-      // Preset input fields with user input. 
-      $smarty = get_smarty();
-      foreach(array("sn", "givenName", "uid", "template") as $attr){
-        if(isset($_POST[$attr])){
-          $smarty->assign("$attr", get_post($attr));
-        }else{
-          $smarty->assign("$attr", "");
+        /********************
+         * 1   We've had input errors - Display errors and show input dialog again. 
+         ********************/
+
+        if (count($message) > 0){
+            msg_dialog::displayChecks($message);
+
+            // Preset input fields with user input. 
+            $smarty = get_smarty();
+            foreach(array("sn", "givenName", "uid", "template") as $attr){
+                if(isset($_POST[$attr])){
+                    $smarty->assign("$attr", set_post(get_post($attr)));
+                }else{
+                    $smarty->assign("$attr", "");
+                }
+            }
+
+            $smarty->assign("templates",$templates);
+            $smarty->assign("got_uid", $this->got_uid);
+            $smarty->assign("edit_uid",false);
+            return($smarty->fetch(get_template_path('template.tpl', TRUE)));
         }
-      }
 
-      $smarty->assign("templates",$templates);
-      $smarty->assign("got_uid", $this->got_uid);
-      $smarty->assign("edit_uid",false);
-      return($smarty->fetch(get_template_path('template.tpl', TRUE)));
-    }
+        /********************
+         * 2   There was a template selected, now ask for the uid.
+         ********************/
 
+        if ($_POST['template'] != 'none' && !isset($_POST['uid'])){
 
-    /********************
-     * 2   There was a template selected, now ask for the uid.
-     ********************/
-
-    if ($_POST['template'] != 'none' && !isset($_POST['uid'])){
-
-      // Remember user input.
-      $smarty = get_smarty();
-      $this->sn             = $_POST['sn'];
-      $this->givenName      = $_POST['givenName'];
-
-      // Avoid duplicate entries, check if such a user already exists.
-      $dn= preg_replace("/^[^,]+,/i", "", $_POST['template']);
-      $ldap= $this->config->get_ldap_link();
-      $ldap->cd ($dn);
-      $ldap->search ("(&(sn=".normalizeLdap($this->sn).")(givenName=".normalizeLdap($this->givenName)."))", array("givenName"));
-      if ($ldap->count () != 0){
-        msg_dialog::displayChecks(array(msgPool::duplicated(_("Name"))));
-      }else{
-
-        // Preset uid field by using the idGenerator 
-        $attributes= array('sn' => $this->sn, 'givenName' => $this->givenName);
-        if ($this->config->get_cfg_value("idGenerator") != ""){
-          $uids= gen_uids ($this->config->get_cfg_value("idGenerator"), $attributes);
-          if (count($uids)){
-            $smarty->assign("edit_uid", "false");
-            $smarty->assign("uids", $uids);
-            $this->uid= current($uids);
-          }
-        } else {
-          $smarty->assign("edit_uid", "");
-          $this->uid= "";
-        }
-        $this->got_uid= true;
-      }
-
-      // Assign user input 
-      foreach(array("sn", "givenName", "uid", "got_uid") as $attr){
-        $smarty->assign("$attr", $this->$attr);
-      }
-      if (isset($_POST['template'])){
-        $smarty->assign("template", $_POST['template']);
-      }
-      $smarty->assign("templates",$templates); 
-      return($smarty->fetch(get_template_path('template.tpl', TRUE)));
-    }
+            // Remember user input.
+            $smarty = get_smarty();
+            $this->sn             = get_post('sn');
+            $this->givenName      = get_post('givenName');
+
+            // Avoid duplicate entries, check if such a user already exists.
+            $dn= preg_replace("/^[^,]+,/i", "", get_post('template'));
+            $ldap= $this->config->get_ldap_link();
+            $ldap->cd ($dn);
+            $ldap->search ("(&(sn=".normalizeLdap($this->sn).")(givenName=".normalizeLdap($this->givenName)."))", array("givenName"));
 
+            if ($ldap->count () != 0){
+                msg_dialog::displayChecks(array(msgPool::duplicated(_("Name"))));
+            }else{
+
+                // Preset uid field by using the idGenerator 
+                $attributes= array('sn' => $this->sn, 'givenName' => $this->givenName);
+                if ($this->config->get_cfg_value("core","idGenerator") != ""){
+                    $uids= gen_uids ($this->config->get_cfg_value("core","idGenerator"), $attributes);
+                    if (count($uids)){
+                        $smarty->assign("edit_uid", "false");
+                        $smarty->assign("uids", $uids);
+                        $this->uid= current($uids);
+                    }
+                } else {
+                    $smarty->assign("edit_uid", "");
+                    $this->uid= "";
+                }
+                $this->got_uid= true;
+            }
 
-    /********************
-     * 3   No template - Ok. Lets fill the data into the user object and skip templating here. 
-     ********************/
-    if ($_POST['template'] == 'none'){
-      foreach(array("sn", "givenName", "uid") as $attr){
-        if (isset($_POST[$attr])){
-          $this->tabObject->by_object['user']->$attr= $_POST[$attr];
+            // Assign user input 
+            foreach(array("sn", "givenName", "uid", "got_uid") as $attr){
+                $smarty->assign("$attr", set_post($this->$attr));
+            }
+            if (isset($_POST['template'])){
+                $smarty->assign("template", get_post('template'));
+            }
+            $smarty->assign("templates",$templates); 
+            return($smarty->fetch(get_template_path('template.tpl', TRUE)));
         }
-      }
-      
-      // The user Tab object is already instantiated, so just go back and let the 
-      //  management class do the rest.
-      return("");
-    }
 
 
-    /********************
-     * 4   Template selected and uid given - Ok, then lets adapt tempalte values. 
-     ********************/
-    if(isset($_POST['uid'])){
+        /********************
+         * 3   No template - Ok. Lets fill the data into the user object and skip templating here. 
+         ********************/
+        if (get_post('template') == 'none'){
+            foreach(array("sn", "givenName", "uid") as $attr){
+                if (isset($_POST[$attr])){
+                    $this->tabObject->by_object['user']->$attr= get_post($attr);
+                }
+            }
 
-      // Move user supplied data to sub plugins 
-      foreach(array("uid","sn","givenName") as $attr){
-        $this->$attr = $_POST[$attr];
-        $this->tabObject->$attr       = $this->$attr;
-        $this->tabObject->by_object['user']->$attr = $this->$attr;
-      }
+            // The user Tab object is already instantiated, so just go back and let the 
+            //  management class do the rest.
+            return("");
+        }
 
-      // Adapt template values.
-      $template_dn              = $_POST['template'];
-      $this->tabObject->adapt_from_template($template_dn, array("uid","cn","givenName","sn"));
-      $template_base            = preg_replace("/^[^,]+,".preg_quote(get_people_ou(), '/i')."/", '', $template_dn);
-      $this->tabObject->by_object['user']->base= $template_base;
 
-      // The user Tab object is already instantiated, so just go back and let the 
-      //  management class do the rest.
-      return("");
+        /********************
+         * 4   Template selected and uid given - Ok, then lets adapt tempalte values. 
+         ********************/
+        if(isset($_POST['uid'])){
+
+            // Move user supplied data to sub plugins 
+            foreach(array("uid","sn","givenName") as $attr){
+                $this->$attr = get_post($attr);
+                $this->tabObject->$attr       = $this->$attr;
+                $this->tabObject->by_object['user']->$attr = $this->$attr;
+            }
+
+            // Adapt template values.
+            $template_dn              = get_post('template');
+            $this->tabObject->adapt_from_template($template_dn, array("uid","cn","givenName","sn"));
+            $template_base            = preg_replace("/^[^,]+,".preg_quote(get_people_ou(), '/i')."/", '', $template_dn);
+            $this->tabObject->by_object['user']->base= $template_base;
+
+            // The user Tab object is already instantiated, so just go back and let the 
+            //  management class do the rest.
+            return("");
+        }
     }
-  }
-
-
-  /* !\brief  This method applies a template to a set of users.
-   */ 
-  function templatizeUsers($action="",$target=array(),$all=array())
-  {
-    $this->dns = array();
-    if(count($target)){
-
-      // Get the list of available templates.
-      $templates = $this->get_templates();
-
-      // Check entry locking
-      foreach($target as $dn){
-        if (($user= get_lock($dn)) != ""){
-          $this->dn = $dn;
-          return(gen_locked_message ($user, $dn));
-        }
-        $this->dns[] = $dn;
-      }
-          
-      // Display template
-      $smarty = get_smarty();
-      $smarty->assign("templates", $templates);
-      return($smarty->fetch(get_template_path('templatize.tpl', TRUE)));
+
+
+    /* !\brief  This method applies a template to a set of users.
+     */ 
+    function templatizeUsers($action="",$target=array(),$all=array())
+    {
+        $this->dns = array();
+        if(count($target)){
+
+            // Get the list of available templates.
+            $templates = $this->get_templates();
+
+            // Check entry locking
+            foreach($target as $dn){
+                if (($user= get_lock($dn)) != ""){
+                    $this->dn = $dn;
+                    return(gen_locked_message ($user, $dn));
+                }
+                $this->dns[] = $dn;
+            }
+
+            // Display template
+            $smarty = get_smarty();
+            $smarty->assign("templates", $templates);
+            return($smarty->fetch(get_template_path('templatize.tpl', TRUE)));
+        }
     }
-  }
-
-
-  /* !\brief  This method is called whenever the templatize dialog was used.
-   */ 
-  function templatizeContinue()
-  {
-    // Template readable? 
-    $template= get_post('template');
-    $acl = $this->ui->get_permissions($template, $this->aclCategory."/".$this->aclPlugin);
-    if (preg_match('/r/', $acl)){
-      $tab = $this->tabClass;
-      foreach ($this->dns as $dn){
-
-        // User writeable
-        $acl = $this->ui->get_permissions($dn,  $this->aclCategory."/".$this->aclPlugin);
-        if (preg_match('/w/', $acl)){
-          $this->tabObject= new $tab($this->config, $this->config->data['TABS'][$this->tabType], $dn, $this->aclCategory);
-          $this->tabObject->adapt_from_template($template, array("sn", "givenName", "uid"));
-          $this->tabObject->save();
+
+
+    /* !\brief  This method is called whenever the templatize dialog was used.
+     */ 
+    function templatizeContinue()
+    {
+        // Template readable? 
+        $template= get_post('template');
+        $acl = $this->ui->get_permissions($template, $this->aclCategory."/".$this->aclPlugin);
+        if (preg_match('/r/', $acl)){
+            $tab = $this->tabClass;
+            foreach ($this->dns as $dn){
+
+                // User writeable
+                $acl = $this->ui->get_permissions($dn,  $this->aclCategory."/".$this->aclPlugin);
+                if (preg_match('/w/', $acl)){
+                    $this->tabObject= new $tab($this->config, $this->config->data['TABS'][$this->tabType], $dn, $this->aclCategory);
+                    $this->tabObject->adapt_from_template($template, array("sn", "givenName", "uid"));
+                    $this->tabObject->save();
+                } else {
+                    msg_dialog::display(_("Permission error"), msgPool::permModify($dn), ERROR_DIALOG);
+                }
+            }
         } else {
-          msg_dialog::display(_("Permission error"), msgPool::permModify($dn), ERROR_DIALOG);
+            msg_dialog::display(_("Permission error"), msgPool::permView($template), ERROR_DIALOG);
         }
-      }
-    } else {
-      msg_dialog::display(_("Permission error"), msgPool::permView($template), ERROR_DIALOG);
-    }
 
-    // Cleanup!
-    $this->remove_lock(); 
-    $this->closeDialogs();
-  }
-
-
-  /* !\brief  Lock/unlock multiple users.
-   */ 
-  function lockUsers($action,$target,$all)
-  {
-    if(!count($target)) return;
-    if($action == "lockUsers"){
-      $this->lockEntry($action,$target, $all, "lock");
-    }else{
-      $this->lockEntry($action,$target, $all, "unlock");
-    }
-  }
-
-  
-  /* !\brief  Locks/unlocks the given user(s).
-   */ 
-  function lockEntry($action,$entry, $all, $type = "toggle")
-  {
-    
-    // Filter out entries we are not allowed to modify
-    $disallowed = array();
-    $dns = array();
-    foreach($entry as $dn){
-      if (!preg_match("/w/",$this->ui->get_permissions($dn,"users/password"))){
-        $disallowed[] = $dn;
-      }else{
-        $allowed[] = $dn;
-      }
+        // Cleanup!
+        $this->remove_lock(); 
+        $this->closeDialogs();
     }
-    if(count($disallowed)){
-      msg_dialog::display(_("Permission"),msgPool::permDelete($disallowed),INFO_DIALOG);
+
+
+    /* !\brief  Lock/unlock multiple users.
+     */ 
+    function lockUsers($action,$target,$all)
+    {
+        if(!count($target)) return;
+        if($action == "lockUsers"){
+            $this->lockEntry($action,$target, $all, "lock");
+        }else{
+            $this->lockEntry($action,$target, $all, "unlock");
+        }
     }
 
-    // Try to lock/unlock the rest of the entries.
-    $ldap = $this->config->get_ldap_link();
-    foreach($allowed as $dn){
-      $ldap->cat($dn, array('userPassword'));
-      if($ldap->count() == 1){
-
-        // We can't lock empty passwords.
-        $val = $ldap->fetch();
-        if(!isset($val['userPassword'])){
-          continue;
-        }
-
-        // Detect the password method and try to lock/unlock.
-        $pwd = $val['userPassword'][0];
-        $method = passwordMethod::get_method($pwd,$val['dn']);
-        $success= true;
-        if($method instanceOf passwordMethod){
-          if($type == "toggle"){
-            if($method->is_locked($this->config,$val['dn'])){
-              $success= $method->unlock_account($this->config,$val['dn']);
+
+    /* !\brief  Locks/unlocks the given user(s).
+     */ 
+    function lockEntry($action,$entry, $all, $type = "toggle")
+    {
+
+        // Filter out entries we are not allowed to modify
+        $disallowed = array();
+        $dns = array();
+        foreach($entry as $dn){
+            if (!preg_match("/w/",$this->ui->get_permissions($dn,"users/password"))){
+                $disallowed[] = $dn;
             }else{
-              $success= $method->lock_account($this->config,$val['dn']);
+                $allowed[] = $dn;
             }
-          }elseif($type == "lock" && !$method->is_locked($this->config,$val['dn'])){
-            $success= $method->lock_account($this->config,$val['dn']);
-          }elseif($type == "unlock" && $method->is_locked($this->config,$val['dn'])){
-            $success= $method->unlock_account($this->config,$val['dn']);
-          }
-
-          // Check if everything went fine.
-          if (!$success){
-            $hn= $method->get_hash_name();
-            if (is_array($hn)){
-              $hn= $hn[0];
+        }
+        if(count($disallowed)){
+            msg_dialog::display(_("Permission"),msgPool::permDelete($disallowed),INFO_DIALOG);
+        }
+
+        // Try to lock/unlock the rest of the entries.
+        $ldap = $this->config->get_ldap_link();
+        foreach($allowed as $dn){
+            $ldap->cat($dn, array('userPassword'));
+            if($ldap->count() == 1){
+
+                // We can't lock empty passwords.
+                $val = $ldap->fetch();
+                if(!isset($val['userPassword'])){
+                    continue;
+                }
+
+                // Detect the password method and try to lock/unlock.
+                $pwd = $val['userPassword'][0];
+                $method = passwordMethod::get_method($pwd,$val['dn']);
+                $success= true;
+                if($method instanceOf passwordMethod){
+                    if($type == "toggle"){
+                        if($method->is_locked($this->config,$val['dn'])){
+                            $success= $method->unlock_account($this->config,$val['dn']);
+                        }else{
+                            $success= $method->lock_account($this->config,$val['dn']);
+                        }
+                    }elseif($type == "lock" && !$method->is_locked($this->config,$val['dn'])){
+                        $success= $method->lock_account($this->config,$val['dn']);
+                    }elseif($type == "unlock" && $method->is_locked($this->config,$val['dn'])){
+                        $success= $method->unlock_account($this->config,$val['dn']);
+                    }
+
+                    // Check if everything went fine.
+                    if (!$success){
+                        $hn= $method->get_hash_name();
+                        if (is_array($hn)){
+                            $hn= $hn[0];
+                        }
+                        msg_dialog::display(_("Account locking"),
+                                sprintf(_("Password method '%s' does not support locking. Account (%s) has not been locked!"), 
+                                    $hn,$dn),WARNING_DIALOG);
+                    }
+                }else{
+                    // Can't lock unknown methods.
+                }
             }
-            msg_dialog::display(_("Account locking"),
-                sprintf(_("Password method '%s' does not support locking. Account (%s) has not been locked!"), 
-                  $hn,$dn),WARNING_DIALOG);
-          }
-        }else{
-          // Can't lock unknown methods.
         }
-      }
-    }
-  }
-
-
-  /* !\brief  This method returns a list of all available templates.
-   */ 
-  function get_templates()
-  {
-    $templates= array();
-    $ldap= $this->config->get_ldap_link();
-    foreach ($this->config->departments as $key => $value){
-      $acl = $this->ui->get_permissions($value,$this->aclCategory."/".$this->aclPlugin);
-      if (preg_match("/c/",$acl)){
-
-        // Search all templates from the current dn.
-        $ldap->cd (get_people_ou().$value);
-        $ldap->search ("(objectClass=gosaUserTemplate)", array("uid"));
-        if ($ldap->count() != 0){
-          while ($attrs= $ldap->fetch()){
-            $templates[$ldap->getDN()]= $attrs['uid'][0]." - ".LDAP::fix($key);
-          }
-        }
-      }
     }
-    natcasesort ($templates);
-    reset ($templates);
-    return($templates);
-  }
-
-
-  function copyPasteHandler($action="",$target=array(),$all=array(),
-      $altTabClass ="", $altTabType = "", $altAclCategory="",$altAclPlugin="")
-  {
-    if ($this->config->boolValueIsTrue("main", "copyPaste")){
-      $this->cpHandler->lastdn = "";
-      $str = management::copyPasteHandler($action,$target,$all);
-      if($this->cpHandler->lastdn != "" && isset($_POST['passwordTodo']) && $_POST['passwordTodo'] == "new"){
-        $this->pwd_change_queue[] = $this->cpHandler->lastdn;
-        return($this->handlePasswordQueue());
-      }
-      return($str);
+
+
+    /* !\brief  This method returns a list of all available templates.
+     */ 
+    function get_templates()
+    {
+        $templates= array();
+        $ldap= $this->config->get_ldap_link();
+        foreach ($this->config->departments as $key => $value){
+            $acl = $this->ui->get_permissions($value,$this->aclCategory."/".$this->aclPlugin);
+            if (preg_match("/c/",$acl)){
+
+                // Search all templates from the current dn.
+                $ldap->cd (get_people_ou().$value);
+                $ldap->search ("(objectClass=gosaUserTemplate)", array("uid"));
+                if ($ldap->count() != 0){
+                    while ($attrs= $ldap->fetch()){
+                        $templates[$ldap->getDN()]= $attrs['uid'][0]." - ".LDAP::fix($key);
+                    }
+                }
+            }
+        }
+        natcasesort ($templates);
+        reset ($templates);
+        return($templates);
     }
 
-    return "";
-  }
 
+    function copyPasteHandler($action="",$target=array(),$all=array(),
+            $altTabClass ="", $altTabType = "", $altAclCategory="",$altAclPlugin="")
+    {
+        if ($this->config->boolValueIsTrue("core", "copyPaste")){
+            $this->cpHandler->lastdn = "";
+            $str = management::copyPasteHandler($action,$target,$all);
+            if($this->cpHandler->lastdn != "" && isset($_POST['passwordTodo']) && $_POST['passwordTodo'] == "new"){
+                $this->pwd_change_queue[] = $this->cpHandler->lastdn;
+                return($this->handlePasswordQueue());
+            }
+            return($str);
+        }
 
-  static function filterLockImage($userPassword)
-  {
-    $image= "images/empty.png";
-    if(isset($userPassword[0]) && preg_match("/^\{[^\}]/",$userPassword[0])){
-      if(preg_match("/^[^\}]*+\}!/",$userPassword[0])){
-        $image= "images/lists/locked.png";
-      }else{
-        $image= "images/lists/unlocked.png";
-      }
+        return "";
     }
-    return $image;
-  }
-
-
-  static function filterLockLabel($userPassword)
-  {
-    $label= "";
-    if(isset($userPassword[0]) && preg_match("/^\{[^\}]/",$userPassword[0])){
-      if(preg_match("/^[^\}]*+\}!/",$userPassword[0])){
-        $label= _("Unlock account");
-      }else{
-        $label= _("Lock account");
-      }
+
+
+    static function filterLockImage($userPassword)
+    {
+        $image= "images/empty.png";
+        if(isset($userPassword[0]) && preg_match("/^\{[^\}]/",$userPassword[0])){
+            if(preg_match("/^[^\}]*+\}!/",$userPassword[0])){
+                $image= "images/lists/locked.png";
+            }else{
+                $image= "images/lists/unlocked.png";
+            }
+        }
+        return $image;
     }
-    return $label;
-  }
-
-
-  static function filterProperties($row, $classes)
-  {
-    $result= "";
-    $map= array( "gosaAccount" => array( "image" => "plugins/users/images/select_user.png",
-                                         "plugin" => "user",
-                                         "alt" => _("Generic"),
-                                         "title" => _("Edit generic properties")),
-                 "posixAccount" => array("image" => "images/penguin.png",
-                                         "plugin" => "posixAccount",
-                                         "alt" => _("POSIX"),
-                                         "title" => _("Edit POSIX properties")),
-                 "gosaMailAccount" => array("image" => "images/mailto.png",
-                                         "alt" => _("Mail"),
-                                         "plugin" => "mailAccount",
-                                         "title" => _("Edit mail properties")),
-                 "sambaSamAccount" => array("image" => "plugins/systems/images/select_winstation.png",
-                                         "plugin" => "sambaAccount",
-                                         "alt" => _("Samba"),
-                                         "title" => _("Edit samba properties")),
-                 "apple-user" => array("image" => "plugins/netatalk/images/select_netatalk.png",
-                                         "plugin" => "netatalk",
-                                         "alt" => _("Netatalk"),
-                                         "title" => _("Edit netatalk properties")),
-                 "gotoEnvironment" => array("image" => "plugins/users/images/small_environment.png",
-                                         "plugin" => "environment",
-                                         "alt" => _("Environment"),
-                                         "title" => _("Edit environment properties")),
-                 "goFaxAccount" => array("image" => "plugins/users/images/fax_small.png",
-                                         "plugin" => "gofaxAccount",
-                                         "alt" => _("FAX"),
-                                         "title" => _("Edit FAX properties")),
-                 "goFonAccount" => array("image" => "plugins/gofon/images/select_phone.png",
-                                         "plugin" => "phoneAccount",
-                                         "alt" => _("Phone"),
-                                         "title" => _("Edit phone properties")));
-
-    // Walk thru map
-    foreach ($map as $oc => $properties) {
-      if (in_array_ics($oc, $classes)) {
-        $result.="<input class='center' type='image' src='".$properties['image']."' ".
-                 "alt='".$properties['alt']."' title='".$properties['title'].
-                 "' name='listing_edit_".$properties['plugin']."_$row' style='padding:1px'>";
-      } else {
-        $result.="<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
-      }
+
+
+    static function filterLockLabel($userPassword)
+    {
+        $label= "";
+        if(isset($userPassword[0]) && preg_match("/^\{[^\}]/",$userPassword[0])){
+            if(preg_match("/^[^\}]*+\}!/",$userPassword[0])){
+                $label= _("Unlock account")."<rowClass:entry-locked/><rowLabel:locked/>";
+            }else{
+                $label= _("Lock account");
+            }
+        }
+        return $label;
+    }
+
+
+    static function filterProperties($row, $classes)
+    {
+        $result= "";
+        $map= array( "gosaAccount" => array( "image" => "plugins/users/images/select_user.png",
+                    "plugin" => "user",
+                    "alt" => _("Generic"),
+                    "title" => _("Edit generic properties")),
+                "posixAccount" => array("image" => "images/penguin.png",
+                    "plugin" => "posixAccount",
+                    "alt" => _("POSIX"),
+                    "title" => _("Edit POSIX properties")),
+                "gosaMailAccount" => array("image" => "images/mailto.png",
+                    "alt" => _("Mail"),
+                    "plugin" => "mailAccount",
+                    "title" => _("Edit mail properties")),
+                "sambaSamAccount" => array("image" => "plugins/systems/images/select_winstation.png",
+                    "plugin" => "sambaAccount",
+                    "alt" => _("Samba"),
+                    "title" => _("Edit samba properties")),
+                "apple-user" => array("image" => "plugins/netatalk/images/select_netatalk.png",
+                    "plugin" => "netatalk",
+                    "alt" => _("Netatalk"),
+                    "title" => _("Edit Netatalk properties")),
+                "gotoEnvironment" => array("image" => "plugins/users/images/small_environment.png",
+                    "plugin" => "environment",
+                    "alt" => _("Environment"),
+                    "title" => _("Edit environment properties")),
+                "goFaxAccount" => array("image" => "plugins/users/images/fax_small.png",
+                        "plugin" => "gofaxAccount",
+                        "alt" => _("FAX"),
+                        "title" => _("Edit FAX properties")),
+                "goFonAccount" => array("image" => "plugins/gofon/images/select_phone.png",
+                        "plugin" => "phoneAccount",
+                        "alt" => _("Phone"),
+                        "title" => _("Edit phone properties")));
+
+        // Walk thru map
+        foreach ($map as $oc => $properties) {
+            if (in_array_ics($oc, $classes)) {
+                $result.= image($properties['image'], "listing_edit_".$properties['plugin']."_$row", $properties['title']);
+            } else {
+                $result.= image('images/empty.png');
+            }
+        }
+        return $result;
     }
-    return $result;
-  }
 
 } 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/users/main.inc b/gosa-core/plugins/admin/users/main.inc
index cf0f158..2e9767a 100644
--- a/gosa-core/plugins/admin/users/main.inc
+++ b/gosa-core/plugins/admin/users/main.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: main.inc 14630 2009-10-26 10:02:05Z hickert $$
+ * ID: $$Id: main.inc 19817 2010-09-28 06:01:13Z hickert $$
  *
  * 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
@@ -21,35 +21,35 @@
  */
 
 /* Remove locks created by this plugin
-*/
+ */
 if ($remove_lock){
-  if(session::is_set('userManagement')){
-      $macl = session::get('userManagement');
-      $macl->remove_lock();
-  }
+    if(session::is_set('userManagement')){
+        $macl = session::get('userManagement');
+        $macl->remove_lock();
+    }
 }
 
 /* Remove this plugin from session
-*/
+ */
 if ( $cleanup ){
-  session::un_set('userManagement');
+    session::un_set('userManagement');
 }else{
 
-  /* Create usermanagement object on demand */
-  if (!session::is_set('userManagement')){
-    $userManagement= new userManagement ($config, $ui);
-    session::set('userManagement',$userManagement);
-  }
-  $userManagement = session::get('userManagement');
-  $display= $userManagement->execute();
+    /* Create usermanagement object on demand */
+    if (!session::is_set('userManagement')){
+        $userManagement= new userManagement ($config, $ui);
+        session::set('userManagement',$userManagement);
+    }
+    $userManagement = session::get('userManagement');
+    $display= $userManagement->execute();
 
-  /* Reset requested? */
-  if (isset($_GET['reset']) && $_GET['reset'] == 1){
-    session::un_set ('userManagement');
-  }
+    /* Reset requested? */
+    if (isset($_GET['reset']) && $_GET['reset'] == 1){
+        session::un_set ('userManagement');
+    }
 
-  /* Show and save dialog */
-  session::set('userManagement',$userManagement);
+    /* Show and save dialog */
+    session::set('userManagement',$userManagement);
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/admin/users/migration/class_migrate_userRDN.inc b/gosa-core/plugins/admin/users/migration/class_migrate_userRDN.inc
new file mode 100644
index 0000000..7245835
--- /dev/null
+++ b/gosa-core/plugins/admin/users/migration/class_migrate_userRDN.inc
@@ -0,0 +1,6 @@
+<?php 
+class migrate_userRDN extends migrateRDN implements propertyMigration
+{
+    protected $filter = '(&(objectClass=gosaAccount)(!(&(objectClass=sambaSamAccount)(uid=*$)))%s)';
+}
+?>
diff --git a/gosa-core/plugins/admin/users/password.tpl b/gosa-core/plugins/admin/users/password.tpl
index 2e9ad82..2674ee0 100644
--- a/gosa-core/plugins/admin/users/password.tpl
+++ b/gosa-core/plugins/admin/users/password.tpl
@@ -4,28 +4,32 @@
  {t}To change the user password use the fields below. The changes take effect immediately. Please memorize the new password, because the user wouldn't be able to login without it.{/t}
 </p>
 
-<p>
- {t}Changing the password affects your authentification on mail, proxy, samba and unix services.{/t}
-</p>
-
 <hr>
 
 {if !$proposalEnabled}
 
-  <table summary="" style="vertical-align:top; text-align:left;" cellpadding=4 border=0>
+  <table summary="{t}Password input dialog{/t}" cellpadding=4 border=0>
     <tr>
       <td><b><LABEL for="new_password">{t}New password{/t}</LABEL></b></td>
-      <td><input type="password" id="new_password" name="new_password" onFocus="nextfield= 'repeated_password';" onkeyup="testPasswordCss(document.getElementById('new_password').value);"></td>
+      <td>
+          {factory type='password' id='new_password' name='new_password' 
+              onfocus="nextfield='repeated_password';" onkeyup="testPasswordCss(\$('new_password').value);"}
+      </td>
     </tr>
     <tr>
       <td><b><LABEL for="repeated_password">{t}Repeat new password{/t}</LABEL></b></td>
-      <td><input type="password" id="repeated_password" name="repeated_password" onFocus="nextfiled= 'password_finish'"></td>
+      <td>
+          {factory type='password' id='repeated_password' name='repeated_password'
+              onfocus="nextfield='password_finish';"}
+      </td>
     </tr>
     <tr>
       <td><b>{t}Strength{/t}</b></td>
       <td>
-          <span id="meterEmpty" style="padding:0;margin:0;width:100%;background-color:#DC143C;display:block;height:5px;">
-          <span id="meterFull" style="padding:0;margin:0;z-index:100;width:0;background-color:#006400;display:block;height:5px;"></span></span>
+        <span id="meterEmpty" style="padding:0;margin:0;width:100%;
+          background-color:#DC143C;display:block;height:7px;">
+        <span id="meterFull" style="padding:0;margin:0;z-index:100;width:0;
+          background-color:#006400;display:block;height:7px;"></span></span>
       </td>
     </tr>
   </table>
@@ -35,34 +39,41 @@
   <table summary="{t}Password input dialog{/t}" cellpadding=4 border=0>
     <tr>
       <td>
-        <input type='radio' value='1' name='proposalSelected' id='proposalSelected' onClick='updateFields();'
-            {if $proposalSelected} checked {/if}> <b>{t}Use proposal{/t}</b>
+        <input type='radio' value='1' name='proposalSelected' id='proposalSelected_true' onClick='updateFields();'
+            {if $proposalSelected} checked {/if}> <b><LABEL for="proposalSelected_true">{t}Use proposal{/t}</LABEL></b>
       </td>
       <td>
         <div id='proposalText' style='
                   width:180px;
-                  border:1px solid #BBB;
-                  padding-top:3px;
-                  padding-bottom:3px;
+                  border:1px solid #CCC;
+                  padding:3px;
+                  padding-top:5px;
+                  padding-bottom:4px;
             '>{$proposal}</div>
-       </td>
-       <td>
-         <input type='submit' name='refreshProposal' value='{t}Refresh{/t}'>
+      </td>
+      <td style='vertical-align: middle;'>
+            {image path='images/lists/reload.png' action='refreshProposal'}
       </td>
     </tr>
     <tr>
       <td>
-        <input type='radio' value='0' name='proposalSelected' onClick='updateFields();'
-            {if !$proposalSelected} checked {/if}> <b>{t}Manually specify a password{/t}</b>
+        <input type='radio' value='0' name='proposalSelected' id='proposalSelected_false' onClick='updateFields();'
+            {if !$proposalSelected} checked {/if}> <b><LABEL for="proposalSelected_false">{t}Manually specify a password{/t}</LABEL></b>
       </td>
     </tr>
     <tr>
       <td style='padding-left:40px;'><b><LABEL for="new_password">{t}New password{/t}</LABEL></b></td>
-      <td><input type="password" id="new_password" name="new_password" onFocus="nextfield= 'repeated_password';"     onkeyup="testPasswordCss(document.getElementById('new_password').value);"></td>
+      <td>
+          {factory type='password' id='new_password' name='new_password' 
+              onfocus="nextfield='repeated_password';" onkeyup="testPasswordCss(\$('new_password').value);"}
+      </td>
     </tr>
     <tr>
       <td style='padding-left:40px;'><b><LABEL for="repeated_password">{t}Repeat new password{/t}</LABEL></b></td>
-      <td><input type="password" id="repeated_password" name="repeated_password" onFocus="nextfiled='password_finish'"></td>
+      <td>
+          {factory type='password' id='repeated_password' name='repeated_password'
+              onfocus="nextfield='password_finish';"}
+      </td>
     </tr>
     <tr>
       <td style='padding-left:40px;'><b>{t}Strength{/t}</b></td>
@@ -84,19 +95,19 @@
             <LABEL for='enforcePasswordChange'>{t}Enforce password change on next login.{/t}</LABEL>
 {/if}
 
+<br>
+<hr>
+<div class="plugin-actions">
+  <button type='submit' id='password_finish'name='password_finish'>{t}Set password{/t}</button>
+  <button type='submit' id='password_cancel'name='password_cancel'>{msgPool type=cancelButton}</button>
+</div>
 
+<input type='hidden' id='formSubmit'>
 
-<br>
-<p class="plugbottom">
-  <input type=submit name="password_finish" value="{t}Set password{/t}">
-   
-  <input type=submit name="password_cancel" value="{msgPool type=cancelButton}">
-  <input type='hidden' id='formSubmit'>
-</p>
+<!-- Place cursor -->
 <script language="JavaScript" type="text/javascript">
-    nextfield= 'current_password';
-    focus_field('current_password');
-
+  	nextfield= "new_password";
+	focus_field('new_password');
 
     function updateFields()
     {
@@ -108,20 +119,23 @@
                  'color:#000;' +
                  'width:180px;' +
                  'border:1px solid #CCC;' +
-                 'padding:3px;' );
+                 'padding:3px;' +
+                 'padding-top:5px;' +
+                 'padding-bottom:4px;');
         }else{
             $('new_password').enable();
             $('repeated_password').enable();
             $('proposalText').setStyle(
-                 'background-color:#DDD;' +
-                 'color:#888;' +
+                 'background-color:#F0F0F0;' +
+                 'color:#666;' +
                  'width:180px;' +
                  'border:1px solid #CCC;' +
-                 'padding:3px;');
+                 'padding:3px;' +
+                 'padding-top:5px;' +
+                 'padding-bottom:4px;');
         }
     }
     updateFields();
 </script>
 
 
-
diff --git a/gosa-core/plugins/admin/users/remove.tpl b/gosa-core/plugins/admin/users/remove.tpl
deleted file mode 100644
index f60f42d..0000000
--- a/gosa-core/plugins/admin/users/remove.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-<div style="font-size:18px;">
- <img alt="" src="images/warning.png" align=top> {t}Warning{/t}
-</div>
-<p>
-  {$info}
-  {t}This includes all account data, system access rules, imap settings, etc. for this user. Please double check if your really want to do this since there is no way for GOsa to get your data back.{/t}
-</p>
-
-<p>
- {t}So - if you're sure - press 'Delete' to continue or 'Cancel' to abort.{/t}
-</p>
-
-<p class="plugbottom">
-  <input type=submit name="delete_confirmed" value="{msgPool type=delButton}">
-  <input type=submit name="delete_cancel" value="{msgPool type=cancelButton}">
-   
-</p>
-
diff --git a/gosa-core/plugins/admin/users/template.tpl b/gosa-core/plugins/admin/users/template.tpl
index 47ef0d7..ce9fee3 100644
--- a/gosa-core/plugins/admin/users/template.tpl
+++ b/gosa-core/plugins/admin/users/template.tpl
@@ -6,11 +6,11 @@
  {t}Creating a new user can be assisted by using templates. Many database records will be filled automatically. Choose 'none' to skip the usage of templates.{/t}
 </p>
 
-<p class="seperator"> </p>
+<hr>
 
 <br>
 
-<table summary="" style="vertical-align:top; text-align:left;" cellpadding=4 border=0>
+<table summary="{t}User template selection dialog{/t}" cellpadding=4 border=0>
   <tr>
     <td><b><LABEL for="template">{t}Template{/t}</LABEL></b></td>
     <td>
@@ -43,12 +43,12 @@
   {/if}
 </table>
 
-<br>
-<p class="plugbottom">
-  <input type=submit name="template_continue" value="{t}Continue{/t}">
-   
-  <input type=submit name="edit_cancel" value="{msgPool type=cancelButton}">
-</p>
+
+<hr>
+<div class="plugin-actions">
+ <button type='submit' name='template_continue'>{t}Continue{/t}</button>
+ <button type='submit' name='edit_cancel'>{msgPool type=cancelButton}</button>
+</div>
 
 
 
diff --git a/gosa-core/plugins/admin/users/templatize.tpl b/gosa-core/plugins/admin/users/templatize.tpl
index 8e38f9f..3914e73 100644
--- a/gosa-core/plugins/admin/users/templatize.tpl
+++ b/gosa-core/plugins/admin/users/templatize.tpl
@@ -6,11 +6,11 @@
  {t}Applying a template to several users will replace all user attributes defined in the template.{/t}
 </p>
 
-<p class="seperator"> </p>
+<hr>
 <br>
 
 {if $templates}
-<table summary="" style="vertical-align:top; text-align:left;" cellpadding=4 border=0>
+<table summary="{t}Apply user template{/t}" cellpadding=4 border=0>
   <tr>
     <td><b><LABEL for="template">{t}Template{/t}</LABEL></b></td>
     <td>
@@ -21,20 +21,21 @@
   </tr>
 </table>
 
-<br>
-<p class="plugbottom">
-  <input type=submit name="templatize_continue" value="{msgPool type=applyButton}">
-   
-  <input type=submit name="edit_cancel" value="{msgPool type=cancelButton}">
-</p>
+<hr>
+<div class="plugin-actions">
+  <button type='submit' name='templatize_continue'>{msgPool type=applyButton}</button>
+  <button type='submit' name='edit_cancel'>{msgPool type=cancelButton}</button>
+</div>
 
 {else}
 
-{t}No templates available!{/t}
+  {t}No templates available!{/t}
+
+  <hr>
+  <div class="plugin-actions">
+    <button type='submit' name='edit_cancel'>{msgPool type=cancelButton}</button>
+  </div>
 
-<p class="plugbottom">
-  <input type=submit name="edit_cancel" value="{msgPool type=cancelButton}">
-</p>
 {/if}
 
 
diff --git a/gosa-core/plugins/admin/users/user-filter.tpl b/gosa-core/plugins/admin/users/user-filter.tpl
deleted file mode 100644
index 4e98592..0000000
--- a/gosa-core/plugins/admin/users/user-filter.tpl
+++ /dev/null
@@ -1,40 +0,0 @@
-<div class="contentboxh">
- <p class="contentboxh">
-  <img src="images/launch.png" align="right" alt="[F]">{t}Filter{/t}
- </p>
-</div>
-
-<div class="contentboxb">
-
-<div style="border-top:1px solid #AAAAAA"></div>
-
-{$TEMPLATES} <LABEL for='TEMPLATES'>{t}Show templates{/t}</LABEL><br>
-{$FUNCTIONAL} <LABEL for='FUNCTIONAL'>{t}Show functional users{/t}</LABEL><br>
-{$POSIX} <LABEL for='POSIX'>{t}Show POSIX users{/t}</LABEL><br>
-{$MAIL} <LABEL for='MAIL'>{t}Show Mail users{/t}</LABEL><br>
-{$SAMBA} <LABEL for='SAMBA'>{t}Show Samba users{/t}</LABEL><br>
-
- <div style="border-top:1px solid #AAAAAA"></div>
- {$SCOPE}
-
- <table summary="" style="width:100%;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td>
-    <label for="NAME">
-     <img src="images/lists/search.png" align=middle> {t}Name{/t}
-    </label>
-   </td>
-   <td>
-    {$NAME}
-   </td>
-  </tr>
- </table>
-
- <table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td width="100%" align="right">
-    {$APPLY}
-   </td>
-  </tr>
- </table>
-</div>
diff --git a/gosa-core/plugins/admin/users/user-filter.xml b/gosa-core/plugins/admin/users/user-filter.xml
index 5af0b0c..546d476 100644
--- a/gosa-core/plugins/admin/users/user-filter.xml
+++ b/gosa-core/plugins/admin/users/user-filter.xml
@@ -3,81 +3,85 @@
 <filterdef>
   <definition>
     <category>users</category>
-    <template>user-filter.tpl</template>
     <initial>true</initial>
+    <default>default</default>
+    <scope>auto</scope>
+    <attribute>dn</attribute>
+    <attribute>objectClass</attribute>
+    <attribute>givenName</attribute>
+    <attribute>sn</attribute>
+    <attribute>uid</attribute>
+    <attribute>userPassword</attribute>
   </definition>
 
   <search>
+    <tag>default</tag>
+    <label>Default filter</label>
     <query>
       <backend>LDAP</backend>
-      <filter>(&(objectClass=gosaAccount)$TEMPLATES$NAME(|$FUNCTIONAL$SAMBA$POSIX$MAIL))</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
-      <attribute>givenName</attribute>
-      <attribute>sn</attribute>
-      <attribute>uid</attribute>
-      <attribute>userPassword</attribute>
+      <filter>(&(objectClass=gosaAccount)(|(cn=$)(sn=$)(uid=$)))</filter>
     </query>
-    <scope>auto</scope>
+    <autocomplete>
+      <attribute>cn</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
   </search>
 
-  <element>
-    <type>textfield</type>
-    <tag>NAME</tag>
-    <size>20</size>
-    <maxlength>60</maxlength>
-    <default></default>
-    <unset></unset>
-    <set>(|(cn=*$*)(sn=*$*)(givenName=*$*)(uid=*$*))</set>
-    <alphabet>true</alphabet>
+  <search>
+    <tag>template</tag>
+    <label>Show templates</label>
+    <query>
+      <backend>LDAP</backend>
+      <filter>(&(objectClass=gosaUserTemplate)(|(cn=$)(sn=$)(uid=$)))</filter>
+    </query>
     <autocomplete>
+      <attribute>mail</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
+  </search>
+
+  <search>
+    <tag>posix</tag>
+    <label>Show POSIX users</label>
+    <query>
       <backend>LDAP</backend>
-      <filter>(&(objectClass=gosaAccount)(|(cn=*$NAME*)(sn=*$NAME*)(givenName=*$NAME*)(uid=*$NAME*)))</filter>
+      <filter>(&(objectClass=gosaAccount)(objectClass=posixAccount)(|(cn=$)(sn=$)(uid=$)))</filter>
+    </query>
+    <autocomplete>
       <attribute>cn</attribute>
-      <attribute>uid</attribute>
       <frequency>0.5</frequency>
       <characters>3</characters>
     </autocomplete>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>TEMPLATES</tag>
-    <default></default>
-    <unset>(!(objectClass=gosaUserTemplate))</unset>
-    <set></set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>FUNCTIONAL</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(!(|(objectClass=posixAccount)(objectClass=sambaSamAccount)(objectClass=gosaMailAccount)))</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>POSIX</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=posixAccount)</set>
-  </element>
+  </search>
 
-  <element>
-    <type>checkbox</type>
-    <tag>MAIL</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=gosaMailAccount)</set>
-  </element>
+  <search>
+    <tag>samba</tag>
+    <label>Show SAMBA users</label>
+    <query>
+      <backend>LDAP</backend>
+      <filter>(&(objectClass=gosaAccount)(objectClass=sambaSamAccount)(|(cn=$)(sn=$)(uid=$)))</filter>
+    </query>
+    <autocomplete>
+      <attribute>cn</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
+  </search>
 
-  <element>
-    <type>checkbox</type>
-    <tag>SAMBA</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=sambaSamAccount)</set>
-  </element>
+  <search>
+    <tag>mail</tag>
+    <label>Show mail users</label>
+    <query>
+      <backend>LDAP</backend>
+      <filter>(&(objectClass=gosaAccount)(objectClass=gosaMailAccount)(|(cn=$)(sn=$)(uid=$)(mail=$)))</filter>
+    </query>
+    <autocomplete>
+      <attribute>mail</attribute>
+      <frequency>0.5</frequency>
+      <characters>3</characters>
+    </autocomplete>
+  </search>
 
 </filterdef>
diff --git a/gosa-core/plugins/admin/users/user-list.tpl b/gosa-core/plugins/admin/users/user-list.tpl
index 07fc067..93f8223 100644
--- a/gosa-core/plugins/admin/users/user-list.tpl
+++ b/gosa-core/plugins/admin/users/user-list.tpl
@@ -1,28 +1,25 @@
-<input type='image' src='images/empty.png' name='no_action_posted' value='do_nothing' alt='' style='width:2px;height:2px;'>
+<div id="mainlist">
 
-<table summary="" border="0" style="width:100%;height:100%; vertical-align:top; text-align:left;" cellpadding=2>
-  <tr>
-    <td style="vertical-align:top;height:100%">
-      <div class="contentboxh">
-        <p class="contentboxh"> {$HEADLINE} {$SIZELIMIT}</p>
-      </div>
-      
-      <div class="contentboxb">
-       <div style='background:white;padding:3px'>
-        <table><tr>
-          <td>{$ROOT} </td><td>{$BACK} </td><td>{$HOME} </td><td>{$RELOAD} </td><td>{$SEPARATOR} </td><td>{t}Base{/t} {$BASE} </td><td>{$SEPARATOR} </td><td><img src='images/rocket.png' alt='' class='center'></td><td> {$ACTIONS}</td>
-        </tr></table>
-       </div>
-      </div>
-      
-      <div style='height:4px;'>
-      </div>
-      {$LIST}
-    </td>
-    <td style='vertical-align:top;min-width:250px'>
-      {$FILTER}
-    </td>
-  </tr>
-</table>
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}</p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$ROOT}</td>
+      <td>{$BACK}</td>
+      <td>{$HOME}</td>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{t}Base{/t} {$BASE}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
+  
+  {$LIST}
+</div>
+
+<div class="clear"></div>
 
 <input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/admin/users/user-list.xml b/gosa-core/plugins/admin/users/user-list.xml
index a7a12ba..3a8f074 100644
--- a/gosa-core/plugins/admin/users/user-list.xml
+++ b/gosa-core/plugins/admin/users/user-list.xml
@@ -85,20 +85,20 @@
 
     <action>
      <type>sub</type>
-     <image>images/lists/new.png</image>
+     <image>images/lists/element.png[new]</image>
      <label>Create</label>
 
      <action>
       <name>new</name>
       <type>entry</type>
-      <image>plugins/users/images/list_new_user.png</image>
+      <image>plugins/users/images/select_user.png[new]</image>
       <label>User</label>
      </action>
 
      <action>
       <name>new_template</name>
       <type>entry</type>
-      <image>plugins/users/images/select_template.png</image>
+      <image>plugins/users/images/select_template.png[new]</image>
       <label>Template</label>
      </action>
     </action>
@@ -136,7 +136,7 @@
       <name>lockUsers</name>
       <type>entry</type>
       <image>images/lists/locked.png</image>
-      <acl>uniBonnAccount/password[w]</acl>
+      <acl>users/password[w]</acl>
       <label>Lock users</label>
     </action>
 
@@ -144,7 +144,7 @@
       <name>unlockUsers</name>
       <type>entry</type>
       <image>images/lists/unlocked.png</image>
-      <acl>uniBonnAccount/password[w]</acl>
+      <acl>users/password[w]</acl>
       <label>Unlock users</label>
     </action>
 
@@ -218,7 +218,7 @@
       <type>entry</type>
       <objectclass>!gosaUserTemplate</objectclass>
       <image>%{filter:lockImage(userPassword)}</image>
-      <acl>uniBonnAccount/password[w]</acl>
+      <acl>users/password[w]</acl>
       <label>%{filter:lockLabel(userPassword)}</label>
     </action>
 
diff --git a/gosa-core/plugins/generic/dashBoard/Register/class_RegistrationDialog.inc b/gosa-core/plugins/generic/dashBoard/Register/class_RegistrationDialog.inc
new file mode 100644
index 0000000..8830663
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/Register/class_RegistrationDialog.inc
@@ -0,0 +1,108 @@
+<?php
+
+
+
+/* Missing functions, validate registration
+ *
+ */
+
+class RegistrationDialog extends plugin
+{
+    protected $selectedRegistrationType = "registrate";
+    protected $isRegistered = FALSE; 
+    protected $step = 0;
+
+    protected $values = array();
+    public $attrs = array('username','password');
+
+    protected $finished = FALSE;
+
+    function finished()
+    {
+        return($this->finished);
+    }
+
+    function __construct(&$config)
+    {
+        $this->config = $config;    
+
+        // Use empty values initially.
+        foreach($this->attrs as $attr) $this->values[$attr] = "";
+    }
+
+
+    function execute()
+    {
+        $smarty = get_smarty();
+        $smarty->assign("error", "");
+
+        // Registration page one filled in, next step requested.
+        if(isset($_POST['registerPage1'])){
+            $msgs = $this->check();
+            if(count($msgs)){
+                msg_dialog::displayChecks($msgs); 
+            }else{
+
+                if($this->selectedRegistrationType == "registrate"){
+
+                    // Try to registrate the instance with the given username and password.
+                    $rpcHandle = $this->config->registration->getConnection($this->values['username'],$this->values['password']);
+                    $password = $rpcHandle->registerInstance($this->config->getInstanceUuid());
+                    if(!$rpcHandle->success()){
+                        $code =  $rpcHandle->getHTTPstatusCode();
+                        if($code == 0){
+                            $smarty->assign("error", _("Communciation with the backend failed! Please check your internet connection!"));
+                        }elseif($code == 401){
+                            $smarty->assign("error", _("Authentication failed, please check combination of username and password!"));
+                        }elseif($code == 403){
+                            $smarty->assign("error", _("Internal server error, please try again later. If the problem persists contact the GOsa-Team!"));
+                        }
+                    }else{
+                    
+                        $this->step = 2;
+
+                        // Restore the registration postpone value. 
+                        $prop =  $this->config->configRegistry->getProperty('GOsaRegistration','askForRegistration');
+                        $prop->setValue(0);
+                        $prop->save();
+
+                        // Store the returned password
+                        $prop =  $this->config->configRegistry->getProperty('GOsaRegistration','instancePassword');
+                        $prop->setValue($password);
+                        $prop->save();
+                    }
+                } 
+            }
+        }
+
+        $smarty->assign("default", $this->selectedRegistrationType);
+        $smarty->assign("step", $this->step);
+        foreach($this->attrs as $attr) $smarty->assign($attr, set_post($this->values[$attr]));
+        return($smarty->fetch(get_template_path("Register/register.tpl", TRUE))); 
+    } 
+
+
+    function save_object()
+    {
+        foreach($this->attrs as $attr){
+            if(isset($_POST[$attr])) $this->values[$attr] = get_post($attr);
+        }
+
+        if(isset($_POST['registrationType']))  $this->selectedRegistrationType = get_post('registrationType');
+
+        // Registration type selected and next page choosen.
+        if(isset($_POST['startRegistration'])) $this->step = 1;
+
+        // Tell GOsa not to ask for a regsitration again.
+        if(isset($_POST['registerComplete'])){
+            $this->finished = TRUE;
+            if($this->selectedRegistrationType == "dontWant"){
+                $prop =  $this->config->configRegistry->getProperty('GOsaRegistration','askForRegistration');
+                $prop->setValue(-1);
+                $prop->save();
+            }
+        }
+        if(isset($_POST['stepBack'])) $this->step -= 1;
+    }
+}
+?>
diff --git a/gosa-core/plugins/generic/dashBoard/Register/register.tpl b/gosa-core/plugins/generic/dashBoard/Register/register.tpl
new file mode 100644
index 0000000..7d0bbe7
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/Register/register.tpl
@@ -0,0 +1,89 @@
+<script type="text/javascript" src="include/pwdStrength.js"></script>
+
+<h3>{t}GOsa registration{/t}</h3>
+
+{if $step == 0}
+
+    {t}Do you want to register GOsa and benefit from the features it brings?{/t}
+    <p>
+     <input type='radio' name='registrationType' value='dontWant' id="registrationType_dontWant"
+         {if $default == "dontWant"} checked {/if}>
+            <b><LABEL for="registrationType_dontWant">{t}I do not want to register{/t}</LABEL></b>
+        <p style='padding-left:20px;'>
+            <!-- Add a descritive text later -->
+        </p>
+
+        <input type='radio' name='registrationType' value='registrate' id="registrationType_registrate"
+            {if $default == "registrate"} checked {/if}><b><LABEL for="registrationType_registrate">{t}Register{/t}</LABEL></b>
+        <p style='padding-left:20px;'>
+        {t}Additionally to the 'Annonomous' account you can:{/t}
+        <ul>
+            <li>{t}Access to 'Premium-Channels'.{/t}</li>
+            <li>{t}Watch the status of current plugin updates/patches and the availability of new plugins.{/t}</li>
+            <li>{t}Recieve newsletter, if wanted.{/t}</li>
+            <li>{t}View several usefull statistics about your GOsa installation{/t}.</li>
+        </ul>
+        </p>
+           
+        <p style='padding-left:20px;'>
+        {t}What information will be transmitted to the backend and maybe stored:{/t}
+        <ul>
+            <li>{t}All personal information filled in the registration form.{/t}</li>
+            <li>{t}Information about the installed plugins and their version.{/t}</li>
+            <li>{t}The GOsa-UUID (will be generated during the registration) and a password, to authenticate.{/t}</li>
+            <li>{t}The bugs you will report and the corresponding trace. You can select what information you want to send in.{/t}</li>
+            <li>{t}When the statistics extension is used. GOsa will transmit information about plugins, their usage and the amount of objects present in your ldap database. No sensitive data is transmitted here, just the object type, the action performed, cpu usage, memory usage, elapsed time...{/t}</li>
+        </ul>
+        </p>
+    </p>
+    <hr>
+    <div class="plugin-actions">
+        <button name='startRegistration'>{msgPool type=okButton}</button>
+    </div>
+
+{/if}
+
+{if $step == 1 && $default == "registrate"}
+    <table>
+        <tr>
+            <td><LABEL for="username">{t}Login{/t}</LABEL></td>
+            <td><input type='text' id='username' name='username' value="{$username}"></td>
+        </tr>
+        <tr>
+            <td><LABEL for="password">{t}Password{/t}</LABEL></td>
+            <td>{factory type='password' name='password' id='password' value={$password}}</td>
+        </tr>
+        <tr>
+            <td> </td>
+            <td><div style="color: red; font-size: small;"><i>{$error}</i></div></td>
+        </tr>
+    </table>
+    <hr>
+    <div class="plugin-actions">
+        <button name='stepBack'>{msgPool type=backButton}</button>        
+        <button name='registerPage1'>{msgPool type=okButton}</button>        
+    </div>
+{/if}
+
+{if $step == 2 && $default == "registrate"}
+    <h3>{t}Registration complete{/t}</h3>
+    <p>
+        {t}GOsa instance sucessfully registered{/t}
+    </p>
+    <hr>
+    <div class="plugin-actions">
+        <button name='registerComplete'>{msgPool type=okButton}</button>        
+    </div>
+{/if}
+
+{if $step == 1 && $default == "dontWant"}
+    <h3>{t}Registration complete{/t}</h3>
+    <p>
+        {t}GOsa instance will not be registered{/t}
+    </p>
+    <hr>
+    <div class="plugin-actions">
+        <button name='stepBack'>{msgPool type=backButton}</button>        
+        <button name='registerComplete'>{msgPool type=okButton}</button>        
+    </div>
+{/if}
diff --git a/gosa-core/plugins/generic/dashBoard/class_dashBoard.inc b/gosa-core/plugins/generic/dashBoard/class_dashBoard.inc
new file mode 100644
index 0000000..61828c6
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/class_dashBoard.inc
@@ -0,0 +1,129 @@
+<?php
+
+class dashBoard extends plugin
+{
+    var $plHeadline = 'Dash board';
+    var $plDescription = 'Dash board';
+    var $plShortIcon = 'dashBoard.png';
+    var $plIcon = 'plugin.png';
+
+    private $dbPluginStatus = NULL;
+    private $dbChannelStatus = NULL;
+    private $dbNotifications = NULL;
+    private $dbInformation = NULL;
+
+    function __construct($config)
+    {
+        plugin::plugin($config, NULL);
+
+        // Check if we've access to the registration server
+        if($this->config->registration->registrationRequired() && $config->registration->isServerAccessible()){
+            if(!$config->registration->isInstanceRegistered()){
+                $this->dialog = new RegistrationDialog($config);
+            }
+        }
+
+        $this->initialized = FALSE;
+    }
+
+    function init()
+    {
+        // Instantiate child classes
+        if( $this->config->registration->isInstanceRegistered() && 
+                $this->config->registration->isServerAccessible()){
+
+            $this->dbPluginStatus = new dbPluginStatus($this->config);
+            $this->dbChannelStatus = new dbChannelStatus($this->config);
+            $this->dbNotifications = new dbNotifications($this->config);
+            $this->dbInformation = new dbInformation($this->config);
+            $this->initialized = TRUE;
+        }
+    }
+
+    function execute()
+    {
+        // The wants to registrate his instance of GOsa now!
+        if(isset($_POST['registerNow']) && $this->config->registration->isServerAccessible()){
+            $this->dialog = new RegistrationDialog($this->config);
+        }
+
+        // Seems that we haven't registered our GOsa instance yet.
+        // Ask the user to do so, now.
+        if($this->dialog instanceOf RegistrationDialog){
+
+            // Check if the registration is complete/canceled
+            if(!$this->dialog->finished()){
+                return($this->dialog->execute());
+            }else{
+                $this->dialog = NULL;
+            }
+        }
+
+        $this->init();
+
+        $smarty = get_smarty();
+        $smarty->assign('instanceRegistered', $this->config->registration->isInstanceRegistered());
+        $smarty->assign('isServerAccessible', $this->config->registration->isServerAccessible());
+        $smarty->assign('registrationServerAvailable', $this->config->registration->isServerAccessible());
+
+        if($this->initialized){
+            $smarty->assign('dbPluginStatus', $this->dbPluginStatus->execute());
+            $smarty->assign('dbChannelStatus', $this->dbChannelStatus->execute());
+            $smarty->assign('dbNotifications', $this->dbNotifications->execute());
+            $smarty->assign('dbInformation', $this->dbInformation->execute());
+        }
+        return($smarty->fetch(get_template_path('dashBoard.tpl', TRUE)));
+    }
+
+    function check()
+    {
+        $messages = plugin::check();
+
+        if($this->initialized){
+            $messages = array_merge($this->dbPluginStatus->check());    
+            $messages = array_merge($this->dbChannelStatus->check());    
+            $messages = array_merge($this->dbNotifications->check());    
+            $messages = array_merge($this->dbInformation->check());    
+        }
+        return($messages);
+    }
+
+    function save_object()
+    {
+        plugin::save_object();
+       
+        if($this->dialog instanceOf RegistrationDialog){ 
+            $this->dialog->save_object();
+        }
+        if($this->initialized){
+            $this->dbPluginStatus->save_object();
+            $this->dbChannelStatus->save_object();
+            $this->dbNotifications->save_object();
+            $this->dbInformation->save_object();
+        }
+    }
+
+    function save()
+    {
+        plugin::save();
+        if($this->initialized){
+            $this->dbPluginStatus->save();
+            $this->dbChannelStatus->save();
+            $this->dbNotifications->save();
+            $this->dbInformation->save();
+        }
+    }
+
+    function remove_from_parent()
+    {
+        plugin::remove_from_parent();
+        if($this->initialized){
+            $this->dbPluginStatus->remove_from_parent();
+            $this->dbChannelStatus->remove_from_parent();
+            $this->dbNotifications->remove_from_parent();
+            $this->dbInformation->remove_from_parent();
+        }
+    }
+}
+
+?>
diff --git a/gosa-core/plugins/generic/dashBoard/class_rssReader.inc b/gosa-core/plugins/generic/dashBoard/class_rssReader.inc
new file mode 100644
index 0000000..4e3d097
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/class_rssReader.inc
@@ -0,0 +1,100 @@
+<?php
+
+class rssReader{
+
+    public static $attributes = array( 
+            'title','link','description','language','copyright','skipHours','timestamp',
+            'managingEditor','webMaster','pubDate','lastBuildDate','category',
+            'generator','docs','cloud','ttl','image','rating','textInput','skipDays');
+
+    public static function parseFeedFromUrl($urls)
+    {
+        // We support multiple urls at once. 
+        if(!is_array($urls)) $urls = array($urls);
+        foreach($urls as $url){ 
+            $doc = new DOMDocument();
+            $res = $doc->load($url);
+            if(!$res){
+                trigger_error("Failed to load feed '{$url}'!");
+            }else{
+                return(self::docToFeedEntries($doc, $url));
+            }
+        }
+        return(array());
+    }
+
+    public static function parseFeedFromSource($sources)
+    {
+        // We support multiple urls at once.
+        if(!is_array($sources)) $urls = array($sources);
+        foreach($sources as $source){
+            $doc = new DOMDocument();
+            $res = @$doc->loadXML($source);
+            if(!$res){
+                trigger_error("Failed to load feed '{$source}'!");
+            }else{
+                return(self::docToFeedEntries($doc, 'from source'));
+            }
+        }
+        return(array());
+    }
+
+
+    private static function docToFeedEntries($doc, $url)
+    {
+        $entries = array();
+        foreach ($doc->getElementsByTagName('item') as $item) {
+
+            // Collect data from feed
+            $entry = array();
+            $entry['url'] = $url;
+            foreach(self::$attributes as $attr){
+                $entry[$attr] =NULL;
+                $obj = $item->getElementsByTagName($attr);
+                if(is_object($obj->item(0))){
+                    $entry[$attr] = $obj->item(0)->nodeValue;
+                }
+            }   
+
+            // Fake timestamp in none is given.
+            if($entry['pubDate'] == NULL){
+                $entry['timestamp'] = NULL;
+            }else{
+
+                // Create an entry timestamp 
+                $entry['timestamp'] = strtotime($entry['pubDate']);
+            }
+            $entries[] = $entry;
+        }
+        return($entries);
+    }
+
+    public static function sortFeedResultBy($feedRes , $sortBy = 'timestamp')
+    {
+
+        // Do not try to sort for invalid attributes.
+        if(!in_array($sortBy, self::$attributes)){
+            trigger_error("Invalid sortby attribute '{$sortBy}'!");
+            return($feedRes);
+        }
+
+        // Prepare feeds to be sorted, put them in an array indexed by the 'sortBy' attribute.
+        $data = array();
+        foreach($feedRes as $feed){
+            $key = "{$feed[$sortBy]}";
+            $c = '1';
+            while(empty($key) || isset($data[$key])){
+                $key = "{$c}_{$feed[$sortBy]}";
+                $c++;
+            }
+            $data[$key] = $feed;
+        }
+
+        // Sort the natural way and return the results.
+        uksort($data, 'strnatcasecmp');
+        return($data);
+    }
+
+} 
+
+?>
diff --git a/gosa-core/plugins/generic/dashBoard/dashBoard.tpl b/gosa-core/plugins/generic/dashBoard/dashBoard.tpl
new file mode 100644
index 0000000..a81d64f
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/dashBoard.tpl
@@ -0,0 +1,56 @@
+{if !$instanceRegistered || !$isServerAccessible}
+    <h3>{t}This feature is only accessible for registrated instances of GOsa{/t}</h3>
+
+    {if $registrationServerAvailable}
+        <button name="registerNow">{t}Register{/t}</button>
+    {else}
+        {t}Unfortunately the registration server cannot be reached, maybe the server is down for maintaince or you've no internet access!{/t}
+    {/if}
+
+
+
+{else}
+    <table style='width:100%' summary="{t}GOsa dash board{/t}">
+        <tr>
+            <td style='width:50%; padding-right:5px;' class='right-border'>
+                
+                <!-- Channel -->    
+
+                {$dbChannelStatus}
+
+                <!--Chanel  END -->
+
+            </td>
+            <td>
+                
+                <!-- Plugins Status -->    
+
+                {$dbPluginStatus}
+
+                <!-- Plugins Status  END -->
+
+            </td>
+        </tr>
+        <tr><td colspan="2"><hr></td></tr>
+        <tr>
+            <td style='width:50%; padding-right:5px;' class='right-border'>
+                
+                <!-- Messages -->    
+        
+                {$dbNotifications}
+
+                <!-- Messages  END -->
+
+            </td>
+            <td>
+                
+                <!-- RSS Feeds -->    
+        
+                {$dbInformation}
+
+                <!-- RSS Feeds  END -->
+
+            </td>
+        </tr>
+    </table>
+{/if}
diff --git a/gosa-core/plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc b/gosa-core/plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc
new file mode 100644
index 0000000..eec7eb5
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc
@@ -0,0 +1,78 @@
+<?php
+
+class dbChannelStatus extends plugin
+{
+    function __construct($config)
+    {
+        parent::__construct($config, NULL);
+
+        // Construct the channel list.
+        $this->channelList= new sortableListing();
+        $this->channelList->setDeleteable(false);
+        $this->channelList->setEditable(false);
+        $this->channelList->setColspecs(array('30px','120px','*','100px'));
+        $this->channelList->setHeader(array('?',_("Name"),_("Description"),_("Status")));
+        $this->channelList->setWidth("100%");
+        $this->channelList->setDefaultSortColumn(1);
+        $this->channelList->setHeight("200px");
+        $this->channelList->setAcl("rwcdm");
+    }
+
+    function execute()
+    {
+        $smarty = get_smarty();
+        $channel = array();
+        $channel[] = array(
+                        'icon' =>  image('images/true.png'),
+                        'name' =>  'GONICUS support',
+                        'desc' =>  'GONICUS helps you all time!',
+                        'stat' =>  'Online'
+                        );
+        $channel[] = array(
+                        'icon' =>  image('images/true.png'),
+                        'name' =>  'Free',
+                        'desc' =>  'Free channel, basic GOsa plugins!',
+                        'stat' =>  'Online'
+                        );
+        $channel[] = array(
+                        'icon' =>  image('images/small_error.png'),
+                        'name' =>  'Experimental',
+                        'desc' =>  'May be down for maintance!',
+                        'stat' =>  'Offline'
+                        );
+
+
+        $data = $lData = array();
+        foreach($channel as $key => $ch){
+            $data[$key] = $ch;
+            $lData[$key] = array('data' => array($ch['icon'],$ch['name'], $ch['desc'], $ch['stat']));
+        }
+
+        $this->channelList->setListData($data,$lData);
+        $this->channelList->update();
+        $smarty->assign('channelList', $this->channelList->render());
+        return($smarty->fetch(get_template_path('dbChannelStatus/contents.tpl', TRUE)));
+    }
+
+    function save_object()
+    {
+        parent::save_object();
+    }
+
+    function save()
+    {
+        parent::save();
+    }
+
+    function check()
+    {
+        return(parent::check());
+    }
+
+    function remove_from_parent()
+    {
+        parent::remove_from_parent();
+    }
+}
+
+?>
diff --git a/gosa-core/plugins/generic/dashBoard/dbChannelStatus/contents.tpl b/gosa-core/plugins/generic/dashBoard/dbChannelStatus/contents.tpl
new file mode 100644
index 0000000..1b1de97
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/dbChannelStatus/contents.tpl
@@ -0,0 +1,3 @@
+<h3>{t}Channels{/t}</h3> 
+
+{$channelList}
diff --git a/gosa-core/plugins/generic/dashBoard/dbInformation/class_dbInformation.inc b/gosa-core/plugins/generic/dashBoard/dbInformation/class_dbInformation.inc
new file mode 100644
index 0000000..218eb0e
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/dbInformation/class_dbInformation.inc
@@ -0,0 +1,59 @@
+<?php
+
+class dbInformation extends plugin
+{
+    function __construct($config)
+    {
+        parent::__construct($config, NULL);
+
+        // Construct the plugin list.
+        $this->feedList = new sortableListing();
+        $this->feedList->setDeleteable(false);
+        $this->feedList->setEditable(true);
+        $this->feedList->setWidth("100%");
+        $this->feedList->setHeight("200px");
+        $this->feedList->setAcl("rwcdm");
+    }
+
+    function execute()
+    {
+        // Act on clicks on the feed list.
+        $linkOpener = "";
+        $action = $this->feedList->getAction();
+        if(isset($action['action']) && $action['action'] == 'edit'){
+            $data = $this->feedList->getData($action['targets'][0]);
+            if(isset($data['link']) && !empty($data['link'])){
+                $linkOpener = '
+                    <script language="JavaScript" type="text/javascript">
+                        window.open("'.$data['link'].'");
+                    </script>';
+            }
+        }
+    
+        // Read Feeds and sort the results 
+        $feeds = rssReader::parseFeedFromUrl(array('http://www.heise.de/newsticker/heise.rdf'));
+        $feeds = rssReader::sortFeedResultBy($feeds, 'timestamp');
+
+        // Append the results to the list.
+        $data = $lData = array();
+        foreach($feeds as $key => $feed){
+            $data[$key] = $feed;
+            $lData[$key] = array('data'=> array(htmlentities($feed['title'],ENT_QUOTES,'UTF-8')));
+        }
+        $this->feedList->setListData($data, $lData);
+        $this->feedList->update();
+
+        // Generate the HTML content
+        $smarty = get_smarty();
+        $smarty->assign('feedList', $this->feedList->render());
+        return($linkOpener.$smarty->fetch(get_template_path('dbInformation/contents.tpl', TRUE)));
+    }
+
+    function save_object()
+    {
+        parent::save_object();
+        $this->feedList->save_object();
+    }
+}
+
+?>
diff --git a/gosa-core/plugins/generic/dashBoard/dbInformation/contents.tpl b/gosa-core/plugins/generic/dashBoard/dbInformation/contents.tpl
new file mode 100644
index 0000000..44ddf2a
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/dbInformation/contents.tpl
@@ -0,0 +1,3 @@
+<h3>{t}Information{/t}</h3> 
+
+{$feedList}
diff --git a/gosa-core/plugins/generic/dashBoard/dbNotifications/class_dbNotifications.inc b/gosa-core/plugins/generic/dashBoard/dbNotifications/class_dbNotifications.inc
new file mode 100644
index 0000000..a34c1b7
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/dbNotifications/class_dbNotifications.inc
@@ -0,0 +1,50 @@
+<?php
+
+class dbNotifications extends plugin
+{
+    function __construct($config)
+    {
+        parent::__construct($config, NULL);
+
+        // Construct the plugin list.
+        $this->adviceList = new sortableListing();
+        $this->adviceList->setDeleteable(false);
+        $this->adviceList->setEditable(false);
+        $this->adviceList->setWidth("100%");
+        $this->adviceList->setHeight("200px");
+        $this->adviceList->setAcl("rwcdm");
+    }
+
+    function execute()
+    {
+        // Get logs as RSS feed.
+        $rsyslog = new rsyslog($this->config);
+        $source = $rsyslog->logToRss(); 
+
+        // Read Feeds and sort the results 
+        $feeds = rssReader::parseFeedFromSource(array($source));
+        $feeds = rssReader::sortFeedResultBy($feeds, 'timestamp');
+
+        // Append the results to the list.
+        $data = $lData = array();
+        foreach($feeds as $key => $feed){
+            $data[$key] = $feed;
+            $lData[$key] = array('data'=> array(htmlentities($feed['title'],ENT_QUOTES,'UTF-8')));
+        }
+        $this->adviceList->setListData($data, $lData);
+        $this->adviceList->update();
+
+        // Generate the HTML content
+        $smarty = get_smarty();
+        $smarty->assign('adviceList', $this->adviceList->render());
+        return($smarty->fetch(get_template_path('dbNotifications/contents.tpl', TRUE)));
+    }
+
+    function save_object()
+    {
+        parent::save_object();
+        $this->adviceList->save_object();
+    }
+}
+
+?>
diff --git a/gosa-core/plugins/generic/dashBoard/dbNotifications/contents.tpl b/gosa-core/plugins/generic/dashBoard/dbNotifications/contents.tpl
new file mode 100644
index 0000000..ecfb290
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/dbNotifications/contents.tpl
@@ -0,0 +1,3 @@
+<h3>{t}Notifications{/t}</h3> 
+
+{$adviceList}
diff --git a/gosa-core/plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc b/gosa-core/plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc
new file mode 100644
index 0000000..940727d
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc
@@ -0,0 +1,112 @@
+<?php
+
+class dbPluginStatus extends plugin
+{
+
+   var $installedPlugins = array();
+   var $disabledPlugins = array();
+
+   // The HTML list containing the plugin data.
+   var $pluginList = NULL;
+
+    function __construct($config)
+    {
+        // Construct the class
+        parent::__construct($config, NULL);
+
+        // Collect plugin information already collected by GOsa.
+        $this->installedPlugins = $this->config->configRegistry->getListOfPlugins();
+        $this->disabledPlugins = $this->config->configRegistry->getDisabledPlugins();
+   
+        // Construct the plugin list.
+        $this->pluginList= new sortableListing();
+        $this->pluginList->setDeleteable(false);
+        $this->pluginList->setEditable(false);
+        $this->pluginList->setColspecs(array('30px','120px','*','100px'));
+        $this->pluginList->setHeader(array('?',_("Name"),_("Description"),_("Status")));
+        $this->pluginList->setWidth("100%");
+        $this->pluginList->setDefaultSortColumn(1);
+        $this->pluginList->setHeight("200px");
+        $this->pluginList->setAcl("rwcdm");
+
+    }
+
+    function execute()
+    {
+        $smarty = get_smarty();
+
+        // Build up list data
+        $data = $lData = array();
+        foreach($this->installedPlugins as $plugin => $plInfo){
+
+            // Build plugin name
+            $name = $plugin;
+            if(isset($plInfo['plShortName'])){
+                $name = $plInfo['plShortName']; 
+            }
+
+            // Build plugin description
+            $desc = "-";
+            if(isset($plInfo['plDescription'])){
+                $desc = $plInfo['plDescription']; 
+            }
+
+            // Build image
+            $image = image('images/true.png');
+
+            // Detect the plugin status
+            $status = 'OK';
+            if(isset($this->disabledPlugins[$plugin])){
+                $status = 'Failure';
+                $image = image('images/small_error.png');
+
+                // Check if an invalid schema is the reason
+                $reasons = $this->config->configRegistry->getSchemaResults();
+                if(isset($plInfo['plRequirements']['ldapSchema'])){
+                    foreach($plInfo['plRequirements']['ldapSchema'] as $class => $requirements){
+                        if(isset($reasons['versionMismatch'][$class])){
+                            $reason = strip_tags($reasons['versionMismatch'][$class]);
+                            $status = "<span style='color:red;' title=\"{$reason}\">"._("Version mismatch")."</span>";
+                        }
+                        if(isset($reasons['missing'][$class])){
+                            $reason = strip_tags($reasons['missing'][$class]);
+                            $status = "<span style='font-color:red;' title=\"{$reason}\">"._("Schema missing")."</span>";
+                        }
+                    }
+                }
+            }
+
+            // Add entry/line to the list
+            $data[$plugin] = $plInfo;
+            $lData[$plugin] = array('data' => array($image,$name,$desc, $status));
+        }
+        $this->pluginList->setListData($data,$lData);
+        $this->pluginList->update();
+        $smarty->assign('pluginList', $this->pluginList->render());
+        return($smarty->fetch(get_template_path('dbPluginStatus/contents.tpl', TRUE)));
+    }
+
+    function save_object()
+    {
+        parent::save_object();
+
+        $this->pluginList->save_object();
+    }
+
+    function save()
+    {
+        parent::save();
+    }
+
+    function check()
+    {
+        return(parent::check());
+    }
+
+    function remove_from_parent()
+    {
+        parent::remove_from_parent();
+    }
+}
+
+?>
diff --git a/gosa-core/plugins/generic/dashBoard/dbPluginStatus/contents.tpl b/gosa-core/plugins/generic/dashBoard/dbPluginStatus/contents.tpl
new file mode 100644
index 0000000..6ec7237
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/dbPluginStatus/contents.tpl
@@ -0,0 +1,3 @@
+<h3>{t}Plugin status{/t}</h3> 
+
+{$pluginList}
diff --git a/gosa-core/plugins/generic/dashBoard/main.inc b/gosa-core/plugins/generic/dashBoard/main.inc
new file mode 100644
index 0000000..9b2ee3b
--- /dev/null
+++ b/gosa-core/plugins/generic/dashBoard/main.inc
@@ -0,0 +1,51 @@
+<?php
+/*
+  This code is part of GOsa (https://gosa.gonicus.de)
+  Copyright (C) 2003  Cajus Pollmeier
+
+  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.
+
+  This program 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 General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+
+/* Remove locks created by this plugin
+*/
+if ($remove_lock){
+  if(session::is_set('dashBoard')){
+	// Nothing to unlock here
+  }
+}
+
+/* Remove this plugin from session
+*/
+if ( $cleanup ){
+  session::un_set('dashBoard');
+}else{
+
+
+	/* Create logview object on demand */
+	if (!session::is_set('dashBoard')){
+		session::set('dashBoard',new dashBoard($config));
+	}
+	$dashBoard = session::get('dashBoard');
+
+	/* Execute formular */
+	$display= $dashBoard->save_object();
+	$display= $dashBoard->execute ();
+	$display.= "<input type=\"hidden\" name=\"ignore\">\n";
+
+	/* Store changes  in session */
+	session::set('dashBoard',$dashBoard);
+}
+?>
diff --git a/gosa-core/plugins/generic/infoPage/class_infoPage.inc b/gosa-core/plugins/generic/infoPage/class_infoPage.inc
new file mode 100644
index 0000000..d4f158e
--- /dev/null
+++ b/gosa-core/plugins/generic/infoPage/class_infoPage.inc
@@ -0,0 +1,174 @@
+<?php
+
+class infoPage extends plugin
+{
+    private $ui;
+    private $managers;
+
+
+    /*! \brief
+     */
+    function __construct($config)
+    {
+        $this->config = &$config;
+        $this->ui = get_userinfo();
+        plugin::plugin($config, $this->ui->dn);
+
+        // Detect managers for the current user.
+        $this->managers = $this->detectManagers();
+
+        // Get plugin list
+        $this->plugins = $this->getPluginList();
+    }
+
+
+    /*! \brief  Returns a HTML string which respresent a list of plugins the user can access.
+     *          Only accessible plugins will be rendered.
+     *  @return String  HTML content
+     */
+    function getPluginList()
+    {
+        $plist = session::get('plist');
+        $myAccountID = array_search('MyAccount',$plist->pluginList);
+        $str = "";
+        foreach($this->config->data['TABS']['MYACCOUNTTABS'] as $pluginData){
+            $plugin = $pluginData['CLASS'];
+
+            if(!$this->checkAccess($plugin)) continue;
+
+            list($index, $title, $desc, $icon) = $plist->getPlugData($plugin);
+            $str.= "\n        <div class='icon-menu-item' style='width: 20%;' onclick='openPlugin(\"{$myAccountID}\",\"{$plugin}\")'>";
+            $str.= "\n          ".image($icon);
+            $str.= "\n          <div class='dsc'>";
+            $str.= "\n            <h1>{$title}</h1>";
+            $str.= "\n            <p>{$desc}</p>";
+            $str.= "\n          </div>";
+            $str.= "\n        </div>";
+
+        }
+        return($str);
+    }
+
+
+    /*! \brief  Check if we've access to a given class/plugin of GOsa. 
+     *  @param  String  The class name to check for.
+     *  @return Boolean     True on success else FALSE.
+     */
+    function checkAccess($class)
+    {
+        foreach($this->ui->ocMapping as $cat => $aclClasses){
+            if(in_array($class, $aclClasses)){
+                if(preg_match('/[rw]/',$this->ui->get_permissions($this->ui->dn, "{$cat}/{$class}", ''))){
+                    return(TRUE);
+                }
+            }
+        }
+        return(FALSE);
+    }
+
+
+    /*! \brief  Prepares an array which contains info about the users
+     *           managers. The personal manager and the next
+     *           manager defined for a department.
+     *  @return Array   An array with resolved manager dns.
+     */
+    function detectManagers()
+    {
+
+        // Check if we've an own manager set
+        $ldap = $this->config->get_ldap_link(); 
+        $ldap->cd($this->config->current['BASE']);
+        $ldap->cat($this->dn, array('manager'));
+        $attrs = $ldap->fetch();
+        $dns = array();
+        if(isset($attrs['manager'][0])){
+            $dns['PERSONAL'] = $attrs['manager'][0];
+        }
+
+        // Get next department manager dn
+        $dn = $this->dn;
+        $max = 4;
+        while(strlen($dn) >= strlen($this->config->current['BASE']) && $max--){
+            $dn = preg_replace("/^[^,]+,/","",$dn);
+            $ldap->cat($dn, array('manager'));
+            $attrs = $ldap->fetch();
+            if(isset($attrs['manager'][0])){
+                $dns['DEPARTMENT'] = $attrs['manager'][0];
+            }
+        }
+
+        // Resolve collected manager dns
+        $managers = array();
+        foreach($dns as $type => $dn){
+            $ldap->cat($dn,array('sn','givenName','mail','telephoneNumber'));
+            $managers[$dn] = $ldap->fetch();
+            $managers[$dn]['type'] = $type;
+            $name = $phone = $mail = "";
+            $name = "<tr><td colspan='2' style='background-color:#F0F0F0'><b>".set_post($managers[$dn]['givenName'][0])." ".set_post($managers[$dn]['sn'][0])."</b></td></tr>";
+            if(isset($managers[$dn]['telephoneNumber'][0])){
+                $phone = "<tr><td> "._("Phone number").":</td><td><i>".set_post($managers[$dn]['telephoneNumber'][0])."</i></td></tr>";
+            }
+            if(isset($managers[$dn]['mail'][0])){
+                $mail = "<tr><td> "._("Mail").":</td><td><i><a href='mailto:".set_post($managers[$dn]['mail'][0])."'>".set_post($managers[$dn]['mail'][0])."</i></td></tr>";
+            }
+            $managers[$dn]['str'] = "<table cellpadding='2' style='border:1px solid #CCC'>{$name}{$phone}{$mail}</table>";
+        }
+        return($managers);
+    }
+
+
+    /*! \brief  Renders the plugin UI in HTML.
+     *  @return String  HTML content of the plugin.
+     */
+    function execute()
+    {
+        $smarty = get_smarty();
+        $personalInfoAllowed = FALSE;
+        foreach(array("uid","sn","givenName","mail","street","l","o","ou","jpegPhoto","personalTitle",
+                    "academicTitle","dateOfBirth","homePostalAddress","homePhone","departmentNumber",
+                    "employeeNumber","employeeType") as $attr){
+            $smarty->assign($attr, "");
+            if(preg_match("/r/", $this->ui->get_permissions($this->ui->dn,"users/user", $attr))
+                    && isset($this->attrs[$attr][0])){
+                $smarty->assign($attr, set_post($this->attrs[$attr][0]));
+                $personalInfoAllowed = TRUE;
+            }
+        }
+
+        // Convert address
+        if(preg_match("/r/", $this->ui->get_permissions($this->ui->dn,"users/user", "homePostalAddress")) && 
+                isset($this->attrs['homePostalAddress'][0])){
+            $smarty->assign("homePostalAddress", preg_replace("/\n/", "<br>", $this->attrs['homePostalAddress'][0]));
+        }else{
+            $smarty->assign("homePostalAddress", "");
+        }
+
+        // Assign JPEG Photo only if it is set and if we are allowed to view it.
+        $smarty->assign("jpegPhoto", "");
+        if(preg_match("/r/", $this->ui->get_permissions($this->ui->dn,"users/user", "userPicture")) && 
+                isset($this->attrs['jpegPhoto'][0])){
+            session::set('binary',$this->attrs['jpegPhoto'][0]);
+            session::set('binarytype',"image/jpeg");
+            $smarty->assign("jpegPhoto", $this->attrs['jpegPhoto']);
+        }
+
+        // Set date of birth
+        if(preg_match("/r/", $this->ui->get_permissions($this->ui->dn,"users/user", "dateOfBirth")) && 
+                isset($this->attrs['dateOfBirth'][0])){
+            $smarty->assign("dateOfBirth", date('d.m.Y',strtotime($this->attrs['dateOfBirth'][0])));
+        }else{
+            $smarty->assign("dateOfBirth","");
+        }
+
+        $smarty->assign("rand", rand(0, 99999999));
+        $smarty->assign("personalInfoAllowed", $personalInfoAllowed);
+        $smarty->assign("managers", $this->managers);
+        $smarty->assign("plugins", $this->plugins);
+        $smarty->assign("managersCnt", count($this->managers));
+        $smarty->assign("revision", get_gosa_version());
+        $smarty->assign("year", date("Y"));
+        return($smarty->fetch(get_template_path("infoPage.tpl")));
+    }
+}
+
+?>
diff --git a/gosa-core/plugins/generic/infoPage/main.inc b/gosa-core/plugins/generic/infoPage/main.inc
new file mode 100644
index 0000000..470c793
--- /dev/null
+++ b/gosa-core/plugins/generic/infoPage/main.inc
@@ -0,0 +1,51 @@
+<?php
+/*
+  This code is part of GOsa (https://gosa.gonicus.de)
+  Copyright (C) 2003  Cajus Pollmeier
+
+  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.
+
+  This program 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 General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+
+/* Remove locks created by this plugin
+*/
+if ($remove_lock){
+  if(session::is_set('infoPage')){
+	// Nothing to unlock here
+  }
+}
+
+/* Remove this plugin from session
+*/
+if ( $cleanup ){
+   # session::un_set('infoPage');
+}else{
+
+
+	/* Create logview object on demand */
+	if (!session::is_set('infoPage')){
+		session::set('infoPage',new infoPage($config));
+	}
+	$infoPage = session::get('infoPage');
+
+	/* Execute formular */
+	$display= $infoPage->save_object();
+	$display= $infoPage->execute ();
+	$display.= "<input type=\"hidden\" name=\"ignore\">\n";
+
+	/* Store changes  in session */
+	session::set('infoPage',$infoPage);
+}
+?>
diff --git a/gosa-core/plugins/generic/references/class_aclResolver.inc b/gosa-core/plugins/generic/references/class_aclResolver.inc
new file mode 100644
index 0000000..22d76e1
--- /dev/null
+++ b/gosa-core/plugins/generic/references/class_aclResolver.inc
@@ -0,0 +1,336 @@
+<?php
+
+class aclResolver 
+{
+    private $classMapping = array();
+    private $aclTypes = array();
+    private $affectingACLs = array();
+
+    private $renderedList = "";
+
+    // The users 'dn' and 'uid' used to verify the collected acls
+    private $validateDn;
+    private $validateUid;
+    private $acl_category;
+    private $parent;
+
+    // Used for the autocompleter
+    private $userMap;
+
+    function __construct($config, $dn, $parent)
+    {
+        $this->config = &$config;
+        $this->dn = $dn;
+        $this->parent = $parent;
+
+        // Replace this with a user defined one later.
+        $ui = get_userinfo();
+        $this->validateUid = $ui->uid;
+        $this->validateDn = $ui->dn;
+
+        // Build class mapping - only once, will not change during session.
+        if(!session::is_set('aclConverter::classMapping')){
+            $tmp= session::global_get('plist');
+            $plist= $tmp->info;
+            $map = array();
+            foreach($plist as $class => $plInfo){
+                if(isset($plInfo['plCategory']) && is_array($plInfo['plCategory'])){
+                    foreach($plInfo['plCategory'] as $category => $desc){
+                        if(!is_numeric($category)){
+                            $map[$category] = $desc['description'];
+                        }
+                    }
+                }
+            }
+            foreach($plist as $class => $plInfo){
+                if(isset($plInfo['plCategory']) && is_array($plInfo['plCategory'])){
+                    foreach($plInfo['plCategory'] as $category => $desc){
+                        if(!isset($map[$category])) continue;
+                        if(!is_numeric($category)){
+                            $map[$category."/".$class] = $map[$category]." - ".$plInfo['plDescription'];
+                        }else{
+                            $map[$desc."/".$class] = $map[$desc]." - ".$plInfo['plDescription'];
+                        }
+                    }
+
+                }
+            }
+            session::set('aclConverter::classMapping', $map);
+        }
+        $this->classMapping = session::get('aclConverter::classMapping');
+
+        // Define ACL type translations
+        $this->aclTypes= array("reset" => _("Reset ACLs"),
+                "one" => _("One level"),
+                "base" => _("Current object"),
+                "sub" => _("Complete subtree"),
+                "psub" => _("Complete subtree (permanent)"),
+                "role" => _("Use ACL defined in role"));
+    
+        // Enforce to reload acl result 
+        $this->renderedList = "";
+    }
+
+    
+    function reload()
+    {
+        // Go through all ACLs and get those matching the objects dn.
+        $ui = get_userinfo();
+        $ui->reset_acl_cache();
+        $ui->loadACL();
+
+        // Get ACL category for the current object.
+        if(isset($this->parent->acl_category) && !empty($this->parent->acl_category)){
+            $this->acl_category = preg_replace("/\/$/","",$this->parent->acl_category);
+        }
+
+        foreach($ui->allACLs as $dn => $acls){
+            if(preg_match("/".preg_quote($dn,'/')."$/i", $this->dn)){
+
+                // Foreach dn there is a collection of ACLs indexed by their priority
+                foreach($acls as $prio => $acl){
+                    if($acl['type'] == "reset"){
+                        $this->affectingACLs[$dn][$prio] = $acl;
+                        continue;
+                    }else{
+
+                        // Only get those entries with a relevant acl-category
+                        foreach($acl['acl'] as $category => $attributes){
+                            if(preg_match("/^all($|\/)/", $category) || 
+                                    preg_match("/^".$this->acl_category."($|\/)/", $category)){
+                                $this->affectingACLs[$dn][$prio] = $acl;
+                                continue;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+
+
+    /*! \brief   Create a human readable HTML result 
+     */    
+    function getReadableACL() 
+    {
+        if(isset($_POST['aclTarget'])){
+            $d = get_post('aclTarget');
+            if(isset($this->userMap[$d])){
+                $this->validateDn = $this->userMap[$d]['dn'];
+                $this->validateUid = $this->userMap[$d]['uid'][0];
+                $this->renderedList = "";
+            }else{
+
+                foreach($this->userMap as $string => $data){
+                    if($data['uid'][0] == $d){
+                        $this->validateDn = $data['dn'];
+                        $this->validateUid = $data['uid'][0];
+                        $this->renderedList = "";
+
+                    }
+                }
+            }
+        }
+
+ 
+        if(empty($this->renderedList)){
+
+            $this->reload();
+
+            // Autocompleter template 
+            $autocompleter ="
+                <input class='filter_textfield' placeholder='"._("Enter another user name")."...' 
+                id='aclTarget' name='aclTarget' type='text' value='' 
+                onChange=\"\$('aclTargetSubmit').focus();\">
+
+                <div id='autocomplete' class='autocomplete'></div>
+                <script type='text/javascript'>
+                new Ajax.Autocompleter(
+                        'aclTarget', 
+                        'autocomplete', 
+                        'autocomplete.php', 
+                        { minChars: 3, frequency: 0.5 });
+            </script>
+            ".image("images/lists/submit.png","aclTargetSubmit");
+
+            // Base template - each entry start with this 
+            $tpl = 
+                "\n <tr class='acl-viewer-head %s'>".
+                "\n  <td style='width:20px'>%s</td>".
+                "\n  <td colspan=2><b>%s</b><div class='right'>%s</div></td>".
+                "\n </tr>".
+                "\n %s";
+
+            // If the acl consists of a user-object-filter then this template is used.        
+            $filter_tpl = 
+                "\n <tr class='%s'>".
+                "\n  <td></td>".
+                "\n  <td><b>"._("Filter")."</b></td>".
+                "\n  <td><ul class='acl-viewer-items'><li>%s</li></ul></td>".
+                "\n </tr>";
+
+            // Used to display ACL owner of type "group"
+            $gmem_tpl = 
+                "\n <tr class='%s'>".
+                "\n  <td></td>".
+                "\n  <td><b>"._("Groups")."</b></td>".
+                "\n  <td><ul class='acl-viewer-items'>%s</ul></td>".
+                "\n </tr>";
+
+            // Used to display ACL owner of type "user"
+            $umem_tpl = 
+                "\n <tr class='%s'>".
+                "\n  <td></td>".
+                "\n  <td><b>"._("Users")."</b></td>".
+                "\n  <td><ul class='acl-viewer-items'>%s</ul></td>".
+                "\n </tr>";
+
+            // Used to display the acl contents, except 'reset' and 'role'
+            $acl_tpl = 
+                "\n <tr class='%s'>".
+                "\n  <td></td>".
+                "\n  <td><b>"._("ACLs")."</b></td>".
+                "\n  <td><ul class='acl-viewer-items'>%s</ul></td>".
+                "\n </tr>";
+
+
+            $user = "<h3>".sprintf(_("List of effective ACLs for '%s'"), $this->validateUid)."</h3>";
+            $str  = "<table summary='"._("Object permissions")."'>";
+            $str .= " <tr><td>".$user."</td><td>".$autocompleter."</td></tr>";
+            $str .= "</table>";
+            $str .= "<div class='acl-viewer-container'>";
+            $str .= "<table summary='"._("Object permissions")."' cellpadding='0' cellspacing='0' class='acl-viewer'>";
+            $ldap = $this->config->get_ldap_link();
+            $ldap->cd($this->config->current['BASE']);
+            $ui = get_userinfo();
+            foreach($this->affectingACLs as $dn => $acls){
+                foreach($acls as $acl){
+
+                    // Prepare entry icon (department or element?)
+                    $image = (isset($this->config->idepartments[$dn]))? "images/select_department.png":"images/lists/element.png";
+
+                    // The acl type (sub,psub,reset...)
+                    $aclType = $this->aclTypes[$acl['type']];
+
+                    // Does the filter match for current object? 
+                    $filter ="";
+                    $match = TRUE;
+                    if(!empty($acl['filter'])){
+                        $match = $ldap->object_match_filter($this->dn,$acl['filter']);
+                        $filter= $acl['filter'];
+                        if(!$match){
+                            $filter= "<span>".$filter."</span>";
+                        }
+                    }
+
+                    // Check membership 
+                    $gmem = $umem = "";
+                    $users = $groups = array();
+                    $found = FALSE;
+                    foreach($acl['members'] as $type => $name){
+
+                        // Check if we're part of the members 
+                        if(preg_match("/^U:/", $type)){
+                            if(preg_match("/^U:".preg_quote($this->validateDn,'/')."/", $type)){
+                                $users[] = $name;
+                                $found = TRUE;
+                                continue;
+                            }
+                            $users[] = "<span>".$name."</span>";
+                        }
+
+                        // Check if we're part of the group members 
+                        if(preg_match("/^G/", $type)){
+                            if($type == "G:*"){
+                                $found = TRUE;
+                                $groups[] = $name;
+                                continue;
+                            }
+                            if(preg_match("/^G:/", $type)){
+                                $gdn = preg_replace("/^G:/","",$type);
+                                $ldap->cat($gdn,array('memberUid'));
+                                if($ldap->count()){
+                                    $attrs = $ldap->fetch();
+                                    if(isset($attrs['memberUid']) && in_array($this->validateUid, $attrs['memberUid'])){
+                                        $found = TRUE;
+                                        $groups[] = $name;
+                                        continue;
+                                    }
+                                }
+                            }
+
+                            // Mark groups that doesn't match 
+                            $groups[] = "<span>".$name."</span>";
+                        }
+                    }
+
+                    // Build up ACL definition list 
+                    $defs ="";
+                    if($acl['type']!='reset'){
+                        foreach($acl['acl'] as $type => $acl){
+                            if(isset($this->classMapping[$type])){
+                                $defs .= "<li>".$this->classMapping[$type].": ".$this->aclToString($acl)."</li>";
+                            }else{
+                                $defs .= "<li>".$type.": ".$this->aclToString($acl)."</li>";
+                            }
+                        }
+                    }
+                   
+                    // Display the acl block in a special color if its not matching 
+                    $class="";
+                    if(!$found || !$match){
+                        $class = "acl-viewer-blocked";
+                    }                    
+                    if(!empty($filter)) $filter =sprintf($filter_tpl,$class,$filter);
+                    if(!empty($defs)) $defs = sprintf($acl_tpl,$class,$defs);
+                    if(count($users))  $umem = sprintf($umem_tpl,$class,"<li>".implode($users,'</li><li>')."</li>");
+                    if(count($groups)) $gmem = sprintf($gmem_tpl,$class,"<li>".implode($groups,'</li><li>')."</li>");
+                    $str.= sprintf($tpl,$class, image($image), $dn, $aclType, $filter.$gmem.$umem.$defs);
+                }
+            }
+            $str .= "</table>"; 
+            $str .= "</div>"; 
+            $this->renderedList = $str;
+        }
+        return($this->renderedList);
+    }
+
+    function aclToString($acls)
+    {
+        $str ="<ul class='acl-category-list'>";
+        foreach($acls as $name => $acl){
+            if($name == "0") $name = _("All");
+            $str .= "<li><i>".$name.":</i> ";
+            $str .= "<ul class='acl-list'>";
+            if(preg_match("/s/", $acl)){
+                $str.="<li><u>"._("Restrict changes to user's own object").'</u></li>'; 
+            }
+            if(preg_match("/r/", $acl)) $str.="<li>"._("read").'</li>'; 
+            if(preg_match("/w/", $acl)) $str.="<li>"._("write").'</li>'; 
+            if(preg_match("/c/", $acl)) $str.="<li>"._("create").'</li>'; 
+            if(preg_match("/d/", $acl)) $str.="<li>"._("remove").'</li>'; 
+            if(preg_match("/m/", $acl)) $str.="<li>"._("move").'</li>'; 
+            $str.= "</ul>";
+        }
+        return($str."</ul>");
+    }
+
+    function processAutocomplete()
+    {
+            $ldap = $this->config->get_ldap_link();
+            $ldap->cd($this->config->current['BASE']);
+            $ldap->search("(&(objectClass=gosaAccount)(|(sn=*".get_post('aclTarget')."*)".
+                    "(uid=*".get_post('aclTarget')."*)(givenName=*".get_post('aclTarget')."*)))",
+                    array('uid','dn','sn','givenName'));
+            echo "<ul>";
+            while($attrs = $ldap->fetch()){
+                $display = $attrs['givenName'][0]." ".$attrs['sn'][0]." [".$attrs['uid'][0]."]";
+                echo "<li>{$display}</li>";
+                $this->userMap[$display] = $attrs;
+            }
+            echo "</ul>";
+    }
+}
+
+?>
diff --git a/gosa-core/plugins/generic/references/class_ldifViewer.inc b/gosa-core/plugins/generic/references/class_ldifViewer.inc
new file mode 100644
index 0000000..846f33e
--- /dev/null
+++ b/gosa-core/plugins/generic/references/class_ldifViewer.inc
@@ -0,0 +1,39 @@
+<?php
+
+class ldifViewer extends plugin
+{
+    private $ldif;
+        private $success= FALSE;
+        private $error= "";
+
+    function __construct($config, $dn)
+    {
+        $this->initTime = microtime(TRUE);
+        stats::log('plugin', $class = get_class($this), $category = array($this->acl_category),  $action = 'open',
+                $amount = 1, $duration = (microtime(TRUE) - $this->initTime));
+
+        $this->config = &$config;
+        $this->dn = $dn;
+        $ldap = $this->config->get_ldap_link();
+        $this->ldif=$ldap->generateLdif(LDAP::fix($this->dn),'(objectClass=*)','base');
+        if(!$ldap->success()){
+                msg_dialog::display(_("Error"),
+                                msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_READ),
+                        ERROR_DIALOG);
+
+        }
+        $this->success = $ldap->success();
+        $this->error = $ldap->get_error();
+    }
+
+    function execute()
+    {
+        $smarty = get_smarty();
+        $smarty->assign('success', $this->success);
+        $smarty->assign('error', $this->error);
+        $smarty->assign('ldif', set_post($this->ldif));
+        return($smarty->fetch(get_template_path('ldifViewer.tpl')));
+    }
+}
+
+?>
diff --git a/gosa-core/plugins/generic/references/class_reference.inc b/gosa-core/plugins/generic/references/class_reference.inc
index 998f70e..1dfdf44 100644
--- a/gosa-core/plugins/generic/references/class_reference.inc
+++ b/gosa-core/plugins/generic/references/class_reference.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_reference.inc 15380 2010-01-27 14:03:19Z cajus $$
+ * ID: $$Id: class_reference.inc 19290 2010-07-29 16:21:26Z cajus $$
  *
  * 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
@@ -22,182 +22,146 @@
 
 class reference extends plugin
 {
-  /* attribute list for save action */
-  var $attributes= array();
-  var $objectclasses= array();
-  var $objectlist= "";
-  var $obtypes= array();
-  var $fold= array();
-  var $objectCache= array();
-
-  function reference (&$config, $dn= NULL)
-  {
-	/* Include config object */
-	$this->config= &$config;
-	$this->dn= $dn;
-
-        /* Fill translation array */
-        $this->obtypes= array(  
-				"gosaAccount" => array(	   "text" => _("Generic"),
-					"image" => "images/penguin.png"),
-				"posixAccount" => array(   "text" =>_("UNIX"),
-					"image" => "plugins/users/images/select_user.png"),
-				"gosaMailAccount" => array("text" => _("Mail"),
-					"image" => "images/mailto.png"),
-				"sambaSamAccount" => array("text" => _("Samba"),
-					"image" => "plugins/systems/images/select_winstation.png"),
-				"sambaAccount" => array(   "text" => _("Samba"),
-					"image" => "plugins/sysmtes/images/select_winstation.png"),
-				"goFaxAccount" => array(   "text" => _("FAX"),
-					"image" => "plugins/gofax/images/fax_small.png"),
-				"gosaProxyAccount" => array("text" => _("Proxy"),
-					"image" => "images/select_proxy.png"),
-				"PureFTPdUser" => array(   "text" => _("FTP"),
-					"image" => "images/select_proxy.png"),
-				"posixGroup" => array(     "text" => _("Group"),
-					"image" => "images/select_groups.png"),
-				"gosaDepartment" => array( "text" => _("Department"),
-					"image" => "images/select_department.png"),
-				"goFonHardware" => array(   "text" => _("Phone"),
-					"image" => "plugins/systems/images/select_phone.png"),
-				"gosaApplication" => array("text" => _("Application"),
-						"image" => "plugins/goto/images/select_application.png"),
-				"goServer" => array(	   "text" => _("Server"),
-						"image" => "plugins/systems/images/select_server.png"),
-				"gotoTerminal" => array(   "text" => _("Thin Client"),
-						"image" => "images/select_terminal.png"),
-				"gotoWorkstation" => array("text" => _("Workstation"),
-						"image" => "plugins/systems/images/select_workstation.png"),
-				"gosaGroupOfNames" => array("text" => _("Object group"),
-						"image" => "plugins/ogroups/images/select_ogroup.png"),
-				"gotoPrinter" => array(	   "text" => _("Printer"),
-						"image" => "plugins/systems/images/select_printer.png"));
-  }
-
-  function execute()
-  {
-	/* Call parent execute */
-	plugin::execute();
-
-	/* Set government mode */
-	$smarty= get_smarty();
-
-	if (isset($_GET['show'])){
-		$dn= base64_decode($_GET['show']);
-		if (isset($this->fold["$dn"])){
-			unset($this->fold["$dn"]);
-		} else {
-			$this->fold["$dn"]= "$dn";
-		}
-	}
-
-	/* Fill array */
-	$this->reload();
-	$smarty->assign("objectList", $this->objectlist);
-
-	/* Show main page */
-	return ($smarty->fetch (get_template_path('contents.tpl', TRUE, dirname(__FILE__))));
-  }
-
-  function reload()
-  {
-	$ldap= $this->config->get_ldap_link();
-	$ldap->cd($this->config->current['BASE']);
-
-	$ldap->search("(|(gotoHotplugDeviceDN=".LDAP::prepare4filter($this->dn).")(member=".LDAP::prepare4filter($this->dn).")(memberUid=".$this->uid."))",array("memberUid","member","cn","description","objectClass"));
-	
-  	$cycle= array("F5F5F5", "ECECEC");
-	$id= 0;
-	$this->objectlist= "";
-	while ($attrs= $ldap->fetch()){
-
-		/* Add more information? */
-		$addon= "";
-		if (in_array($attrs['dn'], $this->fold)){
-			$memberattr= "";
-			if (isset($attrs['memberUid'])){
-				unset($attrs['memberUid']['count']);
-				$memberattr= "memberUid";
-			} 
-			if (isset($attrs['member'])){
-				unset($attrs['member']['count']);
-				$memberattr= "member";
-			} 
-			if ($memberattr == ""){
-				continue;
-			}
-			foreach ($attrs[$memberattr] as $uid){
-				$content= $this->getCacheObject($uid);
-				if ($content === NULL) {
-					continue;
-				}
-				$addon.= '<tr style="background-color:'.$cycle[$id&1].';"><td title="'.$attrs['cn'][0].'">   '.$content['name'].'</td><td>'.$content['description'].'</td><td>'.$content['type'].'</td> </tr>';
-			}
-		}
-
-		/* Build final entry */
-		if (isset($attrs['description'])){
-			$description= $attrs['description'][0];
-		} else {
-			$description= "-";
-		}
-		$content= $this->createContentString($attrs['objectClass']);
-		if ($addon == ""){
-			$img= "images/lists/expand.png";
-		} else {
-			$img= "images/lists/sort-down.png";
-		}
-		$this->objectlist.= '<tr style="background-color:'.$cycle[$id&1].';"><td class="phonelist" title="'.$attrs['cn'][0].'"><a href="main.php?plug='.$_GET['plug'].'&start=&show='.base64_encode($attrs['dn']).'"><img alt="" src="'.$img.'" border=0> '.$attrs['cn'][0].'</a></td><td>'.$description.'</td><td>'.$content.'</td> </tr>'.$addon;
-
-		$id++;
-	}
-	
-  }
-
-  function getCacheObject($dn)
-  {
-	if (!isset($this->objectCache[$dn])){
-		$ldap= $this->config->get_ldap_link();
-		if (preg_match('/,/', $dn)){
-			$ldap->cat($dn, array("cn", "objectClass", "description","ou"));
-		} else {
-			$ldap->search("(uid=$dn)", array("cn", "objectClass", "description","ou"));
-		}
-		if ($ldap->count()){
-			$attrs= $ldap->fetch();
-
-			if(isset($attrs['ou']) && !isset($attrs['cn'])){
-				$attrs['cn'] = $attrs['ou'];
-			}
-				
-			if (isset($attrs['description'])){
-				$description= $attrs['description'][0];
-			} else {
-				$description= "-";
-			}
-			$this->objectCache[$dn]= array(	'name' => $attrs['cn'][0],
-					'description' => "$description",
-					'type' => $this->createContentString($attrs['objectClass']));
-		} else {
-			return NULL;
-		}
-	}
-	return ($this->objectCache[$dn]);
-  }
-
-  function createContentString($classes)
-  {
-	$result= "";
-  	if(!is_null($classes)) {
-		foreach ($classes as $class){
-			if (isset($this->obtypes[$class])){
-				$result.= "<a><img alt=\"\" border=0 src='".$this->obtypes[$class]['image']."'> ".$this->obtypes[$class]['text']."</a> ";
-			}
-		}
-	}
-	return (preg_replace('/ $/', '', $result));
-  }
-  
+    var $attributes= array('uid','modifyTimestamp');
+    var $aclResolver = NULL;
+
+    var $referenceFilters = array();
+    var $objectList ="";
+    var $modifyTimestamp = "";
+
+    function reference (&$config, $dn= NULL, $parent = NULL)
+    {
+        // Init the plugin
+        plugin::plugin($config,$dn,$parent);
+
+        // Try to read the 'modifyTimestamp' - this has to be done separately. 
+        $ldap = $this->config->get_ldap_link();
+        $ldap->cd($this->config->current['BASE']);
+        $ldap->cat($this->dn, array('modifyTimestamp'));
+        if($ldap->count()){
+            $attrs = $ldap->fetch();
+            if(isset($attrs['modifyTimestamp'][0])){
+                $this->modifyTimestamp = $attrs['modifyTimestamp'][0];
+            }
+        }
+
+        // Initialize the ACL-resolver
+        $this->aclResolver = new aclResolver($this->config, $this->dn, $this);
+
+        // References we may have to other objects.
+        $this->referenceFilters = array();
+
+        // Check for group membership
+        $this->referenceFilters[] = array(
+            'filter' => "(&(objectClass=posixGroup)(memberUid={$this->uid}))",
+            'attrs'  => array('cn' => _("Name"),'description' => _("Description")),
+            'msg'    => _("Group membership"));
+
+        // Check for group membership in rfc 2307 bis mode
+        $this->referenceFilters[] = array(
+            'filter' => "(&(objectClass=posixGroup)(member=".normalizeLdap($this->dn)."))",
+            'attrs'  => array('cn' => _("Name"),'description' => _("Description")),
+            'msg'    => _("Group membership")." (rfc 2307 bis)");
+
+        // Check for role membership
+        $this->referenceFilters[] = array(
+            'filter' => "(&(objectClass=organizationalRole)(roleOccupant=".normalizeLdap($this->dn)."))",
+            'attrs'  => array('cn' => _("Name"),'description' => _("Description")),
+            'msg'    => _("Role membership"));
+
+        // Check for objectGroup membership
+        $this->referenceFilters[] = array(
+            'filter' => "(&(objectClass=gosaGroupOfNames)(member=".normalizeLdap($this->dn)."))",
+            'attrs'  => array('cn' => _("Name"),'description' => _("Description")),
+            'msg'    => _("Object group membership"));
+
+        // Check for department manager 
+        $this->referenceFilters[] = array(
+            'filter' => "(&(objectClass=gosaDepartment)(manager=".normalizeLdap($this->dn)."))",
+            'attrs'  => array('ou' => _("Name"),'description' => _("Description")),
+            'msg'    => _("Department manager"));
+
+        // Check for user manager 
+        $this->referenceFilters[] = array(
+            'filter' => "(&(objectClass=gosaAccount)(manager=".normalizeLdap($this->dn)."))",
+            'attrs'  => array('givenName' => _("Given name"),'sn' => _("Surname"),'uid'=>_("UID")),
+            'msg'    => _("User manager"));
+
+        // Go through filters and detect possible references  
+        $ldap = $this->config->get_ldap_link();
+        $ldap->cd($this->config->current['BASE']);
+        $str = "";
+        foreach($this->referenceFilters as $filter){
+            $ldap->search($filter['filter'], array_keys($filter['attrs']));
+            if(!$ldap->success()){
+                msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_VIEW, get_class()));
+            }elseif($ldap->count()){
+                $list = new sortableListing();
+                $list->setDeleteable(false);
+                $list->setEditable(false);
+                $list->setWidth("100%");
+                $list->setHeight("80px");
+                $list->setHeader(array_values($filter['attrs']));
+                $list->setDefaultSortColumn(0);
+                $list->setAcl('rwcdm');
+
+                $data = array();
+                while($attrs = $ldap->fetch()){
+
+                    $entry = array();
+                    foreach($filter['attrs'] as $name => $desc){
+                        $$name = "";
+                        if(isset($attrs[$name][0])) $$name = $attrs[$name][0];
+                        $entry['data'][] = $$name;
+                    }
+                    $data[] = $entry;
+                }
+                $list->setListData($data, $data);
+
+                $list->update();    
+                $str .= "<h3>".$filter['msg']."</h3>";
+                $str .= $list->render();
+                $str .= "<div class='v-spacer'></div>";
+            }
+        }
+        $this->objectList = $str;
+    }
+
+    function execute()
+    {
+        // Mark plugin as viewed
+        plugin::execute();
+
+        // Show ldif viewer
+        if(isset($_POST['viewLdif'])){
+            $this->dialog = new ldifViewer($this->config, $this->dn);
+        }
+        if(isset($_POST['cancelLdifViewer'])) $this->dialog = NULL;
+        if($this->dialog instanceOf ldifViewer){
+            return($this->dialog->execute());
+        }
+
+        $smarty = get_smarty();        
+
+        // Assign permissions
+        $tmp = $this->plInfo();
+        $ui = get_userinfo();
+
+        $category = preg_replace("/\/.*$/", "", $this->acl_category);
+        $smarty->assign('aclREAD',  preg_match("/r/",$ui->get_category_permissions($this->dn, 'acl')));
+        $smarty->assign('completeACL',  $ui->has_complete_category_acls($this->dn, $category)); 
+        $smarty->assign('someACL',      $ui->get_category_permissions($this->dn, $category));
+        
+        // Convert the modifyTimestamp to a human readable value
+        $tz = timezone::get_default_timezone();
+        $smarty->assign('modifyTimestamp', set_post(date('d.m.Y H:i:s', strtotime($this->modifyTimestamp))));
+
+        $smarty->assign('objectList', $this->objectList);
+        $smarty->assign("acls",$this->aclResolver->getReadableACL());
+
+        session::set('autocomplete', $this->aclResolver);
+        return ($smarty->fetch (get_template_path('contents.tpl', TRUE, dirname(__FILE__))));
+    }
 }
 
 ?>
diff --git a/gosa-core/plugins/generic/references/contents.tpl b/gosa-core/plugins/generic/references/contents.tpl
index e953da1..36a0037 100644
--- a/gosa-core/plugins/generic/references/contents.tpl
+++ b/gosa-core/plugins/generic/references/contents.tpl
@@ -1,19 +1,54 @@
-{if $objectList ne ""}
-<table summary="" style="width:100%; vertical-align:top; text-align:left; border:1px solid #B0B0B0;"  cellpadding=4 cellspacing=0 border=0 rules="cols">
 
- <colgroup>
-  <col width="20%">
-  <col width="20%">
-  <col width="60%">
- </colgroup>
-
- <tr style="background-color: #E8E8E8; height:26px;font-weight:bold;">
-  <td>{t}Object name{/t}</td><td>{t}Description{/t}</td><td>{t}Contents{/t}</td>
- </tr>
+<h3>{t}Object information{/t}</h3>
+<table width='100%' summary='{t}Object information{/t}'>
+    <tr>
+        <td style='width:48%;'>
+            {if $completeACL|regex_replace:"/[cdmw]/":"" == "r"}
+                <button type='submit' name='viewLdif'>{t}Show raw object entry{/t}</button>
+            {/if}
+        </td>
+        <td class='right-border' style='width:2px'>
+           
+        </td>
+        <td>
+            {if !$someACL|regex_replace:"/[cdmw]/":"" == "r"}
+                {msgPool type='permView'}
+            {else}
+                {if $modifyTimestamp==""}
+                    {t}Last modification{/t}: {t}Unknown{/t}
+                {else}
+                    {t}Last modification{/t}: {$modifyTimestamp}
+                {/if}
+            {/if}
+        </td>
+    </tr>
+</table>
 
- {$objectList}
+<hr>
 
+<table summary='{t}Object references{/t}' class='reference-tab'>
+    <tr>
+        {if $objectList!=""}
+        <td style='width:48%'>
+            {if !$completeACL|regex_replace:"/[cdmw]/":"" == "r"}
+                {msgPool type='permView'}
+            {else}
+                {$objectList}
+            {/if}
+        </td>
+        <td class='right-border'  style='width:2px'>
+           
+        </td>
+        {/if}
+        <td>
+            {if !$aclREAD}
+                <h3>{t}ACL trace{/t}</h3>
+                {msgPool type='permView'}
+            {else}
+                <div style='height:350px; overflow: scroll;'>
+                {$acls}
+                </div>
+            {/if}
+        </td>
+    </tr>
 </table>
-{else}
-<b>{t}This object has no relationship to other objects.{/t}</b>
-{/if}
diff --git a/gosa-core/plugins/generic/statistics/chartClasses/class_actionSelectChart.inc b/gosa-core/plugins/generic/statistics/chartClasses/class_actionSelectChart.inc
new file mode 100644
index 0000000..e78ff90
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/chartClasses/class_actionSelectChart.inc
@@ -0,0 +1,122 @@
+<?php
+
+class actionSelectChart extends statChart
+{
+    protected $title = 'Action count per plugin';
+    protected $current_action = "";
+
+    function __construct(&$config)
+    {
+        parent::__construct($config);
+        $this->graphName = get_class();
+    }
+
+
+    /*! \brief  Generates the line-graph which displays the plugin usage over time.
+     */ 
+    function render()
+    {
+        $lineMax = 10;
+        $gData = $this->graphData;
+        $dataSet = new pData;  
+        $seriesCnt = 0;
+        $pCache = new pCache($this->cachePath);
+
+        // Check if we've received data for the graph we've to render now.
+        $seriesValid = count($gData['actionTypeGraph']);
+        if($seriesValid){
+
+            // Ensure that we've a valid action type selected.
+            if(!isset($gData['actionTypeGraph'][$this->current_action])){
+                $this->current_action = key($gData['actionTypeGraph']);
+            }
+
+            $dataBase = $gData['actionTypeGraph'][$this->current_action];
+
+            foreach($dataBase as $category => $entriesPerDate){
+                if(empty($category) || in_array($category, $this->skipSeries)) continue;
+
+                // Add results to our data set.
+                $dataSet->AddPoint($entriesPerDate, $category);
+                $dataSet->SetSerieName($this->getCategoryTranslation($category), $category);
+                $dataSet->AddSerie($category);
+
+                // Detect maximum value, to adjust the Y-Axis
+                $tmpMax = max($entriesPerDate);
+                if($tmpMax > $lineMax) $lineMax = $tmpMax;
+                $seriesCnt ++;
+            }
+
+            // Keep a list of all selecteable data-series, to allow the user to disable
+            //  or enable series on demand.
+            $this->seriesList = array();
+            foreach($dataBase as $key => $data){
+                $this->seriesList[$key] = $this->getCategoryTranslation($key); 
+            }
+        }
+
+        // Add timeline
+        $dataSet->AddPoint($gData['dates'], 'date');
+        $dataSet->SetAbsciseLabelSerie('date');  
+
+        // Read graph from cache?
+        if($this->enableCaching && $pCache->IsInCache(get_class(),$dataSet->GetData())){
+            $filename =  $pCache->GetHash(get_class(),$dataSet->GetData());
+            $filename = '/var/spool/gosa/'.$filename;    
+            if(file_exists($filename) && is_readable($filename)){
+                $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE)).rand(0,99999);
+                session::set('statistics::graphFile'.$this->graphID,$filename);
+                return;
+            }
+        }
+
+        $chart = new pChart(900,230);  
+        $chart->setFixedScale(0,$lineMax);
+        $chart->setFontProperties("./themes/default/fonts/LiberationSans-Regular.ttf",10);  
+        $chart->setGraphArea(50,28,630,200);  
+        $chart->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);  
+        $chart->drawRoundedRectangle(5,5,695,225,5,230,230,230);  
+        $chart->drawGraphArea(255,255,255,TRUE);  
+        $chart->drawGrid(4,TRUE,200,200,200,50);  
+        $chart->drawTreshold(0,143,55,72,TRUE,TRUE);  
+        $chart->drawTitle(50,22,_($this->title),50,50,50,585);  
+        $chart->drawScale($dataSet->GetData(),$dataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2, TRUE);     
+
+        // Only draw this graph if we've at least one series to draw! 
+        if($seriesCnt){
+            $chart->drawFilledLineGraph($dataSet->GetData(),$dataSet->GetDataDescription(),50,TRUE);
+            $chart->drawLegend(720,0,$dataSet->GetDataDescription(),255,255,255);
+        }
+
+        // Generate new and unique graph id
+        $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE));
+        $file = '/tmp/graph_'.$this->graphID;
+        $chart->Render($file);
+        session::set('statistics::graphFile'.$this->graphID,$file);
+        $pCache->WriteToCache(get_class(),$dataSet->GetData(),$chart);   
+
+        return;
+    }
+
+    function getGraphOptions()
+    {
+        $current = $this->current_action; 
+        $str = " <b>"._("Action").":</b> ".
+            "<select name='actionSelectChart_action' size='1' onChange='document.mainform.submit();'>";
+        foreach(array_keys($this->graphData['actionTypeGraph']) as $name){
+            $checked = ($name==$current)? 'selected' : '';
+            $str .= "\n<option value='{$name}' {$checked}>"._($name)."</option>";
+        }
+        $str .= "</select>";
+        return($str);
+    }
+
+    function save_object()
+    {
+        parent::save_object();
+        if(isset($_POST['actionSelectChart_action'])){
+            $this->current_action = get_post('actionSelectChart_action');
+        }
+    }
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc b/gosa-core/plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc
new file mode 100644
index 0000000..99703a5
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc
@@ -0,0 +1,127 @@
+<?php
+
+class categoryActionsOverTime extends statChart
+{
+    protected $title = 'Plugin usage over time';
+
+    function __construct(&$config)
+    {
+        parent::__construct($config);
+        $this->graphName = get_class();
+    }
+
+
+    /*! \brief  Generates the line-graph which displays the plugin usage over time.
+     */ 
+    function render()
+    {
+        $lineMax = 100;
+        $gData = $this->graphData;
+        $errorMax = (max($gData['errorsPerInterval']) < 100)? 100:max($gData['errorsPerInterval']);
+        $dataSet = new pData;  
+        $seriesCnt = 0;
+        foreach($gData['actionsGraph'] as $category => $entriesPerDate){
+            if(empty($category) || in_array($category, $this->skipSeries)) continue;
+
+            // Add results to our data set.
+            $dataSet->AddPoint($entriesPerDate, $category);
+            $dataSet->SetSerieName($this->getCategoryTranslation($category), $category);
+            $dataSet->AddSerie($category);
+
+            // Detect maximum value, to adjust the Y-Axis
+            $tmpMax = max($entriesPerDate);
+            if($tmpMax > $lineMax) $lineMax = $tmpMax;
+            $seriesCnt ++;
+        }
+
+        // Keep a list of all selecteable data-series, to allow the user to disable
+        //  or enable series on demand.
+        $this->seriesList = array();
+        foreach($gData['actionsGraph'] as $key => $data){
+            $this->seriesList[$key] = $this->getCategoryTranslation($key); 
+        }
+        $this->seriesList['errorsPerInterval'] = _("Error");
+
+        // Create a dataSet containing all series 
+        $allSeriesDataSet = clone $dataSet;
+        if(!in_array('errorsPerInterval', $this->skipSeries)){
+            $allSeriesDataSet->AddPoint($gData['errorsPerInterval'], 'Errors');
+            $allSeriesDataSet->SetSerieName(_('Error'), 'Errors');
+            $allSeriesDataSet->AddSerie('Errors');
+        }
+
+        // Add timeline
+        $dataSet->AddPoint($gData['dates'], 'date');
+        $dataSet->SetAbsciseLabelSerie('date');  
+
+        // Read graph from cache?
+        $pCache = new pCache($this->cachePath);
+        if($this->enableCaching && $pCache->IsInCache(get_class(),$allSeriesDataSet->GetData())){
+            $filename =  $pCache->GetHash(get_class(),$allSeriesDataSet->GetData());
+            $filename = '/var/spool/gosa/'.$filename;    
+            if(file_exists($filename) && is_readable($filename)){
+                $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE)).rand(0,99999);
+                session::set('statistics::graphFile'.$this->graphID,$filename);
+                return;
+            }
+        }
+
+        $chart = new pChart(900,230);  
+        $chart->setFixedScale(0.000,$lineMax);
+        $chart->setFontProperties("./themes/default/fonts/LiberationSans-Regular.ttf",10);  
+        $chart->setGraphArea(50,28,630,200);  
+        $chart->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);  
+        $chart->drawRoundedRectangle(5,5,695,225,5,230,230,230);  
+        $chart->drawGraphArea(255,255,255,TRUE);  
+        $chart->drawGrid(4,TRUE,200,200,200,50);  
+        $chart->drawTreshold(0,143,55,72,TRUE,TRUE);  
+        $chart->drawTitle(50,22,_($this->title),50,50,50,585);  
+        $chart->drawScale($dataSet->GetData(),$dataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2, TRUE);     
+
+        // Only draw this graph if we've at least one series to draw! 
+        if($seriesCnt){
+            $chart->drawFilledLineGraph($dataSet->GetData(),$dataSet->GetDataDescription(),50,TRUE);
+        }
+
+        // Do we've to add the errors series?
+        // If we have to, then add the error-data-series.
+        //  and set the color for the new error-series to red.
+        if(!in_array('errorsPerInterval', $this->skipSeries)){
+
+            // Set the color for the error Series to 'red'. 
+            // This has to be done before drawing the legend.
+            $chart->setColorPalette($seriesCnt,255,0,0);   
+
+            $dataSet->AddPoint($gData['errorsPerInterval'], 'Errors');
+            $dataSet->SetSerieName(_('Error'), 'Errors');
+            $dataSet->AddSerie('Errors');
+        }
+
+        $chart->drawLegend(720,0,$dataSet->GetDataDescription(),255,255,255);
+
+        // Draw the error graph on top of the other graphs now.
+        // But remove the category-graph before. 
+        if(!in_array('errorsPerInterval', $this->skipSeries)){
+
+            // Remove all graph series and add the error-series, then draw the new graph.
+            // (It is not relevant if it was really added before, so we simply remove all series!)
+            foreach($gData['actionsGraph'] as $category => $data){
+                $dataSet->RemoveSerie($category);
+            }
+            $chart->setFixedScale(0,$errorMax);
+            $chart->drawRightScale($dataSet->GetData(),$dataSet->GetDataDescription(),SCALE_NORMAL,120,150,150,TRUE,0,2, TRUE);
+            $chart->drawBarGraph($dataSet->GetData(),$dataSet->GetDataDescription());
+        }
+
+        // Generate new and unique graph id
+        $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE));
+        $file = '/tmp/graph_'.$this->graphID;
+        $chart->Render($file);
+        session::set('statistics::graphFile'.$this->graphID,$file);
+        $pCache->WriteToCache(get_class(),$allSeriesDataSet->GetData(),$chart);   
+
+        return;
+    }
+
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc b/gosa-core/plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc
new file mode 100644
index 0000000..23c016e
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc
@@ -0,0 +1,21 @@
+<?php
+
+class cpuLoadChart extends memoryUsageChart
+{
+    protected $title = 'CPU load';
+    protected $enableCaching = TRUE;
+
+    function __construct(&$config)
+    {
+        parent::__construct($config);
+        $this->graphName = get_class();
+
+        // Generate graph which displays the memory usage over time
+        $this->series = array(
+                'max_load' => _('Maximum'),
+                'avg_load' => _('Average'),
+                'min_load' => _('Minimum'));
+        $this->dataName = "usagePerInterval";
+    }
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/chartClasses/class_durationTimeChart.inc b/gosa-core/plugins/generic/statistics/chartClasses/class_durationTimeChart.inc
new file mode 100644
index 0000000..6e07412
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/chartClasses/class_durationTimeChart.inc
@@ -0,0 +1,21 @@
+<?php
+
+class durationTimeChart extends memoryUsageChart
+{
+    protected $title = 'Plugin duration';
+    protected $enableCaching = TRUE;
+
+    function __construct(&$config)
+    {
+        parent::__construct($config);
+        $this->graphName = get_class();
+
+        // Generate graph which displays the memory usage over time
+        $this->series = array(
+                'max_dur' => _('Maximum'),
+                'avg_dur' => _('Average'),
+                'min_dur' => _('Minimum'));
+        $this->dataName = "usagePerInterval";
+    }
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc b/gosa-core/plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc
new file mode 100644
index 0000000..ec72a31
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc
@@ -0,0 +1,87 @@
+<?php
+
+class memoryUsageChart extends statChart
+{
+    protected $title = 'Memory usage';
+    protected $enableCaching = TRUE;
+
+    function __construct(&$config)
+    {
+        parent::__construct($config);
+        $this->graphName = get_class();
+
+        // Generate graph which displays the memory usage over time
+        $this->series = array(
+                'max_mem' => _('Maximum'),
+                'avg_mem' => _('Average'),
+                'min_mem' => _('Minimum'));
+        $this->dataName = "usagePerInterval";
+    }
+
+
+    /*! \brief  Generates the line-graph which displays the plugin usage over time.
+     */ 
+    function render()
+    {
+
+        // Add series data to dataSet        
+        $dataSet = new pData;  
+        $max = 1;
+        foreach($this->series as $seriesName => $seriesDesc){
+
+            // Check if we've useable series data
+            $renderable = 
+                (isset($this->graphData[$this->dataName][$seriesName])) && 
+                (count($this->graphData[$this->dataName][$seriesName]));
+
+            // Add series if it has at least one result
+            if($renderable){
+                $dataSet->AddPoint($this->graphData[$this->dataName][$seriesName],$seriesName);
+                $dataSet->SetSerieName($seriesDesc,$seriesName);
+                if($max < max($this->graphData[$this->dataName][$seriesName])) $max = max($this->graphData[$this->dataName][$seriesName]);
+            }
+        }
+        $dataSet->AddAllSeries();  
+        $dataSet->AddPoint($this->graphData['dates'], 'date');
+        $dataSet->SetAbsciseLabelSerie('date');  
+       
+        // Read graph from cache?
+        $pCache = new pCache($this->cachePath);
+        if($this->enableCaching && $pCache->IsInCache(get_class(),$dataSet->GetData())){
+            $filename =  $pCache->GetHash(get_class(),$dataSet->GetData());
+            $filename = '/var/spool/gosa/'.$filename;    
+            if(file_exists($filename) && is_readable($filename)){
+                $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE)).rand(0,99999);
+                session::set('statistics::graphFile'.$this->graphID,$filename);
+                return;
+            }
+        }
+
+        $chart = new pChart(800,230);  
+        $chart->setFixedScale(0,$max);  
+        $chart->setFontProperties("./themes/default/fonts/LiberationSans-Regular.ttf",10);  
+        $chart->setGraphArea(50,30,585,200);  
+        $chart->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);  
+        $chart->drawRoundedRectangle(5,5,695,225,5,230,230,230);  
+        $chart->drawGraphArea(255,255,255,TRUE);  
+        $chart->drawGrid(4,TRUE,200,200,200,50);  
+        $chart->drawTreshold(0,143,55,72,TRUE,TRUE);  
+        $chart->drawTitle(50,22,$this->title,50,50,50,585);  
+        $chart->drawLegend(650,30,$dataSet->GetDataDescription(),255,255,255);  
+
+        $chart->drawScale($dataSet->GetData(),$dataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2, FALSE);
+#        $chart->drawFilledCubicCurve($dataSet->GetData(),$dataSet->GetDataDescription(),.1,50); 
+        $chart->drawFilledLineGraph($dataSet->GetData(),$dataSet->GetDataDescription(),50,TRUE); 
+
+        // Generate new and unique graph id
+        $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE));
+        $file = '/tmp/graph_'.$this->graphID;
+        $chart->Render($file);
+        session::set('statistics::graphFile'.$this->graphID,$file);
+        $pCache->WriteToCache(get_class(),$dataSet->GetData(),$chart);   
+
+        return;
+    }
+
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/chartClasses/class_objectCountChart.inc b/gosa-core/plugins/generic/statistics/chartClasses/class_objectCountChart.inc
new file mode 100644
index 0000000..4c5a2f5
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/chartClasses/class_objectCountChart.inc
@@ -0,0 +1,91 @@
+<?php
+
+class objectCountChart extends statChart
+{
+    protected $title = 'Object count';
+
+    function __construct(&$config)
+    {
+        parent::__construct($config);
+        $this->graphName = get_class();
+    }
+
+
+    /*! \brief  Generates the line-graph which displays the plugin usage over time.
+     */ 
+    function render()
+    {
+        $lineMax = 20;
+        $gData = $this->graphData;
+        $dataSet = new pData;  
+        $seriesCnt = 0;
+
+        foreach($gData['objectCountPerInterval'] as $category => $count){
+            if(empty($category) || in_array($category, $this->skipSeries)) continue;
+
+            // Add results to our data set.
+            $dataSet->AddPoint($count, $category);
+            $dataSet->SetSerieName($this->getCategoryTranslation($category), $category);
+            $dataSet->AddSerie($category);
+
+            // Detect maximum value, to adjust the Y-Axis
+            $tmpMax = max($count);
+            if($tmpMax > $lineMax) $lineMax = $tmpMax;
+            $seriesCnt ++;
+            if($seriesCnt>=8) break;
+        }
+
+        // Keep a list of all selecteable data-series, to allow the user to disable
+        //  or enable series on demand.
+        $this->seriesList = array();
+        foreach($gData['objectCountPerInterval'] as $key => $data){
+            $this->seriesList[$key] = $this->getCategoryTranslation($key); 
+        }
+
+        // Add timeline
+        $dataSet->AddPoint($gData['dates'], 'date');
+        $dataSet->SetAbsciseLabelSerie('date');  
+
+        // Read graph from cache?
+        $pCache = new pCache($this->cachePath);
+        if($this->enableCaching && $pCache->IsInCache(get_class(),$dataSet->GetData())){
+            $filename =  $pCache->GetHash(get_class(),$dataSet->GetData());
+            $filename = '/var/spool/gosa/'.$filename;    
+            if(file_exists($filename) && is_readable($filename)){
+                $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE)).rand(0,99999);
+                session::set('statistics::graphFile'.$this->graphID,$filename);
+                return;
+            }
+        }
+
+        $chart = new pChart(900,230);  
+        $chart->setFixedScale(0,$lineMax);
+        $chart->setFontProperties("./themes/default/fonts/LiberationSans-Regular.ttf",10);  
+        $chart->setGraphArea(50,28,630,200);  
+        $chart->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);  
+        $chart->drawRoundedRectangle(5,5,695,225,5,230,230,230);  
+        $chart->drawGraphArea(255,255,255,TRUE);  
+        $chart->drawGrid(4,TRUE,200,200,200,50);  
+        $chart->drawTreshold(0,143,55,72,TRUE,TRUE);  
+        $chart->drawTitle(50,22,_($this->title),50,50,50,585);  
+        $chart->drawScale($dataSet->GetData(),$dataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2, TRUE);     
+
+        // Only draw this graph if we've at least one series to draw! 
+        if($seriesCnt){
+            $chart->drawFilledLineGraph($dataSet->GetData(),$dataSet->GetDataDescription(),50,TRUE);
+            $chart->drawLegend(720,0,$dataSet->GetDataDescription(),255,255,255);
+        }
+
+
+        // Generate new and unique graph id
+        $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE));
+        $file = '/tmp/graph_'.$this->graphID;
+        $chart->Render($file);
+        session::set('statistics::graphFile'.$this->graphID,$file);
+        $pCache->WriteToCache(get_class(),$dataSet->GetData(),$chart);   
+
+        return;
+    }
+
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/chartClasses/class_passwordChangeChart.inc b/gosa-core/plugins/generic/statistics/chartClasses/class_passwordChangeChart.inc
new file mode 100644
index 0000000..a2fb8d9
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/chartClasses/class_passwordChangeChart.inc
@@ -0,0 +1,93 @@
+<?php
+
+class passwordChangeChart extends statChart
+{
+    protected $title = 'Password changes';
+    protected $current_action = "";
+
+    function __construct(&$config)
+    {
+        parent::__construct($config);
+        $this->graphName = get_class();
+    }
+
+
+    /*! \brief  Generates the line-graph which displays the plugin usage over time.
+     */ 
+    function render()
+    {
+        $lineMax = 10;
+        $gData = $this->graphData;
+        $dataSet = new pData;  
+        $seriesCnt = 0;
+
+        $dataBase = $gData['usedPasswordHashes'];
+    
+        foreach($dataBase as $category => $entriesPerDate){
+            if(empty($category) || in_array($category, $this->skipSeries)) continue;
+
+            // Add results to our data set.
+            $dataSet->AddPoint($entriesPerDate, $category);
+            $dataSet->SetSerieName($this->getCategoryTranslation($category), $category);
+            $dataSet->AddSerie($category);
+
+            // Detect maximum value, to adjust the Y-Axis
+            $tmpMax = max($entriesPerDate);
+            if($tmpMax > $lineMax) $lineMax = $tmpMax;
+            $seriesCnt ++;
+        }
+
+        // Keep a list of all selecteable data-series, to allow the user to disable
+        //  or enable series on demand.
+        $this->seriesList = array();
+        foreach($dataBase as $key => $data){
+            $this->seriesList[$key] = $this->getCategoryTranslation($key); 
+        }
+
+        // Add timeline
+        $dataSet->AddPoint($gData['dates'], 'date');
+        $dataSet->SetAbsciseLabelSerie('date');  
+
+        // Read graph from cache?
+        $pCache = new pCache($this->cachePath);
+        if($this->enableCaching && $pCache->IsInCache(get_class(),$dataSet->GetData())){
+            $filename =  $pCache->GetHash(get_class(),$dataSet->GetData());
+            $filename = '/var/spool/gosa/'.$filename;    
+            if(file_exists($filename) && is_readable($filename)){
+                $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE)).rand(0,99999);
+                session::set('statistics::graphFile'.$this->graphID,$filename);
+                return;
+            }
+        }
+
+        $chart = new pChart(900,230);  
+        $chart->setFixedScale(0,$lineMax);
+        $chart->setFontProperties("./themes/default/fonts/LiberationSans-Regular.ttf",10);  
+        $chart->setGraphArea(50,28,630,200);  
+        $chart->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);  
+        $chart->drawRoundedRectangle(5,5,695,225,5,230,230,230);  
+        $chart->drawGraphArea(255,255,255,TRUE);  
+        $chart->drawGrid(4,TRUE,200,200,200,50);  
+        $chart->drawTreshold(0,143,55,72,TRUE,TRUE);  
+        $chart->drawTitle(50,22,_($this->title),50,50,50,585);  
+        $chart->drawScale($dataSet->GetData(),$dataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2, TRUE);     
+
+        // Only draw this graph if we've at least one series to draw! 
+        if($seriesCnt){
+            $chart->drawFilledLineGraph($dataSet->GetData(),$dataSet->GetDataDescription(),50,TRUE);
+            #$chart->drawBarGraph($dataSet->GetData(),$dataSet->GetDataDescription(),TRUE);  
+            #$chart->drawStackedBarGraph($dataSet->GetData(),$dataSet->GetDataDescription(),TRUE);  
+            $chart->drawLegend(720,0,$dataSet->GetDataDescription(),255,255,255);
+        }
+
+        // Generate new and unique graph id
+        $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE));
+        $file = '/tmp/graph_'.$this->graphID;
+        $chart->Render($file);
+        session::set('statistics::graphFile'.$this->graphID,$file);
+        $pCache->WriteToCache(get_class(),$dataSet->GetData(),$chart);   
+
+        return;
+    }
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/chartClasses/class_pieChart1.inc b/gosa-core/plugins/generic/statistics/chartClasses/class_pieChart1.inc
new file mode 100644
index 0000000..f13b06d
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/chartClasses/class_pieChart1.inc
@@ -0,0 +1,95 @@
+<?php
+
+class pieChart1 extends statChart
+{
+    protected $title = 'Plugin usage';
+    protected $keyName = "actionsPerCategory";
+
+
+    function __construct(&$config)
+    {
+        parent::__construct($config);
+        $this->graphName = get_class();
+    }
+
+    /*! \brief  Generate the pie-chart which displays the overall-plugin-usage
+     */
+    function render()
+    {
+        // Do nothing, if we've no data.
+        $data = array();
+        if(isset($this->graphData[$this->keyName]) && count($this->graphData[$this->keyName])){
+            $data = $this->graphData[$this->keyName];
+        }
+
+        // Sort data by usage count and slice array to get 
+        //  the eight most used categories
+        arsort($data);
+        
+        // Detect max value and throw out entries less than 1% 
+        //  the will else be unreadable
+
+        $max = (count($data)) ? max($data) : 1;
+        $pos = 0;
+        foreach($data as $key => $count){
+            if($pos >=7 || ($count / $max)*100 < 1) break;
+            $pos ++;
+        }
+
+        $this->graphID = 0;
+ 
+        $dataRes = array_slice($data,0,$pos);
+
+        // Get the rest of categories and combine them 'others'
+        $theRest = array_slice($data,$pos);
+        $dataRes['remaining'] = array_sum($theRest);
+
+        // Try to find a translation for the given category names
+        $values = array_values($dataRes);
+        $keys = array_keys($dataRes);
+        foreach($keys as $id => $cat){
+            $keys[$id] = $this->getCategoryTranslation($cat);
+        }
+
+        if(!count($data)) return;
+
+        // Dataset definition   
+        $dataSet = new pData;  
+        $dataSet->AddPoint($values,"Serie1");  
+        $dataSet->AddAllSeries();  
+        $dataSet->AddPoint($keys,"Serie2");  
+        $dataSet->SetAbsciseLabelSerie("Serie2");  
+
+        // Read graph from cache?
+        $pCache = new pCache($this->cachePath);
+        if($this->enableCaching && $pCache->IsInCache(get_class(),$dataSet->GetData())){
+            $filename =  $pCache->GetHash(get_class(),$dataSet->GetData());
+            $filename = '/var/spool/gosa/'.$filename;    
+            if(file_exists($filename) && is_readable($filename)){
+                $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE)).rand(0,99999);
+                session::set('statistics::graphFile'.$this->graphID,$filename);
+                return;
+            }
+        }
+
+        // Set graph area
+        $x = 400;
+        $y = 200;
+
+        // Initialise the graph  
+        $chart = new pChart($x,$y);  
+        $chart->setFontProperties($this->font,10); 
+        if(count($data)) {
+            $chart->drawPieGraph($dataSet->GetData(),$dataSet->GetDataDescription(),($x/3),($y/2)-10,($y/2),PIE_PERCENTAGE,TRUE,50,20,6);  
+            $chart->drawPieLegend(($x/3*2),15,$dataSet->GetData(),$dataSet->GetDataDescription(),255,255,255);
+        }
+
+        // Store graph data
+        $this->graphID = preg_replace("/[^0-9]/","",microtime(TRUE));
+        $file = '/tmp/graph_'.$this->graphID;
+        $chart->Render($file);
+        session::set('statistics::graphFile'.$this->graphID,$file);
+        $pCache->WriteToCache(get_class(),$dataSet->GetData(),$chart);   
+    }
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/chartClasses/class_pieChart2.inc b/gosa-core/plugins/generic/statistics/chartClasses/class_pieChart2.inc
new file mode 100644
index 0000000..21baa9e
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/chartClasses/class_pieChart2.inc
@@ -0,0 +1,14 @@
+<?php
+
+class pieChart2 extends pieChart1
+{
+    protected $title = 'Action usage';
+    protected $keyName = "actionsPerPluginAction";
+
+    function __construct(&$config)
+    {
+        parent::__construct($config);
+        $this->graphName = get_class();
+    }
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/chartClasses/class_renderTimeChart.inc b/gosa-core/plugins/generic/statistics/chartClasses/class_renderTimeChart.inc
new file mode 100644
index 0000000..eb6d26b
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/chartClasses/class_renderTimeChart.inc
@@ -0,0 +1,21 @@
+<?php
+
+class renderTimeChart extends memoryUsageChart
+{
+    protected $title = 'Render time';
+    protected $enableCaching = TRUE;
+
+    function __construct(&$config)
+    {
+        parent::__construct($config);
+        $this->graphName = get_class();
+
+        // Generate graph which displays the memory usage over time
+        $this->series = array(
+                'max_render' => _('Maximum'),
+                'avg_render' => _('Average'),
+                'min_render' => _('Minimum'));
+        $this->dataName = "usagePerInterval";
+    }
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/chartClasses/class_statChart.inc b/gosa-core/plugins/generic/statistics/chartClasses/class_statChart.inc
new file mode 100644
index 0000000..7b50465
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/chartClasses/class_statChart.inc
@@ -0,0 +1,131 @@
+<?php
+
+class statChart{
+
+    // Graph data 
+    protected $statisticData = array();       // Via rpc received stats
+    
+    // Font used in graphs
+    protected $font = "./themes/default/fonts/LiberationSans-Regular.ttf";
+    protected $graphData = array();    
+    protected $graphID = 0;
+    protected $enableCaching = TRUE;
+    protected $skipSeries = array();
+    protected $graphName = 0;
+    protected $seriesList = array();
+
+    protected $cachePath = "";
+
+    function __construct(&$config,$gData = array())
+    {
+        // Try to get the configured stats path to store image for caching reasons
+        $path = $config->get_cfg_value('core', 'statsDatabaseDirectory');
+        if(!empty($path)){
+            $this->cachePath = "{$path}/images/";
+        }else{
+            $this->cachePath = "/var/spool/gosa/stats/images/";
+        }
+
+        // Try to create the cache path
+        if(!is_dir($this->cachePath)){
+            @mkdir($this->cachePath);
+        }
+
+        $this->config = $config;
+
+        // Collect category translations
+        $this->catTranslations = array();
+        foreach($this->config->configRegistry->getListOfPlugins() as $plugin => $data){
+            if(isset($data['plCategory'])){
+                foreach($data['plCategory'] as $id => $name){
+                    if(!is_numeric($id)){
+                        $this->catTranslations[$id] = $name['description'];
+                    }
+                }
+            }
+        }
+    }
+
+
+    function getTitle()
+    {
+        return(_($this->title));
+    }    
+
+
+    function setGraphData($data)
+    {
+        $this->graphData = $data;
+    }
+
+
+    /*! \brief      This method tries to translate category names.
+     *  @param      The category name to translate
+     *  @return     String  The translated category names.
+     */
+    function getCategoryTranslation($name)
+    {
+        $ret ="";
+
+        // We do not have a category for systems directly, so we've to map all system types to 'System'.
+        // If we do not map to _(Systems) the graph legend will be half screen width.
+        if($name == "systems"){
+            return(_("Systems"));
+        }
+
+        // Walk through category names and try to find a translation.
+        $cat = trim($name);
+        if(isset($this->catTranslations[$cat])){
+            $cat = _($this->catTranslations[$cat]);
+        }elseif(!empty($cat)){
+            $cat = _($cat);
+        }
+        return($cat); 
+    }
+
+
+    function getGraphID()
+    {
+        return($this->graphID);
+    }
+
+    function getSeriesList()
+    {
+        return($this->seriesList);
+    }
+
+    function getGraphOptions()
+    {
+        return("");
+    }
+
+    function getSeriesSelector()
+    {
+        $str = "<input type='hidden' name='{$this->graphName}_posted' value='1'>";
+        $list = $this->getSeriesList();
+        foreach($list as $key => $item){
+            $checked = (in_array($key, $this->skipSeries))? '': 'checked';
+            $str .= "<span style='padding-right:20px'>".
+                    "   <input id='addSeries_{$this->graphName}_{$key}' type='checkbox' ".
+                    "       name='addSeries_{$this->graphName}_{$key}' value='1'".
+                    "       onClick=\"document.mainform.submit();\" ".
+                    "       {$checked}><LABEL for='addSeries_{$this->graphName}_{$key}'>{$item}</LABEL>".
+                    "   </span>";
+        }
+        return($str);
+    }
+
+    function save_object()
+    {
+        if(!isset($_POST["{$this->graphName}_posted"])) return;
+
+        // Get series to enable or disable
+        $this->skipSeries = array();
+        foreach($this->seriesList as $seriesName => $seriesDesc){
+            if(!isset($_POST["addSeries_{$this->graphName}_{$seriesName}"])){
+                $this->skipSeries[] = $seriesName;
+            }
+        }
+    }
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/class_statistics.inc b/gosa-core/plugins/generic/statistics/class_statistics.inc
new file mode 100644
index 0000000..aaedbbe
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/class_statistics.inc
@@ -0,0 +1,474 @@
+<?php
+
+class statistics extends plugin
+{
+    var $plHeadline = 'Statistics';
+    var $plDescription = 'GOsa usage statistics';
+    var $plShortIcon = 'statistics.png';
+    var $plIcon = 'plugin.png';
+    
+    var $rpcHandle = NULL;
+    var $rpcConfigured = FALSE;
+
+    // Graph data 
+    var $statisticData = array();       // Via rpc received stats
+
+    // Font used in graphs
+    var $font = "./themes/default/fonts/LiberationSans-Regular.ttf";
+
+    // Datepicker initial
+    var $graph1DatePicker1 = 0;
+    var $graph1DatePicker2 = 0;
+
+    // A collection of timestamps for unsubmitted statistics data.
+    var $unsbmittedFiles = NULL;
+
+    var $graphs = array();
+    var $selectedGraphType = 0;
+
+    var $serverAccessible = FALSE;
+    var $instanceRegistered = FALSE;
+    var $registrationNotWanted = FALSE;
+
+    var $initialized = FALSE;
+
+    function __construct($config)
+    {
+        plugin::plugin($config, NULL);
+    }
+
+    function init()
+    {
+        // Detect registration status first
+        $this->serverAccessible = $this->config->registration->isServerAccessible();
+        $this->registrationNotWanted = $this->config->registration->registrationNotWanted();
+        $this->instanceRegistered = $this->config->registration->isInstanceRegistered();
+        if($this->instanceRegistered){
+            $this->graphs[] = new categoryActionsOverTime($this->config); 
+            $this->graphs[] = new memoryUsageChart($this->config); 
+            $this->graphs[] = new cpuLoadChart($this->config); 
+            $this->graphs[] = new renderTimeChart($this->config); 
+            $this->graphs[] = new durationTimeChart($this->config); 
+            $this->graphs[] = new objectCountChart($this->config); 
+            $this->graphs[] = new actionSelectChart($this->config); 
+            $this->graphs[] = new passwordChangeChart($this->config); 
+            $this->staticChart1 = new pieChart1($this->config); 
+            $this->staticChart2 = new pieChart2($this->config); 
+
+
+            // Init start and stop times for graph 1
+            $this->graph1DatePicker1 = date('d.m.Y', time() - 28 * 24 * 60 *60);
+            $this->graph1DatePicker2 = date('d.m.Y', time());
+
+            // First try to retrieve values via RPC
+            $this->rpcConfigured = TRUE;
+            $this->rpcHandle = $this->config->getRpcHandle(
+                    $this->config->registration->getRegistrationServer(),
+                    $this->config->getInstanceUUID(),
+                    $this->config->configRegistry->getPropertyValue('GOsaRegistration','instancePassword'),
+                    TRUE);
+
+            $this->initialized = TRUE;
+        }
+    }
+
+
+    /*! \brief      Returns a list local stored statistic files
+        @param      Array   A list of filenames and dates.
+     */ 
+    function getLocalStatisticsFiles()
+    {
+        $res = stats::getLocalStatFiles();
+        $tmp = array();
+        if(count($res)){
+            foreach($res as $file){
+                $date = strtotime($file);
+                if($date){
+                    $tmp[$file] = $date;
+                }
+            }
+        }
+        return($tmp);
+    }
+
+   
+    /*! \brief      Returns a list of not transmitted stat files (except files for the current day)
+     *  @return     Array   A list of unsubmitted statistic files.
+     */ 
+    function getUnsubmittedStatistics()
+    {
+        $alreadyTransmitted = $this->getStatisticsDatesFromServer();
+        if($alreadyTransmitted == NULL){
+            return(NULL);
+        }
+
+        $available = $this->getLocalStatisticsFiles();
+
+        $unsubmitted = array();
+        foreach($available as $key => $day){
+            if(!isset($alreadyTransmitted[$key])) $unsubmitted [$key] = $day;
+        }
+
+        // Exclude statistic collection from today, they are still active and cannot be submitted.
+        $curDate =  date('Y-m-d');
+        if(isset($unsubmitted)) unset($unsubmitted[$curDate]);
+        return($unsubmitted);  
+    }
+
+
+    /*! \brief      Request a list of dates for which the server can return statistics.
+        @param      Array   A list of dates    $ret=[iso-str] = timestamp
+     */ 
+    function getStatisticsDatesFromServer()
+    {
+        // Do not request anything while rpc isn't configured.
+        if(!$this->rpcConfigured){
+            return(array());
+        }
+        
+        // Try to gather statistic dates from the backenbd.
+        $res = $this->rpcHandle->getInstanceStatDates();
+        $dates = array();
+        if(!$this->rpcHandle->success()){
+            msg_dialog::display(_("Error"),msgPool::rpcError($this->rpcHandle->get_error()),ERROR_DIALOG);
+            return(NULL);
+        }else{
+            foreach($res as $date){
+                $dates[$date] = strtotime($date);
+            }
+        }
+        $this->rpcHandle_Error = !$this->rpcHandle->success();
+        return($dates);
+    }
+
+
+    function execute()
+    {
+
+        if(!$this->initialized) $this->init();
+
+        $smarty = get_smarty();
+       
+        // Check registration status, we need at least 'registered'. 
+        $smarty->assign("instanceRegistered", $this->instanceRegistered);
+        $smarty->assign("serverAccessible", $this->serverAccessible);
+        $smarty->assign("registrationNotWanted", $this->registrationNotWanted);
+        $plist = session::get('plist');
+        $id = array_search('dashBoard', $plist->pluginList);
+        $smarty->assign('dashBoardId', $id);
+
+        // If we have an unregistered instance of GOsa, display a message which
+        //  allows to registrate GOsa
+        if(!$this->instanceRegistered || !$this->serverAccessible){
+            return($smarty->fetch(get_template_path('statistics.tpl', TRUE)));
+        }
+
+        $smarty->assign('graph1DatePicker1', $this->graph1DatePicker1);
+        $smarty->assign('graph1DatePicker2', $this->graph1DatePicker2);
+
+        // Get list of unsubmitted files.
+        if($this->unsbmittedFiles == NULL){
+            $this->unsbmittedFiles = $this->getUnsubmittedStatistics();
+        }
+
+        // Do not render anything if we are not prepared to send and receive data via rpc.
+        $smarty->assign("rpcConfigured", $this->rpcConfigured);
+        $smarty->assign("validRpcHandle", TRUE);
+        if(!$this->rpcHandle){
+            $smarty->assign("validRpcHandle", FALSE);
+            return($smarty->fetch(get_template_path('statistics.tpl', TRUE)));
+        }
+
+        // Assign list of selectable graphs 
+        $tmp = array();
+        foreach($this->graphs as $id => $gClass){
+            $tmp[$id] = $gClass->getTitle();
+        }
+        $smarty->assign("selectedGraphType", $this->selectedGraphType);
+        $smarty->assign("availableGraphs", $tmp);
+
+        // Send stats 
+        if(isset($_POST['transmitStatistics'])){
+            $this->unsbmittedFiles = $this->getUnsubmittedStatistics();
+            foreach($this->unsbmittedFiles as $filename => $date){
+
+                $strDate = date('Y-m-d', $date);
+                $tmp = stats::generateStatisticDump($filename);
+                $dump = array();
+                $invalidDateCount = 0;
+                foreach($tmp as $entry){
+                   
+                    // Check if the result date equals the report file date
+                    //  - If not update the entry. 
+                    if($entry['date'] != $strDate){
+                        $entry['date'] = $strDate;
+                        $invalidDateCount ++;
+                    }
+                    $dump[] = array_values($entry);
+                }
+
+                // Merge result with ldap object count 
+                $objectCount = stats::getLdapObjectCount($this->config, TRUE, date('Y-m-d', $date));
+                foreach($objectCount as $entry){
+
+                    // Check if the result date equals the report file date
+                    //  - If not update the entry. 
+                    if($entry['date'] != $strDate){
+                        $entry['date'] = $strDate;
+                        $invalidDateCount ++;
+                    }
+                    $dump[] = array_values($entry);
+                }
+
+                // Warn about invalid dates transmitted
+                if($invalidDateCount) trigger_error(sprintf("Report contained %s entries with invalid date string!",$invalidDateCount));
+            
+                // Send in our report now.
+                $res = $this->rpcHandle->updateInstanceStatus($dump);
+                if(!$this->rpcHandle->success()){
+                    msg_dialog::display(_("Error"),msgPool::rpcError($this->rpcHandle->get_error()),ERROR_DIALOG);
+                }else{
+                    stats::removeStatsFile($filename);
+                }
+                $this->rpcHandle_Error = !$this->rpcHandle->success();
+            }
+            $this->unsbmittedFiles = $this->getUnsubmittedStatistics();
+        }
+
+        // Transmit daily statistics to GOsa-Server
+        if((isset($_POST['receiveStatistics']) || !count($this->statisticData)) && $this->rpcConfigured){
+            $start = strtotime($this->graph1DatePicker1);
+            $stop  = strtotime($this->graph1DatePicker2);
+            $res = $this->rpcHandle->getInstanceStats($start,$stop);
+            if(!$this->rpcHandle->success()){
+                msg_dialog::display(_("Error"),msgPool::rpcError($this->rpcHandle->get_error()),ERROR_DIALOG);
+            }elseif($res){
+                $this->statisticData = $this->prepareGraphData($res); 
+            }
+            $this->rpcHandle_Error = !$this->rpcHandle->success();
+        }
+       
+        // Update graphs 
+        $this->reloadGraphs();
+
+        $smarty->assign('staticChart1_ID', $this->staticChart1->getGraphID());
+        $smarty->assign('staticChart2_ID', $this->staticChart2->getGraphID());
+
+        $curGraph = $this->graphs[$this->selectedGraphType];
+        $smarty->assign('curGraphID', $curGraph->getGraphID());
+        $smarty->assign('curGraphOptions', $curGraph->getGraphOptions());
+        $smarty->assign('curSeriesSelector', $curGraph->getSeriesSelector());
+        $smarty->assign('unsbmittedFiles', count($this->unsbmittedFiles));
+        $smarty->assign('unsbmittedFilesMsg', sprintf(
+                    _("You have currently %s unsubmitted statistic collection, do you want to transmit them now?"),
+                    count($this->unsbmittedFiles)));
+    
+        $smarty->assign('rpcHandle_Error', $this->rpcHandle_Error);
+        return($smarty->fetch(get_template_path('statistics.tpl', TRUE)));
+    }
+
+
+    /*! \brief      Prepares the graph data we've received from the rpc-service.
+     *              This method will construct a usable data-array with converted 
+     *               date strings.
+     */
+    function prepareGraphData($res)
+    {   
+        // Object categories which has to mapped to 'systems'
+        $mapSystems = array('server','terminal','workstation', 'opsi', 
+                'component','phone', 'winworkstation', 'printer', 'incoming');
+
+        /* Build up array which represents the amount of errors per
+         *  interval.
+         */
+        $gData = array();
+        foreach($res['errorsPerInterval'] as $dateStr => $data){
+            $date = strtotime($dateStr);
+            $gData['errorsPerInterval'][$date] = $data;
+        }
+        ksort($gData['errorsPerInterval']);
+
+
+        /* Build up timeline
+         */
+        $Xam = 5; 
+        $cnt = 0;
+        $numCnt = $res['errorsPerInterval'];
+        foreach($gData['errorsPerInterval'] as $date => $data){
+            if((count($numCnt) <= $Xam) || 
+                    ($cnt % (floor(count($numCnt) / $Xam )) == 0)){
+                $gData['dates'][$date] = date('d.m.Y', $date);
+            }else{
+                $gData['dates'][$date] = ' ';
+            }
+            $cnt ++;
+        }
+        ksort($gData['dates']);
+        
+        /* Build up 'actions per category' array, this will later
+         *   be represented using a pie chart.
+         */
+        $gData['actionsPerCategory'] = $res['actionsPerCategory'];
+        arsort($gData['actionsPerCategory']);
+
+
+        /* Build up system-info array per interval.
+         */
+        foreach($res['usagePerInterval'] as $dateStr => $data){
+            $date = strtotime($dateStr);
+            foreach($data as $type => $count){
+                $gData['usagePerInterval'][$type][$date] = $count;
+            }
+        }
+        foreach($gData['usagePerInterval'] as $key => $data)
+            ksort($gData['usagePerInterval'][$key]);
+
+
+        /* Prepare actions-per-interval array.
+         */   
+        $gData['actionsGraph'] = array(); 
+        foreach($res['actionsGraph'] as $category => $data){
+            if(empty($category)) continue;
+            foreach($data as $dateStr => $count){
+                $date = strtotime($dateStr);
+                $gData['actionsGraph'][$category][$date]=$count;
+            }
+            ksort($gData['actionsGraph'][$category]);
+        }
+
+        /* Prepare actions-per-interval array.
+         */   
+        $gData['actionTypeGraph'] = array(); 
+        foreach($res['actionTypeGraph'] as $action => $aData){
+            foreach($aData as $category => $data){
+                if(empty($category)) continue;
+
+                $list = preg_split("/, /", $category);
+                if(count(array_intersect($mapSystems, $list))){ 
+                    $category = 'systems';
+                }
+
+                // Add missing date stamps
+                foreach($gData['dates'] as $timestamp => $value){
+                    $gData['actionTypeGraph'][$action][$category][$timestamp]=0;
+                }
+
+                foreach($data as $dateStr => $count){
+                    $date = strtotime($dateStr);
+                    $gData['actionTypeGraph'][$action][$category][$date]=$count;
+                }
+                ksort($gData['actionTypeGraph'][$action][$category]);
+            }
+        }
+
+        /* Prepare object count per interval array.
+         */   
+        $gData['objectCountPerInterval'] = array(); 
+        foreach($res['objectCountPerInterval'] as $category => $data){
+            if(empty($category)) continue;
+            if(in_array($category,$mapSystems)){
+                $category = 'systems';
+            }
+
+            // Skip series which are not interesting for us
+            if(!in_array($category,array('users','groups','department','systems','ogroups','fai'))){
+                $category = 'remaining';
+            }
+
+            foreach($data as $dateStr => $count){
+                $date = strtotime($dateStr);
+
+                if(!isset($gData['objectCountPerInterval'][$category][$date])){
+                    $gData['objectCountPerInterval'][$category][$date]=0;
+                }
+                $gData['objectCountPerInterval'][$category][$date] += $count;
+            }
+            ksort($gData['objectCountPerInterval'][$category]);
+        }
+        // Move remaining to the end of the list
+        if(isset($gData['objectCountPerInterval']['remaining'])){
+            $data = $gData['objectCountPerInterval']['remaining'];
+            unset($gData['objectCountPerInterval']['remaining']);
+            $gData['objectCountPerInterval']['remaining'] = $data;
+        }
+
+        // Clean data from unusable categories like ('terminals workstations, ...')
+        foreach($gData as $serieName => $seriesData){
+            foreach($seriesData as $key => $data){
+                $list = preg_split("/, /", $key);
+                if(count(array_intersect($mapSystems, $list))){
+                    unset($gData[$serieName][$key]);
+                    $gData[$serieName]['systems'] = $data;
+                }
+            }
+        }
+
+        // Get info about used password hashes 
+        $gData['usedPasswordHashes'] = array();
+        foreach($res['usedPasswordHashes'] as $category => $data){
+
+            // Add missing date stamps
+            foreach($gData['dates'] as $timestamp => $value){
+                $gData['usedPasswordHashes'][$category][$timestamp]=0;
+            }
+
+            foreach($data as $dateStr => $count){
+                $date = strtotime($dateStr);
+                $gData['usedPasswordHashes'][$category][$date]=$count;
+            }
+            ksort($gData['usedPasswordHashes'][$category]);
+        }
+
+        // Get action usage, to be able to render a pie chart about most done actions.
+        $gData['actionsPerPluginAction'] = $res['actionsPerPluginAction'];
+        return($gData);
+    }
+
+
+    function check()
+    {
+        $messages = plugin::check();
+        return($messages);
+    }
+
+
+    function save_object()
+    {
+        // Nothing to do for not registered accounts.
+        if(!$this->serverAccessible || !$this->instanceRegistered) return;
+
+        plugin::save_object();
+        if(isset($_POST['graph1DatePicker1'])) $this->graph1DatePicker1 = get_post('graph1DatePicker1');
+        if(isset($_POST['graph1DatePicker2'])) $this->graph1DatePicker2 = get_post('graph1DatePicker2');
+   
+        if(isset($_POST['selectedGraphType'])) $this->selectedGraphType = get_post('selectedGraphType');
+
+        $this->staticChart1->save_object();
+        $this->staticChart2->save_object();
+
+        $curGraph = $this->graphs[$this->selectedGraphType];
+        $curGraph->save_object();
+    }
+
+
+    /*! \brief  Reload the graph images.
+     */ 
+    function reloadGraphs()
+    {
+        new pChartInclude();
+
+        $gData = $this->statisticData;
+        if(!count($gData)){
+            return;
+        }
+        $curGraph = $this->graphs[$this->selectedGraphType];
+        $curGraph->setGraphData($gData);
+        $curGraph->render();
+
+        $this->staticChart1->setGraphData($gData);
+        $this->staticChart1->render();
+        $this->staticChart2->setGraphData($gData);
+        $this->staticChart2->render();
+    }
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/main.inc b/gosa-core/plugins/generic/statistics/main.inc
new file mode 100644
index 0000000..c82c84c
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/main.inc
@@ -0,0 +1,51 @@
+<?php
+/*
+  This code is part of GOsa (https://gosa.gonicus.de)
+  Copyright (C) 2003  Cajus Pollmeier
+
+  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.
+
+  This program 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 General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+
+/* Remove locks created by this plugin
+*/
+if ($remove_lock){
+  if(session::is_set('statistics')){
+	// Nothing to unlock here
+  }
+}
+
+/* Remove this plugin from session
+*/
+if ( $cleanup ){
+   # session::un_set('statistics');
+}else{
+
+
+	/* Create logview object on demand */
+	if (!session::is_set('statistics')){
+		session::set('statistics',new statistics($config));
+	}
+	$statistics = session::get('statistics');
+
+	/* Execute formular */
+	$display= $statistics->save_object();
+	$display= $statistics->execute ();
+	$display.= "<input type=\"hidden\" name=\"ignore\">\n";
+
+	/* Store changes  in session */
+	session::set('statistics',$statistics);
+}
+?>
diff --git a/gosa-core/plugins/generic/statistics/statistics.tpl b/gosa-core/plugins/generic/statistics/statistics.tpl
new file mode 100644
index 0000000..a944199
--- /dev/null
+++ b/gosa-core/plugins/generic/statistics/statistics.tpl
@@ -0,0 +1,106 @@
+
+<h3>{t}Usage statistics{/t}</h3>
+{if $registrationNotWanted}
+    
+    {t}This feature is disabled. To enable it you have to register GOsa, you can initiate a registration using the dash-board plugin.{/t}
+    <button type='button' onClick="openPlugin({$dashBoardId});">{t}Dash board{/t}</button>
+
+{else if !$instanceRegistered}
+
+    {t}This feature is disabled. To enable it you have to register GOsa, you can initiate a registration using the dash-board plugin.{/t}
+
+    <button type='button' onClick="openPlugin({$dashBoardId});">{t}Dash board{/t}</button>
+
+{else if !$serverAccessible || !$validRpcHandle || $rpcHandle_Error}
+
+    {t}Communication with the GOsa-backend failed. Please check the RPC configuration!{/t}
+
+{else}
+
+    {if $unsbmittedFiles != 0}
+        {$unsbmittedFilesMsg}
+        <button name='transmitStatistics'>{t}Send{/t}</button>
+        <hr>
+    {/if}
+
+    <table>
+        <tr>
+            <td><b>{t}Generate report for{/t}:</b></td>
+            <td style='width:220px;'>
+                 <input type="text" id="graph1DatePicker1" name="graph1DatePicker1" class="date" value="{$graph1DatePicker1}">
+                 <script type="text/javascript">
+                  {literal}
+                   var datepicker  = new DatePicker(
+                         { relative : 'graph1DatePicker1',
+                           language : '{/literal}{$lang}{literal}',
+                           keepFieldEmpty : true,
+                           enableCloseEffect : false,
+                           enableShowEffect : false });
+                  {/literal}
+                 </script>
+            </td>
+            <td style='width:220px;'>
+                <input type="text" id="graph1DatePicker2" name="graph1DatePicker2" class="date" value="{$graph1DatePicker2}">
+                <script type="text/javascript">
+                 {literal}
+                  var datepicker  = new DatePicker(
+                        { relative : 'graph1DatePicker2',
+                          language : '{/literal}{$lang}{literal}',
+                          keepFieldEmpty : true,
+                          enableCloseEffect : false,
+                          enableShowEffect : false });
+                 {/literal}
+                </script>
+            </td>
+            <td>
+                <button name='receiveStatistics'>{t}Update{/t}</button>
+            </td>
+        </tr>
+    </table>
+    <hr>
+
+    <table>
+        <tr>
+            <td>
+                {if isset($staticChart1_ID) && $staticChart1_ID}
+                    <img src='plugins/statistics/getGraph.php?id={$staticChart1_ID}'>
+                {else}
+                    <div style='height:200px; width: 400px;'>
+                        <i>{t}No statistic data for given period{/t}</i>
+                    </div>
+                {/if}
+            </td>
+            <td>
+                {if isset($staticChart2_ID) && $staticChart2_ID}
+                    <img src='plugins/statistics/getGraph.php?id={$staticChart2_ID}'>
+                {else}
+                    <div style='height:200px; width: 400px;'>
+                        <i>{t}No statistic data for given period{/t}</i>
+                    </div>
+                {/if}
+            </td>
+        </tr>
+    </table>
+
+    {if isset($curGraphID) && $curGraphID}
+        <hr>
+        <b>{t}Select report type{/t}:</b> 
+        <select name='selectedGraphType' onChange="document.mainform.submit();" size='1'>
+            {html_options options=$availableGraphs selected=$selectedGraphType}
+        </select>
+        {$curGraphOptions}
+        <table>
+            <tr>
+                <td>
+                    <input type='hidden' name='currentGraphPosted' value='1'>
+                    <img src='plugins/statistics/getGraph.php?id={$curGraphID}'>
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    {$curSeriesSelector}
+                </td>
+            </tr>
+        </table>
+    {/if}
+{/if}
diff --git a/gosa-core/plugins/generic/welcome/class_welcome.inc b/gosa-core/plugins/generic/welcome/class_welcome.inc
new file mode 100644
index 0000000..5451994
--- /dev/null
+++ b/gosa-core/plugins/generic/welcome/class_welcome.inc
@@ -0,0 +1,12 @@
+<?php
+
+class welcome extends plugin
+{
+   var $plHeadline = "Back to main menu";
+   var $plDescription = "Back to main menu";
+   var $plShortIcon = 'home.png';
+   var $plIcon = 'home.png';
+
+}
+
+?>
diff --git a/gosa-core/plugins/generic/welcome/main.inc b/gosa-core/plugins/generic/welcome/main.inc
index f738eb6..2adfb46 100644
--- a/gosa-core/plugins/generic/welcome/main.inc
+++ b/gosa-core/plugins/generic/welcome/main.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: main.inc 13287 2008-12-12 14:36:42Z hickert $$
+ * ID: $$Id: main.inc 20461 2010-12-01 09:40:29Z cajus $$
  *
  * 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
@@ -23,7 +23,6 @@
 if (!$cleanup){
 	session::set('plugin_dir',dirname(__FILE__));
 	$smarty->assign("iconmenu", $plist->show_iconmenu());
-	$smarty->assign("header", print_header(get_template_path('images/welcome.png'), sprintf(_("Welcome %s!"), $ui->cn)));
 	$smarty->assign("year", date("Y"));
 	$smarty->assign("revision", get_gosa_version());
 	$display= $smarty->fetch(get_template_path('welcome.tpl', TRUE));
diff --git a/gosa-core/plugins/generic/welcome/welcome.tpl b/gosa-core/plugins/generic/welcome/welcome.tpl
index 35a27ed..253298f 100644
--- a/gosa-core/plugins/generic/welcome/welcome.tpl
+++ b/gosa-core/plugins/generic/welcome/welcome.tpl
@@ -1,19 +1,9 @@
-{$header}
 
-<p>
-  {t}This is the GOsa main menu. You can select your tasks from the menu on the left, or by choosing one of the pictograms below. All changes apply directly to your companies LDAP server.{/t}
-</p>
-
-<p>
-  {t}Use 'Sign out' on the upper left to close the connection and 'Main' to get back to the pictogram view.{/t}
-</p>
- 
-{$iconmenu}
-
-<br>
-
-<div class="copynotice">© 2002-{$year} <a href="http://gosa.gonicus.de">{t}The GOsa team{/t}, {$revision}</a>
-</div>
-
-<input type="hidden" name="ignore">
+        <div class='icon-menu-container'>
+          {$iconmenu}
+        </div>
 
+        <div class="clear"></div>
+        <hr>
+        <div class="copynotice">© 2002-{$year} <a href="http://gosa.gonicus.de">{t}The GOsa team{/t}, {$revision}</a></div>
+        <input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/personal/generic/changed.tpl b/gosa-core/plugins/personal/generic/changed.tpl
deleted file mode 100644
index 4fe49ed..0000000
--- a/gosa-core/plugins/personal/generic/changed.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-
-<p>
- <b>{t}You've successfully changed your password. Remember to change all programms configured to use it as well.{/t}</b>
-</p>
-
-<br>
-
-<p class="plugbottom">
-  <input type=submit name="password_back" value="{msgPool type=backButton}">
-</p>
-
-<input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/personal/generic/class_user.inc b/gosa-core/plugins/personal/generic/class_user.inc
index 957c677..1ecb103 100644
--- a/gosa-core/plugins/personal/generic/class_user.inc
+++ b/gosa-core/plugins/personal/generic/class_user.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_user.inc 19039 2010-07-21 13:07:54Z hickert $$
+ * ID: $$Id: class_user.inc 20500 2010-12-01 15:18:36Z cajus $$
  *
  * 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
@@ -141,7 +141,7 @@ class user extends plugin
 
     $this->config= $config;
     /* Configuration is fine, allways */
-    if($this->config->get_cfg_value("honourIvbbAttributes") == "true"){
+    if($this->config->get_cfg_value("core","honourIvbbAttributes") == "true"){
       $this->governmentmode = TRUE;
       $this->attributes=array_merge($this->attributes,$this->govattrs);
     }
@@ -175,7 +175,7 @@ class user extends plugin
     }
 
     /* Make hash default to md5 if not set in config */
-    $hash= $this->config->get_cfg_value("passwordDefaultHash", "crypt/md5");
+    $hash= $this->config->get_cfg_value("core","passwordDefaultHash");
 
     /* Load data from LDAP? */
     if ($dn !== NULL){
@@ -270,7 +270,7 @@ class user extends plugin
         $attrs = $ldap->fetch();
         $this->manager_name = $attrs['cn'][0];
       }else{
-        $this->manager_name = "("._("Unknown")."!): ".$this->manager;
+        $this->manager_name = "("._("unknown")."!): ".$this->manager;
       }
     }
   }
@@ -283,18 +283,18 @@ class user extends plugin
     plugin::execute();
 
     /* Set list ACL */
-    $this->gosaLoginRestrictionWidget->setAcl($this->getacl('gosaLoginRestriction', (!is_object($this->parent) && !session::is_set('edit'))));
+    $this->gosaLoginRestrictionWidget->setAcl($this->getacl('gosaLoginRestriction'));
     $this->gosaLoginRestrictionWidget->update();
 
     /* Handle add/delete for restriction mode */
     if (isset($_POST['add_res']) && isset($_POST['res'])) {
-      $val= validate($_POST['res']);
+      $val= get_post('res');
       if (preg_match('/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/', $val) ||
           preg_match('/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\/([0-9]+)$/', $val) ||
           preg_match('/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$/', $val)) {
         $this->gosaLoginRestrictionWidget->addEntry($val);
       } else {
-        msg_dialog::display(_("Error"), _("Please add a single IP address or a network/netmask combination!"), ERROR_DIALOG);
+        msg_dialog::display(_("Error"), _("Please add a single IP address or a network/net mask combination!"), ERROR_DIALOG);
       }
     }
 
@@ -314,10 +314,9 @@ class user extends plugin
     if(preg_match("/ editManager/i", " ".implode(array_keys($_POST),' ')." ")){
       $this->dialog = new singleUserSelect($this->config, get_userinfo());
     }
-    if($this->dialog instanceOf singleUserSelect && count($this->dialog->detectPostActions())){
+    if($this->dialog && $this->dialog instanceOf singleUserSelect && count($this->dialog->detectPostActions())){
       $users = $this->dialog->detectPostActions();
-      if(isset($users['targets']) && count($users['targets'])){
-
+      if(isset($users['action']) && $users['action'] =='userSelected' && isset($users['targets']) && count($users['targets'])){
         $headpage = $this->dialog->getHeadpage();
         $dn = $users['targets'][0];
         $attrs = $headpage->getEntry($dn);
@@ -333,7 +332,7 @@ class user extends plugin
 
 
     $smarty= get_smarty();
-    $smarty->assign("usePrototype", "true");
+
     $smarty->assign("gosaLoginRestrictionWidget", $this->gosaLoginRestrictionWidget->render());
 
     /* Assign sex */
@@ -364,6 +363,26 @@ class user extends plugin
       $this->dialog= false;
     }
 
+    /* Dialog handling */
+    if(is_object($this->dialog)){
+      /* Must be called before save_object */
+      $this->dialog->save_object();
+   
+      if($this->dialog->isClosed()){
+        $this->dialog = false;
+      }elseif($this->dialog->isSelected()){
+
+        /* check if selected base is allowed to move to / create a new object */
+        $tmp = $this->get_allowed_bases();
+        if(isset($tmp[$this->dialog->isSelected()])){
+          $this->base = $this->dialog->isSelected();
+        }
+        $this->dialog= false;
+      }else{
+        return($this->dialog->execute());
+      }
+    }
+
     /* Want password method editing? */
     if ($this->acl_is_writeable("userPassword")){
       if (isset($_POST['edit_pw_method'])){
@@ -373,6 +392,7 @@ class user extends plugin
         }
         $this->pwObject->display = TRUE;
         $this->dialog= TRUE;
+        pathNavigator::registerPlugin(_("Password configuration"));
         return ($this->pwObject->configure());
       }
     }
@@ -390,7 +410,7 @@ class user extends plugin
     }
 
     /* Remove picture? */
-    if($this->acl_is_writeable("userPicture",(!is_object($this->parent) && !session::is_set('edit'))) ){
+    if($this->acl_is_writeable("userPicture")){
       if (isset($_POST['picture_remove'])){
         $this->set_picture ();
         $this->jpegPhoto= "*removed*";
@@ -402,16 +422,17 @@ class user extends plugin
     /* Save picture */
     if (isset($_POST['picture_edit_finish'])){
 
-      /* Check for clean upload */
-      if ($_FILES['picture_file']['name'] != ""){
-        if (!is_uploaded_file($_FILES['picture_file']['tmp_name'])) {
-          msg_dialog::display(_("Error"), _("Cannot upload file!"), ERROR_DIALOG);
-        }else{
-          /* Activate new picture */
-          $this->set_picture($_FILES['picture_file']['tmp_name']);
+        /* Check for clean upload */
+        if ($_FILES['picture_file']['name'] != ""){
+            $filename = gosa_file_name($_FILES['picture_file']['tmp_name']);
+            if (!file_exists($filename)) {
+                msg_dialog::display(_("Error"), _("Cannot upload file!"), ERROR_DIALOG);
+            }else{
+                /* Activate new picture */
+                $this->set_picture($filename);
+            }
         }
-      }
-      $this->picture_dialog= FALSE;
+        $this->picture_dialog= FALSE;
       $this->dialog= FALSE;
       $this->is_modified= TRUE;
     }
@@ -463,7 +484,7 @@ class user extends plugin
 
 
     /* Remove certificate? */
-    if($this->acl_is_writeable("Certificate",(!is_object($this->parent) && !session::is_set('edit')))){ 
+    if($this->acl_is_writeable("Certificate")){
       foreach (array ("userCertificate", "userSMIMECertificate", "userPKCS12") as $val){
         if (isset($_POST["remove_$val"])){
 
@@ -475,10 +496,8 @@ class user extends plugin
     }
 
     /* Upload new cert and close dialog? */	
-    if($this->acl_is_writeable("Certificate",(!is_object($this->parent) && !session::is_set('edit')))){ 
-
+    if($this->acl_is_writeable("Certificate")){
       $fail =false;
-
       if (isset($_POST['cert_edit_finish'])){
 
         /* for all certificates do */
@@ -489,8 +508,8 @@ class user extends plugin
           if (array_key_exists($val."_file", $_FILES) &&
               array_key_exists('name', $_FILES[$val."_file"]) &&
               $_FILES[$val."_file"]['name'] != "" &&
-              is_uploaded_file($_FILES[$val."_file"]['tmp_name'])) {
-            $this->set_cert("$val", $_FILES[$val."_file"]['tmp_name']);
+              is_readable($_FILES[$val."_file"]['tmp_name'])) {
+            $this->set_cert("$val", gosa_file_name($_FILES[$val."_file"]['tmp_name']));
           }
         }
 
@@ -498,7 +517,7 @@ class user extends plugin
         if (isset($_POST["certificateSerialNumber"]) &&
             $_POST["certificateSerialNumber"] != ""){
 
-          if (!tests::is_id($_POST["certificateSerialNumber"])){
+          if (!tests::is_id(get_post('certificateSerialNumber'))){
             $fail = true;
             msg_dialog::display(_("Error"), msgPool::invalid(_("Serial number"),$_POST["certificateSerialNumber"],"/[0-9]/"),ERROR_DIALOG);
 
@@ -511,7 +530,7 @@ class user extends plugin
             }
           }
 
-          $this->certificateSerialNumber= $_POST["certificateSerialNumber"];
+          $this->certificateSerialNumber= get_post("certificateSerialNumber");
           $this->is_modified= TRUE;
         }
         if(!$fail){
@@ -522,12 +541,14 @@ class user extends plugin
     }
     /* Display picture dialog */
     if ($this->picture_dialog){
+      pathNavigator::registerPlugin(_("User picture"));
       return($smarty->fetch (get_template_path('generic_picture.tpl', TRUE, dirname(__FILE__))));
     }
 
     /* Display cert dialog */
     if ($this->cert_dialog){
-      $smarty->assign("CertificateACL",$this->getacl("Certificate",(!is_object($this->parent) && !session::is_set('edit'))));
+      pathNavigator::registerPlugin(_("Certificates"));
+      $smarty->assign("CertificateACL",$this->getacl("Certificate"));
       $smarty->assign("Certificate_readable",$this->acl_is_readable("Certificate"));
       $smarty->assign("certificateSerialNumber",$this->certificateSerialNumber);
 
@@ -545,21 +566,21 @@ class user extends plugin
           /* Additional info if start end time is '0' */
           $add_str_info = "";
           if($timeto == 0 && $timefrom == 0){
-            $add_str_info = "<br><i>"._("(Some types of certificates are currently not supported and may be displayed as 'invalid'.)")."</i>";
+            $add_str_info = "<br>".bold(_("(Not supported certificate types are marked as invalid.)"));
           }
 
-          $str = "<table summary=\"\" border=0>
+          $str = "<table \"\" border=0 summary='"._("Certificates")."'>
                     <tr>
-                      <td style='vertical-align:top'>CN</td>
+                      <td>CN</td>
                       <td>".preg_replace("/ /", " ", $certificate->getname())."</td>
                     </tr>
                   </table><br>".
 
                   sprintf(_("Certificate is valid from %s to %s and is currently %s."),
-                        "<b>".date('d M Y',$timefrom)."</b>",
-                        "<b>".date('d M Y',$timeto)."</b>",
-                        $certificate->isvalid()?"<b><font style='color:green'>"._("valid")."</font></b>":
-                                                "<b><font style='color:red'>"._("invalid")."</font></b>").$add_str_info;
+                        bold(date('d M Y',$timefrom)),
+                        bold(date('d M Y',$timeto)),
+                        $certificate->isvalid()?bold("<span style='color:green'>"._("valid")."</span>"):
+                                                bold("<span style='color:red'>"._("invalid")."</span>")).$add_str_info;
 
           $smarty->assign($cert."info",$str);
           $smarty->assign($cert."_state","true");
@@ -580,14 +601,14 @@ class user extends plugin
 
     /* Prepare password hashes */
     if ($this->pw_storage == ""){
-      $this->pw_storage= $this->config->get_cfg_value("passwordDefaultHash");
+      $this->pw_storage= $this->config->get_cfg_value("core","passwordDefaultHash");
     }
 
     $temp= passwordMethod::get_available_methods();
     $is_configurable= FALSE;
     $hashes = $temp['name'];
     if(isset($temp[$this->pw_storage])){
-      $test= new $temp[$this->pw_storage]($this->config);
+      $test= new $temp[$this->pw_storage]($this->config, $this->dn);
       $is_configurable= $test->is_configurable();
     }else{
       new msg_dialog(_("Password method"),_("The selected password method is no longer available."),WARNING_DIALOG);
@@ -607,7 +628,7 @@ class user extends plugin
     /* Load attributes and acl's */
     $ui =get_userinfo();
     foreach($this->attributes as $val){
-      $smarty->assign("$val", $this->$val);
+      $smarty->assign("$val", set_post($this->$val));
       if(in_array($val,$this->multi_boxes)){
         $smarty->assign("use_".$val,TRUE);
       }else{
@@ -625,27 +646,20 @@ class user extends plugin
     /* Set acls */
     $tmp = $this->plinfo();
     foreach($tmp['plProvidedAcls'] as $val => $translation){
-      $smarty->assign("$val"."ACL", $this->getacl($val,(!is_object($this->parent) && !session::is_set('edit'))));
+      $smarty->assign("$val"."ACL", $this->getacl($val));
     }
 
     // Special ACL for gosaLoginRestrictions - 
     // In case of multiple edit, we need a readonly ACL for the list. 
-    $smarty->assign('gosaLoginRestriction_ONLY_R_ACL', 
-      preg_replace("/[^r]/i","", $this->getacl($val,(!is_object($this->parent) && !session::is_set('edit')))));
+    $smarty->assign('gosaLoginRestriction_ONLY_R_ACL', preg_replace("/[^r]/i","", $this->getacl($val)));
 
-    $smarty->assign("pwmode", $pwd_methods);
-    $smarty->assign("pwmode_select", $this->pw_storage);
+    $smarty->assign("pwmode", set_post($pwd_methods));
+    $smarty->assign("pwmode_select", set_post($this->pw_storage));
     $smarty->assign("pw_configurable", $is_configurable);
-    $smarty->assign("passwordStorageACL", $this->getacl("userPassword",(!is_object($this->parent) && !session::is_set('edit'))));
-
-    if(!session::is_set('edit')){
-      $smarty->assign("CertificatesACL","");
-    }else{
-      $smarty->assign("CertificatesACL",  $this->getacl("Certificate"));
-    }
-    
-    $smarty->assign("userPictureACL",   $this->getacl("userPicture",(!is_object($this->parent) && !session::is_set('edit'))));
-    $smarty->assign("userPicture_is_readable",   $this->acl_is_readable("userPicture",(!is_object($this->parent) && !session::is_set('edit'))));
+    $smarty->assign("passwordStorageACL", $this->getacl("userPassword"));
+    $smarty->assign("CertificatesACL",  $this->getacl("Certificate"));
+    $smarty->assign("userPictureACL",   $this->getacl("userPicture"));
+    $smarty->assign("userPicture_is_readable",   $this->acl_is_readable("userPicture"));
 
     /* Create base acls */
     $smarty->assign("base", $this->baseSelector->render());
@@ -653,19 +667,19 @@ class user extends plugin
     /* Save government mode attributes */
     if($this->governmentmode){
       $smarty->assign("governmentmode", "true");
-      $ivbbmodes= array("nein", "ivbv", "testa", "ivbv,testa", "internet",
-          "internet,ivbv", "internet,testa", "internet,ivbv,testa");
+      $ivbbmodes= array("nein", "", "ivbv", "testa", "ivbv,testa", "internet",
+                        "internet,ivbv", "internet,testa", "internet,ivbv,testa");
       $smarty->assign("ivbbmodes", $ivbbmodes);
       foreach ($this->govattrs as $val){
-        $smarty->assign("$val", $this->$val);
-        $smarty->assign("$val"."ACL", $this->getacl($val,(!is_object($this->parent) && !session::is_set('edit'))));
+        $smarty->assign("$val", set_post($this->$val));
+        $smarty->assign("$val"."ACL", $this->getacl($val));
       }
     } else {
       $smarty->assign("governmentmode", "false");
     }
 
     /* Special mode for uid */
-    $uidACL= $this->getacl("uid",(!is_object($this->parent) && !session::is_set('edit')));
+    $uidACL= $this->getacl("uid");
     if (isset ($this->dn)){
       if ($this->dn != "new"){
         $uidACL= preg_replace("/w/","",$uidACL);
@@ -689,7 +703,7 @@ class user extends plugin
       $smarty->assign("has_phoneaccount", "false");
     }
     $smarty->assign("multiple_support" , $this->multiple_support_active);
-    $smarty->assign("manager_name",$this->manager_name);
+    $smarty->assign("manager_name", set_post($this->manager_name));
     return($smarty->fetch (get_template_path('generic.tpl', TRUE, dirname(__FILE__))));
   }
 
@@ -767,7 +781,7 @@ class user extends plugin
     }
 
     /* If needed, let the password method do some cleanup */
-    $tmp = new passwordMethod($this->config);
+    $tmp = new passwordMethod($this->config, $this->dn);
     $available = $tmp->get_available_methods();
     if (in_array_ics($this->pw_storage, $available['name'])){
       $test= new $available[$this->pw_storage]($this->config);
@@ -796,7 +810,8 @@ class user extends plugin
       plugin::save_object ();
 
       /* Refresh base */
-      if ($this->acl_is_moveable($this->base)){
+      if ($this->acl_is_moveable($this->base) || 
+            ($this->dn == "new" && $this->acl_is_createable($this->base))){
         if (!$this->baseSelector->update()) {
           msg_dialog::display(_("Error"), msgPool::permMove(), ERROR_DIALOG);
         }
@@ -815,8 +830,8 @@ class user extends plugin
       /* Save government mode attributes */
       if ($this->governmentmode){
         foreach ($this->govattrs as $val){
-          if ($this->acl_is_writeable($val,(!is_object($this->parent) && !session::is_set('edit'))) && isset($_POST["$val"])){
-            $data= stripcslashes($_POST["$val"]);
+          if ($this->acl_is_writeable($val)){
+            $data= get_post($val);
             if ($data != $this->$val){
               $this->is_modified= TRUE;
             }
@@ -835,7 +850,7 @@ class user extends plugin
       if (isset($_POST['pw_storage'])){
         foreach(array("pw_storage") as $val){
           if(isset($_POST[$val])){
-            $data= validate($_POST[$val]);
+            $data= get_post($val);
             if ($data != $this->$val){
               $this->is_modified= TRUE;
             }
@@ -992,84 +1007,56 @@ class user extends plugin
 
     } else {
 
-      /* Fallback if there's no image magick inside PHP */
-      if (!function_exists("imagick_blob2image")){
-        /* Get temporary file name for conversation */
-        $fname = tempnam (TEMP_DIR, "GOsa");
-  
-        /* Open file and write out photoData */
-        $fp = fopen ($fname, "w");
-        fwrite ($fp, $this->photoData);
-        fclose ($fp);
-
-        /* Build conversation query. Filename is generated automatically, so
-           we do not need any special security checks. Exec command and save
-           output. For PHP safe mode, you'll need a configuration which respects
-           image magick as executable... */
-        $query= "convert -size 147x200 $fname -resize 147x200 +profile \"*\" -";
-        @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
-            $query, "Execute");
-  
-        /* Read data written by convert */
-        $output= "";
-        $sh= popen($query, 'r');
-        while (!feof($sh)){
-          $output.= fread($sh, 4096);
-        }
-        pclose($sh);
-
-        unlink($fname);
-
-        /* Save attribute */
-        $this->attrs["jpegPhoto"] = $output;
-
-      } else {
-
-        /* Load the new uploaded Photo */
-        if(!$handle  =  imagick_blob2image($this->photoData))  {
-          new log("debug","users/".get_class($this),$this->dn,array(),"Could not access uploaded image");
-        }
+        if(class_exists('Imagick')){
+
+            $im = new Imagick();
+            $im->readImageBlob($this->photoData);
+            $im->setImageOpacity(1.0);
+            $im->resizeImage(147,200,Imagick::FILTER_UNDEFINED,0.5,TRUE);
+            $im->setCompressionQuality(90);
+            $im->setImageFormat('jpeg'); 
+            $this->attrs["jpegPhoto"] = $im->getImageBlob();
+
+        }elseif (exec('convert')){
+            /* Get temporary file name for conversation */
+            $fname = tempnam (TEMP_DIR, "GOsa");
+
+            /* Open file and write out photoData */
+            $fp = fopen ($fname, "w");
+            fwrite ($fp, $this->photoData);
+            fclose ($fp);
+
+            /* Build conversation query. Filename is generated automatically, so
+               we do not need any special security checks. Exec command and save
+               output. For PHP safe mode, you'll need a configuration which respects
+               image magick as executable... */
+            $query= "convert -size 147x200 $fname -resize 147x200 +profile \"*\" -";
+            @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
+                    $query, "Execute");
+
+            /* Read data written by convert */
+            $output= "";
+            $sh= popen($query, 'r');
+            while (!feof($sh)){
+                $output.= fread($sh, 4096);
+            }
+            pclose($sh);
 
-        /* Resizing image to 147x200 and blur */
-        if(!imagick_resize($handle,147,200,IMAGICK_FILTER_GAUSSIAN,0)){
-          new log("debug","users/".get_class($this),$this->dn,array(),"Could not resize uploaded image");
-        }
+            unlink($fname);
 
-        /* Converting image to JPEG */
-        if(!imagick_convert($handle,"JPEG")) {
-          new log("debug","users/".get_class($this),$this->dn,array(),"Could not convert uploaded image to jepg");
-        }
+            /* Save attribute */
+            $this->attrs["jpegPhoto"] = $output;
+        }else{
+            msg_dialog::display(_("Error"),
+                    _("Cannot save user picture: GOsa requires the package 'imagemagick' or 'php5-imagick' to be installed!"),
+                    ERROR_DIALOG);
 
-        /* Creating binary Code for the Image */
-        if(!$dump = imagick_image2blob($handle)){
-          new log("debug","users/".get_class($this),$this->dn,array(),"Could not create new user image");
         }
-
-        /* Sending Image */
-        $output=  $dump;
-
-        /* Save attribute */
-        $this->attrs["jpegPhoto"] = $output;
-      }
-
     }
 
-    /* This only gets called when user is renaming himself */
-    $ldap= $this->config->get_ldap_link();
-    if ($this->dn != $this->new_dn){
-
-      /* Write entry on new 'dn' */
-      $this->update_acls($this->dn,$this->new_dn);
-      $this->move($this->dn, $this->new_dn);
-
-      /* Happen to use the new one */
-      change_ui_dn($this->dn, $this->new_dn);
-      $this->dn= $this->new_dn;
-    }
-
-
     /* Save data. Using 'modify' implies that the entry is already present, use 'add' for
        new entries. So do a check first... */
+    $ldap= $this->config->get_ldap_link();
     $ldap->cat ($this->dn, array('dn'));
     if ($ldap->fetch()){
       $mode= "modify";
@@ -1139,11 +1126,11 @@ class user extends plugin
         die ("Could not connect to LDAP server");
       }
       ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
-      if (function_exists("ldap_set_rebind_proc") && $this->config->get_cfg_value("ldapFollowReferrals") == "true") {
+      if (function_exists("ldap_set_rebind_proc") && $this->config->get_cfg_value("core","ldapFollowReferrals") == "true") {
         ldap_set_option($this->cid, LDAP_OPT_REFERRALS, 1);
         ldap_set_rebind_proc($ds, array(&$this, "rebind"));
       }
-      if($this->config->get_cfg_value("ldapTLS") == "true"){
+      if($this->config->get_cfg_value("core","ldapTLS") == "true"){
         ldap_start_tls($ds);
       }
       if (!($res = @ldap_bind($ds, $this->config->current['ADMIN'],
@@ -1158,7 +1145,7 @@ class user extends plugin
 
     /* If needed, let the password method do some cleanup */
     if ($this->pw_storage != $this->last_pw_storage){
-      $tmp = new passwordMethod($this->config);
+      $tmp = new passwordMethod($this->config, $this->dn);
       $available = $tmp->get_available_methods();
       if (in_array_ics($this->last_pw_storage, $available['name'])){
         $test= new $available[$this->last_pw_storage]($this->config,$this->dn);
@@ -1228,7 +1215,7 @@ class user extends plugin
   function update_new_dn()
   {
     // Alternative way to handle DN
-    $pattern= $this->config->get_cfg_value("accountRDN");
+    $pattern= $this->config->get_cfg_value("user","accountRDN");
     if ($pattern != "") {
       $rdn= $this->create_initial_rdn($pattern);
       $attribute= preg_replace('/=.*$/', '', $rdn);
@@ -1246,7 +1233,7 @@ class user extends plugin
     } else {
 
       $pt= "";
-      if($this->config->get_cfg_value("personalTitleInDN") == "true"){
+      if($this->config->get_cfg_value("core","personalTitleInDN") == "true"){
         if(!empty($this->personalTitle)){
           $pt = $this->personalTitle." ";
         }
@@ -1255,7 +1242,7 @@ class user extends plugin
       $this->cn= $pt.$this->givenName." ".$this->sn;
 
       /* Permissions for that base? */
-      if ($this->config->get_cfg_value("accountPrimaryAttribute") == "uid"){
+      if ($this->config->get_cfg_value("core","accountPrimaryAttribute") == "uid"){
         $this->new_dn= 'uid='.$this->uid.','.get_people_ou().$this->base;
       } else {
         /* Don't touch dn, if cn hasn't changed */
@@ -1300,8 +1287,19 @@ class user extends plugin
     /* Check if we are allowed to create/move this user */
     if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
       $message[]= msgPool::permCreate();
-    }elseif($this->orig_dn != "new" && $this->new_dn != $this->orig_dn && !$this->acl_is_moveable($this->base)){
-      $message[]= msgPool::permMove();
+    }elseif($this->orig_dn != "new" && $this->new_dn != $this->orig_dn){
+
+        /* Check if the objects dn has changed while the base was left unchanged. 
+         * In this case we've to check move permissions for the object itself.
+         * 
+         * If the base has changed then we've to check the permission for the destination
+         *  base.
+         */
+        if($this->orig_base == $this->base && !$this->acl_is_moveable($this->dn)){
+            $message[]= msgPool::permMove();
+        }elseif($this->orig_base != $this->base && !$this->acl_is_moveable($this->base)){
+            $message[]= msgPool::permMove();
+        }
     }
 
     /* UID already used? */
@@ -1330,7 +1328,7 @@ class user extends plugin
       if ($this->uid == ""){
         $message[]= msgPool::required(_("Login"));
       }
-      if ($this->config->get_cfg_value("accountPrimaryAttribute") != "uid"){
+      if ($this->config->get_cfg_value("core","accountPrimaryAttribute") != "uid"){
         $ldap->cat($this->new_dn);
         if ($ldap->count() != 0 && $this->dn != $this->new_dn && $this->dn == 'new'){
           $message[]= msgPool::duplicated(_("Name"));
@@ -1425,11 +1423,11 @@ class user extends plugin
   {
     $ds= ldap_connect($this->config->current['SERVER']);
     ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
-    if (function_exists("ldap_set_rebind_proc") && $this->config->get_cfg_value("ldapFollowReferrals") == "true"){
+    if (function_exists("ldap_set_rebind_proc") && $this->config->get_cfg_value("core","ldapFollowReferrals") == "true"){
       ldap_set_option($this->cid, LDAP_OPT_REFERRALS, 1);
       ldap_set_rebind_proc($ds, array(&$this, "rebind"));
     }
-    if ($this->config->get_cfg_value("ldapTLS") == "true"){
+    if ($this->config->get_cfg_value("core","ldapTLS") == "true"){
       ldap_start_tls($ds);
     }
 
@@ -1475,7 +1473,7 @@ class user extends plugin
   /* Load certificate from file to object */
   function set_cert($cert, $filename)
   {
-    if(!$this->acl_is_writeable("Certificate",(!is_object($this->parent) && !session::is_set('edit')))) return;
+    if(!$this->acl_is_writeable("Certificate")) return;
     $fd = fopen ($filename, "rb");
     if (filesize($filename)>0) {
       $this->$cert= fread ($fd, filesize ($filename));
@@ -1504,6 +1502,7 @@ class user extends plugin
 
     /* Get base */
     $this->base= preg_replace('/^[^,]+,'.preg_quote(get_people_ou(), '/').'/i', '', $dn);
+    $this->baseSelector->setBase($this->base);
 
     if($this->governmentmode){
 
@@ -1538,18 +1537,16 @@ class user extends plugin
       $this->givenName= $this->parent->givenName;
     }
 
-
     /* Generate dateOfBirth entry */
     if (isset ($this->attrs['dateOfBirth'])){
       /* This entry is ISO 8601 conform */
       list($year, $month, $day)= explode("-", $this->attrs['dateOfBirth'][0], 3);
-
+    
       #TODO: use $lang to convert date
       $this->dateOfBirth= "$day.$month.$year";
     } else {
       $this->dateOfBirth= "";
     }
-
   }
 
  
@@ -1579,12 +1576,12 @@ class user extends plugin
     $smarty->assign("passwordTodo","clear");
 
     if(isset($_POST['passwordTodo'])){
-      $smarty->assign("passwordTodo",$_POST['passwordTodo']);
+      $smarty->assign("passwordTodo",set_post(get_post('passwordTodo')));
     }
 
-    $smarty->assign("sn",       $this->sn);
-    $smarty->assign("givenName",$this->givenName);
-    $smarty->assign("uid",      $this->uid);
+    $smarty->assign("sn",       set_post($this->sn));
+    $smarty->assign("givenName",set_post($this->givenName));
+    $smarty->assign("uid",      set_post($this->uid));
     $smarty->assign("rand",     $rand);
     $str = $smarty->fetch(get_template_path("paste_generic.tpl",TRUE,dirname(__FILE__)));
 
@@ -1601,7 +1598,7 @@ class user extends plugin
     $this->set_acl_base($this->base);
 
     if((isset($_FILES['picture_file']['tmp_name'])) && ($_FILES['picture_file']['size'] > 0)){
-      $this->set_picture($_FILES['picture_file']['tmp_name']);
+      $this->set_picture(gosa_file_name($_FILES['picture_file']['tmp_name']));
     }
 
     /* Remove picture? */
@@ -1614,7 +1611,7 @@ class user extends plugin
     $attrs = array("uid","givenName","sn");
     foreach($attrs as $attr){
       if(isset($_POST[$attr])){
-        $this->$attr = $_POST[$attr];
+        $this->$attr = get_post($attr);
       }
     } 
   }
@@ -1679,11 +1676,35 @@ class user extends plugin
         "plCategory"    => array("users" => array("description" => _("Users"),
                                                   "objectClass" => "gosaAccount")),
 
+        "plRequirements"=> array(
+            'ldapSchema' => array(
+                'gosaAccount' => '>=2.7',
+                'gosaUserTemplate' => '>=2.7'
+                ),
+            'onFailureDisablePlugin' => array(get_class(),'userManagement', 'user')
+            ),
+
+        "plProperties" => array(
+            array(
+                "name"          => "accountRDN",
+                "type"          => "string",
+                "default"       => "",
+                "description"   =>  _("Pattern for the generation of user DNs. Please read the FAQ for details."),
+                "check"         => "gosaProperty::isString",
+                "migrate"       => "",
+                "group"         => "plugin",
+                "mandatory"     => FALSE
+                )
+
+            ),
         "plProvidedAcls" => array(
 
           "sn"                => _("Surname"),
           "givenName"         => _("Given name"),
-          "uid"               => _("User identification"),
+          "uid"               => _("Login"),
+
+          "gosaUserDefinedFilter"  => _("Allow definition of custom filters"),
+
           "personalTitle"     => _("Personal title"),
           "academicTitle"     => _("Academic title"),
 
@@ -1704,7 +1725,7 @@ class user extends plugin
           "employeeType"      => _("Employee type"),
 
           "roomNumber"        => _("Room number"),
-          "telephoneNumber"   => _("Telefon number"),
+          "telephoneNumber"   => _("Telephone number"),
           "pager"             => _("Pager number"),
           "mobile"            => _("Mobile number"),
           "facsimileTelephoneNumber"     => _("Fax number"),
@@ -1721,13 +1742,13 @@ class user extends plugin
 
         );
 
-    /* Append government attributes if required */
-    global $config;
-    if($config->get_cfg_value("honourIvbbAttributes") == "true"){
-      foreach($govattrs as $attr => $desc){
-        $ret["plProvidedAcls"][$attr] = $desc;
-      }
-    }
+#   /* Append government attributes if required */
+#   global $config;
+#   if($config->get_cfg_value("core","honourIvbbAttributes") == "true"){
+#     foreach($govattrs as $attr => $desc){
+#       $ret["plProvidedAcls"][$attr] = $desc;
+#     }
+#   }
     return($ret);
   }
 
@@ -1773,7 +1794,7 @@ class user extends plugin
     if (isset($_POST['pw_storage'])){
       foreach(array("pw_storage") as $val){
         if(isset($_POST[$val])){
-          $data= validate(get_post($val));
+          $data= get_post($val);
           if ($data != $this->$val){
             $this->is_modified= TRUE;
           }
@@ -1874,7 +1895,7 @@ class user extends plugin
         $attrs = $ldap->fetch();
         $this->manager_name = $attrs['cn'][0];
       }else{
-        $this->manager_name = "("._("Unknown")."!): ".$this->manager;
+        $this->manager_name = "("._("unknown")."!): ".$this->manager;
       }
     }
 
diff --git a/gosa-core/plugins/personal/generic/generic.tpl b/gosa-core/plugins/personal/generic/generic.tpl
index 517218e..00275a4 100644
--- a/gosa-core/plugins/personal/generic/generic.tpl
+++ b/gosa-core/plugins/personal/generic/generic.tpl
@@ -1,136 +1,138 @@
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding="4" border="0">
+<h3>{t}Personal information{/t}</h3>
 
- <!-- Headline container -->
+<table summary="{t}Personal information{/t}">
  <tr>
-  <td colspan="4">
-   <h2><img alt="" align="middle" src="plugins/generic/images/head.png" class="center"> {t}Personal information{/t}</h2>
-  </td>
- </tr>
+  <td>
 
- <!-- Base 1 container -->
- <tr>
+   <!-- The users picture settings container -->
+   <table summary="{t}The users picture{/t}">
+    <tr>
+     <td style='width:147px; height:200px; background-color:gray; vertical-align: middle;' >
+      {if !$userPicture_is_readable}
+      <img  src="plugins/users/images/default.jpg" alt=''>
+      {else}
+      <img  src="getbin.php?rand={$rand}" alt='' style='max-width:147px; max-height: 200px; vertical-align: middle;' >
+      {/if}
+     </td>
+    </tr>
+    <tr>
+     <td>
+      {render acl=$userPictureACL checkbox=$multiple_support checked=$use_edit_picture}
+      <button type="submit" name="edit_picture">{t}Change picture{/t}...</button>
+      {/render}
+     </td>
+    </tr>
+   </table>
+  <!-- /The users picture settings container -->
 
-  <!-- Image container -->
-	<!-- Image container -->
-	<td style="vertical-align:top">
-	  <table>
-	   <tr>
-		<td width="147" height="200" bgcolor="gray">
-		{if !$userPicture_is_readable}
-			<img class='center' border="0" width="100%" src="plugins/users/images/default.jpg" alt="{t}Personal picture{/t}">
-		{else}
-			<img class='center' border="0" width="100%" src="getbin.php?rand={$rand}" alt="{t}Personal picture{/t}">
-		{/if}
-		</td>
-	   </tr>
-	   <tr>
-		<td>
-{render acl=$userPictureACL checkbox=$multiple_support checked=$use_edit_picture}
-		 	<input style='vertical-align:top;' type="submit" name="edit_picture" value="{t}Change picture{/t}...">
-{/render}
-		</td>
-	   </tr>
-	  </table>
-	</td>
-	<!--
-	Old image container, with incorrect image scaling.
-  <td style="vertical-align:top">
-   <img align="bottom" border="1" width="145" height="200" src="getbin.php?rand={$rand}" alt="{t}Personal picture{/t}">
-   <br>
-   <input type="submit" name="edit_picture" value="{t}Change picture{/t}...">
-  </td>
-	-->
+  </td> 
+  <td style='width:45%'>
+
+   {if $is_template ne "true"}
 
-  <!-- Name, ... -->
-  <td style="vertical-align:top;">
-   <table summary=""> 
-    {if $is_template ne "true"}
+   <!-- The users personal settings container -->
+   <table summary="{t}Account settings{/t}"> 
     <tr>
-     <td><label for="sn">{t}Last name{/t}{$must}</label></td>
      <td>
-{if $multiple_support}
-	 <input type="text" id="sn" name="dummy2" size=25 maxlength=60 value="{t}Multiple edit{/t}" disabled>
-{else}
-{render acl=$snACL}
-	 <input type="text" id="sn" name="sn" size=25 maxlength=60 value="{$sn}">
-{/render}
-{/if}
-	 </td>
+      <label for="sn">{t}Last name{/t}{$must}</label>
+     </td>
+     <td>
+      {if $multiple_support}
+       <input type="text" id="sn" name="dummy2" maxlength=60 value="{t}Multiple edit{/t}" disabled>
+      {else}
+       {render acl=$snACL}
+        <input type="text" id="sn" name="sn" maxlength=60 value="{$sn}">
+       {/render}
+      {/if}
+     </td>
     </tr>
-    {else}
     <tr>
-     <td><label for="sn">{t}Template name{/t}{$must}</label></td>
-     <td>{render acl=$snACL}<input type="text" id="sn" name="sn" size=25 maxlength=60 value="{$sn}">{/render}</td>
+     <td>
+      <label for="givenName">{t}First name{/t}{$must}</label>
+     </td>
+     <td>
+      {if $multiple_support}
+       <input type="text" id="givenName" name="dummy3" maxlength=60 value="{t}Multiple edit{/t}" disabled>
+      {else}
+       {render acl=$givenNameACL}
+        <input type="text" id="givenName" name="givenName" maxlength=60 value="{$givenName}">
+       {/render}
+      {/if}
+     </td>
     </tr>
-    {/if}
-
-    {if $is_template ne "true"}
     <tr>
-     <td><label for="givenName">{t}First name{/t}{$must}</label></td>
      <td>
-
-{if $multiple_support}
-	 <input type="text" id="givenName" name="dummy3" size=25 maxlength=60 value="{t}Multiple edit{/t}" disabled>
-{else}
-{render acl=$givenNameACL}
-	 <input type="text" id="givenName" name="givenName" size=25 maxlength=60 value="{$givenName}">
-{/render}
-{/if}
-	 </td>
+      <label for="uid">{t}Login{/t}{$must}</label>
+     </td>
+     <td>
+      {if !$multiple_support}
+       {render acl=$uidACL}
+        <input type="text" id="uid" name="uid" maxlength=60  value="{$uid}">
+       {/render}
+      {else}
+       <input type="text" id="uid" name="dummy1" maxlength=60  value="{t}Multiple edit{/t}" disabled>
+      {/if}
+     </td>
     </tr>
+
+   {else}
+
+   <!-- The template settings container -->
+   <table summary="{t}Account settings{/t}"> 
     <tr>
-     <td><label for="uid">{t}Login{/t}{$must}</label></td>
-     <td>
-		{if !$multiple_support}
-{render acl=$uidACL}
-			<input type="text" id="uid" name="uid" size=25 maxlength=60  value="{$uid}">
-{/render}
-		{else}
-			<input type="text" id="uid" name="dummy1" size=25 maxlength=60  value="{t}Multiple edit{/t}" disabled>
-		{/if}
-	 </td>
+     <td><label for="sn">{t}Template name{/t}{$must}</label></td>
+     <td>{render acl=$snACL}<input type="text" id="sn" name="sn" maxlength=60 value="{$sn}">{/render}</td>
     </tr>
-    {/if}
-      
+
+   {/if}
+    
+   <!-- Additional account/template settings -->
     <tr>
      <td>
-      <div style="height:10px;"></div>
       <label for="personalTitle">{t}Personal title{/t}</label>
      </td>
      <td>
-      <div style="height:10px;"></div>
-{render acl=$personalTitleACL checkbox=$multiple_support checked=$use_personalTitle}
-		<input type="text" id="personalTitle" name="personalTitle" size=25 maxlength=60 value="{$personalTitle}">
-{/render}
+      {render acl=$personalTitleACL checkbox=$multiple_support checked=$use_personalTitle}
+       <input type="text" id="personalTitle" name="personalTitle" maxlength=60 value="{$personalTitle}">
+      {/render}
      </td>
     </tr>
     <tr>
-     <td><label for="academicTitle">{t}Academic title{/t}</label></td>
      <td>
-{render acl=$academicTitleACL checkbox=$multiple_support checked=$use_academicTitle}
-	      <input type="text" id="academicTitle" name="academicTitle" size=25 maxlength=60 value="{$academicTitle}">
-{/render}
+      <label for="academicTitle">{t}Academic title{/t}</label>
+     </td>
+     <td>
+      {render acl=$academicTitleACL checkbox=$multiple_support checked=$use_academicTitle}
+       <input type="text" id="academicTitle" name="academicTitle" maxlength=60 value="{$academicTitle}">
+      {/render}
      </td>
     </tr>
-{if !$multiple_support}
+
+    {if !$multiple_support}
+
+    <!-- Date of birth container (not visible in mutliple edit) -->
     <tr>
      <td>
       <div style="height:10px;"></div>
-      <label for="day">{t}Date of birth{/t}</label>
+      <label for="dateOfBirth">{t}Date of birth{/t}</label>
      </td>
      <td>
       <div style="height:10px;"></div>
-{render acl=$dateOfBirthACL}
-        <input type="text" id="dateOfBirth" name="dateOfBirth" class="date" style='width:100px' value="{$dateOfBirth}">
-        {if $dateOfBirthACL|regex_replace:"/[cdmr]/":"" == "w"}
-        <script type="text/javascript">
-          {literal}
-          var datepicker  = new DatePicker({ relative : 'dateOfBirth', language : '{/literal}{$lang}{literal}', keepFieldEmpty : true,
-                                             enableCloseEffect : false, enableShowEffect : false });
-          {/literal}
-        </script>
-        {/if}
-{/render}
+       {render acl=$dateOfBirthACL}
+        <input type="text" id="dateOfBirth" name="dateOfBirth" class="date" value="{$dateOfBirth}">
+         {if $dateOfBirthACL|regex_replace:"/[cdmr]/":"" == "w"}
+          <script type="text/javascript">
+           {literal}
+            var datepicker  = new DatePicker(
+                  { relative : 'dateOfBirth', 
+                    language : '{/literal}{$lang}{literal}', 
+                    keepFieldEmpty : true,
+                    enableCloseEffect : false, 
+                    enableShowEffect : false });
+           {/literal}
+          </script>
+         {/if}
+      {/render}
      </td>
     </tr>
     <tr>
@@ -138,138 +140,139 @@
       <label for="gender">{t}Sex{/t}</label>
      </td>
      <td>
-{render acl=$genderACL}
-	      <select size="1" id="gender" name="gender">
-	       {html_options options=$gender_list selected=$gender}
-	      </select>
-{/render}
+      {render acl=$genderACL}
+       <select size="1" id="gender" name="gender">
+        {html_options options=$gender_list selected=$gender}
+       </select>
+      {/render}
      </td>
     </tr>
-{/if}
+    {/if}
+
     <tr>
      <td>
-      <label for="preferredLanguage">{t}Preferred langage{/t}</label>
+      <label for="preferredLanguage">{t}Preferred language{/t}</label>
      </td>
      <td>
-{render acl=$preferredLanguageACL checkbox=$multiple_support checked=$use_preferredLanguage}
-	      <select size="1" id="preferredLanguage" name="preferredLanguage">
-	       {html_options options=$preferredLanguage_list selected=$preferredLanguage}
-	      </select>
-{/render}
+      {render acl=$preferredLanguageACL checkbox=$multiple_support checked=$use_preferredLanguage}
+      <select size="1" id="preferredLanguage" name="preferredLanguage">
+       {html_options options=$preferredLanguage_list selected=$preferredLanguage}
+      </select>
+      {/render}
      </td>
     </tr>
     <tr>
      <td>
-      <div style="height:10px;"></div>
-      <label for="base">{t}Base{/t}</label>
+      <div style="height:10px;"> </div>
+      {t}Base{/t}
      </td>
      <td>
-      <div style="height:10px;"></div>
-{render acl=$baseACL checkbox=$multiple_support checked=$use_base}
+      <div style="height:10px;"> </div>
+      {render acl=$baseACL checkbox=$multiple_support checked=$use_base}
       {$base}
-{/render}
+      {/render}
      </td>
     </tr>
    </table>
+
   </td>
-  <td style="border-left:1px solid #A0A0A0">
-    
+  <td class='left-border'>    
   </td>
-  <td style="vertical-align:top;">
 
-   <!-- Address, ... -->
-   <table summary="" style="width:100%"> 
+  <td>
+   <table summary="{t}Postal address{/t}"> 
     <tr>
-     <td style="vertical-align:top;"><label for="homePostalAddress">{t}Address{/t}</label></td>
-      <td>
-{render acl=$homePostalAddressACL checkbox=$multiple_support checked=$use_homePostalAddress}
-	     <textarea id="homePostalAddress" name="homePostalAddress" rows="3" style="width:100%">{$homePostalAddress}</textarea>
-{/render}
+     <td><label for="homePostalAddress">{t}Address{/t}</label></td>
+     <td>
+      {render acl=$homePostalAddressACL checkbox=$multiple_support checked=$use_homePostalAddress}
+        <textarea cols='200' id="homePostalAddress" name="homePostalAddress" rows="3" style="width:100%">{$homePostalAddress}</textarea>
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="homePhone">{t}Private phone{/t}</label>
-     </td><td>
-{render acl=$homePhoneACL checkbox=$multiple_support checked=$use_homePhone}
-	     <input type="text" id="homePhone" name="homePhone" size=25 maxlength=60 value="{$homePhone}">
-{/render}
+      </td><td>
+      {render acl=$homePhoneACL checkbox=$multiple_support checked=$use_homePhone}
+      <input type="text" id="homePhone" name="homePhone" maxlength=60 value="{$homePhone}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="labeledURI">{t}Homepage{/t}</label></td>
      <td>
-{render acl=$labeledURIACL checkbox=$multiple_support checked=$use_labeledURI}
-	 	<input type="text" id="labeledURI" name="labeledURI" size=25 maxlength=60 value="{$labeledURI}">
-{/render}
-     </td>
-    </tr>
-    <tr>
-     <td colspan=2>
-      <div style="height:10px;"></div>
+      {render acl=$labeledURIACL checkbox=$multiple_support checked=$use_labeledURI}
+      <input type="text" id="labeledURI" name="labeledURI" maxlength=60 value="{$labeledURI}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="pw_storage">{t}Password storage{/t}</label></td>
      <td>
-{render acl=$passwordStorageACL checkbox=$multiple_support checked=$use_pw_storage}
-	      <select size="1" id="pw_storage" name="pw_storage" onchange='document.mainform.submit()'>
-			{foreach from=$pwmode key=value item=desc}
-				<option value="{$value}" {if $pwmode_select == $value}selected{/if} >{$desc}</option>
-			{/foreach}
-	      </select>
-	{if $pw_configurable eq "true"}
-	        <input id="edit_pw_method" type="submit" name="edit_pw_method" value="{t}Configure{/t}...">
-	{/if}
-{/render}
+      {render acl=$passwordStorageACL checkbox=$multiple_support checked=$use_pw_storage}
+      <select size="1" id="pw_storage" name="pw_storage" onchange='document.mainform.submit()'>
+       {foreach from=$pwmode key=value item=desc}
+       <option value="{$value}" {if $pwmode_select == $value}selected{/if} >{$desc}</option>
+       {/foreach}
+      </select>
+      {if $pw_configurable eq "true"}
+        <button id="edit_pw_method" type="submit" name="edit_pw_method">{t}Configure{/t}...</button>
+      {/if}
+      {/render}
      </td>
     </tr>
-
+    
     {if $is_template ne "true" && !$multiple_support}
     <tr>
      <td><label for="edit_cert">{t}Certificates{/t}</label></td>
      <td>
-{render acl=$CertificatesACL mode=read_active}
-      		<input id="edit_cert" type="submit" name="edit_cert" value="{t}Edit certificates{/t}...">
-{/render}
+      {render acl=$CertificatesACL mode=read_active}
+      <button id="edit_cert" type="submit" name="edit_cert">{t}Edit certificates{/t}...</button>
+      {/render}
      </td>
     </tr>
     {/if}
-
+    
     <tr>
      <td colspan=2>
       <div style="height:10px;"></div>
      </td>
     </tr>
     <tr>
-     <td style='vertical-align:top'><label for="edit_perms">{t}Restrict login to{/t}</label></td>
-     <td>
-     
-     {if !$multiple_support}
-       {$gosaLoginRestrictionWidget}
-       <input type="text" id="res" name="res" size=22 maxlength=33 
-        value="{t}IP or network{/t}" onFocus='document.getElementById("res").value=""'>
-       <input id="add_res" type="submit" name="add_res" value="{t}Add{/t}">
-     {else}
+     <td colspan="2"><label for="res">{t}Restrict login to{/t}</label>
+      
+      {if !$multiple_support}
+      {render acl=$gosaLoginRestrictionACL}
+      {$gosaLoginRestrictionWidget}
+      {/render}
+      {render acl=$gosaLoginRestrictionACL}
+      <input type="text" id="res" name="res" maxlength=33 
+      value="{t}IP or network{/t}" onFocus='document.getElementById("res").value=""'>
+      {/render}
+      {render acl=$gosaLoginRestrictionACL}
+      <button id="add_res" type="submit" name="add_res">{t}Add{/t}</button>
+      {/render}
+      
+      {else}
       <input type='checkbox' name='use_gosaLoginRestriction' {if $use_gosaLoginRestriction} checked {/if}
-        onClick='document.mainform.submit();'
+      onClick='document.mainform.submit();'
       >
       {if !$use_gosaLoginRestriction}
-        {render acl=$gosaLoginRestriction_ONLY_R_ACL}
-          {$gosaLoginRestrictionWidget}
-        {/render}
+      {render acl=$gosaLoginRestriction_ONLY_R_ACL}
+      {$gosaLoginRestrictionWidget}
+      {/render}
       {else}
-        {render acl=$gosaLoginRestrictionACL}
-          {$gosaLoginRestrictionWidget}
-        {/render}
-        {render acl=$gosaLoginRestrictionACL}
-	        <input type="text" id="res" name="res" size=22 maxlength=33 
-            value="{t}IP or network{/t}" onFocus='document.getElementById("res").value=""'>
-        {/render}
-        {render acl=$gosaLoginRestrictionACL}
-     	    <input id="add_res" type="submit" name="add_res" value="{t}Add{/t}">
-        {/render}
+      {render acl=$gosaLoginRestrictionACL}
+      {$gosaLoginRestrictionWidget}
+      {/render}
+      {render acl=$gosaLoginRestrictionACL}
+      <input type="text" id="res" name="res" maxlength=33 
+      value="{t}IP or network{/t}" onFocus='document.getElementById("res").value=""'>
+      {/render}
+      {render acl=$gosaLoginRestrictionACL}
+      <button id="add_res" type="submit" name="add_res">{t}Add{/t}</button>
+      {/render}
+      {/if}
       {/if}
-     {/if}
      </td>
     </tr>
    </table>
@@ -277,83 +280,74 @@
  </tr>
 </table>
 
-<p class="seperator"> </p>
-
-<table summary="" class="line" style="width:100%; vertical-align:top; text-align:left;" cellpadding="4" border="0">
+<hr>
 
- <!-- Headline container -->
+<table summary="{t}Organizational information{/t}">
  <tr>
   <td colspan="3">
-   <h2><img alt="" align="middle" src="plugins/generic/images/house.png" class="center"> {t}Organizational information{/t}</h2>
+   <h3>{t}Organizational information{/t}</h3>
   </td>
  </tr>
-
- <!-- Base 2 container -->
  <tr>
 
   {if $governmentmode ne "true"}
   <!-- Company, ... -->
-  <td style="vertical-align:top;">
-   <table summary=""> 
+  <td>
+   <table summary="{t}Organizational information{/t} - {t}part{/t} 1">
     <tr>
      <td><label for="o">{t}Organization{/t}</label></td>
      <td>	
-{render acl=$oACL checkbox=$multiple_support checked=$use_o}
-		<input type="text" id="o" name="o" size=22 maxlength=60 value="{$o}">
-{/render}
+      {render acl=$oACL checkbox=$multiple_support checked=$use_o}
+      <input type="text" id="o" name="o" maxlength=60 value="{$o}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="ou">{t}Department{/t}</label></td>
      <td>
-{render acl=$ouACL checkbox=$multiple_support checked=$use_ou}
-		<input type="text" id="ou" name="ou" size=22 maxlength=60 value="{$ou}">
-{/render}
+      {render acl=$ouACL checkbox=$multiple_support checked=$use_ou}
+      <input type="text" id="ou" name="ou" maxlength=60 value="{$ou}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="departmentNumber">{t}Department No.{/t}</label></td>
      <td>
-{render acl=$departmentNumberACL checkbox=$multiple_support checked=$use_departmentNumber}
-	      <input type="text" id="departmentNumber" name="departmentNumber" size=22 maxlength=60 value="{$departmentNumber}">
-{/render}
+      {render acl=$departmentNumberACL checkbox=$multiple_support checked=$use_departmentNumber}
+      <input type="text" id="departmentNumber" name="departmentNumber" maxlength=60 value="{$departmentNumber}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="employeeNumber">{t}Employee No.{/t}</label></td>
      <td>
-{render acl=$employeeNumberACL checkbox=$multiple_support checked=$use_employeeNumber}
-      		<input type="text" id="employeeNumber" name="employeeNumber" size=22 maxlength=60 value="{$employeeNumber}">
-{/render}
+      {render acl=$employeeNumberACL checkbox=$multiple_support checked=$use_employeeNumber}
+      <input type="text" id="employeeNumber" name="employeeNumber" maxlength=60 value="{$employeeNumber}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="employeeType">{t}Employee type{/t}</label></td>
      <td>
-{render acl=$employeeTypeACL checkbox=$multiple_support checked=$use_employeeType}
-      		<input type="text" id="employeeType" name="employeeType" size=22 maxlength=60 value="{$employeeType}">
-{/render}
+      {render acl=$employeeTypeACL checkbox=$multiple_support checked=$use_employeeType}
+      <input type="text" id="employeeType" name="employeeType" maxlength=60 value="{$employeeType}">
+      {/render}
      </td>
     </tr>
     {if !$multiple_support}
     <tr>
-     <td><label for="manager">{t}Manager{/t}</label></td>
+     <td><label for="manager_name">{t}Manager{/t}</label></td>
      <td>
-{render acl=$managerACL}
-        <input type='text' name='manager_name' id='manager_name' value='{$manager_name}' disabled
-          title='{$manager}'>
-{/render}
-{render acl=$managerACL}
-        <input type='image' src='images/lists/edit.png' name='editManager' class='center'>
-{/render}
-        {if $manager!=""}
-{render acl=$managerACL}
-        <img src='images/info_small.png' title='{$manager}' class='center'>
-{/render}
-{render acl=$managerACL}
-        <input type='image' src='images/lists/trash.png' name='removeManager' class='center'>
-{/render}
-        {/if}
+      {render acl=$managerACL}
+        <input type='text' name='manager_name' id='manager_name' value='{$manager_name}' disabled title='{$manager}'
+          style='width:120px;'>
+      {/render}
+
+      {image path="images/lists/edit.png" action="editManager" acl=$managerACL}
+      {if $manager!=""}
+        {image path="images/info_small.png" title="{$manager}" acl=$managerACL}
+        {image path="images/lists/trash.png" action="removeManager" acl=$managerACL}
+      {/if}
      </td>
     </tr>
     {else}
@@ -361,274 +355,275 @@
      <td><label for="manager">{t}Manager{/t}</label></td>
      <td>
       <input type='checkbox' value="1" name="use_manager" id="use_manager" {if $use_manager} checked {/if}
-        onClick="document.mainform.submit();">
-        <input type='text' name='manager_name' id='manager_name' value='{$manager_name}' disabled
-          title='{$manager}'>
-        {if $use_manager}
-        <input type='image' src='images/lists/edit.png' name='editManager' class='center'>
-        {if $manager!=""}
-        <img src='images/info_small.png' title='{$manager}' class='center'>
-        <input type='image' src='images/lists/trash.png' name='removeManager' class='center'>
-        {/if}
-        {/if}
+      onClick="document.mainform.submit();">
+      <input type='text' name='manager_name' id='manager_name' value='{$manager_name}' disabled
+      title='{$manager}'>
+      {if $use_manager}
+      {image path="images/lists/edit.png" action="editManager"}
+
+      {if $manager!=""}
+      {image path="images/info_small.png" title="{$manager}"}
+
+      {image path="images/lists/trash.png" action="removeManager"}
+
+      {/if}
+      {/if}
      </td>
     </tr>
-  
+    
     {/if}
    </table>
   </td>
-   
-  <td style="border-left:1px solid #A0A0A0">
-    
+  
+  <td class='left-border'>    
   </td>
-
+  
   <!-- Phone, ... -->
-  <td style="vertical-align:top;">
-   <table summary=""> 
+  <td>
+   <table summary="{t}Organizational information{/t} - {t}part{/t} 2">
     <tr>
      <td><label for="roomNumber">{t}Room No.{/t}</label></td>
      <td>
-{render acl=$roomNumberACL checkbox=$multiple_support checked=$use_roomNumber}
-		<input type="text" id="roomNumber" name="roomNumber" size=22 maxlength=60 value="{$roomNumber}">
-{/render}
+      {render acl=$roomNumberACL checkbox=$multiple_support checked=$use_roomNumber}
+      <input type="text" id="roomNumber" name="roomNumber" maxlength=60 value="{$roomNumber}">
+      {/render}
      </td>
     </tr>
     {if $has_phoneaccount ne "true"}
     <tr>
      <td><label for="telephoneNumber">{t}Phone{/t}</label></td>
      <td>
-{render acl=$telephoneNumberACL checkbox=$multiple_support checked=$use_telephoneNumber}
-      		<input type="text" id="telephoneNumber" name="telephoneNumber" size=22 maxlength=60 value="{$telephoneNumber}">
-{/render}
+      {render acl=$telephoneNumberACL checkbox=$multiple_support checked=$use_telephoneNumber}
+      <input type="text" id="telephoneNumber" name="telephoneNumber" maxlength=60 value="{$telephoneNumber}">
+      {/render}
      </td>
     </tr>
     {/if}
     <tr>
      <td><label for="mobile">{t}Mobile{/t}</label></td>
      <td>
-{render acl=$mobileACL checkbox=$multiple_support checked=$use_mobile}
-		<input type="text" id="mobile" name="mobile" size=22 maxlength=60 value="{$mobile}">
-{/render}
+      {render acl=$mobileACL checkbox=$multiple_support checked=$use_mobile}
+      <input type="text" id="mobile" name="mobile" maxlength=60 value="{$mobile}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="pager">{t}Pager{/t}</label></td>
      <td>
-{render acl=$pagerACL checkbox=$multiple_support checked=$use_pager}
-      		<input type="text" id="pager" name="pager" size=22 maxlength=60 value="{$pager}">
-{/render}
+      {render acl=$pagerACL checkbox=$multiple_support checked=$use_pager}
+      <input type="text" id="pager" name="pager" maxlength=60 value="{$pager}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="facsimileTelephoneNumber">{t}Fax{/t}</label></td>
      <td>
-{render acl=$facsimileTelephoneNumberACL checkbox=$multiple_support checked=$use_facsimileTelephoneNumber}
-		<input type="text" id="facsimileTelephoneNumber" name="facsimileTelephoneNumber" size=22 maxlength=60 value="{$facsimileTelephoneNumber}">
-{/render}
+      {render acl=$facsimileTelephoneNumberACL checkbox=$multiple_support checked=$use_facsimileTelephoneNumber}
+      <input type="text" id="facsimileTelephoneNumber" name="facsimileTelephoneNumber" maxlength=60 value="{$facsimileTelephoneNumber}">
+      {/render}
      </td>
     </tr>
    </table>
   </td>
-
-  <td style="border-left:1px solid #A0A0A0">
-    
+  
+  <td class='left-border'>    
   </td>
-
+  
   <!-- Location, ... -->
-  <td style="vertical-align:top;">
-   <table summary="" style="width:100%"> 
+  <td style='width:33%'>
+   <table summary="{t}Organizational information{/t} - {t}part{/t} 3">
     <tr>
      <td><label for="l">{t}Location{/t}</label></td>
      <td>
-{render acl=$lACL checkbox=$multiple_support checked=$use_l}
-		<input type="text" id="l" name="l" size=22 maxlength=60 value="{$l}">
-{/render}
+      {render acl=$lACL checkbox=$multiple_support checked=$use_l}
+      <input type="text" id="l" name="l" maxlength=60 value="{$l}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="st">{t}State{/t}</label></td>
      <td>
-{render acl=$stACL checkbox=$multiple_support checked=$use_st}
-		<input type="text" id="st" name="st" size=22 maxlength=60 value="{$st}">
-{/render}
+      {render acl=$stACL checkbox=$multiple_support checked=$use_st}
+      <input type="text" id="st" name="st" maxlength=60 value="{$st}">
+      {/render}
      </td>
     </tr>
     <tr>
-     <td style="vertical-align:top;"><label for="postalAddress">{t}Address{/t}</label></td>
+     <td><label for="postalAddress">{t}Address{/t}</label></td>
      <td>
-{render acl=$postalAddressACL checkbox=$multiple_support checked=$use_postalAddress}
-      		<textarea id="postalAddress" name="postalAddress" rows=3 style="width:100%">{$postalAddress}</textarea>
-{/render}
+      {render acl=$postalAddressACL checkbox=$multiple_support checked=$use_postalAddress}
+        <textarea cols="200" id="postalAddress" name="postalAddress" rows=3 style="width:100%">{$postalAddress}</textarea>
+      {/render}
      </td>
     </tr>
    </table>
   </td>
-
+  
   {else} 
-
+  
   <!-- Beschreibung, ... -->
-  <td style="vertical-align:top;border-right:1px solid #b0b0b0">
-   <table summary=""> 
+  <td class="right-border">
+   <table summary="{t}Organizational information{/t} - {t}part{/t} 1">
     <tr>
      <td><label for="vocation">{t}Vocation{/t}</label></td>
      <td>
-{render acl=$vocationACL checkbox=$multiple_support checked=$use_vocation}
-		<input type="text" id="vocation" name="vocation" size=22 maxlength=60 value="{$vocation}">
-{/render}
+      {render acl=$vocationACL checkbox=$multiple_support checked=$use_vocation}
+      <input type="text" id="vocation" name="vocation" maxlength=60 value="{$vocation}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="gouvernmentOrganizationalUnitDescription">{t}Unit description{/t}</label></td>
      <td>
-{render acl=$gouvernmentOrganizationalUnitDescriptionACL checkbox=$multiple_support checked=$use_gouvernmentOrganizationalUnitDescription}
-      		<input type="text" id="gouvernmentOrganizationalUnitDescription" name="gouvernmentOrganizationalUnitDescription" size=22 maxlength=60
-		value="{$gouvernmentOrganizationalUnitDescription}">
-{/render}
+      {render acl=$gouvernmentOrganizationalUnitDescriptionACL checkbox=$multiple_support checked=$use_gouvernmentOrganizationalUnitDescription}
+      <input type="text" id="gouvernmentOrganizationalUnitDescription" name="gouvernmentOrganizationalUnitDescription" maxlength=60
+      value="{$gouvernmentOrganizationalUnitDescription}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="gouvernmentOrganizationalUnitSubjectArea">{t}Subject area{/t}</label></td>
      <td>
-{render acl=$gouvernmentOrganizationalUnitSubjectAreaACL checkbox=$multiple_support checked=$use_gouvernmentOrganizationalUnitSubjectArea}
-	      	<input type="text" id="gouvernmentOrganizationalUnitSubjectArea" name="gouvernmentOrganizationalUnitSubjectArea" size=22 maxlength=60
-           	value="{$gouvernmentOrganizationalUnitSubjectArea}">
-{/render}
+      {render acl=$gouvernmentOrganizationalUnitSubjectAreaACL checkbox=$multiple_support checked=$use_gouvernmentOrganizationalUnitSubjectArea}
+      <input type="text" id="gouvernmentOrganizationalUnitSubjectArea" name="gouvernmentOrganizationalUnitSubjectArea" maxlength=60
+      value="{$gouvernmentOrganizationalUnitSubjectArea}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="functionalTitle">{t}Functional title{/t}</label></td>
      <td>
-{render acl=$functionalTitleACL checkbox=$multiple_support checked=$use_functionalTitle}
-      		<input type="text" name="functionalTitle" id="functionalTitle"  size=22 maxlength=60
-             	value="{$functionalTitle}">
-{/render}
+      {render acl=$functionalTitleACL checkbox=$multiple_support checked=$use_functionalTitle}
+      <input type="text" name="functionalTitle" id="functionalTitle"  maxlength=60
+      value="{$functionalTitle}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="role">{t}Role{/t}</label></td>
      <td>
-{render acl=$roleACL checkbox=$multiple_support checked=$use_role}
-      		<input type="text" id="role" name="role" size=22 maxlength=60 value="{$role}">
-{/render}
+      {render acl=$roleACL checkbox=$multiple_support checked=$use_role}
+      <input type="text" id="role" name="role" maxlength=60 value="{$role}">
+      {/render}
      </td>
     </tr>
    </table>
   </td>
   
   <!-- Phone, ... -->
-  <td style="vertical-align:top;border-right:1px solid #b0b0b0">
-   <table summary=""> 
+  <td class='right-border'>
+   <table summary="{t}Organizational information{/t} - {t}part{/t} 2">
     <tr>
      <td><label for="gouvernmentOrganizationalPersonLocality">{t}Person locality{/t}</label></td>
      <td>
-{render acl=$gouvernmentOrganizationalPersonLocalityACL checkbox=$multiple_support checked=$use_gouvernmentOrganizationalPersonLocality}
-      		<input type="text" id="gouvernmentOrganizationalPersonLocality" name="gouvernmentOrganizationalPersonLocality" size=22 maxlength=60
-                value="{$gouvernmentOrganizationalPersonLocality}">
-{/render}
+      {render acl=$gouvernmentOrganizationalPersonLocalityACL checkbox=$multiple_support checked=$use_gouvernmentOrganizationalPersonLocality}
+      <input type="text" id="gouvernmentOrganizationalPersonLocality" name="gouvernmentOrganizationalPersonLocality" maxlength=60
+      value="{$gouvernmentOrganizationalPersonLocality}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="gouvernmentOrganizationalUnit">{t}Unit{/t}</label></td>
      <td>
-{render acl=$gouvernmentOrganizationalUnitACL checkbox=$multiple_support checked=$use_gouvernmentOrganizationalUnit}
-		<input type="text" id="gouvernmentOrganizationalUnit" name="gouvernmentOrganizationalUnit" size=22 maxlength=60 
-            	value="{$gouvernmentOrganizationalUnit}">
-{/render}
+      {render acl=$gouvernmentOrganizationalUnitACL checkbox=$multiple_support checked=$use_gouvernmentOrganizationalUnit}
+      <input type="text" id="gouvernmentOrganizationalUnit" name="gouvernmentOrganizationalUnit" maxlength=60 
+      value="{$gouvernmentOrganizationalUnit}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="street">{t}Street{/t}</label></td>
      <td>
-{render acl=$streetACL checkbox=$multiple_support checked=$use_street}
-      		<input type="text" name="street" id="street" size=22 maxlength=60 value="{$street}">
-{/render}
+      {render acl=$streetACL checkbox=$multiple_support checked=$use_street}
+      <input type="text" name="street" id="street" maxlength=60 value="{$street}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="postalCode">{t}Postal code{/t}</label></td>
      <td> 
-{render acl=$postalCodeACL checkbox=$multiple_support checked=$use_postalCode}
-      		<input type="text" name="postalCode" id="postalCode" size=22 maxlength=60 value="{$postalCode}">
-{/render}
+      {render acl=$postalCodeACL checkbox=$multiple_support checked=$use_postalCode}
+      <input type="text" name="postalCode" id="postalCode" maxlength=60 value="{$postalCode}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="houseIdentifier">{t}House identifier{/t}</label></td>
      <td>
-{render acl=$houseIdentifierACL checkbox=$multiple_support checked=$use_houseIdentifier}
-      		<input type="text" id="houseIdentifier" name="houseIdentifier" size=22 maxlength=60
-             	value="{$houseIdentifier}">
-{/render}
+      {render acl=$houseIdentifierACL checkbox=$multiple_support checked=$use_houseIdentifier}
+      <input type="text" id="houseIdentifier" name="houseIdentifier" maxlength=60
+      value="{$houseIdentifier}">
+      {/render}
      </td>
     </tr>
    </table>
   </td>
-
+  
   <!-- Location, ... -->
-  <td style="vertical-align:top;">
-   <table summary=""> 
+  <td>
+   <table summary="{t}Organizational information{/t} - {t}part{/t} 3">
     <tr>
      <td><label for="roomNumber">{t}Room No.{/t}</label></td>
      <td>
-{render acl=$roomNumberACL checkbox=$multiple_support checked=$use_roomNumber}
-		<input type="text" id="roomNumber" name="roomNumber" size=22 maxlength=60 value="{$roomNumber}">
-{/render}
+      {render acl=$roomNumberACL checkbox=$multiple_support checked=$use_roomNumber}
+      <input type="text" id="roomNumber" name="roomNumber" maxlength=60 value="{$roomNumber}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="telephoneNumber">{t}Phone{/t}</label></td>
      <td>
-{render acl=$telephoneNumberACL checkbox=$multiple_support checked=$use_telephoneNumber}
-	      {if $has_phoneaccount ne "true"}
-			<input type="text" id="telephoneNumber" name="telephoneNumber" size=22 maxlength=60 value="{$telephoneNumber}">
-	      {else}
-			<i>{t}Please use the phone tab{/t}</i>
-	      {/if}
-{/render}
+      {render acl=$telephoneNumberACL checkbox=$multiple_support checked=$use_telephoneNumber}
+      {if $has_phoneaccount ne "true"}
+      <input type="text" id="telephoneNumber" name="telephoneNumber" maxlength=60 value="{$telephoneNumber}">
+      {else}
+      <i>{t}Please use the phone tab{/t}</i>
+      {/if}
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="facsimileTelephoneNumber">{t}Fax{/t}</label></td>
      <td>
-{render acl=$facsimileTelephoneNumberACL checkbox=$multiple_support checked=$use_facsimileTelephoneNumber}
-      		<input type="text" id="facsimileTelephoneNumber" name="facsimileTelephoneNumber" size=22 maxlength=60 
-                value="{$facsimileTelephoneNumber}">
-{/render}
+      {render acl=$facsimileTelephoneNumberACL checkbox=$multiple_support checked=$use_facsimileTelephoneNumber}
+      <input type="text" id="facsimileTelephoneNumber" name="facsimileTelephoneNumber" maxlength=60 
+      value="{$facsimileTelephoneNumber}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="ivbbLastDeliveryCollective">{t}Last delivery{/t}</label></td>
      <td>
-{render acl=$ivbbLastDeliveryCollectiveACL checkbox=$multiple_support checked=$use_ivbbLastDeliveryCollective}
-      		<input type="text" name="ivbbLastDeliveryCollective" size=22 maxlength=60 id="ivbbLastDeliveryCollective" 
-             	value="{$ivbbLastDeliveryCollective}">
-{/render}
+      {render acl=$ivbbLastDeliveryCollectiveACL checkbox=$multiple_support checked=$use_ivbbLastDeliveryCollective}
+      <input type="text" name="ivbbLastDeliveryCollective" maxlength=60 id="ivbbLastDeliveryCollective" 
+      value="{$ivbbLastDeliveryCollective}">
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="publicVisible">{t}Public visible{/t}</label></td>
      <td>
-{render acl=$publicVisibleACL checkbox=$multiple_support checked=$use_publicVisible}
-	      <select size="1" id="publicVisible" name="publicVisible">
-	       {html_options values=$ivbbmodes output=$ivbbmodes selected=$publicVisible}
-	      </select>
-{/render}
+      {render acl=$publicVisibleACL checkbox=$multiple_support checked=$use_publicVisible}
+      <select size="1" id="publicVisible" name="publicVisible">
+       {html_options values=$ivbbmodes output=$ivbbmodes selected=$publicVisible}
+      </select>
+      {/render}
      </td>
     </tr>
    </table>
   </td>
- {/if} 
+  {/if} 
  </tr>
 </table>
 
 {if $multiple_support}
-	<input type="hidden" name="user_mulitple_edit" value="1">
+<input type="hidden" name="user_mulitple_edit" value="1">
 {/if}
 <input type=hidden name="generic">
 
 <!-- Place cursor -->
 <script language="JavaScript" type="text/javascript">
-  <!-- // First input field on page
-	focus_field('sn');
-  -->
+<!-- // First input field on page
+focus_field('sn');
+-->
 </script>
diff --git a/gosa-core/plugins/personal/generic/generic_certs.tpl b/gosa-core/plugins/personal/generic/generic_certs.tpl
index a4fc6fd..366a6ef 100644
--- a/gosa-core/plugins/personal/generic/generic_certs.tpl
+++ b/gosa-core/plugins/personal/generic/generic_certs.tpl
@@ -1,96 +1,101 @@
 <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
- <!-- Headline container -->
-<h2><img alt="" class="center" align="middle" src="images/lists/key.png"> {t}Certificates{/t}</h2>
 
-<table summary="" style="vertical-align:top; text-align:left;border-top: 1px solid rgb(176,176,176);" width="100%" cellpadding=4 border=0>
+<h3>{t}Certificates{/t}</h3>
+
+<table summary="{t}The users standard certificate{/t}" style="width:100%">
  <tr>
-   <td width="12%" style="vertical-align:top">
-      {t}Standard certificate{/t}
-   </td>
-  
-   <td style="vertical-align:top">
-	 <LABEL for="userCertificate_file">{if $Certificate_readable}{$userCertificateinfo}{/if}</LABEL>
-	 </td>
-	 <td style="vertical-align:top;text-align:right">
-	 {if $userCertificate_state ne "true"}
-	{render acl=$CertificateACL}
-     <input id="userCertificate_file" name="userCertificate_file" type="file" size="20" maxlength="255" accept="text/*.*">
-	{/render}
-     {else}
-	{render acl=$CertificateACL}
-     <input type=submit name="remove_userCertificate" value="{t}Remove{/t}">
-	{/render}
-     {/if}
-   </td>
+  <td style="width:25%">
+   {t}Standard certificate{/t}
+  </td>
+  <td>
+   <label for="userCertificate_file">
+   {if $Certificate_readable}{$userCertificateinfo}{/if}</label>
+  </td>
+  <td style="text-align:right">
+   {if $userCertificate_state ne "true"}
+   {render acl=$CertificateACL}
+   <input id="userCertificate_file" name="userCertificate_file" type="file" size="20" maxlength="255" accept="text/*.*">
+   {/render}
+   {else}
+   {render acl=$CertificateACL}
+   <button type='submit' name='remove_userCertificate'>
+   {t}Remove{/t}</button>
+   {/render}
+   {/if}
+  </td>
  </tr>
- </table>
+</table>
 
-<br>
+<hr>
 
- <table summary="" style="vertical-align:top; text-align:left;border-top: 1px solid rgb(176,176,176);" width="100%" cellpadding=4 border=0>
+<table summary="{t}The users S/MIME certificate{/t}" style="width:100%">
  <tr>
-   <td width="12%" style="vertical-align:top">
-      {t}S/MIME certificate{/t} 
-   </td>
-   <td style="vertical-align:top">
-     <LABEL for="userSMIMECertificate_file">{if $Certificate_readable}{$userSMIMECertificateinfo}{/if}</LABEL>
-   </td>
-   <td style="vertical-align:top;text-align:right">
-	 {if $userSMIMECertificate_state ne "true"}
-	{render acl=$CertificateACL}
-     <input id="userSMIMECertificate_file" name="userSMIMECertificate_file" type="file" size="20" maxlength="255" accept="text/*.*">
-	{/render}
-     {else}
-	{render acl=$CertificateACL}
-     <input type=submit name="remove_userSMIMECertificate" value="{t}Remove{/t}">
-	{/render}
-	 {/if}
-   </td>
+  <td style="width:25%">
+   {t}S/MIME certificate{/t} 
+  </td>
+  <td>
+   <label for="userSMIMECertificate_file">
+   {if $Certificate_readable}{$userSMIMECertificateinfo}{/if}</label>
+  </td>
+  <td style="text-align:right">
+   {if $userSMIMECertificate_state ne "true"}
+   {render acl=$CertificateACL}
+   <input id="userSMIMECertificate_file" name="userSMIMECertificate_file" type="file" size="20" maxlength="255" accept="text/*.*">
+   {/render}
+   {else}
+   {render acl=$CertificateACL}
+   <button type='submit' name='remove_userSMIMECertificate'>
+   {t}Remove{/t}</button>
+   {/render}
+   {/if}
+  </td>
  </tr>
- </table>
+</table>
 
-<br>
+<hr>
 
-<table summary="" style="vertical-align:top; text-align:left;border-top: 1px solid rgb(176,176,176);" width="100%" cellpadding=4 border=0> 
+<table summary="{t}The users PKCS12 certificate{/t}" style="width:100%">
  <tr>
-   <td width="12%" style="vertical-align:top">
-      {t}PKCS12 certificate{/t} 
-   </td>
-   <td style="vertical-align:top">
-     <LABEL for="userPKCS12_file">{if $Certificate_readable}{$userPKCS12info}{/if}</LABEL>
-   </td>
-   <td style="vertical-align:top;text-align:right">
-	 {if $userPKCS12_state ne "true"}
-	{render acl=$CertificateACL}
-     <input id="userPKCS12_file" name="userPKCS12_file" type="file" size="20" maxlength="255" accept="text/*.*">
-	{/render}
-	 {else}
-	{render acl=$CertificateACL}
-     <input type=submit name="remove_userPKCS12" value="{t}Remove{/t}">
-	{/render}
-	 {/if}
-   </td>
+  <td style="width:25%">
+   {t}PKCS12 certificate{/t} 
+  </td>
+  <td>
+   <label for="userPKCS12_file">
+   {if $Certificate_readable}{$userPKCS12info}{/if}</label>
+  </td>
+  <td style="text-align:right">
+   {if $userPKCS12_state ne "true"}
+   {render acl=$CertificateACL}
+   <input id="userPKCS12_file" name="userPKCS12_file" type="file" size="20" maxlength="255" accept="text/*.*">
+   {/render}
+   {else}
+   {render acl=$CertificateACL}
+   <button type='submit' name='remove_userPKCS12'>
+   {t}Remove{/t}</button>
+   {/render}
+   {/if}
+  </td>
  </tr>
- 
  {if $governmentmode eq "true"}
  <tr>
-   <td>
-     <LABEL for="certificateSerialNumber">{t}Certificate serial number{/t}</LABEL>
-   </td>
-   <td>
-	{render acl=$CertificateACL}
-     <input type='text' id="certificateSerialNumber" name="certificateSerialNumber" size=10 maxlength=20 value="{$certificateSerialNumber}">
-	{/render}
-   </td>
+  <td>
+   <label for="certificateSerialNumber">
+   {t}Certificate serial number{/t}</label>
+  </td>
+  <td>
+   {render acl=$CertificateACL}
+   <input type='text' id="certificateSerialNumber" name="certificateSerialNumber" size=10 maxlength=20 value="{$certificateSerialNumber}">
+   {/render}
+  </td>
  </tr>
  {/if}
 </table>
-
-<p class="plugbottom">
-	{render acl=$CertificateACL}
-  <input type=submit name="cert_edit_finish" value="{msgPool type=saveButton}">
-	{/render}
-   
-  <input type=submit name="cert_edit_cancel" value="{msgPool type=cancelButton}">
-</p>
-
+<hr>
+<div class='plugin-actions'>
+ {render acl=$CertificateACL}
+ <button type='submit' name='cert_edit_finish'>
+ {msgPool type=saveButton}</button>
+ {/render}
+ <button type='submit' name='cert_edit_cancel'>
+ {msgPool type=cancelButton}</button>
+</div>
diff --git a/gosa-core/plugins/personal/generic/generic_picture.tpl b/gosa-core/plugins/personal/generic/generic_picture.tpl
index de72255..0fcea19 100644
--- a/gosa-core/plugins/personal/generic/generic_picture.tpl
+++ b/gosa-core/plugins/personal/generic/generic_picture.tpl
@@ -1,37 +1,20 @@
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4 border=0>
- <!-- Headline container -->
+<h3>{t}User picture{/t}</h3>
+<table summary="{t}The users picture{/t}">
  <tr>
-   <td colspan=2>
-     <h2><img alt="" class="center" align="middle" src="plugins/generic/images/head.png"> {t}Personal picture{/t}</h2>
-   </td>
- </tr>
- <!-- Base container -->
- <tr>
- <!-- Image container -->
-  <td>
-   <table>
-    <tr>
-     <td width="147" height="200" bgcolor="gray">
-      <img class="center" border="0" width="100%" src="getbin.php?rand={$rand}" alt="{t}Personal picture{/t}">
-     </td>
-    </tr>
-   </table>
+  <td style='width:147px; height:200px; background-color:gray; vertical-align: middle;'>
+   <img  src="getbin.php?rand={$rand}" alt='' style='max-width:147px; max-height: 200px; vertical-align: middle;' >
   </td>
-	</tr>
-	<tr>
-   <!-- Name, ... -->
-   <td style="vertical-align:bottom; width:100%;">
-     <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
-     <input id="picture_file" name="picture_file" type="file" size="20" maxlength="255" accept="image/*.jpg">
-      
-     <input type=submit name="picture_remove" value="{t}Remove picture{/t}">
-   </td>
  </tr>
 </table>
-<br>
-<p class="plugbottom">
-  <input type=submit name="picture_edit_finish" value="{msgPool type=saveButton}">
-   
-  <input type=submit name="picture_edit_cancel" value="{msgPool type=cancelButton}">
-</p>
+<p>
+ <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
+  <input id="picture_file" name="picture_file" type="file" size="20" maxlength="255" accept="image/*.jpg">
+    
+  <button type='submit' name='picture_remove'>{t}Remove picture{/t}</button>
+ </p>
+<hr>
+<div class='plugin-actions'>
+  <button type='submit' name='picture_edit_finish'>{msgPool type=saveButton}</button>
+  <button type='submit' name='picture_edit_cancel'>{msgPool type=cancelButton}</button>
+</div>
 
diff --git a/gosa-core/plugins/personal/generic/main.inc b/gosa-core/plugins/personal/generic/main.inc
deleted file mode 100644
index da690e9..0000000
--- a/gosa-core/plugins/personal/generic/main.inc
+++ /dev/null
@@ -1,173 +0,0 @@
-<?php
-/*
- * This code is part of GOsa (http://www.gosa-project.org)
- * Copyright (C) 2003-2008 GONICUS GmbH
- *
- * ID: $$Id: main.inc 18920 2010-07-02 14:55:25Z hickert $$
- *
- * 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.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-/* Remove locks created by this plugin
-*/
-$lock_msg="";
-if ($remove_lock || isset($_POST['edit_cancel']) || isset($_POST['password_cancel'])){
-  if(session::is_set('user') && session::is_set('edit')){
-    del_lock($ui->dn);
-  }
-}
-
-/* Remove this plugin from session
-*/
-if ( $cleanup ){
-  session::un_set('user');
-  session::un_set('edit');
-
-}else{
-
-  /* Reset requested? */
-  if (isset($_POST['edit_cancel']) || isset($_POST['password_cancel'])|| isset($_POST['password_changed'])){
-    session::un_set ('edit');
-    session::un_set ('user');
-  }
-
-  /* Create user object on demand */
-  if (!session::is_set('user') || (isset($_GET['reset']) && $_GET['reset'] == 1)){
-    $user= new user ($config, $ui->dn);
-    $user->enable_CSN_check();
-    $user->set_acl_base($ui->dn);
-    $user->set_acl_category("users");
-    session::set('user',$user);
-  }
-  $user = session::get('user');
-
-  /* save changes back to object */
-  if (session::is_set('edit')){
-    $user->save_object ();
-  }
-
-  /* Enter edit mode? */
-  if ((isset($_POST['edit'])) && (!session::is_set('edit')) &&preg_match("/w/",$ui->get_permissions($ui->dn,"users/user"))){
-
-    /* Check locking */
-    if (($username= get_lock($ui->dn)) != ""){
-      session::set('back_plugin',$plug);
-      session::set('LOCK_VARS_TO_USE',array("/^edit$/","/^plug$/"));
-      $lock_msg =  gen_locked_message ($username, $ui->dn);
-
-    }else{
-
-      /* Lock the current entry */
-      add_lock ($ui->dn, $ui->dn);
-      session::set('dn',$ui->dn);
-      session::set('edit',TRUE);
-    }
-  }
-
-  /* save changes to LDAP and disable edit mode */
-  $info = "";
-  if (isset($_POST['edit_finish'])){
-
-      /* Perform checks */
-      $message= $user->check ();
-
-      /* No errors, save object */
-      if (count ($message) == 0){
-          $user->save ();
-          del_lock ($ui->dn);
-          session::un_set ('edit');
-
-          /* Need to reset the password? */
-          if($user->password_change_needed()){
-
-              $user->passwordClass= new password($config, $ui->dn);
-              $user->passwordClass->forceHash($user->pw_storage);
-
-              session::set('user',$user);
-              $display.=$user->passwordClass->execute();
-          } else {
-              session::un_set ('user');
-          }
-
-      } else {
-          /* Errors found, show message */
-          msg_dialog::displayChecks($message);
-      }
-  }elseif(isset($user->passwordClass)){
-
-    $display.=$user->passwordClass->execute();
-
-  }else{
-
-      /* Execute formular */
-      if($lock_msg){
-          $display.= $lock_msg;
-      }else{
-          $display.= $user->execute ();
-      }
-
-      /* Store changes  in session */
-      if (session::is_set('edit')){
-          session::set('user',$user);
-      }
-
-      /* Show page footer depending on the mode */
-      if (!$user->cert_dialog && !$user->picture_dialog && !$user->dialog && $user->is_account && empty($lock_msg)){
-          $display.= "<p class=\"plugbottom\">";
-
-          /* Are we in edit mode? */
-          if (session::is_set('edit')){
-              $display.= "<input type=submit name=\"edit_finish\" style=\"width:80px\" value=\"".msgPool::okButton()."\">\n";
-              $display.= " ";
-              $display.= "<input type=submit name=\"edit_cancel\" value=\"".msgPool::cancelButton()."\">\n";
-
-              $info= "<img class=\"center\" alt=\"\" align=\"middle\" src=\"".get_template_path('images/lists/locked.png').
-                  "\"> ".$ui->dn." ";
-          } else {
-              /* 'viewid' may be set by i.e. the phonelist plugin. This
-                 means that we want to go back... */
-              if (isset ($viewid)){
-                  $str= msgPool::backButton();
-                  $fn = "back";
-              } else {
-                  $str= msgPool::editButton();
-                  $fn = "edit";
-                  $info= "<img class=\"center\" alt=\"\" align=\"middle\" src=\"".get_template_path('images/lists/unlocked.png').
-                      "\"> ".$ui->dn." ";
-              }
-
-              /* Only display edit button if there is at least one attribute editable */
-              if(preg_match("/r/",$ui->get_permissions($ui->dn,"users/user"))){
-                  if ($fn == "edit"){
-                      $info.= "<img class=\"center\" alt=\"\" align=\"middle\" src=\"".get_template_path('images/lists/on.png')."\"> ".
-                          msgPool::clickEditToChange();
-                      $display.= "<input type=submit name=\"$fn\" value=\"$str\">\n";
-                  }
-              }
-
-              $display.= "<input type=\"hidden\" name=\"ignore\">\n";
-          }
-          $display.= "</p>\n";
-      }
-  }
-
-  /* Page header*/
-  $display= print_header(get_template_path('plugins/generic/images/plugin.png'),
-      _("Generic user information"), $info).$display;
-
-}
-
-// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
-?>
diff --git a/gosa-core/plugins/personal/generic/password.tpl b/gosa-core/plugins/personal/generic/password.tpl
deleted file mode 100644
index 1f4ba1f..0000000
--- a/gosa-core/plugins/personal/generic/password.tpl
+++ /dev/null
@@ -1,110 +0,0 @@
-<script type="text/javascript" src="include/pwdStrength.js"></script>
-
-<p>
-  {t}To change your personal password use the fields below. The changes take effect immediately. Please memorize the new password, because you wouldn't be able to login without it.{/t}
-</p>
-
-<p>
-  {t}Changing the password affects your authentification on mail, proxy, samba and unix services.{/t}
-</p>
-
-<hr>
-
-{if !$proposalEnabled}
-
-  <table summary="" style="vertical-align:top; text-align:left;" cellpadding=4 border=0>
-    <tr>
-      <td><b><LABEL for="current_password">{t}Current password{/t}</LABEL></b></td>
-      <td><input id="current_password" type="password" name="current_password" 
-          onFocus="nextfield= 'new_password';"></td>
-    </tr>
-    <tr>
-      <td><b><LABEL for="new_password">{t}New password{/t}</LABEL></b></td>
-      <td><input id="new_password" type="password" name="new_password" 
-          onFocus="nextfield= 'repeated_password';" onkeyup="testPasswordCss(document.getElementById('new_password').value);"></td>
-    </tr>
-    <tr>
-      <td><b><LABEL for="repeated_password">{t}Repeat new password{/t}</LABEL></b></td>
-      <td><input id="repeated_password" type="password" name="repeated_password" 
-          onFocus="nextfield= 'password_finish';"></td>
-    </tr>
-    <tr>
-      <td><b>{t}Password strength{/t}</b></td>
-      <td>
-      <span id="meterEmpty" style="padding:0;margin:0;width:100%;background-color:#DC143C;display:block;height:5px;">
-      <span id="meterFull" style="padding:0;margin:0;z-index:100;width:0;background-color:#006400;display:block;height:5px;"></span></span>
-      </td>
-    </tr>
-  </table>
-
-{else}
-
-  <table cellpadding=4 border=0 summary="{t}Password change dialog{/t}">
-    <tr>
-      <td><b><LABEL for="current_password">{t}Current password{/t}</LABEL></b></td>
-      <td><input id="current_password" type="password" name="current_password" 
-          onFocus="nextfield= 'new_password';"></td>
-    </tr>
-    <tr>
-      <td>
-        <input type='radio' value='1' name='proposalSelected'
-            {if $proposalSelected} checked {/if}> <b>{t}Use proposal{/t}</b>
-      </td>
-      <td>
-        <div style='
-                  width:180px;
-                  border:1px solid #BBB;
-                  padding-top:3px;
-                  padding-bottom:3px;
-            '>{$proposal}</div>
-      </td>
-      <td>
-         <input type='submit' name='refreshProposal' value='{t}Refresh{/t}'>
-      </td>
-    </tr>
-    <tr>
-      <td>
-        <input type='radio' value='0' name='proposalSelected'
-            {if !$proposalSelected} checked {/if}> <b>{t}Manually specify a password{/t}</b>
-      </td>
-    </tr>
-    <tr>
-      <td  style='padding-left:40px;'><b><LABEL for="new_password">{t}New password{/t}</LABEL></b></td>
-      <td><input id="new_password" type="password" name="new_password" 
-          onFocus="nextfield= 'repeated_password';" onkeyup="testPasswordCss(document.getElementById('new_password').value);"></td>
-    </tr>
-    <tr>
-      <td  style='padding-left:40px;'><b><LABEL for="repeated_password">{t}Repeat new password{/t}</LABEL></b></td>
-      <td><input id="repeated_password" type="password" name="repeated_password" 
-          onFocus="nextfield= 'password_finish';"></td>
-    </tr>
-    <tr>
-      <td  style='padding-left:40px;'><b>{t}Password strength{/t}</b></td>
-      <td>
-      <span id="meterEmpty" style="padding:0;margin:0;width:100%;background-color:#DC143C;display:block;height:7px;">
-      <span id="meterFull" style="padding:0;margin:0;z-index:100;width:0;background-color:#006400;display:block;height:7px;"></span></span>
-      </td>
-    </tr>
-  </table>
-{/if}
-
-
-<br>
-
-<p class="plugbottom">
-  <input type=submit name="password_finish" value="{t}Set password{/t}">
-   
-  <input type=reset id="password_cancel" name="password_cancel" value="{t}Clear fields{/t}">
-  <input type='hidden' id='formSubmit'>
-</p>
-
-<input type="hidden" name="ignore">
-
-<!-- Place cursor -->
-<script language="JavaScript" type="text/javascript">
-  <!-- // First input field on page
-  nextfield= 'current_password';
-	focus_field('current_password');
-  -->
-</script>
-
diff --git a/gosa-core/plugins/personal/generic/paste_generic.tpl b/gosa-core/plugins/personal/generic/paste_generic.tpl
index ae722ea..e5b9bda 100644
--- a/gosa-core/plugins/personal/generic/paste_generic.tpl
+++ b/gosa-core/plugins/personal/generic/paste_generic.tpl
@@ -1,59 +1,48 @@
-<h2>{t}User settings{/t}</h2>
-<table width="100%">
-  <tr>
-	<td style="vertical-align:top; border-right:1px solid #AAA; width:50%">
-	  <table>
-		<tr>
-		  <td><label for="sn">{t}Last name{/t}</label></td>
-		  <td><input type='text' id="sn" name="sn" size=25 maxlength=60  value="{$sn}"></td>
-		</tr>
-		<tr>
-		  <td><label for="givenName">{t}First name{/t}</label></td>
-		  <td><input type='text' id="givenName" name="givenName" size=25 maxlength=60 value="{$givenName}"></td>
-		</tr>
-		<tr>
-		  <td><label for="uid">{t}Login{/t}</label></td>
-		  <td><input type='text' id="uid" name="uid" size=25 maxlength=60 value="{$uid}"></td>
-		</tr>
-		<tr>
-			<td style='vertical-align:top;'>
-				{t}Password{/t}
-			</td>
-			<td>
-				<input type="radio" {if $passwordTodo=="clear"} checked{/if} name="passwordTodo" value="clear">{t}Clear password{/t}<br>
-				<input type="radio" {if $passwordTodo=="new"}   checked{/if} name="passwordTodo" value="new">{t}Set new password{/t}
-			</td>
-		</tr>
-	  </table>
-	</td>
-	<td style="vertical-align:top ">
-	  <table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4 border=0>
-		<tr>
-		<!-- Image container -->
-		  <td colspan="2">
-			<table>
-			  <tr>
-				<td width="147" height="200" bgcolor="gray">
-				  <img align="middle" border="0" width="100%" src="getbin.php?rand={$rand}" alt="{t}Personal picture{/t}">
-				</td>
-			  </tr>
-			</table>
-		  </td>
-		</tr>
-		<tr>
-		  <!-- Name, ... -->
-		  <td style="vertical-align:top;">
-			<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
-			 {t}User picture{/t}
-		  </td>
-		  <td>
-			<input id="picture_file" name="picture_file" type="file" size="20" maxlength="255" accept="image/*.jpg">
-			 
-			<input type=submit name="picture_remove" value="{t}Remove picture{/t}">
-		  </td>
-		</tr>
-	  </table>
-	</td>
-  </tr>
+<h3>{t}User settings{/t}</h3>
+
+<table width="100%" summary="{t}Paste user{/t}">
+ <tr>
+ <td class="right-border" style="width:50%">
+   <table width="100%" summary="{t}Personal information{/t}">
+ 	<tr>
+ 	  <td><label for="sn">{t}Last name{/t}</label></td>
+ 	  <td><input type='text' id="sn" name="sn" size=25 maxlength=60  value="{$sn}"></td>
+ 	</tr>
+ 	<tr>
+ 	  <td><label for="givenName">{t}First name{/t}</label></td>
+ 	  <td><input type='text' id="givenName" name="givenName" size=25 maxlength=60 value="{$givenName}"></td>
+ 	</tr>
+ 	<tr>
+ 	  <td><label for="uid">{t}Login{/t}</label></td>
+ 	  <td><input type='text' id="uid" name="uid" size=25 maxlength=60 value="{$uid}"></td>
+ 	</tr>
+ 	<tr>
+ 		<td>
+ 			{t}Password{/t}
+ 		</td>
+ 		<td>
+ 			<input type="radio" {if $passwordTodo=="clear"} checked{/if} name="passwordTodo" value="clear">{t}Clear password{/t}<br>
+ 			<input type="radio" {if $passwordTodo=="new"}   checked{/if} name="passwordTodo" value="new">{t}Set new password{/t}
+ 		</td>
+ 	</tr>
+   </table>
+ </td>
+ <td>
+  <table summary="{t}The users picture{/t}">
+   <tr>
+    <td style='width:147px; height:200px; background-color:gray;'>
+
+     <img src="getbin.php?rand={$rand}" alt='' style='width:147px;' >
+    </td>
+   </tr>
+  </table>
+  <p>
+   <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
+    <input id="picture_file" name="picture_file" type="file" size="20" maxlength="255" accept="image/*.jpg">
+      
+    <button type='submit' name='picture_remove'>{t}Remove picture{/t}</button>
+   </p>
+  </td>
+ </tr>
 </table>
 <br>
diff --git a/gosa-core/plugins/personal/myaccount/MyAccountTabs.inc b/gosa-core/plugins/personal/myaccount/MyAccountTabs.inc
new file mode 100644
index 0000000..20e3934
--- /dev/null
+++ b/gosa-core/plugins/personal/myaccount/MyAccountTabs.inc
@@ -0,0 +1,61 @@
+<?php
+/*
+ * This code is part of GOsa (http://www.gosa-project.org)
+ * Copyright (C) 2003-2008 GONICUS GmbH
+ *
+ * ID: $$Id: tabs_user.inc 14136 2009-08-26 08:02:49Z hickert $$
+ *
+ * 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.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+class MyAccountTabs extends tabs
+{
+  var $password_change_needed = FALSE;
+
+  function remove_lock()
+  {
+    echo "Implement remove Lock !!!!!";;
+  }
+
+  function save($ignore_account= FALSE)
+  {
+      /* Check for new 'dn', in order to propagate the
+         'dn' to all plugins */
+      $baseobject= $this->by_object['user'];
+      $baseobject->update_new_dn();
+      if ($this->dn != 'new'){
+
+          $new_dn= $baseobject->new_dn;
+
+          if ($this->dn != $new_dn){
+
+              /* Udpate acls */
+              $baseobject->update_acls($this->dn,$new_dn);
+              $baseobject->move($this->dn, $new_dn);
+              $this->by_object['user']= $baseobject;
+
+              /* Did we change ourselves? Update ui object. */
+              change_ui_dn($this->dn, $new_dn);
+          }
+      }
+
+      $this->dn= $baseobject->new_dn;
+
+      return tabs::save();
+  }
+}
+
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>
diff --git a/gosa-core/plugins/personal/myaccount/changed.tpl b/gosa-core/plugins/personal/myaccount/changed.tpl
new file mode 100644
index 0000000..1b9a152
--- /dev/null
+++ b/gosa-core/plugins/personal/myaccount/changed.tpl
@@ -0,0 +1,13 @@
+
+<p>
+ <b>{t}You've successfully changed your password. Remember to change all programs configured to use it as well.{/t}</b>
+</p>
+
+<br>
+
+<hr>
+<div class="plugin-actions">
+  <button type='submit' name='password_changed'>{msgPool type=backButton}</button>
+</div>
+
+<input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/personal/myaccount/class_MyAccount.inc b/gosa-core/plugins/personal/myaccount/class_MyAccount.inc
new file mode 100644
index 0000000..8de9aca
--- /dev/null
+++ b/gosa-core/plugins/personal/myaccount/class_MyAccount.inc
@@ -0,0 +1,10 @@
+<?php
+
+class MyAccount extends plugin
+{
+  var $plHeadline= "My account";
+  var $plDescription= "Edit personal settings";
+}
+
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>
diff --git a/gosa-core/plugins/personal/myaccount/main.inc b/gosa-core/plugins/personal/myaccount/main.inc
new file mode 100644
index 0000000..b300a97
--- /dev/null
+++ b/gosa-core/plugins/personal/myaccount/main.inc
@@ -0,0 +1,158 @@
+<?php
+/*
+ * This code is part of GOsa (http://www.gosa-project.org)
+ * Copyright (C) 2003-2008 GONICUS GmbH
+ *
+ * ID: $$Id: main.inc 15315 2010-01-26 13:00:52Z hickert $$
+ *
+ * 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.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+
+/* Remove locks created by this plugin
+*/
+$lock_msg="";
+if ($remove_lock || 
+        isset($_POST['edit_cancel']) || 
+        isset($_POST['password_cancel'])){
+    del_lock($ui->dn);
+}
+
+/* Reset requested? */
+if (isset($_POST['edit_cancel']) || $cleanup || isset($_POST['password_changed'])){ 
+    session::un_set ('edit');
+    session::un_set ('MyAccountTabs');
+}
+
+/* Remove this plugin from session
+ */
+if (! $cleanup ){
+
+    /* Create MyAccountTabs object on demand */
+    if (!session::is_set('MyAccountTabs') || (isset($_GET['reset']) && $_GET['reset'] == 1)){
+
+        // Check if the base plugin is available - it is mostly responsible for object creation and removal.
+        $first  = $config->data['TABS']['MYACCOUNTTABS'][0];
+        if(!class_available($first['CLASS'])){
+            msg_dialog::display(_("Internal error"),
+                    sprintf(_("Cannot instantiate tabbed-plug-in, the base plugin (%s) is not available!"), $first['CLASS']),
+                    ERROR_DIALOG);
+        }else{
+
+            $MyAccountTabs= new MyAccountTabs($config,$config->data['TABS']['MYACCOUNTTABS'], $ui->dn, "users", true, true); 
+            $MyAccountTabs->setReadOnly(TRUE);
+            $MyAccountTabs->enableAutoSaveObject(FALSE);
+            session::set('MyAccountTabs',$MyAccountTabs);
+        }
+    }
+
+    if(session::is_set('MyAccountTabs')){
+        $MyAccountTabs = session::get('MyAccountTabs');
+
+
+        $call_save_object = !$MyAccountTabs->read_only;
+
+        /* Enter edit mode? */
+        if ((isset($_POST['edit'])) && (!session::is_set('edit'))){
+
+            /* Check locking */
+            if (($username= get_lock($ui->dn)) != ""){
+                session::set('back_plugin',$plug);
+                session::set('LOCK_VARS_TO_USE',array("/^edit$/","/^plug$/"));
+                $lock_msg =  gen_locked_message ($username, array($ui->dn));
+
+            }else{
+
+                /* Lock the current entry */
+                add_lock ($ui->dn, $ui->dn);
+                session::set('edit',TRUE);
+                $MyAccountTabs->setReadOnly(FALSE);
+            }
+        }
+
+        $info= "";
+        if (isset($_POST['edit_finish'])){
+            $message= $MyAccountTabs->check ();
+            if (count ($message) == 0){
+                $MyAccountTabs->save ();
+                del_lock ($ui->dn);
+                session::un_set ('edit');
+                $MyAccountTabs->setReadOnly(TRUE);
+                if(isset($MyAccountTabs->by_object['user']) && $MyAccountTabs->by_object['user']->password_change_needed()){
+                    $MyAccountTabs->password_change_needed = TRUE;
+                }else{
+                    session::un_set ('MyAccountTabs');
+                    $MyAccountTabs= new MyAccountTabs($config,$config->data['TABS']['MYACCOUNTTABS'], $ui->dn, "users", true, true); 
+                    $MyAccountTabs->setReadOnly(TRUE);
+                }
+            } else {
+                msg_dialog::displayChecks($message);
+            }
+        }
+
+        // Build up password class to make password-hash changes 
+        //  effective, by setting a new password.
+        if($MyAccountTabs->password_change_needed){
+            if(!isset($MyAccountTabs->passwordClass)){
+                $user = $MyAccountTabs->by_object['user'];
+                $MyAccountTabs->passwordClass= new password($config, $ui->dn);
+                $MyAccountTabs->passwordClass->forceHash($user->pw_storage);
+            }
+            $display.= $MyAccountTabs->passwordClass->execute();
+        }
+
+        /* Execute formular */
+        if(!$MyAccountTabs->password_change_needed){
+            pathNavigator::registerPlugin(_("My account"));
+            if($lock_msg){
+                $display = $lock_msg;
+            }else{
+
+                // Reenabled auto saveing of POST values.
+                if($call_save_object){
+                    $MyAccountTabs->enableAutoSaveObject(TRUE);
+                }
+
+                $display.= $MyAccountTabs->execute ();
+            }
+        }
+
+        /* Store changes  in session */
+        if (session::is_set('edit')){
+            session::set('MyAccountTabs',$MyAccountTabs);
+        }
+
+        /* Show page footer depending on the mode */
+        if (!$MyAccountTabs->is_modal_dialog() && empty($lock_msg) && !$MyAccountTabs->password_change_needed){
+
+            $display.= "<div class='plugin-actions'>";
+
+            /* Are we in edit mode? */
+            if (session::is_set('edit')){
+                $display.= "<button class='button' type='submit' name='edit_finish'>".msgPool::okButton()."</button>\n";
+                $display.= "<button class='button' type='submit' name='edit_cancel'>".msgPool::cancelButton()."</button>\n";
+            } else {
+                if(preg_match("/r/",$ui->get_category_permissions($ui->dn,"users"))){
+                    $display.= "<button class='button' type='submit' name='edit'>".msgPool::editButton()."</button>\n";
+                }
+                $display.= "<input type='hidden' name='ignore'>\n";
+            }
+            $display.= "</div>\n";
+        }
+    }
+}
+
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>
diff --git a/gosa-core/plugins/personal/generic/nochange.tpl b/gosa-core/plugins/personal/myaccount/nochange.tpl
similarity index 59%
rename from gosa-core/plugins/personal/generic/nochange.tpl
rename to gosa-core/plugins/personal/myaccount/nochange.tpl
index eb0ac8a..49fa315 100644
--- a/gosa-core/plugins/personal/generic/nochange.tpl
+++ b/gosa-core/plugins/personal/myaccount/nochange.tpl
@@ -5,4 +5,10 @@
  {t}Your password hash method will not be changed!{/t}
 </p>
 
+<br>
+
+<hr>
+<div class="plugin-actions">
+  <button type='submit' name='password_back'>{msgPool type=backButton}</button>
+</div>
 <input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/personal/myaccount/password.tpl b/gosa-core/plugins/personal/myaccount/password.tpl
new file mode 100644
index 0000000..3c613ad
--- /dev/null
+++ b/gosa-core/plugins/personal/myaccount/password.tpl
@@ -0,0 +1,111 @@
+<script type="text/javascript" src="include/pwdStrength.js"></script>
+
+<p>
+  {t}To change your personal password use the fields below. The changes take effect immediately. Please memorize the new password, because you wouldn't be able to login without it.{/t}
+</p>
+
+<hr>
+
+{if !$proposalEnabled}
+  <table cellpadding=4 border=0 summary="{t}Password change dialog{/t}">
+    <tr>
+      <td><b><LABEL for="current_password">{t}Current password{/t}</LABEL></b></td>
+      <td>
+          {factory type='password' name='current_password' id='current_password' onfocus="nextfield= 'new_password';"}
+      </td>
+    </tr>
+    <tr>
+      <td><b><LABEL for="new_password">{t}New password{/t}</LABEL></b></td>
+      <td>
+          {factory type='password' name='new_password' id='new_password' 
+              onkeyup="testPasswordCss(\$('new_password').value)"  onfocus="nextfield= 'repeated_password';"}
+      </td>
+    </tr>
+    <tr>
+      <td><b><LABEL for="repeated_password">{t}Repeat new password{/t}</LABEL></b></td>
+      <td>
+          {factory type='password' name='repeated_password' id='repeated_password' onfocus="nextfield= 'password_finish';"}
+      </td>
+    </tr>
+    <tr>
+      <td><b>{t}Password strength{/t}</b></td>
+      <td>
+      <span id="meterEmpty" style="padding:0;margin:0;width:100%;background-color:#DC143C;display:block;height:7px;">
+      <span id="meterFull" style="padding:0;margin:0;z-index:100;width:0;background-color:#006400;display:block;height:7px;"></span></span>
+      </td>
+    </tr>
+  </table>
+{else}
+  <table cellpadding=4 border=0 summary="{t}Password change dialog{/t}">
+    <tr>
+      <td><b><LABEL for="current_password">{t}Current password{/t}</LABEL></b></td>
+      <td>
+          {factory type='password' name='current_password' id='current_password' onfocus="nextfield= 'new_password';"}
+      </td>
+    </tr>
+    <tr>
+      <td>
+        <input type='radio' value='1' name='proposalSelected' id='proposalSelected_true'
+            {if $proposalSelected} checked {/if}> <b><LABEL for="proposalSelected_true">{t}Use proposal{/t}</LABEL></b>
+      </td>
+      <td>
+        <div style='
+                  width:180px;
+                  border:1px solid #CCC;
+                  padding:3px;
+                  padding-top:5px;
+                  padding-bottom:4px;
+            '>{$proposal}</div>
+      </td>
+      <td style='vertical-align: middle;'>
+            {image path='images/lists/reload.png' action='refreshProposal'}
+      </td>
+    </tr>
+    <tr>
+      <td>
+        <input type='radio' value='0' name='proposalSelected' id='proposalSelected_false'
+            {if !$proposalSelected} checked {/if}> <b><LABEL for="proposalSelected_false">{t}Manually specify a password{/t}</LABEL></b>
+      </td>
+    </tr>
+    <tr>
+      <td style='padding-left:40px;'><b><LABEL for="new_password">{t}New password{/t}</LABEL></b></td>
+      <td>
+          {factory type='password' name='new_password' id='new_password' 
+              onkeyup="testPasswordCss(\$('new_password').value)"  onfocus="nextfield= 'repeated_password';"}
+      </td>
+    </tr>
+    <tr>
+      <td style='padding-left:40px;'><b><LABEL for="repeated_password">{t}Repeat new password{/t}</LABEL></b></td>
+      <td>
+          {factory type='password' name='repeated_password' id='repeated_password' onfocus="nextfield= 'password_finish';"}
+      </td>
+    </tr>
+    <tr>
+      <td  style='padding-left:40px;'><b>{t}Password strength{/t}</b></td>
+      <td>
+      <span id="meterEmpty" style="padding:0;margin:0;width:100%;background-color:#DC143C;display:block;height:7px;">
+      <span id="meterFull" style="padding:0;margin:0;z-index:100;width:0;background-color:#006400;display:block;height:7px;"></span></span>
+      </td>
+    </tr>
+  </table>
+{/if}
+<br>
+
+<hr>
+<div class="plugin-actions">
+  <button type='submit' name='password_finish'>{t}Set password{/t}</button>
+  <button type=reset id="password_cancel" name="password_cancel">{t}Clear fields{/t}</button>
+</div>
+
+<input type='hidden' id='formSubmit'>
+
+<input type="hidden" name="ignore">
+
+<!-- Place cursor -->
+<script language="JavaScript" type="text/javascript">
+  <!-- // First input field on page
+  nextfield= 'current_password';
+	focus_field('current_password');
+  -->
+</script>
+
diff --git a/gosa-core/plugins/personal/password/changed.tpl b/gosa-core/plugins/personal/password/changed.tpl
index 4fe49ed..a64cccd 100644
--- a/gosa-core/plugins/personal/password/changed.tpl
+++ b/gosa-core/plugins/personal/password/changed.tpl
@@ -1,12 +1,13 @@
 
 <p>
- <b>{t}You've successfully changed your password. Remember to change all programms configured to use it as well.{/t}</b>
+ <b>{t}You've successfully changed your password. Remember to change all programs configured to use it as well.{/t}</b>
 </p>
 
 <br>
 
-<p class="plugbottom">
-  <input type=submit name="password_back" value="{msgPool type=backButton}">
-</p>
+<hr>
+<div class="plugin-actions">
+  <button type='submit' name='password_back'>{msgPool type=backButton}</button>
+</div>
 
 <input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/personal/password/class_password.inc b/gosa-core/plugins/personal/password/class_password.inc
index ca46468..4f0d16c 100644
--- a/gosa-core/plugins/personal/password/class_password.inc
+++ b/gosa-core/plugins/personal/password/class_password.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_password.inc 19174 2010-07-27 14:54:50Z hickert $$
+ * ID: $$Id: class_password.inc 20453 2010-11-30 16:56:44Z cajus $$
  *
  * 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
@@ -22,190 +22,253 @@
 
 class password extends plugin
 {
-  /* Definitions */
-  var $plHeadline     = "Password";
-  var $plDescription  = "Change user password";
-
-  var $proposal = "";
-  var $proposalEnabled = FALSE;
-  var $proposalSelected = FALSE;
-
-  var $forcedHash = NULL;
-
-
-  function password(&$config, $dn= NULL, $parent= NULL)
-  {
-      plugin::plugin($config, $dn, $parent);
-
-      // Try to generate a password proposal, if this is successfull
-      //  then preselect the proposal usage.
-      $this->refreshProposal();
-      if($this->proposal != ""){
-          $this->proposalSelected = TRUE;
-      }
-  }
-
-  function forceHash($hash)
-  {
-      $this->forcedHash = $hash;
-  }
-
-  function refreshProposal()
-  {
-      $this->proposal = passwordMethod::getPasswordProposal($this->config);
-      $this->proposalEnabled = (!empty($this->proposal));
-  }
-
-  function execute()
-  {
-    plugin::execute();
-    $smarty = get_smarty();
-    $smarty->assign("usePrototype", "true");
-    $ui = get_userinfo();
-
-    /* Get acls */
-    $password_ACLS = $ui->get_permissions($ui->dn,"users/password");
-    $smarty->assign("ChangeACL" ,  $password_ACLS);
-    $smarty->assign("NotAllowed" , !preg_match("/w/i",$password_ACLS));
-
-    /* Display expiration template */
-    $smarty->assign("passwordExpired", FALSE);
-    if ($this->config->get_cfg_value("handleExpiredAccounts") == "true"){
-      $expired= ldap_expired_account($this->config, $ui->dn, $ui->username);
-      $smarty->assign("passwordExpired", $expired & POSIX_FORCE_PASSWORD_CHANGE);
-      if($expired == POSIX_DISALLOW_PASSWORD_CHANGE){
-        return($smarty->fetch(get_template_path("nochange.tpl", TRUE)));
-      }
+    /* Definitions */
+    var $plHeadline     = "Change password";
+    var $plDescription  = "Change user password";
+
+    var $proposal = "";
+    var $proposalEnabled = FALSE;
+    var $proposalSelected = FALSE;
+
+    var $forcedHash = NULL;
+
+    function password(&$config, $dn= NULL, $parent= NULL)
+    {
+        plugin::plugin($config, $dn, $parent);
+
+        // Try to generate a password proposal, if this is successfull 
+        //  then preselect the proposal usage. 
+        $this->refreshProposal();
+        if($this->proposal != ""){
+            $this->proposalSelected = TRUE;
+        }
     }
 
+    
+    function forceHash($hash)
+    {
+        $this->forcedHash = $hash;
+    }    
+
 
-    // Refresh proposal if requested
-    if(isset($_POST['refreshProposal'])) $this->refreshProposal();
-    if(isset($_POST['proposalSelected'])) $this->proposalSelected = get_post('proposalSelected') == 1;
-    $smarty->assign("proposal" , $this->proposal);
-    $smarty->assign("proposalEnabled" , $this->proposalEnabled);
-    $smarty->assign("proposalSelected" , $this->proposalSelected);
+    function refreshProposal()
+    {
+        $this->proposal = passwordMethod::getPasswordProposal($this->config);
+        $this->proposalEnabled = (!empty($this->proposal));
+    }
 
-    /* Pwd change requested */
-    if (isset($_POST['password_finish'])){
 
+    function execute()
+    {
+        plugin::execute();
+        $smarty = get_smarty();
+        $ui = get_userinfo();
 
-        if($this->proposalSelected){
-            $current_password = get_post('current_password');
-            $new_password = $this->proposal;
-            $repeated_password = $this->proposal;
-        }else{
-            $current_password = get_post('current_password');
-            $new_password = get_post('new_password');
-            $repeated_password = get_post('repeated_password');
+        /* Get acls */
+        $password_ACLS = $ui->get_permissions($ui->dn,"users/password");
+        $smarty->assign("ChangeACL" ,  $password_ACLS);
+        $smarty->assign("NotAllowed" , !preg_match("/w/i",$password_ACLS));
+
+        /* Display expiration template */
+        $smarty->assign("passwordExpired", FALSE);
+        if ($this->config->boolValueIsTrue("core","handleExpiredAccounts")){
+            $expired= ldap_expired_account($this->config, $ui->dn, $ui->username);
+            $smarty->assign("passwordExpired", $expired & POSIX_FORCE_PASSWORD_CHANGE);
+            if($expired == POSIX_DISALLOW_PASSWORD_CHANGE){
+                return($smarty->fetch(get_template_path("nochange.tpl", TRUE)));
+            }
         }
+        
+        // Refresh proposal if requested
+        if(isset($_POST['refreshProposal'])) $this->refreshProposal();
+        if(isset($_POST['proposalSelected'])) $this->proposalSelected = get_post('proposalSelected') == 1;
+        $smarty->assign("proposal" , set_post($this->proposal));
+        $smarty->assign("proposalEnabled" , $this->proposalEnabled);
+        $smarty->assign("proposalSelected" , $this->proposalSelected);
+
+        /* Pwd change requested */
+        if (isset($_POST['password_finish'])){
+    
+            if($this->proposalSelected){
+                $current_password = get_post('current_password');
+                $new_password = $this->proposal;
+                $repeated_password = $this->proposal;
+            }else{
+                $current_password = get_post('current_password');
+                $new_password = get_post('new_password');
+                $repeated_password = get_post('repeated_password');
+            }
+
+
+            // Get configuration flags for further input checks.
+            $check_differ = $this->config->get_cfg_value("core","passwordMinDiffer") != "";
+            $differ       = $this->config->get_cfg_value("core","passwordMinDiffer");
+            $check_length = $this->config->get_cfg_value("core","passwordMinLength") != "";
+            $length       = $this->config->get_cfg_value("core","passwordMinLength");
+
+            // Once an error has occured it is stored here.
+            $message = array();
+
+            // Call the check hook
+            $attrs = array();
+            $attrs['current_password'] = ($current_password);
+            $attrs['new_password'] = ($new_password);
 
+            // Perform GOsa password policy checks 
+            if(empty($current_password)){
+                $message[] = _("You need to specify your current password in order to proceed.");
+            }elseif($new_password  != $repeated_password){
+                $message[] = _("The passwords you've entered as 'New password' and 'Repeated new password' do not match.");
+            }elseif($new_password == ""){
+                $message[] = _("The password you've entered as 'New password' is empty.");
+            }elseif($check_differ && (substr($current_password, 0, $differ) == substr($new_password, 0, $differ))){
+                $message[] = _("The password used as new and current are too similar.");
+            }elseif($check_length && (strlen($new_password) < $length)){
+                $message[] = _("The password used as new is to short.");
+            }elseif(!passwordMethod::is_harmless($new_password)){
+                $message[] = _("The password contains possibly problematic Unicode characters!");
+            }
 
-      /* Should we check different characters in new password */
-      $check_differ = $this->config->get_cfg_value("passwordMinDiffer") != "";
-      $differ       = $this->config->get_cfg_value("passwordMinDiffer", 0);
+            // Call external check hook to validate the password change
+            if(!count($message)){
+                $checkRes = $this->callCheckHook($this->config,$this->dn,$attrs);
+                if(count($checkRes)){
+                    $message[] = sprintf(_("Check-hook reported a problem: %s. Password change canceled!"),implode($checkRes));
+                }
+            }
 
-      /* Enable length check ? */
-      $check_length = $this->config->get_cfg_value("passwordMinLength") != "";
-      $length       = $this->config->get_cfg_value("passwordMinLength", 0);
+            // Some errors/warning occured, display them and abort password change.
+            if(count($message)){
+                msg_dialog::displayChecks($message);
+            }else{ 
 
-      /* Call external password quality hook ?*/
-      $check_hook   = $this->config->get_cfg_value("passwordHook") != "";
-      $hook         = $this->config->get_cfg_value("passwordHook")." ".$ui->username." ".$current_password." ".$new_password;
-      if($check_hook){
-        exec($hook,$resarr);
-        $check_hook_output = "";
-        if(count($resarr) > 0) {
-          $check_hook_output= join('\n', $resarr);
+                /* Try to connect via current password */
+                $tldap = new LDAP(
+                        $ui->dn, 
+                        $current_password,
+                        $this->config->current['SERVER'],
+                        $this->config->get_cfg_value("core","ldapFollowReferrals") == "true",
+                        $this->config->get_cfg_value("core","ldapTLS") == "true");
+
+                /* connection Successfull ? */
+                if (!$tldap->success()){
+                    msg_dialog::display(_("Password change"),
+                            _("The password you've entered as your current password doesn't match the real one."),WARNING_DIALOG);
+                }elseif (!preg_match("/w/i",$password_ACLS)){
+                    msg_dialog::display(_("Password change"),
+                            _("You have no permission to change your password."),WARNING_DIALOG);
+                }elseif(!change_password($ui->dn, $new_password,FALSE, $this->forcedHash, $current_password, $message)){
+                    msg_dialog::display(_("Password change"),
+                            $message,WARNING_DIALOG);
+                }else{
+                    $ui->password= $new_password;
+                    session::set('ui',$ui);
+                    return($smarty->fetch(get_template_path("changed.tpl", TRUE)));
+                }
+            }
         }
-      }
-
-      /* Check given values */    
-      if(!isset($current_password) || empty($current_password)){
-        msg_dialog::display(_("Password change"),
-                            _("You need to specify your current password in order to proceed."),WARNING_DIALOG);
-      }elseif ($new_password != $repeated_password){
-        msg_dialog::display(_("Password change"),
-                            _("The passwords you've entered as 'New password' and 'Repeated new password' do not match."),WARNING_DIALOG);
-      } elseif ($new_password == ""){
-        msg_dialog::display(_("Password change"),
-                            _("The password you've entered as 'New password' is empty."),WARNING_DIALOG);
-      }elseif($check_differ && (substr($current_password, 0, $differ) == substr($new_password, 0, $differ))){
-        msg_dialog::display(_("Password change"),
-                            _("The password used as new and current are too similar."),WARNING_DIALOG);
-      }elseif($check_length && (strlen($new_password) < $length)){
-        msg_dialog::display(_("Password change"),
-                            _("The password used as new is to short."),WARNING_DIALOG);
-      }elseif($check_hook && $check_hook_output != ""){
-        msg_dialog::display(_("Password change"),
-                    sprintf(_("External password changer reported a problem: %s."),$check_hook_output),WARNING_DIALOG);
-      }else{
-
-        /* Try to connect via current password */
-        $tldap = new LDAP(
-            $ui->dn, 
-            $current_password,
-            $this->config->current['SERVER'],
-            $this->config->get_cfg_value("ldapFollowReferrals") == "true",
-            $this->config->get_cfg_value("ldapTLS") == "true");
-
-        /* connection Successfull ? */
-        if (!$tldap->success()){
-          msg_dialog::display(_("Password change"),
-                              _("The password you've entered as your current password doesn't match the real one."),WARNING_DIALOG);
-        }else{
-
-          /* Check GOsa permissions */
-          if (!preg_match("/w/i",$password_ACLS)){
-            msg_dialog::display(_("Password change"),
-                                _("You have no permission to change your password."),WARNING_DIALOG);
-          }else{
-            $this->change_password($ui->dn, $new_password,$this->forcedHash);
-            gosa_log ("User/password has been changed");
-            $ui->password= $new_password;
-            session::set('ui',$ui);
-#$this->handle_post_events("modify",array("userPassword" => $new_password));
-            return($smarty->fetch(get_template_path("changed.tpl", TRUE)));
-          }
+        return($smarty->fetch(get_template_path("password.tpl", TRUE)));
+    } 
+
+    function remove_from_parent()
+    {
+        $this->handle_post_events("remove");
+    }
+
+    function save()
+    {
+    }
+
+    static function callCheckHook($config,$dn,$attrs = array())
+    {
+        $command = $config->configRegistry->getPropertyValue("password","check");
+        if (!empty($command)){
+
+            // Build up ldif to send to the check hook
+            $ldif= "dn: $dn\n";
+            foreach ($attrs as $name => $value){
+                $ldif.= "{$name}: {$value}\n";
+            }
+            $ldif.= "\n";
+
+            /* Feed "ldif" into hook and retrieve result*/
+            $descriptorspec = array( 0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w"));
+            $fh= proc_open($command, $descriptorspec, $pipes);
+            if (is_resource($fh)) {
+                fwrite ($pipes[0], $ldif);
+                fclose($pipes[0]);
+                $arr= stream_get_contents($pipes[1]);
+                $err = stream_get_contents($pipes[2]);
+                fclose($pipes[1]);
+                fclose($pipes[2]);
+                $returnCode = proc_close($fh);
+
+                if($returnCode !== 0){
+                    @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Execution failed code: ".$returnCode);
+                    @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Result: ".$err);
+                    $message= msgPool::cmdexecfailed($err,$command, "password");
+                    msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
+                }else{
+                    @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Result: ".$arr);
+                    return(preg_split("/\n/", $arr,0,PREG_SPLIT_NO_EMPTY));
+                }
+            }
         }
-      }
+        return(array());
+    }
+
+    static function plInfo()
+    {
+        return (array(
+                    "plDescription" => _("User password"),
+                    "plSelfModify"  => TRUE,
+                    "plDepends"     => array("user"),
+                    "plPriority"    => 10,
+                    "plSection"     => array("personal" => _("My account")),
+                    "plCategory"    => array("users"),
+                    "plOptions"     => array(),
+
+                    "plProperties" => array(
+                        array(
+                            "name"          => "PRELOCK",
+                            "type"          => "command",
+                            "default"       => "",
+                            "description"   => _("Script to be called before a password gets locked."),
+                            "check"         => "gosaProperty::isCommand",
+                            "migrate"       => "",
+                            "group"         => "password",
+                            "mandatory"     => FALSE),
+                        array(
+                            "name"          => "POSTLOCK",
+                            "type"          => "command",
+                            "default"       => "",
+                            "description"   => _("Script to be called after a password gets locked."),
+                            "check"         => "gosaProperty::isCommand",
+                            "migrate"       => "",
+                            "group"         => "password",
+                            "mandatory"     => FALSE),
+                        array(
+                            "name"          => "PREUNLOCK",
+                            "type"          => "command",
+                            "default"       => "",
+                            "description"   => _("Script to be called before a password gets unlocked."),
+                            "check"         => "gosaProperty::isCommand",
+                            "migrate"       => "",
+                            "group"         => "password",
+                            "mandatory"     => FALSE),
+                        array(
+                            "name"          => "POSTUNLOCK",
+                            "type"          => "command",
+                            "default"       => "",
+                            "description"   => _("Script to be called after a password gets unlocked."),
+                            "check"         => "gosaProperty::isCommand",
+                            "migrate"       => "",
+                            "group"         => "password",
+                            "mandatory"     => FALSE)
+                        ),
+                    "plProvidedAcls"  => array())
+               );
     }
-    return($smarty->fetch(get_template_path("password.tpl", TRUE)));
-  } 
-
-  function change_password($dn, $pwd, $hash)
-  {
-      if(!$hash){
-          change_password ($dn, $pwd);
-      }else{
-          change_password ($dn, $pwd,0, $hash);
-      }
-  }
-
-
-  function remove_from_parent()
-  {
-    $this->handle_post_events("remove");
-  }
-
-  function save()
-  {
-  }
-
-  static function plInfo()
-  {
-    return (array(
-          "plDescription"     => _("User password"),
-          "plSelfModify"      => TRUE,
-          "plDepends"         => array("user"),
-          "plPriority"        => 10,
-          "plSection"     => array("personal" => _("My account")),
-          "plCategory"    => array("users"),
-          "plOptions"         => array(),
-
-          "plProvidedAcls"  => array())
-        );
-  }
 
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/personal/password/main.inc b/gosa-core/plugins/personal/password/main.inc
index d062c2f..ec5c80a 100644
--- a/gosa-core/plugins/personal/password/main.inc
+++ b/gosa-core/plugins/personal/password/main.inc
@@ -26,7 +26,7 @@
 $lock_msg="";
 if ($remove_lock){
   if(session::is_set('password')){
-    //Nothing to do here
+    session::un_set('password');
   }
 }
 
@@ -52,10 +52,6 @@ if ( $cleanup ){
   /* Execute formular */
   $display.= $password->execute ();
 
-  /* Page header*/
-  $display= print_header(get_template_path('plugins/password/images/plugin.png'),
-                         _("Password settings"), "").$display;
-
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/personal/password/nochange.tpl b/gosa-core/plugins/personal/password/nochange.tpl
index 37d97f5..fd77908 100644
--- a/gosa-core/plugins/personal/password/nochange.tpl
+++ b/gosa-core/plugins/personal/password/nochange.tpl
@@ -2,4 +2,10 @@
  <b>{t}You have no permission to change your password at this time{/t}</b>
 </p>
 
+<br>
+
+<hr>
+<div class="plugin-actions">
+  <button type='submit' name='password_back'>{msgPool type=backButton}</button>
+</div>
 <input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/personal/password/password.tpl b/gosa-core/plugins/personal/password/password.tpl
index 325d9f9..fc4b849 100644
--- a/gosa-core/plugins/personal/password/password.tpl
+++ b/gosa-core/plugins/personal/password/password.tpl
@@ -4,85 +4,88 @@
   {t}To change your personal password use the fields below. The changes take effect immediately. Please memorize the new password, because you wouldn't be able to login without it.{/t}
 </p>
 
-<p>
-  {t}Changing the password affects your authentification on mail, proxy, samba and unix services.{/t}
-</p>
-
 <hr>
 
 {if $passwordExpired}
-    <b><font color='red'>{t}Your Password has expired. Please choose a new password!{/t}</font></b>
+    <b><font color='red'>{t}Your Password has expired. Please choose a new password.{/t}</font></b>
 <hr>
 {/if}
 
-{if !$proposalEnabled}
 
-  <table summary="" style="vertical-align:top; text-align:left;" cellpadding=4 border=0>
+{if !$proposalEnabled}
+  <table cellpadding=4 border=0 summary="{t}Password change dialog{/t}">
     <tr>
       <td><b><LABEL for="current_password">{t}Current password{/t}</LABEL></b></td>
-      <td><input id="current_password" type="password" name="current_password" 
-          onFocus="nextfield= 'new_password';"></td>
+      <td>
+          {factory type='password' name='current_password' id='current_password' onfocus="nextfield= 'new_password';"}
+      </td>
     </tr>
     <tr>
       <td><b><LABEL for="new_password">{t}New password{/t}</LABEL></b></td>
-      <td><input id="new_password" type="password" name="new_password" 
-          onFocus="nextfield= 'repeated_password';" onkeyup="testPasswordCss(document.getElementById('new_password').value);"></td>
+      <td>
+          {factory type='password' name='new_password' id='new_password' 
+              onkeyup="testPasswordCss(\$('new_password').value)"  onfocus="nextfield= 'repeated_password';"}
+      </td>
     </tr>
     <tr>
       <td><b><LABEL for="repeated_password">{t}Repeat new password{/t}</LABEL></b></td>
-      <td><input id="repeated_password" type="password" name="repeated_password" 
-          onFocus="nextfield= 'password_finish';"></td>
+      <td>
+          {factory type='password' name='repeated_password' id='repeated_password' onfocus="nextfield= 'password_finish';"}
+      </td>
     </tr>
     <tr>
       <td><b>{t}Password strength{/t}</b></td>
       <td>
-      <span id="meterEmpty" style="padding:0;margin:0;width:100%;background-color:#DC143C;display:block;height:5px;">
-      <span id="meterFull" style="padding:0;margin:0;z-index:100;width:0;background-color:#006400;display:block;height:5px;"></span></span>
+      <span id="meterEmpty" style="padding:0;margin:0;width:100%;background-color:#DC143C;display:block;height:7px;">
+      <span id="meterFull" style="padding:0;margin:0;z-index:100;width:0;background-color:#006400;display:block;height:7px;"></span></span>
       </td>
     </tr>
   </table>
-
 {else}
-
   <table cellpadding=4 border=0 summary="{t}Password change dialog{/t}">
     <tr>
       <td><b><LABEL for="current_password">{t}Current password{/t}</LABEL></b></td>
-      <td><input id="current_password" type="password" name="current_password" 
-          onFocus="nextfield= 'new_password';"></td>
+      <td>
+          {factory type='password' name='current_password' id='current_password' onfocus="nextfield= 'new_password';"}
+      </td>
     </tr>
     <tr>
       <td>
-        <input type='radio' value='1' name='proposalSelected' id='proposalSelected' onClick='updateFields();'
-            {if $proposalSelected} checked {/if}> <b>{t}Use proposal{/t}</b>
+        <input type='radio' value='1' id='proposalSelected_true' name='proposalSelected' onClick='updateFields();'
+            {if $proposalSelected} checked {/if}> <b><LABEL for="proposalSelected_true">{t}Use proposal{/t}</LABEL></b>
       </td>
       <td>
-        <div id='proposalText' style='
+        <div id='proposalText' 
+            style='
                   width:180px;
-                  border:1px solid #BBB;
-                  padding-top:3px;
-                  padding-bottom:3px;
+                  border:1px solid #CCC;
+                  padding:3px;
+                  padding-top:5px;
+                  padding-bottom:4px;
             '>{$proposal}</div>
-
       </td>
-      <td>
-         <input type='submit' name='refreshProposal' value='{t}Refresh{/t}'>
+      <td style='vertical-align: middle;'>
+            {image path='images/lists/reload.png' action='refreshProposal'}
       </td>
     </tr>
     <tr>
       <td>
-        <input type='radio' value='0' name='proposalSelected' onClick='updateFields();'
-            {if !$proposalSelected} checked {/if}> <b>{t}Manually specify a password{/t}</b>
+        <input type='radio' value='0' name='proposalSelected' id='proposalSelected_false' onClick='updateFields();'
+            {if !$proposalSelected} checked {/if}> <b><LABEL for="proposalSelected_false">{t}Manually specify a password{/t}</LABEL></b>
       </td>
     </tr>
     <tr>
-      <td  style='padding-left:40px;'><b><LABEL for="new_password">{t}New password{/t}</LABEL></b></td>
-      <td><input id="new_password" type="password" name="new_password" 
-          onFocus="nextfield= 'repeated_password';" onkeyup="testPasswordCss(document.getElementById('new_password').value);"></td>
+      <td style='padding-left:40px;'><b><LABEL for="new_password">{t}New password{/t}</LABEL></b></td>
+      <td>
+          {factory type='password' name='new_password' id='new_password' 
+              onkeyup="testPasswordCss(\$('new_password').value)"  onfocus="nextfield= 'repeated_password';"}
+      </td>
     </tr>
     <tr>
-      <td  style='padding-left:40px;'><b><LABEL for="repeated_password">{t}Repeat new password{/t}</LABEL></b></td>
-      <td><input id="repeated_password" type="password" name="repeated_password" 
-          onFocus="nextfield= 'password_finish';"></td>
+      <td style='padding-left:40px;'><b><LABEL for="repeated_password">{t}Repeat new password{/t}</LABEL></b></td>
+      <td>
+          {factory type='password' name='repeated_password' id='repeated_password' onfocus="nextfield= 'password_finish';"}
+      </td>
     </tr>
     <tr>
       <td  style='padding-left:40px;'><b>{t}Password strength{/t}</b></td>
@@ -92,23 +95,23 @@
       </td>
     </tr>
   </table>
-
 {/if}
-
 <br>
 
-<p class="plugbottom">
-  <input type=submit name="password_finish" value="{t}Set password{/t}">
-   
-  <input type=reset id="password_cancel" name="password_cancel" value="{t}Clear fields{/t}">
-  <input type='hidden' id='formSubmit'>
-</p>
+<hr>
+<div class="plugin-actions">
+  <button type='submit' name='password_finish'>{t}Set password{/t}</button>
+  <button type=reset id="password_cancel" name="password_cancel">{t}Clear fields{/t}</button>
+</div>
+
+<input type='hidden' id='formSubmit'>
 
 <input type="hidden" name="ignore">
 
+<!-- Place cursor -->
 <script language="JavaScript" type="text/javascript">
     nextfield= 'current_password';
-    focus_field('current_password');
+	focus_field('current_password');
 
 
     function updateFields()
@@ -118,22 +121,25 @@
             $('repeated_password').disable();
             $('proposalText').setStyle(
                  'background-color:#FFF;' +
-                 'color:#000;' +
-                 'width:180px;' +
-                 'border:1px solid #CCC;' +
-                 'padding:3px;' );
+                 'color:#000;' + 
+                 'width:180px;' + 
+                 'border:1px solid #CCC;' + 
+                 'padding:3px;' + 
+                 'padding-top:5px;' + 
+                 'padding-bottom:4px;');
         }else{
             $('new_password').enable();
             $('repeated_password').enable();
             $('proposalText').setStyle(
-                 'background-color:#DDD;' +
-                 'color:#888;' +
-                 'width:180px;' +
-                 'border:1px solid #CCC;' +
-                 'padding:3px;');
+                 'background-color:#F0F0F0;' +
+                 'color:#666;' + 
+                 'width:180px;' + 
+                 'border:1px solid #CCC;' + 
+                 'padding:3px;' + 
+                 'padding-top:5px;' +
+                 'padding-bottom:4px;');
         }
     }
     updateFields();
 </script>
 
-
diff --git a/gosa-core/plugins/personal/posix/class_posixAccount.inc b/gosa-core/plugins/personal/posix/class_posixAccount.inc
index cfc3acc..f7521f7 100644
--- a/gosa-core/plugins/personal/posix/class_posixAccount.inc
+++ b/gosa-core/plugins/personal/posix/class_posixAccount.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_posixAccount.inc 19041 2010-07-21 13:30:05Z hickert $$
+ * ID: $$Id: class_posixAccount.inc 20285 2010-11-19 09:38:06Z hickert $$
  *
  * 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
@@ -34,7 +34,7 @@
 class posixAccount extends plugin
 {
   /* Definitions */
-  var $plHeadline= "UNIX";
+  var $plHeadline= "POSIX";
   var $plDescription= "Edit users POSIX settings";
 
   /* Plugin specific values */
@@ -49,9 +49,7 @@ class posixAccount extends plugin
   var $shadowLastChange= "0";
   var $shadowInactive= "0";
   var $shadowExpire= "";
-  var $gosaDefaultPrinter= "";
   var $accessTo= array();
-  var $trustModel= "";
 
   var $glist=array();
   var $status= "";
@@ -69,31 +67,25 @@ class posixAccount extends plugin
   var $force_ids= 0;
   var $gotoLastSystemLogin= "";
   var $groupSelect= FALSE;
-  var $trustSelect= FALSE;
   var $secondaryGroups= array();
   var $primaryGroup= 0;
-  var $was_trust_account= FALSE;
   var $memberGroup= array();
   var $grouplist= array();
   var $ui= array();
   var $ssh= null;
   var $sshAcl= "";
 
-  var $GroupRegex= "*";
-  var $GroupUserRegex= "*";
-  var $SubSearch= false;
-
   var $view_logged= false;
 
   /* attribute list for save action */
   var $CopyPasteVars  = 
-      array("grouplist","groupMembership","activate_shadowMin",
-      "activate_shadowMax","activate_shadowWarning","activate_shadowInactive","activate_shadowExpire",
-      "must_change_password","printerList","grouplist","savedGidNumber","savedUidNumber");
+    array("grouplist","groupMembership","activate_shadowMin",
+        "activate_shadowMax","activate_shadowWarning","activate_shadowInactive","activate_shadowExpire",
+        "must_change_password","printerList","grouplist","savedGidNumber","savedUidNumber");
 
   var $attributes     = array("homeDirectory", "loginShell", "uidNumber", "gidNumber", "gecos",
       "shadowMin", "shadowMax", "shadowWarning", "shadowInactive", "shadowLastChange",
-      "shadowExpire", "gosaDefaultPrinter", "uid","accessTo","trustModel", "gotoLastSystemLogin");
+      "shadowExpire", "uid", "gotoLastSystemLogin");
 
   var $objectclasses= array("posixAccount", "shadowAccount");
 
@@ -103,7 +95,7 @@ class posixAccount extends plugin
 
   /* constructor, if 'dn' is set, the node loads the given
      'dn' from LDAP */
-  function posixAccount (&$config, $dn= NULL)
+  function posixAccount (&$config, $dn= NULL, $parent =NULL)
   {
     global $class_mapping;
 
@@ -111,7 +103,10 @@ class posixAccount extends plugin
     $this->config= $config;
 
     /* Load bases attributes */
-    plugin::plugin($config, $dn);
+    plugin::plugin($config, $dn, $parent);
+
+    $this->trustModeDialog = new trustModeDialog($this->config, $this->dn, $parent);
+    $this->trustModeDialog->setAcl('users/posixAccount');
 
     /*  If gotoLastSystemLogin is available read it from ldap and create a readable
         date time string, fallback to sambaLogonTime if available.
@@ -137,23 +132,6 @@ class posixAccount extends plugin
 
         $this->is_account= TRUE;
       }
-
-      /* Is this account a trustAccount? */
-      if ($this->is_account && isset($this->attrs['trustModel'])){
-        $this->trustModel= $this->attrs['trustModel'][0];
-        $this->was_trust_account= TRUE;
-      } else {
-        $this->was_trust_account= FALSE;
-        $this->trustModel= "";
-      }
-
-      $this->accessTo = array(); 
-      if ($this->is_account && isset($this->attrs['accessTo'])){
-        for ($i= 0; $i<$this->attrs['accessTo']['count']; $i++){
-          $tmp= $this->attrs['accessTo'][$i];
-          $this->accessTo[$tmp]= $tmp;
-        }
-      }
       $this->initially_was_account= $this->is_account;
 
       /* Fill group */
@@ -253,14 +231,6 @@ class posixAccount extends plugin
     }
     asort ($this->secondaryGroups);
 
-    /* Get global filter config */
-    if (!session::is_set("sysfilter")){
-      $ui= get_userinfo();
-      $base= get_base_from_people($ui->dn);
-      $sysfilter= array( "depselect"       => $base,
-          "regex"           => "*");
-      session::set("sysfilter", $sysfilter);
-    }
     $this->ui = get_userinfo();
   }
 
@@ -277,11 +247,7 @@ class posixAccount extends plugin
       $this->view_logged = TRUE;
       new log("view","users/".get_class($this),$this->dn);
     }
-
-    /* Department has changed? */
-    if(isset($_POST['depselect'])){
-      session::set('CurrentMainBase',validate($_POST['depselect']));
-    }
+    $this->dialog = FALSE;
 
     if($this->multiple_support_active){
       $this->is_account = TRUE;
@@ -335,20 +301,11 @@ class posixAccount extends plugin
     // Display dialog to allow selection of groups
     if (isset($_POST['edit_groupmembership'])){
       $this->groupSelect = new groupSelect($this->config,get_userinfo());
-      $this->dialog= TRUE;
     }
 
-    // Allow to select trusted machines from a list
-    if (isset($_POST["add_ws"])){
-      $this->trustSelect= new trustSelect($this->config,get_userinfo());
-      $this->dialog= TRUE;
-    }
-
-    // Cancel trust and group dialog
-    if (isset($_POST['add_groups_cancel']) || isset($_POST['add_ws_cancel'])){
+    // Cancel group dialog
+    if (isset($_POST['add_groups_cancel'])){
       $this->groupSelect= NULL;
-      $this->trustSelect= NULL;
-      $this->dialog= FALSE;
     }
 
     // Add groups selected in groupSelect dialog to ours.
@@ -359,58 +316,34 @@ class posixAccount extends plugin
         $this->is_modified= TRUE;
       }
       $this->groupSelect= NULL;
-      $this->dialog= FALSE;
     }
 
     // Remove groups from currently selected groups.
     if (isset($_POST['delete_groupmembership']) && 
         isset($_POST['group_list']) && count($_POST['group_list'])){
 
-      $this->delGroup ($_POST['group_list']);
-    }
-
-    // Add selected machines to trusted ones.
-    if (isset($_POST["add_ws_finish"]) &&  $this->trustSelect){
-      $trusts = $this->trustSelect->detectPostActions();
-      if(isset($trusts['targets'])){
-
-        $headpage = $this->trustSelect->getHeadpage();              
-        foreach($trusts['targets'] as $id){
-          $attrs = $headpage->getEntry($id);
-          $this->accessTo[$attrs['cn'][0]]= $attrs['cn'][0];
-        }
-        ksort($this->accessTo);
-        $this->is_modified= TRUE;
-      }
-      $this->trustSelect= NULL;
-      $this->dialog= FALSE;
-    }
-
-    // Remove machine from trusted ones.
-    if (isset($_POST["delete_ws"]) && isset($_POST['workstation_list'])){
-      foreach($_POST['workstation_list'] as $name){
-        unset ($this->accessTo[$name]);
-      }
-      $this->is_modified= TRUE;
+      $this->delGroup (get_post('group_list'));
     }
 
-
-
     /* Templates now! */
     $smarty= get_smarty();
-    $smarty->assign("usePrototype", "true");
 
-    /* Show ws dialog */
-    if ($this->trustSelect){
 
-      // Build up blocklist
-      session::set('filterBlacklist', array('cn' => array_values($this->accessTo)));
-      return($this->trustSelect->execute());
+
+    // Handle trust mode dialog
+    $trustModeDialog = $this->trustModeDialog->execute();
+    if($this->trustModeDialog->trustSelect){
+        $this->dialog = TRUE;
+        return($trustModeDialog);
+        
     }
+    $smarty->assign("trustModeDialog" , $trustModeDialog);
+
 
     /* Manage group add dialog */
     if ($this->groupSelect){
-      
+      $this->dialog = TRUE;
+
       // Build up blocklist
       session::set('filterBlacklist', array('dn' => array_keys($this->groupMembership)));
       return($this->groupSelect->execute());
@@ -418,74 +351,72 @@ class posixAccount extends plugin
 
     // Handle ssh dialog?
     if ($this->ssh instanceOf sshPublicKey && preg_match('/[rw]/', $this->getacl("sshPublicKey"))) {
-        $smarty->assign("usePrototype", "false");
-       if ($result= $this->ssh->execute()) {
-         $this->dialog= true;
-         return $result;
-       }
-       $this->dialog= false;
+
+      if ($result= $this->ssh->execute()) {
+        $this->dialog= true;
+        pathNavigator::registerPlugin("SSH keys");
+        return $result;
+      }
     }
 
 
     /* Show main page */
     $smarty= get_smarty();
-    $smarty->assign("usePrototype", "true");
 
-    /* In 'MyAccount' mode, we must remove write acls if we are not in editing mode. */ 
-    $SkipWrite = (!isset($this->parent) || !$this->parent) && !session::is_set('edit');
 
-    $smarty->assign("sshPublicKeyACL", $this->getacl("sshPublicKey", $SkipWrite));
+    $smarty->assign("sshPublicKeyACL", $this->getacl("sshPublicKey"));
 
     /* Depending on pwmode, currently hardcoded because there are no other methods */
     if ( 1 == 1 ){
       $smarty->assign("pwmode", dirname(__FILE__)."/posix_shadow");
 
-      $shadowMinACL     =  $this->getacl("shadowMin",$SkipWrite);
+      $shadowMinACL     =  $this->getacl("shadowMin");
       $smarty->assign("shadowmins", sprintf(_("Password can't be changed up to %s days after last change"), 
-                                              "<input name=\"shadowMin\" size=3 maxlength=4 value=\"".$this->shadowMin."\">"));
+            "<input type='text' name=\"shadowMin\" size=3 maxlength=4 value=\"".$this->shadowMin."\">"));
 
-      $shadowMaxACL     =  $this->getacl("shadowMax",$SkipWrite);
+      $shadowMaxACL     =  $this->getacl("shadowMax");
       $smarty->assign("shadowmaxs", sprintf(_("Password must be changed after %s days"), 
-                                              "<input name=\"shadowMax\" size=3 maxlength=4 value=\"".$this->shadowMax."\">"));
+            "<input type='text' name=\"shadowMax\" size=3 maxlength=4 value=\"".$this->shadowMax."\">"));
 
-      $shadowInactiveACL=  $this->getacl("shadowInactive",$SkipWrite);
+      $shadowInactiveACL=  $this->getacl("shadowInactive");
       $smarty->assign("shadowinactives", sprintf(_("Disable account after %s days of inactivity after password expiry"), 
-                                              "<input name=\"shadowInactive\" size=3 maxlength=4 value=\"".$this->shadowInactive."\">"));
+            "<input type='text' name=\"shadowInactive\" size=3 maxlength=4 value=\"".$this->shadowInactive."\">"));
 
-      $shadowWarningACL =  $this->getacl("shadowWarning",$SkipWrite);
+      $shadowWarningACL =  $this->getacl("shadowWarning");
       $smarty->assign("shadowwarnings", sprintf(_("Warn user %s days before password expiry"), 
-                                              "<input name=\"shadowWarning\" size=3 maxlength=4 value=\"".$this->shadowWarning."\">"));
+            "<input type='text' name=\"shadowWarning\" size=3 maxlength=4 value=\"".$this->shadowWarning."\">"));
 
       foreach( array("activate_shadowMin", "activate_shadowMax",
-                     "activate_shadowExpire", "activate_shadowInactive","activate_shadowWarning") as $val){
+            "activate_shadowExpire", "activate_shadowInactive","activate_shadowWarning") as $val){
         if ($this->$val == 1){
           $smarty->assign("$val", "checked");
         } else {
           $smarty->assign("$val", "");
         }
-        $smarty->assign("$val"."ACL", $this->getacl($val,$SkipWrite));
+        $smarty->assign("$val"."ACL", $this->getacl(preg_replace("/^.*_/","",$val)));
       }
 
-      $smarty->assign("mustchangepasswordACL", $this->getacl("mustchangepassword",$SkipWrite));
+      $smarty->assign("mustchangepasswordACL", $this->getacl("mustchangepassword"));
     }
 
     // Set last system login
-    $smarty->assign("gotoLastSystemLogin",$this->gotoLastSystemLogin);
+    $smarty->assign("gotoLastSystemLogin", set_post($this->gotoLastSystemLogin));
 
     /* Fill arrays */
-    $smarty->assign("shells", $this->loginShellList);
+    $smarty->assign("shells", set_post($this->loginShellList));
     $smarty->assign("secondaryGroups", $this->secondaryGroups);
-    $smarty->assign("primaryGroup", $this->primaryGroup);
+    $smarty->assign("primaryGroup", set_post($this->primaryGroup));
     if(!$this->multiple_support_active){
       if (!count($this->groupMembership)){
         $smarty->assign("groupMembership", array(" "));
       } else {
-        $smarty->assign("groupMembership", $this->groupMembership);
+        $smarty->assign("groupMembership", set_post($this->groupMembership));
       }
     }else{
-      $smarty->assign("groupMembership", $this->groupMembership);
-      $smarty->assign("groupMembership_some", $this->groupMembership_some);
+      $smarty->assign("groupMembership", set_post($this->groupMembership));
+      $smarty->assign("groupMembership_some", set_post($this->groupMembership_some));
     }
+
     if (count($this->groupMembership) > 16){
       $smarty->assign("groups", "too_many_for_nfs");
     } else {
@@ -511,16 +442,16 @@ class posixAccount extends plugin
     /* Create onClick="" action string for the "Force UID/GID" option 
      */
     $onClickIDS ="";
-    if(preg_match("/w/",$this->getacl("uidNumber",$SkipWrite))){
+    if(preg_match("/w/",$this->getacl("uidNumber"))){
       $onClickIDS .= "changeState('uidNumber');";
     }
-    if(preg_match("/w/",$this->getacl("gidNumber",$SkipWrite))){
+    if(preg_match("/w/",$this->getacl("gidNumber"))){
       $onClickIDS .= "changeState('gidNumber');";
     }
     $smarty->assign("onClickIDS", $onClickIDS);
-    $smarty->assign("force_idsACL", $this->getacl("uidNumber",$SkipWrite).$this->getacl("gidNumber",$SkipWrite));
+    $smarty->assign("force_idsACL", $this->getacl("uidNumber").$this->getacl("gidNumber"));
 
-    foreach(array("primaryGroup","trustmode","activate_shadowWarning","activate_shadowInactive","activate_shadowMin","activate_shadowMax","activate_shadowExpire","mustchangepassword") as $val){
+    foreach(array("primaryGroup","activate_shadowWarning","activate_shadowInactive","activate_shadowMin","activate_shadowMax","activate_shadowExpire","mustchangepassword") as $val){
       if(in_array($val,$this->multi_boxes)){
         $smarty->assign("use_".$val,TRUE);
       }else{
@@ -536,62 +467,30 @@ class posixAccount extends plugin
       }else{
         $smarty->assign("use_".$val,FALSE);
       }
-
-      if((session::get("js"))&&(($val=="uidNumber")||($val=="gidNumber")))
-      {
-        $smarty->assign("$val"."ACL",$this->getacl($val,$SkipWrite));
-        $smarty->assign("$val", $this->$val);
-        continue;
-      }
-      $smarty->assign("$val", $this->$val);
-      $smarty->assign("$val"."ACL", $this->getacl($val,$SkipWrite));
+      $smarty->assign("$val", set_post($this->$val));
     }
-    if($SkipWrite){
+
+    $tmp = $this->plInfo();                                                                                    
+    foreach($tmp['plProvidedAcls'] as $val => $desc){                                                          
+      $smarty->assign("$val"."ACL", $this->getacl($val));                                                      
+    }   
+
+    if($this->read_only){
       $smarty->assign("groupMembershipACL","r");
     }else{
       $smarty->assign("groupMembershipACL","rw");
     }
     $smarty->assign("status", $this->status);
 
-    /* Work on trust modes */
-    $smarty->assign("trusthide", " disabled ");
-    $smarty->assign("trustmodeACL",  $this->getacl("trustModel",$SkipWrite));
-    if ($this->trustModel == "fullaccess"){
-      $trustmode= 1;
-      // pervent double disable tag in html code, this will disturb our clean w3c html
-      $smarty->assign("trustmode",  $this->getacl("trustModel",$SkipWrite));
-
-    } elseif ($this->trustModel == "byhost"){
-      $trustmode= 2;
-      $smarty->assign("trusthide", "");
+    if($this->mustchangepassword){
+      $smarty->assign("mustchangepassword", " checked ");
     } else {
-      // pervent double disable tag in html code, this will disturb our clean w3c html
-      $smarty->assign("trustmode",  $this->getacl("trustModel",$SkipWrite));
-      $trustmode= 0;
+      $smarty->assign("mustchangepassword", "");
     }
-    $smarty->assign("trustmode", $trustmode);
-    $smarty->assign("trustmodes", array( 0 => _("disabled"), 1 => _("full access"),
-          2 => _("allow access to these hosts")));
-
-
-
-    if((count($this->accessTo))==0)
-      $smarty->assign("emptyArrAccess",true);
-    else
-      $smarty->assign("emptyArrAccess",false);
-
-      if($this->mustchangepassword){
-        $smarty->assign("mustchangepassword", " checked ");
-      } else {
-        $smarty->assign("mustchangepassword", "");
-      }
-
-    $smarty->assign("workstations", $this->accessTo);
 
     // Add SSH button if available
     $smarty->assign("sshPublicKey", $this->ssh?1:0);
 
-    $smarty->assign("apply", apply_filter());
     $smarty->assign("multiple_support" , $this->multiple_support_active);
     $display.= $smarty->fetch (get_template_path('generic.tpl', TRUE, dirname(__FILE__)));
     return($display);
@@ -615,11 +514,10 @@ class posixAccount extends plugin
 
     /* Keep uid, because we need it for authentification! */
     unset($this->attrs['uid']);
-    unset($this->attrs['trustModel']);
 
     @DEBUG (DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__,
-    /* include global link_info */
-     $this->attributes, "Save");
+        /* include global link_info */
+        $this->attributes, "Save");
     $ldap= $this->config->get_ldap_link();
     $ldap->cd($this->dn);
     $this->cleanup();
@@ -654,7 +552,7 @@ class posixAccount extends plugin
     if (isset($_POST['posixTab'])){
       /* Save values to object */
       plugin::save_object();
-
+      $this->trustModeDialog->save_object();
 
       /* Save force GID checkbox */
       if($this->acl_is_writeable("gidNumber") || $this->acl_is_writeable("uidNumber")){
@@ -671,11 +569,11 @@ class posixAccount extends plugin
 
       /*Save primary group settings */
       if($this->acl_is_writeable("primaryGroup") && isset($_POST['primaryGroup'])){
-        $data= $_POST['primaryGroup'];
+        $data= get_post('primaryGroup');
         if ($this->primaryGroup != $data){
           $this->is_modified= TRUE;
         }
-        $this->primaryGroup= $_POST['primaryGroup'];
+        $this->primaryGroup= get_post('primaryGroup');
       }
 
       /* Get seelcted shadow checkboxes */
@@ -684,7 +582,7 @@ class posixAccount extends plugin
           $activate_var = "activate_".$var;
           if(isset($_POST['activate_'.$var])){
             $this->$activate_var  = true;
-            $this->$var      = $_POST[$var];
+            $this->$var      = get_post($var);
           }else{
             $this->$activate_var  = false;
             if ($var != "shadowExpire") {
@@ -700,47 +598,7 @@ class posixAccount extends plugin
       }else{
         $this->mustchangepassword = FALSE;
       }
-
-      /* Trust mode - special handling */
-      if($this->acl_is_writeable("trustModel")){
-        if (isset($_POST['trustmode'])){
-          $saved= $this->trustModel;
-          if ($_POST['trustmode'] == "1"){
-            $this->trustModel= "fullaccess";
-          } elseif ($_POST['trustmode'] == "2"){
-            $this->trustModel= "byhost";
-          } else {
-            $this->trustModel= "";
-          }
-          if ($this->trustModel != $saved){
-            $this->is_modified= TRUE;
-          }
-        }
-      }
-    }
-
-    /* Get regex from alphabet */
-    if(isset($_GET['search'])){
-      $this->GroupRegex = $_GET['search']."*";
-    }
-
-    /* Check checkboxes and regexes */
-    if(isset($_POST["PosixGroupDialogPosted"])){
-
-      if(isset($_POST['SubSearch']) && ($_POST['SubSearch'])){
-        $this->SubSearch = true;
-      }else{
-        $this->SubSearch = false;
-      }
-      if(isset($_POST['guser'])){
-        $this->GroupUserRegex = $_POST['guser'];
-      }
-      if(isset($_POST['regex'])){
-        $this->GroupRegex = $_POST['regex'];
-      }
     }
-    $this->GroupRegex = preg_replace("/\*\**/","*",$this->GroupRegex);
-    $this->GroupUserRegex = preg_replace("/\*\**/","*",$this->GroupUserRegex);
   }
 
 
@@ -762,14 +620,14 @@ class posixAccount extends plugin
     if ($this->mustchangepassword){
       $this->shadowLastChange= (int)(date("U") / 86400) - $this->shadowMax - 1;
     } else {
-      $this->shadowLastChange= (int)(date("U") / 86400);
+#      $this->shadowLastChange= (int)(date("U") / 86400);
     }
     if (!$this->activate_shadowWarning){
       $this->shadowWarning= "0";
     }
 
     /* Check what to do with ID's 
-        Nothing forced, so we may have to generate our own IDs, if not done already.
+       Nothing forced, so we may have to generate our own IDs, if not done already.
      */
     if ($this->force_ids == 0){
 
@@ -823,7 +681,7 @@ class posixAccount extends plugin
       if ($ldap->count() == 0){
 
         $groupcn = $this->uid;
-        $pri_attr = $this->config->get_cfg_value("accountPrimaryAttribute");
+        $pri_attr = $this->config->get_cfg_value("core","accountPrimaryAttribute");
         $groupdn= preg_replace ('/^'.preg_quote($pri_attr,'/').'=[^,]+,'.preg_quote(get_people_ou(),'/').'/i',
             'cn='.$groupcn.','.get_groups_ou(), $this->dn);
 
@@ -903,41 +761,11 @@ class posixAccount extends plugin
     /* Call parents save to prepare $this->attrs */
     plugin::save();
 
-    /* Trust accounts */
-    $objectclasses= array();
-    foreach ($this->attrs['objectClass'] as $key => $class){
-      if (preg_match('/trustAccount/i', $class)){
-        continue;
-      }
-      $objectclasses[]= $this->attrs['objectClass'][$key];
-    }
-    $this->attrs['objectClass']= $objectclasses;
-    if ($this->trustModel != ""){
-      $this->attrs['objectClass'][]= "trustAccount";
-      $this->attrs['trustModel']= $this->trustModel;
-      $this->attrs['accessTo']= array();
-      if ($this->trustModel == "byhost"){
-        foreach ($this->accessTo as $host){
-          $this->attrs['accessTo'][]= $host;
-        }
-      }
-    } else {
-      if ($this->was_trust_account){
-        $this->attrs['accessTo']= array();
-        $this->attrs['trustModel']= array();
-      }
-    }
-
-    if(empty($this->attrs['gosaDefaultPrinter'])){
-      $thid->attrs['gosaDefaultPrinter']=array();
-    }
-
-
     /* include global link_info */
     $this->cleanup();
- 
+
     /* This is just a test, we have had duplicated ids 
-        in the past when copy & paste was used. 
+       in the past when copy & paste was used. 
        Normaly this should not happen.
      */ 
     if(isset($this->attrs['uidNumber']) && !$this->force_ids){
@@ -972,6 +800,9 @@ class posixAccount extends plugin
       $this->ssh->save();
     }
 
+    $this->trustModeDialog->dn = $this->dn;
+    $this->trustModeDialog->save();
+
     /* Take care about groupMembership values: add to groups */
     foreach ($this->groupMembership as $key => $value){
       if (!isset($this->savedGroupMembership[$key])){
@@ -1037,15 +868,15 @@ class posixAccount extends plugin
       if (!tests::is_id($this->uidNumber)){
         $message[]= msgPool::invalid(_("UID"), $this->uidNumber, "/[0-9]/");
       } else {
-        if ($this->uidNumber < $this->config->get_cfg_value("minId")){
-          $message[]= msgPool::toosmall(_("UID"), $this->config->get_cfg_value("minId"));
+        if ($this->uidNumber < $this->config->get_cfg_value("core","minId")){
+          $message[]= msgPool::toosmall(_("UID"), $this->config->get_cfg_value("core","minId"));
         }
       }
       if (!tests::is_id($this->gidNumber)){
         $message[]= msgPool::invalid(_("GID"), $this->gidNumber, "/[0-9]/");
       } else {
-        if ($this->gidNumber < $this->config->get_cfg_value("minId")){
-          $message[]= msgPool::toosmall(_("GID"), $this->config->get_cfg_value("minId"));
+        if ($this->gidNumber < $this->config->get_cfg_value("core","minId")){
+          $message[]= msgPool::toosmall(_("GID"), $this->config->get_cfg_value("core","minId"));
         }
       }
     }
@@ -1250,16 +1081,15 @@ class posixAccount extends plugin
 
     /* Only enable checkbox, if shadowExpire is in the future */
     if($this->shadowExpire > time()) {
-        $this->activate_shadowExpire= "1";
+      $this->activate_shadowExpire= "1";
     }
 
     /* Convert shadowExpire for usage */
     if ($this->shadowExpire == 0){
-        $this->shadowExpire= "";
+      $this->shadowExpire= "";
     } else {
-        $this->shadowExpire= date('d.m.Y', $this->shadowExpire * 60 * 60 * 24);
+      $this->shadowExpire= date('d.m.Y', $this->shadowExpire * 60 * 60 * 24);
     }
-
   }
 
   function convertToSeconds($val)
@@ -1294,11 +1124,11 @@ class posixAccount extends plugin
   function saveCopyDialog()
   {
     if(isset($_POST['homeDirectory'])){
-      $this->homeDirectory = $_POST['homeDirectory'];
+      $this->homeDirectory = get_post('homeDirectory');
       if (isset ($_POST['force_ids'])){
         $data= 1;
-        $this->gidNumber = $_POST['gidNumber'];
-        $this->uidNumber = $_POST['uidNumber'];
+        $this->gidNumber = get_post('gidNumber');
+        $this->uidNumber = get_post('uidNumber');
       } else {
         $data= 0;
       }
@@ -1306,14 +1136,14 @@ class posixAccount extends plugin
         $this->is_modified= TRUE;
       }
       $this->force_ids= $data;
-      $data= $_POST['primaryGroup'];
+      $data= get_post('primaryGroup');
       if ($this->primaryGroup != $data){
         $this->is_modified= TRUE;
       }
-      $this->primaryGroup= $_POST['primaryGroup'];
+      $this->primaryGroup= get_post('primaryGroup');
     }
   }
- 
+
 
   /* Create the posix dialog part for copy & paste */
   function getCopyDialog()
@@ -1363,18 +1193,18 @@ class posixAccount extends plugin
 
     /* Assigned informations to smarty */
     $smarty = get_smarty();
-    $smarty->assign("homeDirectory",$this->homeDirectory);
+    $smarty->assign("homeDirectory",set_post($this->homeDirectory));
     $smarty->assign("secondaryGroups",$this->secondaryGroups);
-    $smarty->assign("primaryGroup",$this->primaryGroup);
- 
-    $smarty->assign("uidNumber",$this->uidNumber);
-    $smarty->assign("gidNumber",$this->gidNumber);
-    $smarty->assign("forceMode",$forceMode);
-    $smarty->assign("force_ids",$force_ids);
+    $smarty->assign("primaryGroup",set_post($this->primaryGroup));
+
+    $smarty->assign("uidNumber",set_post($this->uidNumber));
+    $smarty->assign("gidNumber",set_post($this->gidNumber));
+    $smarty->assign("forceMode",set_post($forceMode));
+    $smarty->assign("force_ids",set_post($force_ids));
     if (!count($this->groupMembership)){
       $smarty->assign("groupMembership", array(" "));
     } else {
-      $smarty->assign("groupMembership", $this->groupMembership);
+      $smarty->assign("groupMembership", set_post($this->groupMembership));
     }
 
     /* Display wars message if there are more than 16 group members */
@@ -1396,8 +1226,10 @@ class posixAccount extends plugin
   {
     plugin::PrepareForCopyPaste($source);
 
+    $this->trustModeDialog->PrepareForCopyPaste($source);
+
     /* Avoid using the same gid/uid number as source user 
-        empty numbers to enforce new ones. */
+       empty numbers to enforce new ones. */
     $this->savedUidNumber = "";
     $this->savedGidNumber = "";
 
@@ -1433,6 +1265,19 @@ class posixAccount extends plugin
         }
     }
 
+    /* Convert shadowExpire for usage */
+    if ($this->shadowExpire == 0){
+      $this->shadowExpire= "";
+    } else {
+      $this->shadowExpire= date('d.m.Y', $this->shadowExpire * 60 * 60 * 24);
+    }
+
+    $tmp = new trustModeDialog($this->config, $source['dn']);
+    $this->trustModeDialog = new trustModeDialog($this->config, $this->dn);
+    $this->trustModeDialog->trustModel = $tmp->trustModel;
+    $this->trustModeDialog->accessTo = $tmp->accessTo;
+    $this->trustModeDialog->setAcl('users/posixAccount');
+
   }
 
 
@@ -1452,23 +1297,31 @@ class posixAccount extends plugin
           "plSection"         => array("personal" => _("My account")),
           "plCategory"        => array("users"),
           "plOptions"         => array(),
+          "plRequirements"=> array(
+              'ldapSchema' => array('posixAccount' => ''),
+              'onFailureDisablePlugin' => array(get_class(), 'sambaAccount','netatalk','environment')
+              ),
 
           "plProvidedAcls"  => array(
 
             "homeDirectory"       =>  _("Home directory"), 
+            "primaryGroup"        =>  _("Primary group"), 
             "loginShell"          =>  _("Shell"),
             "uidNumber"           =>  _("User ID"),
             "gidNumber"           =>  _("Group ID"),
 
+            "shadowLastChange"    =>  _("Shadow last changed"),
+            "gotoLastSystemLogin"    =>  _("Last login"),
+
             "mustchangepassword"=>  _("Force password change on login"),
             "shadowMin"           =>  _("Shadow min"),
             "shadowMax"           =>  _("Shadow max"),
             "shadowWarning"       =>  _("Shadow warning"),
             "shadowInactive"      =>  _("Shadow inactive"),
             "shadowExpire"        =>  _("Shadow expire"),
-            "sshPublickey"        =>  _("Public SSH key"),
-            "trustModel"          =>  _("System trust model")))
-            );
+            "sshPublicKey"        =>  _("Public SSH key"),
+            "accessTo"            =>  _("System trust model")))
+              );
   }
 
 
@@ -1476,16 +1329,13 @@ class posixAccount extends plugin
   function get_multi_edit_values()
   {
     $ret = plugin::get_multi_edit_values();
+    $ret = array_merge($ret,$this->trustModeDialog->get_multi_edit_values());
     $ret['groupMembership']     = $this->groupMembership;
     $ret['groupMembership_some']= $this->groupMembership_some;
 
     if(in_array("primaryGroup",$this->multi_boxes)){
       $ret['primaryGroup'] = $this->primaryGroup;
     }
-    if(in_array("trustmode",$this->multi_boxes)){
-      $ret['trustModel'] = $this->trustModel;
-      $ret['accessTo'] = $this->accessTo;
-    }
     foreach(array("shadowWarning","shadowInactive","shadowMin","shadowMax", "shadowExpire") as $entry){
       $active = "activate_".$entry;
       if(in_array($active,$this->multi_boxes)){
@@ -1505,15 +1355,17 @@ class posixAccount extends plugin
   function multiple_save_object()
   {
     if(isset($_POST['posix_mulitple_edit'])){
- 
+
       /* Backup expire value */ 
       $expire_tmp = $this->shadowExpire;
-  
+
       /* Update all values */
       plugin::multiple_save_object();
 
+      $this->trustModeDialog->multiple_save_object();
+
       /* Get selected checkboxes */
-      foreach(array("primaryGroup","trustmode","mustchangepassword","activate_shadowWarning","activate_shadowInactive","activate_shadowMin", "activate_shadowMax","activate_shadowExpire") as $val){
+      foreach(array("primaryGroup","mustchangepassword","activate_shadowWarning","activate_shadowInactive","activate_shadowMin", "activate_shadowMax","activate_shadowExpire") as $val){
         if(isset($_POST["use_".$val])){
           $this->multi_boxes[] = $val;
         }
@@ -1526,7 +1378,7 @@ class posixAccount extends plugin
           if(in_array($activate_var, $this->multi_boxes)){
             if(isset($_POST['activate_'.$var])){
               $this->$activate_var  = true;
-              $this->$var      = $_POST[$var];
+              $this->$var      = get_post($var);
             }else{
               $this->$activate_var  = false;
               $this->$var      = 0;
@@ -1547,40 +1399,24 @@ class posixAccount extends plugin
         $this->mustchangepassword = FALSE;
       }
 
-      /* Trust mode - special handling */
-      if($this->acl_is_writeable("trustModel")){
-        if (isset($_POST['trustmode'])){
-          $saved= $this->trustModel;
-          if ($_POST['trustmode'] == "1"){
-            $this->trustModel= "fullaccess";
-          } elseif ($_POST['trustmode'] == "2"){
-            $this->trustModel= "byhost";
-          } else {
-            $this->trustModel= "";
-          }
-          if ($this->trustModel != $saved){
-            $this->is_modified= TRUE;
-          }
-        }
-      }
-
       /* Save primary group settings */
       if($this->acl_is_writeable("primaryGroup") && isset($_POST['primaryGroup'])){
-        $data= $_POST['primaryGroup'];
+        $data= get_post('primaryGroup');
         if ($this->primaryGroup != $data){
           $this->is_modified= TRUE;
         }
-        $this->primaryGroup= $_POST['primaryGroup'];
+        $this->primaryGroup= get_post('primaryGroup');
       }
     }
   }
 
-  
+
   /* Initialize plugin with given atribute arrays 
    */
   function init_multiple_support($attrs,$all)
   {
     plugin::init_multiple_support($attrs,$all);
+    $this->trustModeDialog->init_multiple_support($attrs,$all);
 
     /* Some dummy values */
     $groups_some = array();
@@ -1630,25 +1466,6 @@ class posixAccount extends plugin
     $this->groupMembership_some = $groups_some;
     $this->primaryGroup = $this->gidNumber;
 
-    /* Is this account a trustAccount? */
-    if (isset($this->multi_attrs['trustModel'])){
-      $this->trustModel= $this->multi_attrs['trustModel'][0];
-      $this->was_trust_account= TRUE;
-      $this->multi_boxes[] = "trustmode";
-    } else {
-      $this->was_trust_account= FALSE;
-      $this->trustModel= "";
-    }
-
-    /* Create access informations */
-    $this->accessTo = array();
-    if (isset($this->multi_attrs['accessTo'])){
-      for ($i= 0; $i<$this->multi_attrs['accessTo']['count']; $i++){
-        $tmp= $this->multi_attrs['accessTo'][$i];
-        $this->accessTo[$tmp]= $tmp;
-      }
-    }
-
     /* Adjust shadow checkboxes */
     foreach (array("shadowMin", "shadowMax", "shadowWarning", "shadowInactive",
           "shadowExpire") as $val){
@@ -1682,8 +1499,25 @@ class posixAccount extends plugin
       $groups[$dn] = $cn;
     }
     plugin::set_multi_edit_values($attrs);
+    $this->trustModeDialog->set_multi_edit_values($attrs);
     $this->groupMembership = $groups;
   }
+
+  function set_acl_base($base)
+  {
+    @DEBUG (DEBUG_ACL, __LINE__, __FUNCTION__, __FILE__,"<b>".$base."</b>","<b>ACL-Base:</b> ");
+    $this->acl_base= $base;
+    $this->trustModeDialog->set_acl_base($base);
+  }
+
+  /*! \brief  Enables multiple support for this plugin
+   */
+  function enable_multiple_support()
+  {
+    plugin::enable_multiple_support();
+    $this->trustModeDialog->enable_multiple_support();
+  }
+
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/plugins/personal/posix/generic.tpl b/gosa-core/plugins/personal/posix/generic.tpl
index a0611d5..e260263 100644
--- a/gosa-core/plugins/personal/posix/generic.tpl
+++ b/gosa-core/plugins/personal/posix/generic.tpl
@@ -1,210 +1,157 @@
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=0 border=0>
+<table style="width:100%;" summary="{t}POSIX settings{/t}">
  <tr>
-  <td style="width:50%; vertical-align:top;">
-   <h2><img class="center" alt="" align="middle" src="images/rightarrow.png" /> {t}Generic{/t}</h2>
-   <table summary="">
+  <td style="width:50%">
+
+   <h3>{t}Generic{/t}</h3>
+   <table summary="{t}Generic settings{/t}">
     <tr>
      <td><label for="homeDirectory">{t}Home directory{/t}</label>{$must}</td>
      <td>
-{render acl=$homeDirectoryACL checkbox=$multiple_support checked=$use_homeDirectory}
+      {render acl=$homeDirectoryACL checkbox=$multiple_support checked=$use_homeDirectory}
       <input type='text' id="homeDirectory" name="homeDirectory" size=40 maxlength=120 value="{$homeDirectory}">
-{/render}
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="loginShell">{t}Shell{/t}</label></td>
      <td>
-{render acl=$loginShellACL checkbox=$multiple_support checked=$use_loginShell}
+      {render acl=$loginShellACL checkbox=$multiple_support checked=$use_loginShell}
       <select id="loginShell" size="1" name="loginShell">
        {html_options values=$shells output=$shells selected=$loginShell}
       </select> 
-{/render}
+      {/render}
      </td>
     </tr>
     <tr>
      <td><label for="primaryGroup">{t}Primary group{/t}</label></td>
      <td>
-{render acl=$gidNumberACL checkbox=$multiple_support checked=$use_primaryGroup}
+      {render acl=$gidNumberACL checkbox=$multiple_support checked=$use_primaryGroup}
       <select id="primaryGroup" size="1" name="primaryGroup">
        {html_options options=$secondaryGroups selected=$primaryGroup}
       </select> 
-{/render}
+      {/render}
      </td>
     </tr>
-{if !$multiple_support}
+    {if !$multiple_support}
     <tr>
      <td>{t}Status{/t}</td>
      <td>{$status}</td>
     </tr>
-{if $gotoLastSystemLogin}
+    {if $gotoLastSystemLogin}
     <tr>
-     <td>{t}Last logon{/t}</td>
+     <td>{t}Last log-on{/t}</td>
      <td>{$gotoLastSystemLogin}</td>
     </tr>
-{/if}
-{/if}
+    {/if}
+    {/if}
    </table>
-
-{if !$multiple_support}
-
-   <table summary="">
+   
+   {if !$multiple_support}
+   
+   <table summary="{t}Account settings{/t}">
     <tr>
      <td>
-{render acl=$force_idsACL}
+      {render acl=$force_idsACL}
       <input id="force_ids" type=checkbox name="force_ids" value="1" {$force_ids} 
-			onclick="{$onClickIDS}">
-{/render}
-					</td>
-					<td>
+      onclick="{$onClickIDS}">
+      {/render}
+     </td>
+     <td>
       <label for="force_ids">{t}Force UID/GID{/t}</label>
      </td>
-					<td style="width:20px;"></td>
-					<td>
-						<label for="uidNumber">{t}UID{/t}</label>
-					</td>
-					<td>
-{render acl=$uidNumberACL}
-						<input type='text' id="uidNumber" name="uidNumber" size=9 maxlength=9 {$forceMode} value="{$uidNumber}">
-{/render}
-					</td>
-				</tr>
-				<tr>
-					<td colspan="3"></td>
-					<td>
-						<label for="gidNumber">{t}GID{/t}</label>
-					</td>
+     <td style="width:20px;"></td>
+     <td>
+      <label for="uidNumber">{t}UID{/t}</label>
+     </td>
+     <td>
+      {render acl=$uidNumberACL}
+      <input type='text' id="uidNumber" name="uidNumber" size=9 maxlength=9 {$forceMode} value="{$uidNumber}">
+      {/render}
+     </td>
+    </tr>
+    <tr>
+     <td colspan="3"></td>
+     <td>
+      <label for="gidNumber">{t}GID{/t}</label>
+     </td>
      <td>
-{render acl=$gidNumberACL}
-						<input type='text' id="gidNumber" name="gidNumber" size=9 maxlength=9 {$forceMode} value="{$gidNumber}">
-{/render}
-					</td>
-				</tr>
+      {render acl=$gidNumberACL}
+      <input type='text' id="gidNumber" name="gidNumber" size=9 maxlength=9 {$forceMode} value="{$gidNumber}">
+      {/render}
+     </td>
+    </tr>
    </table>
-{/if}
+   {/if}
   </td>
-  <td style="border-left:1px solid #A0A0A0">
-     
+  <td class='left-border'>    
   </td>
-  <td style="vertical-align:top;">
-   <h2><img alt="" class="center" align="middle" src="plugins/posix/images/members.png" /> {t}Group membership{/t}</h2>
+  <td>
+   <h3>{t}Group membership{/t}
+   </h3>
    {if $groups eq "too_many_for_nfs"}
-    <b style="color:red">{t}(Warning: more than 16 groups are not supported by NFS!){/t}</b>
-    <br>
+   <b style="color:red">{t}(Warning: more than 16 groups are not supported by NFS!){/t}</b>
+   <br>
    {/if}
-{render acl=$groupMembershipACL}
+   {render acl=$groupMembershipACL}
    <select style="width:100%; height:130px;" name="group_list[]" size=16 multiple >
-{if !$multiple_support}
+    {if !$multiple_support}
     {html_options options=$groupMembership}
-{else}
-	{foreach from=$groupMembership item=group key=key}
-		<option value="{$key}">{$group} ({t}Common group{/t})</option>
-	{/foreach}
-	{foreach from=$groupMembership_some item=group key=key}
-		<option value="{$key}" 
-			style='color: #888888; background: #DDDDDD;background-color: #DDDDDD;'>{$group} ({t}Groups differ{/t})</option>
-	{/foreach}
-{/if}
+    {else}
+    {foreach from=$groupMembership item=group key=key}
+    <option value="{$key}">{$group} ({t}Common group{/t})</option>
+    {/foreach}
+    {foreach from=$groupMembership_some item=group key=key}
+    <option value="{$key}" 
+    style='color: #888888; background: #DDDDDD;background-color: #DDDDDD;'>{$group} ({t}Groups differ{/t})</option>
+    {/foreach}
+    {/if}
    </select>
-{/render}
+   {/render}
    <br>
-{render acl=$groupMembershipACL}
-   <input type=submit value="{msgPool type=addButton}" name="edit_groupmembership" > 
-{/render}
-{render acl=$groupMembershipACL}
-   <input type=submit value="{msgPool type=delButton}" name="delete_groupmembership" >
-{/render}
+   {render acl=$groupMembershipACL}
+   <button type='submit' name='edit_groupmembership'>{msgPool type=addButton}</button> 
+   
+   {/render}
+   {render acl=$groupMembershipACL}
+   <button type='submit' name='delete_groupmembership'>{msgPool type=delButton}</button>
+   
+   {/render}
   </td>
  </tr>
 </table>
 
-<p class="seperator"> </p>
+<hr>
 
-<table summary="" style="width:100% ; vertical-align:top; text-align:left;" cellpadding=0 border=0>
+<table style="width:100%" summary="{t}Account permissions{/t}" >
  <tr>
-  <td style='width:50%;vertical-align:top'>
+  <td style='width:50%'>
    {if $sshPublicKey == 1}
-   {render acl=$sshPublicKeyACL}
-   <h2><img alt="" class="center" align="middle" src="images/lists/key.png" /> {t}SSH keys{/t}</h2>
-   <input type=submit value="{t}Edit public ssh keys...{/t}" name="edit_sshpublickey">
-   <div style='border-bottom:1px solid #A0A0A0;height:8px'></div>
-   {/render}
+     {render acl=$sshPublicKeyACL}
+     <h3>{t}SSH keys{/t}</h3>
+     <button type='submit' name='edit_sshpublickey'>{t}Edit public ssh keys...{/t}</button>
+     {/render}
    {/if}
-   <h2><img alt="" class="center" align="middle" src="plugins/posix/images/terminal_small.png" /> {t}Account{/t}</h2>
+
+   <hr>
    {include file="$pwmode.tpl"}
   </td>
-  <td style="border-left:1px solid #A0A0A0">
-     
+  <td class='left-border'>    
   </td>
-  <td style="vertical-align:top;">
-   <h2><img alt="" class="center" align="middle" src="images/lists/locked.png" /> {t}System trust{/t}</h2>
-{if !$multiple_support}
-	{t}Trust mode{/t} 
-	{render acl=$trustmodeACL}
-		<select name="trustmode" id="trustmode" size=1 
-			onChange="changeSelectState('trustmode', 'wslist'); 
-					  changeSelectState('trustmode', 'add_ws'); 
-				      changeSelectState('trustmode', 'del_ws');">
-		  {html_options options=$trustmodes selected=$trustmode}
-		</select>
-	{/render}
-	{render acl=$trustmodeACL}
-	   <select style="width:100%" id="wslist" name="workstation_list[]" size=8 multiple {$trusthide}>
-		{html_options values=$workstations output=$workstations}
-		{if $emptyArrAccess}
-			<option disabled> </option>
-		{/if}
-	   </select>
-	{/render}
-	   <br>
-	{render acl=$trustmodeACL}
-	   <input type="submit" id="add_ws" value="{msgPool type=addButton}" name="add_ws" {$trusthide}> 
-	{/render}
-	{render acl=$trustmodeACL}
-	   <input type="submit" id="del_ws" value="{msgPool type=delButton}" name="delete_ws" {$trusthide}>
-	{/render}
-
-{else}
-    <input type="checkbox" name="use_trustmode" {if $use_trustmode} checked {/if}
-    	class="center" onClick="$('div_trustmode').toggle();">
-   	{t}Trust mode{/t} 
-    <div {if !$use_trustmode} style="display: none;" {/if} id="div_trustmode">
-	{render acl=$trustmodeACL}
-		<select name="trustmode" id="trustmode" size=1 
-			onChange="changeSelectState('trustmode', 'wslist'); 
-					  changeSelectState('trustmode', 'add_ws'); 
-				      changeSelectState('trustmode', 'del_ws');">
-		  {html_options options=$trustmodes selected=$trustmode}
-		</select>
-	{/render}
-	{render acl=$trustmodeACL}
-	   <select style="width:100%" id="wslist" name="workstation_list[]" size=8 multiple {$trusthide}>
-		{html_options values=$workstations output=$workstations}
-		{if $emptyArrAccess}
-			<option disabled> </option>
-		{/if}
-	   </select>
-	{/render}
-	   <br>
-	{render acl=$trustmodeACL}
-	   <input type="submit" id="add_ws" value="{msgPool type=addButton}" name="add_ws" {$trusthide}> 
-	{/render}
-	{render acl=$trustmodeACL}
-	   <input type="submit" id="del_ws" value="{msgPool type=delButton}" name="delete_ws" {$trusthide}>
-	{/render}
-	</div>
-{/if}
+  <td>
+    {$trustModeDialog}
   </td>
  </tr>
 </table>
+
 {if $multiple_support}
-	<input type="hidden" name="posix_mulitple_edit" value="1">
+<input type="hidden" name="posix_mulitple_edit" value="1">
 {/if}
 
 <input type="hidden" name="posixTab" value="posixTab">
 
 <!-- Place cursor -->
 <script language="JavaScript" type="text/javascript">
-  <!-- // First input field on page
-	focus_field('homeDirectory');
-  -->
+<!-- // First input field on page
+focus_field('homeDirectory');
+-->
 </script>
diff --git a/gosa-core/plugins/personal/posix/groupSelect/class_filterLDAPBlacklist.inc b/gosa-core/plugins/personal/posix/groupSelect/class_filterLDAPBlacklist.inc
index cd150dd..b78f2b2 100644
--- a/gosa-core/plugins/personal/posix/groupSelect/class_filterLDAPBlacklist.inc
+++ b/gosa-core/plugins/personal/posix/groupSelect/class_filterLDAPBlacklist.inc
@@ -2,9 +2,9 @@
 
 class filterLDAPBlacklist {
 
-  static function query($parent,$base, $scope, $filter, $attributes, $category, $objectStorage= "")
+  static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "")
   {
-    $result = filterLDAP::query($parent,$base, $scope, $filter, $attributes, $category, $objectStorage);
+    $result = filterLDAP::query($base, $scope, $filter, $attributes, $category, $objectStorage);
     return(filterLDAPBlacklist::filterByBlacklist($result));
   }
 
diff --git a/gosa-core/plugins/personal/posix/groupSelect/class_groupSelect.inc b/gosa-core/plugins/personal/posix/groupSelect/class_groupSelect.inc
index 2c98ada..b47d517 100644
--- a/gosa-core/plugins/personal/posix/groupSelect/class_groupSelect.inc
+++ b/gosa-core/plugins/personal/posix/groupSelect/class_groupSelect.inc
@@ -26,12 +26,14 @@ class groupSelect extends management
   protected $skipFooter = TRUE;
   protected $skipHeader = TRUE;
 
+  var $plHeadline = "Group selection";
+
   function __construct($config,$ui)
   {
     $this->config = $config;
     $this->ui = $ui;
 
-    $this->storagePoints = array(get_ou("groupRDN"));
+    $this->storagePoints = array(get_ou("core", "groupRDN"));
 
     // Build filter
     if (session::global_is_set(get_class($this)."_filter")){
diff --git a/gosa-core/plugins/personal/posix/groupSelect/group-filter.tpl b/gosa-core/plugins/personal/posix/groupSelect/group-filter.tpl
deleted file mode 100644
index 8bcae4b..0000000
--- a/gosa-core/plugins/personal/posix/groupSelect/group-filter.tpl
+++ /dev/null
@@ -1,37 +0,0 @@
-<div class="contentboxh">
- <p class="contentboxh">
-  <img src="images/launch.png" align="right" alt="[F]">{t}Filter{/t}
- </p>
-</div>
-
-<div class="contentboxb">
-
-<div style="border-top:1px solid #AAAAAA"></div>
-
- {$PRIMARY} <LABEL for='TEMPLATES'>{t}Show primary groups{/t}</LABEL><br>
- {$SAMBA} <LABEL for='TEMPLATES'>{t}Show samba groups{/t}</LABEL><br>
- {$MAIL} <LABEL for='TEMPLATES'>{t}Show mail groups{/t}</LABEL><br>
-
- {$SCOPE}
-
- <table summary="" style="width:100%;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td>
-    <label for="NAME">
-     <img src="images/lists/search.png" align=middle> {t}Name{/t}
-    </label>
-   </td>
-   <td>
-    {$NAME}
-   </td>
-  </tr>
- </table>
-
- <table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td width="100%" align="right">
-    {$APPLY}
-   </td>
-  </tr>
- </table>
-</div>
diff --git a/gosa-core/plugins/personal/posix/groupSelect/group-filter.xml b/gosa-core/plugins/personal/posix/groupSelect/group-filter.xml
index 5a43637..a3e6aa9 100644
--- a/gosa-core/plugins/personal/posix/groupSelect/group-filter.xml
+++ b/gosa-core/plugins/personal/posix/groupSelect/group-filter.xml
@@ -1,64 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
 <filterdef>
   <definition>
     <category>groups</category>
-    <template>../plugins/personal/posix/groupSelect/group-filter.tpl</template>
     <initial>true</initial>
+    <default>default</default>
+    <scope>auto</scope>
+    <attribute>dn</attribute>
+    <attribute>objectClass</attribute>
+    <attribute>cn</attribute>
+    <attribute>description</attribute>
   </definition>
 
   <search>
+    <tag>default</tag>
+    <label>Default filter</label>
     <query>
       <backend>LDAPBlacklist</backend>
-      <filter>(&(objectClass=posixGroup)$NAME(|$PRIMARY$MAIL$SAMBA))</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
-      <attribute>cn</attribute>
-      <attribute>description</attribute>
+      <filter>(&(objectClass=posixGroup)(cn=$))</filter>
     </query>
-    <scope>auto</scope>
-  </search>
-
-  <element>
-    <type>checkbox</type>
-    <tag>PRIMARY</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(!(objectClass=gosaObject))</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>MAIL</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=gosaMailAccount)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>SAMBA</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=sambaGroupMapping)</set>
-  </element>
-
-  <element>
-    <type>textfield</type>
-    <tag>NAME</tag>
-    <size>20</size>
-    <maxlength>60</maxlength>
-    <default></default>
-    <unset></unset>
-    <set>(|(cn=*$*)(description=*$*))</set>
-    <alphabet>true</alphabet>
     <autocomplete>
-      <backend>LDAPBlacklist</backend>
-      <filter>(&(objectClass=posixGroup)(|(cn=*$NAME*)(description=*$NAME*)))</filter>
       <attribute>cn</attribute>
       <frequency>0.5</frequency>
       <characters>3</characters>
     </autocomplete>
-  </element>
+  </search>
 
 </filterdef>
diff --git a/gosa-core/plugins/personal/posix/groupSelect/group-list.tpl b/gosa-core/plugins/personal/posix/groupSelect/group-list.tpl
index 99c169e..aa1e2fb 100644
--- a/gosa-core/plugins/personal/posix/groupSelect/group-list.tpl
+++ b/gosa-core/plugins/personal/posix/groupSelect/group-list.tpl
@@ -1,36 +1,27 @@
-<input type='image' src='images/empty.png' name='no_action_posted' value='do_nothing' alt='' style='width:2px;height:2px;'>
+<div id="mainlist">
 
-<table summary="" style="width:100%;height:100%; vertical-align:top; text-align:left;" cellpadding=2>
-  <tr>
-    <td style="vertical-align:top; width:100%;">
-      <div class="contentboxh">
-        <p class="contentboxh"> {$HEADLINE} {$SIZELIMIT}</p>
-      </div>
-      
-      <div class="contentboxb">
-       <div style='background:white;padding:3px;'>
-        <table><tr>
-          <td>{$ROOT} </td><td>{$BACK} </td><td>{$HOME} </td><td>{$RELOAD} </td><td>{$SEPARATOR} </td><td>{t}Base{/t} {$BASE} </td><td>{$SEPARATOR} </td><td><img src='images/rocket.png' alt='' class='center'></td><td> {$ACTIONS}</td>
-        </tr></table>
-       </div>
-      </div>
-      
-      <div style='height:4px;'>
-      </div>
-      {$LIST}
-    </td>
-    <td style='vertical-align:top;min-width:250px'>
-      {$FILTER}
-    </td>
-  </tr>
-</table>
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}</p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$ROOT}</td>
+      <td>{$BACK}</td>
+      <td>{$HOME}</td>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{t}Base{/t} {$BASE}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
 
-<input type="hidden" value="1" name="PosixGroupDialogPosted">
-<p class="plugbottom">
-  <input type=submit name="add_groups_finish" value="{msgPool type=addButton}">
-   
-  <input type=submit name="add_groups_cancel" value="{msgPool type=cancelButton}">
-</p>
+  {$LIST}
+</div>
 
+<div class="plugin-actions">
+  <button type='submit' name='add_groups_finish'>{msgPool type=addButton}</button>
+  <button type='submit' name='add_groups_cancel'>{msgPool type=cancelButton}</button>
+</div>
 
-<input type="hidden" name="ignore">
diff --git a/gosa-core/plugins/personal/posix/groupSelect/group-list.xml b/gosa-core/plugins/personal/posix/groupSelect/group-list.xml
index 721a160..f58b40b 100644
--- a/gosa-core/plugins/personal/posix/groupSelect/group-list.xml
+++ b/gosa-core/plugins/personal/posix/groupSelect/group-list.xml
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
 <list>
   <definition>
     <departmentBrowser>true</departmentBrowser>
@@ -10,55 +9,43 @@
     <module>groups</module>
     <label>Please select the desired entries</label>
     <defaultSortColumn>1</defaultSortColumn>
-
     <objectType>
       <label>Group</label>
       <objectClass>posixGroup</objectClass>
       <category>groups</category>
       <class>group</class>
-      <image>plugins/groups/images/groups.png</image>
+      <image>plugins/groups/images/select_group.png</image>
     </objectType>
-
   </definition>
-
   <table>
     <layout>|20px;c|||</layout>
-
     <department>
       <value>%{filter:objectType(dn,objectClass)}</value>
     </department>
-
     <department>
       <value>%{filter:departmentLink(row,dn,description)}</value>
       <span>1</span>
     </department>
-
     <column>
       <value>%{filter:objectType(dn,objectClass)}</value>
     </column>
-
     <column>
       <label>Name</label>
-      <sortAttribute>cn</sortAttribute>
-      <sortType>string</sortType>
+      <sortattribute>cn</sortattribute>
+      <sorttype>string</sorttype>
       <value>%{cn}</value>
       <export>true</export>
     </column>
-
     <column>
       <label>Description</label>
-      <sortAttribute>description</sortAttribute>
-      <sortType>string</sortType>
+      <sortattribute>description</sortattribute>
+      <sorttype>string</sorttype>
       <value>%{description}</value>
       <export>true</export>
     </column>
-
   </table>
-
   <actionmenu>
   </actionmenu>
-
   <actiontriggers snapshot="false" copypaste="false">
   </actiontriggers>
-
 </list>
diff --git a/gosa-core/plugins/personal/posix/main.inc b/gosa-core/plugins/personal/posix/main.inc
deleted file mode 100644
index dd13dea..0000000
--- a/gosa-core/plugins/personal/posix/main.inc
+++ /dev/null
@@ -1,147 +0,0 @@
-<?php
-/*
- * This code is part of GOsa (http://www.gosa-project.org)
- * Copyright (C) 2003-2008 GONICUS GmbH
- *
- * ID: $$Id: main.inc 15315 2010-01-26 13:00:52Z hickert $$
- *
- * 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.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-
-/* Remove locks created by this plugin
-*/
-$lock_msg="";
-if ($remove_lock || isset($_POST['edit_cancel'])){
-  if(session::is_set('posixAccount') && session::is_set('edit')){
-    del_lock($ui->dn);
-  }
-}
-
-/* Remove this plugin from session
-*/
-if ( $cleanup ){
-  session::un_set('posixAccount');
-  session::un_set('edit');
-
-}else{
-
-  /* Reset requested? */
-  if (isset($_POST['edit_cancel'])){
-    session::un_set ('edit');
-    session::un_set ('posixAccount');
-  }
-
-  /* Create posixAccount object on demand */
-  if (!session::is_set('posixAccount') || (isset($_GET['reset']) && $_GET['reset'] == 1)){
-    $posixAccount= new posixAccount ($config, $ui->dn);
-    $posixAccount->enable_CSN_check();
-    $posixAccount->set_acl_base($ui->dn);
-    $posixAccount->set_acl_category("users");
-    session::set('posixAccount',$posixAccount);
-  }
-  $posixAccount = session::get('posixAccount');
-
-  /* save changes back to object */
-  if (session::is_set('edit')){
-    $posixAccount->save_object ();
-  }
-
-  /* Enter edit mode? */
-  if ((isset($_POST['edit'])) && (!session::is_set('edit'))){
-    
-    /* Check locking */
-    if (($username= get_lock($ui->dn)) != ""){
-      session::set('back_plugin',$plug);
-      session::set('LOCK_VARS_TO_USE',array("/^edit$/","/^plug$/"));
-      $lock_msg =  gen_locked_message ($username, $ui->dn);
-
-    }else{
-
-      /* Lock the current entry */
-      add_lock ($ui->dn, $ui->dn);
-      session::set('edit',TRUE);
-    }
-  }
-
-  /* save changes to LDAP and disable edit mode */
-  $info= "";
-  if (isset($_POST['edit_finish'])){
-
-    /* Perform checks */
-    $message= $posixAccount->check ();
-
-    /* No errors, save object */
-    if (count ($message) == 0){
-      $posixAccount->save ();
-      del_lock ($ui->dn);
-      session::un_set ('edit');
-
-      /* Remove from session */
-      session::un_set ('posixAccount');
-    } else {
-      /* Errors found, show message */
-      msg_dialog::displayChecks($message);
-    }
-  }
-
-  /* Execute formular */
-  if($lock_msg){
-    $display = $lock_msg;
-  }else{
-    $display.= $posixAccount->execute ();
-  }
-
-  /* Store changes  in session */
-  if (session::is_set('edit')){
-    session::set('posixAccount',$posixAccount);
-  }
-
-  /* Show page footer depending on the mode */
-  if (!$posixAccount->groupSelect && !$posixAccount->trustSelect && $posixAccount->is_account && empty($lock_msg)){
-
-    $display.= "<p class=\"plugbottom\">";
-
-    /* Are we in edit mode? */
-    if (session::is_set('edit')){
-      $display.= "<input type=submit name=\"edit_finish\" style=\"width:80px\" value=\"".msgPool::okButton()."\">\n";
-      $display.= " ";
-      $display.= "<input type=submit name=\"edit_cancel\" value=\"".msgPool::cancelButton()."\">\n";
-      $info= "<img alt=\"\" align=\"middle\" src=\"".get_template_path('images/lists/locked.png').
-             "\"> ".$ui->dn." ";
-    } else {
-      $info= "<img alt=\"\" align=\"middle\" src=\"".get_template_path('images/lists/unlocked.png').
-             "\"> ".$ui->dn." ";
-
-      /* Only display edit button if there is at least one attribute editable */
-      if(preg_match("/r/",$ui->get_permissions($ui->dn,"users/posixAccount"))){
-        $info.= "<img alt=\"\" align=\"middle\" src=\"".get_template_path('images/lists/on.png')."\"> ".
-          msgPool::clickEditToChange();
-
-        $display.= "<input type=submit name=\"edit\" value=\"".msgPool::editButton()."\">\n";
-      }
-      $display.= "<input type=\"hidden\" name=\"ignore\">\n";
-    }
-    $display.= "</p>\n";
-  }
-
-  /* Page header*/
-  $display= print_header(get_template_path('plugins/posix/images/plugin.png'),
-                         _("POSIX settings"), $info).$display;
-
-}
-
-// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
-?>
diff --git a/gosa-core/plugins/personal/posix/paste_generic.tpl b/gosa-core/plugins/personal/posix/paste_generic.tpl
index cf286de..7ce5035 100644
--- a/gosa-core/plugins/personal/posix/paste_generic.tpl
+++ b/gosa-core/plugins/personal/posix/paste_generic.tpl
@@ -1,78 +1,86 @@
-<table width='100%'>
-	<tr>
-		<td style='vertical-align:top;'>
-			<h2>{t}Posix settings{/t}</h2>
-			<table>
-	  			<tr>
-					<td>
-		  				<label for="homeDirectory">{t}Home directory{/t}</label>
-					</td>
-					<td>
-		  				<input type='text' id="homeDirectory" name="homeDirectory" size=40 maxlength=120 value="{$homeDirectory}">
-					</td>
-	  			</tr>
-			</table>
-			<table style='width:100%;'>
-        <tr>
-         <td><label for="primaryGroup">{t}Primary group{/t}</label></td>
-         <td>
-          <select id="primaryGroup" size="1" name="primaryGroup">
-           {html_options options=$secondaryGroups selected=$primaryGroup}
-          </select> 
-         </td>
-        </tr>
-	  			<tr>
-					<td>
-					  	<input id="force_ids" type=checkbox name="force_ids" value="1"  {$force_ids}
-								 onclick="changeState('uidNumber');changeState('gidNumber');">
-					</td>
-					<td>
-						<label for="force_ids">
-						{t}Force UID/GID{/t}
-						</label>
-					</td>
-					<td> </td>
-					<td>
-						<label for="uidNumber">{t}UID{/t}</label>
-					</td>
-					<td>
-						<input type='text' id="uidNumber" name="uidNumber" size=9 maxlength=9 {$forceMode} value="{$uidNumber}">
-					</td>
-				</tr>
-				<tr>
-					<td colspan="3"> </td>
-					<td>
-						<label for="gidNumber">{t}GID{/t}</label>
-					</td>
-					<td>
-						<input type='text' id="gidNumber" name="gidNumber" size=9 maxlength=9 {$forceMode} value="{$gidNumber}">
-					</td>
-				</tr>
-			</table>
-			<table width="50%">
-				<tr>
-					<td style="vertical-align:top;" colspan="4">
-						<h2><img alt="" class="center" align="middle" src="plugins/posix/images/members.png" /> {t}Group membership{/t}</h2>
-					</td>
-				</tr>
-				<tr>
-					<td style="vertical-align:top;" colspan="4">
-						
-						{if $groups eq "too_many_for_nfs"}
-							<b style="color:red">{t}(Warning: more than 16 groups are not supported by NFS!){/t}</b>
-							<br>
-						{/if}
-						<select style="width:100%; height:130px;" name="group_list[]" size=16 multiple>
-							{html_options options=$groupMembership}
-						</select>
-						<br>
-						<input type=submit value="{msgPool type=addButton}" name="edit_groupmembership"> 
-						<input type=submit value="{msgPool type=delButton}" name="delete_groupmembership">
-					</td>
-				</tr>
-			</table>
-  		</td>
-	</tr>
+<table width='100%' summary="{t}POSIX settings{/t}">
+ <tr>
+  <td style='width:50%;' class='right-border'>
+
+   <h3>{t}POSIX settings{/t}</h3>
+   <table summary="{t}Home directory{/t}">
+    <tr>
+     <td>
+      <label for="homeDirectory">{t}Home directory{/t}</label>
+     </td>
+     <td>
+      <input type='text' id="homeDirectory" name="homeDirectory" size=40 maxlength=120 value="{$homeDirectory}">
+     </td>
+    </tr>
+   </table>
+
+   <table summary="{t}Account settings{/t}">
+    <tr>
+     <td><label for="primaryGroup">{t}Primary group{/t}</label></td>
+     <td>
+      <select id="primaryGroup" size="1" name="primaryGroup">
+       {html_options options=$secondaryGroups selected=$primaryGroup}
+      </select> 
+     </td>
+    </tr>
+    <tr>
+     <td>
+      <input id="force_ids" type=checkbox name="force_ids" value="1"  {$force_ids}
+      onclick="changeState('uidNumber');changeState('gidNumber');">
+     </td>
+     <td>
+      <label for="force_ids">
+      {t}Force UID/GID{/t}
+      </label>
+     </td>
+     <td> </td>
+     <td>
+      <label for="uidNumber">{t}UID{/t}</label>
+     </td>
+     <td>
+      <input type='text' id="uidNumber" name="uidNumber" size=9 maxlength=9 {$forceMode} value="{$uidNumber}">
+     </td>
+    </tr>
+    <tr>
+     <td colspan="3"> </td>
+     <td>
+      <label for="gidNumber">{t}GID{/t}</label>
+     </td>
+     <td>
+      <input type='text' id="gidNumber" name="gidNumber" size=9 maxlength=9 {$forceMode} value="{$gidNumber}">
+     </td>
+    </tr>
+   </table>
+
+  </td>
+  <td>
+
+   <table summary="{t}Group membership{/t}" width='100%'>
+ 
+    <tr>
+     <td><h3>{t}Group membership{/t}</h3>
+     </td>
+    </tr>
+    <tr>
+     <td>
+      
+      {if $groups eq "too_many_for_nfs"}
+      <b style="color:red">{t}(Warning: more than 16 groups are not supported by NFS!){/t}</b>
+      <br>
+      {/if}
+      <select style="width:100%; height:130px;" name="group_list[]" size=16 multiple>
+       {html_options options=$groupMembership}
+      </select>
+      <br>
+      <button type='submit' name='edit_groupmembership'>{msgPool type=addButton}</button> 
+      
+      <button type='submit' name='delete_groupmembership'>{msgPool type=delButton}</button>
+      
+     </td>
+    </tr>
+   </table>
+  </td>
+ </tr>
 </table>
 <br>
 <br>
diff --git a/gosa-core/plugins/personal/posix/posix_groups.tpl b/gosa-core/plugins/personal/posix/posix_groups.tpl
deleted file mode 100644
index 496773d..0000000
--- a/gosa-core/plugins/personal/posix/posix_groups.tpl
+++ /dev/null
@@ -1,83 +0,0 @@
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
-	<tr>
-  		<td style="vertical-align:top;">
-   			<div class="contentboxh" style="height:20px;">
-    			<p class="contentboxh" style="font-size:12px">
-     				<b>{t}Select groups to add{/t} {$hint}</b>
-   	 			</p>
-   			</div>
-   			<div class="contentboxb" style="">
-    			<p class="contentboxb" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-				 	<select style="width:100%; height:430px; margin-top:4px;" name="groups[]" size="15" multiple>
-						{html_options options=$groups}
-				 	</select>
-     				<input type=hidden name="edit_helper">
-    			</p>
-   			</div>
-  		</td>
-  		<td style="vertical-align:top; width:350px;">
-   			<div class="contentboxh" style="height:20px;">
-    			<p class="contentboxh" style="font-size:12px">
-					<img src="{$launchimage}" align="right" alt="[F]"><b>{t}Filters{/t}</b>
-				</p>
-   			</div>
-   			<div class="contentboxb" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-     			<table summary="" style="width:100%;">
-      				{$alphabet}
-     			</table>
-
-				<table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-					<tr>
-						<td width="50%">
-							<img alt="" src="{$tree_image}" align=middle> {t}Display groups of department{/t}
-						</td>
-						<td>
-							<select name="depselect" size=1 onChange="mainform.submit()" title="{t}Choose the department the search will be based on{/t}">
-							  {html_options options=$deplist selected=$depselect}
-							</select>
-						</td>
-					</tr>
-				</table>
-				<table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-					<tr>
-						<td width="50%">
-							<img alt="" src="{$search_image}" align=middle> {t}Display groups matching{/t}
-						</td>
-						<td>
-							<input type='text' name='regex' maxlength='20' value='{$regex}' 
-								title='{t}Regular expression for matching group names{/t}' onChange="mainform.submit()">
-						</td>
-					</tr>
-				</table>
-				<table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-					<tr>
-						<td width="50%">
-							<img alt="" src="{$search_image}" align=middle> {t}Display groups of user{/t}
-						</td>
-						<td>
-							<input type='text' name='guser' maxlength='20' value='{$guser}' 
-								title='{t}User name of which groups are shown{/t}' onChange="mainform.submit()">
-						</td>
-					</tr>
-				</table>
-				<table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-                    <tr>
-						<td>
-							<input type="checkbox" name="SubSearch" value="1" {$SubSearchCHK}
-								onClick="mainform.submit();">
-							{t}Search in subtrees{/t}
-						</td>
-					</tr>
-                </table>
-			   {$apply}
-   			</div>
-  		</td>
-	</tr>
-</table>
-<input type="hidden" value="1" name="PosixGroupDialogPosted">
-<p class="plugbottom">
-  <input type=submit name="add_groups_finish" value="{msgPool type=addButton}">
-   
-  <input type=submit name="add_groups_cancel" value="{msgPool type=cancelButton}">
-</p>
-
diff --git a/gosa-core/plugins/personal/posix/posix_shadow.tpl b/gosa-core/plugins/personal/posix/posix_shadow.tpl
index 9c15386..f5b7af3 100644
--- a/gosa-core/plugins/personal/posix/posix_shadow.tpl
+++ b/gosa-core/plugins/personal/posix/posix_shadow.tpl
@@ -1,67 +1,115 @@
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=0 border=0>
- <tr>
-  <td style="width:50%; vertical-align:top;">
 
-<!-- must_change_password  -->
-{render acl=$mustchangepasswordACL checkbox=$multiple_support checked=$use_mustchangepassword}
-   <input type="checkbox" class="center" name="mustchangepassword" value="1" {$mustchangepassword}>
-{/render}
-   {t}User must change password on first login{/t}
-   <br>
+  <h3>{t}Account settings{/t}</h3>
+  
+  <!-- must_change_password  -->
+  <div>
+   <div style='float:left;'>
+     {render acl=$mustchangepasswordACL checkbox=$multiple_support checked=$use_mustchangepassword}
+       <input type="checkbox" class="center" name="mustchangepassword" value="1" {$mustchangepassword}>
+     {/render}
+   </div>
+   <div style='padding-left: 25px;'>
+     {t}User must change password on first login{/t}
+   </div>
+  </div>
+    
+  <div class="clear"></div>  
+ 
+  <!-- shadowMin -->
+  <div>
+   <div style='float:left;'>
+     {render acl=$shadowMinACL checkbox=$multiple_support checked=$use_activate_shadowMin}
+       <input type="checkbox" class="center" name="activate_shadowMin" value="1" {$activate_shadowMin}>
+     {/render}
+   </div>
+   <div style='padding-left: 25px;'>
+     {render acl=$shadowMinACL}
+      {$shadowmins}
+     {/render}
+   </div>
+  </div>
 
-<!-- shadowMin -->
-{render acl=$shadowMinACL checkbox=$multiple_support checked=$use_activate_shadowMin}
-   <input type="checkbox" class="center" name="activate_shadowMin" value="1" {$activate_shadowMin}>
-{/render}
-{render acl=$shadowMinACL}
-   {$shadowmins}
-{/render}
-   <br>
+  <div class="clear"></div>  
+   
+  <!-- activate_shadowMax -->
+  <div>
+   <div style='float:left;'>
+     {render acl=$shadowMaxACL checkbox=$multiple_support checked=$use_activate_shadowMax}
+      <input type="checkbox" class="center" name="activate_shadowMax" value="1" {$activate_shadowMax}>
+     {/render}
+   </div>
+   <div style='padding-left: 25px;'>
+     {render acl=$shadowMaxACL}
+      {$shadowmaxs}
+     {/render}
+   </div>
+  </div>
+  
+  <div class="clear"></div>  
+ 
+  <!-- activate_shadowExpire -->
+  <div>
+   <div style='float:left;'>
+    {render acl=$shadowExpireACL checkbox=$multiple_support checked=$use_activate_shadowExpire}
+     <input type="checkbox" class="center" name="activate_shadowExpire" value="1" {$activate_shadowExpire}>
+    {/render}
+   </div>
+   <div style='padding-left: 25px;'>
 
-<!-- activate_shadowMax -->
-{render acl=$shadowMaxACL checkbox=$multiple_support checked=$use_activate_shadowMax}
-   <input type="checkbox" class="center" name="activate_shadowMax" value="1" {$activate_shadowMax}>
-{/render}
-{render acl=$shadowMaxACL}
-   {$shadowmaxs}
-{/render}
-   <br>
+    <table summary="{t}Password expiration settings{/t}" border="0" cellpadding="0" cellspacing="0">
+     <tr>
+      <td>
+       {t}Password expires on{/t} 
+      </td>
+      <td style='width:125px'>
 
-<!-- activate_shadowExpire -->
-{render acl=$shadowExpireACL checkbox=$multiple_support checked=$use_activate_shadowExpire}
-   <table border="0" cellpadding="0" cellspacing="0"><tr><td><input type="checkbox" class="center" name="activate_shadowExpire" value="1" {$activate_shadowExpire}>
-{/render}
-   {t}Password expires on{/t} 
-   {render acl=$shadowExpireACL}
-   </td><td style='width:130px'>
-   <input type="text" id="shadowExpire" name="shadowExpire" class="date" style='width:100px' value="{$shadowExpire}">
-     {if $shadowExpireACL|regex_replace:"/[cdmr]/":"" == "w"}
-     <script type="text/javascript">
-     {literal}
-       var datepicker  = new DatePicker({ relative : 'shadowExpire', language : '{/literal}{$lang}{literal}',
-                             keepFieldEmpty : true, enableCloseEffect : false, enableShowEffect : false});
-     {/literal}
-     </script>
-     {/if}
-     </td></tr></table>
-   {/render}
+       {render acl=$shadowExpireACL}
+        <input type="text" id="shadowExpire" name="shadowExpire" class="date" style='width:100px' value="{$shadowExpire}">
+       {/render}
 
-<!-- shadowInactive -->
-{render acl=$shadowInactiveACL checkbox=$multiple_support checked=$use_activate_shadowInactive}
-   <input type="checkbox" class="center" name="activate_shadowInactive" value="1" {$activate_shadowInactive}>
-{/render}
-{render acl=$shadowInactiveACL}
-   {$shadowinactives}
-{/render}
-   <br>
+       {if $shadowExpireACL|regex_replace:"/[cdmr]/":"" == "w"}
+        <script type="text/javascript">
+        {literal}
+        var datepicker  = new DatePicker({ relative : 'shadowExpire', language : '{/literal}{$lang}{literal}',
+        keepFieldEmpty : true, enableCloseEffect : false, enableShowEffect : false});
+        {/literal}
+        </script>
+       {/if}
+      </td>
+     </tr>
+    </table>
+    
+   </div>
+  </div>
+  
+  <div class="clear"></div>  
+ 
+  <!-- shadowInactive -->
+  <div>
+   <div style='float:left;'>
+    {render acl=$shadowInactiveACL checkbox=$multiple_support checked=$use_activate_shadowInactive}
+     <input type="checkbox" class="center" name="activate_shadowInactive" value="1" {$activate_shadowInactive}>
+    {/render}
+   </div>
+   <div style='padding-left: 25px;'>
+    {render acl=$shadowInactiveACL}
+     {$shadowinactives}
+    {/render}
+   </div>
+  </div>
+   
+  <div class="clear"></div>  
 
-<!-- activate_shadowWarning -->
-{render acl=$shadowWarningACL checkbox=$multiple_support checked=$use_activate_shadowWarning}
-   <input type="checkbox" class="center" name="activate_shadowWarning" value="1" {$activate_shadowWarning}>
-{/render}
-{render acl=$shadowWarningACL}
-   {$shadowwarnings}
-{/render}
-  </td>
- </tr>
-</table>
+  <!-- activate_shadowWarning -->
+  <div>
+   <div style='float:left;'>
+    {render acl=$shadowWarningACL checkbox=$multiple_support checked=$use_activate_shadowWarning}
+     <input type="checkbox" class="center" name="activate_shadowWarning" value="1" {$activate_shadowWarning}>
+    {/render}
+   </div>
+   <div style='padding-left: 25px;'>
+    {render acl=$shadowWarningACL}
+     {$shadowwarnings}
+    {/render}
+   </div>
+  </div>
diff --git a/gosa-core/plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc b/gosa-core/plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc
new file mode 100644
index 0000000..35ca992
--- /dev/null
+++ b/gosa-core/plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc
@@ -0,0 +1,328 @@
+<?php
+
+class trustModeDialog extends plugin 
+{
+    public $attributes  = array("accessTo","trustModel");
+    public $accessTo    = array();
+    public $trustModel  = "";
+    public $trustSelect = NULL;
+
+    private $trustList = NULL;
+
+    function __construct(&$config, $dn, $parent = NULL)
+    {
+        plugin::plugin($config, $dn, $parent);
+
+        $this->accessTo = array();
+        $this->trustModel= "";
+        $this->is_account = FALSE; 
+        if(isset($this->attrs['trustModel'][0])){
+            $this->is_account = TRUE;
+            $this->trustModel= $this->attrs['trustModel'][0];
+            if (isset($this->attrs['accessTo'])){
+                for ($i= 0; $i<$this->attrs['accessTo']['count']; $i++){
+                    $tmp= $this->attrs['accessTo'][$i];
+                    $this->accessTo[$tmp]= $tmp;
+                }
+            }
+
+        }
+
+        $this->initially_was_account = $this->is_account;
+
+        $lData = array();
+        foreach($this->accessTo as $key => $cn){
+            $lData[$cn] = array('data' => $this->converCnToType($cn));
+        }
+
+        $this->trustList = new sortableListing($this->accessTo, $lData);
+        $this->trustList->setDeleteable(true);
+        $this->trustList->setInstantDelete(true);
+        $this->trustList->setEditable(false);
+        $this->trustList->setWidth("100%");
+        $this->trustList->setHeight("100px");
+        $this->trustList->setColspecs(array('20px','*'));
+        $this->trustList->setHeader(array("~",_("Name"),_("Description")));
+        $this->trustList->setDefaultSortColumn(1);
+
+    }
+
+    public function PrepareForCopyPaste($source)
+    {
+        $this->accessTo = array();
+        $this->trustModel= "";
+        $this->is_account = FALSE;
+        if(isset($source['trustModel'][0])){
+            $this->is_account = TRUE;
+            $this->trustModel= $source['trustModel'][0];
+            if (isset($source['accessTo'])){
+                for ($i= 0; $i<$source['accessTo']['count']; $i++){
+                    $tmp= $source['accessTo'][$i];
+                    $this->accessTo[$tmp]= $tmp;
+                }
+            }
+        }
+    }
+
+    public function converCnToType($cn)
+    {
+        if(isset($this->typeCache[$cn])){
+            return($this->typeCache[$cn]);
+        }
+
+        $ldap = $this->config->get_ldap_link();
+        $ldap->cd($this->config->current['BASE']);
+        $ldap->search("(&(|(objectClass=gotoTerminal)(objectClass=gotoWorkstation)".
+                "(objectClass=goServer))(cn=".$cn."))", array("objectClass", "description"));
+        $this->typeCache[$cn] = array("",$cn,"");
+        if($ldap->count() != 0){
+            $attrs = $ldap->fetch();
+            $img = $desc = "";
+            if(in_array("gotoWorkstation",$attrs['objectClass'])){
+                $img = image('plugins/systems/images/select_workstation.png'); 
+            }elseif(in_array("gotoTerminal",$attrs['objectClass'])){
+                $img = image('plugins/systems/images/select_terminal.png'); 
+            }elseif(in_array("goServer",$attrs['objectClass'])){
+                $img = image('plugins/systems/images/select_server.png'); 
+            }
+            if(isset($attrs['description'][0])) {
+                $desc = $attrs['description'][0];
+            }
+            $this->typeCache[$cn] = array($img,$cn,$desc);
+        }
+        return($this->typeCache[$cn]);
+    }
+
+    public function setAcl($acl)
+    {
+        $this->acl = $acl;
+    }
+
+    public function execute()
+    {
+        // Call parent
+        plugin::execute();
+
+        $this->trustList->setAcl($this->getacl("accessTo"));
+        $this->trustList->save_object();
+
+        // Allow to select trusted machines from a list
+        if (isset($_POST["add_ws"])){
+            $this->trustSelect= new trustSelect($this->config,get_userinfo());
+            $this->dialog= TRUE;
+        }
+
+        // Cancel trust and group dialog
+        if (isset($_POST['add_ws_cancel'])){
+            $this->groupSelect= NULL;
+            $this->trustSelect= NULL;
+            $this->dialog= FALSE;
+        }
+
+        // Add selected machines to trusted ones.
+        if (isset($_POST["add_ws_finish"]) && $this->trustSelect){
+            $trusts = $this->trustSelect->detectPostActions();
+            if(isset($trusts['targets'])){
+                $headpage = $this->trustSelect->getHeadpage();
+                foreach($trusts['targets'] as $id){
+                    $attrs = $headpage->getEntry($id);
+                    $cn = $attrs['cn'][0];
+                    $this->accessTo[$cn]=$cn;
+                    $this->trustList->addEntry($cn,
+                            array('data'=> $this->converCnToType($cn)), 
+                            $attrs['cn'][0]);
+                }
+                $this->is_modified= TRUE;
+                $this->trustList->update();
+            }
+            $this->trustSelect= NULL;
+            $this->dialog= FALSE;
+        }
+
+        // Remove machine from trusted ones.
+        $actionL = $this->trustList->getAction();
+        if ($actionL['action'] == "delete"){
+            $this->accessTo = $this->trustList->getMaintainedData();
+            $this->is_modified= TRUE;
+        }
+
+
+        if ($this->trustSelect){
+            session::set('filterBlacklist', array('cn' => array_values($this->accessTo)));
+            return($this->trustSelect->execute());
+        }
+
+        /* Work on trust modes */
+        $smarty = get_smarty();
+        $smarty->assign("trusthide", " disabled ");
+        $smarty->assign("trustmodeACL",  $this->getacl("accessTo"));
+        if ($this->trustModel == "fullaccess"){
+            $trustmode= 1;
+            // pervent double disable tag in html code, this will disturb our clean w3c html
+            $smarty->assign("trustmode",  $this->getacl("accessTo"));
+
+        } elseif ($this->trustModel == "byhost"){
+            $trustmode= 2;
+            $smarty->assign("trusthide", "");
+        } else {
+            // pervent double disable tag in html code, this will disturb our clean w3c html
+            $smarty->assign("trustmode",  $this->getacl("accessTo"));
+            $trustmode= 0;
+        }
+        $smarty->assign("trustmode", $trustmode);
+        $smarty->assign("trustmodes", array( 0 => _("disabled"), 1 => _("full access"),
+                    2 => _("allow access to these hosts")));
+
+
+        if((count($this->accessTo))==0)
+            $smarty->assign("emptyArrAccess",true);
+        else
+            $smarty->assign("emptyArrAccess",false);
+
+
+        $smarty->assign($smarty->assign("use_trustmode",in_array("trustmode", $this->multi_boxes)));
+        $smarty->assign("multiple_support" , $this->multiple_support_active);
+#        $this->trustList->update();
+        $smarty->assign("trustList", $this->trustList->render());
+        return($smarty->fetch(get_template_path("generic.tpl",TRUE, dirname(__FILE__))));
+    }
+
+    public function save_object()
+    {
+
+        /* Trust mode - special handling */
+        if(preg_match("/w/", $this->getacl("accessTo"))){
+            if (isset($_POST['trustmode'])){
+                $saved= $this->trustModel;
+                if ($_POST['trustmode'] == "1"){
+                    $this->trustModel= "fullaccess";
+                } elseif ($_POST['trustmode'] == "2"){
+                    $this->trustModel= "byhost";
+                } else {
+                    $this->trustModel= "";
+                }
+                if ($this->trustModel != $saved){
+                    $this->is_modified= TRUE;
+                }
+            }
+        }
+
+    }
+
+    public function save()
+    {
+        plugin::save();
+ 
+        /* Trust accounts */
+        $objectclasses= array();
+        foreach ($this->attrs['objectClass'] as $key => $class){
+            if (preg_match('/trustAccount/i', $class)){
+                continue;
+            }
+            $objectclasses[]= $this->attrs['objectClass'][$key];
+        }
+        $this->attrs['objectClass']= $objectclasses;
+        if ($this->trustModel != ""){
+            $this->attrs['objectClass'][]= "trustAccount";
+            $this->attrs['trustModel']= $this->trustModel;
+            $this->attrs['accessTo']= array();
+            if ($this->trustModel == "byhost"){
+                foreach ($this->accessTo as $host){
+                    $this->attrs['accessTo'][]= $host;
+                }
+            }
+        } else {
+            if ($this->initially_was_account){
+                $this->attrs['accessTo']= array();
+                $this->attrs['trustModel']= array();
+            }
+        }
+        $ldap = $this->config->get_ldap_link();
+        $ldap->cd($this->dn);
+        $this->cleanup();
+        $ldap->modify($this->attrs);
+
+        /* Log last action */
+        if($this->initially_was_account){
+            new log("modify","users/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+        }else{
+            new log("create","users/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+        }
+
+        if (!$ldap->success()){
+            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), 
+                        $this->dn, LDAP_MOD,get_class()));
+        }
+    }
+
+    public function get_multi_edit_values()
+    {
+        $ret = plugin::get_multi_edit_values();
+        if(in_array("trustmode",$this->multi_boxes)){
+            $ret['trustModel'] = $this->trustModel;
+            $ret['accessTo'] = $this->accessTo;
+        }
+        return($ret);
+    }
+
+    public function multiple_save_object()
+    {
+        plugin::multiple_save_object();
+        if(isset($_POST["use_trustmode"])){
+            $this->multi_boxes[] = "trustmode";
+        }
+
+        if(preg_match("/w/", $this->getacl("accessTo"))){
+            if (isset($_POST['trustmode'])){
+                $saved= $this->trustModel;
+                if ($_POST['trustmode'] == "1"){
+                    $this->trustModel= "fullaccess";
+                } elseif ($_POST['trustmode'] == "2"){
+                    $this->trustModel= "byhost";
+                } else {
+                    $this->trustModel= "";
+                }
+                if ($this->trustModel != $saved){
+                    $this->is_modified= TRUE;
+                }
+            }
+        }
+    }
+
+    public function init_multiple_support($attrs,$all)
+    {
+        plugin::init_multiple_support($attrs,$all);
+
+        if (isset($this->multi_attrs['trustModel'])){
+            $this->trustModel= $this->multi_attrs['trustModel'][0];
+            $this->initially_was_account= TRUE;
+            $this->multi_boxes[] = "trustmode";
+        } else {
+            $this->initially_was_account= FALSE;
+            $this->trustModel= "";
+        }
+
+        $this->accessTo = array();
+        if (isset($this->multi_attrs['accessTo'])){
+            for ($i= 0; $i<$this->multi_attrs['accessTo']['count']; $i++){
+                $tmp= $this->multi_attrs['accessTo'][$i];
+                $this->accessTo[$tmp]= $tmp;
+            }
+        }
+        $this->trustList->setListData($this->accessTo);
+    }
+
+
+    public function getacl($attribute,$skip_write= FALSE)
+    {
+        $ui= get_userinfo();
+        $skip_write |= $this->read_only;
+        return  $ui->get_permissions($this->acl_base,$this->acl, $attribute,$skip_write);
+    }
+
+
+} 
+
+
+
+?>
diff --git a/gosa-core/plugins/personal/posix/trustModeDialog/generic.tpl b/gosa-core/plugins/personal/posix/trustModeDialog/generic.tpl
new file mode 100644
index 0000000..b798469
--- /dev/null
+++ b/gosa-core/plugins/personal/posix/trustModeDialog/generic.tpl
@@ -0,0 +1,39 @@
+
+<h3>{t}System trust{/t}
+</h3>
+
+{if !$multiple_support}{t}Trust mode{/t} 
+ {render acl=$trustmodeACL}
+  <select name="trustmode" id="trustmode" size=1   onChange="changeSelectState('trustmode', 'add_ws');   changeSelectState('trustmode', 'del_ws');">
+   {html_options options=$trustmodes selected=$trustmode}
+  </select>
+ {/render}
+ {render acl=$trustmodeACL}
+  {$trustList}
+ {/render}
+ {render acl=$trustmodeACL}
+  <button {$trusthide}type='submit' name='add_ws' id="add_ws">
+  {msgPool type=addButton}</button> 
+ {/render}
+ {else}
+ 
+ 
+ <input type="checkbox" name="use_trustmode" {if $use_trustmode} checked {/if}class="center" onClick="$('div_trustmode').toggle();">{t}Trust mode{/t} 
+ 
+ 
+ <div {if !$use_trustmode} style="display: none;" {/if}id="div_trustmode">
+ {render acl=$trustmodeACL}
+  <select name="trustmode" id="trustmode" size=1 onChange="changeSelectState('trustmode', 'add_ws'); changeSelectState('trustmode', 'del_ws');">
+   {html_options options=$trustmodes selected=$trustmode}
+  </select>
+ {/render}
+ {render acl=$trustmodeACL}
+  {$trustList}
+ {/render}
+ {render acl=$trustmodeACL}
+  <button type='submit' name='add_ws' id="add_ws">
+  {msgPool type=addButton}</button> 
+ {/render}
+</div>
+
+{/if}
diff --git a/gosa-core/plugins/personal/posix/trustSelect/class_trustSelect.inc b/gosa-core/plugins/personal/posix/trustSelect/class_trustSelect.inc
index 2bcb148..b2ef0b6 100644
--- a/gosa-core/plugins/personal/posix/trustSelect/class_trustSelect.inc
+++ b/gosa-core/plugins/personal/posix/trustSelect/class_trustSelect.inc
@@ -1,24 +1,24 @@
 <?php
 /*
- * This code is part of GOsa (http://www.gosa-project.org)
- * Copyright (C) 2003-2008 GONICUS GmbH
- *
- * ID: $$Id: class_groupManagement.inc 14766 2009-11-05 14:30:35Z hickert $$
- *
- * 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.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
+* This code is part of GOsa (http://www.gosa-project.org)
+* Copyright (C) 2003-2008 GONICUS GmbH
+*
+* ID: $$Id: class_groupManagement.inc 14766 2009-11-05 14:30:35Z hickert $$
+*
+* 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.
+*
+* This program 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 General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
 
 class trustSelect extends management
 {
@@ -26,20 +26,22 @@ class trustSelect extends management
   protected $skipFooter = TRUE;
   protected $skipHeader = TRUE;
 
+  public $plHeadline = "Trust machine selection";
+
   function __construct($config,$ui)
   {
     $this->config = $config;
     $this->ui = $ui;
-   
-    $this->storagePoints = array(get_ou("workstationRDN"),get_ou("terminalRDN"),get_ou("serverRDN"),);
- 
-#    // Build filter
-#    if (session::global_is_set(get_class($this)."_filter")){
-#      $filter= session::global_get(get_class($this)."_filter");
-#    } else {
+
+    $this->storagePoints = array(get_ou("workgeneric", "workstationRDN"),get_ou("termgeneric", "terminalRDN"),get_ou("servgeneric", "serverRDN"),);
+
+    // Build filter
+    if (session::global_is_set(get_class($this)."_filter")){
+      $filter= session::global_get(get_class($this)."_filter");
+    } else {
       $filter = new filter(get_template_path("trust-filter.xml", true, dirname(__FILE__)));
       $filter->setObjectStorage($this->storagePoints);
-#    }
+    }
     $this->setFilter($filter);
 
     // Build headpage
@@ -49,74 +51,6 @@ class trustSelect extends management
     parent::__construct($config, $ui, "groups", $headpage);
   }
 
-
-  static function filterProperties($row, $classes)
-  {
-    $result= "";
-
-    $map = array(
-        "posixGroup" => 
-        array(
-          "image" => "plugins/groups/images/groups.png",
-          "plugin" => "group",
-          "alt" => _("Posix"),
-          "title" => _("Edit posix properties")
-          ),
-
-        "gosaMailAccount" => 
-        array(
-          "image" => "plugins/groups/images/mail.png",
-          "plugin" => "mailgroup",
-          "alt" => _("Mail"),
-          "title" => _("Edit mail properties")
-          ),
-
-        "sambaGroupMapping" => 
-        array(
-          "image" => "plugins/groups/images/samba.png",
-          "plugin" => "group",
-          "alt" => _("Samba"),
-          "title" => _("Edit samba properties")
-          ),
-
-        "goFonPickupGroup" => 
-          array(
-              "image" => "plugins/groups/images/asterisk.png",
-              "plugin" => "group",
-              "alt" => _("Phone"),
-              "title" => _("Edit phone properties")
-              ),
-
-        "gotoMenuGroup" => 
-          array(
-              "image" => "plugins/groups/images/menu.png",
-              "plugin" => "appgroup",
-              "alt" => _("Menu"),
-              "title" => _("Edit start menu properties")
-              ),
-
-        "gotoEnvironment" => 
-          array(
-              "image" => "plugins/groups/images/environment.png",
-              "plugin" => "environment",
-              "alt" => _("Environment"),
-              "title" => _("Edit environment properties")
-              )
-          );
-
-
-    // Walk thru map
-    foreach ($map as $oc => $properties) {
-      if (in_array_ics($oc, $classes)) {
-        $result.="<input class='center' type='image' src='".$properties['image']."' ".
-          "alt='".$properties['alt']."' title='".$properties['title'].
-                 "' name='listing_edit_".$properties['plugin']."_$row' style='padding:1px'>";
-      } else {
-        $result.="<img src='images/empty.png' alt=' ' class='center' style='padding:1px'>";
-      }
-    }
-    return $result;
-  }
 } 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/plugins/personal/posix/trustSelect/trust-filter.tpl b/gosa-core/plugins/personal/posix/trustSelect/trust-filter.tpl
deleted file mode 100644
index dc40983..0000000
--- a/gosa-core/plugins/personal/posix/trustSelect/trust-filter.tpl
+++ /dev/null
@@ -1,39 +0,0 @@
-<div class="contentboxh">
- <p class="contentboxh">
-  <img src="images/launch.png" align="right" alt="[F]">{t}Filter{/t}
- </p>
-</div>
-
-<div class="contentboxb">
-
-<div style="border-top:1px solid #AAAAAA"></div>
-
-  {$SERVER} {t}Show servers{/t}<br>
-  {$WORKSTATION} {t}Show workstations{/t}<br>
-  {$TERMINAL} {t}Show terminals{/t}<br>
-
-  <div style="border-top:1px solid #AAAAAA"></div>
-
-  {$SCOPE}
-
- <table summary="" style="width:100%;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td>
-    <label for="NAME">
-     <img src="images/lists/search.png" align=middle> {t}Name{/t}
-    </label>
-   </td>
-   <td>
-    {$NAME}
-   </td>
-  </tr>
- </table>
-
- <table summary=""  width="100%"  style="background:#EEEEEE;border-top:1px solid #B0B0B0;">
-  <tr>
-   <td width="100%" align="right">
-    {$APPLY}
-   </td>
-  </tr>
- </table>
-</div>
diff --git a/gosa-core/plugins/personal/posix/trustSelect/trust-filter.xml b/gosa-core/plugins/personal/posix/trustSelect/trust-filter.xml
index 10ea5d5..1b32632 100644
--- a/gosa-core/plugins/personal/posix/trustSelect/trust-filter.xml
+++ b/gosa-core/plugins/personal/posix/trustSelect/trust-filter.xml
@@ -3,62 +3,27 @@
 <filterdef>
   <definition>
     <category>groups</category>
-    <template>../plugins/personal/posix/trustSelect/trust-filter.tpl</template>
     <initial>true</initial>
+    <default>default</default>
+    <scope>auto</scope>
+    <attribute>dn</attribute>
+    <attribute>objectClass</attribute>
+    <attribute>cn</attribute>
+    <attribute>description</attribute>
   </definition>
 
- <search>
+  <search>
+    <tag>default</tag>
+    <label>Default filter</label>
     <query>
       <backend>LDAPBlacklist</backend>
-      <filter>(&(|$SERVER $WORKSTATION $TERMINAL)$NAME)</filter>
-      <attribute>dn</attribute>
-      <attribute>objectClass</attribute>
-      <attribute>cn</attribute>
-      <attribute>description</attribute>
+      <filter>(&(|(objectClasS=goServer)(objectClass=gotoWorkstation)(objectClass=gotoTerminal))(cn=$))</filter>
     </query>
-    <scope>auto</scope>
-  </search>
-
-  <element>
-    <type>textfield</type>
-    <tag>NAME</tag>
-    <size>20</size>
-    <maxlength>60</maxlength>
-    <default></default>
-    <unset></unset>
-    <set>(cn=*$*)</set>
-    <alphabet>false</alphabet>
     <autocomplete>
-      <backend>LDAPBlacklist</backend>
-      <filter>(cn=*$NAME*)</filter>
       <attribute>cn</attribute>
       <frequency>0.5</frequency>
       <characters>3</characters>
     </autocomplete>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>SERVER</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=goServer)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>WORKSTATION</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=gotoWorkstation)</set>
-  </element>
-
-  <element>
-    <type>checkbox</type>
-    <tag>TERMINAL</tag>
-    <default>true</default>
-    <unset></unset>
-    <set>(objectClass=gotoTerminal)</set>
-  </element>
+  </search>
 
 </filterdef>
diff --git a/gosa-core/plugins/personal/posix/trustSelect/trust-list.tpl b/gosa-core/plugins/personal/posix/trustSelect/trust-list.tpl
index 087cea0..fca8fd5 100644
--- a/gosa-core/plugins/personal/posix/trustSelect/trust-list.tpl
+++ b/gosa-core/plugins/personal/posix/trustSelect/trust-list.tpl
@@ -1,35 +1,28 @@
-<input type='image' src='images/empty.png' name='no_action_posted' value='do_nothing' alt='' style='width:2px;height:2px;'>
+<div id="mainlist">
 
-<table summary="" style="width:100%;height:100%; vertical-align:top; text-align:left;" cellpadding=2>
-  <tr>
-    <td style="vertical-align:top; width:100%;">
-      <div class="contentboxh">
-        <p class="contentboxh"> {$HEADLINE} {$SIZELIMIT}</p>
-      </div>
-      
-      <div class="contentboxb">
-       <div style='background:white;padding:3px;'>
-        <table><tr>
-          <td>{$ROOT} </td><td>{$BACK} </td><td>{$HOME} </td><td>{$RELOAD} </td><td>{$SEPARATOR} </td><td>{t}Base{/t} {$BASE} </td><td>{$SEPARATOR} </td><td><img src='images/rocket.png' alt='' class='center'></td><td> {$ACTIONS}</td>
-        </tr></table>
-       </div>
-      </div>
-      
-      <div style='height:4px;'>
-      </div>
-      {$LIST}
-    </td>
-    <td style='vertical-align:top;min-width:250px'>
-      {$FILTER}
-    </td>
-  </tr>
-</table>
+  <div class="mainlist-header">
+   <p>{$HEADLINE} {$SIZELIMIT}</p>
+   <div class="mainlist-nav">
+    <table summary="{$HEADLINE}">
+     <tr>
+      <td>{$ROOT}</td>
+      <td>{$BACK}</td>
+      <td>{$HOME}</td>
+      <td>{$RELOAD}</td>
+      <td class="left-border">{t}Base{/t} {$BASE}</td>
+      <td class="left-border">{$ACTIONS}</td>
+      <td class="left-border">{$FILTER}</td>
+     </tr>
+    </table>
+   </div>
+  </div>
 
+  {$LIST}
+</div>
 
-<p class="plugbottom">
-  <input type=submit name="add_ws_finish" value="{msgPool type=addButton}">
-   
-  <input type=submit name="add_ws_cancel" value="{msgPool type=cancelButton}">
-</p>
+<div class="clear"></div>
 
-<input type="hidden" name="ignore">
+<div class="plugin-actions">
+  <button type='submit' name='add_ws_finish'>{msgPool type=addButton}</button>
+  <button type='submit' name='add_ws_cancel'>{msgPool type=cancelButton}</button>
+</div>
diff --git a/gosa-core/plugins/personal/posix/trustSelect/trust-list.xml b/gosa-core/plugins/personal/posix/trustSelect/trust-list.xml
index 584e8b3..4c3f872 100644
--- a/gosa-core/plugins/personal/posix/trustSelect/trust-list.xml
+++ b/gosa-core/plugins/personal/posix/trustSelect/trust-list.xml
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
 <list>
   <definition>
     <departmentBrowser>true</departmentBrowser>
@@ -9,7 +8,6 @@
     <template>../plugins/personal/posix/trustSelect/trust-list.tpl</template>
     <label>Please select the desired entries</label>
     <defaultSortColumn>1</defaultSortColumn>
-
     <objectType>
       <label>Server</label>
       <objectClass>goServer</objectClass>
@@ -17,7 +15,6 @@
       <class>servgeneric</class>
       <image>plugins/systems/images/select_server.png</image>
     </objectType>
-
     <objectType>
       <label>Workstation</label>
       <objectClass>gotoWorkstation</objectClass>
@@ -25,7 +22,6 @@
       <class>workgeneric</class>
       <image>plugins/systems/images/select_workstation.png</image>
     </objectType>
-
     <objectType>
       <label>Terminal</label>
       <objectClass>gotoTerminal</objectClass>
@@ -33,47 +29,36 @@
       <class>termgeneric</class>
       <image>plugins/systems/images/select_terminal.png</image>
     </objectType>
-
   </definition>
-
   <table>
     <layout>|20px;c|||</layout>
-
     <department>
       <value>%{filter:objectType(dn,objectClass)}</value>
     </department>
-
     <department>
       <value>%{filter:departmentLink(row,dn,description)}</value>
       <span>1</span>
     </department>
-
     <column>
       <value>%{filter:objectType(dn,objectClass)}</value>
     </column>
-
     <column>
       <label>Name</label>
-      <sortAttribute>cn</sortAttribute>
-      <sortType>string</sortType>
+      <sortattribute>cn</sortattribute>
+      <sorttype>string</sorttype>
       <value>%{cn}</value>
       <export>true</export>
     </column>
-
     <column>
       <label>Description</label>
-      <sortAttribute>description</sortAttribute>
-      <sortType>string</sortType>
+      <sortattribute>description</sortattribute>
+      <sorttype>string</sorttype>
       <value>%{description}</value>
       <export>true</export>
     </column>
-
   </table>
-
   <actionmenu>
-  </actionmenu>
-
+</actionmenu>
   <actiontriggers snapshot="false" copypaste="false">
-  </actiontriggers>
-
+</actiontriggers>
 </list>
diff --git a/gosa-core/plugins/personal/posix/trust_machines.tpl b/gosa-core/plugins/personal/posix/trust_machines.tpl
deleted file mode 100644
index f7b0b2c..0000000
--- a/gosa-core/plugins/personal/posix/trust_machines.tpl
+++ /dev/null
@@ -1,42 +0,0 @@
-<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
-<tr>
-  <td style="vertical-align:top;">
-   <div class="contentboxh" style="height:20px;">
-    <p class="contentboxh" style="font-size:12px">
-     <b>{t}Select systems to add{/t} {$hint}</b><br>
-    </p>
-   </div>
-   <div class="contentboxb">
-    <p class="contentboxb" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-     <select style="width:100%; margin-top:4px; height:450px;" name="wslist[]" size="15" multiple>
-	{html_options values=$wslist output=$wslist}
-     </select>
-    </p>
-   </div>
-  </td>
-  <td style="vertical-align:top; width:350px">
-   <div class="contentboxh" style="height:20px;">
-    <p class="contentboxh" style="font-size:12px"><img src="{$launchimage}" align="right" alt="[F]"><b>{
-t}Filters{/t}</b></p>
-   </div>
-   <div class="contentboxb" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8">
-     <table summary="" style="width:100%;">
-      {$alphabet}
-     </table>
-    <table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8"><tr><td width="50%"><img alt="" src="{$tree_image}" align=middle> {t}Display systems of department{/t}</td>
-    <td><select name="depselect" size=1 onChange="mainform.submit()" title="{t}Choose the department the search will be based on{/t}">
-      {html_options options=$deplist selected=$depselect}
-    </select></td></tr></table>
-    <table summary="" width="100%" style="border-top:1px solid #B0B0B0;background-color:#F8F8F8"><tr><td width="50%"><img alt="" src="{$search_image}" align=middle> {t}Display systems matching{/t}</td>
-    <td><input type='text' name='regex' maxlength='20' value='{$regex}' title='{t}Regular expression for matching addresses{/t}' onChange="mainform.submit()"></td></tr></table>
-   {$apply}
-   </div>
-  </td>
-</tr>
-</table>
-
-<p class="plugbottom">
-  <input type=submit name="add_ws_finish" value="{msgPool type=addButton}">
-   
-  <input type=submit name="add_ws_cancel" value="{msgPool type=cancelButton}">
-</p>
diff --git a/gosa-core/redhat/02_fix_class_mapping.patch b/gosa-core/redhat/02_fix_class_mapping.patch
index 95b8ea8..6b072da 100644
--- a/gosa-core/redhat/02_fix_class_mapping.patch
+++ b/gosa-core/redhat/02_fix_class_mapping.patch
@@ -1,7 +1,26 @@
---- gosa-core~/include/functions.inc	2009-02-16 14:19:18.000000000 +0100
-+++ gosa-core/include/functions.inc	2009-02-16 14:18:15.000000000 +0100
+diff -urNad test/include/class_config.inc gosa-core/include/class_config.inc
+--- test/include/class_config.inc	2010-12-01 09:13:42.832749000 +0100
++++ gosa-core/include/class_config.inc	2010-12-01 10:16:52.347748997 +0100
+@@ -116,12 +116,12 @@
+            if we have installed or removed plugins. 
+          */
+         if(session::global_is_set("class_location.inc:timestamp")){
+-            $tmp = stat("../include/class_location.inc");
++	    $tmp = $tmp = stat("/var/cache/gosa/class.cache");
+             if($tmp['mtime'] != session::global_get("class_location.inc:timestamp")){
+                 session::global_un_set("plist");
+             }
+         }
+-        $tmp = stat("../include/class_location.inc");
++        $tmp = stat("/var/cache/gosa/class.cache");
+         session::global_set("class_location.inc:timestamp",$tmp['mtime']);
+ 
+         if($this->filename != "" && filemtime($this->filename) != $this->last_modified){
+diff -urNad test/include/functions.inc gosa-core/include/functions.inc
+--- test/include/functions.inc	2010-12-01 10:08:16.784749004 +0100
++++ gosa-core/include/functions.inc	2010-12-01 10:10:49.198749000 +0100
 @@ -73,7 +73,7 @@
- $svn_revision = '$Revision: 13395 $';
+ define('DES3_CBC_SHA1',16);
  
  /* Include required files */
 -require_once("class_location.inc");
@@ -9,8 +28,9 @@
  require_once ("functions_debug.inc");
  require_once ("accept-to-gettext.inc");
  
---- gosa-core~/update-gosa	2009-02-16 14:19:18.000000000 +0100
-+++ gosa-core/update-gosa	2009-02-16 14:18:15.000000000 +0100
+diff -urNad test/update-gosa gosa-core/update-gosa
+--- test/update-gosa	2010-12-01 10:08:16.766749002 +0100
++++ gosa-core/update-gosa	2010-12-01 10:11:20.108749003 +0100
 @@ -21,7 +21,7 @@
   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   */
@@ -20,7 +40,7 @@
  define ("LOCALE_DIR", GOSA_HOME."/locale");
  define ("PLUGSTATE_DIR", GOSA_HOME."/state");
  
-@@ -122,8 +122,8 @@
+@@ -136,8 +136,8 @@
  function rescan_classes()
  {
  	echo "Updating class cache...\n";
@@ -31,20 +51,3 @@
  
  	/* Sanity checks */
  	if (!file_exists($filename) || is_writable($filename)) {
---- gosa-core~/include/class_config.inc	2009-02-16 14:19:18.000000000 +0100
-+++ gosa-core/include/class_config.inc	2009-02-16 14:18:15.000000000 +0100
-@@ -76,12 +76,12 @@
-         if we have installed or removed plugins. 
-      */
-     if(session::global_is_set("class_location.inc:timestamp")){
--      $tmp = stat("../include/class_location.inc");
-+      $tmp = $tmp = stat("/var/cache/gosa/class.cache");
-       if($tmp['mtime'] != session::global_get("class_location.inc:timestamp")){
-         session::global_un_set("plist");
-       }
-     }
--    $tmp = stat("../include/class_location.inc");
-+    $tmp = stat("/var/cache/gosa/class.cache");
-     session::global_set("class_location.inc:timestamp",$tmp['mtime']);
- 
-     if($this->filename != "" && filemtime($this->filename) != $this->last_modified){
diff --git a/gosa-core/redhat/03_fix_locale_location.patch b/gosa-core/redhat/03_fix_locale_location.patch
index 148a9d0..96ac192 100644
--- a/gosa-core/redhat/03_fix_locale_location.patch
+++ b/gosa-core/redhat/03_fix_locale_location.patch
@@ -1,6 +1,6 @@
-diff -urNad gosa-2.6.0+svn11288~/include/php_setup.inc gosa-2.6.0+svn11288/include/php_setup.inc
---- gosa-2.6.0+svn11288~/include/php_setup.inc	2008-06-11 15:55:59.000000000 +0200
-+++ gosa-2.6.0+svn11288/include/php_setup.inc	2008-06-11 15:56:00.000000000 +0200
+diff -urNad -x .svn test/include/php_setup.inc gosa-core/include/php_setup.inc
+--- test/include/php_setup.inc	2010-12-01 09:13:42.798749001 +0100
++++ gosa-core/include/php_setup.inc	2010-12-01 10:22:39.236749000 +0100
 @@ -20,7 +20,7 @@
   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   */
@@ -10,10 +10,10 @@ diff -urNad gosa-2.6.0+svn11288~/include/php_setup.inc gosa-2.6.0+svn11288/inclu
  
  function gosaRaiseError($errno, $errstr, $errfile, $errline)
  {
-diff -urNad gosa-2.6.0+svn11288~/update-gosa gosa-2.6.0+svn11288/update-gosa
---- gosa-2.6.0+svn11288~/update-gosa	2008-06-11 15:55:59.000000000 +0200
-+++ gosa-2.6.0+svn11288/update-gosa	2008-06-11 16:02:30.000000000 +0200
-@@ -169,20 +169,20 @@
+diff -urNad -x .svn test/update-gosa gosa-core/update-gosa
+--- test/update-gosa	2010-12-01 10:08:16.766749002 +0100
++++ gosa-core/update-gosa	2010-12-01 10:22:50.352748973 +0100
+@@ -183,20 +183,20 @@
  
  	/* For each language, merge the target .mo to the compiled directory. */
  	foreach ($languages as $language => $po_files){
diff --git a/gosa-core/redhat/04_fix_online_help_location.patch b/gosa-core/redhat/04_fix_online_help_location.patch
index 85f8ff6..97cd67c 100644
--- a/gosa-core/redhat/04_fix_online_help_location.patch
+++ b/gosa-core/redhat/04_fix_online_help_location.patch
@@ -1,8 +1,8 @@
-diff -urNad gosa-core~/html/helpviewer.php gosa-core/html/helpviewer.php
---- gosa-core~/html/helpviewer.php	2008-04-12 19:58:14.000000000 +0200
-+++ gosa-core/html/helpviewer.php	2008-04-14 17:25:10.000000000 +0200
-@@ -110,7 +110,7 @@
- if(session::is_set('current_class_for_help')){
+diff -urNad -x .svn test/html/helpviewer.php gosa-core/html/helpviewer.php
+--- test/html/helpviewer.php	2010-12-01 10:34:21.513749000 +0100
++++ gosa-core/html/helpviewer.php	2010-12-01 10:32:41.017749002 +0100
+@@ -104,7 +104,7 @@
+ if(session::global_is_set('current_class_for_help')){
  
    /* Create new XML parser with the path to the Xml file */
 -  $xml = new parseXml("../doc/guide.xml");
@@ -10,10 +10,10 @@ diff -urNad gosa-core~/html/helpviewer.php gosa-core/html/helpviewer.php
    
    /* Generate help array */
    $str = $xml->parse();
-diff -urNad gosa-core~/update-gosa gosa-core/update-gosa
---- gosa-core~/update-gosa	2008-04-14 14:59:22.000000000 +0200
-+++ gosa-core/update-gosa	2008-04-14 17:24:53.000000000 +0200
-@@ -193,7 +193,7 @@
+diff -urNad -x .svn test/update-gosa gosa-core/update-gosa
+--- test/update-gosa	2010-12-01 10:34:21.545749001 +0100
++++ gosa-core/update-gosa	2010-12-01 10:32:41.020749000 +0100
+@@ -209,7 +209,7 @@
  
  function rescan_guide()
  {
diff --git a/gosa-core/redhat/gosa.spec b/gosa-core/redhat/gosa.spec
index 0315979..cb555cd 100644
--- a/gosa-core/redhat/gosa.spec
+++ b/gosa-core/redhat/gosa.spec
@@ -11,7 +11,7 @@
 #
 Summary: 		Web Based LDAP Administration Program 
 Name:			gosa
-Version: 		2.6.10
+Version: 		2.6.8
 Release:		1
 License: 		GPL
 Source: 		ftp://oss.GONICUS.de/pub/gosa/%{sourcename}.tar.bz2
@@ -95,9 +95,9 @@ desktop environment.
 Group: 			System/Administration
 Summary: 		Schema Definitions for the GOSA package
 %if %{suse}
-Requires:		openldap2	
+Requires:		gosa >= %{version}
 %else
-Requires:		openldap-servers
+Requires:		gosa >= %{version}
 %endif
 Obsoletes:		gosa-ldap
 
@@ -243,7 +243,6 @@ mkdir -p %{buildroot}/usr/sbin
 mkdir -p %{buildroot}/usr/share/pixmaps
 mkdir -p %{buildroot}/usr/share/applications
 mkdir -p %{buildroot}/usr/share/man/man1/
-mkdir -p %{buildroot}/usr/share/man/man5/
 
 mv contrib/desktoprc 		%{buildroot}/etc/gosa
 mv contrib/gosa 		%{buildroot}/usr/bin
@@ -252,7 +251,7 @@ mv debian/gosa-16.xpm 		%{buildroot}/usr/share/pixmaps
 mv debian/gosa-desktop.desktop 	%{buildroot}/usr/share/applications
 
 # Gzip manpages from source
-for x in update-gosa.1 dh-make-gosa.1 update-locale.1 update-online-help.1 update-pdf-help.1 gosa-encrypt-passwords.1
+for x in update-gosa.1 dh-make-gosa.1 update-locale.1 update-online-help.1 update-pdf-help.1
 do
 	gzip $x
 done
@@ -275,8 +274,6 @@ done
 mv ./*.1.gz 			%{buildroot}/usr/share/man/man1/
 gzip -c contrib/gosa.1 > contrib/gosa.1.gz
 mv contrib/gosa.1.gz 		%{buildroot}/usr/share/man/man1/
-gzip -c contrib/gosa.conf.5 > contrib/gosa.conf.5.gz
-mv contrib/gosa.conf.5.gz 		%{buildroot}/usr/share/man/man5/
 
 mkdir -p %{buildroot}/usr/share/doc/gosa-%{version}
 rm -rf %{buildroot}/usr/share/gosa/contrib
@@ -313,9 +310,7 @@ rm -rf %{buildroot}
 #%attr(-,root,root) /contrib/openldap
 %config %attr(-,root,root) /usr/share/doc/gosa/slapd.conf-example
 %attr(755,root,root) /usr/sbin/update-gosa
-%attr(755,root,root) /usr/share/man/man1/gosa-encrypt-passwords.1.gz
 %attr(755,root,root) /usr/share/man/man1/update-gosa.1.gz
-%attr(755,root,root) /usr/share/man/man5/gosa.conf.5.gz
 %attr(644,root,root) /etc/gosa/shells
 %attr(644,root,root) /etc/gosa/encodings
 %attr(755,root,root) /usr/sbin/gosa-encrypt-passwords
@@ -394,6 +389,3 @@ rm -rf %{buildroot}
 %changelog
 * Fri Nov 17 2008 Stefan Japes <japes at GONICUS.de>
 - First build of GOsa 2.6 as an RPM, should work on SuSE and RedHat
-* Thu May 14 2010 Olivier BONHOMME <obonhomme at nerim.net>
-- Corrected errors when building RPM and plugins where not on right
-  place Closes #957 and #970
diff --git a/gosa-core/redhat/gosa_fedora.spec b/gosa-core/redhat/gosa_fedora.spec
deleted file mode 100644
index 3796563..0000000
--- a/gosa-core/redhat/gosa_fedora.spec
+++ /dev/null
@@ -1,360 +0,0 @@
-# Define Packagename, e.g.:
-# rpmbuild --rebuild --define 'sourcename gosa' gosa.srpm
-%{!?sourcename:%define sourcename %{name}-%{version}}
-
-#
-# Distribution
-#
-Summary: 		Web Based LDAP Administration Program 
-Name:			gosa
-Version: 		2.6.10
-Release:		1
-License: 		GPLv2
-Source0: 		ftp://oss.GONICUS.de/pub/gosa/%{sourcename}.tar.bz2
-URL: 			https://oss.GONICUS.de/labs/gosa/
-Group: 			System/Administration
-Buildarch: 		noarch
-Patch0:			01_fix_template_location.patch
-Patch1:			02_fix_class_mapping.patch
-Patch2:			03_fix_locale_location.patch
-Patch3:			04_fix_online_help_location.patch
-Requires: 		httpd,php,php-ldap,php-imap,php-snmp,php-mysql,php-mbstring,ImageMagick,perl-Crypt-SmbHash
-BuildRoot: 		%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
-BuildRequires: 		desktop-file-utils
-BuildArch:		noarch
-
-########################
-
-%define confdir 	%{_sysconfdir}/%{name}
-%define apacheuser apache 
-%define apachegroup apache 
-%define webconf	%{_sysconfdir}/httpd/conf.d/	
-%define docdir /usr/share/doc/gosa-%{version}
-
-%description
-GOsa is a combination of system-administrator and end-user web
-interface, designed to handle LDAP based setups.
-Provided is access to posix, shadow, samba, proxy, fax, and kerberos
-accounts. It is able to manage the postfix/cyrus server combination
-and can write user adapted sieve scripts.
-
-%description -l fr
-GOsa est un ensemble d'outils WEB pour administrateurs systeme et
-utilisateurs finaux permettant de gerer des configurations basees sur
-un annuaire LDAP.
-GOsa permet de gerer des comptes de type Posix, Shadow, Samba, Proxy,
-Fax et Kerberos.
-Il est egalement possible de gerer des serveurs Postfix/Cyrus et 
-de produire des scripts bases sur Sieve.
-
-########################
-
-%package dev
-Group:                  System/Administration
-Summary:                GOsa development utiles
-Requires:               php-cli,latex2html,lyx
-Obsoletes:              gosa-ldap
-
-%description dev
-This package contains a couple of tools to generate
-online help, extract localisations and aid developing.
-
-########################
-
-%package desktop
-Group:                  System/Administration
-Summary:                Desktop integration for GOsa
-Requires:               webclient
-Obsoletes:              gosa-ldap
-
-%description desktop
-This package includes a menu definition for your
-desktop environment.
-
-########################
-
-%package schema
-Group: 			System/Administration
-Summary: 		Schema Definitions for the GOSA package
-Requires:		openldap-servers	
-Obsoletes:		gosa-ldap
-
-%description schema
-Contains the Schema definition files for the GOSA admin package.
-
-########################
-
-%package help-en
-Group: 			System/Administration
-Summary: 		English online manual for GOSA package
-Requires:		gosa >= %{version}
-
-%description help-en
-English online manual page for GOSA package
-
-########################
-
-%package help-de
-Group: 			System/Administration
-Summary: 		German localized online manual for GOSA package
-Requires:		gosa >= %{version}
-
-%description help-de
-German localized online manual page for GOSA package
-
-########################
-
-%package help-fr
-Group: 			System/Administration
-Summary: 		French localized online manual for GOSA package
-Requires:		gosa >= %{version}
-
-%description help-fr
-French localized online manual page for GOSA package
-
-########################
-
-%package help-nl
-Group: 			System/Administration
-Summary: 		Dutch localized online manual for GOSA package
-Requires:		gosa >= %{version}
-
-%description help-nl
-Dutch localized online manual page for GOSA package
-
-########################
-
-%package help-es
-Group: 			System/Administration
-Summary: 		Spain localized online manual for GOSA package
-Requires:		gosa >= %{version}
-
-%description help-es
-Spain localized online manual page for GOSA package
-
-########################
-
-%prep
-%setup -q -n %{sourcename}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-
-find . -depth -name CVS -type d | xargs rm -rf
-
-########################
-
-%build
-
-########################
-
-%install
-# Create buildroot
-mkdir -p %{buildroot}/usr/share/gosa
-
-# Create files for temporary stuff
-for i in compile config cache; do \
-  mkdir -p %{buildroot}/var/spool/gosa/$i ; \
-done
-mkdir -p %{buildroot}/var/cache/gosa
-
-# Copy
-DIRS="doc ihtml plugins html include locale setup"
-echo `pwd`
-for i in $DIRS; do \
-  cp -ua $i %{buildroot}/usr/share/gosa/$i ; \
-done
-
-# Copy files for gosa
-mkdir -p %{buildroot}%{_sbindir}
-mkdir -p %{buildroot}%{_sysconfdir}/gosa
-mkdir -p %{buildroot}/usr/share/doc/gosa
-mkdir -p %{buildroot}%{webconf}
-
-touch %{buildroot}%{_sysconfdir}/gosa/gosa.secrets
-mv contrib/gosa.conf		%{buildroot}/usr/share/doc/gosa
-mv update-gosa 			%{buildroot}%{_sbindir}
-mv bin/gosa-encrypt-passwords 	%{buildroot}%{_sbindir}
-mv debian/gosa-apache.conf 	%{buildroot}%{webconf}
-mv contrib/shells 		%{buildroot}%{_sysconfdir}/gosa
-mv contrib/encodings 		%{buildroot}%{_sysconfdir}/gosa
-mv contrib/openldap/slapd.conf 	%{buildroot}/usr/share/doc/gosa/slapd.conf-example
-mv -f doc manual
-
-# Cleanup manual dirs
-for i in admin ; do \
-  rm -rf %{buildroot}/usr/share/gosa/doc/$i ; \
-done
-
-# Remove (some) unneeded files
-for i in gen_locale.sh gen_online_help.sh gen_function_list.php update.sh; do \
- rm -rf %{buildroot}/usr/share/gosa/$i ; \
-done
-
-# Cleanup lyx warnings
-find %{buildroot}/usr/share/gosa -name WARNINGS |xargs rm
-
-# Cleanup guide
-rm -rf %{buildroot}/usr/share/gosa/doc/guide/user/*/lyx-source
-
-# Copy default config
-mkdir -p %{buildroot}%{confdir}
-mkdir -p %{buildroot}%{webconf}
-
-# Copy file for gosa-schema
-mkdir -p %{buildroot}%{_sysconfdir}/openldap/schema/gosa
-
-mv contrib/openldap/*.schema %{buildroot}%{_sysconfdir}/openldap/schema/gosa
-
-# Copy files for gosa-dev
-mkdir -p %{buildroot}/usr/bin
-mv update-locale %{buildroot}/usr/bin
-mv update-online-help %{buildroot}/usr/bin
-mv update-pdf-help %{buildroot}/usr/bin
-mv dh-make-gosa %{buildroot}/usr/bin
-
-# Copy files for desktop
-mkdir -p %{buildroot}%{_sysconfdir}/gosa
-mkdir -p %{buildroot}/usr/bin
-mkdir -p %{buildroot}%{_sbindir}
-mkdir -p %{buildroot}/usr/share/pixmaps
-mkdir -p %{buildroot}/usr/share/applications
-mkdir -p %{buildroot}/usr/share/man/man1/
-mkdir -p %{buildroot}/usr/share/man/man5/
-
-mv contrib/desktoprc 		%{buildroot}%{_sysconfdir}/gosa
-mv contrib/gosa 		%{buildroot}/usr/bin
-mv debian/gosa.xpm 		%{buildroot}/usr/share/pixmaps
-mv debian/gosa-16.xpm 		%{buildroot}/usr/share/pixmaps
-desktop-file-install --dir=%{buildroot}/usr/share/applications	desktop/gosa-desktop.desktop 
-
-# Gzip manpages from source
-for x in update-gosa.1 dh-make-gosa.1 update-locale.1 update-online-help.1 update-pdf-help.1 gosa-encrypt-passwords.1
-do
-	gzip $x
-done
-
-# Copy manpages
-mv ./*.1.gz 			%{buildroot}/usr/share/man/man1/
-gzip -c contrib/gosa.1 > contrib/gosa.1.gz
-mv contrib/gosa.1.gz 		%{buildroot}/usr/share/man/man1/
-gzip -c contrib/gosa.conf.5 > contrib/gosa.conf.5.gz
-mv contrib/gosa.conf.5.gz 		%{buildroot}/usr/share/man/man5/
-
-mkdir -p %{buildroot}/usr/share/doc/gosa-%{version}
-rm -rf %{buildroot}/usr/share/gosa/contrib
-
-########################
-
-%clean
-rm -rf %{buildroot}
-
-########################
-
-%post
-%{_sbindir}/update-gosa
-
-########################
-
-%pre
-# Cleanup compile dir on updates, always exit cleanly even on errors
-[ -d /var/spool/gosa ] && rm -rf /var/spool/gosa/* ; exit 0
-
-########################
-
-%postun
-# Remove temporary files, just to be sure
-[ -d /var/spool/gosa ] && rm -rf /var/spool/gosa ; exit 0
-[ -d /usr/share/gosa ] && rm -rf /usr/share/gosa ; exit 0
-
-########################
-
-%files
-%defattr(-,root,root)
-%doc %attr(-,root,root) AUTHORS README README.safemode Changelog COPYING INSTALL FAQ CODING
-%config %attr(-,root,root) /usr/share/doc/gosa/gosa.conf
-#%attr(-,root,root) /contrib/openldap
-%config %attr(-,root,root) /usr/share/doc/gosa/slapd.conf-example
-%attr(755,root,root) %{_sbindir}/update-gosa
-%attr(755,root,root) /usr/share/man/man1/gosa-encrypt-passwords.1.gz
-%attr(755,root,root) /usr/share/man/man1/update-gosa.1.gz
-%attr(755,root,root) /usr/share/man/man5/gosa.conf.5.gz
-%attr(644,root,root) %{_sysconfdir}/gosa/shells
-%attr(644,root,root) %{_sysconfdir}/gosa/encodings
-%attr(755,root,root) %{_sbindir}/gosa-encrypt-passwords
-%config(noreplace) %attr(0644,root,root) %{webconf}/gosa-apache.conf
-%attr(0700, %{apacheuser}, %{apachegroup}) /var/spool/gosa
-%attr(0755, root,root) /usr/share/gosa
-#%attr(0755, root,root) /usr/share/gosa/html
-#%attr(0755, root,root) /usr/share/gosa/ihtml
-#%attr(0755, root,root) /usr/share/gosa/include
-#%attr(0755, root,root) /usr/share/gosa/locale
-#%attr(0755, root,root) /usr/share/gosa/plugins
-#%attr(0755, root,root) /usr/share/gosa/setup
-%attr(0755, root,root) /usr/share/gosa/doc/core/guide.xml
-%attr(0755, root,root) /var/cache/gosa
-%attr(0700, root,root) %{_sysconfdir}/gosa/gosa.secrets
-
-########################
-
-%files dev
-%defattr(-,root,root)
-/usr/bin
-%attr(755,root,root) /usr/share/man/man1/dh-make-gosa.1.gz
-%attr(755,root,root) /usr/share/man/man1/update-locale.1.gz
-%attr(755,root,root) /usr/share/man/man1/update-online-help.1.gz
-%attr(755,root,root) /usr/share/man/man1/update-pdf-help.1.gz
-
-########################
-
-%files desktop
-%defattr(-,root,root)
-%{_sysconfdir}/gosa
-/usr/bin
-/usr/share/pixmaps
-/usr/share/applications
-%attr(755,root,root) /usr/share/man/man1/gosa.1.gz
-
-########################
-
-%files schema
-%defattr(-,root,root)
-%doc COPYING AUTHORS README contrib/openldap
-%{_sysconfdir}/openldap/schema/gosa
-
-########################
-
-%files help-en
-%defattr(-,root,root)
-/usr/share/gosa/doc/core/en
-
-########################
-
-%files help-de
-%defattr(-,root,root)
-/usr/share/gosa/doc/core/de
-
-########################
-
-%files help-fr
-%defattr(-,root,root)
-/usr/share/gosa/doc/core/fr
-
-########################
-
-%files help-nl
-%defattr(-,root,root)
-/usr/share/gosa/doc/core/nl
-
-########################
-
-%files help-es
-%defattr(-,root,root)
-/usr/share/gosa/doc/core/es
-
-########################
-
-%changelog
-* Fri Nov 17 2008 Stefan Japes <japes at GONICUS.de>
-- First build of GOsa 2.6 as an RPM, should work on SuSE and RedHat
diff --git a/gosa-core/redhat/make-gosa-package b/gosa-core/redhat/make-gosa-package
index 6a84e0a..9774200 100755
--- a/gosa-core/redhat/make-gosa-package
+++ b/gosa-core/redhat/make-gosa-package
@@ -44,12 +44,13 @@ fi
 # Detect build version 
 ##
 VERSION=$(cat rpm_src/gosa-core/debian/changelog | head -n 1 | sed -n -e 's/.*(\([^-]*\).*/\1/p')
-
+VERSION=$(cat rpm_src/gosa-core/Changelog  | grep "^\*" | sed s/"^[^0-9]*"//g | head -n1)
 
 case "$distribution" in 
  "RHEL" ) 
+	pwd=`pwd`
 	rm -rf /var/tmp/gosa*
-	build_path='/usr/src/redhat'
+	build_path=$pwd/rpmbuild/
 	target='redhat'
 	;;
  "SLES" ) 
@@ -106,7 +107,7 @@ sed "s/^Version:.*$/Version:            $VERSION/" \
 # Build GOsa RPM 
 ##
 echo "Try to build package ... rpmbuild" 
-rpmbuild -bb $build_path/SPECS/gosa.spec
+rpmbuild -bb --buildroot $build_path $build_path/SPECS/gosa.spec
 if [ $? != 0 ]
 then
 	echo "Error: Build error" 
diff --git a/gosa-core/redhat/rpm-make-gosa b/gosa-core/redhat/rpm-make-gosa
index 6682168..35afae3 100755
--- a/gosa-core/redhat/rpm-make-gosa
+++ b/gosa-core/redhat/rpm-make-gosa
@@ -81,37 +81,37 @@ mkdir -p %{buildroot}/usr/share/gosa/html/plugins/@@NAME@@
 
 echo "%{buildroot} <<---------" 
 
-if ls ./html/* &> /dev/null ;then
+if [ -e ./html/* ]; then
 	mv ./html/* %{buildroot}/usr/share/gosa/html/plugins/@@NAME@@
 fi
 
 # Move contrib if available
 mkdir -p %{buildroot}/usr/share/doc/%{name}
-if ls ./contrib/* &> /dev/null ;then
+if [ -e ./contrib/* ]; then
 	mv ./contrib %{buildroot}/usr/share/doc/%{name}
 fi
 
 # Move help
 mkdir -p %{buildroot}/usr/share/gosa/doc/plugins/@@NAME@@
-if ls ./help/* &> /dev/null ;then
+if [ -e ./help/* ]; then
 	mv ./help/* %{buildroot}/usr/share/gosa/doc/plugins/@@NAME@@
 fi
 
 # Copy etc
 mkdir -p %{buildroot}/etc/gosa
-if ls ./etc/* &> /dev/null ;then
+if [ -e ./etc/* ]; then
 	mv ./etc/* %{buildroot}/etc/gosa
 fi
 
 # Move localization
 mkdir -p %{buildroot}/usr/share/gosa/locale/plugins/@@NAME@@
-if ls ./locale/* &> /dev/null ;then
+if [ -e ./locale/* ]; then
 	mv ./locale/* %{buildroot}/usr/share/gosa/locale/plugins/@@NAME@@
 fi
 
 # Move plugin itself
-mkdir -p %{buildroot}/usr/share/gosa/plugins/
-mv ./* %{buildroot}/usr/share/gosa/plugins/
+mkdir -p %{buildroot}/usr/share/gosa/plugins/@@NAME@@
+mv ./* %{buildroot}/usr/share/gosa/plugins/@@NAME@@
 
 %post
 /usr/sbin/update-gosa
@@ -124,7 +124,7 @@ rm -rf %{buildroot}
 
 %files
 %defattr(-,root,root)
-%attr (-,root,root) /usr/share/gosa/plugins/
+%attr (-,root,root) /usr/share/gosa/plugins/@@NAME@@
 %attr (-,root,root) /usr/share/gosa/doc/plugins/@@NAME@@
 %attr (-,root,root) /usr/share/gosa/locale/plugins/@@NAME@@
 %attr (-,root,root) /usr/share/gosa/html/plugins/@@NAME@@
@@ -139,7 +139,6 @@ EOF
 mv $configfile ${2}/SPECS
 cp -r ./rpm_src/gosa-plugins/${1} /tmp/gosa-plugin-${1}-${version}
 cd /tmp/
-rm /tmp/gosa-plugin-${1}-${version}/plugin.dsc
 tar cjf ${2}/SOURCES/gosa-plugin-${1}-${version}.tar.bz2 ./gosa-plugin-${1}-${version}
 rm -rf gosa-plugin-${1}-${version}
 echo "Done."
diff --git a/gosa-core/setup/class_setup.inc b/gosa-core/setup/class_setup.inc
index 18e9536..f3ff17b 100644
--- a/gosa-core/setup/class_setup.inc
+++ b/gosa-core/setup/class_setup.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_setup.inc 15380 2010-01-27 14:03:19Z cajus $$
+ * ID: $$Id: class_setup.inc 18777 2010-05-27 15:06:08Z hickert $$
  *
  * 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
@@ -25,279 +25,266 @@ require_once("class_setupStep.inc");
 
 class setup 
 {
-  var $i_steps  = 9;  // Number of setup steps 
-  var $i_current= 1;  // Current step
-  var $i_last   = 1;  // Last setup step;
-  var $o_steps  = array(); 
-  var $captured_values = array();
-
-  function setup()
-  {
-    $i = 1; 
-    $this->o_steps[$i++] = new Step_Welcome();
-    $this->o_steps[$i++] = new Step_Language();
-    $this->o_steps[$i++] = new Step_Checks();
-    $this->o_steps[$i++] = new Step_License();
-    $this->o_steps[$i++] = new Step_Ldap();
+    var $i_steps  = 9;  // Number of setup steps 
+    var $i_current= 1;  // Current step
+    var $i_last   = 1;  // Last setup step;
+    var $o_steps  = array(); 
+    var $captured_values = array();
+
+    function setup()
+    {
+        $i = 1; 
+        $this->o_steps[$i++] = new Step_Welcome();
+#    $this->o_steps[$i++] = new Step_Language();
+        $this->o_steps[$i++] = new Step_Checks();
+        $this->o_steps[$i++] = new Step_License();
+        $this->o_steps[$i++] = new Step_Ldap();
     $this->o_steps[$i++] = new Step_Schema();
-    $this->o_steps[$i++] = new Step_Config1();
-    $this->o_steps[$i++] = new Step_Config2();
-    $this->o_steps[$i++] = new Step_Config3();
-    $this->o_steps[$i++] = new Step_Migrate();
-    $this->o_steps[$i++] = new Step_Feedback();
-    $this->o_steps[$i++] = new Step_Finish();
-    $this->i_steps = $i-1;
-
-    /* Ensure that setup is not reachable if gosa.conf (CONFIG_FILE) */
-    if(file_exists(CONFIG_DIR."/".CONFIG_FILE)){
-      session::destroy();
-      header("Location: index.php")    ;
-      exit();
-    }
-    
-    foreach($this->o_steps as $key => $step){
-      $this->o_steps[$key]->parent = &$this;
-    }
-  }
-
-  function execute()
-  {
-    /* Display phpinfo() dialog when $_GET['info'] is set,
-     *  but only do this, if user is allowed to use the setup.
-     * If setupStep_Welcome is_completed, we are allowed to view those infos-
-     */
-    if(isset($_GET['info']) &&  preg_match("/Step_Welcome/i",get_class($this->o_steps[1])) && $this->o_steps[1]->is_completed()){
-      phpinfo();
-      exit();
+        $this->o_steps[$i++] = new Step_Migrate();
+        $this->o_steps[$i++] = new Step_Feedback();
+        $this->o_steps[$i++] = new Step_Finish();
+        $this->i_steps = $i-1;
+
+        /* Ensure that setup is not reachable if gosa.conf (CONFIG_FILE) */
+        if(file_exists(CONFIG_DIR."/".CONFIG_FILE)){
+            session::destroy();
+            header("Location: index.php")    ;
+            exit();
+        }
+
+        foreach($this->o_steps as $key => $step){
+            $this->o_steps[$key]->parent = &$this;
+        }
     }
 
-    /* display step error msgs */
-    $msgs = $this->o_steps[$this->i_current]->check();
-    foreach($msgs as $msg){
-      msg_dialog::display(_("Setup error"), $msg, ERROR_DIALOG);
+    function execute()
+    {
+        /* Display phpinfo() dialog when $_GET['info'] is set,
+         *  but only do this, if user is allowed to use the setup.
+         * If setupStep_Welcome is_completed, we are allowed to view those infos-
+         */
+        if(isset($_GET['info']) &&  preg_match("/Step_Welcome/i",get_class($this->o_steps[1])) && $this->o_steps[1]->is_completed()){
+            phpinfo();
+            exit();
+        }
+
+        /* display step error msgs */
+        $msgs = $this->o_steps[$this->i_current]->check();
+        foreach($msgs as $msg){
+            msg_dialog::display(_("Setup error"), $msg, ERROR_DIALOG);
+        }
+
+        $this->o_steps[$this->i_last]->set_active(FALSE);
+        $this->o_steps[$this->i_current]->set_active();
+        $content = $this->o_steps[$this->i_current]->execute();
+        return($content);
     }
 
-    $this->o_steps[$this->i_last]->set_active(FALSE);
-    $this->o_steps[$this->i_current]->set_active();
-    $content = $this->o_steps[$this->i_current]->execute();
-    return($content);
-  }
 
+    /* Save posted attributes  */
+    function save_object()
+    {
+        /* Call save_object for current setup step */
+        $this->o_steps[$this->i_current] -> save_object();
 
-  /* Save posted attributes  */
-  function save_object()
-  {
-    /* Call save_object for current setup step */
-    $this->o_steps[$this->i_current] -> save_object();
+        /* Get attributes from setup step */
+        $tmp = $this->o_steps[$this->i_current]->get_attributes();
+        foreach($tmp as $name => $value){
+            $this->captured_values[$name] = $value;
+        }
 
-    /* Get attributes from setup step */
-    $tmp = $this->o_steps[$this->i_current]->get_attributes();
-    foreach($tmp as $name => $value){
-      $this->captured_values[$name] = $value;
-    }
+        /* Set parent */
+        foreach($this->o_steps as $key => $value){
+            $this->o_steps[$key]->parent = $this;
+        }
 
-    /* Set parent */
-    foreach($this->o_steps as $key => $value){
-      $this->o_steps[$key]->parent = $this;
-    }
+        /* Check if image button requests next page */
+        foreach($_POST as $name => $value){
+            if(preg_match("/^next_(x|y)/",$name)){
+                $_POST['next'] = TRUE;
+            }
+            if(preg_match("/^last_(x|y)/",$name)){
+                $_POST['last'] = TRUE;
+            }
+        }
 
-    /* Check if image button requests next page */
-    foreach($_POST as $name => $value){
-      if(preg_match("/^next_(x|y)/",$name)){
-        $_POST['next'] = TRUE;
-      }
-      if(preg_match("/^last_(x|y)/",$name)){
-        $_POST['last'] = TRUE;
-      }
-    }
+        /* Check if step was selected */
+        if(isset($_GET['step']) || isset($_POST['next']) || isset($_POST['last'])){
+
+            /* check if current setup step is completed now 
+               and activate the next step if possible */
+            for($i = 1 ; $i <= $this->i_steps ; $i ++ ){
+                if($this->o_steps[$i]->is_completed()){
+                    if(isset($this->o_steps[($i+1)])){
+                        $this->o_steps[($i+1)]->set_enabled();
+                    }
+                }else{
+                    $this->disable_steps_from($i+1);
+                }
+            }
+        }
 
-    /* Check if step was selected */
-    if(isset($_GET['step']) || isset($_POST['next']) || isset($_POST['last'])){
+        /* Disable all following steps, if one step isn't compelted right now .*/
+        for($i = 1 ; $i <= $this->i_steps ; $i ++ ){
+            if($this->o_steps[$i]->is_completed()){
+            }else{
+                $this->disable_steps_from($i+1);
+            }
+        }
 
-      /* check if current setup step is completed now 
-          and activate the next step if possible */
-      for($i = 1 ; $i <= $this->i_steps ; $i ++ ){
-        if($this->o_steps[$i]->is_completed()){
-          if(isset($this->o_steps[($i+1)])){
-            $this->o_steps[($i+1)]->set_enabled();
-          }
-        }else{
-          $this->disable_steps_from($i+1);
+        $step = -1;
+
+        if(isset($_POST['setup_goto_step'])){
+            $step= $_POST['setup_goto_step'];
         }
-      }
-    }
- 
-    /* Disable all following steps, if one step isn't compelted right now .*/
-    for($i = 1 ; $i <= $this->i_steps ; $i ++ ){
-      if($this->o_steps[$i]->is_completed()){
-      }else{
-        $this->disable_steps_from($i+1);
-      }
-    }
- 
-    $step = -1;
 
-    if(isset($_POST['setup_goto_step'])){
-      $step= $_POST['setup_goto_step'];
-    }
+        if(isset($_GET['step'])){
+            $step = $_GET['step'];
+        }elseif(isset($_POST['next'])){
+            $step = $this->i_current + 1;
+        }elseif(isset($_POST['last'])){
+            $step = $this->i_current - 1;
+        }
 
-    if(isset($_GET['step'])){
-      $step = $_GET['step'];
-    }elseif(isset($_POST['next'])){
-      $step = $this->i_current + 1;
-    }elseif(isset($_POST['last'])){
-      $step = $this->i_current - 1;
-    }
-  
-    $once = true;
-    foreach($_POST as $name => $value){
-      if(preg_match("/^step_[0-9]*$/",$name) && $once ){
-        $step = preg_replace("/^step_/","",$name);
-      }
-    }
+        $once = true;
+        foreach($_POST as $name => $value){
+            if(preg_match("/^step_[0-9]*$/",$name) && $once ){
+                $step = preg_replace("/^step_/","",$name);
+            }
+        }
 
-    if($this->selectable_step($step)){
-      $this->i_last    = $this->i_current;
-      $this->i_current = $step;
+        if($this->selectable_step($step)){
+            $this->i_last    = $this->i_current;
+            $this->i_current = $step;
+        }
     }
-  }
 
 
-  function disable_steps_from($start)
-  {
-    $found = false;
-    foreach($this->o_steps as $key => $step){
-      if($key == $start){
-        $found = true;
-      }
+    function disable_steps_from($start)
+    {
+        $found = false;
+        foreach($this->o_steps as $key => $step){
+            if($key == $start){
+                $found = true;
+            }
 
-      if($found){ 
-        $this->o_steps[$key]->set_enabled(false);
-        $this->o_steps[$key]->set_completed(false);
-      }
+            if($found){ 
+                $this->o_steps[$key]->set_enabled(false);
+                $this->o_steps[$key]->set_completed(false);
+            }
+        }
     }
-  }
-
-
-  /* Create navigation menu */
-  function get_navigation_html()
-  {
-    $str = "";
-    foreach($this->o_steps as $key => $step){
-
-      $step -> update_strings();
-
-      $s_title    = $step -> get_title();
-      $s_info     = $step -> get_small_info();
-      $b_active   = $step -> is_active();
-      $b_enabled  = $step -> is_enabled();
-      $b_completed= $step -> is_completed();
-
-      if($b_completed){
-        $s = "<img src='images/true.png' alt='"._("Completed")."' class='center'> "; 
-      }else{
-        $s = "<img src='images/empty.png' alt=' ' class='center'> ";
-      }
-
-      if(session::get('js')){
-
-        $str .="<div >";
-    
-        if($b_enabled){
-          if($b_active){
-            $str .= "<div class='navigation_element_active'>";
-            $str .= "<div class='navigation_title_active'>".$s.$s_title."</div>";
-            $str .= "<div class='navigation_info'>".$s_info."</div>";
-            $str .= "</div>";
-          }else{
-            $str .= "<div class='navigation_element'>";
-            $str .= "<div onClick='document.mainform.setup_goto_step.value=\"$key\";document.mainform.submit();'
-              class='navigation_title_inactive'>".$s.$s_title."</div>";
-            $str .= "</div>";
-          }
-        }else{
-          $str .= "<div class='navigation_element'>";
-          $str .= "<div class='navigation_title_disabled'>".$s.$s_title."</div>";
-          $str .= "</div>";
+
+
+    /* Create navigation menu */
+    function get_navigation_html()
+    {
+        $str = "<ul>";
+        $str .= "<li class='menu-header'>"._("Setup")."</li>";
+        foreach($this->o_steps as $key => $step){
+
+            $step -> update_strings();
+
+            $s_title    = $step -> get_title();
+            $s_info     = $step -> get_small_info();
+            $b_active   = $step -> is_active();
+            $b_enabled  = $step -> is_enabled();
+            $b_completed= $step -> is_completed();
+
+            if($b_completed){
+                $s = "<img src='images/true.png' alt='"._("Completed")."' class='center'> "; 
+            }else{
+                $s = "<img src='images/empty.png' alt=' ' class='center'> ";
+            }
+
+            if($b_enabled){
+                if($b_active){
+                    $str .= "<li class='active'>".$s.$s_title."</li>";
+                }else{
+                    $str .= "<li onClick='document.mainform.setup_goto_step.value=\"$key\";document.mainform.submit();'
+                        class='enabled'>".$s.$s_title."</li>";
+                }
+            }else{
+                $str .= "<li class='disabled'>".$s.$s_title."</li>";
+            }
         }
-        $str .= "</div>" ;
-      }else{
-        $str .="<div >";
-        if($b_enabled){
-          if($b_active){
-            $str .= "<div class='navigation_element_active'>";
-            $str .= "<input style='text-align: left; color: #00008F; font-weight: bold; width:100%;' 
-                        type='button' value='".$s_title."' name='step_".$key."'>";
-            $str .= "</div>";
-          }else{
-            $str .= "<div class='navigation_element'>";
-            $str .= "<input style='text-align: left; color: #00008F; font-weight: bold; width:100%;' 
-                        type='submit' value='".$s_title."' name='step_".$key."'>";
-            $str .= "</div>";
-          }
+        $str .="</ul>";
+        $str .="<div class='v-spacer'></div>";
+        return($str);
+    }
+
+
+
+    function get_bottom_html()
+    {
+        /* Skip adding forward/backward button,   
+         *  if the currently opened step is a sub dialog 
+         */
+        if($this->o_steps[$this->i_current]->dialog){
+            $str ="";
         }else{
-          $str .= "<div class='navigation_element'>";
-          $str .= "<div class='navigation_title_disabled'>".$s_title."</div>";
-          $str .= "</div>";
+            $str ="<div class='plugin-actions'>";
+
+            if(isset($this->o_steps[$this->i_current -1]) && $this->o_steps[$this->i_current -1]->is_enabled()){
+                $str .= "<button type='submit' name='last'>".msgPool::backButton()."</button>";
+            }else{
+                $str .= "<button disabled type='submit' name='last'>".msgPool::backButton()."</button>";
+            }
+
+            if($this->o_steps[$this->i_current]->b_displayCheckbutton){
+                $str .= " <button type='submit' name='test'>"._("Check again")."</button>";
+            }
+
+            $str .= " <button type='submit' name='next'>"._("Next")."</button>";
+            $str .="</div>";
         }
-        $str .= "</div>" ;
-      }
+        return($str);
     }
-    return($str);
-  }
-
-  
-
-  function get_bottom_html()
-  {
-    /* Skip adding forward/backward button,   
-     *  if the currently opened step is a sub dialog 
-     */
-    if($this->o_steps[$this->i_current]->dialog){
-      $str ="";
-    }else{
-      $str ="<p class='seperator' style='margin-bottom:10px;'> </p>";
-      $str.="   <div style='text-align:right;float:top;'>";
-      if(isset($this->o_steps[$this->i_current -1]) && $this->o_steps[$this->i_current -1]->is_enabled()){
-        $str .= "<input type='submit' name='last' value='".msgPool::backButton()."'>";
-      }else{
-        $str .= "<input type='button' name='last' value='".msgPool::backButton()."' disabled>";
-      }
-      $str.= " ";
-        $str .= "<input type='submit' name='next' value='"._("Next")."'>";
-      $str .="</div>";
+
+
+    /* Create header entry */
+    function get_header_html()
+    {
+        $title = $this->o_steps[$this->i_current]->getTitle();
+        $image = $this->o_steps[$this->i_current]->getImage();
+        $page = $this->i_current ." / ".count($this->o_steps);
+
+
+        $str = "<div style='100%'>
+                    <div style='float: left; '>
+                        <img src='{$image}' alt=''>
+                    </div>
+                    <div style='float: left; margin-left:10px;margin-top:10px;font-size:24px;font-weight:bold;'>
+                        {$title}
+                    </div>
+                    <div style='float: right; margin-top:10px;font-size:24px;font-weight:bold;'>
+                        {$page}
+                    </div>
+                </div>
+                <div class='clear'></div> ";
+        return ($str);
     }
-    return($str);
-  }
-
-  
-  /* Create header entry */
-  function get_header_html()
-  {
-    $str=   $this->o_steps[$this->i_current]->print_header();
-    return ($str);
-  }
-
-
-  /* Check if the given step id is valid and selectable */
-  function selectable_step($id)
-  {
-    if(isset($this->o_steps[$id]) && $this->o_steps[$id]->is_enabled()){
-      return(true);
+
+
+    /* Check if the given step id is valid and selectable */
+    function selectable_step($id)
+    {
+        if(isset($this->o_steps[$id]) && $this->o_steps[$id]->is_enabled()){
+            return(true);
+        }
+        return(false);
     }
-    return(false);
-  }
-
-  function step_name_to_id($name)
-  {
-    foreach($this->o_steps as $id => $class){
-      if(get_class($class) == $name){
-        return($id);
-      }
+
+    function step_name_to_id($name)
+    {
+        foreach($this->o_steps as $id => $class){
+            if(get_class($class) == $name){
+                return($id);
+            }
+        }
+        return(0);
     }
-    return(0);
-  }
-  
+
 }
 
 
diff --git a/gosa-core/setup/class_setupStep.inc b/gosa-core/setup/class_setupStep.inc
index 6997784..3d350b3 100644
--- a/gosa-core/setup/class_setupStep.inc
+++ b/gosa-core/setup/class_setupStep.inc
@@ -28,6 +28,7 @@ class setup_step extends plugin
   var $is_active    = false;
   var $is_enabled   = false;
   var $is_completed = false;
+  var $b_displayCheckbutton = false;
 
   var $header_image = "images/setup/user.png";
 
@@ -115,15 +116,16 @@ class setup_step extends plugin
     return($tmp);
   }
 
-  function print_header()
+  function getTitle()
   {
-    $image= get_template_path($this->header_image);
-    $display= "<div style='padding:3px;'>";
-    $display.= "  <p class=\"center\" style=\"margin:0px 0px 0px 5px;padding:0px;font-size:24px;font-weight:bold;\"><img class=\"center\" src=\"$image\" align=\"middle\" alt=\"*\"> ".$this->s_title_long."</p>\n";
-    $display.= "</div>\n";
+      return($this->s_title_long);
+  }
 
-    return($display);
+  function getImage()
+  {
+      return($this->header_image);
   }
+
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/setup/class_setupStep_Checks.inc b/gosa-core/setup/class_setupStep_Checks.inc
index 52a619c..b7d5f03 100644
--- a/gosa-core/setup/class_setupStep_Checks.inc
+++ b/gosa-core/setup/class_setupStep_Checks.inc
@@ -3,7 +3,7 @@
  * This code is part of GOsa (http://www.gosa-project.org)
  * Copyright (C) 2003-2008 GONICUS GmbH
  *
- * ID: $$Id: class_setupStep_Checks.inc 18756 2010-05-26 13:03:14Z hickert $$
+ * ID: $$Id: class_setupStep_Checks.inc 20699 2011-04-12 06:13:42Z hickert $$
  *
  * 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
@@ -26,6 +26,8 @@ class Step_Checks extends setup_step
   var $config_checks= array();
   var $is_writeable = array();
   var $header_image = "images/setup/system.png";
+    
+    var $b_displayCheckbutton = TRUE;
 
   function Step_Checks()
   {
@@ -84,6 +86,14 @@ class Step_Checks extends setup_step
     $M = TRUE;
     $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
 
+    /* Check for php5-curl support */
+    $N = msgPool::checkingFor("curl");
+    $D = _("GOsa requires this module to communicate with different types of servers and protocols.");
+    $S = msgPool::installPhpModule("php5-curl");
+    $R = is_callable("curl_init");
+    $M = TRUE;
+    $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
+
     /* Checing for iconv */
     $N = msgPool::checkingFor("inconv");
     $D = _("GOsa requires this module for the samba integration.");
@@ -110,12 +120,20 @@ class Step_Checks extends setup_step
 
     /* Is imap module available */
     $N = msgPool::checkingFor(_("mbstring"));
-    $D = _("GOsa requires this module to handle unicode strings.");
+    $D = _("GOsa requires this module to handle Unicode strings.");
     $S = msgPool::installPhpModule("mbstring");
     $R = is_callable("mb_strlen");
     $M = TRUE;
     $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
 
+    /* Is calendar module available/compiled/installed */
+    $N = msgPool::checkingFor(_("Calendar"));
+    $D = _("GOsa requires this module to calculate dates.");
+    $S = msgPool::installPhpModule("calendar");
+    $R = is_callable("cal_days_in_month");
+    $M = TRUE;
+    $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
+
     /* Mysql module loaded ? */
     $N = msgPool::checkingFor(_("MySQL"));
     $D = _("GOsa requires this module to communicate with several supported databases.");
@@ -137,7 +155,7 @@ class Step_Checks extends setup_step
 
     $N = msgPool::checkingFor(_("samba hash generator"));
     $D = _("GOsa requires this command to synchronize POSIX and samba passwords.");
-    $S = _("Deploy a gosa-si installation or install the perl Crypt::SmbHash modules.");
+    $S = _("Deploy a gosa-si installation or install the Perl Crypt::SmbHash modules.");
     $R = $have_mkntpwd;
     $M = TRUE;
     $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
@@ -168,7 +186,7 @@ class Step_Checks extends setup_step
 
     $N = msgPool::checkingFor(_("compression module"));
     $D = _("GOsa requires this extension to handle snapshots.");
-    $S = msgPool::installPhpModule("php5-zip / php5-gzip");
+    $S = msgPool::installPhpModule("compile with --with-zlib");
     $R = is_callable("gzcompress");
     $M = FALSE;
     $this->basic_checks[] = array("NAME" => $N , "DESC" => $D , "RESULT" => $R , "SOLUTION" => $S , "MUST" => $M );
@@ -205,7 +223,7 @@ class Step_Checks extends setup_step
 
     /* Check if memory limit is set to 32 or > */
     $N = "memory_limit >= <b>32</b>";
-    $D = _("GOsa needs at least 32MB of memory. Setting it below this limit may cause errors that are not reproducable! Increase it for larger setups.");
+    $D = _("GOsa needs at least 32MB of memory. Setting it below this limit may cause errors that are not reproducible! Increase it for larger setups.");
     $S = _("Search for 'memory_limit' in your php.ini and set it to '32M' or higher.");
     $R = ini_get('memory_limit') >= 32 ;
     $M = TRUE;
@@ -256,9 +274,9 @@ class Step_Checks extends setup_step
      */
 
     /* Check if we can create a config file.*/
-    $N = _("Configuration writeable");
+    $N = _("Configuration writable");
     $D = _("The configuration file can't be written");
-    $S = sprintf(_("GOsa reads its configuration from a file located in (%s/%s). The setup can write the configuration directly if it is writeable."),CONFIG_DIR,CONFIG_FILE); 
+    $S = sprintf(_("GOsa reads its configuration from a file located in (%s/%s). The setup can write the configuration directly if it is writable."),CONFIG_DIR,CONFIG_FILE); 
     $R =    ( file_exists(CONFIG_DIR."/".CONFIG_FILE) && is_writeable(CONFIG_DIR."/".CONFIG_FILE)) // is there a config file ? 
         ||  (!file_exists(CONFIG_DIR."/".CONFIG_FILE) && is_writeable(CONFIG_DIR));  // There is non, but can we create a file there ?
     $M = FALSE;
diff --git a/gosa-core/setup/class_setupStep_Config1.inc b/gosa-core/setup/class_setupStep_Config1.inc
deleted file mode 100644
index 7d585f3..0000000
--- a/gosa-core/setup/class_setupStep_Config1.inc
+++ /dev/null
@@ -1,245 +0,0 @@
-<?php
-
-/*
-   This code is part of GOsa (https://gosa.gonicus.de)
-   Copyright (C) 2007 Fabian Hickert
-
-   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.
-
-   This program 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 General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-*/
-
-
-class Step_Config1 extends setup_step
-{
-
-  var $peopleou   = "ou=people";
-  var $groupou    =  "ou=groups";
-  var $peopledn   = "cn";
-  var $uidbase    = 1000;
-  var $krbsasl    = FALSE;
-  var $strict     = TRUE;
-  var $compressed = TRUE;
-
-  var $header_image = "images/setup/server.png";
-  var $account_expiration  =FALSE;
-  var $base_hook         = ""; 
-  var $base_hook_active  = FALSE; 
-
-  var $encryption = "crypt/md5";
-  var $theme      = "default"; 
-
-  var $include_personal_title = FALSE;
-
-  var $pwd_rules  = array("pwminlen" => 6, 
-                          "pwminlen_active" => FALSE,
-                          "pwdiffer" => 5,
-                          "pwdiffer_active" => FALSE,
-                          "externalpwdhook" => "",
-                          "externalpwdhook_active" => FALSE);
-
-  var $id_settings = array(       "idgen"         => "{%sn}-{%givenName[2-4]}",
-                                  "idgen_active"  => FALSE,
-                                  "minid"         => "100",
-                                  "minid_active"  => FALSE);
-
-  var $crypt_methods  = array();
-
-  var $attributes = array("compressed","peopleou","groupou","peopledn","uidbase","encryption","theme","krbsasl",
-                          "base_hook","base_hook_active","account_expiration","strict","include_personal_title");
-
-  function Step_Config1()
-  {
-    $this->update_strings();
-
-    $tmp = passwordMethod::get_available_methods();
-    foreach($tmp['name'] as $name){
-      $this->crypt_methods[$name] = $name;
-    }
-  }
-
-
-  function update_strings()
-  {
-    $this->s_title      = _("GOsa settings 1/3");
-    $this->s_title_long = _("GOsa settings 1/3");
-    $this->s_info       = _("GOsa generic settings");
-  }
-
-  
-  function execute()
-  {
-    $smarty = get_smarty();
-    $smarty->assign("peopledns",array("uid","cn"));
-    $smarty->assign("id_settings",   reverse_html_entities($this->id_settings));
-    $smarty->assign("crypt_methods", reverse_html_entities($this->crypt_methods));
-    $smarty->assign("themes",        reverse_html_entities($this->get_themes()));
-    $smarty->assign("pwd_rules",     reverse_html_entities($this->pwd_rules));
-    $smarty->assign("bool",array(FALSE => _("No"), TRUE => _("Yes")));
-    foreach($this->attributes as $attr){
-      $smarty->assign($attr,htmlentities($this->$attr,ENT_QUOTES,"UTF-8"));
-    }
-
-    /* !!! Attention strict is inverse. If you change this, 
-     *  don't forget to change save_object too 
-     */
-    $smarty->assign("strict",!$this->strict);
-    return($smarty -> fetch (get_template_path("../setup/setup_config1.tpl")));
-  }
-
-
-  function get_themes()
-  {
-    $dir = opendir( "../ihtml/themes/");
-    $themes = array();
-    while (($file = readdir($dir)) !== false){
-      if(is_dir("../ihtml/themes/".$file) && !preg_match("/^\./",$file)){
-        $themes[$file] = $file;
-      }      
-    }
-    return($themes);
-  }
-
-  function check()
-  {
-    $message = array();
-
-    if(isset($this->id_settings['minid_active']) && !is_numeric($this->id_settings['minid'])){
-      $message[] = sprintf(_("The specified value for '%s' must be a numeric value"),_("GID / UID min id"));
-    }
-
-    if(preg_match("/,$/",$this->peopleou)){
-      $message[] =sprintf(_("Don't add a trailing comma to '%s'."),_("People storage ou"));
-    }
-
-    if(preg_match("/,$/",$this->groupou)){
-      $message[] =sprintf(_("Don't add a trailing comma to '%s'."),_("Group storage ou"));
-    }
-
-    if(!is_numeric($this->uidbase)){
-      $message[] = _("Uid base must be numeric");
-    }
-
-    if(($this->pwd_rules['pwminlen_active']) && !is_numeric($this->pwd_rules['pwminlen'])){
-      $message[] = _("The given password minimum length is not numeric.");
-    }
-    if(($this->pwd_rules['pwdiffer_active']) && !is_numeric($this->pwd_rules['pwdiffer'])){
-      $message[] = _("The given password differ value is not numeric.");
-    }
-    return($message);
-  }
-
-  function save_object()
-  {
-    if(isset($_POST['step5_posted'])){
-
-      /* Get attributes */
-      foreach($this->attributes as $attr){
-        if(isset($_POST[$attr])){
-          $this->$attr = validate(get_post($attr));
-        }
-      }
-
-      /* !!! Attention strict is inverse. If you change this, 
-       *  don't forget to change the smarty assignment too 
-       */
-      if(isset($_POST['strict'])){
-        if($_POST['strict']){
-          $this->strict = FALSE;
-        }else{
-          $this->strict = TRUE;
-        }
-      }
-
-      if(isset($_POST['minid_active'])){
-        $this->id_settings['minid_active'] = TRUE;
-        if(isset($_POST['minid'])){
-          $this->id_settings['minid'] = get_post('minid');
-        }
-      }else{
-        $this->id_settings['minid_active'] = FALSE;
-      }
-
-      /* Generic settings */
-      if(isset($_POST['idgen_active'])){
-        $this->id_settings['idgen_active'] = TRUE;
-        if(isset($_POST['idgen'])){
-          $this->id_settings['idgen'] = get_post('idgen');
-        }
-      }else{
-        $this->id_settings['idgen_active'] = FALSE;
-      }
-
-      /* Get password settings */ 
-      if(isset($_POST['pwdiffer_active'])){
-        $this->pwd_rules['pwdiffer_active'] = TRUE;
-        if(isset($_POST['pwdiffer'])){
-          $this->pwd_rules['pwdiffer'] = get_post('pwdiffer');
-        }
-      }else{
-        $this->pwd_rules['pwdiffer_active'] = FALSE;
-      }
-
-      /* Get password minimum length posts */
-      if(isset($_POST['pwminlen_active'])){
-        $this->pwd_rules['pwminlen_active'] = TRUE;
-        if(isset($_POST['pwminlen'])){
-          $this->pwd_rules['pwminlen'] = get_post('pwminlen');
-        }
-      }else{
-        $this->pwd_rules['pwminlen_active'] = FALSE;
-      }
-
-      /* External pwd settings */
-      if(isset($_POST['externalpwdhook_active'])){
-        $this->pwd_rules['externalpwdhook_active'] = TRUE;
-        if(isset($_POST['externalpwdhook'])){
-          $this->pwd_rules['externalpwdhook'] = get_post('externalpwdhook');
-        }
-      }else{
-        $this->pwd_rules['externalpwdhook_active'] = FALSE;
-      }
-
-      /* base hook settings */
-      if(isset($_POST['base_hook_active'])){
-        $this->pwd_rules['base_hook_active'] = TRUE;
-        if(isset($_POST['base_hook'])){
-          $this->pwd_rules['base_hook'] = get_post('base_hook');
-        }
-      }else{
-        $this->pwd_rules['base_hook_active'] = FALSE;
-      }
-    }
-
-    $tmp = $this->check(); 
-    if(count($tmp) == 0){
-      $this->is_completed = TRUE;
-    }else{
-      $this->is_completed = FALSE;
-    }
-  }// if tempalte posted 
-
-
-  /* Attributes that are interesting for configuration generation */
-  function get_attributes()
-  {
-    $tmp = setup_step::get_attributes();
-    foreach(array("pwd_rules","id_settings") as $attr){
-      $tmp[$attr]= $this->$attr;
-    }
-    return($tmp);
-  }
-}// CLass
-
-// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
-?>
diff --git a/gosa-core/setup/class_setupStep_Config2.inc b/gosa-core/setup/class_setupStep_Config2.inc
deleted file mode 100644
index 1bf1d2f..0000000
--- a/gosa-core/setup/class_setupStep_Config2.inc
+++ /dev/null
@@ -1,283 +0,0 @@
-<?php
-
-/*
-   This code is part of GOsa (https://gosa.gonicus.de)
-   Copyright (C) 2007 Fabian Hickert
-
-   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.
-
-   This program 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 General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-*/
-
-
-class Step_Config2 extends setup_step
-{
-  var $governmentmode = FALSE;
-  var $sambaidmapping = FALSE;
-  var $header_image = "images/setup/server.png";
-
-  var $cyrusunixstyle = FALSE;
-  var $mail           = "none";
-  var $mail_attrib    = "";
-  var $mail_methods   = array();
-  var $mail_settings = array("vacationdir"        => "/etc/gosa/vacation",
-                             "vacationdir_active" => FALSE);
-
-  var $generic_settings  = array( "enableCopyPaste" => false,
-                                  "wws_ou"        => "ou=winstations",
-                                  "wws_ou_active" => FALSE,
-                                  "snapshot_active"     => FALSE,
-                                  "snapshot_base"       => "ou=snapshots,%base%",
-                                  "snapshot_user"       => "%admin%",
-                                  "snapshot_password"   => "",
-                                  "logging"             => TRUE,
-                                  "snapshot_server"     => "%connection%");
-
-  var $samba_settings    = array( "samba_sid"        => "0-815-4711",
-                                  "samba_sid_active" => FALSE,
-                                  "samba_rid"        => 1000,
-                                  "smbhash"          => 'SMBHASH',
-                                  "samba_rid_active" => FALSE); 
-
-  var $sambaDomain_found    = FALSE;
-  var $timezone       = "Europe/Berlin";
-  var $timezones      = array();
-
-  var $attributes = array("mail_attrib","governmentmode","sambaidmapping","cyrusunixstyle","mail","timezone");
-  var $called = FALSE;
-
-  function Step_Config2()
-  {
-    $this->update_strings();
-    $this->mail_methods = $this->get_available_mail_classes();
-
-    /* Look for samba password generation method */
-    if(file_exists("/usr/bin/mkntpasswd")){
-      $pwdhash  = "/usr/bin/mkntpasswd";
-    } elseif (preg_match("/^Usage: mkntpwd /", shell_exec ("mkntpwd 2>&1"))){
-      $pwdhash= "mkntpwd";
-    } else {
-      $pwdhash= 'perl -MCrypt::SmbHash -e "print join(q[:], ntlmgen \$ARGV[0]), $/;"';
-    }
-
-    $this->timezones = timezone::_get_tz_zones();
-    $this->samba_settings['smbhash'] = $pwdhash;
-  }
-
- 
-  function update_strings()
-  {
-    $this->s_title      = _("GOsa settings 2/3");
-    $this->s_title_long = _("GOsa settings 2/3");
-    $this->s_info       = _("Customize special parameters");
-  }
-
- 
-  function execute()
-  {
-    $this->mail_methods = $this->get_available_mail_classes();
-    /* On first call check for rid/sid base */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    $ldap->cd($cv['base']);
-    $ldap->search("(objectClass=sambaDomain)",array("dn"));
-    if($ldap->count()){
-      $this->sambaDomain_found =TRUE;
-    }else{
-      $this->sambaDomain_found =FALSE;
-    }
-
-    if(!$this->called){
-      if(!$this->sambaDomain_found){
-        $this->samba_settings['samba_sid_active'] = TRUE;
-        $this->samba_settings['samba_rid_active'] = TRUE;
-      }
-  
-      $this->called = TRUE;
-    }
-
-    /* Update snapshot values, with already collected values */
-    foreach($this->generic_settings as $key => $value){
-      foreach(array("snapshot_base","snapshot_user","snapshot_server") as $attr){
-        foreach($this->parent->captured_values as $replace_name => $replace_value){
-          if(is_string($replace_value))  {
-            $this->generic_settings[$attr] = preg_replace("/%".$replace_name."%/",$replace_value,$this->generic_settings[$attr]);
-          }
-        }
-      }
-    }
-
-    $smarty = get_smarty();
-    $smarty->assign("sambaDomain_found",  $this->sambaDomain_found);
-    $smarty->assign("generic_settings",  reverse_html_entities($this->generic_settings));
-    $smarty->assign("mail_settings",     reverse_html_entities($this->mail_settings));
-    $smarty->assign("mail_methods",      reverse_html_entities($this->mail_methods));
-    $smarty->assign("samba_settings",    reverse_html_entities($this->samba_settings));
-
-    $smarty->assign("logging",$this->generic_settings['logging']);
-   
-    $smarty->assign("bool",array(FALSE => _("No"), TRUE => _("Yes")));
-    foreach($this->attributes as $attr){
-      $smarty->assign($attr,reverse_html_entities($this->$attr));
-    }
-    $smarty->assign("timezone"     ,$this->timezone);
-    $smarty->assign("timezones"    ,$this->timezones);
-    return($smarty -> fetch (get_template_path("../setup/setup_config2.tpl")));
-  }
-
-  function save_object()
-  {
-    if(isset($_POST['step6_posted'])){
-
-      if(isset($_POST['timezone']) && isset($this->timezones['TIMEZONES'][$_POST['timezone']])){
-        $this->timezone = $_POST['timezone'];
-      }
-
-      $old_mail = $this->mail;
-
-      /* Get attributes */
-      foreach($this->attributes as $attr){
-        if(isset($_POST[$attr])){
-          $this->$attr = validate(get_post($attr));
-        }
-      }
-
-      /* Get logging */
-      $this->generic_settings['logging'] =  isset($_POST['logging']);
-
-      /* Mail settings */
-      if(isset($_POST['vacationdir_active'])){
-        $this->mail_settings['vacationdir_active'] = TRUE;
-        if(isset($_POST['vacationdir'])){
-          $this->mail_settings['vacationdir'] = get_post('vacationdir');
-        }
-      }else{
-        $this->mail_settings['vacationdir_active'] = FALSE;
-      }
-
-      if(isset($_POST['enableCopyPaste'])){
-        $this->generic_settings['enableCopyPaste'] = get_post('enableCopyPaste');
-      }
-
-      if(isset($_POST['wws_ou_active'])){
-        $this->generic_settings['wws_ou_active'] = TRUE;
-        if(isset($_POST['wws_ou'])){
-          $this->generic_settings['wws_ou'] = get_post('wws_ou');
-        }
-      }else{
-        $this->generic_settings['wws_ou_active'] = FALSE;
-      }
-
-      if(isset($_POST['snapshot_active'])){
-        $this->generic_settings['snapshot_active'] = TRUE;
-        if(isset($_POST['snapshot_base'])){
-          $this->generic_settings['snapshot_base'] = get_post('snapshot_base');
-        }
-        if(isset($_POST['snapshot_user'])){
-          $this->generic_settings['snapshot_user'] = get_post('snapshot_user');
-        }
-        if(isset($_POST['snapshot_password'])){
-          $this->generic_settings['snapshot_password'] = get_post('snapshot_password');
-        }
-        if(isset($_POST['snapshot_server'])){
-          $this->generic_settings['snapshot_server'] = get_post('snapshot_server');
-        }
-      }else{
-        $this->generic_settings['snapshot_active'] = FALSE;
-      }
-
-      /* Samba settings */
-      if(isset($_POST['samba_sid_active'])){
-        $this->samba_settings['samba_sid_active'] = TRUE;
-        if(isset($_POST['samba_sid'])){
-          $this->samba_settings['samba_sid'] = get_post('samba_sid');
-        }
-      }else{
-        $this->samba_settings['samba_sid_active'] = FALSE;
-      }
-      if(isset($_POST['samba_rid_active'])){
-        $this->samba_settings['samba_rid_active'] = TRUE;
-        if(isset($_POST['samba_rid'])){
-          $this->samba_settings['samba_rid'] = get_post('samba_rid');
-        }
-      }else{
-        $this->samba_settings['samba_rid_active'] = FALSE;
-      }
-      if(isset($_POST['smbhash'])){
-        $this->samba_settings['smbhash'] = get_post('smbhash');
-      }
-
-      if(!$this->sambaDomain_found){
-        $this->samba_settings['samba_sid_active'] = TRUE;
-        $this->samba_settings['samba_rid_active'] = TRUE;
-      }
-    }
-
-    $tmp = $this->check();
-    if(count($tmp) == 0){
-      $this->is_completed = TRUE;
-    }else{
-      $this->is_completed = FALSE;
-    }
-  }
-
-
-  function check()
-  {
-    $message = array();
-    return($message);
-  }
-  
-
-  /* Attributes that are interesting for configuration generation */
-  function get_attributes()
-  {
-    $tmp = setup_step::get_attributes();
-    foreach(array("samba_settings","generic_settings","mail_settings") as $attr){
-      $tmp[$attr]= $this->$attr;
-    }
-    return($tmp);
-  }
-
-
-  /* Returns the classnames auf the mail classes */
-  function get_available_mail_classes()
-  {
-    global $class_mapping;
-
-    /* Check if we have the mail classes/plugins installed */
-    if(!class_available("mailMethod")){
-      return(array());
-    }
-    $methods = array();
-    foreach($class_mapping as $name => $file){
-      if(preg_match("/^mailMethod.*$/i",$name)){
-        $name = preg_replace("/^mailMethod/","",$name);
-        if(!empty($name)){
-          $methods[$name]['name'] = $name;
-        }
-      }
-    }
-    return($methods);
-  }
-}
-
-// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
-?>
diff --git a/gosa-core/setup/class_setupStep_Config3.inc b/gosa-core/setup/class_setupStep_Config3.inc
deleted file mode 100644
index 22cf4ad..0000000
--- a/gosa-core/setup/class_setupStep_Config3.inc
+++ /dev/null
@@ -1,236 +0,0 @@
-<?php
-
-/*
-   This code is part of GOsa (https://gosa.gonicus.de)
-   Copyright (C) 2007 Fabian Hickert
-
-   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.
-
-   This program 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 General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-*/
-
-
-class Step_Config3 extends setup_step
-{
-  var $header_image = "images/setup/server.png";
-
-  var $errorlvl   = false;
-
-  var $login_attributes = array("uid"       => "uid", 
-                                "mail"      => "mail",
-                                "uid,mail"  => "both");
-  var $optional = array(
-              "login_attribute" => "uid",
-              "strict_units" => false,
-              "list_summary" => true,
-              "forceglobals" => true,
-              "forcessl" => false,
-              "ldapstats" => false,
-              "warnssl" => true,
-              "user_filter_cookie" => true,
-              "ppd_path" => "/var/spool/ppd/",
-              "ppd_path_active" => FALSE,
-              "compile" =>  "/var/spool/gosa",
-              "snmpcommunity" =>  "goto",
-              "debuglevel" => 0,
-              "session_lifetime" => 7200,
-              "max_ldap_query_time" => "5.0",
-              "max_ldap_query_time_active" => FALSE,
-
-              "mailQueueScriptPath" => "/usr/bin/sudo /usr/local/sbin/mailqueue %action %id %server",
-              "mailQueueScriptPath_active" => FALSE,
-
-              "notifydir" => "",
-              "notifydir_active" => FALSE,
-
-              "gosaSupportURI" => "gosa-si-secret at server:20081",
-              "gosaSupportTimeout" => 15,
-              "gosaSupportURI_active" => FALSE,
-
-              "uniq_identifier" => "entryCSN",
-              "uniq_identifier_active" => TRUE,
-
-              "kioskpath" => "/var/spool/kiosk",
-              "kioskpath_active" => FALSE,
-
-              "sudoou"   => "ou=sudoers",
-              "sudoou_active" => FALSE,
-
-              "noprimarygroup"  => FALSE);
-
-  var $attributes = array("errorlvl");
-
-  function Step_Config3()
-  {
-    $this->update_strings();
-  }
-
-
-  function update_strings()
-  {
-    $this->s_title      = _("GOsa settings 3/3");
-    $this->s_title_long = _("GOsa settings 3/3");
-    $this->s_info       = _("Tweak some GOsa core behaviour");
-  }
-  
-
-  function execute()
-  {
-
-    $cv = $this->parent->captured_values;
-    $this->optional['sudoou'] = preg_replace("/%BASE%/",$cv['base'],$this->optional['sudoou']);
-    $smarty = get_smarty();
-    $smarty->assign("bool",array(FALSE => _("No"), TRUE => _("Yes")));
-    $smarty->assign("uniq_identifiers",array( "entryCSN" => "entryCSN",
-                                              "contextCSN"=>"contextCSN" ));
-
-    
-    $smarty->assign("optional", reverse_html_entities($this->optional));
-    foreach($this->attributes as $attr){
-      $smarty->assign($attr,reverse_html_entities($this->$attr));
-    }
-    $smarty->assign("login_attributes",$this->login_attributes);
-    return($smarty -> fetch (get_template_path("../setup/setup_config3.tpl")));
-  }
-
-
-  function save_object()
-  {
-    if(isset($_POST['step6a_posted'])){
-
-      /* Get attributes */
-      foreach($this->attributes as $attr){
-        if(isset($_POST[$attr])){
-          $this->$attr = validate(get_post($attr));
-        }
-      }
-      
-      foreach(array("login_attribute","list_summary","strict_units","snmpcommunity","noprimarygroup","forceglobals","forcessl","ldapstats","user_filter_cookie","warnssl","compile","debuglevel","session_lifetime") as $name){
-        if(isset($_POST[$name])){
-          $this->optional[$name] = get_post($name);
-        }
-      } 
-
-      if(isset($_POST['ppd_path_active'])){
-        $this->optional['ppd_path_active'] = TRUE;
-        if(isset($_POST['ppd_path'])){
-          $this->optional['ppd_path'] = get_post('ppd_path');
-        }
-      }else{
-        $this->optional['ppd_path_active'] = FALSE;
-      }
-
-      if(isset($_POST['max_ldap_query_time_active'])){
-        $this->optional['max_ldap_query_time_active'] = TRUE;
-        if(isset($_POST['max_ldap_query_time'])){
-          $this->optional['max_ldap_query_time'] = get_post('max_ldap_query_time');
-        }
-      }else{
-        $this->optional['max_ldap_query_time_active'] = FALSE;
-      }
-
-      if(isset($_POST['mailQueueScriptPath_active'])){
-        $this->optional['mailQueueScriptPath_active'] = TRUE;
-        if(isset($_POST['mailQueueScriptPath'])){
-          $this->optional['mailQueueScriptPath'] = get_post('mailQueueScriptPath');
-        }
-      }else{
-        $this->optional['mailQueueScriptPath_active'] = FALSE;
-      }
-
-      if(isset($_POST['kioskpath_active'])){
-        $this->optional['kioskpath_active'] = TRUE;
-        if(isset($_POST['kioskpath'])){
-          $this->optional['kioskpath'] = get_post('kioskpath');
-        }
-      }else{
-        $this->optional['kioskpath_active'] = FALSE;
-      }
-
-      if(isset($_POST['sudoou_active'])){
-        $this->optional['sudoou_active'] = TRUE;
-        if(isset($_POST['sudoou'])){
-          $this->optional['sudoou'] = get_post('sudoou');
-        }
-      }else{
-        $this->optional['sudoou_active'] = FALSE;
-      }
-
-      if(isset($_POST['notifydir_active'])){
-        $this->optional['notifydir_active'] = TRUE;
-        if(isset($_POST['notifydir'])){
-          $this->optional['notifydir'] = get_post('notifydir');
-        }
-      }else{
-        $this->optional['notifydir_active'] = FALSE;
-      }
-
-      if(isset($_POST['gosaSupportURI_active'])){
-        $this->optional['gosaSupportURI_active'] = TRUE;
-        if(isset($_POST['gosaSupportURI'])){
-          $this->optional['gosaSupportURI'] = get_post('gosaSupportURI');
-          $this->optional['gosaSupportTimeout'] = get_post('gosaSupportTimeout');
-        }
-      }else{
-        $this->optional['gosaSupportURI_active'] = FALSE;
-      }
-
-      if(isset($_POST['uniq_identifier_active'])){
-        $this->optional['uniq_identifier_active'] = TRUE;
-        if(isset($_POST['uniq_identifier'])){
-          $this->optional['uniq_identifier'] = get_post('uniq_identifier');
-        }
-      }else{
-        $this->optional['uniq_identifier_active'] = FALSE;
-      }
-    }
-
-    $tmp = $this->check();
-    if(count($tmp) == 0){
-      $this->is_completed = TRUE;
-    }else{
-      $this->is_completed = FALSE;
-    }
-  }
-
-
-  function check()
-  {
-    $message = array();
-
-    if(!is_numeric( $this->optional['session_lifetime'])){
-      $message[] = _("Session lifetime must be a numeric value!");
-    }
-
-    if(!is_numeric( $this->optional['max_ldap_query_time'])){
-      $message[] = _("Maximum LDAP query time must be a numeric value!");
-    }
-  
-    return($message);
-  }
-  
-
-  /* Attributes that are interesting for configuration generation */
-  function get_attributes()
-  {
-    $tmp = setup_step::get_attributes();
-    foreach(array("optional") as $attr){
-      $tmp[$attr]= $this->$attr;
-    }
-    return($tmp);
-  }
-
-}
-
-// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
-?>
diff --git a/gosa-core/setup/class_setupStep_Feedback.inc b/gosa-core/setup/class_setupStep_Feedback.inc
index b2a6d17..87fb747 100644
--- a/gosa-core/setup/class_setupStep_Feedback.inc
+++ b/gosa-core/setup/class_setupStep_Feedback.inc
@@ -17,260 +17,260 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-*/
+ */
 
 
 class Step_Feedback  extends setup_step
 {
-  var $languages      = array();
-  var $header_image   = "images/setup/welcome.png";
-
-  var $organization       = "";
-  var $eMail              = "";
-  var $name               = "";
-  var $subscribe          = FALSE;
-  var $use_gosa_announce  = FALSE;
-
-  var $feedback_url         = "http://oss.gonicus.de/gosa-feedback/";
-  var $get_started          = TRUE;
-  var $problems_encountered = "";
-  
-  var $first_use            = TRUE;
-  var $use_since            = "";
-
-  var $distribution         = "";
-  var $web_server           = "";
-  var $php_version          = "";
-
-  var $ldap_server          = "";
-  var $object_count         = "";
-    
-  var $want_to_see_next     = "";
-
-  var $features_used        = array();  
-  var $initialized          = FALSE; 
-  var $feedback_send        = FALSE;
-  var $attributes = array("organization","eMail","name","subscribe","use_gosa_announce","get_started","problems_encountered","features_used",
-                          "first_use","use_since","distribution","web_server","php_version","ldap_server","object_count","want_to_see_next");
-  
-
-  function Step_Feedback()
-  {
-    $this->is_enabled     = TRUE;
-    $this->is_active      = TRUE;
-    $this->update_strings(); 
-  }
-
-
-  function init()
-  {
-    $cv = $this->parent->captured_values;
-
-    /* Initialize values */
-    $this->use_since      = date("Y");
-    $this->organization   = preg_replace("/^[^=]*+=(.*),.*$/","\\1",$cv['base']);
-    $this->distribution   = "";
-    $this->web_server     = $_SERVER['SERVER_SOFTWARE'];
-    $this->php_version    = PHP_VERSION;
-
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $this->object_count= "";
-    $ldap = new ldapMultiplexer($ldap_l);
-    $ldap->cd($cv['base']);
-
-    /* Preselect used features */
-    $oc = $ldap->get_objectclasses();
-    $this->features_used                = array();
-    $this->features_used['posix']       = array("USED" => isset($oc['posixAccount']) , 
-                                                "NAME" => _("UNIX accounts/groups"));
-    $this->features_used['samba']       = array("USED" => isset($oc['sambaSamAccount']) || isset($oc['sambaAccount']) , 
-                                                "NAME" => _("Samba management"));
-    $this->features_used['mail']        = array("USED" => $cv['mail']  != "none", 
-                                                "NAME" => _("Mailsystem management"));
-    $this->features_used['fax']         = array("USED" => isset($oc['goFaxAccount']) , 
-                                                "NAME" => _("FAX system administration"));
-    $this->features_used['asterisk']    = array("USED" => isset($oc['goFonAccount']), 
-                                                "NAME" => _("Asterisk administration"));
-    $this->features_used['inventory']   = array("USED" => isset($oc['glpiAccount']) , 
-                                                "NAME" => _("System inventory"));
-    $this->features_used['system']      = array("USED" => FALSE , 
-                                                "NAME" => _("System-/Configmanagement"));
-    $this->features_used['addressbook'] = array("USED" => FALSE , 
-                                                "NAME" => _("Addressbook"));
-  }
-
-
-  function update_strings()
-  {
-    $this->s_title      = _("Feedback");
-    $this->s_info       = _("Get notifications or send feedback");
-    $this->s_title_long = _("Notification and feedback");
-  }
-
-  
-  function execute()
-  {
-    if(!$this->initialized){
-      $this->initialized = TRUE;
-      $this->init();
-    }
+    var $languages      = array();
+    var $header_image   = "images/setup/welcome.png";
 
-    $additional_info ="";
-    if(isset($_POST['send_feedback'])){
+    var $organization       = "";
+    var $eMail              = "";
+    var $name               = "";
+    var $subscribe          = FALSE;
+    var $use_gosa_announce  = FALSE;
 
-      $msgs = $this->check_feedback();
-      if(count($msgs)){
-        foreach($msgs as $msg){
-          msg_dialog::display(_("Setup error"), $msg, ERROR_DIALOG);
-        }
-      }else{
-        $str = $this->create_serialise_data_string(); 
-        $feedback_url = $this->feedback_url."?data=".urlencode(base64_encode($str));
-
-        $ret = @fopen($feedback_url,"r");
-
-        if(!$ret){
-          msg_dialog::display(_("Feedback error"), sprintf(_("Cannot send feedback to '%s': %s"), $this->feedback_url, $ret), ERROR_DIALOG);
-        }else{
-          $ret_value="";
-          while($ret && !feof($ret)){
-            $ret_value.= fgets($ret,256);
-          }
-          if(!preg_match("/successful/i",$ret_value)){
-            msg_dialog::display(_("Feedback error"), _("Cannot send feedback: service temporarily unavailable"), ERROR_DIALOG);
-          }else{
-            $this->feedback_send = TRUE;
-          }
-        }
-        @fclose($ret);
-      }
-    }
+    var $feedback_url         = "http://oss.gonicus.de/gosa-feedback/";
+    var $get_started          = TRUE;
+    var $problems_encountered = "";
 
-    $years = array();
-    for($i = date("Y") ; $i >= 2001; $i--){
-      $years[$i] = $i;
-    }
+    var $first_use            = TRUE;
+    var $use_since            = "";
+
+    var $distribution         = "";
+    var $web_server           = "";
+    var $php_version          = "";
+    var $gosa_version          = "";
+
+    var $ldap_server          = "";
+    var $object_count         = "";
+
+    var $want_to_see_next     = "";
 
-    $this->is_completed=TRUE;
-    $smarty = get_smarty();
+    var $features_used        = array();  
+    var $initialized          = FALSE; 
+    var $feedback_send        = FALSE;
+    var $attributes = array("organization","eMail","name","subscribe","use_gosa_announce","get_started","problems_encountered","features_used",
+            "first_use","use_since","distribution","web_server","php_version","ldap_server","object_count","want_to_see_next","gosa_version");
 
-    foreach($this->attributes as $attr){
-      $smarty->assign($attr,   reverse_html_entities($this->$attr));
+
+    function Step_Feedback()
+    {
+        $this->is_enabled     = TRUE;
+        $this->is_active      = TRUE;
+        $this->update_strings(); 
     }
-    $smarty->assign("feedback_send",$this->feedback_send);
-    $smarty->assign("years",$years);
-    $smarty->assign("features_used",$this->features_used);
-    $smarty->assign("gosa_version",get_gosa_version());
-    $smarty->assign("additional_info", reverse_html_entities($additional_info));
-    $smarty->assign ("must", "<font class=\"must\">*</font>");
-    return($smarty->fetch(get_template_path("setup_feedback.tpl",TRUE,dirname(__FILE__))));
-  }
-
-
-  function check_feedback()
-  {
-    $msgs = array();
-    if($this->subscribe && (!tests::is_email($this->eMail) || empty($this->eMail))){
-      $msgs[] = _("Please specify a valid email address.");
+
+
+    function init()
+    {
+        $cv = $this->parent->captured_values;
+
+        /* Initialize values */
+        $this->use_since      = date("Y");
+        $this->organization   = preg_replace("/^[^=]*+=(.*),.*$/","\\1",$cv['base']);
+        $this->distribution   = "";
+        $this->web_server     = $_SERVER['SERVER_SOFTWARE'];
+        $this->php_version    = PHP_VERSION;
+        $this->gosa_version   = get_gosa_version(FALSE);
+
+        /* Establish ldap connection */
+        $cv = $this->parent->captured_values;
+        $ldap_l = new LDAP($cv['admin'],
+                $cv['password'],
+                $cv['connection'],
+                FALSE,
+                $cv['tls']);
+
+        $this->object_count= "";
+        $ldap = new ldapMultiplexer($ldap_l);
+        $ldap->cd($cv['base']);
+
+        /* Preselect used features */
+        $oc = $ldap->get_objectclasses();
+        $this->features_used                = array();
+        $this->features_used['posix']       = array("USED" => isset($oc['posixAccount']) , 
+                "NAME" => _("UNIX accounts/groups"));
+        $this->features_used['samba']       = array("USED" => isset($oc['sambaSamAccount']) || isset($oc['sambaAccount']) , 
+                "NAME" => _("Samba management"));
+        $this->features_used['mail']        = array("USED" => FALSE,
+                "NAME" => _("Mail system management"));
+        $this->features_used['fax']         = array("USED" => isset($oc['goFaxAccount']) , 
+                "NAME" => _("FAX system administration"));
+        $this->features_used['asterisk']    = array("USED" => isset($oc['goFonAccount']), 
+                "NAME" => _("Asterisk administration"));
+        $this->features_used['inventory']   = array("USED" => isset($oc['glpiAccount']) , 
+                "NAME" => _("System inventory"));
+        $this->features_used['system']      = array("USED" => FALSE , 
+                "NAME" => _("System/Configuration management"));
+        $this->features_used['addressbook'] = array("USED" => FALSE , 
+                "NAME" => _("Address book"));
     }
 
-    if(!$this->subscribe && !$this->use_gosa_announce){
-      $msgs[] = _("You have to select at least one of both options, subscribe or send feedback.");
+
+    function update_strings()
+    {
+        $this->s_title      = _("Feedback");
+        $this->s_info       = _("Get notifications or send feedback");
+        $this->s_title_long = _("Notification and feedback");
     }
 
-    return($msgs);
-  }
-  
 
-  function save_object()
-  {
-    if(isset($_POST['step_feedback'])){
-      foreach($this->attributes as $attr){
-        if(isset($_POST[$attr])){
-          $this->$attr = get_post($attr);
+    function execute()
+    {
+        if(!$this->initialized){
+            $this->initialized = TRUE;
+            $this->init();
         }
-      }
-
-      if(isset($_POST['subscribe'])){
-        $this->subscribe = TRUE;
-      }else{
-        $this->subscribe = FALSE;
-      }
-
-      if(isset($_POST['use_gosa_announce'])){
-        $this->use_gosa_announce = TRUE;
-      }else{
-        $this->use_gosa_announce = FALSE;
-      }
-    
-      foreach($this->features_used as $key => $data){
-        if(isset($_POST['feature_'.$key])){
-          $this->features_used[$key]['USED'] = TRUE;
-        }else{
-          $this->features_used[$key]['USED'] = FALSE;
+        $additional_info ="";
+        if(isset($_POST['send_feedback'])){
+
+            $msgs = $this->check_feedback();
+            if(count($msgs)){
+                foreach($msgs as $msg){
+                    msg_dialog::display(_("Setup error"), $msg, ERROR_DIALOG);
+                }
+            }else{
+                $str = $this->create_serialise_data_string(); 
+                $feedback_url = $this->feedback_url."?data=".urlencode(base64_encode($str));
+                $ret = @fopen($feedback_url,"r");
+
+                if(!$ret){
+                    msg_dialog::display(_("Feedback error"), sprintf(_("Cannot send feedback to '%s': %s"), $this->feedback_url, $ret), ERROR_DIALOG);
+                }else{
+                    $ret_value="";
+                    while($ret && !feof($ret)){
+                        $ret_value.= fgets($ret,256);
+                    }
+                    if(!preg_match("/successful/i",$ret_value)){
+                        msg_dialog::display(_("Feedback error"), _("Cannot send feedback: service temporarily unavailable"), ERROR_DIALOG);
+                    }else{
+                        $this->feedback_send = TRUE;
+                    }
+                }
+                @fclose($ret);
+            }
         }
-      }
-    }
-  }
 
+        $years = array();
+        for($i = date("Y") ; $i >= 2001; $i--){
+            $years[$i] = $i;
+        }
 
-  function create_serialise_data_string()
-  {
-    $str = "#FEEDBACK ".date("H:i:s d:m:Y");
-    if($this->subscribe){
+        $this->is_completed=TRUE;
+        $smarty = get_smarty();
 
-      $str.= "\n\nSubscribe";
-      $str .= "\nOrganization: ".$this->organization; 
-      $str .= "\nName: ".$this->name;
-      $str .= "\neMail: ".$this->eMail;
+        foreach($this->attributes as $attr){
+            $smarty->assign($attr,   reverse_html_entities($this->$attr));
+        }
+        $smarty->assign("gosa_version",$this->gosa_version);
+        $smarty->assign("feedback_send",$this->feedback_send);
+        $smarty->assign("years",$years);
+        $smarty->assign("features_used",$this->features_used);
+        $smarty->assign("additional_info", reverse_html_entities($additional_info));
+        $smarty->assign ("must", "<font class=\"must\">*</font>");
+        return($smarty->fetch(get_template_path("setup_feedback.tpl",TRUE,dirname(__FILE__))));
     }
-  
-    if($this->use_gosa_announce){
-
-      $str.= "\n\nFeedback";    
-  
-      if($this->get_started) {
-        $str .= "\nGet started: TRUE";
-      }else{
-        $str .= "\nGet started: FALSE";
-      }
-      $str .= "\nProblems : ".($this->problems_encountered);
-
-      if($this->first_use){
-        $str .= "\nFirst use: TRUE";
-      }else{
-        $str .= "\nFirst use: FALSE";
-      }
-      $str .= "\nUsing GOsa since: ".$this->use_since;
-
-      $str .="\nDistribution: ".$this->distribution;
-      $str .="\nWeb Server: ".$this->web_server;
-      $str .="\nPHP_Version: ".$this->php_version;
-      $str .="\nGOsa_Version: ".strip_tags(get_gosa_version());
-      $str .="\nLDAP Server: ".$this->ldap_server;
-      $str .="\nObject count: ".$this->object_count;
-      $str .="\nMissing features: ".($this->want_to_see_next);
+
+
+    function check_feedback()
+    {
+        $msgs = array();
+        if($this->subscribe && (!tests::is_email($this->eMail) || empty($this->eMail))){
+            $msgs[] = _("Please specify a valid email address.");
+        }
+
+        if(!$this->subscribe && !$this->use_gosa_announce){
+            $msgs[] = _("You have to select at least one of both options, subscribe or send feedback.");
+        }
+
+        return($msgs);
     }
 
-    $str .= "\n\nFeatures used";
-    foreach($this->features_used as $name => $data){
-      $str.="\n".$name.": ";
-      if($data['USED']){
-        $str .= "TRUE";
-      }else{
-        $str .= "FALSE";
-      }
+
+    function save_object()
+    {
+        if(isset($_POST['step_feedback'])){
+            foreach($this->attributes as $attr){
+                if(isset($_POST[$attr])){
+                    $this->$attr = get_post($attr);
+                }
+            }
+
+            if(isset($_POST['subscribe'])){
+                $this->subscribe = TRUE;
+            }else{
+                $this->subscribe = FALSE;
+            }
+
+            if(isset($_POST['use_gosa_announce'])){
+                $this->use_gosa_announce = TRUE;
+            }else{
+                $this->use_gosa_announce = FALSE;
+            }
+
+            foreach($this->features_used as $key => $data){
+                if(isset($_POST['feature_'.$key])){
+                    $this->features_used[$key]['USED'] = TRUE;
+                }else{
+                    $this->features_used[$key]['USED'] = FALSE;
+                }
+            }
+        }
     }
 
-    return($str);  
-  }
+
+    function create_serialise_data_string()
+    {
+        $str = "#FEEDBACK ".date("H:i:s d:m:Y");
+        if($this->subscribe){
+
+            $str.= "\n\nSubscribe";
+            $str .= "\nOrganization: ".$this->organization; 
+            $str .= "\nName: ".$this->name;
+            $str .= "\neMail: ".$this->eMail;
+        }
+
+        if($this->use_gosa_announce){
+
+            $str.= "\n\nFeedback";    
+
+            if($this->get_started) {
+                $str .= "\nGet started: TRUE";
+            }else{
+                $str .= "\nGet started: FALSE";
+            }
+            $str .= "\nProblems : ".($this->problems_encountered);
+
+            if($this->first_use){
+                $str .= "\nFirst use: TRUE";
+            }else{
+                $str .= "\nFirst use: FALSE";
+            }
+            $str .= "\nUsing GOsa since: ".$this->use_since;
+
+            $str .="\nDistribution: ".$this->distribution;
+            $str .="\nWeb Server: ".$this->web_server;
+            $str .="\nPHP_Version: ".$this->php_version;
+            $str .="\nGOsa_Version: ".strip_tags($this->gosa_version);
+            $str .="\nLDAP Server: ".$this->ldap_server;
+            $str .="\nObject count: ".$this->object_count;
+            $str .="\nMissing features: ".($this->want_to_see_next);
+        }
+
+        $str .= "\n\nFeatures used";
+        foreach($this->features_used as $name => $data){
+            $str.="\n".$name.": ";
+            if($data['USED']){
+                $str .= "TRUE";
+            }else{
+                $str .= "FALSE";
+            }
+        }
+
+        return($str);  
+    }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/setup/class_setupStep_Finish.inc b/gosa-core/setup/class_setupStep_Finish.inc
index a64fbcd..27749c6 100644
--- a/gosa-core/setup/class_setupStep_Finish.inc
+++ b/gosa-core/setup/class_setupStep_Finish.inc
@@ -26,6 +26,8 @@ class Step_Finish extends setup_step
   var $cfg_file_written = FALSE;
   var $header_image = "images/setup/server.png";
 
+  var $b_displayCheckbutton = TRUE;
+
   function Step_Finish()
   {
     $this->update_strings();
@@ -112,7 +114,7 @@ class Step_Finish extends setup_step
     $smarty->assign("CONFIG_DIR",CONFIG_DIR);
     $smarty->assign("CONFIG_FILE" , CONFIG_FILE);
 
-    $smarty->assign("msg2", sprintf(_("After downloading and placing the file under %s, please make sure that the user the webserver is running with is able to read %s, while other users shouldn't. You may want to execute these commands to achieve this requirement:"),CONFIG_DIR,CONFIG_FILE));
+    $smarty->assign("msg2", sprintf(_("After downloading and placing the file under %s, please make sure that the user the web server is running with is able to read %s, while other users shouldn't. You may want to execute these commands to achieve this requirement:"),CONFIG_DIR,CONFIG_FILE));
 
     $smarty->assign("cv",$this->parent->captured_values);
     return($smarty -> fetch (get_template_path("../setup/setup_finish.tpl")));
@@ -136,7 +138,7 @@ class Step_Finish extends setup_step
       /* Get attributes */
       foreach($this->attributes as $attr){
         if(isset($_POST[$attr])){
-          $this->$attr = validate($_POST[$attr]);
+          $this->$attr = get_post($attr);
         }
       }
     }
diff --git a/gosa-core/setup/class_setupStep_Ldap.inc b/gosa-core/setup/class_setupStep_Ldap.inc
index eca54c3..cf03707 100644
--- a/gosa-core/setup/class_setupStep_Ldap.inc
+++ b/gosa-core/setup/class_setupStep_Ldap.inc
@@ -42,6 +42,7 @@ class Step_Ldap extends setup_step
 
   var $header_image= "images/setup/ldap.png";
 
+    var $b_displayCheckbutton = TRUE;
   function Step_Ldap()
   {
     $this->update_strings();
diff --git a/gosa-core/setup/class_setupStep_Migrate.inc b/gosa-core/setup/class_setupStep_Migrate.inc
index ce3ec46..8436093 100644
--- a/gosa-core/setup/class_setupStep_Migrate.inc
+++ b/gosa-core/setup/class_setupStep_Migrate.inc
@@ -21,3274 +21,840 @@
 
 
 
-/****************
- * FUNCTIONS 
-
-Step_Migrate                - Constructor.
-update_strings              - Used to update the displayed step informations.
-initialize_checks           - Initialize migration steps.
-check_ldap_permissions      - Check if the used admin account has full access to the ldap database.
-check_gosaAccounts          - Check if there are users without the required objectClasses.
-migrate_gosaAccounts        - Migrate selected users to GOsa user accounts.
-check_organizationalUnits   - Check if there are departments, that are not visible for GOsa
-migrate_organizationalUnits - Migrate selected departments 
-check_administrativeAccount - Check if there is at least one acl entry available                  
-checkBase                   - Check if there is a root object available 
-
-get_user_list               - Get list of available users
-get_group_list              - Get list of groups
-  
-create_admin                
-create_admin_user           
-
-execute                     - Generate html output of this plugin
-save_object                 - Save posts 
-array_to_ldif               - Create ldif output of an ldap result array 
- 
- ****************/
-
-
 
 class Step_Migrate extends setup_step
 {
-  var $languages      = array();
-  var $attributes     = array();
-  var $header_image   = "images/setup/migrate.png";
-  var $checks         = array();
-
-  /* Department migration attributes */
-  var $dep_migration_dialog = FALSE;
-  var $deps_to_migrate      = array();
-  var $show_details         = FALSE;
-
-  /* Department migration attributes */
-  var $users_migration_dialog= FALSE;
-  var $users_to_migrate      = array();
-
-  /* Create Acl attributes */
-  var $acl_create_dialog  = FALSE;
-  var $acl_create_selected= ""; // Currently selected element, that should receive admin rights 
-  var $acl_create_changes = ""; // Contains ldif information about changes 
-  var $acl_create_confirmed= FALSE;
-
-  /* Checks initialised ? */
-  var $checks_initialised = FALSE;
-
-  /* Users outside to people ou */
-  var $outside_users        = array();
-  var $outside_users_dialog = FALSE;
-
-  /* Users outside to groups ou */
-  var $outside_groups        = array();
-  var $outside_groups_dialog = FALSE;
-
-  /* Device migration */
-  var $device_dialog         = FALSE;
-  var $device                = array();
-
-  /* Service migration */
-  var $service_dialog         = FALSE;
-  var $service                = array();
-
-  /* Group menus */
-  var $menu_dialog           = FALSE;
-  var $menu                  = array();
-
-  /* Win-Workstations outside to reserved ou */
-  var $outside_winstations        = array();
-  var $outside_winstations_dialog = FALSE;
-
-  /* check for multiple use of same uidNumber */
-  var $check_uidNumbers        = array();
-  var $check_uidNumbers_dialog = FALSE;
-
-  /* check for multiple use of same gidNumber */
-  var $check_gidNumbers        = array();
-  var $check_gidNumbers_dialog = FALSE;
-
-  var $group_list              = array();
-
-  /* Migrateable users */
-  var $migrate_users = array();
-  var $acl_migrate_dialog      = FALSE;
-  var $migrate_acl_base_entry  = "";
-
-  /* Root object classes */
-  var $rootOC_migrate_dialog = FALSE;
-  var $rootOC_details = array();
-	
-  function Step_Migrate()
-  {
-    $this->update_strings(); 
-  }
-
-  function update_strings()
-  {
-    $this->s_title      = _("LDAP inspection");
-    $this->s_title_long = _("LDAP inspection");
-    $this->s_info       = _("Analyze your current LDAP for GOsa compatibility");
-  }
-
-  function initialize_checks()
-  {
-    $this->checks = array();
-    $this->checks['root']['TITLE']     = _("Checking for root object");
-    $this->checks['root']['STATUS']    = FALSE;
-    $this->checks['root']['STATUS_MSG']= "";
-    $this->checks['root']['ERROR_MSG'] = "";
-    $this->checkBase();
-
-    $this->checks['rootOC']['TITLE']     = _("Inspecting object classes in root object");
-    $this->checks['rootOC']['STATUS']    = FALSE;
-    $this->checks['rootOC']['STATUS_MSG']= "";
-    $this->checks['rootOC']['ERROR_MSG'] = "";
-    $this->checkBaseOC();
-
-    $this->checks['permissions']['TITLE']     = _("Checking permission for LDAP database");
-    $this->checks['permissions']['STATUS']    = FALSE;
-    $this->checks['permissions']['STATUS_MSG']= "";
-    $this->checks['permissions']['ERROR_MSG'] = "";
-    $this->check_ldap_permissions();
-
-    $this->checks['deps_visible']['TITLE']     = _("Checking for invisible departments");
-    $this->checks['deps_visible']['STATUS']    = FALSE;
-    $this->checks['deps_visible']['STATUS_MSG']= "";
-    $this->checks['deps_visible']['ERROR_MSG'] = "";
-
-    $this->checks['users_visible']['TITLE']     = _("Checking for invisible users");
-    $this->checks['users_visible']['STATUS']    = FALSE;
-    $this->checks['users_visible']['STATUS_MSG']= "";
-    $this->checks['users_visible']['ERROR_MSG'] = "";
-    $this->check_gosaAccounts();
-
-    $this->migrate_users = array();
-    $this->checks['acls']['TITLE']     = _("Checking for super administrator");
-    $this->checks['acls']['STATUS']    = FALSE;
-    $this->checks['acls']['STATUS_MSG']= "";
-    $this->checks['acls']['ERROR_MSG'] = "";
-    $this->check_administrativeAccount();
-
-    $this->checks['outside_users']['TITLE']     = _("Checking for users outside the people tree");
-    $this->checks['outside_users']['STATUS']    = FALSE;
-    $this->checks['outside_users']['STATUS_MSG']= "";
-    $this->checks['outside_users']['ERROR_MSG'] = "";
-    $this->search_outside_users();
-
-    $this->checks['outside_groups']['TITLE']     = _("Checking for groups outside the groups tree");
-    $this->checks['outside_groups']['STATUS']    = FALSE;
-    $this->checks['outside_groups']['STATUS_MSG']= "";
-    $this->checks['outside_groups']['ERROR_MSG'] = "";
-    $this->search_outside_groups();
-    $this->check_organizationalUnits();
-
-    $this->checks['outside_winstations']['TITLE']     = _("Checking for windows workstations outside the winstation tree");
-    $this->checks['outside_winstations']['STATUS']    = FALSE;
-    $this->checks['outside_winstations']['STATUS_MSG']= "";
-    $this->checks['outside_winstations']['ERROR_MSG'] = "";
-    $this->search_outside_winstations();
-
-    $this->checks['uidNumber_usage']['TITLE']     = _("Checking for duplicated UID numbers");
-    $this->checks['uidNumber_usage']['STATUS']    = FALSE;
-    $this->checks['uidNumber_usage']['STATUS_MSG']= "";
-    $this->checks['uidNumber_usage']['ERROR_MSG'] = "";
-    $this->check_uidNumber();
-
-    $this->checks['gidNumber_usage']['TITLE']     = _("Checking for duplicate GID numbers");
-    $this->checks['gidNumber_usage']['STATUS']    = FALSE;
-    $this->checks['gidNumber_usage']['STATUS_MSG']= "";
-    $this->checks['gidNumber_usage']['ERROR_MSG'] = "";
-    $this->check_gidNumber();
-
-    $this->checks['old_style_devices']['TITLE']     = _("Checking for old style USB devices");
-    $this->checks['old_style_devices']['STATUS']    = FALSE;
-    $this->checks['old_style_devices']['STATUS_MSG']= "";
-    $this->checks['old_style_devices']['ERROR_MSG'] = "";
-    $this->check_usb_devices();
-
-    $this->checks['old_style_services']['TITLE']     = _("Checking for old services that have to be migrated");
-    $this->checks['old_style_services']['STATUS']    = FALSE;
-    $this->checks['old_style_services']['STATUS_MSG']= "";
-    $this->checks['old_style_services']['ERROR_MSG'] = "";
-    $this->check_services();
-
-    $this->checks['old_style_menus']['TITLE']     = _("Checking for old style application menus");
-    $this->checks['old_style_menus']['STATUS']    = FALSE;
-    $this->checks['old_style_menus']['STATUS_MSG']= "";
-    $this->checks['old_style_menus']['ERROR_MSG'] = "";
-    $this->check_menus();
-  }
-
-
-  /* Check if there are uidNumbers which are used more than once. 
-   */
-  function check_uidNumber()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    $ldap->cd($cv['base']);
-    $res = $ldap->search("(&(objectClass=posixAccount)(uidNumber=*))",array("dn","uidNumber"));
-    if(!$res){
-      $this->checks['uidNumber_usage']['STATUS']    = FALSE;
-      $this->checks['uidNumber_usage']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['uidNumber_usage']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-      return(false);
-    }
-
-    $this->check_uidNumbers= array(); 
-    $tmp = array();
-    while($attrs = $ldap->fetch()){
-      $tmp[$attrs['uidNumber'][0]][] = $attrs;
-    }
-
-    foreach($tmp as $id => $entries){
-      if(count($entries) > 1){
-        foreach($entries as $entry){
-          $this->check_uidNumbers[base64_encode($entry['dn'])] = $entry;
-        }
-      }
-    }
+    var $header_image   = "images/setup/migrate.png";
+    var $checks         = array();
 
-    if($this->check_uidNumbers){
-      $this->checks['uidNumber_usage']['STATUS']    = FALSE;
-      $this->checks['uidNumber_usage']['STATUS_MSG']= "<font style='color:#F0A500'>"._("Warning")."</font>";
-      $this->checks['uidNumber_usage']['ERROR_MSG'] =
-        sprintf(_("Found %s duplicate values for attribute 'uidNumber'."),count($this->check_uidNumbers));
-      return(false);
-    }else{
-      $this->checks['uidNumber_usage']['STATUS']    = TRUE;
-      $this->checks['uidNumber_usage']['STATUS_MSG']= _("Ok");
-      $this->checks['uidNumber_usage']['ERROR_MSG'] = "";
-      return(TRUE);
-    }
-  }
-
-  
-  /* Check if there are duplicated gidNumbers present in ldap
-   */
-  function check_gidNumber()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    $ldap->cd($cv['base']);
-    $res = $ldap->search("(&(objectClass=posixGroup)(gidNumber=*))",array("dn","gidNumber"));
-    if(!$res){
-      $this->checks['gidNumber_usage']['STATUS']    = FALSE;
-      $this->checks['gidNumber_usage']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['gidNumber_usage']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-      return(false);
-    }
+    /* Create Acl attributes */
+    var $acl_create_dialog  = FALSE;
+    var $acl_create_selected= ""; // Currently selected element, that should receive admin rights 
+    var $acl_create_changes = ""; // Contains ldif information about changes 
+    var $acl_create_confirmed= FALSE;
 
-    $this->check_gidNumbers= array(); 
-    $tmp = array();
-    while($attrs = $ldap->fetch()){
-      $tmp[$attrs['gidNumber'][0]][] = $attrs;
-    }
+    /* Checks initialised ? */
+    var $checks_initialised = FALSE;
 
-    foreach($tmp as $id => $entries){
-      if(count($entries) > 1){
-        foreach($entries as $entry){
-          $this->check_gidNumbers[base64_encode($entry['dn'])] = $entry;
-        }
-      }
-    }
+    /* Root object classes */
+    var $rootOC_migrate_dialog = FALSE;
+    var $rootOC_details = array();
+    var $b_displayCheckbutton = TRUE;
 
-    if($this->check_gidNumbers){
-      $this->checks['gidNumber_usage']['STATUS']    = FALSE;
-      $this->checks['gidNumber_usage']['STATUS_MSG']= "<font style='color:#F0A500'>"._("Warning")."</font>";
-      $this->checks['gidNumber_usage']['ERROR_MSG'] =
-        sprintf(_("Found %s duplicate values for attribute 'gidNumber'."),count($this->check_gidNumbers));
-      return(false);
-    }else{
-      $this->checks['gidNumber_usage']['STATUS']    = TRUE;
-      $this->checks['gidNumber_usage']['STATUS_MSG']= _("Ok");
-      $this->checks['gidNumber_usage']['ERROR_MSG'] = "";
-      return(TRUE);
-    }
-  }
-
-
-  /* Search for winstations outside the winstation ou 
-   */
-  function search_outside_winstations()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* Get winstation ou */
-    if($cv['generic_settings']['wws_ou_active']) {
-      $winstation_ou = $cv['generic_settings']['wws_ou'];
-    }else{
-      $winstation_ou = "ou=winstations";
+    function Step_Migrate()
+    {
+        $this->update_strings(); 
     }
 
-    if($cv['samba_version'] == 3){
-      $oc = "sambaSamAccount";
-    }else{
-      $oc = "sambaAccount";
-    }
- 
-    $ldap->cd($cv['base']);
-    $res = $ldap->search("(&(objectClass=".$oc.")(uid=*$))",array("dn","sambaSID"));
-    if(!$res){
-      $this->checks['outside_winstations']['STATUS']    = FALSE;
-      $this->checks['outside_winstations']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['outside_winstations']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-      return(false);
-    }
-
-    $this->outside_winstations = array();
-    while($attrs = $ldap->fetch()){
-      if((!preg_match("/^[^,]+,".preg_quote($winstation_ou, '/')."/",$attrs['dn'])) && !preg_match("/,dc=addressbook,/",$attrs['dn'])){
-        $attrs['selected'] = FALSE;
-        $attrs['ldif']     = "";
-        $this->outside_winstations[base64_encode($attrs['dn'])] = $attrs;
-      }
-    }
-
-    if(count($this->outside_winstations)){
-      $this->checks['outside_winstations']['STATUS']    = FALSE;
-      $this->checks['outside_winstations']['STATUS_MSG']= _("Failed");
-      $this->checks['outside_winstations']['ERROR_MSG'] = 
-        sprintf(_("Found %s winstations outside the predefined winstation department ou '%s'."),count($this->outside_winstations),$winstation_ou);
-      $this->checks['outside_winstations']['ERROR_MSG'].= "<input type='submit' name='outside_winstations_dialog' value='"._("Migrate")."...'>";
-      return(false);
-    }else{
-      $this->checks['outside_winstations']['STATUS']    = TRUE;
-      $this->checks['outside_winstations']['STATUS_MSG']= _("Ok");
-      $this->checks['outside_winstations']['ERROR_MSG'] = "";
-      return(TRUE);
-    }
-  }
-
-
-  /* Search for groups outside the group ou 
-   */
-  function search_outside_groups()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    $group_ou = $cv['groupou'];
-    $ldap->cd($cv['base']);
-
-    /***********
-     * Get all gosaDepartments to be able to
-     *  validate correct ldap tree position of every single user
-     ***********/
-    $valid_deps = array();
-    $valid_deps['/'] = $cv['base'];
-    $ldap->search("(&(objectClass=gosaDepartment)(ou=*))",array("dn","ou"));
-    while($attrs = $ldap->fetch()){
-      $valid_deps[] = $attrs['dn'];
-    }
-
-    /***********
-     * Get all groups
-     ***********/
-    $res = $ldap->search("(objectClass=posixGroup)",array("dn"));
-    if(!$res){
-      $this->checks['outside_groups']['STATUS']    = FALSE;
-      $this->checks['outside_groups']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['outside_groups']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-      return(false);
-    }
-
-    $this->outside_groups = array();
-    $this->groups_list = array();;
-    while($attrs = $ldap->fetch()){
-      $group_db_base = preg_replace("/^[^,]+,".preg_quote($group_ou, '/')."+,/i","",$attrs['dn']);
-
-      /* Check if entry is not an addressbook only user
-       *  and verify that he is in a valid department
-       */
-      if( !preg_match("/".preg_quote("dc=addressbook,", '/')."/",$group_db_base) &&
-          !in_array($group_db_base,$valid_deps)
-        ){
-        $attrs['selected'] = FALSE;
-        $attrs['ldif']     = "";
-        $this->outside_groups[base64_encode($attrs['dn'])] = $attrs;
-      }
-      $this->group_list[] = $attrs['dn'];
-    }
-
-    if(count($this->outside_groups)){
-      $this->checks['outside_groups']['STATUS']    = FALSE;
-      $this->checks['outside_groups']['STATUS_MSG']= "<font style='color:#F0A500'>"._("Warning")."</font>";
-      $this->checks['outside_groups']['ERROR_MSG'] =
-        sprintf(_("Found %s groups outside the configured tree '%s'."),count($this->outside_groups),$group_ou);
-      $this->checks['outside_groups']['ERROR_MSG'].= " <input type='submit' name='outside_groups_dialog' value='"._("Move")."...'>";
-      return(false);
-    }else{
-      $this->checks['outside_groups']['STATUS']    = TRUE;
-      $this->checks['outside_groups']['STATUS_MSG']= _("Ok");
-      $this->checks['outside_groups']['ERROR_MSG'] = "";
-      return(TRUE);
-    }
-  }
-
- /* Search for users outside the people ou
-   */
-  function search_outside_users()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-    $ldap->cd($cv['base']);
-
-
-    /***********
-     * Get all gosaDepartments to be able to
-     *  validate correct ldap tree position of every single user
-     ***********/
-    $valid_deps = array();
-    $valid_deps['/'] = $cv['base'];
-    $ldap->search("(&(objectClass=gosaDepartment)(ou=*))",array("dn","ou"));
-    while($attrs = $ldap->fetch()){
-      $valid_deps[] = $attrs['dn'];
+    function update_strings()
+    {
+        $this->s_title      = _("LDAP inspection");
+        $this->s_title_long = _("LDAP inspection");
+        $this->s_info       = _("Analyze your current LDAP for GOsa compatibility");
     }
 
-    /***********
-     * Search for all users
-     ***********/
-    $res = $ldap->search("(&(objectClass=gosaAccount)(!(uid=*$)))",array("dn"));
-    if(!$res){
-      $this->checks['outside_users']['STATUS']    = FALSE;
-      $this->checks['outside_users']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['outside_users']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-      return(false);
-    }
+    function initialize_checks()
+    {
+        $this->checks = array();
+        $this->checks['root']['TITLE']     = _("Checking for root object");
+        $this->checks['root']['STATUS']    = FALSE;
+        $this->checks['root']['STATUS_MSG']= "";
+        $this->checks['root']['ERROR_MSG'] = "";
+        $this->checkBase();
 
-    /***********
-     * Check if returned users are within a valid GOsa deparmtment. (peopleou,gosaDepartment,base)
-     ***********/
-    $this->outside_users = array();
-    $people_ou = trim($cv['peopleou']);
-    if(!empty($people_ou)){
-      $people_ou = $people_ou.",";
-    }
+        $this->checks['rootOC']['TITLE']     = _("Inspecting object classes in root object");
+        $this->checks['rootOC']['STATUS']    = FALSE;
+        $this->checks['rootOC']['STATUS_MSG']= "";
+        $this->checks['rootOC']['ERROR_MSG'] = "";
+        $this->checkBaseOC();
 
-    while($attrs = $ldap->fetch()){
-      $people_db_base = preg_replace("/^[^,]+,".preg_quote($people_ou, '/')."/i","",$attrs['dn']);
-
-      /* Check if entry is not an addressbook only user
-       *  and verify that he is in a valid department
-       */
-      if( !preg_match("/dc=addressbook,/",$people_db_base) &&
-          !in_array($people_db_base,$valid_deps)
-         ){
-        $attrs['selected'] = FALSE;
-        $attrs['ldif']     = "";
-        $this->outside_users[base64_encode($attrs['dn'])] = $attrs;
-      }
-    }
+        $this->checks['permissions']['TITLE']     = _("Checking permission for LDAP database");
+        $this->checks['permissions']['STATUS']    = FALSE;
+        $this->checks['permissions']['STATUS_MSG']= "";
+        $this->checks['permissions']['ERROR_MSG'] = "";
+        $this->check_ldap_permissions();
 
-    if(count($this->outside_users)){
-      $this->checks['outside_users']['STATUS']    = FALSE;
-      $this->checks['outside_users']['STATUS_MSG']= "<font style='color:#F0A500'>"._("Warning")."</font>";
-      $this->checks['outside_users']['ERROR_MSG'] =
-        sprintf(_("Found %s user(s) outside the configured tree '%s'."),count($this->outside_users),$people_ou);
-      $this->checks['outside_users']['ERROR_MSG'].= "<input type='submit' name='outside_users_dialog' value='"._("Move")."...'>";
-      return(false);
-    }else{
-      $this->checks['outside_users']['STATUS']    = TRUE;
-      $this->checks['outside_users']['STATUS_MSG']= _("Ok");
-      $this->checks['outside_users']['ERROR_MSG'] = "";
-      return(TRUE);
-    }
-  }
-
-
-  /* Check ldap accessibility 
-   * Create and remove a dummy object, 
-   *  to ensure that we have the necessary permissions
-   */
-  function check_ldap_permissions()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* Create dummy entry 
-     */
-    $name     = "GOsa_setup_text_entry_".session_id().rand(0,999999);
-    $dn       = "ou=".$name.",".$cv['base'];
-    $testEntry= array();
-    $testEntry['objectClass'][]= "top";
-    $testEntry['objectClass'][]= "organizationalUnit";
-    $testEntry['objectClass'][]= "gosaDepartment";
-    $testEntry['description']= "Created by GOsa setup, this object can be removed.";
-    $testEntry['ou']  = $name;
-
-    /* check if simple ldap cat will be successful 
-     */
-    $res = $ldap->cat($cv['base']);  
-    if(!$res){
-      $this->checks['permissions']['STATUS']    = FALSE;
-      $this->checks['permissions']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['permissions']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-      return(false);
-    }
-  
-    /* Try to create dummy object 
-     */ 
-    $ldap->cd ($dn);
-    $res = $ldap->add($testEntry);
-    $ldap->cat($dn);
-    if(!$ldap->count()){
-      new log("view","setup/".get_class($this),$dn,array(),$ldap->get_error());
-
-      $this->checks['permissions']['STATUS']    = FALSE;
-      $this->checks['permissions']['STATUS_MSG']= _("Failed");
-      $this->checks['permissions']['ERROR_MSG'] = 
-        sprintf(_("The specified user '%s' does not have full access to your ldap database."),$cv['admin']);
-      return(false);
+        $this->migrate_users = array();
+        $this->checks['acls']['TITLE']     = _("Checking for super administrator");
+        $this->checks['acls']['STATUS']    = FALSE;
+        $this->checks['acls']['STATUS_MSG']= "";
+        $this->checks['acls']['ERROR_MSG'] = "";
+        $this->check_administrativeAccount();
     }
 
-    /* Try to remove created entry 
-     */
-    $res = $ldap->rmDir($dn);
-    $ldap->cat($dn);
-    if($ldap->count()){
-      new log("view","setup/".get_class($this),$dn,array(),$ldap->get_error());
-      $this->checks['permissions']['STATUS']    = FALSE;
-      $this->checks['permissions']['STATUS_MSG']= _("Failed");
-      $this->checks['permissions']['ERROR_MSG'] = 
-        sprintf(_("The specified user '%s' does not have full access to your ldap database."),$cv['admin']);
-      return(false);
-    }
 
-    /* Create & remove of dummy object was successful */
-    $this->checks['permissions']['STATUS']    = TRUE;
-    $this->checks['permissions']['STATUS_MSG']= _("Ok");
-    $this->checks['permissions']['ERROR_MSG'] = "";
-    return(true);
-  } 
-
-
-  /* Check if there are users which will 
-   *  be invisible for GOsa 
-   */
-  function check_gosaAccounts()
-  {
-    /* Remember old list of ivisible users, to be able to set 
-     *  the 'html checked' status for the checkboxes again 
+    /* Check ldap accessibility 
+     * Create and remove a dummy object, 
+     *  to ensure that we have the necessary permissions
      */
-    $cnt_ok = 0;
-    $old    = $this->users_to_migrate;
-    $this->users_to_migrate = array();
+    function check_ldap_permissions()
+    {
+        /* Establish ldap connection */
+        $cv = $this->parent->captured_values;
+        $ldap_l = new LDAP($cv['admin'],
+                $cv['password'],
+                $cv['connection'],
+                FALSE,
+                $cv['tls']);
 
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
+        $ldap = new ldapMultiplexer($ldap_l);
 
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* Get all invisible users 
-     */
-    $ldap->cd($cv['base']); 
-    $res =$ldap->search("(&(|(objectClass=posixAccount)(&(objectClass=inetOrgPerson)(objectClass=organizationalPerson)))(!(objectClass=gosaAccount))(uid=*))",array("sn","givenName","cn","uid"));
-    while($attrs = $ldap->fetch()){
-      if(!preg_match("/,dc=addressbook,/",$attrs['dn'])){
-        $attrs['checked'] = FALSE;
-        $attrs['before']  = "";
-        $attrs['after']   = "";
-
-        /* Set objects to selected, that were selected before reload */
-        if(isset($old[base64_encode($attrs['dn'])])){
-          $attrs['checked'] = $old[base64_encode($attrs['dn'])]['checked'];
+        /* Create dummy entry 
+         */
+        $name     = "GOsa_setup_text_entry_".session_id().rand(0,999999);
+        $dn       = "ou=".$name.",".$cv['base'];
+        $testEntry= array();
+        $testEntry['objectClass'][]= "top";
+        $testEntry['objectClass'][]= "organizationalUnit";
+        $testEntry['objectClass'][]= "gosaDepartment";
+        $testEntry['description']= "Created by GOsa setup, this object can be removed.";
+        $testEntry['ou']  = $name;
+
+        /* check if simple ldap cat will be successful 
+         */
+        $res = $ldap->cat($cv['base']);  
+        if(!$res){
+            $this->checks['permissions']['STATUS']    = FALSE;
+            $this->checks['permissions']['STATUS_MSG']= _("LDAP query failed");
+            $this->checks['permissions']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
+            return(false);
         }
-        $this->users_to_migrate[base64_encode($attrs['dn'])] = $attrs;
-      }
-    }
 
-    /* No invisible */
-    if(!$res){
-      $this->checks['users_visible']['STATUS']    = FALSE;
-      $this->checks['users_visible']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['users_visible']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-    }elseif(count($this->users_to_migrate) == 0){
-      $this->checks['users_visible']['STATUS']    = TRUE;
-      $this->checks['users_visible']['STATUS_MSG']= _("Ok");
-      $this->checks['users_visible']['ERROR_MSG'] = "";
-    }else{
-      $this->checks['users_visible']['STATUS']    = FALSE;
-      $this->checks['users_visible']['STATUS_MSG']= "<font style='color:#F0A500'>"._("Warning")."</font>";
-      $this->checks['users_visible']['ERROR_MSG'] = sprintf(_("Found %s user(s) that will not be visible in GOsa."), 
-          count($this->users_to_migrate));
-      $this->checks['users_visible']['ERROR_MSG'] .= "<input type='submit' name='users_visible_migrate' value='"._("Migrate")."...'>";
-    }
-  }
-
-
-  /* Start user account migration 
-   */  
-  function migrate_gosaAccounts($only_ldif = FALSE)
-  {
-    $this->show_details= $only_ldif;
+        /* Try to create dummy object 
+         */ 
+        $ldap->cd ($dn);
+        $res = $ldap->add($testEntry);
+        $ldap->cat($dn);
+        if(!$ldap->count()){
+            new log("view","setup/".get_class($this),$dn,array(),$ldap->get_error());
 
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* Add gosaAccount objectClass to the selected users  
-     */
-    foreach($this->users_to_migrate as $key => $dep){
-      if($dep['checked']){
-
-        /* Get old objectClasses */
-        $ldap->cat($dep['dn'],array("objectClass"));
-        $attrs      = $ldap->fetch();
-
-        /* Create new objectClass array */
-        $new_attrs  = array();
-        $new_attrs['objectClass']= array("gosaAccount","inetOrgPerson","organizationalPerson","person");
-        for($i = 0 ; $i < $attrs['objectClass']['count']; $i ++ ){
-          if(!in_array_ics($attrs['objectClass'][$i], $new_attrs['objectClass'])){
-            $new_attrs['objectClass'][]   = $attrs['objectClass'][$i];
-          }
+            $this->checks['permissions']['STATUS']    = FALSE;
+            $this->checks['permissions']['STATUS_MSG']= _("Failed");
+            $this->checks['permissions']['ERROR_MSG'] = 
+                sprintf(_("The specified user '%s' does not have full access to your LDAP database."),$cv['admin']);
+            return(false);
         }
 
-        /* Set info attributes for current object, 
-         *  or write changes to the ldap database 
+        /* Try to remove created entry 
          */
-        if($only_ldif){
-          $this->users_to_migrate[$key]['before'] = $this->array_to_ldif($attrs);
-          $this->users_to_migrate[$key]['after']  = $this->array_to_ldif($new_attrs);
-        }else{
-          $ldap->cd($attrs['dn']);
-          if(!$ldap->modify($new_attrs)){
-            msg_dialog::display(_("Migration error"), sprintf(_("Cannot migrate department '%s':")."<br><br><i>%s</i>",LDAP::fix($attrs['dn']),$ldap->get_error()), ERROR_DIALOG);
+        $res = $ldap->rmDir($dn);
+        $ldap->cat($dn);
+        if($ldap->count()){
+            new log("view","setup/".get_class($this),$dn,array(),$ldap->get_error());
+            $this->checks['permissions']['STATUS']    = FALSE;
+            $this->checks['permissions']['STATUS_MSG']= _("Failed");
+            $this->checks['permissions']['ERROR_MSG'] = 
+                sprintf(_("The specified user '%s' does not have full access to your LDAP database."),$cv['admin']);
             return(false);
-          }
-        }
-      }
-    }
-    return(TRUE);
-  }
-
-
-  /* Check if there are invisible organizational Units 
-   */
-  function check_organizationalUnits()
-  {
-    $cnt_ok = 0;
-    $old = $this->deps_to_migrate;
-    $this->deps_to_migrate = array();
-
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* Skip GOsa internal departments */
-    $skip_dns = array("/".$cv['peopleou']."/","/".$cv['groupou']."/","/^ou=people,/","/^ou=groups,/","/^ou=sudoers,/",
-        "/(,|)ou=configs,/","/(,|)ou=systems,/",
-        "/(,|)ou=apps,/","/(,|)ou=mime,/","/(,|)ou=devices/","/^ou=aclroles,/","/^ou=incoming,/",
-        "/ou=snapshots,/","/(,|)dc=addressbook,/","/^(,|)ou=machineaccounts,/",
-        "/(,|)ou=winstations,/","/(,|)ou=roles,/");
-
-    
-
-    /* Get all invisible departments */
-    $ldap->cd($cv['base']); 
-    $res = $ldap->search("(&(objectClass=organizationalUnit)(!(objectClass=gosaDepartment)))",array("ou","description","dn"));
-    while($attrs = $ldap->fetch()){
-      $attrs['checked'] = FALSE;
-      $attrs['before']  = "";
-      $attrs['after']   = "";
-
-      /* Set objects to selected, that were selected before reload */
-      if(isset($old[base64_encode($attrs['dn'])])){
-        $attrs['checked'] = $old[base64_encode($attrs['dn'])]['checked'];
-      }
-      $this->deps_to_migrate[base64_encode($attrs['dn'])] = $attrs;
-    }
-
-    /* Filter returned list of departments and ensure that 
-     *  GOsa internal departments will not be listed 
-     */
-    foreach($this->deps_to_migrate as $key => $attrs){
-      $dn = $attrs['dn'];
-      $skip = false;;
-
-      /* Check if this object is an application release object
-          e.g. groups-> application menus.
-       */
-      if(preg_match("/^.*,[ ]*cn=/",$dn)){
-        $cn_dn = preg_replace("/^.*,[ ]*cn=/","cn=",$dn);
-        if(in_array($cn_dn,$this->group_list)){
-          $skip = true;
-        }
-      }
-    
-      foreach($skip_dns as $skip_dn){
-        if(preg_match($skip_dn,$dn)){
-          $skip = true;
         }
-      }
-      if($skip){
-        unset($this->deps_to_migrate[$key]);
-      }
-    }
-
-    /* If we have no invisible departments found  
-     *  tell the user that everything is ok 
-     */
-    if(!$res){
-      $this->checks['deps_visible']['STATUS']    = FALSE;
-      $this->checks['deps_visible']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['deps_visible']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-    }elseif(count($this->deps_to_migrate) == 0 ){
-      $this->checks['deps_visible']['STATUS']    = TRUE;
-      $this->checks['deps_visible']['STATUS_MSG']= _("Ok");
-      $this->checks['deps_visible']['ERROR_MSG'] = "";
-    }else{
-      $this->checks['deps_visible']['STATUS']    = TRUE;
-      $this->checks['deps_visible']['STATUS_MSG']= '<font style="color:#FFA500">'._("Warning").'</font>';
-      $this->checks['deps_visible']['ERROR_MSG'] = sprintf(_("Found %s department(s) that will not be visible in GOsa."),count($this->deps_to_migrate));
-      $this->checks['deps_visible']['ERROR_MSG'] .= " <input type='submit' name='deps_visible_migrate' value='"._("Migrate")."...'>";
-    }
-  }
-
 
+        /* Create & remove of dummy object was successful */
+        $this->checks['permissions']['STATUS']    = TRUE;
+        $this->checks['permissions']['STATUS_MSG']= _("OK");
+        $this->checks['permissions']['ERROR_MSG'] = "";
+        return(true);
+    } 
 
-  /* Start deparmtment migration */  
-  function migrate_organizationalUnits($only_ldif = FALSE)
-  {
-    $this->show_details= $only_ldif;
 
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
 
-    $ldap = new ldapMultiplexer($ldap_l);
 
-    /* Add gosaDepartment objectClass to each selected entry 
+    /* Check Acls if there is at least one object with acls defined 
      */
-    foreach($this->deps_to_migrate as $key => $dep){
-      if($dep['checked']){
+    function check_administrativeAccount()
+    {
+        /* Reset settings 
+         */ 
+        $GOsa_26_found = FALSE;
+        $this->migrate_users = array();
+        $this->acl_migrate_dialog = FALSE;
+        $this->migrate_acl_base_entry  = "";
 
-        /* Get current objectClasses */
-        $ldap->cat($dep['dn'],array("objectClass","description"));
-        $attrs      = $ldap->fetch();
+        /* Establish ldap connection */
+        $cv = $this->parent->captured_values;
+        $ldap_l = new LDAP($cv['admin'],
+                $cv['password'],
+                $cv['connection'],
+                FALSE,
+                $cv['tls']);
 
-        /* Create new objectClass attribute including gosaDepartment*/
-        $new_attrs  = array();
-        for($i = 0 ; $i < $attrs['objectClass']['count']; $i ++ ){
-          $new_attrs['objectClass'][]   = $attrs['objectClass'][$i];
-        }
-        $new_attrs['objectClass'][] = "gosaDepartment";
-
-        /* Append description it is missing */
-        if(!isset($attrs['description'])){
-          $new_attrs['description'][] = "GOsa department";
-        }
+        $ldap = new ldapMultiplexer($ldap_l);
+        $ldap->cd($cv['base']);
+        $res = $ldap->cat($cv['base']);
 
-        /* Depending on the parameter >only_diff< we save the changes as ldif
-         *  or we write our changes directly to the ldap database
-         */
-        if($only_ldif){
-          $this->deps_to_migrate[$key]['before'] = $this->array_to_ldif($attrs);
-          $this->deps_to_migrate[$key]['after']  = $this->array_to_ldif($new_attrs);
+        if(!$res){
+            $this->checks['acls']['STATUS']    = FALSE;
+            $this->checks['acls']['STATUS_MSG']= _("LDAP query failed");
+            $this->checks['acls']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
         }else{
-          $ldap->cd($attrs['dn']);
-          if(!$ldap->modify($new_attrs)){
-            msg_dialog::display(_("Migration error"), sprintf(_("Cannot migrate department '%s':")."<br><br><i>%s</i>",LDAP::fix($attrs['dn']), $ldap->get_error()), ERROR_DIALOG);
-            return(false);
-          }
-        }
-      }
-    }
-    return(TRUE);
-  }
-
-
-  /* Check Acls if there is at least one object with acls defined 
-   */
-  function check_administrativeAccount()
-  {
-    /* Reset settings 
-     */ 
-    $GOsa_26_found = FALSE;
-    $this->migrate_users = array();
-    $this->acl_migrate_dialog = FALSE;
-    $this->migrate_acl_base_entry  = "";
-
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-    $ldap->cd($cv['base']);
-    $res = $ldap->cat($cv['base']);
-   
-    if(!$res){
-      $this->checks['acls']['STATUS']    = FALSE;
-      $this->checks['acls']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['acls']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-    }else{
-      $GOsa_26_found = false; // GOsa 2.6 Account found
-      $GOsa_25_found = false; // GOsa 2.5 Account found, allow migration
-
-      $username = "";
-      $attrs = $ldap->fetch();
-
-      /* Collect a list of available GOsa users and groups 
-       */
-      $users = array();
-      $ldap->search("(&(objectClass=gosaAccount)(objectClass=person)".
-        "(objectClass=inetOrgPerson)(objectClass=organizationalPerson))",array("uid","dn"));
-      while($user_attrs = $ldap->fetch()){
-        $users[$user_attrs['dn']] = $user_attrs['uid'][0];
-        $rusers[$user_attrs['uid'][0]] = $user_attrs['dn'];
-      }
-      $groups = array();
-      $ldap->search("objectClass=posixGroup",array("cn","dn"));
-      while($group_attrs = $ldap->fetch()){
-        $groups[$group_attrs['dn']] = $group_attrs['cn'][0];
-      }
-      
-      /* Check if a valid GOsa 2.6 admin exists 
-          -> gosaAclEntry for an existing and accessible user.
-       */
-      $valid_users = "";
-      $valid_groups = "";
-      if(isset($attrs['gosaAclEntry'])){
-        $acls = $attrs['gosaAclEntry'];
-        for($i = 0 ; $i < $acls['count'] ; $i++){
-          $acl = $acls[$i];
-          $tmp = explode(":",$acl);
-
-          if($tmp[1] == "psub"){
-            $members = explode(",",$tmp[2]);
-            foreach($members as $member){
-              $member = base64_decode($member);
-              if(isset($users[$member])){
-                if(preg_match("/all;cmdrw/i",$tmp[3])){
-                  $valid_users .= $users[$member].", ";
-                  $GOsa_26_found  = TRUE;
-                }
-              }
-              if(isset($groups[$member])){
-                if(preg_match("/all;cmdrw/i",$tmp[3])){
-                  $ldap->cat($member);
-                  $group_attrs = $ldap->fetch();
-                  $val_users = "";
-                  if(isset($group_attrs['memberUid'])){
-                    for($e = 0 ; $e < $group_attrs['memberUid']['count']; $e ++){
-                      if(isset($rusers[$group_attrs['memberUid'][$e]])){
-                        $val_users .= $group_attrs['memberUid'][$e].", ";
-                      }
-                    }
-                  }
-                  if(!empty($val_users)){
-                    $valid_groups .= $groups[$member]."(<i>".trim($val_users,", ")."</i>), ";
-                    $GOsa_26_found  = TRUE;
-                  }
-                }
-              }
-            }
-          }elseif($tmp[1] == "role"){
-
-            /* Check if acl owner is a valid GOsa user account */
-            $ldap->cat(base64_decode($tmp[2]),array("gosaAclTemplate"));
-            $ret = $ldap->fetch();
+            $GOsa_26_found = false; // GOsa 2.6 Account found
 
-            if(isset($ret['gosaAclTemplate'])){
-              $cnt = $ret['gosaAclTemplate']['count'];
-              for($e = 0 ; $e < $cnt ; $e++){
+            $username = "";
+            $attrs = $ldap->fetch();
 
-                $a_str = $ret['gosaAclTemplate'][$e];
-                if(preg_match("/^[0-9]*:psub:/",$a_str) && preg_match("/:all;cmdrw$/",$a_str)){
-
-                  $members = explode(",",$tmp[3]);
-                  foreach($members as $member){
-                    $member = base64_decode($member);
+            /* Collect a list of available GOsa users and groups 
+             */
+            $users = array();
+            $ldap->search("(&(objectClass=gosaAccount)(objectClass=person)".
+                    "(objectClass=inetOrgPerson)(objectClass=organizationalPerson))",array("uid","dn"));
+            while($user_attrs = $ldap->fetch()){
+                $users[$user_attrs['dn']] = $user_attrs['uid'][0];
+                $rusers[$user_attrs['uid'][0]] = $user_attrs['dn'];
+            }
+            $groups = array();
+            $ldap->search("objectClass=posixGroup",array("cn","dn"));
+            while($group_attrs = $ldap->fetch()){
+                $groups[$group_attrs['dn']] = $group_attrs['cn'][0];
+            }
 
-                    if(isset($users[$member])){
-                      $valid_users .= $users[$member].", ";
-                      $GOsa_26_found  = TRUE;
-                    }
-                    if(isset($groups[$member])){
-                      $ldap->cat($member);
-                      $group_attrs = $ldap->fetch();
-                      $val_users = "";
-                      if(isset($group_attrs['memberUid'])){
-                        for($e = 0 ; $e < $group_attrs['memberUid']['count']; $e ++){
-                          if(isset($rusers[$group_attrs['memberUid'][$e]])){
-                            $val_users .= $group_attrs['memberUid'][$e].", ";
-                          }
+            /* Check if a valid GOsa 2.6 admin exists 
+               -> gosaAclEntry for an existing and accessible user.
+             */
+            $valid_users = "";
+            $valid_groups = "";
+            if(isset($attrs['gosaAclEntry'])){
+                $acls = $attrs['gosaAclEntry'];
+                for($i = 0 ; $i < $acls['count'] ; $i++){
+                    $acl = $acls[$i];
+                    $tmp = explode(":",$acl);
+
+                    if($tmp[1] == "psub"){
+                        $members = explode(",",$tmp[2]);
+                        foreach($members as $member){
+                            $member = base64_decode($member);
+                            if(isset($users[$member])){
+                                if(preg_match("/all\/all;cmdrw/i",$tmp[3])){
+                                    $valid_users .= $users[$member].", ";
+                                    $GOsa_26_found  = TRUE;
+                                }
+                            }
+                            if(isset($groups[$member])){
+                                if(preg_match("/all\/all;cmdrw/i",$tmp[3])){
+                                    $ldap->cat($member);
+                                    $group_attrs = $ldap->fetch();
+                                    $val_users = "";
+                                    if(isset($group_attrs['memberUid'])){
+                                        for($e = 0 ; $e < $group_attrs['memberUid']['count']; $e ++){
+                                            if(isset($rusers[$group_attrs['memberUid'][$e]])){
+                                                $val_users .= $group_attrs['memberUid'][$e].", ";
+                                            }
+                                        }
+                                    }
+                                    if(!empty($val_users)){
+                                        $valid_groups .= $groups[$member]."(<i>".trim($val_users,", ")."</i>), ";
+                                        $GOsa_26_found  = TRUE;
+                                    }
+                                }
+                            }
+                        }
+                    }elseif($tmp[1] == "role"){
+
+                        /* Check if acl owner is a valid GOsa user account */
+                        $ldap->cat(base64_decode($tmp[2]),array("gosaAclTemplate"));
+                        $ret = $ldap->fetch();
+
+                        if(isset($ret['gosaAclTemplate'])){
+                            $cnt = $ret['gosaAclTemplate']['count'];
+                            for($e = 0 ; $e < $cnt ; $e++){
+
+                                $a_str = $ret['gosaAclTemplate'][$e];
+                                if(preg_match("/^[0-9]*:psub:/",$a_str) && preg_match("/:all\/all;cmdrw$/",$a_str)){
+
+                                    $members = explode(",",$tmp[3]);
+                                    foreach($members as $member){
+                                        $member = base64_decode($member);
+
+                                        if(isset($users[$member])){
+                                            $valid_users .= $users[$member].", ";
+                                            $GOsa_26_found  = TRUE;
+                                        }
+                                        if(isset($groups[$member])){
+                                            $ldap->cat($member);
+                                            $group_attrs = $ldap->fetch();
+                                            $val_users = "";
+                                            if(isset($group_attrs['memberUid'])){
+                                                for($e = 0 ; $e < $group_attrs['memberUid']['count']; $e ++){
+                                                    if(isset($rusers[$group_attrs['memberUid'][$e]])){
+                                                        $val_users .= $group_attrs['memberUid'][$e].", ";
+                                                    }
+                                                }
+                                            }
+                                            if(!empty($val_users)){
+                                                $valid_groups .= $groups[$member]."(<i>".trim($val_users,", ")."</i>), ";
+                                                $GOsa_26_found  = TRUE;
+                                            }
+                                        }
+                                    }
+                                }
+                            }
                         }
-                      }
-                      if(!empty($val_users)){
-                        $valid_groups .= $groups[$member]."(<i>".trim($val_users,", ")."</i>), ";
-                        $GOsa_26_found  = TRUE;
-                      }
                     }
-                  }
                 }
-              }
             }
-          }
-        }
-      }
 
-      /* Try to find an old GOsa 2.5 administrative account that may be migrated 
-       */
-      if(!$GOsa_26_found){
-        $valid_users = "";
-        $valid_groups = "";
-        $ldap->cd($cv['base']);
-        $ldap->search("(&(objectClass=posixGroup)(gosaSubtreeACL=:all)(memberUid=*))",array("memberUid","cn"));
-        while($p_group = $ldap->fetch()){
-          $val_users = "";
-          for($e = 0 ; $e < $p_group['memberUid']['count'] ; $e ++ ){
-            $user = $p_group['memberUid'][$e];
-            if(isset($rusers[$user])){
-              $val_users .= $user.", ";
-            }  
-          }
-          if(!empty($val_users)){
-            $valid_groups .= $groups[$p_group['dn']]."(<i>".trim($val_users,", ")."</i>), ";
-            $GOsa_25_found  = TRUE;
-          }
+            if($GOsa_26_found){
+                $str = "";
+                if(!empty($valid_users)){
+                    $str.= "<b>"._("Users")."</b>: ".trim($valid_users,", ")."<br>";
+                }
+                if(!empty($valid_groups)){
+                    $str.= "<b>"._("Groups")."</b>: ".trim($valid_groups,", ")."<br>";
+                }
+                $this->checks['acls']['STATUS']    = TRUE;
+                $this->checks['acls']['STATUS_MSG']= _("OK");
+                $this->checks['acls']['ERROR_MSG'] = $str;
+            }else{
+                $this->checks['acls']['STATUS']    = FALSE;
+                $this->checks['acls']['STATUS_MSG']= _("Failed");
+                $this->checks['acls']['ERROR_MSG']= _("There is no GOsa administrator account inside your LDAP.")." ";
+                $this->checks['acls']['ERROR_MSG'].= "<button type='submit' name='create_acls'>"._("Create")."</button>";
+            }
         }
-      }
-
 
-      /* Print out results 
-       */
-      if($GOsa_25_found){
-        $str = "";
-        if(!empty($valid_groups)){
-          $str.= "<i>".sprintf(_("GOsa 2.5 administrative accounts found: %s"),trim($valid_groups,", "))."</i><br>";
-        }
-        $this->checks['acls']['STATUS']    = FALSE;
-        $this->checks['acls']['STATUS_MSG']= _("Failed");
-        $this->checks['acls']['ERROR_MSG'] = $str;
-        $this->checks['acls']['ERROR_MSG'].= _("There is no valid GOsa 2.6 administrator account inside your LDAP.")." ";
-        $this->checks['acls']['ERROR_MSG'].= "<input type='submit' name='migrate_acls' value='"._("Migrate")."'>";
-        $this->checks['acls']['ERROR_MSG'].= "<input type='submit' name='create_acls' value='"._("Create")."'>";
-      }elseif($GOsa_26_found){
-        $str = "";
-        if(!empty($valid_users)){
-          $str.= "<b>"._("Users")."</b>: ".trim($valid_users,", ")."<br>";
-        }
-        if(!empty($valid_groups)){
-          $str.= "<b>"._("Groups")."</b>: ".trim($valid_groups,", ")."<br>";
-        }
-        $this->checks['acls']['STATUS']    = TRUE;
-        $this->checks['acls']['STATUS_MSG']= _("Ok");
-        $this->checks['acls']['ERROR_MSG'] = $str;
-      }else{
-        $this->checks['acls']['STATUS']    = FALSE;
-        $this->checks['acls']['STATUS_MSG']= _("Failed");
-        $this->checks['acls']['ERROR_MSG']= _("There is no GOsa administrator account inside your LDAP.")." ";
-        $this->checks['acls']['ERROR_MSG'].= "<input type='submit' name='create_acls' value='"._("Create")."'>";
-      }
+        // Reload base OC
+        $this->checkBaseOC();
+        return($GOsa_26_found);
     }
 
-    // Reload base OC
-    $this->checkBaseOC();
-    return($GOsa_26_found);
-  }
 
 
+    function create_admin($only_ldif = FALSE)
+    {
+        /* Reset '' */
+        $this->acl_create_changes="";
 
-  function create_admin($only_ldif = FALSE)
-  {
-    /* Reset '' */
-    $this->acl_create_changes="";
+        /* Object that should receive admin acls */
+        $dn = $this->acl_create_selected;
 
-    /* Object that should receive admin acls */
-    $dn = $this->acl_create_selected;
+        /* Get collected configuration settings */
+        $cv = $this->parent->captured_values;
 
-    /* Get collected configuration settings */
-    $cv = $this->parent->captured_values;
+        /* On first call check for rid/sid base */
+        $ldap_l = new LDAP($cv['admin'],
+                $cv['password'],
+                $cv['connection'],
+                FALSE,
+                $cv['tls']);
 
-    /* On first call check for rid/sid base */
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
+        $ldap = new ldapMultiplexer($ldap_l);
 
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* Get current base attributes */
-    $ldap->cd($cv['base']);
-    $ldap->cat($cv['base'],array("dn","objectClass","gosaAclEntry"));
-    $attrs = $ldap->fetch();
-
-    /* Add acls for the selcted user to the base */
-    $attrs_new = array();
-    $attrs_new['objectClass'] = array("gosaACL");
-
-    for($i = 0; $i < $attrs['objectClass']['count']; $i ++){
-      if(!in_array_ics($attrs['objectClass'][$i],$attrs_new['objectClass'])){
-        $attrs_new['objectClass'][] = $attrs['objectClass'][$i];
-      }
-    }
-
-    $acl = "0:psub:".base64_encode($dn).":all;cmdrw";    
-    $attrs_new['gosaAclEntry'][] = $acl;
-    if(isset($attrs['gosaAclEntry'])){
-      for($i = 0 ; $i < $attrs['gosaAclEntry']['count']; $i ++){
-          
-        $prio = preg_replace("/[:].*$/","",$attrs['gosaAclEntry'][$i]);
-        $rest = preg_replace("/^[^:]/","",$attrs['gosaAclEntry'][$i]);
- 
-        $data = ($prio+1).$rest;
-        $attrs_new['gosaAclEntry'][] = $data;
-      }
-    }
+        /* Get current base attributes */
+        $ldap->cd($cv['base']);
+        $ldap->cat($cv['base'],array("dn","objectClass","gosaAclEntry"));
+        $attrs = $ldap->fetch();
 
-    if($only_ldif){
-      $this->acl_create_changes ="\n".($ldap->fix($cv['base']))."\n";
-      $this->acl_create_changes.=$this->array_to_ldif($attrs)."\n";
-      $this->acl_create_changes.="\n".($ldap->fix($cv['base']))."\n";
-      $this->acl_create_changes.=$this->array_to_ldif($attrs_new);
-    }else{
-   
-      $ldap->cd($cv['base']);
-      if(!$ldap->modify($attrs_new)){
-        msg_dialog::display(_("Migration error"), sprintf(_("Cannot add ACL for user '%s':")."<br><br><i>%s</i>", LDAP::fix($dn), $ldap->get_error()), ERROR_DIALOG);
-        return(FALSE);
-      }else{
-        return(TRUE);
-      }
-    }
-  }
- 
-  
-  function create_admin_user()
-  {
-    $pw1 = $pw2 = "";
-    $uid = "";
-
-    /* On first call check for rid/sid base */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-  
-    if(isset($_POST['new_user_uid'])){
-      $uid = $_POST['new_user_uid'];
-    }
-    if(isset($_POST['new_user_password'])){
-      $pw1 = $_POST['new_user_password'];
-    }
-    if(isset($_POST['new_user_password2'])){
-      $pw2 = $_POST['new_user_password2'];
-    }
-  
-    
-    $ldap->cd($cv['base']);
-    $ldap->search("(uid=".$uid.")");
-    if($ldap->count()){
-      msg_dialog::display(_("Input error"),msgPool::duplicated(_("Uid")), ERROR_DIALOG);
-      return false;
-    }
-    
-    if(empty($pw1) || empty($pw2) | ($pw1 != $pw2)){
-      msg_dialog::display(_("Password error"), _("Provided passwords do not match!"), ERROR_DIALOG);
-      return false;
-    }
- 
-    if(!tests::is_uid($uid) || empty($uid)){
-      msg_dialog::display(_("Input error"), _("Specify a valid user ID!"), ERROR_DIALOG);
-      return false;
-    }
- 
- 
-    /* Get current base attributes */
-    $ldap->cd($cv['base']);
-  
-    $people_ou = trim($cv['peopleou']);
-    if(!empty($people_ou)){
-      $people_ou = trim($people_ou).",";
-    }
+        /* Add acls for the selcted user to the base */
+        $attrs_new = array();
+        $attrs_new['objectClass'] = array("gosaACL");
 
-    if($cv['peopledn'] == "cn"){
-      $dn = "cn=System Administrator-".$uid.",".$people_ou.$cv['base'];
-    }else{
-      $dn = "uid=".$uid.",".$people_ou.$cv['base'];
-    }
+        for($i = 0; $i < $attrs['objectClass']['count']; $i ++){
+            if(!in_array_ics($attrs['objectClass'][$i],$attrs_new['objectClass'])){
+                $attrs_new['objectClass'][] = $attrs['objectClass'][$i];
+            }
+        }
 
-    $hash = passwordMethod::make_hash($pw2, $cv['encryption']);
-
-    $new_user=array();
-    $new_user['objectClass']= array("top","person","gosaAccount","organizationalPerson","inetOrgPerson");
-    $new_user['givenName']  = "System";
-    $new_user['sn']  = "Administrator";
-    $new_user['cn']  = "System Administrator-".$uid;
-    $new_user['uid'] = $uid;
-    $new_user['userPassword'] = $hash;
-   
-    $ldap->cd($cv['base']);
-  
-    $ldap->cat($dn,array("dn"));
-    if($ldap->count()){
-      msg_dialog::display(_("Error"), sprintf(_("Adding an administrative user failed: object '%s' already exists!"), LDAP::fix($dn)), ERROR_DIALOG);
-      return(FALSE);  
-    }
+        $acl = "0:psub:".base64_encode($dn).":all/all;cmdrw";    
+        $attrs_new['gosaAclEntry'][] = $acl;
+        if(isset($attrs['gosaAclEntry'])){
+            for($i = 0 ; $i < $attrs['gosaAclEntry']['count']; $i ++){
 
-    $ldap->create_missing_trees(preg_replace("/^[^,]+,/","",$dn));
-    $ldap->cd($dn);  
-    $res = $ldap->add($new_user);
-    $this->acl_create_selected = $dn;
-    $this->create_admin();
-    
-    if(!$res){
-      msg_dialog::display(_("LDAP error"), $ldap->get_error(), ERROR_DIALOG);
-      return(FALSE);
-    }
-  
-    $this->acl_create_dialog=FALSE;        
-    $this->check_administrativeAccount();
-    return(TRUE);
-  }
- 
-
-  function migrate_outside_winstations($perform = FALSE)
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    $ldap->cd($cv['base']);
-
-    /* Check if there was a destination department posted */
-    if(isset($_POST['move_winstation_to'])){
-      $destination_dep = $_POST['move_winstation_to'];
-    }else{
-      msg_dialog::display(_("LDAP error"), _("Cannot move users to the requested department!"), ERROR_DIALOG);
-      return(false);
-    }
- 
-    foreach($this->outside_winstations as $b_dn => $data){
-      $this->outside_winstations[$b_dn]['ldif'] ="";
-      if($data['selected']){
-        $dn = base64_decode($b_dn);
-        $d_dn = preg_replace("/,.*$/",",".base64_decode($destination_dep),$dn);
-        if(!$perform){
-          $this->outside_winstations[$b_dn]['ldif'] = _("Winstation will be moved from").":<br>\t".($ldap->fix($dn))."<br>"._("to").":<br>\t".($ldap->fix($d_dn));
-
-
-          /* Check if there are references to this object */
-          $ldap->search("(&(member=".LDAP::prepare4filter($dn).")(|(objectClass=gosaGroupOfNames)(objectClass=groupOfNames)))",array('dn'));
-          $refs = "";
-          while($attrs = $ldap->fetch()){
-            $ref_dn = $attrs['dn'];
-            $refs .= "<br />\t".$ref_dn;
-          } 
-          if(!empty($refs)){ 
-            $this->outside_winstations[$b_dn]['ldif'] .= "<br /><br /><i>"._("Updating following references too").":</i>".$refs;
-          }
+                $prio = preg_replace("/[:].*$/","",$attrs['gosaAclEntry'][$i]);
+                $rest = preg_replace("/^[^:]/","",$attrs['gosaAclEntry'][$i]);
 
-        }else{
-          $this->move($dn,$d_dn);
+                $data = ($prio+1).$rest;
+                $attrs_new['gosaAclEntry'][] = $data;
+            }
         }
-      }
-    }
-  }
-  
-
-  function migrate_outside_groups($perform = FALSE)
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-    $ldap->cd($cv['base']);
-
-    /* Check if there was a destination department posted */
-    if(isset($_POST['move_group_to'])){
-      $destination_dep = $_POST['move_group_to'];
-    }else{
-      msg_dialog::display(_("LDAP error"), _("Cannot move users to the requested department!"), ERROR_DIALOG);
-      return(false);
-    }
- 
-    foreach($this->outside_groups as $b_dn => $data){
-      $this->outside_groups[$b_dn]['ldif'] ="";
-      if($data['selected']){
-        $dn = base64_decode($b_dn);
-        $d_dn = preg_replace("/,.*$/",",".base64_decode($destination_dep),$dn);
-        if(!$perform){
-
-          $this->outside_groups[$b_dn]['ldif'] = _("Group will be moved from").":<br>\t".($ldap->fix($dn))."<br>"._("to").":<br>\t".($ldap->fix($d_dn));
-
-          /* Check if there are references to this object */
-          $ldap->search("(&(member=".LDAP::prepare4filter($dn).")(|(objectClass=gosaGroupOfNames)(objectClass=groupOfNames)))",array('dn'));
-          $refs = "";
-          while($attrs = $ldap->fetch()){
-            $ref_dn = $attrs['dn'];
-            $refs .= "<br />\t".$ref_dn;
-          } 
-          if(!empty($refs)){ 
-            $this->outside_groups[$b_dn]['ldif'] .= "<br /><br /><i>"._("Updating following references too").":</i>".$refs;
-          }
 
+        if($only_ldif){
+            $this->acl_create_changes ="\n".($ldap->fix($cv['base']))."\n";
+            $this->acl_create_changes.=$this->array_to_ldif($attrs)."\n";
+            $this->acl_create_changes.="\n".($ldap->fix($cv['base']))."\n";
+            $this->acl_create_changes.=$this->array_to_ldif($attrs_new);
         }else{
-          $this->move($dn,$d_dn);
-        }
-      }
-    }
-  }
-  
-
-  function migrate_outside_users($perform = FALSE)
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-    $ldap->cd($cv['base']);
-
-    /* Check if there was a destination department posted */
-    if(isset($_POST['move_user_to'])){
-      $destination_dep = $_POST['move_user_to'];
-    }else{
-      msg_dialog::display(_("LDAP error"), _("Cannot move users to the requested department!"), ERROR_DIALOG);
-      return(false);
-    }
-      
-    foreach($this->outside_users as $b_dn => $data){
-      $this->outside_users[$b_dn]['ldif'] ="";
-      if($data['selected']){
-        $dn = base64_decode($b_dn);
-        $d_dn = preg_replace("/,.*$/",",".base64_decode($destination_dep),$dn);
-        if(!$perform){
-          $this->outside_users[$b_dn]['ldif'] = _("User will be moved from").":<br>\t".($ldap->fix($dn))."<br>"._("to").":<br>\t".($ldap->fix($d_dn));
-
-          /* Check if there are references to this object */
-          $ldap->search("(&(member=".LDAP::prepare4filter($dn).")(|(objectClass=gosaGroupOfNames)(objectClass=groupOfNames)))",array('dn'));
-          $refs = "";
-          while($attrs = $ldap->fetch()){
-            $ref_dn = $attrs['dn'];
-            $refs .= "<br />\t".$ref_dn;
-          } 
-          if(!empty($refs)){ 
-            $this->outside_users[$b_dn]['ldif'] .= "<br /><br /><i>"._("The following references will be updated").":</i>".$refs;
-          }
 
-        }else{
-          $this->move($dn,$d_dn);
+            $ldap->cd($cv['base']);
+            if(!$ldap->modify($attrs_new)){
+                msg_dialog::display(_("Migration error"), sprintf(_("Cannot add ACL for user '%s':")."<br><br><i>%s</i>", LDAP::fix($dn), $ldap->get_error()), ERROR_DIALOG);
+                return(FALSE);
+            }else{
+                return(TRUE);
+            }
         }
-      }
-    }
-  }
-  
-
-  function execute()
-  {
-    /* Initialise checks if this is the first call */
-    if(!$this->checks_initialised || isset($_POST['reload'])){
-      $this->initialize_checks();
-      $this->checks_initialised = TRUE;
     }
 
-    /*************
-     * Winstations outside the group ou 
-     *************/
-    
-    if(isset($_POST['outside_winstations_dialog_cancel'])){
-      $this->outside_winstations_dialog = FALSE;
-      $this->dialog = FALSE;
-      $this->show_details = FALSE;
-    }
-   
-    if(isset($_POST['outside_winstations_dialog_whats_done'])){
-      $this->migrate_outside_winstations(FALSE);
-    }
- 
-    if(isset($_POST['outside_winstations_dialog_perform'])){
-      $this->migrate_outside_winstations(TRUE);
-      $this->search_outside_winstations();
-      $this->dialog = FALSE;
-      $this->show_details = FALSE;
-      $this->outside_winstations_dialog = FALSE;
-    }
-
-    if(isset($_POST['outside_winstations_dialog'])){
-      $this->outside_winstations_dialog = TRUE;
-      $this->dialog = TRUE;
-    }
-    
-    if($this->outside_winstations_dialog){
-
-      /* Fix displayed dn syntax */ 
-      $tmp = $this->outside_winstations;
-      foreach($tmp as $key => $data){
-        $tmp[$key]['dn'] = LDAP::fix($data['dn']);
-      }
-
-      $smarty = get_smarty();
-      $smarty->assign("ous",$this->get_all_winstation_ous());
-      $smarty->assign("method","outside_winstations");
-      $smarty->assign("outside_winstations",$tmp);
-      return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-    }
-    /*************
-     * Groups outside the group ou 
-     *************/
-    
-    if(isset($_POST['outside_groups_dialog_cancel'])){
-      $this->outside_groups_dialog = FALSE;
-      $this->show_details = FALSE;
-      $this->dialog = FALSE;
-    }
-   
-    if(isset($_POST['outside_groups_dialog_whats_done'])){
-      $this->show_details= TRUE;
-      $this->migrate_outside_groups(FALSE);
-    }
- 
-    if(isset($_POST['outside_groups_dialog_refresh'])){
-      $this->show_details= FALSE;
-    }
 
-    if(isset($_POST['outside_groups_dialog_perform'])){
-      $this->migrate_outside_groups(TRUE);
-      $this->dialog = FALSE;
-      $this->show_details = FALSE;
-      $this->outside_groups_dialog = FALSE;
-      $this->initialize_checks();
-    }
+    function create_admin_user()
+    {
+        $pw1 = $pw2 = "";
+        $uid = "";
 
-    if(isset($_POST['outside_groups_dialog'])){
-      $this->outside_groups_dialog = TRUE;
-      $this->dialog = TRUE;
-    }
-    
-    if($this->outside_groups_dialog){
-
-      /* Fix displayed dn syntax */ 
-      $tmp = $this->outside_groups;
-      foreach($tmp as $key => $data){
-        $tmp[$key]['dn'] = LDAP::fix($data['dn']);
-      }
-
-      $smarty = get_smarty();
-      $smarty->assign("ous",$this->get_all_group_ous());
-      $smarty->assign("method","outside_groups");
-      $smarty->assign("outside_groups",$tmp);
-      $smarty->assign("group_details", $this->show_details);
-      return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-    }
- 
-    /*************
-     * User outside the people ou 
-     *************/
-    
-    if(isset($_POST['outside_users_dialog_cancel'])){
-      $this->outside_users_dialog = FALSE;
-      $this->dialog = FALSE;
-      $this->show_details = FALSE;
-    }
-   
-    if(isset($_POST['outside_users_dialog_whats_done'])){
-      $this->show_details= TRUE;
-      $this->migrate_outside_users(FALSE);
-    }
- 
-    if(isset($_POST['outside_users_dialog_perform'])){
-      $this->migrate_outside_users(TRUE);
-      $this->initialize_checks();
-      $this->dialog = FALSE;
-      $this->show_details = FALSE;
-      $this->outside_users_dialog = FALSE;
-    }
-
-    if (isset($_POST['outside_users_dialog_refresh'])){
-      $this->show_details= FALSE;
-    }
-
-    if(isset($_POST['outside_users_dialog'])){
-      $this->outside_users_dialog = TRUE;
-      $this->dialog = TRUE;
-    }
-    
-    if($this->outside_users_dialog){
-
-      /* Fix displayed dn syntax */ 
-      $tmp = $this->outside_users;
-      foreach($tmp as $key => $data){
-        $tmp[$key]['dn'] = LDAP::fix($data['dn']);
-      }
-
-      $smarty = get_smarty();
-      $smarty->assign("ous",$this->get_all_people_ous());
-      $smarty->assign("method","outside_users");
-      $smarty->assign("outside_users",$tmp);
-      $smarty->assign("user_details", $this->show_details);
-      return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-    }
- 
-    /*************
-     * Root object check  
-     *************/
-  
-    if(isset($_POST['retry_root_create'])){
-
-      $state = $this->checks['root']['STATUS'];
-      $this->checkBase(FALSE);
-      if($state != $this->checks['root']['STATUS']){
-        $this->initialize_checks();
-      }
-    }
-
-    /*************
-     * Root object class check  
-     *************/
-  
-    if(isset($_POST['root_add_objectclasses'])){
-      $this->rootOC_migrate_dialog = TRUE;
-      $this->dialog = TRUE;
-    }
-    if(isset($_POST['rootOC_dialog_cancel'])){
-      $this->rootOC_migrate_dialog = FALSE;
-      $this->dialog = FALSE;
-    }
-    if(isset($_POST['rootOC_migrate_start'])){
-      if($this->checkBaseOC(FALSE)){
-        $this->checkBaseOC(); // Update overview info
-        $this->dialog = FALSE;
-        $this->rootOC_migrate_dialog = FALSE;
-      }
-    }
+        /* On first call check for rid/sid base */
+        $cv = $this->parent->captured_values;
+        $ldap_l = new LDAP($cv['admin'],
+                $cv['password'],
+                $cv['connection'],
+                FALSE,
+                $cv['tls']);
 
+        $ldap = new ldapMultiplexer($ldap_l);
 
-    if($this->rootOC_migrate_dialog){
-      $smarty = get_smarty();
-      $smarty->assign("details",$this->rootOC_details);
-      $smarty->assign("method","rootOC_migrate_dialog");
-      return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-    }
-
-    /*************
-     * Administrative Account -- Migrate/Create 
-     *************/
-
-    if(isset($_POST['retry_acls'])){
-      $this->check_administrativeAccount();
-    }
-
-    /* Dialog handling */
-    if(isset($_POST['create_acls'])){
-      $this->acl_create_dialog = TRUE;
-      $this->dialog = TRUE;
-    }
-
-    if(isset($_POST['migrate_acls'])){
-      $this->acl_migrate_dialog = TRUE;
-      $this->dialog = TRUE;
-    }
-  
-    if(isset($_POST['create_acls_cancel']) || isset($_POST['migrate_acls_cancel'])){
-      $this->acl_create_dialog = FALSE;
-      $this->acl_migrate_dialog = FALSE;
-      $this->dialog = FALSE;
-      $this->show_details = FALSE;
-    }
-
-    /* Account creation */
-    if(isset($_POST['create_acls_create'])){
-      $this->create_admin(TRUE);
-    }
-
-    if(isset($_POST['create_admin_user'])){
-      if($this->create_admin_user()){
-        $this->dialog = FALSE;
-      $this->show_details = FALSE;
-      }
-    }
-
-    /* Add admin acls for the selected users to the ldap base.
-     */
-    if($this->acl_migrate_dialog && isset($_POST['migrate_admin_user'])){
-
-      /* Update ldap and reload check infos 
-       */
-      $this->migrate_selected_admin_users();
-      $this->dialog = FALSE;
-      $this->acl_migrate_dialog = FALSE;
-
-    }elseif($this->acl_migrate_dialog){
-
-      /* Display admin migration dialog.
-       */
-      $this->migrate_users();
-      $smarty = get_smarty();
-
-      /* Do we have to display the changes
-       */
-      $details = isset($_POST['details']) && $_POST['details'];
-      if(isset($_POST['migrate_acls_show_changes'])){
-        $details = TRUE;
-      }elseif(isset($_POST['migrate_acls_hide_changes'])){
-        $details = FALSE;
-      }
-
-      $smarty->assign("migrate_acl_base_entry", $this->migrate_acl_base_entry);
-      $smarty->assign("details", $details);
-      $smarty->assign("method","migrate_acls");
-      $smarty->assign("migrateable_users",$this->migrate_users);
-      return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-    }
-
-    if($this->acl_create_dialog){
-      $smarty = get_smarty();
-      $uid = "admin";
-      if(isset($_POST['new_user_uid'])){
-        $uid = $_POST['new_user_uid'];
-      }
-      $smarty->assign("new_user_uid",$uid);
-      $smarty->assign("new_user_password",@$_POST['new_user_password']);
-      $smarty->assign("new_user_password2",@$_POST['new_user_password2']);
-      $smarty->assign("method","create_acls");
-      $smarty->assign("acl_create_selected",$this->acl_create_selected);
-      $smarty->assign("what_will_be_done_now",$this->acl_create_changes);
-      return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-    }
-
-    /*************
-     * User Migration handling 
-     *************/
-
-    /* Refresh list of deparments */
-    if(isset($_POST['users_visible_migrate_refresh'])){
-      $this->check_gosaAccounts();
-    }
-
-    /* Open migration dialog */
-    if(isset($_POST['users_visible_migrate'])){
-      $this->show_details= FALSE;
-      $this->users_migration_dialog = TRUE;
-      $this->dialog =TRUE;
-    }
-
-    /* Close migration dialog */
-    if(isset($_POST['users_visible_migrate_close'])){
-      $this->users_migration_dialog = FALSE;
-      $this->dialog =FALSE;
-      $this->show_details = FALSE;
-    }
-
-    /* Start migration */
-    if(isset($_POST['users_visible_migrate_migrate'])){
-      if($this->migrate_gosaAccounts()){
-        $this->initialize_checks();
-        $this->dialog = FALSE;
-        $this->show_details = FALSE;
-        $this->users_migration_dialog = FALSE;
-      }
-    }
-
-    /* Start migration */
-    if(isset($_POST['users_visible_migrate_whatsdone'])){
-      $this->migrate_gosaAccounts(TRUE);
-    }
-
-    /* Display migration dialog */
-    if($this->users_migration_dialog){
-
-      /* Fix displayed dn syntax */ 
-      $tmp = $this->users_to_migrate;
-      foreach($tmp as $key => $data){
-        $tmp[$key]['dn'] = LDAP::fix($data['dn']);
-      }
-
-      $smarty = get_smarty();
-      $smarty->assign("users_to_migrate",$tmp);
-      $smarty->assign("method","migrate_users");
-      $smarty->assign("user_details", $this->show_details);
-      return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-    }
-
-
-    /*************
-     * Department Migration handling 
-     *************/
-
-    /* Refresh list of deparments */
-    if(isset($_POST['deps_visible_migrate_refresh'])){
-      $this->check_organizationalUnits();
-      $this->show_details= FALSE;
-    }
-
-    /* Open migration dialog */
-    if(isset($_POST['deps_visible_migrate'])){
-      $this->dep_migration_dialog = TRUE;
-      $this->dialog =TRUE;
-    }
+        if(isset($_POST['new_user_uid'])){
+            $uid = $_POST['new_user_uid'];
+        }
+        if(isset($_POST['new_user_password'])){
+            $pw1 = $_POST['new_user_password'];
+        }
+        if(isset($_POST['new_user_password2'])){
+            $pw2 = $_POST['new_user_password2'];
+        }
 
-    /* Close migration dialog */
-    if(isset($_POST['deps_visible_migrate_close'])){
-      $this->dep_migration_dialog = FALSE;
-      $this->dialog =FALSE;
-      $this->show_details = FALSE;
-    }
 
-    /* Start migration */
-    if(isset($_POST['deps_visible_migrate_migrate'])){
-      if($this->migrate_organizationalUnits()){
-        $this->show_details= FALSE;
-        $this->check_organizationalUnits();
-        $this->dialog = FALSE;
-        $this->dep_migration_dialog = FALSE;
-      }
-    }
+        $ldap->cd($cv['base']);
+        $ldap->search("(uid=".$uid.")");
+        if($ldap->count()){
+            msg_dialog::display(_("Input error"),msgPool::duplicated(_("UID")), ERROR_DIALOG);
+            return false;
+        }
 
-    /* Start migration */
-    if(isset($_POST['deps_visible_migrate_whatsdone'])){
-      $this->migrate_organizationalUnits(TRUE);
-    }
+        if(empty($pw1) || empty($pw2) | ($pw1 != $pw2)){
+            msg_dialog::display(_("Password error"), _("Provided passwords do not match!"), ERROR_DIALOG);
+            return false;
+        }
 
-    /* Display migration dialog */
-    if($this->dep_migration_dialog){
-      $smarty = get_smarty();
-   
-      /* Fix displayed dn syntax */ 
-      $tmp = $this->deps_to_migrate;
-      foreach($tmp as $key => $data){
-        $tmp[$key]['dn'] = LDAP::fix($data['dn']);
-      }
-
-      $smarty->assign("deps_to_migrate",$tmp);
-      $smarty->assign("method","migrate_deps");
-      $smarty->assign("deps_details", $this->show_details);
-      return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-    }
+        if(!tests::is_uid($uid) || empty($uid)){
+            msg_dialog::display(_("Input error"), _("Specify a valid user ID!"), ERROR_DIALOG);
+            return false;
+        }
 
 
-    /*************
-     * Device migration 
-     *************/
-   
-    if($this->device_dialog) {
-      $this->check_device_posts();
-    }
- 
-    if(isset($_POST['device_dialog_cancel'])){
-      $this->device_dialog = FALSE;
-      $this->show_details = FALSE;
-      $this->dialog = FALSE;
-    }
-   
-    if(isset($_POST['device_dialog_whats_done'])){
-      $this->show_details= TRUE;
-    }
- 
-    if(isset($_POST['device_dialog_refresh'])){
-      $this->show_details= FALSE;
-    }
+        /* Get current base attributes */
+        $ldap->cd($cv['base']);
 
-    if(isset($_POST['migrate_devices'])){
-      $this->migrate_usb_devices();
-#      $this->dialog = FALSE;
- #     $this->show_details = FALSE;
-  #    $this->device_dialog = FALSE;
-   #   $this->initialize_checks();
-    }
+        $people_ou = "ou=people,"; // Thats the property default.
+        $dn = "cn=System Administrator-".$uid.",".$people_ou.$cv['base'];
 
-    if(isset($_POST['device_dialog'])){
-      $this->device_dialog = TRUE;
-      $this->dialog = TRUE;
-    }
-    
-    if($this->device_dialog){
-      $smarty = get_smarty();
-      $smarty->assign("method","devices");
-      $smarty->assign("devices",$this->device);
-      $smarty->assign("device_details", $this->show_details);
-      return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-    }
+        $hash = $hash = passwordMethod::make_hash($pw2, 'crypt/md5');
 
+        $new_user=array();
+        $new_user['objectClass']= array("top","person","gosaAccount","organizationalPerson","inetOrgPerson");
+        $new_user['givenName']  = "System";
+        $new_user['sn']  = "Administrator";
+        $new_user['cn']  = "System Administrator-".$uid;
+        $new_user['uid'] = $uid;
+        $new_user['userPassword'] = $hash;
 
-    /*************
-     * Service migration 
-     *************/
-   
-    if($this->service_dialog) {
-      $this->check_service_posts();
-    }
- 
-    if(isset($_POST['service_dialog_cancel'])){
-      $this->service_dialog = FALSE;
-      $this->show_details = FALSE;
-      $this->dialog = FALSE;
-    }
-   
-    if(isset($_POST['service_dialog_whats_done'])){
-      $this->show_details= TRUE;
-    }
- 
-    if(isset($_POST['service_dialog_refresh'])){
-      $this->show_details= FALSE;
-    }
+        $ldap->cd($cv['base']);
 
-    if(isset($_POST['migrate_services'])){
-      $this->migrate_services();
-#      $this->dialog = FALSE;
- #     $this->show_details = FALSE;
-  #    $this->service_dialog = FALSE;
-   #   $this->initialize_checks();
-    }
+        $ldap->cat($dn,array("dn"));
+        if($ldap->count()){
+            msg_dialog::display(_("Error"), sprintf(_("Adding an administrative user failed: object '%s' already exists!"), LDAP::fix($dn)), ERROR_DIALOG);
+            return(FALSE);  
+        }
 
-    if(isset($_POST['service_dialog'])){
-      $this->service_dialog = TRUE;
-      $this->dialog = TRUE;
-    }
-    
-    if($this->service_dialog){
-      $smarty = get_smarty();
-      $smarty->assign("method","services");
-      $smarty->assign("services",$this->service);
-      $smarty->assign("service_details", $this->show_details);
-      return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-    }
+        $ldap->create_missing_trees(preg_replace("/^[^,]+,/","",$dn));
+        $ldap->cd($dn);  
+        $res = $ldap->add($new_user);
+        $this->acl_create_selected = $dn;
+        $this->create_admin();
 
+        if(!$res){
+            msg_dialog::display(_("LDAP error"), $ldap->get_error(), ERROR_DIALOG);
+            return(FALSE);
+        }
 
-    /*************
-     * Menu migration 
-     *************/
-   
-    if($this->menu_dialog) {
-      $this->check_menu_posts();
-    }
- 
-    if(isset($_POST['menu_dialog_cancel'])){
-      $this->menu_dialog = FALSE;
-      $this->show_details = FALSE;
-      $this->dialog = FALSE;
-    }
-   
-    if(isset($_POST['menu_dialog_whats_done'])){
-      $this->show_details= TRUE;
-    }
- 
-    if(isset($_POST['menu_dialog_refresh'])){
-      $this->show_details= FALSE;
+        $this->acl_create_dialog=FALSE;        
+        $this->check_administrativeAccount();
+        return(TRUE);
     }
 
-    if(isset($_POST['migrate_menus'])){
-      $this->migrate_menus();
-#      $this->dialog = FALSE;
- #     $this->show_details = FALSE;
-  #    $this->menu_dialog = FALSE;
-   #   $this->initialize_checks();
-    }
 
-    if(isset($_POST['menu_dialog'])){
-      $this->menu_dialog = TRUE;
-      $this->dialog = TRUE;
-    }
-    
-    if($this->menu_dialog){
-      $smarty = get_smarty();
-      $smarty->assign("method","menus");
-      $smarty->assign("menus",$this->menu);
-      $smarty->assign("menu_details", $this->show_details);
-      return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-    }
+    function execute()
+    {
+        /* Initialise checks if this is the first call */
+        if(!$this->checks_initialised || isset($_POST['test'])){
+            $this->initialize_checks();
+            $this->checks_initialised = TRUE;
+        }
 
-    $smarty = get_smarty();
-    $smarty->assign("checks",$this->checks);
-    $smarty->assign("method","default");
-    return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
-  }
 
+        /*************
+         * Root object check  
+         *************/
 
-  function save_object()
-  {
-    $this->is_completed= TRUE;
+        if(isset($_POST['retry_root_create'])){
 
-    /* Capture all selected winstations from outside_winstations_dialog */
-    if($this->outside_winstations_dialog){
-      foreach($this->outside_winstations as $dn => $data){
-        if(isset($_POST['select_winstation_'.$dn])){
-          $this->outside_winstations[$dn]['selected'] = TRUE;
-        }else{
-          $this->outside_winstations[$dn]['selected'] = FALSE;
+            $state = $this->checks['root']['STATUS'];
+            $this->checkBase(FALSE);
+            if($state != $this->checks['root']['STATUS']){
+                $this->initialize_checks();
+            }
         }
-      }
-    }
 
-    /* Capture all selected groups from outside_groups_dialog */
-    if($this->outside_groups_dialog){
-      foreach($this->outside_groups as $dn => $data){
-        if(isset($_POST['select_group_'.$dn])){
-          $this->outside_groups[$dn]['selected'] = TRUE;
-        }else{
-          $this->outside_groups[$dn]['selected'] = FALSE;
-        }
-      }
-    }
+        /*************
+         * Root object class check  
+         *************/
 
-    /* Capture all selected users from outside_users_dialog */
-    if($this->outside_users_dialog){
-      foreach($this->outside_users as $dn => $data){
-        if(isset($_POST['select_user_'.$dn])){
-          $this->outside_users[$dn]['selected'] = TRUE;
-        }else{
-          $this->outside_users[$dn]['selected'] = FALSE;
+        if(isset($_POST['root_add_objectclasses'])){
+            $this->rootOC_migrate_dialog = TRUE;
+            $this->dialog = TRUE;
         }
-      }
-    }
-
-    /* Get "create acl" dialog posts */
-    if($this->acl_create_dialog){
-
-      if(isset($_POST['create_acls_create_abort'])){
-        $this->acl_create_selected = "";
-      }
-    }
-
-    /* Get selected departments */
-    if($this->dep_migration_dialog){
-      foreach($this->deps_to_migrate as $id => $data){
-        if(isset($_POST['migrate_'.$id])){
-          $this->deps_to_migrate[$id]['checked'] = TRUE;
-        }else{
-          $this->deps_to_migrate[$id]['checked'] = FALSE;
+        if(isset($_POST['rootOC_dialog_cancel'])){
+            $this->rootOC_migrate_dialog = FALSE;
+            $this->dialog = FALSE;
         }
-      }
-    }
-
-    /* Get selected users */
-    if($this->users_migration_dialog){
-      foreach($this->users_to_migrate as $id => $data){
-        if(isset($_POST['migrate_'.$id])){
-          $this->users_to_migrate[$id]['checked'] = TRUE;
-        }else{
-          $this->users_to_migrate[$id]['checked'] = FALSE;
+        if(isset($_POST['rootOC_migrate_start'])){
+            if($this->checkBaseOC(FALSE)){
+                $this->checkBaseOC(); // Update overview info
+                $this->dialog = FALSE;
+                $this->rootOC_migrate_dialog = FALSE;
+            }
         }
-      }
-    }
-  }
-
-
-  /* Check if the root object exists.
-   * If the parameter just_check is true, then just check if the 
-   *  root object is missing and update the info messages.
-   * If the Parameter is false, try to create a new root object.
-   */
-  function checkBase($just_check = TRUE)
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* Check if root object exists */
-    $ldap->cd($cv['base']);
-    $ldap->set_size_limit(1);
-    $res = $ldap->search("(objectClass=*)");
-    $ldap->set_size_limit(0);
-    $err = ldap_errno($ldap->cid); 
-
-    if( !$res || 
-        $err == 0x20 ||  # LDAP_NO_SUCH_OBJECT
-        $err == 0x40) {  # LDAP_NAMING_VIOLATION
-
-      /* Root object doesn't exists 
-       */
-      if($just_check){
-        $this->checks['root']['STATUS']    = FALSE;
-        $this->checks['root']['STATUS_MSG']= _("Failed");
-        $this->checks['root']['ERROR_MSG'] =  _("The LDAP root object is missing. It is required to use your LDAP service.").' ';
-        $this->checks['root']['ERROR_MSG'].=  "<input type='submit' name='retry_root_create' value='"._("Try to create root object")."'>";
-        return(FALSE);
-      }else{
-
-        /* Add root object */ 
-        $ldap->cd($cv['base']);
-        $res = $ldap->create_missing_trees($cv['base']);
-
-        /* If adding failed, tell the user */
-        if(!$res){
-          $this->checks['root']['STATUS']    = FALSE;
-          $this->checks['root']['STATUS_MSG']= _("Failed");
-          $this->checks['root']['ERROR_MSG'] = _("Root object couldn't be created, you should try it on your own.");
-          $this->checks['root']['ERROR_MSG'].= " <input type='submit' name='retry_root_create' value='"._("Try to create root object")."'>";
-          return($res);;
+        if($this->rootOC_migrate_dialog){
+            $smarty = get_smarty();
+            $smarty->assign("details",$this->rootOC_details);
+            $smarty->assign("method","rootOC_migrate_dialog");
+            return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
         }
-      }
-    }
-
-    /* Create & remove of dummy object was successful */
-    $this->checks['root']['STATUS']    = TRUE;
-    $this->checks['root']['STATUS_MSG']= _("Ok");
-  }
-
-
-  /* Check if the root object includes the required object classes, e.g. gosaDepartment is required for ACLs.
-   * If the parameter just_check is true, then just check for the OCs. 
-   * If the Parameter is false, try to add the required object classes.
-   */
-  function checkBaseOC($just_check = TRUE)
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* Check if root object exists */
-    $ldap->cd($cv['base']);
-    $ldap->cat($cv['base']);
-    if(!$ldap->count()){
-      $this->checks['rootOC']['STATUS']    = FALSE;
-      $this->checks['rootOC']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['rootOC']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-      return;
-    }
-
-    $attrs = $ldap->fetch();
-
-    /* Root object doesn't exists 
-     */
-    if(!in_array("gosaDepartment",$attrs['objectClass'])){
-      if($just_check){
 
-        $this->rootOC_details = array();	
-        $mods = array();
+        /*************
+         * Administrative Account -- Migrate/Create 
+         *************/
 
-        /* Get list of possible container objects, to be able to detect naming 
-         *  attributes and missing attribute types.
-         */
-        if(!class_available("departmentManagement")){
-          $this->checks['rootOC']['STATUS']    = FALSE;
-          $this->checks['rootOC']['STATUS_MSG']= _("Failed");
-          $this->checks['rootOC']['ERROR_MSG'] = sprintf(_("Missing GOsa object class '%s'!"),"departmentManagement").
-            " "._("Please check your installation.");
-          return;
+        if(isset($_POST['retry_acls'])){
+            $this->check_administrativeAccount();
         }
 
-        /* Try to detect base class type, e.g. is it a dcObject.
-         */
-        $dep_types = departmentManagement::get_support_departments();
-        $dep_type ="";
-        foreach($dep_types as $dep_name => $dep_class){
-          if(in_array($dep_class['CLASS'], $attrs['objectClass'])){
-            $dep_type = $dep_name;
-            break;
-          }
+        /* Dialog handling */
+        if(isset($_POST['create_acls'])){
+            $this->acl_create_dialog = TRUE;
+            $this->dialog = TRUE;
         }
 
-        /* If no known base class was detect, abort with message
-         */	
-        if(empty($dep_type)){
-          $this->checks['rootOC']['STATUS']    = FALSE;
-          $this->checks['rootOC']['STATUS_MSG']= _("Failed");
-          $this->checks['rootOC']['ERROR_MSG'] = 
-            sprintf(_("Cannot handle the structural object type of your root object. Please try to add the object class '%s' manually."),"gosaDepartment");
-          return;
+        if(isset($_POST['migrate_acls'])){
+            $this->acl_migrate_dialog = TRUE;
+            $this->dialog = TRUE;
         }
 
-        /* Create 'current' and 'target' object properties, to be able to display 
-         *  a set of modifications required to create a valid GOsa department.
-         */	
-        $str = "dn: ".$cv['base']."\n";
-        for($i = 0 ; $i<$attrs['objectClass']['count'];$i++){
-          $str .= "objectClass: ".$attrs['objectClass'][$i]."\n";
+        if(isset($_POST['create_acls_cancel']) || isset($_POST['migrate_acls_cancel'])){
+            $this->acl_create_dialog = FALSE;
+            $this->acl_migrate_dialog = FALSE;
+            $this->dialog = FALSE;
+            $this->show_details = FALSE;
         }
-        $this->rootOC_details['current'] = $str;
 
-        /* Create target infos 
-         */
-        $str = "dn: ".$cv['base']."\n";
-        for($i = 0 ; $i<$attrs['objectClass']['count'];$i++){
-          $str .= "objectClass: ".$attrs['objectClass'][$i]."\n";
-          $mods['objectClass'][] = $attrs['objectClass'][$i];
+        /* Account creation */
+        if(isset($_POST['create_acls_create'])){
+            $this->create_admin(TRUE);
         }
-        $mods['objectClass'][] = "gosaDepartment";
-        $str .= "<b>objectClass: gosaDepartment</b>\n";
 
-        /* Append attribute 'ou', it is required by gosaDepartment
-         */
-        if(!isset($attrs['ou'])){
-          $val = "GOsa";
-          if(isset($attrs[$dep_types[$dep_type]['ATTR']][0])){
-            $val = $attrs[$dep_types[$dep_type]['ATTR']][0];
-          }
-          $str .= "<b>ou: ".$val."</b>\n";
-          $mods['ou'] =$val;
-        }
-
-        /*Append description, it is required by gosaDepartment too.
-         */
-        if(!isset($attrs['description'])){
-          $val = "GOsa";
-          if(isset($attrs[$dep_types[$dep_type]['ATTR']][0])){
-            $val = $attrs[$dep_types[$dep_type]['ATTR']][0];
-          }
-          $str .= "<b>description: ".$val."</b>\n";
-          $mods['description'] = $val;
+        if(isset($_POST['create_admin_user'])){
+            if($this->create_admin_user()){
+                $this->dialog = FALSE;
+                $this->show_details = FALSE;
+            }
         }
-        $this->rootOC_details['target'] = $str;
-        $this->rootOC_details['mods'] = $mods;
 
-        /*  Add button that allows to open the migration details
+        /* Add admin acls for the selected users to the ldap base.
          */
-        $this->checks['rootOC']['STATUS']    = FALSE;
-        $this->checks['rootOC']['STATUS_MSG']= _("Failed");
-        $this->checks['rootOC']['ERROR_MSG'] = " <input type='submit' 
-          name='root_add_objectclasses' value='"._("Migrate")."'>";
-
-        return(FALSE);
-      }else{
-
-        /* Add root object */ 
-        $ldap->cd($cv['base']);
-        if(isset($this->rootOC_details['mods'])){
-          $res  = $ldap->modify($this->rootOC_details['mods']);	
-          if(!$res){
-            msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $cv['base'], LDAP_MOD, get_class()));
-          }
-          $this->checkBaseOC();
-          $this->check_administrativeAccount();
-          return($res);
-        }else{
-          trigger_error("No modifications to make... ");
-        }
-      }
-      return(TRUE);
-    }
-
-    /* Create & remove of dummy object was successful */
-    $this->checks['rootOC']['STATUS']    = TRUE;
-    $this->checks['rootOC']['STATUS_MSG']= _("Ok");
-    $this->checks['rootOC']['ERROR_MSG'] = "";
-  }
-
-
-  /* Return ldif information for a 
-   * given attribute array 
-   */
-  function array_to_ldif($atts)
-  {
-    $ret = "";
-    unset($atts['count']);
-    unset($atts['dn']);
-    foreach($atts as $name => $value){
-      if(is_numeric($name)) {
-        continue;
-      }
-      if(is_array($value)){
-        unset($value['count']);
-        foreach($value as $a_val){
-          $ret .= $name.": ". $a_val."\n";
-        }
-      }else{
-        $ret .= $name.": ". $value."\n";
-      }
-    }
-    return(preg_replace("/\n$/","",$ret));
-  }
-
-
-  function get_user_list()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-    $ldap->cd($cv['base']);
-    $ldap->search("(objectClass=gosaAccount)",array("dn"));
-  
-    $tmp = array();
-    while($attrs = $ldap->fetch()){
-      $tmp[base64_encode($attrs['dn'])] = LDAP::fix($attrs['dn']);
-    }
-    return($tmp);
-  }
-
-
- function get_all_people_ous()
-  {
-    /* Get collected configuration settings */
-    $cv = $this->parent->captured_values;
-    $people_ou = trim($cv['peopleou']);
-
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /*****************
-     * If people ou is NOT empty
-     * search for for all objects matching the given container
-     *****************/
-    if(!empty($people_ou)){
-      $ldap->search("(".$people_ou.")",array("dn"));
-
-      /* Create people ou if there is currently none */
-      if($ldap->count() == 0 ){
-        $add_dn = $cv['peopleou'].",".$cv['base'];
-        $naming_attr = preg_replace("/=.*$/","",$add_dn);
-        $naming_value = preg_replace("/^[^=]*+=([^,]*).*$/","\\1",$add_dn);
-        $add = array();
-        $add['objectClass'] = array("organizationalUnit");
-        $add[$naming_attr] = $naming_value;
-        $ldap->cd($cv['base']);
-        $ldap->create_missing_trees(preg_replace("/^[^,]+,/","",$add_dn));
-        $ldap->cd($add_dn);
-        $ldap->add($add);
-      }
-
-      /* Create result */
-      $ldap->search("(".$cv['peopleou'].")",array("dn"));
-      $tmp = array();
-      while($attrs= $ldap->fetch()){
-        if(!preg_match("/ou=snapshots,/",$attrs['dn'])){
-          $tmp[base64_encode($attrs['dn'])] = $ldap->fix($attrs['dn']);
-        }
-      }
-    } else{
-
-      /************
-       * If people ou is empty
-       * Get all valid gosaDepartments
-       ************/
-      $ldap->cd($cv['base']);
-      $tmp = array();
-      $ldap->search("(&(objectClass=gosaDepartment)(ou=*))",array("dn"));
-      $tmp[base64_encode($cv['base'])] = $ldap->fix($cv['base']);
-      while($attrs = $ldap->fetch()){
-        $tmp[base64_encode($attrs['dn'])] = $ldap->fix($attrs['dn']);;
-      }
-    }
-    return($tmp);
-  }
-
-
-  function get_all_winstation_ous()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* Get winstation ou */
-    if($cv['generic_settings']['wws_ou_active']) {
-      $winstation_ou = $cv['generic_settings']['wws_ou'];
-    }else{
-      $winstation_ou = "ou=winstations";
-    }
-
-    $ldap->cd($cv['base']);
-    $ldap->search("(".$winstation_ou.")",array("dn"));
-  
-    if($ldap->count() == 0 ){
-      $add_dn = $winstation_ou.",ou=systems,".$cv['base'];
-      $naming_attr = preg_replace("/=.*$/","",$add_dn);
-      $naming_value = preg_replace("/^[^=]*+=([^,]*).*$/","\\1",$add_dn);
-      $add = array();
-      $add['objectClass'] = array("organizationalUnit");
-      $add[$naming_attr] = $naming_value;
-
-      $ldap->cd($cv['base']);
-      $ldap->create_missing_trees(preg_replace("/^[^,]+,/","",$add_dn));
-      $ldap->cd($add_dn);
-      $ldap->add($add);
-    }
-
-    $ldap->search("(".$winstation_ou.")",array("dn"));
-    $tmp = array();
-    while($attrs= $ldap->fetch()){
-      if(!preg_match("/ou=snapshots,/",$attrs['dn'])){
-        $tmp[base64_encode($attrs['dn'])] = $ldap->fix($attrs['dn']);
-      }
-    }
-    return($tmp); 
-  }
+        if($this->acl_migrate_dialog && isset($_POST['migrate_admin_user'])){
 
+            /* Update ldap and reload check infos 
+             */
+            $this->migrate_selected_admin_users();
+            $this->dialog = FALSE;
+            $this->acl_migrate_dialog = FALSE;
 
- function get_all_group_ous()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    $group_ou = trim($cv['groupou']);
-    if(!empty($group_ou)){
-      $group_ou = trim($group_ou);
-    }
-
-    /************
-     * If group ou is NOT empty
-     * Get all valid group ous, create one if necessary
-     ************/
-    $ldap->cd($cv['base']);
-    if(!empty($group_ou)){
-      $ldap->search("(".$group_ou.")",array("dn"));
-      if($ldap->count() == 0 ){
-        $add_dn = $group_ou.$cv['base'];
-        $naming_attr = preg_replace("/=.*$/","",$add_dn);
-        $naming_value = preg_replace("/^[^=]*+=([^,]*).*$/","\\1",$add_dn);
-        $add = array();
-        $add['objectClass'] = array("organizationalUnit");
-        $add[$naming_attr] = $naming_value;
-
-        $ldap->cd($cv['base']);
-        $ldap->create_missing_trees(preg_replace("/^[^,]+,/","",$add_dn));
-        $ldap->cd($add_dn);
-        $ldap->add($add);
-      }
-      $ldap->search("(".$group_ou.")",array("dn"));
-      $tmp = array();
-      while($attrs= $ldap->fetch()){
-        if(!preg_match("/ou=snapshots,/",$attrs['dn'])){
-          $tmp[base64_encode($attrs['dn'])] = $ldap->fix($attrs['dn']);
-        }
-      }
-    }else{
-      /************
-       * If group ou is empty
-       * Get all valid gosaDepartments
-       ************/
-      $ldap->cd($cv['base']);
-      $tmp = array();
-      $ldap->search("(&(objectClass=gosaDepartment)(ou=*))",array("dn"));
-      $tmp[base64_encode($cv['base'])] = $ldap->fix($cv['base']);
-      while($attrs = $ldap->fetch()){
-        $tmp[base64_encode($attrs['dn'])] = $ldap->fix($attrs['dn']);;
-      }
-    }
-    return($tmp);
-  }
-
-
-  function get_group_list()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-    
-    $ldap->cd($cv['base']);
-    $ldap->search("(objectClass=posixGroup)",array("dn"));
-  
-    $tmp = array();
-    while($attrs = $ldap->fetch()){
-      $tmp[base64_encode($attrs['dn'])] = LDAP::fix($attrs['dn']);
-    }
-    return($tmp);
-  }
-
-
-  function move($source,$destination)
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-     /* Update object references in gosaGroupOfNames */
-    $ogs_to_fix = array();
-    $ldap->cd($cv['base']);
-    $ldap->search('(&(objectClass=gosaGroupOfNames)(member='. at LDAP::prepare4filter($source).'))', array('cn','member'));
-    while ($attrs= $ldap->fetch()){
-      $dn = $attrs['dn'];
-      $attrs = $this->cleanup_array($attrs);
-      $member_new = array($destination);
-      foreach($attrs['member'] as $member){
-        if($member != $source){
-          $member_new[] = $member;
-        }
-      }
-      $attrs['member'] = $member_new;
-      $ogs_to_fix[$dn] = $attrs;
-    }
-
-    /* Copy source to destination dn */
-    $ldap->cat($source);
-    $new_data = $this->cleanup_array($ldap->fetch());
-    $ldap->cd($destination);
-    $res = $ldap->add($new_data);
-
-    /* Display warning if copy failed */
-    if(!$res){
-      msg_dialog::display(_("LDAP error"), sprintf(_("Copy '%s' to '%s' failed:")."<br><br><i>%s</i>", LDAP::fix($source), LDAP::fix($destination), $ldap->get_error()), ERROR_DIALOG);
-    }else{
-      $res = $ldap->rmDir($source);
-      if (!$ldap->success()){
-        msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $source, LDAP_DEL, get_class()));
-      }
-
-      /* Object is copied, so update its references */
-      foreach($ogs_to_fix as $dn => $data){
-        $ldap->cd($dn);
-        $ldap->modify($data);
-      }
-    }
-  }
-
-
-  /* Cleanup ldap result to be able to write it be to ldap */
-  function cleanup_array($attrs)
-  {
-    foreach($attrs as $key => $value) {
-      if(is_numeric($key) || in_array($key,array("count","dn"))){
-        unset($attrs[$key]);
-      }
-      if(is_array($value) && isset($value['count'])){
-        unset($attrs[$key]['count']);
-      }
-    }
-    return($attrs);
-  }
-
-
-  /*! \brief  Act in posts from the device migration dialog 
-   */
-  function check_device_posts()
-  {
-    foreach($this->device as $key => $device){
-      if(isset($_POST["migrate_".$key])){
-        $this->device[$key]['DETAILS'] =TRUE;
-      }else{
-        $this->device[$key]['DETAILS'] =FALSE;
-      }
-    }
-  }
-
-
-  /*! \brief  Check for old style (gosa-2.5) devices.
-              Save readable informations and a list of migratable devices 
-               in $this->devices.
-   */
-  function check_usb_devices ()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-    $ldap->cd($cv['base']);
-    $res = $ldap->search("(&(|(objectClass=posixAccount)(objectClass=posixGroup))(gotoHotplugDevice=*))",
-        array("cn","gotoHotplugDevice","gosaUnitTag"));
-
-    if(!$res){
-      $this->checks['old_style_devices']['STATUS']    = FALSE;
-      $this->checks['old_style_devices']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['old_style_devices']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-      return;
-    }
+        }elseif($this->acl_migrate_dialog){
 
+            /* Display admin migration dialog.
+             */
+            $this->migrate_users();
+            $smarty = get_smarty();
 
-    /* If adding failed, tell the user */
-    if($ldap->count()){
-  
-      $this->device = array();
-      while($attrs = $ldap->fetch()){
-
-        for ($j= 0; $j < $attrs['gotoHotplugDevice']['count']; $j++){
-
-          $after  = "";
-          $current= "";
-
-          $entry= $attrs['gotoHotplugDevice'][$j];
-
-          @list($name,$desc,$serial,$vendor,$product) = explode('|', $entry);
-  
-          $add = 1;
-          $new_name  = $name;
-          while(isset($dest[$new_name])){
-            $new_name = $name."_".$add;
-            $add ++;
-          }
-          $name = $new_name;
-          $newdn= "cn=$name,ou=devices,".preg_replace('/^[^,]+,/', '', $attrs['dn']);
-
-          if (!isset($dest[$name])){
-            $dest[$name]= $newdn;
-
-            $current.= "dn: ".$attrs['dn']."\n"; 
-    
-            for ($c= 0; $c < $attrs['gotoHotplugDevice']['count']; $c++){
-              if($c == $j){
-                $current.= "<b>gotoHotplugDevice: ".$attrs['gotoHotplugDevice'][$c]."</b>\n"; 
-              }else{
-                $current.= "gotoHotplugDevice: ".$attrs['gotoHotplugDevice'][$c]."\n"; 
-              }
+            /* Do we have to display the changes
+             */
+            $details = isset($_POST['details']) && $_POST['details'];
+            if(isset($_POST['migrate_acls_show_changes'])){
+                $details = TRUE;
+            }elseif(isset($_POST['migrate_acls_hide_changes'])){
+                $details = FALSE;
             }
 
-            $after.= "dn: $newdn\n";
-            $after.= "changetype: add\n";
-            $after.= "objectClass: top\n";
-            $after.= "objectClass: gotoDevice\n";
-            if (isset($attrs['gosaunittag'][0])){
-              $after.= "objectClass: gosaAdminiafter\n";
-              $after.= "gosaUnitTag: ".$attrs['gosaunittag'][0]."\n";
-            }
-            $after.= "cn: $name\n";
-            $after.= "gotoHotplugDevice: $desc|$serial|$vendor|$product\n\n";
-
-            $this->device[] = array(
-                'CURRENT'     =>  $current,
-                'AFTER'       => $after,
-                'OLD_DEVICE'  => $entry,
-                'DN'          => $attrs['dn'],
-                'NEW_DN'      => $newdn,
-                'DEVICE_NAME' => $name,
-                'DETAILS'     => FALSE);
-          }
+            $smarty->assign("migrate_acl_base_entry", $this->migrate_acl_base_entry);
+            $smarty->assign("details", $details);
+            $smarty->assign("method","migrate_acls");
+            $smarty->assign("migrateable_users",$this->migrate_users);
+            return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
         }
-      }
-
-      $this->checks['old_style_devices']['STATUS']    = FALSE;
-      $this->checks['old_style_devices']['STATUS_MSG']= "<font style='color:#F0A500'>"._("Warning")."</font>";
-      $this->checks['old_style_devices']['ERROR_MSG'] = 
-        sprintf(_("There are %s devices that need to be migrated."),count($this->device)).
-          "<input type='submit' name='device_dialog' value='"._("Migrate")."'>";
-    }else{
-      $this->checks['old_style_devices']['STATUS']    = TRUE;
-      $this->checks['old_style_devices']['STATUS_MSG']= _("Ok");
-      $this->checks['old_style_devices']['ERROR_MSG'] = "";
-    }
-  }
-
-
-  /*! \brief  Migrate all selected devices. 
-              Execute all required ldap actions to migrate the 
-               selected devices.
-   */
-  function migrate_usb_devices ()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* Walk through migrateable devices and initiate migration for all 
-        devices that are checked (DETAILS==TRUE) 
-     */
-    foreach($this->device as $key => $device){
-      if($device['DETAILS']){
-
-        /* Get source object and verify that the specified device is a 
-            member attribute of it. 
-         */
-        $ldap->cd($cv['base']);
-        $ldap->cat($device['DN']);
-        $attrs = $ldap->fetch();
-        if(in_array($device['OLD_DEVICE'],$attrs['gotoHotplugDevice'])){
-
-          /* Create new hotplug device object 'gotoDevice'
-           */ 
-          @list($name,$desc,$serial,$vendor,$product) = explode('|', $device['OLD_DEVICE']);    
-          $newdn = $device['NEW_DN'];
-          $new_attr = array();
-          $new_attr['cn'] = $device['DEVICE_NAME'];
-          $new_attr['objectClass'] = array('top','gotoDevice');
-          $new_attr['gotoHotplugDevice'] = "$desc|$serial|$vendor|$product";
-
-          /* Add new object 
-           */
-          $ldap->cd($cv['base']);
-          $ldap->create_missing_trees(preg_replace("/^[^,]+,/","",$newdn));
-          $ldap->cd($newdn);
-          $ldap->add($new_attr);
-
-          /* Throw an error message if the action failed. 
-           */
-          if(!$ldap->success()){
-            msg_dialog::display(_("LDAP error"), 
-                sprintf(_("Adding '%s' to the LDAP failed: %s"),
-                  "<b>".LDAP::fix($newdn)."</b>", 
-                  "<br><br><i>".$ldap->get_error()."</i>"), ERROR_DIALOG);
-          }else{
-
-            /* Remove old style device definition from source object. 
-             */
-            $update['gotoHotplugDevice'] = array();
-            for($i = 0 ; $i < $attrs['gotoHotplugDevice']['count'] ; $i++){
-              if($attrs['gotoHotplugDevice'][$i] == $device['OLD_DEVICE']){
-                 continue;
-              }
-              $update['gotoHotplugDevice'][] = $attrs['gotoHotplugDevice'][$i];
-            }
 
-            $ldap->cd($device['DN']);
-            $ldap->modify($update);
-            $ldap->cat($device['DN'],array("gotoHotplugDevice"));
-            if(!$ldap->success()){
-              msg_dialog::display(_("LDAP error"), 
-                  sprintf(_("Updating '%s' failed: %s"),
-                    "<b>".LDAP::fix($device['DN'])."</b>", 
-                    "<br><br><i>".$ldap->get_error()."</b>"), ERROR_DIALOG);
-            }else{
-              unset($this->device[$key]);
+        if($this->acl_create_dialog){
+            $smarty = get_smarty();
+            $uid = "admin";
+            if(isset($_POST['new_user_uid'])){
+                $uid = $_POST['new_user_uid'];
             }
-          }
+            $smarty->assign("new_user_uid",$uid);
+            $smarty->assign("new_user_password",@$_POST['new_user_password']);
+            $smarty->assign("new_user_password2",@$_POST['new_user_password2']);
+            $smarty->assign("method","create_acls");
+            $smarty->assign("acl_create_selected",$this->acl_create_selected);
+            $smarty->assign("what_will_be_done_now",$this->acl_create_changes);
+            return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
         }
-      }
-    }
-    $this->check_usb_devices();
-  }
-
-
-  /*! \brief  Check for old style (gosa-2.5) services that have to be migrated
-               to be useable in gosa-2.6.
-              All required changes are stored in $this->service, also some
-               readable informations describing the actions required 
-               to migrate the service
-   */
-  function check_services()
-  {
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-    $this->service = array();
-
-    /* Check for Ldap services that must be migrated 
-     */ 
-    $ldap->cd($cv['base']);
-    $res = $ldap->search("(objectClass=goLdapServer)", array("goLdapBase", "cn"));
-
-    /* Check if we were able to query the ldap server 
-     */
-    if(!$res){
-      $this->checks['old_style_services']['STATUS']    = FALSE;
-      $this->checks['old_style_services']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['old_style_services']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-      return;
-    }
-
-    /* Walk through each configured ldap server 
-        and check if it is configured correctly.
-     */
-    while($attrs = $ldap->fetch()){
-      $dn= $attrs['dn'];
-      $uri= $attrs['goLdapBase'][0];
-      if (! preg_match("!^ldaps?://!", $uri)){
-        $this->service[] = array(
-            "TYPE"    => "modify" , 
-            "DN"      => $dn, 
-            "DETAILS" => FALSE, 
-            "ATTRS"   => array("goLdapBase" => "ldap://".$attrs['cn'][0]."/$uri"),
-            "CURRENT" => "goLdapBase: ".$uri,
-            "AFTER"   => "goLdapBase: "."ldap://".$attrs['cn'][0]."/$uri");
-      }
-    }
 
-    /* Other sevices following here later ...maybe
-     */
 
-    /*  Update status message
-     */
-    if(count($this->service)){
-      $this->checks['old_style_services']['STATUS']    = FALSE;
-      $this->checks['old_style_services']['STATUS_MSG']= "<font style='color:#F0A500'>"._("Warning")."</font>";
-      $this->checks['old_style_services']['ERROR_MSG'] =
-        sprintf(_("There are %s services that need to be migrated."),
-            count($this->service)).
-        "<input type='submit' name='service_dialog' value='"._("Migrate")."'>";
-    }else{
-      $this->checks['old_style_services']['STATUS']    = TRUE;
-      $this->checks['old_style_services']['STATUS_MSG']= _("Ok");
-      $this->checks['old_style_services']['ERROR_MSG'] = "";
+        $smarty = get_smarty();
+        $smarty->assign("checks",$this->checks);
+        $smarty->assign("method","default");
+        return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__))));
     }
-  }
 
 
-  
-  /*! \brief  Migrate selected services.
-              This function executes the commands collected by the 
-               service_check() function.
-   */
-  function migrate_services()
-  {
-    /* Establish ldap connection 
-     */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
+    function save_object()
+    {
+        $this->is_completed= TRUE;
 
-    $ldap = new ldapMultiplexer($ldap_l);
 
-    /* Handle each service 
-     */
-    foreach($this->service as $key => $service){
-      if($service['DETAILS']){
+        /* Get "create acl" dialog posts */
+        if($this->acl_create_dialog){
 
-        /* Handle modify requests 
-         */
-        if($service['TYPE'] == "modify"){
-          $ldap->cd($service['DN']);
-          $ldap->modify($service['ATTRS']);
-
-          /* Check if everything done was successful 
-           */
-          if(!$ldap->success()){
-            msg_dialog::display(_("LDAP error"), 
-                sprintf(_("Updating '%s' failed: %s"),
-                  "<b>".LDAP::fix($service['DN'])."</b>", 
-                  "<br><br><i>".$ldap->get_error()."</b>"), ERROR_DIALOG);
-          }else{
-        
-            /* Remove action from list 
-             */
-            unset($this->service[$key]);
-          }
+            if(isset($_POST['create_acls_create_abort'])){
+                $this->acl_create_selected = "";
+            }
         }
-      }
-    }
-
-    /* Update the service migration status 
-     */
-    $this->check_services();
-  }
-
-
-  /*! \brief  Ensure that posts made on the service migration dialog 
-               are processed.
-   */
-  function check_service_posts()
-  {
-    foreach($this->service as $key => $service){
-      if(isset($_POST["migrate_".$key])){
-        $this->service[$key]['DETAILS'] =TRUE;
-      }else{
-        $this->service[$key]['DETAILS'] =FALSE;
-      }
-    }
-  }
-
-
-  /*! \brief  This function checks the given ldap for old style (gosa-2.5) 
-               menu entries and will prepare a list of actions that are required
-               to migrate them to gosa-2.6.
-              All required actions and some readable informations are stored in 
-               $this->menu.
-   */
-  function check_menus()
-  {
-    /* Establish ldap connection
-     */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* First detect all release names 
-     */
-    $ldap->cd($cv['base']);
-    $res = $ldap->search("(&(objectClass=organizational)(objectClass=FAIbranch))",array("ou","objectClass"));
-
-    /* Check if we were able to query the ldap server
-     */
-    if(!$res){
-      $this->checks['old_style_menus']['STATUS']    = FALSE;
-      $this->checks['old_style_menus']['STATUS_MSG']= _("LDAP query failed");
-      $this->checks['old_style_menus']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
-      return;
-    }
 
-    /* Create application -> parameter mapping, used later to detect 
-        which configured parameter belongs to which application entry.
-     */
-    $amap= array();
-    $todo = array();
-    $ldap->cd($cv['base']);
-    $ldap->search("(objectClass=gosaApplication)", array("cn", "gosaApplicationParameter"));
-    while($info = $ldap->fetch()){
-      if (isset($info['gosaApplicationParameter']['count'])){
-        for ($j= 0; $j < $info['gosaApplicationParameter']['count']; $j++){
-          $p= preg_replace("/^([^:]+):.*$/", "$1", $info['gosaApplicationParameter'][$j]);
-
-          if(!isset($amap[$info['cn'][0]]) || !in_array($p, $amap[$info['cn'][0]])){
-            $amap[$info['cn'][0]][]= $p;
-          }
-        }
-      } else {
-        $amap[$info['cn'][0]]= array();
-      }
     }
 
-    /* Search for all groups that have an old style application menu configured.
-     */  
-    $appgroups = array();
-    $ldap->cd($cv['base']);
-    $ldap->search("(&(objectClass=gosaApplicationGroup)(objectClass=posixGroup)(FAIrelease=*))",
-        array("gosaMemberApplication","gosaApplicationParameter","FAIrelease","objectClass","gosaUnitTag"));
-
-    /* Create readable prefix for "What will be done" infos 
-     */
-    $s_add = "<i>"._("Add")."</i>\t";
-    $s_del = "<i>"._("Remove")."</i>\t";
 
-    /* Walk through all found old-style menu configurations.
-        -Prepare ldap update list     $data   
-        -Prepare printable changes    $after/$current
+    /* Check if the root object exists.
+     * If the parameter just_check is true, then just check if the 
+     *  root object is missing and update the info messages.
+     * If the Parameter is false, try to create a new root object.
      */
-    while($info = $ldap->fetch()){
-
-      $data = array();
-      $current = "";
-      $after ="";
-
-      /* Get unit tag 
-       */
-      $tag ="";
-      if(isset($info['gosaUnitTag'])){
-        $tag = $info['gosaUnitTag'][0];
-      }
-
-      /* Collect application parameter for this group
-       */
-      $params= array();
-      if(isset($info['gosaApplicationParameter'])){
-        for ($i= 0; $i < $info['gosaApplicationParameter']['count']; $i++){
-          $name= preg_replace("/^([^:]+):.*$/", "$1", $info['gosaApplicationParameter'][$i]);
-          $params[$name]= $info['gosaApplicationParameter'][$i];
-        }
-      }
-
-      /* Create release container for each release/subrelease.
-         eg.   "sisa/1.0.0":
-         .       "ou=siga, ..."
-         .       "ou=1.0.0,ou=siga, .."
-       */ 
-      $release = "";
-      $r = $info['FAIrelease'][0];
-      $z = explode("/",$r);
-      foreach($z as $part){
-
-        if(!empty($part)){
-          $release = "ou=".$part.",".$release;
-
-          /* Append release department information to "What will be done" info
-           */
-          $release_dn = $release.$info['dn'];
-          $after   .=  $s_add."dn: $release_dn\n";
-          $after   .=  $s_add."objectClass: top\n";
-          $after   .=  $s_add."objectClass: FAIbranch\n";
-          $after   .=  $s_add."objectClass: organizationalUnit\n";
-         
-          /* Append UnitTag 
-           */ 
-          if($tag != ""){ 
-            $after   .=  $s_add."objectClass: gosaAdministrativeUnitTag\n";
-            $after   .=  $s_add."gosaUnitTag: $tag\n";
-          }
-          $after   .=  $s_add."ou: $part\n";
-
-          /* Append release data to ldap actions 
-           */
-          $d = array();
-          $d['objectClass'] = array("top","FAIbranch","organizationalUnit");
-          if(!empty($tag)){
-            $d['objectClass'][] = "gosaAdministrativeUnitTag";
-            $d['gosaUnitTag']   = $tag;
-          }
-          $d['ou']          = $part;
-          $data['ADD'][$release_dn]= $d;
-        }
-      }
-
-      /* Add member applications to the array.
-       */ 
-      $current .= "dn: ".$info['dn']."\n";
-      $menu_structure = array();
-      for ($i= 0; $i < $info['gosaMemberApplication']['count']; $i++){
-        list($name, $location, $priority)= explode("|", $info['gosaMemberApplication'][$i]);
+    function checkBase($just_check = TRUE)
+    {
+        /* Establish ldap connection */
+        $cv = $this->parent->captured_values;
+        $ldap_l = new LDAP($cv['admin'],
+                $cv['password'],
+                $cv['connection'],
+                FALSE,
+                $cv['tls']);
 
-        /* Create location dn 
-         */
-        $location_dn ="";
-        if(!empty($location)){
-          $location_dn ="cn=".$location.",";
-        }
+        $ldap = new ldapMultiplexer($ldap_l);
 
-        /* Append old style element to current detail informations 
-         */      
-        $current .= $s_del."gosaMemberApplication: ".$info['gosaMemberApplication'][$i]."\n";
-
-        /* Append ldap update action to remove the old menu entry attributes 
-         */
-        unset($info['objectClass']['count']);
-        $d = array();
-        $d['gosaMemberApplication']      = array();
-        $d['gosaApplicationParameter']  = array();
-        if(isset($info['FAIrelease'])){
-          $d['FAIrelease'] = array();
-        }
-        $d['objectClass']               = array_remove_entries(array("gosaApplicationGroup","FAIreleaseTag"),$info['objectClass']);
-        $data['MODIFY'][$info['dn']]    = $d;
-
-        /* Create new application menu structure 
-         */
-        if (isset($amap[$name])){
+        /* Check if root object exists */
+        $ldap->cd($cv['base']);
+        $ldap->set_size_limit(1);
+        $res = $ldap->search("(objectClass=*)");
+        $ldap->set_size_limit(0);
+        $err = ldap_errno($ldap->cid); 
 
-          /* Append missing menu structure to "What is done info"
-           */
-          if(!isset($menu_structure[$location]) && !empty($location)){
-            $menu_structure[$location] = TRUE;
-            $after .= "\n";
-            $after .= $s_add."dn: $location_dn$release_dn\n";
-            $after .= $s_add."objectClass: gotoSubmenuEntry\n";
+        if( !$res || 
+                $err == 0x20 ||  # LDAP_NO_SUCH_OBJECT
+                $err == 0x40) {  # LDAP_NAMING_VIOLATION
 
-            /* Append UnitTag
-             */
-            if($tag != ""){
-              $after   .=  $s_add."objectClass: gosaAdministrativeUnitTag\n";
-              $after   .=  $s_add."gosaUnitTag: $tag\n";
-            }
-            $after .= $s_add."cn: $location\n";
-  
-            /* Create ldap entry to append 
+            /* Root object doesn't exists 
              */
-            $d = array();
-            $d['cn'] = $location;
-            $d['objectClass'] = array("gotoSubmenuEntry");
-            if(!empty($tag)){
-              $d['objectClass'][] = "gosaAdministrativeUnitTag";
-              $d['gosaUnitTag']   = $tag;
-            }
-            $data['ADD'][$location_dn.$release_dn] = $d;
-          }
-
-
-          /* Append missing menu entry for "What is done info".
-           */
-          if(!empty($name)){
-            $after .= "\n";
-            $after .= $s_add."dn: cn=$name,$location_dn$release_dn\n";
-            $after .= $s_add."objectClass: gotoMenuEntry\n";
-            if($tag != ""){
-              $after   .=  $s_add."objectClass: gosaAdministrativeUnitTag\n";
-              $after   .=  $s_add."gosaUnitTag: $tag\n";
-            }
-            $after .= $s_add."cn: $name\n";
-            $after .= $s_add."gosaApplicationPriority: $priority\n";
+            if($just_check){
+                $this->checks['root']['STATUS']    = FALSE;
+                $this->checks['root']['STATUS_MSG']= _("Failed");
+                $this->checks['root']['ERROR_MSG'] =  _("The LDAP root object is missing. It is required to use your LDAP service.").' ';
+                $this->checks['root']['ERROR_MSG'].=  "<button type='submit' name='retry_root_create'>"._("Try to create root object")."</button>";
+                return(FALSE);
+            }else{
 
-            /* Create ldap entry 
-             */
-            $d= array();
-            $d['objectClass'] = array("gotoMenuEntry");
-            if(!empty($tag)){
-              $d['objectClass'][] = "gosaAdministrativeUnitTag";
-              $d['gosaUnitTag']   = $tag;
-            }
-            $d['cn']          = $name;
-            $d['gosaApplicationPriority'] = $priority;
-
-            foreach ($amap[$name] as $n){
-              if (isset($params[$n])){
-                $after .= $s_add."gosaApplicationParameter: ".$params[$n]."\n";
-                $d['gosaApplicationParameter'][] = $params[$n];
-              }
+                /* Add root object */ 
+                $ldap->cd($cv['base']);
+                $res = $ldap->create_missing_trees($cv['base']);
+
+                /* If adding failed, tell the user */
+                if(!$res){
+                    $this->checks['root']['STATUS']    = FALSE;
+                    $this->checks['root']['STATUS_MSG']= _("Failed");
+                    $this->checks['root']['ERROR_MSG'] = _("Root object couldn't be created, you should try it on your own.");
+                    $this->checks['root']['ERROR_MSG'].= " <button type='submit' name='retry_root_create'>"._("Try to create root object")."</button>";
+                    return($res);;
+                }
             }
-            $data['ADD']["cn=$name,$location_dn$release_dn"] = $d;
-          }         
         }
-      }
-
-      /* Updated todo list 
-       */ 
-      $todo[] = array(
-          "DETAILS" => FALSE,
-          "DN"      => $info['dn'],
-          "AFTER"   => $after,
-          "CURRENT" => $current,
-          "TODO"    => $data
-          );
-    }
 
-    /* Remember checks.
-     */
-    $this->menu = $todo;
-
-    /* Check if we were able to query the ldap server
-     */
-    if(count($this->menu)){
-      $this->checks['old_style_menus']['STATUS']    = FALSE;
-      $this->checks['old_style_menus']['STATUS_MSG']= "<font style='color:#F0A500'>"._("Warning")."</font>";
-      $this->checks['old_style_menus']['ERROR_MSG'] = sprintf(_("There are %s application menus which have to be migrated."),
-                                                      count($this->menu))."<input type='submit' name='menu_dialog' value='"._("Migrate")."'>";
-    }else{
-      $this->checks['old_style_menus']['STATUS']    = TRUE;
-      $this->checks['old_style_menus']['STATUS_MSG']= _("Ok");
-      $this->checks['old_style_menus']['ERROR_MSG'] = "";
+        /* Create & remove of dummy object was successful */
+        $this->checks['root']['STATUS']    = TRUE;
+        $this->checks['root']['STATUS_MSG']= _("OK");
     }
-  }
-
-  
-  /*! \brief  Handle posts for the menu_dialog 
-              Ensure that checked checkboxes stay checked.
-   */
-  function check_menu_posts()
-  {
-    foreach($this->menu as $key => $menu){
-      if(isset($_POST["migrate_".$key])){
-        $this->menu[$key]['DETAILS'] =TRUE;
-      }else{
-        $this->menu[$key]['DETAILS'] =FALSE;
-      }
-    }
-  }
-
 
-  /*! \brief  This function updates old-style application menus to
-               valid 2.6 application menus.
-              All selected menus will be converted (DETAILS = TRUE). 
-              The ldap actions collected by check_menus() will be executed. 
-   */
-  function migrate_menus()
-  {
 
-    /* Establish ldap connection
+    /* Check if the root object includes the required object classes, e.g. gosaDepartment is required for ACLs.
+     * If the parameter just_check is true, then just check for the OCs. 
+     * If the Parameter is false, try to add the required object classes.
      */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
+    function checkBaseOC($just_check = TRUE)
+    {
+        /* Establish ldap connection */
+        $cv = $this->parent->captured_values;
+        $ldap_l = new LDAP($cv['admin'],
+                $cv['password'],
+                $cv['connection'],
+                FALSE,
+                $cv['tls']);
 
-    $ldap = new ldapMultiplexer($ldap_l);
-    $ldap->cd($cv['base']);
-
-    /* Walk through menus and detect selected menu 
-     */
-    foreach($this->menu as $key => $menu){
-      if($menu['DETAILS']) {
+        $ldap = new ldapMultiplexer($ldap_l);
 
-        /* Excute all LDAP-ADD actions 
-         */
-        $success = TRUE;
-        foreach($menu['TODO']['ADD'] as $dn => $data){
-          $ldap->cd($cv['base']);
-          if(!$ldap->dn_exists($dn)){
-            $ldap->cd($dn);
-            $ldap->add($data);
-            if (!$ldap->success()){
-              msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_ADD, get_class()));
-              $success = FALSE;
-            }
-          }
+        /* Check if root object exists */
+        $ldap->cd($cv['base']);
+        $ldap->cat($cv['base']);
+        if(!$ldap->count()){
+            $this->checks['rootOC']['STATUS']    = FALSE;
+            $this->checks['rootOC']['STATUS_MSG']= _("LDAP query failed");
+            $this->checks['rootOC']['ERROR_MSG'] = _("Possibly the 'root object' is missing.");
+            return;
         }
 
-        /* Execute all LDAP-MODIFY actions 
-         */
-        foreach($menu['TODO']['MODIFY'] as $dn => $data){
-          $ldap->cd($cv['base']);
-          if($ldap->dn_exists($dn)){
-            $ldap->cd($dn);
-            $ldap->modify($data);
-            if (!$ldap->success()){
-              msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD, get_class()));
-              $success = FALSE;
-            }
-          }
-        }
-  
-        /* If every action was successful, remove this entry from the list 
+        $attrs = $ldap->fetch();
+
+        /* Root object doesn't exists 
          */
-        if($success){
-          unset($this->menu[$key]);
-        }
-      }
-    }
+        if(!in_array("gosaDepartment",$attrs['objectClass'])){
+            if($just_check){
+
+                $this->rootOC_details = array();	
+                $mods = array();
+
+                /* Get list of possible container objects, to be able to detect naming 
+                 *  attributes and missing attribute types.
+                 */
+                if(!class_available("departmentManagement")){
+                    $this->checks['rootOC']['STATUS']    = FALSE;
+                    $this->checks['rootOC']['STATUS_MSG']= _("Failed");
+                    $this->checks['rootOC']['ERROR_MSG'] = sprintf(_("Missing GOsa object class '%s'!"),"departmentManagement").
+                        " "._("Please check your installation.");
+                    return;
+                }
 
-    /* Udpate migration status for application menus
-     */
-    $this->check_menus();
-  }
+                /* Try to detect base class type, e.g. is it a dcObject.
+                 */
+                $dep_types = departmentManagement::get_support_departments();
+                $dep_type ="";
+                foreach($dep_types as $dep_name => $dep_class){
+                    if(in_array($dep_class['CLASS'], $attrs['objectClass'])){
+                        $dep_type = $dep_name;
+                        break;
+                    }
+                }
 
+                /* If no known base class was detect, abort with message
+                 */	
+                if(empty($dep_type)){
+                    $this->checks['rootOC']['STATUS']    = FALSE;
+                    $this->checks['rootOC']['STATUS_MSG']= _("Failed");
+                    $this->checks['rootOC']['ERROR_MSG'] = 
+                        sprintf(_("Cannot handle the structural object type of your root object. Please try to add the object class '%s' manually."),"gosaDepartment");
+                    return;
+                }
 
-  function migrate_selected_admin_users()
-  {
-    /* Updated ui selection */
-    $this->migrate_users();
+                /* Create 'current' and 'target' object properties, to be able to display 
+                 *  a set of modifications required to create a valid GOsa department.
+                 */	
+                $str = "dn: ".$cv['base']."\n";
+                for($i = 0 ; $i<$attrs['objectClass']['count'];$i++){
+                    $str .= "objectClass: ".$attrs['objectClass'][$i]."\n";
+                }
+                $this->rootOC_details['current'] = $str;
+
+                /* Create target infos 
+                 */
+                $str = "dn: ".$cv['base']."\n";
+                for($i = 0 ; $i<$attrs['objectClass']['count'];$i++){
+                    $str .= "objectClass: ".$attrs['objectClass'][$i]."\n";
+                    $mods['objectClass'][] = $attrs['objectClass'][$i];
+                }
+                $mods['objectClass'][] = "gosaDepartment";
+                $str .= "<b>objectClass: gosaDepartment</b>\n";
+
+                /* Append attribute 'ou', it is required by gosaDepartment
+                 */
+                if(!isset($attrs['ou'])){
+                    $val = "GOsa";
+                    if(isset($attrs[$dep_types[$dep_type]['ATTR']][0])){
+                        $val = $attrs[$dep_types[$dep_type]['ATTR']][0];
+                    }
+                    $str .= "<b>ou: ".$val."</b>\n";
+                    $mods['ou'] =$val;
+                }
 
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
+                /*Append description, it is required by gosaDepartment too.
+                 */
+                if(!isset($attrs['description'])){
+                    $val = "GOsa";
+                    if(isset($attrs[$dep_types[$dep_type]['ATTR']][0])){
+                        $val = $attrs[$dep_types[$dep_type]['ATTR']][0];
+                    }
+                    $str .= "<b>description: ".$val."</b>\n";
+                    $mods['description'] = $val;
+                }
+                $this->rootOC_details['target'] = $str;
+                $this->rootOC_details['mods'] = $mods;
 
-    $ldap = new ldapMultiplexer($ldap_l);
-    $ldap->cd($cv['base']);
+                /*  Add button that allows to open the migration details
+                 */
+                $this->checks['rootOC']['STATUS']    = FALSE;
+                $this->checks['rootOC']['STATUS_MSG']= _("Failed");
+                $this->checks['rootOC']['ERROR_MSG'] = " <button type='submit' 
+                    name='root_add_objectclasses'>"._("Migrate")."</button>";
 
-    /* Get current ACL configuration for the ldap base 
-     */
-    $ldap->cat($cv['base']);
-    $base_attrs = $ldap->fetch();
-    $acl_entries= array();
-    $acl_id = -1;
-    if(isset($base_attrs['gosaAclEntry'])){
-      for($i=0; $i < $base_attrs['gosaAclEntry']['count']; $i ++){
-        $acl_entries[] = $base_attrs['gosaAclEntry'][$i];
-        $cur_id = preg_replace("/^([0-9]*):.*$/","\\1",$base_attrs['gosaAclEntry'][$i]);
-        if($cur_id > $acl_id){
-          $acl_id = $cur_id;
+                return(FALSE);
+            }else{
+
+                /* Add root object */ 
+                $ldap->cd($cv['base']);
+                if(isset($this->rootOC_details['mods'])){
+                    $res  = $ldap->modify($this->rootOC_details['mods']);	
+                    if(!$res){
+                        msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $cv['base'], LDAP_MOD, get_class()));
+                    }
+                    $this->checkBaseOC();
+                    $this->check_administrativeAccount();
+                    return($res);
+                }else{
+                    trigger_error("No modifications to make... ");
+                }
+            }
+            return(TRUE);
         }
-      }
-    }
 
-    /* Append ACLs selected in the migrate admin account dialog 
-     */
-    foreach($this->migrate_users as $entry){
-      if($entry['checked']){
-        $acl_id ++;
-        $acl_entries[] = $acl_id.$entry['change'];
-      }
-    }
-   
-    /* Check if the required objectClasses are available 
-     */
-    $ocs = array();     
-    for($i=0;$i< $base_attrs['objectClass']['count']; $i++){
-      $ocs[] = $base_attrs['objectClass'][$i];
-    }
-    if(!in_array("gosaACL",$ocs)){
-      $ocs[] = "gosaACL";
+        /* Create & remove of dummy object was successful */
+        $this->checks['rootOC']['STATUS']    = TRUE;
+        $this->checks['rootOC']['STATUS_MSG']= _("OK");
+        $this->checks['rootOC']['ERROR_MSG'] = "";
     }
 
-    /* Try to write changes 
-     */
-    if(count($acl_entries)){
-      $new_entry['gosaAclEntry'] = $acl_entries;
-      $new_entry['objectClass'] = $ocs;
-      $ldap->cd($cv['base']);
-      $ldap->modify($new_entry);
-      if(!$ldap->success()){
-        $this->checks['acls']['TITLE']     = _("Checking for super administrator");
-        $this->checks['acls']['STATUS']    = FALSE;
-        $this->checks['acls']['STATUS_MSG']= _("Failed");
-        $this->checks['acls']['ERROR_MSG'] = "<br>".msgPool::ldaperror($cv['base'],$ldap->get_error(),LDAP_MOD);
-      }else{
-        $this->check_administrativeAccount();
-      }     
-    }
-  }
-  
 
-  function migrate_users()
-  {
-    /* Collect a list of available GOsa users and groups 
+    /* Return ldif information for a 
+     * given attribute array 
      */
-
-    /* Establish ldap connection */
-    $cv = $this->parent->captured_values;
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-    $ldap->cd($cv['base']);
-
-    $users = array();
-    $ldap->search("(&(objectClass=gosaAccount)(objectClass=person)".
-        "(objectClass=inetOrgPerson)(objectClass=organizationalPerson))",array("uid","dn"));
-    while($user_attrs = $ldap->fetch()){
-      $users[$user_attrs['dn']] = $user_attrs['uid'][0];
-      $rusers[$user_attrs['uid'][0]] = $user_attrs['dn'];
-    }
-    $groups = array();
-    $ldap->search("objectClass=posixGroup",array("cn","dn"));
-    while($group_attrs = $ldap->fetch()){
-      $groups[$group_attrs['dn']] = $group_attrs['cn'][0];
+    function array_to_ldif($atts)
+    {
+        $ret = "";
+        unset($atts['count']);
+        unset($atts['dn']);
+        foreach($atts as $name => $value){
+            if(is_numeric($name)) {
+                continue;
+            }
+            if(is_array($value)){
+                unset($value['count']);
+                foreach($value as $a_val){
+                    $ret .= $name.": ". $a_val."\n";
+                }
+            }else{
+                $ret .= $name.": ". $value."\n";
+            }
+        }
+        return(preg_replace("/\n$/","",$ret));
     }
 
-    foreach($this->migrate_users as $id => $data){
-      $this->migrate_users[$id]['checked'] = isset($_POST['migrate_admin_'.$id]);
-    }
 
-    /* Try to find an old GOsa 2.5 administrative account that may be migrated
-     */
-    if(!count($this->migrate_users)){
-      $ldap->cat($cv['base']);
-      $base_data = $ldap->fetch();
-      $base_entry = "dn: ".$base_data['dn']."\n";
-      for($i=0;$i<$base_data['objectClass']['count'];$i++){
-        $base_entry .= "objectClass: ".$base_data['objectClass'][$i]."\n";
-      }
-      if(!in_array("gosaACL",$base_data['objectClass'])){
-        $base_entry .= "<b>objectClass: gosaACL</b>\n";
-      }
-      if(isset($base_data['gosaAclEntry'])){
-        for($i=0;$i<$base_data['gosaAclEntry']['count'];$i++){
-          $base_entry .= "gosaAclEntry: ".$base_data['gosaAclEntry'][$i]."\n";
-        }
-      }
-      $this->migrate_acl_base_entry = $base_entry;
-      $ldap->cd($cv['base']);
-      $ldap->search("(&(objectClass=posixGroup)(gosaSubtreeACL=:all)(memberUid=*))",array("memberUid","cn"));
-      while($p_group = $ldap->fetch()){
-        for($e = 0 ; $e < $p_group['memberUid']['count'] ; $e ++ ){
-          $user = $p_group['memberUid'][$e];
-          if(isset($rusers[$user])){
-            $bsp_acl_entry = "gosaAclEntry: #:psub:".base64_encode($rusers[$user]).":all;cmdrw\n";
-            $entry = array();
-            $entry['uid'] = $user; 
-            $entry['dn'] = $rusers[$user]; 
-            $entry['details'] = $bsp_acl_entry; 
-            $entry['checked'] = FALSE;
-            $entry['change'] = ":psub:".base64_encode($rusers[$user]).":all;cmdrw";
-            $this->migrate_users[] = $entry;
-          }
-        }
-      }
-    }
-  }
 }
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>
diff --git a/gosa-core/setup/class_setupStep_Schema.inc b/gosa-core/setup/class_setupStep_Schema.inc
index c478459..b58b901 100644
--- a/gosa-core/setup/class_setupStep_Schema.inc
+++ b/gosa-core/setup/class_setupStep_Schema.inc
@@ -22,111 +22,87 @@
 
 class Step_Schema extends setup_step
 {
-  var $checked = array();
-  var $not_checked = array();
-  var $schema_readable  = FALSE;
-  var $attributes       = array("enable_schema_check","samba_version");
-  var $enable_schema_check = TRUE;
-  var $samba_version       = 3;
-
-  var $found_ocs = 0; 
- 
-  function Step_Schema()
-  {
-    $this->update_strings();
-  }
-
-  
-  function update_strings()
-  {
-    $this->s_title      = _("LDAP schema check");
-    $this->s_title_long = _("LDAP schema check");
-    $this->s_info       = _("Perform test on your current LDAP schema");
-  }
-
-  
-  function execute()
-  {
-    $this->check_schema();
-    $failed_checks = 0 ; 
-    foreach($this->checked as $val) {
-      if(!$val['STATUS']){
-        $failed_checks ++;
-      }
+    var $checked = array();
+    var $not_checked = array();
+    var $b_displayCheckbutton = true;
+
+    function Step_Schema()
+    {
+        $this->update_strings();
     }
 
-    if($failed_checks == 0){
-      $this->is_completed = TRUE;
-    }else{
-      $this->is_completed = TRUE;
+
+    function update_strings()
+    {
+        $this->s_title      = _("LDAP schema check");
+        $this->s_title_long = _("LDAP schema check");
+        $this->s_info       = _("Perform test on your current LDAP schema");
     }
+
+
+    function execute()
+    {
+        // Establish ldap connection
+        $cv = $this->parent->captured_values;
+        $ldap_l = new LDAP($cv['admin'],
+                $cv['password'],
+                $cv['connection'],
+                FALSE,
+                $cv['tls']);
+
+        // Detect Schema Info
+        $ldap = new ldapMultiplexer($ldap_l);
+        $ldap->cd($cv['base']);
+        $objectclasses = $ldap->get_objectclasses(TRUE);
+   
+        // Check if we can find something
+        $ldap->set_size_limit(1);
+        $res = $ldap->search("(objectClass=*)");  
+        $ldap->set_size_limit(0);
     
-    /* Check if the database is already initialised.
-     * If the root object is missing we can't read any schema informations.
-     * In this case we should display a message.
-     */
-    $cv = $this->parent->captured_values;
-
-    /* Establish ldap connection */
-    $ldap_l = new LDAP($cv['admin'],
-        $cv['password'],
-        $cv['connection'],
-        FALSE,
-        $cv['tls']);
-
-    $ldap = new ldapMultiplexer($ldap_l);
-
-    /* Check if root object exists */
-    $ldap->cd($cv['base']);
-    $ldap->set_size_limit(1);
-    $res = $ldap->search("(objectClass=*)");
-    $ldap->set_size_limit(0);
-
-    $smarty = get_smarty();
-    $smarty->assign("bool",array(FALSE => _("No"), TRUE => _("Yes")));
-    $smarty->assign("database_initialised", ($res == TRUE));
-    $smarty->assign("found_ocs", $this->found_ocs);
-    $smarty->assign("schema_readable",$this->schema_readable);
-    $smarty->assign("enable_schema_check",$this->enable_schema_check);
-    $smarty->assign("checks",$this->checked);
-    $smarty->assign("not_checked",$this->not_checked);
-    $smarty->assign("failed_checks",$failed_checks);
-    return($smarty -> fetch (get_template_path("../setup/setup_schema.tpl")));
-  }
-
-  function save_object()
-  {
-    if(isset($_POST['step7_posted'])){
-
-      /* Get attributes */
-      foreach($this->attributes as $attr){
-        if(isset($_POST[$attr])){
-          $this->$attr = validate($_POST[$attr]);
+        // Validate schema
+        $cR = new configRegistry(NULL);;
+        $cR->validateSchemata(TRUE,TRUE,$objectclasses);
+        $info = $cR->getSchemaResults();
+        $disabled = $cR->getDisabledPlugins();
+
+        // Check if the 'AT LEAST' required classes are available.  
+        $smarty = get_smarty();
+        $smarty->assign('message', "");
+        $smarty->assign('database_initialised', ($res==TRUE));
+        $smarty->assign('ocCount', count($objectclasses));
+
+        // We are fine here once we got object classes. 
+        $this->is_completed = count($objectclasses);
+
+        // Now check if the core requirements are fulfilled.
+        if(in_array('core', $disabled)){
+            $message = "";
+            $this->is_completed = FALSE;
+            $coreDefs = core::plInfo();
+            $coreRequired = $coreDefs['plRequirements']['ldapSchema'];
+            $missing = $version = array();
+            foreach($coreRequired as $oc => $requirement){
+                if(isset($info['missing'][$oc])){
+                    $missing[$oc] = $info['missing'][$oc];
+                }
+                if(isset($info['versionMismatch'][$oc])){
+                    $version[$oc] = $info['versionMismatch'][$oc];
+                }
+            }
+
+            $message .= "<hr>";
+            if(count($missing)){
+                $message.= _("The following object classes are missing:").msgPool::buildList(array_values($missing));
+            }
+            if(count($version)){
+                $message.= _("The following object classes are outdated:").msgPool::buildList(array_values($version));
+            }
+            $smarty->assign('message', $message);
         }
-      }
-    }
-  }
-
-  function check_schema()
-  {
-    $cfg = $this->parent->captured_values;
-
-    /* Get objectclasses */
-    $ldap = new LDAP($cfg['admin'],$cfg['password'],$cfg['connection'] ,FALSE,$cfg['tls']);
-    $objectclasses = $ldap->get_objectclasses(TRUE);
-    $this->found_ocs = count($objectclasses);
-    $rfc2307bis = $cfg['rfc2307bis'];
-    $this->checked = check_schema($cfg,$rfc2307bis);
-
-    /* Which samba version do we use? */
-    if(isset($objectclasses['sambaSamAccount'])){
-      $this->samba_version = 3;
-    } elseif(isset($objectclasses['sambaAccount'])) {
-      $this->samba_version = 2;
-    }else{
-      $this->samba_version = 0;
+        $smarty->assign('checkFailed', !$this->is_completed);
+        return($smarty->fetch (get_template_path("../setup/setup_schema.tpl")));
     }
-  }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
diff --git a/gosa-core/setup/class_setupStep_Welcome.inc b/gosa-core/setup/class_setupStep_Welcome.inc
index f5104f1..8ef8cba 100644
--- a/gosa-core/setup/class_setupStep_Welcome.inc
+++ b/gosa-core/setup/class_setupStep_Welcome.inc
@@ -23,21 +23,25 @@
 class Step_Welcome  extends setup_step
 {
   var $languages      = array();
-  var $attributes     = array();
+  var $attributes     = array('instanceUUID');
   var $header_image   = "images/setup/welcome.png";
 
+    var $instanceUUID = "";
+    
   function Step_Welcome()
   {
     $this->is_enabled     = TRUE;
     $this->is_active      = TRUE;
     $this->update_strings(); 
+
+    $this->instanceUUID = gen_uuid();
   }
 
   function update_strings()
   {
     $this->s_title      = _("Welcome");
     $this->s_info       = _("The welcome message");
-    $this->s_title_long = _("Welcome to GOsa setup wizard");
+    $this->s_title_long = _("Welcome to the GOsa setup assistent");
   }
   
   function execute()
diff --git a/gosa-core/setup/setup.tpl b/gosa-core/setup/setup.tpl
deleted file mode 100644
index 3bb21f7..0000000
--- a/gosa-core/setup/setup.tpl
+++ /dev/null
@@ -1,4 +0,0 @@
-<div style='background-color: #009900;'>
-{$php_errors}
-sadffasdsdfa
-</div>
diff --git a/gosa-core/setup/setup_checks.tpl b/gosa-core/setup/setup_checks.tpl
index 90275fc..14d25e2 100644
--- a/gosa-core/setup/setup_checks.tpl
+++ b/gosa-core/setup/setup_checks.tpl
@@ -1,122 +1,92 @@
-<!-- 
-	Div container with PHP module checks 
--->
-<div style='float:left;width:50%;'> 
-
-	<!-- Set content styles -->	
-	<div class='default' style='margin:10px;'>
-		<!-- Beginning PHP module check output -->
-		<h2 class='step2_container_title'>{t}PHP module and extension checks{/t}</h2>
-		<!-- {cycle reset=true values="#F0F0F0, #FFF"} -->
-		{foreach from=$basic item=val key=key}
-			<!-- Entry {$key} -->		
-			{if $basic[$key].SOLUTION != "" && !$basic[$key].RESULT}
-		
-				<!-- Add ability to display info popup -->	
-				<div class='step2_entry_container_info' style='background-color:{cycle values="#F0F0F0, #FFF"}'>
-			{else}
-
-				<!-- Normal entry everything is fine -->
-				<div class='step2_entry_container' style='background-color:{cycle values="#F0F0F0, #FFF"}'>	
-			{/if}
-			
-			<div class='step2_entry_name'>{$basic[$key].NAME}</div>
-			<div class='step2_entry_status'>
-
-			{if $basic[$key].RESULT}
-				<div class='step2_successful'>{t}Ok{/t}</div>
-			{else}
-				{if $basic[$key].MUST}
-					<div class='step2_failed'>{t}Error{/t}</div>
-				{else}
-					<div class='step2_warning'>{t}Warning{/t}</div>
-				{/if}
-				{if $basic[$key].SOLUTION != ""}
-	
-				<!-- Inforamtion popup -->
-				<div class='solution_visible' id='sol_{$key}'>
-					{if $basic[$key].MUST}
-						<div class='step2_failed_text' style="background-image: url('images/small_error.png')">
-						{$basic[$key].SOLUTION}
-						<b>{t}GOsa will NOT run without fixing this.{/t}</b>
-					{else}
-						<div class="step2_warning_text" style="background-image: url('images/small_warning.png')">
-						{$basic[$key].SOLUTION}
-						<b>{t}GOsa will run without fixing this.{/t}</b>
-					{/if}
-					</div>
-				</div>
-				{/if}
-			{/if}
-				</div>
-			</div>
-		{/foreach}
-	</div>
-</div>
-
-
-<!-- 
-	Div container with PHP config checks 
--->
-<div style='width:50%; float:left;'>
-
-	<!-- Set content styles -->	
-	<div class='default' style='margin:10px;'>
-
-		<!-- Beginning PHP config check output -->
-		<h2 class='step2_container_title'>{t}PHP setup configuration{/t} (<a style='text-decoration:underline' href='?info' target='_blank'>{t}show information{/t})</a></h2>
-
-		<!-- {cycle reset=true values="#F0F0F0, #FFF"} -->
-		{foreach from=$config item=val key=key}
-
-			<!-- Entry {$key} -->
-            {if $config[$key].SOLUTION != "" && !$config[$key].RESULT}
-
-                <!-- Add ability to display info popup -->
-                <div class='step2_entry_container_info' style='background-color:{cycle values="#FFF, #F0F0F0"}'>
-            {else}
-
-                <!-- Normal entry everything is fine -->
-                <div class='step2_entry_container' style='background-color:{cycle values="#FFF, #F0F0F0"}'>
-            {/if}
-
-
-			<div class='step2_entry_name'>{$config[$key].NAME}</div>
-			<div class='step2_entry_status'>
-			{if $config[$key].RESULT}
-				<div class='step2_successful'>{t}Ok{/t}</div>
-			{else}
-
-				{if $config[$key].MUST}
-					<div class='step2_failed'>{t}Error{/t}</div>
-				{else}
-					<div class='step2_warning'>{t}Warning{/t}</div>
-				{/if}
-
-				{if $config[$key].SOLUTION != ""}
-	
-				<!-- Inforamtion popup -->
-				<div class='solution_visible' id='sol_config_{$key}'>
-					{if $config[$key].MUST}
-						<div class='step2_failed_text' style="background-image: url('images/small_error.png')">
-						{$config[$key].SOLUTION}
-						<b>{t}GOsa will NOT run without fixing this.{/t}</b>
-					{else}
-						<div class='step2_warning_text' style="background-image: url('images/small_warning.png')">
-						{$config[$key].SOLUTION}
-						<b>{t}GOsa will run without fixing this.{/t}</b>
-					{/if}
-					</div>
-				</div>
-				{/if}
-			{/if}
-			</div>
-			</div>
-		{/foreach}
-
-
-	</div>
-</div>
-
-<div style="clear:both"></div>
+<p>
+ {t}This step checks if your PHP server has all required modules and configuration settings.{/t}
+</p>
+
+<table style='width:100%;' summary='{t}Inspection{/t}'>
+ <tr>
+  <td style='text-align:top; width: 50%;'>
+   <h2>{t}PHP module and extension checks{/t}</h2>
+
+   <table cellspacing='0' class='sortableListContainer' style='border:1px solid #CCC; width:100%;' summary='{t}Basic checks{/t}'>
+    {foreach from=$basic item=val key=key}
+     {if $basic[$key].SOLUTION != "" && !$basic[$key].RESULT}
+      <tr class='entry_container_info'>
+     {else}
+      <tr class='entry_container'>
+     {/if}
+       
+     <td>{$basic[$key].NAME}</td>
+
+     {if $basic[$key].RESULT}
+       <td style='color:#0A0'>{t}OK{/t}</td>
+      </tr>
+     {else}
+        {if $basic[$key].MUST}
+         <td style='color:red'>{t}Error{/t}</td>
+        {else}
+         <td style='color:orange'>{t}Warning{/t}</td>
+        {/if}
+       </tr>
+
+      {if $basic[$key].SOLUTION != ""}
+       <tr>       
+        <td colspan=2>{$basic[$key].SOLUTION}</td>
+       </tr>
+       <tr>       
+        <td colspan=2>
+         {if $basic[$key].MUST}
+          <b>{t}GOsa will NOT run without fixing this.{/t}</b>
+         {else}
+          <b>{t}GOsa will run without fixing this.{/t}</b>
+         {/if}
+        </td>
+       </tr>
+      {/if}
+     {/if}
+    {/foreach}
+   </table>
+  </td>
+  <td>
+   <h2>{t}PHP setup configuration{/t} (<a style='text-decoration:underline' href='?info' target='_blank'>{t}show information{/t})</a></h2>
+   <table cellspacing='0' class='sortableListContainer' style='border:1px solid #CCC; width:100%;' summary='{t}Extended checks{/t}'>
+    {foreach from=$config item=val key=key}
+     {if $config[$key].SOLUTION != "" && !$config[$key].RESULT}
+      <tr class='entry_container_info'>
+     {else}
+      <tr class='entry_container'>
+     {/if}
+       
+     <td>{$config[$key].NAME}</td>
+
+     {if $config[$key].RESULT}
+       <td style='color:#0A0'>{t}OK{/t}</td>
+      </tr>
+     {else}
+        {if $config[$key].MUST}
+         <td style='color:red'>{t}Error{/t}</td>
+        {else}
+         <td style='color:orange'>{t}Warning{/t}</td>
+        {/if}
+       </tr>
+
+      {if $config[$key].SOLUTION != ""}
+       <tr>       
+        <td colspan=2>{$config[$key].SOLUTION}</td>
+       </tr>
+       <tr>       
+        <td colspan=2>
+         {if $config[$key].MUST}
+          <b>{t}GOsa will NOT run without fixing this.{/t}</b>
+         {else}
+          <b>{t}GOsa will run without fixing this.{/t}</b>
+         {/if}
+        </td>
+       </tr>
+      {/if}
+     {/if}
+    {/foreach}
+   </table>
+  </td>
+ </tr>
+</table>
 
diff --git a/gosa-core/setup/setup_config1.tpl b/gosa-core/setup/setup_config1.tpl
deleted file mode 100644
index d3f1b84..0000000
--- a/gosa-core/setup/setup_config1.tpl
+++ /dev/null
@@ -1,225 +0,0 @@
-<div class='default'>
-    <p><b>{t}Look and feel{/t}</b></p>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Theme{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="theme">
-                {html_options options=$themes selected=$theme}
-            </select>
-        </div>
-    </div>
-
-    <p><b>{t}Apache{/t}</b></p>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Compress output send to browser{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="compressed">
-                {html_options options=$bool selected=$compressed}
-            </select>
-        </div>
-    </div>
-    <p><b>{t}People and group storage{/t}</b></p>
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}People DN attribute{/t}
-        </div>
-        <div class='step4_value'>
-            <select size="1" name="peopledn">
-                {html_options values=$peopledns output=$peopledns selected=$peopledn}
-            </select>
-        </div>
-    </div>
-
-	<div class='step4_container'>
-        <div class='step4_name'>
-            {t}People storage subtree{/t}
-        </div>
-        <div class='step4_value'>
-            <input type='text' name='peopleou' maxlength='40' size='40' value='{$peopleou}'>
-        </div>
-    </div>
-
-	<div class='step4_container'>
-        <div class='step4_name'>
-            {t}Group storage subtree{/t}
-        </div>
-        <div class='step4_value'>
-            <input type='text' name='groupou' maxlength='40' size='40' value='{$groupou}'>
-        </div>
-    </div>
-
- 	<div class='step4_container'>
-        <div class='step4_name'>
-            {t}Include personal title in user DN{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="include_personal_title" size="1" title="">
-            {html_options options=$bool selected=$include_personal_title}
-            </select>
-        </div>
-    </div>
-
- 	<div class='step4_container'>
-        <div class='step4_name'>
-            {t}Relaxed naming policies{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="strict" size="1" title="">
-            {html_options options=$bool selected=$strict}
-            </select>
-        </div>
-    </div>
-
-  	<div class='step4_container'>
-        <div class='step4_name'>
-            {t}Automatic UIDs{/t}
-        </div>
-        <div class='step4_value'>
-            {if $id_settings.idgen_active == FALSE}
-                <input type='checkbox' value='1' name='idgen_active'
-                    onClick='changeState("idgen");'>
-                <input size='20' id='idgen' name='idgen' type='text' value='{$id_settings.idgen}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='idgen_active' checked>
-                <input size='20' id='idgen' name='idgen' type='text' value='{$id_settings.idgen}'  >
-            {/if}
-        </div>
-    </div>
-
- 	<div class='step4_container'>
-        <div class='step4_name'>
-            {t}GID / UID min id{/t}
-        </div>
-        <div class='step4_value'>
-            {if $id_settings.minid_active == FALSE}
-                <input type='checkbox' value='1' name='minid_active'
-                    onClick='changeState("minid");'>
-                <input size='10' id='minid' name='minid' type='text' value='{$id_settings.minid}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='minid_active' checked>
-                <input size='10' id='minid' name='minid' type='text' value='{$id_settings.minid}'  >
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container' style="margin-bottom:5px;">
-        <div class='step4_name'>
-            {t}Number base for people/groups{/t}
-        </div>
-        <div class='step4_value'>
-            <input type='text' name='uidbase' maxlength='20' size='10' value='{$uidbase}'>
-        </div>
-     </div>
-    <div class='step4_container' style="margin-bottom:5px;">
-        <div class='step4_name'>
-                {t}Hook for number base{/t}
-	</div>
-        <div class='step4_value'>
-            {if $base_hook_active == FALSE}
-                <input type='checkbox' value='1' name='base_hook_active'
-                    onClick='changeState("base_hook");'>
-                <input id='base_hook' name='base_hook' size=40 type='text' value='{$base_hook}'      disabled>
-            {else}
-                <input type='checkbox' value='1' name='base_hook_active' checked>
-                <input id='base_hook' name='base_hook' size=40 type='text' value='{$base_hook}'  >
-            {/if}
-     </div>
-        </div>
-    </div>
-
-    <p><b>{t}Password settings{/t}</b></p>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Password encryption algorithm{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="encryption" size="1" title="">
-                {html_options options=$crypt_methods selected=$encryption}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container' style='height:4em;'>
-        <div class='step4_name' style='height:4em;'>
-            {t}Password restrictions{/t}
-        </div>
-        <div class='step4_value' style='height:4em;'>
-
-			{if $pwd_rules.pwminlen_active == FALSE}
-				<input type='checkbox' value='1' name='pwminlen_active'
-					onClick='changeState("pwminlen");'>
-					{t}Password minimum length{/t}
-				<input id='pwminlen' name='pwminlen' type='text' value='{$pwd_rules.pwminlen}' size=3 disabled>
-			{else}
-				<input type='checkbox' value='1' name='pwminlen_active' checked>
-				{t}Password minimum length{/t}
-				<input id='pwminlen' name='pwminlen' type='text' value='{$pwd_rules.pwminlen}' size=3 >
-			{/if}
-			<br>
-			{if $pwd_rules.pwdiffer_active == FALSE}
-				<input type='checkbox' value='1' name='pwdiffer_active' 
-					onClick='changeState("pwdiffer");'>
-				{t}Different characters from old password{/t}
-				<input id='pwdiffer' name='pwdiffer' type='text' value='{$pwd_rules.pwdiffer}' size=3 disabled>
-			{else}
-				<input type='checkbox' value='1' name='pwdiffer_active' checked>
-				{t}Different characters from old password{/t}
-				<input id='pwdiffer' name='pwdiffer' type='text' value='{$pwd_rules.pwdiffer}' size=3 >
-			{/if}
-	
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-                {t}Password change hook{/t}
-        </div>
-        <div class='step4_value'>
-            {if $pwd_rules.externalpwdhook_active == FALSE}
-                <input type='checkbox' value='1' name='externalpwdhook_active'
-                    onClick='changeState("externalpwdhook");'>
-                <input size=40 id='externalpwdhook' name='externalpwdhook' type='text' value='{$pwd_rules.externalpwdhook}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='externalpwdhook_active' checked>
-                <input size=40 id='externalpwdhook' name='externalpwdhook' type='text' value='{$pwd_rules.externalpwdhook}'  >
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Use SASL for kerberos{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="krbsasl" size="1" title="">
-            {html_options options=$bool selected=$krbsasl}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Use account expiration{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="account_expiration" size="1" title="">
-            {html_options options=$bool selected=$account_expiration}
-            </select>
-        </div>
-    </div>
-
-
-<input type='hidden' value='1' name='step5_posted'>
-<!--
-         {t}GOsa supports several encryption types for your passwords. Normally this is adjustable via user templates, but you can specify a default method to be used here, too.{/t}
-         {t}GOsa always acts as admin and manages access rights internally. This is a workaround till OpenLDAP's in directory ACI's are    fully implemented. For this to work, we need the admin DN and the corresponding password.{/t}
-         {t}Some basic LDAP parameters are tunable and affect the locations where GOsa saves people and groups, including the way accounts get created. Check the values below if the fit your needs.{/t}
-         {t}GOsa has modular support for several mail methods. These methods provide interfaces to users mailboxes and general handling    for quotas. You can choose the dummy plugin to leave all your mail settings untouched.{/t}-->
-
diff --git a/gosa-core/setup/setup_config2.tpl b/gosa-core/setup/setup_config2.tpl
deleted file mode 100644
index 1cf915a..0000000
--- a/gosa-core/setup/setup_config2.tpl
+++ /dev/null
@@ -1,294 +0,0 @@
-<div class='default' style='margin:12px; '>  
-    <p><b>{t}Samba settings{/t}</b></p>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Samba hash generator{/t}
-        </div>
-        <div class='step4_value'>
-                <input size=40 id='smbhash' name='smbhash' type='text' value='{$samba_settings.smbhash}'  >
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Samba SID{/t}
-        </div>
-        <div class='step4_value'>
-            {if $samba_settings.samba_sid_active == FALSE}
-                <input type='checkbox' value='1' name='samba_sid_active'
-                    onClick='changeState("samba_sid");'>
-                <input size=20 id='samba_sid' name='samba_sid' type='text' value='{$samba_settings.samba_sid}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='samba_sid_active' checked {if !$sambaDomain_found} disabled {/if}>
-                <input size=20 id='samba_sid' name='samba_sid' type='text' value='{$samba_settings.samba_sid}'  >
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}RID base{/t}
-        </div>
-        <div class='step4_value'>
-            {if $samba_settings.samba_rid_active == FALSE}
-                <input type='checkbox' value='1' name='samba_rid_active'
-                    onClick='changeState("samba_rid");'>
-                <input size=20 id='samba_rid' name='samba_rid' type='text' value='{$samba_settings.samba_rid}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='samba_rid_active' checked {if !$sambaDomain_found} disabled {/if}>
-                <input size=20 id='samba_rid' name='samba_rid' type='text' value='{$samba_settings.samba_rid}'  >
-            {/if}
-        </div>
-    </div>
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Workstation container{/t}
-        </div>
-        <div class='step4_value'>
-            {if $generic_settings.wws_ou_active == FALSE}
-                <input type='checkbox' value='1' name='wws_ou_active'
-                    onClick='changeState("wws_ou");'>
-                <input size=40 id='wws_ou' name='wws_ou' type='text' value='{$generic_settings.wws_ou}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='wws_ou_active' checked>
-                <input size=40 id='wws_ou' name='wws_ou' type='text' value='{$generic_settings.wws_ou}'  >
-            {/if}
-        </div>
-    </div>
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Samba SID mapping{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="sambaidmapping" size="1" title="">
-			{html_options options=$bool selected=$sambaidmapping}
-            </select>
-        </div>
-    </div>
-	<div class='step4_container'>
-        <div class='step4_name'>
-            {t}Timezone{/t}
-        </div>
-        <div class='step4_value'>
-            <select name='timezone' title='{t}Please choose your preferred timezone here{/t}' style="width:100%">
- 		{foreach from=$timezones.TIMEZONES item=val key=key}
-            {if $key == $timezone}
-                {if isset($timezones.DST_ZONES.$key)}
-                    <option selected value="{$key}">{$key} (DST)</option>
-                {else}
-                    <option selected value="{$key}">{$key} (GMT)</option>
-                {/if}
-            {else}
-                {if isset($timezones.DST_ZONES.$key)}
-                    <option value="{$key}">{$key} (DST)</option>
-                {else}
-                    <option value="{$key}">{$key} (GMT)</option>
-                {/if}
-            {/if}
-        {/foreach}
-
-            </select>
-        </div>
-    </div>
-
-
-    <p><b>{t}Additional GOsa settings{/t}</b></p>
-
-	<div class='step4_container'>
-        <div class='step4_name'>
-            {t}Enable Copy & Paste{/t}
-        </div>
-        <div class='step4_value'>
-
-            <select name="enableCopyPaste" size="1" title="">
-                {html_options options=$bool selected=$generic_settings.enableCopyPaste}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Government mode{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="governmentmode" size="1" title="">
-			{html_options options=$bool selected=$governmentmode}
-			</select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}GOsa logging{/t}
-        </div>
-        <div class='step4_value'>
-          {if $logging} 
-            <input checked type='checkbox' name='logging' value='1' class='center'>
-          {else}
-            <input type='checkbox' name='logging' value='1' class='center'>
-          {/if}
-        </div>
-    </div>
-
-
-    <p><b>{t}Mail settings{/t}</b></p>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Mail method{/t}
-        </div>
-  		<div class='step4_value'>
-            <select name="mail" size="1" title="" onChange="document.mainform.submit();">
-                <option  value="disabled">{t}disabled{/t}</option>
-                {foreach from=$mail_methods item=item}
-                    <option value="{$item.name}" {if $mail == $item.name} selected {/if}>{$item.name}</option>
-                {/foreach}
-            </select>
-        </div>
-        <div class='step4_status'>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Account identification attribute{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="mail_attrib" size="1" {if $mail == "disabled"} disabled {/if}>
-                <option value="mail" {if $mail_attrib == "mail"} selected {/if} >mail</option>
-                <option value="uid" {if $mail_attrib == "uid"} selected {/if} >uid</option>
-            </select>
-        </div>
-        <div class='step4_status'>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Vacation templates{/t}
-        </div>
-        <div class='step4_value'>
-            {if $mail_settings.vacationdir_active == FALSE}
-                <input type='checkbox' value='1' name='vacationdir_active'
-                    onClick='changeState("vacationdir");'>
-                <input size=40 id='vacationdir' name='vacationdir' type='text' value='{$mail_settings.vacationdir}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='vacationdir_active' checked>
-                <input size=40 id='vacationdir' name='vacationdir' type='text' value='{$mail_settings.vacationdir}'  >
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Use Cyrus UNIX style{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="cyrusunixstyle" size="1" title="">
-            {html_options options=$bool selected=$cyrusunixstyle}
-            </select>
-        </div>
-    </div>
-
-
-        <p><b>{t}Snapshots / Undo{/t}</b></p>
-            {if $generic_settings.snapshot_active == FALSE}
-        <div class='step4_container'>
-         <div class='step4_name'>
-                <input type='checkbox' value='1' name='snapshot_active'
-                    onClick='
-                                                                changeState("snapshot_base");
-                                                                changeState("snapshot_server");
-                                                                changeState("snapshot_user");
-                                                                changeState("snapshot_password");'>{t}Enable snapshots{/t}
-         </div>
-        </div>
-        <div style='margin-left:10px;'>
-        <div class='step4_container'>
-         <div class='step4_name'>
-                {t}Snapshot base{/t}
-         </div>
-         <div class='step4_value'>
-                <input style='width:220' id='snapshot_base' name='snapshot_base'
-                                        type='text' value='{$generic_settings.snapshot_base}' disabled>
-         </div>
-        </div>
-        <div class='step4_container'>
-         <div class='step4_name'>
-                    {t}Server{/t}
-         </div>
-         <div class='step4_value'>
-                                <input style='width:220' id='snapshot_server' name='snapshot_server'
-                                        type='text' value='{$generic_settings.snapshot_server}' disabled>
-        </div>
-        </div>
-        <div class='step4_container'>
-         <div class='step4_name'>
-                        {t}User{/t}
-         </div>
-         <div class='step4_value'>
-                                <input style='width:220' id='snapshot_user' name='snapshot_user'
-                                        type='text' value='{$generic_settings.snapshot_user}' disabled>
-        </div>
-        </div>
-        <div class='step4_container'>
-         <div class='step4_name'>
-                        {t}Password{/t}
-         </div>
-         <div class='step4_value'>
-                                <input style='width:220' id='snapshot_password' name='snapshot_password'
-                                        type='password' value='{$generic_settings.snapshot_password}' disabled>
-        </div>
-        </div>
-        </div>
-
-            {else}
-        <div class='step4_container'>
-         <div class='step4_name'>
-                <input type='checkbox' value='1' name='snapshot_active' checked>{t}Enable snapshots{/t}
-        </div>
-        </div>
-        <div style='margin-left:10px;'>
-        <div class='step4_container'>
-         <div class='step4_name'>
-                    {t}Snapshot base{/t}
-        </div>
-         <div class='step4_value'>
-           <input style='width:220' id='snapshot_base' name='snapshot_base'
-                                        type='text' value='{$generic_settings.snapshot_base}'>
-        </div>
-        </div>
-        <div class='step4_container'>
-         <div class='step4_name'>
-                        {t}Server{/t}
-        </div>
-         <div class='step4_value'>
-                                <input style='width:220' id='snapshot_server' name='snapshot_server'
-                                        type='text' value='{$generic_settings.snapshot_server}'>
-        </div>
-        </div>
-        <div class='step4_container'>
-         <div class='step4_name'>
-                    {t}User{/t}
-        </div>
-         <div class='step4_value'>
-                                <input style='width:220' id='snapshot_user' name='snapshot_user'
-                                        type='text' value='{$generic_settings.snapshot_user}'>
-        </div>
-        </div>
-        <div class='step4_container'>
-         <div class='step4_name'>
-                        {t}Password{/t}
-        </div>
-         <div class='step4_value'>
-                                <input style='width:220;' id='snapshot_password' name='snapshot_password'
-                                        type='password' value='{$generic_settings.snapshot_password}'>
-        </div>
-        </div>
-        </div>
-            {/if}
-</div>
-
-<input type='hidden' value='1' name='step6_posted'>
-<div style="clear:both"></div>
diff --git a/gosa-core/setup/setup_config3.tpl b/gosa-core/setup/setup_config3.tpl
deleted file mode 100644
index 1dfa10d..0000000
--- a/gosa-core/setup/setup_config3.tpl
+++ /dev/null
@@ -1,340 +0,0 @@
-<div class='default' style='margin:12px; '>
-     <p><b>{t}GOsa core settings{/t}</b></p>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Enable primary group filter{/t}
-        </div>
-        <div class='step4_value'>
-	
-            <select name="noprimarygroup" size="1" title="">
-            	{html_options options=$bool selected=$optional.noprimarygroup}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Display summary in listings{/t}
-        </div>
-        <div class='step4_value'>
-	
-            <select name="list_summary" size="1" title="">
-            	{html_options options=$bool selected=$optional.list_summary}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Honour administrative units{/t}
-        </div>
-        <div class='step4_value'>
-	
-            <select name="strict_units" size="1" title="">
-            	{html_options options=$bool selected=$optional.strict_units}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Smarty compile directory{/t}
-        </div>
-        <div class='step4_value'>
-			<input size=40 id='compile' name='compile' 
-				type='text' value='{$optional.compile}'>
-        </div>
-    </div>
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}SNMP community{/t}
-        </div>
-        <div class='step4_value'>
-			<input size=40 id='compile' name='snmpcommunity' 
-				type='text' value='{$optional.snmpcommunity}'>
-        </div>
-    </div>
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Path for PPD storage{/t}
-        </div>
-        <div class='step4_value'>
-            {if $optional.ppd_path_active == FALSE}
-                <input type='checkbox' value='1' name='ppd_path_active'
-                    onClick='changeState("ppd_path");'>
-                <input size=40 id='ppd_path' name='ppd_path' type='text' value='{$optional.ppd_path}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='ppd_path_active' checked
-					onClick='changeState("ppd_path");'>
-                <input size=40 id='ppd_path' name='ppd_path' type='text' value='{$optional.ppd_path}'  >
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Path for kiosk profile storage{/t}
-        </div>
-        <div class='step4_value'>
-            {if $optional.kioskpath_active == FALSE}
-                <input type='checkbox' value='1' name='kioskpath_active'
-                    onClick='changeState("kioskpath");'>
-                <input size=40 id='kioskpath' name='kioskpath' 
-					type='text' value='{$optional.kioskpath}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='kioskpath_active' checked
-					onClick='changeState("kioskpath");'>
-                <input size=40 id='kioskpath' name='kioskpath' 
-					type='text' value='{$optional.kioskpath}'  >
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}SUDO role base{/t}
-        </div>
-        <div class='step4_value'>
-            {if $optional.sudoou_active == FALSE}
-                <input type='checkbox' value='1' name='sudoou_active'
-                    onClick='changeState("sudoou");'>
-                <input size=40 id='sudoou' name='sudoou' 
-					type='text' value='{$optional.sudoou}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='sudoou_active' checked
-					onClick='changeState("sudoou");'>
-                <input size=40 id='sudoou' name='sudoou' 
-					type='text' value='{$optional.sudoou}'  >
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Mail queue script{/t}
-        </div>
-        <div class='step4_value'>
-            {if $optional.mailQueueScriptPath_active == FALSE}
-                <input type='checkbox' value='1' name='mailQueueScriptPath_active'
-                    onClick='changeState("mailQueueScriptPath");'>
-                <input size=40 id='mailQueueScriptPath' name='mailQueueScriptPath' 
-					type='text' value='{$optional.mailQueueScriptPath}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='mailQueueScriptPath_active' checked 
-					onClick='changeState("mailQueueScriptPath");'>
-                <input size=40 id='mailQueueScriptPath' name='mailQueueScriptPath' type='text' 
-					value='{$optional.mailQueueScriptPath}'  >
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Notification script{/t}
-        </div>
-        <div class='step4_value'>
-            {if $optional.notifydir_active == FALSE}
-                <input type='checkbox' value='1' name='notifydir_active'
-                    onClick='changeState("notifydir");'>
-                <input size=40 id='notifydir' name='notifydir' 
-					type='text' value='{$optional.notifydir}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='notifydir_active' checked 
-					onClick='changeState("notifydir");'>
-                <input size=40 id='notifydir' name='notifydir' 
-					type='text' value='{$optional.notifydir}'  >
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Enable edit locking{/t}
-        </div>
-        <div class='step4_value'>
-            {if $optional.uniq_identifier_active == FALSE}
-                <input type='checkbox' value='1' name='uniq_identifier_active'
-                    onClick='changeState("uniq_identifier");'>
-				<select name="uniq_identifier" id="uniq_identifier" disabled>
-					{html_options options=$uniq_identifiers selected=$optional.uniq_identifier}
-				</select>
-            {else}
-                <input type='checkbox' value='1' name='uniq_identifier_active' checked
-					onClick='changeState("uniq_identifier");'>
-				<select name="uniq_identifier" id="uniq_identifier" >
-					{html_options options=$uniq_identifiers selected=$optional.uniq_identifier}
-				</select>
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Gosa support daemon{/t}
-        </div>
-        <div class='step4_value'>
-            {if $optional.gosaSupportURI_active == FALSE}
-                <input type='checkbox' value='1' name='gosaSupportURI_active'
-                  onClick='changeState("gosaSupportURI");changeState("gosaSupportTimeout");'>
-                <input size=40 id='gosaSupportURI' name='gosaSupportURI' 
-				        	type='text' value='{$optional.gosaSupportURI}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='gosaSupportURI_active' checked 
-					        onClick='changeState("gosaSupportURI");changeState("gosaSupportTimeout");'>
-                <input size=40 id='gosaSupportURI' name='gosaSupportURI' 
-        					type='text' value='{$optional.gosaSupportURI}'  >
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Daemon timeout{/t}
-        </div>
-        <div class='step4_value'>
-            {if $optional.gosaSupportURI_active == FALSE}
-                <input size=40 id='gosaSupportTimeout' name='gosaSupportTimeout' 
-				        	type='text' value='{$optional.gosaSupportTimeout}' disabled>
-            {else}
-                <input size=40 id='gosaSupportTimeout' name='gosaSupportTimeout' 
-        					type='text' value='{$optional.gosaSupportTimeout}'  >
-            {/if}
-        </div>
-    </div>
-
-
-    <p><b>{t}Login and session{/t}</b></p>
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Login attribute{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="login_attribute" size="1" title="">
-            	{html_options options=$login_attributes selected=$optional.login_attribute}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Enforce register_globals to be deactivated{/t}
-        </div>
-        <div class='step4_value'>
-	
-            <select name="forceglobals" size="1" title="">
-            	{html_options options=$bool selected=$optional.forceglobals}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Enforce encrypted connections{/t}
-        </div>
-        <div class='step4_value'>
-	
-            <select name="forcessl" size="1" title="">
-            	{html_options options=$bool selected=$optional.forcessl}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Warn if session is not encrypted{/t}
-        </div>
-        <div class='step4_value'>
-	
-            <select name="warnssl" size="1" title="">
-            	{html_options options=$bool selected=$optional.warnssl}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Remember dialog filter settings{/t}
-        </div>
-        <div class='step4_value'>
-	
-            <select name="user_filter_cookie" size="1" title="">
-            	{html_options options=$bool selected=$optional.user_filter_cookie}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Session lifetime{/t}
-        </div>
-        <div class='step4_value'>
-			<input size=10 id='session_lifetime' name='session_lifetime' 
-				type='text' value='{$optional.session_lifetime}'>
-        </div>
-    </div>
-
-
-    <p><b>{t}Debugging{/t}</b></p>
-	
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Show PHP errors{/t}
-        </div>
-        <div class='step4_value'>
-            <select name="errorlvl" size="1" title="">
-            {html_options options=$bool selected=$errorlvl}
-            </select>
-        </div>
-    </div>
-
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Maximum LDAP query time{/t}
-        </div>
-        <div class='step4_value'>
-            {if $optional.max_ldap_query_time_active == FALSE}
-                <input type='checkbox' value='1' name='max_ldap_query_time_active'
-                    onClick='changeState("max_ldap_query_time");'>
-                <input size=10 id='max_ldap_query_time' name='max_ldap_query_time' 
-					type='text' value='{$optional.max_ldap_query_time}' disabled>
-            {else}
-                <input type='checkbox' value='1' name='max_ldap_query_time_active' checked>
-                <input size=10 id='max_ldap_query_time' name='max_ldap_query_time' 
-					type='text' value='{$optional.max_ldap_query_time}'  >
-            {/if}
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Log LDAP statistics{/t}
-        </div>
-        <div class='step4_value'>
-	
-            <select name="ldapstats" size="1" title="">
-            	{html_options options=$bool selected=$optional.ldapstats}
-            </select>
-        </div>
-    </div>
-
-    <div class='step4_container'>
-        <div class='step4_name'>
-            {t}Debug level{/t}
-        </div>
-        <div class='step4_value'>
-			<select name='debuglevel'>
-				{if $optional.debuglevel == 0}
-					<option value='0' selected>0 {t}Disabled{/t}</option>
-					<option value='1'>1 {t}Enabled{/t}</option>
-				{else}
-					<option value='0'>0 {t}Disabled{/t}</option>
-					<option value='1' selected>1 {t}Enabled{/t}</option>
-				{/if}
-			</select>		
-        </div>
-    </div>
-</div>
-
-<input type='hidden' value='1' name='step6a_posted'>
diff --git a/gosa-core/setup/setup_feedback.tpl b/gosa-core/setup/setup_feedback.tpl
index 453760c..f6f103b 100644
--- a/gosa-core/setup/setup_feedback.tpl
+++ b/gosa-core/setup/setup_feedback.tpl
@@ -1,147 +1,97 @@
-
 {if $feedback_send}
-
-	<div class='default' style='margin:12px; '>  
-		<font color='green'>{t}Feedback sucessfully send{/t}</font>
-	</div>	
-
+	<font color='green'>{t}Feedback successfully send{/t}</font>
 {else}
 	
-<div class='default' style='margin:12px; '>  
+    <input {if $subscribe} checked {/if} type='checkbox' name='subscribe' value='1' class='center'>
+    {t}Subscribe to the gosa-announce mailing list{/t}
 
-	<h2>{$additional_info}</h2>
+    <p>{t}When checking this option, GOsa will try to connect http://oss.gonicus.de in order to subscribe you to the gosa-announce mailing list. You've to confirm this by mail.{/t}</p>
 
-	<h2>
-		<input {if $subscribe} checked {/if} type='checkbox' name='subscribe' value='1' class='center'> {t}Subscribe to the gosa-announce mailinglist{/t}
-	</h2>
-	<p>
-	{t}When checking this option, GOsa will try to connect http://oss.gonicus.de in order to subscribe you to the gosa-announce mailing list. You've to confirm this by mail.{/t}
-	</p>
-	<table>	
+	<table summary="{t}Organization{/t}">	
 		<tr>
-			<td>
-				{t}Organization{/t}
-			</td>
-			<td>
-				<input name='organization' type='text' value='{$organization}' style='width:300px;'>
-			</td>
+			<td>{t}Organization{/t}</td>
+			<td><input name='organization' type='text' value='{$organization}' style='width:300px;'></td>
 		</tr>
 		<tr>
-			<td>
-				{t}Name{/t}
-			</td>
-			<td>
-				<input name='name' type='text' value='{$name}' style='width:300px;'>
-			</td>
+			<td>{t}Name{/t}</td>
+			<td><input name='name' type='text' value='{$name}' style='width:300px;'></td>
 		</tr>
 		<tr>
-			<td>
-				{t}Mail address{/t}{$must}
-			</td>
-			<td>
-				<input name='eMail' type='text' value='{$eMail}' style='width:300px;'>	
-			</td>
+			<td>{t}Mail address{/t}{$must}</td>
+			<td><input name='eMail' type='text' value='{$eMail}' style='width:300px;'></td>
 		</tr>
 	</table>
 
+    <hr>
+
+	<input {if $use_gosa_announce} checked {/if} type='checkbox' name='use_gosa_announce' value='1' class='center'>
+    {t}Send feedback to the GOsa project team{/t}
 
-	<p> </p>
-	<h2>
-  		<input {if $use_gosa_announce} checked {/if} type='checkbox' name='use_gosa_announce' value='1' class='center'> {t}Send feedback to the GOsa project team{/t}
-	</h2>
 	<p>
 	{t}When checking this option, GOsa will try to connect http://oss.gonicus.de in order to submit your form anonymously.{/t}
 	</p>
+
+    <hr>
 	<b>{t}Generic{/t}</b>
-	<table>	
+	<table  summary="{t}Generic{/t}">	
 		<tr>
-			<td style='vertical-align:top'>
-				{t}Did the setup procedure help you to get started?{/t}   
-			</td>
-			<td>
-				<input {if $get_started} checked {/if} type='radio' name='get_started' value='1'>{t}Yes{/t}
+			<td>{t}Did the setup procedure help you to get started?{/t}</td>
+			<td><input {if $get_started} checked {/if} type='radio' name='get_started' value='1'>{t}Yes{/t}
 				<br>
-				<input {if !$get_started} checked {/if} type='radio' name='get_started' value='0'>{t}No{/t}
-			</td>
+				<input {if !$get_started} checked {/if} type='radio' name='get_started' value='0'>{t}No{/t}</td>
 		</tr>
 		<tr>
-			<td style='vertical-align:top'>
-				{t}If not, what problems did you encounter{/t}:
-			</td>
-			<td>
-				<textarea name='problems_encountered' rows='4' cols='50' style='width:100%'>{$problems_encountered}</textarea>
-			</td>
+			<td>{t}If not, what problems did you encounter{/t}:</td>
+			<td><textarea name='problems_encountered' rows='4' cols='50' style='width:100%'>{$problems_encountered}</textarea></td>
 		</tr>
 		<tr>
-			<td style='vertical-align:top'>
-				{t}Is this the first time you use GOsa?{/t}
-			</td>
+			<td>{t}Is this the first time you use GOsa?{/t}</td>
 			<td>
 				<input {if $first_use} checked {/if} type='radio' name='first_use' value='1'>{t}Yes{/t}
 				<br>
 				<input {if !$first_use} checked {/if} type='radio' name='first_use' value='0'>{t}No{/t},
 				{t}I use it since{/t}
-				<select name='use_since' title='{t}Select the year since when you are using GOsa{/t}'> 
+				<select name='use_since' title='{t}Select the year since when you are using GOsa{/t}' size=1> 
 					{html_options options=$years}
 				</select>
 			</td>	
 		</tr>
 		<tr>
-			<td style='vertical-align:top'>
-				{t}What operating system / distribution do you use?{/t}
-			</td>
-			<td>
-				<input type='text' name='distribution' size=50 value='{$distribution}'>
-			</td>
+			<td>{t}What operating system / distribution do you use?{/t}</td>
+			<td><input type='text' name='distribution' size=50 value='{$distribution}'></td>
 		</tr>
 		<tr>
-			<td style='vertical-align:top'>
-				{t}What web server do you use?{/t}
-			</td>
-			<td>
-				<input type='text' size=50 name='web_server' value='{$web_server}'>
-			</td>
+			<td>{t}What web server do you use?{/t}</td>
+			<td><input type='text' size=50 name='web_server' value='{$web_server}'></td>
 		</tr>
 		<tr>
-			<td style='vertical-align:top'>
-				{t}What PHP version do you use?{/t}
-			</td>
-			<td>
-				<input type='text' size=50 name='php_version' value='{$php_version}'>
-			</td>
+			<td>{t}What PHP version do you use?{/t}</td>
+			<td><input type='text' size=50 name='php_version' value='{$php_version}'></td>
 		</tr>
 		<tr>
-			<td style='vertical-align:top'>
-				{t}GOsa version{/t}</td>
-			</td>
-			<td>
-				{$gosa_version}
-			</td>
+			<td>{t}GOsa version{/t}</td>
+			<td>{$gosa_version}</td>
 		</tr>
 	</table>
 
-	<br><b>{t}LDAP{/t}</b>
-	<table>
+	<hr>
+    <b>{t}LDAP{/t}</b>
+	<table  summary="{t}LDAP{/t}">
 		<tr>
-			<td style='vertical-align:top'>
-			{t}What kind of LDAP server(s) do you use?{/t}
-			</td>
-			<td><input type='text' name='ldap_server' size=50 value='{$ldap_server}'>
-			</td>
+			<td>{t}What kind of LDAP server(s) do you use?{/t}</td>
+			<td><input type='text' name='ldap_server' size=50 value='{$ldap_server}'></td>
 		</tr>
 		<tr>
-			<td>{t}How many objects are in your LDAP?{/t}
-			</td>
-			<td><input type='text' name='object_count' size=50 value='{$object_count}'>
-			</td>
+			<td>{t}How many objects are in your LDAP?{/t}</td>
+			<td><input type='text' name='object_count' size=50 value='{$object_count}'></td>
 		</tr>
 	</table>
 
-	<br><b>{t}Features{/t}</b>
-	<table>
+	<hr>
+    <b>{t}Features{/t}</b>
+	<table  summary="{t}Features{/t}">
 		<tr>
-			<td style='vertical-align:top'>{t}What features of GOsa do you use?{/t}
-			</td>
+			<td>{t}What features of GOsa do you use?{/t}</td>
 			<td>
 				{foreach from=$features_used item=data key=key}
 					<input type='checkbox' name='feature_{$key}' {if $data.USED} checked {/if}>
@@ -150,13 +100,11 @@
 			</td>
 		</tr>
 		<tr>
-			<td style="vertical-align:top">{t}What features do you want to see in future versions of GOsa?{/t}
-			</td>
-			<td><textarea name='want_to_see_next' cols=50 rows=3>{$want_to_see_next}</textarea>
-			</td>
+			<td>{t}What features do you want to see in future versions of GOsa?{/t}</td>
+			<td><textarea name='want_to_see_next' cols=50 rows=3>{$want_to_see_next}</textarea></td>
 		</tr>
 	</table>
-</div>
-<input type='submit' name='send_feedback' value='{t}Send feedback{/t}'>
+<button type='submit' name='send_feedback'>{t}Send feedback{/t}</button>
+
 {/if}
 <input type='hidden' name='step_feedback' value='1'>
diff --git a/gosa-core/setup/setup_finish.tpl b/gosa-core/setup/setup_finish.tpl
index 4f29b9c..b723115 100644
--- a/gosa-core/setup/setup_finish.tpl
+++ b/gosa-core/setup/setup_finish.tpl
@@ -7,7 +7,7 @@
 	</p>
 
       {if $webgroup == ""}
-{t}Depending on the user name your webserver is running on:{/t}
+{t}Depending on the user name your web server is running on:{/t}
 <tt>
 <pre> chown root:www-data {$CONFIG_DIR}/{$CONFIG_FILE}
  chmod 640 {$CONFIG_DIR}/{$CONFIG_FILE}
@@ -23,12 +23,12 @@ or
  chmod 640 {$CONFIG_DIR}/{$CONFIG_FILE}
 </pre>
 {/if} 
-	</tt>
 	<p>	
-		<input type='submit' name='getconf' value='{t}Download configuration{/t}'>
+		<button type='submit' name='getconf'>{t}Download configuration{/t}</button>
+
 	</p>
 		{if $err_msg != ""}
-			<p class="seperator"> </p>
+			<hr>
 			<br>
 			{t}Status: {/t}
 			<a style='color:red ; font-weight:bold '>{$err_msg}</a>
diff --git a/gosa-core/setup/setup_frame.tpl b/gosa-core/setup/setup_frame.tpl
index f6554f5..31e7a12 100644
--- a/gosa-core/setup/setup_frame.tpl
+++ b/gosa-core/setup/setup_frame.tpl
@@ -1,47 +1,26 @@
-<body class='setup_body'>
-{$php_errors}
-<form action='setup.php' name='mainform' method='post' enctype='multipart/form-data'>
-	{$msg_dialogs}
-<input id='focus' name='focus' type='image' src='images/empty.png' style='width:0px; height:0px;' >
-<div class='setup_dialog'>
-	<div class='setup_header'>
-		<div style="float:left;"><img src='themes/default/images/go_logo.png' class='center' alt='GOsa'></div>
-		<div style="padding-top:8px;text-align:right;height:28px">{$version}</div>
-	</div>
-	<div class='setup_menu'>
-		<b>{t}GOsa setup wizard{/t}</b>
-	</div>
+ <body>
+  {$php_errors}
+  <div class='title-bar'>
+   <ul>
+    <li><img src='themes/default/images/logo.png' alt='GOsa'></li>
+    <li class='right' style='padding-top:10px;padding-right:5px'>{$version}</li>
+   </ul>
+  </div>
 
-	<div style="padding:10px;background-color:white;">
+  <form action='setup.php' name='mainform' method='post' enctype='multipart/form-data'>
+   {$msg_dialogs}
 
-		<div class='setup_navigation'>
-			<div style='padding:4px'>
-				<img src='images/setup/fai.png' class='center' alt='{t}Installation{/t}'>  <font style="font-size:24px;">{t}Setup{/t}</font>
-			</div>
-			{$navigation}		
-		</div>
-	
-		<div class='setup_contents'>
-			<div style='border-bottom:1px dashed #AAAAAA'>
-				{$errors}
-				{$header}
-			</div>
-			<div style='padding-left:12px;'>
-				{$contents}
-				{$bottom}
-				<br>
-			</div>
-		</div>
-		<div style="clear:both">	</div>
-	</div>
-</div>
-
-
-<input type='hidden' name='setup_goto_step' value=''>
-</form>
-
-<script type='javascript'>
-	document.getElementById('focus').focus();
-</script>
-</body>
+   <div class='plugin-area' style='margin:10px;'>
+    <div class='plugin'>
+    {if isset($errors)}{$errors}{/if}
+    {$header}
+    <hr>
+    {$contents}
+    <hr>
+    {$bottom}
+   </div>
+   </div>
+   <input type='hidden' name='setup_goto_step' value=''>
+  </form>
+ </body>
 </html>
diff --git a/gosa-core/setup/setup_language.tpl b/gosa-core/setup/setup_language.tpl
index 236ce16..6681816 100644
--- a/gosa-core/setup/setup_language.tpl
+++ b/gosa-core/setup/setup_language.tpl
@@ -2,7 +2,7 @@
 	<div class='default'>
 		<p><b>{t}Please select the preferred language{/t}</b></p>
 		<p>
-		{t}At this point, you can select the site wide default language. Choosing 'automatic' will use the language requested by the browser. This setting can be overriden per user.{/t}
+		{t}At this point, you can select the site wide default language. Choosing 'automatic' will use the language requested by the browser. This setting can be overridden per user.{/t}
 		</p>
 	</div>
 	<div class='default' style='padding-right:10px; margin-bottom:20px;'>
diff --git a/gosa-core/setup/setup_ldap.tpl b/gosa-core/setup/setup_ldap.tpl
index 8e082d6..be95099 100644
--- a/gosa-core/setup/setup_ldap.tpl
+++ b/gosa-core/setup/setup_ldap.tpl
@@ -1,132 +1,117 @@
-<div class='default' style="width:100%; margin-right:20px;">
+ <p>
+  {t}The main data source used in GOsa is LDAP. In order to access the information stored there, please enter the required information.{/t}
+ </p>
+
+  <hr>
 
 	{if $resolve_user}
 
-	<div style='float:left; width:99%; margin-bottom:20px;'>
-		<p>
 		<b>{t}Please choose the LDAP user to be used by GOsa{/t}</b>
-		</p>
 		<select name='admin_to_use' size=20 style="width:100%; margin-bottom:10px;">				
 			{html_options options=$resolved_users selected=$admin}
 		</select>
+
 		<input type='text' value='{$resolve_filter}' name='resolve_filter'>
-		<input type='submit' value='{t}Search{/t}' name='resolve_search'>
-		<p class='seperator' style='margin-bottom:10px;'> </p>
-		<div style='text-align:right'>
-		<input type='submit' value='{t}Apply{/t}' name='use_selected_user'>
-		<input type='submit' value='{t}Cancel{/t}' name='resolve_user'>
+		<button type='submit' name='resolve_search'>{t}Search{/t}</button>
+		
+        <hr>
+        <div class="plugin-actions">
+            <button type='submit' name='use_selected_user'>{t}Apply{/t}</button>
+            <button type='submit' name='resolve_user'>{t}Cancel{/t}</button>
 		</div>
 	</div>		
 	
 	<div style="clear:both;"></div>
 
 	{else}
-	<p>
-	<b>{t}LDAP connection{/t}</b>
-	</p>
-	<div class='step4_container'>
-		<div class='step4_name'>
-			{t}Location name{/t}
-		</div>
-		<div class='step4_value'>
-			<input type='text' name='location' maxlength='80' size='40' value='{$location}'>
-		</div>
-	</div>
-	<div class='step4_container'>
-		<div class='step4_name'>
-			<div style='vertical-align:middle;height:100%;'>{t}Connection URI{/t}</div>
-		</div>
-		<div class='step4_value'>
-			<input type='text' name='connection' maxlength='80' size='40' value='{$connection}'>
-		</div>
-	</div>
-        <div class='step4_container'>
-          <div class='step4_name'>
-            {t}TLS connection{/t}
-          </div>
-          <div class='step4_value'>
-            <select name="tls" size="1" title="">
-			{html_options options=$bool selected=$tls}
-            </select>
-          </div>
-        </div>
-	<div class='step4_container'>
-		<div class='step4_name'> 
-			{t}Base{/t}
-		</div>
-		<div class='step4_value'>
-			{if $namingContextsCount >= 1}
-				<select name='base'>		
-					{html_options values=$namingContexts output=$namingContexts selected=$base}
-				</select>
-			{else}
-				<input type='text' name='base' maxlength='80' size='40' value='{$base}'>
-			{/if}
-			<input type='image' class='center' src='images/lists/reload.png' title='{t}Reload{/t}' name='reload' alt='{t}Reload{/t}'>
-		</div>
-	</div>
-	<p style="margin-top:20px">
-	<b>{t}Authentication{/t}</b>
-	</p>
-	<div class='step4_container'>
-		<div class='step4_name'> 
-			{t}Admin DN{/t}
-		</div>
-		<div class='step4_value'>
-			<input type='text' name='admin_given' maxlength='160' size='40' value='{$admin_given}'>
-			{if $append_base_to_admin_dn},{$base_to_append}{/if}
-			<input type='image' class='center' src='images/lists/folder.png' title='{t}Select user{/t}' name='resolve_user' alt='{t}Select user{/t}'>
-		</div>
-	</div>
-
-	<div class='step4_container'>
-		<div class='step4_name'> 
-		</div>
-		<div class='step4_value'>
-			<input onClick='document.mainform.submit();' {if $append_base_to_admin_dn} checked {/if} type='checkbox' name='append_base_to_admin_dn' value='1'> {t}Automatically append LDAP base to admin DN{/t}
-		</div>
-	</div>
 
+	<b>{t}LDAP connection{/t}</b>
+    <table style='width:100%' summary='{t}LDAP connection{/t}'>
+        <tr>
+            <td style='width:200px;'>{t}Location name{/t}</td>
+            <td><input type='text' name='location' maxlength='80' size='40' value='{$location}'></td>    
+        </tr>
+        <tr>
+            <td>{t}Connection URI{/t}</td>
+			<td><input type='text' name='connection' maxlength='80' size='40' value='{$connection}'></td>
+        </tr>
+        <tr>
+            <td>{t}TLS connection{/t}</td>
+            <td>
+                <select name="tls" size="1" title="">
+                    {html_options options=$bool selected=$tls}
+                </select>
+            </td>
+        </tr>
+        <tr>
+            <td>{t}Base{/t}</td>
+            <td>
+                {if $namingContextsCount >= 1}
+                    <select name='base' size=1>
+                        {html_options values=$namingContexts output=$namingContexts selected=$base}
+                    </select>
+                {else}
+                    <input type='text' name='base' maxlength='80' size='40' value='{$base}'>
+                {/if}
+            <input type='image' class='center' src='images/lists/reload.png' 
+                title='{t}Reload{/t}' name='reload' alt='{t}Reload{/t}'>
+            </td>
+        </tr>
+    </table>
 
-	<div class='step4_container'>
-		<div class='step4_name'>
-			{t}Admin password{/t}
-		</div>
-		<div class='step4_value'>
-			<input type='password' name='password' maxlength='20' size='20' value='{$password}'>
-		</div>
-	</div>
+    <hr> 
+	<b>{t}Authentication{/t}</b>
+    <table style='width:100%' summary='{t}Authentication{/t}'>
+        <tr>
+            <td style='width:200px;'>{t}Administrator DN{/t}</td>
+            <td>
+                <input type='text' name='admin_given' maxlength='160' size='40' value='{$admin_given}'>
+			    {if $append_base_to_admin_dn},{$base_to_append}{/if}
+			    <input type='image' class='center' src='images/lists/folder.png' 
+                    title='{t}Select user{/t}' name='resolve_user' alt='{t}Select user{/t}'>
+            </td>
+        </tr>
+        <tr>
+            <td>
+            </td>    
+            <td>
+                <input onClick='document.mainform.submit();' 
+                    {if $append_base_to_admin_dn} checked {/if} 
+                    type='checkbox' name='append_base_to_admin_dn' value='1'> 
+                {t}Automatically append LDAP base to administrator DN{/t}
+            </td>
+        </tr>
+        <tr>
+            <td>{t}Administrator password{/t}</td>
+            <td><input type='password' name='password' value='{$password}'></td>
+        </tr>
+    </table>
 
-	<p style="margin-top:20px">
+    <hr> 
 	<b>{t}Schema based settings{/t}</b>
-	</p>
-	    <div class='step4_container'>
-		<div class='step4_name'>
-		    {t}Use rfc2307bis compliant groups{/t}
-		</div>
-		<div class='step4_value'>
-		    <select name="rfc2307bis" size="1" title="">
-		    {html_options options=$bool selected=$rfc2307bis}
-		    </select>
-		</div>
-	    </div>
-	{/if}
+    <table style='width:100%' summary='{t}Schema based settings{/t}'>
+        <tr>
+            <td style='width:200px;'>{t}Use RFC 2307bis compliant groups{/t}</td>
+            <td>
+                <select name="rfc2307bis" size="1" title="">
+                   {html_options options=$bool selected=$rfc2307bis}
+                </select>
+            </td>
+        </tr>
+    </table>
 
-	{if ! $resolve_user}
-	<p style="margin-top:20px">
-	<b>{t}Current status{/t}</b>
-	</p>
-    <div class='step4_container' style='height:45px;'>
-        <div class='step4_name' style='height:45px;'>
-            {t}Information{/t}
-        </div>
-        <div class='step4_value' style='height:45px;'>
-			{$connection_status}
-        </div>
-    </div>
+	{if !$resolve_user}
+    <hr> 
+        <b>{t}Current status{/t}</b>
+        <table style='width:100%' summary='{t}Current status{/t}'>
+            <tr>
+                <td style='width:200px;'>{t}Information{/t}</td>
+                <td>{$connection_status}</td>
+            </tr>
+        </table>
 	{/if}
+{/if}
 
-</div>
 <!-- Place cursor -->
 <script language="JavaScript" type="text/javascript">
   <!-- // First input field on page
diff --git a/gosa-core/setup/setup_license.tpl b/gosa-core/setup/setup_license.tpl
index 5322579..7b65e28 100644
--- a/gosa-core/setup/setup_license.tpl
+++ b/gosa-core/setup/setup_license.tpl
@@ -1,10 +1,13 @@
 <div>
+ <p>
+  {t}GOsa is developed under the terms of the GNU General Public License v2. Please accept the terms below.{/t}
+ </p>
 	<div class='default' style='margin:10px; border:1px solid #A0A0A0'>
 		<div style='height:450px;padding:5px;overflow:auto; '>
 			{$License}
 		</div>
 	</div>	
-	<div style='width:95%; text-align: right'>
+	<div style='width:95%; text-align:center'>
 		<input {if $accepted} checked {/if} id="accepted" type='checkbox' name='accepted' class="center"><label for="accepted">{t}I have read the license and accept it{/t}</label>
 	</div>
 </div>
diff --git a/gosa-core/setup/setup_migrate.tpl b/gosa-core/setup/setup_migrate.tpl
index 4563879..d919b32 100644
--- a/gosa-core/setup/setup_migrate.tpl
+++ b/gosa-core/setup/setup_migrate.tpl
@@ -1,571 +1,73 @@
-<div>
-    <div class='default'>
-
 	{if $method == "default"}
-			<p>{t}During the LDAP inspection, we're going to check for several common pitfalls that may occur when migration to GOsa base LDAP administration. You may want to fix the problems below, in order to provide smooth services.{/t}
-			</p>
-
-			{foreach from=$checks item=val key=key}
-				<div style='width:98%; padding:4px; background-color:{cycle values="#F0F0F0, #FFF"}'>
-
-			{if $checks.$key.ERROR_MSG}
-                                <!-- Add ability to display info popup -->
-                                <div class='step2_entry_container_info'>
-                        {else}
-                                <!-- Normal entry everything is fine -->
-                                <div class='step2_entry_container'>
+		<p>{t}During the LDAP inspection, we're going to check for several common pitfalls that may occur when migration to GOsa base LDAP administration. You may want to fix the problems below, in order to provide smooth services.{/t}
+		</p>
+
+        <table style='width:100%' summary='{t}Checks{/t}'>
+            {foreach from=$checks item=val key=key}
+                <tr> 
+                    <td>
+                        <b>{$checks.$key.TITLE}</b>  {$checks.$key.STATUS_MSG}
+                        {if $checks.$key.ERROR_MSG}
+                            <p>
+                                {$checks.$key.ERROR_MSG}
+                            </p>
                         {/if}
-				<div class='step2_entry_name'><b>{$checks.$key.TITLE}</b></div>
-				<div class='step2_entry_status'>
-				{if $checks.$key.STATUS}
-					<div class='step2_successful'>{$checks.$key.STATUS_MSG}</div>
-				{else}
-					<div class='step2_failed'>{$checks.$key.STATUS_MSG}</div>
-				{/if}
-				</div>
-					{if $checks.$key.ERROR_MSG}
-						{$checks.$key.ERROR_MSG}
-					{/if}
-				</div>
-				</div>
-			{/foreach}
-		<br>
-		<input type='submit' name='reload' value='{t}Check again{/t}'>
+                    </td>
+                </tr>
+            {/foreach}
+        </table>
 
-		{elseif $method == "rootOC_migrate_dialog"}
+	{elseif $method == "rootOC_migrate_dialog"}
 
 			<h2>{t}Add required object classes to the LDAP base{/t}</h2>
 
 			<b>{t}Current{/t}</b>
-			<div class="step2_entry_container_info">
-				<div style='padding-left:20px;'>
-					<pre>{$details.current}</pre>
-				</div>
-			</div>
-			<br>
-			<b>{t}After migration{/t}</b>
-			<div class="step2_entry_container_info">
-				<div style='padding-left:20px;'>
-					<pre>{$details.target}</pre>
-				</div>
-			</div>
-
-			<br>
-			<input type='submit' name='rootOC_migrate_start' value='{t}Migrate{/t}'>
-			</p>
-				
-
-			<p class='seperator'> </p>	
-			<div style='width:100%; text-align:right; padding:5px;'>
-				<input type='submit' name='rootOC_dialog_cancel' value='{t}Close{/t}'>
-			</div>
-
-		{elseif $method == "outside_winstations"}
-
-			<h2>{t}Move windows workstations into a valid windows workstation department{/t}</h2>
-
-			{t}This dialog allows you to move the displayed windows workstations into a valid department{/t}
-			<br>
-			{t}Be careful with this tool, there may be references pointing to this workstations that can't be migrated.{/t}
-			<br>
-			<br>	
-
-			{foreach from=$outside_winstations item=val key=key}
-				{if $outside_winstations.$key.selected}
-					<input id='select_winstation_{$key}' type='checkbox' name='select_winstation_{$key}' checked>
-				{else}
-					<input id='select_winstation_{$key}' type='checkbox' name='select_winstation_{$key}'>
-				{/if}
-
-				 {$outside_winstations.$key.dn}
-				{if $outside_winstations.$key.ldif != ""}
-                    <div class="step2_entry_container_info" id="sol_8">
-						<div style='padding-left:20px;'>
-							<pre>
-								{$outside_winstations.$key.ldif}
-							</pre>
-						</div>
-					</div>
-				{/if}
-				<br>
-			{/foreach}
-			<input type='checkbox' id='toggle_calue' onClick="toggle_all_('^select_winstation_','toggle_calue')">
-			{t}Select all{/t}
-			<p>
-			<b>{t}Move selected windows workstations into the following GOsa department{/t} : </b>
-			<select name='move_winstation_to'>
-				{html_options options=$ous}
-			</select>
-			<br>
-			<input type='submit' name='outside_winstations_dialog_perform' value='{t}Move selected workstations{/t}'>
-			<input type='submit' name='outside_winstations_dialog_whats_done' value='{t}What will be done here{/t}'>
-			</p>
-				
-
-			<p class='seperator'> </p>	
-			<div style='width:100%; text-align:right; padding:5px;'>
-				<input type='submit' name='outside_winstations_dialog_cancel' value='{t}Close{/t}'>
-			</div>
-		
-
-		{elseif $method == "outside_groups"}
+			<pre>{$details.current}</pre>
 
-			<h2>{t}Move groups into configured group tree{/t}</h2>
-
-                        <p>
-                        {t}This dialog allows moving a couple of groups to the configured group tree. Doing this may straighten your LDAP service.{/t}
-                        </p>
-                        <p style='color:red'>
-                        {t}Be careful with this option! There may be references pointing to these groups. The GOsa setup can't migrate references, so you may want to cancel the migration in this case.{/t}
-                        </p>
-			<p>
-			{t}Move selected groups into this group tree{/t}: 
-			<select name='move_group_to'>
-				{html_options options=$ous}
-			</select>
-			</p>
-
-			{foreach from=$outside_groups item=val key=key}
-				{if $outside_groups.$key.selected}
-					<input id='select_group_{$key}' type='checkbox' name='select_group_{$key}' checked>
-				{else}
-					<input id='select_group_{$key}' type='checkbox' name='select_group_{$key}'>
-				{/if}
-
-				 {$outside_groups.$key.dn}
-				{if $outside_groups.$key.ldif != "" && $group_details}
-                      <div class="step2_entry_container_info" id="sol_8">
-<div style='padding-left:20px;'>
-<pre>
-{$outside_groups.$key.ldif}
-</pre>
-</div>
-</div>
-				{/if}
-				<br>
-			{/foreach}
-
-			<input type='checkbox' id='toggle_calue' onClick="toggle_all_('^select_group_','toggle_calue')">
-			{t}Select all{/t}
 			<br>
-			<p>
-                        {if $group_details}
-                        <input type='submit' name='outside_groups_dialog_refresh' value='{t}Hide changes{/t}'>
-                        {else}
-                        <input type='submit' name='outside_groups_dialog_whats_done' value='{t}Show changes{/t}'>
-                        {/if}
-			</p>
-
-			<p class='seperator'> </p>	
-			<div style='width:99%; text-align:right; padding:5px;'>
-				<input type='submit' name='outside_groups_dialog_perform' value='{t}Apply{/t}'>
-				 
-				<input type='submit' name='outside_groups_dialog_cancel' value='{t}Cancel{/t}'>
-			</div>
-		
-		{elseif $method == "outside_users"}
-
-			<h2>{t}Move users into configured user tree{/t}</h2>
-			<p>
-			{t}This dialog allows moving a couple of users to the configured user tree. Doing this may straighten your LDAP service.{/t}
-			</p>
-			<p style='color:red'>
-			{t}Be careful with this option! There may be references pointing to these users. The GOsa setup can't migrate references, so you may want to cancel the migration in this case.{/t}
-			</p>	
-			<p>
-			{t}Move selected users into this people tree{/t}: 
-			<select name='move_user_to'>
-				{html_options options=$ous}
-			</select>
-			</p>
-			{foreach from=$outside_users item=val key=key}
-				{if $outside_users.$key.selected}
-					<input id='select_user_{$key}' type='checkbox' name='select_user_{$key}' checked>
-				{else}
-					<input id='select_user_{$key}' type='checkbox' name='select_user_{$key}'>
-				{/if}
+			<b>{t}After migration{/t}</b>
+    		<pre>{$details.target}</pre>
 
-				 {$outside_users.$key.dn}
-				{if $outside_users.$key.ldif != "" && $user_details}
-                      <div class="step2_entry_container_info" id="sol_8">
-<div style='padding-left:20px;'>
-<pre>
-{$outside_users.$key.ldif}
-</pre>
-</div>
-</div>
-				{/if}
-				<br>
-			{/foreach}
-			<input type='checkbox' id='toggle_calue' onClick="toggle_all_('^select_user_','toggle_calue')">
-			{t}Select all{/t}
 			<br>
-
-			{if $user_details}
-			<input type='submit' name='outside_users_dialog_refresh' value='{t}Hide changes{/t}'>
-                        {else}
-			<input type='submit' name='outside_users_dialog_whats_done' value='{t}Show changes{/t}'>
-			{/if}
-
-			<p class='seperator'> </p>	
-			<div style='width:99%; text-align:right; padding:5px;'>
-				<input type='submit' name='outside_users_dialog_perform' value='{t}Apply{/t}'>
-				 
-				<input type='submit' name='outside_users_dialog_cancel' value='{t}Cancel{/t}'>
-			</div>
-		
-
-		{elseif $method == "migrate_acls"}
-			<h2>{t}Migrate GOsa 2.5 administrative accounts{/t}</h2>
-            <p>
-            {t}This dialog allows the migration of GOsa 2.5 admin accounts into GOsa 2.6 useable accounts.{/t}
-            </p>
-			<table>	
-				<tr>	
-					<td></td>
-					<td></td>
-				</tr>
-			{foreach from=$migrateable_users item=item key=key}
-				<tr>
-					<td><input type='checkbox' name='migrate_admin_{$key}' value='{$key}' {if $item.checked} checked {/if}></td>
-					<td>{$item.dn}</td>
-				</tr>
-			{/foreach}
-			</table>
-
-			{if !$details}
-				<input type='submit' name='migrate_acls_show_changes' value='{t}Show changes{/t}'>
-				<input type='hidden' name='details' value='0'>
-			{else}
-				<input type='hidden' name='details' value='1'>
-
-				<br>
-				<div class="step2_entry_container_info">
-				{t}Current{/t}
-				<div style='padding-left:20px;'>
-					<pre>{$migrate_acl_base_entry}</pre>
-				</div>
-				{t}After migration{/t}
-				<div style='padding-left:20px;'>
-					<pre>{$migrate_acl_base_entry}{foreach from=$migrateable_users item=item key=key}{if $item.checked}<b>{$item.details}</b>{/if}{/foreach}</pre>
-				</div>
-				</div>
-				<br>
-				<input type='submit' name='migrate_acls_hide_changes' value='{t}Hide changes{/t}'>
-			{/if}
-
-			<input type='submit' value="{t}Reload{/t}">
-			<p class='seperator'> </p>	
-			<div style='width:99%; text-align:right; padding:5px;'>
-				<input type='submit' name='migrate_admin_user' value='{t}Apply{/t}'>	
-				<input type='submit' name='migrate_acls_cancel' value='{t}Cancel{/t}'>
+			<button type='submit' name='rootOC_migrate_start'>{t}Migrate{/t}</button>
+			<hr>	
+			<div class="plugin-actions">
+				<button type='submit' name='rootOC_dialog_cancel'>{t}Close{/t}</button>
 			</div>
 
 		{elseif $method == "create_acls"}
 
-		{if $acl_create_selected != "" && $what_will_be_done_now!=""}
-			<div>
-<pre>
-{$what_will_be_done_now}
-</pre>
-			</div>		
-			<input type='submit' name='create_acls_create_confirmed' value='{t}Next{/t}'>
-			<input type='submit' name='create_acls_create_abort' value='{t}Abort{/t}'>
-		{else}
-			<h2>{t}Create a new GOsa administrator account{/t}</h2>
-	
-			<p>
-			{t}This dialog will automatically add a new super administrator to your LDAP tree.{/t}
-			</p>
-			<table>
-				<tr>
-					<td>
-						{t}Name{/t}: 
-					</td>
-					<td>
-						<i>System administrator</i>
-					</td>
-				</tr>
-				<tr>
-					<td>
-						{t}User ID{/t}: 
-					</td>
-					<td>
-						<input type='text' value='{$new_user_uid}' name='new_user_uid'><br>
-					</td>
-				</tr>
-				<tr>
-					<td>
-						{t}Password{/t}: 
-					</td>
-					<td>
-						<input type='password' value='{$new_user_password}' name='new_user_password'><br>
-					</td>
-				</tr>
-				<tr>
-					<td>
-						{t}Password (again){/t}: 
-					</td>
-					<td>
-
-						<input type='password' value='{$new_user_password2}' name='new_user_password2'><br>
-					</td>
-				</tr>
-			</table>
-	
-<!-- Place cursor -->
-<script language="JavaScript" type="text/javascript">
-  <!-- // First input field on page
-	focus_field('new_user_password');
-  -->
-</script>
-
-			<p class='seperator'> </p>	
-			<div style='width:99%; text-align:right; padding:5px;'>
-				<input type='submit' name='create_admin_user' value='{t}Apply{/t}'>	
-				<input type='submit' name='create_acls_cancel' value='{t}Cancel{/t}'>
-			</div>
-			{/if}	
-		{elseif $method == "migrate_deps"}
-	
-			<h2>Department migration</h2>
-
-			<p>{t}The listed departments are currently invisible in the GOsa user interface. If you want to change this for a couple of entries, select them and use the migrate button below.{/t}</p>
-			<p>{t}If you want to know what will be done when migrating the selected entries, use the 'Show changes' button to see the LDIF.{/t}</p>
-					
-			{foreach from=$deps_to_migrate item=val key=key}
-
-				{if $deps_to_migrate.$key.checked}
-					<input id='migrate_{$key}' type='checkbox' name='migrate_{$key}' checked>
-					{$deps_to_migrate.$key.dn}
-					{if $deps_to_migrate.$key.after != ""}
-						<div class="step2_entry_container_info" id="sol_8">
-
-{t}Current{/t}
-<div style='padding-left:20px;'>
-<pre>
-dn: {$deps_to_migrate.$key.dn}
-{$deps_to_migrate.$key.before}
-</pre>
-</div>
-{t}After migration{/t}
-<div style='padding-left:20px;'>
-<pre>
-dn: {$deps_to_migrate.$key.dn}
-{$deps_to_migrate.$key.after}
-</pre>
-</div>
-						</div>
-					{/if}
-				{else}
-					<input id='migrate_{$key}' type='checkbox' name='migrate_{$key}'>
-					{$deps_to_migrate.$key.dn}
-				{/if}
-				
-			<br>
-			{/foreach}
-			<input type='checkbox' id='toggle_calue' onClick="toggle_all_('^migrate_','toggle_calue')">
-			{t}Select all{/t}
-			<br>
-
-			{if $deps_details}
-			<input type='submit' name='deps_visible_migrate_refresh' value='{t}Hide changes{/t}'>
-			{else}
-			<input type='submit' name='deps_visible_migrate_whatsdone' value='{t}Show changes{/t}'>
-			{/if}
-
-			<p class='seperator'> </p>	
-
-			<div style='width:99%; text-align:right; padding:5px;'>
-				<input type='submit' name='deps_visible_migrate_migrate' value='{t}Apply{/t}'>
-				 
-				<input type='submit' name='deps_visible_migrate_close' value='{t}Cancel{/t}'>
-			</div>
-		{elseif $method == "migrate_users"}
-	
-			<h2>User migration</h2>
-
-			<p>{t}The listed users are currently invisible in the GOsa user interface. If you want to change this for a couple of users, just select them and use the 'Migrate' button below.{/t}</p>
-			<p>{t}If you want to know what will be done when migrating the selected entries, use the 'Show changes' button to see the LDIF.{/t}</p>
-			{foreach from=$users_to_migrate item=val key=key}
-
-				{if $users_to_migrate.$key.checked}
-					<input type='checkbox' name='migrate_{$key}' checked id='migrate_{$key}'>
-					{$users_to_migrate.$key.dn}
-					{if $users_to_migrate.$key.after != ""}
-						<div class="step2_entry_container_info" id="sol_8">
-
-{t}Current{/t}
-<div style='padding-left:20px;'>
-<pre>
-dn: {$users_to_migrate.$key.dn}
-{$users_to_migrate.$key.before}
-</pre>
-</div>
-{t}After migration{/t}
-<div style='padding-left:20px;'>
-<pre>
-dn: {$users_to_migrate.$key.dn}
-{$users_to_migrate.$key.after}
-</pre>
-</div>
-						</div>
-					{/if}
-				{else}
-					<input type='checkbox' name='migrate_{$key}' id='migrate_{$key}'>
-					{$users_to_migrate.$key.dn}
-				{/if}
-				<br>
-			{/foreach}
-			<input type='checkbox' id='toggle_calue' onClick="toggle_all_('^migrate_','toggle_calue')">
-			{t}Select all{/t}
-			<br>
-
-			{if $user_details}
-			<input type='submit' name='users_visible_migrate_refresh' value='{t}Hide changes{/t}'>
-			{else}
-			<input type='submit' name='users_visible_migrate_whatsdone' value='{t}Show changes{/t}'>
-			{/if}
-
-			<p class='seperator'> </p>	
-
-			<div style='width:99%; text-align:right; padding-top:5px;'>
-				<input type='submit' name='users_visible_migrate_migrate' value='{t}Apply{/t}'>
-				 
-				<input type='submit' name='users_visible_migrate_close' value='{t}Cancel{/t}'>
-			</div>
-
-
-	{elseif $method == "devices"}
-
-
-			<h2>Devices</h2>
-
-			<p>{t}The listed devices are currently invisible in the GOsa interface. If you want to change this for a couple of devices, just select them and use the 'Migrate' button below.{/t}</p>
-			<p>{t}If you want to know what will be done when migrating the selected entries, use the 'Show changes' button to see the LDIF.{/t}</p>
-		{foreach from=$devices item=item key=key}
-           	<input type='checkbox' name='migrate_{$key}' id='migrate_{$key}' {if $item.DETAILS} checked {/if}>
-				<b>{$item.DEVICE_NAME}</b>
-				 - {$item.DN} 
-
-				{if $item.DETAILS && $device_details}
-					<div class="step2_entry_container_info">
-						<b>{t}Current{/t}</b>
-						<pre>{$item.CURRENT}</pre>
-	
-						
-						<b>{t}After migration{/t}</b>
-						<pre>{$item.AFTER}</pre>
-					</div>
-				{/if}
-			<br>
-		{/foreach}
-		<input type='checkbox' id='toggle_calue' onClick="toggle_all_('^migrate_','toggle_calue')">
-		{t}Select all{/t}
-	
-		<br>
-
-		{if $device_details}
-			<input type='submit' name='device_dialog_refresh' value='{t}Hide changes{/t}'>
-			<input type='submit' name='dummy_11' value='{t}Refresh{/t}'>
-		{else}
-			<input type='submit' name='device_dialog_whats_done' value='{t}Show changes{/t}'>
-		{/if}
-
-		<p class='seperator'> </p>	
-
-		<div style='width:99%; text-align:right; padding-top:5px;'>
-			<input type='submit' name='migrate_devices' value='{t}Apply{/t}'>
-			 
-			<input type='submit' name='device_dialog_cancel' value='{t}Cancel{/t}'>
-		</div>
-
-	{elseif $method == "services"}
-
-
-			<h2>Services</h2>
-
-			<p>{t}The listed services are currently invalid for the GOsa version you are going to install. If you want to update a couple of service, just select them and use the 'Migrate' button below.{/t}</p>
-			<p>{t}If you want to know what will be done when migrating the selected entries, use the 'Show changes' button to see the LDIF.{/t}</p>
-		{foreach from=$services item=item key=key}
-           	<input type='checkbox' name='migrate_{$key}' id='migrate_{$key}' {if $item.DETAILS} checked {/if}>
-				<b>{$item.DN}</b>
-
-				{if $item.DETAILS && $service_details}
-					<div class="step2_entry_container_info">
-						<b>{t}Current{/t}</b>
-						<pre>{$item.CURRENT}</pre>
-	
-						
-						<b>{t}After migration{/t}</b>
-						<pre>{$item.AFTER}</pre>
-					</div>
-				{/if}
-			<br>
-		{/foreach}
-		<input type='checkbox' id='toggle_calue' onClick="toggle_all_('^migrate_','toggle_calue')">
-		{t}Select all{/t}
-	
-		<br>
-
-		{if $service_details}
-			<input type='submit' name='service_dialog_refresh' value='{t}Hide changes{/t}'>
-			<input type='submit' name='dummy_11' value='{t}Refresh{/t}'>
-		{else}
-			<input type='submit' name='service_dialog_whats_done' value='{t}Show changes{/t}'>
-		{/if}
-
-		<p class='seperator'> </p>	
-
-		<div style='width:99%; text-align:right; padding-top:5px;'>
-			<input type='submit' name='migrate_services' value='{t}Apply{/t}'>
-			 
-			<input type='submit' name='service_dialog_cancel' value='{t}Cancel{/t}'>
-		</div>
-
-
-	{elseif $method == "menus"}
-
-
-			<h2>Application menus</h2>
-
-			<p>{t}The listed menus are currently invisible in the GOsa interface. If you want to change this for a couple of devices, just select them and use the 'Migrate' button below.{/t}</p>
-			<p>{t}If you want to know what will be done when migrating the selected entries, use the 'Show changes' button to see the LDIF.{/t}</p>
-		{foreach from=$menus item=item key=key}
-           	<input type='checkbox' name='migrate_{$key}' id='migrate_{$key}' {if $item.DETAILS} checked {/if}>
-				<b>{$item.DN}</b>
-
-				{if $item.DETAILS && $menu_details}
-					<div class="step2_entry_container_info">
-						<b>{t}Current{/t}</b>
-						<pre>{$item.CURRENT}</pre>
-	
-						
-						<b>{t}After migration{/t}</b>
-						<pre>{$item.AFTER}</pre>
-					</div>
-				{/if}
-			<br>
-		{/foreach}
-		<input type='checkbox' id='toggle_calue' onClick="toggle_all_('^migrate_','toggle_calue')">
-		{t}Select all{/t}
-	
-		<br>
-
-		{if $menu_details}
-			<input type='submit' name='menu_dialog_refresh' value='{t}Hide changes{/t}'>
-			<input type='submit' name='dummy_11' value='{t}Refresh{/t}'>
-		{else}
-			<input type='submit' name='menu_dialog_whats_done' value='{t}Show changes{/t}'>
-		{/if}
-
-		<p class='seperator'> </p>	
-
-		<div style='width:99%; text-align:right; padding-top:5px;'>
-			<input type='submit' name='migrate_menus' value='{t}Apply{/t}'>
-			 
-			<input type='submit' name='menu_dialog_cancel' value='{t}Cancel{/t}'>
-		</div>
-	{/if}
+    <h2>{t}Create a new GOsa administrator account{/t}</h2>
+    <p>{t}This dialog will automatically add a new super administrator to your LDAP tree.{/t}</p>
+
+    <table summary="{t}Name{/t}">
+        <tr>
+            <td>{t}Name{/t}:</td>
+            <td><i>System administrator</i></td>
+        </tr>
+        <tr>
+            <td>{t}User ID{/t}: </td>
+            <td><input type='text' value='{$new_user_uid}' name='new_user_uid'><br></td>
+        </tr>
+        <tr>
+            <td>{t}Password{/t}: </td>
+            <td><input type='password' value='{$new_user_password}' name='new_user_password'><br></td>
+        </tr>
+        <tr>    
+            <td>{t}Password (again){/t}: </td>
+            <td><input type='password' value='{$new_user_password2}' name='new_user_password2'></td>
+        </tr>
+    </table>
+
+    <script language="JavaScript" type="text/javascript">
+        <!-- // First input field on page
+            focus_field('new_user_password');
+        -->
+    </script>
+
+    <hr>	
+    <div class="plugin-actions">
+        <button type='submit' name='create_admin_user'>{t}Apply{/t}</button>	
+        <button type='submit' name='create_acls_cancel'>{t}Cancel{/t}</button>
     </div>
-</div>
+{/if}
diff --git a/gosa-core/setup/setup_schema.tpl b/gosa-core/setup/setup_schema.tpl
index 908b989..1b0de2e 100644
--- a/gosa-core/setup/setup_schema.tpl
+++ b/gosa-core/setup/setup_schema.tpl
@@ -1,52 +1,22 @@
-<div class='default'>
-    <p>
-     <b>{t}Schema specific settings{/t}</b>
-    </p>
-    <div class='step4_container'>
-        <div class='step4_name' style='width:30%'>
-            {t}Enable schema validation when logging in{/t}
-        </div>
-        <div class='step4_value'>
-			<select name='enable_schema_check'>
-				{html_options options=$bool selected=$enable_schema_check}
-            </select>
-        </div>
-    </div>
-    <p>
-     <b>{t}Check status{/t}</b>
-    </p>
-	<div>
-		{if $failed_checks == 0}
-			<font style="color:green">{t}Schema check succeeded{/t}</font>
-		{else}
-			<img src='images/small_warning.png' class='center'>
-				<font style="color:red">{t}Schema check failed{/t}</font>
+<h3>{t}Schema specific settings{/t}</h3>
 
+{if !$checkFailed}
+ <font style="color:green">{t}Schema check succeeded{/t}</font>
+{else}
+ <img alt='' src='images/small_warning.png' class='center'>
+ <font style="color:red">{t}Schema check failed{/t}</font>
+
+ {if $ocCount == 0}
+  <p>
+   {t}Could not read any schema information, all checks skipped. Adjust your LDAP ACLs.{/t}
+   {if !$database_initialised}
+    {t}It seems that your LDAP database wasn't initialized yet. This maybe the reason, why GOsa can't read your schema configuration!{/t}
+   {/if}
+  </p>
+ {else}
+  {$message}
+ {/if}
+{/if}
 
-		{/if}
-	</div>
-	<div style="margin-left:20px;">
 
-		{if $found_ocs == 0}
-			<b>{t}Could not read any schema informations, all checks skipped. Adjust your ldap acls.{/t}</b>
-			<br>
-			{if !$database_initialised}
-			<br>
-				{t}It seems that your ldap database wasn't initialized yet. This maybe the reason, why GOsa can't read your schema configuration!{/t}
-			{/if}
-		{else}
-			{foreach from=$checks item=val key=key}
-					{if !$checks[$key].STATUS}
-					<br>
-						{if $checks[$key].IS_MUST_HAVE}
-							<font color='red'>{$checks[$key].MSG}</font>
-						{else}
-							{$checks[$key].MSG}
-						{/if}
-					<br>
-					{/if}
-			{/foreach}
-		{/if}
-	</div>
-</div>
 <input type='hidden' value='1' name='step7_posted'>
diff --git a/gosa-core/setup/setup_welcome.tpl b/gosa-core/setup/setup_welcome.tpl
index 5333ade..861155a 100644
--- a/gosa-core/setup/setup_welcome.tpl
+++ b/gosa-core/setup/setup_welcome.tpl
@@ -1,37 +1,35 @@
 <div>
     <div class='default'>
+	<h2>{t}How to get started{/t}</h2>
 	<p>
-	{t}This seems to be the first time you start GOsa - we didn't find any configuration right now. This simple wizard intends to help you while setting it up.{/t}
+	{t}This seems to be the first time you run GOsa on this system. To start the GOsa web interface you need a working configuration file, which can be generated by this wizard.{/t}
 	</p>
-	
-	<p style='border-top:1px solid #AAAAAA; padding-top:10px;'>
-	<b>{t}What will the wizard do for you?{/t}</b>
-	</p>
-	<ul>
-	 <li>{t}Create a basic, single site configuration{/t}</li>
-	 <li>{t}Tries to find problems within your PHP and LDAP setup{/t}</li>
-	 <li>{t}Let you choose from a set of basic and advanced configuration switches{/t}</li>
-	 <li>{t}Guided migration of existing LDAP trees{/t}</li>
-	</ul>
+
 	<p>
-	<b>{t}What will the wizard NOT do for you?{/t}</b>
+      {t}What you need to generate a configuration file:{/t}
 	</p>
-	<ul>
-	 <li>{t}Find every possible configuration error{/t}</li>
-	 <li>{t}Migrate every possible LDAP setup - create backup dumps!{/t}</li>
-	</ul>
 
-	<p style='border-top:1px solid #AAAAAA; padding-top:10px;'>
-	<b>{t}To continue...{/t}</b>
+      <ul>
+       <li>{t}The hostname of your LDAP server{/t}</li>
+       <li>{t}Installed GOsa and supplementary schema{/t}</li>
+       <li>{t}The LDAP base of your LDAP directory{/t}</li>
+       <li>{t}The DN and the password of the LDAP administration user{/t}</li>
+      </ul>
+	
+	<p>
+      {t}If you've collected the needed information, unlock the setup process like shown in the next paragraph.{/t}
 	</p>
+
+    <hr>
+	<h2>{t}Starting the setup{/t}</h2>
 	<p>
-	{t}For security reasons you need to authenticate for the installation by creating the file '/tmp/gosa.auth', containing the current session ID on the servers local filesystem. This can be done by executing the following command:{/t}
+	{t}For security reasons you need to authenticate the installation by creating the file '/tmp/gosa.auth', containing the current session ID on the servers local filesystem. This can be done by executing the following command:{/t}
 	</p>
 	<tt>
 	echo -n <b>{$auth_id}</b> > {$path}
 	</tt>
 	<p>
-	{t}Click the 'Continue' button when you've finished.{/t}
+	{t}Click the 'Next' button when you've finished.{/t}
 	</p>
      </div>
 </div>
diff --git a/gosa-core/update-gosa b/gosa-core/update-gosa
index 55214d1..7e65804 100755
--- a/gosa-core/update-gosa
+++ b/gosa-core/update-gosa
@@ -2,7 +2,7 @@
 <?php
 /*
  * This code is part of GOsa (http://www.gosa-project.org)
- * Copyright (C) 2003-2008 GONICUS GmbH
+ * Copyright (C) 2003-2010 GONICUS GmbH
  *
  * ID: $$Id: main.php 9254 2008-03-03 15:57:49Z cajus $$
  *
@@ -39,6 +39,8 @@ Usage: update-gosa install dsc     Install the plugin using the dsc information
 
        update-gosa rescan-i18n     Rebuilds the translations
 
+       update-gosa rescan-images   Rebuilds the themes master image
+
        update-gosa rescan-classes  Rebuilds the class list
        
        update-gosa                 Shortcut for rescan-classes and rescan-i18n
@@ -61,6 +63,20 @@ function rmdirRecursive($path, $followLinks=false) {
 }
 
 
+function get_themes()
+{
+  $themes= array();
+  $d = dir(GOSA_HOME."/html/themes");
+  while (false !== ($entry = $d->read())) {
+    if ($entry[0] != '.') {
+      $themes[]= basename($entry);
+    }
+  }
+  $d->close();
+
+  return $themes;
+}
+
 /* Function to include all class_ files starting at a given directory base */
 function get_classes($folder= ".")
 {
@@ -81,7 +97,7 @@ function get_classes($folder= ".")
   }
 
   $dh = opendir(".");
-  while(false !== ($file = readdir($dh))){
+  while(is_resource($dh) && false !== ($file = readdir($dh))){
 
     if (preg_match("/.*\.svn.*/", $file) ||
         preg_match("/.*smarty.*/i",$file) ||
@@ -91,7 +107,7 @@ function get_classes($folder= ".")
     }
 
     /* Recurse through all "common" directories */
-    if (is_dir($file)){
+    if (is_dir($file) && !file_exists("{$file}/excludeFromAutoLoad")){
       get_classes($file);
       continue;
     }
@@ -112,7 +128,7 @@ function get_classes($folder= ".")
     }
   }
 
-  closedir($dh);
+  @closedir($dh);
   chdir($currdir);
 
   return ($result);
@@ -193,58 +209,6 @@ function rescan_i18n()
 }
 
 
-function rescan_guide()
-{
-	$master_guide= "doc/guide.xml";
-	echo "Updating Online Help Index...\n";
-	$master_guide_content="<?xml version=\"1.0\"?>\n".
-		"<!--\n".
-		"\tWARNING:\n".
-		"\tThis file is automatically generated by update-online-help.\n".
-		"\tIf you want to add entries, use doc/core/guide.xml or doc/plugins/\"Appropriate Plugin Directory\"/guide.xml.\n".
-		"\tThen execute update-online-help to merge them into this file.\n".
-		"-->\n\n".
-		"<!--\n".
-		"\tThis xml file specifies which class is documented in which help file.\n".
-		"\tIf isset ( \$_SESSION['current_class_for_help'] ) then open the helpfile which is\n".
-		"\tspecified for this class below.\n".
-		"-->\n\n".
-		"<!--\n".
-	       	"\t<ENTRY NAME='class name' VALUE='displayed text' PATH='path to helpfiles' FILE='path to htmlfile' />\n".
-		"\tLeave blank to display message \"There is no helpfile specified for this class.\"\n".
-		"-->\n".
-		"<ENTRIES>\n";
-
-	$guide= 'doc/core/guide.xml';
-	if(file_exists($guide) && is_readable($guide)) {
-		$master_guide_content.= file_get_contents($guide);
-	}
-	
-	if(file_exists('doc/plugins')) {
-		$plugins= scandir('doc/plugins');
-		foreach($plugins as $key => $plugin) {
-			if($plugin != '.' && $plugin != '..') {
-				if(is_dir('doc/plugins/'.$plugin)) {
-					$guide= 'doc/plugins/'.$plugin.'/guide.xml';
-					if(file_exists($guide) && is_readable($guide)) {
-						$master_guide_content.= file_get_contents($guide);
-					}
-				}
-			}
-		}
-	}
-
-	$master_guide_content.= "</ENTRIES>";
-	
-	$master_guide_content= preg_replace("/[ \t][ \t]*/", " ", $master_guide_content);
-
-	if((file_exists($master_guide) && is_writable($master_guide)) || is_writable('doc')) {
-		file_put_contents($master_guide, $master_guide_content);
-	}
-
-}
-
-
 function parse_ini($file)
 {
 	global $description, $provides, $depends, $versions, $conflicts;
@@ -459,7 +423,6 @@ function install_plugin($file)
 	/* Update caches */
 	rescan_classes();
 	rescan_i18n();
-	rescan_guide();
 }
 
 
@@ -517,10 +480,245 @@ function remove_plugin($name)
 	/* Update caches */
 	rescan_classes();
 	rescan_i18n();
-	rescan_guide();
 }
 
 
+function rescan_images($path, $theme)
+{
+  $widths= array();
+  $heights= array();
+  $paths= array();
+  $posX= array();
+  $posY= array();
+  $baseLength= strlen($path);
+  $heightStats= array();
+  $warnings= array();
+  $checksums= array();
+  $styles= array();
+  $duplicates= array();
+
+  echo "Updating master image for theme '$theme'...";
+
+  // Check for image magick convert
+  if (!function_exists("imageFilter")){
+    exec("which convert", $res, $ret);
+    if ($ret != 0) {
+      die("Your system has no bundled gd support for imageFilter function. Please install imagemagick in order to use an external command.\n");
+    }
+  }
+  
+  // Scan for images in the given path
+  flush();
+  foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $fileInfo) {
+  
+      // We're only interested in png files
+      $indexPath= substr($fileInfo->getPathname(), $baseLength + 1);
+      $path= $fileInfo->getPathname();
+      if (preg_match('/\.png$/', $indexPath) && !preg_match('/\.svn/', $path) && !preg_match('/themes\/[^\/]+\/images\/img.png$/', $path)){
+  
+         // Grey image if it is not already one
+         if (preg_match('/grey/', $indexPath)) {
+           echo "!";
+           $warnings[]= "! Warning: skipped possible *grey* image $path";
+           flush();
+           continue;
+         }
+
+         // New image if it is not already one
+         if (preg_match('/new/', $indexPath) && !preg_match('/new\.png$/', $indexPath)) {
+           echo "!";
+           $warnings[]= "! Warning: skipped possible *new* image $path";
+           flush();
+           continue;
+         }
+
+         // Catch available themes
+         if (preg_match('/themes\//', $indexPath) && !preg_match('/themes\/'.$theme.'\//', $indexPath)) {
+           continue;
+         }
+
+         // Load image
+         $img= imageCreateFromPng($path);
+         $width= imageSX($img);
+         $height= imageSY($img);
+         imageDestroy($img);
+         $greyIndexPath= preg_replace('/\.png$/', '-grey.png', $indexPath);
+
+         // Is this image already there?
+         $checksum= md5_file($path);
+         if (in_array($checksum, $checksums)) {
+           $warnings[]= "! Warning: images $indexPath seems to be a duplicate of ".array_search($checksum, $checksums);
+           $duplicates[$indexPath]= array_search($checksum, $checksums);
+           $duplicates[$greyIndexPath]= preg_replace('/\.png$/', '-grey.png', array_search($checksum, $checksums));
+           continue;
+         } else {
+           $checksums[$indexPath]= $checksum;
+         }
+
+         // Ordinary image
+         $widths[$indexPath]= $width;
+         $heights[$indexPath]= $height;
+         $paths[$indexPath]= $path;
+
+         // Grey image
+         $widths[$greyIndexPath]= $width;
+         $heights[$greyIndexPath]= $height;
+         $paths[$greyIndexPath]= $path;
+
+         // Feed height statistics
+         if (!isset($heightStats[$height])) {
+           $heightStats[$height]= 1;
+         } else {
+           $heightStats[$height]++;
+         }
+      }
+  
+    echo ".";
+    flush();
+  }
+  echo "\n";
+
+  // Do some stupid height calculation
+  arsort($heightStats, SORT_NUMERIC);
+  reset($heightStats);
+  $popular= current($heightStats);
+
+  krsort($heightStats);
+  reset($heightStats);
+  $max= current($heightStats);
+
+  $maxHeight= (floor($max / $popular) + 1) * $popular * 6;
+  
+  // Sort to get biggest values
+  arsort($widths, SORT_NUMERIC);
+  reset($widths);
+  echo "Calculating master image dimensions: ";
+  flush();
+  
+  // Build container image
+  $cursorX= 0;
+  $cursorY= 0;
+  $colWidth= 0;
+  $rowHeight= 0;
+  $colX= 0;
+  $colY= 0;
+  $maxY= 0;
+  $maxX= 0;
+
+  // Walk thru width sorted images
+  foreach ($widths as $imagePath => $imageWidth) {
+    $imageHeight= $heights[$imagePath];
+
+    // First element in this column
+    if ($colWidth == 0) {
+      $colWidth= $imageWidth;
+    }
+
+    // First element in this row
+    if ($rowHeight < $imageHeight) {
+      $rowHeight= $imageHeight;
+    }
+
+    // Does the image match here?
+    if ($cursorX + $imageWidth > $colX + $colWidth) {
+
+      if ($cursorY + $imageHeight >= $maxHeight) {
+
+        // Reached max height, move to the next column
+        $colX+= $colWidth;
+        $cursorX= $colX;
+        $colWidth= $imageWidth;
+        $rowHeight= $imageHeight;
+        $colY= $cursorY= 0;
+
+      } else {
+
+        // Next row
+        $colY+= $rowHeight;
+        $cursorY= $colY;
+        $cursorX= $colX;
+        $rowHeight= $imageHeight;
+      }
+
+      $maxY=($colY + $imageHeight > $maxY)?$colY+$imageHeight:$maxY;
+    }
+
+    // Save calculated position
+    $posX[$imagePath]= $cursorX;
+    $posY[$imagePath]= $cursorY;
+
+    // Move X cursor to the next position
+    $cursorX+= $imageWidth;
+
+    $maxX=($colX+$imageWidth > $maxX)?$colX+$imageWidth:$maxX;
+  }
+  
+  // Print maximum dimensions
+  echo $maxY."x".$maxX."\n";
+  echo "Processing";
+  flush();
+
+  // Create result image
+  $dst= imageCreateTrueColor($maxX, $maxY);
+  imageAlphaBlending($dst, true);
+  $transparent = imagecolorallocatealpha($dst, 0, 0, 0, 127);
+  imageFill($dst, 0, 0, $transparent);
+  imageSaveAlpha($dst, true);
+
+  // Finally assemble picture
+  foreach ($heights as $imagePath => $imageHeight) {
+    $imageWidth= $widths[$imagePath];
+    $x= $posX[$imagePath];
+    $y= $posY[$imagePath];
+
+    // Insert source image...
+
+    // Eventually convert it to grey before
+    if (preg_match('/-grey\.png$/', $imagePath)) {
+      if (!function_exists("imageFilter")){
+        exec("convert ".$paths[$imagePath]." -colorspace Gray /tmp/grey-converted.png");
+        $src= imageCreateFromPng("/tmp/grey-converted.png");
+      } else {
+        $src= imageCreateFromPng($paths[$imagePath]);
+        imageFilter($src, IMG_FILTER_GRAYSCALE);
+      }
+    } else {
+      $src= imageCreateFromPng($paths[$imagePath]);
+    }
+
+    // Merge image
+    imageCopyResampled($dst, $src, $x, $y, 0, 0, $imageWidth, $imageHeight, $imageWidth, $imageHeight);
+    imageDestroy($src);
+
+    // Store style
+    $styles[$imagePath]= "background-position:-".$x."px -".$y."px;width:".$imageWidth."px;height:".$imageHeight."px";
+
+    echo ".";
+    flush();
+  }
+
+  /* Add duplicates */
+  foreach ($duplicates as $imagePath => $realPath) {
+    $styles[$imagePath]= $styles[$realPath];
+  }
+
+  imagePNG($dst, GOSA_HOME."/html/themes/$theme/images/img.png", 9);
+  imageDestroy($dst);
+
+  // Show warnings images
+  foreach ($warnings as $warn) {
+    echo "$warn\n";
+  }
+
+  // Write styles
+  echo "Writing styles...";
+  $fp = fopen(GOSA_HOME."/ihtml/themes/$theme/img.styles", 'w');
+  fwrite($fp, serialize($styles));
+  fclose($fp);
+
+  echo "\n";
+}
+
 
 /* Fill global values */
 $description= $provides= $depends= $versions= $conflicts= array();
@@ -529,8 +727,10 @@ $description= $provides= $depends= $versions= $conflicts= array();
 if ($argc < 2){
 	rescan_classes();
 	rescan_i18n();
-	rescan_guide();
-        exit (0);
+    foreach (get_themes() as $theme) {
+      rescan_images(GOSA_HOME."/html", $theme);
+    }
+    exit (0);
 }
 
 switch ($argv[1]){
@@ -559,6 +759,11 @@ switch ($argv[1]){
         case 'rescan-classes':
                 rescan_classes();
                 break;
+        case 'rescan-images':
+                foreach (get_themes() as $theme) {
+                  rescan_images("html", $theme);
+                }
+                break;
         default:
                 echo "Error: Supplied command not known\n\n";
                 print_usage();
diff --git a/gosa-core/update-gosa.1 b/gosa-core/update-gosa.1
index b6ef104..ff8e8ef 100644
--- a/gosa-core/update-gosa.1
+++ b/gosa-core/update-gosa.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.07)
+.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "UPDATE-GOSA 1"
-.TH UPDATE-GOSA 1 "2010-05-05" "perl v5.10.0" "User Contributed Perl Documentation"
+.TH UPDATE-GOSA 1 "2009-09-17" "perl v5.10.0" "User Contributed Perl Documentation"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -157,7 +157,7 @@ Please report any bugs, or post any suggestions, to the GOsa mailing list <gosa\
 .IX Header "LICENCE AND COPYRIGHT"
 This code is part of GOsa (<http://www.gosa\-project.org>)
 .PP
-Copyright (C) 2003\-2010 \s-1GONICUS\s0 GmbH
+Copyright (C) 2003\-2009 \s-1GONICUS\s0 GmbH
 .PP
 This program is distributed in the hope that it will be useful,
 but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of
diff --git a/gosa-core/update-gosa.pod b/gosa-core/update-gosa.pod
index 68c428b..69a608e 100644
--- a/gosa-core/update-gosa.pod
+++ b/gosa-core/update-gosa.pod
@@ -34,7 +34,7 @@ Please report any bugs, or post any suggestions, to the GOsa mailing list <gosa-
 
 This code is part of GOsa (L<http://www.gosa-project.org>)
 
-Copyright (C) 2003-2010 GONICUS GmbH
+Copyright (C) 2003-2009 GONICUS GmbH
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/gosa-core/update-locale b/gosa-core/update-locale
index a036321..65f4ec9 100755
--- a/gosa-core/update-locale
+++ b/gosa-core/update-locale
@@ -41,8 +41,8 @@ generate_po() {
 
   echo "Merging po files with existing ones"
   error=0
-  for f in locale/${l_path}??/LC_MESSAGES; do
-    [[ "$f" == "locale/${l_path}??/LC_MESSAGES" ]] && break
+  for f in locale/${l_path}*/LC_MESSAGES; do
+    [[ "$f" == "locale/${l_path}/LC_MESSAGES" ]] && break
     echo -n "* merging $f/messages.po: "
     [ ! -f $f/messages.po ] && touch $f/messages.po
 
diff --git a/gosa-core/update-locale.1 b/gosa-core/update-locale.1
index f1293cd..fc2b699 100644
--- a/gosa-core/update-locale.1
+++ b/gosa-core/update-locale.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.07)
+.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "UPDATE-LOCALE 1"
-.TH UPDATE-LOCALE 1 "2010-05-05" "perl v5.10.0" "User Contributed Perl Documentation"
+.TH UPDATE-LOCALE 1 "2009-09-17" "perl v5.10.0" "User Contributed Perl Documentation"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -152,7 +152,7 @@ Please report any bugs, or post any suggestions, to the GOsa mailing list <gosa\
 .IX Header "LICENCE AND COPYRIGHT"
 This code is part of GOsa (<http://www.gosa\-project.org>)
 .PP
-Copyright (C) 2003\-2010 \s-1GONICUS\s0 GmbH
+Copyright (C) 2003\-2009 \s-1GONICUS\s0 GmbH
 .PP
 This program is distributed in the hope that it will be useful,
 but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of
diff --git a/gosa-core/update-locale.pod b/gosa-core/update-locale.pod
index 777566e..d383975 100644
--- a/gosa-core/update-locale.pod
+++ b/gosa-core/update-locale.pod
@@ -30,7 +30,7 @@ Please report any bugs, or post any suggestions, to the GOsa mailing list <gosa-
 
 This code is part of GOsa (L<http://www.gosa-project.org>)
 
-Copyright (C) 2003-2010 GONICUS GmbH
+Copyright (C) 2003-2009 GONICUS GmbH
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/gosa-core/update-online-help b/gosa-core/update-online-help
deleted file mode 100755
index cb3fd98..0000000
--- a/gosa-core/update-online-help
+++ /dev/null
@@ -1,134 +0,0 @@
-#!/bin/bash
-
-# Defaults for Debian
-CNV=`pwd`/contrib/latex2html
-LYX=lyx
-
-# Sanity checks
-if [ ! -d doc/core ]; then
-	echo "Can't find usable core documentation structure - aborting"
-	exit 1
-fi
-
-# Commands present?
-for cmd in $CNV $LYX; do
-	if [[ ! `which $cmd` ]]; then
-		echo "Can't find executable for '$cmd' - aborting"
-		exit 2
-	fi
-done
-
-# Create guide.xml
-cat << EOF > doc/guide.xml
-<?xml version="1.0"?>
- 	<!-- 
-		WARNING:
-		This file is automatically generated by update-online-help.
-		If you want to add entries, use doc/core/guide.xml or doc/plugins/"Appropriate Plugin Directory"/guide.xml.
-		Then execute update-online-help to merge them into this file.
-	-->
-	
-	<!--
-		This xml file specifies which class is documented in which help file.
-
-		If isset ( $_SESSION['current_class_for_help'] ) then open the helpfile which is  
-		specified for this class below.
-	-->
-	
-	<!--
-		<ENTRY NAME="class name" VALUE="displayed text" PATH="path to helpfiles" FILE="path to htmlfile" />
-		 Leave blank to display message "There is no helpfile specified for this class."	
-	-->
-<ENTRIES>
-EOF
-
-echo -en "Generating doc/guide.xml..."
-# core guide.xml
-pushd . &> /dev/null
-cd doc/core
-cat < guide.xml >> ../guide.xml
-popd &> /dev/null
-
-# plugins guide.xml
-pushd . &> /dev/null
-if [ -d doc/plugins ]; then
-	cd doc/plugins
-	for plugin in *; do
-		[ -r $plugin/guide.xml ] && cat < $plugin/guide.xml >> ../guide.xml
-	done
-fi
-popd &> /dev/null
-
-echo -en "</ENTRIES>\n" >> doc/guide.xml
-sed -i s/"[ \t][ \t]*"/" "/g doc/guide.xml
-echo -en " done.\n"
-
-# Core help
-echo -en "Processing core\n"
-pushd . &> /dev/null
-cd doc/core
-for lang in *; do
-	[ ! -d "$lang" ] && continue
-
-	pushd . &> /dev/null
-	echo -en "\tProcessing language $lang...\n"
-	cd $lang/lyx-source
-
-	for source in $(find . -name \*.lyx -exec basename {} \;); do
-		echo -en "\t\tProcessing $source..."
-		echo -en " tex"
-		$LYX -e latex $source &> /dev/null
-		d=../html/${source%%\.*}/
-		[ -d $d ] || mkdir -p $d && rm -r $d/* &> /dev/null
-		echo -en " html"
-		$CNV -no_navigation -dir $d ${source%%\.*}.tex &> /dev/null
-		echo -en " cleanup"
-		rm images/*.eps &> /dev/null
-		rm ${source%%\.lyx}.tex &> /dev/null
-		echo -en " done.\n"
-		continue
-	done
-	popd &> /dev/null
-done
-
-popd &> /dev/null
-
-# Plugin help
-pushd . &> /dev/null
-if [ -d doc/plugins ]; then
-	cd doc/plugins
-
-	for plugin in *; do
-		pushd . &> /dev/null
-		echo -en "Processing $plugin\n"
-		cd $plugin
-		for lang in *; do
-			[ ! -d "$lang" ] && continue
-
-			pushd . &> /dev/null
-			echo -en "\tProcessing language $lang...\n"
-			cd $lang/lyx-source
-
-			for source in $(find . -name \*.lyx -exec basename {} \;); do
-				echo -en "\t\tProcessing $source..."
-				echo -en " tex"
-				$LYX -e latex $source &> /dev/null
-				d=../html/${source%%\.*}/
-				[ -d $d ] || mkdir -p $d && rm -r $d/* &> /dev/null
-				echo -en " html"
-				$CNV -no_navigation -dir $d ${source%%\.*}.tex &> /dev/null
-				echo -en " cleanup"
-				rm images/*.eps &> /dev/null
-				rm ${source%%\.lyx}.tex &> /dev/null
-				echo -en " done.\n"
-				continue
-			done
-			popd &> /dev/null
-		done
-		popd &> /dev/null
-	done
-
-fi
-popd &> /dev/null
-echo
-exit 0
diff --git a/gosa-core/update-online-help.1 b/gosa-core/update-online-help.1
index 366e8f6..4e2b7e0 100644
--- a/gosa-core/update-online-help.1
+++ b/gosa-core/update-online-help.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.07)
+.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "UPDATE-ONLINE-HELP 1"
-.TH UPDATE-ONLINE-HELP 1 "2010-05-05" "perl v5.10.0" "User Contributed Perl Documentation"
+.TH UPDATE-ONLINE-HELP 1 "2009-09-17" "perl v5.10.0" "User Contributed Perl Documentation"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -145,7 +145,7 @@ Please report any bugs, or post any suggestions, to the GOsa mailing list <gosa\
 .IX Header "LICENCE AND COPYRIGHT"
 This code is part of GOsa (<http://www.gosa\-project.org>)
 .PP
-Copyright (C) 2003\-2010 \s-1GONICUS\s0 GmbH
+Copyright (C) 2003\-2009 \s-1GONICUS\s0 GmbH
 .PP
 This program is distributed in the hope that it will be useful,
 but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of
diff --git a/gosa-core/update-online-help.pod b/gosa-core/update-online-help.pod
index fbb90d0..b58f4f8 100644
--- a/gosa-core/update-online-help.pod
+++ b/gosa-core/update-online-help.pod
@@ -21,7 +21,7 @@ Please report any bugs, or post any suggestions, to the GOsa mailing list <gosa-
 
 This code is part of GOsa (L<http://www.gosa-project.org>)
 
-Copyright (C) 2003-2010 GONICUS GmbH
+Copyright (C) 2003-2009 GONICUS GmbH
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/gosa-core/update-pdf-help.1 b/gosa-core/update-pdf-help.1
index af43c31..a3a6897 100644
--- a/gosa-core/update-pdf-help.1
+++ b/gosa-core/update-pdf-help.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.07)
+.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "UPDATE-PDF-HELP 1"
-.TH UPDATE-PDF-HELP 1 "2010-05-05" "perl v5.10.0" "User Contributed Perl Documentation"
+.TH UPDATE-PDF-HELP 1 "2009-09-17" "perl v5.10.0" "User Contributed Perl Documentation"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -145,7 +145,7 @@ Please report any bugs, or post any suggestions, to the GOsa mailing list <gosa\
 .IX Header "LICENCE AND COPYRIGHT"
 This code is part of GOsa (<http://www.gosa\-project.org>)
 .PP
-Copyright (C) 2003\-2010 \s-1GONICUS\s0 GmbH
+Copyright (C) 2003\-2009 \s-1GONICUS\s0 GmbH
 .PP
 This program is distributed in the hope that it will be useful,
 but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of
diff --git a/gosa-core/update-pdf-help.pod b/gosa-core/update-pdf-help.pod
index 70e327f..b45ba99 100644
--- a/gosa-core/update-pdf-help.pod
+++ b/gosa-core/update-pdf-help.pod
@@ -21,7 +21,7 @@ Please report any bugs, or post any suggestions, to the GOsa mailing list <gosa-
 
 This code is part of GOsa (L<http://www.gosa-project.org>)
 
-Copyright (C) 2003-2010 GONICUS GmbH
+Copyright (C) 2003-2009 GONICUS GmbH
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-edu/pkg-team/gosa.git



More information about the debian-edu-commits mailing list